All functions:
  Elements:
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qInitKeywordsTable
      Src: /src/sql-fuzzer.c:48,1
    - Dst: taosMemoryMalloc
      Src: /src/sql-fuzzer.c:64,1
    - Dst: memcpy
      Src: /src/sql-fuzzer.c:68,1
    - Dst: memset
      Src: /src/sql-fuzzer.c:76,1
    - Dst: memset
      Src: /src/sql-fuzzer.c:92,1
    - Dst: qParseSqlSyntax
      Src: /src/sql-fuzzer.c:95,1
    - Dst: qDestroyQuery
      Src: /src/sql-fuzzer.c:99,1
    - Dst: taosMemoryFree
      Src: /src/sql-fuzzer.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 104
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/sql-fuzzer.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - qInitKeywordsTable
    - memset
    - taosMemoryFree
    - qParseSqlSyntax
    - qDestroyQuery
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:35,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:36,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:37,1
    - Dst: taos_query
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:39,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:40,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:41,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:41,1
    - Dst: taosSsleep
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:44,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:45,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:46,1
    - Dst: taos_query
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:48,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:49,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:50,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:50,1
    - Dst: taosSsleep
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:53,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:54,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:55,1
    - Dst: taos_close
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 58
    functionName: taoscTest::SetUpTestCase
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached:
    - taos_query
    - taos_close
    - taos_connect
    - taos_free_result
    - printf
    - taos_errno
    - ASSERT_TRUE
    - taos_errstr
    - taosSsleep
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: taoscTest::TearDownTestCase
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDownTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: taoscTest::SetUp
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: taoscTest::TearDown
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:73,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:75,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:76,1
    - Dst: tsem_post
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:77,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:81,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:82,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:83,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:86,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:88,1
    - Dst: taos_fetch_raw_block_a
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - param
    - res
    - numOfRow
    argTypes:
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: fetchCallback
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached:
    - taos_num_fields
    - tsem_post
    - taos_print_row
    - taos_fetch_raw_block_a
    - taos_free_result
    - printf
    - taos_fetch_fields
    - ASSERT_TRUE
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void fetchCallback(void* param, void* res, int32_t numOfRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:97,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:98,1
    - Dst: taos_fetch_raw_block_a
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - param
    - res
    - code
    argTypes:
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: queryCallback
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached:
    - taos_fetch_raw_block_a
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void queryCallback(void* param, void* res, int32_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:105,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:106,1
    - Dst: sprintf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:109,1
    - Dst: taos_query
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:110,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:111,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:112,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:112,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:114,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:114,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:115,1
    - Dst: taosSsleep
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:116,1
    - Dst: sprintf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:120,1
    - Dst: taos_query
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:121,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:122,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:122,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:123,1
    - Dst: tsem_init
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:128,1
    - Dst: sprintf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:129,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:130,1
    - Dst: tsem_wait
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:131,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:132,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:134,1
    - Dst: taos_close
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:135,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: TEST_F
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached:
    - taos_query
    - tsem_wait
    - sprintf
    - taos_close
    - taos_connect
    - tsem_init
    - taos_free_result
    - printf
    - ASSERT_EQ
    - taos_errno
    - ASSERT_TRUE
    - taos_errstr
    - taos_query_a
    - taosSsleep
    linkageType: ''
    returnType: void
    signature: void TEST_F(taoscTest, taos_query_a_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:143,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:144,1
    - Dst: tsem_init
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:151,1
    - Dst: sprintf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:152,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:153,1
    - Dst: tsem_wait
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:154,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:155,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:156,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:157,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:159,1
    - Dst: taos_close
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:160,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 163
    functionName: TEST_F
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached:
    - tsem_wait
    - sprintf
    - taos_close
    - taos_connect
    - tsem_init
    - printf
    - ASSERT_EQ
    - ASSERT_TRUE
    - taos_query_a
    linkageType: ''
    returnType: void
    signature: void TEST_F(taoscTest, taos_query_a_param_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:168,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:169,1
    - Dst: sprintf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:172,1
    - Dst: taos_query
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:173,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:174,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:178,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:181,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:182,1
    - Dst: taos_close
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:183,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 186
    functionName: TEST_F
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached:
    - taos_query
    - sprintf
    - taos_close
    - taos_connect
    - taos_free_result
    - printf
    - ASSERT_EQ
    - ASSERT_TRUE
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void TEST_F(taoscTest, taos_query_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:189,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:190,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:194,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:195,1
    - Dst: taosGetErrno
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:196,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:197,1
    - Dst: tsem_post
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:199,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - param
    - res
    - code
    argTypes:
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: queryCallback2
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached:
    - taosGetErrno
    - tsem_post
    - taos_free_result
    - ASSERT_TRUE
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void queryCallback2(void* param, void* res, int32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:206,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:207,1
    - Dst: sprintf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:212,1
    - Dst: tsem_init
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:215,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:216,1
    - Dst: tsem_timewait
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:217,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:219,1
    - Dst: taos_close
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:220,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 223
    functionName: TEST_F
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached:
    - sprintf
    - taos_close
    - taos_connect
    - tsem_init
    - ASSERT_NE
    - printf
    - ASSERT_TRUE
    - taos_query_a
    - tsem_timewait
    linkageType: ''
    returnType: void
    signature: void TEST_F(taoscTest, taos_query_a_t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:226,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:227,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:230,1
    - Dst: tsem_post
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - param
    - res
    - code
    argTypes:
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: queryCallbackStartFetchThread
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - tsem_post
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void queryCallbackStartFetchThread(void* param, void* res, int32_t
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:237,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:238,1
    - Dst: sprintf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:243,1
    - Dst: tsem_init
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:245,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:246,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:249,1
    - Dst: tsem_wait
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:250,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:254,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:256,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:259,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:260,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:262,1
    - Dst: taos_close
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:263,1
    - Dst: printf
      Src: /src/tdengine/tests/taosc_test/taoscTest.cpp:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 266
    functionName: TEST_F
    functionSourceFile: /src/tdengine/tests/taosc_test/taoscTest.cpp
    functionUses: 0
    functionsReached:
    - tsem_wait
    - sprintf
    - taos_close
    - taos_connect
    - tsem_init
    - taos_free_result
    - printf
    - ASSERT_EQ
    - ASSERT_TRUE
    - taos_fetch_row
    - taos_query_a
    linkageType: ''
    returnType: void
    signature: void TEST_F(taoscTest, taos_query_a_fetch_row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:12,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:13,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:15,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:15,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:16,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: do_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - taos_query
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS* taos, const char* sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:23,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:24,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:25,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: createdb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - do_query
    linkageType: ''
    returnType: void
    signature: void createdb(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - tbs
    - ','
    - ts
    - ','
    - ts_len
    - ','
    - b
    - ','
    - b_len
    - ','
    - tags
    - ','
    - paramv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: INIT
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT(tbs, ts, ts_len, b, b_len, tags, paramv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - tbs
    - ','
    - ts
    - ','
    - ts_len
    - ','
    - b
    - ','
    - b_len
    - ','
    - tags
    - ','
    - paramv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: UINIT
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINIT(tbs, ts, ts_len, b, b_len, tags, paramv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:101,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:102,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:104,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:104,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:105,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:106,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:110,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:112,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:113,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:113,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:114,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:115,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:117,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:119,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:120,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:123,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:124,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:124,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:125,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:126,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:128,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:130,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 5
    argNames:
    - taos
    - tbs
    - tags
    - paramv
    - sql
    argTypes:
    - TAOS*
    - char**
    - TAOS_STMT2_BIND**
    - TAOS_STMT2_BIND**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 133
    functionName: insert
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_stmt2_error
    - taos_stmt2_exec
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_prepare
    - taos_stmt2_init
    - taos_stmt2_close
    - clock
    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/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:141,1
    - Dst: insert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:143,1
    - Dst: UINIT
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: insert_dist
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - UINIT
    - insert
    - INIT
    linkageType: ''
    returnType: void
    signature: void insert_dist(TAOS* taos, const char *sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:154,1
    - Dst: insert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:167,1
    - Dst: UINIT
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 170
    functionName: insert_dup_rows
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - UINIT
    - insert
    - INIT
    linkageType: ''
    returnType: void
    signature: void insert_dup_rows(TAOS* taos, const char *sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:178,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:181,1
    - Dst: insert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:188,1
    - Dst: UINIT
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 191
    functionName: insert_dup_tables
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - sprintf
    - UINIT
    - insert
    - INIT
    linkageType: ''
    returnType: void
    signature: void insert_dup_tables(TAOS* taos, const char *sql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:194,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:196,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:196,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:197,1
    - Dst: createdb
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:200,1
    - Dst: insert_dist
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:202,1
    - Dst: insert_dup_rows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:204,1
    - Dst: insert_dup_tables
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:206,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:208,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - insert_dup_tables
    - exit
    - taos_close
    - createdb
    - taos_connect
    - insert_dup_rows
    - printf
    - taos_cleanup
    - insert_dist
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: BP_BIND_TYPE_STR
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BP_BIND_TYPE_STR(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: tListLen
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tListLen(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: IS_SIGNED_NUMERIC_TYPE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SIGNED_NUMERIC_TYPE(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: IS_UNSIGNED_NUMERIC_TYPE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_UNSIGNED_NUMERIC_TYPE(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: IS_FLOAT_TYPE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_FLOAT_TYPE(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: IS_NUMERIC_TYPE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NUMERIC_TYPE(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: taosGetTimeOfDay
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosGetTimeOfDay(struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 384
    functionName: taosMemoryMalloc
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *taosMemoryMalloc(uint64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - size
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: taosMemoryCalloc
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void *taosMemoryCalloc(int32_t num, int32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: taosMemoryFree
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void taosMemoryFree(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: taosGetTimestampMs
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taosGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosGetTimestampMs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: taosGetTimestampUs
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taosGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosGetTimestampUs()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pBind
    - dataType
    argTypes:
    - TAOS_STMT2_BIND*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 418
    functionName: colExists
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool colExists(TAOS_STMT2_BIND *pBind, int32_t dataType)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:424,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:426,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:429,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:433,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:436,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:439,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:443,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:446,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:449,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:452,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:455,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:458,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:461,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:464,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:467,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:470,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:473,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:476,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:479,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:482,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:485,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:486,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:490,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:493,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:496,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:498,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:500,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:504,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:507,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:511,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:514,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:517,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:520,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:523,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:526,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:529,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:532,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:535,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:538,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:541,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:544,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:547,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:550,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:553,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:554,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:558,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:561,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:564,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:566,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:568,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:571,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 144
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 573
    functionName: generateInsertSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - printf
    - sprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void generateInsertSQL(BindData *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:583,1
    - Dst: tListLen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:583,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:588,1
    - Dst: tListLen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:588,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:595,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:597,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:601,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:602,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - data
    - len
    - dataType
    - idx
    argTypes:
    - BindData*
    - int32_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 604
    functionName: bpAppendOperatorParam
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - exit
    - tListLen
    - sprintf
    - printf
    - rand
    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/test/new_test_framework/script/api/stmt2-test.c:612,1
    - Dst: tListLen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:612,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:617,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:620,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - data
    - len
    - dataType
    - idx
    argTypes:
    - BindData*
    - int32_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 623
    functionName: bpAppendFunctionParam
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - exit
    - tListLen
    - sprintf
    - printf
    - rand
    linkageType: ''
    returnType: void
    signature: void bpAppendFunctionParam(BindData *data, int32_t *len, int32_t dataType,
      int32_t idx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:628,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:631,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:634,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:637,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:640,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:643,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:646,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:649,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:652,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:655,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:658,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:661,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:664,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:667,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:670,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:671,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - data
    - type
    - len
    argTypes:
    - BindData*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 675
    functionName: bpAppendColumnName
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - printf
    - sprintf
    - exit
    linkageType: ''
    returnType: int32_t
    signature: int32_t bpAppendColumnName(BindData *data, int32_t type, int32_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:678,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:682,1
    - Dst: bpAppendColumnName
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:684,1
    - Dst: bpAppendOperatorParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:686,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 693
    functionName: generateQueryCondSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - printf
    - sprintf
    - bpAppendOperatorParam
    - bpAppendColumnName
    linkageType: ''
    returnType: void
    signature: void generateQueryCondSQL(BindData *data, int32_t tblIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:697,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:701,1
    - Dst: bpAppendColumnName
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:704,1
    - Dst: bpAppendOperatorParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:706,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 710
    functionName: bpGenerateConstInOpSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - sprintf
    - bpAppendOperatorParam
    - bpAppendColumnName
    linkageType: ''
    returnType: void
    signature: void bpGenerateConstInOpSQL(BindData *data, int32_t tblIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:714,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:718,1
    - Dst: bpAppendFunctionParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:721,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 725
    functionName: bpGenerateConstInFuncSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - sprintf
    - bpAppendFunctionParam
    linkageType: ''
    returnType: void
    signature: void bpGenerateConstInFuncSQL(BindData *data, int32_t tblIdx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpGenerateConstInFuncSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:729,1
    - Dst: bpGenerateConstInOpSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:735,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 743
    functionName: generateQueryMiscSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpGenerateConstInOpSQL
    - bpGenerateConstInFuncSQL
    - printf
    linkageType: ''
    returnType: void
    signature: void generateQueryMiscSQL(BindData *data, int32_t tblIdx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:747,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:751,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:754,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:757,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:760,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 767
    functionName: generateErrorSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - printf
    - sprintf
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void generateErrorSQL(BindData *data, int32_t tblIdx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:779,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:780,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:793,1
    - Dst: colExists
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:795,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:798,1
    - Dst: colExists
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:807,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 5
    argNames:
    - isQuery
    - data
    - bindIdx
    - colIdx
    - dataType
    argTypes:
    - bool
    - BindData*
    - int32_t
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 817
    functionName: generateColDataType
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - IS_NUMERIC_TYPE
    - rand
    - colExists
    linkageType: ''
    returnType: void
    signature: void generateColDataType(bool isQuery, BindData *data, int32_t bindIdx,
      int32_t colIdx, int32_t *dataType)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:829,1
    - Dst: colExists
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:836,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - data
    - bindIdx
    - colIdx
    - dataType
    argTypes:
    - BindData*
    - int32_t
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 846
    functionName: generateTagDataType
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - rand
    - colExists
    linkageType: ''
    returnType: void
    signature: void generateTagDataType(BindData *data, int32_t bindIdx, int32_t colIdx,
      int32_t *dataType)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: generateTagDataType
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:855,1
    - Dst: generateColDataType
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:858,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:950,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:951,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 90
    argCount: 6
    argNames:
    - isQuery
    - bType
    - data
    - bindIdx
    - rowIdx
    - colIdx
    argTypes:
    - bool
    - BP_BIND_TYPE
    - BindData*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 962
    functionName: prepareColData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    - generateTagDataType
    - generateColDataType
    linkageType: ''
    returnType: int32_t
    signature: "int32_t prepareColData(bool isQuery, BP_BIND_TYPE bType, BindData
      *data, int32_t bindIdx, int32_t rowIdx,\n                       int32_t colIdx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:968,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:969,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:971,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:972,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:973,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:974,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:975,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:976,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:977,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:978,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:979,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:980,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:981,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:982,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:983,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:984,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:985,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:986,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:988,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1012,1
    - Dst: prepareColData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1021,1
    - Dst: prepareColData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1027,1
    - Dst: generateInsertSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1031,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 1034
    functionName: prepareInsertData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memset
    - generateInsertSQL
    - prepareColData
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareInsertData(BindData *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1040,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1041,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1042,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1043,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1044,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1045,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1046,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1047,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1048,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1049,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1050,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1051,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1052,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1053,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1054,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1055,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1056,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1058,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1062,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1063,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1064,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1065,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1066,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1067,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1068,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1069,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1070,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1071,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1072,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1073,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1075,1
    - Dst: prepareColData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1084,1
    - Dst: generateQueryCondSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1088,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1091
    functionName: prepareQueryCondData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - generateQueryCondSQL
    - rand
    - memset
    - prepareColData
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareQueryCondData(BindData *data, int32_t tblIdx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1097,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1098,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1099,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1100,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1101,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1102,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1103,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1104,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1105,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1106,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1107,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1108,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1109,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1110,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1111,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1112,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1113,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1115,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1119,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1120,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1121,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1122,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1123,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1124,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1125,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1126,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1127,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1128,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1129,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1130,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1132,1
    - Dst: prepareColData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1147,1
    - Dst: generateQueryMiscSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1156
    functionName: prepareQueryMiscData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - generateQueryMiscSQL
    - taosMemoryMalloc
    - rand
    - memset
    - prepareColData
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareQueryMiscData(BindData *data, int32_t tblIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1160,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1161,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1162,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1163,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1164,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1165,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1166,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1168,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1169,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1170,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1171,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1172,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1173,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1174,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1175,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1176,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1178
    functionName: destroyData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyData(BindData *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1182,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1183,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1187,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1190,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1191,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - result
    - printr
    - rows
    argTypes:
    - TAOS_RES*
    - bool
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1195
    functionName: bpFetchRows
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_fetch_fields
    - memset
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void bpFetchRows(TAOS_RES *result, bool printr, int32_t *rows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1198,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1199,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1201,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1201,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1202,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1203,1
    - Dst: bpFetchRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1206,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - taos
    - sql
    - printr
    - rows
    argTypes:
    - TAOS*
    - char*
    - bool
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1209
    functionName: bpExecQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_query
    - taos_free_result
    - printf
    - bpFetchRows
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void bpExecQuery(TAOS *taos, char *sql, bool printr, int32_t *rows)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1214,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1218,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1222,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1226,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1230,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1235,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1239,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1243,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1252,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1259,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1263,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1267,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1271,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1275,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1276,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 5
    argNames:
    - buf
    - type
    - value
    - valueLen
    - len
    argTypes:
    - char*
    - int
    - void*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1278
    functionName: bpAppendValueString
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - printf
    - sprintf
    - memcpy
    - exit
    linkageType: ''
    returnType: int32_t
    signature: int32_t bpAppendValueString(char *buf, int type, void *value, int32_t
      valueLen, int32_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - taos
    - stb_insert
    argTypes:
    - TAOS*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1288
    functionName: st_stmt2_init
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_init
    linkageType: ''
    returnType: TAOS_STMT2
    signature: TAOS_STMT2 *st_stmt2_init(TAOS *taos, bool stb_insert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1290
    functionName: st_stmt2_close
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_close
    linkageType: ''
    returnType: int
    signature: int st_stmt2_close(TAOS_STMT2 *stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1292
    functionName: st_stmt2_error
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_error
    linkageType: ''
    returnType: char
    signature: char *st_stmt2_error(TAOS_STMT2 *stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stmt
    - sql
    - length
    argTypes:
    - TAOS_STMT2*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1296
    functionName: st_stmt2_prepare
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_prepare
    linkageType: ''
    returnType: int
    signature: 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/test/new_test_framework/script/api/stmt2-test.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stmt
    - bindv
    - col_idx
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BINDV*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1300
    functionName: st_stmt2_bind
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: int st_stmt2_bind(TAOS_STMT2 *stmt, TAOS_STMT2_BINDV *bindv, int32_t
      col_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stmt
    - affected_rows
    argTypes:
    - TAOS_STMT2*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1302
    functionName: st_stmt2_exec
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int st_stmt2_exec(TAOS_STMT2 *stmt, int *affected_rows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_is_insert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stmt
    - insert
    argTypes:
    - TAOS_STMT2*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1304
    functionName: st_stmt2_is_insert
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_is_insert
    linkageType: ''
    returnType: int
    signature: int st_stmt2_is_insert(TAOS_STMT2 *stmt, int *insert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1322,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1328,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - stmt
    - idx
    - type
    - bytes
    argTypes:
    - TAOS_STMT2*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1346
    functionName: st_stmt2_get_param
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_get_fields
    - taosMemoryFree
    linkageType: ''
    returnType: int
    signature: int st_stmt2_get_param(TAOS_STMT2 *stmt, int idx, int *type, int *bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stmt
    - name
    argTypes:
    - TAOS_STMT2*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1353
    functionName: st_stmt2_set_tbname
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: int st_stmt2_set_tbname(TAOS_STMT2 *stmt, char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stmt
    - tags
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1360
    functionName: st_stmt2_set_tags
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: int st_stmt2_set_tags(TAOS_STMT2 *stmt, TAOS_STMT2_BIND *tags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stmt
    - name
    - tags
    argTypes:
    - TAOS_STMT2*
    - char*
    - TAOS_STMT2_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1368
    functionName: st_stmt2_set_tbname_tags
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: int st_stmt2_set_tbname_tags(TAOS_STMT2 *stmt, char *name, TAOS_STMT2_BIND
      *tags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stmt
    - bind
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1375
    functionName: st_stmt2_bind_param_batch
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: 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/test/new_test_framework/script/api/stmt2-test.c:1381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - stmt
    - bind
    - col_idx
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1382
    functionName: st_stmt2_bind_single_param_batch
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: int st_stmt2_bind_single_param_batch(TAOS_STMT2 *stmt, TAOS_STMT2_BIND
      *bind, int col_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stmt
    - bind
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1389
    functionName: st_stmt2_bind_param
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: int st_stmt2_bind_param(TAOS_STMT2 *stmt, TAOS_STMT2_BIND *bind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1391
    functionName: st_stmt2_add_batch
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int st_stmt2_add_batch(TAOS_STMT2 *stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1393
    functionName: st_stmt2_use_result
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_result
    linkageType: ''
    returnType: TAOS_RES
    signature: TAOS_RES *st_stmt2_use_result(TAOS_STMT2 *stmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_stmt2_is_insert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1397,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1398,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1398,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1399,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1403,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - stmt
    - insert
    argTypes:
    - TAOS_STMT2*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1406
    functionName: bpCheckIsInsert
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - printf
    - st_stmt2_error
    - exit
    - st_stmt2_is_insert
    linkageType: ''
    returnType: void
    signature: void bpCheckIsInsert(TAOS_STMT2 *stmt, int32_t insert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1410,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1411,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1411,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1412,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1416,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1419
    functionName: bpCheckParamNum
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_get_fields
    - st_stmt2_error
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void bpCheckParamNum(TAOS_STMT2 *stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stmt
    - times
    argTypes:
    - TAOS_STMT2*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1433
    functionName: bpCheckAffectedRows
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bpCheckAffectedRows(TAOS_STMT2 *stmt, int32_t times)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1444,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1446,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1450,1
    - Dst: bpAppendValueString
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1454,1
    - Dst: bpAppendValueString
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1458,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1462,1
    - Dst: bpExecQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1465,1
    - Dst: st_stmt2_use_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1468,1
    - Dst: bpFetchRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1470,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1473,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1474,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - stmt
    - taos
    - stmtSql
    - bind
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    - char*
    - TAOS_STMT2_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1478
    functionName: bpCheckQueryResult
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - exit
    - bpAppendValueString
    - strcpy
    - bpExecQuery
    - bpFetchRows
    - printf
    - strchr
    - st_stmt2_use_result
    linkageType: ''
    returnType: void
    signature: void bpCheckQueryResult(TAOS_STMT2 *stmt, TAOS *taos, char *stmtSql,
      TAOS_STMT2_BIND *bind)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1485,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1485,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1486,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1491,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1492,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1498,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1498,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1500,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1503,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1503,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1505,1
    - Dst: st_stmt2_get_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1536,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1538,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1538,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1539,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1543,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1543,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1545,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1549,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1549,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1551,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1557,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1557,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1559
    functionName: bpCheckColTagFields
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - st_stmt2_get_param
    - exit
    - BP_BIND_TYPE_STR
    - printf
    - st_stmt2_error
    linkageType: ''
    returnType: void
    signature: "void bpCheckColTagFields(TAOS_STMT2 *stmt, int32_t fieldNum, TAOS_FIELD_ALL
      *pFields, int32_t expecteNum,\n                         TAOS_STMT2_BIND *pBind,
      BP_BIND_TYPE type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1565,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1567,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1567,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1568,1
    - Dst: bpCheckColTagFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1576,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - stmt
    - pBind
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1578
    functionName: bpCheckTagFields
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_free_fields
    - exit
    - printf
    - st_stmt2_error
    - bpCheckColTagFields
    - taos_stmt2_get_fields
    linkageType: ''
    returnType: void
    signature: void bpCheckTagFields(TAOS_STMT2 *stmt, TAOS_STMT2_BIND *pBind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1590,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1592,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1592,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1593,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1596,1
    - Dst: bpCheckColTagFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1605,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - stmt
    - pBind
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1607
    functionName: bpCheckColFields
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - exit
    - printf
    - st_stmt2_error
    - taosMemoryFree
    - bpCheckColTagFields
    - taos_stmt2_get_fields
    linkageType: ''
    returnType: void
    signature: void bpCheckColFields(TAOS_STMT2 *stmt, TAOS_STMT2_BIND *pBind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bind
    - num
    argTypes:
    - TAOS_STMT2_BIND*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1615
    functionName: bpShowBindParam
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void bpShowBindParam(TAOS_STMT2_BIND *bind, int32_t num)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bpCheckColFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1621,1
    - Dst: st_stmt2_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1626,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1628,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1628,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1629,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1630,1
    - Dst: st_stmt2_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1634,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1636,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1636,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1637,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1638,1
    - Dst: st_stmt2_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1644,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1646,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1646,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1647,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1648,1
    - Dst: st_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1651,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1653,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1653,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1654,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1655,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - stmt
    - bind
    - expectFail
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1661
    functionName: bpBindParam
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    - st_stmt2_error
    - st_stmt2_bind_param_batch
    - st_stmt2_bind_param
    - bpShowBindParam
    - bpCheckColFields
    - st_stmt2_bind_single_param_batch
    linkageType: ''
    returnType: int32_t
    signature: int32_t bpBindParam(TAOS_STMT2 *stmt, TAOS_STMT2_BIND *bind, bool expectFail)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1666,1
    - Dst: st_stmt2_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1667,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1669,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1669,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1670,1
    - Dst: bpCheckTagFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1673,1
    - Dst: st_stmt2_set_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1675,1
    - Dst: st_stmt2_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1677,1
    - Dst: st_stmt2_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - data
    - tblIdx
    - tblName
    - stmt
    argTypes:
    - BindData*
    - int32_t
    - char*
    - TAOS_STMT2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1682
    functionName: bpSetTableNameTags
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - exit
    - bpCheckTagFields
    - st_stmt2_set_tags
    - printf
    - st_stmt2_error
    - rand
    - st_stmt2_set_tbname_tags
    - st_stmt2_set_tbname
    linkageType: ''
    returnType: int32_t
    signature: int32_t bpSetTableNameTags(BindData *data, int32_t tblIdx, char *tblName,
      TAOS_STMT2 *stmt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1687,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1689,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1691,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1691,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1692,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1695,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1701,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1702,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1704,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1704,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1705,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1710,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1714,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1715,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1718,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1719,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1719,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1720,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1725,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1726,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1726,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1727,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1730,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1731,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1736
    functionName: insertMBSETest1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - sprintf
    - st_stmt2_prepare
    - bpCheckAffectedRows
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int insertMBSETest1(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1741,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1743,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1745,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1745,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1746,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1749,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1757,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1758,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1760,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1760,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1761,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1765,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1766,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1770,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1773,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1774,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1774,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1775,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1780,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1781,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1781,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1782,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1785,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1786,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1788,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1791
    functionName: insertMBSETest2
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - sprintf
    - st_stmt2_prepare
    - bpCheckAffectedRows
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int insertMBSETest2(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1796,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1798,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1800,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1800,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1801,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1804,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1810,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1811,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1813,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1813,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1814,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1819,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1823,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1824,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1827,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1828,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1828,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1829,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1833,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1834,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1834,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1835,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1839,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1840,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1842,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1845
    functionName: insertMBMETest1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - sprintf
    - st_stmt2_prepare
    - bpCheckAffectedRows
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int insertMBMETest1(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1850,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1852,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1854,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1854,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1855,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1858,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1864,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1865,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1867,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1867,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1868,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1873,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1874,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1878,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1881,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1882,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1882,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1883,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1886,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1887,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1887,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1888,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1893,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1894,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1848
    functionDepth: 1
    functionLinenumber: 1848
    functionLinenumberEnd: 1899
    functionName: insertMBMETest2
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - sprintf
    - st_stmt2_prepare
    - bpCheckAffectedRows
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int insertMBMETest2(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1904,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1906,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1908,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1908,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1909,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1912,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1918,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1919,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1921,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1921,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1922,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1927,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1933,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1934,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1936,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1936,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1937,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1941,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1942,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1945,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1946,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1946,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1947,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1950,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1951,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1951,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1952,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1957,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1958,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1960,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1902
    functionDepth: 1
    functionLinenumber: 1902
    functionLinenumberEnd: 1963
    functionName: insertMBMETest3
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - sprintf
    - st_stmt2_prepare
    - bpCheckAffectedRows
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int insertMBMETest3(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1968,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1970,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1972,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1972,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1973,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1976,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1984,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1985,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1987,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1987,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1988,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1992,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1993,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:1997,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2000,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2001,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2001,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2002,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2005,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2006,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2006,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2007,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2012,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2013,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2015,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1966
    functionDepth: 1
    functionLinenumber: 1966
    functionLinenumberEnd: 2018
    functionName: insertMBMETest4
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - sprintf
    - st_stmt2_prepare
    - bpCheckAffectedRows
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int insertMBMETest4(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2026,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2028,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2030,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2030,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2031,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2034,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2040,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2041,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2043,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2043,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2044,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2049,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2053,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2054,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2057,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2058,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2058,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2059,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2063,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2064,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2064,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2065,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2069,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2071,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2021
    functionDepth: 1
    functionLinenumber: 2021
    functionLinenumberEnd: 2083
    functionName: insertMPMETest1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - sprintf
    - st_stmt2_prepare
    - bpCheckAffectedRows
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int insertMPMETest1(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2088,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2090,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2092,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2092,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2093,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2096,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2102,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2103,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2105,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2105,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2106,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2111,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2115,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2116,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2120,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2121,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2121,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2122,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2125,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2126,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2126,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2127,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2131,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2133,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2138
    functionName: insertStbTest
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - sprintf
    - st_stmt2_prepare
    - bpCheckAffectedRows
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int insertStbTest(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2146,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2148,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2150,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2150,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2151,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2154,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2160,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2161,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2163,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2163,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2164,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2169,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2173,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2174,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2177,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2178,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2178,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2179,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2183,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2184,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2184,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2185,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2189,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2191,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2141
    functionDepth: 1
    functionLinenumber: 2141
    functionLinenumberEnd: 2204
    functionName: insertAUTOTest1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - sprintf
    - st_stmt2_prepare
    - bpCheckAffectedRows
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int insertAUTOTest1(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2212,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2214,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2216,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2216,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2217,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2220,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2227,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2228,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2230,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2230,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2231,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2236,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2238,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2239,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2242,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2243,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2243,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2244,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2247,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2248,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2248,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2249,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2254,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2256,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2264,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2207
    functionDepth: 1
    functionLinenumber: 2207
    functionLinenumberEnd: 2269
    functionName: insertAUTOTest2
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - sprintf
    - st_stmt2_prepare
    - bpCheckAffectedRows
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int insertAUTOTest2(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2278,1
    - Dst: generateInsertSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2283,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2285,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2287,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2287,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2288,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2292,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2295,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2298,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2299,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2302,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2303,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2303,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2304,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2307,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2308,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2308,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2309,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2314,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2316,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2272
    functionDepth: 1
    functionLinenumber: 2272
    functionLinenumberEnd: 2328
    functionName: insertAUTOTest3
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpCheckIsInsert
    - st_stmt2_prepare
    - bpCheckAffectedRows
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    - generateInsertSQL
    linkageType: ''
    returnType: int
    signature: int insertAUTOTest3(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2335,1
    - Dst: prepareQueryCondData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2336,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2338,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2340,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2340,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2341,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2345,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2348,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2351,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2352,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2355,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2356,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2357,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2357,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2358,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2362,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2363,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2363,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2364,1
    - Dst: bpCheckQueryResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2367,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2370,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2331
    functionDepth: 1
    functionLinenumber: 2331
    functionLinenumberEnd: 2376
    functionName: queryColumnTest
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpCheckQueryResult
    - bpBindParam
    - exit
    - bpCheckIsInsert
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - memset
    - rand
    - destroyData
    - prepareQueryCondData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int queryColumnTest(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2383,1
    - Dst: prepareQueryMiscData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2384,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2386,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2388,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2388,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2389,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2393,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2396,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2399,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2400,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2403,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2404,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2405,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2405,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2406,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2410,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2411,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2411,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2412,1
    - Dst: bpCheckQueryResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2415,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2418,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2420,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2379
    functionDepth: 1
    functionLinenumber: 2379
    functionLinenumberEnd: 2424
    functionName: queryMiscTest
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpCheckQueryResult
    - bpBindParam
    - exit
    - prepareQueryMiscData
    - bpCheckIsInsert
    - st_stmt2_prepare
    - st_stmt2_add_batch
    - printf
    - st_stmt2_error
    - memset
    - rand
    - destroyData
    - bpCheckParamNum
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int queryMiscTest(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2428,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2430,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2432,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2432,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2433,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2436,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2439,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2441,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2442,1
    - Dst: st_stmt2_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2445,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2446,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2447,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2450,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2451,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2452,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2426
    functionDepth: 1
    functionLinenumber: 2426
    functionLinenumberEnd: 2458
    functionName: insertNonExistsTb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - st_stmt2_prepare
    - printf
    - st_stmt2_error
    - st_stmt2_bind_param_batch
    - destroyData
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: int insertNonExistsTb(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pBind
    argTypes:
    - TAOS_STMT2_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2467
    functionName: bpAddWrongVarBuffLen
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bpAddWrongVarBuffLen(TAOS_STMT2_BIND *pBind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2471,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2473,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2475,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2475,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2476,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2479,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2481,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2483,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2483,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2484,1
    - Dst: bpAddWrongVarBuffLen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2487,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2489,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2490,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2469
    functionDepth: 1
    functionLinenumber: 2469
    functionLinenumberEnd: 2496
    functionName: insertVarLenErr
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - st_stmt2_prepare
    - printf
    - st_stmt2_error
    - bpAddWrongVarBuffLen
    - destroyData
    linkageType: ''
    returnType: int
    signature: int insertVarLenErr(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2502,1
    - Dst: generateErrorSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2503,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2505,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2507,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2507,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2509,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2510,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2498
    functionDepth: 1
    functionLinenumber: 2498
    functionLinenumberEnd: 2517
    functionName: errorSQLTest1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - exit
    - st_stmt2_prepare
    - printf
    - st_stmt2_error
    - memset
    - destroyData
    - generateErrorSQL
    linkageType: ''
    returnType: int
    signature: int errorSQLTest1(TAOS_STMT2 *stmt, TAOS *taos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2527,1
    - Dst: bpExecQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2528,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2532,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2535,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - taos
    - tname
    - printr
    - expected
    - silent
    argTypes:
    - TAOS*
    - char*
    - bool
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2538
    functionName: prepareCheckResultImpl
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - printf
    - snprintf
    - bpExecQuery
    - exit
    linkageType: ''
    returnType: void
    signature: void prepareCheckResultImpl(TAOS *taos, char *tname, bool printr, int
      expected, bool silent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2544,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2546,1
    - Dst: prepareCheckResultImpl
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - taos
    - silent
    argTypes:
    - TAOS*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2540
    functionDepth: 0
    functionLinenumber: 2540
    functionLinenumberEnd: 2556
    functionName: prepareCheckResult
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - sprintf
    - prepareCheckResultImpl
    linkageType: ''
    returnType: void
    signature: void prepareCheckResult(TAOS *taos, bool silent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2564,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2570,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2572,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2574,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2582,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2584,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2585,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2587,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2587,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2588,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2589,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2592,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2594,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2603
    functionName: sql_perf1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_query
    - sprintf
    - taosGetTimestampUs
    - taos_free_result
    - printf
    - taosMemoryFree
    - taos_errno
    - taos_errstr
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int sql_perf1(TAOS *taos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2607,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2611,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2619,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2621,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2627,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2628,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2634,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2636,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2637,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2639,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2639,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2640,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2641,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2644,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2646,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2647,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2651,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2654,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2657
    functionName: sql_perf_s1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_query
    - calloc
    - sprintf
    - taosGetTimestampUs
    - taos_free_result
    - printf
    - taosMemoryFree
    - taos_errno
    - taos_errstr
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int sql_perf_s1(TAOS *taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2665,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2671,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2673,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2675,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2680,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2682,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2683,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2685,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2685,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2686,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2687,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2690,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2692,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2693,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2697,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2660
    functionDepth: 0
    functionLinenumber: 2660
    functionLinenumberEnd: 2701
    functionName: sql_s_perf1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_query
    - sprintf
    - taosGetTimestampUs
    - taos_free_result
    - printf
    - taosMemoryFree
    - taos_errno
    - taos_errstr
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int sql_s_perf1(TAOS *taos)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2705,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2708,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2712,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2716,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2721,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2724,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2727,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2730,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2733,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2736,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2739,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2742,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2745,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2748,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2751,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2754,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2757,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2760,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2763,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2764,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2768,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2772,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2775,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2779,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2782,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2785,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2788,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2791,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2794,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2797,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2800,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2803,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2806,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2809,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2812,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2815,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2818,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2821,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2822,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2826,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2830,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2833,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2837,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2837,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2840,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2840,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2843,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2843,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2846,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2846,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2849,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2849,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2852,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2852,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2855,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2855,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2858,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2858,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2861,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2864,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2864,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2867,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2867,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2870,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2870,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2873,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2873,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2876,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2876,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2879,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2880,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2884,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2888,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 176
    argCount: 5
    argNames:
    - buf
    - tblIdx
    - colNum
    - colList
    - tableType
    argTypes:
    - char*
    - int32_t
    - int32_t
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2890
    functionName: generateCreateTableSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - printf
    - sprintf
    - rand
    - exit
    linkageType: ''
    returnType: void
    signature: void generateCreateTableSQL(char *buf, int32_t tblIdx, int32_t colNum,
      int32_t *colList, int32_t tableType)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2892
    functionDepth: 0
    functionLinenumber: 2892
    functionLinenumberEnd: 2903
    functionName: bpPrecisionStr
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bpPrecisionStr(uint8_t precision)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2920
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 2920
    functionName: bpSetStartupTs
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bpSetStartupTs()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2927,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2928,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2930,1
    - Dst: bpPrecisionStr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2930,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2931,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2933,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2934,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2936,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2936,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2937,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2938,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2940,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2942,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2943,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2949,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2950,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2951,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2953,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2953,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2954,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2955,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2957,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2962,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2964,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2965,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2967,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2967,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2968,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2969,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2971,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2977,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2978,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2979,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2981,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2981,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2982,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2983,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2985,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 4
    argNames:
    - taos
    - colNum
    - colList
    - prepareStb
    argTypes:
    - TAOS*
    - int32_t
    - int32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2922
    functionDepth: 0
    functionLinenumber: 2922
    functionLinenumberEnd: 2989
    functionName: prepare
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 18
    functionsReached:
    - exit
    - taos_query
    - bpPrecisionStr
    - sprintf
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    - generateCreateTableSQL
    linkageType: ''
    returnType: void
    signature: void prepare(TAOS *taos, int32_t colNum, int32_t *colList, int prepareStb)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: bpSetStartupTs
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:2998,1
    - Dst: runCase
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3009,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3064,1
    - Dst: prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3071,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3074,1
    - Dst: st_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3076,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3078,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3078,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3079,1
    - Dst: st_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3084,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3086,1
    - Dst: prepareCheckResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3089,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3095,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 4
    argNames:
    - taos
    - caseIdx
    - caseRunIdx
    - silent
    argTypes:
    - TAOS*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3100
      start: 2991
    functionDepth: 1
    functionLinenumber: 2991
    functionLinenumberEnd: 3100
    functionName: runCase
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 1
    functionsReached:
    - exit
    - prepare
    - taosGetTimestampUs
    - prepareCheckResult
    - runCase
    - bpSetStartupTs
    - printf
    - st_stmt2_init
    - st_stmt2_error
    - st_stmt2_close
    linkageType: ''
    returnType: int32_t
    signature: int32_t runCase(TAOS *taos, int32_t caseIdx, int32_t caseRunIdx, bool
      silent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: runCase
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3122,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3102
    functionDepth: 0
    functionLinenumber: 3102
    functionLinenumberEnd: 3132
    functionName: runCaseList
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - runCase
    linkageType: ''
    returnType: void
    signature: void *runCaseList(TAOS *taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3135,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3136,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3137,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3140,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3141,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3143,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3146,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3147,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3149,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3152,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3154,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3155,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3158,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3159,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3161,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3164,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3165,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3167,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3170,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3171,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3174,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3178,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3179,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3181,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3184,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3185,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3187,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3190,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3191,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3193,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3207
      start: 3134
    functionDepth: 0
    functionLinenumber: 3134
    functionLinenumberEnd: 3207
    functionName: runAll
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - strcpy
    - runCaseList
    - printf
    linkageType: ''
    returnType: void
    signature: void runAll(TAOS *taos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3212,1
    - Dst: time
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3212,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3216,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3220,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3222,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3222,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3223,1
    - Dst: runAll
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3226,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c:3228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 3209
    functionDepth: 0
    functionLinenumber: 3209
    functionLinenumberEnd: 3231
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-test.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - runAll
    - taos_connect
    - printf
    - srand
    - taos_errstr
    - time
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: BP_BIND_TYPE_STR
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BP_BIND_TYPE_STR(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: tListLen
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tListLen(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: IS_SIGNED_NUMERIC_TYPE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SIGNED_NUMERIC_TYPE(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: IS_UNSIGNED_NUMERIC_TYPE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_UNSIGNED_NUMERIC_TYPE(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: IS_FLOAT_TYPE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_FLOAT_TYPE(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: IS_NUMERIC_TYPE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NUMERIC_TYPE(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: taosGetTimeOfDay
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 2
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosGetTimeOfDay(struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: taosMemoryMalloc
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 5
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *taosMemoryMalloc(uint64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num
    - size
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: taosMemoryCalloc
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 7
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void *taosMemoryCalloc(int32_t num, int32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: taosMemoryFree
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 7
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void taosMemoryFree(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: taosGetTimestampMs
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - taosGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosGetTimestampMs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: taosGetTimestampUs
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 4
    functionsReached:
    - taosGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosGetTimestampUs()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pBind
    - dataType
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 397
    functionName: colExists
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool colExists(TAOS_MULTI_BIND* pBind, int32_t dataType)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:403,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:405,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:408,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:412,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:415,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:418,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:422,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:425,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:428,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:431,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:434,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:437,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:440,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:443,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:446,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:449,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:452,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:455,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:458,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:461,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:464,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:465,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:469,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:472,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:475,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:477,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:479,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:483,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:486,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:490,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:493,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:496,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:499,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:502,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:505,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:508,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:511,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:514,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:517,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:520,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:523,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:526,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:529,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:532,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:533,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:537,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:540,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:543,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:545,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:547,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:550,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 144
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 552
    functionName: generateInsertSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 2
    functionsReached:
    - printf
    - sprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void generateInsertSQL(BindData *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:562,1
    - Dst: tListLen
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:562,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:567,1
    - Dst: tListLen
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:567,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:574,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:576,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:580,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:581,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - data
    - len
    - dataType
    - idx
    argTypes:
    - BindData*
    - int32_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 583
    functionName: bpAppendOperatorParam
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 2
    functionsReached:
    - exit
    - tListLen
    - sprintf
    - printf
    - rand
    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/test/new_test_framework/script/api/batchprepare.c:591,1
    - Dst: tListLen
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:591,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:596,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:599,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - data
    - len
    - dataType
    - idx
    argTypes:
    - BindData*
    - int32_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 602
    functionName: bpAppendFunctionParam
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - exit
    - tListLen
    - sprintf
    - printf
    - rand
    linkageType: ''
    returnType: void
    signature: void bpAppendFunctionParam(BindData *data, int32_t *len, int32_t dataType,
      int32_t idx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:608,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:611,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:614,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:617,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:620,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:623,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:626,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:629,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:632,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:635,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:638,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:641,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:644,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:647,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:650,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:651,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - data
    - type
    - len
    argTypes:
    - BindData*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 655
    functionName: bpAppendColumnName
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 2
    functionsReached:
    - printf
    - sprintf
    - exit
    linkageType: ''
    returnType: int32_t
    signature: int32_t bpAppendColumnName(BindData *data, int32_t type, int32_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:658,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:662,1
    - Dst: bpAppendColumnName
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:664,1
    - Dst: bpAppendOperatorParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:666,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 673
    functionName: generateQueryCondSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - printf
    - sprintf
    - bpAppendOperatorParam
    - bpAppendColumnName
    linkageType: ''
    returnType: void
    signature: void generateQueryCondSQL(BindData *data, int32_t tblIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:677,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:681,1
    - Dst: bpAppendColumnName
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:684,1
    - Dst: bpAppendOperatorParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:686,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 690
    functionName: bpGenerateConstInOpSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - sprintf
    - bpAppendOperatorParam
    - bpAppendColumnName
    linkageType: ''
    returnType: void
    signature: void bpGenerateConstInOpSQL(BindData *data, int32_t tblIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:695,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:699,1
    - Dst: bpAppendFunctionParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:702,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 706
    functionName: bpGenerateConstInFuncSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - sprintf
    - bpAppendFunctionParam
    linkageType: ''
    returnType: void
    signature: void bpGenerateConstInFuncSQL(BindData *data, int32_t tblIdx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpGenerateConstInFuncSQL
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:711,1
    - Dst: bpGenerateConstInOpSQL
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:717,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:723,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 725
    functionName: generateQueryMiscSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - bpGenerateConstInOpSQL
    - bpGenerateConstInFuncSQL
    - printf
    linkageType: ''
    returnType: void
    signature: void generateQueryMiscSQL(BindData *data, int32_t tblIdx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:731,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:735,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:738,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:741,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:744,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 751
    functionName: generateErrorSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - printf
    - sprintf
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void generateErrorSQL(BindData *data, int32_t tblIdx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:763,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:764,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:777,1
    - Dst: colExists
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:779,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:782,1
    - Dst: colExists
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:791,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 5
    argNames:
    - isQuery
    - data
    - bindIdx
    - colIdx
    - dataType
    argTypes:
    - bool
    - BindData*
    - int32_t
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 801
    functionName: generateColDataType
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - IS_NUMERIC_TYPE
    - rand
    - colExists
    linkageType: ''
    returnType: void
    signature: void generateColDataType(bool isQuery, BindData *data, int32_t bindIdx,
      int32_t colIdx, int32_t *dataType)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:813,1
    - Dst: colExists
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:820,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - data
    - bindIdx
    - colIdx
    - dataType
    argTypes:
    - BindData*
    - int32_t
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 830
    functionName: generateTagDataType
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - rand
    - colExists
    linkageType: ''
    returnType: void
    signature: void generateTagDataType(BindData *data, int32_t bindIdx, int32_t colIdx,
      int32_t *dataType)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: generateTagDataType
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:839,1
    - Dst: generateColDataType
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:842,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:933,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:934,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 104
    argCount: 6
    argNames:
    - isQuery
    - bType
    - data
    - bindIdx
    - rowIdx
    - colIdx
    argTypes:
    - bool
    - BP_BIND_TYPE
    - BindData*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 945
    functionName: prepareColData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 3
    functionsReached:
    - printf
    - exit
    - generateTagDataType
    - generateColDataType
    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: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:952,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:953,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:954,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:955,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:956,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:957,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:958,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:959,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:960,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:961,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:962,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:963,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:964,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:965,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:966,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:967,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:968,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:969,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:971,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:994,1
    - Dst: prepareColData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1003,1
    - Dst: prepareColData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1009,1
    - Dst: generateInsertSQL
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1014,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 1017
    functionName: prepareInsertData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 13
    functionsReached:
    - taosMemoryMalloc
    - memset
    - generateInsertSQL
    - prepareColData
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareInsertData(BindData *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1023,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1024,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1025,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1026,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1027,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1028,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1029,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1030,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1031,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1032,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1033,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1034,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1035,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1036,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1037,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1038,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1039,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1041,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1045,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1046,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1047,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1048,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1049,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1050,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1051,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1052,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1053,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1054,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1055,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1056,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1057,1
    - Dst: prepareColData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1066,1
    - Dst: generateQueryCondSQL
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1070,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1073
    functionName: prepareQueryCondData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - generateQueryCondSQL
    - rand
    - memset
    - prepareColData
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareQueryCondData(BindData *data, int32_t tblIdx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1080,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1081,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1082,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1083,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1084,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1085,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1086,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1087,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1088,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1089,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1090,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1091,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1092,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1093,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1094,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1095,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1096,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1098,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1102,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1103,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1104,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1105,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1106,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1107,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1108,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1109,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1110,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1111,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1112,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1113,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1114,1
    - Dst: prepareColData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1129,1
    - Dst: generateQueryMiscSQL
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1138
    functionName: prepareQueryMiscData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - generateQueryMiscSQL
    - taosMemoryMalloc
    - rand
    - memset
    - prepareColData
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareQueryMiscData(BindData *data, int32_t tblIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1143,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1147,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1149,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1150,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1152,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1153,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1154,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1155,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1156,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1160,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1162
    functionName: destroyData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 16
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyData(BindData *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1166,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1167,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1171,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1174,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1175,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - result
    - printr
    - rows
    argTypes:
    - TAOS_RES*
    - bool
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1179
    functionName: bpFetchRows
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 2
    functionsReached:
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_fetch_fields
    - memset
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void bpFetchRows(TAOS_RES *result, bool printr, int32_t *rows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1182,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1183,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1185,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1185,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1186,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1187,1
    - Dst: bpFetchRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1190,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - taos
    - sql
    - printr
    - rows
    argTypes:
    - TAOS*
    - char*
    - bool
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1193
    functionName: bpExecQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 2
    functionsReached:
    - exit
    - taos_query
    - taos_free_result
    - printf
    - bpFetchRows
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void bpExecQuery(TAOS    * taos, char* sql, bool printr, int32_t *rows)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1199,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1203,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1207,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1211,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1215,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1220,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1224,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1228,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1237,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1244,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1248,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1252,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1256,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1260,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1261,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 5
    argNames:
    - buf
    - type
    - value
    - valueLen
    - len
    argTypes:
    - char*
    - int
    - void*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1263
    functionName: bpAppendValueString
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - printf
    - sprintf
    - memcpy
    - exit
    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_is_insert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1270,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1271,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1271,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1272,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1276,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - stmt
    - insert
    argTypes:
    - TAOS_STMT*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1279
    functionName: bpCheckIsInsert
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 15
    functionsReached:
    - taos_stmt_errstr
    - printf
    - exit
    - taos_stmt_is_insert
    linkageType: ''
    returnType: void
    signature: void bpCheckIsInsert(TAOS_STMT *stmt, int32_t insert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_num_params
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1283,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1284,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1284,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1285,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1289,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1292
    functionName: bpCheckParamNum
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 13
    functionsReached:
    - taos_stmt_errstr
    - printf
    - taos_stmt_num_params
    - exit
    linkageType: ''
    returnType: void
    signature: void bpCheckParamNum(TAOS_STMT *stmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1295,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1301,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - stmt
    - times
    argTypes:
    - TAOS_STMT*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1304
    functionName: bpCheckAffectedRows
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 11
    functionsReached:
    - taos_stmt_affected_rows
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void bpCheckAffectedRows(TAOS_STMT *stmt, int32_t times)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_affected_rows_once
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1307,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1309,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stmt
    - expectedNum
    argTypes:
    - TAOS_STMT*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1312
    functionName: bpCheckAffectedRowsOnce
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    - taos_stmt_affected_rows_once
    linkageType: ''
    returnType: void
    signature: void bpCheckAffectedRowsOnce(TAOS_STMT *stmt, int32_t expectedNum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1323,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1325,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1329,1
    - Dst: bpAppendValueString
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1333,1
    - Dst: bpAppendValueString
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1337,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1341,1
    - Dst: bpExecQuery
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1344,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1347,1
    - Dst: bpFetchRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1349,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1352,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1353,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - stmt
    - taos
    - stmtSql
    - bind
    argTypes:
    - TAOS_STMT*
    - TAOS*
    - char*
    - TAOS_MULTI_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1357
    functionName: bpCheckQueryResult
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 2
    functionsReached:
    - memcpy
    - exit
    - bpAppendValueString
    - taos_stmt_use_result
    - strcpy
    - bpExecQuery
    - bpFetchRows
    - printf
    - strchr
    linkageType: ''
    returnType: void
    signature: void bpCheckQueryResult(TAOS_STMT *stmt, TAOS *taos, char *stmtSql,
      TAOS_MULTI_BIND* bind)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1363,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1363,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1364,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1369,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1370,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1376,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1376,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1377,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1382,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1382,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1383,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1387,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1387,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1388,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1391,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1391,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1392,1
    - Dst: taos_stmt_get_param
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1400,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1402,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1402,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1403,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1407,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1407,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1408,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1412,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1412,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1413,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1419,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1419,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1421
    functionName: bpCheckColTagFields
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 2
    functionsReached:
    - exit
    - taos_stmt_errstr
    - BP_BIND_TYPE_STR
    - printf
    - taos_stmt_get_param
    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: taos_stmt_get_tag_fields
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1428,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1430,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1430,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1431,1
    - Dst: bpCheckColTagFields
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - stmt
    - pBind
    argTypes:
    - TAOS_STMT*
    - TAOS_MULTI_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1436
    functionName: bpCheckTagFields
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - exit
    - taos_stmt_errstr
    - printf
    - taosMemoryFree
    - bpCheckColTagFields
    - taos_stmt_get_tag_fields
    linkageType: ''
    returnType: void
    signature: void bpCheckTagFields(TAOS_STMT *stmt, TAOS_MULTI_BIND* pBind)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_get_col_fields
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1446,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1448,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1448,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1449,1
    - Dst: bpCheckColTagFields
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1452,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - stmt
    - pBind
    argTypes:
    - TAOS_STMT*
    - TAOS_MULTI_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1454
    functionName: bpCheckColFields
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - exit
    - taos_stmt_errstr
    - printf
    - taosMemoryFree
    - bpCheckColTagFields
    - taos_stmt_get_col_fields
    linkageType: ''
    returnType: void
    signature: void bpCheckColFields(TAOS_STMT *stmt, TAOS_MULTI_BIND* pBind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bind
    - num
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1462
    functionName: bpShowBindParam
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void bpShowBindParam(TAOS_MULTI_BIND *bind, int32_t num)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bpCheckColFields
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1468,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1473,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1475,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1475,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1476,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1477,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1481,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1483,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1483,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1484,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1485,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1491,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1493,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1493,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1494,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1495,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1498,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1500,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1500,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1501,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1502,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - stmt
    - bind
    - expectFail
    argTypes:
    - TAOS_STMT*
    - TAOS_MULTI_BIND*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1508
    functionName: bpBindParam
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 14
    functionsReached:
    - bpCheckColFields
    - exit
    - taos_stmt_errstr
    - taos_stmt_bind_param
    - printf
    - bpShowBindParam
    - taos_stmt_bind_single_param_batch
    - taos_stmt_bind_param_batch
    linkageType: ''
    returnType: int32_t
    signature: int32_t bpBindParam(TAOS_STMT *stmt, TAOS_MULTI_BIND *bind, bool expectFail)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1513,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1514,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1516,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1516,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1517,1
    - Dst: bpCheckTagFields
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1520,1
    - Dst: taos_stmt_set_tags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1522,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1524,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - data
    - tblIdx
    - tblName
    - stmt
    argTypes:
    - BindData*
    - int32_t
    - char*
    - TAOS_STMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1529
    functionName: bpSetTableNameTags
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 12
    functionsReached:
    - taos_stmt_set_tbname_tags
    - exit
    - taos_stmt_errstr
    - taos_stmt_set_tags
    - bpCheckTagFields
    - printf
    - rand
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int32_t
    signature: int32_t bpSetTableNameTags(BindData *data, int32_t tblIdx, char *tblName,
      TAOS_STMT *stmt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1535,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1537,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1539,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1539,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1540,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1543,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1549,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1550,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1552,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1552,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1553,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1558,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1562,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1563,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1566,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1567,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1567,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1568,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1573,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1574,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1574,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1575,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1578,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1579,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1581,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1584
    functionName: insertMBSETest1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - bpCheckAffectedRows
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int insertMBSETest1(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1590,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1592,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1594,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1594,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1595,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1598,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1606,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1607,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1609,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1609,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1610,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1614,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1615,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1619,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1622,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1623,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1623,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1624,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1629,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1630,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1630,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1631,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1634,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1635,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1637,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1640
    functionName: insertMBSETest2
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - bpCheckAffectedRows
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int insertMBSETest2(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1645,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1647,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1649,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1649,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1650,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1653,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1659,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1660,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1662,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1662,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1663,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1668,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1672,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1673,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1676,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1677,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1677,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1678,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1682,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1683,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1683,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1684,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1688,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1689,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1691,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1694
    functionName: insertMBMETest1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - bpCheckAffectedRows
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int insertMBMETest1(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1699,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1701,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1703,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1703,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1704,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1707,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1713,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1714,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1716,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1716,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1717,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1722,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1723,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1727,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1730,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1731,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1731,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1732,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1735,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1736,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1736,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1737,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1742,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1743,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1745,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1748
    functionName: insertMBMETest2
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - bpCheckAffectedRows
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int insertMBMETest2(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1753,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1755,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1757,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1757,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1758,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1761,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1767,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1768,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1770,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1770,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1771,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1776,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1782,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1783,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1785,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1785,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1786,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1790,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1791,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1794,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1795,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1795,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1796,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1799,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1800,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1800,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1801,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1806,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1807,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1809,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1812
    functionName: insertMBMETest3
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - bpCheckAffectedRows
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int insertMBMETest3(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1818,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1820,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1822,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1822,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1823,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1826,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1834,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1835,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1837,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1837,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1838,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1842,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1843,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1847,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1850,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1851,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1851,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1852,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1855,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1856,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1856,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1857,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1862,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1863,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1865,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1868
    functionName: insertMBMETest4
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - bpCheckAffectedRows
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int insertMBMETest4(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1876,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1878,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1880,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1880,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1881,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1884,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1890,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1891,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1893,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1893,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1894,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1899,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1903,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1904,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1907,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1908,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1908,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1909,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1913,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1914,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1914,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1915,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1919,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1921,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1928,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1933
    functionName: insertMPMETest1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - bpCheckAffectedRows
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int insertMPMETest1(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1938,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1940,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1942,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1942,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1943,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1946,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1952,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1953,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1955,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1955,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1956,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1961,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1965,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1966,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1970,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1971,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1971,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1972,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1975,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1976,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1976,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1977,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1981,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1983,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1985,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1988
    functionName: insertStbTest
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - bpCheckAffectedRows
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int insertStbTest(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:1998,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2000,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2002,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2002,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2003,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2006,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2012,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2013,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2015,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2015,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2016,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2021,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2025,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2026,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2029,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2030,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2030,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2031,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2035,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2036,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2036,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2037,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2041,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2043,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2051,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2056
    functionName: insertAUTOTest1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - bpCheckAffectedRows
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int insertAUTOTest1(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2066,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2068,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2070,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2070,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2071,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2074,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2081,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2082,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2084,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2084,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2085,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2090,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2092,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2093,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2096,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2097,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2097,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2098,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2101,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2102,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2102,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2103,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2108,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2110,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2118,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2123
    functionName: insertAUTOTest2
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - bpCheckAffectedRows
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int insertAUTOTest2(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2132,1
    - Dst: generateInsertSQL
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2137,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2139,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2141,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2141,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2142,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2146,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2149,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2152,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2153,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2156,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2157,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2157,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2158,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2161,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2162,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2162,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2163,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2168,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2170,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2182
    functionName: insertAUTOTest3
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - bpCheckParamNum
    - generateInsertSQL
    linkageType: ''
    returnType: int
    signature: int insertAUTOTest3(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2190,1
    - Dst: prepareQueryCondData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2191,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2193,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2195,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2195,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2196,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2200,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2203,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2206,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2207,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2210,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2211,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2212,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2212,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2213,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2217,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2218,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2218,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2219,1
    - Dst: bpCheckQueryResult
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2222,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2225,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2231
    functionName: queryColumnTest
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpCheckQueryResult
    - bpBindParam
    - exit
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - taos_stmt_prepare
    - printf
    - destroyData
    - memset
    - rand
    - taos_stmt_execute
    - prepareQueryCondData
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int queryColumnTest(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2238,1
    - Dst: prepareQueryMiscData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2239,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2241,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2243,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2243,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2244,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2248,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2251,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2254,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2255,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2258,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2259,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2260,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2260,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2261,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2265,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2266,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2266,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2267,1
    - Dst: bpCheckQueryResult
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2270,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2273,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2234
    functionDepth: 0
    functionLinenumber: 2234
    functionLinenumberEnd: 2279
    functionName: queryMiscTest
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpCheckQueryResult
    - bpBindParam
    - exit
    - prepareQueryMiscData
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - taos_stmt_prepare
    - printf
    - destroyData
    - memset
    - rand
    - taos_stmt_execute
    - bpCheckParamNum
    linkageType: ''
    returnType: int
    signature: int queryMiscTest(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2284,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2286,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2288,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2288,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2289,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2292,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2295,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2297,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2298,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2301,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2302,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2303,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2306,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2307,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2308,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2311,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2312,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2313,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2319
    functionName: insertNonExistsTb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_prepare
    - printf
    - destroyData
    - taos_stmt_execute
    - taos_stmt_add_batch
    - taos_stmt_bind_param_batch
    linkageType: ''
    returnType: int
    signature: int insertNonExistsTb(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pBind
    argTypes:
    - TAOS_MULTI_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2327
    functionName: bpAddWrongVarBuffLen
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bpAddWrongVarBuffLen(TAOS_MULTI_BIND* pBind)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2331,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2333,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2335,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2335,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2336,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2339,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2341,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2343,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2343,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2344,1
    - Dst: bpAddWrongVarBuffLen
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2347,1
    - Dst: bpBindParam
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2349,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2350,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2356
    functionName: insertVarLenErr
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - bpBindParam
    - exit
    - prepareInsertData
    - bpSetTableNameTags
    - bpCheckIsInsert
    - taos_stmt_errstr
    - taos_stmt_prepare
    - printf
    - bpAddWrongVarBuffLen
    - destroyData
    linkageType: ''
    returnType: int
    signature: int insertVarLenErr(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2363,1
    - Dst: generateErrorSQL
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2364,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2366,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2368,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2368,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2370,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2371,1
    - Dst: destroyData
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2378
    functionName: errorSQLTest1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_stmt_errstr
    - taos_stmt_prepare
    - printf
    - destroyData
    - memset
    - generateErrorSQL
    linkageType: ''
    returnType: int
    signature: int errorSQLTest1(TAOS_STMT *stmt, TAOS *taos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2388,1
    - Dst: bpExecQuery
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2389,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2393,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2396,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - taos
    - tname
    - printr
    - expected
    - silent
    argTypes:
    - TAOS*
    - char*
    - bool
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2399
    functionName: prepareCheckResultImpl
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - printf
    - snprintf
    - bpExecQuery
    - exit
    linkageType: ''
    returnType: void
    signature: void prepareCheckResultImpl(TAOS     * taos, char *tname, bool printr,
      int expected, bool silent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2406,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2408,1
    - Dst: prepareCheckResultImpl
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - taos
    - silent
    argTypes:
    - TAOS*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2415
    functionName: prepareCheckResult
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - sprintf
    - prepareCheckResultImpl
    linkageType: ''
    returnType: void
    signature: void prepareCheckResult(TAOS     *taos, bool silent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2425,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2431,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2433,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2435,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2441,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2443,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2444,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2446,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2446,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2447,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2448,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2451,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2453,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2454,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2461
    functionName: sql_perf1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_query
    - sprintf
    - taosGetTimestampUs
    - taos_free_result
    - printf
    - taosMemoryFree
    - taos_errno
    - taos_errstr
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int sql_perf1(TAOS     *taos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2469,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2473,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2481,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2483,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2486,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2487,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2494,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2496,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2497,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2499,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2499,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2500,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2501,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2504,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2506,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2507,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2510,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2516
    functionName: sql_perf_s1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_query
    - calloc
    - sprintf
    - taosGetTimestampUs
    - taos_free_result
    - printf
    - taosMemoryFree
    - taos_errno
    - taos_errstr
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int sql_perf_s1(TAOS     *taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2525,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2531,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2533,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2535,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2541,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2543,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2544,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2546,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2546,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2547,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2548,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2551,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2553,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2554,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2557,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2561
    functionName: sql_s_perf1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_query
    - sprintf
    - taosGetTimestampUs
    - taos_free_result
    - printf
    - taosMemoryFree
    - taos_errno
    - taos_errstr
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int sql_s_perf1(TAOS     *taos)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2565,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2568,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2572,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2576,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2581,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2584,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2587,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2590,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2593,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2596,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2599,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2602,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2605,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2608,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2611,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2614,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2617,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2620,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2623,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2624,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2628,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2632,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2635,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2639,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2642,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2645,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2648,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2651,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2654,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2657,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2660,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2663,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2666,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2669,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2672,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2675,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2678,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2681,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2682,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2686,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2690,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2693,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2697,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2697,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2700,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2700,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2703,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2703,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2706,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2706,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2709,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2709,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2712,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2712,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2715,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2715,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2718,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2718,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2721,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2724,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2724,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2727,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2727,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2730,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2730,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2733,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2733,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2736,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2736,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2739,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2740,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2744,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2748,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 176
    argCount: 5
    argNames:
    - buf
    - tblIdx
    - colNum
    - colList
    - tableType
    argTypes:
    - char*
    - int32_t
    - int32_t
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2563
    functionDepth: 0
    functionLinenumber: 2563
    functionLinenumberEnd: 2750
    functionName: generateCreateTableSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - printf
    - sprintf
    - rand
    - exit
    linkageType: ''
    returnType: void
    signature: void generateCreateTableSQL(char *buf, int32_t tblIdx, int32_t colNum,
      int32_t *colList, int32_t tableType)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2763
    functionName: bpPrecisionStr
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bpPrecisionStr(uint8_t precision)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2780
    functionName: bpSetStartupTs
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bpSetStartupTs()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2787,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2788,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2790,1
    - Dst: bpPrecisionStr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2790,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2791,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2793,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2794,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2796,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2796,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2797,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2798,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2800,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2802,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2803,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2809,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2810,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2811,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2813,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2813,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2814,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2815,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2817,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2822,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2824,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2825,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2827,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2827,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2828,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2829,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2831,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2838,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2839,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2840,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2842,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2842,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2843,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2844,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2846,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 4
    argNames:
    - taos
    - colNum
    - colList
    - prepareStb
    argTypes:
    - TAOS*
    - int32_t
    - int32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2851
    functionName: prepare
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 35
    functionsReached:
    - exit
    - taos_query
    - bpPrecisionStr
    - sprintf
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    - generateCreateTableSQL
    linkageType: ''
    returnType: void
    signature: void prepare(TAOS     *taos, int32_t colNum, int32_t *colList, int
      prepareStb)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bpSetStartupTs
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2860,1
    - Dst: runCase
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2871,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2926,1
    - Dst: prepare
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2933,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2936,1
    - Dst: taos_stmt_init_with_options
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2943,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2945,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2948,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2948,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2949,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2954,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2956,1
    - Dst: prepareCheckResult
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2959,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2965,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 89
    argCount: 4
    argNames:
    - taos
    - caseIdx
    - caseRunIdx
    - silent
    argTypes:
    - TAOS*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2969
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2969
    functionName: runCase
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 3
    functionsReached:
    - taos_stmt_init_with_options
    - exit
    - taos_stmt_errstr
    - prepare
    - taosGetTimestampUs
    - prepareCheckResult
    - runCase
    - bpSetStartupTs
    - printf
    - taos_stmt_init
    - taos_stmt_close
    linkageType: ''
    returnType: int32_t
    signature: int32_t runCase(TAOS *taos, int32_t caseIdx, int32_t caseRunIdx, bool
      silent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: runCase
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:2991,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2971
    functionDepth: 0
    functionLinenumber: 2971
    functionLinenumberEnd: 3001
    functionName: runCaseList
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - runCase
    linkageType: ''
    returnType: void
    signature: void * runCaseList(TAOS *taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3004,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3005,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3006,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3009,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3010,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3012,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3015,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3016,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3018,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3021,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3023,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3024,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3027,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3028,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3030,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3033,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3034,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3036,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3039,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3040,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3043,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3047,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3048,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3050,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3053,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3054,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3056,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3059,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3060,1
    - Dst: runCaseList
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3062,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3076
    functionName: runAll
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 1
    functionsReached:
    - strcpy
    - runCaseList
    - printf
    linkageType: ''
    returnType: void
    signature: void runAll(TAOS *taos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3082,1
    - Dst: time
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3082,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3086,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3090,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3092,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3092,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3093,1
    - Dst: runAll
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3096,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/batchprepare.c:3098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 3078
    functionDepth: 0
    functionLinenumber: 3078
    functionLinenumberEnd: 3101
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/batchprepare.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - runAll
    - taos_connect
    - printf
    - srand
    - taos_errstr
    - time
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:39,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:40,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:42,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:42,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:43,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:44,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:45,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:46,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: rtExecSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - taos_query
    - taos_close
    - taos_free_result
    - taos_cleanup
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void rtExecSQL(TAOS *taos, char *command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:56,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:57,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:59,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:59,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:60,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:61,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:62,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:63,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:66,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - taos
    - sql
    - vgId
    argTypes:
    - TAOS*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: rtFetchVgId
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - taos_query
    - taos_close
    - taos_free_result
    - taos_cleanup
    - taos_errno
    - taos_errstr
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void rtFetchVgId(TAOS *taos, char *sql, int *vgId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - errMsg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: rtError
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtError(char* prefix, const char* errMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtError
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:78,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prefix
    - errMsg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: rtExit
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtError
    - exit
    linkageType: ''
    returnType: void
    signature: void rtExit(char* prefix, const char* errMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:85,1
    - Dst: rtExit
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:86,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:86,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:88,1
    - Dst: rtExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:89,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:91,1
    - Dst: rtExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:92,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:94,1
    - Dst: rtExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:95,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:98,1
    - Dst: rtExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - p
    - prefix
    - suffix
    argTypes:
    - TAOS**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 105
    functionName: rtPrepare
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtExecSQL
    - rtExit
    - strcpy
    - sprintf
    - taos_connect
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int rtPrepare(TAOS   ** p, int prefix, int suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: rtGetTimeOfDay
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int32_t
    signature: int32_t rtGetTimeOfDay(struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtGetTimeOfDay
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: rtGetTimestampMs
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: int64_t rtGetTimestampMs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtGetTimeOfDay
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: rtGetTimestampUs
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: int64_t rtGetTimestampUs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_get_db_route_info
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:125,1
    - Dst: rtExit
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:127,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:127,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:130,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: rtGetDbRouteInfo
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - printf
    - taos_get_db_route_info
    - rtExit
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int rtGetDbRouteInfo(TAOS   * taos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:147,1
    - Dst: rtGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:148,1
    - Dst: taos_get_table_vgId
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:149,1
    - Dst: rtGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:150,1
    - Dst: rtExit
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:153,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:153,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:156,1
    - Dst: rtFetchVgId
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:158,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:160,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:161,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:163,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:167,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:170,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: rtGetTableRouteInfo
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtExit
    - fprintf
    - rtGetTimestampUs
    - rtFetchVgId
    - exit
    - sprintf
    - taos_get_table_vgId
    - printf
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int rtGetTableRouteInfo(TAOS   * taos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:180,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:186,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:187,1
    - Dst: rtGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:191,1
    - Dst: taos_get_tables_vgId
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:192,1
    - Dst: rtGetTimestampUs
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:193,1
    - Dst: rtExit
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:196,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:196,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:200,1
    - Dst: rtFetchVgId
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:202,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:204,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:205,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:207,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:211,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:214,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 219
    functionName: rtGetTablesRouteInfo
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtExit
    - fprintf
    - rtGetTimestampUs
    - rtFetchVgId
    - exit
    - sprintf
    - taos_get_tables_vgId
    - printf
    - free
    - taos_errstr
    - malloc
    linkageType: ''
    returnType: int
    signature: int rtGetTablesRouteInfo(TAOS   * taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: rtClose
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - taos_close
    linkageType: ''
    returnType: void
    signature: void rtClose(TAOS   * taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtPrepare
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:229,1
    - Dst: rtGetDbRouteInfo
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:230,1
    - Dst: rtGetTableRouteInfo
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:231,1
    - Dst: rtClose
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: rtRunCase1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtClose
    - rtGetDbRouteInfo
    - rtPrepare
    - rtGetTableRouteInfo
    linkageType: ''
    returnType: int
    signature: int rtRunCase1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtPrepare
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:239,1
    - Dst: rtGetTableRouteInfo
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:240,1
    - Dst: rtGetDbRouteInfo
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:241,1
    - Dst: rtClose
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: rtRunCase2
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtGetDbRouteInfo
    - rtGetTableRouteInfo
    - rtClose
    - rtPrepare
    linkageType: ''
    returnType: int
    signature: int rtRunCase2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtPrepare
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:249,1
    - Dst: rtGetTablesRouteInfo
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:250,1
    - Dst: rtClose
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: rtRunCase3
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - rtGetTablesRouteInfo
    - rtClose
    - rtPrepare
    linkageType: ''
    returnType: int
    signature: int rtRunCase3(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:259,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:260,1
    - Dst: srand
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:263,1
    - Dst: time
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:263,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:265,1
    - Dst: rtRunCase1
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:267,1
    - Dst: rtRunCase2
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:268,1
    - Dst: rtRunCase3
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:269,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:273,1
    - Dst: sleep
      Src: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/dbTableRoute.c
    functionUses: 0
    functionsReached:
    - exit
    - rtRunCase1
    - rtRunCase3
    - strcpy
    - rtRunCase2
    - sleep
    - printf
    - srand
    - time
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: genReqid
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t genReqid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 36
    functionName: stmtAsyncQueryCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c
    functionUses: 0
    functionsReached:
    - taos_affected_rows
    linkageType: ''
    returnType: void
    signature: void stmtAsyncQueryCb(void* param, TAOS_RES* pRes, int code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:39,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:40,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:41,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:42,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:44,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:46,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:46,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:47,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:50,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:52,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:53,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:64,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:65,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:67,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:67,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:68,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:71,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:84,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:85,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:86,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:87,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:88,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:89,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:95,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:96,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:97,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:98,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:146,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:147,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:148,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:149,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:151,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:151,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:152,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:192,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:194,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:195,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:196,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:211,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:212,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:213,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:214,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:216,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:216,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:217,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:220,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:221,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:222,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:223,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:224,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:236,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:238,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:239,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:239,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:240,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:243,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:244,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:246,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:248,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:249,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:250,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:251,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 109
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 253
    functionName: veriry_stmt
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_exec
    - taos_stmt2_prepare
    - taos_select_db
    - taos_stmt2_init
    - taos_stmt2_close
    - taos_stmt2_bind_param
    - free
    - taos_stmt2_get_fields
    - taos_query
    - taos_stmt_errstr
    - taos_free_result
    - printf
    - taos_stmt_close
    - clock
    - taos_stmt2_free_fields
    - usleep
    - taos_errno
    - taos_errstr
    - malloc
    linkageType: ''
    returnType: void
    signature: void veriry_stmt(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:260,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:261,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:263,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:263,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:264,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:267,1
    - Dst: veriry_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:268,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:270,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:271,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 273
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-nchar.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - taos_connect
    - printf
    - taos_cleanup
    - veriry_stmt
    - taos_errstr
    - taos_options
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: genReqid
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t genReqid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:20,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: stmtAsyncQueryCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c
    functionUses: 0
    functionsReached:
    - printf
    - taos_affected_rows
    linkageType: ''
    returnType: void
    signature: void stmtAsyncQueryCb(void* param, TAOS_RES* pRes, int code)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:44,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:45,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:46,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:47,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:49,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:51,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:51,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:52,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:55,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:57,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:58,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:69,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:70,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:72,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:72,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:73,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:76,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:81,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:82,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:84,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:84,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:85,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:88,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:107,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:108,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:109,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:110,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:111,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:112,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:113,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:114,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:115,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:121,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:122,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:123,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:124,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:208,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:209,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:210,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:211,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:213,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:213,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:214,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:256,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:257,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:268,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:269,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:278,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:280,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:281,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:282,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:297,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:298,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:299,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:300,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:302,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:302,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:303,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:306,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:307,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:308,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:309,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:310,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:323,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:325,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:326,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:326,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:327,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:330,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:331,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:338,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:340,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:341,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:342,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:343,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:344,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:345,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:346,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:347,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 160
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 349
    functionName: veriry_stmt
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c
    functionUses: 1
    functionsReached:
    - taos_stmt2_exec
    - taos_stmt2_prepare
    - taos_select_db
    - taos_stmt2_init
    - taos_stmt2_close
    - strcpy
    - taos_stmt2_error
    - taos_stmt2_bind_param
    - free
    - taos_stmt2_get_fields
    - taos_query
    - taos_stmt_errstr
    - taos_free_result
    - printf
    - taos_stmt_close
    - clock
    - taos_stmt2_free_fields
    - usleep
    - taos_errno
    - strlen
    - taos_errstr
    - malloc
    linkageType: ''
    returnType: void
    signature: void veriry_stmt(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:356,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:357,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:359,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:359,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:360,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:363,1
    - Dst: veriry_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:364,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:366,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:367,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 369
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-nohole.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - taos_connect
    - printf
    - taos_cleanup
    - veriry_stmt
    - taos_errstr
    - taos_options
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:12,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:13,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:15,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:16,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:17,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 22
    functionName: execute_simple_sql
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtTest.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_query
    - taos_free_result
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void execute_simple_sql(void *taos, char *sql)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:26,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:28,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:29,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:31,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:32,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:38,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - taos
    - id
    - expected
    argTypes:
    - TAOS*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 49
    functionName: check_result
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtTest.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_query
    - sprintf
    - taos_free_result
    - taos_errno
    - taos_errstr
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void check_result(TAOS *taos, int id, int expected)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:52,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:56,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:61,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:62,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:63,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:64,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:66,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:68,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:70,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:72,1
    - Dst: taos_load_table_info
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:75,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:79,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:84,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:88,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:174,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:178,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:185,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:187,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:191,1
    - Dst: taos_stmt_set_sub_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:196,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:200,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:217,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:218,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:219,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:220,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:223,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:226,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:231,1
    - Dst: check_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtTest.c:233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 115
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtTest.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_load_table_info
    - strcpy
    - sprintf
    - taos_connect
    - taos_stmt_close
    - taos_stmt_prepare
    - taos_stmt_bind_param
    - taos_stmt_execute
    - taos_stmt_init
    - check_result
    - taos_stmt_set_sub_tbname
    - strlen
    - taos_stmt_add_batch
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    - execute_simple_sql
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - condition
    - ','
    - prompt
    - ','
    - errstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: CHECK_CONDITION
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CONDITION(condition, prompt, errstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - res
    - ','
    - prompt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: CHECK_RES
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RES(res, prompt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - prompt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: CHECK_CODE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CODE(code, prompt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:31,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:32,1
    - Dst: CHECK_CONDITION
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:33,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: getNewConnection
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached:
    - taos_connect
    - taos_errstr
    - taos_options
    - CHECK_CONDITION
    linkageType: ''
    returnType: TAOS
    signature: TAOS * getNewConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:41,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:42,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:43,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:44,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:46,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:47,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:49,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:50,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:51,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:53,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:54,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:55,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:57,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:58,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:59,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:61,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:62,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:63,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:65,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:66,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:67,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:69,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:70,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:71,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:73,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:74,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:75,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:77,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:78,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:79,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:81,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:82,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:83,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:85,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:86,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:87,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:89,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:90,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:91,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:93,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:112,1
    - Dst: CHECK_CONDITION
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:113,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:113,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:114,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:116,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:120,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:121,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 124
    functionName: prepareData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached:
    - taos_affected_rows
    - CHECK_CODE
    - usleep
    - taos_query
    - CHECK_RES
    - taos_free_result
    - taos_select_db
    - CHECK_CONDITION
    linkageType: ''
    returnType: void
    signature: void prepareData(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_schemaless_insert_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:142,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:144,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:145,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:145,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 147
    functionName: verifySchemaLess
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached:
    - taos_affected_rows
    - taos_schemaless_insert_with_reqid
    - CHECK_RES
    - taos_free_result
    - printf
    linkageType: ''
    returnType: void
    signature: void verifySchemaLess(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:155,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:156,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:157,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:159,1
    - Dst: puts
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - res
    - nlimit
    argTypes:
    - TAOS_RES*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: printResult
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached:
    - taos_num_fields
    - taos_print_row
    - taos_fetch_fields
    - taos_fetch_row
    - puts
    linkageType: ''
    returnType: int32_t
    signature: int32_t printResult(TAOS_RES* res, int32_t nlimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:169,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:170,1
    - Dst: printResult
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:171,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:172,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:174,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:175,1
    - Dst: printResult
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:176,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:177,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:179,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:180,1
    - Dst: printResult
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:181,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:182,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:184,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:185,1
    - Dst: printResult
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:186,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:187,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:189,1
    - Dst: CHECK_RES
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:190,1
    - Dst: printResult
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:191,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:192,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 195
    functionName: verifyQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached:
    - printResult
    - CHECK_RES
    - taos_free_result
    - printf
    - taos_query_with_reqid
    linkageType: ''
    returnType: void
    signature: void verifyQuery(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:199,1
    - Dst: printResult
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:201,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - param
    - res
    - nrows
    argTypes:
    - void*
    - TAOS_RES*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: retrieveCallback
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    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: CHECK_CODE
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:207,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - param
    - res
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: selectCallback
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached:
    - CHECK_CODE
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: void selectCallback(void* param, TAOS_RES* res, int32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:212,1
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:213,1
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:214,1
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:215,1
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:216,1
    - Dst: sleep
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: verifyQueryAsync
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached:
    - sleep
    - taos_query_a_with_reqid
    linkageType: ''
    returnType: void
    signature: void verifyQueryAsync(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:236,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:237,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:238,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:239,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:240,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:241,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:242,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:243,1
    - Dst: taos_stmt_init_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:245,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:319,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:321,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:323,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:324,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:342,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:351,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:354,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:355,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:357,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:358,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:360,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:361,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:363,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:365,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:366,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:367,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:368,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:369,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:370,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:371,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 103
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 373
    functionName: veriryStmt
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached:
    - taos_stmt_init_with_reqid
    - CHECK_CODE
    - strcpy
    - taos_stmt_prepare
    - taos_stmt_execute
    - free
    - taos_stmt_close
    - strlen
    - taos_stmt_add_batch
    - taos_stmt_bind_param_batch
    - taos_stmt_set_tbname
    - malloc
    linkageType: ''
    returnType: void
    signature: void veriryStmt(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNewConnection
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:379,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:380,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:381,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:383,1
    - Dst: prepareData
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:384,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:387,1
    - Dst: verifySchemaLess
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:388,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:390,1
    - Dst: verifyQuery
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:391,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:393,1
    - Dst: verifyQueryAsync
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:394,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:396,1
    - Dst: veriryStmt
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:397,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:399,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:402,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 406
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/sameReqidTest.c
    functionUses: 0
    functionsReached:
    - CHECK_CODE
    - taos_close
    - verifySchemaLess
    - verifyQueryAsync
    - printf
    - taos_cleanup
    - taos_select_db
    - verifyQuery
    - getNewConnection
    - veriryStmt
    - prepareData
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: GET_FLOAT_VAL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_FLOAT_VAL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: GET_DOUBLE_VAL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_DOUBLE_VAL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: varDataLen
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: varDataLen(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:71,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: taosMsleep
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 0
    functionsReached:
    - Sleep
    - usleep
    linkageType: ''
    returnType: void
    signature: void taosMsleep(int64_t ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:87,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:93,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - param
    - ext
    - type
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: __taos_notify_cb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void __taos_notify_cb(void *param, void *ext, int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:109,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:113,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:114,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:121,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:121,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:122,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:123,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:124,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:126,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 130
    functionName: queryDB
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - taos_query
    - taos_close
    - taos_free_result
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void queryDB(TAOS *taos, char *command)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:142,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:148,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:151,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:154,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:157,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:160,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:163,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:166,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:169,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:173,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:174,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:178,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:179,1
    - Dst: varDataLen
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:185,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:186,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:190,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:193,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 4
    argNames:
    - str
    - row
    - fields
    - numFields
    argTypes:
    - char*
    - TAOS_ROW
    - TAOS_FIELD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 199
    functionName: printRow
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - sprintf
    - varDataLen
    - GET_DOUBLE_VAL
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int
    signature: int printRow(char *str, TAOS_ROW row, TAOS_FIELD *fields, int numFields)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:202,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:203,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:207,1
    - Dst: puts
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:209,1
    - Dst: strncpy
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:211,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:215,1
    - Dst: printRow
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:217,1
    - Dst: puts
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - res
    - output
    argTypes:
    - TAOS_RES*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 221
    functionName: printResult
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 2
    functionsReached:
    - taos_num_fields
    - sprintf
    - printRow
    - strncpy
    - taos_fetch_fields
    - taos_fetch_row
    - puts
    linkageType: ''
    returnType: int
    signature: int printResult(TAOS_RES *res, char *output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:227,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:231,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:233,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:234,1
    - Dst: createUsers
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:236,1
    - Dst: passVerTestMulti
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:237,1
    - Dst: sysInfoTest
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:238,1
    - Dst: userDroppedTest
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:239,1
    - Dst: clearTestEnv
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:240,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:242,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:243,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 0
    functionsReached:
    - passVerTestMulti
    - exit
    - userDroppedTest
    - taos_close
    - taos_connect
    - printf
    - clearTestEnv
    - taos_cleanup
    - sysInfoTest
    - createUsers
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:250,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:251,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:252,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:254,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:256,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:257,1
    - Dst: taos_set_notify_cb
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:260,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:263,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:264,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:266,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:270,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - taos
    - host
    - qstr
    argTypes:
    - TAOS*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 273
    functionName: createUsers
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 1
    functionsReached:
    - exit
    - fprintf
    - queryDB
    - sprintf
    - taos_connect
    - printf
    - taos_set_notify_cb
    linkageType: ''
    returnType: void
    signature: void createUsers(TAOS *taos, const char *host, char *qstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:281,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:283,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:284,1
    - Dst: taos_set_notify_cb
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:287,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:290,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:291,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:293,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:297,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:298,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:299,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:301,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:302,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:303,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:305,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:306,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:312,1
    - Dst: taosMsleep
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:315,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:320,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:321,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:326,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:327,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:331,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:333,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:335,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:336,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:338,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - host
    - qstr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 340
    functionName: passVerTestMulti
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 1
    functionsReached:
    - exit
    - fprintf
    - queryDB
    - strcpy
    - taos_close
    - taos_connect
    - printf
    - taos_set_notify_cb
    - taosMsleep
    linkageType: ''
    returnType: void
    signature: void passVerTestMulti(const char *host, char *qstr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:343,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:348,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:350,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:351,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:355,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:356,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:357,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:359,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:360,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:361,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:363,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:369,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:370,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:371,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:372,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:372,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:373,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:374,1
    - Dst: printResult
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:376,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:377,1
    - Dst: strstr
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:378,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:379,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:380,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:383,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:385,1
    - Dst: taosMsleep
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:387,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:390,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:391,1
    - Dst: strstr
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:392,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:392,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:393,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:394,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:395,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:398,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:400,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:401,1
    - Dst: taosMsleep
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:403,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:412,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:413,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:416,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:417,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:418,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 3
    argNames:
    - taosRoot
    - host
    - qstr
    argTypes:
    - TAOS*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 419
    functionName: sysInfoTest
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 1
    functionsReached:
    - exit
    - fprintf
    - queryDB
    - taos_query
    - printResult
    - sprintf
    - taos_close
    - taos_connect
    - strstr
    - taos_free_result
    - taos_errno
    - taosMsleep
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void sysInfoTest(TAOS *taosRoot, const char *host, char *qstr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:427,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:430,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:432,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:433,1
    - Dst: taos_set_notify_cb
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:435,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:437,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:439,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:441,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:447,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:448,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:455,1
    - Dst: taosMsleep
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:458,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:462,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:463,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:466,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:468,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:470,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:471,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:473,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:478,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:479,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:480,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:481,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 3
    argNames:
    - taos
    - host
    - qstr
    argTypes:
    - TAOS*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 486
    functionName: userDroppedTest
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 1
    functionsReached:
    - exit
    - fprintf
    - queryDB
    - sprintf
    - taos_close
    - taos_connect
    - printf
    - 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/test/new_test_framework/script/api/passwdTest.c:489,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:499,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:500,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/passwdTest.c:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - taos
    - host
    - qstr
    argTypes:
    - TAOS*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 505
    functionName: clearTestEnv
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/passwdTest.c
    functionUses: 1
    functionsReached:
    - sprintf
    - fprintf
    - queryDB
    linkageType: ''
    returnType: void
    signature: void clearTestEnv(TAOS *taos, const char *host, char *qstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:13,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:14,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:16,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:16,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:17,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: do_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c
    functionUses: 1
    functionsReached:
    - taos_query
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS* taos, const char* sql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:24,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:25,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:27,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:27,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:28,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: do_ins
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c
    functionUses: 0
    functionsReached:
    - taos_query
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_ins(TAOS* taos, const char* sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:35,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:36,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - taos
    - tbname
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: createCtb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c
    functionUses: 0
    functionsReached:
    - do_query
    - sprintf
    - malloc
    linkageType: ''
    returnType: void
    signature: void createCtb(TAOS* taos, const char* tbname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:41,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:42,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:43,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: initEnv
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c
    functionUses: 0
    functionsReached:
    - do_query
    linkageType: ''
    returnType: void
    signature: void initEnv(TAOS* taos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initEnv
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:48,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:52,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:53,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:55,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:55,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:56,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:73,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:75,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:76,1
    - Dst: createCtb
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:77,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:84,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:85,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:86,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:87,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:93,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:94,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:107,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:108,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:111,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:116,1
    - Dst: clock_gettime
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:122,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:129,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:130,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:130,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:131,1
    - Dst: clock_gettime
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:135,1
    - Dst: clock_gettime
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:138,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:140,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:141,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:141,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:142,1
    - Dst: clock_gettime
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:145,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:149,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:150,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:151,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:152,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:154,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:155,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:156,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:157,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:158,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:159,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:162,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:163,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:166,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:168,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 74
    argCount: 3
    argNames:
    - taos
    - sql
    - hasTag
    argTypes:
    - TAOS*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 172
    functionName: do_stmt
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c
    functionUses: 0
    functionsReached:
    - initEnv
    - sprintf
    - clock_gettime
    - taos_stmt2_error
    - taos_stmt2_exec
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_prepare
    - free
    - taos_stmt2_init
    - createCtb
    - taos_stmt2_close
    - malloc
    linkageType: ''
    returnType: void
    signature: void do_stmt(TAOS* taos, const char* sql, bool hasTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initEnv
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:175,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:177,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:178,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:180,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:184,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:185,1
    - Dst: createCtb
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:186,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:190,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:191,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:200,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:201,1
    - Dst: snprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:204,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:207,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:207,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:209,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:209,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:214,1
    - Dst: do_ins
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:216,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:217,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 221
    functionName: do_taosc
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c
    functionUses: 0
    functionsReached:
    - initEnv
    - sprintf
    - printf
    - snprintf
    - do_ins
    - strlen
    - createCtb
    - clock
    - malloc
    linkageType: ''
    returnType: void
    signature: void do_taosc(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:224,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:226,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:226,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:227,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:232,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:234,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:237,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-performance.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - taos_connect
    - printf
    - taos_cleanup
    - do_stmt
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: debugPrint
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/demoapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debugPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: warnPrint
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/demoapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: warnPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: errorPrint
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/demoapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: errorPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: okPrint
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/demoapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: okPrint(fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoll
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:58,1
    - Dst: warnPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:60,1
    - Dst: atoll
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:66,1
    - Dst: warnPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: parse_opt
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/demoapi.c
    functionUses: 0
    functionsReached:
    - warnPrint
    - atoll
    linkageType: ''
    returnType: error_t
    signature: error_t parse_opt(int key, char *arg, struct argp_state *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:81,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:82,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:84,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:85,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:86,1
    - Dst: errorPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:87,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:93,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:96,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:97,1
    - Dst: okPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:98,1
    - Dst: errorPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:100,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:101,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:102,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:103,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:105,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:113,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:119,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:120,1
    - Dst: okPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:121,1
    - Dst: errorPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:123,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:124,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:126,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:132,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:136,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:138,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:139,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:140,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:141,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:142,1
    - Dst: errorPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:145,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:146,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:148,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:150,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:153,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:154,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:155,1
    - Dst: errorPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:158,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:159,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:161,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:165,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:166,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:167,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:168,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:169,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:170,1
    - Dst: errorPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:173,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:174,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:176,1
    - Dst: okPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:178,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 181
    functionName: prepare_data
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/demoapi.c
    functionUses: 0
    functionsReached:
    - taos_affected_rows
    - exit
    - taos_query
    - sprintf
    - okPrint
    - taos_free_result
    - rand
    - taos_errno
    - taos_select_db
    - taos_errstr
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void prepare_data(TAOS* taos)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:186,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:187,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:190,1
    - Dst: warnPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:195,1
    - Dst: taos_fetch_block
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:198,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:199,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:205,1
    - Dst: taos_is_null
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:210,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:211,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:214,1
    - Dst: taos_is_null
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:223,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:224,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:227,1
    - Dst: taos_is_null
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:236,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:237,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:240,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:249,1
    - Dst: taos_get_column_data_offset
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:255,1
    - Dst: calloc
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:261,1
    - Dst: strncpy
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:262,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:264,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:267,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:269,1
    - Dst: errorPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:275,1
    - Dst: warnPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:283,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:284,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:286,1
    - Dst: puts
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:287,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:289,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:292,1
    - Dst: taos_is_null
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:295,1
    - Dst: errorPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:299,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 3
    argNames:
    - tbname
    - res
    - block
    argTypes:
    - char*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 308
    functionName: print_result
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/demoapi.c
    functionUses: 0
    functionsReached:
    - taos_fetch_block
    - taos_num_fields
    - taos_print_row
    - calloc
    - taos_get_column_data_offset
    - taos_fetch_lengths
    - strncpy
    - printf
    - warnPrint
    - taos_fetch_fields
    - taos_is_null
    - free
    - taos_fetch_row
    - errorPrint
    - puts
    linkageType: ''
    returnType: int
    signature: int print_result(char *tbname, TAOS_RES* res, int block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:317,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:318,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:319,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:322,1
    - Dst: taos_field_count
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:323,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:324,1
    - Dst: print_result
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:325,1
    - Dst: okPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:326,1
    - Dst: errorPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:329,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:330,1
    - Dst: errorPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:333,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 337
    functionName: verify_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/demoapi.c
    functionUses: 0
    functionsReached:
    - taos_query
    - sprintf
    - okPrint
    - errorPrint
    - printf
    - taos_errno
    - print_result
    - taos_errstr
    - taos_field_count
    linkageType: ''
    returnType: void
    signature: void verify_query(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:344,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:346,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:348,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:349,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:350,1
    - Dst: taos_get_server_info
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:353,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:354,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:355,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:356,1
    - Dst: prepare_data
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:358,1
    - Dst: verify_query
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:360,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:362,1
    - Dst: okPrint
      Src: /src/tdengine/test/new_test_framework/script/api/demoapi.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 366
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/demoapi.c
    functionUses: 0
    functionsReached:
    - taos_get_client_info
    - exit
    - verify_query
    - taos_close
    - okPrint
    - taos_connect
    - prepare_data
    - printf
    - argp_parse
    - taos_get_server_info
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:12,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:13,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:14,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:16,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:16,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:17,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 21
    functionName: do_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c
    functionUses: 3
    functionsReached:
    - taos_query
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS* taos, const char* sql)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:27,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:34,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:35,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:37,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:37,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:38,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:58,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:60,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:60,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:61,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:65,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:66,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:66,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:67,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:70,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 7
    argNames:
    - taos
    - tbname1
    - tbname2
    - tag2
    - col2
    - case_desc
    - size
    argTypes:
    - TAOS*
    - char*
    - char*
    - int8_t*
    - int8_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 73
    functionName: execute_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_error
    - taos_stmt2_exec
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_prepare
    - taos_stmt2_init
    - taos_stmt2_close
    linkageType: ''
    returnType: void
    signature: "void execute_test(TAOS* taos, const char* tbname1, const char* tbname2,
      int8_t* tag2, int8_t* col2,\n                  const char* case_desc, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: test1
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c
    functionUses: 0
    functionsReached:
    - execute_test
    linkageType: ''
    returnType: void
    signature: void test1(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: test2
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c
    functionUses: 0
    functionsReached:
    - execute_test
    linkageType: ''
    returnType: void
    signature: void test2(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: test3
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c
    functionUses: 0
    functionsReached:
    - execute_test
    linkageType: ''
    returnType: void
    signature: void test3(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: test4
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c
    functionUses: 0
    functionsReached:
    - execute_test
    linkageType: ''
    returnType: void
    signature: void test4(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:89,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:91,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:91,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:92,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:95,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:96,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:97,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:98,1
    - Dst: test1
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:100,1
    - Dst: test2
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:101,1
    - Dst: test3
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:102,1
    - Dst: test4
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:103,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:105,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-geometry-test.c
    functionUses: 0
    functionsReached:
    - test4
    - exit
    - test1
    - do_query
    - taos_close
    - test3
    - taos_connect
    - printf
    - taos_cleanup
    - test2
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:34,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:38,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:39,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:46,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:46,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:47,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:48,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:49,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: queryDB
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insertBlob.c
    functionUses: 5
    functionsReached:
    - fprintf
    - exit
    - taos_query
    - taos_close
    - taos_free_result
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void queryDB(TAOS *taos, char *command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:58,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:62,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:66,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:68,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:69,1
    - Dst: Test
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:71,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:72,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:73,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insertBlob.c
    functionUses: 0
    functionsReached:
    - Test
    - exit
    - taos_close
    - taos_connect
    - printf
    - taos_cleanup
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:77,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:78,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:80,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:82,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:83,1
    - Dst: calloc
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:86,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:96,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:99,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:100,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:101,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:101,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:102,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:103,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:107,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:122,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:123,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:124,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:125,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:125,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:126,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:127,1
    - Dst: taos_field_count
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:132,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:133,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:135,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:136,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:138,1
    - Dst: calloc
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:139,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:141,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:142,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:142,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:143,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:145,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertBlob.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - taos
    - qstr
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 148
    functionName: Test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insertBlob.c
    functionUses: 2
    functionsReached:
    - exit
    - queryDB
    - taos_query
    - calloc
    - taos_print_row
    - sprintf
    - taos_free_result
    - printf
    - taos_fetch_fields
    - free
    - taos_errno
    - strlen
    - taos_errstr
    - taos_field_count
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void Test(TAOS *taos, char *qstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:30,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:31,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:32,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:34,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:35,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:36,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:39,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:42,1
    - Dst: taos_field_count
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:43,1
    - Dst: taos_result_precision
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:45,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:47,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - msg
    argTypes:
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 52
    functionName: msg_process
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c
    functionUses: 0
    functionsReached:
    - taos_result_precision
    - tmq_get_db_name
    - taos_print_row
    - printf
    - taos_fetch_fields
    - tmq_get_topic_name
    - taos_fetch_row
    - taos_field_count
    - tmq_get_vgroup_id
    linkageType: ''
    returnType: int32_t
    signature: int32_t msg_process(TAOS_RES* msg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:55,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:62,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:63,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:64,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:65,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:65,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:67,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:69,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:70,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:71,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:71,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:73,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:76,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:77,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:78,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:78,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:81,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:84,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:85,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:87,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:88,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:88,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:91,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:94,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:95,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:96,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:97,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:97,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:100,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:102,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:103,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:104,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:104,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:107,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:109,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:110,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:111,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:111,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:114,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:116,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:117,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:118,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:118,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:121,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:124,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:125,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:126,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:127,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:127,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:130,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:132,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:133,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:134,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:134,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:137,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:139,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:140,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:141,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:141,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:144,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:146,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:147,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:148,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:148,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:151,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:153,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:154,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:155,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:155,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:158,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:160,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:164,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:165,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 167
    functionName: init_env
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c
    functionUses: 0
    functionsReached:
    - taos_query
    - taos_close
    - taos_connect
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: int32_t
    signature: int32_t init_env()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:170,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:172,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:177,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:178,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:179,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:179,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:182,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:184,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:185,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:186,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:186,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:189,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 193
    functionName: create_topic
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c
    functionUses: 0
    functionsReached:
    - taos_query
    - taos_close
    - taos_connect
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: int32_t
    signature: int32_t create_topic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tmq
    - code
    - param
    argTypes:
    - tmq_t*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: tmq_commit_cb_print
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void tmq_commit_cb_print(tmq_t* tmq, int32_t code, void* param)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tmq_conf_new
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:203,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:204,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:206,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:209,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:211,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:214,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:216,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:219,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:221,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:224,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:226,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:229,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:231,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:234,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:236,1
    - Dst: tmq_conf_set_auto_commit_cb
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:240,1
    - Dst: tmq_consumer_new
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:241,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 246
    functionName: build_consumer
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c
    functionUses: 0
    functionsReached:
    - tmq_conf_new
    - tmq_conf_set_auto_commit_cb
    - tmq_conf_destroy
    - tmq_conf_set
    - tmq_consumer_new
    linkageType: ''
    returnType: tmq_t
    signature: tmq_t * build_consumer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmq_list_new
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:249,1
    - Dst: tmq_list_append
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:250,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: build_topic_list
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c
    functionUses: 0
    functionsReached:
    - tmq_list_append
    - tmq_list_destroy
    - tmq_list_new
    linkageType: ''
    returnType: tmq_list_t
    signature: tmq_list_t * build_topic_list()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmq_consumer_poll
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:263,1
    - Dst: msg_process
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:266,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:267,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: basic_consume_loop
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - msg_process
    - tmq_consumer_poll
    - fprintf
    linkageType: ''
    returnType: void
    signature: void basic_consume_loop(tmq_t* tmq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_topic_assignment
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:280,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:282,1
    - Dst: tmq_err2str
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:282,1
    - Dst: tmq_offset_seek
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:289,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:291,1
    - Dst: tmq_err2str
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:291,1
    - Dst: tmq_free_assignment
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:295,1
    - Dst: basic_consume_loop
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: consume_repeatly
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - tmq_offset_seek
    - basic_consume_loop
    - tmq_free_assignment
    - tmq_get_topic_assignment
    - tmq_err2str
    linkageType: ''
    returnType: void
    signature: void consume_repeatly(tmq_t* tmq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: init_env
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:304,1
    - Dst: create_topic
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:308,1
    - Dst: build_consumer
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:312,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:314,1
    - Dst: build_topic_list
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:318,1
    - Dst: tmq_subscribe
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:323,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:324,1
    - Dst: tmq_err2str
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:324,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:327,1
    - Dst: basic_consume_loop
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:329,1
    - Dst: consume_repeatly
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:331,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:333,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:335,1
    - Dst: tmq_err2str
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:335,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 341
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/tmqViewTest.c
    functionUses: 0
    functionsReached:
    - init_env
    - tmq_subscribe
    - consume_repeatly
    - fprintf
    - basic_consume_loop
    - build_consumer
    - tmq_consumer_close
    - tmq_list_destroy
    - build_topic_list
    - tmq_err2str
    - create_topic
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:13,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:14,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:16,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:16,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:17,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: do_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c
    functionUses: 4
    functionsReached:
    - taos_query
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS* taos, const char* sql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:24,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:25,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:27,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:27,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:28,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: do_ins
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c
    functionUses: 1
    functionsReached:
    - taos_query
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_ins(TAOS* taos, const char* sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:35,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:36,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - taos
    - tbname
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: createCtb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c
    functionUses: 2
    functionsReached:
    - do_query
    - sprintf
    - malloc
    linkageType: ''
    returnType: void
    signature: void createCtb(TAOS* taos, const char* tbname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:41,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:42,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:43,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: initEnv
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c
    functionUses: 2
    functionsReached:
    - do_query
    linkageType: ''
    returnType: void
    signature: void initEnv(TAOS* taos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initEnv
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:48,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:52,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:53,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:55,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:55,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:56,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:73,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:75,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:76,1
    - Dst: createCtb
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:77,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:84,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:85,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:86,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:87,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:93,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:94,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:107,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:108,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:111,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:116,1
    - Dst: clock_gettime
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:122,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:129,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:130,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:130,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:131,1
    - Dst: clock_gettime
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:135,1
    - Dst: clock_gettime
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:138,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:140,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:141,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:141,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:142,1
    - Dst: clock_gettime
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:145,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:149,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:150,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:151,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:152,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:154,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:155,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:156,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:157,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:158,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:159,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:162,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:163,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:166,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:168,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 74
    argCount: 3
    argNames:
    - taos
    - sql
    - hasTag
    argTypes:
    - TAOS*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 172
    functionName: do_stmt
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c
    functionUses: 1
    functionsReached:
    - initEnv
    - sprintf
    - clock_gettime
    - taos_stmt2_error
    - taos_stmt2_exec
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_prepare
    - free
    - taos_stmt2_init
    - createCtb
    - taos_stmt2_close
    - malloc
    linkageType: ''
    returnType: void
    signature: void do_stmt(TAOS* taos, const char* sql, bool hasTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initEnv
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:175,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:177,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:178,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:180,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:184,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:185,1
    - Dst: createCtb
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:186,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:190,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:191,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:200,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:201,1
    - Dst: snprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:204,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:207,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:207,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:209,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:209,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:214,1
    - Dst: do_ins
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:216,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:217,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 221
    functionName: do_taosc
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c
    functionUses: 0
    functionsReached:
    - initEnv
    - sprintf
    - printf
    - snprintf
    - do_ins
    - strlen
    - createCtb
    - clock
    - malloc
    linkageType: ''
    returnType: void
    signature: void do_taosc(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:224,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:226,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:226,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:227,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:232,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:234,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:237,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-performance.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - taos_connect
    - printf
    - taos_cleanup
    - do_stmt
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:19,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:24,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:26,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:26,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:27,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:30,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:31,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:33,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:34,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:36,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:36,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:37,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:38,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:40,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:42,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:43,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:49,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:50,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:52,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:52,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:53,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:54,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:56,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:85,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:150,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:160,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:182,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:184,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:188,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:188,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:189,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:190,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:192,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:204,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:205,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:207,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:219,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:220,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:248,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:249,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:250,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:252,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:255,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:256,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:259,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:260,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:261,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:262,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:265,1
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:269,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:270,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:273,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:276,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:277,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:280,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:282,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c:286,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 170
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 289
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt-crash.c
    functionUses: 0
    functionsReached:
    - taos_print_row
    - taos_stmt_use_result
    - taos_stmt_bind_param
    - exit
    - memcpy
    - strcpy
    - taos_stmt_init
    - taos_stmt_set_tbname_tags
    - taos_query
    - taos_stmt_errstr
    - taos_free_result
    - printf
    - taos_stmt_prepare
    - taos_fetch_fields
    - taos_stmt_close
    - taos_stmt_add_batch
    - taos_fetch_row
    - taos_num_fields
    - taos_connect
    - taos_stmt_execute
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: currTimeInUs
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insert_stb.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int64_t
    signature: int64_t currTimeInUs()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:41,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:45,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:46,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:53,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:53,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:54,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:55,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:56,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: executeSql
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insert_stb.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - taos_query
    - taos_close
    - taos_free_result
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void executeSql(TAOS *taos, char *command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: executeSql
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:63,1
    - Dst: executeSql
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:64,1
    - Dst: executeSql
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:65,1
    - Dst: executeSql
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:67,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:68,1
    - Dst: currTimeInUs
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:70,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:74,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:78,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:82,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:84,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:85,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:86,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:86,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:87,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:88,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:90,1
    - Dst: currTimeInUs
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:94,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:98,1
    - Dst: executeSql
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - taos
    - qstr
    - pElapsedTime
    argTypes:
    - TAOS*
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 100
    functionName: testInsert
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insert_stb.c
    functionUses: 0
    functionsReached:
    - executeSql
    - exit
    - taos_query
    - sprintf
    - currTimeInUs
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void testInsert(TAOS *taos, char *qstr, double* pElapsedTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: executeSql
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:103,1
    - Dst: executeSql
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:104,1
    - Dst: executeSql
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:105,1
    - Dst: executeSql
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:107,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:108,1
    - Dst: currTimeInUs
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:110,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:114,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:118,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:122,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:125,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:126,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:127,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:127,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:128,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:129,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:131,1
    - Dst: currTimeInUs
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:135,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:138,1
    - Dst: executeSql
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - taos
    - qstr
    - pElapsedTime
    argTypes:
    - TAOS*
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 140
    functionName: testInsertStb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insert_stb.c
    functionUses: 0
    functionsReached:
    - executeSql
    - exit
    - taos_query
    - sprintf
    - currTimeInUs
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void testInsertStb(TAOS *taos, char *qstr, double *pElapsedTime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:147,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:151,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:153,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:153,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:154,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:156,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:158,1
    - Dst: testInsert
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:162,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:165,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:167,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:169,1
    - Dst: testInsertStb
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:173,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:176,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:178,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:179,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/insert_stb.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insert_stb.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - taos_connect
    - printf
    - testInsertStb
    - free
    - taos_cleanup
    - testInsert
    - taos_errstr
    - malloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:7,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:8,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:10,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:10,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:11,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 15
    functionName: do_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c
    functionUses: 6
    functionsReached:
    - taos_query
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS* taos, const char* sql)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:18,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:19,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:20,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:48,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:54,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:56,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:56,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:57,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:63,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:65,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:65,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:67,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:69,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:79,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:80,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:81,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:84,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:86,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:87,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:87,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:88,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:92,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 94
    functionName: do_stmt_row
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c
    functionUses: 0
    functionsReached:
    - strlen
    - taos_stmt2_free_fields
    - do_query
    - strcpy
    - taos_stmt2_error
    - taos_stmt2_exec
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_prepare
    - taos_stmt2_init
    - taos_stmt2_get_fields
    - taos_stmt2_close
    linkageType: ''
    returnType: void
    signature: void do_stmt_row(TAOS* taos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:96,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:97,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:98,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:126,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:132,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:134,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:134,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:135,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:141,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:143,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:143,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:145,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:147,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:158,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:159,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:160,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:163,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:165,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:166,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:166,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:167,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:171,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 173
    functionName: do_stmt_col
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c
    functionUses: 0
    functionsReached:
    - strlen
    - taos_stmt2_free_fields
    - do_query
    - strcpy
    - taos_stmt2_error
    - taos_stmt2_exec
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_prepare
    - taos_stmt2_init
    - taos_stmt2_get_fields
    - taos_stmt2_close
    linkageType: ''
    returnType: void
    signature: void do_stmt_col(TAOS* taos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:179,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:182,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:195,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:197,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:197,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:198,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:202,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:204,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:204,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:205,1
    - Dst: taos_stmt2_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:209,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:212,1
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:215,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:216,1
    - Dst: taos_print_row_with_size
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:217,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:217,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:218,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:219,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:221,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 228
    functionName: do_stmt_getresult
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c
    functionUses: 0
    functionsReached:
    - taos_num_fields
    - taos_stmt2_error
    - taos_stmt2_exec
    - taos_stmt2_bind_param
    - printf
    - taos_stmt2_prepare
    - taos_fetch_fields
    - free
    - taos_print_row_with_size
    - taos_stmt2_init
    - taos_fetch_row
    - taos_stmt2_close
    - taos_stmt2_result
    - malloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t do_stmt_getresult(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:231,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:233,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:238,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:240,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:240,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:243,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: do_stmt_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_free_fields
    - taos_stmt2_error
    - printf
    - taos_stmt2_prepare
    - taos_stmt2_init
    - taos_stmt2_get_fields
    - taos_stmt2_close
    linkageType: ''
    returnType: int32_t
    signature: int32_t do_stmt_query(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:250,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:252,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:252,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:253,1
    - Dst: do_stmt_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:256,1
    - Dst: do_stmt_col
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:258,1
    - Dst: do_stmt_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:260,1
    - Dst: do_stmt_getresult
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:262,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:264,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-blob-exmaple.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - taos_connect
    - do_stmt_getresult
    - do_stmt_row
    - printf
    - taos_cleanup
    - do_stmt_col
    - taos_errstr
    - do_stmt_query
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:17,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:18,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:20,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:20,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:21,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:22,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:23,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: executeSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_query
    - taos_close
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void executeSQL(TAOS *taos, const char *sql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:37,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:37,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - stmt
    - code
    - msg
    argTypes:
    - TAOS_STMT*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: checkErrorCode
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - taos_stmt_errstr
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void checkErrorCode(TAOS_STMT *stmt, int code, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - tags
    argTypes:
    - TAOS_MULTI_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: prepareBindTags
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void prepareBindTags(TAOS_MULTI_BIND *tags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 5
    argNames:
    - params
    - ts
    - current
    - voltage
    - phase
    argTypes:
    - TAOS_MULTI_BIND*
    - int64_t*
    - float*
    - int*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 94
    functionName: prepareBindParams
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c
    functionUses: 0
    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
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:103,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:107,1
    - Dst: checkErrorCode
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:108,1
    - Dst: prepareBindTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:112,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:113,1
    - Dst: checkErrorCode
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:114,1
    - Dst: prepareBindParams
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:117,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:119,1
    - Dst: checkErrorCode
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:120,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:122,1
    - Dst: checkErrorCode
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:123,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:126,1
    - Dst: checkErrorCode
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:127,1
    - Dst: taos_stmt_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:129,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:130,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - taos
    - ts
    - current
    - voltage
    - phase
    argTypes:
    - TAOS*
    - int64_t*
    - float*
    - int*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 134
    functionName: insertData
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - taos_stmt_affected_rows
    - taos_stmt_set_tbname_tags
    - taos_stmt_add_batch
    - checkErrorCode
    - taos_stmt_prepare
    - printf
    - taos_stmt_execute
    - taos_stmt_init
    - taos_stmt_close
    - taos_stmt_bind_param_batch
    - prepareBindParams
    - prepareBindTags
    linkageType: ''
    returnType: void
    signature: void insertData(TAOS *taos, int64_t *ts, float *current, int *voltage,
      float *phase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init_with_options
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:142,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:146,1
    - Dst: checkErrorCode
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:147,1
    - Dst: prepareBindTags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:151,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:152,1
    - Dst: checkErrorCode
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:153,1
    - Dst: prepareBindParams
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:156,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:158,1
    - Dst: checkErrorCode
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:159,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:161,1
    - Dst: checkErrorCode
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:162,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:165,1
    - Dst: checkErrorCode
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:166,1
    - Dst: taos_stmt_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:168,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:169,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 5
    argNames:
    - taos
    - ts
    - current
    - voltage
    - phase
    argTypes:
    - TAOS*
    - int64_t*
    - float*
    - int*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 173
    functionName: insertDataInterlace
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - taos_stmt_init_with_options
    - taos_stmt_set_tbname_tags
    - taos_stmt_affected_rows
    - taos_stmt_add_batch
    - checkErrorCode
    - taos_stmt_prepare
    - printf
    - taos_stmt_execute
    - taos_stmt_close
    - taos_stmt_bind_param_batch
    - prepareBindParams
    - prepareBindTags
    linkageType: ''
    returnType: void
    signature: void insertDataInterlace(TAOS *taos, int64_t *ts, float *current, int
      *voltage, float *phase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:176,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:178,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:179,1
    - Dst: executeSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:181,1
    - Dst: executeSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:182,1
    - Dst: executeSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:183,1
    - Dst: executeSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:184,1
    - Dst: insertData
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:193,1
    - Dst: insertDataInterlace
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:198,1
    - Dst: insertDataInterlace
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:203,1
    - Dst: insertDataInterlace
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:208,1
    - Dst: insertDataInterlace
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:213,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:215,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 233
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt-insert-dupkeys.c
    functionUses: 0
    functionsReached:
    - executeSQL
    - insertDataInterlace
    - exit
    - taos_close
    - taos_connect
    - printf
    - taos_cleanup
    - insertData
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:19,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:20,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:22,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:22,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:23,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: do_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c
    functionUses: 8
    functionsReached:
    - taos_query
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS* taos, const char* sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: stmtAsyncQueryCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stmtAsyncQueryCb(void* param, TAOS_RES* pRes, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:32,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:33,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:34,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: initEnv
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c
    functionUses: 4
    functionsReached:
    - do_query
    linkageType: ''
    returnType: void
    signature: void initEnv(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:39,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:40,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - taos
    - tbname
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: createCtb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c
    functionUses: 4
    functionsReached:
    - do_query
    - sprintf
    - malloc
    linkageType: ''
    returnType: void
    signature: void createCtb(TAOS* taos, const char* tbname)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: initEnv
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:45,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:58,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:59,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:61,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:61,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:62,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:67,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:69,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:69,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:71,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:74,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:76,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:77,1
    - Dst: createCtb
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:79,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:85,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:86,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:87,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:88,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:94,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:95,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:107,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:108,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:111,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:116,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:127,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:128,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:128,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:129,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:134,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:135,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:135,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:136,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:141,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:142,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:143,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:144,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:146,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:147,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:148,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:149,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:150,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:151,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:154,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:156,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:158,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 6
    argNames:
    - taos
    - sql
    - interlaceMode
    - hasTag
    - preCreateTb
    - asyncExec
    argTypes:
    - TAOS*
    - char*
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 159
    functionName: do_stmt
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c
    functionUses: 2
    functionsReached:
    - initEnv
    - taos_stmt2_free_fields
    - createCtb
    - sprintf
    - taos_stmt2_error
    - taos_stmt2_exec
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_prepare
    - free
    - taos_stmt2_init
    - taos_stmt2_get_fields
    - taos_stmt2_close
    - malloc
    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_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:162,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:164,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:164,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:165,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:168,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:169,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:171,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:172,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:174,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:175,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:177,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:178,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:180,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:181,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:183,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:184,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:186,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:187,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:189,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:190,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:193,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:194,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:196,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:197,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:199,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:200,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:202,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:203,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:205,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:206,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:208,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:209,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:211,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:212,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:214,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:215,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:217,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:218,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 220
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-memleak.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - taos_connect
    - printf
    - taos_cleanup
    - do_stmt
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: CASE_ENTER
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE_ENTER()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: CASE_LEAVE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE_LEAVE()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:66,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:67,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:69,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:69,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:70,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:71,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:72,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:73,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: sqExecSQL
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - taos_query
    - taos_close
    - taos_free_result
    - taos_cleanup
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void sqExecSQL(TAOS *taos, char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:83,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: sqExecSQLE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - taos_query
    linkageType: ''
    returnType: void
    signature: void sqExecSQLE(TAOS *taos, char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - errMsg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: sqError
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void sqError(char* prefix, const char* errMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqError
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:93,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prefix
    - errMsg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: sqExit
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - exit
    - sqError
    linkageType: ''
    returnType: void
    signature: void sqExit(char* prefix, const char* errMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stop_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:99,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - param
    - pRes
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: sqStopFetchCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - taos_stop_query
    linkageType: ''
    returnType: void
    signature: void sqStopFetchCb(void *param, TAOS_RES *pRes, int numOfRows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:109,1
    - Dst: taos_stop_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:111,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:112,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:116,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: sqStopQueryCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_fetch_rows_a
    - taos_free_result
    - sqExit
    - taos_errstr
    - taos_stop_query
    linkageType: ''
    returnType: void
    signature: void sqStopQueryCb(void *param, TAOS_RES *pRes, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - param
    - pRes
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: sqFreeFetchCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    linkageType: ''
    returnType: void
    signature: void sqFreeFetchCb(void *param, TAOS_RES *pRes, int numOfRows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:131,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:133,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:137,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: sqFreeQueryCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - taos_errstr
    - sqExit
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: void sqFreeQueryCb(void *param, TAOS_RES *pRes, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:144,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - param
    - pRes
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: sqCloseFetchCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - taos_close
    linkageType: ''
    returnType: void
    signature: void sqCloseFetchCb(void *param, TAOS_RES *pRes, int numOfRows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:155,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:157,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:160,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:163,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: sqCloseQueryCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_close
    - taos_fetch_rows_a
    - taos_free_result
    - sqExit
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void sqCloseQueryCb(void *param, TAOS_RES *pRes, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_kill_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - param
    - pRes
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: sqKillFetchCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    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/test/new_test_framework/script/api/stopquery.c:178,1
    - Dst: taos_kill_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:180,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:184,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: sqKillQueryCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - sqExit
    - taos_errstr
    - taos_kill_query
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: void sqKillQueryCb(void *param, TAOS_RES *pRes, int code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:191,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - param
    - pRes
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: sqAsyncFetchCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: void sqAsyncFetchCb(void *param, TAOS_RES *pRes, int numOfRows)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:205,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:208,1
    - Dst: sqError
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:213,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:213,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 217
    functionName: sqAsyncQueryCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - taos_errstr
    - sqError
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: void sqAsyncQueryCb(void *param, TAOS_RES *pRes, int code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:221,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:225,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:226,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:226,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:228,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:229,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:231,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:232,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:234,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:235,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:236,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:238,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:238,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:242,1
    - Dst: taos_stop_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:245,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:246,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:248,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 251
    functionName: sqStopSyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - taos_query
    - CASE_LEAVE
    - sprintf
    - taos_close
    - taos_connect
    - sqExecSQL
    - taos_free_result
    - sqExit
    - taos_errno
    - taos_errstr
    - taos_stop_query
    - taos_fetch_row
    linkageType: ''
    returnType: int
    signature: int sqStopSyncQuery(bool fetch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:254,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:258,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:259,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:259,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:261,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:262,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:264,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:265,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:267,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:273,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:275,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:278,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 281
    functionName: sqStopAsyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - usleep
    - CASE_LEAVE
    - sprintf
    - taos_close
    - taos_connect
    - sqExecSQL
    - sqExit
    - taos_errstr
    - taos_query_a
    linkageType: ''
    returnType: int
    signature: int sqStopAsyncQuery(bool fetch)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:284,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:288,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:289,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:289,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:291,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:292,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:294,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:295,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:297,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:298,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:299,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:301,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:301,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:305,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:308,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:309,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 312
    functionName: sqFreeSyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - taos_query
    - CASE_LEAVE
    - sprintf
    - taos_close
    - taos_connect
    - sqExecSQL
    - taos_free_result
    - sqExit
    - taos_errno
    - taos_errstr
    - taos_fetch_row
    linkageType: ''
    returnType: int
    signature: int sqFreeSyncQuery(bool fetch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:315,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:319,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:320,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:320,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:322,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:323,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:325,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:326,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:328,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:334,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:336,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:339,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 342
    functionName: sqFreeAsyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - usleep
    - CASE_LEAVE
    - sprintf
    - taos_close
    - taos_connect
    - sqExecSQL
    - sqExit
    - taos_errstr
    - taos_query_a
    linkageType: ''
    returnType: int
    signature: int sqFreeAsyncQuery(bool fetch)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:345,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:349,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:350,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:350,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:352,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:353,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:355,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:356,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:358,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:359,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:360,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:362,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:362,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:366,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:369,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:370,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 373
    functionName: sqCloseSyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - taos_query
    - CASE_LEAVE
    - sprintf
    - taos_close
    - taos_connect
    - sqExecSQL
    - taos_free_result
    - sqExit
    - taos_errno
    - taos_errstr
    - taos_fetch_row
    linkageType: ''
    returnType: int
    signature: int sqCloseSyncQuery(bool fetch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:376,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:380,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:381,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:381,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:383,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:384,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:386,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:387,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:389,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:395,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:397,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 401
    functionName: sqCloseAsyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - usleep
    - CASE_LEAVE
    - sprintf
    - taos_connect
    - sqExecSQL
    - sqExit
    - taos_errstr
    - taos_query_a
    linkageType: ''
    returnType: int
    signature: int sqCloseAsyncQuery(bool fetch)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:407,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:408,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:408,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:412,1
    - Dst: sqExecSQLE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:413,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:415,1
    - Dst: sqExecSQLE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:416,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:418,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:419,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:422,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 428
    functionName: syncQueryThreadFp
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_query
    - sprintf
    - taos_connect
    - taos_free_result
    - taos_errstr
    - sqExit
    - sqExecSQLE
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void *syncQueryThreadFp(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:434,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:435,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:435,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:439,1
    - Dst: sqExecSQLE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:440,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:442,1
    - Dst: sqExecSQLE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:443,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:445,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:451,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 455
    functionName: asyncQueryThreadFp
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - usleep
    - sprintf
    - taos_connect
    - taos_errstr
    - sqExit
    - sqExecSQLE
    - taos_query_a
    linkageType: ''
    returnType: void
    signature: void *asyncQueryThreadFp(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:462,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:462,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:463,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: closeThreadFp
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_close
    - rand
    - usleep
    linkageType: ''
    returnType: void
    signature: void *closeThreadFp(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:474,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:474,1
    - Dst: taos_kill_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:475,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 480
    functionName: killThreadFp
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - rand
    - usleep
    - taos_kill_query
    linkageType: ''
    returnType: void
    signature: void *killThreadFp(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:486,1
    - Dst: rand
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:486,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:487,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: cleanupThreadFp
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - taos_cleanup
    - rand
    - usleep
    linkageType: ''
    returnType: void
    signature: void *cleanupThreadFp(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:498,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:503,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:504,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:506,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:507,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 510
    functionName: sqConCloseSyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - pthread_create
    - CASE_LEAVE
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int sqConCloseSyncQuery(bool fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:513,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:518,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:519,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:521,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:522,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 525
    functionName: sqConCloseAsyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - pthread_create
    - CASE_LEAVE
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int sqConCloseAsyncQuery(bool fetch)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:529,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:533,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:534,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:534,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:536,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:537,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:539,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:540,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:542,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:543,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:544,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:546,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:546,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:550,1
    - Dst: taos_kill_query
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:553,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:555,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 558
    functionName: sqKillSyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - taos_query
    - CASE_LEAVE
    - sprintf
    - taos_close
    - taos_connect
    - sqExecSQL
    - sqExit
    - taos_errno
    - taos_errstr
    - taos_fetch_row
    - taos_kill_query
    linkageType: ''
    returnType: int
    signature: int sqKillSyncQuery(bool fetch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:561,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:565,1
    - Dst: sqExit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:566,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:566,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:568,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:569,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:571,1
    - Dst: sqExecSQL
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:572,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:574,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:581,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:583,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:586,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 589
    functionName: sqKillAsyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - usleep
    - CASE_LEAVE
    - sprintf
    - taos_close
    - taos_connect
    - sqExecSQL
    - sqExit
    - taos_errstr
    - taos_query_a
    linkageType: ''
    returnType: int
    signature: int sqKillAsyncQuery(bool fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:592,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:597,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:598,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:600,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:601,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:603,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 606
    functionName: sqConKillSyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - CASE_LEAVE
    - taos_close
    - pthread_create
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int sqConKillSyncQuery(bool fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:609,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:614,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:615,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:617,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:618,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:620,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 623
    functionName: sqConKillAsyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - CASE_LEAVE
    - taos_close
    - pthread_create
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int sqConKillAsyncQuery(bool fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:626,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:631,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:632,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:634,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:635,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 639
    functionName: sqConCleanupSyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - pthread_create
    - CASE_LEAVE
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int sqConCleanupSyncQuery(bool fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:642,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:647,1
    - Dst: pthread_create
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:648,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:650,1
    - Dst: pthread_join
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:651,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 655
    functionName: sqConCleanupAsyncQuery
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - CASE_ENTER
    - pthread_create
    - CASE_LEAVE
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int sqConCleanupAsyncQuery(bool fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqStopSyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:660,1
    - Dst: sqStopSyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:661,1
    - Dst: sqStopAsyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:662,1
    - Dst: sqStopAsyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:663,1
    - Dst: sqFreeSyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:665,1
    - Dst: sqFreeSyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:666,1
    - Dst: sqFreeAsyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:667,1
    - Dst: sqFreeAsyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:668,1
    - Dst: sqCloseSyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:670,1
    - Dst: sqCloseSyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:671,1
    - Dst: sqCloseAsyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:672,1
    - Dst: sqCloseAsyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:673,1
    - Dst: sqConCloseSyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:675,1
    - Dst: sqConCloseSyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:676,1
    - Dst: sqConCloseAsyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:677,1
    - Dst: sqConCloseAsyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:678,1
    - Dst: sqKillSyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:680,1
    - Dst: sqKillSyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:681,1
    - Dst: sqKillAsyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:682,1
    - Dst: sqKillAsyncQuery
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:683,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:701,1
    - Dst: sleep
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:702,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 659
    functionDepth: 3
    functionLinenumber: 659
    functionLinenumberEnd: 705
    functionName: sqRunAllCase
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - sqConCloseSyncQuery
    - sqFreeSyncQuery
    - sqFreeAsyncQuery
    - sqKillSyncQuery
    - sqConCloseAsyncQuery
    - sleep
    - printf
    - sqStopAsyncQuery
    - sqCloseAsyncQuery
    - sqStopSyncQuery
    - sqKillAsyncQuery
    - sqCloseSyncQuery
    linkageType: ''
    returnType: void
    signature: void sqRunAllCase(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:709,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:710,1
    - Dst: srand
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:713,1
    - Dst: time
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:713,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:715,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:716,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:717,1
    - Dst: sqRunAllCase
      Src: /src/tdengine/test/new_test_framework/script/api/stopquery.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 707
    functionDepth: 4
    functionLinenumber: 707
    functionLinenumberEnd: 722
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stopquery.c
    functionUses: 0
    functionsReached:
    - exit
    - strcpy
    - sqRunAllCase
    - printf
    - srand
    - time
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:7,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:8,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:10,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:10,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:11,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 15
    functionName: do_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c
    functionUses: 10
    functionsReached:
    - taos_query
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS* taos, const char* sql)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:18,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:19,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:20,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:48,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:54,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:56,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:56,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:57,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:63,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:65,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:65,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:67,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:69,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:79,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:80,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:81,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:84,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:86,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:87,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:87,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:88,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:92,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 94
    functionName: do_stmt_row
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c
    functionUses: 1
    functionsReached:
    - strlen
    - taos_stmt2_free_fields
    - do_query
    - strcpy
    - taos_stmt2_error
    - taos_stmt2_exec
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_prepare
    - taos_stmt2_init
    - taos_stmt2_get_fields
    - taos_stmt2_close
    linkageType: ''
    returnType: void
    signature: void do_stmt_row(TAOS* taos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:96,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:97,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:98,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:126,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:132,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:134,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:134,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:135,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:141,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:143,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:143,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:145,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:147,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:158,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:159,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:160,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:163,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:165,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:166,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:166,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:167,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:171,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 173
    functionName: do_stmt_col
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c
    functionUses: 1
    functionsReached:
    - strlen
    - taos_stmt2_free_fields
    - do_query
    - strcpy
    - taos_stmt2_error
    - taos_stmt2_exec
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_prepare
    - taos_stmt2_init
    - taos_stmt2_get_fields
    - taos_stmt2_close
    linkageType: ''
    returnType: void
    signature: void do_stmt_col(TAOS* taos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:179,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:182,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:195,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:197,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:197,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:198,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:202,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:204,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:204,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:205,1
    - Dst: taos_stmt2_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:209,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:212,1
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:215,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:216,1
    - Dst: taos_print_row_with_size
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:217,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:217,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:218,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:219,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:221,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 228
    functionName: do_stmt_getresult
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c
    functionUses: 1
    functionsReached:
    - taos_num_fields
    - taos_stmt2_error
    - taos_stmt2_exec
    - taos_stmt2_bind_param
    - printf
    - taos_stmt2_prepare
    - taos_fetch_fields
    - free
    - taos_print_row_with_size
    - taos_stmt2_init
    - taos_fetch_row
    - taos_stmt2_close
    - taos_stmt2_result
    - malloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t do_stmt_getresult(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:231,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:233,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:238,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:240,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:240,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:243,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: do_stmt_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c
    functionUses: 1
    functionsReached:
    - taos_stmt2_free_fields
    - taos_stmt2_error
    - printf
    - taos_stmt2_prepare
    - taos_stmt2_init
    - taos_stmt2_get_fields
    - taos_stmt2_close
    linkageType: ''
    returnType: int32_t
    signature: int32_t do_stmt_query(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:250,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:252,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:252,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:253,1
    - Dst: do_stmt_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:256,1
    - Dst: do_stmt_col
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:258,1
    - Dst: do_stmt_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:260,1
    - Dst: do_stmt_getresult
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:262,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:264,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-example.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - taos_connect
    - do_stmt_getresult
    - do_stmt_row
    - printf
    - taos_cleanup
    - do_stmt_col
    - taos_errstr
    - do_stmt_query
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:32,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:36,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:37,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:44,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:44,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:45,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:46,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:47,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 51
    functionName: queryDB
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c
    functionUses: 6
    functionsReached:
    - fprintf
    - exit
    - taos_query
    - taos_close
    - taos_free_result
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void queryDB(TAOS *taos, char *command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:60,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:64,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:66,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:67,1
    - Dst: Test
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:69,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:70,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c
    functionUses: 0
    functionsReached:
    - Test
    - exit
    - taos_close
    - taos_connect
    - printf
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:74,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:75,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:77,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:79,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:80,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:86,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:87,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:89,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:90,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:91,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:91,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:92,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:93,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:95,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:97,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:99,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:100,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:101,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:102,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:102,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:103,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:104,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:106,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:111,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:112,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:113,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:114,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:114,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:115,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:116,1
    - Dst: taos_field_count
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:121,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:122,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:124,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:125,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:127,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:130,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:131,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - taos
    - qstr
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 135
    functionName: Test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/insertSameTs.c
    functionUses: 3
    functionsReached:
    - exit
    - queryDB
    - taos_query
    - taos_print_row
    - strcpy
    - sprintf
    - taos_free_result
    - printf
    - taos_fetch_fields
    - taos_errno
    - taos_errstr
    - taos_field_count
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void Test(TAOS *taos, char *qstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: genReqid
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t genReqid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:22,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:23,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:24,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:25,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:26,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:27,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:28,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:30,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:31,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:33,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:34,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:35,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:36,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:37,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:38,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:39,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:40,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:41,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:42,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:43,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:44,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:45,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:46,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:47,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:48,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:49,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:50,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:51,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:52,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:54,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:73,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:75,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:77,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 80
    functionName: prepare_data
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 1
    functionsReached:
    - taos_affected_rows
    - usleep
    - taos_query
    - taos_free_result
    - printf
    - taos_select_db
    linkageType: ''
    returnType: void
    signature: void prepare_data(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:84,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:85,1
    - Dst: taos_fetch_block
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:90,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:99,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:101,1
    - Dst: puts
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:102,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - res
    - blockFetch
    argTypes:
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 109
    functionName: print_result
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 1
    functionsReached:
    - taos_fetch_block
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_fetch_fields
    - taos_fetch_row
    - puts
    linkageType: ''
    returnType: int
    signature: int print_result(TAOS_RES* res, int blockFetch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:112,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:114,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - line
    - res
    - expected
    argTypes:
    - int
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: check_row_count
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 0
    functionsReached:
    - printf
    - print_result
    linkageType: ''
    returnType: void
    signature: void check_row_count(int line, TAOS_RES* res, int expected)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prepare_data
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:121,1
    - Dst: taos_load_table_info
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:123,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:125,1
    - Dst: taos_validate_sql
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:128,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:130,1
    - Dst: taos_validate_sql
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:133,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:135,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:138,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:138,1
    - Dst: check_row_count
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:139,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:140,1
    - Dst: taos_result_precision
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:140,1
    - Dst: taos_field_count
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:141,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:142,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:143,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:145,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:147,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:149,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:149,1
    - Dst: check_row_count
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:150,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:151,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:153,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:153,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:154,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:155,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:155,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:156,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:158,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:158,1
    - Dst: taos_stop_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:159,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 161
    functionName: verify_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 1
    functionsReached:
    - taos_result_precision
    - taos_load_table_info
    - taos_stop_query
    - taos_fetch_lengths
    - check_row_count
    - prepare_data
    - taos_free_result
    - printf
    - taos_validate_sql
    - genReqid
    - taos_errno
    - taos_query_with_reqid
    - taos_errstr
    - taos_field_count
    linkageType: ''
    returnType: void
    signature: void verify_query(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:164,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tsub
    - res
    - param
    - code
    argTypes:
    - TAOS_SUB*
    - TAOS_RES*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: subscribe_callback
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 0
    functionsReached:
    - printf
    - print_result
    linkageType: ''
    returnType: void
    signature: void subscribe_callback(TAOS_SUB* tsub, TAOS_RES* res, void* param,
      int code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:169,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:170,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:172,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:173,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:175,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:177,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:177,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:178,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:182,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:184,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:185,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:191,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:191,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:192,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:194,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:194,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:195,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:198,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:222,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:287,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:298,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:300,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:300,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:301,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:321,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:322,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:324,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:325,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:325,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:326,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:329,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:332,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:333,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:336,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:337,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:338,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:338,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:339,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:343,1
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:347,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:348,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:351,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:354,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:355,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:358,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:359,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 131
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 360
    functionName: verify_prepare
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 0
    functionsReached:
    - taos_print_row
    - taos_stmt_use_result
    - taos_stmt_bind_param
    - taos_select_db
    - taos_query_with_reqid
    - strcpy
    - taos_stmt_init
    - taos_query
    - taos_stmt_errstr
    - taos_free_result
    - printf
    - genReqid
    - taos_stmt_prepare
    - taos_fetch_fields
    - taos_stmt_close
    - taos_stmt_add_batch
    - taos_fetch_row
    - taos_num_fields
    - usleep
    - taos_stmt_execute
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void verify_prepare(TAOS* taos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:363,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:364,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:365,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:366,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:368,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:370,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:370,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:371,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:374,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:376,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:377,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:383,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:384,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:386,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:386,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:387,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:390,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:406,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:407,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:408,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:409,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:410,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:411,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:412,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:413,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:415,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:490,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:492,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:492,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:493,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:497,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:499,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:499,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:500,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:519,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:528,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:531,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:532,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:534,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:535,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:535,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:536,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:540,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:543,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:544,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:566,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:567,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:568,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:568,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:569,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:573,1
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:577,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:578,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:581,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:584,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:585,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:588,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:589,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:591,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:592,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:593,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:594,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:595,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:596,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:597,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:598,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 160
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 599
    functionName: verify_prepare2
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 0
    functionsReached:
    - taos_print_row
    - taos_stmt_use_result
    - taos_stmt_bind_param
    - taos_select_db
    - taos_stmt_set_tbname
    - strcpy
    - free
    - taos_stmt_init
    - taos_stmt_bind_param_batch
    - taos_query
    - taos_stmt_errstr
    - taos_free_result
    - printf
    - taos_stmt_prepare
    - taos_fetch_fields
    - taos_stmt_close
    - taos_stmt_add_batch
    - taos_fetch_row
    - taos_num_fields
    - usleep
    - taos_stmt_execute
    - taos_errno
    - strlen
    - taos_errstr
    - malloc
    linkageType: ''
    returnType: void
    signature: void verify_prepare2(TAOS* taos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:602,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:603,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:604,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:605,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:607,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:609,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:609,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:610,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:613,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:615,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:616,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:622,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:623,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:625,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:625,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:626,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:629,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:635,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:665,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:666,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:667,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:668,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:669,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:670,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:671,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:672,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:674,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:749,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:751,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:751,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:752,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:756,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:758,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:758,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:759,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:778,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:787,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:790,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:791,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:793,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:794,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:794,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:795,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:798,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:801,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:802,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:825,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:826,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:827,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:827,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:828,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:832,1
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:836,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:837,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:840,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:843,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:844,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:847,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:848,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:850,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:851,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:852,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:853,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:854,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:855,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:856,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:857,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 172
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 858
    functionName: verify_prepare3
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 0
    functionsReached:
    - taos_print_row
    - taos_stmt_use_result
    - taos_stmt_bind_param
    - taos_select_db
    - strcpy
    - free
    - taos_stmt_init
    - taos_stmt_bind_param_batch
    - taos_stmt_set_tbname_tags
    - taos_query
    - taos_stmt_errstr
    - taos_free_result
    - printf
    - taos_stmt_prepare
    - taos_fetch_fields
    - taos_stmt_close
    - taos_stmt_add_batch
    - taos_fetch_row
    - taos_num_fields
    - usleep
    - taos_stmt_execute
    - taos_errno
    - strlen
    - taos_errstr
    - malloc
    linkageType: ''
    returnType: void
    signature: void verify_prepare3(TAOS* taos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:862,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:863,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:866,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:868,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - param
    - tres
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 872
    functionName: retrieve_callback
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - printf
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: void retrieve_callback(void* param, TAOS_RES* tres, int numOfRows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:876,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - param
    - tres
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 880
    functionName: select_callback
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 0
    functionsReached:
    - printf
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: void select_callback(void* param, TAOS_RES* tres, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepare_data
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:883,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:884,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 886
    functionName: verify_async
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 0
    functionsReached:
    - taos_query_a
    - usleep
    - prepare_data
    linkageType: ''
    returnType: void
    signature: void verify_async(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:893,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:894,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:896,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:898,1
    - Dst: puts
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - param
    - res
    - row
    argTypes:
    - void*
    - TAOS_RES*
    - TAOS_ROW
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 900
    functionName: stream_callback
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 0
    functionsReached:
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_fetch_fields
    - puts
    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/test/new_test_framework/script/api/apitest.c:907,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:908,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:910,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:910,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:911,1
    - Dst: taos_get_server_info
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:914,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:915,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:916,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:917,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:919,1
    - Dst: verify_query
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:920,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:922,1
    - Dst: verify_async
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:923,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:925,1
    - Dst: verify_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:926,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:928,1
    - Dst: verify_prepare2
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:929,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:930,1
    - Dst: verify_prepare3
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:931,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:933,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:934,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/apitest.c:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 936
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/apitest.c
    functionUses: 0
    functionsReached:
    - taos_get_client_info
    - exit
    - verify_query
    - taos_close
    - taos_connect
    - verify_async
    - verify_prepare3
    - printf
    - taos_get_server_info
    - verify_prepare
    - taos_cleanup
    - verify_prepare2
    - taos_errstr
    - taos_options
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - condition
    - ','
    - prompt
    - ','
    - errstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: CHECK_CONDITION
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CONDITION(condition, prompt, errstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - res
    - ','
    - prompt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: CHECK_RES
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RES(res, prompt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - prompt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: CHECK_CODE
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CODE(code, prompt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:32,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:33,1
    - Dst: CHECK_CONDITION
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:34,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: getNewConnection
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c
    functionUses: 1
    functionsReached:
    - taos_connect
    - taos_errstr
    - taos_options
    - CHECK_CONDITION
    linkageType: ''
    returnType: TAOS
    signature: TAOS * getNewConnection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:44,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:45,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - res
    - nlimit
    argTypes:
    - TAOS_RES*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: printResult
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c
    functionUses: 3
    functionsReached:
    - taos_fetch_fields
    - taos_num_fields
    - taos_fetch_row
    linkageType: ''
    returnType: int32_t
    signature: int32_t printResult(TAOS_RES* res, int32_t nlimit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:54,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:55,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:56,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:58,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:59,1
    - Dst: printResult
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:61,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - param
    - res
    - nrows
    argTypes:
    - void*
    - TAOS_RES*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: retrieveCallback
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - atomic_add_fetch_64
    - printResult
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: void retrieveCallback(void* param, TAOS_RES* res, int32_t nrows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:68,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:69,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:70,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - param
    - res
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: selectCallback
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - atomic_add_fetch_64
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: void selectCallback(void* param, TAOS_RES* res, int32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:79,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:80,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:81,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:82,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:83,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:84,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:85,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:86,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:87,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: verifyQueryAsync
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c
    functionUses: 1
    functionsReached:
    - taos_query_a
    linkageType: ''
    returnType: void
    signature: void verifyQueryAsync(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:92,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:93,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:94,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:95,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:96,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:97,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:98,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:99,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:100,1
    - Dst: taos_query_a
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: verifyQueryAsync
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c
    functionUses: 1
    functionsReached:
    - taos_query_a
    linkageType: ''
    returnType: void
    signature: void verifyQueryAsync(TAOS* taos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNewConnection
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:109,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:110,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:111,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:113,1
    - Dst: verifyQueryAsync
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:118,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:119,1
    - Dst: atomic_load_64
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:120,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:121,1
    - Dst: atomic_load_64
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:121,1
    - Dst: taosMsleep
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:122,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:124,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:127,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/asyncQuery.c
    functionUses: 0
    functionsReached:
    - CHECK_CODE
    - atomic_load_64
    - taos_close
    - verifyQueryAsync
    - printf
    - taos_cleanup
    - taos_select_db
    - taosMsleep
    - getNewConnection
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:44,1
    - Dst: perror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:45,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: getCurrentTime
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosGetTimeOfDay
    - exit
    - perror
    linkageType: ''
    returnType: unsigned long long
    signature: unsigned long long getCurrentTime()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:53,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:57,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:58,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:59,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:61,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:63,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:64,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:65,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:81,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:82,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:83,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:84,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:85,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:86,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:177,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:180,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:182,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:182,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:190,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:191,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:193,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:193,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:198,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:200,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:200,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:206,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:208,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:208,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:213,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:215,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:215,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:220,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:222,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:224,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:225,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:226,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:227,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:228,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:229,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:230,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:231,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 137
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 234
    functionName: stmt_bind_case_001
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int
    signature: int stmt_bind_case_001(TAOS_STMT *stmt, int tableNum, int rowsOfPerColum,
      int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int columnNum)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:238,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:242,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:243,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:244,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:246,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:248,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:249,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:250,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:266,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:267,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:268,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:269,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:270,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:271,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:362,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:365,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:367,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:367,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:375,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:376,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:378,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:378,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:383,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:385,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:385,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:391,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:393,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:393,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:399,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:401,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:401,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:405,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:407,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:409,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:410,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:411,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:412,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:413,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:414,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:415,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:416,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 137
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 419
    functionName: stmt_bind_case_002
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int
    signature: int stmt_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/test/new_test_framework/script/api/stmtBatchTest.c:423,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:427,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:428,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:429,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:431,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:433,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:434,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:435,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:451,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:452,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:453,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:454,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:455,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:456,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:484,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:487,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:489,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:489,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:497,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:498,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:500,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:500,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:505,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:507,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:507,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:513,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:515,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:515,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:520,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:522,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:522,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:527,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:529,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:531,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:532,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:533,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:534,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:535,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:536,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:537,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:538,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 83
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 541
    functionName: stmt_bind_case_003
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int
    signature: int stmt_bind_case_003(TAOS_STMT *stmt, int tableNum, int rowsOfPerColum,
      int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int columnNum)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:544,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:548,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:549,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:550,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:552,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:554,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:555,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:556,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:572,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:573,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:574,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:575,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:576,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:577,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:668,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:671,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:673,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:673,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:681,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:682,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:684,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:684,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:689,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:691,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:691,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:697,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:699,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:699,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:705,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:707,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:707,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:713,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:715,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:715,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:722,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:724,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:724,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:729,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:731,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:734,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:735,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:736,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:737,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:738,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:739,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:740,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 150
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 743
    functionName: stmt_bind_case_004
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int
    signature: int stmt_bind_case_004(TAOS_STMT *stmt, int tableNum, int rowsOfPerColum,
      int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int columnNum)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:746,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:750,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:751,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:752,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:754,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:756,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:757,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:758,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:774,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:775,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:776,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:777,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:778,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:779,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:870,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:873,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:875,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:875,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:883,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:884,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:886,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:886,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:891,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:893,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:893,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:901,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:903,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:903,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:910,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:912,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:912,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:917,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:919,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:919,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:924,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:926,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:928,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:929,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:930,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:931,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:932,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:933,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:934,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:935,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 145
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 938
    functionName: stmt_bind_error_case_001
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int
    signature: int stmt_bind_error_case_001(TAOS_STMT *stmt, int tableNum, int rowsOfPerColum,
      int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int columnNum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:942,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:946,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:947,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:948,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:950,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:952,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:953,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:954,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:970,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:971,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:972,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:973,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:974,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:975,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1066,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1069,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1071,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1071,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1079,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1080,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1082,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1082,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1087,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1089,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1089,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1102,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1104,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1104,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1109,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1111,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1113,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1114,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1115,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1116,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1117,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1118,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 132
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 1123
    functionName: stmt_bind_error_case_002
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int
    signature: int stmt_bind_error_case_002(TAOS_STMT *stmt, int tableNum, int rowsOfPerColum,
      int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int columnNum)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1126,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1130,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1131,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1132,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1134,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1136,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1137,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1138,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1154,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1155,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1156,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1157,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1158,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1159,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1250,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1253,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1255,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1255,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1263,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1265,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1267,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1267,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1272,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1274,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1274,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1283,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1285,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1285,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1291,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1293,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1293,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1299,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1301,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1301,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1306,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1308,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1308,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1313,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1315,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1317,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1318,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1319,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1320,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1322,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1323,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1324,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 149
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1327
    functionName: stmt_bind_error_case_003
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int
    signature: int stmt_bind_error_case_003(TAOS_STMT *stmt, int tableNum, int rowsOfPerColum,
      int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int columnNum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1333,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1335,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1336,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1338,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1338,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1339,1
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1345,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1346,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1350,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1353,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1354,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1355,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1360,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1362,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - taos
    - tname
    - printr
    - expected
    argTypes:
    - TAOS*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1368
    functionName: checkResult
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taos_num_fields
    - taos_query
    - taos_print_row
    - taos_free_result
    - printf
    - snprintf
    - taos_fetch_fields
    - memset
    - taos_errno
    - taos_errstr
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void checkResult(TAOS     *taos, char *tname, int printr, int expected)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1375,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1376,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1378,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1379,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1381,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1381,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1382,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1385,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1387,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1388,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1394,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1396,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1399,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1400,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1402,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1402,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1403,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - taos
    - schemaCase
    - tableNum
    - lenOfBinaryDef
    argTypes:
    - TAOS*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1409
    functionName: prepareV
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taos_query
    - sprintf
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void prepareV(TAOS     *taos, int schemaCase, int tableNum, int lenOfBinaryDef)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1415,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1416,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1418,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1419,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1421,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1421,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1422,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1425,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1427,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1428,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1434,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1436,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1439,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1440,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1442,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1442,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1443,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - taos
    - schemaCase
    - tableNum
    - lenOfBinaryDef
    argTypes:
    - TAOS*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1449
    functionName: prepareV_long
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taos_query
    - sprintf
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void prepareV_long(TAOS     *taos, int schemaCase, int tableNum, int
      lenOfBinaryDef)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1456,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1457,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1458,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1460,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1461,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1462,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1464,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1464,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1465,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1468,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1470,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1471,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1472,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1477,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1483,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1484,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1486,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1486,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1487,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 5
    argNames:
    - taos
    - schemaCase
    - tableNum
    - lenOfBinaryDef
    - dbName
    argTypes:
    - TAOS*
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1491
    functionName: prepareVcolumn_autoCreateTbl
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taos_query
    - sprintf
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void prepareVcolumn_autoCreateTbl(TAOS     *taos, int schemaCase, int
      tableNum, int lenOfBinaryDef, char* dbName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1498,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1499,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1500,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1502,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1503,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1504,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1506,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1506,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1507,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1510,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1512,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1513,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1514,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1520,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1522,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1525,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1526,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1528,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1528,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1529,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 5
    argNames:
    - taos
    - schemaCase
    - tableNum
    - lenOfBinaryDef
    - dbName
    argTypes:
    - TAOS*
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1535
    functionName: prepareVcolumn
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taos_query
    - sprintf
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void prepareVcolumn(TAOS     *taos, int schemaCase, int tableNum, int
      lenOfBinaryDef, char* dbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1555,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1564,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1565,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1568,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1569,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1570,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1577,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1586,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1587,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1590,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1600,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1601,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1608,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1617,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1618,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1621,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1631,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1632,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1639,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1648,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1649,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1652,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1662,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1663,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1672,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1681,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1682,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1685,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1686,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1687,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1688,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1689,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1690,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1691,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1698,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1707,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1708,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1711,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1712,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1713,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1714,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1715,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1716,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1717,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1724,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1733,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1734,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1737,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1738,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1739,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1740,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1741,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1742,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1743,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1750,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1759,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1760,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1763,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1764,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1765,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1766,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1767,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1768,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1769,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1778,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1787,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1788,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1791,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1792,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1793,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1800,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1801,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1810,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1811,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1814,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1815,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1816,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1824,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1833,1
    - Dst: stmt_bind_case_003
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1834,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1837,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1838,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1839,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1846,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1847,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1856,1
    - Dst: stmt_bind_case_003
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1857,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1860,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1861,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1862,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1871,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1880,1
    - Dst: stmt_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1881,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1884,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1885,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1886,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1887,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1888,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1889,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1890,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1897,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1906,1
    - Dst: stmt_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1907,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1910,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1911,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1912,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1913,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1914,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1915,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1916,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1924,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1933,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1934,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1937,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1938,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1939,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1940,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1941,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1942,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1943,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1950,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1951,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1960,1
    - Dst: stmt_bind_error_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1961,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1964,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1969,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1970,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1978,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1987,1
    - Dst: stmt_bind_case_004
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1988,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1991,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1996,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:1997,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2004,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2005,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2014,1
    - Dst: stmt_bind_error_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2015,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2018,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2023,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2024,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2031,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2032,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2041,1
    - Dst: stmt_bind_error_case_003
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2042,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2045,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2050,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 301
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 1538
    functionDepth: 2
    functionLinenumber: 1538
    functionLinenumberEnd: 2057
    functionName: runCase
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 4
    functionsReached:
    - stmt_bind_error_case_001
    - stmt_bind_case_003
    - stmt_bind_error_case_003
    - checkResult
    - prepareV
    - stmt_bind_case_001
    - printf
    - stmt_bind_case_004
    - stmt_bind_error_case_002
    - taos_stmt_init
    - taos_stmt_close
    - stmt_bind_case_002
    linkageType: ''
    returnType: void
    signature: void runCase(TAOS *taos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2061,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2065,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2066,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2067,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2069,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2071,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2072,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2073,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2089,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2090,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2091,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2092,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2093,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2094,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2187,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2190,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2192,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2192,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2200,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2201,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2203,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2203,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2208,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2210,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2210,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2216,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2218,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2218,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2223,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2225,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2225,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2230,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2232,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2234,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2235,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2236,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2237,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2239,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2240,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2241,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 138
    argCount: 8
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    - startTs
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2060
    functionDepth: 1
    functionLinenumber: 2060
    functionLinenumberEnd: 2244
    functionName: stmt_bind_case_001_long
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int
    signature: 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2262,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2271,1
    - Dst: stmt_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2272,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2275,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2276,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2277,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2278,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2279,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2280,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2281,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2289,1
    - Dst: prepareV_long
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2299,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2303,1
    - Dst: stmt_bind_case_001_long
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2304,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2307,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2308,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2309,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2310,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2311,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2312,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2246
    functionDepth: 2
    functionLinenumber: 2246
    functionLinenumberEnd: 2321
    functionName: runCase_long
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - checkResult
    - prepareV
    - printf
    - stmt_bind_case_001_long
    - prepareV_long
    - taos_stmt_init
    - taos_stmt_close
    - stmt_bind_case_002
    linkageType: ''
    returnType: void
    signature: void runCase_long(TAOS *taos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2328,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2332,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2333,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2334,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2336,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2338,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2339,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2340,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2356,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2357,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2358,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2359,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2360,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2361,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2410,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2414,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2416,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2416,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2432,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2434,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2434,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2440,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2442,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2442,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2447,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2449,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2449,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2454,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2456,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2458,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2459,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2460,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2461,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2462,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2463,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2464,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2465,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 95
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2327
    functionDepth: 1
    functionLinenumber: 2327
    functionLinenumberEnd: 2468
    functionName: stmt_specifyCol_bind_case_001
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: 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: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2475,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2479,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2480,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2481,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2483,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2485,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2486,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2487,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2503,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2504,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2505,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2506,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2507,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2508,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2557,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2561,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2563,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2563,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2571,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2572,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2574,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2574,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2579,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2581,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2581,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2587,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2589,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2589,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2594,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2596,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2596,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2601,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2603,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2605,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2606,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2607,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2608,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2609,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2610,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2611,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2612,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 101
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2474
    functionDepth: 1
    functionLinenumber: 2474
    functionLinenumberEnd: 2615
    functionName: stmt_specifyCol_bind_case_002
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int
    signature: int stmt_specifyCol_bind_case_002(TAOS_STMT *stmt, int tableNum, int
      rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int columnNum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2622,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2626,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2627,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2628,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2630,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2632,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2633,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2634,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2650,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2651,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2652,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2653,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2654,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2655,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2683,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2687,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2689,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2689,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2705,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2707,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2707,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2713,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2715,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2715,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2720,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2722,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2722,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2727,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2729,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2731,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2732,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2734,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2735,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2736,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2737,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2738,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 77
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 2621
    functionDepth: 1
    functionLinenumber: 2621
    functionLinenumberEnd: 2741
    functionName: stmt_specifyCol_bind_case_001_maxRows
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int stmt_specifyCol_bind_case_001_maxRows(TAOS_STMT *stmt, int tableNum,
      int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int
      columnNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2760,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2769,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2770,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2773,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2774,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2775,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2782,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2791,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2792,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2795,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2805,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2806,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2813,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2822,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2823,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2826,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2836,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2837,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2843,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2844,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2853,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2854,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2857,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2867,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2868,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2876,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2885,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2886,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2889,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2899,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2900,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2907,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2916,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2917,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2920,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2930,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2931,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2940,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2949,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2950,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2953,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2954,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2955,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2956,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2957,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2958,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2959,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2966,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2975,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2976,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2979,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2980,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2981,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2982,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2983,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2984,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2985,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:2992,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3001,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3002,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3005,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3006,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3007,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3008,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3009,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3010,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3011,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3018,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3027,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3028,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3031,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3032,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3033,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3034,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3035,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3036,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3037,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3046,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3055,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3056,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3059,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3060,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3061,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3068,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3069,1
    - Dst: prepareV
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3078,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3079,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3082,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3083,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3084,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3094,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3103,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3104,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3107,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3108,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3109,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3110,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3111,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3112,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3113,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3120,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3129,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3130,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3133,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3134,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3135,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3136,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3137,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3138,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3139,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3147,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3156,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3157,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3160,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3161,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3162,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3163,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3164,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3165,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3166,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3167,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3175,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3184,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3185,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3188,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3189,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3190,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3191,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3192,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3193,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 261
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3200
      start: 2743
    functionDepth: 2
    functionLinenumber: 2743
    functionLinenumberEnd: 3200
    functionName: SpecifyColumnBatchCase
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - prepareVcolumn
    - checkResult
    - stmt_specifyCol_bind_case_002
    - printf
    - prepareV
    - stmt_specifyCol_bind_case_001
    - taos_stmt_init
    - taos_stmt_close
    linkageType: ''
    returnType: void
    signature: void SpecifyColumnBatchCase(TAOS *taos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3208,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3212,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3213,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3214,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3216,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3218,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3219,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3220,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3221,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3238,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3239,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3240,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3241,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3242,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3243,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3340,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3346,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3348,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3348,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3356,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3357,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3359,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3359,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3364,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3366,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3366,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3372,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3374,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3374,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3379,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3381,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3381,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3386,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3388,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3391,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3392,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3393,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3394,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3395,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3396,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3397,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3398,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 140
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3401
      start: 3207
    functionDepth: 1
    functionLinenumber: 3207
    functionLinenumberEnd: 3401
    functionName: stmt_specifyCol_bind_case_001_autoCreateTbl
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taos_stmt_set_tbname_tags
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: 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: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3404,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3408,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3409,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3410,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3412,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3414,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3415,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3416,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3417,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3434,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3435,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3436,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3437,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3438,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3439,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3536,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3542,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3544,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3544,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3552,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3553,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3555,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3555,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3560,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3562,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3562,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3568,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3570,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3570,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3575,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3577,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3577,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3582,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3584,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3587,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3588,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3589,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3590,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3591,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3592,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3593,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3594,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 132
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3597
      start: 3403
    functionDepth: 1
    functionLinenumber: 3403
    functionLinenumberEnd: 3597
    functionName: stmt_specifyCol_bind_case_002_autoCreateTbl
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taos_stmt_set_tbname_tags
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int stmt_specifyCol_bind_case_002_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/test/new_test_framework/script/api/stmtBatchTest.c:3601,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3605,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3606,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3607,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3609,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3611,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3612,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3613,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3614,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3632,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3633,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3634,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3635,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3636,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3637,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3734,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3740,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3742,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3742,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3750,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3751,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3753,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3753,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3758,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3760,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3760,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3766,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3768,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3768,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3773,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3775,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3775,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3780,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3782,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3784,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3785,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3786,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3787,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3788,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3789,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3790,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3791,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3792,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 140
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3600
    functionDepth: 1
    functionLinenumber: 3600
    functionLinenumberEnd: 3795
    functionName: stmt_specifyCol_bind_case_003_autoCreateTbl
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taos_stmt_set_tbname_tags
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: 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/test/new_test_framework/script/api/stmtBatchTest.c:3799,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3803,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3804,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3805,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3807,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3809,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3810,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3811,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3812,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3829,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3830,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3831,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3832,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3833,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3834,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3931,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3937,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3939,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3939,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3947,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3948,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3950,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3950,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3955,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3957,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3957,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3963,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3965,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3965,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3970,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3972,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3972,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3977,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3979,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3981,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3982,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3983,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3984,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3985,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3986,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3987,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3988,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:3989,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 132
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3992
      start: 3798
    functionDepth: 1
    functionLinenumber: 3798
    functionLinenumberEnd: 3992
    functionName: stmt_specifyCol_bind_case_004_autoCreateTbl
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taos_stmt_set_tbname_tags
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int stmt_specifyCol_bind_case_004_autoCreateTbl(TAOS_STMT *stmt, int
      tableNum, int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct,
      int columnNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4011,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4020,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4021,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4024,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4025,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4026,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4033,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4042,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4043,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4046,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4056,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4057,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4064,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4073,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4074,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4077,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4087,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4088,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4094,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4095,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4104,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4105,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4108,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4118,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4119,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4127,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4136,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4137,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4140,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4150,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4151,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4158,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4167,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4168,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4171,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4181,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4182,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4191,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4200,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4201,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4204,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4205,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4206,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4214,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4223,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4224,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4227,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4228,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4229,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4230,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4237,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4246,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4247,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4250,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4251,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4252,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4253,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4254,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4255,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4256,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4263,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4272,1
    - Dst: stmt_specifyCol_bind_case_002_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4273,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4276,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4277,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4278,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4286,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4295,1
    - Dst: stmt_specifyCol_bind_case_002_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4296,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4299,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4300,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4301,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4302,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4303,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4304,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4311,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4320,1
    - Dst: stmt_specifyCol_bind_case_003_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4321,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4324,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4325,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4326,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4333,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4342,1
    - Dst: stmt_specifyCol_bind_case_003_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4343,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4346,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4347,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4348,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4349,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4356,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4365,1
    - Dst: stmt_specifyCol_bind_case_003_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4366,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4369,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4370,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4371,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4372,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4373,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4374,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4375,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4383,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4384,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4393,1
    - Dst: stmt_specifyCol_bind_case_004_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4394,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4397,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4398,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 227
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4405
      start: 3994
    functionDepth: 2
    functionLinenumber: 3994
    functionLinenumberEnd: 4405
    functionName: SpecifyColumnBatchCase_autoCreateTbl
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - stmt_specifyCol_bind_case_002_autoCreateTbl
    - stmt_specifyCol_bind_case_001_autoCreateTbl
    - prepareVcolumn_autoCreateTbl
    - checkResult
    - printf
    - stmt_specifyCol_bind_case_003_autoCreateTbl
    - stmt_specifyCol_bind_case_004_autoCreateTbl
    - taos_stmt_init
    - taos_stmt_close
    linkageType: ''
    returnType: void
    signature: void SpecifyColumnBatchCase_autoCreateTbl(TAOS *taos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4416,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4420,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4421,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4422,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4424,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4426,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4427,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4428,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4444,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4445,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4446,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4447,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4448,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4449,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4498,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4517,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4519,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4519,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4519,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4540,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4542,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4542,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4542,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4549,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4551,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4551,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4551,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4562,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4564,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4564,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4569,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4571,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4573,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4574,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4575,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4576,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4577,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4578,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4579,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4580,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 98
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4583
      start: 4415
    functionDepth: 1
    functionLinenumber: 4415
    functionLinenumberEnd: 4583
    functionName: stmt_specifyCol_bind_error_case_001
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int stmt_specifyCol_bind_error_case_001(TAOS_STMT *stmt, int tableNum,
      int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int
      columnNum)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4586,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4590,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4591,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4592,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4594,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4596,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4597,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4598,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4614,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4615,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4616,1
    - Dst: memset
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4617,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4618,1
    - Dst: memcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4619,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4668,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4672,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4674,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4674,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4682,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4685,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4687,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4687,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4687,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4692,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4694,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4694,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4700,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4702,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4702,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4707,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4709,1
    - Dst: tstrerror
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4709,1
    - Dst: getCurrentTime
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4714,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4716,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4718,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4719,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4720,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4721,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4723,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4724,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4725,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 101
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4728
      start: 4585
    functionDepth: 1
    functionLinenumber: 4585
    functionLinenumberEnd: 4728
    functionName: stmt_specifyCol_bind_error_case_002
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taos_stmt_errstr
    - taos_stmt_add_batch
    - sprintf
    - taos_stmt_prepare
    - printf
    - memset
    - taos_stmt_execute
    - taosMemoryFree
    - tstrerror
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int
    signature: int stmt_specifyCol_bind_error_case_002(TAOS_STMT *stmt, int tableNum,
      int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int
      columnNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4747,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4756,1
    - Dst: stmt_specifyCol_bind_error_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4757,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4760,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4761,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4762,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4769,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4778,1
    - Dst: stmt_specifyCol_bind_error_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4779,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4782,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4792,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4793,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4800,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4809,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4810,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4813,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4823,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4824,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4830,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4831,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4840,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4841,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4844,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4854,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4855,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4863,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4872,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4873,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4876,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4886,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4887,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4894,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4903,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4904,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4907,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4917,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4918,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4927,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4936,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4937,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4940,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4941,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4942,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4943,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4944,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4945,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4946,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4953,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4962,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4963,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4966,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4967,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4968,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4969,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4970,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4971,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4972,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4979,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4988,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4989,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4992,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4993,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4994,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4995,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4996,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4997,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:4998,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5005,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5014,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5015,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5018,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5019,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5020,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5021,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5022,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5023,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5024,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5033,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5042,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5043,1
    - Dst: checkResult
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5046,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5047,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 173
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5054
      start: 4730
    functionDepth: 2
    functionLinenumber: 4730
    functionLinenumberEnd: 5054
    functionName: SpecifyColumnBatchErrorCase
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - stmt_specifyCol_bind_error_case_001
    - prepareVcolumn
    - checkResult
    - stmt_specifyCol_bind_error_case_002
    - printf
    - stmt_specifyCol_bind_case_002
    - stmt_specifyCol_bind_case_001
    - taos_stmt_init
    - taos_stmt_close
    linkageType: ''
    returnType: void
    signature: void SpecifyColumnBatchErrorCase(TAOS *taos)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5074,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5077,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5080,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5082,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5083,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5087,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5089,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5089,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5097,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5099,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5105,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5109,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5112,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5114,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5114,1
    - Dst: SpecifyColumnBatchCase_autoCreateTbl
      Src: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c:5121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5124
      start: 5056
    functionDepth: 3
    functionLinenumber: 5056
    functionLinenumberEnd: 5124
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtBatchTest.c
    functionUses: 0
    functionsReached:
    - taos_connect
    - atoi
    - printf
    - taosMemoryFree
    - SpecifyColumnBatchCase_autoCreateTbl
    - taosThreadCreate
    - taos_errstr
    - taosMemoryCalloc
    - taosThreadJoin
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: genReqid
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t genReqid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 36
    functionName: stmtAsyncQueryCb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2.c
    functionUses: 0
    functionsReached:
    - taos_affected_rows
    linkageType: ''
    returnType: void
    signature: void stmtAsyncQueryCb(void* param, TAOS_RES* pRes, int code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:39,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:40,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:41,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:42,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:44,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:46,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:46,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:47,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:50,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:52,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:53,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:64,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:65,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:67,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:67,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:68,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:71,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:88,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:89,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:90,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:91,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:92,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:93,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:94,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:95,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:96,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:102,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:103,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:104,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:105,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:188,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:189,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:190,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:191,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:193,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:193,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:194,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:243,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:245,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:246,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:247,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:262,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:263,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:264,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:265,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:267,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:267,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:268,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:271,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:272,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:273,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:274,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:275,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:287,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:289,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:290,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:290,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:291,1
    - Dst: clock
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:294,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:295,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:297,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:299,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:300,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:301,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:302,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:303,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:304,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:305,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:306,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 144
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 308
    functionName: veriry_stmt
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2.c
    functionUses: 2
    functionsReached:
    - taos_stmt2_exec
    - taos_stmt2_prepare
    - taos_select_db
    - taos_stmt2_init
    - taos_stmt2_close
    - taos_stmt2_bind_param
    - free
    - taos_stmt2_get_fields
    - taos_query
    - taos_stmt_errstr
    - taos_free_result
    - printf
    - taos_stmt_close
    - clock
    - taos_stmt2_free_fields
    - usleep
    - taos_errno
    - taos_errstr
    - malloc
    linkageType: ''
    returnType: void
    signature: void veriry_stmt(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:315,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:316,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:318,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:318,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:319,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:322,1
    - Dst: veriry_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:323,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:325,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:326,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 328
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - taos_connect
    - printf
    - taos_cleanup
    - veriry_stmt
    - taos_errstr
    - taos_options
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: threadFunction
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: void
    signature: void threadFunction(int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::thread>*::emplace_back
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - numThreads
    - pThreads
    argTypes:
    - int
    - std::vector<std::thread>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: createThreads
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp
    functionUses: 0
    functionsReached:
    - std::vector<std::thread>*::emplace_back
    linkageType: ''
    returnType: void
    signature: void createThreads(const int numThreads, std::vector<std::thread>*
      pThreads)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ws_connect
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:73,1
    - Dst: ws_errno
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:76,1
    - Dst: ws_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:77,1
    - Dst: ws_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:81,1
    - Dst: c_str
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:81,1
    - Dst: ws_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:82,1
    - Dst: push_back
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:87,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:89,1
    - Dst: c_str
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:89,1
    - Dst: push_back
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 99
    functionName: connect
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp
    functionUses: 48
    functionsReached:
    - ws_errno
    - ws_errstr
    - ws_connect
    - push_back
    - ws_select_db
    - taos_connect
    - c_str
    linkageType: ''
    returnType: void
    signature: void connect()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:107,1
    - Dst: std::to_string
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:109,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:115,1
    - Dst: std::string::c_str
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:115,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:121,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:122,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:125,1
    - Dst: ws_query
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:129,1
    - Dst: std::string::c_str
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:129,1
    - Dst: ws_errno
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:135,1
    - Dst: ws_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:137,1
    - Dst: ws_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - numQuerys
    - id
    - type
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 143
    functionName: query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp
    functionUses: 85
    functionsReached:
    - ws_errno
    - ws_errstr
    - taos_query
    - std::string::c_str
    - ws_query
    - taos_free_result
    - taos_errno
    - ws_free_result
    - std::to_string
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void query(int numQuerys, int id, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: printHelp
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void printHelp()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printHelp
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:152,1
    - Dst: atoi
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:155,1
    - Dst: atoi
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:156,1
    - Dst: atoi
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:157,1
    - Dst: atoi
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:158,1
    - Dst: atoi
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:159,1
    - Dst: store
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:165,1
    - Dst: connect
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:167,1
    - Dst: createThreads
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:172,1
    - Dst: now
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:178,1
    - Dst: join
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:183,1
    - Dst: now
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:186,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:189,1
    - Dst: ws_close
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:193,1
    - Dst: second::count
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:200,1
    - Dst: std::chrono::nanoseconds::count
      Src: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 212
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/last-query-ws.cpp
    functionUses: 0
    functionsReached:
    - createThreads
    - now
    - join
    - taos_close
    - atoi
    - store
    - connect
    - printHelp
    - second::count
    - std::chrono::nanoseconds::count
    - ws_close
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:49,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:54,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - param
    - ext
    - type
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: __taos_notify_cb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void __taos_notify_cb(void *param, void *ext, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:65,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:67,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - param
    - code
    - taos
    - numOfWhiteLists
    - pWhiteList
    argTypes:
    - void*
    - int
    - TAOS*
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: __taos_async_whitelist_cb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void __taos_async_whitelist_cb(void *param, int code, TAOS *taos, int
      numOfWhiteLists, uint64_t* pWhiteList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:75,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:78,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - param
    - code
    - taos
    - numOfWhiteLists
    - pWhiteList
    argTypes:
    - void*
    - int
    - TAOS*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: __taos_async_whitelist_dual_stack_cb
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void __taos_async_whitelist_dual_stack_cb(void *param, int code, TAOS
      *taos, int numOfWhiteLists, char **pWhiteList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:93,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:97,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:98,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:105,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:105,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:106,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:107,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:108,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:110,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 114
    functionName: queryDB
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c
    functionUses: 7
    functionsReached:
    - fprintf
    - exit
    - taos_query
    - taos_close
    - taos_free_result
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void queryDB(TAOS *taos, char *command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:122,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:126,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:128,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:129,1
    - Dst: createUsers
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:131,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:134,1
    - Dst: sleep
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:135,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:137,1
    - Dst: dropUsers
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:138,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:139,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - sleep
    - taos_connect
    - printf
    - taos_cleanup
    - dropUsers
    - createUsers
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:146,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:147,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:148,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: dropUsers
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c
    functionUses: 1
    functionsReached:
    - taos_close
    - sprintf
    - queryDB
    linkageType: ''
    returnType: void
    signature: void dropUsers(TAOS *taos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:157,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:158,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:159,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:161,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:163,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:164,1
    - Dst: taos_set_notify_cb
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:167,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:170,1
    - Dst: fprintf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:172,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:176,1
    - Dst: queryDB
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:177,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:179,1
    - Dst: taos_fetch_whitelist_a
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:180,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:181,1
    - Dst: taos_fetch_whitelist_dual_stack_a
      Src: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - taos
    - host
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 185
    functionName: createUsers
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/whiteListTest.c
    functionUses: 2
    functionsReached:
    - exit
    - fprintf
    - queryDB
    - taos_fetch_whitelist_dual_stack_a
    - sprintf
    - taos_connect
    - printf
    - taos_fetch_whitelist_a
    - 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/test/new_test_framework/script/api/stmtQuery.c:12,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:13,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:15,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:16,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:17,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 22
    functionName: execute_simple_sql
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c
    functionUses: 1
    functionsReached:
    - exit
    - taos_query
    - taos_free_result
    - taos_errno
    - 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/test/new_test_framework/script/api/stmtQuery.c:27,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - result
    - expected
    argTypes:
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: check_result
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c
    functionUses: 1
    functionsReached:
    - taos_free_result
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void check_result(TAOS_RES *result, int expected)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:41,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:45,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:50,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:51,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:52,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:53,1
    - Dst: calloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:55,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:57,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:59,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:61,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:63,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:64,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:66,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:67,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:69,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:70,1
    - Dst: taos_load_table_info
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:73,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:77,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:82,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:86,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:95,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:102,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:106,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:111,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:112,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:114,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:117,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:122,1
    - Dst: check_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:123,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmtQuery.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_load_table_info
    - calloc
    - strcpy
    - sprintf
    - taos_stmt_use_result
    - taos_connect
    - taos_stmt_prepare
    - taos_stmt_bind_param
    - taos_stmt_execute
    - taos_stmt_init
    - check_result
    - taos_stmt_close
    - strlen
    - taos_stmt_add_batch
    - execute_simple_sql
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:11,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:12,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:14,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:14,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:15,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:20,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:22,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:22,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:24,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:26,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:30,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:31,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 33
    functionName: getFields
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_free_fields
    - taos_stmt2_error
    - printf
    - taos_stmt2_prepare
    - taos_stmt2_init
    - taos_stmt2_get_fields
    - taos_stmt2_close
    linkageType: ''
    returnType: void
    signature: void getFields(TAOS *taos, const char *sql)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:37,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:38,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:40,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:40,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:41,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:46,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:48,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:48,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:50,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:52,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:53,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: getQueryFields
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_free_fields
    - taos_stmt2_error
    - printf
    - taos_stmt2_prepare
    - taos_stmt2_init
    - taos_stmt2_get_fields
    - taos_stmt2_close
    linkageType: ''
    returnType: void
    signature: void getQueryFields(TAOS *taos, const char *sql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:58,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:59,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:61,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:61,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:62,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: do_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c
    functionUses: 12
    functionsReached:
    - taos_query
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void do_query(TAOS *taos, const char *sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:69,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:70,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:71,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:72,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:75,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:76,1
    - Dst: do_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:77,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:85,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:90,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:91,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:92,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:97,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:98,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:103,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:104,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:109,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:110,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:115,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:116,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:121,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:122,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:127,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:128,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:133,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:134,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:139,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:140,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:145,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:146,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:151,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:152,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:157,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:158,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:166,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:167,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:172,1
    - Dst: getQueryFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:173,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:178,1
    - Dst: getQueryFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:179,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:180,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:185,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:186,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:191,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:192,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:197,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:198,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:203,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:204,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:209,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:210,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:215,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:216,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:221,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:222,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:223,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:228,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:229,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:234,1
    - Dst: getFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:235,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:240,1
    - Dst: getQueryFields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 242
    functionName: do_stmt
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c
    functionUses: 3
    functionsReached:
    - do_query
    - printf
    - getFields
    - getQueryFields
    linkageType: ''
    returnType: void
    signature: void do_stmt(TAOS *taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:245,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:247,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:247,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:248,1
    - Dst: do_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:251,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:252,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt2-get-fields.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_close
    - taos_connect
    - printf
    - taos_cleanup
    - do_stmt
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: genReqid
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t genReqid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:17,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:17,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:18,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:19,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:20,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:20,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:21,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:22,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:23,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:25,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:25,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:26,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:28,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:28,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:29,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:30,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:30,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:31,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:32,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:32,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:33,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:34,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:34,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:35,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:36,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:36,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:37,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:38,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:38,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:39,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:40,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:40,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:41,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:42,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:42,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:43,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:44,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:44,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:45,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:46,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:47,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:49,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:68,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:69,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:71,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:73,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 76
    functionName: prepare_data
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c
    functionUses: 3
    functionsReached:
    - taos_affected_rows
    - usleep
    - taos_query
    - taos_free_result
    - genReqid
    - printf
    - taos_select_db
    - taos_query_with_reqid
    linkageType: ''
    returnType: void
    signature: void prepare_data(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:80,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:81,1
    - Dst: taos_fetch_block
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:86,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:95,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:97,1
    - Dst: puts
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:98,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - res
    - blockFetch
    argTypes:
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: print_result
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c
    functionUses: 3
    functionsReached:
    - taos_fetch_block
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_fetch_fields
    - taos_fetch_row
    - puts
    linkageType: ''
    returnType: int
    signature: int print_result(TAOS_RES* res, int blockFetch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:108,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:110,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - line
    - res
    - expected
    argTypes:
    - int
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: check_row_count
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c
    functionUses: 1
    functionsReached:
    - printf
    - print_result
    linkageType: ''
    returnType: void
    signature: void check_row_count(int line, TAOS_RES* res, int expected)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prepare_data
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:117,1
    - Dst: taos_load_table_info
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:119,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:121,1
    - Dst: taos_validate_sql
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:124,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:126,1
    - Dst: taos_validate_sql
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:129,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:131,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:134,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:134,1
    - Dst: check_row_count
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:135,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:136,1
    - Dst: taos_result_precision
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:136,1
    - Dst: taos_field_count
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:137,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:138,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:139,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:141,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:143,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:145,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:145,1
    - Dst: check_row_count
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:146,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:147,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:149,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:149,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:150,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:151,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:151,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:152,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:154,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:154,1
    - Dst: taos_stop_query
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:155,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 157
    functionName: verify_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c
    functionUses: 2
    functionsReached:
    - taos_result_precision
    - taos_load_table_info
    - taos_stop_query
    - taos_fetch_lengths
    - check_row_count
    - prepare_data
    - taos_free_result
    - printf
    - taos_validate_sql
    - genReqid
    - taos_errno
    - taos_query_with_reqid
    - taos_errstr
    - taos_field_count
    linkageType: ''
    returnType: void
    signature: void verify_query(TAOS* taos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:161,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:162,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:165,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:167,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - param
    - tres
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: retrieve_callback
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - printf
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: void retrieve_callback(void* param, TAOS_RES* tres, int numOfRows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:175,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - param
    - tres
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: select_callback
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c
    functionUses: 0
    functionsReached:
    - printf
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: void select_callback(void* param, TAOS_RES* tres, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepare_data
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:182,1
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:183,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:183,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: verify_async
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c
    functionUses: 1
    functionsReached:
    - genReqid
    - taos_query_a_with_reqid
    - usleep
    - prepare_data
    linkageType: ''
    returnType: void
    signature: void verify_async(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:189,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:189,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:190,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:191,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:192,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:192,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:193,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:194,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:196,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:197,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:197,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:198,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:199,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:217,1
    - Dst: taos_schemaless_insert_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:219,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:220,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:221,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:222,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:222,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:224,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:225,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 230
    functionName: verify_schema_less
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c
    functionUses: 0
    functionsReached:
    - taos_affected_rows
    - taos_schemaless_insert_with_reqid
    - usleep
    - taos_free_result
    - genReqid
    - printf
    - taos_errno
    - taos_select_db
    - taos_query_with_reqid
    - taos_errstr
    linkageType: ''
    returnType: int32_t
    signature: int32_t verify_schema_less(TAOS* taos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:233,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:234,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:235,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:236,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:238,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:240,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:240,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:241,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:244,1
    - Dst: usleep
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:246,1
    - Dst: taos_select_db
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:247,1
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:253,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:254,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:256,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:256,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:257,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:260,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:276,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:277,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:278,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:279,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:280,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:281,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:282,1
    - Dst: malloc
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:283,1
    - Dst: taos_stmt_init_with_reqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:285,1
    - Dst: genReqid
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:285,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:360,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:362,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:362,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:363,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:367,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:369,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:369,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:370,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:389,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:398,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:401,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:402,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:404,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:405,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:405,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:406,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:410,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:412,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:413,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:414,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:415,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:416,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:417,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:418,1
    - Dst: free
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 132
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 420
    functionName: veriry_stmt
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c
    functionUses: 3
    functionsReached:
    - taos_select_db
    - taos_stmt_set_tbname
    - strcpy
    - free
    - taos_stmt_bind_param_batch
    - taos_query
    - taos_stmt_errstr
    - taos_free_result
    - printf
    - genReqid
    - taos_stmt_prepare
    - taos_stmt_close
    - taos_stmt_add_batch
    - taos_stmt_init_with_reqid
    - usleep
    - taos_stmt_execute
    - taos_errno
    - strlen
    - taos_errstr
    - malloc
    linkageType: ''
    returnType: void
    signature: void veriry_stmt(TAOS* taos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:427,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:428,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:430,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:430,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:431,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:434,1
    - Dst: verify_schema_less
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:435,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:437,1
    - Dst: verify_query
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:438,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:440,1
    - Dst: verify_async
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:441,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:443,1
    - Dst: veriry_stmt
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:444,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:446,1
    - Dst: taos_close
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:447,1
    - Dst: taos_cleanup
      Src: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 449
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/api_with_reqid_test.c
    functionUses: 0
    functionsReached:
    - exit
    - verify_query
    - taos_close
    - taos_connect
    - verify_async
    - printf
    - taos_cleanup
    - veriry_stmt
    - verify_schema_less
    - taos_errstr
    - taos_options
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:10,1
    - Dst: taos_errno
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:11,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:12,1
    - Dst: taos_errstr
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:12,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:13,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:14,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 17
    functionName: execute_simple_sql
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 2
    functionsReached:
    - exit
    - taos_query
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void execute_simple_sql(void *taos, char *sql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:21,1
    - Dst: taos_num_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:24,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:25,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:26,1
    - Dst: taos_print_row
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:28,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - res
    argTypes:
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 31
    functionName: print_result
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 4
    functionsReached:
    - taos_num_fields
    - exit
    - taos_print_row
    - printf
    - taos_fetch_fields
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void print_result(TAOS_RES* res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:34,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:37,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:38,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:41,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:43,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:44,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:46,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:47,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:48,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:48,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (stmt == NULL)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_close(stmt) == 0)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: taos_stmt_init_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_connect
    - printf
    - assert
    - taos_stmt_init
    - taos_stmt_close
    linkageType: ''
    returnType: void
    signature: void taos_stmt_init_test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:52,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:53,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:55,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:55,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:57,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:59,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:60,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:62,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:63,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:64,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:65,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:66,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:67,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:69,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:69,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:73,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:74,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:75,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:75,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:76,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:76,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:78,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:79,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:80,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:81,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:81,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:82,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:82,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:84,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:85,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:86,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:87,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:87,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:88,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:88,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:90,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:91,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:92,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:93,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:93,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:94,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:94,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:96,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (stmt != NULL)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) != 0)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_close(stmt) == 0)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_close(stmt) == 0)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) == 0)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) != 0)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_close(stmt) == 0)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) != 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_close(stmt) == 0)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) == 0)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) == 0)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: taos_stmt_preprare_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - exit
    - sprintf
    - taos_connect
    - taos_stmt_prepare
    - printf
    - assert
    - taosMemoryFree
    - taos_stmt_init
    - taos_stmt_close
    - taosMemoryCalloc
    - execute_simple_sql
    linkageType: ''
    returnType: void
    signature: void taos_stmt_preprare_test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:101,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:103,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:106,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:108,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:109,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:111,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:112,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:113,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:114,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:115,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:116,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:117,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:117,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:118,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:119,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:120,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:120,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:121,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:122,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:123,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:123,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:124,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:125,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:126,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (taos_stmt_set_tbname(stmt, name) != 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_set_tbname(stmt, name) == 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) == 0)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    constantsTouched: []
    func_position:
      end: 128
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 128
    functionName: taos_stmt_set_tbname_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - exit
    - sprintf
    - taos_connect
    - taos_stmt_prepare
    - printf
    - assert
    - taosMemoryFree
    - taos_stmt_init
    - taos_stmt_close
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    - execute_simple_sql
    linkageType: ''
    returnType: void
    signature: void taos_stmt_set_tbname_test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:131,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:133,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:134,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:137,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:139,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:140,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:142,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:143,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:144,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:145,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:146,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:147,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:148,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:149,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:150,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:151,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:151,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:152,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:152,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:153,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:154,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:154,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:161,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:161,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:162,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:163,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:164,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:165,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (taos_stmt_set_tbname_tags(stmt, name, tags) != 0)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_set_tbname_tags(stmt, name, tags) != 0)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) == 0)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_set_tbname_tags(stmt, name, tags) == 0)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    constantsTouched: []
    func_position:
      end: 167
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 167
    functionName: taos_stmt_set_tbname_tags_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - taos_stmt_set_tbname_tags
    - exit
    - sprintf
    - taos_connect
    - taos_stmt_prepare
    - printf
    - assert
    - taosMemoryFree
    - taos_stmt_init
    - taos_stmt_close
    - taosMemoryCalloc
    - execute_simple_sql
    linkageType: ''
    returnType: void
    signature: void taos_stmt_set_tbname_tags_test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:170,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:172,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:175,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:177,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:178,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:180,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:181,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:182,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:183,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:184,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:185,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:186,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:187,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:188,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:189,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:189,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:190,1
    - Dst: taos_stmt_set_sub_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:190,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:191,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:192,1
    - Dst: taos_stmt_set_sub_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:192,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:195,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:196,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:197,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:197,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) == 0)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_set_sub_tbname(stmt, name) == 0)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_close(stmt) == 0)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_set_sub_tbname(stmt, name) != 0)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    constantsTouched: []
    func_position:
      end: 199
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionName: taos_stmt_set_sub_tbname_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - exit
    - sprintf
    - taos_connect
    - taos_stmt_close
    - taos_stmt_prepare
    - printf
    - assert
    - taosMemoryFree
    - taos_stmt_init
    - taos_stmt_set_sub_tbname
    - taosMemoryCalloc
    - execute_simple_sql
    linkageType: ''
    returnType: void
    signature: void taos_stmt_set_sub_tbname_test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:202,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:205,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:205,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:206,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:208,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:209,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:211,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:212,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:213,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:214,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:215,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:216,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:217,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:218,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:218,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:219,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:219,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:220,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:221,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:234,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:234,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:235,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:235,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:236,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:236,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:237,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:238,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:239,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (taos_stmt_bind_param(stmt, binds) != 0)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_set_tbname(stmt, "super") == 0)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) == 0)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_bind_param(stmt, binds) != 0)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_bind_param(stmt, params) != 0)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_bind_param(stmt, params) == 0)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    constantsTouched: []
    func_position:
      end: 241
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 241
    functionName: taos_stmt_bind_param_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - exit
    - sprintf
    - taos_connect
    - taos_stmt_bind_param
    - printf
    - assert
    - taos_stmt_prepare
    - taosMemoryFree
    - taos_stmt_init
    - taos_stmt_close
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    - execute_simple_sql
    linkageType: ''
    returnType: void
    signature: void taos_stmt_bind_param_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:244,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:247,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:247,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (taos_stmt_bind_single_param_batch(stmt, bind, 0) != 0)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: taos_stmt_bind_single_param_batch_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - printf
    - assert
    - taos_stmt_bind_single_param_batch
    linkageType: ''
    returnType: void
    signature: void taos_stmt_bind_single_param_batch_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:252,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:255,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:255,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (taos_stmt_bind_param_batch(stmt, bind) != 0)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: taos_stmt_bind_param_batch_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - printf
    - assert
    - taos_stmt_bind_param_batch
    linkageType: ''
    returnType: void
    signature: void taos_stmt_bind_param_batch_test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:260,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:262,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:262,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:263,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:265,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:266,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:268,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:269,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:270,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:271,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:272,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:273,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:274,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:275,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:276,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:276,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:277,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:277,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:278,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:291,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:291,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:292,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:292,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:293,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:293,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:294,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:295,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:296,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:296,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (taos_stmt_set_tbname(stmt, "super") == 0)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_bind_param(stmt, params) == 0)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_add_batch(stmt) != 0)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_close(stmt) == 0)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) == 0)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_add_batch(stmt) != 0)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_add_batch(stmt) == 0)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    constantsTouched: []
    func_position:
      end: 298
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 298
    functionName: taos_stmt_add_batch_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - exit
    - sprintf
    - taos_connect
    - taos_stmt_prepare
    - printf
    - assert
    - taos_stmt_bind_param
    - taosMemoryFree
    - taos_stmt_init
    - taos_stmt_close
    - taos_stmt_add_batch
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    - execute_simple_sql
    linkageType: ''
    returnType: void
    signature: void taos_stmt_add_batch_test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:301,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:303,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:303,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:304,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:306,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:307,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:309,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:310,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:311,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:312,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:313,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:314,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:315,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:315,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:316,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:317,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:318,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:318,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:319,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:319,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:320,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:333,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:333,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:334,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:334,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:335,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:335,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:336,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:336,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:337,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:337,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:338,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:338,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:339,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:340,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:341,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:341,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (taos_stmt_execute(stmt) != 0)
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_execute(stmt) != 0)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_execute(stmt) != 0)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_add_batch(stmt) == 0)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_set_tbname(stmt, "super") == 0)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_bind_param(stmt, params) == 0)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_execute(stmt) == 0)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_execute(stmt) != 0)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_execute(stmt) != 0)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_close(stmt) == 0)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) == 0)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    constantsTouched: []
    func_position:
      end: 343
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 343
    functionName: taos_stmt_execute_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - exit
    - sprintf
    - taos_connect
    - taos_stmt_prepare
    - printf
    - assert
    - taos_stmt_execute
    - taos_stmt_bind_param
    - taosMemoryFree
    - taos_stmt_init
    - taos_stmt_close
    - taos_stmt_add_batch
    - taosMemoryCalloc
    - taos_stmt_set_tbname
    - execute_simple_sql
    linkageType: ''
    returnType: void
    signature: void taos_stmt_execute_test()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:346,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:347,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:348,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:366,1
    - Dst: strcpy
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:370,1
    - Dst: strlen
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:371,1
    - Dst: sprintf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:372,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:373,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:374,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:374,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:375,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:429,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:433,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:433,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:434,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:434,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:435,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:436,1
    - Dst: print_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:437,1
    - Dst: assert
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:438,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:438,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:440,1
    - Dst: taos_free_result
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 79
    argCount: 3
    argNames:
    - taos
    - col
    - type
    argTypes:
    - void*
    - char*
    - int
    assertStmts:
    - condition: (taos_stmt_execute(stmt) == 0)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (stmt != NULL)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_bind_param(stmt, params) == 0)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_prepare(stmt, stmt_sql, 0) == 0)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (result != NULL)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    - condition: (taos_stmt_close(stmt) == 0)
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    constantsTouched: []
    func_position:
      end: 442
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 442
    functionName: taos_stmt_use_result_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - taos_stmt_use_result
    - strcpy
    - sprintf
    - taos_stmt_prepare
    - printf
    - assert
    - taos_stmt_bind_param
    - taos_stmt_execute
    - print_result
    - taos_stmt_init
    - taosMemoryFree
    - taos_stmt_close
    - strlen
    - taos_free_result
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void taos_stmt_use_result_query(void *taos, char *col, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:445,1
    - Dst: taos_connect
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:446,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:448,1
    - Dst: exit
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:449,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:451,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:452,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:453,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:454,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:455,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:456,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:457,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:459,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:460,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:461,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:462,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:463,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:464,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:465,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:466,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:467,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 470
    functionName: taos_stmt_use_result_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_connect
    - printf
    - taos_stmt_use_result_query
    - execute_simple_sql
    linkageType: ''
    returnType: void
    signature: void taos_stmt_use_result_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:473,1
    - Dst: printf
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: taos_stmt_close_test
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void taos_stmt_close_test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:482,1
    - Dst: taos_stmt_preprare_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:483,1
    - Dst: taos_stmt_set_tbname_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:484,1
    - Dst: taos_stmt_set_tbname_tags_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:485,1
    - Dst: taos_stmt_set_sub_tbname_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:486,1
    - Dst: taos_stmt_bind_param_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:487,1
    - Dst: taos_stmt_bind_single_param_batch_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:488,1
    - Dst: taos_stmt_bind_param_batch_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:489,1
    - Dst: taos_stmt_add_batch_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:490,1
    - Dst: taos_stmt_execute_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:491,1
    - Dst: taos_stmt_close_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 493
    functionName: test_api_reliability
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - taos_stmt_preprare_test
    - taos_stmt_set_sub_tbname_test
    - taos_stmt_bind_single_param_batch_test
    - taos_stmt_bind_param_batch_test
    - taos_stmt_init_test
    - taos_stmt_execute_test
    - taos_stmt_set_tbname_tags_test
    - taos_stmt_set_tbname_test
    - taos_stmt_bind_param_test
    - taos_stmt_close_test
    - taos_stmt_add_batch_test
    linkageType: ''
    returnType: void
    signature: void test_api_reliability()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_use_result_test
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: test_query
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - taos_stmt_use_result_test
    linkageType: ''
    returnType: void
    signature: void test_query()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_api_reliability
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:500,1
    - Dst: test_query
      Src: /src/tdengine/test/new_test_framework/script/api/stmt_function.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: main
    functionSourceFile: /src/tdengine/test/new_test_framework/script/api/stmt_function.c
    functionUses: 0
    functionsReached:
    - test_api_reliability
    - test_query
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: IS_VAR_DATA_TYPE
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_VAR_DATA_TYPE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CV
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: COL_VAL_IS_NONE
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COL_VAL_IS_NONE(CV)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CV
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: COL_VAL_IS_NULL
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COL_VAL_IS_NULL(CV)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CV
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: COL_VAL_IS_VALUE
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COL_VAL_IS_VALUE(CV)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - value
    - pLastCol
    argTypes:
    - char*
    - SLastCol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 118
    functionName: tsdbCacheDeserializeV0
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached:
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsdbCacheDeserializeV0(char const *value, SLastCol *pLastCol)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:125,1
    - Dst: tsdbCacheDeserializeV0
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:130,1
    - Dst: free
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:137,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:155,1
    - Dst: free
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:169,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - value
    - size
    - ppLastCol
    argTypes:
    - char*
    - size_t
    - SLastCol**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 177
    functionName: tsdbCacheDeserialize
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached:
    - calloc
    - free
    - tsdbCacheDeserializeV0
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsdbCacheDeserialize(char const *value, size_t size, SLastCol
      **ppLastCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: myCmpName
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *myCmpName(void *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: myCmpDestroy
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void myCmpDestroy(void *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - state
    - a
    - alen
    - b
    - blen
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: myCmp
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int myCmp(void *state, const char *a, size_t alen, const char *b, size_t
      blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:226,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:227,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:228,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:229,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:230,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:231,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:232,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:233,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - progName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: printUsage
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void printUsage(const char *progName)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_options_create
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:239,1
    - Dst: strcmp
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:246,1
    - Dst: strcmp
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:246,1
    - Dst: strcmp
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:246,1
    - Dst: printUsage
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:247,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:248,1
    - Dst: strcmp
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:250,1
    - Dst: strcmp
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:253,1
    - Dst: strcmp
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:256,1
    - Dst: strcmp
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:259,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:263,1
    - Dst: printUsage
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:264,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:265,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:269,1
    - Dst: printUsage
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:270,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:271,1
    - Dst: strcmp
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:274,1
    - Dst: strncpy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:277,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:280,1
    - Dst: printUsage
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:281,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:282,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:286,1
    - Dst: printUsage
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:287,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:288,1
    - Dst: rocksdb_comparator_create
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:293,1
    - Dst: rocksdb_options_set_comparator
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:294,1
    - Dst: rocksdb_open
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:296,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:298,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:300,1
    - Dst: rocksdb_comparator_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:302,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:303,1
    - Dst: exit
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:304,1
    - Dst: rocksdb_readoptions_create
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:317,1
    - Dst: rocksdb_create_iterator
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:318,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:320,1
    - Dst: exit
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:321,1
    - Dst: rocksdb_iter_seek_to_first
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:324,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:324,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:324,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:326,1
    - Dst: rocksdb_iter_value
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:327,1
    - Dst: tsdbCacheDeserialize
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:330,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:332,1
    - Dst: exit
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:333,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:351,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:352,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:353,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:355,1
    - Dst: printf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:358,1
    - Dst: free
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:363,1
    - Dst: rocksdb_iter_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:366,1
    - Dst: rocksdb_readoptions_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:367,1
    - Dst: rocksdb_comparator_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:368,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:369,1
    - Dst: rocksdb_close
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:370,1
    - Dst: fprintf
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:373,1
    - Dst: exit
      Src: /src/tdengine/tools/rocks-reader/rreader.cpp:374,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 101
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 378
    functionName: main
    functionSourceFile: /src/tdengine/tools/rocks-reader/rreader.cpp
    functionUses: 0
    functionsReached:
    - rocksdb_iter_value
    - exit
    - rocksdb_create_iterator
    - rocksdb_readoptions_create
    - rocksdb_iter_valid
    - rocksdb_iter_next
    - rocksdb_iter_key
    - strncpy
    - COL_VAL_IS_NULL
    - free
    - rocksdb_options_set_comparator
    - COL_VAL_IS_NONE
    - rocksdb_comparator_destroy
    - COL_VAL_IS_VALUE
    - strcmp
    - rocksdb_options_destroy
    - rocksdb_iter_destroy
    - printf
    - tsdbCacheDeserialize
    - printUsage
    - rocksdb_iter_seek_to_first
    - fprintf
    - rocksdb_options_create
    - rocksdb_open
    - rocksdb_close
    - rocksdb_comparator_create
    - rocksdb_readoptions_destroy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/src/pub.c:22,1
    - Dst: malloc
      Src: /src/tdengine/tools/src/pub.c:23,1
    - Dst: tolower
      Src: /src/tdengine/tools/src/pub.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: strToLowerCopy
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: 0
    functionsReached:
    - strlen
    - tolower
    - malloc
    linkageType: ''
    returnType: char
    signature: char * strToLowerCopy(const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/src/pub.c:41,1
    - Dst: sprintf
      Src: /src/tdengine/tools/src/pub.c:43,1
    - Dst: strstr
      Src: /src/tdengine/tools/src/pub.c:50,1
    - Dst: strstr
      Src: /src/tdengine/tools/src/pub.c:58,1
    - Dst: strstr
      Src: /src/tdengine/tools/src/pub.c:68,1
    - Dst: sprintf
      Src: /src/tdengine/tools/src/pub.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 6
    argNames:
    - dsn
    - host
    - port
    - user
    - pwd
    - error
    argTypes:
    - char*
    - char**
    - char**
    - char**
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 78
    functionName: parseDsn
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: 0
    functionsReached:
    - sprintf
    - strstr
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseDsn(char* dsn, char **host, char **port, char **user,
      char **pwd, char *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/tools/src/pub.c:83,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/src/pub.c:83,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/src/pub.c:85,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/src/pub.c:85,1
    - Dst: fprintf
      Src: /src/tdengine/tools/src/pub.c:88,1
    - Dst: exit
      Src: /src/tdengine/tools/src/pub.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: getConnMode
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: 0
    functionsReached:
    - exit
    - strcasecmp
    - fprintf
    linkageType: ''
    returnType: int8_t
    signature: int8_t getConnMode(char *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/tools/src/pub.c:107,1
    - Dst: fprintf
      Src: /src/tdengine/tools/src/pub.c:109,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/src/pub.c:109,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/src/pub.c:109,1
    - Dst: fprintf
      Src: /src/tdengine/tools/src/pub.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - connMode
    - dsn
    - show
    argTypes:
    - int8_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 118
    functionName: setConnMode
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: 0
    functionsReached:
    - taos_errstr
    - taos_options
    - taos_errno
    - fprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t setConnMode(int8_t connMode, char *dsn, bool show)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - connMode
    - dsn
    argTypes:
    - int8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: workingMode
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t workingMode(int8_t connMode, char *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - connMode
    - dsn
    argTypes:
    - int8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: defaultPort
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t defaultPort(int8_t connMode, char *dsn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:24,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:67,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:68,1
    - Dst: fieldOptionsArea
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:68,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:73,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:74,1
    - Dst: fieldOptionsArea
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 76
    functionName: TEST
    functionSourceFile: /src/tdengine/tools/shell/test/shellTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - fieldOptionsArea
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(fieldOptionsArea, autoTabTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:79,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:124,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:125,1
    - Dst: isCreateFieldsArea
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:125,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:130,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:131,1
    - Dst: isCreateFieldsArea
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 133
    functionName: TEST
    functionSourceFile: /src/tdengine/tools/shell/test/shellTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - ASSERT
    - isCreateFieldsArea
    linkageType: ''
    returnType: void
    signature: void TEST(isCreateFieldsArea, autoTabTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:137,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:137,1
    - Dst: assert
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:138,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:138,1
    - Dst: assert
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:139,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:139,1
    - Dst: assert
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:142,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:142,1
    - Dst: assert
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:143,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:143,1
    - Dst: assert
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:146,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:146,1
    - Dst: assert
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:147,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:147,1
    - Dst: assert
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:150,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:150,1
    - Dst: assert
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:151,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:151,1
    - Dst: assert
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:154,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:154,1
    - Dst: assert
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:155,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (shellCountPrefixOnes(0xC2) == 2)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    - condition: (shellCountPrefixOnes(0xF0) == 4)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    - condition: (shellCountPrefixOnes(0xDF) == 2)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    - condition: (shellCountPrefixOnes(0xF7) == 4)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    - condition: (shellCountPrefixOnes(0x41) == 1)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    - condition: (shellCountPrefixOnes(0xE0) == 3)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    - condition: (shellCountPrefixOnes(0xF8) == 5)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    - condition: (shellCountPrefixOnes(0x00) == 1)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    - condition: (shellCountPrefixOnes(0x7F) == 1)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    - condition: (shellCountPrefixOnes(0xEF) == 3)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    - condition: (shellCountPrefixOnes(0xFF) == 8)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/tdengine/tools/shell/test/shellTest.cpp
    constantsTouched: []
    func_position:
      end: 156
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 156
    functionName: TEST
    functionSourceFile: /src/tdengine/tools/shell/test/shellTest.cpp
    functionUses: 0
    functionsReached:
    - assert
    - shellCountPrefixOnes
    linkageType: ''
    returnType: void
    signature: void TEST(shellCountPrefixOnes, checkUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:172,1
    - Dst: trimStr
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:173,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: TEST
    functionSourceFile: /src/tdengine/tools/shell/test/shellTest.cpp
    functionUses: 0
    functionsReached:
    - strncpy
    - EXPECT_STREQ
    - trimStr
    linkageType: ''
    returnType: void
    signature: void TEST(shellUtil, trimStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:180,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/tools/shell/test/shellTest.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/tdengine/tools/shell/test/shellTest.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: shellCountPrefixOnes
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellCountPrefixOnes(uint8_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/src/shellCommand.c:70,1
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:75,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - str
    - pos
    - size
    - width
    argTypes:
    - char*
    - int32_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: shellGetPrevCharSize
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    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: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:85,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - str
    - pos
    - size
    - width
    argTypes:
    - char*
    - int32_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: shellGetNextCharSize
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - taosWcharWidth
    - taosMbToWchar
    linkageType: ''
    returnType: void
    signature: void shellGetNextCharSize(const char *str, int32_t pos, int32_t *size,
      int32_t *width)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:93,1
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:95,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellCommand.c:97,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellCommand.c:99,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:103,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:104,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cmd
    - c
    - size
    argTypes:
    - SShellCmd*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 112
    functionName: shellInsertChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - taosWcharWidth
    - memcpy
    - shellShowOnScreen
    - memmove
    - shellClearScreen
    - taosMbToWchar
    linkageType: ''
    returnType: void
    signature: void shellInsertChar(SShellCmd *cmd, char *c, int32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:116,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellCommand.c:118,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellCommand.c:120,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - cmd
    - str
    - size
    argTypes:
    - SShellCmd*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: shellInsertStr
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellShowOnScreen
    - shellClearScreen
    - memcpy
    - memmove
    linkageType: ''
    returnType: void
    signature: void shellInsertStr(SShellCmd *cmd, char *str, int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:139,1
    - Dst: shellGetPrevCharSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:142,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellCommand.c:143,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: shellBackspaceChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellShowOnScreen
    - shellGetPrevCharSize
    - shellClearScreen
    - memmove
    linkageType: ''
    returnType: void
    signature: void shellBackspaceChar(SShellCmd *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:158,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellCommand.c:159,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: shellClearLineBefore
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellShowOnScreen
    - shellClearScreen
    - memmove
    linkageType: ''
    returnType: void
    signature: void shellClearLineBefore(SShellCmd *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:172,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: shellClearLineAfter
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellShowOnScreen
    - shellClearScreen
    linkageType: ''
    returnType: void
    signature: void shellClearLineAfter(SShellCmd *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:182,1
    - Dst: shellGetNextCharSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:185,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellCommand.c:186,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 194
    functionName: shellDeleteChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellShowOnScreen
    - shellClearScreen
    - shellGetNextCharSize
    - memmove
    linkageType: ''
    returnType: void
    signature: void shellDeleteChar(SShellCmd *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:200,1
    - Dst: shellGetPrevCharSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:203,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: shellMoveCursorLeft
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellShowOnScreen
    - shellGetPrevCharSize
    - shellClearScreen
    linkageType: ''
    returnType: void
    signature: void shellMoveCursorLeft(SShellCmd *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:214,1
    - Dst: shellGetNextCharSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:217,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 222
    functionName: shellMoveCursorRight
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellShowOnScreen
    - shellClearScreen
    - shellGetNextCharSize
    linkageType: ''
    returnType: void
    signature: void shellMoveCursorRight(SShellCmd *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:228,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: shellPositionCursorHome
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellShowOnScreen
    - shellClearScreen
    linkageType: ''
    returnType: void
    signature: void shellPositionCursorHome(SShellCmd *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:237,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: positionCursorMiddle
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellShowOnScreen
    - shellClearScreen
    linkageType: ''
    returnType: void
    signature: void positionCursorMiddle(SShellCmd *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:248,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: shellPositionCursorEnd
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellShowOnScreen
    - shellClearScreen
    linkageType: ''
    returnType: void
    signature: void shellPositionCursorEnd(SShellCmd *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:257,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellCommand.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - times
    argTypes:
    - char
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: shellPrintChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: void shellPrintChar(char c, int32_t times)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - 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: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:270,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:272,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellCommand.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - step
    - direction
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: shellPositionCursor
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: void shellPositionCursor(int32_t step, int32_t direction)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:285,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellCommand.c:290,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellCommand.c:304,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:310,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 318
    functionName: shellUpdateBuffer
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - memcpy
    - shellShowOnScreen
    - memset
    - shellRegexMatch
    - strlen
    linkageType: ''
    returnType: void
    signature: void shellUpdateBuffer(SShellCmd *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:323,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:324,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:325,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellCommand.c:330,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:331,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 337
    functionName: shellIsReadyGo
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - sprintf
    - memset
    - taosMemoryFree
    - shellRegexMatch
    - taosMemoryCalloc
    linkageType: ''
    returnType: bool
    signature: bool shellIsReadyGo(SShellCmd *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:340,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:341,1
    - Dst: taosMbsToWchars
      Src: /src/tdengine/tools/shell/src/shellCommand.c:342,1
    - Dst: taosWcharsWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:343,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - width
    argTypes:
    - char*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: shellGetMbSizeInfo
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - taosWcharsWidth
    - taosMemoryFree
    - strlen
    - taosMemoryCalloc
    - taosMbsToWchars
    linkageType: ''
    returnType: void
    signature: void shellGetMbSizeInfo(const char *str, int32_t *size, int32_t *width)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:350,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:351,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:352,1
    - Dst: strncpy
      Src: /src/tdengine/tools/shell/src/shellCommand.c:353,1
    - Dst: shellGetMbSizeInfo
      Src: /src/tdengine/tools/shell/src/shellCommand.c:356,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - cmd
    - s
    argTypes:
    - SShellCmd*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 363
    functionName: shellResetCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellGetMbSizeInfo
    - strncpy
    - shellShowOnScreen
    - memset
    - shellClearScreen
    linkageType: ''
    returnType: void
    signature: void shellResetCommand(SShellCmd *cmd, const char s[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/tdengine/tools/shell/src/shellCommand.c:369,1
    - Dst: GetStdHandle
      Src: /src/tdengine/tools/shell/src/shellCommand.c:369,1
    - Dst: ioctl
      Src: /src/tdengine/tools/shell/src/shellCommand.c:377,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - ws_col
    - ws_row
    argTypes:
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 386
    functionName: shellGetScreenSize
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - GetConsoleScreenBufferInfo
    - ioctl
    - GetStdHandle
    linkageType: ''
    returnType: void
    signature: void shellGetScreenSize(int32_t *ws_col, int32_t *ws_row)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shellGetScreenSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:390,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:395,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:396,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:398,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:401,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:403,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellCommand.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ecmd_pos
    - cursor_pos
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 407
    functionName: shellClearScreen
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 12
    functionsReached:
    - shellPositionCursor
    - shellGetScreenSize
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: void shellClearScreen(int32_t ecmd_pos, int32_t cursor_pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shellGetScreenSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:411,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:417,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:418,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellCommand.c:419,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:420,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:422,1
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:426,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:430,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:432,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:436,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:447,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:458,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:459,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:460,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:461,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellCommand.c:462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 463
    functionName: shellShowOnScreen
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 13
    functionsReached:
    - taosWcharWidth
    - taosMemoryMalloc
    - sprintf
    - shellPositionCursor
    - shellGetScreenSize
    - printf
    - memset
    - taosMemoryFree
    - fflush
    - strcmp
    - taosMbToWchar
    linkageType: ''
    returnType: void
    signature: void shellShowOnScreen(SShellCmd *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/tdengine/tools/shell/src/shellCommand.c:469,1
    - Dst: ReadConsoleW
      Src: /src/tdengine/tools/shell/src/shellCommand.c:477,1
    - Dst: WideCharToMultiByte
      Src: /src/tdengine/tools/shell/src/shellCommand.c:485,1
    - Dst: getchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:498,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 500
    functionName: taosGetConsoleChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - getchar
    - ReadConsoleW
    - GetStdHandle
    - WideCharToMultiByte
    linkageType: ''
    returnType: char
    signature: char taosGetConsoleChar()
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:508,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:512,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:514,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:518,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:523,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:526,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:527,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/src/shellCommand.c:532,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:536,1
    - Dst: shellInsertChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:539,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:540,1
    - Dst: pressTabKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:543,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:545,1
    - Dst: shellPositionCursorHome
      Src: /src/tdengine/tools/shell/src/shellCommand.c:551,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:554,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:555,1
    - Dst: raise
      Src: /src/tdengine/tools/shell/src/shellCommand.c:557,1
    - Dst: kill
      Src: /src/tdengine/tools/shell/src/shellCommand.c:559,1
    - Dst: taosResetTerminalMode
      Src: /src/tdengine/tools/shell/src/shellCommand.c:563,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:564,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:565,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:566,1
    - Dst: shellPositionCursorEnd
      Src: /src/tdengine/tools/shell/src/shellCommand.c:569,1
    - Dst: shellBackspaceChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:572,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:578,1
    - Dst: shellIsReadyGo
      Src: /src/tdengine/tools/shell/src/shellCommand.c:580,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:581,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:582,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:583,1
    - Dst: shellUpdateBuffer
      Src: /src/tdengine/tools/shell/src/shellCommand.c:586,1
    - Dst: shellClearLineAfter
      Src: /src/tdengine/tools/shell/src/shellCommand.c:590,1
    - Dst: system
      Src: /src/tdengine/tools/shell/src/shellCommand.c:596,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:598,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:601,1
    - Dst: shellClearLineBefore
      Src: /src/tdengine/tools/shell/src/shellCommand.c:604,1
    - Dst: positionCursorMiddle
      Src: /src/tdengine/tools/shell/src/shellCommand.c:607,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:611,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:612,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:615,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:622,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:630,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:632,1
    - Dst: shellMoveCursorRight
      Src: /src/tdengine/tools/shell/src/shellCommand.c:638,1
    - Dst: shellMoveCursorLeft
      Src: /src/tdengine/tools/shell/src/shellCommand.c:641,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:644,1
    - Dst: shellPositionCursorHome
      Src: /src/tdengine/tools/shell/src/shellCommand.c:646,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:650,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:655,1
    - Dst: shellDeleteChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:657,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:661,1
    - Dst: shellPositionCursorEnd
      Src: /src/tdengine/tools/shell/src/shellCommand.c:663,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:667,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:672,1
    - Dst: shellPositionCursorHome
      Src: /src/tdengine/tools/shell/src/shellCommand.c:678,1
    - Dst: shellPositionCursorEnd
      Src: /src/tdengine/tools/shell/src/shellCommand.c:682,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:688,1
    - Dst: shellBackspaceChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:690,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:692,1
    - Dst: shellInsertChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:693,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 163
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 502
    functionDepth: 3
    functionLinenumber: 502
    functionLinenumberEnd: 698
    functionName: shellReadCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: 0
    functionsReached:
    - shellMoveCursorRight
    - taosMemoryFreeClear
    - raise
    - shellDeleteChar
    - taosResetTerminalMode
    - system
    - shellMoveCursorLeft
    - sprintf
    - shellResetCommand
    - shellBackspaceChar
    - shellUpdateBuffer
    - pressOtherKey
    - taosMemoryCalloc
    - shellClearLineAfter
    - kill
    - printf
    - shellPositionCursorEnd
    - shellClearLineBefore
    - positionCursorMiddle
    - taosGetConsoleChar
    - shellIsReadyGo
    - shellInsertChar
    - pressTabKey
    - shellShowOnScreen
    - shellCountPrefixOnes
    - shellPositionCursorHome
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellReadCommand(char *command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:597,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:599,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:600,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:601,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:603,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:605,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:606,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:607,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:608,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:609,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:610,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:611,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:612,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:613,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:614,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:615,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:617,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:618,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:619,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:620,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - type
    argTypes:
    - EVersionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 623
    functionName: printfIntroduction
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strlen
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: void printfIntroduction(EVersionType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:627,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:628,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:629,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - end
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: showAD
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void showAD(bool end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:634,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:635,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:801,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:830,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:832,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:846,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 848
    functionName: showHelp
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void showHelp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 855
    functionName: SHELL_COMMAND_COUNT
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHELL_COMMAND_COUNT()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - command
    - index
    argTypes:
    - SWords*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 865
    functionName: atWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SWord
    signature: SWord * atWord(SWords* command, int32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 868
    functionName: MATCH_WORD
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_WORD(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 874
    functionName: wordType
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int wordType(const char* p, int32_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:878,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:879,1
    - Dst: wordType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:886,1
    - Dst: wordType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - p
    - len
    - pattern
    argTypes:
    - char*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 896
    functionName: addWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - wordType
    - taosMemoryMalloc
    - 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:902,1
    - Dst: addWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:923,1
    - Dst: addWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:930,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - command
    - pattern
    argTypes:
    - SWords*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 938
    functionName: parseCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strlen
    - addWord
    linkageType: ''
    returnType: void
    signature: void parseCommand(SWords* command, bool pattern)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:949,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - command
    argTypes:
    - SWords*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 952
    functionName: freeCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeCommand(SWords* command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:955,1
    - Dst: insertWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:957,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:960,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - type
    - p
    - count
    argTypes:
    - int
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 963
    functionName: GenerateVarType
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - createTire
    - insertWord
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void GenerateVarType(int type, char** p, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHELL_COMMAND_COUNT
      Src: /src/tdengine/tools/shell/src/shellAuto.c:972,1
    - Dst: parseCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:974,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:978,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/tools/shell/src/shellAuto.c:979,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:982,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:985,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:986,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:987,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:988,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:989,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:990,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:991,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:992,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:993,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:994,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:995,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:996,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:997,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:998,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:999,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1000,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 970
    functionDepth: 2
    functionLinenumber: 970
    functionLinenumberEnd: 1002
    functionName: shellAutoInit
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - GenerateVarType
    - SHELL_COMMAND_COUNT
    - taosThreadMutexInit
    - memset
    - parseCommand
    linkageType: ''
    returnType: void
    signature: void shellAutoInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateTireValue
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - runOnce
    argTypes:
    - TAOS*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1010
    functionName: shellSetConn
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - updateTireValue
    linkageType: ''
    returnType: void
    signature: void shellSetConn(TAOS* conn, bool runOnce)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SHELL_COMMAND_COUNT
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1015,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1017,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1021,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1024,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1028,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1030,1
    - Dst: taosDestroyThread
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1035,1
    - Dst: freeMatch
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1042,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1045
    functionName: shellAutoExit
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - freeCommand
    - freeTire
    - freeMatch
    - SHELL_COMMAND_COUNT
    - taosThreadMutexDestroy
    - taosDestroyThread
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void shellAutoExit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1053,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1058,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1065,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - type
    - pNew
    argTypes:
    - int
    - STire*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1068
    functionName: setNewAutoPtr
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - freeTire
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: bool
    signature: bool setNewAutoPtr(int type, STire* pNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1076,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1081
    functionName: getAutoPtr
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: STire
    signature: STire * getAutoPtr(int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1089,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1094,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1099,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - type
    - tire
    argTypes:
    - int
    - STire*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1104
    functionName: putBackAutoPtr
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - freeTire
    - ASSERT
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void putBackAutoPtr(int type, STire* tire)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1114,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1119,1
    - Dst: createTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1122,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1128,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1131,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1133,1
    - Dst: insertWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1138,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1144,1
    - Dst: setNewAutoPtr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - type
    - tres
    argTypes:
    - int
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1112
    functionDepth: 2
    functionLinenumber: 1112
    functionLinenumberEnd: 1151
    functionName: writeVarNames
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - setNewAutoPtr
    - createTire
    - memcpy
    - sprintf
    - taos_fetch_lengths
    - insertWord
    - taos_fetch_fields
    - taos_fetch_row
    linkageType: ''
    returnType: int
    signature: int writeVarNames(int type, TAOS_RES* tres)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1154,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1156,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1160
    functionName: setThreadNull
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - taosMemoryFree
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void setThreadNull(int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1168,1
    - Dst: taos_query
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1174,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1175,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1176,1
    - Dst: setThreadNull
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1177,1
    - Dst: writeVarNames
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1182,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1185,1
    - Dst: firstMatchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1190,1
    - Dst: setThreadNull
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1166
    functionDepth: 3
    functionLinenumber: 1166
    functionLinenumberEnd: 1195
    functionName: varObtainThread
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - setThreadNull
    - taos_query
    - firstMatchCommand
    - taos_free_result
    - taosMemoryFree
    - taos_errno
    - writeVarNames
    linkageType: ''
    returnType: void
    signature: void * varObtainThread(void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1200,1
    - Dst: taosThreadRunning
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1207,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1209,1
    - Dst: taosDestroyThread
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1213,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1218,1
    - Dst: taosCreateThread
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1220,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1221,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - type
    - autoFill
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1227
    functionName: updateTireValue
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - taosThreadRunning
    - taosDestroyThread
    - taosThreadMutexUnlock
    - taosCreateThread
    - taosThreadMutexLock
    linkageType: ''
    returnType: bool
    signature: bool updateTireValue(int type, bool autoFill)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1236,1
    - Dst: enumAll
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1246,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1249,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1250,1
    - Dst: matchPrefix
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1251,1
    - Dst: freeMatch
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1256,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1270,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1286,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - tire
    - pre
    argTypes:
    - STire*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1303
    functionName: matchNextPrefix
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - matchPrefix
    - enumAll
    - freeMatch
    - memset
    - taosStrdup
    - strcmp
    linkageType: ''
    returnType: char
    signature: char * matchNextPrefix(STire* tire, char* pre)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: matchNextPrefix
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1315,1
    - Dst: updateTireValue
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1318,1
    - Dst: getAutoPtr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1323,1
    - Dst: matchNextPrefix
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1328,1
    - Dst: putBackAutoPtr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - type
    - pre
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1306
    functionDepth: 2
    functionLinenumber: 1306
    functionLinenumberEnd: 1333
    functionName: tireSearchWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - getAutoPtr
    - updateTireValue
    - matchNextPrefix
    - putBackAutoPtr
    linkageType: ''
    returnType: char
    signature: char * tireSearchWord(int type, char* pre)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1339,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1345,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1347,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1352,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1361,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - word1
    - word2
    argTypes:
    - SWord*
    - SWord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1336
    functionDepth: 3
    functionLinenumber: 1336
    functionLinenumberEnd: 1370
    functionName: matchVarWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strlen
    - tireSearchWord
    - memcpy
    - taosMemoryFree
    linkageType: ''
    returnType: bool
    signature: bool matchVarWord(SWord* word1, SWord* word2)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1389,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1394,1
    - Dst: matchVarWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1410,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - cmdPattern
    - cmdInput
    argTypes:
    - SWords*
    - SWords*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1377
    functionDepth: 4
    functionLinenumber: 1377
    functionLinenumberEnd: 1429
    functionName: compareCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - matchVarWord
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareCommand(SWords* cmdPattern, SWords* cmdInput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHELL_COMMAND_COUNT
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1433,1
    - Dst: compareCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1451,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - input
    - continueSearch
    argTypes:
    - SWords*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1432
    functionDepth: 5
    functionLinenumber: 1432
    functionLinenumberEnd: 1461
    functionName: matchCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - compareCommand
    - SHELL_COMMAND_COUNT
    linkageType: ''
    returnType: SWords
    signature: SWords * matchCommand(SWords* input, bool continueSearch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1472,1
    - Dst: shellGetPrevCharSize
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1476,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cmd
    - count
    argTypes:
    - SShellCmd*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1468
    functionDepth: 2
    functionLinenumber: 1468
    functionLinenumberEnd: 1484
    functionName: deleteCount
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - shellGetPrevCharSize
    - shellClearScreen
    - memmove
    linkageType: ''
    returnType: void
    signature: void deleteCount(SShellCmd* cmd, int count)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_WORD
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1498,1
    - Dst: deleteCount
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1507,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1517,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1519,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1520,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1522,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1523,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1525,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - con
    - cmd
    - match
    argTypes:
    - TAOS*
    - SShellCmd*
    - SWords*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1531
    functionName: printScreen
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - shellInsertStr
    - MATCH_WORD
    - tstrncpy
    - deleteCount
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void printScreen(TAOS* con, SShellCmd* cmd, SWords* match)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1537,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1538,1
    - Dst: parseCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1541,1
    - Dst: matchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1546,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1549,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1550,1
    - Dst: printScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1555,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1557,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1558,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1560,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1534
    functionDepth: 6
    functionLinenumber: 1534
    functionLinenumberEnd: 1563
    functionName: firstMatchCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - freeCommand
    - printf
    - shellShowOnScreen
    - memset
    - taosMemoryFree
    - parseCommand
    - printScreen
    - matchCommand
    linkageType: ''
    returnType: bool
    signature: bool firstMatchCommand(TAOS* con, SShellCmd* cmd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1595,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1607,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1620,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - input
    - firstMatch
    argTypes:
    - SWords*
    - SWords*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1629
    functionName: createInputFromFirst
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void createInputFromFirst(SWords* input, SWords* firstMatch)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1636,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1637,1
    - Dst: createInputFromFirst
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1640,1
    - Dst: parseCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1643,1
    - Dst: matchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1646,1
    - Dst: matchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1651,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1653,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1654,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1655,1
    - Dst: printScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1661,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1663,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1664,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1668,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1670,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1673,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - con
    - cmd
    - firstMatch
    argTypes:
    - TAOS*
    - SShellCmd*
    - SWords*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1632
    functionDepth: 6
    functionLinenumber: 1632
    functionLinenumberEnd: 1676
    functionName: nextMatchCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - freeCommand
    - createInputFromFirst
    - printf
    - shellShowOnScreen
    - memset
    - taosMemoryFree
    - parseCommand
    - printScreen
    - matchCommand
    linkageType: ''
    returnType: bool
    signature: bool nextMatchCommand(TAOS* con, SShellCmd* cmd, SWords* firstMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: matchNextPrefix
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1682,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1688,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1691,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1692,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - con
    - cmd
    - pre
    - type
    argTypes:
    - TAOS*
    - SShellCmd*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1679
    functionDepth: 2
    functionLinenumber: 1679
    functionLinenumberEnd: 1697
    functionName: fillWithType
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - shellInsertStr
    - strlen
    - taosMemoryFree
    - matchNextPrefix
    linkageType: ''
    returnType: bool
    signature: bool fillWithType(TAOS* con, SShellCmd* cmd, char* pre, int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1702,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1704,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1709,1
    - Dst: deleteCount
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1713,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1718,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1719,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - con
    - cmd
    - pre
    argTypes:
    - TAOS*
    - SShellCmd*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1700
    functionDepth: 3
    functionLinenumber: 1700
    functionLinenumberEnd: 1724
    functionName: fillTableName
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - tireSearchWord
    - shellInsertStr
    - taosMemoryFree
    - deleteCount
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool fillTableName(TAOS* con, SShellCmd* cmd, char* pre)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1735,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1747
    functionName: lastWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: char * lastWord(char* p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1751,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1752,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1762,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1791,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1796,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1803
    functionName: fieldsInputEnd
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strlen
    - strrchr
    linkageType: ''
    returnType: bool
    signature: bool fieldsInputEnd(char* sql)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fieldsInputEnd
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sql
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1820
    functionName: needInsertFrom
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - fieldsInputEnd
    linkageType: ''
    returnType: bool
    signature: bool needInsertFrom(char* sql, int len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1824,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1829,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1831,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1835,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1837,1
    - Dst: fieldsInputEnd
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1840,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1843,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1844,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1851,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1853,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1856,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1861,1
    - Dst: fillTableName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1864,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1866,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1869,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - con
    - cmd
    - sql
    - len
    argTypes:
    - TAOS*
    - SShellCmd*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1823
    functionDepth: 4
    functionLinenumber: 1823
    functionLinenumberEnd: 1871
    functionName: appendAfterSelect
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - lastWord
    - fieldsInputEnd
    - shellInsertStr
    - strstr
    - fillTableName
    - taosMemoryFree
    - taosStrndup
    - strlen
    - fillWithType
    linkageType: ''
    returnType: bool
    signature: bool appendAfterSelect(TAOS* con, SShellCmd* cmd, char* sql, int32_t
      len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1875,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1879,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1888,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1892,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1897,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1903,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1908
    functionName: searchAfterSelect
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strstr
    linkageType: ''
    returnType: int32_t
    signature: int32_t searchAfterSelect(char* p, int32_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deleteCount
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1913,1
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1933,1
    - Dst: searchAfterSelect
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1934,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1935,1
    - Dst: appendAfterSelect
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1941,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1910
    functionDepth: 5
    functionLinenumber: 1910
    functionLinenumberEnd: 1942
    functionName: matchSelectQuery
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - appendAfterSelect
    - searchAfterSelect
    - deleteCount
    - taosMemoryFree
    - taosStrndup
    linkageType: ''
    returnType: bool
    signature: bool matchSelectQuery(TAOS* con, SShellCmd* cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1946,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1947,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1953,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1965,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1985
    functionName: fieldOptionsArea
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 1
    functionsReached:
    - strchr
    - strrchr
    - strstr
    linkageType: ''
    returnType: bool
    signature: bool fieldOptionsArea(char* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2007
    functionName: isCreateFieldsArea
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCreateFieldsArea(char* p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: deleteCount
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2012,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2032,1
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2039,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2041,1
    - Dst: isCreateFieldsArea
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2044,1
    - Dst: fieldOptionsArea
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2045,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2047,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2050,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2057,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2059,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2061,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2069,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2071,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2073,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2078,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2009
    functionDepth: 3
    functionLinenumber: 2009
    functionLinenumberEnd: 2080
    functionName: matchCreateTable
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - fieldOptionsArea
    - lastWord
    - strncasecmp
    - isCreateFieldsArea
    - strstr
    - deleteCount
    - strchr
    - taosStrndup
    - taosMemoryFree
    - fillWithType
    linkageType: ''
    returnType: bool
    signature: bool matchCreateTable(TAOS* con, SShellCmd* cmd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2090,1
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2098,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2099,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2101,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2102,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2103,1
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2106,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2110,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2113,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2152,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2082
    functionDepth: 3
    functionLinenumber: 2082
    functionLinenumberEnd: 2155
    functionName: matchOther
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - lastWord
    - shellInsertStr
    - strstr
    - strncmp
    - taosMemoryFree
    - taosStrndup
    - fillWithType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool matchOther(TAOS* con, SShellCmd* cmd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2161,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2162,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2163,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2169,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2172,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2179,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2185,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2191,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2198,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2158
    functionDepth: 3
    functionLinenumber: 2158
    functionLinenumberEnd: 2200
    functionName: matchEnd
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - lastWord
    - taosMemoryFree
    - strrchr
    - taosStrndup
    - strlen
    - fillWithType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool matchEnd(TAOS* con, SShellCmd* cmd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: showHelp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2211,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2213,1
    - Dst: matchCreateTable
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2222,1
    - Dst: firstMatchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2227,1
    - Dst: nextMatchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2229,1
    - Dst: matchOther
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2235,1
    - Dst: matchSelectQuery
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2239,1
    - Dst: matchEnd
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2203
    functionDepth: 7
    functionLinenumber: 2203
    functionLinenumberEnd: 2246
    functionName: pressTabKey
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 1
    functionsReached:
    - firstMatchCommand
    - matchEnd
    - shellShowOnScreen
    - matchSelectQuery
    - matchOther
    - showHelp
    - nextMatchCommand
    - matchCreateTable
    linkageType: ''
    returnType: void
    signature: void pressTabKey(SShellCmd* cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeMatch
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2249
    functionDepth: 1
    functionLinenumber: 2249
    functionLinenumberEnd: 2270
    functionName: pressOtherKey
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 1
    functionsReached:
    - freeMatch
    linkageType: ''
    returnType: void
    signature: void pressOtherKey(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - p
    - name
    - nameLen
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2292
    functionName: getWordName
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    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/shellAuto.c:2297,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2303,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2309,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2315,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2320,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2326,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2329,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2333
      start: 2295
    functionDepth: 1
    functionLinenumber: 2295
    functionLinenumberEnd: 2333
    functionName: dealUseDB
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strcpy
    - freeTire
    - strcasecmp
    - getWordName
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: bool
    signature: bool dealUseDB(char* sql)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2338,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2344,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2351,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2353,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2354,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2354,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2358,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2360,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2362,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2370,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2373,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2379,1
    - Dst: insertWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2383,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2385,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2336
    functionDepth: 1
    functionLinenumber: 2336
    functionLinenumberEnd: 2388
    functionName: dealCreateCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - strncasecmp
    - strcasecmp
    - insertWord
    - strstr
    - getWordName
    - taosThreadMutexUnlock
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool dealCreateCommand(char* sql)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2393,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2399,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2406,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2408,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2410,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2412,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2414,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2416,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2424,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2427,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2433,1
    - Dst: deleteWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2439,1
    - Dst: deleteWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2443,1
    - Dst: deleteWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2448,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2450,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2391
    functionDepth: 1
    functionLinenumber: 2391
    functionLinenumberEnd: 2453
    functionName: dealDropCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - strncasecmp
    - deleteWord
    - strcasecmp
    - getWordName
    - taosThreadMutexUnlock
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool dealDropCommand(char* sql)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dealUseDB
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2463,1
    - Dst: updateTireValue
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2465,1
    - Dst: dealCreateCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2470,1
    - Dst: dealDropCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - sqlstr
    - pSql
    - usedb
    argTypes:
    - char*
    - TAOS*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2456
    functionDepth: 2
    functionLinenumber: 2456
    functionLinenumberEnd: 2480
    functionName: callbackAutoTab
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: 0
    functionsReached:
    - dealDropCommand
    - updateTireValue
    - dealUseDB
    - dealCreateCommand
    linkageType: ''
    returnType: void
    signature: void callbackAutoTab(char* sqlstr, TAOS* pSql, bool usedb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: shellIsEmptyCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool shellIsEmptyCommand(const char *cmd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: shellIsEmptyCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:87,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:91,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:95,1
    - Dst: system
      Src: /src/tdengine/tools/shell/src/shellEngine.c:99,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:101,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:107,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:109,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:110,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:111,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:112,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellEngine.c:115,1
    - Dst: TRANGE
      Src: /src/tdengine/tools/shell/src/shellEngine.c:116,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:122,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:124,1
    - Dst: shellRunSingleCommandImp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:126,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:129,1
    - Dst: shellRunSingleCommandImp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:131,1
    - Dst: shellSourceFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:134,1
    - Dst: shellRunSingleCommandImp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 139
    functionName: shellRunSingleCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - shellRunSingleCommandImp
    - TRANGE
    - strncasecmp
    - atoi
    - printf
    - strtok
    - shellRegexMatch
    - system
    - shellSourceFile
    - shellIsEmptyCommand
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellRunSingleCommand(char *command)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:142,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:142,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:143,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:152,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:154,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellEngine.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: shellRecordCommandToHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - strcmp
    - taosMemoryFreeClear
    - strncasecmp
    - taosStrCaseStr
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void shellRecordCommandToHistory(char *command)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: shellIsEmptyCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:166,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:171,1
    - Dst: showHelp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:173,1
    - Dst: shellRecordCommandToHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:178,1
    - Dst: shellRunSingleCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:194,1
    - Dst: shellRunSingleCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:201,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 2
    argNames:
    - command
    - recordHistory
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 202
    functionName: shellRunCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - shellRunSingleCommand
    - shellRecordCommandToHistory
    - strncasecmp
    - showHelp
    - shellIsEmptyCommand
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellRunCommand(char *command, bool recordHistory)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:209,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:215,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 225
    functionName: strendG
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *strendG(const char *pstr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:234,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:239,1
    - Dst: strendG
      Src: /src/tdengine/tools/shell/src/shellEngine.c:245,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:250,1
    - Dst: taos_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:252,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:253,1
    - Dst: shellPrintError
      Src: /src/tdengine/tools/shell/src/shellEngine.c:254,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:258,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:259,1
    - Dst: callbackAutoTab
      Src: /src/tdengine/tools/shell/src/shellEngine.c:262,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:264,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:271,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:273,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:275,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:277,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:281,1
    - Dst: shellDumpResult
      Src: /src/tdengine/tools/shell/src/shellEngine.c:285,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:287,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:291,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:293,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:295,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellEngine.c:295,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:298,1
    - Dst: taos_affected_rows64
      Src: /src/tdengine/tools/shell/src/shellEngine.c:300,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:301,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:302,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:303,1
    - Dst: callbackAutoTab
      Src: /src/tdengine/tools/shell/src/shellEngine.c:306,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:309,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 310
    functionName: shellRunSingleCommandImp
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - taos_affected_rows64
    - strendG
    - taos_query
    - shellDumpResult
    - callbackAutoTab
    - taosGetTimestampUs
    - shellPrintError
    - strstr
    - taos_free_result
    - printf
    - taos_fetch_fields
    - taos_errno
    - shellRegexMatch
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void shellRunSingleCommandImp(char *command)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:314,1
    - Dst: taosLocalTime
      Src: /src/tdengine/tools/shell/src/shellEngine.c:343,1
    - Dst: strftime
      Src: /src/tdengine/tools/shell/src/shellEngine.c:346,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:349,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:351,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - buf
    - bufSize
    - val
    - precision
    argTypes:
    - char*
    - int32_t
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 357
    functionName: shellFormatTimestamp
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - sprintf
    - taosLocalTime
    - strftime
    linkageType: ''
    returnType: char
    signature: char *shellFormatTimestamp(char *buf, int32_t bufSize, int64_t val,
      int32_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - val
    - length
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: shellDumpHexValue
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char
    signature: char *shellDumpHexValue(char *buf, const char *val, int32_t length)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:370,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: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:400,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:403,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:406,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:411,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:411,1
    - Dst: tsnprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:413,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:413,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:415,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:415,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:417,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:424,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:424,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:425,1
    - Dst: tsnprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:427,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:427,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:429,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:429,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:431,1
    - Dst: shellHasBinaryNonPrintable
      Src: /src/tdengine/tools/shell/src/shellEngine.c:436,1
    - Dst: shellAllocHexString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:437,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:440,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:447,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:459,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:460,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/tools/shell/src/shellEngine.c:465,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:468,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:469,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:473,1
    - Dst: shellDumpHexValue
      Src: /src/tdengine/tools/shell/src/shellEngine.c:475,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:476,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:477,1
    - Dst: shellFormatTimestamp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:481,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:482,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:486,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/tools/shell/src/shellEngine.c:492,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:495,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:496,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 121
    argCount: 5
    argNames:
    - pFile
    - val
    - field
    - length
    - precision
    argTypes:
    - TdFilePtr
    - char*
    - TAOS_FIELD*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 503
    functionName: shellDumpFieldToFile
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - shellHasBinaryNonPrintable
    - taosAscii2Hex
    - shellFormatTimestamp
    - tsnprintf
    - snprintf
    - taosMemoryFree
    - GET_DOUBLE_VAL
    - shellAllocHexString
    - taosFprintfFile
    - taosMemoryCalloc
    - shellDumpHexValue
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: void
    signature: void shellDumpFieldToFile(TdFilePtr pFile, const char *val, TAOS_FIELD
      *field, int32_t length, int32_t precision)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellEngine.c:507,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:508,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:511,1
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:516,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:518,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:522,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:523,1
    - Dst: taos_result_precision
      Src: /src/tdengine/tools/shell/src/shellEngine.c:524,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:528,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:530,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:532,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellEngine.c:536,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:539,1
    - Dst: shellDumpFieldToFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:541,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:543,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:546,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:549,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - fname
    - tres
    argTypes:
    - char*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 552
    functionName: shellDumpResultToFile
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taos_result_precision
    - taosCloseFile
    - taos_num_fields
    - fprintf
    - taos_fetch_lengths
    - shellDumpFieldToFile
    - taos_fetch_fields
    - tstrncpy
    - taosOpenFile
    - taos_fetch_row
    - taosExpandDir
    - taosFprintfFile
    linkageType: ''
    returnType: int64_t
    signature: int64_t shellDumpResultToFile(const char *fname, TAOS_RES *tres)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:567,1
    - Dst: TMIN
      Src: /src/tdengine/tools/shell/src/shellEngine.c:567,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellEngine.c:576,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - val
    - length
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 584
    functionName: shellHasBinaryNonPrintable
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - taosWcharWidth
    - TMIN
    - taosMbToWchar
    linkageType: ''
    returnType: bool
    signature: bool shellHasBinaryNonPrintable(const char *val, int32_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - val
    - length
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 596
    functionName: shellHexEncode
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shellHexEncode(char *dst, const char *val, int32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:600,1
    - Dst: shellHexEncode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - val
    - length
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 609
    functionName: shellAllocHexString
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - taosMemoryCalloc
    - shellHexEncode
    linkageType: ''
    returnType: char
    signature: char *shellAllocHexString(const char *val, int32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shellAllocHexString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:612,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:615,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - val
    - length
    - width
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 618
    functionName: shellPrintHex
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - shellPrintString
    - shellAllocHexString
    linkageType: ''
    returnType: void
    signature: void shellPrintHex(const char *val, int32_t length, int32_t width)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:626,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellEngine.c:638,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:647,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:656,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:670,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:675,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:681,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 3
    argNames:
    - str
    - length
    - width
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 683
    functionName: shellPrintNChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosWcharWidth
    - printf
    - putchar
    - taosMbToWchar
    linkageType: ''
    returnType: void
    signature: void shellPrintNChar(const char *str, int32_t length, int32_t width)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:686,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:689,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:692,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:694,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - str
    - width
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 699
    functionName: shellPrintString
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - strlen
    - printf
    linkageType: ''
    returnType: void
    signature: void shellPrintString(const char *str, int32_t width)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:703,1
    - Dst: initCtxAsText
      Src: /src/tdengine/tools/shell/src/shellEngine.c:709,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:711,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/tools/shell/src/shellEngine.c:711,1
    - Dst: doAsText
      Src: /src/tdengine/tools/shell/src/shellEngine.c:716,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:718,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/tools/shell/src/shellEngine.c:718,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:722,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/tools/shell/src/shellEngine.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - val
    - length
    - width
    argTypes:
    - unsigned char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 725
    functionName: shellPrintGeometry
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - getGeosErrMsg
    - doAsText
    - geosFreeBuffer
    - shellPrintString
    - initCtxAsText
    linkageType: ''
    returnType: void
    signature: void shellPrintGeometry(const unsigned char *val, int32_t length, int32_t
      width)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:729,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:738,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:741,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:744,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:747,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:750,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:753,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:756,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:759,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:759,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:762,1
    - Dst: taosGetUInt64Aligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:762,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:767,1
    - Dst: taosGetFloatAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:767,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:769,1
    - Dst: taosGetFloatAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:769,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:770,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:776,1
    - Dst: taosGetDoubleAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:776,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:777,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:779,1
    - Dst: taosGetDoubleAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:779,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:780,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/tools/shell/src/shellEngine.c:786,1
    - Dst: shellPrintNChar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:789,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:790,1
    - Dst: shellHasBinaryNonPrintable
      Src: /src/tdengine/tools/shell/src/shellEngine.c:794,1
    - Dst: shellPrintHex
      Src: /src/tdengine/tools/shell/src/shellEngine.c:795,1
    - Dst: shellPrintNChar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:797,1
    - Dst: shellPrintNChar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:802,1
    - Dst: shellPrintGeometry
      Src: /src/tdengine/tools/shell/src/shellEngine.c:805,1
    - Dst: shellFormatTimestamp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:808,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:808,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:809,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/tools/shell/src/shellEngine.c:816,1
    - Dst: shellPrintNChar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:819,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:820,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:825,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 93
    argCount: 5
    argNames:
    - val
    - field
    - width
    - length
    - precision
    argTypes:
    - char*
    - TAOS_FIELD*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 829
    functionName: shellPrintField
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - shellHasBinaryNonPrintable
    - taosGetDoubleAligned
    - taosGetUInt64Aligned
    - taosAscii2Hex
    - shellPrintString
    - printf
    - snprintf
    - shellPrintNChar
    - taosMemoryFree
    - taosGetFloatAligned
    - taosGetInt64Aligned
    - shellPrintHex
    - shellPrintGeometry
    - shellFormatTimestamp
    linkageType: ''
    returnType: void
    signature: void shellPrintField(const char *val, TAOS_FIELD *field, int32_t width,
      int32_t length, int32_t precision)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:834,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:837,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:841,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:846,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:850,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:854,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:858,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 863
    functionName: shellIsShowWhole
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosStrCaseStr
    linkageType: ''
    returnType: bool
    signature: bool shellIsShowWhole(const char *sql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 872
    functionName: shellIsShowQuery
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosStrCaseStr
    linkageType: ''
    returnType: bool
    signature: bool shellIsShowQuery(const char *sql)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsem_init
      Src: /src/tdengine/tools/shell/src/shellEngine.c:877,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:880,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:881,1
    - Dst: taos_result_precision
      Src: /src/tdengine/tools/shell/src/shellEngine.c:882,1
    - Dst: shellIsShowWhole
      Src: /src/tdengine/tools/shell/src/shellEngine.c:886,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:893,1
    - Dst: shellCalcColWidth
      Src: /src/tdengine/tools/shell/src/shellEngine.c:900,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:903,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:904,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:905,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:906,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - dump_info
    - tres
    - sql
    - vertical
    argTypes:
    - tsDumpInfo*
    - TAOS_RES*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 909
    functionName: init_dump_info
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taos_result_precision
    - taos_num_fields
    - shellCalcColWidth
    - TMAX
    - tsem_init
    - taos_fetch_fields
    - shellRegexMatch
    - strlen
    - shellIsShowWhole
    linkageType: ''
    returnType: void
    signature: void init_dump_info(tsDumpInfo *dump_info, TAOS_RES *tres, const char
      *sql, bool vertical)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:912,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:914,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:922,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellEngine.c:924,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:929,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:930,1
    - Dst: shellPrintField
      Src: /src/tdengine/tools/shell/src/shellEngine.c:932,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:933,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:934,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:941,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:942,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:943,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:944,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:945,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:946,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:947,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - tres
    - dump_info
    argTypes:
    - TAOS_RES*
    - tsDumpInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 911
    functionDepth: 4
    functionLinenumber: 911
    functionLinenumberEnd: 958
    functionName: shellVerticalPrintResult
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taos_fetch_lengths
    - shellPrintField
    - printf
    - putchar
    - strlen
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: void shellVerticalPrintResult(TAOS_RES *tres, tsDumpInfo *dump_info)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:961,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:965,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:967,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:971,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:975,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:979,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:983,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:986,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:989,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:994,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:996,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1001,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1003,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1010,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1012,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1018,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1021,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1023,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1025,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1031,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1033,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1038,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1040,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1042,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 73
    argCount: 2
    argNames:
    - field
    - precision
    argTypes:
    - TAOS_FIELD*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 1046
    functionName: shellCalcColWidth
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - strlen
    - ASSERT
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellCalcColWidth(TAOS_FIELD *field, int32_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1052,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1054,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1058,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1059,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1061,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1063,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - fields
    - width
    - num_fields
    argTypes:
    - TAOS_FIELD*
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1065
    functionName: shellPrintHeader
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - strlen
    - putchar
    - printf
    linkageType: ''
    returnType: void
    signature: void shellPrintHeader(TAOS_FIELD *fields, int32_t *width, int32_t num_fields)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1068,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1070,1
    - Dst: shellPrintHeader
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1077,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1081,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1083,1
    - Dst: shellPrintField
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1084,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1086,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1087,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1089,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1090,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1096,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1097,1
    - Dst: shellIsShowQuery
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1098,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1099,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1101,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1102,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1104,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1105,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1106,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - tres
    - dump_info
    argTypes:
    - TAOS_RES*
    - tsDumpInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1067
    functionDepth: 4
    functionLinenumber: 1067
    functionLinenumberEnd: 1117
    functionName: shellHorizontalPrintResult
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - shellIsShowQuery
    - shellPrintHeader
    - taos_fetch_lengths
    - shellPrintField
    - printf
    - putchar
    - taos_fetch_row
    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:1125,1
    - Dst: shellHorizontalPrintResult
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1127,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1132,1
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1134,1
    - Dst: uError
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1138,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1138,1
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - param
    - tres
    - num_of_rows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1119
    functionDepth: 5
    functionLinenumber: 1119
    functionLinenumberEnd: 1142
    functionName: shellDumpResultCallback
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - uError
    - tsem_post
    - shellVerticalPrintResult
    - taos_fetch_rows_a
    - tstrerror
    - shellHorizontalPrintResult
    linkageType: ''
    returnType: void
    signature: void shellDumpResultCallback(void *param, TAOS_RES *tres, int num_of_rows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellDumpResultToFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1147,1
    - Dst: init_dump_info
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1151,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1152,1
    - Dst: tsem_wait
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1153,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - tres
    - fname
    - error_no
    - vertical
    - sql
    argTypes:
    - TAOS_RES*
    - char*
    - int32_t*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1144
    functionDepth: 3
    functionLinenumber: 1144
    functionLinenumberEnd: 1160
    functionName: shellDumpResult
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - tsem_wait
    - shellDumpResultToFile
    - init_dump_info
    - taos_fetch_rows_a
    - taos_errno
    linkageType: ''
    returnType: int64_t
    signature: int64_t shellDumpResult(TAOS_RES *tres, char *fname, int32_t *error_no,
      bool vertical, const char *sql)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1164,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1167,1
    - Dst: taosGetsFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1169,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1171,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1172,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1181,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1182,1
    - Dst: taosStatFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1184,1
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1185,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1192,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1195,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1198,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1202
    functionName: shellReadHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - taosStatFile
    - taosMemoryFree
    - taosGetsFile
    - taosOpenFile
    - taosFsyncFile
    - taosStrdup
    - taosFprintfFile
    linkageType: ''
    returnType: void
    signature: void shellReadHistory()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1207,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1212,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1213,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1219
    functionName: shellWriteHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosFprintfFile
    - taosCloseFile
    - taosMemoryFree
    - taosOpenFile
    linkageType: ''
    returnType: void
    signature: void shellWriteHistory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1229
    functionName: shellCleanupHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void shellCleanupHistory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1232,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1233,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1234,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1234,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1235,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1239,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1240,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tres
    - st
    argTypes:
    - TAOS_RES*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1243
    functionName: shellPrintError
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - fprintf
    - taosGetTimestampUs
    - taos_free_result
    - printf
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void shellPrintError(TAOS_RES *tres, int64_t st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1248
    functionName: shellIsCommentLine
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - shellRegexMatch
    linkageType: ''
    returnType: bool
    signature: bool shellIsCommentLine(char *line)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1252,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1257,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1258,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1261,1
    - Dst: shellRecordCommandToHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1262,1
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1264,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1266,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1267,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1271,1
    - Dst: taosGetsFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1272,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1274,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1277,1
    - Dst: shellIsCommentLine
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1282,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1288,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1297,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1298,1
    - Dst: shellRunCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1299,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1300,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1304,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1305,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1306,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1250
    functionDepth: 3
    functionLinenumber: 1250
    functionLinenumberEnd: 1307
    functionName: shellSourceFile
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 1
    functionsReached:
    - shellIsCommentLine
    - taosCloseFile
    - taosMemoryMalloc
    - fprintf
    - shellRecordCommandToHistory
    - memcpy
    - taosMemoryFreeClear
    - sprintf
    - shellRunCommand
    - printf
    - tstrncpy
    - taosMemoryFree
    - taosGetsFile
    - memset
    - taosOpenFile
    - taosExpandDir
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void shellSourceFile(const char *file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1312,1
    - Dst: taos_get_server_info
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1312,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1313,1
    - Dst: taos_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1318,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1320,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1324,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1324,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1326,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1330,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1332,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1333,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1336,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1337,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1340,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1341,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1343,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1344,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1350,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1351,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1352,1
    - Dst: trimStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1354,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1356,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1358,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1360,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1363,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1366,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1369,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1372,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1375
    functionName: shellGetGrantInfo
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - strcmp
    - fprintf
    - exit
    - taos_query
    - memcpy
    - trimStr
    - sprintf
    - taos_free_result
    - taos_get_server_info
    - taos_fetch_fields
    - tstrncpy
    - taos_errno
    - strtok
    - taos_errstr
    - taos_field_count
    - taos_fetch_row
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellGetGrantInfo(char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fdwCtrlType
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1381
    functionName: shellQueryInterruptHandler
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - tsem_post
    linkageType: ''
    returnType: BOOL
    signature: BOOL shellQueryInterruptHandler(DWORD fdwCtrlType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - signum
    - sigInfo
    - context
    argTypes:
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1383
    functionName: shellQueryInterruptHandler
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - tsem_post
    linkageType: ''
    returnType: void
    signature: void shellQueryInterruptHandler(int32_t signum, void *sigInfo, void
      *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosResetTerminalMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1386
    functionName: shellCleanup
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosResetTerminalMode
    linkageType: ''
    returnType: void
    signature: void shellCleanup(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1389,1
    - Dst: tsem_wait
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1395,1
    - Dst: taosMsleep
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1396,1
    - Dst: taos_kill_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1402,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1411
    functionName: shellCancelHandler
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - tsem_wait
    - printf
    - setThreadName
    - taosMsleep
    - taos_kill_query
    linkageType: ''
    returnType: void
    signature: void *shellCancelHandler(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1417,1
    - Dst: taosGetOldTerminalMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1418,1
    - Dst: taosThreadCleanupPush
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1419,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1422,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1424,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1429,1
    - Dst: taosSetTerminalMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1430,1
    - Dst: shellReadCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1432,1
    - Dst: taosResetTerminalMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1436,1
    - Dst: shellRunCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1437,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1439,1
    - Dst: shellWriteHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1440,1
    - Dst: shellExit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1441,1
    - Dst: taosThreadCleanupPop
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1416
    functionDepth: 4
    functionLinenumber: 1416
    functionLinenumberEnd: 1446
    functionName: shellThreadLoop
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - shellWriteHistory
    - shellReadCommand
    - shellExit
    - taosResetTerminalMode
    - shellRunCommand
    - printf
    - memset
    - taosGetOldTerminalMode
    - setThreadName
    - taosSetTerminalMode
    - taosThreadCleanupPush
    - taosThreadCleanupPop
    linkageType: ''
    returnType: void
    signature: void *shellThreadLoop(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1450,1
    - Dst: scanf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1451,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1452,1
    - Dst: getchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1455,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - totpCode
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1460
    functionName: inputTotpCode
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - printf
    - getchar
    - scanf
    - fprintf
    linkageType: ''
    returnType: bool
    signature: bool inputTotpCode(char *totpCode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1475,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1476,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1477,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1477,1
    - Dst: taos_connect_with_dsn
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1480,1
    - Dst: defaultPort
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1489,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1492,1
    - Dst: taos_connect_auth
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1496,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1499,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1501,1
    - Dst: taos_connect_token
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1502,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1504,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1507,1
    - Dst: taos_connect
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1511,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1516,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1520,1
    - Dst: inputTotpCode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1521,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1522,1
    - Dst: taos_connect_totp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1523,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1525,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 1
    argNames:
    - pArgs
    argTypes:
    - SShellArgs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1537
    functionName: createConnect
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taos_connect_token
    - taos_connect_auth
    - sprintf
    - taos_connect
    - printf
    - memset
    - defaultPort
    - taos_connect_with_dsn
    - taos_errno
    - inputTotpCode
    - strlen
    - taos_connect_totp
    linkageType: ''
    returnType: TAOS
    signature: TAOS *createConnect(SShellArgs *pArgs)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1541,1
    - Dst: workingMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1542,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1543,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1544,1
    - Dst: createConnect
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1547,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1550,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1550,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1550,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1552,1
    - Dst: shellSetConn
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1557,1
    - Dst: shellReadHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1558,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1562,1
    - Dst: taos_set_conn_mode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1563,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1568,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1569,1
    - Dst: shellRunCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1570,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1571,1
    - Dst: shellSourceFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1575,1
    - Dst: taos_close
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1578,1
    - Dst: shellWriteHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1580,1
    - Dst: shellCleanupHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1581,1
    - Dst: tsem_init
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1585,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1586,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1586,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1591,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1593,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1594,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1595,1
    - Dst: shellGetGrantInfo
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1598,1
    - Dst: printfIntroduction
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1600,1
    - Dst: showAD
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1603,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1608,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1612,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1613,1
    - Dst: taosThreadClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1614,1
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1616,1
    - Dst: showAD
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1622,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1625,1
    - Dst: shellCleanupHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1627,1
    - Dst: taos_kill_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1628,1
    - Dst: taos_close
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1629,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1631,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1539
    functionDepth: 4
    functionLinenumber: 1539
    functionLinenumberEnd: 1632
    functionName: shellExecute
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: 0
    functionsReached:
    - shellReadHistory
    - printfIntroduction
    - fflush
    - taos_set_conn_mode
    - taosThreadJoin
    - tsem_post
    - taosSetSignal
    - shellWriteHistory
    - shellSetConn
    - taos_close
    - shellCleanupHistory
    - createConnect
    - shellSourceFile
    - taos_get_client_info
    - shellGetGrantInfo
    - shellRunCommand
    - tsem_init
    - printf
    - showAD
    - taosThreadCreate
    - taosStrdup
    - taosThreadClear
    - taosMemoryFree
    - taos_errno
    - TAOS_RETURN
    - tstrerror
    - taos_errstr
    - workingMode
    - taos_kill_query
    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:28,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:29,1
    - Dst: shellExit
      Src: /src/tdengine/tools/shell/src/shellUtil.c:30,1
    - Dst: regexec
      Src: /src/tdengine/tools/shell/src/shellUtil.c:34,1
    - Dst: regfree
      Src: /src/tdengine/tools/shell/src/shellUtil.c:36,1
    - Dst: regfree
      Src: /src/tdengine/tools/shell/src/shellUtil.c:39,1
    - Dst: regerror
      Src: /src/tdengine/tools/shell/src/shellUtil.c:42,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:43,1
    - Dst: regfree
      Src: /src/tdengine/tools/shell/src/shellUtil.c:44,1
    - Dst: shellExit
      Src: /src/tdengine/tools/shell/src/shellUtil.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - s
    - reg
    - cflags
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 49
    functionName: shellRegexMatch
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: 6
    functionsReached:
    - regcomp
    - fprintf
    - regexec
    - regfree
    - shellExit
    - regerror
    linkageType: ''
    returnType: bool
    signature: bool shellRegexMatch(const char *s, const char *reg, int32_t cflags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:53,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:57,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:61,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: shellCheckIntSize
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellCheckIntSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: shellPrintVersion
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void shellPrintVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/tools/shell/src/shellUtil.c:75,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellUtil.c:75,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:76,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellUtil.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: shellGenerateAuth
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: 0
    functionsReached:
    - fflush
    - strlen
    - taosEncryptPass_c
    - printf
    linkageType: ''
    returnType: void
    signature: void shellGenerateAuth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: osDefaultInit
      Src: /src/tdengine/tools/shell/src/shellUtil.c:81,1
    - Dst: taosInitCfg
      Src: /src/tdengine/tools/shell/src/shellUtil.c:83,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:84,1
    - Dst: terrstr
      Src: /src/tdengine/tools/shell/src/shellUtil.c:84,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/tools/shell/src/shellUtil.c:88,1
    - Dst: taosGetCfg
      Src: /src/tdengine/tools/shell/src/shellUtil.c:88,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellUtil.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: shellDumpConfig
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: 0
    functionsReached:
    - osDefaultInit
    - fprintf
    - taosGetCfg
    - terrstr
    - fflush
    - taosInitCfg
    - cfgDumpCfg
    linkageType: ''
    returnType: void
    signature: void shellDumpConfig()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_check_server_status
      Src: /src/tdengine/tools/shell/src/shellUtil.c:98,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:101,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:104,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:107,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:110,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:113,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellUtil.c:116,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:117,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellUtil.c:119,1
    - Dst: taosMsleep
      Src: /src/tdengine/tools/shell/src/shellUtil.c:121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 126
    functionName: shellCheckServerStatus
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: 0
    functionsReached:
    - taos_check_server_status
    - printf
    - fflush
    - taosMsleep
    - strlen
    linkageType: ''
    returnType: void
    signature: void shellCheckServerStatus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/tools/shell/src/shellUtil.c:130,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tools/shell/src/shellUtil.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: shellExit
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: 2
    functionsReached:
    - taos_cleanup
    - taos_close
    linkageType: ''
    returnType: void
    signature: void shellExit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellUtil.c:140,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellUtil.c:143,1
    - Dst: isspace
      Src: /src/tdengine/tools/shell/src/shellUtil.c:146,1
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellUtil.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - srcInfo
    - removeStr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: trimStr
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: 2
    functionsReached:
    - strlen
    - isspace
    - strncmp
    linkageType: ''
    returnType: void
    signature: void trimStr(char *srcInfo, char *removeStr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/tools/shell/src/shellNettest.c:27,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:27,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellNettest.c:36,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:36,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellNettest.c:37,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:37,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellNettest.c:38,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:38,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellNettest.c:39,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:39,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellNettest.c:40,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:40,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/tools/shell/src/shellNettest.c:42,1
    - Dst: rpcOpen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:43,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:45,1
    - Dst: terrstr
      Src: /src/tdengine/tools/shell/src/shellNettest.c:45,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellNettest.c:56,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellNettest.c:57,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:59,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellNettest.c:61,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellNettest.c:65,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/tools/shell/src/shellNettest.c:69,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:72,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/tools/shell/src/shellNettest.c:73,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:75,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:78,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellNettest.c:78,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/tools/shell/src/shellNettest.c:81,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellNettest.c:85,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:88,1
    - Dst: rpcClose
      Src: /src/tdengine/tools/shell/src/shellNettest.c:93,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/tools/shell/src/shellNettest.c:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 98
    functionName: shellWorkAsClient
    functionSourceFile: /src/tdengine/tools/shell/src/shellNettest.c
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - memcpy
    - taosVersionStrToInt
    - taosGetTimestampUs
    - taosEncryptPass_c
    - printf
    - terrstr
    - tstrncpy
    - rpcClose
    - rpcOpen
    - strtok
    - rpcSendRecv
    - tstrerror
    - strlen
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void shellWorkAsClient()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:101,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellNettest.c:102,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/tools/shell/src/shellNettest.c:104,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/tools/shell/src/shellNettest.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - p
    - pRpc
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: shellProcessMsg
    functionSourceFile: /src/tdengine/tools/shell/src/shellNettest.c
    functionUses: 0
    functionsReached:
    - printf
    - rpcMallocCont
    - fflush
    - rpcSendResponse
    linkageType: ''
    returnType: void
    signature: void shellProcessMsg(void *p, SRpcMsg *pRpc, SEpSet *pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shellExit
      Src: /src/tdengine/tools/shell/src/shellNettest.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - signum
    - sigInfo
    - context
    argTypes:
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: shellNettestHandler
    functionSourceFile: /src/tdengine/tools/shell/src/shellNettest.c
    functionUses: 0
    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:126,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:126,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/tools/shell/src/shellNettest.c:135,1
    - Dst: rpcOpen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:137,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:139,1
    - Dst: terrstr
      Src: /src/tdengine/tools/shell/src/shellNettest.c:139,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:141,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellNettest.c:142,1
    - Dst: taosMsleep
      Src: /src/tdengine/tools/shell/src/shellNettest.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 145
    functionName: shellWorkAsServer
    functionSourceFile: /src/tdengine/tools/shell/src/shellNettest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosVersionStrToInt
    - taosSetSignal
    - printf
    - terrstr
    - rpcOpen
    - taosMsleep
    - strlen
    linkageType: ''
    returnType: void
    signature: void shellWorkAsServer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: osDefaultInit
      Src: /src/tdengine/tools/shell/src/shellNettest.c:148,1
    - Dst: rpcInit
      Src: /src/tdengine/tools/shell/src/shellNettest.c:149,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellNettest.c:151,1
    - Dst: shellWorkAsClient
      Src: /src/tdengine/tools/shell/src/shellNettest.c:152,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellNettest.c:155,1
    - Dst: shellWorkAsServer
      Src: /src/tdengine/tools/shell/src/shellNettest.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: shellTestNetWork
    functionSourceFile: /src/tdengine/tools/shell/src/shellNettest.c
    functionUses: 0
    functionsReached:
    - osDefaultInit
    - rpcInit
    - shellWorkAsServer
    - shellWorkAsClient
    - strcmp
    linkageType: ''
    returnType: void
    signature: void shellTestNetWork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:23,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:24,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:25,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:26,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:29,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:31,1
    - Dst: taos_write_crashinfo
      Src: /src/tdengine/tools/shell/src/shellMain.c:34,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellMain.c:37,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellMain.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - signum
    - sigInfo
    - context
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: shellCrashHandler
    functionSourceFile: /src/tdengine/tools/shell/src/shellMain.c
    functionUses: 0
    functionsReached:
    - exit
    - taos_write_crashinfo
    - taosIgnSignal
    linkageType: ''
    returnType: void
    signature: void shellCrashHandler(int signum, void *sigInfo, void *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pArgs
    argTypes:
    - SShellArgs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: initArgument
    functionSourceFile: /src/tdengine/tools/shell/src/shellMain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initArgument(SShellArgs *pArgs)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:60,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:62,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:63,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:64,1
    - Dst: initArgument
      Src: /src/tdengine/tools/shell/src/shellMain.c:66,1
    - Dst: shellCheckIntSize
      Src: /src/tdengine/tools/shell/src/shellMain.c:68,1
    - Dst: shellParseArgs
      Src: /src/tdengine/tools/shell/src/shellMain.c:72,1
    - Dst: shellPrintVersion
      Src: /src/tdengine/tools/shell/src/shellMain.c:77,1
    - Dst: shellGenerateAuth
      Src: /src/tdengine/tools/shell/src/shellMain.c:82,1
    - Dst: shellPrintHelp
      Src: /src/tdengine/tools/shell/src/shellMain.c:87,1
    - Dst: shellTestNetWork
      Src: /src/tdengine/tools/shell/src/shellMain.c:92,1
    - Dst: getDsnEnv
      Src: /src/tdengine/tools/shell/src/shellMain.c:96,1
    - Dst: setConnMode
      Src: /src/tdengine/tools/shell/src/shellMain.c:101,1
    - Dst: taos_options
      Src: /src/tdengine/tools/shell/src/shellMain.c:107,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellMain.c:109,1
    - Dst: shellDumpConfig
      Src: /src/tdengine/tools/shell/src/shellMain.c:118,1
    - Dst: taos_init
      Src: /src/tdengine/tools/shell/src/shellMain.c:124,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellMain.c:125,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellMain.c:125,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellMain.c:125,1
    - Dst: taos_set_hb_quit
      Src: /src/tdengine/tools/shell/src/shellMain.c:130,1
    - Dst: shellCheckServerStatus
      Src: /src/tdengine/tools/shell/src/shellMain.c:134,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tools/shell/src/shellMain.c:135,1
    - Dst: shellTestNetWork
      Src: /src/tdengine/tools/shell/src/shellMain.c:140,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tools/shell/src/shellMain.c:141,1
    - Dst: shellAutoInit
      Src: /src/tdengine/tools/shell/src/shellMain.c:146,1
    - Dst: shellExecute
      Src: /src/tdengine/tools/shell/src/shellMain.c:147,1
    - Dst: shellAutoExit
      Src: /src/tdengine/tools/shell/src/shellMain.c:148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 151
    functionName: main
    functionSourceFile: /src/tdengine/tools/shell/src/shellMain.c
    functionUses: 0
    functionsReached:
    - shellExecute
    - shellParseArgs
    - shellGenerateAuth
    - shellTestNetWork
    - shellPrintHelp
    - getDsnEnv
    - shellCheckServerStatus
    - taos_set_hb_quit
    - taosSetSignal
    - initArgument
    - setConnMode
    - shellCheckIntSize
    - shellAutoExit
    - shellPrintVersion
    - taos_cleanup
    - shellDumpConfig
    - fprintf
    - taos_init
    - shellAutoInit
    - taos_errno
    - taos_errstr
    - taos_options
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:25,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellTire.c:26,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: createTire
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - memset
    - taosMemoryCalloc
    linkageType: ''
    returnType: STire
    signature: STire * createTire(char type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeTireNode
      Src: /src/tdengine/tools/shell/src/shellTire.c:40,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:42,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - STireNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: freeTireNode
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 1
    functionsReached:
    - freeTireNode
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeTireNode(STireNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeTireNode
      Src: /src/tdengine/tools/shell/src/shellTire.c:53,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:55,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:62,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:64,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - tire
    argTypes:
    - STire*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: freeTire
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 4
    functionsReached:
    - freeTireNode
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeTire(STire* tire)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:77,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellTire.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tire
    - word
    argTypes:
    - STire*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: insertToList
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosStrdup
    linkageType: ''
    returnType: bool
    signature: bool insertToList(STire* tire, char* word)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:104,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellTire.c:105,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - tire
    - word
    - len
    argTypes:
    - STire*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 126
    functionName: insertToTree
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memset
    - taosMemoryCalloc
    linkageType: ''
    returnType: bool
    signature: bool insertToTree(STire* tire, char* word, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellTire.c:130,1
    - Dst: insertToTree
      Src: /src/tdengine/tools/shell/src/shellTire.c:137,1
    - Dst: insertToList
      Src: /src/tdengine/tools/shell/src/shellTire.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - tire
    - word
    argTypes:
    - STire*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: insertWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 3
    functionsReached:
    - strlen
    - insertToList
    - insertToTree
    linkageType: ''
    returnType: bool
    signature: bool insertWord(STire* tire, char* word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellTire.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tire
    - word
    argTypes:
    - STire*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: deleteFromList
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool deleteFromList(STire* tire, char* word)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - tire
    - word
    - len
    argTypes:
    - STire*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 197
    functionName: deleteFromTree
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool deleteFromTree(STire* tire, char* word, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellTire.c:201,1
    - Dst: deleteFromTree
      Src: /src/tdengine/tools/shell/src/shellTire.c:208,1
    - Dst: deleteFromList
      Src: /src/tdengine/tools/shell/src/shellTire.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - tire
    - word
    argTypes:
    - STire*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: deleteWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 1
    functionsReached:
    - strlen
    - deleteFromList
    - deleteFromTree
    linkageType: ''
    returnType: bool
    signature: bool deleteWord(STire* tire, char* word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:219,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellTire.c:220,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellTire.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - match
    - word
    argTypes:
    - SMatch*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: addWordToMatch
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memset
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void addWordToMatch(SMatch* match, char* word)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellTire.c:237,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellTire.c:246,1
    - Dst: tListLen
      Src: /src/tdengine/tools/shell/src/shellTire.c:246,1
    - Dst: strncpy
      Src: /src/tdengine/tools/shell/src/shellTire.c:247,1
    - Dst: addWordToMatch
      Src: /src/tdengine/tools/shell/src/shellTire.c:253,1
    - Dst: enumAllWords
      Src: /src/tdengine/tools/shell/src/shellTire.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - nodes
    - prefix
    - match
    argTypes:
    - STireNode**
    - char*
    - SMatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 259
    functionName: enumAllWords
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 1
    functionsReached:
    - addWordToMatch
    - tListLen
    - enumAllWords
    - strncpy
    - memset
    - strlen
    linkageType: ''
    returnType: void
    signature: void enumAllWords(STireNode** nodes, char* prefix, SMatch* match)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellTire.c:264,1
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellTire.c:266,1
    - Dst: addWordToMatch
      Src: /src/tdengine/tools/shell/src/shellTire.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - tire
    - prefix
    - match
    argTypes:
    - STire*
    - char*
    - SMatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: matchPrefixFromList
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 0
    functionsReached:
    - addWordToMatch
    - strlen
    - strncmp
    linkageType: ''
    returnType: void
    signature: void matchPrefixFromList(STire* tire, char* prefix, SMatch* match)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellTire.c:280,1
    - Dst: enumAllWords
      Src: /src/tdengine/tools/shell/src/shellTire.c:302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - tire
    - prefix
    - match
    argTypes:
    - STire*
    - char*
    - SMatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 309
    functionName: matchPrefixFromTree
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 0
    functionsReached:
    - strlen
    - enumAllWords
    linkageType: ''
    returnType: void
    signature: void matchPrefixFromTree(STire* tire, char* prefix, SMatch* match)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: matchPrefixFromTree
      Src: /src/tdengine/tools/shell/src/shellTire.c:318,1
    - Dst: matchPrefixFromList
      Src: /src/tdengine/tools/shell/src/shellTire.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - tire
    - prefix
    - match
    argTypes:
    - STire*
    - char*
    - SMatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: matchPrefix
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 1
    functionsReached:
    - matchPrefixFromTree
    - matchPrefixFromList
    linkageType: ''
    returnType: void
    signature: void matchPrefix(STire* tire, char* prefix, SMatch* match)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addWordToMatch
      Src: /src/tdengine/tools/shell/src/shellTire.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tire
    - match
    argTypes:
    - STire*
    - SMatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: enumFromList
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 0
    functionsReached:
    - addWordToMatch
    linkageType: ''
    returnType: void
    signature: void enumFromList(STire* tire, SMatch* match)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: addWordToMatch
      Src: /src/tdengine/tools/shell/src/shellTire.c:360,1
    - Dst: matchPrefix
      Src: /src/tdengine/tools/shell/src/shellTire.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - tire
    - match
    argTypes:
    - STire*
    - SMatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 365
    functionName: enumFromTree
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 0
    functionsReached:
    - addWordToMatch
    - matchPrefix
    linkageType: ''
    returnType: void
    signature: void enumFromTree(STire* tire, SMatch* match)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:369,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellTire.c:370,1
    - Dst: enumFromTree
      Src: /src/tdengine/tools/shell/src/shellTire.c:374,1
    - Dst: enumFromList
      Src: /src/tdengine/tools/shell/src/shellTire.c:377,1
    - Dst: freeMatch
      Src: /src/tdengine/tools/shell/src/shellTire.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - tire
    argTypes:
    - STire*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 368
    functionDepth: 6
    functionLinenumber: 368
    functionLinenumberEnd: 390
    functionName: enumAll
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - enumFromList
    - freeMatch
    - memset
    - enumFromTree
    linkageType: ''
    returnType: SMatch
    signature: SMatch * enumAll(STire* tire)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeMatchNode
      Src: /src/tdengine/tools/shell/src/shellTire.c:395,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:398,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - SMatchNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: freeMatchNode
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 1
    functionsReached:
    - freeMatchNode
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeMatchNode(SMatchNode* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeMatchNode
      Src: /src/tdengine/tools/shell/src/shellTire.c:406,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - match
    argTypes:
    - SMatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: freeMatch
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: 4
    functionsReached:
    - freeMatchNode
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeMatch(SMatch* match)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:62,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:63,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:64,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:67,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:68,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:69,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:70,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:71,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:72,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:73,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:74,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:75,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
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:81,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:83,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:84,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:85,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:86,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:87,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:88,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:89,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:90,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:91,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:92,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:93,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:96,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 100
    functionName: shellPrintHelp
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void shellPrintHelp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int32_t
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: shellParseOpt
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 0
    functionsReached:
    - shellParseSingleOpt
    linkageType: ''
    returnType: error_t
    signature: error_t shellParseOpt(int32_t key, char *arg, struct argp_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/tdengine/tools/shell/src/shellArguments.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: shellParseArgsUseArgp
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 0
    functionsReached:
    - argp_parse
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellParseArgsUseArgp(int argc, char *argv[])
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:173,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:212,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:224,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:230,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:233,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:237,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:238,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellArguments.c:241,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:243,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellArguments.c:243,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellArguments.c:246,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:247,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellArguments.c:247,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:257,1
    - Dst: getConnMode
      Src: /src/tdengine/tools/shell/src/shellArguments.c:260,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 106
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 275
    functionName: shellParseSingleOpt
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - atoi
    - getConnMode
    - printf
    - tstrncpy
    - tstrerror
    - strlen
    - taosExpandDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellParseSingleOpt(int32_t key, char *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:283,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:283,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:284,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:284,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:285,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:288,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:289,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:298,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:301,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:307,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:309,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:312,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:318,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:320,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:323,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:327,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:329,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 339
    functionName: shellParseArgsWithoutArgp
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 0
    functionsReached:
    - strlen
    - shellParseSingleOpt
    - fprintf
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellParseArgsWithoutArgp(int argc, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:344,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellArguments.c:346,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:347,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:348,1
    - Dst: taosSetConsoleEcho
      Src: /src/tdengine/tools/shell/src/shellArguments.c:349,1
    - Dst: scanf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:350,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:351,1
    - Dst: taosSetConsoleEcho
      Src: /src/tdengine/tools/shell/src/shellArguments.c:353,1
    - Dst: getchar
      Src: /src/tdengine/tools/shell/src/shellArguments.c:354,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:355,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:358,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:359,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:361,1
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:365,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellArguments.c:367,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:368,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:369,1
    - Dst: taosSetConsoleEcho
      Src: /src/tdengine/tools/shell/src/shellArguments.c:370,1
    - Dst: scanf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:371,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:372,1
    - Dst: taosSetConsoleEcho
      Src: /src/tdengine/tools/shell/src/shellArguments.c:374,1
    - Dst: getchar
      Src: /src/tdengine/tools/shell/src/shellArguments.c:375,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:376,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:379,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:380,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:382,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:389,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:390,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 401
    functionName: shellInitArgs
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcpy
    - scanf
    - strncmp
    - printf
    - memset
    - getchar
    - tstrncpy
    - taosSetConsoleEcho
    - strlen
    linkageType: ''
    returnType: void
    signature: void shellInitArgs(int argc, char *argv[])
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:405,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:405,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:406,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:410,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:410,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:411,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:415,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:415,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:416,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:420,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:420,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:421,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellArguments.c:427,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:428,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:433,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:433,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:434,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellArguments.c:437,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:438,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:450,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:451,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:455,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:455,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:456,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:460,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:461,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:466,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:471,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:476,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:481,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 486
    functionName: shellCheckArgs
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 0
    functionsReached:
    - printf
    - tstrncpy
    - strlen
    - taosExpandDir
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellCheckArgs()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: shellInitArgs
      Src: /src/tdengine/tools/shell/src/shellArguments.c:489,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:494,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:495,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:497,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:500,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:504,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:505,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:505,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:507,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:508,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:508,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:510,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:511,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:513,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:517,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:524,1
    - Dst: shellParseArgsWithoutArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:525,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:528,1
    - Dst: getpwuid
      Src: /src/tdengine/tools/shell/src/shellArguments.c:528,1
    - Dst: getuid
      Src: /src/tdengine/tools/shell/src/shellArguments.c:528,1
    - Dst: shellParseArgsWithoutArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:529,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:532,1
    - Dst: shellParseArgsWithoutArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:534,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:537,1
    - Dst: getenv
      Src: /src/tdengine/tools/shell/src/shellArguments.c:537,1
    - Dst: shellParseArgsUseArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:538,1
    - Dst: shellCheckArgs
      Src: /src/tdengine/tools/shell/src/shellArguments.c:544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 545
    functionName: shellParseArgs
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 1
    functionsReached:
    - shellParseArgsWithoutArgp
    - strcpy
    - shellInitArgs
    - getpwuid
    - snprintf
    - getenv
    - getuid
    - strlen
    - shellParseArgsUseArgp
    - shellCheckArgs
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t shellParseArgs(int32_t argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:550,1
    - Dst: getenv
      Src: /src/tdengine/tools/shell/src/shellArguments.c:558,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:559,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:560,1
    - Dst: getenv
      Src: /src/tdengine/tools/shell/src/shellArguments.c:566,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:567,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:568,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 577
    functionName: getDsnEnv
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: 1
    functionsReached:
    - strlen
    - fprintf
    - getenv
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDsnEnv()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strToLowerCopy
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:66,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:67,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:68,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:69,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:71,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:73,1
    - Dst: strToLowerCopy
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:77,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp
    functionUses: 0
    functionsReached:
    - strToLowerCopy
    - printf
    - ASSERT_EQ
    - free
    - strcmp
    linkageType: ''
    returnType: void
    signature: void TEST(jsonTest, strToLowerCopy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCodeFromResp
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:86,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:87,1
    - Dst: getCodeFromResp
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:90,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:91,1
    - Dst: getCodeFromResp
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:94,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:95,1
    - Dst: getCodeFromResp
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:98,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:99,1
    - Dst: getCodeFromResp
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:102,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:103,1
    - Dst: getCodeFromResp
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:106,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - getCodeFromResp
    linkageType: ''
    returnType: void
    signature: void TEST(benchUtil, getCodeFromResp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:112,1
    - Dst: convertHostToServAddr
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:112,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:113,1
    - Dst: convertHostToServAddr
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp
    functionUses: 0
    functionsReached:
    - convertHostToServAddr
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(benchUtil, convertHostToServAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:118,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp
    functionUses: 0
    functionsReached:
    - memset
    - printErrCmdCodeStr
    linkageType: ''
    returnType: void
    signature: void TEST(benchUtil, printErrCmdCodeStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engineError
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:127,1
    - Dst: appendResultBufToFile
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:130,1
    - Dst: replaceChildTblName
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:134,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:135,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:139,1
    - Dst: ASSERT_GE
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:140,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:141,1
    - Dst: ASSERT_GE
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:142,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:143,1
    - Dst: ASSERT_GE
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:144,1
    - Dst: calcGroupIndex
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:147,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:148,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:151,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:151,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 155
    functionName: TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp
    functionUses: 0
    functionsReached:
    - replaceChildTblName
    - benchCalloc
    - ASSERT_GE
    - appendResultBufToFile
    - ASSERT_EQ
    - calcGroupIndex
    - toolsGetTimestamp
    - closeBenchConn
    - engineError
    linkageType: ''
    returnType: void
    signature: void TEST(benchUtil, Base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initLog
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:160,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:161,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:162,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:163,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:166,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:169,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/test/benchmarkTest.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - calloc
    - initLog
    - printf
    - exitLog
    - free
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/test/taosdumpTest.cpp:23,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/test/taosdumpTest.cpp:24,1
    - Dst: setConsoleEcho
      Src: /src/tdengine/tools/taos-tools/test/taosdumpTest.cpp:27,1
    - Dst: setConsoleEcho
      Src: /src/tdengine/tools/taos-tools/test/taosdumpTest.cpp:28,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/test/taosdumpTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: TEST
    functionSourceFile: /src/tdengine/tools/taos-tools/test/taosdumpTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - setConsoleEcho
    - errorPrintReqArg3
    linkageType: ''
    returnType: void
    signature: void TEST(taosdump, toolsSys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/test/taosdumpTest.cpp:33,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/tools/taos-tools/test/taosdumpTest.cpp:34,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/tools/taos-tools/test/taosdumpTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/test/taosdumpTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: debugPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debugPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fmt
    - ','
    - len
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: debugPrintWithLen
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debugPrintWithLen(fmt, len, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - json
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: debugPrintJsonNoTime
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debugPrintJsonNoTime(json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: debugPrintNoTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debugPrintNoTimestamp(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: infoPrintNoTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: infoPrintNoTimestamp(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: infoPrintNoTimestampToFile
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: infoPrintNoTimestampToFile(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: infoPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: infoPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: infoPrintToFile
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: infoPrintToFile(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 186
    functionName: perfPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: perfPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 219
    functionName: errorPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: errorPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 252
    functionName: warnPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: warnPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 285
    functionName: succPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: succPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: MAX
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: MIN
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: RD
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD(max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: IS_VAR_DATA_TYPE
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_VAR_DATA_TYPE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: ATOR
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: tmpInt8
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tmpInt8(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: tmpUint8
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tmpUint8(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: tmpInt16
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tmpInt16(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: tmpUint16
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tmpUint16(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: tmpInt32
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tmpInt32(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: tmpUint32
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tmpUint32(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: tmpInt64
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tmpInt64(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: tmpUint64
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tmpUint64(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    functionName: tmpFloat
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tmpFloat(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: tmpDouble
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tmpDouble(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 932
    functionName: min
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - array
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 934
    functionName: BARRAY_GET_ELEM
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/bench.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BARRAY_GET_ELEM(array, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: ABS_DIFF
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchInsertMix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS_DIFF(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: FULL_DISORDER
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/benchInsertMix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULL_DISORDER(stb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: debugPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/dump.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debugPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: debugPrint2
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/dump.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debugPrint2(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: verbosePrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/dump.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verbosePrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: perfPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/dump.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: perfPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: warnPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/dump.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: warnPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: errorPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/dump.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: errorPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: okPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/dump.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: okPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: infoPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/dump.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: infoPrint(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tbName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: freeTbNameIfLooseMode
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/dump.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: freeTbNameIfLooseMode(tbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: min
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/dump.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: tfree
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/dump.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tfree(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - __pLine
    - ','
    - __pN
    - ','
    - __pFp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: toolsGetLineFile
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: toolsGetLineFile(__pLine,__pN, __pFp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: TOOLS_STRNCPY
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOOLS_STRNCPY(dst, src, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: TOOLS_ASSERT
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOOLS_ASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: TOOLS_ASSERT
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOOLS_ASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: SET_THREAD_NAME
    functionSourceFile: /src/tdengine/tools/taos-tools/inc/toolsdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_THREAD_NAME(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: markDumpOutError
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_64
    linkageType: ''
    returnType: void
    signature: void markDumpOutError(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimeOfDay
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:242,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:248,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: getUniqueIDFromEpoch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint
    - atomic_add_fetch_64
    - toolsGetTimeOfDay
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getUniqueIDFromEpoch()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:260,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:265,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:266,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: printVersion
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - printf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void printVersion(FILE *file)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 318
    functionName: typeToStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *typeToStr(int type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:325,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:326,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:335,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:336,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:337,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:338,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:339,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:340,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:341,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:342,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:343,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:344,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:345,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:346,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:347,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:348,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:349,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:350,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:351,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:352,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:353,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:354,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:355,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:356,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:357,1
    - Dst: CHECK_TYPE
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:358,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:360,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:360,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:362,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:369,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:371,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - type_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 389
    functionName: typeStrToType
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - atoi
    - strncpy
    - strchr
    - CHECK_TYPE
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int typeStrToType(const char *type_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type_const
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: CHECK_TYPE
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_TYPE(name, type_const)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:394,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:395,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:397,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 408
    functionName: getStartTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - errorPrint
    - toolsParseTime
    linkageType: ''
    returnType: int64_t
    signature: int64_t getStartTime(int precision)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:413,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:414,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:415,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 425
    functionName: getEndTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - errorPrint
    - toolsParseTime
    linkageType: ''
    returnType: int64_t
    signature: int64_t getEndTime(int precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:428,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - first
    - prev
    argTypes:
    - char*
    - SRenameDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: newNode
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    linkageType: ''
    returnType: SRenameDB
    signature: SRenameDB * newNode(char* first, SRenameDB* prev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:442,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:449,1
    - Dst: newNode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:467,1
    - Dst: newNode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:476,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 483
    functionName: setRenameDbs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - newNode
    - malloc
    linkageType: ''
    returnType: void
    signature: void setRenameDbs(char* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - oldName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: findNewName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char * findNewName(char* oldName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - des
    - src
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 510
    functionName: replaceCopy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool replaceCopy(char *des, char *src)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:526,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:527,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:542,1
    - Dst: findNewName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:546,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:552,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:552,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:553,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:557,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:560,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:561,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:562,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - cmd
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 565
    functionName: replaceNewName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - strchr
    - findNewName
    - strcat
    - strlen
    - malloc
    linkageType: ''
    returnType: char
    signature: char * replaceNewName(char* cmd, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - out
    - cap
    - need
    - used
    argTypes:
    - char**
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 576
    functionName: ensure_cap
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int ensure_cap(char **out, int *cap, int need, int used)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - s
    - n
    - i
    argTypes:
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: skip_spaces
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void skip_spaces(const char *s, int n, int *i)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:591,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:593,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:602,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:603,1
    - Dst: ensure_cap
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:606,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:606,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:607,1
    - Dst: skip_spaces
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:613,1
    - Dst: ensure_cap
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:614,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:614,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:615,1
    - Dst: ensure_cap
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:622,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:622,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:649,1
    - Dst: findNewName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:651,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:653,1
    - Dst: ensure_cap
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:654,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:654,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:655,1
    - Dst: ensure_cap
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:659,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:659,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:660,1
    - Dst: ensure_cap
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:665,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:665,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:666,1
    - Dst: ensure_cap
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:672,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:672,1
    - Dst: ensure_cap
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:683,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:683,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:690,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 694
    functionName: replaceDbNamesInFromUsing
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - ensure_cap
    - memcpy
    - strncasecmp
    - skip_spaces
    - free
    - findNewName
    - strlen
    - malloc
    linkageType: ''
    returnType: char
    signature: char * replaceDbNamesInFromUsing(const char *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:709,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:710,1
    - Dst: replaceNewName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:712,1
    - Dst: replaceDbNamesInFromUsing
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:718,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 725
    functionName: afterRenameSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - replaceDbNamesInFromUsing
    - replaceNewName
    - strncmp
    - free
    - strlen
    linkageType: ''
    returnType: char
    signature: char * afterRenameSql(char *cmd)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:752,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:753,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:754,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:757,1
    - Dst: errorWrongValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:759,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:760,1
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:767,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:768,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:773,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:775,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:777,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:778,1
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:788,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:789,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:794,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:795,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:797,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:798,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:804,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:815,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:817,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:826,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:827,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:828,1
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:830,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:831,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:832,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:834,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:835,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:866,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:873,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:874,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:875,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:877,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:887,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:888,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:897,1
    - Dst: setRenameDbs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:904,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:907,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:908,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:911,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:912,1
    - Dst: getConnMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:915,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 159
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 922
    functionName: parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - wordexp
    - exit
    - TOOLS_STRNCPY
    - toolsIsStringNumber
    - wordfree
    - errorPrintReqArg2
    - setRenameDbs
    - atoi
    - errorPrintReqArg3
    - getConnMode
    - printf
    - snprintf
    - errorWrongValue
    - errorPrint
    - strcmp
    linkageType: ''
    returnType: error_t
    signature: error_t parse_opt(int key, char *arg, struct argp_state *state)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:932,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:933,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:934,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:935,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:936,1
    - Dst: setConsoleEcho
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:937,1
    - Dst: scanf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:938,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:939,1
    - Dst: setConsoleEcho
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:942,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:944,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:945,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:947,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:949,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:950,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:951,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:953,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:954,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:955,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:957,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:958,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:959,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:961,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:963,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:964,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:966,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:967,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:969,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:970,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:972,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:973,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:974,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:976,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:978,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:978,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:979,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:981,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:982,1
    - Dst: errorPrintReqArg
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:984,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:985,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:988,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:989,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:991,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:992,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:992,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:993,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:994,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:994,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:996,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:997,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1002,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1002,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1003,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1003,1
    - Dst: printVersion
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1004,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1005,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 3
    argNames:
    - argc
    - argv
    - arguments
    argTypes:
    - int
    - char*[]
    - SArguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 1010
    functionName: parse_args
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - exit
    - printVersion
    - setConsoleEcho
    - errorPrintReqArg
    - strcpy
    - scanf
    - errorPrintReqArg3
    - strncmp
    - printf
    - strlen
    - errorPrint
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void parse_args(\n        int argc, char *argv[], SArguments *arguments)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1013,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1013,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1014,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1015,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1015,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1016,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1019,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - timeStr
    - isStartTime
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1023
    functionName: copyHumanTimeToArg
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    - TOOLS_STRNCPY
    linkageType: ''
    returnType: void
    signature: void copyHumanTimeToArg(char *timeStr, bool isStartTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1027,1
    - Dst: strtoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - timeStr
    - isStartTime
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1031
    functionName: copyTimestampToArg
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strtoll
    linkageType: ''
    returnType: void
    signature: void copyTimestampToArg(char *timeStr, bool isStartTime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1035,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1036,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1039,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1040,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1040,1
    - Dst: copyHumanTimeToArg
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1041,1
    - Dst: copyTimestampToArg
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1043,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - input
    - isStartTime
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1033
    functionDepth: 2
    functionLinenumber: 1033
    functionLinenumberEnd: 1046
    functionName: parseTimestampConvert
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - exit
    - strdup
    - copyHumanTimeToArg
    - copyTimestampToArg
    - free
    - strchr
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void parseTimestampConvert(char *input, bool isStartTime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1053,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1054,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1056,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1057,1
    - Dst: parseTimestampConvert
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1062,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1063,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1064,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1067,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1068,1
    - Dst: parseTimestampConvert
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1073,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - argc
    - argv
    - arguments
    argTypes:
    - int
    - char*[]
    - SArguments*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1048
    functionDepth: 3
    functionLinenumber: 1048
    functionLinenumberEnd: 1076
    functionName: parse_timestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    - strcmp
    - parseTimestampConvert
    linkageType: ''
    returnType: void
    signature: "void parse_timestamp(\n        int argc, char *argv[], SArguments
      *arguments)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1079,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1082,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1085,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - precision
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1094
    functionName: getPrecisionByString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int getPrecisionByString(char *precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1099,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1101
    functionName: freeDbInfos
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    linkageType: ''
    returnType: void
    signature: void freeDbInfos()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1106,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1108,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1108,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1109,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - funcname
    - lineno
    - command
    - res
    argTypes:
    - char*
    - int
    - char*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1112
    functionName: cleanIfQueryFailed
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - free
    - taos_errno
    - taos_errstr
    - errorPrint
    linkageType: ''
    returnType: int
    signature: "int cleanIfQueryFailed(const char *funcname, int lineno,\n                              char
      *command, TAOS_RES *res)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1120,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1128,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1130,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1132,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1133,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1137,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1143,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1145,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1146,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1147,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1148,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1149,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1152,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1156,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1161,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1169,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1171,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1172,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1176,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1177,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1181,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1186,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1188,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1193,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1196,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1198,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1214,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1215,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1216,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 4
    argNames:
    - dbName
    - table
    - pTableRecordInfo
    - tryStable
    argTypes:
    - char*
    - char*
    - TableRecordInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1223
    functionName: getTableRecordInfoImplNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - TOOLS_STRNCPY
    - calloc
    - taos_close
    - taosQuery
    - taos_fetch_lengths
    - taos_free_result
    - strncpy
    - snprintf
    - memset
    - free
    - cleanIfQueryFailed
    - min
    - taosConnect
    - taos_errstr
    - errorPrint
    - taos_fetch_row
    linkageType: ''
    returnType: int
    signature: "int getTableRecordInfoImplNative(\n        char *dbName,\n        char
      *table, TableRecordInfo *pTableRecordInfo,\n        bool tryStable)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableRecordInfoImplNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1228,1
    - Dst: getTableRecordInfoImplNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1231,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dbName
    - table
    - pTableRecordInfo
    argTypes:
    - char*
    - char*
    - TableRecordInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1238
    functionName: getTableRecordInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - getTableRecordInfoImplNative
    - errorPrint
    linkageType: ''
    returnType: int
    signature: "int getTableRecordInfo(\n        char *dbName,\n        char *table,
      TableRecordInfo *pTableRecordInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1242,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1243,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - dbName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1255
    functionName: isSystemDatabase
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isSystemDatabase(char *dbName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1262,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1263,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1267,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1269,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1271,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1272,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1276,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - dbName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1283
    functionName: inDatabasesSeq
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strdup
    - strstr
    - strsep
    - free
    - tfree
    - strcmp
    linkageType: ''
    returnType: int
    signature: int inDatabasesSeq(const char *dbName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1289,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1290,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1292,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1298,1
    - Dst: isSystemDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1300,1
    - Dst: inDatabasesSeq
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1305,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1309,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - res
    argTypes:
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1318
    functionName: getDbCountNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_fetch_lengths
    - isSystemDatabase
    - inDatabasesSeq
    - strncpy
    - taos_fetch_row
    - errorPrint
    - strcmp
    linkageType: ''
    returnType: int
    signature: int getDbCountNative(TAOS_RES *res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1326,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1328,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1332,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1337,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1338,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1341,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1343,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1344,1
    - Dst: getDbCountNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1348,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1349,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1350,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1320
    functionDepth: 3
    functionLinenumber: 1320
    functionLinenumberEnd: 1354
    functionName: getDumpDbCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - getDbCountNative
    - taos_close
    - taosQuery
    - taos_free_result
    - snprintf
    - free
    - cleanIfQueryFailed
    - taosConnect
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int getDumpDbCount()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1366,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1368,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1379,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1383,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1394,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1405,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1408,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1412,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1421,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1424,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1428,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1439,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1441,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1442,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 5
    argNames:
    - dbName
    - stable
    - tableDes
    - numColsAndTags
    - fp
    argTypes:
    - char*
    - char*
    - TableDes*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1445
    functionName: dumpCreateMTableClause
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - fprintf
    - replaceCopy
    - sprintf
    - snprintf
    - free
    - errorPrint
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: int
    signature: "int dumpCreateMTableClause(\n        const char* dbName,\n        const
      char *stable,\n        TableDes *tableDes,\n        int numColsAndTags,\n        FILE
      *fp\n        )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1450,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1454,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1456,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1460,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1464,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1468,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1470,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1471,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1477,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1481,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1483,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1484,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - dbName
    - stbName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1487
    functionName: getTbCountOfStbNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - taos_close
    - debugPrint
    - taosQuery
    - taos_free_result
    - snprintf
    - cleanIfQueryFailed
    - free
    - infoPrint
    - taosConnect
    - taos_fetch_row
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: int64_t getTbCountOfStbNative(const char *dbName, const char *stbName)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1496,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1497,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1499,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1512,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1519,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1523,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1526,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1530,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1533,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1537,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1542,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1547,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1550,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1553,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1557,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1561,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1566,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1573,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1576,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1580,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1584,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1601,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1605,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1608,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1612,1
    - Dst: convertNCharToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1619,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1622,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1626,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1629,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1630,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1633,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1637,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1647,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 116
    argCount: 4
    argNames:
    - index
    - tableDes
    - value
    - len
    argTypes:
    - int
    - TableDes*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1653
    functionName: processFieldsValueV3
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - strcpy
    - strncpy
    - strncmp
    - convertNCharToReadable
    - memset
    - free
    - snprintf
    - errorPrint
    - TOOLS_ASSERT
    - convertStringToReadable
    linkageType: ''
    returnType: int
    signature: "int processFieldsValueV3(\n        int index,\n        TableDes *tableDes,\n
      \       const void *value,\n        int32_t len)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1662,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1666,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1670,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1674,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1678,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1682,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1686,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1690,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1694,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1700,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1701,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1702,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1704,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1707,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1708,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1711,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1715,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1718,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1722,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1723,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1730,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1731,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1732,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1734,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1737,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1738,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1741,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1745,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1748,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1752,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1754,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1759,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1763,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1766,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1769,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1773,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1777,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1782,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1789,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1792,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1796,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1800,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1815,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1819,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1822,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1826,1
    - Dst: convertNCharToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1834,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1837,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1841,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1844,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1847,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1851,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1860,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1864,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 143
    argCount: 4
    argNames:
    - index
    - tableDes
    - value
    - len
    argTypes:
    - int
    - TableDes*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1655
    functionDepth: 1
    functionLinenumber: 1655
    functionLinenumberEnd: 1869
    functionName: processFieldsValueV2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - verbosePrint
    - strncpy
    - snprintf
    - free
    - memset
    - GET_DOUBLE_VAL
    - convertStringToReadable
    - convertNCharToReadable
    - strlen
    - errorPrint
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int
    signature: "int processFieldsValueV2(\n        int index,\n        TableDes *tableDes,\n
      \       const void *value,\n        int32_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1876,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - stbTableDes
    - table
    - ppTableDes
    argTypes:
    - TableDes*
    - char*
    - TableDes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1871
    functionDepth: 1
    functionLinenumber: 1871
    functionLinenumberEnd: 1885
    functionName: constructTableDesFromStb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void constructTableDesFromStb(const TableDes *stbTableDes,\n        const
      char *table,\n        TableDes **ppTableDes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1895,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1897,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1901,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1907,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1909,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1914,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1915,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1918,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1919,1
    - Dst: processFieldsValueV3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1920,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1922,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1924,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1925,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1932,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1933,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - taos
    - dbName
    - table
    - ppTableDes
    argTypes:
    - TAOS*
    - char*
    - char*
    - TableDes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1888
    functionDepth: 2
    functionLinenumber: 1888
    functionLinenumberEnd: 1936
    functionName: getTableTagValue
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - strcpy
    - processFieldsValueV3
    - taosQuery
    - taos_fetch_lengths
    - taos_free_result
    - snprintf
    - cleanIfQueryFailed
    - free
    - taos_fetch_row
    - errorPrint
    linkageType: ''
    returnType: int
    signature: "int getTableTagValue(\n        TAOS *taos,\n        const char *dbName,\n
      \       const char *table,\n        TableDes **ppTableDes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constructTableDesFromStb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1944,1
    - Dst: getTableTagValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - taos
    - dbName
    - stbTableDes
    - table
    - pptableDes
    argTypes:
    - TAOS*
    - char*
    - TableDes*
    - char*
    - TableDes**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1938
    functionDepth: 3
    functionLinenumber: 1938
    functionLinenumberEnd: 1946
    functionName: getTableDesFromStbNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - constructTableDesFromStb
    - getTableTagValue
    linkageType: ''
    returnType: int
    signature: "int getTableDesFromStbNative(\n        TAOS *taos,\n        const
      char* dbName,\n        const TableDes *stbTableDes,\n        const char *table,\n
      \       TableDes **pptableDes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1960,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1962,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1966,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1973,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1975,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1977,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1981,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1983,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1984,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1986,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1989,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1991,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1997,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1998,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2001,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2005,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2016,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2017,1
    - Dst: getTableTagValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2026,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 5
    argNames:
    - taos
    - dbName
    - table
    - tableDes
    - colOnly
    argTypes:
    - TAOS*
    - char*
    - char*
    - TableDes*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 1948
    functionDepth: 3
    functionLinenumber: 1948
    functionLinenumberEnd: 2027
    functionName: getTableDes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - calloc
    - debugPrint
    - taosQuery
    - taos_fetch_lengths
    - strncpy
    - taos_free_result
    - snprintf
    - cleanIfQueryFailed
    - free
    - min
    - getTableTagValue
    - taos_fetch_row
    - errorPrint
    - typeStrToType
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int getTableDes(TAOS *taos,\n        const char* dbName,\n        const
      char *table,\n        TableDes *tableDes,\n        const bool colOnly)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2036
    functionName: typeNeedsLength
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool typeNeedsLength(int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2042
    functionName: typeIsDecimal
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool typeIsDecimal(int type)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2048,1
    - Dst: openQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2050,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2052,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2070,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2072,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2073,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2080,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2081,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2083,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2085,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2086,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2087,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2088,1
    - Dst: typeIsDecimal
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2093,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2094,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2096,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2098,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2099,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2106,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2107,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2108,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2113,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2116,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2118,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2125,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2131,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2133,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2134,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2143,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2146,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2155,1
    - Dst: typeNeedsLength
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2157,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2158,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2159,1
    - Dst: typeIsDecimal
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2160,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2161,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2162,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2165,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2166,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2170,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2174,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2179,1
    - Dst: typeNeedsLength
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2181,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2182,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2183,1
    - Dst: typeIsDecimal
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2184,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2185,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2186,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2189,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2190,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2194,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2197,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2199,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2203,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 3
    argNames:
    - taos_v
    - dbName
    - tbName
    argTypes:
    - void**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2046
    functionDepth: 2
    functionLinenumber: 2046
    functionLinenumberEnd: 2206
    functionName: buildCreateSqlFromDescribe
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - replaceCopy
    - calloc
    - taos_fetch_lengths
    - snprintf
    - typeStrToType
    - typeIsDecimal
    - typeNeedsLength
    - debugPrint
    - atoi
    - strncpy
    - free
    - errorPrint
    - strcmp
    - warnPrint
    - strchr
    - min
    - openQuery
    - typeToStr
    - closeQuery
    - taos_fetch_row
    linkageType: ''
    returnType: char
    signature: char *buildCreateSqlFromDescribe(void** taos_v, const char *dbName,
      char *tbName)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2212,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2213,1
    - Dst: openQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2216,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2218,1
    - Dst: buildCreateSqlFromDescribe
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2220,1
    - Dst: readRow
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2227,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2229,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2230,1
    - Dst: buildCreateSqlFromDescribe
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2232,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2237,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2240,1
    - Dst: buildCreateSqlFromDescribe
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2241,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2253,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2265,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2267,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2268,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2268,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2270,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2272,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2272,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2274,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2281,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2282,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2283,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2284,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2289,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2289,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2291,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2292,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2293,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2294,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2301,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2307,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2308,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2309,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2311,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2312,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2315,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 4
    argNames:
    - taos_v
    - dbName
    - tbName
    - isVirtual
    argTypes:
    - void**
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2209
    functionDepth: 3
    functionLinenumber: 2209
    functionLinenumberEnd: 2319
    functionName: queryCreateTableSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - readRow
    - memcpy
    - replaceCopy
    - strncasecmp
    - calloc
    - debugPrint
    - openQuery
    - warnPrint
    - snprintf
    - memset
    - closeQuery
    - buildCreateSqlFromDescribe
    - strlen
    - errorPrint
    linkageType: ''
    returnType: char
    signature: char *queryCreateTableSql(void** taos_v, const char *dbName, char *tbName,
      bool *isVirtual)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2325,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2329,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - recordSchema
    argTypes:
    - RecordSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2322
    functionDepth: 1
    functionLinenumber: 2322
    functionLinenumberEnd: 2334
    functionName: freeRecordSchema
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - freeTbDes
    - free
    linkageType: ''
    returnType: void
    signature: void freeRecordSchema(RecordSchema *recordSchema)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2342,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2344,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2346,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2348,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2351,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2352,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2357,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2362,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2363,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2364,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2366,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2367,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2371,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2371,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2373,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2378,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2380,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2382,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2384,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2388,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2391,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2399,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2401,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2402,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2406,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2411,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2414,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2421,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2423,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2424,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2431,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2439,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2440,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2442,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2443,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2448,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2455,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2457,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2459,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2465,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2466,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2470,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2471,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2477,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2479,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2481,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2492,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 2
    argNames:
    - value
    - recordSchema
    argTypes:
    - json_t*
    - RecordSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2341
    functionDepth: 2
    functionLinenumber: 2341
    functionLinenumberEnd: 2498
    functionName: readJsonFields
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - calloc
    - ASSERT
    - verbosePrint
    - tstrncpy
    - json_typeof
    - json_plural
    - json_string_value
    - errorPrint
    - typeStrToType
    - strcmp
    - json_array_get
    linkageType: ''
    returnType: int32_t
    signature: int32_t readJsonFields( json_t *value, RecordSchema *recordSchema)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2362,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2363,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2364,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2366,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2367,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2371,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2371,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2373,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2378,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2380,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2382,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2384,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2388,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2391,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2399,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2401,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2402,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2406,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2411,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2414,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2421,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2423,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2424,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2431,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2439,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2440,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2442,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2443,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2448,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2455,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2457,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2459,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2465,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2466,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2470,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2471,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2477,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2479,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2481,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2361
    functionDepth: 2
    functionLinenumber: 2361
    functionLinenumberEnd: 2489
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - tstrncpy
    - json_typeof
    - json_string_value
    - errorPrint
    - typeStrToType
    - strcmp
    - json_array_get
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(arr_element, ele_key, ele_value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2399,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2401,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2402,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2406,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2411,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2414,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2421,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2423,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 2395
    functionDepth: 2
    functionLinenumber: 2395
    functionLinenumberEnd: 2429
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - typeStrToType
    - json_string_value
    - json_typeof
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void json_object_foreach(arr_type_ele,\n                                        arr_type_ele_key,\n
      \                                       arr_type_ele_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2421,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2423,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2418
    functionDepth: 2
    functionLinenumber: 2418
    functionLinenumberEnd: 2427
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_string_value
    - json_typeof
    - typeStrToType
    linkageType: ''
    returnType: void
    signature: "void json_object_foreach(arr_type_ele_value,\n                                                arr_type_ele_value_key,\n
      \                                               arr_type_ele_value_value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2439,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2440,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2442,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2443,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2448,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2455,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2457,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2459,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2465,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2466,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2470,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2471,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2477,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2479,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2481,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2438
    functionDepth: 2
    functionLinenumber: 2438
    functionLinenumberEnd: 2486
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - typeStrToType
    - json_string_value
    - json_typeof
    - strcmp
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(ele_value, obj_key, obj_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2455,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2457,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2454
    functionDepth: 2
    functionLinenumber: 2454
    functionLinenumberEnd: 2463
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_string_value
    - json_typeof
    - typeStrToType
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(obj_value, field_key, field_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2477,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2479,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2476
    functionDepth: 2
    functionLinenumber: 2476
    functionLinenumberEnd: 2483
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_string_value
    - json_typeof
    - typeStrToType
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(obj_value, item_key, item_value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2504,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2506,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2511,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2512,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2514,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2523,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2524,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2524,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2526,1
    - Dst: readJsonFields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2527,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - element
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2503
    functionDepth: 3
    functionLinenumber: 2503
    functionLinenumberEnd: 2535
    functionName: parse_json_to_recordschema
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - readJsonFields
    - free
    - tstrncpy
    - json_typeof
    - json_string_value
    - errorPrint
    - strcmp
    linkageType: ''
    returnType: RecordSchema
    signature: RecordSchema *parse_json_to_recordschema(json_t *element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2523,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2524,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2524,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2526,1
    - Dst: readJsonFields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2527,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2521
    functionDepth: 3
    functionLinenumber: 2521
    functionLinenumberEnd: 2532
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - readJsonFields
    - tstrncpy
    - free
    - json_string_value
    - strcmp
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(element, key, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - l
    argTypes:
    - FILE*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2538
    functionDepth: 0
    functionLinenumber: 2538
    functionLinenumberEnd: 2548
    functionName: avro_zigzag_write_long
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int avro_zigzag_write_long(FILE *fp, int64_t l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_zigzag_write_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2552,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - fp
    - data
    - len
    argTypes:
    - FILE*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2551
    functionDepth: 1
    functionLinenumber: 2551
    functionLinenumberEnd: 2555
    functionName: avro_raw_write_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - fwrite
    - avro_zigzag_write_long
    linkageType: ''
    returnType: int
    signature: int avro_raw_write_bytes(FILE *fp, const char *data, int64_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_write_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2559,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - s
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2558
    functionDepth: 2
    functionLinenumber: 2558
    functionLinenumberEnd: 2560
    functionName: avro_raw_write_string
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_raw_write_bytes
    - strlen
    linkageType: ''
    returnType: int
    signature: int avro_raw_write_string(FILE *fp, const char *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2577,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2579,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2585,1
    - Dst: avro_zigzag_write_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2588,1
    - Dst: avro_raw_write_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2591,1
    - Dst: avro_raw_write_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2592,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2592,1
    - Dst: avro_raw_write_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2596,1
    - Dst: avro_raw_write_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2597,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2597,1
    - Dst: avro_zigzag_write_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2601,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2605,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2607,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2609,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2613,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2614,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2615,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 4
    argNames:
    - path
    - schemaJson
    - codecName
    - syncOut
    argTypes:
    - char*
    - char*
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2575
    functionDepth: 3
    functionLinenumber: 2575
    functionLinenumberEnd: 2617
    functionName: writeAvroHeaderRaw
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - fwrite
    - errorPrint
    - avro_raw_write_string
    - rand
    - fopen
    - fclose
    - remove
    - avro_raw_write_bytes
    - strlen
    - avro_zigzag_write_long
    linkageType: ''
    returnType: int
    signature: "int writeAvroHeaderRaw(const char *path, const char *schemaJson,\n
      \   const char *codecName, uint8_t *syncOut)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2625,1
    - Dst: avro_schema_from_json_length
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2626,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2626,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2627,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2629,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2630,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2633,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2634,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2638,1
    - Dst: parse_json_to_recordschema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2641,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2643,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2644,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2647,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2649,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2650,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2654,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2662,1
    - Dst: writeAvroHeaderRaw
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2667,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2669,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2671,1
    - Dst: avro_file_writer_open_bs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2674,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2676,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2677,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2678,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2679,1
    - Dst: avro_file_writer_create_with_codec
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2682,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2685,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2686,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2687,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 5
    argNames:
    - avroFilename
    - jsonSchema
    - schema
    - recordSchema
    - writer
    argTypes:
    - char*
    - char*
    - avro_schema_t*
    - RecordSchema**
    - avro_file_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2619
    functionDepth: 4
    functionLinenumber: 2619
    functionLinenumberEnd: 2695
    functionName: prepareAvroWface
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_decref
    - avro_schema_from_json_length
    - avro_file_writer_create_with_codec
    - exit
    - parse_json_to_recordschema
    - avro_file_writer_open_bs
    - print_json
    - load_json
    - verbosePrint
    - writeAvroHeaderRaw
    - infoPrint
    - avro_strerror
    - remove
    - avro_generic_class_from_schema
    - strlen
    - errorPrint
    - TOOLS_ASSERT
    linkageType: ''
    returnType: avro_value_iface_t
    signature: "avro_value_iface_t * prepareAvroWface(\n        const char *avroFilename,\n
      \       char *jsonSchema,\n        avro_schema_t *schema,\n        RecordSchema
      **recordSchema,\n        avro_file_writer_t *writer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2703,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2723,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2725,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2730,1
    - Dst: queryCreateTableSql
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2738,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2740,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2744,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2750,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2755,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2758,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2760,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2764,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2767,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2768,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2770,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2773,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2776,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2778,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2782,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2783,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2785,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2786,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2788,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2791,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2792,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2793,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2794,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2795,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2797,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 5
    argNames:
    - taos_v
    - dumpFilename
    - tableDes
    - numOfCols
    - dbName
    argTypes:
    - void**
    - char*
    - TableDes*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2697
    functionDepth: 5
    functionLinenumber: 2697
    functionLinenumberEnd: 2801
    functionName: dumpCreateTableClauseAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - replaceCopy
    - calloc
    - avro_value_decref
    - snprintf
    - avro_file_writer_append_value
    - TOOLS_ASSERT
    - freeRecordSchema
    - debugPrint
    - avro_generic_value_new
    - prepareAvroWface
    - free
    - avro_value_get_by_name
    - errorPrint
    - avro_value_set_string
    - queryCreateTableSql
    - avro_value_set_branch
    - avro_file_writer_close
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_strerror
    linkageType: ''
    returnType: int
    signature: "int dumpCreateTableClauseAvro(\n        void **taos_v,\n        const
      char *dumpFilename,\n        TableDes *tableDes,\n        int numOfCols,\n        const
      char* dbName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: queryCreateTableSql
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2809,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2815,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2816,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2817,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2818,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2818,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2819,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - taos_v
    - tableDes
    - fp
    - dbName
    argTypes:
    - void**
    - TableDes*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2803
    functionDepth: 4
    functionLinenumber: 2803
    functionLinenumberEnd: 2824
    functionName: dumpCreateTableClause
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - fprintf
    - queryCreateTableSql
    - debugPrint
    - free
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int
    signature: "int dumpCreateTableClause(\n        void ** taos_v,\n        TableDes
      *tableDes,\n        FILE *fp,\n        const char* dbName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2835,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2839,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2841,1
    - Dst: dumpCreateTableClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - taos_v
    - dbInfo
    - stbName
    - pStbTableDes
    - fp
    argTypes:
    - void**
    - SDbInfo*
    - char*
    - TableDes**
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2826
    functionDepth: 5
    functionLinenumber: 2826
    functionLinenumberEnd: 2845
    functionName: dumpStableClasuse
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - getTableDes
    - exit
    - errorPrint
    - dumpCreateTableClause
    linkageType: ''
    returnType: int
    signature: "int dumpStableClasuse(\n        void **taos_v,\n        SDbInfo *dbInfo,\n
      \       const char *stbName,\n        TableDes **pStbTableDes,\n        FILE
      *fp)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dumpExtraInfo
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2852,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2855,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2864,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2868,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2869,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2870,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2871,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2876,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2881,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2885,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2886,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2891,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2896,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2901,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2906,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2911,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2915,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2920,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2924,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2925,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2928,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2945,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2949,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2953,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2957,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2958,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2959,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 4
    argNames:
    - taos_v
    - dbInfo
    - isDumpProperty
    - fp
    argTypes:
    - void**
    - SDbInfo*
    - bool
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2847
    functionDepth: 1
    functionLinenumber: 2847
    functionLinenumberEnd: 2960
    functionName: dumpCreateDbClause
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - fprintf
    - sprintf
    - debugPrint
    - strlen
    - dumpExtraInfo
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void dumpCreateDbClause(\n        void **taos_v,\n        SDbInfo
      *dbInfo, bool isDumpProperty, FILE *fp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2965,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2966,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2973,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2974,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2976,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2977,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2962
    functionDepth: 0
    functionLinenumber: 2962
    functionLinenumberEnd: 2983
    functionName: openDumpInFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - wordexp
    - wordfree
    - strerror
    - fopen
    - strlen
    - errorPrint
    linkageType: ''
    returnType: FILE
    signature: FILE * openDumpInFile(char *fptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2988,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2989,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2991,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2993,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2993,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2994,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2994,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3000,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3003,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3004,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3004,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3008,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3009,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3011,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3015,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3017,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3018,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3019,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3022,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3025,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3025,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3032,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3035,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3036,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3037,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3038,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - dbPath
    - entryName
    - ext
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3041
      start: 2985
    functionDepth: 0
    functionLinenumber: 2985
    functionLinenumberEnd: 3041
    functionName: hasVirtualTag
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_file_reader_get_writer_schema
    - avro_value_get_string
    - avro_value_decref
    - snprintf
    - avro_generic_class_from_schema
    - avro_file_reader
    - strncasecmp
    - avro_file_reader_close
    - debugPrint
    - avro_generic_value_new
    - avro_value_get_current_branch
    - avro_value_get_by_name
    - strcmp
    - avro_value_get_null
    - avro_schema_decref
    - avro_file_reader_read_value
    - strncmp
    - avro_value_iface_decref
    - avro_strerror
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool hasVirtualTag(const char *dbPath, const char *entryName, const
      char *ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ext
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 3043
    functionDepth: 0
    functionLinenumber: 3043
    functionLinenumberEnd: 3045
    functionName: isAvroDataExt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isAvroDataExt(const char *ext)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isAvroDataExt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3048,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3049,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3059,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3061,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3063,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3065,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3066,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3067,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3070,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3072,1
    - Dst: hasVirtualTag
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3076,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3082,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3087,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3090,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - dbPath
    - ext
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3047
    functionDepth: 1
    functionLinenumber: 3047
    functionLinenumberEnd: 3094
    functionName: getFilesNum
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - hasVirtualTag
    - toolsOpenDir
    - debugPrint
    - isAvroDataExt
    - toolsReadDir
    - verbosePrint
    - toolsGetDirEntryName
    - strlen
    - toolsCloseDir
    - strcmp
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getFilesNum(const char *dbPath, const char *ext)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3117,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3123,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - avroType
    - count
    argTypes:
    - enAVROTYPE
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3096
    functionDepth: 1
    functionLinenumber: 3096
    functionLinenumberEnd: 3126
    functionName: freeFileList
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void freeFileList(enAVROTYPE avroType, int64_t count)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3131,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3133,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3134,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3136,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3137,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3139,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3139,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3145,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3146,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3149,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3150,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3155,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3156,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3159,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3160,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3165,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3166,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3169,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3170,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3175,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3176,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3179,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3180,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3185,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3194,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3197,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3199,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3200,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3201,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3204,1
    - Dst: hasVirtualTag
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3207,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3213,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3216,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3219,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3221,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3225,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3227,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3231,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3233,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3237,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3239,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3243,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3254,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3257,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 3
    argNames:
    - dbPath
    - ext
    - count
    argTypes:
    - char*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3128
    functionDepth: 1
    functionLinenumber: 3128
    functionLinenumberEnd: 3261
    functionName: createDumpinList
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strcmp
    - hasVirtualTag
    - TOOLS_STRNCPY
    - toolsOpenDir
    - calloc
    - debugPrint
    - toolsReadDir
    - verbosePrint
    - strncmp
    - min
    - toolsGetDirEntryName
    - strlen
    - errorPrint
    - toolsCloseDir
    - TOOLS_ASSERT
    linkageType: ''
    returnType: enAVROTYPE
    signature: "enAVROTYPE createDumpinList(const char *dbPath,\n        const char
      *ext, int64_t count)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3275,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3286,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3292,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3298,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3304,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3310,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3316,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3322,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3328,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3335,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3341,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3347,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3354,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3361,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3368,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3375,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 5
    argNames:
    - tableDes
    - pos
    - ppstr
    - colOrTag
    - i
    argTypes:
    - TableDes*
    - int
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3381
      start: 3263
    functionDepth: 0
    functionLinenumber: 3263
    functionLinenumberEnd: 3381
    functionName: convertTbDesToJsonImplMore
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - sprintf
    - errorPrint
    linkageType: ''
    returnType: int
    signature: "int convertTbDesToJsonImplMore(\n        TableDes *tableDes, int pos,
      char **ppstr, char *colOrTag, int i)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3393,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3398,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3419,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3425,1
    - Dst: convertTbDesToJsonImplMore
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3442,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3447,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3449,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3455,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3461,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3463,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 6
    argNames:
    - namespace
    - stable
    - tbName
    - tableDes
    - jsonSchema
    - onlyColumn
    argTypes:
    - char*
    - char*
    - char*
    - TableDes*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3467
      start: 3384
    functionDepth: 1
    functionLinenumber: 3384
    functionLinenumberEnd: 3467
    functionName: convertTbDesToJsonImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - convertTbDesToJsonImplMore
    - sprintf
    - debugPrint
    - replaceCopy
    linkageType: ''
    returnType: int
    signature: "int convertTbDesToJsonImpl(\n        const char *namespace,\n        const
      char *stable,\n        const char *tbName,\n        TableDes *tableDes,\n        char
      **jsonSchema, bool onlyColumn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3474,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3474,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3477,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dbName
    - stable
    - tableDes
    - jsonSchema
    argTypes:
    - char*
    - char*
    - TableDes*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3470
    functionDepth: 2
    functionLinenumber: 3470
    functionLinenumberEnd: 3483
    functionName: convertTbTagsDesToJsonLoose
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - errorPrint
    - convertTbDesToJsonImpl
    - getTbDesJsonSize
    linkageType: ''
    returnType: int
    signature: "int convertTbTagsDesToJsonLoose(\n        const char *dbName, const
      char *stable, TableDes *tableDes,\n        char **jsonSchema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3490,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3490,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3492,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dbName
    - stable
    - tableDes
    - jsonSchema
    argTypes:
    - char*
    - char*
    - TableDes*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3497
      start: 3485
    functionDepth: 2
    functionLinenumber: 3485
    functionLinenumberEnd: 3497
    functionName: convertTbTagsDesToJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - errorPrint
    - convertTbDesToJsonImpl
    - getTbDesJsonSize
    linkageType: ''
    returnType: int
    signature: "int convertTbTagsDesToJson(\n        const char *dbName, const char
      *stable, TableDes *tableDes,\n        char **jsonSchema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3507,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3507,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3510,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - dbName
    - stable
    - tbName
    - tableDes
    - colCount
    - jsonSchema
    argTypes:
    - char*
    - char*
    - char*
    - TableDes*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3499
    functionDepth: 2
    functionLinenumber: 3499
    functionLinenumberEnd: 3516
    functionName: convertTbDesToJsonLoose
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - errorPrint
    - convertTbDesToJsonImpl
    - getTbDesJsonSize
    linkageType: ''
    returnType: int
    signature: "int convertTbDesToJsonLoose(\n        const char *dbName,\n        const
      char *stable,\n        const char *tbName,\n        TableDes *tableDes, int
      colCount,\n        char **jsonSchema)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3525,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3525,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3528,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - dbName
    - stable
    - tbName
    - tableDes
    - colCount
    - jsonSchema
    argTypes:
    - char*
    - char*
    - char*
    - TableDes*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3534
      start: 3518
    functionDepth: 2
    functionLinenumber: 3518
    functionLinenumberEnd: 3534
    functionName: convertTbDesToJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - errorPrint
    - convertTbDesToJsonImpl
    - getTbDesJsonSize
    linkageType: ''
    returnType: int
    signature: "int convertTbDesToJson(\n        const char *dbName,\n        const
      char *stable,\n        const char *tbName, TableDes *tableDes, int colCount,\n
      \       char **jsonSchema)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3570,1
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3573,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - count
    - printDot
    argTypes:
    - int64_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3579
      start: 3567
    functionDepth: 0
    functionLinenumber: 3567
    functionLinenumberEnd: 3579
    functionName: printDotOrX
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - putchar
    - fflush
    linkageType: ''
    returnType: void
    signature: void printDotOrX(int64_t count, bool *printDot)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3587,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3589,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3592,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3595,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3598,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3601,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3605,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - command
    - taos
    - dbName
    - tbName
    - precision
    argTypes:
    - char*
    - TAOS*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3608
      start: 3581
    functionDepth: 1
    functionLinenumber: 3581
    functionLinenumberEnd: 3608
    functionName: queryDbForDumpOutCountNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint
    - taosQuery
    - taos_free_result
    - cleanIfQueryFailed
    - taos_errstr
    - free
    - taos_fetch_row
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: "int64_t queryDbForDumpOutCountNative(\n        char *command, TAOS
      *taos, const char *dbName, const char *tbName,\n        const int precision)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3618,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3620,1
    - Dst: getStartTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3624,1
    - Dst: getEndTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3625,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3627,1
    - Dst: queryDbForDumpOutCountNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3636,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3641,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3647,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3650,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3651,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - taos_v
    - dbName
    - tbName
    - precision
    argTypes:
    - void**
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3656
      start: 3610
    functionDepth: 2
    functionLinenumber: 3610
    functionLinenumberEnd: 3656
    functionName: queryDbForDumpOutCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - queryDbForDumpOutCountNative
    - calloc
    - debugPrint
    - snprintf
    - getEndTime
    - getStartTime
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: int64_t
    signature: "int64_t queryDbForDumpOutCount(\n        void  **taos_v,\n        const
      char *dbName,\n        const char *tbName,\n        const int precision)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3661,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3663,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3669
      start: 3659
    functionDepth: 1
    functionLinenumber: 3659
    functionLinenumberEnd: 3669
    functionName: queryDbForDumpOutOffsetNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - cleanIfQueryFailed
    - free
    - taosQuery
    linkageType: ''
    returnType: TAOS_RES
    signature: TAOS_RES *queryDbForDumpOutOffsetNative(TAOS *taos, char *command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3678,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3680,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3684,1
    - Dst: queryDbForDumpOutOffsetNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - taos_v
    - dbName
    - tbName
    - precision
    - start_time
    - end_time
    argTypes:
    - void**
    - char*
    - char*
    - int
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3695
      start: 3671
    functionDepth: 2
    functionLinenumber: 3671
    functionLinenumberEnd: 3695
    functionName: queryDbForDumpOutOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - queryDbForDumpOutOffsetNative
    - snprintf
    - errorPrint
    linkageType: ''
    returnType: void
    signature: "void *queryDbForDumpOutOffset(\n        void **taos_v,\n        const
      char *dbName,\n        const char *tbName,\n        const int precision,\n        const
      int64_t start_time,\n        const int64_t end_time)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3711,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3713,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3716,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3720,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3730,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3731,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3736,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3737,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3739,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3741,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3743,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3745,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3751,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3752,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3754,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3755,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3761,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3762,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3764,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3765,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3771,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3772,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3774,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3775,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3781,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3782,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3784,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3788,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3789,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3790,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3792,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3793,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3794,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3801,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3802,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3804,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3808,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3809,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3810,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3812,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3813,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3814,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3821,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3822,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3824,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3828,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3829,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3830,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3832,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3833,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3834,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3841,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3842,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3844,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3848,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3849,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3850,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3852,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3853,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3854,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3861,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3862,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3864,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3865,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3871,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3872,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3874,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3875,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3875,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3881,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3882,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3884,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3885,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3885,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3892,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3893,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3895,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3896,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3897,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3898,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3899,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3900,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3911,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3912,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3914,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3915,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3922,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3923,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3925,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3926,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 179
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3697
    functionDepth: 1
    functionLinenumber: 3697
    functionLinenumberEnd: 3935
    functionName: processValueToAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - verbosePrint
    - avro_value_set_null
    - snprintf
    - memset
    - TOOLS_ASSERT
    - avro_value_set_long
    - debugPrint
    - strncpy
    - avro_value_set_double
    - free
    - errorPrint
    - avro_value_get_by_name
    - avro_value_set_string
    - avro_value_set_branch
    - avro_value_set_bytes
    - avro_value_append
    - avro_value_set_float
    - avro_value_set_boolean
    - GET_DOUBLE_VAL
    - avro_value_set_int
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int
    signature: "int processValueToAvro(\n        const int32_t col,\n        avro_value_t
      record,\n        avro_value_t avro_value,\n        avro_value_t branch,\n        const
      char *name,\n        const uint8_t type,\n        const int32_t bytes,\n        const
      void *value,\n        const int32_t len\n        )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: queryDbForDumpOutCount
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3946,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3954,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3962,1
    - Dst: queryDbForDumpOutOffset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3980,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3984,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3986,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3987,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3988,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3989,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3993,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3995,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3996,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4001,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4002,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4005,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4012,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4014,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4018,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4021,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4022,1
    - Dst: processValueToAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4029,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4037,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4048,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4052,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4053,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4056,1
    - Dst: printDotOrX
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4064,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4068,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4072,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4075,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4076,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4077,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4077,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4082,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4088,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4091,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4094,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4095,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4096,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4097,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4100
      start: 3937
    functionDepth: 5
    functionLinenumber: 3937
    functionLinenumberEnd: 4100
    functionName: writeResultToAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - replaceCopy
    - taos_fetch_lengths
    - avro_value_decref
    - infoPrint
    - avro_file_writer_append_value
    - TOOLS_ASSERT
    - freeRecordSchema
    - avro_generic_value_new
    - prepareAvroWface
    - avro_value_get_by_name
    - errorPrint
    - avro_value_set_string
    - avro_value_set_branch
    - taos_free_result
    - avro_file_writer_close
    - taos_fetch_fields
    - taos_errstr
    - queryDbForDumpOutCount
    - taos_field_count
    - avro_schema_decref
    - processValueToAvro
    - avro_value_iface_decref
    - avro_strerror
    - taos_errno
    - queryDbForDumpOutOffset
    - taos_fetch_row
    - printDotOrX
    linkageType: ''
    returnType: int64_t
    signature: "int64_t writeResultToAvro(\n        const char *avroFilename,\n        const
      char *dbName,\n        const char *tbName,\n        char *jsonSchema,\n        void
      **taos_v,\n        int precision,\n        int64_t start_time,\n        int64_t
      end_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - stmt
    - bindArray
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4112
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4112
    functionName: taos_stmt2_bind_one
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: int taos_stmt2_bind_one(TAOS_STMT2 *stmt, TAOS_STMT2_BIND *bindArray)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 2
    argNames:
    - bindArray
    - elements
    argTypes:
    - TAOS_STMT2_BIND*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4129
      start: 4114
    functionDepth: 1
    functionLinenumber: 4114
    functionLinenumberEnd: 4129
    functionName: freeBindArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - tfree
    linkageType: ''
    returnType: void
    signature: void freeBindArray(TAOS_STMT2_BIND *bindArray, int elements)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4135,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4138,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4139,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4140,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4144,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4145,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4146,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4151,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4153,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4158,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4159,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4162,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4168
      start: 4131
    functionDepth: 1
    functionLinenumber: 4131
    functionLinenumberEnd: 4168
    functionName: dumpInAvroTagTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - sprintf
    - avro_value_get_int
    - verbosePrint
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagTinyInt(FieldStruct *field, avro_value_t *value,\n
      \                             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:4174,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4176,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4177,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4178,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4182,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4183,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4184,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4189,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4190,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4194,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4195,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4198,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4170
    functionDepth: 1
    functionLinenumber: 4170
    functionLinenumberEnd: 4204
    functionName: dumpInAvroTagSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - sprintf
    - avro_value_get_int
    - verbosePrint
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagSmallInt(FieldStruct *field, avro_value_t *value,\n
      \                             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:4210,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4213,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4214,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4215,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4219,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4220,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4221,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4227,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4228,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4232,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4233,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4236,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4243
      start: 4206
    functionDepth: 1
    functionLinenumber: 4206
    functionLinenumberEnd: 4243
    functionName: dumpInAvroTagInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - sprintf
    - avro_value_get_int
    - verbosePrint
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagInt(FieldStruct *field, avro_value_t *value,\n
      \                             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:4249,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4251,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4252,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4253,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4257,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4258,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4259,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4265,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4266,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4270,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4271,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4274,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4280
      start: 4245
    functionDepth: 1
    functionLinenumber: 4245
    functionLinenumberEnd: 4280
    functionName: dumpInAvroTagBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_long
    - sprintf
    - verbosePrint
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagBigInt(FieldStruct *field, avro_value_t *value,\n
      \                             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:4286,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4287,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4288,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4289,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4292,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4293,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4294,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4299,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4301,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4302,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4305,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4310
      start: 4282
    functionDepth: 1
    functionLinenumber: 4282
    functionLinenumberEnd: 4310
    functionName: dumpInAvroTagFloat
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - sprintf
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - avro_value_get_float
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagFloat(FieldStruct *field, avro_value_t *value,\n
      \                             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:4316,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4318,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4319,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4320,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4323,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4324,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4325,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4329,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4331,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4332,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4334,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4312
    functionDepth: 1
    functionLinenumber: 4312
    functionLinenumberEnd: 4339
    functionName: dumpInAvroTagDouble
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_double
    - sprintf
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagDouble(FieldStruct *field, avro_value_t *value,\n
      \                             char *sqlstr, int32_t curr_sqlstr_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4342,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4358,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4380
      start: 4341
    functionDepth: 0
    functionLinenumber: 4341
    functionLinenumberEnd: 4380
    functionName: appendValues
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendValues(char *buf, char* val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4385,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4388,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4389,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4390,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4396,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4400,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4401,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4404,1
    - Dst: appendValues
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4409
      start: 4382
    functionDepth: 1
    functionLinenumber: 4382
    functionLinenumberEnd: 4409
    functionName: dumpInAvroTagBinary
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - appendValues
    - avro_value_get_string
    - sprintf
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagBinary(FieldStruct *field, avro_value_t *value,\n
      \                             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:4414,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4416,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4417,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4418,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4422,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4426,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4427,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4429,1
    - Dst: appendValues
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4434
      start: 4411
    functionDepth: 1
    functionLinenumber: 4411
    functionLinenumberEnd: 4434
    functionName: dumpInAvroTagNChar
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - appendValues
    - sprintf
    - avro_value_get_bytes
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagNChar(FieldStruct *field, avro_value_t *value,\n
      \                             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:4440,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4441,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4442,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4443,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4447,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4448,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4449,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4455,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4456,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4460,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4461,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4464,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4471
      start: 4436
    functionDepth: 1
    functionLinenumber: 4436
    functionLinenumberEnd: 4471
    functionName: dumpInAvroTagTimeStamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_long
    - sprintf
    - verbosePrint
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagTimeStamp(FieldStruct *field, avro_value_t *value,\n
      \                             char *sqlstr, int32_t curr_sqlstr_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4478,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4481,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4482,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4483,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4489,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4491,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4496,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4498,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4502,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4503,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4507,1
    - Dst: typeToStr
      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:4516,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4518,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4523,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4525,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4530,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4531,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4534,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4535,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4540,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4546
      start: 4473
    functionDepth: 1
    functionLinenumber: 4473
    functionLinenumberEnd: 4546
    functionName: dumpInAvroTagUnsignedTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - sprintf
    - debugPrint
    - avro_value_get_int
    - avro_value_get_size
    - typeToStr
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagUnsignedTinyInt(FieldStruct *field,\n                                         avro_value_t
      *value,\n                              char *sqlstr, int32_t curr_sqlstr_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4553,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4555,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4556,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4557,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4563,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4564,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4569,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4571,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4574,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4575,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4579,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4581,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4588,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4589,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4594,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4596,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4601,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4602,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4605,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4606,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4611,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4613,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4617
      start: 4548
    functionDepth: 1
    functionLinenumber: 4548
    functionLinenumberEnd: 4617
    functionName: dumpInAvroTagUnsignedSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - sprintf
    - debugPrint
    - avro_value_get_int
    - avro_value_get_size
    - typeToStr
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagUnsignedSmallInt(FieldStruct *field,\n                                         avro_value_t
      *value,\n                              char *sqlstr, int32_t curr_sqlstr_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4624,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4626,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4627,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4628,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4635,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4637,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4641,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4643,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4645,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4651,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4652,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4656,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4658,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4666,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4667,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4671,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4673,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4675,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4683,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4684,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4687,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4688,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4693,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4695,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4699
      start: 4619
    functionDepth: 1
    functionLinenumber: 4619
    functionLinenumberEnd: 4699
    functionName: dumpInAvroTagUnsignedInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - sprintf
    - debugPrint
    - avro_value_get_int
    - avro_value_get_size
    - typeToStr
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagUnsignedInt(FieldStruct *field,\n                                     avro_value_t
      *value,\n                              char *sqlstr, int32_t curr_sqlstr_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4706,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4708,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4709,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4710,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4717,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4718,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4722,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4724,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4726,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4733,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4734,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4738,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4739,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4747,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4748,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4752,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4754,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4756,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4763,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4764,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4767,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4768,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4773,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4779
      start: 4701
    functionDepth: 1
    functionLinenumber: 4701
    functionLinenumberEnd: 4779
    functionName: dumpInAvroTagUnsignedBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_long
    - avro_value_get_by_index
    - sprintf
    - debugPrint
    - avro_value_get_size
    - typeToStr
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroTagUnsignedBigInt(FieldStruct *field,\n                                     avro_value_t
      *value,\n                              char *sqlstr, int32_t curr_sqlstr_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4784,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4786,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4787,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4788,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4792,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4793,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4795,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - avro_value_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4801
      start: 4781
    functionDepth: 1
    functionLinenumber: 4781
    functionLinenumberEnd: 4801
    functionName: dumpInAvroBool
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - sprintf
    - verbosePrint
    - avro_value_get_current_branch
    - avro_value_get_boolean
    - avro_value_get_null
    - debugPrint2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t dumpInAvroBool(avro_value_t *value,\n                              char
      *sqlstr, int32_t curr_sqlstr_len)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: AddStbChanged
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4823,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4833,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4835,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4848,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4850,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4851,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4858,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4860,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4865,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4868,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4869,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4871,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4874,1
    - Dst: afterRenameSql
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4880,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4884,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4886,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4887,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4892,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4893,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4922,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4926,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4928,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4932,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4933,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4935,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4937,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4938,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4939,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4942,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4943,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4946,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4947,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4951,1
    - Dst: freeTbNameIfLooseMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4952,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4953,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4954,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4956,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4958,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4965,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4966,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4968,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4972,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4979,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4987,1
    - Dst: idxInBindTags
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4994,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4995,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5001,1
    - Dst: dumpInAvroBool
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5007,1
    - Dst: dumpInAvroTagTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5012,1
    - Dst: dumpInAvroTagSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5017,1
    - Dst: dumpInAvroTagInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5022,1
    - Dst: dumpInAvroTagBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5027,1
    - Dst: dumpInAvroTagFloat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5032,1
    - Dst: dumpInAvroTagDouble
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5037,1
    - Dst: dumpInAvroTagBinary
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5044,1
    - Dst: dumpInAvroTagNChar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5054,1
    - Dst: dumpInAvroTagTimeStamp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5059,1
    - Dst: dumpInAvroTagUnsignedTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5064,1
    - Dst: dumpInAvroTagUnsignedSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5069,1
    - Dst: dumpInAvroTagUnsignedInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5074,1
    - Dst: dumpInAvroTagUnsignedBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5079,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5084,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5089,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5099,1
    - Dst: freeTbNameIfLooseMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5102,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5103,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5104,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5106,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5108,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5112,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5113,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5114,1
    - Dst: freeTbNameIfLooseMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5115,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5121,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5123,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5124,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5129,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5132,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5133,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5136,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5138,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 189
    argCount: 7
    argNames:
    - taos_v
    - namespace
    - schema
    - reader
    - fileName
    - pDbChange
    - recordSchema
    argTypes:
    - void**
    - char*
    - avro_schema_t
    - avro_file_reader_t
    - char*
    - DBChange*
    - RecordSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5143
      start: 4803
    functionDepth: 4
    functionLinenumber: 4803
    functionLinenumberEnd: 5143
    functionName: dumpInAvroTbTagsImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpInAvroTagInt
    - avro_value_get_string
    - calloc
    - strcasecmp
    - avro_value_decref
    - dumpInAvroTagBinary
    - snprintf
    - avro_generic_class_from_schema
    - TOOLS_ASSERT
    - sprintf
    - debugPrint
    - taosQuery
    - avro_generic_value_new
    - avro_value_get_current_branch
    - free
    - avro_value_get_by_name
    - errorPrint
    - strcmp
    - getTableDes
    - dumpInAvroTagTinyInt
    - TOOLS_STRNCPY
    - strdup
    - dumpInAvroTagSmallInt
    - AddStbChanged
    - freeTbNameIfLooseMode
    - taos_free_result
    - strsep
    - warnPrint
    - dumpInAvroTagFloat
    - dumpInAvroTagDouble
    - avro_value_get_null
    - dumpInAvroTagUnsignedTinyInt
    - debugPrint2
    - dumpInAvroTagTimeStamp
    - afterRenameSql
    - dumpInAvroTagUnsignedInt
    - dumpInAvroTagUnsignedSmallInt
    - dumpInAvroTagBigInt
    - idxInBindTags
    - avro_file_reader_read_value
    - freeTbDes
    - dumpInAvroTagUnsignedBigInt
    - dumpInAvroBool
    - avro_value_iface_decref
    - dumpInAvroTagNChar
    - strlen
    - taos_errstr
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpInAvroTbTagsImpl(\n        void **taos_v,\n        const
      char *namespace,\n        avro_schema_t schema,\n        avro_file_reader_t
      reader,\n        char *fileName,\n        DBChange *pDbChange,\n        RecordSchema
      *recordSchema)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AddStbChanged
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5158,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5166,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5168,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5170,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5174,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5179,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5181,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5184,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5190,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5190,1
    - Dst: afterRenameSql
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5196,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5198,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5202,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5204,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5208,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5213,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5217,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5224,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5225,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 6
    argNames:
    - taos_v
    - namespace
    - schema
    - reader
    - pDbChange
    - recordSchema
    argTypes:
    - void**
    - char*
    - avro_schema_t
    - avro_file_reader_t
    - DBChange*
    - RecordSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5230
      start: 5145
    functionDepth: 3
    functionLinenumber: 5145
    functionLinenumberEnd: 5230
    functionName: dumpInAvroNtbImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - afterRenameSql
    - avro_value_get_string
    - AddStbChanged
    - strncasecmp
    - taosQuery
    - avro_generic_value_new
    - errorPrint
    - avro_file_reader_read_value
    - taos_free_result
    - avro_value_get_current_branch
    - free
    - avro_value_decref
    - infoPrint
    - avro_generic_class_from_schema
    - avro_value_iface_decref
    - strlen
    - taos_errstr
    - avro_value_get_by_name
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpInAvroNtbImpl(\n        void **taos_v,\n        const
      char *namespace,\n        avro_schema_t schema,\n        avro_file_reader_t
      reader,\n        DBChange* pDbChange,\n        RecordSchema *recordSchema)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5238,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5240,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5242,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5245,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5246,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5251,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5253,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5257,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5259,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5262,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5265,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5266,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5271,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5272,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5277,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5279,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5283,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5285,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5288,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5291,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5295
      start: 5232
    functionDepth: 1
    functionLinenumber: 5232
    functionLinenumberEnd: 5295
    functionName: dumpInAvroDataUnsignedBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_long
    - avro_value_get_by_index
    - debugPrint
    - avro_value_get_size
    - typeToStr
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - errorPrint
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataUnsignedBigInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5303,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5305,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5307,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5310,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5311,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5315,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5317,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5322,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5324,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5327,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5330,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5331,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5336,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5337,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5341,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5343,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5348,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5349,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5352,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5355,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5360
      start: 5297
    functionDepth: 1
    functionLinenumber: 5297
    functionLinenumberEnd: 5360
    functionName: dumpInAvroDataUnsignedSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - avro_value_get_int
    - debugPrint
    - avro_value_get_size
    - typeToStr
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - errorPrint
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataUnsignedSmallInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5368,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5370,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5372,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5375,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5376,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5380,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5382,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5387,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5389,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5392,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5395,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5397,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5402,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5403,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5407,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5409,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5414,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5416,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5419,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5422,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5423,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5426
      start: 5362
    functionDepth: 1
    functionLinenumber: 5362
    functionLinenumberEnd: 5426
    functionName: dumpInAvroDataUnsignedTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - avro_value_get_int
    - debugPrint
    - avro_value_get_size
    - typeToStr
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - errorPrint
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataUnsignedTinyInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5434,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5436,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5438,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5441,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5442,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5446,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5448,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5453,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5455,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5457,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5462,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5465,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5467,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5472,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5473,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5477,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5479,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5484,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5486,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5488,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5491,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5494,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5498
      start: 5428
    functionDepth: 1
    functionLinenumber: 5428
    functionLinenumberEnd: 5498
    functionName: dumpInAvroDataUnsignedInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_by_index
    - avro_value_get_int
    - debugPrint
    - avro_value_get_size
    - typeToStr
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - errorPrint
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataUnsignedInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5505,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5506,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5508,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5510,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5511,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5512,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5513,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5518
      start: 5500
    functionDepth: 1
    functionLinenumber: 5500
    functionLinenumberEnd: 5518
    functionName: dumpInAvroDataBool
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - verbosePrint
    - avro_value_get_current_branch
    - avro_value_get_boolean
    - avro_value_get_null
    - debugPrint2
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataBool(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5528,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5530,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5533,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5540
      start: 5520
    functionDepth: 1
    functionLinenumber: 5520
    functionLinenumberEnd: 5540
    functionName: dumpInAvroDataNChar
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_bytes
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataNChar(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5547,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5549,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5550,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5556,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5558,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5566
      start: 5542
    functionDepth: 1
    functionLinenumber: 5542
    functionLinenumberEnd: 5566
    functionName: dumpInAvroDataBytes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_bytes
    - avro_value_get_null
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataBytes(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5573,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5575,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5576,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5581,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5584,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5593
      start: 5568
    functionDepth: 1
    functionLinenumber: 5568
    functionLinenumberEnd: 5593
    functionName: dumpInAvroDataBinary
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_string
    - avro_value_get_null
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataBinary(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5601,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5602,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5603,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5606,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5607,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5608,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5609,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5613,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5614,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5615,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5617,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5624
      start: 5595
    functionDepth: 1
    functionLinenumber: 5595
    functionLinenumberEnd: 5624
    functionName: dumpInAvroDataDouble
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_double
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataDouble(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5632,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5633,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5634,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5637,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5638,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5639,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5640,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5644,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5645,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5646,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5648,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5655
      start: 5626
    functionDepth: 1
    functionLinenumber: 5626
    functionLinenumberEnd: 5655
    functionName: dumpInAvroDataFloat
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - avro_value_get_float
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataFloat(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5663,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5664,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5666,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5668,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5669,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5670,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5671,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5675,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5676,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5677,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5681
      start: 5657
    functionDepth: 1
    functionLinenumber: 5657
    functionLinenumberEnd: 5681
    functionName: dumpInAvroDataTimeStamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_long
    - avro_value_get_current_branch
    - avro_value_get_null
    - debugPrint2
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataTimeStamp(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5689,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5690,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5692,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5694,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5695,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5696,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5697,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5700,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5704,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5705,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5706,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5707,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5711,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5713,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5719
      start: 5683
    functionDepth: 1
    functionLinenumber: 5683
    functionLinenumberEnd: 5719
    functionName: dumpInAvroDataBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_long
    - verbosePrint
    - avro_value_get_current_branch
    - free
    - avro_value_get_null
    - debugPrint2
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataBigInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5727,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5728,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5730,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5732,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5733,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5735,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5737,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5741,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5742,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5744,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5745,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5750,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5752,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5758
      start: 5721
    functionDepth: 1
    functionLinenumber: 5721
    functionLinenumberEnd: 5758
    functionName: dumpInAvroDataSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_int
    - verbosePrint
    - avro_value_get_current_branch
    - free
    - avro_value_get_null
    - debugPrint2
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataSmallInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5766,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5767,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5769,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5771,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5772,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5774,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5776,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5780,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5781,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5783,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5785,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5790,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5792,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5798
      start: 5760
    functionDepth: 1
    functionLinenumber: 5760
    functionLinenumberEnd: 5798
    functionName: dumpInAvroDataTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_int
    - verbosePrint
    - avro_value_get_current_branch
    - free
    - avro_value_get_null
    - debugPrint2
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataTinyInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5806,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5807,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5809,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5811,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5812,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5814,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5817,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5819,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5821,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5826,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5827,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5829,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5831,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5833,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_STMT2_BIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5839
      start: 5800
    functionDepth: 1
    functionLinenumber: 5800
    functionLinenumberEnd: 5839
    functionName: dumpInAvroDataInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_value_get_int
    - avro_value_get_current_branch
    - free
    - avro_value_get_null
    - debugPrint2
    - TOOLS_ASSERT
    - malloc
    linkageType: ''
    returnType: void
    signature: "void dumpInAvroDataInt(FieldStruct *field,\n                              avro_value_t
      *value,\n                              TAOS_STMT2_BIND *bind,\n                              char
      *is_null)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeBindArray
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5843,1
    - Dst: freeTbNameIfLooseMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - bindArray
    - onlyCol
    - failed
    - tbName
    argTypes:
    - TAOS_STMT2_BIND*
    - int32_t
    - int64_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5846
      start: 5841
    functionDepth: 2
    functionLinenumber: 5841
    functionLinenumberEnd: 5846
    functionName: countFailureAndFree
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - freeBindArray
    - freeTbNameIfLooseMode
    linkageType: ''
    returnType: void
    signature: "void countFailureAndFree(TAOS_STMT2_BIND *bindArray,\n        int32_t
      onlyCol, int64_t *failed, char *tbName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5856,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5858,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5863,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5866,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5868,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5869,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5872,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5874,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5874,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - stmt
    - tbName
    - stbChange
    - recordSchema
    - nBindCols
    argTypes:
    - TAOS_STMT2*
    - char*
    - StbChange*
    - RecordSchema*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5879
      start: 5849
    functionDepth: 0
    functionLinenumber: 5849
    functionLinenumberEnd: 5879
    functionName: stmtPrepare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - sprintf
    - debugPrint
    - taos_stmt2_error
    - snprintf
    - taos_stmt2_prepare
    - free
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: int32_t stmtPrepare(TAOS_STMT2 *stmt, char *tbName, StbChange *stbChange,
      RecordSchema *recordSchema, int32_t nBindCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5893
      start: 5881
    functionDepth: 0
    functionLinenumber: 5881
    functionLinenumberEnd: 5893
    functionName: FREE_DATAIMPL
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_DATAIMPL()
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5912,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5914,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5917,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5917,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5936,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5940,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5942,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5943,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5947,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5949,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5950,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5951,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5958,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5960,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5970,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5978,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5979,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5983,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5985,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5987,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5988,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5990,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5992,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5993,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5995,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5996,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5998,1
    - Dst: normalTableFolder
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6004,1
    - Dst: findStbChange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6005,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6018,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6020,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6021,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6031,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6033,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6034,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6037,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6041,1
    - Dst: stmtPrepare
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6045,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6047,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6048,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6051,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6055,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6056,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6060,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6061,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6068,1
    - Dst: printDotOrX
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6070,1
    - Dst: idxInBindCols
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6091,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6093,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6096,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6103,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6107,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6108,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6109,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6113,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6114,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6116,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6119,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6124,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6125,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6127,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6130,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6134,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6141,1
    - Dst: dumpInAvroDataInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6144,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6150,1
    - Dst: dumpInAvroDataTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6153,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6159,1
    - Dst: dumpInAvroDataSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6162,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6168,1
    - Dst: dumpInAvroDataBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6171,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6177,1
    - Dst: dumpInAvroDataTimeStamp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6180,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6186,1
    - Dst: dumpInAvroDataFloat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6189,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6195,1
    - Dst: dumpInAvroDataDouble
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6198,1
    - Dst: dumpInAvroDataBinary
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6206,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6208,1
    - Dst: dumpInAvroDataNChar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6216,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6218,1
    - Dst: dumpInAvroDataBytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6228,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6230,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6236,1
    - Dst: dumpInAvroDataBool
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6239,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6246,1
    - Dst: dumpInAvroDataUnsignedInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6249,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6256,1
    - Dst: dumpInAvroDataUnsignedTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6259,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6266,1
    - Dst: dumpInAvroDataUnsignedSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6269,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6276,1
    - Dst: dumpInAvroDataUnsignedBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6279,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6284,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6287,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6297,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6298,1
    - Dst: taos_stmt2_bind_one
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6301,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6303,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6304,1
    - Dst: countFailureAndFree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6305,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6311,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6316,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6319,1
    - Dst: countFailureAndFree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6321,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6325,1
    - Dst: freeBindArray
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6330,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6336,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6338,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6338,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6342,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6347,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6350,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 304
    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*
    assertStmts:
    - condition: (n == nBindCols)
      pos:
        line_end: 6297
        line_start: 6297
        source_file: /src/tdengine/tools/taos-tools/src/taosdump.c
    constantsTouched: []
    func_position:
      end: 6356
      start: 5895
    functionDepth: 4
    functionLinenumber: 5895
    functionLinenumberEnd: 6356
    functionName: dumpInAvroDataImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpInAvroDataBinary
    - avro_value_get_string
    - normalTableFolder
    - dumpInAvroDataUnsignedTinyInt
    - calloc
    - dumpInAvroDataBytes
    - taos_stmt2_exec
    - snprintf
    - avro_generic_class_from_schema
    - taos_stmt2_init
    - taos_stmt2_close
    - infoPrint
    - TOOLS_ASSERT
    - FREE_DATAIMPL
    - dumpInAvroDataInt
    - findStbChange
    - freeBindArray
    - strcpy
    - debugPrint
    - countFailureAndFree
    - avro_generic_value_new
    - taos_stmt2_error
    - taos_stmt2_bind_one
    - avro_value_get_current_branch
    - free
    - dumpInAvroDataBigInt
    - avro_value_get_by_name
    - errorPrint
    - strcmp
    - dumpInAvroDataFloat
    - getTableDes
    - dumpInAvroDataBool
    - strdup
    - dumpInAvroDataUnsignedBigInt
    - strsep
    - warnPrint
    - tfree
    - avro_value_get_null
    - dumpInAvroDataUnsignedInt
    - dumpInAvroDataNChar
    - debugPrint2
    - avro_value_get_long
    - idxInBindCols
    - dumpInAvroDataTinyInt
    - dumpInAvroDataSmallInt
    - typeToStr
    - avro_file_reader_read_value
    - assert
    - dumpInAvroDataDouble
    - taos_errno
    - dumpInAvroDataUnsignedSmallInt
    - strlen
    - taos_errstr
    - stmtPrepare
    - printDotOrX
    - dumpInAvroDataTimeStamp
    - malloc
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpInAvroDataImpl(\n        void **taos_v,\n        char
      *namespace,\n        avro_schema_t schema,\n        avro_file_reader_t reader,\n
      \       RecordSchema *recordSchema,\n        DBChange     *pDbChange,\n        StbChange
      \   *stbChange,\n        const char   *dbPath,\n        char *fileName)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6362,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6363,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6365,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6391,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6396,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6398,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6402,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6404,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6405,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6407,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6408,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6409,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6410,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6413,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6415,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6416,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6418,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6421,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6422,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6425,1
    - Dst: parse_json_to_recordschema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6430,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6432,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6433,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6436,1
    - Dst: mFileToRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6442,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 4
    argNames:
    - avroType
    - avroFile
    - schema
    - reader
    argTypes:
    - enAVROTYPE
    - char*
    - avro_schema_t*
    - avro_file_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6446
      start: 6358
    functionDepth: 4
    functionLinenumber: 6358
    functionLinenumberEnd: 6446
    functionName: getSchemaAndReaderFromFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_decref
    - avro_writer_memory
    - avro_file_reader_get_writer_schema
    - parse_json_to_recordschema
    - calloc
    - print_json
    - load_json
    - verbosePrint
    - mFileToRecordSchema
    - tfree
    - avro_strerror
    - avro_schema_to_json
    - avro_file_reader
    - strlen
    - errorPrint
    - avro_writer_free
    linkageType: ''
    returnType: RecordSchema
    signature: "RecordSchema *getSchemaAndReaderFromFile(\n        enAVROTYPE avroType,
      char *avroFile,\n        avro_schema_t *schema,\n        avro_file_reader_t
      *reader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6450
      start: 6448
    functionDepth: 0
    functionLinenumber: 6448
    functionLinenumberEnd: 6450
    functionName: closeTaosConnWrapper
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_close
    linkageType: ''
    returnType: void
    signature: void closeTaosConnWrapper(void *taos)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6460,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6462,1
    - Dst: getSchemaAndReaderFromFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6468,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6471,1
    - Dst: avro_schema_namespace
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6476,1
    - Dst: findNewName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6478,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6480,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6484,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6489,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6497,1
    - Dst: dumpInAvroDataImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6499,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6509,1
    - Dst: dumpInAvroTbTagsImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6511,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6521,1
    - Dst: dumpInAvroNtbImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6523,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6529,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6534,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6536,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6537,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 6
    argNames:
    - dbPath
    - avroType
    - fcharset
    - fileName
    - pDbChange
    - stbChange
    argTypes:
    - char*
    - enAVROTYPE
    - char*
    - char*
    - DBChange*
    - StbChange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6541
      start: 6452
    functionDepth: 5
    functionLinenumber: 6452
    functionLinenumberEnd: 6541
    functionName: dumpInOneAvroFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_schema_decref
    - freeRecordSchema
    - avro_schema_namespace
    - avro_file_reader_close
    - debugPrint
    - getSchemaAndReaderFromFile
    - dumpInAvroNtbImpl
    - closeTaosConnWrapper
    - snprintf
    - findNewName
    - infoPrint
    - taosConnect
    - dumpInAvroDataImpl
    - errorPrint
    - dumpInAvroTbTagsImpl
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpInOneAvroFile(\n        const char *dbPath,\n        const
      enAVROTYPE avroType,\n        char *fcharset,\n        char *fileName,\n        DBChange
      *pDbChange,\n        StbChange* stbChange)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SET_THREAD_NAME
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6545,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6546,1
    - Dst: readFolderStbName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6560,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6572,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6582,1
    - Dst: dumpInOneAvroFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6588,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6596,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6599,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6600,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6606,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6607,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6614,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6615,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6622,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6629,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6630,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6636,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6637,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6644,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6645,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6652,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6660,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6667,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6671
      start: 6543
    functionDepth: 6
    functionLinenumber: 6543
    functionLinenumberEnd: 6671
    functionName: dumpInAvroWorkThreadFp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpInOneAvroFile
    - SET_THREAD_NAME
    - atomic_add_fetch_64
    - okPrint
    - verbosePrint
    - warnPrint
    - infoPrint
    - errorPrint
    - readFolderStbName
    linkageType: ''
    returnType: void
    signature: void * dumpInAvroWorkThreadFp(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6674,1
    - Dst: getFilesNum
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6675,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6678,1
    - Dst: createDumpinList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6695,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6699,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6700,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6702,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6703,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6716,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6720,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6722,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6724,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6727,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6728,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6733,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6734,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6737,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6738,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6742,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6743,1
    - Dst: freeFileList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6745,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - dbPath
    - typeExt
    - pDbChange
    argTypes:
    - char*
    - char*
    - DBChange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6748
      start: 6673
    functionDepth: 2
    functionLinenumber: 6673
    functionLinenumberEnd: 6748
    functionName: dumpInAvroWorkThreads
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - createDumpinList
    - freeFileList
    - pthread_join
    - TOOLS_STRNCPY
    - exit
    - calloc
    - debugPrint
    - strerror
    - verbosePrint
    - errorPrint
    - free
    - getFilesNum
    - pthread_create
    - infoPrint
    - TOOLS_ASSERT
    linkageType: ''
    returnType: int
    signature: int dumpInAvroWorkThreads(const char* dbPath, const char *typeExt,
      DBChange *pDbChange)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6815,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6820,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6824,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6828,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6832,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6836,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6841,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6845,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6849,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6853,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6858,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6859,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6862,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6863,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6873,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6875,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6879,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6881,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6883,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6888,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6890,1
    - Dst: convertNCharToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6894,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6896,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6898,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6902,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 58
    argCount: 5
    argNames:
    - pstr
    - curr_sqlstr_len
    - type
    - value
    - len
    argTypes:
    - char*
    - int
    - uint8_t
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6909
      start: 6808
    functionDepth: 1
    functionLinenumber: 6808
    functionLinenumberEnd: 6909
    functionName: processResultValue
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - sprintf
    - convertNCharToReadable
    - free
    - GET_DOUBLE_VAL
    - convertStringToReadable
    - errorPrint
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int
    signature: "int processResultValue(\n        char *pstr,\n        const int curr_sqlstr_len,\n
      \       const uint8_t type,\n        const void *value,\n        uint32_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6919,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6921,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6931,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6932,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6933,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6937,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6938,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6944,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6947,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6952,1
    - Dst: processResultValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6955,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6963,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6967,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6970,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6979,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6984,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6986,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6987,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - res
    - fp
    - dbName
    - tbName
    argTypes:
    - TAOS_RES*
    - FILE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6990
      start: 6911
    functionDepth: 2
    functionLinenumber: 6911
    functionLinenumberEnd: 6990
    functionName: writeResultDebugNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - fprintf
    - taos_field_count
    - calloc
    - sprintf
    - debugPrint
    - taos_fetch_lengths
    - taos_fetch_fields
    - free
    - infoPrint
    - processResultValue
    - taos_fetch_row
    - errorPrint
    - TOOLS_ASSERT
    linkageType: ''
    returnType: int64_t
    signature: "int64_t writeResultDebugNative(\n        TAOS_RES *res,\n        FILE
      *fp,\n        const char *dbName,\n        const char *tbName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6999,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7001,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7005,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7015,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7017,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - taos
    - dbName
    - tbName
    - precision
    - start_time
    - end_time
    argTypes:
    - TAOS*
    - char*
    - char*
    - int
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7022
      start: 6993
    functionDepth: 1
    functionLinenumber: 6993
    functionLinenumberEnd: 7022
    functionName: queryDbForDumpOutNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - taosQuery
    - snprintf
    - cleanIfQueryFailed
    - free
    - errorPrint
    linkageType: ''
    returnType: TAOS_RES
    signature: "TAOS_RES *queryDbForDumpOutNative(TAOS *taos,\n        const char
      *dbName,\n        const char *tbName,\n        const int precision,\n        const
      int64_t start_time,\n        const int64_t end_time)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7039,1
    - Dst: convertTbDesToJsonLoose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7046,1
    - Dst: convertTbDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7048,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7051,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7054,1
    - Dst: writeResultToAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7058,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7062,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7066
      start: 7025
    functionDepth: 6
    functionLinenumber: 7025
    functionLinenumberEnd: 7066
    functionName: dumpTableDataAvroTsRange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - convertTbDesToJsonLoose
    - taos_close
    - convertTbDesToJson
    - writeResultToAvro
    - tfree
    - taosConnect
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpTableDataAvroTsRange(\n        char *dataFilename,\n        int64_t
      index,\n        const char *stable,\n        const char *tbName,\n        const
      bool belongStb,\n        const char* dbName,\n        const int precision,\n
      \       int colCount,\n        TableDes *tableDes,\n        int64_t start_time,\n
      \       int64_t end_time\n        )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bkdrHash
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7071,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7074,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7076,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7081,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7084,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7090,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7093,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7096,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7099,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7104,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7115,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7116,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - dbInfo
    - subDirName
    - stable
    argTypes:
    - SDbInfo*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7122
      start: 7068
    functionDepth: 1
    functionLinenumber: 7068
    functionLinenumberEnd: 7122
    functionName: generateSubDirName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - toolsOpenDir
    - writeFile
    - bkdrHash
    - atomic_add_fetch_64
    - errorPrint
    - snprintf
    - warnPrint
    - strcat
    - mkdir
    - toolsCloseDir
    linkageType: ''
    returnType: int
    signature: "int generateSubDirName(\n        const SDbInfo *dbInfo, char *subDirName,
      const char *stable)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7130,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7137,1
    - Dst: generateSubDirName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7146,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7150,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7161,1
    - Dst: bkdrHash
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7173,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7174,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7181,1
    - Dst: getUniqueIDFromEpoch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7184,1
    - Dst: generateSubDirName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7190,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7194,1
    - Dst: getUniqueIDFromEpoch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7199,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7205,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 6
    argNames:
    - avroType
    - fileName
    - dbInfo
    - stable
    - tbName
    - index
    argTypes:
    - enAVROTYPE
    - char*
    - SDbInfo*
    - char*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7218
      start: 7124
    functionDepth: 2
    functionLinenumber: 7124
    functionLinenumberEnd: 7218
    functionName: generateFilename
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - snprintf
    - getUniqueIDFromEpoch
    - generateSubDirName
    - bkdrHash
    linkageType: ''
    returnType: int
    signature: "int generateFilename(enAVROTYPE avroType, char *fileName,\n        const
      SDbInfo *dbInfo, const char * stable, const char *tbName, const int64_t index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7234,1
    - Dst: getStartTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7239,1
    - Dst: getEndTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7240,1
    - Dst: dumpTableDataAvroTsRange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - index
    - stable
    - belongStb
    - dbInfo
    - precision
    - colCount
    - tableDes
    argTypes:
    - int64_t
    - char*
    - bool
    - SDbInfo*
    - int
    - int
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7249
      start: 7223
    functionDepth: 7
    functionLinenumber: 7223
    functionLinenumberEnd: 7249
    functionName: dumpTableDataAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - getStartTime
    - generateFilename
    - dumpTableDataAvroTsRange
    - getEndTime
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpTableDataAvro(\n        const int64_t index,\n        const
      char *stable,\n        const bool belongStb,\n        const SDbInfo *dbInfo,\n
      \       const int precision,\n        const int colCount,\n        TableDes
      *tableDes\n        )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7262,1
    - Dst: queryDbForDumpOutNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7266,1
    - Dst: writeResultDebugNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7269,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7271,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7275
      start: 7251
    functionDepth: 3
    functionLinenumber: 7251
    functionLinenumberEnd: 7275
    functionName: dumpTableDataDebugTsRange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_close
    - taos_free_result
    - writeResultDebugNative
    - taosConnect
    - queryDbForDumpOutNative
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpTableDataDebugTsRange(\n        const int64_t index,\n
      \       FILE *fp,\n        const char *tbName,\n        const char* dbName,\n
      \       const int precision,\n        TableDes *tableDes,\n        const int64_t
      start_time,\n        const int64_t end_time\n        )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getStartTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7285,1
    - Dst: getEndTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7286,1
    - Dst: dumpTableDataDebugTsRange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - index
    - fp
    - tbName
    - dbInfo
    - precision
    - tableDes
    argTypes:
    - int64_t
    - FILE*
    - char*
    - SDbInfo*
    - int
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7296
      start: 7277
    functionDepth: 4
    functionLinenumber: 7277
    functionLinenumberEnd: 7296
    functionName: dumpTableDataDebug
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - getStartTime
    - dumpTableDataDebugTsRange
    - getEndTime
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpTableDataDebug(\n        const int64_t index,\n        FILE
      *fp,\n        const char *tbName,\n        const SDbInfo* dbInfo,\n        const
      int precision,\n        TableDes *tableDes\n        )"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7311,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7312,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7326,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7329,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7334,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7338,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7342,1
    - Dst: dumpCreateMTableClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7346,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7351,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7354,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7358,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7362,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7366,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7374,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7379,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7383,1
    - Dst: createNTableMFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7389,1
    - Dst: dumpCreateTableClauseAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7393,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7397,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7399,1
    - Dst: dumpCreateTableClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7403,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7406,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7408,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7429,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7432,1
    - Dst: getTableDesFromStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7436,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7440,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7443,1
    - Dst: dumpTableDataAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7449,1
    - Dst: dumpTableDataDebug
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7456,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7465,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 95
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7468
      start: 7299
    functionDepth: 8
    functionLinenumber: 7299
    functionLinenumberEnd: 7468
    functionName: dumpTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - getTableDes
    - dumpCreateTableClauseAvro
    - calloc
    - dumpTableDataDebug
    - debugPrint
    - getTableDesFromStbNative
    - free
    - dumpCreateMTableClause
    - generateFilename
    - createNTableMFile
    - strlen
    - freeTbDes
    - errorPrint
    - dumpCreateTableClause
    - dumpTableDataAvro
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpTable(\n        const int64_t index,\n        void  **taos_v,\n
      \       const SDbInfo *dbInfo,\n        const bool belongStb,\n        const
      char *stable,\n        const TableDes *stbDes,\n        const char *tbName,\n
      \       const int precision,\n        char *dumpFilename,\n        FILE *fp\n
      \       )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7479,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7480,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7485,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7489,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7497,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7502,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7507,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7509,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7511,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7515,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7516,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7517,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7520,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7528,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7531,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - index
    - taos_v
    - dbInfo
    - ntbName
    argTypes:
    - int64_t
    - void**
    - SDbInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7539
      start: 7470
    functionDepth: 9
    functionLinenumber: 7470
    functionLinenumberEnd: 7539
    functionName: dumpTableNotBelong
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpTable
    - getPrecisionByString
    - strerror
    - atomic_add_fetch_64
    - fclose
    - generateFilename
    - fopen
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpTableNotBelong(\n        int64_t index,\n        void
      **taos_v, SDbInfo *dbInfo, char *ntbName)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7549,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7550,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7555,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7560,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7562,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7567,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7570,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7573,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7576,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7578,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7583,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7587,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7590,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7594,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7597,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7598,1
    - Dst: queryCreateTableSql
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7603,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7605,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7606,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7607,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7610,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7611,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7614,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7617,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7618,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7622,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7623,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7626,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7629,1
    - Dst: getTableDesFromStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7633,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7639,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7647,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7649,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7651,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7661,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7662,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7668,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7671,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7672,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7674,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7675,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7677,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7679,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7684,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7687,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7688,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7690,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7691,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7692,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7699,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7702,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7703,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7705,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7706,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7707,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7714,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7717,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7718,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7720,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7721,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7722,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7729,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7732,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7733,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7735,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7736,1
    - Dst: atoll
      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: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7746,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7747,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7749,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7751,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7752,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7755,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7756,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7763,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7766,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7767,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7769,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7771,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7772,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7775,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7776,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7785,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7788,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7789,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7791,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7793,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7797,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7810,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7813,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7814,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7816,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7818,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7821,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7822,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7824,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7829,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7830,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7832,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7834,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7841,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7844,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7845,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7847,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7848,1
    - Dst: atoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7849,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7855,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7858,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7859,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7861,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7862,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7866,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7867,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7868,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7870,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7871,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7872,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7878,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7881,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7882,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7884,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7885,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7889,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7890,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7891,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7893,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7894,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7895,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7901,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7904,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7905,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7907,1
    - Dst: strtoul
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7908,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7912,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7913,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7914,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7916,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7917,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7918,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7924,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7927,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7928,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7930,1
    - Dst: strtoull
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7932,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7937,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7938,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7939,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7941,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7942,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7943,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7949,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7954,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7955,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7957,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7959,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7960,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 252
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7963
      start: 7541
    functionDepth: 4
    functionLinenumber: 7541
    functionLinenumberEnd: 7963
    functionName: createMTableAvroHeadImp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - replaceCopy
    - calloc
    - verbosePrint
    - avro_value_set_null
    - avro_value_decref
    - getTableDesFromStbNative
    - snprintf
    - memset
    - atoll
    - avro_file_writer_append_value
    - TOOLS_ASSERT
    - memcpy
    - avro_value_set_long
    - debugPrint
    - atoi
    - avro_generic_value_new
    - avro_value_set_double
    - free
    - errorPrint
    - avro_value_get_by_name
    - avro_value_set_string
    - atof
    - queryCreateTableSql
    - avro_value_set_branch
    - avro_value_set_bytes
    - avro_value_append
    - avro_value_set_float
    - strtoull
    - strtoul
    - avro_value_set_boolean
    - strncmp
    - avro_value_set_int
    - avro_strerror
    - strlen
    - freeTbDes
    - malloc
    linkageType: ''
    returnType: int
    signature: "int createMTableAvroHeadImp(\n        void  **taos_v,\n        const
      char *dbName,\n        const char *stable,\n        const TableDes *stbTableDes,\n
      \       const char *tbName,\n        avro_file_writer_t writer,\n        avro_value_iface_t
      *wface)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7972,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7973,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7976,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7979,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7984,1
    - Dst: convertTbTagsDesToJsonLoose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7990,1
    - Dst: convertTbTagsDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7992,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7995,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7998,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7999,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8003,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8009,1
    - Dst: createMTableAvroHeadImp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8014,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8021,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8022,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8023,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8024,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8026,1
    - Dst: tableDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8029,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8031,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8032,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8033,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8037,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 6
    argNames:
    - taos_v
    - dumpFilename
    - dbName
    - stable
    - specifiedTb
    - isVirtual
    argTypes:
    - void**
    - char*
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8040
      start: 7965
    functionDepth: 5
    functionLinenumber: 7965
    functionLinenumberEnd: 8040
    functionName: createMTableAvroHeadSpecified
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - convertTbTagsDesToJson
    - writeFile
    - calloc
    - createMTableAvroHeadImp
    - convertTbTagsDesToJsonLoose
    - freeRecordSchema
    - debugPrint
    - prepareAvroWface
    - free
    - errorPrint
    - getTableDes
    - avro_file_writer_close
    - tfree
    - avro_schema_decref
    - tableDesToJson
    - strcat
    - avro_value_iface_decref
    - strlen
    - freeTbDes
    linkageType: ''
    returnType: int
    signature: "int createMTableAvroHeadSpecified(\n        void **taos_v,\n        char
      *dumpFilename,\n        const char *dbName,\n        const char *stable,\n        const
      char *specifiedTb,\n        bool isVirtual)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8049,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8051,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8053,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8053,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8054,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8064,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8065,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8069,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8074,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8075,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8077,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8087,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8094,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8096,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - taos
    - command
    - tbNameArr
    - stable
    - preCount
    argTypes:
    - TAOS*
    - char*
    - char**
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8102
      start: 8042
    functionDepth: 1
    functionLinenumber: 8042
    functionLinenumberEnd: 8102
    functionName: fillTbNameArrNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - debugPrint
    - taosQuery
    - taos_fetch_lengths
    - okPrint
    - taos_free_result
    - strncpy
    - taos_errno
    - infoPrint
    - taos_errstr
    - errorPrint
    - taos_fetch_row
    linkageType: ''
    returnType: int64_t
    signature: "int64_t fillTbNameArrNative(\n        TAOS *taos,\n        char *command,\n
      \       char **tbNameArr,\n        const char *stable,\n        const int64_t
      preCount)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8110,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8112,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8116,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8121,1
    - Dst: fillTbNameArrNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8124,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8126,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - taos_v
    - tbNameArr
    - dbInfo
    - stable
    - preCount
    argTypes:
    - void**
    - char**
    - SDbInfo*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8131
      start: 8104
    functionDepth: 2
    functionLinenumber: 8104
    functionLinenumberEnd: 8131
    functionName: fillTbNameArr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - debugPrint
    - snprintf
    - free
    - infoPrint
    - fillTbNameArrNative
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: "int64_t fillTbNameArr(\n        void **taos_v, char **tbNameArr,\n
      \       const SDbInfo *dbInfo,\n        const char *stable,\n        int64_t
      preCount)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8144,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8148,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8150,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8155,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8158,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8161,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8164,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8166,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8171,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8175,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8178,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8182,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8185,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8186,1
    - Dst: queryCreateTableSql
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8191,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8193,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8194,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8195,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8198,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8199,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8202,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8205,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8206,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8211,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8212,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8216,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8224,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8226,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8228,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8238,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8239,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8244,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8247,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8248,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8250,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8251,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8253,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8255,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8260,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8263,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8264,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8266,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8267,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8268,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8275,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8278,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8279,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8281,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8282,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8283,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8290,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8293,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8294,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8296,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8297,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8298,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8305,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8308,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8309,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8311,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8312,1
    - Dst: atoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8313,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8319,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8322,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8323,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8325,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8327,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8328,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8331,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8332,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8339,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8342,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8343,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8345,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8347,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8348,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8351,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8352,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8361,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8364,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8365,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8367,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8369,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8373,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8386,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8389,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8390,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8392,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8394,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8397,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8398,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8400,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8405,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8406,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8408,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8410,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8416,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8419,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8420,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8422,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8423,1
    - Dst: atoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8424,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8430,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8433,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8434,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8436,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8437,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8441,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8442,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8443,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8445,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8446,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8447,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8453,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8456,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8457,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8459,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8460,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8464,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8465,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8466,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8468,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8469,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8470,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8476,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8479,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8480,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8482,1
    - Dst: strtoul
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8483,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8487,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8488,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8489,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8491,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8492,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8493,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8499,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8502,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8503,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8505,1
    - Dst: strtoull
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8507,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8512,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8513,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8514,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8516,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8517,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8518,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8524,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8529,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8530,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8532,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8534,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 242
    argCount: 6
    argNames:
    - taos_v
    - dbName
    - stbDes
    - tbDes
    - writer
    - wface
    argTypes:
    - void**
    - char*
    - TableDes*
    - TableDes*
    - avro_file_writer_t
    - avro_value_iface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8537
      start: 8135
    functionDepth: 4
    functionLinenumber: 8135
    functionLinenumberEnd: 8537
    functionName: writeTagsToAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - replaceCopy
    - verbosePrint
    - avro_value_set_null
    - avro_value_decref
    - snprintf
    - memset
    - atoll
    - avro_file_writer_append_value
    - TOOLS_ASSERT
    - memcpy
    - avro_value_set_long
    - debugPrint
    - atoi
    - avro_generic_value_new
    - avro_value_set_double
    - free
    - avro_value_get_by_name
    - errorPrint
    - avro_value_set_string
    - atof
    - queryCreateTableSql
    - avro_value_set_branch
    - avro_value_set_bytes
    - avro_value_append
    - avro_value_set_float
    - strtoull
    - strtoul
    - avro_value_set_boolean
    - strncmp
    - avro_value_set_int
    - avro_strerror
    - strlen
    - malloc
    linkageType: ''
    returnType: int
    signature: "int writeTagsToAvro(\n            void  **taos_v,\n            const
      char *dbName,\n            const TableDes *stbDes,\n            TableDes *tbDes,\n
      \           avro_file_writer_t writer,\n            avro_value_iface_t *wface)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8542,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8544,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos_v
    - sql
    argTypes:
    - void**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8549
      start: 8540
    functionDepth: 1
    functionLinenumber: 8540
    functionLinenumberEnd: 8549
    functionName: openQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 2
    functionsReached:
    - taos_free_result
    - taosQuery
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void * openQuery(void** taos_v, const char * sql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8556
      start: 8552
    functionDepth: 0
    functionLinenumber: 8552
    functionLinenumberEnd: 8556
    functionName: closeQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 2
    functionsReached:
    - taos_free_result
    linkageType: ''
    returnType: void
    signature: void closeQuery(void* res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8563,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8565,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8568,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8571,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8580,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8581,1
    - Dst: processFieldsValueV3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8582,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8583,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8592,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - res
    - tbDes
    argTypes:
    - void*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8598
      start: 8559
    functionDepth: 2
    functionLinenumber: 8559
    functionLinenumberEnd: 8598
    functionName: readNextTableDesNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - processFieldsValueV3
    - strcpy
    - taos_fetch_lengths
    - strncpy
    - strncmp
    - taos_fetch_row
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int readNextTableDesNative(void* res, TableDes* tbDes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8603,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - res
    - idx
    - col
    - len
    - data
    argTypes:
    - void*
    - int32_t
    - int32_t
    - uint32_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8620
      start: 8600
    functionDepth: 0
    functionLinenumber: 8600
    functionLinenumberEnd: 8620
    functionName: readRow
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 1
    functionsReached:
    - taos_fetch_row
    - taos_fetch_lengths
    linkageType: ''
    returnType: int32_t
    signature: int32_t readRow(void *res, int32_t idx, int32_t col, uint32_t *len,
      char **data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8633,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8639,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8643,1
    - Dst: convertTbTagsDesToJsonLoose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8650,1
    - Dst: convertTbTagsDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8652,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8655,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8656,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8663,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8667,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8670,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8673,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8678,1
    - Dst: openQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8683,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8690,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8694,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8695,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8697,1
    - Dst: readNextTableDesNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8698,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8701,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8709,1
    - Dst: writeTagsToAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8712,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8719,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8725,1
    - Dst: tableDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8732,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8734,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8735,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8736,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8741,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8745,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8746,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8747,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8748,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8749,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8750,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 5
    argNames:
    - taos_v
    - dbInfo
    - stbDes
    - tbNameArr
    - tbCount
    argTypes:
    - void**
    - SDbInfo*
    - TableDes*
    - char**
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8753
      start: 8624
    functionDepth: 5
    functionLinenumber: 8624
    functionLinenumberEnd: 8753
    functionName: dumpStableMeta
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - convertTbTagsDesToJson
    - writeFile
    - calloc
    - snprintf
    - memset
    - infoPrint
    - convertTbTagsDesToJsonLoose
    - memcpy
    - freeRecordSchema
    - debugPrint
    - prepareAvroWface
    - free
    - errorPrint
    - strdup
    - readNextTableDesNative
    - avro_file_writer_close
    - generateFilename
    - tfree
    - avro_schema_decref
    - okPrint
    - openQuery
    - tableDesToJson
    - strcat
    - avro_value_iface_decref
    - closeQuery
    - freeTbDes
    - writeTagsToAvro
    linkageType: ''
    returnType: int
    signature: "int dumpStableMeta(\n        void **taos_v,\n        const SDbInfo
      *dbInfo,\n        TableDes *stbDes,\n        char **tbNameArr,\n        int64_t
      tbCount)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8767,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8771,1
    - Dst: createMTableAvroHeadSpecified
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8774,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8783,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8788,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8792,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8795,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8797,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8802,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8803,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8805,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8809,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8817,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8822,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8826,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 6
    argNames:
    - index
    - taos_v
    - dbInfo
    - stbName
    - stbTableDes
    - childName
    argTypes:
    - int64_t
    - TAOS**
    - SDbInfo*
    - char*
    - TableDes*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8831
      start: 8755
    functionDepth: 9
    functionLinenumber: 8755
    functionLinenumberEnd: 8831
    functionName: dumpTableBelongStb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - createMTableAvroHeadSpecified
    - dumpTable
    - debugPrint
    - strerror
    - getPrecisionByString
    - atomic_add_fetch_64
    - fclose
    - generateFilename
    - fopen
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpTableBelongStb(\n        int64_t index,\n        TAOS
      **taos_v,\n        SDbInfo *dbInfo, char *stbName,\n        const TableDes *stbTableDes,\n
      \       char *childName)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8834,1
    - Dst: printVersion
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8836,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8838,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8839,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8840,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8841,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8842,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8843,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8844,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8845,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8846,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8847,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8848,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8849,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8851,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8852,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8854,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8856,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8857,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8859,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8861,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8862,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8863,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8864,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8865,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8866,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8867,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8889
      start: 8833
    functionDepth: 0
    functionLinenumber: 8833
    functionLinenumberEnd: 8889
    functionName: printArgs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - fflush
    - fprintf
    - printVersion
    linkageType: ''
    returnType: void
    signature: void printArgs(FILE *file)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8896,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8897,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8902,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8905,1
    - Dst: printArgs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8906,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8910,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8913,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8915,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8920,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8925,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8933,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8942,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8946,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8948,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8951,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8952,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8956
      start: 8891
    functionDepth: 1
    functionLinenumber: 8891
    functionLinenumberEnd: 8956
    functionName: checkParam
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - exit
    - printArgs
    - strcpy
    - strerror
    - printf
    - fopen
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int checkParam()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - str
    - size
    - buf
    - bufsize
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8991
      start: 8980
    functionDepth: 1
    functionLinenumber: 8980
    functionLinenumberEnd: 8991
    functionName: convertStringToReadable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 3
    functionsReached:
    - stpcpy
    linkageType: ''
    returnType: int
    signature: int convertStringToReadable(char *str, int size, char *buf, int bufsize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbtowc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8999,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9001,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9002,1
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9006,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9008,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - str
    - size
    - buf
    - bufsize
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9017
      start: 8993
    functionDepth: 1
    functionLinenumber: 8993
    functionLinenumberEnd: 9017
    functionName: convertNCharToReadable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 3
    functionsReached:
    - mbtowc
    - exit
    - memcpy
    - stpcpy
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int convertNCharToReadable(char *str, int size, char *buf, int bufsize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9021,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9023,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9026,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9029,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9031,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9033,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9035,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9036,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9038,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9038,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9039,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9040,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9041,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9041,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9042,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9043,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9046,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9047,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9050,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9051,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9056,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9057,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9060,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9060,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9061,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9061,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9062,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9064,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9065,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9066,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9066,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9067,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9068,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9071,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9072,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9076,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9077,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - taos
    - fp
    argTypes:
    - void*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9078
      start: 9019
    functionDepth: 1
    functionLinenumber: 9019
    functionLinenumberEnd: 9078
    functionName: dumpExtraInfoVar
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - strerror
    - taos_fetch_lengths
    - snprintf
    - strcpy
    - debugPrint
    - taosQuery
    - strncpy
    - free
    - errorPrint
    - strcmp
    - taos_free_result
    - warnPrint
    - min
    - taos_fetch_row
    - fwrite
    - fprintf
    - taos_errno
    - strlen
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void dumpExtraInfoVar(void *taos, FILE *fp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9083,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9087,1
    - Dst: taos_get_server_info
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9088,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9090,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9098,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9100,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9104,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9110,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9112,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9112,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9113,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9114,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9117,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9118,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9121,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9123,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9125,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9127,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9129,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9129,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9130,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9131,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9134,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9135,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9138,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9140,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9140,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9141,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9142,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9145,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9146,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9149,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9151,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9151,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9152,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9153,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9156,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - taos
    - fp
    argTypes:
    - void*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9161
      start: 9080
    functionDepth: 0
    functionLinenumber: 9080
    functionLinenumberEnd: 9161
    functionName: dumpExtraInfoHead
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - fwrite
    - strerror
    - fseek
    - taos_get_server_info
    - snprintf
    - strchr
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int dumpExtraInfoHead(void *taos, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dumpExtraInfoHead
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9166,1
    - Dst: dumpExtraInfoVar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9172,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - taos_v
    - fp
    argTypes:
    - void**
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9177
      start: 9163
    functionDepth: 2
    functionLinenumber: 9163
    functionLinenumberEnd: 9177
    functionName: dumpExtraInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 1
    functionsReached:
    - dumpExtraInfoVar
    - ferror
    - dumpExtraInfoHead
    linkageType: ''
    returnType: int
    signature: int dumpExtraInfo(void **taos_v, FILE *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9182,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9184,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9188,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9189,1
    - Dst: fgets
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9190,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9193,1
    - Dst: getline
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9196,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9202,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9203,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9204,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9208,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9211,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9215,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - fp
    - mark
    - fcharset
    argTypes:
    - FILE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9219
      start: 9179
    functionDepth: 1
    functionLinenumber: 9179
    functionLinenumberEnd: 9219
    functionName: loadFileMark
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - fseek
    - strncpy
    - strncmp
    - tfree
    - getline
    - strlen
    - TOOLS_ASSERT
    - fgets
    linkageType: ''
    returnType: void
    signature: void loadFileMark(FILE *fp, char *mark, char *fcharset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9223,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9227,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9229,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9233,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9236,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9240,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9240,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9241,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9241,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9242,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9245,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9246,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9247,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9248,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9249,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9249,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9250,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9251,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9252,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9253,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9254,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9255,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9256,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9257,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9259,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9262,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9265,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9267
      start: 9221
    functionDepth: 0
    functionLinenumber: 9221
    functionLinenumberEnd: 9267
    functionName: convertDbClauseForV3
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strdup
    - sprintf
    - atoi
    - strsep
    - strncmp
    - free
    - strlen
    - errorPrint
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool convertDbClauseForV3(char **cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9274,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9277,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9278,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9284
      start: 9269
    functionDepth: 1
    functionLinenumber: 9269
    functionLinenumberEnd: 9284
    functionName: queryDbImplNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - taos_errstr
    - taosQuery
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int queryDbImplNative(TAOS *taos, char *command)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_THREAD_NAME
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9404,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9405,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9412,1
    - Dst: openDumpInFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9415,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9417,1
    - Dst: dumpInOneDebugFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9422,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9427,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9428,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9432,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9433,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9441
      start: 9402
    functionDepth: 1
    functionLinenumber: 9402
    functionLinenumberEnd: 9441
    functionName: dumpInDebugWorkThreadFp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - openDumpInFile
    - SET_THREAD_NAME
    - atomic_add_fetch_64
    - okPrint
    - snprintf
    - fclose
    - dumpInOneDebugFile
    - debugPrint2
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void * dumpInDebugWorkThreadFp(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getFilesNum
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9447,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9449,1
    - Dst: createDumpinList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9453,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9457,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9458,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9460,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9461,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9488,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9492,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9497,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9498,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9499,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9503,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9505,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9508,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9509,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9514,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9515,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9518,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9519,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9524,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9528,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9529,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9532,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9533,1
    - Dst: freeFileList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9535,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9538
      start: 9443
    functionDepth: 2
    functionLinenumber: 9443
    functionLinenumberEnd: 9538
    functionName: dumpInDebugWorkThreads
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - createDumpinList
    - freeFileList
    - pthread_join
    - exit
    - calloc
    - taos_close
    - debugPrint
    - strerror
    - atomic_add_fetch_64
    - verbosePrint
    - strncpy
    - free
    - getFilesNum
    - taosConnect
    - errorPrint
    - pthread_create
    - TOOLS_ASSERT
    linkageType: ''
    returnType: int
    signature: int dumpInDebugWorkThreads(const char *dbPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - taos
    argTypes:
    - FILE*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9545
      start: 9541
    functionDepth: 0
    functionLinenumber: 9541
    functionLinenumberEnd: 9545
    functionName: getDBChange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DBChange
    signature: DBChange *getDBChange(FILE *fp, TAOS* taos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9550,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9555,1
    - Dst: openDumpInFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9557,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9559,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9563,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9566,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9570,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9572,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9573,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9574,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9578,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9581,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9586,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9588,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9593,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9594,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9599,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9602,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9604,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9606,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9610,1
    - Dst: dumpInOneDebugFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9612,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9616,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9620,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9623,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9624,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9629,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9633
      start: 9547
    functionDepth: 2
    functionLinenumber: 9547
    functionLinenumberEnd: 9633
    functionName: dumpInDbs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - openDumpInFile
    - strcpy
    - debugPrint
    - loadFileMark
    - atoi
    - closeTaosConnWrapper
    - strcasecmp
    - okPrint
    - snprintf
    - fclose
    - dumpInOneDebugFile
    - taosConnect
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int dumpInDbs(const char *dbPath)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9639,1
    - Dst: dumpInDbs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9642,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9643,1
    - Dst: createDbChange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9649,1
    - Dst: dumpInAvroWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9653,1
    - Dst: dumpInAvroWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9656,1
    - Dst: dumpInAvroWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9660,1
    - Dst: dumpInAvroWorkThreadsSub
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9662,1
    - Dst: dumpInDebugWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9666,1
    - Dst: freeDBChange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9675
      start: 9636
    functionDepth: 3
    functionLinenumber: 9636
    functionLinenumberEnd: 9675
    functionName: dumpInWithDbPath
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpInDbs
    - dumpInAvroWorkThreads
    - errorPrint
    - dumpInDebugWorkThreads
    - createDbChange
    - dumpInAvroWorkThreadsSub
    - infoPrint
    - freeDBChange
    linkageType: ''
    returnType: int
    signature: int dumpInWithDbPath(const char *dbPath)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dumpInWithDbPath
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9680,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9689,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9691,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9695,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9696,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9697,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9697,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9699,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9700,1
    - Dst: dumpInWithDbPath
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9701,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9704,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9707,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9709,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9709,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9713,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9714,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9714,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9716,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9717,1
    - Dst: dumpInWithDbPath
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9718,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9721,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9725
      start: 9677
    functionDepth: 4
    functionLinenumber: 9677
    functionLinenumberEnd: 9725
    functionName: dumpInProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - toolsOpenDir
    - debugPrint
    - strerror
    - toolsReadDir
    - readdir
    - strncmp
    - snprintf
    - opendir
    - dumpInWithDbPath
    - closedir
    - toolsGetDirEntryName
    - strlen
    - errorPrint
    - toolsCloseDir
    linkageType: ''
    returnType: int
    signature: int dumpInProcess()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9728,1
    - Dst: dumpInProcess
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9734,1
    - Dst: dumpInProcess
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9747
      start: 9727
    functionDepth: 5
    functionLinenumber: 9727
    functionLinenumberEnd: 9747
    functionName: dumpIn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpInProcess
    - TOOLS_ASSERT
    linkageType: ''
    returnType: int
    signature: int dumpIn()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9756,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9762,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9774,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9788,1
    - Dst: markDumpOutError
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9791,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pThreadInfo
    - fp
    - dumpFilename
    argTypes:
    - threadInfo*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9799
      start: 9749
    functionDepth: 9
    functionLinenumber: 9749
    functionLinenumberEnd: 9799
    functionName: dumpTablesOfStbNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - markDumpOutError
    - debugPrint
    - dumpTable
    - atomic_add_fetch_64
    linkageType: ''
    returnType: void
    signature: "void dumpTablesOfStbNative(\n        threadInfo *pThreadInfo,\n        FILE
      *fp,\n        char *dumpFilename)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9804,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9805,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9811,1
    - Dst: markDumpOutError
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9814,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9817,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9820,1
    - Dst: markDumpOutError
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9823,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9826,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9829,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9831,1
    - Dst: markDumpOutError
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9832,1
    - Dst: dumpTablesOfStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9837,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9844
      start: 9801
    functionDepth: 10
    functionLinenumber: 9801
    functionLinenumberEnd: 9844
    functionName: dumpTablesOfStbThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - markDumpOutError
    - debugPrint
    - strerror
    - dumpTablesOfStbNative
    - fclose
    - generateFilename
    - fopen
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void *dumpTablesOfStbThread(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9856,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9859,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9860,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9861,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9862,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9864,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9868,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9869,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9870,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9880,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9882,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9883,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9886,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9889,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9891,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9894,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9895,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9900,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9901,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9904,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9905,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9910,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9913,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9919,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9922,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9923,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 4
    argNames:
    - dbInfo
    - stbDes
    - tbNameArr
    - tbCount
    argTypes:
    - SDbInfo*
    - TableDes*
    - char**
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9925
      start: 9846
    functionDepth: 1
    functionLinenumber: 9846
    functionLinenumberEnd: 9925
    functionName: dumpSTableData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - exit
    - calloc
    - strcpy
    - taos_close
    - getPrecisionByString
    - strerror
    - errorPrint
    - free
    - taosConnect
    - infoPrint
    - pthread_create
    - TOOLS_ASSERT
    linkageType: ''
    returnType: int
    signature: int dumpSTableData(SDbInfo* dbInfo, TableDes* stbDes, char** tbNameArr,
      int64_t tbCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9931,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tbNameArr
    - tbCount
    argTypes:
    - char**
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9935
      start: 9928
    functionDepth: 0
    functionLinenumber: 9928
    functionLinenumberEnd: 9935
    functionName: freeTbNameArr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freeTbNameArr(char ** tbNameArr, int64_t tbCount)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9945,1
    - Dst: getTbCountOfStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9949,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9951,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9952,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9955,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9959,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9960,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9965,1
    - Dst: dumpStableMeta
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9967,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9974,1
    - Dst: freeTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9976,1
    - Dst: fillTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9980,1
    - Dst: freeTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9984,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9987,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9990,1
    - Dst: dumpSTableData
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9998,1
    - Dst: freeTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - taos_v
    - dbInfo
    - stbDes
    argTypes:
    - void**
    - SDbInfo*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10001
      start: 9938
    functionDepth: 6
    functionLinenumber: 9938
    functionLinenumberEnd: 10001
    functionName: dumpStable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - exit
    - freeTbNameArr
    - calloc
    - strcpy
    - dumpSTableData
    - fillTbNameArr
    - errorPrint
    - getTbCountOfStbNative
    - infoPrint
    - dumpStableMeta
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpStable(\n        void **taos_v,\n        SDbInfo *dbInfo,\n
      \       TableDes *stbDes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10010,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10013,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10015,1
    - Dst: dumpStableClasuse
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10019,1
    - Dst: dumpStable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10028,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10033,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - taos_v
    - dbInfo
    - stable
    - fpDbs
    argTypes:
    - void**
    - SDbInfo*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10041
      start: 10003
    functionDepth: 7
    functionLinenumber: 10003
    functionLinenumberEnd: 10041
    functionName: dumpStbAndChildTb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpStableClasuse
    - exit
    - calloc
    - freeTbDes
    - dumpStable
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpStbAndChildTb(\n        void **taos_v, SDbInfo *dbInfo,
      const char *stable, FILE *fpDbs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10047,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10052,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10054,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10061,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10066,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10068,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10069,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10070,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10071,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10077,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10078,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10080,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10090,1
    - Dst: dumpTableNotBelong
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10093,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10097,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10100,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10107,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - taos_v
    - dbInfo
    argTypes:
    - TAOS**
    - SDbInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10111
      start: 10043
    functionDepth: 10
    functionLinenumber: 10043
    functionLinenumberEnd: 10111
    functionName: dumpNTablesOfDb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - dumpTableNotBelong
    - calloc
    - okPrint
    - taosQuery
    - taos_fetch_lengths
    - taos_free_result
    - strncpy
    - warnPrint
    - snprintf
    - free
    - taos_errstr
    - errorPrint
    - taos_fetch_row
    linkageType: ''
    returnType: int64_t
    signature: int64_t dumpNTablesOfDb(TAOS **taos_v, SDbInfo *dbInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10117,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10119,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10123,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10131,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10133,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10134,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10135,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10136,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10140,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10143,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10148,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10151,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10156,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10157,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10159,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10160,1
    - Dst: dumpStbAndChildTb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10164,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10170,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10176,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - taos_v
    - dbInfo
    - fpDbs
    argTypes:
    - TAOS**
    - SDbInfo*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10180
      start: 10113
    functionDepth: 8
    functionLinenumber: 10113
    functionLinenumberEnd: 10180
    functionName: dumpStbAndChildTbOfDb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - debugPrint
    - taosQuery
    - taos_fetch_lengths
    - taos_free_result
    - strncpy
    - snprintf
    - free
    - cleanIfQueryFailed
    - dumpStbAndChildTb
    - taos_errstr
    - errorPrint
    - taos_fetch_row
    linkageType: ''
    returnType: int64_t
    signature: "int64_t dumpStbAndChildTbOfDb(\n        TAOS **taos_v, SDbInfo *dbInfo,
      FILE *fpDbs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10184,1
    - Dst: getUniqueIDFromEpoch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10187,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10188,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10192,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dbInfo
    argTypes:
    - SDbInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10203
      start: 10182
    functionDepth: 2
    functionLinenumber: 10182
    functionLinenumberEnd: 10203
    functionName: createDirForDbDump
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - snprintf
    - getUniqueIDFromEpoch
    - errorPrint
    - mkdir
    linkageType: ''
    returnType: int
    signature: int createDirForDbDump(SDbInfo *dbInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createDirForDbDump
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10209,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10212,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10214,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10217,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10219,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - dbInfo
    argTypes:
    - SDbInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10225
      start: 10205
    functionDepth: 3
    functionLinenumber: 10205
    functionLinenumberEnd: 10225
    functionName: createDbsSqlPerDb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strerror
    - snprintf
    - fopen
    - errorPrint
    - createDirForDbDump
    linkageType: ''
    returnType: FILE
    signature: FILE *createDbsSqlPerDb(SDbInfo *dbInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10229,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10231,1
    - Dst: createDbsSqlPerDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10238,1
    - Dst: dumpCreateDbClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10245,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10247,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10249,1
    - Dst: dumpStbAndChildTbOfDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10254,1
    - Dst: dumpNTablesOfDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10257,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - taos_v
    - dbInfo
    - fp
    argTypes:
    - void**
    - SDbInfo*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10264
      start: 10227
    functionDepth: 11
    functionLinenumber: 10227
    functionLinenumberEnd: 10264
    functionName: dumpWholeDatabase
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - fprintf
    - atomic_add_fetch_64
    - createDbsSqlPerDb
    - dumpNTablesOfDb
    - fclose
    - dumpCreateDbClause
    - dumpStbAndChildTbOfDb
    - infoPrint
    linkageType: ''
    returnType: int64_t
    signature: int64_t dumpWholeDatabase(void **taos_v, SDbInfo *dbInfo, FILE *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10268,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10269,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10271,1
    - Dst: access
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - path
    - filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10279
      start: 10266
    functionDepth: 0
    functionLinenumber: 10266
    functionLinenumberEnd: 10279
    functionName: checkFileExists
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - access
    linkageType: ''
    returnType: bool
    signature: bool checkFileExists(char *path, char *filename)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10289,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10290,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10293,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10294,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10295,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10297,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10303,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10310,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10311,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10314,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10315,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10317,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10323,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - path
    - dirname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10328
      start: 10281
    functionDepth: 1
    functionLinenumber: 10281
    functionLinenumberEnd: 10328
    functionName: checkFileExistsDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - toolsOpenDir
    - toolsReadDir
    - readdir
    - strncmp
    - opendir
    - toolsGetDirEntryName
    - strlen
    - toolsCloseDir
    - closedir
    linkageType: ''
    returnType: bool
    signature: bool checkFileExistsDir(char *path, char *dirname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10334,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10340,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10343,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10344,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10345,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10347,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10353,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10359,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10362,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10363,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10365,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10371,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - path
    - ext
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10376
      start: 10330
    functionDepth: 1
    functionLinenumber: 10330
    functionLinenumberEnd: 10376
    functionName: checkFileExistsExt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - toolsOpenDir
    - toolsReadDir
    - readdir
    - opendir
    - toolsGetDirEntryName
    - strlen
    - toolsCloseDir
    - closedir
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool checkFileExistsExt(char *path, char *ext)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10382,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10383,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10384,1
    - Dst: checkFileExists
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10391,1
    - Dst: checkFileExistsDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10392,1
    - Dst: checkFileExistsExt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10393,1
    - Dst: checkFileExistsExt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10394,1
    - Dst: checkFileExistsExt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10395,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10396,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10397,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10401,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10409,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - outpath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10413
      start: 10378
    functionDepth: 2
    functionLinenumber: 10378
    functionLinenumberEnd: 10413
    functionName: checkOutDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - checkFileExists
    - toolsOpenDir
    - checkFileExistsDir
    - checkFileExistsExt
    - strlen
    - errorPrint
    - toolsCloseDir
    linkageType: ''
    returnType: bool
    signature: bool checkOutDir(char *outpath)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10419,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10420,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10421,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10422,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10425,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10431,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10435,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10441,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10445,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10451,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10455,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10456,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10457,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10458,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10462,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10465,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10467,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10468,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10469,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10470,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10471,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10475,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10476,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10477,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10478,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10482,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10483,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10485,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10487,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10491,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10495,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10499,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10503,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10505,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10509,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10513,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10517,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10521,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10525,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10529,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10533,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10537,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10541,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10545,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10550,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10554,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10555,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10556,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10557,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10560,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 139
    argCount: 5
    argNames:
    - index
    - fields
    - row
    - lengths
    - fieldCount
    argTypes:
    - int
    - TAOS_FIELD*
    - TAOS_ROW
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10566
      start: 10415
    functionDepth: 1
    functionLinenumber: 10415
    functionLinenumberEnd: 10566
    functionName: fillDBInfoWithFieldsNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - debugPrint
    - min
    - errorPrint
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool fillDBInfoWithFieldsNative(const int index,\n        const TAOS_FIELD
      *fields, const TAOS_ROW row,\n        const int *lengths, int fieldCount)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10573,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10575,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10578,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10583,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10586,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10588,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10591,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10593,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10597,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10603,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - taos
    - dbName
    - dbIndex
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10606
      start: 10568
    functionDepth: 1
    functionLinenumber: 10568
    functionLinenumberEnd: 10606
    functionName: fillDbExtraInfoV3Native
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - calloc
    - taosQuery
    - taos_free_result
    - snprintf
    - cleanIfQueryFailed
    - taos_fetch_fields
    - infoPrint
    - free
    - taos_fetch_row
    - errorPrint
    linkageType: ''
    returnType: int
    signature: "int fillDbExtraInfoV3Native(\n        void *taos,\n        const char
      *dbName,\n        const int dbIndex)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10612,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10614,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10618,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10622,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10624,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10627,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10628,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10630,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10631,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10633,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10639,1
    - Dst: isSystemDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10641,1
    - Dst: inDatabasesSeq
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10646,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10650,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10655,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10657,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10663,1
    - Dst: fillDBInfoWithFieldsNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10665,1
    - Dst: fillDbExtraInfoV3Native
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10671,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10685,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10686,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 1
    argNames:
    - taos
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10693
      start: 10608
    functionDepth: 2
    functionLinenumber: 10608
    functionLinenumberEnd: 10693
    functionName: fillDbInfoNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - taos_field_count
    - calloc
    - okPrint
    - taosQuery
    - taos_fetch_lengths
    - isSystemDatabase
    - inDatabasesSeq
    - strncpy
    - fillDBInfoWithFieldsNative
    - snprintf
    - cleanIfQueryFailed
    - taos_fetch_fields
    - taos_free_result
    - free
    - taos_fetch_row
    - fillDbExtraInfoV3Native
    - errorPrint
    - strcmp
    linkageType: ''
    returnType: int
    signature: int fillDbInfoNative(void *taos)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: checkOutDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10706,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10711,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10714,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10716,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10718,1
    - Dst: getDumpDbCount
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10722,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10723,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10727,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10728,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10732,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10734,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10742,1
    - Dst: dumpExtraInfo
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10748,1
    - Dst: fillDbInfoNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10754,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10757,1
    - Dst: dumpWholeDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10767,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10769,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10772,1
    - Dst: dumpWholeDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10779,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10781,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10784,1
    - Dst: dumpCreateDbClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10789,1
    - Dst: createDbsSqlPerDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10792,1
    - Dst: dumpCreateDbClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10794,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10797,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10806,1
    - Dst: getTableRecordInfo
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10811,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10814,1
    - Dst: dumpStbAndChildTb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10821,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10825,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10835,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10837,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10840,1
    - Dst: dumpStableClasuse
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10844,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10853,1
    - Dst: dumpTableBelongStb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10858,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10866,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10871,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10877,1
    - Dst: dumpTableNotBelong
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10880,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10889,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10899,1
    - Dst: freeDbInfos
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10903,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10905,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10907,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10909,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10911,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10915,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 141
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10920
      start: 10695
    functionDepth: 12
    functionLinenumber: 10695
    functionLinenumberEnd: 10920
    functionName: dumpOut
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - checkOutDir
    - calloc
    - strerror
    - atomic_add_fetch_64
    - dumpTableBelongStb
    - taosConnect
    - snprintf
    - fopen
    - getDumpDbCount
    - exit
    - fillDbInfoNative
    - debugPrint
    - errorPrint
    - dumpStableClasuse
    - freeDbInfos
    - dumpWholeDatabase
    - dumpCreateDbClause
    - dumpStbAndChildTb
    - dumpTableNotBelong
    - getTableRecordInfo
    - okPrint
    - closeTaosConnWrapper
    - createDbsSqlPerDb
    - freeTbDes
    - fclose
    - strlen
    - dumpExtraInfo
    linkageType: ''
    returnType: int
    signature: int dumpOut()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checkParam
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10925,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10926,1
    - Dst: printArgs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10929,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10932,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10934,1
    - Dst: toolsGetNumberOfCores
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10936,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10938,1
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10939,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10940,1
    - Dst: taos_options
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10944,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10954,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10955,1
    - Dst: dumpIn
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10959,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10961,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10962,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10964,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10970,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10973,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10976,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10982,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10983,1
    - Dst: dumpOut
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10988,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10992,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10994,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10996,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10998,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11000,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11005,1
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11006,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11007,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11011,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11015,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11016,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11019,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11023
      start: 10922
    functionDepth: 13
    functionLinenumber: 10922
    functionLinenumberEnd: 11023
    functionName: dumpEntry
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - exit
    - printArgs
    - checkParam
    - fprintf
    - dumpIn
    - toolsGetNumberOfCores
    - okPrint
    - errorPrint
    - printf
    - fclose
    - free
    - dumpOut
    - localtime
    - taos_options
    - time
    linkageType: ''
    returnType: int
    signature: int dumpEntry()
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11026,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11028,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11033,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11034,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11036,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11044,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11045,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11045,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11047,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11048,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11050,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11052,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11054,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11057,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11059,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11061,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11068,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11073,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11074,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11075,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11077,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11078,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11081,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11082,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11085,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11090,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11092,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11094,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11096,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11100,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11105,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11113,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11115,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11116,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11119,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11122,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11126,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11131,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11139,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11142,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11144,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11152,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11160,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11161,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11163,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11164,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11165,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11173,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11174,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11175,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11182,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11183,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11186,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11187,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11193,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11194,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11195,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11207,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11209,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 107
    argCount: 1
    argNames:
    - element
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11218
      start: 11025
    functionDepth: 1
    functionLinenumber: 11025
    functionLinenumberEnd: 11218
    functionName: parse_json_for_inspect
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - json_array_size
    - calloc
    - debugPrint
    - free
    - json_typeof
    - json_plural
    - json_string_value
    - errorPrint
    - strcmp
    - json_array_get
    linkageType: ''
    returnType: RecordSchema
    signature: RecordSchema *parse_json_for_inspect(json_t *element)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11044,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11045,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11045,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11047,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11048,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11050,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11052,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11054,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11057,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11059,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11061,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11068,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11073,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11074,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11075,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11077,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11078,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11081,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11082,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11085,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11090,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11092,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11094,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11096,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11100,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11105,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11113,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11115,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11116,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11119,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11122,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11126,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11131,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11139,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11142,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11144,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11152,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11160,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11161,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11163,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11164,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11165,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11173,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11174,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11175,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11182,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11183,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11186,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11187,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11193,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11194,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11195,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11207,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11209,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11215
      start: 11043
    functionDepth: 1
    functionLinenumber: 11043
    functionLinenumberEnd: 11215
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - json_array_size
    - calloc
    - debugPrint
    - free
    - json_typeof
    - json_plural
    - json_string_value
    - errorPrint
    - strcmp
    - json_array_get
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(element, key, value)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11073,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11074,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11075,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11077,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11078,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11081,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11082,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11085,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11090,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11092,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11094,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11096,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11100,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11105,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11113,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11115,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11116,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11119,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11122,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11126,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11131,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11139,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11142,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11144,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11152,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11160,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11161,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11163,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11164,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11165,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11173,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11174,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11175,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11182,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11183,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11186,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11187,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11193,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11194,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11195,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11204
      start: 11072
    functionDepth: 1
    functionLinenumber: 11072
    functionLinenumberEnd: 11204
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - json_array_size
    - json_typeof
    - json_string_value
    - errorPrint
    - strcmp
    - json_array_get
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(arr_element, ele_key, ele_value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11113,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11115,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11116,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11119,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11122,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11126,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11131,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11139,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11142,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11150
      start: 11109
    functionDepth: 1
    functionLinenumber: 11109
    functionLinenumberEnd: 11150
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - json_string_value
    - json_typeof
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void json_object_foreach(arr_type_ele,\n                                                arr_type_ele_key,\n
      \                                               arr_type_ele_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11139,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11142,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11148
      start: 11135
    functionDepth: 1
    functionLinenumber: 11135
    functionLinenumberEnd: 11148
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - json_string_value
    - json_typeof
    linkageType: ''
    returnType: void
    signature: "void json_object_foreach(arr_type_ele_value,\n                                                        arr_type_ele_value_key,\n
      \                                                       arr_type_ele_value_value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11160,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11161,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11163,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11164,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11165,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11173,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11174,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11175,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11182,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11183,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11186,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11187,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11193,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11194,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11201
      start: 11159
    functionDepth: 1
    functionLinenumber: 11159
    functionLinenumberEnd: 11201
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_string_value
    - TOOLS_STRNCPY
    - json_typeof
    - strcmp
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(ele_value, obj_key, obj_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11173,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11174,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11180
      start: 11172
    functionDepth: 1
    functionLinenumber: 11172
    functionLinenumberEnd: 11180
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_string_value
    - TOOLS_STRNCPY
    - json_typeof
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(obj_value, field_key, field_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11193,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11194,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11198
      start: 11192
    functionDepth: 1
    functionLinenumber: 11192
    functionLinenumberEnd: 11198
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - json_string_value
    - TOOLS_STRNCPY
    - json_typeof
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(obj_value, item_key, item_value)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11225,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11226,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11227,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11228,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11229,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11239,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11240,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11241,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11246,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11248,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11253,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11255,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11256,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11258,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11259,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11260,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11261,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11264,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11266,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11267,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11269,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11273,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11275,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11276,1
    - Dst: parse_json_for_inspect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11281,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11283,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11284,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11285,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11286,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11293,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11295,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11297,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11299,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11311,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11313,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11317,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11319,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11320,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11322,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11323,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11326,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11330,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11332,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11335,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11338,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11340,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11341,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11343,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11344,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11347,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11349,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11351,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11354,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11357,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11359,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11360,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11362,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11363,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11366,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11368,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11370,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11373,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11377,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11379,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11380,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11382,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11383,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11386,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11388,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11390,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11393,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11396,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11398,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11400,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11402,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11403,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11406,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11408,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11411,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11416,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11417,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11420,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11422,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11423,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11425,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11426,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11429,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11430,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11432,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11433,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11437,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11439,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11440,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11443,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11445,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11452,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11454,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11457,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11461,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11463,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11468,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11470,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11478,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11480,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11483,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11487,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11489,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11490,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11493,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11495,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11501,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11503,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11506,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11510,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11512,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11517,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11519,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11523,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11525,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11529,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11535,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11540,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11541,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11544,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11545,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11546,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11548,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11549,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11550,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11552,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 231
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11555
      start: 11221
    functionDepth: 2
    functionLinenumber: 11221
    functionLinenumberEnd: 11555
    functionName: inspectAvroFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - avro_file_reader_get_writer_schema
    - avro_value_get_string
    - calloc
    - strcasecmp
    - verbosePrint
    - avro_value_get_bytes
    - avro_value_decref
    - avro_schema_to_json
    - avro_generic_class_from_schema
    - avro_file_reader
    - avro_writer_free
    - avro_value_get_float
    - json_decref
    - parse_json_for_inspect
    - freeRecordSchema
    - avro_value_get_by_index
    - avro_file_reader_close
    - debugPrint
    - avro_generic_value_new
    - avro_value_get_size
    - avro_value_get_current_branch
    - errorPrint
    - avro_value_get_by_name
    - strcmp
    - avro_value_get_double
    - load_json
    - printf
    - tfree
    - avro_value_get_null
    - avro_writer_memory
    - fprintf
    - avro_value_get_long
    - avro_schema_decref
    - avro_value_get_int
    - print_json
    - avro_file_reader_read_value
    - avro_value_get_boolean
    - avro_value_iface_decref
    - avro_strerror
    - strlen
    linkageType: ''
    returnType: int
    signature: int inspectAvroFile(char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11561,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11562,1
    - Dst: inspectAvroFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11563,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11568
      start: 11557
    functionDepth: 3
    functionLinenumber: 11557
    functionLinenumberEnd: 11568
    functionName: inspectAvroFiles
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - strlen
    - fprintf
    - inspectAvroFile
    linkageType: ''
    returnType: int
    signature: int inspectAvroFiles(int argc, char *argv[])
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getUniqueIDFromEpoch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11572,1
    - Dst: parse_timestamp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11578,1
    - Dst: parse_args
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11579,1
    - Dst: argp_parse
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11583,1
    - Dst: abort
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11585,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11589,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11589,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11590,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11591,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11597,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11606,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11610,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11612,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11618,1
    - Dst: setConnMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11624,1
    - Dst: inspectAvroFiles
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11630,1
    - Dst: dumpEntry
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11632,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11637,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:11646,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11651
      start: 11571
    functionDepth: 14
    functionLinenumber: 11571
    functionLinenumberEnd: 11651
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: 0
    functionsReached:
    - parse_args
    - taos_get_client_info
    - setConnMode
    - debugPrint
    - dumpEntry
    - atoi
    - errorPrint
    - argp_parse
    - snprintf
    - warnPrint
    - parse_timestamp
    - getenv
    - free
    - inspectAvroFiles
    - abort
    - getUniqueIDFromEpoch
    - infoPrint
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:39,1
    - Dst: pthread_mutex_init
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:42,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mutex
    - attr
    argTypes:
    - TdThreadMutex*
    - TdThreadMutexAttr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: taosThreadMutexInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - InitializeCriticalSection
    - pthread_mutex_init
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosThreadMutexInit(TdThreadMutex *mutex, const TdThreadMutexAttr
      *attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:53,1
    - Dst: pthread_mutex_destroy
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:56,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - TdThreadMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: taosThreadMutexDestroy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_destroy
    - TAOS_SYSTEM_ERROR
    - DeleteCriticalSection
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosThreadMutexDestroy(TdThreadMutex *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:68,1
    - Dst: pthread_mutex_lock
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:71,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - TdThreadMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: taosThreadMutexLock
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: 10
    functionsReached:
    - EnterCriticalSection
    - TAOS_SYSTEM_ERROR
    - pthread_mutex_lock
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosThreadMutexLock(TdThreadMutex *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:82,1
    - Dst: pthread_mutex_unlock
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:85,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - TdThreadMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: taosThreadMutexUnlock
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: 10
    functionsReached:
    - LeaveCriticalSection
    - TAOS_SYSTEM_ERROR
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosThreadMutexUnlock(TdThreadMutex *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:100,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: initLog
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: 1
    functionsReached:
    - printf
    - taosThreadMutexInit
    linkageType: ''
    returnType: bool
    signature: bool initLog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:110,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:111,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: exitLog
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexDestroy
    - strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void exitLog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:118,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:119,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:119,1
    - Dst: abort
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: lockLog
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - abort
    - strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void lockLog(int8_t idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:125,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:126,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:126,1
    - Dst: abort
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: unlockLog
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: 0
    functionsReached:
    - abort
    - strerror
    - fprintf
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void unlockLog(int8_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: LEGAL_ALT
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEGAL_ALT(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - dest
    - llim
    - ulim
    argTypes:
    - char**
    - int*
    - int
    - int
    assertStmts: []
    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: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conv_num(const char **buf, int *dest, int llim, int ulim)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - haystack
    - needle
    - len
    - skipquote
    argTypes:
    - char*
    - char
    - int32_t
    - bool
    assertStmts: []
    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: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *tools_strnchr(char *haystack, char needle, int32_t len, bool
      skipquote)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    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: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * forwardToTimeStringEnd(char* str)
  - 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: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - num
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    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: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int64_t
    signature: int64_t tools_strnatoi(char *num, int32_t len)
  - 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: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - str
    - end
    - timePrec
    argTypes:
    - char*
    - char**
    - int32_t
    assertStmts:
    - condition: (timePrec == TSDB_TIME_PRECISION_NANO)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/tdengine/tools/taos-tools/src/toolstime.c
    constantsTouched: []
    func_position:
      end: 216
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 216
    functionName: parseFraction
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - assert
    - tools_strnatoi
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseFraction(char* str, char** end, int32_t timePrec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    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
    assertStmts: []
    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: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: "int64_t tools_user_mktime64(const unsigned int year0, const unsigned
      int mon0,\n                            const unsigned int day, const unsigned
      int hour,\n                            const unsigned int min, const unsigned
      int sec, int64_t time_zone)"
  - 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:258,1
    - Dst: tools_strnatoi
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - str
    - tzOffset
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 281
    functionName: toolsParseTimezone
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - strchr
    - tools_strnatoi
    linkageType: ''
    returnType: int32_t
    signature: int32_t toolsParseTimezone(char* str, int64_t* tzOffset)
  - 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: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - clock_id
    - pTS
    argTypes:
    - int
    - struct timespec*
    assertStmts: []
    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: 0
    functionsReached:
    - GetSystemTimeAsFileTime
    - clock_gettime
    linkageType: ''
    returnType: int32_t
    signature: int32_t toolsClockGetTime(int clock_id, struct timespec *pTS)
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:317,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:338,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:343,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:351,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:352,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:356,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:357,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:361,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:362,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:366,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:367,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:371,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:372,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:376,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:377,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:381,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:382,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:393,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: 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: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:414,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: strncmp
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:419,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:430,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:431,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:444,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:448,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:451,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:456,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:459,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:465,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:471,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:472,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:477,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:482,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:484,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:487,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:491,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:503,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:504,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:509,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:516,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:520,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:521,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:525,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:526,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:532,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:533,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:551,1
    - Dst: isspace
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:552,1
    - Dst: strptime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:563,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 213
    argCount: 3
    argNames:
    - buf
    - fmt
    - tm
    argTypes:
    - char*
    - char*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 565
    functionName: toolsStrpTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 1
    functionsReached:
    - toolsStrpTime
    - conv_num
    - strncmp
    - LEGAL_ALT
    - strlen
    - isspace
    - strptime
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *toolsStrpTime(const char *buf, const char *fmt, struct tm *tm)
  - 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: 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: forwardToTimeStringEnd
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:597,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: 21
    EdgeCount: 21
    ICount: 45
    argCount: 4
    argNames:
    - timestr
    - time
    - timePrec
    - delim
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 638
    functionName: parseTimeWithTz
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - toolsStrpTime
    - tools_user_mktime64
    - parseFraction
    - forwardToTimeStringEnd
    - timegm
    - toolsParseTimezone
    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: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    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: 0
    functionsReached:
    - forwardToTimeStringEnd
    linkageType: ''
    returnType: bool
    signature: bool checkTzPresent(char *str, int32_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:660,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:662,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
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - timestr
    - time
    - timePrec
    - delim
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 693
    functionName: parseLocaltime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - toolsStrpTime
    - tools_user_mktime64
    - parseFraction
    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: checkTzPresent
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:734,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: parseTimeWithTz
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - timestr
    - time
    - len
    - timePrec
    - day_light
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - int32_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 746
    functionName: toolsParseTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 2
    functionsReached:
    - tools_strnchr
    - parseTimeWithTz
    - checkTzPresent
    linkageType: ''
    returnType: int32_t
    signature: int32_t toolsParseTime(char* timestr, int64_t* time, int32_t len, int32_t
      timePrec, int8_t day_light)
  - BBCount: 2
    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: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - timep
    - result
    argTypes:
    - time_t*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: toolsLocalTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - localtime_s
    - localtime_r
    linkageType: ''
    returnType: struct tm
    signature: struct tm * toolsLocalTime(const time_t *timep, struct tm *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 759
    functionName: toolsGetTimestampSec
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE toolsGetTimestampSec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:766,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 778
    functionName: toolsGetTimeOfDay
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 1
    functionsReached:
    - GetSystemTimeAsFileTime
    - gettimeofday
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE toolsGetTimeOfDay(struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimeOfDay
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 785
    functionName: toolsGetTimestampMs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - toolsGetTimeOfDay
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE toolsGetTimestampMs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimeOfDay
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 791
    functionName: toolsGetTimestampUs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - toolsGetTimeOfDay
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE toolsGetTimestampUs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateWaitableTimer
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:803,1
    - Dst: SetWaitableTimer
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:804,1
    - Dst: WaitForSingleObject
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:805,1
    - Dst: CloseHandle
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - usec
    argTypes:
    - __int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 807
    functionName: usleep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 22
    functionsReached:
    - CreateWaitableTimer
    - SetWaitableTimer
    - WaitForSingleObject
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void usleep(__int64 usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toolsClockGetTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 815
    functionName: toolsGetTimestampNs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - toolsClockGetTime
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE toolsGetTimestampNs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mseconds
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 817
    functionName: toolsMsleep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 1
    functionsReached:
    - usleep
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE toolsMsleep(int32_t mseconds)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:825,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:827,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:834,1
    - Dst: localtime_s
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:844,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:846,1
    - Dst: FileTimeToSystemTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:854,1
    - Dst: localtime_r
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:865,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:867,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - timep
    - result
    - buf
    argTypes:
    - time_t*
    - struct tm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 871
    functionName: tLocalTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - sprintf
    - localtime_s
    - localtime
    - FileTimeToSystemTime
    - localtime_r
    linkageType: ''
    returnType: struct tm
    signature: struct tm *tLocalTime(const time_t *timep, struct tm *result, char
      *buf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tLocalTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:899,1
    - Dst: strftime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:902,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
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:909,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - buf
    - val
    - precision
    argTypes:
    - char*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 913
    functionName: toolsFormatTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: 0
    functionsReached:
    - sprintf
    - strftime
    - tLocalTime
    linkageType: ''
    returnType: char
    signature: char *toolsFormatTimestamp(char *buf, int64_t val, int32_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchangeAdd64
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:30,1
    - Dst: __sync_add_and_fetch
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:32,1
    - Dst: __atomic_add_fetch
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - val
    argTypes:
    - int64_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: atomic_add_fetch_64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: 13
    functionsReached:
    - __atomic_add_fetch
    - InterlockedExchangeAdd64
    - __sync_add_and_fetch
    linkageType: ''
    returnType: int64_t
    signature: int64_t atomic_add_fetch_64(int64_t volatile* ptr, int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemInfo
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:41,1
    - Dst: sysconf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: toolsGetNumberOfCores
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: 1
    functionsReached:
    - GetSystemInfo
    - sysconf
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE toolsGetNumberOfCores()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:49,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - program
    - wrong_arg
    - wrong_value
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: errorWrongValue
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void errorWrongValue(char *program, char *wrong_arg, char *wrong_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:56,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - program
    - wrong_arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: errorPrintReqArg
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: 1
    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:65,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - program
    - wrong_arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: errorPrintReqArg2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: 1
    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:74,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - program
    - wrong_arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: errorPrintReqArg3
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: 3
    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:84,1
    - Dst: GetConsoleMode
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:86,1
    - Dst: SetConsoleMode
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:92,1
    - Dst: tcgetattr
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:99,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:100,1
    - Dst: tcsetattr
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:109,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - 'on'
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 117
    functionName: setConsoleEcho
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: 2
    functionsReached:
    - tcsetattr
    - GetConsoleMode
    - SetConsoleMode
    - GetStdHandle
    - perror
    - tcgetattr
    linkageType: ''
    returnType: int
    signature: int setConsoleEcho(bool on)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - stringp
    - delim
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: strsep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsString.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *strsep(char **stringp, const char *delim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:44,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:45,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: stpncpy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsString.c
    functionUses: 0
    functionsReached:
    - strnlen
    - memset
    - memcpy
    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:52,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: stpcpy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsString.c
    functionUses: 2
    functionsReached:
    - strlen
    - strcpy
    linkageType: ''
    returnType: char
    signature: char *stpcpy(char *dest, const char *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:57,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:58,1
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:59,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:60,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:61,1
    - Dst: strtod
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:62,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/tdengine/tools/taos-tools/src/toolsString.c
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: toolsLibFuncInclude
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsString.c
    functionUses: 0
    functionsReached:
    - realloc
    - strtod
    - assert
    - rand
    - srand
    - fputs
    - fread
    linkageType: ''
    returnType: void
    signature: void toolsLibFuncInclude()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:68,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: toolsIsStringNumber
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsString.c
    functionUses: 1
    functionsReached:
    - strlen
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool toolsIsStringNumber(char *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: NEED_TAKEOUT_ROW_TOBUF
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEED_TAKEOUT_ROW_TOBUF(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: FORCE_TAKEOUT
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORCE_TAKEOUT(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: FAILED_BREAK
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILED_BREAK()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:76,1
    - Dst: FULL_DISORDER
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:97,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - mix
    - stb
    argTypes:
    - SMixRatio*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 112
    functionName: mixRatioInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - calloc
    - FULL_DISORDER
    - memset
    linkageType: ''
    returnType: void
    signature: void mixRatioInit(SMixRatio* mix, SSuperTable* stb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - mix
    argTypes:
    - SMixRatio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: mixRatioExit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mixRatioExit(SMixRatio* mix)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mix
    argTypes:
    - SMixRatio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: needExecDel
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool needExecDel(SMixRatio* mix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cols
    - ','
    - l
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: SWAP
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(cols, l, r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:157,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:158,1
    - Dst: SWAP
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cols
    - max
    - cnt
    argTypes:
    - uint16_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: randomFillCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - SWAP
    - RD
    linkageType: ''
    returnType: void
    signature: void randomFillCols(uint16_t* cols, uint16_t max, uint16_t cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:165,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:166,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:170,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:171,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - info
    - stb
    argTypes:
    - threadInfo*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: genBatColsNames
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - calloc
    - strcpy
    - benchArrayGet
    - 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:188,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:193,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:196,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:200,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:204,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:211,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:218,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:231,1
    - Dst: randomFillCols
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:233,1
    - Dst: genBatColsNames
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:236,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:237,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 7
    argNames:
    - info
    - db
    - stb
    - tableName
    - tagData
    - tableSeq
    - pstr
    argTypes:
    - threadInfo*
    - SDataBase*
    - SSuperTable*
    - char*
    - char*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 241
    functionName: genInsertPreSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - genBatColsNames
    - sprintf
    - RD
    - snprintf
    - randomFillCols
    - free
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t genInsertPreSql(threadInfo* info, SDataBase* db, SSuperTable*
      stb, char* tableName, char* tagData, uint64_t tableSeq, char* pstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - db
    - stb
    - tableName
    - pstr
    argTypes:
    - SDataBase*
    - SSuperTable*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: genDelPreSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t genDelPreSql(SDataBase* db, SSuperTable* stb, char* tableName,
      char* pstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:259,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:263,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:267,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:274,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - stb
    - pstr
    - len
    - timestamp
    argTypes:
    - SSuperTable*
    - char*
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 286
    functionName: appendRowRuleOld
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - taosRandom
    - snprintf
    - debugPrint
    - RD
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t appendRowRuleOld(SSuperTable* stb, char* pstr, uint32_t len,
      int64_t timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: GET_IDX
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_IDX(i)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:295,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:296,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:299,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:302,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:304,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:309,1
    - Dst: GET_IDX
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:309,1
    - Dst: dataGenByField
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:321,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 6
    argNames:
    - info
    - stb
    - pstr
    - len
    - ts
    - k
    argTypes:
    - threadInfo*
    - SSuperTable*
    - char*
    - uint32_t
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 328
    functionName: genRowMixAll
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - sprintf
    - RD
    - GET_IDX
    - dataGenByField
    - snprintf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t genRowMixAll(threadInfo* info, SSuperTable* stb, char* pstr,
      uint32_t len, int64_t ts, int64_t* k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:333,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:337,1
    - Dst: GET_IDX
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:337,1
    - Dst: dataGenByCalcTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:338,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - info
    - stb
    - pstr
    - len
    - ts
    argTypes:
    - threadInfo*
    - SSuperTable*
    - char*
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 345
    functionName: genRowTsCalc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - snprintf
    - benchArrayGet
    - dataGenByCalcTs
    - GET_IDX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t genRowTsCalc(threadInfo* info, SSuperTable* stb, char* pstr,
      uint32_t len, int64_t ts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: genRowMixAll
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:354,1
    - Dst: genRowTsCalc
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:356,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:358,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:359,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - info
    - stb
    - pstr
    - len
    - ts
    - k
    argTypes:
    - threadInfo*
    - SSuperTable*
    - char*
    - uint32_t
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 368
    functionName: createColsData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - snprintf
    - RD
    - genRowMixAll
    - genRowTsCalc
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t createColsData(threadInfo* info, SSuperTable* stb, char* pstr,
      uint32_t len, int64_t ts, int64_t* k)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mix
    - type
    - ts
    argTypes:
    - SMixRatio*
    - uint8_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 390
    functionName: takeRowOutToBuf
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool takeRowOutToBuf(SMixRatio* mix, uint8_t type, int64_t ts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FORCE_TAKEOUT
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:400,1
    - Dst: FORCE_TAKEOUT
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:401,1
    - Dst: NEED_TAKEOUT_ROW_TOBUF
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:404,1
    - Dst: takeRowOutToBuf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:406,1
    - Dst: createColsData
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:412,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:417,1
    - Dst: NEED_TAKEOUT_ROW_TOBUF
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:421,1
    - Dst: takeRowOutToBuf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 8
    argNames:
    - info
    - stb
    - mix
    - pstr
    - len
    - ts
    - pGenRows
    - k
    argTypes:
    - threadInfo*
    - SSuperTable*
    - SMixRatio*
    - char*
    - uint32_t
    - int64_t
    - uint32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 426
    functionName: appendRowRuleMix
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - FORCE_TAKEOUT
    - takeRowOutToBuf
    - debugPrint
    - createColsData
    - NEED_TAKEOUT_ROW_TOBUF
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t appendRowRuleMix(threadInfo* info, SSuperTable* stb, SMixRatio*
      mix, char* pstr,\n                        uint32_t len, int64_t ts, uint32_t*
      pGenRows, int64_t *k)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:436,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:459,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:467,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:468,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:469,1
    - Dst: createColsData
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:473,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:476,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 485
    functionName: fillBatchWithBuf
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - sprintf
    - debugPrint
    - RD
    - strstr
    - createColsData
    - infoPrint
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t fillBatchWithBuf(threadInfo* info, SSuperTable* stb, SMixRatio*
      mix, int64_t startTime, char* pstr,\n                uint32_t len, uint32_t*
      pGenRows, uint8_t type, uint32_t maxFill, bool force, int64_t *k)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FORCE_TAKEOUT
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:498,1
    - Dst: FORCE_TAKEOUT
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:499,1
    - Dst: FULL_DISORDER
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:502,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:504,1
    - Dst: appendRowRuleOld
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:509,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:514,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:519,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:520,1
    - Dst: appendRowRuleMix
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:523,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:540,1
    - Dst: fillBatchWithBuf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:554,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:558,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:568,1
    - Dst: fillBatchWithBuf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:582,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:586,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:593,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:609,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 77
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 612
    functionName: genBatchSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - FORCE_TAKEOUT
    - sprintf
    - debugPrint
    - RD
    - strstr
    - fillBatchWithBuf
    - appendRowRuleMix
    - appendRowRuleOld
    - FULL_DISORDER
    - infoPrint
    - needChangeTs
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t genBatchSql(threadInfo* info, SSuperTable* stb, SMixRatio*
      mix, int64_t* pStartTime, char* pstr,\n                     uint32_t slen, STotal*
      pBatT, int32_t *pkCur, int32_t *pkCnt, int64_t *k)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ABS_DIFF
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:622,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:633,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:639,1
    - Dst: FULL_DISORDER
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:640,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:640,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:645,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:646,1
    - Dst: queryCnt
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:649,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:653,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 8
    argNames:
    - stb
    - mix
    - batStartTime
    - taos
    - tbName
    - pstr
    - slen
    - sql
    argTypes:
    - SSuperTable*
    - SMixRatio*
    - int64_t
    - TAOS*
    - char*
    - char*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 657
    functionName: genBatchDelSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - queryCnt
    - sprintf
    - ABS_DIFF
    - RD
    - snprintf
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:661,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - info
    argTypes:
    - threadInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 670
    functionName: appendEndCheckSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcat
    linkageType: ''
    returnType: void
    signature: void appendEndCheckSql(threadInfo* info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: queryCnt
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:683,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:689,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:691,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - info
    - rowsCnt
    - tbName
    - loop
    argTypes:
    - threadInfo*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 698
    functionName: checkSqlsResult
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - queryCnt
    - errorPrint
    - infoPrint
    linkageType: ''
    returnType: bool
    signature: bool checkSqlsResult(threadInfo* info, int32_t rowsCnt, char* tbName,
      int32_t loop)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:709,1
    - Dst: queryCnt
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:714,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:717,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:720,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:724,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:728,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:735,1
    - Dst: queryTS
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:738,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:741,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:745,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:749,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:755,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:760,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 5
    argNames:
    - info
    - db
    - stb
    - tbName
    - lastTs
    argTypes:
    - threadInfo*
    - SDataBase*
    - SSuperTable*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 763
    functionName: checkCorrect
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - queryCnt
    - sprintf
    - infoPrint
    - queryTS
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: bool
    signature: bool checkCorrect(threadInfo* info, SDataBase* db, SSuperTable* stb,
      char* tbName, int64_t lastTs)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:780,1
    - Dst: openTagCsv
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:787,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:788,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:795,1
    - Dst: mixRatioInit
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:813,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:818,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:830,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:831,1
    - Dst: genInsertPreSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:837,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:850,1
    - Dst: genBatchSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:851,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:854,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:857,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:858,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:861,1
    - Dst: appendEndCheckSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:883,1
    - Dst: checkSqlsResult
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:887,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:888,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:896,1
    - Dst: needExecDel
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:901,1
    - Dst: genDelPreSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:902,1
    - Dst: genBatchDelSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:904,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:907,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:908,1
    - Dst: queryCnt
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:912,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:914,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:915,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:927,1
    - Dst: executeSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:928,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:930,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:932,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:938,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:939,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:940,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:946,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:948,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:950,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:952,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:956,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:958,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:964,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:970,1
    - Dst: checkCorrect
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:976,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:978,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:979,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:987,1
    - Dst: FULL_DISORDER
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:988,1
    - Dst: FULL_DISORDER
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:988,1
    - Dst: mixRatioExit
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:1000,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:1010,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:1014,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:1021,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:1023,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 142
    argCount: 3
    argNames:
    - info
    - db
    - stb
    argTypes:
    - threadInfo*
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 768
    functionDepth: 5
    functionLinenumber: 768
    functionLinenumberEnd: 1026
    functionName: insertDataMix
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: 0
    functionsReached:
    - queryCnt
    - executeSql
    - generateTagData
    - appendEndCheckSql
    - memset
    - FAILED_BREAK
    - infoPrint
    - needExecDel
    - sprintf
    - debugPrint
    - benchArrayPush
    - checkCorrect
    - openTagCsv
    - toolsGetTimestampUs
    - checkSqlsResult
    - toolsGetTimestampMs
    - errorPrint
    - toolsMsleep
    - genInsertPreSql
    - tmfree
    - genBatchSql
    - FULL_DISORDER
    - succPrint
    - genDelPreSql
    - mixRatioExit
    - benchCalloc
    - mixRatioInit
    - genBatchDelSql
    - fclose
    - execInsert
    - perfPrint
    linkageType: ''
    returnType: bool
    signature: bool insertDataMix(threadInfo* info, SDataBase* db, SSuperTable* stb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:20,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:21,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:23,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: executeSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/wrapDb.c
    functionUses: 3
    functionsReached:
    - taos_free_result
    - printErrCmdCodeStr
    - taos_errno
    - taos_query
    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:35,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:36,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:38,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:43,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:44,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:45,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:47,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - taos
    - sql
    - pVal
    argTypes:
    - TAOS*
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: queryCnt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/wrapDb.c
    functionUses: 4
    functionsReached:
    - printErrCmdCodeStr
    - taos_query
    - taos_free_result
    - taos_fetch_fields
    - taos_errno
    - taos_fetch_row
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryCnt(TAOS* taos, char* sql, int64_t* pVal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:63,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:64,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:66,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:71,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:72,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:73,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:75,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - taos
    - sql
    - pVal
    argTypes:
    - TAOS*
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 87
    functionName: queryTS
    functionSourceFile: /src/tdengine/tools/taos-tools/src/wrapDb.c
    functionUses: 1
    functionsReached:
    - printErrCmdCodeStr
    - taos_query
    - taos_free_result
    - taos_fetch_fields
    - taos_errno
    - taos_fetch_row
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryTS(TAOS* taos, char* sql, int64_t* pVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: FREE_PIDS_INFOS_RETURN_MINUS_1
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_PIDS_INFOS_RETURN_MINUS_1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: FREE_RESOURCE
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_RESOURCE()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:50,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:55,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - database
    - stbInfo
    - command
    argTypes:
    - SDataBase*
    - SSuperTable*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: getSuperTableFromServerRest
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - postProcessSql
    - createSockFd
    - destroySockFd
    linkageType: ''
    returnType: int
    signature: "int getSuperTableFromServerRest(\r\n    SDataBase* database, SSuperTable*
      stbInfo, char *command)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:73,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:78,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:79,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:81,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:83,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:86,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:96,1
    - Dst: taos_fetch_fields_e
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:97,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:100,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:101,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:102,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:106,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:111,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:113,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:114,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:115,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:118,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:119,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:121,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:122,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:123,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:126,1
    - Dst: searchBArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:130,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:132,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:133,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:134,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:140,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:141,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:142,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:145,1
    - Dst: searchBArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:149,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:151,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:152,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:153,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:159,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:160,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:162,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:167,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 3
    argNames:
    - database
    - stbInfo
    - command
    argTypes:
    - SDataBase*
    - SSuperTable*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 172
    functionName: getSuperTableFromServerTaosc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - taos_num_fields
    - taos_query
    - strncasecmp
    - searchBArray
    - taos_fetch_lengths
    - errorPrint
    - taos_free_result
    - convertStringToDatatype
    - taos_errno
    - taos_fetch_fields_e
    - strlen
    - initBenchConn
    - infoPrint
    - closeBenchConn
    - taos_fetch_row
    linkageType: ''
    returnType: int
    signature: "int getSuperTableFromServerTaosc(\r\n        SDataBase *database,
      SSuperTable *stbInfo, char *command)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:178,1
    - Dst: getSuperTableFromServerRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:183,1
    - Dst: getSuperTableFromServerTaosc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: getSuperTableFromServer
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - snprintf
    - getSuperTableFromServerTaosc
    - getSuperTableFromServerRest
    linkageType: ''
    returnType: int
    signature: int getSuperTableFromServer(SDataBase* database, SSuperTable* stbInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:194,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:195,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:196,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:199,1
    - Dst: queryDbExecRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:203,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:210,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:213,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:217,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:220,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:222,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:223,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - database
    - stbInfo
    - command
    argTypes:
    - SDataBase*
    - SSuperTable*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 236
    functionName: queryDbExec
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - queryDbExecRest
    - initBenchConn
    - createSockFd
    - destroySockFd
    - queryDbExecCall
    - infoPrint
    - isRest
    - errorPrint
    - closeBenchConn
    - toolsMsleep
    - convertServAddr
    linkageType: ''
    returnType: int
    signature: "int queryDbExec(SDataBase *database,\r\n                       SSuperTable
      *stbInfo, char *command)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:240,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:241,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:243,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:244,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:246,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - col
    - buf
    argTypes:
    - Field*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 251
    functionName: getCompressStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - strlen
    - sprintf
    linkageType: ''
    returnType: int
    signature: int getCompressStr(Field* col, char* buf)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:259,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:260,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:264,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:270,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:272,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:274,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:280,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:282,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:284,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:286,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:292,1
    - Dst: getCompressStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:297,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:299,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:303,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:313,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:315,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:319,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:320,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:325,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:330,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:332,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:334,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:335,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:336,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:342,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:347,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:349,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:351,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:356,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:359,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:374,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:376,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:380,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:389,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:391,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:397,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:398,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:400,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:404,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:410,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:415,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:421,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:427,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:443,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:446,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:449,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:453,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:461,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:463,1
    - Dst: queryDbExec
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:465,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:466,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 124
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 468
    functionName: createSuperTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - queryDbExec
    - benchCalloc
    - tmfree
    - debugPrint
    - getCompressStr
    - snprintf
    - convertDatatypeToString
    - free
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int createSuperTable(SDataBase* database, SSuperTable* stbInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:474,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:480,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:481,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:483,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:488,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:491,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:492,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:495,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:498,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:499,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:502,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:503,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:505,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:510,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:512,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - conn
    - database
    argTypes:
    - SBenchConn*
    - SDataBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 519
    functionName: getVgroupsNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - printErrCmdCodeStr
    - taos_query
    - benchCalloc
    - debugPrint
    - benchArrayPush
    - taos_free_result
    - snprintf
    - taos_errno
    - taos_fetch_row
    - benchArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVgroupsNative(SBenchConn *conn, SDataBase *database)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:526,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:533,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:545,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:548,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:551,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:559,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:563,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:568,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:579,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:584,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:592,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - database
    - command
    - remainVnodes
    argTypes:
    - SDataBase*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 598
    functionName: geneDbCreateCmd
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - snprintf
    - infoPrint
    - trimCaseCmp
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int geneDbCreateCmd(SDataBase *database, char *command, int remainVnodes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:604,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:610,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:615,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:625,1
    - Dst: geneDbCreateCmd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:630,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:631,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:642,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:645,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:646,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - database
    argTypes:
    - SDataBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 662
    functionName: createDatabaseRest
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - postProcessSql
    - createSockFd
    - destroySockFd
    - snprintf
    - infoPrint
    - geneDbCreateCmd
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: int
    signature: int createDatabaseRest(SDataBase* database)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:668,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:669,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:671,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:672,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:676,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:679,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SBenchConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 683
    functionName: getRemainVnodes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - printErrCmdCodeStr
    - taos_query
    - debugPrint
    - taos_free_result
    - taos_errno
    - taos_fetch_row
    - closeBenchConn
    linkageType: ''
    returnType: int32_t
    signature: int32_t getRemainVnodes(SBenchConn *conn)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:688,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:695,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:697,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:700,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:701,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:704,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:705,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:710,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:715,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:718,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:721,1
    - Dst: getRemainVnodes
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:728,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:730,1
    - Dst: geneDbCreateCmd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:737,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:738,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:741,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:744,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:745,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:753,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:758,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:759,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:762,1
    - Dst: getVgroupsNative
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:768,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:770,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:771,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:777,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 1
    argNames:
    - database
    argTypes:
    - SDataBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 779
    functionName: createDatabaseTaosc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - toolsMsleep
    - errorPrint
    - snprintf
    - memset
    - warnPrint
    - geneDbCreateCmd
    - getVgroupsNative
    - initBenchConn
    - infoPrint
    - closeBenchConn
    - getRemainVnodes
    - queryDbExecCall
    linkageType: ''
    returnType: int
    signature: int createDatabaseTaosc(SDataBase* database)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:783,1
    - Dst: createDatabaseRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:784,1
    - Dst: createDatabaseTaosc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - database
    argTypes:
    - SDataBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: createDatabase
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - isRest
    - createDatabaseTaosc
    - createDatabaseRest
    linkageType: ''
    returnType: int
    signature: int createDatabase(SDataBase* database)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:795,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:796,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:807,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:809,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:813,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:818,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:824,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 9
    argNames:
    - len
    - buffer
    - database
    - stbInfo
    - tableSeq
    - tagData
    - i
    - ttl
    - tableName
    argTypes:
    - int
    - char*
    - SDataBase*
    - SSuperTable*
    - uint64_t
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 830
    functionName: generateChildTblName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - debugPrint
    - strncpy
    - snprintf
    - memset
    - strchr
    - errorPrint
    linkageType: ''
    returnType: int
    signature: "int generateChildTblName(int len, char *buffer, SDataBase *database,\r\n
      \                               SSuperTable *stbInfo, uint64_t tableSeq, char*
      tagData, int i,\r\n                                char *ttl, char *tableName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pThreadInfo
    - stbInfo
    argTypes:
    - threadInfo*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 845
    functionName: getBatchOfTblCreating
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    linkageType: ''
    returnType: int
    signature: "int getBatchOfTblCreating(threadInfo *pThreadInfo,\r\n                                         SSuperTable
      *stbInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pThreadInfo
    - stbInfo
    argTypes:
    - threadInfo*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 860
    functionName: getIntervalOfTblCreating
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    linkageType: ''
    returnType: int
    signature: "int getIntervalOfTblCreating(threadInfo *pThreadInfo,\r\n                                         SSuperTable
      *stbInfo)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:872,1
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:878,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:880,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:881,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:887,1
    - Dst: openTagCsv
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:891,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:893,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:900,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:912,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:919,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:934,1
    - Dst: generateChildTblName
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:939,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:942,1
    - Dst: getBatchOfTblCreating
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:954,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:968,1
    - Dst: queryDbExecRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:972,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:980,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:983,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:986,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:987,1
    - Dst: getIntervalOfTblCreating
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:998,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1001,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1003,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1008,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1011,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1020,1
    - Dst: queryDbExecRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1024,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1032,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1039,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1044,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1045,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1048,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 108
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 1051
    functionName: createTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - queryDbExecRest
    - strdup
    - toolsMsleep
    - benchCalloc
    - generateTagData
    - generateChildTblName
    - tmfree
    - debugPrint
    - openTagCsv
    - getIntervalOfTblCreating
    - snprintf
    - fclose
    - getBatchOfTblCreating
    - toolsGetTimestampMs
    - infoPrint
    - prctl
    - queryDbExecCall
    linkageType: ''
    returnType: void
    signature: void *createTable(void *sarg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: prepareTagsStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1059,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1068,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1069,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1076,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1094,1
    - Dst: FREE_PIDS_INFOS_RETURN_MINUS_1
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1096,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1100,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1110,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1112,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1117,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1120,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1128,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1135,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1144,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1145,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1147
    functionName: startMultiThreadCreateChildTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - toolsMsleep
    - benchCalloc
    - tmfree
    - FREE_PIDS_INFOS_RETURN_MINUS_1
    - createSockFd
    - debugPrint
    - free
    - pthread_create
    - initBenchConn
    - infoPrint
    - closeBenchConn
    - prepareTagsStmt
    linkageType: ''
    returnType: int
    signature: int startMultiThreadCreateChildTable(SDataBase* database, SSuperTable*
      stbInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1151,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1154,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1158,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1162,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1166,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1178,1
    - Dst: startMultiThreadCreateChildTable
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1181,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1189,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1193,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1206
    functionName: createChildTables
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - startMultiThreadCreateChildTable
    - debugPrint
    - infoPrintToFile
    - toolsGetTimestampMs
    - infoPrint
    - succPrint
    linkageType: ''
    returnType: int
    signature: int createChildTables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1213,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1215,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1217,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1219,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1223,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1225,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - childTbl
    - colsSize
    argTypes:
    - SChildTable*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1228
    functionName: freeChildTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - tmfree
    - benchArrayGet
    - benchArrayDestroy
    linkageType: ''
    returnType: void
    signature: void freeChildTable(SChildTable *childTbl, int colsSize)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1231,1
    - Dst: tmfclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1233,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1237,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1240,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1242,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1246,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1250,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1251,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:1255,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1257,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1258,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1260,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1261,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1263,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1265,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1268,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1271,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1272,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1274,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1276,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1285,1
    - Dst: freeChildTable
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1286,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1291,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1292,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1294,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1300,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1303,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1309,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1310,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1313,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1317,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1320,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1321,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1322,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1323
    functionName: postFreeResource
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - freeChildTable
    - tmfree
    - benchArrayDestroy
    - free
    - tmfclose
    - infoPrint
    - tools_cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void postFreeResource()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1342,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1343,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1345,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1347,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1348,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1356,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1357,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1367,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1369,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1370,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1388,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1389,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1390,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1391,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1395,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1400,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1402,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1404,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1411,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1413,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1413,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1416,1
    - Dst: taos_schemaless_insert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1420,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1430,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1433,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1434,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1436,1
    - Dst: taos_schemaless_insert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1437,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1447,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1454,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1458,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1461,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1463,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1468,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1476,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1480,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1484,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1490,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1503,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 101
    argCount: 3
    argNames:
    - pThreadInfo
    - k
    - delay3
    argTypes:
    - threadInfo*
    - uint32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1514
    functionName: execInsert
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 1
    functionsReached:
    - taos_stmt_errstr
    - postProcessSql
    - debugPrint
    - errorPrint
    - toolsGetTimestampUs
    - taos_stmt2_exec
    - taos_stmt2_error
    - taos_free_result
    - taos_stmt_execute
    - taos_errstr
    - taos_errno
    - snprintf
    - strlen
    - taos_stmt_add_batch
    - taos_schemaless_insert
    - infoPrint
    - toolsMsleep
    - queryDbExecCall
    linkageType: ''
    returnType: int32_t
    signature: int32_t execInsert(threadInfo *pThreadInfo, uint32_t k, int64_t *delay3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1524,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1525,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1533,1
    - Dst: queryDbExecRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1537,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1545,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1548,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1551,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1552,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - pThreadInfo
    - childTbl
    - tagData
    - i
    - ttl
    argTypes:
    - threadInfo*
    - SChildTable*
    - char*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1516
    functionDepth: 2
    functionLinenumber: 1516
    functionLinenumberEnd: 1562
    functionName: smartContinueIfFail
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - queryDbExecRest
    - benchCalloc
    - tmfree
    - debugPrint
    - snprintf
    - infoPrint
    - toolsMsleep
    - queryDbExecCall
    linkageType: ''
    returnType: int
    signature: "int smartContinueIfFail(threadInfo *pThreadInfo,\r\n                               SChildTable
      *childTbl,\r\n                               char *tagData,\r\n                               int64_t
      i,\r\n                               char *ttl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1567,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pThreadInfo
    - mode
    argTypes:
    - threadInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1582
    functionName: cleanupAndPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - succPrint
    - tools_cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void cleanupAndPrint(threadInfo *pThreadInfo, char *mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1588,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - stbInfo
    - disorderRange
    argTypes:
    - SSuperTable*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1602
    functionName: getDisorderTs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - taosRandom
    - debugPrint
    linkageType: ''
    returnType: int64_t
    signature: int64_t getDisorderTs(SSuperTable *stbInfo, int *disorderRange)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1618,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1620,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1621,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1624,1
    - Dst: taos_load_table_info
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1627,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1631,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1632,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1635,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pThreadInfo
    argTypes:
    - threadInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1604
    functionDepth: 2
    functionLinenumber: 1604
    functionLinenumberEnd: 1636
    functionName: loadChildTableInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - taos_load_table_info
    - benchCalloc
    - tmfree
    - sprintf
    - toolsGetTimestampUs
    - infoPrint
    linkageType: ''
    returnType: void
    signature: void loadChildTableInfo(threadInfo* pThreadInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1652,1
    - Dst: initStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1657,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1659,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1666,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1674,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1676,1
    - Dst: initStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1680,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1682,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1682,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1686,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1688,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1689,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - pThreadInfo
    argTypes:
    - threadInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1639
    functionDepth: 1
    functionLinenumber: 1639
    functionLinenumberEnd: 1694
    functionName: reCreateConn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - initStmt2
    - succPrint
    - taos_errstr
    - taos_select_db
    - initBenchConn
    - taos_stmt2_close
    - errorPrint
    - closeBenchConn
    linkageType: ''
    returnType: int32_t
    signature: int32_t reCreateConn(threadInfo * pThreadInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reCreateConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1699,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pThreadInfo
    - w
    argTypes:
    - threadInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1697
    functionDepth: 2
    functionLinenumber: 1697
    functionLinenumberEnd: 1711
    functionName: reConnectStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - reCreateConn
    - prepareStmt2
    linkageType: ''
    returnType: int32_t
    signature: int32_t reConnectStmt2(threadInfo * pThreadInfo, int32_t w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1716,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1717,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1719,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1719,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1722,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1723,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1726,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1727,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1713
    functionDepth: 3
    functionLinenumber: 1713
    functionLinenumberEnd: 1730
    functionName: submitStmt2Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - debugPrint
    - taos_stmt2_error
    - toolsGetTimestampUs
    - taos_stmt2_bind_param
    - execInsert
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: "int32_t submitStmt2Impl(threadInfo * pThreadInfo, TAOS_STMT2_BINDV
      *bindv, int64_t *delay1, int64_t *delay3,\r\n                    int64_t* startTs,
      int64_t* endTs, uint32_t* generated)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: submitStmt2Impl
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1752,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1765,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1767,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1772,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1774,1
    - Dst: reConnectStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1775,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1778,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1732
    functionDepth: 4
    functionLinenumber: 1732
    functionLinenumberEnd: 1789
    functionName: submitStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - submitStmt2Impl
    - snprintf
    - 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\n                    int64_t* startTs, int64_t*
      endTs, uint32_t* generated, int32_t w)"
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1795,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1804,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1806,1
    - Dst: loadChildTableInfo
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1812,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1818,1
    - Dst: openTagCsv
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1825,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1826,1
    - Dst: createBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1842,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1848,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1849,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1856,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1894,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1901,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1904,1
    - Dst: ds_add_str
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1908,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1913,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1921,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1929,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1934,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1944,1
    - Dst: getDisorderTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1961,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1966,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1969,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1976,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1977,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1979,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1985,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1988,1
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1992,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1994,1
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1997,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2009,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2012,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2015,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2024,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2027,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2033,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2040,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2041,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2047,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2048,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2050,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2053,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2057,1
    - Dst: bindParamBatch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2060,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2091,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2097,1
    - Dst: bindVTags
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2103,1
    - Dst: bindVColsInterlace
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2108,1
    - Dst: getDisorderTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2131,1
    - Dst: tools_cJSON_Duplicate
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2134,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2135,1
    - Dst: generateSmlJsonCols
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2140,1
    - Dst: tools_cJSON_Duplicate
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2145,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2146,1
    - Dst: generateSmlTaosJsonCols
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2151,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2156,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2166,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2178,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2185,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2208,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2210,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2212,1
    - Dst: showBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2228,1
    - Dst: submitStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2230,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2236,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2237,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2241,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2244,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2261,1
    - Dst: free_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2263,1
    - Dst: new_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2264,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2267,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2272,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2275,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2278,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2280,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2287,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2289,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2302,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2305,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2308,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2310,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2311,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2320,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2322,1
    - Dst: cleanupAndPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2333,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2335,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2337,1
    - Dst: freeBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2338,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 333
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 1791
    functionDepth: 5
    functionLinenumber: 1791
    functionLinenumberEnd: 2340
    functionName: syncWriteInterlace
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - generateSmlJsonCols
    - generateSmlTaosJsonCols
    - generateTagData
    - tools_cJSON_PrintUnformatted
    - snprintf
    - free_ds
    - memset
    - infoPrint
    - taos_stmt_set_tbname
    - ds_add_strs
    - tools_cJSON_GetArrayItem
    - debugPrint
    - benchArrayPush
    - openTagCsv
    - toolsGetTimestampUs
    - createBindV
    - tools_cJSON_Duplicate
    - prepareStmt2
    - toolsGetTimestampMs
    - errorPrint
    - bindParamBatch
    - ds_add_str
    - needChangeTs
    - toolsMsleep
    - showBindV
    - cleanupAndPrint
    - freeBindV
    - bindVColsInterlace
    - taos_stmt_errstr
    - tmfree
    - new_ds
    - ds_len
    - getDisorderTs
    - tools_cJSON_Delete
    - loadChildTableInfo
    - tools_cJSON_CreateArray
    - benchCalloc
    - prepareStmt
    - bindVTags
    - fclose
    - submitStmt2
    - toolsGetTimestamp
    - execInsert
    - perfPrint
    linkageType: ''
    returnType: void
    signature: void *syncWriteInterlace(void *sarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2349,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2352,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2355,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2356,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2358,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2361,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2364,1
    - Dst: bindParamBatch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2342
    functionDepth: 2
    functionLinenumber: 2342
    functionLinenumberEnd: 2379
    functionName: prepareProgressDataStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - taos_stmt_errstr
    - toolsGetTimestampUs
    - snprintf
    - errorPrint
    - bindParamBatch
    - taos_stmt_set_tbname
    linkageType: ''
    returnType: int32_t
    signature: "int32_t prepareProgressDataStmt(\r\n        threadInfo *pThreadInfo,\r\n
      \       SChildTable *childTbl,\r\n        int64_t *timestamp, uint64_t i, char
      *ttl, int32_t *pkCur, int32_t *pkCnt, int64_t *delay1, int64_t *delay2, int64_t
      *delay3)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2385,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - timestamp
    - stbInfo
    argTypes:
    - int64_t*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2381
    functionDepth: 1
    functionLinenumber: 2381
    functionLinenumberEnd: 2398
    functionName: makeTimestampDisorder
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - taosRandom
    - debugPrint
    linkageType: ''
    returnType: void
    signature: "void makeTimestampDisorder(\r\n        int64_t *timestamp, SSuperTable
      *stbInfo)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2413,1
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2419,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2422,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2425,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2432,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2435,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2441,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2444,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2450,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2453,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2466,1
    - Dst: makeTimestampDisorder
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2471,1
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2478,1
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2482,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2484,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 7
    argNames:
    - pThreadInfo
    - tableSeq
    - timestamp
    - i
    - ttl
    - pkCur
    - pkCnt
    argTypes:
    - threadInfo*
    - uint64_t
    - int64_t*
    - uint64_t
    - char*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2400
    functionDepth: 2
    functionLinenumber: 2400
    functionLinenumberEnd: 2487
    functionName: prepareProgressDataSmlJsonText
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - strncat
    - debugPrint
    - snprintf
    - makeTimestampDisorder
    - errorPrint
    - needChangeTs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t prepareProgressDataSmlJsonText(\r\n    threadInfo *pThreadInfo,\r\n
      \   uint64_t tableSeq,\r\n    int64_t *timestamp, uint64_t i, char *ttl, int32_t
      *pkCur, int32_t *pkCnt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Duplicate
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2501,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2502,1
    - Dst: debugPrintJsonNoTime
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2507,1
    - Dst: generateSmlTaosJsonCols
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2508,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2517,1
    - Dst: makeTimestampDisorder
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2522,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2530,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2533,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 7
    argNames:
    - pThreadInfo
    - tableSeq
    - timestamp
    - i
    - ttl
    - pkCur
    - pkCnt
    argTypes:
    - threadInfo*
    - uint64_t
    - int64_t*
    - uint64_t
    - char*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2489
    functionDepth: 2
    functionLinenumber: 2489
    functionLinenumberEnd: 2539
    functionName: prepareProgressDataSmlJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_GetArrayItem
    - generateSmlTaosJsonCols
    - makeTimestampDisorder
    - tmfree
    - debugPrint
    - tools_cJSON_PrintUnformatted
    - debugPrintJsonNoTime
    - tools_cJSON_Duplicate
    - needChangeTs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t prepareProgressDataSmlJson(\r\n    threadInfo *pThreadInfo,\r\n
      \   uint64_t tableSeq,\r\n    int64_t *timestamp, uint64_t i, char *ttl, int32_t
      *pkCur, int32_t *pkCnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2554,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2562,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2577,1
    - Dst: makeTimestampDisorder
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2582,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2541
    functionDepth: 2
    functionLinenumber: 2541
    functionLinenumberEnd: 2590
    functionName: prepareProgressDataSmlLineOrTelnet
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - makeTimestampDisorder
    - snprintf
    - needChangeTs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t prepareProgressDataSmlLineOrTelnet(\r\n    threadInfo *pThreadInfo,
      uint64_t tableSeq, char *sampleDataBuf,\r\n    int64_t *timestamp, uint64_t
      i, char *ttl, int protocol, int32_t *pkCur, int32_t *pkCnt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: prepareProgressDataSmlLineOrTelnet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2611,1
    - Dst: prepareProgressDataSmlJsonText
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2618,1
    - Dst: prepareProgressDataSmlJson
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2624,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2592
    functionDepth: 3
    functionLinenumber: 2592
    functionLinenumberEnd: 2636
    functionName: prepareProgressDataSml
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - prepareProgressDataSmlLineOrTelnet
    - prepareProgressDataSmlJsonText
    - errorPrint
    - prepareProgressDataSmlJson
    linkageType: ''
    returnType: int32_t
    signature: "int32_t prepareProgressDataSml(\r\n    threadInfo *pThreadInfo,\r\n
      \   SChildTable *childTbl,\r\n    uint64_t tableSeq,\r\n    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:2651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - stbInfo
    - pkCur
    - pkCnt
    argTypes:
    - SSuperTable*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2639
    functionDepth: 1
    functionLinenumber: 2639
    functionLinenumberEnd: 2669
    functionName: needChangeTs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 5
    functionsReached:
    - RD
    linkageType: ''
    returnType: bool
    signature: bool needChangeTs(SSuperTable * stbInfo, int32_t *pkCur, int32_t *pkCnt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2689,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2699,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2708,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2720,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2732,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2742,1
    - Dst: getDisorderTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2747,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2748,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2760,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2671
    functionDepth: 2
    functionLinenumber: 2671
    functionLinenumberEnd: 2775
    functionName: prepareProgressDataSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - snprintf
    - debugPrint
    - getDisorderTs
    - needChangeTs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t prepareProgressDataSql(\r\n                    threadInfo
      *pThreadInfo,\r\n                    SChildTable *childTbl,\r\n                    char*
      tagData,\r\n                    uint64_t tableSeq,\r\n                    char
      *sampleDataBuf,\r\n                    int64_t *timestamp, uint64_t i, char
      *ttl,\r\n                    int32_t *pos, uint64_t *len, int32_t* pkCur, int32_t*
      pkCnt)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: loadChildTableInfo
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2782,1
    - Dst: insertDataMix
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2785,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2790,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2796,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2798,1
    - Dst: openTagCsv
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2808,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2809,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2815,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2821,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2841,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2861,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2870,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2876,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2893,1
    - Dst: prepareProgressDataSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2903,1
    - Dst: prepareProgressDataStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2912,1
    - Dst: stmt2BindAndSubmit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2918,1
    - Dst: prepareProgressDataSml
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2926,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2945,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2946,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2949,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2955,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2960,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2967,1
    - Dst: smartContinueIfFail
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2973,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2988,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2994,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3001,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3005,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3007,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3009,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3015,1
    - Dst: executeSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3016,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3018,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3020,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3033,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3036,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3041,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3045,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3049,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3052,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3055,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3057,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3069,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3072,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3075,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3077,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3078,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3087,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3089,1
    - Dst: cleanupAndPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3103,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3105,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3107,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 228
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3109
      start: 2777
    functionDepth: 6
    functionLinenumber: 2777
    functionLinenumberEnd: 3109
    functionName: syncWriteProgressive
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - executeSql
    - generateTagData
    - snprintf
    - memset
    - infoPrint
    - sprintf
    - debugPrint
    - smartContinueIfFail
    - benchArrayPush
    - openTagCsv
    - toolsGetTimestampUs
    - prepareStmt2
    - toolsGetTimestampMs
    - cleanupAndPrint
    - toolsMsleep
    - tmfree
    - prepareProgressDataSql
    - warnPrint
    - stmt2BindAndSubmit
    - insertDataMix
    - tools_cJSON_Delete
    - loadChildTableInfo
    - prepareProgressDataSml
    - tools_cJSON_CreateArray
    - benchCalloc
    - prepareStmt
    - fclose
    - execInsert
    - prepareProgressDataStmt
    - perfPrint
    linkageType: ''
    returnType: void
    signature: void *syncWriteProgressive(void *sarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3116,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3122,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3122,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - tsStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3111
    functionDepth: 2
    functionLinenumber: 3111
    functionLinenumberEnd: 3128
    functionName: strToTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - strlen
    - atol
    - toolsParseTime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t strToTimestamp(char * tsStr)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3150,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3161,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3163,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3168,1
    - Dst: strToTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3171,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3172,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3176,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3183,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3194,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3199,1
    - Dst: strtoul
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3202,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3205,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3208,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3212,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3216,1
    - Dst: strtoll
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3219,1
    - Dst: strtoull
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3223,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3226,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3233,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3234,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3239,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3244,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3247,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3249,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3257,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3258,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3259,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3261,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3262,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3267,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3273,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3274,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3276,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3285,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 107
    argCount: 3
    argNames:
    - stbInfo
    - childTbl
    - bind_ts_array
    argTypes:
    - SSuperTable*
    - SChildTable*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3289
      start: 3130
    functionDepth: 3
    functionLinenumber: 3130
    functionLinenumberEnd: 3289
    functionName: initStmtDataValue
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - exit
    - atof
    - calloc
    - strtoull
    - debugPrint
    - strtoul
    - atoi
    - strtoll
    - strncpy
    - free
    - convertDatatypeToString
    - min
    - strlen
    - strToTimestamp
    - errorPrint
    - strcmp
    linkageType: ''
    returnType: int
    signature: int initStmtDataValue(SSuperTable *stbInfo, SChildTable *childTbl,
      uint64_t *bind_ts_array)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3297,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3298,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3299,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3305,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3306,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3307,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3313,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3314,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3315,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3321,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3322,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3323,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3328,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3329,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3330,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3335,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3336,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3337,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3342,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3343,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3344,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3352,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3353,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3354,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3359,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3360,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3361,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3367,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3368,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3369,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3372,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3373,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3374,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3380,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3381,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3382,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 78
    argCount: 3
    argNames:
    - dataType
    - data
    - length
    argTypes:
    - char
    - void**
    - uint32_t
    assertStmts:
    - condition: (tmpP)
      pos:
        line_end: 3305
        line_start: 3305
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3313
        line_start: 3313
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3359
        line_start: 3359
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3328
        line_start: 3328
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3297
        line_start: 3297
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3321
        line_start: 3321
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3335
        line_start: 3335
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3372
        line_start: 3372
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3342
        line_start: 3342
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    - condition: (tmpP)
      pos:
        line_end: 3352
        line_start: 3352
        source_file: /src/tdengine/tools/taos-tools/src/benchInsert.c
    constantsTouched: []
    func_position:
      end: 3384
      start: 3291
    functionDepth: 1
    functionLinenumber: 3291
    functionLinenumberEnd: 3384
    functionName: initStmtData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - exit
    - calloc
    - tmfree
    - assert
    - convertDatatypeToString
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void initStmtData(char dataType, void **data, uint32_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3391,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3392,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3396,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3397,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3398,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3399,1
    - Dst: initStmtData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3401,1
    - Dst: initStmtDataValue
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - stbInfo
    - childTbl
    - bind_ts_array
    argTypes:
    - SSuperTable*
    - SChildTable*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3405
      start: 3386
    functionDepth: 4
    functionLinenumber: 3386
    functionLinenumberEnd: 3405
    functionName: parseBufferToStmtBatchChildTbl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - benchCalloc
    - initStmtDataValue
    - tmfree
    - initStmtData
    linkageType: ''
    returnType: int
    signature: "int parseBufferToStmtBatchChildTbl(SSuperTable *stbInfo,\r\n                                          SChildTable*
      childTbl, uint64_t *bind_ts_array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3411,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3414,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3415,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3416,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3417,1
    - Dst: initStmtData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3419,1
    - Dst: initStmtDataValue
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - stbInfo
    - bind_ts_array
    argTypes:
    - SSuperTable*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3407
    functionDepth: 4
    functionLinenumber: 3407
    functionLinenumberEnd: 3423
    functionName: parseBufferToStmtBatch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - benchCalloc
    - initStmtDataValue
    - tmfree
    - initStmtData
    linkageType: ''
    returnType: int
    signature: int parseBufferToStmtBatch(SSuperTable* stbInfo, uint64_t *bind_ts_array)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3432,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3436,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - stbInfo
    argTypes:
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3442
      start: 3425
    functionDepth: 0
    functionLinenumber: 3425
    functionLinenumberEnd: 3442
    functionName: fillChildTblNameByCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - snprintf
    - debugPrint
    - strdup
    linkageType: ''
    returnType: int64_t
    signature: int64_t fillChildTblNameByCount(SSuperTable *stbInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3448,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3456
      start: 3444
    functionDepth: 0
    functionLinenumber: 3444
    functionLinenumberEnd: 3456
    functionName: fillChildTblNameByFromTo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strdup
    linkageType: ''
    returnType: int64_t
    signature: "int64_t fillChildTblNameByFromTo(SDataBase *database,\r\n        SSuperTable*
      stbInfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3460,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3466,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3472,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3478,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3479,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3480,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3483,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3484,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3488,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3489,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3490,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3491,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3494,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3498,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3458
    functionDepth: 1
    functionLinenumber: 3458
    functionLinenumberEnd: 3501
    functionName: fillChildTblNameByLimitOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - printErrCmdCodeStr
    - taos_query
    - benchCalloc
    - debugPrint
    - taos_fetch_lengths
    - strncpy
    - taos_free_result
    - snprintf
    - taos_errno
    - initBenchConn
    - closeBenchConn
    - taos_fetch_row
    linkageType: ''
    returnType: int64_t
    signature: "int64_t fillChildTblNameByLimitOffset(SDataBase *database,\r\n        SSuperTable*
      stbInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3505,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3514,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3517,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3523,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3533,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - stbInfo
    argTypes:
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3536
      start: 3503
    functionDepth: 0
    functionLinenumber: 3503
    functionLinenumberEnd: 3536
    functionName: preProcessArgument
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - exit
    - infoPrint
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void preProcessArgument(SSuperTable *stbInfo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3554,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3565,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3575,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3577,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3580,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3583,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3586,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3590,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3600,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3602,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3603,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3604,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3605,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3606,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3607,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3608,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3610,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3611,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3612,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3613,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3614,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3615,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3617,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3619,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3621,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3622,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3624,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3627,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3629,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3633
      start: 3538
    functionDepth: 1
    functionLinenumber: 3538
    functionLinenumberEnd: 3633
    functionName: printTotalDelay
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - fprintf
    - tools_cJSON_Delete
    - tools_cJSON_AddStringToObject
    - sprintf
    - tools_cJSON_PrintUnformatted
    - tools_cJSON_CreateObject
    - fclose
    - free
    - fopen
    - errorPrint
    - succPrint
    - tools_cJSON_AddNumberToObject
    linkageType: ''
    returnType: int
    signature: "int printTotalDelay(SDataBase *database,\r\n                           int64_t
      totalDelay,\r\n                           int64_t totalDelay1,\r\n                           int64_t
      totalDelay2,\r\n                           int64_t totalDelay3,\r\n                           BArray
      *total_delay_list,\r\n                            int threads,\r\n                            int64_t
      totalInsertRows,\r\n                            int64_t spend)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fillChildTblNameByLimitOffset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3638,1
    - Dst: fillChildTblNameByFromTo
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3640,1
    - Dst: fillChildTblNameByCount
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3635
    functionDepth: 2
    functionLinenumber: 3635
    functionLinenumberEnd: 3645
    functionName: fillChildTblNameImp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - fillChildTblNameByFromTo
    - fillChildTblNameByCount
    - fillChildTblNameByLimitOffset
    linkageType: ''
    returnType: int64_t
    signature: int64_t fillChildTblNameImp(SDataBase *database, SSuperTable *stbInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3649,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3653,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3659,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3661,1
    - Dst: fillChildTblNameImp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3665,1
    - Dst: fillChildTblNameByCount
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3671
      start: 3647
    functionDepth: 3
    functionLinenumber: 3647
    functionLinenumberEnd: 3671
    functionName: fillChildTblName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - fillChildTblNameByCount
    - strdup
    - benchCalloc
    - fillChildTblNameImp
    - snprintf
    linkageType: ''
    returnType: int64_t
    signature: int64_t fillChildTblName(SDataBase *database, SSuperTable *stbInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3675,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3680,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3682,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3683,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3684,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3686,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3687,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3691,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3693,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3694,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3699,1
    - Dst: toolsFormatTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3702,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3703,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3705,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3709
      start: 3674
    functionDepth: 2
    functionLinenumber: 3674
    functionLinenumberEnd: 3709
    functionName: fillSTableLastTs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - printErrCmdCodeStr
    - taos_query
    - taos_free_result
    - snprintf
    - memset
    - toolsFormatTimestamp
    - taos_errno
    - initBenchConn
    - infoPrint
    - closeBenchConn
    - taos_fetch_row
    linkageType: ''
    returnType: bool
    signature: bool fillSTableLastTs(SDataBase *database, SSuperTable *stbInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3713,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3718,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3720,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3721,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3722,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3724,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3725,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3729,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3731,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3732,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3737,1
    - Dst: toolsFormatTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3740,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3741,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3743,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3747
      start: 3712
    functionDepth: 2
    functionLinenumber: 3712
    functionLinenumberEnd: 3747
    functionName: calcExprFromServer
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - printErrCmdCodeStr
    - taos_query
    - taos_free_result
    - snprintf
    - memset
    - toolsFormatTimestamp
    - taos_errno
    - initBenchConn
    - infoPrint
    - closeBenchConn
    - taos_fetch_row
    linkageType: ''
    returnType: bool
    signature: bool calcExprFromServer(SDataBase *database, SSuperTable *stbInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3761
      start: 3749
    functionDepth: 0
    functionLinenumber: 3749
    functionLinenumberEnd: 3761
    functionName: obtainTableCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t obtainTableCount(SDataBase* database, SSuperTable* stbInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calcGroupIndex
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3769,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3773,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3779,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3780,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3787,1
    - Dst: calcGroupIndex
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3793,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3797,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3798,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3805
      start: 3764
    functionDepth: 1
    functionLinenumber: 3764
    functionLinenumberEnd: 3805
    functionName: assignTableToThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - benchCalloc
    - debugPrint
    - calcGroupIndex
    - infoPrint
    linkageType: ''
    returnType: int32_t
    signature: int32_t assignTableToThread(SDataBase* database, SSuperTable* stbInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3810,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3811,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3815,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3818,1
    - Dst: taos_stmt_init_with_options
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - taos
    - single
    argTypes:
    - TAOS*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3820
      start: 3808
    functionDepth: 0
    functionLinenumber: 3808
    functionLinenumberEnd: 3820
    functionName: initStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - taos_stmt_init_with_options
    - memset
    - infoPrint
    - taos_stmt_init
    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:3825,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3829,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3831,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - single
    argTypes:
    - TAOS*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3835
      start: 3823
    functionDepth: 1
    functionLinenumber: 3823
    functionLinenumberEnd: 3835
    functionName: initStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 1
    functionsReached:
    - taos_stmt2_init
    - memset
    - errorPrint
    - succPrint
    linkageType: ''
    returnType: TAOS_STMT2
    signature: TAOS_STMT2 * initStmt2(TAOS* taos, bool single)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseBufferToStmtBatch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3839,1
    - Dst: parseBufferToStmtBatchChildTbl
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bind_ts_array
    - stbInfo
    argTypes:
    - uint64_t*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3847
      start: 3838
    functionDepth: 5
    functionLinenumber: 3838
    functionLinenumberEnd: 3847
    functionName: initTsArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - parseBufferToStmtBatch
    - parseBufferToStmtBatchChildTbl
    linkageType: ''
    returnType: void
    signature: void initTsArray(uint64_t *bind_ts_array, SSuperTable* stbInfo)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3857,1
    - Dst: new_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3862,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3864,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3866,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3877,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3886,1
    - Dst: initStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3887,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3889,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3889,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3896,1
    - Dst: initStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3897,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3899,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3899,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3906,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3907,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3914,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3916,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3918,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3920,1
    - Dst: copyBArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3923,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3925,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3926,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3933,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3943,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3945,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3949,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3950,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3957,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3961,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3963,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3967,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3975,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3978,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3980,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3983,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3984,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3985,1
    - Dst: generateSmlJsonTags
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3988,1
    - Dst: generateSmlTaosJsonTags
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3994,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3999,1
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4001,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4002,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4003,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4004,1
    - Dst: generateSmlJsonValues
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4006,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4014,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4016,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4020,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4021,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4024,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4025,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4029,1
    - Dst: new_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4033,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4035,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4037,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4038,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 169
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4050
      start: 3849
    functionDepth: 2
    functionLinenumber: 3849
    functionLinenumberEnd: 4050
    functionName: genInsertTheadInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - copyBArray
    - benchArrayGet
    - initBenchConn
    - accumulateRowLen
    - generateSmlJsonValues
    - createSockFd
    - snprintf
    - memset
    - taos_select_db
    - taos_stmt2_close
    - queryDbExecCall
    - debugPrint
    - initStmt
    - errorPrint
    - generateRandData
    - tmfree
    - generateSmlTaosJsonTags
    - generateSmlJsonTags
    - taos_stmt_close
    - new_ds
    - benchArrayInit
    - tools_cJSON_CreateArray
    - benchCalloc
    - initStmt2
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: void *genInsertTheadInfo(void* arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4058,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4062,1
    - Dst: initTsArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4063,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4078,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4079,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4084,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4103,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4109,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4110,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4114,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4117,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 6
    argNames:
    - database
    - stbInfo
    - nthreads
    - infos
    - div
    - mod
    argTypes:
    - SDataBase*
    - SSuperTable*
    - int32_t
    - threadInfo*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4122
      start: 4054
    functionDepth: 6
    functionLinenumber: 4054
    functionLinenumberEnd: 4122
    functionName: initInsertThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - memcpy
    - benchCalloc
    - tmfree
    - initTsArray
    - pthread_create
    - infoPrint
    - 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: 7
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4128,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4131,1
    - Dst: pthread_tryjoin_np
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4143,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4145,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4148,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4157,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4159,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4165,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4176,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4179,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 6
    argNames:
    - database
    - stbInfo
    - nthreads
    - limitThread
    - infos
    - pids
    argTypes:
    - SDataBase*
    - SSuperTable*
    - int32_t
    - int32_t
    - threadInfo*
    - pthread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4186
      start: 4127
    functionDepth: 2
    functionLinenumber: 4127
    functionLinenumberEnd: 4186
    functionName: runInsertLimitThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - pthread_tryjoin_np
    - tmfree
    - debugPrint
    - pthread_create
    - infoPrint
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4191,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4197,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4199,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4206,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - database
    - stbInfo
    - nthreads
    - infos
    - pids
    argTypes:
    - SDataBase*
    - SSuperTable*
    - int32_t
    - threadInfo*
    - pthread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4211
      start: 4190
    functionDepth: 0
    functionLinenumber: 4190
    functionLinenumberEnd: 4211
    functionName: runInsertThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - infoPrint
    - pthread_join
    linkageType: ''
    returnType: int32_t
    signature: int32_t runInsertThread(SDataBase* database, SSuperTable* stbInfo,
      int32_t nthreads, threadInfo *infos, pthread_t *pids)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4217,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4219,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4231,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4240,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4241,1
    - Dst: free_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4243,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4245,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4251,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4252,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4258,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4261,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4263,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4267,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4269,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4272,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4276,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4283,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4285,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4287,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4289,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4297,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4303,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4307,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4308,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4309,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4316,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4317,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4319,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4321,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4325,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4332,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4334,1
    - Dst: free_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4341,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4343,1
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4357,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4359,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4364,1
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4370,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4373,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4375,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4376,1
    - Dst: printTotalDelay
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4379,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4381,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 130
    argCount: 6
    argNames:
    - database
    - stbInfo
    - nthreads
    - infos
    - pids
    - spend
    argTypes:
    - SDataBase*
    - SSuperTable*
    - int32_t
    - threadInfo*
    - pthread_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4386
      start: 4215
    functionDepth: 2
    functionLinenumber: 4215
    functionLinenumberEnd: 4386
    functionName: exitInsertThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - closeBenchConn
    - benchArrayGet
    - tmfree
    - benchArrayDestroy
    - benchArrayAddBatch
    - qsort
    - destroySockFd
    - printTotalDelay
    - free_ds
    - free
    - taos_stmt_close
    - taos_stmt2_close
    - benchArrayInit
    - tools_cJSON_Delete
    - 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: 10
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4391,1
    - Dst: preProcessArgument
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4396,1
    - Dst: obtainTableCount
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4399,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4401,1
    - Dst: assignTableToThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4412,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4414,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4419,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4432,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4433,1
    - Dst: initInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4436,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4438,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4439,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4440,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4444,1
    - Dst: prompt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4445,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4449,1
    - Dst: runInsertLimitThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4453,1
    - Dst: runInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4455,1
    - Dst: runInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4459,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4462,1
    - Dst: exitInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4470,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4472
      start: 4388
    functionDepth: 7
    functionLinenumber: 4388
    functionLinenumberEnd: 4472
    functionName: startMultiThreadInsertData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - initInsertThread
    - benchCalloc
    - tmfree
    - exitInsertThread
    - obtainTableCount
    - toolsGetTimestampUs
    - prompt
    - runInsertLimitThread
    - assignTableToThread
    - infoPrint
    - runInsertThread
    - preProcessArgument
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int startMultiThreadInsertData(SDataBase* database, SSuperTable* stbInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4477,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4479,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4480,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4482,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4485,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - dbName
    - stbName
    - taos
    argTypes:
    - char*
    - char*
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4493
      start: 4474
    functionDepth: 1
    functionLinenumber: 4474
    functionLinenumberEnd: 4493
    functionName: getStbInsertedRows
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - printErrCmdCodeStr
    - taos_query
    - taos_free_result
    - snprintf
    - taos_errno
    - taos_fetch_row
    linkageType: ''
    returnType: int
    signature: int getStbInsertedRows(char* dbName, char* stbName, TAOS* taos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4497,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4503,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4506,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - tsma
    - conn
    - stbName
    argTypes:
    - TSMA*
    - SBenchConn*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4510
      start: 4495
    functionDepth: 1
    functionLinenumber: 4495
    functionLinenumberEnd: 4510
    functionName: create_tsma
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - snprintf
    - infoPrint
    - queryDbExecCall
    linkageType: ''
    returnType: void
    signature: void create_tsma(TSMA* tsma, SBenchConn* conn, char* stbName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4515,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4520,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4521,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4522,1
    - Dst: getStbInsertedRows
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4526,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4529,1
    - Dst: create_tsma
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4531,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4537,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4539,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4540,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4542
      start: 4512
    functionDepth: 2
    functionLinenumber: 4512
    functionLinenumberEnd: 4542
    functionName: create_tsmas
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - create_tsma
    - benchArrayDestroy
    - getStbInsertedRows
    - taos_select_db
    - initBenchConn
    - errorPrint
    - closeBenchConn
    - toolsMsleep
    linkageType: ''
    returnType: void
    signature: void * create_tsmas(void* args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4546,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4548,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4557
      start: 4544
    functionDepth: 1
    functionLinenumber: 4544
    functionLinenumberEnd: 4557
    functionName: changeGlobalIface
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - infoPrint
    linkageType: ''
    returnType: void
    signature: void changeGlobalIface()
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: prompt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4560,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4562,1
    - Dst: changeGlobalIface
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4564,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4567,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4568,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4577,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4581,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4582,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4583,1
    - Dst: createDatabase
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4591,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4592,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4596,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4599,1
    - Dst: getVgroupsNative
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4601,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4603,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4604,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4607,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4608,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4615,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4618,1
    - Dst: getSuperTableFromServer
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4622,1
    - Dst: createSuperTable
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4628,1
    - Dst: fillSTableLastTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4635,1
    - Dst: calcExprFromServer
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4640,1
    - Dst: fillChildTblName
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4644,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4645,1
    - Dst: prepareSampleData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4647,1
    - Dst: prepareTagsStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4653,1
    - Dst: queryDbExec
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4660,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4671,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4676,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4682,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4687,1
    - Dst: createChildTables
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4695,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4699,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4702,1
    - Dst: prompt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4706,1
    - Dst: startMultiThreadInsertData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4707,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4714
      start: 4559
    functionDepth: 8
    functionLinenumber: 4559
    functionLinenumberEnd: 4714
    functionName: insertTestProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - createDatabase
    - prepareSampleData
    - prompt
    - getSuperTableFromServer
    - infoPrint
    - queryDbExec
    - calcExprFromServer
    - fillChildTblName
    - fillSTableLastTs
    - getVgroupsNative
    - errorPrint
    - createChildTables
    - startMultiThreadInsertData
    - changeGlobalIface
    - isRest
    - succPrint
    - prepareTagsStmt
    - benchCalloc
    - encodeAuthBase64
    - createSuperTable
    - pthread_create
    - initBenchConn
    - closeBenchConn
    - convertServAddr
    linkageType: ''
    returnType: int
    signature: int insertTestProcess()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4728,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4750,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4756,1
    - Dst: bindVColsProgressive
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4760,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4762,1
    - Dst: freeBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4763,1
    - Dst: showBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4769,1
    - Dst: submitStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4773,1
    - Dst: freeBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4775,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4778,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4778,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4785
      start: 4720
    functionDepth: 5
    functionLinenumber: 4720
    functionLinenumberEnd: 4785
    functionName: stmt2BindAndSubmit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: 1
    functionsReached:
    - showBindV
    - bindVColsProgressive
    - debugPrint
    - errorPrint
    - createBindV
    - taos_stmt2_error
    - submitStmt2
    - infoPrint
    - freeBindV
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stmt2BindAndSubmit(\r\n        threadInfo *pThreadInfo,\r\n
      \       SChildTable *childTbl,\r\n        int64_t *timestamp, uint64_t i, char
      *ttl, int32_t *pkCur, int32_t *pkCnt, int64_t *delay1,\r\n        int64_t *delay3,
      int64_t* startTs, int64_t* endTs, int32_t w)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - high
    - ','
    - format
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: SIGNED_RANDOM
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataMix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGNED_RANDOM(type, high, format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - high
    - ','
    - format
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: UNSIGNED_RANDOM
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataMix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNSIGNED_RANDOM(type, high, format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: FLOAT_RANDOM
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataMix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLOAT_RANDOM(type, min, max)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:66,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:67,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:75,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:75,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:79,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:80,1
    - Dst: toolsFormatTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:81,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:82,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:86,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:86,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:89,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:89,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:92,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:92,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:95,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:95,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:99,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:99,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:102,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:102,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:105,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:105,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:108,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:108,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:112,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:112,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:115,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:115,1
    - Dst: tmpDecimal128Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:118,1
    - Dst: decimal128ToString
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:119,1
    - Dst: tmpDecimal64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:123,1
    - Dst: decimal64ToString
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:124,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:132,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:135,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:141,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 6
    argNames:
    - fd
    - pstr
    - len
    - prefix
    - k
    - nullVal
    argTypes:
    - Field*
    - char*
    - uint32_t
    - char*
    - int64_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 143
    functionName: dataGenByField
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataMix.c
    functionUses: 1
    functionsReached:
    - tmpUint16Impl
    - tmpInt32Impl
    - toolsFormatTimestamp
    - decimal64ToString
    - tmpStr
    - tmpInt64Impl
    - tmpGeometry
    - tmpInt16Impl
    - tmpUint32Impl
    - strcpy
    - sprintf
    - tmpUint64Impl
    - RD
    - tmpDecimal64Impl
    - toolsGetTimestampMs
    - decimal128ToString
    - tmpInt8Impl
    - tmpBool
    - tmpDecimal128Impl
    - tmpDoubleImpl
    - strcat
    - tmpFloatImpl
    - tmpUint8Impl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dataGenByField(Field* fd, char* pstr, uint32_t len, char*
      prefix, int64_t *k, char* nullVal)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:153,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:157,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:162,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:166,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:171,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:175,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:180,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:186,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - fd
    - pstr
    - len
    - ts
    argTypes:
    - Field*
    - char*
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 194
    functionName: dataGenByCalcTs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataMix.c
    functionUses: 1
    functionsReached:
    - strcpy
    - sprintf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dataGenByCalcTs(Field* fd, char* pstr, uint32_t len, int64_t
      ts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - min
    - max
    - step
    - loop
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: funCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: int32_t
    signature: int32_t funCount(int32_t min, int32_t max, int32_t step, int32_t loop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - min
    - max
    - period
    - loop
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: funSaw
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: int32_t
    signature: int32_t funSaw(int32_t min, int32_t max, int32_t period, int32_t loop)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - min
    - max
    - period
    - loop
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: funSquare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t funSquare(int32_t min, int32_t max, int32_t period, int32_t
      loop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - min
    - max
    - period
    - loop
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: funTriAngle
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: int32_t
    signature: int32_t funTriAngle(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:113,1
    - Dst: sin
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:117,1
    - Dst: cos
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:119,1
    - Dst: funCount
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:121,1
    - Dst: funSaw
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:123,1
    - Dst: funSquare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:125,1
    - Dst: funTriAngle
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:127,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - field
    - angle
    - loop
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 141
    functionName: funValueFloat
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - taosRandom
    - funSquare
    - funSaw
    - funCount
    - funTriAngle
    - cos
    - ATOR
    - sin
    linkageType: ''
    returnType: float
    signature: float funValueFloat(Field *field, int32_t angle, int32_t loop)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ATOR
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:145,1
    - Dst: sin
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:149,1
    - Dst: cos
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:151,1
    - Dst: funCount
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:153,1
    - Dst: funSaw
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:155,1
    - Dst: funSquare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:157,1
    - Dst: funTriAngle
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:159,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - field
    - angle
    - loop
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 174
    functionName: funValueInt32
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - taosRandom
    - funSquare
    - funSaw
    - funCount
    - funTriAngle
    - cos
    - ATOR
    - sin
    linkageType: ''
    returnType: int32_t
    signature: int32_t funValueInt32(Field *field, int32_t angle, int32_t loop)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 2
    argNames:
    - p
    - unic
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 216
    functionName: usc2utf8
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int usc2utf8(char *p, uint32_t unic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:227,1
    - Dst: usc2utf8
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:228,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - str
    - size
    - chinese
    argTypes:
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 244
    functionName: rand_string
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - taosRandom
    - usc2utf8
    linkageType: ''
    returnType: void
    signature: void rand_string(char *str, int size, bool chinese)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:249,1
    - Dst: genQMark
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:252,1
    - Dst: genQMark
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:258,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:267,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:269,1
    - Dst: workingMode
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:274,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:276,1
    - Dst: genColNames
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:281,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:282,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:291,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:293,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:294,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - stbInfo
    - tagData
    - tableSeq
    - db
    argTypes:
    - SSuperTable*
    - char*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 309
    functionName: genPrepareSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - genQMark
    - benchCalloc
    - tmfree
    - snprintf
    - genColNames
    - infoPrint
    - workingMode
    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:312,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:313,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:313,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:314,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:314,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:315,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:318,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - stmt
    - stbInfo
    - tagData
    - tableSeq
    - db
    argTypes:
    - TAOS_STMT*
    - SSuperTable*
    - char*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: prepareStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 2
    functionsReached:
    - taos_stmt_errstr
    - tmfree
    - debugPrint
    - taos_stmt_prepare
    - genPrepareSql
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int prepareStmt(TAOS_STMT *stmt, SSuperTable *stbInfo, char* tagData,
      uint64_t tableSeq, char *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: genPrepareSql
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:324,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:325,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:325,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:326,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:326,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:327,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:330,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - stmt2
    - stbInfo
    - tagData
    - tableSeq
    - db
    argTypes:
    - TAOS_STMT2*
    - SSuperTable*
    - char*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: prepareStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 3
    functionsReached:
    - tmfree
    - debugPrint
    - taos_stmt2_error
    - genPrepareSql
    - taos_stmt2_prepare
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int prepareStmt2(TAOS_STMT2 *stmt2, SSuperTable *stbInfo, char* tagData,
      uint64_t tableSeq, char *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:339,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:340,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:342,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:346,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - filePath
    - stbInfo
    - child
    argTypes:
    - char*
    - SSuperTable*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 351
    functionName: getSampleFileNameByPattern
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - strstr
    linkageType: ''
    returnType: bool
    signature: "bool getSampleFileNameByPattern(char *filePath,\n                                       SSuperTable
      *stbInfo,\n                                       int64_t child)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:423,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:425,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:426,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:433,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:435,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:436,1
    - Dst: fgets
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:440,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:444,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - sampleFile
    - insertRows
    argTypes:
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 447
    functionName: getAndSetRowsFromCsvFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - tmfree
    - strerror
    - fclose
    - fopen
    - errorPrint
    - fgets
    linkageType: ''
    returnType: int
    signature: int getAndSetRowsFromCsvFile(char *sampleFile, uint64_t *insertRows)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:452,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:512,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 2
    argNames:
    - fields
    - iface
    argTypes:
    - BArray*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 520
    functionName: accumulateRowLen
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - strlen
    - benchArrayGet
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t accumulateRowLen(BArray *fields, int iface)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:525,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:527,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:529,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:530,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:533,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:539,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:541,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:544,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:547,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:552,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:554,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - tmp
    - iface
    - field
    - k
    argTypes:
    - char*
    - int
    - Field*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 558
    functionName: tmpStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - taosRandom
    - rand_string
    - tools_cJSON_GetArrayItem
    - tools_cJSON_GetArraySize
    - snprintf
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int tmpStr(char *tmp, int iface, Field *field, int64_t k)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:563,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:565,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:567,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:568,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:571,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:582,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:582,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:582,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:586,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:592,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:592,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:592,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:594,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - tmp
    - iface
    - field
    - k
    argTypes:
    - char*
    - int
    - Field*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 597
    functionName: tmpGeometry
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - taosRandom
    - tools_cJSON_GetArrayItem
    - tools_cJSON_GetArraySize
    - snprintf
    - strcat
    - errorPrint
    - tmpUint16
    linkageType: ''
    returnType: int
    signature: int tmpGeometry(char *tmp, int iface, Field *field, int64_t k)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - field
    argTypes:
    - Field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 607
    functionName: tmpBool
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - taosRandom
    linkageType: ''
    returnType: bool
    signature: bool tmpBool(Field *field)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - field
    - k
    argTypes:
    - Field*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 615
    functionName: tmpInt8Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t tmpInt8Impl(Field *field, int64_t k)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - field
    - k
    argTypes:
    - Field*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: tmpUint8Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t tmpUint8Impl(Field *field, int64_t k)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - field
    - k
    argTypes:
    - Field*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: tmpInt16Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: int16_t tmpInt16Impl(Field *field, int64_t k)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - field
    - k
    argTypes:
    - Field*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 639
    functionName: tmpUint16Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t tmpUint16Impl(Field *field, int64_t k)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: funValueInt32
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:645,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:647,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - field
    - i
    - angle
    - k
    argTypes:
    - Field*
    - int
    - int
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 664
    functionName: tmpInt32Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - taosRandom
    - funValueInt32
    linkageType: ''
    returnType: int
    signature: int tmpInt32Impl(Field *field, int i, int angle, int32_t k)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - field
    - i
    - k
    argTypes:
    - Field*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 680
    functionName: tmpInt32ImplTag
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tmpInt32ImplTag(Field *field, int i, int k)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: funValueInt32
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:687,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:689,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - field
    - i
    - angle
    - k
    argTypes:
    - Field*
    - int
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 700
    functionName: tmpUint32Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - taosRandom
    - funValueInt32
    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:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 710
    functionName: tmpInt64Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - funValueInt32
    linkageType: ''
    returnType: int64_t
    signature: int64_t tmpInt64Impl(Field *field, int32_t angle, int32_t k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: funValueInt32
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 720
    functionName: tmpUint64Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - funValueInt32
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t tmpUint64Impl(Field *field, int32_t angle, int64_t k)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: funValueFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:725,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:731,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:733,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:737,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:740,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - field
    - i
    - angle
    - k
    argTypes:
    - Field*
    - int
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 756
    functionName: tmpFloatImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - funValueFloat
    - taosRandom
    linkageType: ''
    returnType: float
    signature: float tmpFloatImpl(Field *field, int i, int32_t angle, int32_t k)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: funValueFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:761,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:766,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:768,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 784
    functionName: tmpDoubleImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - funValueFloat
    - taosRandom
    linkageType: ''
    returnType: double
    signature: double tmpDoubleImpl(Field *field, int32_t angle, int32_t k)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:789,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:791,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:797,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:800,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:805,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:806,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:807,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:810,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:812,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:815,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:817,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:820,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - sampleDataBuf
    - bufLen
    - pos
    - fieldsSize
    - field
    argTypes:
    - char*
    - int
    - int64_t
    - int
    - Field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 826
    functionName: tmpJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - rand_string
    - benchCalloc
    - tmfree
    - snprintf
    - errorPrint
    linkageType: ''
    returnType: int
    signature: "int tmpJson(char *sampleDataBuf,\n                   int bufLen, int64_t
      pos,\n                   int fieldsSize, Field *field)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:833,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:848,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - range
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 865
    functionName: generateRandomUint64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t generateRandomUint64(uint64_t range)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateRandomUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 875
    functionName: randUint64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - generateRandomUint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t randUint64(uint64_t min, uint64_t max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateRandomUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 885
    functionName: randInt64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - generateRandomUint64
    linkageType: ''
    returnType: int64_t
    signature: int64_t randInt64(int64_t min, int64_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randInt64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:892,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:892,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:892,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:893,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:893,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - result
    - min
    - max
    argTypes:
    - Decimal64*
    - Decimal64*
    - Decimal64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 896
    functionName: decimal64Rand
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - randInt64
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: void
    signature: void decimal64Rand(Decimal64* result, const Decimal64* min, const Decimal64*
      max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:904,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:905,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:906,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:907,1
    - Dst: randInt64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:911,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:915,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:917,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:919,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:921,1
    - Dst: DECIMAL128_SET_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:924,1
    - Dst: DECIMAL128_SET_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:925,1
    - Dst: decimal128BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:927,1
    - Dst: decimal128BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:927,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - result
    - min
    - max
    argTypes:
    - Decimal128*
    - Decimal128*
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 930
    functionName: decimal128Rand
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - DECIMAL128_SET_LOW_WORD
    - DECIMAL128_HIGH_WORD
    - decimal128BCompare
    - randInt64
    - DECIMAL128_LOW_WORD
    - randUint64
    - DECIMAL128_SET_HIGH_WORD
    linkageType: ''
    returnType: void
    signature: void decimal128Rand(Decimal128* result, const Decimal128* min, const
      Decimal128* max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64Rand
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 933
    functionDepth: 3
    functionLinenumber: 933
    functionLinenumberEnd: 940
    functionName: tmpDecimal64Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - decimal64Rand
    linkageType: ''
    returnType: Decimal64
    signature: Decimal64 tmpDecimal64Impl(Field* field, int32_t angle, int32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Rand
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 943
    functionDepth: 3
    functionLinenumber: 943
    functionLinenumberEnd: 950
    functionName: tmpDecimal128Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - decimal128Rand
    linkageType: ''
    returnType: Decimal128
    signature: Decimal128 tmpDecimal128Impl(Field* field, int32_t angle, int32_t k)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:964,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:971,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:973,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:983,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:984,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:989,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:990,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:995,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:996,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1001,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1002,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1007,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1008,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1013,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:1019,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1020,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1025,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1026,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1032,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1033,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1038,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1039,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1044,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1045,1
    - Dst: tmpDecimal128Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1050,1
    - Dst: decimal128ToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1051,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1053,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1054,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1054,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1057,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1058,1
    - Dst: tmpDecimal64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1063,1
    - Dst: decimal64ToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1064,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1066,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1067,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1070,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1071,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1078,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1079,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1080,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1083,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1085,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1090,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1091,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1092,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1095,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1096,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1101,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1102,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1103,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1106,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1107,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1111,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1121,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 137
    argCount: 8
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    - loopBegin
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 953
    functionDepth: 4
    functionLinenumber: 953
    functionLinenumberEnd: 1138
    functionName: generateRandDataSQL
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - tmpUint16Impl
    - benchArrayGet
    - snprintf
    - tmpInt32Impl
    - decimal64ToString
    - tmpStr
    - tmpInt64Impl
    - tmpGeometry
    - tmpInt16Impl
    - tmpUint32Impl
    - tmpUint64Impl
    - DECIMAL128_HIGH_WORD
    - tmpDecimal64Impl
    - free
    - errorPrint
    - decimal128ToString
    - tmpInt8Impl
    - DECIMAL64_GET_VALUE
    - tmpBool
    - tmfree
    - tmpDecimal128Impl
    - DECIMAL128_LOW_WORD
    - tmpJson
    - benchCalloc
    - tmpDoubleImpl
    - tmpFloatImpl
    - strlen
    - tmpUint8Impl
    linkageType: ''
    returnType: int
    signature: "int generateRandDataSQL(SSuperTable *stbInfo, char *sampleDataBuf,\n
      \                    int64_t bufLen,\n                      int lenOfOneRow,
      BArray * fields, int64_t loop,\n                      bool tag, int64_t loopBegin)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1147,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1154,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1157,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1172,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1178,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1183,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1189,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1194,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1200,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1205,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1211,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1216,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1222,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1227,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1233,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1238,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1244,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1249,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1255,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1261,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1267,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1272,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1278,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1283,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1289,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1296,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1297,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1298,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1302,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1307,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1312,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1314,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1319,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1320,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1321,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1325,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1327,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1329,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1330,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1334,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1335,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1336,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1340,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1345,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1350,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1352,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1356,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1366,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1374,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 189
    argCount: 9
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    - childCols
    - loopBegin
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - bool
    - BArray*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1140
    functionDepth: 3
    functionLinenumber: 1140
    functionLinenumberEnd: 1386
    functionName: fillStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - tmpUint16Impl
    - benchArrayGet
    - snprintf
    - tmpInt32Impl
    - tmpStr
    - tmpInt64Impl
    - tmpGeometry
    - tmpInt16Impl
    - tmpUint32Impl
    - tmpUint64Impl
    - debugPrint
    - free
    - errorPrint
    - tmpInt8Impl
    - tmpBool
    - tmfree
    - tmpJson
    - benchCalloc
    - tmpDoubleImpl
    - tmpFloatImpl
    - tmpUint8Impl
    linkageType: ''
    returnType: int
    signature: "int fillStmt(\n    SSuperTable *stbInfo,\n    char *sampleDataBuf,\n
      \   int64_t bufLen,\n    int lenOfOneRow, BArray *fields,\n    int64_t loop,
      bool tag, BArray *childCols, int64_t loopBegin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1396,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1397,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1400,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:1408,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1410,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1413,1
    - Dst: fillStmt
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 8
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - childCols
    - loopBegin
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - BArray*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1388
    functionDepth: 4
    functionLinenumber: 1388
    functionLinenumberEnd: 1422
    functionName: generateRandDataStmtForChildTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - fillStmt
    - benchArrayGet
    - debugPrint
    - benchCalloc
    linkageType: ''
    returnType: int
    signature: "int generateRandDataStmtForChildTable(\n    SSuperTable *stbInfo,\n
      \   char *sampleDataBuf,\n    int64_t bufLen,\n    int lenOfOneRow, BArray *fields,\n
      \   int64_t loop, BArray *childCols, int64_t loopBegin)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1432,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1437,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1439,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1443,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1445,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1448,1
    - Dst: fillStmt
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 8
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    - loopBegin
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1424
    functionDepth: 4
    functionLinenumber: 1424
    functionLinenumberEnd: 1458
    functionName: generateRandDataStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - fillStmt
    - benchArrayGet
    - debugPrint
    - benchCalloc
    linkageType: ''
    returnType: int
    signature: "int generateRandDataStmt(\n    SSuperTable *stbInfo,\n    char *sampleDataBuf,\n
      \   int64_t bufLen,\n    int lenOfOneRow, BArray *fields,\n    int64_t loop,
      bool tag, int64_t loopBegin)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1473,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1477,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1479,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1483,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1489,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1491,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1494,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1500,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1502,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1505,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1511,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:1516,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1522,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1524,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1527,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1533,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1535,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1539,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1546,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1548,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1552,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1558,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1560,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1565,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1573,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1575,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1579,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1585,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1587,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1590,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1596,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1598,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1601,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1609,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1610,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1611,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1616,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1620,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1624,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1626,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1633,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1637,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1641,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1643,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1649,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1653,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1654,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1655,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1659,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1663,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1667,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1669,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1674,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1678,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1688,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 182
    argCount: 8
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    - loopBegin
    argTypes:
    - SSuperTable*
    - char*
    - int
    - int
    - BArray*
    - int64_t
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1460
    functionDepth: 3
    functionLinenumber: 1460
    functionLinenumberEnd: 1706
    functionName: generateRandDataSmlTelnet
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - tmpUint16Impl
    - benchArrayGet
    - snprintf
    - tmpInt32Impl
    - tmpStr
    - tmpInt64Impl
    - tmpGeometry
    - tmpInt16Impl
    - tmpUint32Impl
    - tmpUint64Impl
    - errorPrint
    - tmpInt8Impl
    - tmpBool
    - tmfree
    - tmpJson
    - benchCalloc
    - tmpDoubleImpl
    - tmpFloatImpl
    - tmpUint8Impl
    linkageType: ''
    returnType: int
    signature: "int generateRandDataSmlTelnet(SSuperTable *stbInfo, char *sampleDataBuf,\n
      \                    int bufLen,\n                      int lenOfOneRow, BArray
      * fields, int64_t loop,\n                      bool tag, int64_t loopBegin)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1718,1
    - Dst: tmpBool
      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: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1728,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1729,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1734,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1735,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1740,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1741,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1746,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1747,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1752,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1753,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1758,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1759,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1764,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1765,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1771,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1772,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1777,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1778,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1783,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1784,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1791,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1792,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1793,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1796,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1798,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1802,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1812,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 88
    argCount: 8
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    - loopBegin
    argTypes:
    - SSuperTable*
    - char*
    - int
    - int
    - BArray*
    - int64_t
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1708
    functionDepth: 3
    functionLinenumber: 1708
    functionLinenumberEnd: 1829
    functionName: generateRandDataSmlJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - tmpUint16Impl
    - benchArrayGet
    - snprintf
    - tmpInt32Impl
    - tmpStr
    - tmpInt64Impl
    - tmpInt16Impl
    - tmpUint32Impl
    - tmpUint64Impl
    - free
    - errorPrint
    - tmpInt8Impl
    - tmpBool
    - tmfree
    - tmpJson
    - benchCalloc
    - tmpDoubleImpl
    - tmpFloatImpl
    - tmpUint8Impl
    linkageType: ''
    returnType: int
    signature: "int generateRandDataSmlJson(SSuperTable *stbInfo, char *sampleDataBuf,\n
      \                    int bufLen,\n                      int lenOfOneRow, BArray
      * fields, int64_t loop,\n                      bool tag, int64_t loopBegin)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1841,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1845,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1855,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1858,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1859,1
    - Dst: tmpInt8Impl
      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: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1870,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1871,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1876,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1877,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1882,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1883,1
    - Dst: tmpInt32ImplTag
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1891,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1893,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1895,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1901,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1902,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1907,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1908,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1914,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1915,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1920,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1921,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1927,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1928,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1935,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1936,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1937,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1941,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1945,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1949,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1953,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1954,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1955,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1958,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1961,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1965,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1968,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1979,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 118
    argCount: 8
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    - loopBegin
    argTypes:
    - SSuperTable*
    - char*
    - int
    - int
    - BArray*
    - int64_t
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1831
    functionDepth: 3
    functionLinenumber: 1831
    functionLinenumberEnd: 1997
    functionName: generateRandDataSmlLine
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - tmpUint16Impl
    - benchArrayGet
    - tmpInt32ImplTag
    - snprintf
    - tmpInt32Impl
    - tmpStr
    - tmpInt64Impl
    - tmpGeometry
    - tmpInt16Impl
    - tmpUint32Impl
    - tmpUint64Impl
    - free
    - errorPrint
    - tmpInt8Impl
    - tmpBool
    - tmfree
    - tmpJson
    - benchCalloc
    - tmpDoubleImpl
    - tmpFloatImpl
    - tmpUint8Impl
    linkageType: ''
    returnType: int
    signature: "int generateRandDataSmlLine(SSuperTable *stbInfo, char *sampleDataBuf,\n
      \                    int bufLen,\n                      int lenOfOneRow, BArray
      * fields, int64_t loop,\n                      bool tag, int64_t loopBegin)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateRandDataSmlLine
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2007,1
    - Dst: generateRandDataSmlTelnet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2010,1
    - Dst: generateRandDataSmlJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    - loopBegin
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1999
    functionDepth: 4
    functionLinenumber: 1999
    functionLinenumberEnd: 2018
    functionName: generateRandDataSml
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - generateRandDataSmlTelnet
    - generateRandDataSmlLine
    - generateRandDataSmlJson
    linkageType: ''
    returnType: int
    signature: "int generateRandDataSml(SSuperTable *stbInfo, char *sampleDataBuf,\n
      \                    int64_t bufLen,\n                      int lenOfOneRow,
      BArray * fields, int64_t loop,\n                      bool tag, int64_t loopBegin)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: generateRandDataSQL
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2028,1
    - Dst: generateRandDataSQL
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2032,1
    - Dst: generateRandDataStmtForChildTable
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2037,1
    - Dst: generateRandDataStmt
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2042,1
    - Dst: generateRandDataSml
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2047,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 9
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    - childCols
    - loopBegin
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - bool
    - BArray*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2020
    functionDepth: 5
    functionLinenumber: 2020
    functionLinenumberEnd: 2055
    functionName: generateRandData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - generateRandDataSml
    - generateRandDataStmt
    - generateRandDataSQL
    - errorPrint
    - generateRandDataStmtForChildTable
    linkageType: ''
    returnType: int
    signature: "int generateRandData(SSuperTable *stbInfo, char *sampleDataBuf,\n
      \                    int64_t bufLen,\n                     int lenOfOneRow,
      BArray *fields,\n                     int64_t loop,\n                     bool
      tag, BArray *childCols, int64_t loopBegin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2058,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2061,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - colsSize
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2057
    functionDepth: 1
    functionLinenumber: 2057
    functionLinenumberEnd: 2066
    functionName: initChildCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - benchArrayPush
    - benchArrayInit
    - benchCalloc
    linkageType: ''
    returnType: BArray
    signature: BArray *initChildCols(int colsSize)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2069,1
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2070,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2081,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2090,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2093,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2097,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2103,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2104,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2108,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2117,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2122,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2125,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2132,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2134,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2140,1
    - Dst: initChildCols
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2147,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2150,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2152,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2158,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2165,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2174,1
    - Dst: getAndSetRowsFromCsvFile
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2177,1
    - Dst: generateSampleFromCsv
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2182,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2185,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2190,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2192,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2193,1
    - Dst: getSampleFileNameByPattern
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2199,1
    - Dst: access
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2200,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2204,1
    - Dst: getAndSetRowsFromCsvFile
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2206,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2208,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2214,1
    - Dst: generateSampleFromCsv
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2216,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2222,1
    - Dst: initChildCols
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2228,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2231,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2237,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2238,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 108
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2068
    functionDepth: 6
    functionLinenumber: 2068
    functionLinenumberEnd: 2246
    functionName: prepareSampleData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - generateRandData
    - generateSampleFromCsv
    - accumulateRowLen
    - benchArrayGet
    - benchCalloc
    - getSampleFileNameByPattern
    - debugPrint
    - errorPrint
    - initChildCols
    - strstr
    - snprintf
    - access
    - getAndSetRowsFromCsvFile
    - isRest
    - infoPrint
    - convertServAddr
    linkageType: ''
    returnType: int
    signature: int prepareSampleData(SDataBase* database, SSuperTable* stbInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2252,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - timeStampStep
    - seq
    - disorderRatio
    - disorderRange
    argTypes:
    - int64_t
    - int32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2248
    functionDepth: 1
    functionLinenumber: 2248
    functionLinenumberEnd: 2258
    functionName: getTSRandTail
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 0
    functionsReached:
    - taosRandom
    linkageType: ''
    returnType: int64_t
    signature: "int64_t getTSRandTail(int64_t timeStampStep, int32_t seq, int disorderRatio,\n
      \                     int disorderRange)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2270,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2287,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2290,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2298,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2299,1
    - Dst: getTSRandTail
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2318,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2326,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2346,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2347,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2349,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2350,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2353,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2356,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2357,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2358,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2359,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2363,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2260
    functionDepth: 2
    functionLinenumber: 2260
    functionLinenumberEnd: 2367
    functionName: bindParamBatch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 2
    functionsReached:
    - benchArrayGet
    - taos_stmt_errstr
    - debugPrint
    - errorPrint
    - toolsGetTimestampUs
    - convertDatatypeToString
    - memset
    - getTSRandTail
    - taos_stmt_add_batch
    - taos_stmt_bind_param_batch
    - needChangeTs
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t bindParamBatch(threadInfo *pThreadInfo,\n                        uint32_t
      batch, int64_t startTime, int64_t pos,\n                        SChildTable
      *childTbl, int32_t *pkCur, int32_t *pkCnt, int32_t *n, int64_t *delay2, int64_t
      *delay3)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2373,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2374,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2375,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2377,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2379,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2380,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2383,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2384,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2388,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2389,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2393,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2394,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2401,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2402,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2404,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2406,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2408,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2414,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2416,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2422,1
    - Dst: debugPrintJsonNoTime
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2423,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2424,1
    - Dst: debugPrintNoTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2425,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2429,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2430,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 5
    argNames:
    - tagsList
    - sml_tags_json_array
    - stbInfo
    - start_table_from
    - tbSeq
    argTypes:
    - tools_cJSON*
    - char**
    - SSuperTable*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2369
    functionDepth: 2
    functionLinenumber: 2369
    functionLinenumberEnd: 2431
    functionName: generateSmlJsonTags
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - taosRandom
    - rand_string
    - benchArrayGet
    - tmpBool
    - benchCalloc
    - tmpFloat
    - tools_cJSON_AddStringToObject
    - tmfree
    - tools_cJSON_PrintUnformatted
    - tools_cJSON_CreateObject
    - snprintf
    - tmpDouble
    - debugPrintJsonNoTime
    - tools_cJSON_AddItemToArray
    - debugPrintNoTimestamp
    - tools_cJSON_AddNumberToObject
    linkageType: ''
    returnType: void
    signature: "void generateSmlJsonTags(tools_cJSON *tagsList,\n                         char
      **sml_tags_json_array,\n                         SSuperTable *stbInfo,\n                            uint64_t
      start_table_from, int tbSeq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2435,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2436,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2437,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2439,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2440,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2442,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2443,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2444,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2447,1
    - Dst: tools_cJSON_AddBoolToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2448,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2449,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2453,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2454,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2455,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2459,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2460,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2461,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2468,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2469,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2471,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2472,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2474,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2475,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2477,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2483,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2485,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2486,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2487,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2491,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2493,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2494,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2495,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 4
    argNames:
    - tagsList
    - stbInfo
    - start_table_from
    - tbSeq
    argTypes:
    - tools_cJSON*
    - SSuperTable*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2433
    functionDepth: 2
    functionLinenumber: 2433
    functionLinenumberEnd: 2496
    functionName: generateSmlTaosJsonTags
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - taosRandom
    - rand_string
    - benchArrayGet
    - tmpBool
    - benchCalloc
    - tmpFloat
    - tools_cJSON_AddStringToObject
    - tmfree
    - tools_cJSON_AddItemToObject
    - tools_cJSON_CreateObject
    - snprintf
    - tools_cJSON_AddBoolToObject
    - tmpDouble
    - convertDatatypeToString
    - tools_cJSON_AddItemToArray
    - tools_cJSON_AddNumberToObject
    linkageType: ''
    returnType: void
    signature: "void generateSmlTaosJsonTags(tools_cJSON *tagsList, SSuperTable *stbInfo,\n
      \                           uint64_t start_table_from, int tbSeq)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2501,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2502,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2505,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2506,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2507,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2512,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2513,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2514,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2519,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2520,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2521,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2528,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2529,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2530,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2531,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2533,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2537,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2538,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2539,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2540,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2542,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2546,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2547,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - sml_json_value_array
    - stbInfo
    - tableSeq
    argTypes:
    - char**
    - SSuperTable*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2498
    functionDepth: 2
    functionLinenumber: 2498
    functionLinenumberEnd: 2553
    functionName: generateSmlJsonValues
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - rand_string
    - benchArrayGet
    - tmpBool
    - benchCalloc
    - tmpFloat
    - tmfree
    - tmpGeometry
    - snprintf
    - tmpDouble
    - strlen
    linkageType: ''
    returnType: void
    signature: "void generateSmlJsonValues(\n        char **sml_json_value_array,
      SSuperTable *stbInfo, int tableSeq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2558,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2559,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2560,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2563,1
    - Dst: tools_cJSON_AddBoolToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2564,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2568,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2569,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2573,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2574,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2580,1
    - Dst: rand_string
      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:2585,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2587,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2591,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2592,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2593,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2594,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2598,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2599,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2603,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2604,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 5
    argNames:
    - array
    - tag
    - stbInfo
    - time_precision
    - timestamp
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    - SSuperTable*
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2555
    functionDepth: 2
    functionLinenumber: 2555
    functionLinenumberEnd: 2606
    functionName: generateSmlJsonCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - rand_string
    - benchArrayGet
    - tmpBool
    - tmpFloat
    - benchCalloc
    - tools_cJSON_AddStringToObject
    - tmfree
    - tmpGeometry
    - tools_cJSON_AddItemToObject
    - tools_cJSON_AddBoolToObject
    - tools_cJSON_CreateObject
    - tmpDouble
    - tools_cJSON_AddItemToArray
    - tools_cJSON_AddNumberToObject
    linkageType: ''
    returnType: void
    signature: "void generateSmlJsonCols(tools_cJSON *array, tools_cJSON *tag,\n                         SSuperTable
      *stbInfo,\n                            uint32_t time_precision, int64_t timestamp)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2611,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2612,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2613,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2615,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2617,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2619,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2621,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2622,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2625,1
    - Dst: tools_cJSON_AddBoolToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2626,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2627,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2631,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2632,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2633,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2637,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2638,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2639,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2645,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2646,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2648,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2649,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2651,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2652,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2654,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2658,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2659,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2660,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2661,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2662,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2667,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2669,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2670,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2671,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2675,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2676,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2677,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2678,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2679,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 5
    argNames:
    - array
    - tag
    - stbInfo
    - time_precision
    - timestamp
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    - SSuperTable*
    - uint32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2608
    functionDepth: 2
    functionLinenumber: 2608
    functionLinenumberEnd: 2680
    functionName: generateSmlTaosJsonCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 2
    functionsReached:
    - taosRandom
    - rand_string
    - benchArrayGet
    - tmpBool
    - tmpFloat
    - benchCalloc
    - tools_cJSON_AddStringToObject
    - tmfree
    - tmpGeometry
    - tools_cJSON_AddItemToObject
    - tools_cJSON_CreateObject
    - tools_cJSON_AddBoolToObject
    - tmpDouble
    - convertDatatypeToString
    - tools_cJSON_AddItemToArray
    - tools_cJSON_AddNumberToObject
    linkageType: ''
    returnType: void
    signature: "void generateSmlTaosJsonCols(tools_cJSON *array, tools_cJSON *tag,\n
      \                        SSuperTable *stbInfo,\n                            uint32_t
      time_precision, int64_t timestamp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSampleFromCsv
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2685,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2692,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - stbInfo
    - buf
    - cnt
    - csv
    - tagsStmt
    - loopBegin
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - FILE*
    - BArray*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2683
    functionDepth: 6
    functionLinenumber: 2683
    functionLinenumberEnd: 2704
    functionName: generateTagData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 4
    functionsReached:
    - generateRandData
    - generateSampleFromCsv
    - errorPrint
    linkageType: ''
    returnType: bool
    signature: bool generateTagData(SSuperTable *stbInfo, char *buf, int64_t cnt,
      FILE* csv, BArray* tagsStmt, int64_t loopBegin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2738,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2740,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2740,1
    - Dst: seekFromCsv
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2744,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2745,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2746,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2746,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - stbInfo
    - seek
    argTypes:
    - SSuperTable*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2754
    functionName: openTagCsv
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 4
    functionsReached:
    - seekFromCsv
    - strerror
    - fclose
    - fopen
    - infoPrint
    - errorPrint
    linkageType: ''
    returnType: FILE
    signature: FILE * openTagCsv(SSuperTable* stbInfo, uint64_t seek)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2768,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2769,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2785,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2789,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2796,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2797,1
    - Dst: getTSRandTail
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2816,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2824,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2759
    functionDepth: 2
    functionLinenumber: 2759
    functionLinenumberEnd: 2833
    functionName: bindVColsProgressive
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - benchArrayGet
    - debugPrint
    - convertDatatypeToString
    - memset
    - getTSRandTail
    - needChangeTs
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t bindVColsProgressive(TAOS_STMT2_BINDV *bindv, int32_t tbIndex,\n
      \                threadInfo *pThreadInfo,\n                 uint32_t batch,
      int64_t startTime, int64_t pos,\n                 SChildTable *childTbl, int32_t
      *pkCur, int32_t *pkCnt, int32_t *n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2845,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - bindv
    - tbIndex
    - w
    - fields
    argTypes:
    - TAOS_STMT2_BINDV*
    - int32_t
    - int32_t
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2839
    functionDepth: 1
    functionLinenumber: 2839
    functionLinenumberEnd: 2861
    functionName: bindVTags
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2895,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2899,1
    - Dst: getTSRandTail
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2921,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2929,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2866
    functionDepth: 2
    functionLinenumber: 2866
    functionLinenumberEnd: 2936
    functionName: bindVColsInterlace
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 1
    functionsReached:
    - getTSRandTail
    - benchArrayGet
    - needChangeTs
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t bindVColsInterlace(TAOS_STMT2_BINDV *bindv, int32_t tbIndex,\n
      \                threadInfo *pThreadInfo,\n                 uint32_t batch,
      int64_t startTime, int64_t pos,\n                 SChildTable *childTbl, int32_t
      *pkCur, int32_t *pkCnt, int32_t *n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2943,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2948,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2950,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2954,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2956,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - stbInfo
    argTypes:
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2939
    functionDepth: 1
    functionLinenumber: 2939
    functionLinenumberEnd: 2962
    functionName: prepareTagsStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: 2
    functionsReached:
    - benchArrayGet
    - debugPrint
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: void prepareTagsStmt(SSuperTable* stbInfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mktime
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:46,1
    - Dst: strftime
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:49,1
    - Dst: strpbrk
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:59,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - csv_ts_format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 82
    functionName: csvValidateParamTsFormat
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - strftime
    - mktime
    linkageType: ''
    returnType: int
    signature: int csvValidateParamTsFormat(const char* csv_ts_format)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:90,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - csv_ts_interval
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: csvValidateParamTsInterval
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - strtol
    - tolower
    linkageType: ''
    returnType: long
    signature: long csvValidateParamTsInterval(const char* csv_ts_interval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:115,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:117,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:121,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: csvParseParameter
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int csvParseParameter()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csvValidateParamTsFormat
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:137,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:138,1
    - Dst: csvValidateParamTsInterval
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:145,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - stb
    argTypes:
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 154
    functionName: csvParseStbParameter
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvValidateParamTsFormat
    - errorPrint
    - csvValidateParamTsInterval
    linkageType: ''
    returnType: int
    signature: int csvParseStbParameter(SSuperTable* stb)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: localtime_s
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:160,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:161,1
    - Dst: localtime_r
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:165,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:166,1
    - Dst: mktime
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:195,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 2
    argNames:
    - seconds
    - ts_format
    argTypes:
    - time_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 196
    functionName: csvAlignTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - mktime
    - localtime_s
    - localtime_r
    - perror
    linkageType: ''
    returnType: time_t
    signature: time_t csvAlignTimestamp(time_t seconds, const char* ts_format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: csvAlignTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - precision
    - start_ts
    - csv_ts_format
    argTypes:
    - int
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: csvGetStartSeconds
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvAlignTimestamp
    linkageType: ''
    returnType: time_t
    signature: time_t csvGetStartSeconds(int precision, int64_t start_ts, const char*
      csv_ts_format)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:215,1
    - Dst: localtime_s
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:217,1
    - Dst: localtime_r
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:219,1
    - Dst: strftime
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:221,1
    - Dst: setlocale
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - time_value
    - ts_format
    - time_buf
    - buf_size
    argTypes:
    - time_t
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: csvConvertTime2String
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - strftime
    - localtime_s
    - setlocale
    - localtime_r
    linkageType: ''
    returnType: void
    signature: void csvConvertTime2String(time_t time_value, char* ts_format, char*
      time_buf, size_t buf_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - stb
    argTypes:
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: csvGetFileNamingType
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CsvNamingType
    signature: CsvNamingType csvGetFileNamingType(SSuperTable* stb)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - precision
    - secs
    argTypes:
    - int
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: csvCalcTimestampFromSeconds
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t csvCalcTimestampFromSeconds(int precision, time_t secs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: csvCalcTimestampFromSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: csvCalcTimestampStep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvCalcTimestampFromSeconds
    linkageType: ''
    returnType: void
    signature: void csvCalcTimestampStep(CsvWriteMeta* write_meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: csvCalcTimestampFromSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:267,1
    - Dst: csvCalcTimestampFromSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - write_meta
    - thread_meta
    argTypes:
    - CsvWriteMeta*
    - CsvThreadMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: csvCalcSliceTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvCalcTimestampFromSeconds
    linkageType: ''
    returnType: void
    signature: void csvCalcSliceTimestamp(CsvWriteMeta* write_meta, CsvThreadMeta*
      thread_meta)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - thread_meta
    - total_threads
    - ctb_offset
    - ctb_count
    argTypes:
    - CsvThreadMeta*
    - size_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 296
    functionName: csvCalcCtbRange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void csvCalcCtbRange(CsvThreadMeta* thread_meta, size_t total_threads,
      int64_t ctb_offset, int64_t ctb_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:311,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 316
    functionName: csvGenThreadFormatter
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void csvGenThreadFormatter(CsvWriteMeta* write_meta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:330,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:334,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:335,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:339,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:343,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:344,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 352
    functionName: csvGenCsvHeader
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - snprintf
    - benchArrayGet
    linkageType: ''
    returnType: int
    signature: int csvGenCsvHeader(CsvWriteMeta* write_meta)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:358,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:366,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:368,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:370,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:378,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:381,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:384,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - db
    - buf
    - size
    argTypes:
    - SDataBase*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 389
    functionName: csvGenCreateDbSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - snprintf
    - benchArrayGet
    linkageType: ''
    returnType: int
    signature: int csvGenCreateDbSql(SDataBase* db, char* buf, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csvGenCreateDbSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:397,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:399,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:403,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:405,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:407,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - write_meta
    - fp
    argTypes:
    - CsvWriteMeta*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 414
    functionName: csvExportCreateDbSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - ferror
    - fwrite
    - csvGenCreateDbSql
    - perror
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int csvExportCreateDbSql(CsvWriteMeta* write_meta, FILE* fp)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:420,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:423,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:426,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:432,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:438,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:442,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:442,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:444,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:444,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:450,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:455,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:456,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:459,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:460,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:463,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:469,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:475,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:478,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:488,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:492,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:492,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:495,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:495,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:500,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:506,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:512,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:518,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:524,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:530,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:536,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:542,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:545,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:548,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:554,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:558,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:561,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 119
    argCount: 4
    argNames:
    - db
    - stb
    - buf
    - size
    argTypes:
    - SDataBase*
    - SSuperTable*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 563
    functionName: csvGenCreateStbSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - debugPrint
    - snprintf
    - convertDatatypeToString
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int csvGenCreateStbSql(SDataBase* db, SSuperTable* stb, char* buf,
      int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csvGenCreateStbSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:571,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:573,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:577,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:579,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:581,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - write_meta
    - fp
    argTypes:
    - CsvWriteMeta*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 588
    functionName: csvExportCreateStbSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - ferror
    - fwrite
    - csvGenCreateStbSql
    - perror
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int csvExportCreateStbSql(CsvWriteMeta* write_meta, FILE* fp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:598,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:603,1
    - Dst: csvExportCreateDbSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:610,1
    - Dst: csvExportCreateStbSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:616,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:621,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 591
    functionDepth: 3
    functionLinenumber: 591
    functionLinenumberEnd: 629
    functionName: csvExportCreateSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvExportCreateDbSql
    - snprintf
    - csvExportCreateStbSql
    - fclose
    - fopen
    - succPrint
    linkageType: ''
    returnType: int
    signature: int csvExportCreateSql(CsvWriteMeta* write_meta)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: csvGetFileNamingType
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:633,1
    - Dst: csvGenCsvHeader
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:643,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:645,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:652,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:656,1
    - Dst: csvCalcTimestampStep
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:657,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:661,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:662,1
    - Dst: csvGenThreadFormatter
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:663,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:667,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:668,1
    - Dst: csvGenThreadFormatter
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:669,1
    - Dst: csvCalcTimestampStep
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:670,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 3
    argNames:
    - db
    - stb
    - write_meta
    argTypes:
    - SDataBase*
    - SSuperTable*
    - CsvWriteMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 680
    functionName: csvInitWriteMeta
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvGetFileNamingType
    - csvCalcTimestampStep
    - csvGenCsvHeader
    - snprintf
    - MIN
    - csvGenThreadFormatter
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int csvInitWriteMeta(SDataBase* db, SSuperTable* stb, CsvWriteMeta*
      write_meta)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: csvCalcCtbRange
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:700,1
    - Dst: csvGetStartSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:709,1
    - Dst: csvCalcSliceTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - write_meta
    - thread_id
    - thread_meta
    argTypes:
    - CsvWriteMeta*
    - size_t
    - CsvThreadMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 720
    functionName: csvInitThreadMeta
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvCalcSliceTimestamp
    - csvCalcCtbRange
    - csvGetStartSeconds
    linkageType: ''
    returnType: void
    signature: void csvInitThreadMeta(CsvWriteMeta* write_meta, size_t thread_id,
      CsvThreadMeta* thread_meta)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: csvGetStartSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:734,1
    - Dst: csvCalcSliceTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - write_meta
    - thread_meta
    - last_end_ts
    argTypes:
    - CsvWriteMeta*
    - CsvThreadMeta*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 745
    functionName: csvUpdateSliceRange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvCalcSliceTimestamp
    - csvGetStartSeconds
    linkageType: ''
    returnType: void
    signature: void csvUpdateSliceRange(CsvWriteMeta* write_meta, CsvThreadMeta* thread_meta,
      int64_t last_end_ts)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - csv_compress_level
    argTypes:
    - CsvCompressionLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 754
    functionName: csvGetGzipFilePrefix
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * csvGetGzipFilePrefix(CsvCompressionLevel csv_compress_level)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: csvGetGzipFilePrefix
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:764,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:768,1
    - Dst: csvConvertTime2String
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:772,1
    - Dst: csvConvertTime2String
      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: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:779,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:783,1
    - Dst: csvConvertTime2String
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:784,1
    - Dst: csvConvertTime2String
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:785,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:786,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - write_meta
    - thread_meta
    - fullname
    - size
    argTypes:
    - CsvWriteMeta*
    - CsvThreadMeta*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 796
    functionName: csvGetFileFullname
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvGetGzipFilePrefix
    - snprintf
    - csvConvertTime2String
    linkageType: ''
    returnType: int
    signature: int csvGetFileFullname(CsvWriteMeta* write_meta, CsvThreadMeta* thread_meta,
      char* fullname, size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - write_meta
    - slice_cur_ts
    - slice_end_ts
    argTypes:
    - CsvWriteMeta*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 819
    functionName: csvCalcSliceBatchTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - MIN
    linkageType: ''
    returnType: int64_t
    signature: int64_t csvCalcSliceBatchTimestamp(CsvWriteMeta* write_meta, int64_t
      slice_cur_ts, int64_t slice_end_ts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:842,1
    - Dst: dataGenByField
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:850,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 5
    argNames:
    - buf
    - size
    - stb
    - fields_cate
    - k
    argTypes:
    - char*
    - int
    - SSuperTable*
    - int
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 822
    functionDepth: 3
    functionLinenumber: 822
    functionLinenumberEnd: 854
    functionName: csvGenRowFields
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - dataGenByField
    linkageType: ''
    returnType: int
    signature: int csvGenRowFields(char* buf, int size, SSuperTable* stb, int fields_cate,
      int64_t* k)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:863,1
    - Dst: csvGenRowFields
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:866,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - buf
    - size
    - stb
    - index
    - k
    argTypes:
    - char*
    - int
    - SSuperTable*
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 857
    functionDepth: 4
    functionLinenumber: 857
    functionLinenumberEnd: 869
    functionName: csvGenRowTagData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvGenRowFields
    - snprintf
    linkageType: ''
    returnType: int
    signature: int csvGenRowTagData(char* buf, int size, SSuperTable* stb, int64_t
      index, int64_t* k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toolsFormatTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:874,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:875,1
    - Dst: csvGenRowFields
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - buf
    - size
    - stb
    - ts
    - precision
    - k
    argTypes:
    - char*
    - int
    - SSuperTable*
    - int64_t
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 872
    functionDepth: 4
    functionLinenumber: 872
    functionLinenumberEnd: 880
    functionName: csvGenRowColData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvGenRowFields
    - toolsFormatTimestamp
    - snprintf
    linkageType: ''
    returnType: int
    signature: int csvGenRowColData(char* buf, int size, SSuperTable* stb, int64_t
      ts, int32_t precision, int64_t *k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:891,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:896,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - thread_meta
    - tags_buf_array
    argTypes:
    - CsvThreadMeta*
    - CsvRowTagsBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 898
    functionName: csvFreeCtbTagData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - tmfree
    linkageType: ''
    returnType: void
    signature: void csvFreeCtbTagData(CsvThreadMeta* thread_meta, CsvRowTagsBuf* tags_buf_array)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:910,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:918,1
    - Dst: csvGenRowTagData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:925,1
    - Dst: csvFreeCtbTagData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:937,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - write_meta
    - thread_meta
    argTypes:
    - CsvWriteMeta*
    - CsvThreadMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 901
    functionDepth: 5
    functionLinenumber: 901
    functionLinenumberEnd: 939
    functionName: csvGenCtbTagData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvGenRowTagData
    - csvFreeCtbTagData
    - benchCalloc
    linkageType: ''
    returnType: CsvRowTagsBuf
    signature: CsvRowTagsBuf * csvGenCtbTagData(CsvWriteMeta* write_meta, CsvThreadMeta*
      thread_meta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:946,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:948,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:954,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:958,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:959,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:964,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - filename
    - compress_level
    argTypes:
    - char*
    - CsvCompressionLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 974
    functionName: csvOpen
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - gzopen
    - benchCalloc
    - tmfree
    - snprintf
    - fopen
    - errorPrint
    linkageType: ''
    returnType: CsvFileHandle
    signature: CsvFileHandle * csvOpen(const char* filename, CsvCompressionLevel compress_level)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:979,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:981,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:983,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:984,1
    - Dst: gzwrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:990,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:992,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:995,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:996,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - fhdl
    - buf
    - size
    argTypes:
    - CsvFileHandle*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1003
    functionName: csvWrite
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - ferror
    - fwrite
    - gzerror
    - perror
    - gzwrite
    - errorPrint
    linkageType: ''
    returnType: CsvIoError
    signature: CsvIoError csvWrite(CsvFileHandle* fhdl, const char* buf, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1013,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1018,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1023,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - fhdl
    argTypes:
    - CsvFileHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1024
    functionName: csvClose
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - tmfree
    - fclose
    - gzclose
    linkageType: ''
    returnType: void
    signature: void csvClose(CsvFileHandle* fhdl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: csvGenRowColData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1036,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1038,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1047,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1049,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1058,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1060,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1066,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1068,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1074,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1076,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 6
    argNames:
    - fhdl
    - ctb_idx
    - cur_ts
    - ck
    - write_meta
    - thread_meta
    argTypes:
    - CsvFileHandle*
    - uint64_t
    - int64_t
    - int64_t*
    - CsvWriteMeta*
    - CsvThreadMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1027
    functionDepth: 5
    functionLinenumber: 1027
    functionLinenumberEnd: 1082
    functionName: csvWriteFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvGenRowColData
    - errorPrint
    - csvWrite
    linkageType: ''
    returnType: int
    signature: int csvWriteFile(CsvFileHandle* fhdl, uint64_t ctb_idx, int64_t cur_ts,
      int64_t* ck, CsvWriteMeta* write_meta, CsvThreadMeta* thread_meta)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: csvGenCtbTagData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1113,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1115,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1122,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1124,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1137,1
    - Dst: csvGetFileFullname
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1142,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1144,1
    - Dst: csvOpen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1150,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1152,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1153,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1160,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1162,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1164,1
    - Dst: csvCalcSliceBatchTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1168,1
    - Dst: csvWriteFile
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1172,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1174,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1175,1
    - Dst: csvClose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1176,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1184,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1187,1
    - Dst: csvClose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1196,1
    - Dst: csvClose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1205,1
    - Dst: csvUpdateSliceRange
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1207,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1210,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1213,1
    - Dst: csvFreeCtbTagData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1218,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1219,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1085
    functionDepth: 6
    functionLinenumber: 1085
    functionLinenumberEnd: 1221
    functionName: csvGenStbThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvGenCtbTagData
    - csvFreeCtbTagData
    - csvOpen
    - benchCalloc
    - csvGetFileFullname
    - tmfree
    - strerror
    - csvWriteFile
    - succPrint
    - csvClose
    - csvUpdateSliceRange
    - infoPrint
    - MIN
    - toolsGetTimestampMs
    - errorPrint
    - csvCalcSliceBatchTimestamp
    linkageType: ''
    returnType: void
    signature: void * csvGenStbThread(void* arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1236,1
    - Dst: csvInitWriteMeta
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1242,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1248,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1250,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1256,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1262,1
    - Dst: csvInitThreadMeta
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1266,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1268,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1270,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1278,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1282,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1283,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1294,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1296,1
    - Dst: csvExportCreateSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1301,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1304,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1305,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1306,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - db
    - stb
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1224
    functionDepth: 4
    functionLinenumber: 1224
    functionLinenumberEnd: 1308
    functionName: csvGenStbProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvExportCreateSql
    - csvInitWriteMeta
    - benchCalloc
    - tmfree
    - csvInitThreadMeta
    - perror
    - pthread_create
    - toolsGetTimestampMs
    - infoPrint
    - succPrint
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int csvGenStbProcess(SDataBase* db, SSuperTable* stb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1312,1
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - stb
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1311
    functionDepth: 2
    functionLinenumber: 1311
    functionLinenumberEnd: 1320
    functionName: csvGenPrepare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - accumulateRowLen
    linkageType: ''
    returnType: void
    signature: void csvGenPrepare(SDataBase* db, SSuperTable* stb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: csvGenPrepare
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1325,1
    - Dst: csvGenStbProcess
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - stb
    argTypes:
    - SDataBase*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1323
    functionDepth: 5
    functionLinenumber: 1323
    functionLinenumberEnd: 1328
    functionName: csvGenStb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvGenStbProcess
    - csvGenPrepare
    linkageType: ''
    returnType: int
    signature: int csvGenStb(SDataBase* db, SSuperTable* stb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1334,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1338,1
    - Dst: csvParseStbParameter
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1344,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1346,1
    - Dst: csvGenStb
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1352,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1354,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1331
    functionDepth: 6
    functionLinenumber: 1331
    functionLinenumberEnd: 1363
    functionName: csvWriteThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvGenStb
    - csvParseStbParameter
    - benchArrayGet
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int csvWriteThread()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: csvParseParameter
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1368,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1372,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1373,1
    - Dst: csvWriteThread
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1374,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1378,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1366
    functionDepth: 7
    functionLinenumber: 1366
    functionLinenumberEnd: 1382
    functionName: csvTestProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: 0
    functionsReached:
    - csvWriteThread
    - csvParseParameter
    - infoPrint
    - toolsGetTimestampMs
    linkageType: ''
    returnType: int
    signature: int csvTestProcess()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:36,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:38,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:41,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:43,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:45,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:48,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:50,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:52,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: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:56,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:57,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: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:62,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: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: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: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:71,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: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:76,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:78,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:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 81
    functionName: benchPrintHelp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void benchPrintHelp()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:85,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:85,1
    - Dst: printVersion
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:86,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:87,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:90,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:90,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:91,1
    - Dst: benchPrintHelp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:92,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:93,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:97,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:99,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:103,1
    - Dst: benchParseSingleOpt
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:113,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:117,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:122,1
    - Dst: benchParseSingleOpt
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:126,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:127,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 134
    functionName: benchParseArgsNoArgp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: 0
    functionsReached:
    - exit
    - printVersion
    - benchParseSingleOpt
    - strlen
    - benchPrintHelp
    - errorPrint
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t benchParseArgsNoArgp(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchParseSingleOpt
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: benchParseOpt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: 0
    functionsReached:
    - benchParseSingleOpt
    linkageType: ''
    returnType: error_t
    signature: error_t benchParseOpt(int key, char *arg, struct argp_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: benchParseArgsByArgp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: 0
    functionsReached:
    - argp_parse
    linkageType: ''
    returnType: void
    signature: void benchParseArgsByArgp(int argc, char *argv[])
  - BBCount: 96
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:201,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:202,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:205,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:206,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:209,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:211,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:228,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:229,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:231,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:233,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:242,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:244,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:246,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:250,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:251,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:257,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:263,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:264,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:267,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:270,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:273,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:277,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:294,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:305,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:306,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:309,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:311,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:322,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:323,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:326,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:328,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:336,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:337,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:340,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:342,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:351,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:352,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:355,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:357,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:365,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:366,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:369,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:371,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:379,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:380,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:383,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:386,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:394,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:395,1
    - Dst: strtoll
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:398,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:406,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:407,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:410,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:412,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:421,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:422,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:425,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:427,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:439,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:440,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:444,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:446,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:454,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:455,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:459,1
    - Dst: parseFieldDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:464,1
    - Dst: parseFieldDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:469,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:473,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:474,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:477,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:478,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:482,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:483,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:486,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:487,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:491,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:492,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:495,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:497,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:504,1
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:529,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:545,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:546,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:549,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:551,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:561,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:562,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:565,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:566,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:568,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:577,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:578,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:581,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:583,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:589,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:593,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:609,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:610,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:612,1
    - Dst: printVersion
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:619,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:620,1
    - Dst: getConnMode
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:622,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 333
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 628
    functionName: benchParseSingleOpt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: 2
    functionsReached:
    - benchArrayClear
    - parseFieldDatatype
    - benchArrayGet
    - TOOLS_STRNCPY
    - printVersion
    - toolsIsStringNumber
    - benchCalloc
    - exit
    - errorPrintReqArg2
    - debugPrint
    - strcasecmp
    - atoi
    - strtoll
    - benchArrayPush
    - getConnMode
    - atol
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: int32_t benchParseSingleOpt(int32_t key, char* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchParseArgsByArgp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:632,1
    - Dst: benchParseArgsNoArgp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 637
    functionName: benchParseArgs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: 0
    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:36,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:38,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: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:49,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: printfTmqConfigIntoFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: 0
    functionsReached:
    - infoPrintToFile
    linkageType: ''
    returnType: void
    signature: void printfTmqConfigIntoFile()
  - 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:62,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:67,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:68,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:70,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: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:81,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:85,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 92
    functionName: create_topic
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: 1
    functionsReached:
    - taos_query
    - taos_free_result
    - snprintf
    - memset
    - taos_errstr
    - taos_errno
    - infoPrint
    - initBenchConn
    - errorPrint
    - closeBenchConn
    linkageType: ''
    returnType: int
    signature: int create_topic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmq_list_new
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:95,1
    - Dst: tmq_list_append
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:98,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    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: 0
    functionsReached:
    - tmq_list_append
    - infoPrint
    - tmq_list_new
    linkageType: ''
    returnType: tmq_list_t
    signature: tmq_list_t * buildTopicList()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:105,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: 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: 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_field_count
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:130,1
    - Dst: tmq_get_table_name
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:131,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: free
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - msg
    - pInfo
    - msgIndex
    argTypes:
    - TAOS_RES*
    - tmqThreadInfo*
    - int32_t
    assertStmts: []
    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: 0
    functionsReached:
    - fprintf
    - tmq_get_db_name
    - taos_print_row
    - taos_field_count
    - calloc
    - tmq_get_table_name
    - taos_fetch_fields
    - free
    - tmq_get_topic_name
    - taos_fetch_row
    - errorPrint
    - tmq_get_vgroup_id
    linkageType: ''
    returnType: int32_t
    signature: int32_t data_msg_process(TAOS_RES* msg, tmqThreadInfo* pInfo, int32_t
      msgIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildTopicList
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:151,1
    - Dst: tmq_conf_new
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:153,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:155,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:157,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:161,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:167,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:169,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:170,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:172,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:173,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:174,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:176,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:177,1
    - Dst: tmq_consumer_new
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:179,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:180,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:182,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:184,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:187,1
    - Dst: tmq_subscribe
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:189,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:191,1
    - Dst: tmq_err2str
      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: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:196,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 2
    argNames:
    - pThreadInfo
    - groupId
    argTypes:
    - tmqThreadInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 200
    functionName: buildConsumerAndSubscribe
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: 0
    functionsReached:
    - tmq_subscribe
    - tmq_conf_new
    - tmq_err2str
    - tmq_conf_destroy
    - tmq_conf_set
    - buildTopicList
    - snprintf
    - memset
    - tmq_list_destroy
    - infoPrint
    - errorPrint
    - tmq_consumer_new
    linkageType: ''
    returnType: int
    signature: int buildConsumerAndSubscribe(tmqThreadInfo * pThreadInfo, char* groupId)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:208,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:212,1
    - 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: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:217,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:218,1
    - Dst: buildConsumerAndSubscribe
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:223,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:225,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:234,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:236,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:238,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:243,1
    - Dst: tmq_consumer_poll
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:247,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: 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:254,1
    - Dst: tmq_commit_sync
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:259,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:262,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:268,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:276,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: tmq_consumer_close
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:298,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
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:305,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:306,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 310
    functionName: tmqConsume
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: 0
    functionsReached:
    - buildConsumerAndSubscribe
    - rand_string
    - tmq_err2str
    - tmq_consumer_close
    - strncasecmp
    - tmq_commit_sync
    - tmq_consumer_poll
    - infoPrintToFile
    - errorPrint
    - tmq_get_res_type
    - strncmp
    - data_msg_process
    - memset
    - taos_free_result
    - strlen
    - toolsGetTimestampMs
    - infoPrint
    linkageType: ''
    returnType: void
    signature: void * tmqConsume(void* arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: printfTmqConfigIntoFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:313,1
    - Dst: create_topic
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:317,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:325,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:326,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:328,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:329,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:330,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:335,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:346,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:347,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:348,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:349,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:351,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:358,1
    - Dst: buildConsumerAndSubscribe
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:359,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:361,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:366,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:370,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:380,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:388,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:390,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:395,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:397,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:398,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:399,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:401,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:403,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:404,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:406,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:409,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:411,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:416,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:417,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 419
    functionName: subscribeTestProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: 0
    functionsReached:
    - buildConsumerAndSubscribe
    - rand_string
    - tools_cJSON_PrintUnformatted
    - snprintf
    - memset
    - tools_cJSON_CreateObject
    - fopen
    - infoPrint
    - strncasecmp
    - infoPrintToFile
    - free
    - errorPrint
    - tools_cJSON_AddNumberToObject
    - printfTmqConfigIntoFile
    - pthread_create
    - create_topic
    - tools_cJSON_Delete
    - fprintf
    - benchCalloc
    - fclose
    - strlen
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int subscribeTestProcess()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:33,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:37,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:41,1
    - Dst: strtok
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:44,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:46,1
    - Dst: strtok
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:52,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:58,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:66,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:67,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: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:71,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:72,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 7
    argNames:
    - value
    - funType
    - min
    - max
    - step
    - period
    - offset
    argTypes:
    - char*
    - uint8_t
    - int64_t*
    - int64_t*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 77
    functionName: parseFunArgs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - strdup
    - atoi
    - strstr
    - free
    - strtok
    - strlen
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:86,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:104,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:109,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:117,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:130,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:133,1
    - Dst: parseFunArgs
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:134,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:143,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:145,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:148,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:150,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:158,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:160,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:167,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:169,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:171,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:173,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 178
    functionName: parseFuns
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - atof
    - atoi
    - strstr
    - strlen
    - parseFunArgs
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t parseFuns(char* expr, float* multiple, float* addend, float*
      base, int32_t* random,\r\n            int64_t* min ,int64_t* max, int32_t* step
      ,int32_t* period ,int32_t* offset)"
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:186,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:187,1
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:190,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:192,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:225,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:226,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:227,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:230,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:231,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:237,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:238,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:243,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:244,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:247,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:248,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:249,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:252,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:259,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:262,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:263,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:268,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:273,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:274,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:279,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:291,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:292,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:295,1
    - Dst: pow
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:307,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:316,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:317,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:320,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:321,1
    - Dst: stringToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:329,1
    - Dst: doubleToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:331,1
    - Dst: getDecimal128DefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:333,1
    - Dst: getDecimalOps
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:335,1
    - Dst: SDecimalOps*::subtract
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:336,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:336,1
    - Dst: stringToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:339,1
    - Dst: doubleToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:341,1
    - Dst: getDecimal128DefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:343,1
    - Dst: decimal128BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:346,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:347,1
    - Dst: stringToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:359,1
    - Dst: doubleToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:361,1
    - Dst: getDecimal64DefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:363,1
    - Dst: getDecimalOps
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:366,1
    - Dst: SDecimalOps*::subtract
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:367,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:367,1
    - Dst: stringToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:370,1
    - Dst: doubleToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:372,1
    - Dst: getDecimal64DefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:374,1
    - Dst: decimal64BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:377,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:378,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:386,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:387,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:388,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:393,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:394,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:395,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:401,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:402,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:406,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:407,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:411,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:412,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:417,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:418,1
    - Dst: parseFuns
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:419,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:422,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:425,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:426,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:427,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:432,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:433,1
    - Dst: convertTypeToLength
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:442,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:447,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:448,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:449,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:480,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:483,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:487,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:492,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:493,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:495,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:500,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:501,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:503,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:508,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:509,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:511,1
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:521,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:522,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:523,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:527,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:545,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:546,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:547,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:550,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:551,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:557,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:558,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:562,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:563,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:578,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:583,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:589,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:590,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:591,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:593,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:596,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:603,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:604,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:608,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:612,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:613,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:617,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:629,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:630,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:633,1
    - Dst: pow
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:645,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:702,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:704,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:705,1
    - Dst: convertTypeToLength
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:712,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:716,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:717,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:718,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:724,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:725,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:726,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:745,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:748,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:752,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 367
    argCount: 2
    argNames:
    - superTblObj
    - stbInfo
    argTypes:
    - tools_cJSON*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 760
    functionName: getColumnAndTagTypeFromInsertJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - strCompareN
    - benchArrayGet
    - getDecimal64DefaultMin
    - strcasecmp
    - decimal128BCompare
    - convertStringToDatatype
    - snprintf
    - doubleToDecimal128
    - benchArrayClear
    - convertTypeToLength
    - tools_cJSON_GetArrayItem
    - tools_cJSON_IsObject
    - strcpy
    - benchArrayPush
    - getDecimalOps
    - tools_cJSON_GetArraySize
    - tools_cJSON_IsNumber
    - tools_cJSON_GetObjectItem
    - getDecimal128DefaultMin
    - errorPrint
    - getDecimal64DefaultMax
    - parseFuns
    - stringToDecimal64
    - tools_cJSON_IsArray
    - DECIMAL_WORD_NUM
    - decimal64BCompare
    - getDecimal128DefaultMax
    - stringToDecimal128
    - doubleToDecimal64
    - SDecimalOps*::subtract
    - benchCalloc
    - convertDatatypeToDefaultMax
    - tools_cJSON_IsString
    - convertDatatypeToDefaultMin
    - pow
    - strlen
    linkageType: ''
    returnType: int
    signature: "int getColumnAndTagTypeFromInsertJsonFile(\r\n    tools_cJSON * superTblObj,
      SSuperTable *stbInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:765,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:768,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:770,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:771,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:771,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:774,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:774,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:781,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - jsonObj
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 786
    functionName: getDurationVal
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - atoi
    - tools_cJSON_IsString
    - tools_cJSON_IsNumber
    - strchr
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDurationVal(tools_cJSON *jsonObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:789,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:793,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:794,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:795,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:813,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:815,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - cfg
    - value
    argTypes:
    - SDbCfg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 821
    functionName: setDBCfgString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlen
    - memcpy
    - trimCaseCmp
    linkageType: ''
    returnType: void
    signature: void setDBCfgString(SDbCfg* cfg , char * value)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:826,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:827,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:828,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:830,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:832,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:843,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:844,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:845,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:846,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:853,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:854,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:857,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:858,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:859,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:862,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:863,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:864,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:867,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:868,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:869,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:872,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:878,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:882,1
    - Dst: getDurationVal
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:883,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:886,1
    - Dst: setDBCfgString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:887,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:888,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:892,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:893,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:896,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:907,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 2
    argNames:
    - dbinfos
    - index
    argTypes:
    - tools_cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 912
    functionName: getDatabaseInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - tools_cJSON_GetArrayItem
    - tools_cJSON_IsObject
    - benchCalloc
    - setDBCfgString
    - benchArrayPush
    - strcasecmp
    - getDurationVal
    - errorPrint
    - tools_cJSON_IsString
    - tools_cJSON_IsNumber
    - free
    - tools_cJSON_GetObjectItem
    - trimCaseCmp
    - benchArrayInit
    linkageType: ''
    returnType: int
    signature: int getDatabaseInfo(tools_cJSON *dbinfos, int index)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:915,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:916,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:920,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:921,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:924,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:925,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:926,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:927,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:930,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:932,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:934,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:936,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:937,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:938,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:944,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:945,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:946,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:947,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:953,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:954,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:955,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:956,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:962,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:963,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:964,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:965,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:975,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:976,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:982,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 2
    argNames:
    - stb_obj
    - stbInfo
    argTypes:
    - tools_cJSON*
    - SSuperTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 986
    functionName: get_tsma_info
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_GetArrayItem
    - tools_cJSON_IsObject
    - benchCalloc
    - benchArrayPush
    - tools_cJSON_IsArray
    - errorPrint
    - tools_cJSON_GetArraySize
    - tools_cJSON_IsString
    - free
    - tools_cJSON_IsNumber
    - tools_cJSON_GetObjectItem
    - benchArrayInit
    linkageType: ''
    returnType: int
    signature: int get_tsma_info(tools_cJSON* stb_obj, SSuperTable* stbInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:989,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:990,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:991,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:992,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:993,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:995,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:997,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:999,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1000,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1001,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1002,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - str
    - arr
    argTypes:
    - char*
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1006
    functionName: parseStringToIntArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayClear
    - strdup
    - benchCalloc
    - tmfree
    - benchArrayPush
    - atoi
    - strstr
    - strsep
    linkageType: ''
    returnType: void
    signature: void parseStringToIntArray(char *str, BArray *arr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1011,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:1015,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1017,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1024
    functionName: getInterface
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getInterface(char *name)
  - BBCount: 111
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1027,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1028,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1029,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1030,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1031,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1034,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1037,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1038,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1039,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1040,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1041,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1043,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1072,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1075,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1076,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1081,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:1086,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1087,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1091,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1092,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1093,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1097,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1098,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1102,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1103,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1107,1
    - Dst: parseStringToIntArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1108,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1112,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1113,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1117,1
    - Dst: parseStringToIntArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1118,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1122,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1123,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1124,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1131,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1132,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1141,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1142,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1143,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1148,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1149,1
    - Dst: getInterface
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1150,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1157,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1161,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1163,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1167,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1170,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1173,1
    - Dst: getServerVersionRest
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1175,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1181,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1182,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1183,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:1188,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1190,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1196,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1197,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1198,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1202,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1203,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1207,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1215,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1220,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1221,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1227,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1233,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1234,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1238,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1244,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1245,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1248,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1257,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1262,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1269,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1270,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1271,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1273,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1275,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1278,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1289,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1290,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1291,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1295,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1297,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1299,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1303,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1309,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1310,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1311,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1313,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1317,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1321,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1323,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1325,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1331,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1335,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1340,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1341,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1346,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1347,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1352,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1353,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1358,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1359,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1364,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1365,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1366,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1370,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1374,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1375,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1376,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1381,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1382,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1383,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1388,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1389,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1394,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1395,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1396,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1399,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1403,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1404,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1406,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1407,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1409,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1413,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1414,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1415,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1420,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1421,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1426,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1427,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1433,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1434,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1442,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1443,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1448,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1449,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1456,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1457,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1463,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1464,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1470,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1471,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1479,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1480,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1486,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1487,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1495,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1496,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1503,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1504,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1505,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1510,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1511,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1516,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1517,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1522,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1523,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1528,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:1534,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1535,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:1541,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1545,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1546,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1550,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1551,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1556,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1557,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1562,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1563,1
    - Dst: get_tsma_info
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1567,1
    - Dst: getColumnAndTagTypeFromInsertJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1572,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1577,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1578,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1582,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1583,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1587,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1588,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1593,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1594,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1595,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1597,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1600,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1601,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1602,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1610,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1618,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1626,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1635,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1637,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1639,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1645,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1653,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1655,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1657,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1659,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1661,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 423
    argCount: 2
    argNames:
    - dbinfos
    - index
    argTypes:
    - tools_cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1026
    functionDepth: 3
    functionLinenumber: 1026
    functionLinenumberEnd: 1669
    functionName: getStableInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - strcasecmp
    - get_tsma_info
    - memset
    - infoPrint
    - getInterface
    - getColumnAndTagTypeFromInsertJsonFile
    - tools_cJSON_GetArrayItem
    - toolsParseTime
    - strncasecmp
    - benchArrayPush
    - tools_cJSON_GetArraySize
    - tools_cJSON_IsNumber
    - tools_cJSON_GetObjectItem
    - errorPrint
    - TOOLS_STRNCPY
    - strdup
    - tools_cJSON_IsArray
    - warnPrint
    - parseStringToIntArray
    - benchArrayInit
    - benchCalloc
    - tools_cJSON_IsString
    - encodeAuthBase64
    - toolsGetTimestamp
    - getServerVersionRest
    - strlen
    - isRest
    - convertServAddr
    linkageType: ''
    returnType: int
    signature: int getStableInfo(tools_cJSON *dbinfos, int index)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1674,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1678,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1679,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1681,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1686,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1687,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1687,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1690,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1695,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1699,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1704,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1708,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1713,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1720,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1724,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1729,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1734,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1739,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1742,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1749,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1750,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1751,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1753,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1755,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1758,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1765,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1771,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 71
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1672
    functionDepth: 1
    functionLinenumber: 1672
    functionLinenumberEnd: 1775
    functionName: getMetaFromCommonJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - debugPrint
    - strcasecmp
    - errorPrint
    - tools_cJSON_IsString
    - warnPrint
    - mkdir
    - tools_cJSON_GetObjectItem
    - strlen
    - infoPrint
    linkageType: ''
    returnType: int
    signature: int getMetaFromCommonJsonFile(tools_cJSON *json)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1781,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1782,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1783,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1789,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1790,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1791,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1796,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1802,1
    - Dst: check_write_permission
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1811,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1812,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1815,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1818,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1826,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1827,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:1833,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1839,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1845,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1846,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1851,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1855,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1860,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1867,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1873,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1876,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1882,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1885,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1891,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1896,1
    - Dst: getInterface
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1899,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1902,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1903,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1904,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1907,1
    - Dst: getDatabaseInfo
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1910,1
    - Dst: getStableInfo
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1913,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 95
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1777
    functionDepth: 4
    functionLinenumber: 1777
    functionLinenumberEnd: 1922
    functionName: getMetaFromInsertJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - getStableInfo
    - strncasecmp
    - strcasecmp
    - tools_cJSON_IsArray
    - getDatabaseInfo
    - tools_cJSON_IsString
    - tools_cJSON_IsNumber
    - tools_cJSON_GetArraySize
    - infoPrint
    - check_write_permission
    - tools_cJSON_GetObjectItem
    - errorPrint
    - getInterface
    linkageType: ''
    returnType: int
    signature: int getMetaFromInsertJsonFile(tools_cJSON *json)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1927,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1929,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1930,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1938,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1939,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1947,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1948,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1949,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1951,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1952,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1954,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1956,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1964,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1965,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1966,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1968,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1969,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1971,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1973,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1980,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1981,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1987,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1988,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1994,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1995,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1996,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2006,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2007,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2016,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2017,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2026,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2027,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2028,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2038,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2039,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2040,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2051,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2052,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2053,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2055,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2059,1
    - Dst: fgets
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2060,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2061,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2062,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2063,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2065,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2066,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2067,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2071,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2072,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2073,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2075,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2076,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2080,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2081,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2082,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2085,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2086,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2087,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2088,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2089,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2091,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2097,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2098,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2099,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2100,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2101,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2103,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2104,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2105,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2108,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2111,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 122
    argCount: 1
    argNames:
    - specifiedQuery
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 2121
    functionName: readSpecQueryJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - strcasecmp
    - memset
    - fopen
    - infoPrint
    - tools_cJSON_IsObject
    - tools_cJSON_GetArrayItem
    - benchArrayPush
    - debugPrint
    - tools_cJSON_GetArraySize
    - tools_cJSON_IsNumber
    - free
    - tools_cJSON_GetObjectItem
    - errorPrint
    - strcmp
    - TOOLS_STRNCPY
    - tools_cJSON_IsArray
    - fgets
    - benchCalloc
    - tools_cJSON_IsString
    - fclose
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t readSpecQueryJson(tools_cJSON * specifiedQuery)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2130,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2138,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2146,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2152,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2158,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2161,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2167,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2170,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2180,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2190,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2193,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2203,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2206,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2218,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2230,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2241,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2245,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2247,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2255,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2258,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2260,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2264,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2267,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2270,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 91
    argCount: 1
    argNames:
    - superQuery
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2124
    functionDepth: 1
    functionLinenumber: 2124
    functionLinenumberEnd: 2279
    functionName: readSuperQueryJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - tools_cJSON_GetArrayItem
    - tools_cJSON_GetArraySize
    - memset
    - tools_cJSON_GetObjectItem
    - errorPrint
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t readSuperQueryJson(tools_cJSON * superQuery)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2287,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2288,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2292,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2293,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2300,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2301,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2308,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2309,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2316,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2317,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2318,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2326,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2327,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2333,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2334,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2338,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2339,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2340,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2342,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2345,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2351,1
    - Dst: check_write_permission
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2355,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2356,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2362,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2365,1
    - Dst: readSpecQueryJson
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2367,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2369,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2375,1
    - Dst: readSuperQueryJson
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2377,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2379,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2387,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2393,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2282
    functionDepth: 2
    functionLinenumber: 2282
    functionLinenumberEnd: 2399
    functionName: getMetaFromQueryJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayInit
    - strcasecmp
    - tools_cJSON_IsString
    - tools_cJSON_IsNumber
    - readSpecQueryJson
    - readSuperQueryJson
    - check_write_permission
    - tools_cJSON_GetObjectItem
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int getMetaFromQueryJsonFile(tools_cJSON *json)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2403,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2409,1
    - Dst: check_write_permission
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2413,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2414,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2420,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2422,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2423,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2429,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2432,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:2438,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2439,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2444,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:2450,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2451,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2455,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2457,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2462,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2463,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2467,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2468,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2472,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2474,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2478,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2480,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2484,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2486,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2491,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2493,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2497,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2499,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2503,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2504,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2509,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2510,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2514,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2515,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2516,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2518,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2519,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2520,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2522,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2524,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2529,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2533,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2535,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2537,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2542,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 86
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2552
    functionName: getMetaFromTmqJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_GetArrayItem
    - tools_cJSON_IsObject
    - TOOLS_STRNCPY
    - strcasecmp
    - tools_cJSON_IsArray
    - tools_cJSON_IsString
    - tools_cJSON_IsNumber
    - tools_cJSON_GetArraySize
    - check_write_permission
    - tools_cJSON_GetObjectItem
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int getMetaFromTmqJsonFile(tools_cJSON *json)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2556,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2558,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2559,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2564,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2565,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2567,1
    - Dst: tools_cJSON_Parse
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2572,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2574,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2579,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2580,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2581,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2583,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2584,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2585,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2587,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2589,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2591,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2594,1
    - Dst: getMetaFromCommonJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2603,1
    - Dst: getMetaFromInsertJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2606,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2609,1
    - Dst: getMetaFromQueryJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2610,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2613,1
    - Dst: getMetaFromTmqJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2614,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2618,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2619,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2554
    functionDepth: 5
    functionLinenumber: 2554
    functionLinenumberEnd: 2621
    functionName: readJsonConfig
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: 0
    functionsReached:
    - getMetaFromTmqJsonFile
    - strerror
    - strcasecmp
    - getMetaFromInsertJsonFile
    - memset
    - fopen
    - infoPrint
    - tools_cJSON_Parse
    - free
    - tools_cJSON_GetObjectItem
    - tools_cJSON_Print
    - errorPrint
    - fread
    - getMetaFromCommonJsonFile
    - tmfree
    - getMetaFromQueryJsonFile
    - benchCalloc
    - tools_cJSON_IsString
    - fclose
    linkageType: ''
    returnType: int
    signature: int readJsonConfig(char * file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:36,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:38,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:39,1
    - Dst: sem_post
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:42,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:44,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - signum
    - sigingo
    - context
    argTypes:
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: benchQueryInterruptHandler
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: 0
    functionsReached:
    - sem_post
    - exit
    - strlen
    - infoPrint
    - write
    linkageType: ''
    returnType: void
    signature: void benchQueryInterruptHandler(int32_t signum, void* sigingo, void*
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsem_wait
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:51,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:52,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:56,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: benchCancelHandler
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: 0
    functionsReached:
    - exit
    - toolsMsleep
    - bsem_wait
    linkageType: ''
    returnType: void
    signature: void * benchCancelHandler(void* arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:65,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:70,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:71,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:74,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:77,1
    - Dst: getServerVersionRest
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:79,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:88,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:94,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: checkArgumentValid
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - encodeAuthBase64
    - getServerVersionRest
    - isRest
    - infoPrint
    - convertServAddr
    linkageType: ''
    returnType: int
    signature: int checkArgumentValid()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:107,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:108,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:109,1
    - Dst: taos_options
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:111,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:112,1
    - Dst: taos_options
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:114,1
    - Dst: engineError
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cfgDir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: applyConfigDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: 0
    functionsReached:
    - wordexp
    - exit
    - wordfree
    - errorPrint
    - taos_options
    - engineError
    linkageType: ''
    returnType: int32_t
    signature: int32_t applyConfigDir(char * cfgDir)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: initLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:128,1
    - Dst: initArgument
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:129,1
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:130,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:130,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:133,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:133,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:134,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:135,1
    - Dst: benchParseArgs
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:140,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:141,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:147,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:148,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:154,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:155,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:157,1
    - Dst: readJsonConfig
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:164,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:165,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:166,1
    - Dst: modifyArgument
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:170,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:175,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:178,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:180,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:186,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:186,1
    - Dst: checkArgumentValid
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:187,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:188,1
    - Dst: setConnMode
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:193,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:194,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:199,1
    - Dst: applyConfigDir
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:201,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:202,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:205,1
    - Dst: sem_init
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:210,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:211,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:212,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:215,1
    - Dst: benchSetSignal
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:216,1
    - Dst: insertTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:221,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:222,1
    - Dst: csvTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:226,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:227,1
    - Dst: queryTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:231,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:232,1
    - Dst: subscribeTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:236,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:237,1
    - Dst: queryAggrFunc
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:243,1
    - Dst: postFreeResource
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:247,1
    - Dst: pthread_cancel
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:250,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:251,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:254,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 95
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 124
    functionDepth: 9
    functionLinenumber: 124
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: 0
    functionsReached:
    - csvTestProcess
    - subscribeTestProcess
    - snprintf
    - exitLog
    - fopen
    - applyConfigDir
    - pthread_cancel
    - readJsonConfig
    - insertTestProcess
    - infoPrint
    - time
    - benchSetSignal
    - exit
    - initArgument
    - setConnMode
    - debugPrint
    - atoi
    - benchParseArgs
    - modifyArgument
    - errorPrint
    - queryTestProcess
    - taos_get_client_info
    - queryAggrFunc
    - getenv
    - pthread_create
    - sem_init
    - checkArgumentValid
    - initLog
    - postFreeResource
    - srand
    - strlen
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:33,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - nmemb
    - size
    - record
    argTypes:
    - size_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: benchCalloc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 51
    functionsReached:
    - calloc
    - errorPrint
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE * benchCalloc(size_t nmemb, size_t size, bool record)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: tmfclose
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - fclose
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tmfclose(FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: tmfree
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 41
    functionsReached:
    - free
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tmfree(void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: isRest
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE isRest(int32_t iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - fun
    - code
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: engineError
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 2
    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:71,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:74,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:74,1
    - Dst: GetConsoleMode
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:77,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:78,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:78,1
    - Dst: SetConsoleMode
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:86,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:87,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: setupForAnsiEscape
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - exit
    - GetConsoleMode
    - SetConsoleMode
    - GetStdHandle
    - GetLastError
    linkageType: ''
    returnType: void
    signature: void setupForAnsiEscape(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:93,1
    - Dst: SetConsoleMode
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:96,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:97,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: resetAfterAnsiEscape
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - printf
    - SetConsoleMode
    - exit
    - GetLastError
    linkageType: ''
    returnType: void
    signature: void resetAfterAnsiEscape(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_s
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: taosRandom
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 17
    functionsReached:
    - rand_s
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int taosRandom()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: taosRandom
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 17
    functionsReached:
    - rand
    linkageType: ''
    returnType: FORCE_INLINE unsigned
    signature: FORCE_INLINE unsigned taosRandom()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - names
    - i
    - j
    argTypes:
    - char**
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: swapItem
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - debugPrint
    linkageType: ''
    returnType: void
    signature: void swapItem(char** names, int32_t i, int32_t j )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:122,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:125,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:126,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:129,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:133,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:134,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:135,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:139,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:141,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:143,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:146,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:150,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:159,1
    - Dst: swapItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - taos
    - dbName
    - stbName
    - childTblNameOfSuperTbl
    - childTblCountOfSuperTbl
    argTypes:
    - TAOS*
    - char*
    - char*
    - char**
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 163
    functionName: getAllChildNameOfSuperTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - printErrCmdCodeStr
    - taos_query
    - benchCalloc
    - debugPrint
    - RD
    - taos_fetch_lengths
    - strncpy
    - taos_free_result
    - snprintf
    - taos_errno
    - strlen
    - taos_fetch_row
    - errorPrint
    - swapItem
    linkageType: ''
    returnType: int
    signature: "int getAllChildNameOfSuperTable(TAOS *taos, char *dbName, char *stbName,\n
      \       char ** childTblNameOfSuperTbl,\n        int64_t childTblCountOfSuperTbl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:168,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:171,1
    - Dst: WSAStartup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:175,1
    - Dst: MAKEWORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:175,1
    - Dst: gethostbyname
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:180,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:182,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:185,1
    - Dst: htons
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:187,1
    - Dst: getaddrinfo
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:196,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:199,1
    - Dst: WSACleanup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:201,1
    - Dst: inet_addr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:203,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - host
    - port
    - serv_addr
    argTypes:
    - char*
    - uint16_t
    - struct sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 207
    functionName: convertHostToServAddr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - WSAStartup
    - memcpy
    - getaddrinfo
    - debugPrint
    - WSACleanup
    - freeaddrinfo
    - memset
    - inet_addr
    - MAKEWORD
    - htons
    - gethostbyname
    - errorPrint
    linkageType: ''
    returnType: int
    signature: "int convertHostToServAddr(char *host, uint16_t port,\n        struct
      sockaddr_in *serv_addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:214,1
    - Dst: getchar
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:222,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:224,1
    - Dst: getchar
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - nonStopMode
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 231
    functionName: prompt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 2
    functionsReached:
    - printf
    - getchar
    linkageType: ''
    returnType: void
    signature: void prompt(bool nonStopMode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:234,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:236,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:241,1
    - Dst: tmfclose
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - resultBuf
    - filePath
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: appendResultBufToFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - errorPrint
    - fopen
    - tmfclose
    - fprintf
    linkageType: ''
    returnType: void
    signature: void appendResultBufToFile(char *resultBuf, char * filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:248,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:250,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:255,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:259,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:260,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - inSql
    - outSql
    - tblIndex
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 263
    functionName: replaceChildTblName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - TOOLS_STRNCPY
    - strstr
    - snprintf
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: int32_t replaceChildTblName(char *inSql, char *outSql, int tblIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:267,1
    - Dst: toolsGetTimestampNs
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:269,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: toolsGetTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 3
    functionsReached:
    - toolsGetTimestampMs
    - toolsGetTimestampNs
    - toolsGetTimestampUs
    linkageType: ''
    returnType: int64_t
    signature: int64_t toolsGetTimestamp(int32_t precision)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:276,1
    - Dst: strToLowerCopy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:287,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:289,1
    - Dst: parseDsn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:295,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:297,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:298,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:299,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:310,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:314,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:315,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:316,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:316,1
    - Dst: defaultPort
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:327,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:330,1
    - Dst: taos_connect
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:334,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:336,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:339,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:339,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:340,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:342,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:346,1
    - Dst: taos_connect
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:350,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 1
    argNames:
    - dbName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 357
    functionName: initBenchConnImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - benchCalloc
    - parseDsn
    - tmfree
    - strToLowerCopy
    - atoi
    - taos_connect
    - snprintf
    - defaultPort
    - taos_errno
    - strlen
    - taos_errstr
    - errorPrint
    - succPrint
    linkageType: ''
    returnType: SBenchConn
    signature: SBenchConn * initBenchConnImpl(char *dbName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConnImpl
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:364,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:369,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - dbName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 376
    functionName: initBenchConn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 12
    functionsReached:
    - initBenchConnImpl
    - infoPrint
    - toolsMsleep
    linkageType: ''
    returnType: SBenchConn
    signature: SBenchConn * initBenchConn(char *dbName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:383,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:388,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SBenchConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 392
    functionName: closeBenchConn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 14
    functionsReached:
    - tmfree
    - taos_close
    linkageType: ''
    returnType: void
    signature: void closeBenchConn(SBenchConn* conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:402,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:406,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:407,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:408,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:412,1
    - Dst: appendResultBufToFile
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:416,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:418,1
    - Dst: taos_print_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:423,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:424,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:426,1
    - Dst: appendResultBufToFile
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:435,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - res
    - filePath
    argTypes:
    - TAOS_RES*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 439
    functionName: fetchResult
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taos_print_row
    - benchCalloc
    - taos_fetch_fields
    - appendResultBufToFile
    - memset
    - snprintf
    - free
    - strlen
    - taos_fetch_row
    - taos_field_count
    linkageType: ''
    returnType: int64_t
    signature: int64_t fetchResult(TAOS_RES *res, char * filePath)
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 486
    functionName: convertDatatypeToString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *convertDatatypeToString(int type)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 528
    functionName: convertTypeToLength
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int convertTypeToLength(uint8_t type)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 555
    functionName: convertDatatypeToDefaultMin
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertDatatypeToDefaultMin(uint8_t type)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 593
    functionName: convertDatatypeToDefaultMax
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertDatatypeToDefaultMax(uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:598,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:599,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - val
    - precision
    - scale
    - dec
    argTypes:
    - double
    - uint8_t
    - uint8_t
    - Decimal64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 600
    functionName: doubleToDecimal64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - snprintf
    - decimal64FromStr
    linkageType: ''
    returnType: void
    signature: void doubleToDecimal64(double val, uint8_t precision, uint8_t scale,
      Decimal64* dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:605,1
    - Dst: decimal128FromStr
      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: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - val
    - precision
    - scale
    - dec
    argTypes:
    - double
    - uint8_t
    - uint8_t
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 607
    functionName: doubleToDecimal128
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - snprintf
    - decimal128FromStr
    linkageType: ''
    returnType: void
    signature: void doubleToDecimal128(double val, uint8_t precision, uint8_t scale,
      Decimal128* dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromStr
      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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - str
    - precision
    - scale
    - dec
    argTypes:
    - char*
    - uint8_t
    - uint8_t
    - Decimal64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: stringToDecimal64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - decimal64FromStr
    linkageType: ''
    returnType: void
    signature: void stringToDecimal64(const char* str, uint8_t precision, uint8_t
      scale, Decimal64* dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:616,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - str
    - precision
    - scale
    - dec
    argTypes:
    - char*
    - uint8_t
    - uint8_t
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 617
    functionName: stringToDecimal128
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    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:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dec
    - precision
    - scale
    - buf
    - size
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 622
    functionName: decimal64ToString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 2
    functionsReached:
    - decimalToStr
    linkageType: ''
    returnType: int
    signature: int decimal64ToString(const Decimal64* dec, uint8_t precision, uint8_t
      scale, char* buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalToStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dec
    - precision
    - scale
    - buf
    - size
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 627
    functionName: decimal128ToString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 2
    functionsReached:
    - decimalToStr
    linkageType: ''
    returnType: int
    signature: int decimal128ToString(const Decimal128* dec, uint8_t precision, uint8_t
      scale, char* buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:633,1
    - Dst: stringToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - precision
    - scale
    - dec
    argTypes:
    - uint8_t
    - uint8_t
    - Decimal64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 641
    functionName: getDecimal64DefaultMax
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - stringToDecimal64
    - MIN
    linkageType: ''
    returnType: void
    signature: void getDecimal64DefaultMax(uint8_t precision, uint8_t scale, Decimal64*
      dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:647,1
    - Dst: stringToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - precision
    - scale
    - dec
    argTypes:
    - uint8_t
    - uint8_t
    - Decimal64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 656
    functionName: getDecimal64DefaultMin
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - stringToDecimal64
    - MIN
    linkageType: ''
    returnType: void
    signature: void getDecimal64DefaultMin(uint8_t precision, uint8_t scale, Decimal64*
      dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:662,1
    - Dst: stringToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - precision
    - scale
    - dec
    argTypes:
    - uint8_t
    - uint8_t
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 670
    functionName: getDecimal128DefaultMax
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - MIN
    - stringToDecimal128
    linkageType: ''
    returnType: void
    signature: void getDecimal128DefaultMax(uint8_t precision, uint8_t scale, Decimal128*
      dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:676,1
    - Dst: stringToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - precision
    - scale
    - dec
    argTypes:
    - uint8_t
    - uint8_t
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 685
    functionName: getDecimal128DefaultMin
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - MIN
    - stringToDecimal128
    linkageType: ''
    returnType: void
    signature: void getDecimal128DefaultMin(uint8_t precision, uint8_t scale, Decimal128*
      dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:689,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:689,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:689,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Decimal64*
    - Decimal64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 690
    functionName: decimal64BCompare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: int
    signature: int decimal64BCompare(const Decimal64* a, const Decimal64* b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:695,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:696,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:702,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:702,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:703,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:703,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:705,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:705,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:705,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Decimal128*
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 707
    functionName: decimal128BCompare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 2
    functionsReached:
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    linkageType: ''
    returnType: int
    signature: int decimal128BCompare(const Decimal128* a, const Decimal128* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:713,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - str1
    - str2
    - length
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 717
    functionName: strCompareN
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - strncasecmp
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t strCompareN(char *str1, char *str2, int length)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:721,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:723,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:725,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:727,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:729,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:731,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:733,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:735,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:737,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:739,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:741,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:743,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:745,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:747,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:749,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:751,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:753,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:755,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:757,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:759,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:761,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:763,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:765,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:771,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:774,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:775,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 3
    argNames:
    - type
    - length
    - ctx
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 777
    functionName: convertStringToDatatype
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 2
    functionsReached:
    - exit
    - strCompareN
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int convertStringToDatatype(char *type, int length, void* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 782
    functionName: compare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:789,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:795,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - size
    - elemSize
    argTypes:
    - size_t
    - size_t
    assertStmts:
    - condition: (elemSize > 0)
      pos:
        line_end: 788
        line_start: 788
        source_file: /src/tdengine/tools/taos-tools/src/benchUtil.c
    constantsTouched: []
    func_position:
      end: 803
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 803
    functionName: benchArrayInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 8
    functionsReached:
    - assert
    - benchCalloc
    linkageType: ''
    returnType: BArray
    signature: BArray * benchArrayInit(size_t size, size_t elemSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pArray
    - newCap
    argTypes:
    - BArray*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 820
    functionName: benchArrayEnsureCap
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t benchArrayEnsureCap(BArray* pArray, size_t newCap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:825,1
    - Dst: benchArrayEnsureCap
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:830,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:832,1
    - Dst: BARRAY_GET_ELEM
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:837,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:838,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - pArray
    - pData
    - elems
    - free
    argTypes:
    - BArray*
    - void*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 844
    functionName: benchArrayAddBatch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - benchArrayEnsureCap
    - tmfree
    - BARRAY_GET_ELEM
    - memcpy
    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:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pArray
    - pData
    argTypes:
    - BArray*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 848
    functionName: benchArrayPush
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 12
    functionsReached:
    - benchArrayAddBatch
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE * benchArrayPush(BArray* pArray, void* pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pArray
    - pData
    argTypes:
    - BArray*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 852
    functionName: benchArrayPushNoFree
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - benchArrayAddBatch
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE * benchArrayPushNoFree(BArray* pArray, void* pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:857,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 861
    functionName: benchArrayDestroy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 4
    functionsReached:
    - tmfree
    linkageType: ''
    returnType: void
    signature: void * benchArrayDestroy(BArray* pArray)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 866
    functionName: benchArrayClear
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void benchArrayClear(BArray* pArray)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:870,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:872,1
    - Dst: BARRAY_GET_ELEM
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pArray
    - index
    argTypes:
    - BArray*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 875
    functionName: benchArrayGet
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 52
    functionsReached:
    - BARRAY_GET_ELEM
    - exit
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void * benchArrayGet(const BArray* pArray, size_t index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:883,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:885,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:891,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - pArray
    - field_name
    - name_len
    - field_type
    argTypes:
    - BArray*
    - char*
    - int32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 899
    functionName: searchBArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - strncasecmp
    - strlen
    - benchArrayGet
    linkageType: ''
    returnType: bool
    signature: bool searchBArray(BArray *pArray, const char *field_name, int32_t name_len,
      uint8_t field_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:906,1
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 909
    functionName: copyBArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - benchArrayAddBatch
    - benchArrayInit
    linkageType: ''
    returnType: BArray
    signature: BArray * copyBArray(BArray *pArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sem_wait
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sem
    argTypes:
    - sem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 922
    functionName: bsem_wait
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - sem_wait
    linkageType: ''
    returnType: int32_t
    signature: int32_t bsem_wait(sem_t* sem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:926,1
    - Dst: sigaction
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - signum
    - sigfp
    argTypes:
    - int32_t
    - ToolsSignalHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 930
    functionName: benchSetSignal
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - memset
    - sigaction
    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:942,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:945,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:949,1
    - Dst: convertHostToServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:954,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:957,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:960,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - iface
    - tcp
    - protocol
    argTypes:
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 964
    functionName: convertServAddr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 5
    functionsReached:
    - convertHostToServAddr
    - errorPrint
    - infoPrint
    linkageType: ''
    returnType: int
    signature: int convertServAddr(int iface, bool tcp, int protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:968,1
    - Dst: WSAGetLastError
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:968,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - result
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 972
    functionName: errorPrintSocketMsg
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - WSAGetLastError
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void errorPrintSocketMsg(char *msg, int result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:977,1
    - Dst: MAKEWORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:977,1
    - Dst: socket
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:982,1
    - Dst: errorPrintSocketMsg
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:984,1
    - Dst: connect
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:988,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:991,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:993,1
    - Dst: closesocket
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:995,1
    - Dst: WSACleanup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:996,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 1003
    functionName: createSockFd
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 5
    functionsReached:
    - socket
    - WSAStartup
    - closesocket
    - close
    - WSACleanup
    - errorPrint
    - connect
    - errorPrintSocketMsg
    - MAKEWORD
    - infoPrint
    linkageType: ''
    returnType: int
    signature: int createSockFd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closesocket
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1007,1
    - Dst: WSACleanup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1008,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1012
    functionName: closeSockFd
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    - closesocket
    - close
    linkageType: ''
    returnType: void
    signature: void closeSockFd(int sockfd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1022,1
    - Dst: errorPrintSocketMsg
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1024,1
    - Dst: closeSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1025,1
    - Dst: recv
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1032,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1034,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1036,1
    - Dst: errorPrintSocketMsg
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1038,1
    - Dst: closeSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1043
    functionName: destroySockFd
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 4
    functionsReached:
    - shutdown
    - closeSockFd
    - debugPrint
    - errorPrintSocketMsg
    - recv
    - infoPrint
    linkageType: ''
    returnType: void
    signature: void destroySockFd(int sockfd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1048,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1049,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1052,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1053,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cmd
    - code
    - res
    argTypes:
    - char*
    - int32_t
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1055
    functionName: printErrCmdCodeStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 11
    functionsReached:
    - taos_free_result
    - snprintf
    - strlen
    - taos_errstr
    - errorPrint
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE printErrCmdCodeStr(char *cmd, int32_t code, TAOS_RES *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1060,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1063,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - QCnt
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1068
    functionName: genQMark
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - strcat
    - benchCalloc
    linkageType: ''
    returnType: char
    signature: char * genQMark( int32_t QCnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1073,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1075,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1077,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1081,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1082,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cols
    - tbName
    - primaryKeyName
    argTypes:
    - BArray*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1071
    functionDepth: 2
    functionLinenumber: 1071
    functionLinenumberEnd: 1086
    functionName: genColNames
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - benchArrayGet
    - benchCalloc
    - strcpy
    - snprintf
    - strcat
    linkageType: ''
    returnType: char
    signature: char *genColNames(BArray *cols, bool tbName, char * primaryKeyName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1098,1
    - Dst: resetBindV
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - capacity
    - tagCnt
    - colCnt
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1102
    functionName: createBindV
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 2
    functionsReached:
    - resetBindV
    - benchCalloc
    linkageType: ''
    returnType: TAOS_STMT2_BINDV
    signature: TAOS_STMT2_BINDV * createBindV(int32_t capacity, int32_t tagCnt, int32_t
      colCnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - bindv
    - capacity
    - tagCnt
    - colCnt
    argTypes:
    - TAOS_STMT2_BINDV*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1135
    functionName: resetBindV
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetBindV(TAOS_STMT2_BINDV *bindv, int32_t capacity, int32_t
      tagCnt, int32_t colCnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bindv
    argTypes:
    - TAOS_STMT2_BINDV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1140
    functionName: freeBindV
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 2
    functionsReached:
    - tmfree
    linkageType: ''
    returnType: void
    signature: void freeBindV(TAOS_STMT2_BINDV *bindv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1153,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1157,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - bind
    argTypes:
    - TAOS_STMT2_BIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1169
    functionName: showBind
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - debugPrint
    linkageType: ''
    returnType: void
    signature: void showBind(TAOS_STMT2_BIND* bind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1174,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1176,1
    - Dst: showBind
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - label
    - binds
    - cnt
    argTypes:
    - char*
    - TAOS_STMT2_BIND*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1180
    functionName: showTableBinds
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - debugPrint
    - showBind
    linkageType: ''
    returnType: void
    signature: void showTableBinds(char* label, TAOS_STMT2_BIND* binds, int32_t cnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1185,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1189,1
    - Dst: showTableBinds
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1191,1
    - Dst: showTableBinds
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - bindv
    - tags
    - cols
    argTypes:
    - TAOS_STMT2_BINDV*
    - BArray*
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1183
    functionDepth: 2
    functionLinenumber: 1183
    functionLinenumberEnd: 1195
    functionName: showBindV
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 2
    functionsReached:
    - debugPrint
    - showTableBinds
    linkageType: ''
    returnType: void
    signature: void showBindV(TAOS_STMT2_BINDV *bindv, BArray *tags, BArray *cols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1206,1
    - Dst: MurmurHash3_32
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1207,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - dbName
    - tbName
    - groupCnt
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1216
    functionName: calcGroupIndex
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 2
    functionsReached:
    - strlen
    - snprintf
    - MurmurHash3_32
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcGroupIndex(char* dbName, char* tbName, int32_t groupCnt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1226,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pThreadInfo
    - iface
    argTypes:
    - qThreadInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1223
    functionDepth: 3
    functionLinenumber: 1223
    functionLinenumberEnd: 1239
    functionName: initQueryConn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - initBenchConn
    - createSockFd
    linkageType: ''
    returnType: int32_t
    signature: int32_t initQueryConn(qThreadInfo * pThreadInfo, int iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closesocket
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1245,1
    - Dst: WSACleanup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1246,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1248,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pThreadInfo
    - iface
    argTypes:
    - qThreadInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1254
    functionName: closeQueryConn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    - closesocket
    - closeBenchConn
    - close
    linkageType: ''
    returnType: void
    signature: void closeQueryConn(qThreadInfo * pThreadInfo, int iface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1266,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1267,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1268,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1274
    functionName: freeSpecialQueryInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - tmfree
    - benchArrayGet
    - benchArrayDestroy
    linkageType: ''
    returnType: void
    signature: void freeSpecialQueryInfo()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1282,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1285,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1293,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1294,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1296,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1300,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1301,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1303,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1309,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1310,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1310,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1314,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1315,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1315,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1317,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1318,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1319,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1321,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1323,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1325,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1331,1
    - Dst: taos_close
      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: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1279
    functionDepth: 2
    functionLinenumber: 1279
    functionLinenumberEnd: 1337
    functionName: queryKiller
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - printErrCmdCodeStr
    - taos_query
    - taos_close
    - taos_connect
    - taos_fetch_lengths
    - taos_free_result
    - snprintf
    - taos_errno
    - infoPrint
    - min
    - strlen
    - taos_fetch_row
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: void
    signature: void *queryKiller(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1342,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1344,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1347,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1340
    functionDepth: 2
    functionLinenumber: 1340
    functionLinenumberEnd: 1350
    functionName: killSlowQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - toolsMsleep
    - errorPrint
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int killSlowQuery()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1354,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1361,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1364,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1365,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1367,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1368,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1373,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1374,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1375,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1376,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1377,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1378,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1379,1
    - Dst: taos_print_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1383,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1386,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1388,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1389,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1393,1
    - Dst: getAllChildNameOfSuperTable
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1396,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1401,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1402,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - dbName
    - stbName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1409
    functionName: fetchChildTableName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - atol
    - taos_num_fields
    - printErrCmdCodeStr
    - taos_query
    - taos_print_row
    - benchCalloc
    - tmfree
    - taos_free_result
    - snprintf
    - taos_fetch_fields
    - taos_errno
    - infoPrint
    - getAllChildNameOfSuperTable
    - strlen
    - initBenchConn
    - errorPrint
    - closeBenchConn
    - taos_fetch_row
    linkageType: ''
    returnType: int
    signature: int fetchChildTableName(char *dbName, char *stbName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1414,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1420,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1420,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1436
    functionName: trimCaseCmp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 3
    functionsReached:
    - tolower
    - isblank
    linkageType: ''
    returnType: int
    signature: int trimCaseCmp(char *str1, char *str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - command
    - dbName
    - precision
    - iface
    - protocol
    - tcp
    - sockfd
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1450
    functionName: queryDbExecRest
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 3
    functionsReached:
    - postProcessSql
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryDbExecRest(char *command, char* dbName, int precision,\n
      \                   int iface, int protocol, bool tcp, int sockfd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1454,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1455,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1457,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - conn
    - command
    argTypes:
    - SBenchConn*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1462
    functionName: queryDbExecCall
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 7
    functionsReached:
    - taos_free_result
    - printErrCmdCodeStr
    - taos_errno
    - taos_query
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryDbExecCall(SBenchConn *conn, char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1476,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1480,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1501
    functionName: encodeAuthBase64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 3
    functionsReached:
    - strlen
    - snprintf
    - memset
    linkageType: ''
    returnType: void
    signature: void encodeAuthBase64()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1514,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1517,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1526,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1530,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1535,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1540,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1544,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1546,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1547,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1551,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1552,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1556,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1557,1
    - Dst: send
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1560,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1563,1
    - Dst: recv
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1585,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1588,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1589,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1592,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1596,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1607,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1614,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1615,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1616,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:1618,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1619,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1627,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1631,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1632,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1633,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1634,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1635,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1641,1
    - Dst: appendResultBufToFile
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1642,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1644,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 105
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1646
    functionName: postProceSqlImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    - tmfree
    - send
    - debugPrint
    - strstr
    - snprintf
    - free
    - appendResultBufToFile
    - recv
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int
    signature: "int postProceSqlImpl(char *sqlstr, char* dbName, int precision, int
      iface,\n                     int protocol, uint16_t rest_port, bool tcp, int
      sockfd,\n                     char* filePath,\n                     char *responseBuf,
      int64_t response_length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1651,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1652,1
    - Dst: postProceSqlImpl
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1653,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1663,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1666,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1667,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1668,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1670,1
    - Dst: tools_cJSON_Parse
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1673,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1675,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1677,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1678,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1679,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1680,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1681,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1682,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1685,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1686,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1687,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1688,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1689,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1692,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1693,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - rest_port
    - sockfd
    argTypes:
    - int16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1648
    functionDepth: 3
    functionLinenumber: 1648
    functionLinenumberEnd: 1698
    functionName: getServerVersionRestImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_GetArrayItem
    - benchCalloc
    - postProceSqlImpl
    - tmfree
    - tools_cJSON_Parse
    - debugPrint
    - tools_cJSON_IsArray
    - strstr
    - atoi
    - snprintf
    - free
    - tools_cJSON_GetObjectItem
    - tools_cJSON_Print
    - errorPrint
    - tools_cJSON_Delete
    linkageType: ''
    returnType: int
    signature: int getServerVersionRestImpl(int16_t rest_port, int sockfd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1701,1
    - Dst: getServerVersionRestImpl
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1706,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rest_port
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1700
    functionDepth: 4
    functionLinenumber: 1700
    functionLinenumberEnd: 1710
    functionName: getServerVersionRest
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 2
    functionsReached:
    - getServerVersionRestImpl
    - createSockFd
    - destroySockFd
    linkageType: ''
    returnType: int
    signature: int getServerVersionRest(int16_t rest_port)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1714,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1716,1
    - Dst: tools_cJSON_Parse
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1719,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1721,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1724,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1725,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1726,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1727,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1728,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1729,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1736,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1737,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1738,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1739,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1740,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1743,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - responseBuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1712
    functionDepth: 1
    functionLinenumber: 1712
    functionLinenumberEnd: 1749
    functionName: getCodeFromResp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 1
    functionsReached:
    - tmfree
    - tools_cJSON_Parse
    - strstr
    - tools_cJSON_IsString
    - tools_cJSON_IsNumber
    - tools_cJSON_GetObjectItem
    - tools_cJSON_Print
    - errorPrint
    - tools_cJSON_Delete
    linkageType: ''
    returnType: int
    signature: int getCodeFromResp(char *responseBuf)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1761,1
    - Dst: postProceSqlImpl
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1762,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1766,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1769,1
    - Dst: getCodeFromResp
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1773,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1779,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1786,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1796,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1797,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1803,1
    - Dst: tools_cJSON_Parse
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1806,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1812,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1814,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1815,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1820,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1821,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1822,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1823,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1830,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1838,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1839,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1840,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1841,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1842,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1844,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1850,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1853,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 64
    argCount: 9
    argNames:
    - sqlstr
    - dbName
    - precision
    - iface
    - protocol
    - rest_port
    - tcp
    - sockfd
    - filePath
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - uint16_t
    - bool
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1751
    functionDepth: 3
    functionLinenumber: 1751
    functionLinenumberEnd: 1855
    functionName: postProcessSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 4
    functionsReached:
    - benchCalloc
    - postProceSqlImpl
    - tmfree
    - tools_cJSON_Parse
    - debugPrint
    - strstr
    - tools_cJSON_IsString
    - tools_cJSON_IsNumber
    - free
    - getCodeFromResp
    - tools_cJSON_GetObjectItem
    - tools_cJSON_Print
    - errorPrint
    - tools_cJSON_Delete
    linkageType: ''
    returnType: int
    signature: "int postProcessSql(char *sqlstr, char* dbName, int precision, int
      iface,\n                 int protocol, uint16_t rest_port,\n                 bool
      tcp, int sockfd, char* filePath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1858,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1860,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1866
    functionName: check_write_permission
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: 3
    functionsReached:
    - fclose
    - errorPrint
    - fopen
    linkageType: ''
    returnType: int
    signature: int check_write_permission(const char *path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:28,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:31,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:35,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:43,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:44,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:47,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:49,1
    - Dst: fetchResult
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:54,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:59,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:61,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - pThreadInfo
    - command
    - record
    argTypes:
    - qThreadInfo*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 81
    functionName: selectAndGetResult
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - taos_query
    - fetchResult
    - postProcessSql
    - debugPrint
    - taos_free_result
    - taos_errno
    - taos_errstr
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int selectAndGetResult(qThreadInfo *pThreadInfo, char *command, bool
      record)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:88,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:89,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - interval
    - delay
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: autoSleep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - debugPrint
    - infoPrint
    - toolsMsleep
    linkageType: ''
    returnType: int32_t
    signature: int32_t autoSleep(uint64_t interval, uint64_t delay )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: selectAndGetResult
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:98,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pThreadInfo
    argTypes:
    - qThreadInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: resetQueryCache
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - selectAndGetResult
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetQueryCache(qThreadInfo* pThreadInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:114,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pThreadInfo
    - lastPrintTime
    - startTs
    argTypes:
    - qThreadInfo*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: showRealQPS
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - toolsGetTimestampMs
    - infoPrint
    linkageType: ''
    returnType: int64_t
    signature: int64_t showRealQPS(qThreadInfo* pThreadInfo, int64_t lastPrintTime,
      int64_t startTs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:135,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:141,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:142,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:149,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:156,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:158,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:162,1
    - Dst: resetQueryCache
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:168,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:169,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:175,1
    - Dst: selectAndGetResult
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:176,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:179,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:182,1
    - Dst: autoSleep
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:186,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:191,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:193,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:196,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:197,1
    - Dst: showRealQPS
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:202,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 132
    functionDepth: 6
    functionLinenumber: 132
    functionLinenumberEnd: 207
    functionName: specQueryMixThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - benchArrayInit
    - benchCalloc
    - tmfree
    - debugPrint
    - benchArrayPush
    - toolsGetTimestampUs
    - selectAndGetResult
    - infoPrint
    - taos_select_db
    - autoSleep
    - resetQueryCache
    - toolsGetTimestampMs
    - errorPrint
    - showRealQPS
    - prctl
    linkageType: ''
    returnType: void
    signature: void *specQueryMixThread(void *sarg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:213,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:223,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:224,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:231,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:233,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:236,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:239,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:246,1
    - Dst: resetQueryCache
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:252,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:253,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:259,1
    - Dst: selectAndGetResult
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:260,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:263,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:266,1
    - Dst: autoSleep
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:270,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:275,1
    - Dst: benchArrayPushNoFree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:279,1
    - Dst: showRealQPS
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:285,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 210
    functionDepth: 6
    functionLinenumber: 210
    functionLinenumberEnd: 289
    functionName: specQueryThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - benchArrayInit
    - benchArrayPushNoFree
    - debugPrint
    - toolsGetTimestampUs
    - selectAndGetResult
    - snprintf
    - infoPrint
    - taos_select_db
    - autoSleep
    - resetQueryCache
    - toolsGetTimestampMs
    - errorPrint
    - showRealQPS
    - prctl
    linkageType: ''
    returnType: void
    signature: void *specQueryThread(void *sarg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:293,1
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:296,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:304,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:306,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:311,1
    - Dst: resetQueryCache
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:317,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:318,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:324,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:329,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:335,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:338,1
    - Dst: replaceChildTblName
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:343,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:345,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:350,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:356,1
    - Dst: selectAndGetResult
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:357,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:360,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:362,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:365,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:366,1
    - Dst: benchArrayPushNoFree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:369,1
    - Dst: showRealQPS
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:374,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:377,1
    - Dst: autoSleep
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:381,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:385,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 292
    functionDepth: 6
    functionLinenumber: 292
    functionLinenumberEnd: 388
    functionName: stbQueryThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - replaceChildTblName
    - benchCalloc
    - tmfree
    - benchArrayPushNoFree
    - debugPrint
    - errorPrint
    - toolsGetTimestampUs
    - selectAndGetResult
    - snprintf
    - memset
    - infoPrint
    - autoSleep
    - resetQueryCache
    - toolsGetTimestampMs
    - benchArrayInit
    - showRealQPS
    - prctl
    linkageType: ''
    returnType: void
    signature: void *stbQueryThread(void *sarg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:401,1
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:412,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:417,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:424,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:425,1
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:431,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:437,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:438,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:439,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:440,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:441,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:445,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:469,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:471,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:473,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:475,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:476,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:483,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:485,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:486,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:487,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:488,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:489,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:490,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:491,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:492,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:493,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:494,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:495,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:497,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:502,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:504,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:506,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:507,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:509,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:513,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:516,1
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:523,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:525,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 73
    argCount: 4
    argNames:
    - infos
    - threadCnt
    - spend
    - pDelays
    argTypes:
    - qThreadInfo*
    - int
    - int64_t
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 526
    functionName: totalChildQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_CreateArray
    - benchArrayGet
    - fprintf
    - tools_cJSON_AddItemToArray
    - benchArrayDestroy
    - benchArrayAddBatch
    - qsort
    - tools_cJSON_AddItemToObject
    - errorPrint
    - tools_cJSON_PrintUnformatted
    - tools_cJSON_CreateObject
    - fclose
    - free
    - infoPrint
    - fopen
    - benchArrayInit
    - tools_cJSON_Delete
    - tools_cJSON_AddNumberToObject
    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:545,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:548,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:577,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:580,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:582,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:602,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:605,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:616,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:618,1
    - Dst: totalChildQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:625,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:630,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:631,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:634,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:636,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 638
    functionName: stbQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - closeQueryConn
    - totalChildQuery
    - benchCalloc
    - tmfree
    - toolsGetTimestampUs
    - initQueryConn
    - pthread_create
    - errorPrint
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int stbQuery(uint16_t iface, char* dbName)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:655,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:657,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:662,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:663,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:668,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:670,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:671,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:681,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:682,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:685,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:696,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:700,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:702,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:715,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:718,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:720,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:725,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:729,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:737,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:756,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:769,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:779,1
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:783,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:794,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:795,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:796,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:812,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:813,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:814,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:815,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:816,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:817,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:818,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:819,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:820,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:821,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:822,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:823,1
    - Dst: infoPrintNoTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:826,1
    - Dst: infoPrintNoTimestampToFile
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:827,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:828,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:832,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:834,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:836,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:837,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:839,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:843,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:845,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:851,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:852,1
    - Dst: freeSpecialQueryInfo
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:855,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 120
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 643
    functionDepth: 4
    functionLinenumber: 643
    functionLinenumberEnd: 857
    functionName: specQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - infoPrintNoTimestampToFile
    - initQueryConn
    - tools_cJSON_CreateObject
    - memset
    - snprintf
    - tools_cJSON_PrintUnformatted
    - fopen
    - infoPrintNoTimestamp
    - tools_cJSON_AddItemToArray
    - toolsGetTimestampUs
    - free
    - errorPrint
    - tools_cJSON_AddNumberToObject
    - closeQueryConn
    - benchArrayDestroy
    - tmfree
    - tools_cJSON_AddItemToObject
    - warnPrint
    - pthread_create
    - tools_cJSON_Delete
    - tools_cJSON_CreateArray
    - fprintf
    - benchCalloc
    - qsort
    - fclose
    - freeSpecialQueryInfo
    - strlen
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int specQuery(uint16_t iface, char* dbName)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:866,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:867,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:874,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:897,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:901,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:903,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:921,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:923,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:925,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:937,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:941,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:945,1
    - Dst: totalChildQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:950,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:954,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:955,1
    - Dst: freeSpecialQueryInfo
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:958,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 862
    functionDepth: 4
    functionLinenumber: 862
    functionLinenumberEnd: 961
    functionName: specQueryMix
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - closeQueryConn
    - totalChildQuery
    - benchCalloc
    - benchArrayDestroy
    - tmfree
    - toolsGetTimestampUs
    - initQueryConn
    - warnPrint
    - freeSpecialQueryInfo
    - pthread_create
    - errorPrint
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int specQueryMix(uint16_t iface, char* dbName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:965,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:970,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:974,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:977,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:982,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:990,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:992,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:994,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:996,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - allSleep
    - pDelays
    argTypes:
    - int32_t
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 1001
    functionName: totalBatchQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - printf
    - qsort
    - benchArrayGet
    - infoPrint
    linkageType: ''
    returnType: void
    signature: void totalBatchQuery(int32_t allSleep, BArray *pDelays)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1012,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1013,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1014,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1022,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1039,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1057,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1076,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1078,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1093,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1095,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1107,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1111,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1115,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1120,1
    - Dst: totalChildQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1121,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1125,1
    - Dst: autoSleep
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1129,1
    - Dst: totalBatchQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1140,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1146,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1150,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1151,1
    - Dst: freeSpecialQueryInfo
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1154,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1158,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1006
    functionDepth: 4
    functionLinenumber: 1006
    functionLinenumberEnd: 1162
    functionName: specQueryBatch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - closeQueryConn
    - totalChildQuery
    - benchCalloc
    - benchArrayDestroy
    - tmfree
    - errorPrint
    - toolsGetTimestampUs
    - initQueryConn
    - warnPrint
    - printf
    - freeSpecialQueryInfo
    - infoPrint
    - totalBatchQuery
    - autoSleep
    - pthread_create
    - benchArrayInit
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int specQueryBatch(uint16_t iface, char* dbName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1175,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1182,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1186,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - spends
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1188
    functionName: totalQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 0
    functionsReached:
    - snprintf
    - infoPrint
    - 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:1191,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1195,1
    - Dst: convertHostToServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1198,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1201,1
    - Dst: killSlowQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1208,1
    - Dst: fetchChildTableName
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1217,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1219,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1228,1
    - Dst: specQueryBatch
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1234,1
    - Dst: specQueryMix
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1238,1
    - Dst: specQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1244,1
    - Dst: stbQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1250,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1255,1
    - Dst: totalQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1260,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1260,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1190
    functionDepth: 5
    functionLinenumber: 1190
    functionLinenumberEnd: 1262
    functionName: queryTestProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: 1
    functionsReached:
    - specQueryMix
    - specQuery
    - stbQuery
    - convertHostToServAddr
    - specQueryBatch
    - totalQuery
    - killSlowQuery
    - prompt
    - fetchChildTableName
    - encodeAuthBase64
    - toolsGetTimestampMs
    - errorPrint
    linkageType: ''
    returnType: int
    signature: int queryTestProcess()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - subType
    - coordArray
    argTypes:
    - EGeoSubType
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: geoObject2DInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: 0
    functionsReached:
    - benchCalloc
    linkageType: ''
    returnType: SGeoObj2D
    signature: SGeoObj2D *geoObject2DInit(EGeoSubType subType, BArray *coordArray)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: randCoordArray
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:68,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:70,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:71,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:72,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:73,1
    - Dst: geoObject2DInit
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - subType
    - coordNum
    argTypes:
    - EGeoSubType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: geoObject2DRandInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - memcpy
    - benchCalloc
    - benchArrayPush
    - geoObject2DInit
    - randCoordArray
    linkageType: ''
    returnType: SGeoObj2D
    signature: SGeoObj2D *geoObject2DRandInit(EGeoSubType subType, int coordNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:80,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SGeoObj2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: geoObject2DDestory
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: 0
    functionsReached:
    - tmfree
    - benchArrayDestroy
    linkageType: ''
    returnType: void
    signature: void geoObject2DDestory(SGeoObj2D *pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - pCoord
    argTypes:
    - char*
    - SGeoCoord2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: geoCoord2DToStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int
    signature: int geoCoord2DToStr(char *buffer, SGeoCoord2D *pCoord)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:95,1
    - Dst: geoCoord2DToStr
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:98,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - coordArray
    argTypes:
    - char*
    - BArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: geoCoord2DArrayToStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - sprintf
    - geoCoord2DToStr
    linkageType: ''
    returnType: int
    signature: int geoCoord2DArrayToStr(char *buffer, BArray *coordArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:105,1
    - Dst: geoCoord2DArrayToStr
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:106,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - object
    argTypes:
    - char*
    - SGeoObj2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: geoObject2DToStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: 0
    functionsReached:
    - sprintf
    - geoCoord2DArrayToStr
    linkageType: ''
    returnType: int
    signature: int geoObject2DToStr(char *buffer, SGeoObj2D *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:112,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:115,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:116,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:117,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: randCoordArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: 1
    functionsReached:
    - taosRandom
    - benchArrayPush
    - benchArrayInit
    - benchCalloc
    linkageType: ''
    returnType: BArray
    signature: BArray *randCoordArray(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fieldLen
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: geoCalcBufferSize
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int geoCalcBufferSize(int fieldLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fieldLen
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: getGeoMaxType
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getGeoMaxType(int fieldLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:145,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:149,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:153,1
    - Dst: geoObject2DRandInit
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:156,1
    - Dst: geoObject2DToStr
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:157,1
    - Dst: geoObject2DDestory
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - str
    - fieldLen
    - maxType
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: rand_geometry
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: 0
    functionsReached:
    - taosRandom
    - geoObject2DDestory
    - geoObject2DToStr
    - min
    - geoObject2DRandInit
    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:33,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:34,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: printVersion
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void printVersion()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:40,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:41,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:42,1
    - Dst: regcomp
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:49,1
    - Dst: regexec
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:51,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:55,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:57,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:58,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:59,1
    - Dst: regfree
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:60,1
    - Dst: regfree
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:63,1
    - Dst: regcomp
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:67,1
    - Dst: regexec
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:69,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:73,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:75,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:78,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:78,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:80,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:81,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:84,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:85,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:89,1
    - Dst: convertTypeToLength
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:90,1
    - Dst: regfree
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:91,1
    - Dst: getDecimal128DefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:94,1
    - Dst: getDecimal128DefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:95,1
    - Dst: getDecimal64DefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:97,1
    - Dst: getDecimal64DefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:98,1
    - Dst: regfree
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:103,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:107,1
    - Dst: convertTypeToLength
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:108,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:111,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:112,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 4
    argNames:
    - token
    - fields
    - index
    - isTag
    argTypes:
    - char*
    - BArray*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 114
    functionName: processSingleToken
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - getDecimal64DefaultMin
    - regexec
    - convertStringToDatatype
    - snprintf
    - convertTypeToLength
    - exit
    - benchArrayPush
    - atoi
    - strncpy
    - getDecimal128DefaultMin
    - errorPrint
    - getDecimal64DefaultMax
    - regcomp
    - getDecimal128DefaultMax
    - benchCalloc
    - regfree
    - convertDatatypeToDefaultMax
    - convertDatatypeToDefaultMin
    linkageType: ''
    returnType: void
    signature: void processSingleToken(char* token, BArray* fields, int index, bool
      isTag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:118,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:119,1
    - Dst: processSingleToken
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:120,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:122,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:134,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:135,1
    - Dst: processSingleToken
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:139,1
    - Dst: processSingleToken
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:146,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - dataType
    - fields
    - isTag
    argTypes:
    - char*
    - BArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 150
    functionName: parseFieldDatatype
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 1
    functionsReached:
    - benchArrayClear
    - strdup
    - exit
    - tmfree
    - processSingleToken
    - strstr
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void parseFieldDatatype(char* dataType, BArray* fields, bool isTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:154,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:155,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:156,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:157,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:158,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:164,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:166,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:167,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:170,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:171,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:181,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:182,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:183,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:212,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:214,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:215,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:217,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:218,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:226,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:227,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 252
    functionName: initStable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 0
    functionsReached:
    - TOOLS_STRNCPY
    - benchArrayGet
    - benchCalloc
    - benchArrayPush
    - benchArrayInit
    linkageType: ''
    returnType: void
    signature: void initStable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:255,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:256,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:257,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:258,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: initDatabase
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - benchArrayPush
    - benchArrayInit
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: void initDatabase()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:267,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:268,1
    - Dst: initDatabase
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:311,1
    - Dst: initStable
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:312,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 314
    functionName: initArgument
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 2
    functionsReached:
    - taos_get_client_info
    - initDatabase
    - initStable
    - benchCalloc
    - benchArrayInit
    linkageType: ''
    returnType: void
    signature: void initArgument()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:317,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:318,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:327,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:329,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:330,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:331,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:339,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:341,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:351,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:352,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:353,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:356,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:357,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:358,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 366
    functionName: modifyArgument
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 1
    functionsReached:
    - benchArrayGet
    - benchCalloc
    - benchArrayPush
    - convertDatatypeToDefaultMax
    - snprintf
    - convertDatatypeToDefaultMin
    linkageType: ''
    returnType: void
    signature: void modifyArgument()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:376,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:378,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:380,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:381,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:394,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:396,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:399,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:405,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:408,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:413,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:416,1
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:420,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:421,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:426,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:428,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:431,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:435,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:436,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:438,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:439,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:440,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:444,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:447,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:449,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:451,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:454,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:457,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:459,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 461
    functionName: queryStableAggrFunc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - fprintf
    - strncat
    - taos_query
    - benchCalloc
    - printErrCmdCodeStr
    - postProcessSql
    - toolsGetTimestampUs
    - taos_free_result
    - snprintf
    - free
    - taos_errno
    - taos_fetch_row
    - infoPrint
    - prctl
    linkageType: ''
    returnType: void
    signature: void *queryStableAggrFunc(void *sarg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:470,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:472,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:474,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:475,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:488,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:490,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:499,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:508,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:511,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:515,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:516,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:518,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:519,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:522,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:525,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:528,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:532,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:538,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:541,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 543
    functionName: queryNtableAggrFunc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 0
    functionsReached:
    - benchArrayGet
    - fprintf
    - printErrCmdCodeStr
    - taos_query
    - benchCalloc
    - postProcessSql
    - toolsGetTimestampUs
    - taos_free_result
    - snprintf
    - free
    - taos_errno
    - taos_fetch_row
    - infoPrint
    - prctl
    linkageType: ''
    returnType: void
    signature: void *queryNtableAggrFunc(void *sarg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:547,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:549,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:552,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:554,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:555,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:558,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:560,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:561,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:567,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:569,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:570,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:574,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:576,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:581,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:583,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:585,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:588,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:591,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:594,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 595
    functionName: queryAggrFunc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: 1
    functionsReached:
    - benchArrayGet
    - benchCalloc
    - createSockFd
    - destroySockFd
    - free
    - pthread_create
    - initBenchConn
    - errorPrint
    - closeBenchConn
    - pthread_join
    linkageType: ''
    returnType: void
    signature: void queryAggrFunc()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: ds_header
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dstr
    signature: dstr * ds_header(char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:31,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:34,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cap
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 45
    functionName: new_ds
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 2
    functionsReached:
    - exit
    - errorPrint
    - malloc
    linkageType: ''
    returnType: char
    signature: char * new_ds(size_t cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ds_header
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:49,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:53,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:54,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ps
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: free_ds
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 2
    functionsReached:
    - ds_header
    - free
    - debugPrint
    - exit
    linkageType: ''
    returnType: void
    signature: void free_ds(char **ps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: ds_len
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ds_len(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: ds_set_len
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ds_set_len(char *s, uint64_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ds_cap
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ds_cap(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - cap
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: ds_set_cap
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ds_set_cap(char *s, uint64_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: ds_end
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 0
    functionsReached:
    - ds_len
    linkageType: ''
    returnType: char
    signature: char * ds_end(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:93,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: fast_sqrt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: float
    signature: float fast_sqrt(float x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:104,1
    - Dst: ds_cap
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:105,1
    - Dst: fast_sqrt
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:113,1
    - Dst: ds_resize
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ps
    - needsize
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: ds_grow
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 0
    functionsReached:
    - ds_cap
    - ds_len
    - ds_resize
    - fast_sqrt
    linkageType: ''
    returnType: char
    signature: char * ds_grow(char **ps, size_t needsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:126,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:129,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:130,1
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:134,1
    - Dst: ds_set_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:135,1
    - Dst: ds_set_cap
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ps
    - cap
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 142
    functionName: ds_resize
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 1
    functionsReached:
    - exit
    - realloc
    - ds_set_len
    - ds_set_cap
    - ds_len
    - errorPrint
    linkageType: ''
    returnType: char
    signature: char * ds_resize(char **ps, size_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:147,1
    - Dst: ds_grow
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:148,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:152,1
    - Dst: ds_end
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:152,1
    - Dst: ds_set_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:154,1
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ps
    - sub
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: ds_add_str
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ds_set_len
    - ds_grow
    - ds_end
    - strlen
    - ds_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:163,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:166,1
    - Dst: ds_add_str
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:167,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ps
    - count
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: ds_add_strs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_arg
    - ds_add_str
    - va_start
    linkageType: ''
    returnType: char
    signature: char * ds_add_strs(char **ps, int count, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:50,1
    - Dst: _fullpath
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:51,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - words
    - pwordexp
    - flags
    argTypes:
    - char*
    - wordexp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: wordexp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: 3
    functionsReached:
    - printf
    - memset
    - _fullpath
    linkageType: ''
    returnType: int
    signature: int wordexp(char *words, wordexp_t *pwordexp, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pwordexp
    argTypes:
    - wordexp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: wordfree
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: 3
    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:107,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:109,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:110,1
    - Dst: FindFirstFile
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:112,1
    - Dst: toolsMemoryFree
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:114,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:119,1
    - Dst: toolsMemoryMalloc
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:121,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 128
    functionName: toolsOpenDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: 7
    functionsReached:
    - FindFirstFile
    - toolsMemoryMalloc
    - strcpy
    - opendir
    - strcat
    - toolsMemoryFree
    linkageType: ''
    returnType: TdDirPtr
    signature: TdDirPtr toolsOpenDir(const char *dirname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindNextFile
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:135,1
    - Dst: readdir_r
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:140,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pDir
    argTypes:
    - TdDirPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 148
    functionName: toolsReadDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: 5
    functionsReached:
    - FindNextFile
    - readdir_r
    - readdir
    linkageType: ''
    returnType: TdDirEntryPtr
    signature: TdDirEntryPtr toolsReadDir(TdDirPtr pDir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pDirEntry
    argTypes:
    - TdDirEntryPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: toolsGetDirEntryName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *toolsGetDirEntryName(TdDirEntryPtr pDirEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:166,1
    - Dst: toolsMemoryFree
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:167,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:171,1
    - Dst: toolsMemoryFree
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:172,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ppDir
    argTypes:
    - TdDirPtr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: toolsCloseDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: 7
    functionsReached:
    - FindClose
    - toolsMemoryFree
    - closedir
    linkageType: ''
    returnType: int32_t
    signature: int32_t toolsCloseDir(TdDirPtr *ppDir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:31,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:36,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:38,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: mallocNode
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - errorPrint
    - memcpy
    - malloc
    linkageType: ''
    returnType: SNode
    signature: SNode *mallocNode(const char *name, int32_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - head
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: freeNodes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freeNodes(SNode* head)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - code
    - type
    argTypes:
    - int32_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 88
    functionName: canRetry
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canRetry(int32_t code, int8_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:96,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - tableDes
    - self
    argTypes:
    - TableDes*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: freeTbDes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 8
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freeTbDes(TableDes *tableDes, bool self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - indent
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: print_json_indent
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void print_json_indent(int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:118,1
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:119,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:121,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:122,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:124,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: print_json_array
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - printf
    - print_json_aux
    - json_plural
    - print_json_indent
    - json_array_get
    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/src/dumpUtil.c:129,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:130,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: print_json_string
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - printf
    - json_string_value
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: void print_json_string(json_t *element, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: json_plural
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *json_plural(size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:142,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:143,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:145,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:146,1
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:148,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:149,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: print_json_object
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - printf
    - print_json_aux
    - json_plural
    - json_object_size
    - 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/src/dumpUtil.c:148,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:149,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - printf
    - print_json_aux
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(element, key, value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:156,1
    - Dst: print_json_object
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:158,1
    - Dst: print_json_array
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:162,1
    - Dst: print_json_string
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:166,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:191,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 193
    functionName: print_json_aux
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 3
    functionsReached:
    - print_json_object
    - errorPrint
    - print_json_string
    - json_typeof
    - print_json_array
    linkageType: ''
    returnType: void
    signature: void print_json_aux(json_t *element, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - json_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: print_json
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 3
    functionsReached:
    - print_json_aux
    linkageType: ''
    returnType: void
    signature: void print_json(json_t *root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:203,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - jsonbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: load_json
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 3
    functionsReached:
    - json_loads
    - errorPrint
    linkageType: ''
    returnType: json_t
    signature: json_t *load_json(char *jsonbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:218,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:220,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:220,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:225,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:226,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:226,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:227,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - txt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: writeFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 3
    functionsReached:
    - fprintf
    - strerror
    - warnPrint
    - fclose
    - fopen
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: int32_t writeFile(char *filename, char *txt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:236,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:238,1
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:242,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: getFileSize
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - ftell
    - fseek
    linkageType: ''
    returnType: long
    signature: long getFileSize(FILE *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:250,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:252,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:252,1
    - Dst: getFileSize
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:257,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:259,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:259,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:260,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:266,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:268,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:268,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:269,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:274,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:276,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:276,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:277,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 284
    functionName: readFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - calloc
    - getFileSize
    - strerror
    - warnPrint
    - fclose
    - free
    - fopen
    - errorPrint
    - fread
    linkageType: ''
    returnType: char
    signature: char * readFile(char *filename)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strToLowerCopy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:305,1
    - Dst: parseDsn
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:312,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:314,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:315,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:326,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:330,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:331,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:332,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:332,1
    - Dst: defaultPort
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:343,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:346,1
    - Dst: taos_connect
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:355,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:359,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:365,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:365,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:366,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:372,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:373,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:377,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - dbName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 380
    functionName: taosConnect
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 10
    functionsReached:
    - memcpy
    - parseDsn
    - okPrint
    - strToLowerCopy
    - atoi
    - taos_connect
    - snprintf
    - free
    - defaultPort
    - taos_errno
    - infoPrint
    - strlen
    - taos_errstr
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: TAOS
    signature: TAOS *taosConnect(const char *dbName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:387,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:388,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:392,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:394,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:399,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:399,1
    - Dst: canRetry
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:402,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:403,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:413,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - taos
    - sql
    - code
    argTypes:
    - TAOS*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 418
    functionName: taosQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 18
    functionsReached:
    - taos_query
    - debugPrint
    - okPrint
    - taos_errno
    - infoPrint
    - canRetry
    - taos_errstr
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: TAOS_RES
    signature: TAOS_RES *taosQuery(TAOS *taos, const char *sql, int32_t *code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - fun
    - code
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: engineError
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 2
    functionsReached:
    - errorPrint
    linkageType: ''
    returnType: void
    signature: void engineError(char * module, char * fun, int32_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: bkdrHash
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t bkdrHash(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:444,1
    - Dst: pthread_mutex_init
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:445,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:446,1
    - Dst: abort
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - map
    argTypes:
    - HashMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: hashMapInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - perror
    - abort
    - memset
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void hashMapInit(HashMap *map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:454,1
    - Dst: bkdrHash
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:455,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:456,1
    - Dst: pthread_mutex_unlock
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:458,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:463,1
    - Dst: pthread_mutex_unlock
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:469,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - map
    - key
    - value
    argTypes:
    - HashMap*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 473
    functionName: hashMapInsert
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - strdup
    - bkdrHash
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - perror
    - malloc
    linkageType: ''
    returnType: bool
    signature: bool hashMapInsert(HashMap *map, const char *key, void *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bkdrHash
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:477,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - HashMap*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 486
    functionName: hashMapFind
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - bkdrHash
    - strcmp
    linkageType: ''
    returnType: void
    signature: void *hashMapFind(HashMap *map, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:495,1
    - Dst: freeStbChange
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:497,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:498,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:499,1
    - Dst: pthread_mutex_destroy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - map
    argTypes:
    - HashMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 506
    functionName: hashMapDestroy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - freeStbChange
    - free
    - pthread_mutex_destroy
    - debugPrint
    linkageType: ''
    returnType: void
    signature: void hashMapDestroy(HashMap *map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:516,1
    - Dst: hashMapInit
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 521
    functionName: createDbChange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - calloc
    - hashMapInit
    linkageType: ''
    returnType: DBChange
    signature: DBChange *createDbChange(const char *dbPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashMapDestroy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:526,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pDbChange
    argTypes:
    - DBChange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 530
    functionName: freeDBChange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - hashMapDestroy
    - free
    linkageType: ''
    returnType: void
    signature: void freeDBChange(DBChange *pDbChange)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:536,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:542,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:546,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - stbChange
    argTypes:
    - StbChange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 552
    functionName: freeStbChange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - freeTbDes
    - free
    linkageType: ''
    returnType: void
    signature: void freeStbChange(StbChange *stbChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:563,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:566,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - colDes
    - from
    - num
    argTypes:
    - ColDes*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 574
    functionName: genPartStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - calloc
    - sprintf
    - strcat
    linkageType: ''
    returnType: char
    signature: char * genPartStr(ColDes *colDes, int from , int num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:585,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:589,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:598,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:600,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - recordSchema
    - tableDesSrv
    argTypes:
    - RecordSchema*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 614
    functionName: schemaNoChanged
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - infoPrint
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool schemaNoChanged(RecordSchema *recordSchema, TableDes *tableDesSrv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:619,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:621,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - colDes
    - tableDes
    argTypes:
    - ColDes*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 628
    functionName: findFieldInServer
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - debugPrint
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool findFieldInServer(ColDes *colDes, TableDes * tableDes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - des
    - src
    argTypes:
    - TableDes*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: copyTableDes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void copyTableDes(TableDes *des, TableDes* src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:649,1
    - Dst: schemaNoChanged
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:656,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:657,1
    - Dst: copyTableDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:658,1
    - Dst: findFieldInServer
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:671,1
    - Dst: findFieldInServer
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:679,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:691,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:693,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:698,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:699,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:706,1
    - Dst: genPartStr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:712,1
    - Dst: genPartStr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:713,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - pDbChange
    - pStbChange
    - recordSchema
    - tableDesSrv
    argTypes:
    - DBChange*
    - StbChange*
    - RecordSchema*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 721
    functionName: localCrossServer
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - findFieldInServer
    - calloc
    - strcpy
    - copyTableDes
    - errorPrint
    - schemaNoChanged
    - genPartStr
    - freeTbDes
    - infoPrint
    linkageType: ''
    returnType: int32_t
    signature: int32_t localCrossServer(DBChange *pDbChange, StbChange *pStbChange,
      RecordSchema *recordSchema, TableDes *tableDesSrv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:728,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:734,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:741,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:743,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:748,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:749,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:750,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:756,1
    - Dst: localCrossServer
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:761,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:762,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:763,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:764,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:767,1
    - Dst: hashMapInsert
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:776,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:777,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:779,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:782,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 5
    argNames:
    - pDbChange
    - dbName
    - taos
    - recordSchema
    - ppStbChange
    argTypes:
    - DBChange*
    - char*
    - TAOS*
    - RecordSchema*
    - StbChange**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 725
    functionDepth: 4
    functionLinenumber: 725
    functionLinenumberEnd: 789
    functionName: AddStbChanged
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 2
    functionsReached:
    - getTableDes
    - hashMapInsert
    - calloc
    - debugPrint
    - localCrossServer
    - free
    - infoPrint
    - freeTbDes
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: int32_t AddStbChanged(DBChange *pDbChange, const char* dbName, TAOS
      *taos, RecordSchema *recordSchema, StbChange **ppStbChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashMapFind
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:799,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pDbChange
    - stbName
    argTypes:
    - DBChange*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: findStbChange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - hashMapFind
    linkageType: ''
    returnType: StbChange
    signature: StbChange * findStbChange(DBChange *pDbChange, char *stbName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:807,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:808,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:813,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:816,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:821,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:822,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:822,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:823,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - elements
    - cols
    argTypes:
    - json_t*
    - ColDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 833
    functionName: readStbSchemaCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - json_array_size
    - json_integer_value
    - strncpy
    - warnPrint
    - json_typeof
    - json_string_value
    - strcmp
    - json_array_get
    linkageType: ''
    returnType: int32_t
    signature: int32_t readStbSchemaCols( json_t *elements, ColDes *cols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:821,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:822,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:822,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:823,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 826
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - strncpy
    - json_string_value
    - strcmp
    - json_integer_value
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(element, key, value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:843,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:845,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:850,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:851,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:852,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:853,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:853,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:854,1
    - Dst: readStbSchemaCols
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:855,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:857,1
    - Dst: readStbSchemaCols
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:858,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:865,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - element
    - recordSchema
    argTypes:
    - json_t*
    - RecordSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 875
    functionName: readJsonStbSchema
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - readStbSchemaCols
    - json_integer_value
    - calloc
    - debugPrint
    - tstrncpy
    - json_string_value
    - errorPrint
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t readJsonStbSchema( json_t *element, RecordSchema *recordSchema)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:850,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:851,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:852,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:853,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:853,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:854,1
    - Dst: readStbSchemaCols
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:855,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:857,1
    - Dst: readStbSchemaCols
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 861
    functionName: json_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - readStbSchemaCols
    - json_integer_value
    - tstrncpy
    - json_string_value
    - strcmp
    linkageType: ''
    returnType: void
    signature: void json_object_foreach(element, key, value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:880,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:881,1
    - Dst: readFile
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:884,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:892,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:895,1
    - Dst: readJsonStbSchema
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:898,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:899,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:901,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - avroFile
    - recordSchema
    argTypes:
    - char*
    - RecordSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 878
    functionDepth: 4
    functionLinenumber: 878
    functionLinenumberEnd: 907
    functionName: mFileToRecordSchema
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - json_decref
    - strcpy
    - print_json
    - load_json
    - readFile
    - strcat
    - readJsonStbSchema
    - free
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: int32_t mFileToRecordSchema(char *avroFile, RecordSchema* recordSchema)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - idx
    - tableDes
    argTypes:
    - int16_t
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 924
    functionName: idxInBindTags
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool idxInBindTags(int16_t idx, TableDes* tableDes)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - idx
    - tableDes
    argTypes:
    - int16_t
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 941
    functionName: idxInBindCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool idxInBindCols(int16_t idx, TableDes* tableDes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:955,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:956,1
    - Dst: readFile
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:959,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:961,1
    - Dst: hashMapFind
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:966,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:968,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - folder
    - pDbChange
    argTypes:
    - char*
    - DBChange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 971
    functionName: readFolderStbName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - strcpy
    - debugPrint
    - readFile
    - strcat
    - hashMapFind
    - free
    linkageType: ''
    returnType: StbChange
    signature: StbChange * readFolderStbName(char *folder, DBChange *pDbChange)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tableDes
    - onlyColumn
    argTypes:
    - TableDes*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 996
    functionName: getTbDesJsonSize
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getTbDesJsonSize(TableDes *tableDes, bool onlyColumn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tableDes
    argTypes:
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1012
    functionName: getStbSchemaSize
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getStbSchemaSize(TableDes *tableDes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1020,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pstr
    - colDes
    - num
    argTypes:
    - char*
    - ColDes*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1029
    functionName: colDesToJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t colDesToJson(char *pstr, ColDes * colDes, uint32_t num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1035,1
    - Dst: getStbSchemaSize
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1035,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1039,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1047,1
    - Dst: colDesToJson
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1049,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1051,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1056,1
    - Dst: colDesToJson
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1058,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1060,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tableDes
    argTypes:
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1069
    functionName: tableDesToJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 2
    functionsReached:
    - calloc
    - colDesToJson
    - getStbSchemaSize
    - sprintf
    linkageType: ''
    returnType: char
    signature: char * tableDesToJson(TableDes *tableDes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1074,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1075,1
    - Dst: tableDesToJson
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1079,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1081,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1083,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - metaFileName
    - tableDes
    argTypes:
    - char*
    - TableDes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1089
    functionName: createNTableMFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - writeFile
    - strcpy
    - tableDesToJson
    - strcat
    - free
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: int32_t createNTableMFile(char * metaFileName, TableDes* tableDes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1096,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1097,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1105
    functionName: normalTableFolder
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool normalTableFolder(const char* dbPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: tools_cJSON_AddNullToObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tools_cJSON_AddNullToObject(object,name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: tools_cJSON_AddTrueToObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tools_cJSON_AddTrueToObject(object,name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: tools_cJSON_AddFalseToObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tools_cJSON_AddFalseToObject(object,name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - object
    - ','
    - name
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: tools_cJSON_AddBoolToObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tools_cJSON_AddBoolToObject(object,name,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - object
    - ','
    - name
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: tools_cJSON_AddNumberToObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tools_cJSON_AddNumberToObject(object,name,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - object
    - ','
    - name
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: tools_cJSON_AddStringToObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tools_cJSON_AddStringToObject(object,name,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - object
    - ','
    - name
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: tools_cJSON_AddRawToObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tools_cJSON_AddRawToObject(object,name,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: tools_cJSON_SetIntValue
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tools_cJSON_SetIntValue(object, number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: tools_cJSON_SetNumberValue
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tools_cJSON_SetNumberValue(object, number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - element
    - ','
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: tools_cJSON_ArrayForEach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/inc/toolscJson.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tools_cJSON_ArrayForEach(element, array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tools_cJSON_GetErrorPtr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_GetErrorPtr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: tools_cJSON_Version
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_Version(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:85,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:85,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:93,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - string1
    - string2
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: case_insensitive_strcmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int case_insensitive_strcmp(const unsigned char *string1, const unsigned
      char *string2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:115,1
    - Dst: internal_hooks*::allocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:116,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - string
    - hooks
    argTypes:
    - unsigned char*
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: tools_cJSON_strdup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - strlen
    - internal_hooks*::allocate
    - memcpy
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * tools_cJSON_strdup(const unsigned char* string, const
      internal_hooks * const hooks)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - hooks
    argTypes:
    - tools_cJSON_Hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 154
    functionName: tools_cJSON_InitHooks
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_InitHooks(tools_cJSON_Hooks* hooks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_hooks*::allocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:159,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hooks
    argTypes:
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: tools_cJSON_New_Item
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - internal_hooks*::allocate
    - memset
    linkageType: ''
    returnType: tools_cJSON
    signature: tools_cJSON *tools_cJSON_New_Item(const internal_hooks * const hooks)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:177,1
    - Dst: deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:181,1
    - Dst: deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:185,1
    - Dst: deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 190
    functionName: tools_cJSON_Delete
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 13
    functionsReached:
    - tools_cJSON_Delete
    - deallocate
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_Delete(tools_cJSON *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: get_decimal_point
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - localeconv
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char get_decimal_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: can_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: can_read(buffer, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: cannot_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cannot_read(buffer, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: can_access_at_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: can_access_at_index(buffer, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: cannot_access_at_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cannot_access_at_index(buffer, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: buffer_at_offset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: buffer_at_offset(buffer)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: get_decimal_point
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:223,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:235,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:237,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:249,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:256,1
    - Dst: strtod
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:271,1
    - Dst: strtoll
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:293,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - tools_cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 301
    functionName: parse_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - get_decimal_point
    - can_access_at_index
    - strtoll
    - strtod
    - buffer_at_offset
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: tools_cJSON_bool parse_number(tools_cJSON * const item, parse_buffer
      * const input_buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - object
    - number
    argTypes:
    - tools_cJSON*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 320
    functionName: tools_cJSON_SetNumberHelper
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_SetNumberHelper(tools_cJSON *object, double number)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printbuffer*::hooks::reallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:387,1
    - Dst: printbuffer*::hooks::deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:390,1
    - Dst: printbuffer*::hooks::allocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:400,1
    - Dst: printbuffer*::hooks::deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:403,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:411,1
    - Dst: printbuffer*::hooks::deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:413,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - p
    - needed
    argTypes:
    - printbuffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 419
    functionName: ensure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - printbuffer*::hooks::deallocate
    - memcpy
    - printbuffer*::hooks::allocate
    - printbuffer*::hooks::reallocate
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * ensure(printbuffer * const p, size_t needed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 432
    functionName: update_offset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void update_offset(printbuffer * const buffer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_decimal_point
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:442,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:453,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:458,1
    - Dst: sscanf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:461,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:464,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:475,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - tools_cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 498
    functionName: print_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - sprintf
    - get_decimal_point
    - ensure
    - sscanf
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: tools_cJSON_bool print_number(const tools_cJSON * const item, printbuffer
      * const output_buffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - input
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 534
    functionName: parse_hex4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned parse_hex4(const unsigned char * const input)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: parse_hex4
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:555,1
    - Dst: parse_hex4
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:583,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 3
    argNames:
    - input_pointer
    - input_end
    - output_pointer
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 656
    functionName: utf16_literal_to_utf8
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - parse_hex4
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char utf16_literal_to_utf8(const unsigned char * const input_pointer,
      const unsigned char * const input_end, unsigned char **output_pointer)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:661,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:662,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:667,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:697,1
    - Dst: parse_buffer*::hooks::allocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:698,1
    - Dst: utf16_literal_to_utf8
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:747,1
    - Dst: parse_buffer*::hooks::deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:776,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - tools_cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 785
    functionName: parse_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - buffer_at_offset
    - parse_buffer*::hooks::allocate
    - utf16_literal_to_utf8
    - parse_buffer*::hooks::deallocate
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: tools_cJSON_bool parse_string(tools_cJSON * const item, parse_buffer
      * const input_buffer)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:805,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:810,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:841,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:851,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:897,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 2
    argNames:
    - input
    - output_buffer
    argTypes:
    - unsigned char*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 907
    functionName: print_string_ptr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - strcpy
    - sprintf
    - memcpy
    - ensure
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: tools_cJSON_bool print_string_ptr(const unsigned char * const input,
      printbuffer * const output_buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_string_ptr
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item
    - p
    argTypes:
    - tools_cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 913
    functionName: print_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - print_string_ptr
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: tools_cJSON_bool print_string(const tools_cJSON * const item, printbuffer
      * const p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:931,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 942
    functionName: buffer_skip_whitespace
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - buffer_at_offset
    - can_access_at_index
    linkageType: ''
    returnType: parse_buffer
    signature: parse_buffer *buffer_skip_whitespace(parse_buffer * const buffer)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:960,1
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:964,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:970,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:970,1
    - Dst: buffer_skip_whitespace
      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:980,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:987,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:995,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - value
    - return_parse_end
    - require_null_terminated
    argTypes:
    - char*
    - char**
    - tools_cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 1022
    functionName: tools_cJSON_ParseWithOpts
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_New_Item
    - buffer_at_offset
    - parse_value
    - buffer_skip_whitespace
    - strlen
    - tools_cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_ParseWithOpts(const char *value, const char **return_parse_end,
      tools_cJSON_bool require_null_terminated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_ParseWithOpts
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 3
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: tools_cJSON_Parse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 4
    functionsReached:
    - tools_cJSON_ParseWithOpts
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_Parse(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1031
    functionName: cjson_min
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cjson_min(a, b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1037,1
    - Dst: internal_hooks*::allocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1040,1
    - Dst: print_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1049,1
    - Dst: update_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1053,1
    - Dst: internal_hooks*::reallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1058,1
    - Dst: internal_hooks*::allocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1066,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1071,1
    - Dst: cjson_min
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1071,1
    - Dst: internal_hooks*::deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1075,1
    - Dst: internal_hooks*::deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1083,1
    - Dst: internal_hooks*::deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1088,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - item
    - format
    - hooks
    argTypes:
    - tools_cJSON*
    - tools_cJSON_bool
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1092
    functionName: print
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - internal_hooks*::allocate
    - print_value
    - internal_hooks*::reallocate
    - memcpy
    - internal_hooks*::deallocate
    - cjson_min
    - memset
    - update_offset
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *print(const tools_cJSON * const item, tools_cJSON_bool
      format, const internal_hooks * const hooks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: tools_cJSON_Print
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 4
    functionsReached:
    - print
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_Print(const tools_cJSON *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1103
    functionName: tools_cJSON_PrintUnformatted
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 7
    functionsReached:
    - print
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_PrintUnformatted(const tools_cJSON *item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1114,1
    - Dst: print_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1126,1
    - Dst: deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - item
    - prebuffer
    - fmt
    argTypes:
    - tools_cJSON*
    - int
    - tools_cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1133
    functionName: tools_cJSON_PrintBuffered
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - print_value
    - allocate
    - deallocate
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_PrintBuffered(const tools_cJSON *item, int prebuffer,
      tools_cJSON_bool fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - item
    - buf
    - len
    - fmt
    argTypes:
    - tools_cJSON*
    - char*
    - int
    - tools_cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1152
    functionName: tools_cJSON_PrintPreallocated
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - print_value
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_PrintPreallocated(tools_cJSON *item, char *buf, const
      int len, const tools_cJSON_bool fmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: can_read
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1164,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1164,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1164,1
    - Dst: can_read
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1171,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1171,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1171,1
    - Dst: can_read
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1178,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1178,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1178,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1186,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1186,1
    - Dst: parse_string
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1188,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1191,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1191,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1191,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1191,1
    - Dst: parse_number
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1193,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1196,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1196,1
    - Dst: parse_array
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1198,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1201,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1201,1
    - Dst: parse_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1203,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - tools_cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1155
    functionDepth: 3
    functionLinenumber: 1155
    functionLinenumberEnd: 1208
    functionName: parse_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 1
    functionsReached:
    - parse_object
    - parse_array
    - can_read
    - can_access_at_index
    - parse_string
    - strncmp
    - buffer_at_offset
    - parse_number
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: tools_cJSON_bool parse_value(tools_cJSON * const item, parse_buffer
      * const input_buffer)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1223,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1228,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1232,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1237,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1241,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1246,1
    - Dst: print_number
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1250,1
    - Dst: printbuffer*::hooks::deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1259,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1264,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1265,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1270,1
    - Dst: print_string
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1275,1
    - Dst: print_array
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1278,1
    - Dst: print_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - tools_cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1211
    functionDepth: 3
    functionLinenumber: 1211
    functionLinenumberEnd: 1286
    functionName: print_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 3
    functionsReached:
    - print_number
    - memcpy
    - print_object
    - strcpy
    - print_array
    - ensure
    - strlen
    - printbuffer*::hooks::deallocate
    - print_string
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: tools_cJSON_bool print_value(const tools_cJSON * const item, printbuffer
      * const output_buffer)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1300,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1307,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1308,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1308,1
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1315,1
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1327,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1349,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1350,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1354,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1356,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1356,1
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1358,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1358,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1376,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - tools_cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1289
    functionDepth: 4
    functionLinenumber: 1289
    functionLinenumberEnd: 1380
    functionName: parse_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 1
    functionsReached:
    - can_access_at_index
    - tools_cJSON_New_Item
    - buffer_at_offset
    - cannot_access_at_index
    - parse_value
    - buffer_skip_whitespace
    - tools_cJSON_Delete
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: tools_cJSON_bool parse_array(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:1396,1
    - Dst: print_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1408,1
    - Dst: update_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1412,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1416,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - tools_cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1383
    functionDepth: 4
    functionLinenumber: 1383
    functionLinenumberEnd: 1442
    functionName: print_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 1
    functionsReached:
    - print_value
    - update_offset
    - ensure
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: tools_cJSON_bool print_array(const tools_cJSON * const item, printbuffer
      * const output_buffer)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1456,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1456,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1462,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1463,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1463,1
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1469,1
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1481,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1503,1
    - Dst: parse_string
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1504,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1508,1
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1514,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1514,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1521,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1522,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1526,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1528,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1528,1
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1530,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1530,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1547,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - tools_cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1445
    functionDepth: 4
    functionLinenumber: 1445
    functionLinenumberEnd: 1551
    functionName: parse_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 1
    functionsReached:
    - can_access_at_index
    - tools_cJSON_New_Item
    - buffer_at_offset
    - parse_string
    - cannot_access_at_index
    - parse_value
    - buffer_skip_whitespace
    - tools_cJSON_Delete
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: tools_cJSON_bool parse_object(tools_cJSON * const item, parse_buffer
      * const input_buffer)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1567,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1586,1
    - Dst: print_string_ptr
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1599,1
    - Dst: update_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1603,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1606,1
    - Dst: print_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1619,1
    - Dst: update_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1623,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1627,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1647,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - tools_cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1554
    functionDepth: 4
    functionLinenumber: 1554
    functionLinenumberEnd: 1665
    functionName: print_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 1
    functionsReached:
    - print_string_ptr
    - print_value
    - update_offset
    - ensure
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: tools_cJSON_bool print_object(const tools_cJSON * const item, printbuffer
      * const output_buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - array
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1689
    functionName: tools_cJSON_GetArraySize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_GetArraySize(const tools_cJSON *array)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - array
    - index
    argTypes:
    - tools_cJSON*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1708
    functionName: get_array_item
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tools_cJSON
    signature: tools_cJSON * get_array_item(const tools_cJSON *array, size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_array_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - array
    - index
    argTypes:
    - tools_cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1710
    functionDepth: 1
    functionLinenumber: 1710
    functionLinenumberEnd: 1718
    functionName: tools_cJSON_GetArrayItem
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 12
    functionsReached:
    - get_array_item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_GetArrayItem(const tools_cJSON *array, int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1732,1
    - Dst: case_insensitive_strcmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - object
    - name
    - case_sensitive
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1720
    functionDepth: 1
    functionLinenumber: 1720
    functionLinenumberEnd: 1746
    functionName: get_object_item
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - case_insensitive_strcmp
    - strcmp
    linkageType: ''
    returnType: tools_cJSON
    signature: tools_cJSON *get_object_item(const tools_cJSON * const object, const
      char * const name, const tools_cJSON_bool case_sensitive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1748
    functionDepth: 2
    functionLinenumber: 1748
    functionLinenumberEnd: 1751
    functionName: tools_cJSON_GetObjectItem
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 14
    functionsReached:
    - get_object_item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_GetObjectItem(const tools_cJSON * const object, const
      char * const string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1753
    functionDepth: 2
    functionLinenumber: 1753
    functionLinenumberEnd: 1756
    functionName: tools_cJSON_GetObjectItemCaseSensitive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - get_object_item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_GetObjectItemCaseSensitive(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:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1758
    functionDepth: 3
    functionLinenumber: 1758
    functionLinenumberEnd: 1761
    functionName: tools_cJSON_HasObjectItem
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_GetObjectItem
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_HasObjectItem(const tools_cJSON *object, const char
      *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prev
    - item
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1768
    functionName: suffix_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void suffix_object(tools_cJSON *prev, tools_cJSON *item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1779,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - item
    - hooks
    argTypes:
    - tools_cJSON*
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1790
    functionName: create_reference
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_New_Item
    - memcpy
    linkageType: ''
    returnType: tools_cJSON
    signature: tools_cJSON *create_reference(const tools_cJSON *item, const internal_hooks
      * const hooks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: suffix_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - array
    - item
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1793
    functionDepth: 1
    functionLinenumber: 1793
    functionLinenumberEnd: 1818
    functionName: tools_cJSON_AddItemToArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 6
    functionsReached:
    - suffix_object
    linkageType: ''
    returnType: void
    signature: 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:1828,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1831
    functionName: tools_cJSON_AddItemToObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 5
    functionsReached:
    - tools_cJSON_strdup
    - tools_cJSON_AddItemToObjectCS
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_AddItemToObject(tools_cJSON *object, const char *string,
      tools_cJSON *item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1849,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1854
    functionName: tools_cJSON_AddItemToObjectCS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 1
    functionsReached:
    - tools_cJSON_AddItemToArray
    - deallocate
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_AddItemToObjectCS(tools_cJSON *object, const char
      *string, tools_cJSON *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1866,1
    - Dst: create_reference
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - array
    - item
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1859
    functionDepth: 2
    functionLinenumber: 1859
    functionLinenumberEnd: 1867
    functionName: tools_cJSON_AddItemReferenceToArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_AddItemToArray
    - create_reference
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_AddItemReferenceToArray(tools_cJSON *array, tools_cJSON
      *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1876,1
    - Dst: create_reference
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1869
    functionDepth: 2
    functionLinenumber: 1869
    functionLinenumberEnd: 1877
    functionName: tools_cJSON_AddItemReferenceToObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_AddItemToObject
    - create_reference
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_AddItemReferenceToObject(tools_cJSON *object, const
      char *string, tools_cJSON *item)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - parent
    - item
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1907
    functionName: tools_cJSON_DetachItemViaPointer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void 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:1916,1
    - Dst: get_array_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - array
    - which
    argTypes:
    - tools_cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1909
    functionDepth: 1
    functionLinenumber: 1909
    functionLinenumberEnd: 1917
    functionName: tools_cJSON_DetachItemFromArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_DetachItemViaPointer
    - get_array_item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_DetachItemFromArray(tools_cJSON *array, int which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1921,1
    - Dst: tools_cJSON_DetachItemFromArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - array
    - which
    argTypes:
    - tools_cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1919
    functionDepth: 2
    functionLinenumber: 1919
    functionLinenumberEnd: 1922
    functionName: tools_cJSON_DeleteItemFromArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_Delete
    - tools_cJSON_DetachItemFromArray
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_DeleteItemFromArray(tools_cJSON *array, int which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1926,1
    - Dst: tools_cJSON_DetachItemViaPointer
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1924
    functionDepth: 3
    functionLinenumber: 1924
    functionLinenumberEnd: 1929
    functionName: tools_cJSON_DetachItemFromObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_GetObjectItem
    - tools_cJSON_DetachItemViaPointer
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_DetachItemFromObject(tools_cJSON *object, const char
      *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItemCaseSensitive
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1933,1
    - Dst: tools_cJSON_DetachItemViaPointer
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1931
    functionDepth: 3
    functionLinenumber: 1931
    functionLinenumberEnd: 1936
    functionName: tools_cJSON_DetachItemFromObjectCaseSensitive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_DetachItemViaPointer
    - tools_cJSON_GetObjectItemCaseSensitive
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_DetachItemFromObjectCaseSensitive(tools_cJSON *object,
      const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1940,1
    - Dst: tools_cJSON_DetachItemFromObject
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1938
    functionDepth: 4
    functionLinenumber: 1938
    functionLinenumberEnd: 1941
    functionName: tools_cJSON_DeleteItemFromObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_Delete
    - tools_cJSON_DetachItemFromObject
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_DeleteItemFromObject(tools_cJSON *object, const char
      *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1945,1
    - Dst: tools_cJSON_DetachItemFromObjectCaseSensitive
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1943
    functionDepth: 4
    functionLinenumber: 1943
    functionLinenumberEnd: 1946
    functionName: tools_cJSON_DeleteItemFromObjectCaseSensitive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_Delete
    - tools_cJSON_DetachItemFromObjectCaseSensitive
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_DeleteItemFromObjectCaseSensitive(tools_cJSON *object,
      const char *string)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_array_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1958,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - array
    - which
    - newitem
    argTypes:
    - tools_cJSON*
    - int
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1949
    functionDepth: 2
    functionLinenumber: 1949
    functionLinenumberEnd: 1976
    functionName: tools_cJSON_InsertItemInArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_AddItemToArray
    - get_array_item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_InsertItemInArray(tools_cJSON *array, int which, tools_cJSON
      *newitem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2008,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - parent
    - item
    - replacement
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1978
    functionDepth: 2
    functionLinenumber: 1978
    functionLinenumberEnd: 2011
    functionName: tools_cJSON_ReplaceItemViaPointer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_ReplaceItemViaPointer(tools_cJSON * const parent,
      tools_cJSON * const item, tools_cJSON * replacement)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_ReplaceItemViaPointer
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2020,1
    - Dst: get_array_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array
    - which
    - newitem
    argTypes:
    - tools_cJSON*
    - int
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2013
    functionDepth: 3
    functionLinenumber: 2013
    functionLinenumberEnd: 2021
    functionName: tools_cJSON_ReplaceItemInArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_ReplaceItemViaPointer
    - get_array_item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_ReplaceItemInArray(tools_cJSON *array, int which,
      tools_cJSON *newitem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_free
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2033,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2035,1
    - Dst: tools_cJSON_ReplaceItemViaPointer
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2038,1
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - object
    - string
    - replacement
    - case_sensitive
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    - tools_cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 2023
    functionDepth: 3
    functionLinenumber: 2023
    functionLinenumberEnd: 2041
    functionName: replace_item_in_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_ReplaceItemViaPointer
    - tools_cJSON_strdup
    - get_object_item
    - tools_cJSON_free
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 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: replace_item_in_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - newitem
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2043
    functionDepth: 4
    functionLinenumber: 2043
    functionLinenumberEnd: 2046
    functionName: tools_cJSON_ReplaceItemInObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - replace_item_in_object
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_ReplaceItemInObject(tools_cJSON *object, const char
      *string, tools_cJSON *newitem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_item_in_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - newitem
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2048
    functionDepth: 4
    functionLinenumber: 2048
    functionLinenumberEnd: 2051
    functionName: tools_cJSON_ReplaceItemInObjectCaseSensitive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - replace_item_in_object
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_ReplaceItemInObjectCaseSensitive(tools_cJSON *object,
      const char *string, tools_cJSON *newitem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2063
    functionName: tools_cJSON_CreateNull
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_CreateNull(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2065
    functionDepth: 1
    functionLinenumber: 2065
    functionLinenumberEnd: 2074
    functionName: tools_cJSON_CreateTrue
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_CreateTrue(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2076
    functionDepth: 1
    functionLinenumber: 2076
    functionLinenumberEnd: 2085
    functionName: tools_cJSON_CreateFalse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_CreateFalse(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - tools_cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2087
    functionDepth: 1
    functionLinenumber: 2087
    functionLinenumberEnd: 2096
    functionName: tools_cJSON_CreateBool
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void 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:2100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2098
    functionDepth: 1
    functionLinenumber: 2098
    functionLinenumberEnd: 2122
    functionName: tools_cJSON_CreateNumber
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_CreateNumber(double num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2126,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2130,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2124
    functionDepth: 2
    functionLinenumber: 2124
    functionLinenumberEnd: 2139
    functionName: tools_cJSON_CreateString
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_New_Item
    - tools_cJSON_strdup
    - tools_cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_CreateString(const char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2143,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2147,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - raw
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2141
    functionDepth: 2
    functionLinenumber: 2141
    functionLinenumberEnd: 2156
    functionName: tools_cJSON_CreateRaw
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - tools_cJSON_New_Item
    - tools_cJSON_strdup
    - tools_cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_CreateRaw(const char *raw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2158
    functionDepth: 1
    functionLinenumber: 2158
    functionLinenumberEnd: 2167
    functionName: tools_cJSON_CreateArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 5
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_CreateArray(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2169
    functionDepth: 1
    functionLinenumber: 2169
    functionLinenumberEnd: 2178
    functionName: tools_cJSON_CreateObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 8
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_CreateObject(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2193,1
    - Dst: tools_cJSON_CreateNumber
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2196,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2199,1
    - Dst: suffix_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2181
    functionDepth: 2
    functionLinenumber: 2181
    functionLinenumberEnd: 2214
    functionName: tools_cJSON_CreateIntArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - suffix_object
    - tools_cJSON_CreateNumber
    - tools_cJSON_CreateArray
    - tools_cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void 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:2228,1
    - Dst: tools_cJSON_CreateNumber
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2232,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2235,1
    - Dst: suffix_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2216
    functionDepth: 2
    functionLinenumber: 2216
    functionLinenumberEnd: 2250
    functionName: tools_cJSON_CreateFloatArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - suffix_object
    - tools_cJSON_CreateNumber
    - tools_cJSON_CreateArray
    - tools_cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void 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:2264,1
    - Dst: tools_cJSON_CreateNumber
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2268,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2271,1
    - Dst: suffix_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2252
    functionDepth: 2
    functionLinenumber: 2252
    functionLinenumberEnd: 2286
    functionName: tools_cJSON_CreateDoubleArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - suffix_object
    - tools_cJSON_CreateNumber
    - tools_cJSON_CreateArray
    - tools_cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_CreateDoubleArray(const double *numbers, int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2300,1
    - Dst: tools_cJSON_CreateString
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2304,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2307,1
    - Dst: suffix_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - strings
    - count
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2288
    functionDepth: 3
    functionLinenumber: 2288
    functionLinenumberEnd: 2322
    functionName: tools_cJSON_CreateStringArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - suffix_object
    - tools_cJSON_CreateString
    - tools_cJSON_CreateArray
    - tools_cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_CreateStringArray(const char **strings, int count)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2338,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2349,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2357,1
    - Dst: tools_cJSON_Duplicate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2372,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2398,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 2
    argNames:
    - item
    - recurse
    argTypes:
    - tools_cJSON*
    - tools_cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2325
    functionDepth: 2
    functionLinenumber: 2325
    functionLinenumberEnd: 2402
    functionName: tools_cJSON_Duplicate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 3
    functionsReached:
    - tools_cJSON_New_Item
    - tools_cJSON_strdup
    - tools_cJSON_Delete
    - tools_cJSON_Duplicate
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_Duplicate(const tools_cJSON *item, tools_cJSON_bool
      recurse)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 1
    argNames:
    - json
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2404
    functionDepth: 0
    functionLinenumber: 2404
    functionLinenumberEnd: 2472
    functionName: tools_cJSON_Minify
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_Minify(char *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2474
    functionDepth: 0
    functionLinenumber: 2474
    functionLinenumberEnd: 2482
    functionName: tools_cJSON_IsInvalid
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_IsInvalid(const tools_cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2492
    functionName: tools_cJSON_IsFalse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_IsFalse(const tools_cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2502
    functionName: tools_cJSON_IsTrue
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_IsTrue(const tools_cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2513
    functionName: tools_cJSON_IsBool
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_IsBool(const tools_cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2522
    functionName: tools_cJSON_IsNull
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_IsNull(const tools_cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2532
    functionName: tools_cJSON_IsNumber
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_IsNumber(const tools_cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2534
    functionDepth: 0
    functionLinenumber: 2534
    functionLinenumberEnd: 2542
    functionName: tools_cJSON_IsString
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_IsString(const tools_cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2552
    functionName: tools_cJSON_IsArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_IsArray(const tools_cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2562
    functionName: tools_cJSON_IsObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_IsObject(const tools_cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2572
    functionName: tools_cJSON_IsRaw
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_IsRaw(const tools_cJSON * const item)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_IsInvalid
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2576,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2625,1
    - Dst: tools_cJSON_Compare
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2639,1
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2663,1
    - Dst: tools_cJSON_Compare
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2669,1
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2679,1
    - Dst: tools_cJSON_Compare
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2685,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 3
    argNames:
    - a
    - b
    - case_sensitive
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    - tools_cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2574
    functionDepth: 2
    functionLinenumber: 2574
    functionLinenumberEnd: 2697
    functionName: tools_cJSON_Compare
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 1
    functionsReached:
    - tools_cJSON_IsInvalid
    - get_object_item
    - strcmp
    - tools_cJSON_Compare
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_Compare(const tools_cJSON * const a, const tools_cJSON
      * const b, const tools_cJSON_bool case_sensitive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2663,1
    - Dst: tools_cJSON_Compare
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2660
    functionDepth: 3
    functionLinenumber: 2660
    functionLinenumberEnd: 2673
    functionName: tools_cJSON_ArrayForEach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - get_object_item
    - tools_cJSON_Compare
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_ArrayForEach(a_element, a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2679,1
    - Dst: tools_cJSON_Compare
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2677
    functionDepth: 3
    functionLinenumber: 2677
    functionLinenumberEnd: 2689
    functionName: tools_cJSON_ArrayForEach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - get_object_item
    - tools_cJSON_Compare
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_ArrayForEach(b_element, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2702
    functionName: tools_cJSON_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 0
    functionsReached:
    - allocate
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deallocate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2704
    functionDepth: 0
    functionLinenumber: 2704
    functionLinenumberEnd: 2707
    functionName: tools_cJSON_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: 1
    functionsReached:
    - deallocate
    linkageType: ''
    returnType: void
    signature: void tools_cJSON_free(void *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maj
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: __GNUC_PREREQ
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __GNUC_PREREQ(maj, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ch1
    - ','
    - ch2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: SWAP_FLAGS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP_FLAGS(ch1, ch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: _
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(A)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:195,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:200,1
    - Dst: __mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:200,1
    - Dst: SWAP_FLAGS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:223,1
    - Dst: SWAP_FLAGS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:240,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - argv
    - d
    argTypes:
    - char**
    - struct _getopt_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 251
    functionName: exchange
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: 0
    functionsReached:
    - memset
    - SWAP_FLAGS
    - __mempcpy
    - malloc
    linkageType: ''
    returnType: void
    signature: void exchange (char **argv, struct _getopt_data *d)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:267,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:298,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:302,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:306,1
    - Dst: __mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:306,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - argc
    - argv
    - optstring
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct _getopt_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 317
    functionName: _getopt_initialize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: 0
    functionsReached:
    - memset
    - getenv
    - __mempcpy
    - strlen
    - malloc
    linkageType: ''
    returnType: char
    signature: "char *\n_getopt_initialize (int argc, char *const *argv, const char
      *optstring,\n\t\t    struct _getopt_data *d)"
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_initialize
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:393,1
    - Dst: exchange
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:427,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:444,1
    - Dst: exchange
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:450,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:506,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:522,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:525,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:554,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:554,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:557,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:562,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:565,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:567,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:570,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:570,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:574,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:603,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:603,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:607,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:607,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:616,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:616,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:621,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:621,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:631,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:637,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:640,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:642,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:647,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:664,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:664,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:668,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:674,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:677,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:679,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:682,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:683,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:687,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:692,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:708,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:721,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:721,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:724,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:724,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:732,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:732,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:735,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:735,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:743,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:748,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:751,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:753,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:768,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:784,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:784,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:787,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:787,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:793,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:798,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:801,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:803,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:836,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:837,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:840,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:845,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:848,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:850,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:853,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:854,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:880,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:882,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:907,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:907,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:910,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:915,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:918,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:920,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:923,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:923,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:927,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:947,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:947,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:951,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:957,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:960,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:962,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:965,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:965,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:971,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:986,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:986,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:990,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:996,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:999,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1001,1
    - Dst: fprintf
      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:1005,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1009,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1013,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1057,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1057,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1061,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1066,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1069,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1071,1
    - Dst: fprintf
      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:1075,1
    CyclomaticComplexity: 124
    EdgeCount: 124
    ICount: 323
    argCount: 7
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    - struct _getopt_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 1094
    functionName: _getopt_internal_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: 0
    functionsReached:
    - fprintf
    - _
    - _IO_funlockfile
    - exchange
    - strncmp
    - _IO_flockfile
    - __fxprintf
    - strchr
    - free
    - _getopt_initialize
    - strlen
    - __asprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int _getopt_internal_r (int argc, char *const *argv, const char *optstring,\n\t\t
      \   const struct option *longopts, int *longind,\n\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:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1113
    functionName: _getopt_internal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_internal (int argc, char *const *argv, const char *optstring,\n\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:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1115
    functionDepth: 4
    functionLinenumber: 1115
    functionLinenumberEnd: 1122
    functionName: getopt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: int getopt (int argc, char *const *argv, const char *optstring)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1141,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1158,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1160,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1164,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1168,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1172,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1179,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1185,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1187,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1188,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1191,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1131
    functionDepth: 5
    functionLinenumber: 1131
    functionLinenumberEnd: 1192
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: 0
    functionsReached:
    - printf
    - getopt
    - exit
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: sleep
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sleep(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: sleep
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sleep(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - domain
    - ','
    - msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: dgettext
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dgettext(domain, msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - domain
    - ','
    - msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: dgettext
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dgettext(domain, msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: gettext
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettext(msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: N_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(msgid)
  - 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:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - __state
    argTypes:
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: argp_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached:
    - argp_state_help
    linkageType: ''
    returnType: void
    signature: void argp_usage (const 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:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - __opt
    argTypes:
    - struct argp_option*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: _option_is_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached:
    - isprint
    linkageType: ''
    returnType: int
    signature: int _option_is_short (const struct argp_option *__opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - __opt
    argTypes:
    - struct argp_option*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: _option_is_end
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _option_is_end (const struct argp_option *__opt)
  - 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:172,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:175,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:188,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:206,1
    - Dst: sleep
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:208,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 215
    functionName: argp_default_parser
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached:
    - argp_state_help
    - strrchr
    - atoi
    - sleep
    linkageType: ''
    returnType: error_t
    signature: error_t argp_default_parser (int key, char *arg, 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:236,1
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:238,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:238,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 247
    functionName: argp_version_parser
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - dgettext
    - argp_error
    linkageType: ''
    returnType: error_t
    signature: 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/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - long_options
    - name
    argTypes:
    - struct option*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: find_long_option
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int find_long_option (struct option *long_options, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - group
    - state
    - key
    - arg
    argTypes:
    - struct group*
    - struct argp_state*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 319
    functionName: group_parse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error_t
    signature: 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:383,1
    - Dst: _option_is_short
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:392,1
    - Dst: find_long_option
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:406,1
    - Dst: convert_options
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:464,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 5
    argNames:
    - argp
    - parent
    - parent_index
    - group
    - cvt
    argTypes:
    - struct argp*
    - struct group*
    - unsigned
    - struct group*
    - struct parser_convert_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 468
    functionName: convert_options
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 1
    functionsReached:
    - _option_is_end
    - _option_is_short
    - find_long_option
    - convert_options
    linkageType: ''
    returnType: struct group
    signature: "struct group *\nconvert_options (const struct argp *argp,\n\t\t struct
      group *parent, unsigned parent_index,\n\t\t struct group *group, struct parser_convert_state
      *cvt)"
  - 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:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - parser
    - argp
    - flags
    argTypes:
    - struct parser*
    - struct argp*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 495
    functionName: parser_convert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached:
    - convert_options
    linkageType: ''
    returnType: void
    signature: 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:522,1
    - Dst: calc_sizes
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - argp
    - szs
    argTypes:
    - struct argp*
    - struct parser_sizes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 535
    functionName: calc_sizes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 1
    functionsReached:
    - _option_is_end
    - calc_sizes
    linkageType: ''
    returnType: void
    signature: 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:553,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:561,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:575,1
    - Dst: parser_convert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:576,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:578,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:609,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:632,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:634,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:639,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 6
    argNames:
    - parser
    - argp
    - argc
    - argv
    - flags
    - input
    argTypes:
    - struct parser*
    - struct argp*
    - int
    - char**
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 642
    functionName: parser_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached:
    - calc_sizes
    - group_parse
    - parser_convert
    - memset
    - strrchr
    - argp_short_program_name
    - malloc
    linkageType: ''
    returnType: error_t
    signature: "error_t parser_init (struct parser *parser, const struct argp *argp,\n\t
      \    int argc, char **argv, int flags, void *input)"
  - 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:665,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:669,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:686,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:687,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:703,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:708,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:719,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:726,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:731,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 4
    argNames:
    - parser
    - err
    - arg_ebadkey
    - end_index
    argTypes:
    - struct parser*
    - error_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 734
    functionName: parser_finalize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached:
    - fprintf
    - group_parse
    - argp_state_help
    - dgettext
    - free
    linkageType: ''
    returnType: error_t
    signature: "error_t parser_finalize (struct parser *parser,\n\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:758,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - parser
    - val
    argTypes:
    - struct parser*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 788
    functionName: parser_parse_arg
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached:
    - group_parse
    linkageType: ''
    returnType: error_t
    signature: error_t parser_parse_arg (struct parser *parser, char *val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:806,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:812,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:821,1
    - Dst: N_
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:831,1
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:833,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:834,1
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:840,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:842,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - parser
    - opt
    - val
    argTypes:
    - struct parser*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 847
    functionName: parser_parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached:
    - N_
    - group_parse
    - dgettext
    - strchr
    - argp_error
    linkageType: ''
    returnType: error_t
    signature: 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/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:874,1
    - Dst: _getopt_long_r
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:878,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:890,1
    - Dst: parser_parse_arg
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:930,1
    - Dst: parser_parse_opt
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:932,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - parser
    - arg_ebadkey
    argTypes:
    - struct parser*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 938
    functionName: parser_parse_next
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached:
    - _getopt_long_r
    - _getopt_long_only_r
    - parser_parse_opt
    - parser_parse_arg
    - strcmp
    linkageType: ''
    returnType: error_t
    signature: error_t parser_parse_next (struct parser *parser, int *arg_ebadkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:960,1
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:961,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:965,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:968,1
    - Dst: parser_init
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:981,1
    - Dst: parser_parse_next
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:987,1
    - Dst: parser_finalize
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:988,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - argp
    - argc
    - argv
    - flags
    - end_index
    - input
    argTypes:
    - struct argp*
    - int
    - char**
    - unsigned
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 946
    functionDepth: 4
    functionLinenumber: 946
    functionLinenumberEnd: 992
    functionName: argp_parse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 4
    functionsReached:
    - parser_init
    - parser_finalize
    - alloca
    - parser_parse_next
    - memset
    linkageType: ''
    returnType: error_t
    signature: "error_t argp_parse (const struct argp *argp, int argc, char **argv,
      unsigned flags,\n\t      int *end_index, void *input)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argp
    - state
    argTypes:
    - struct argp*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1010
    functionName: _argp_input
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      _argp_input (const struct argp *argp, const struct argp_state *state)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: isblank
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isblank(ch)
  - 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:50,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - __fs
    - __str
    - __len
    argTypes:
    - argp_fmtstream_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: argp_fmtstream_write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - _argp_fmtstream_ensure
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t argp_fmtstream_write (argp_fmtstream_t __fs, const char *__str,
      \n                      size_t __len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:63,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - __fs
    - __str
    argTypes:
    - argp_fmtstream_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: argp_fmtstream_puts
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 0
    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_ensure
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - __fs
    - __ch
    argTypes:
    - argp_fmtstream_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: argp_fmtstream_putc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - _argp_fmtstream_ensure
    linkageType: ''
    returnType: int
    signature: int argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch)
  - 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:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __lmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: argp_fmtstream_set_lmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 0
    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:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __rmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: argp_fmtstream_set_rmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 0
    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/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __wmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: argp_fmtstream_set_wmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 0
    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:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - __fs
    argTypes:
    - argp_fmtstream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: argp_fmtstream_point
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 0
    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:142,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:153,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - stream
    - lmargin
    - rmargin
    - wmargin
    argTypes:
    - FILE*
    - size_t
    - size_t
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 167
    functionName: argp_make_fmtstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: argp_fmtstream_t
    signature: "argp_fmtstream_t argp_make_fmtstream (FILE *stream,\n\t\t       size_t
      lmargin, size_t rmargin, ssize_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:174,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:177,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:179,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fs
    argTypes:
    - argp_fmtstream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: argp_fmtstream_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - _argp_fmtstream_update
    - free
    - fwrite
    linkageType: ''
    returnType: void
    signature: void argp_fmtstream_free (argp_fmtstream_t fs)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:205,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:207,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:216,1
    - Dst: memchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:223,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:263,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:289,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:299,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:310,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:323,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:343,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:353,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:354,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:373,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:378,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 97
    argCount: 1
    argNames:
    - fs
    argTypes:
    - argp_fmtstream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 396
    functionName: _argp_fmtstream_update
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 5
    functionsReached:
    - fwrite
    - putc
    - isblank
    - memset
    - memmove
    - memchr
    linkageType: ''
    returnType: void
    signature: void _argp_fmtstream_update (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:408,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:410,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:421,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - fs
    - amount
    argTypes:
    - struct argp_fmtstream*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 445
    functionName: _argp_fmtstream_ensure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 2
    functionsReached:
    - _argp_fmtstream_update
    - fwrite
    - realloc
    - memmove
    linkageType: ''
    returnType: int
    signature: int _argp_fmtstream_ensure (struct argp_fmtstream *fs, size_t amount)
  - 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:458,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:461,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:463,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fs
    - fmt
    argTypes:
    - struct argp_fmtstream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 473
    functionName: argp_fmtstream_printf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_end
    - _argp_fmtstream_ensure
    - va_start
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t argp_fmtstream_printf (struct argp_fmtstream *fs, const char
      *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __fs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: argp_fmtstream_lmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: argp_fmtstream_lmargin(__fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __fs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: argp_fmtstream_rmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: argp_fmtstream_rmargin(__fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __fs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: argp_fmtstream_wmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: argp_fmtstream_wmargin(__fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: getopt_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c
    functionUses: 0
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long (int argc, char *const *argv, const char *options,\n\t
      \    const struct option *long_options, int *opt_index)"
  - 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:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - struct _getopt_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: _getopt_long_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c
    functionUses: 1
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_long_r (int argc, char *const *argv, const char *options,\n\t\tconst
      struct option *long_options, int *opt_index,\n\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:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: getopt_long_only
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c
    functionUses: 0
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long_only (int argc, char *const *argv, const char *options,\n\t\t
      \ const struct option *long_options, int *opt_index)"
  - 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:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - struct _getopt_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: _getopt_long_only_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c
    functionUses: 1
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_long_only_r (int argc, char *const *argv, const char *options,\n\t\t
      \    const struct option *long_options, int *opt_index,\n\t\t     struct _getopt_data
      *d)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:127,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:135,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:138,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:152,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:154,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:158,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:162,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:166,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:170,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:177,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:183,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:185,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:186,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:189,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 190
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c
    functionUses: 0
    functionsReached:
    - getopt_long
    - printf
    - exit
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c:55,1
    - Dst: _itoa_word
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c:57,1
    - Dst: __getpid
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c:57,1
    - Dst: __builtin_expect
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c:64,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - env
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 74
    functionName: __getopt_clean_environment
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c
    functionUses: 0
    functionsReached:
    - memcpy
    - __getpid
    - strncmp
    - __builtin_expect
    - _itoa_word
    linkageType: ''
    returnType: void
    signature: void __getopt_clean_environment (char **env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - domain
    - ','
    - msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: dgettext
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dgettext(domain, msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - domain
    - ','
    - msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: dgettext
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dgettext(domain, msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: mempcpy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void * mempcpy(void* dest, const void* src, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:132,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - c_in
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: strchrnul
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - strlen
    - strchr
    linkageType: ''
    returnType: char
    signature: char * strchrnul (const char *s, int c_in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:146,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:149,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:151,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:154,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: strndup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    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/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:238,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:246,1
    - Dst: isalpha
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:248,1
    - Dst: isalnum
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:255,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:259,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:266,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:280,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:282,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:283,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:285,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:291,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:292,1
    - Dst: argp_failure
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:295,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:296,1
    - Dst: argp_failure
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:306,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:307,1
    - Dst: argp_failure
      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:319,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 325
    functionName: fill_in_uparams
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - isdigit
    - atoi
    - SKIPWS
    - argp_failure
    - dgettext
    - strncmp
    - isalnum
    - getenv
    - isalpha
    - strlen
    linkageType: ''
    returnType: void
    signature: void fill_in_uparams (const struct argp_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: SKIPWS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIPWS(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: ovisible
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ovisible(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: oalias
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: oalias(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: odoc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: odoc(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: oend
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: oend(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: oshort
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: oshort(opt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ch
    - beg
    - end
    argTypes:
    - char
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 417
    functionName: find_char
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_char (char ch, char *beg, char *end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:505,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:507,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:517,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:517,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:520,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:522,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:524,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:528,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:529,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:531,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:533,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:538,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:555,1
    - Dst: find_char
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:555,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:560,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:560,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - argp
    - cluster
    argTypes:
    - struct argp*
    - struct hol_cluster*
    assertStmts:
    - condition: (! oalias (opts))
      pos:
        line_end: 516
        line_start: 516
        source_file: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    - condition: (hol)
      pos:
        line_end: 506
        line_start: 506
        source_file: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    - condition: (hol->entries && hol->short_options)
      pos:
        line_end: 530
        line_start: 530
        source_file: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    - condition: (hol->num_entries <= SIZE_MAX / sizeof (struct hol_entry))
      pos:
        line_end: 532
        line_start: 532
        source_file: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    constantsTouched: []
    func_position:
      end: 566
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 566
    functionName: make_hol
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - oend
    - oshort
    - assert
    - find_char
    - oalias
    - malloc
    linkageType: ''
    returnType: struct hol
    signature: 'struct hol *

      make_hol (const struct argp *argp, struct hol_cluster *cluster)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - hol
    - group
    - header
    - index
    - parent
    - argp
    argTypes:
    - struct hol*
    - int
    - char*
    - int
    - struct hol_cluster*
    - struct argp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 590
    functionName: hol_add_cluster
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: struct hol_cluster
    signature: "struct hol_cluster *\nhol_add_cluster (struct hol *hol, int group,
      const char *header, int index,\n\t\t struct hol_cluster *parent, const struct
      argp *argp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:601,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:607,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:608,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - hol
    argTypes:
    - struct hol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 612
    functionName: hol_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hol_free (struct hol *hol)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:627,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:629,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - entry
    - domain
    - cookie
    argTypes:
    - struct hol_entry*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 637
    functionName: hol_entry_short_iterate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - oshort
    - ovisible
    - oalias
    linkageType: ''
    returnType: int
    signature: "int hol_entry_short_iterate (const struct hol_entry *entry,\n\t\t\t
      int (*func)(const struct argp_option *opt,\n\t\t\t\t     const struct argp_option
      *real,\n\t\t\t\t     const char *domain, void *cookie),\n\t\t\t const char *domain,
      void *cookie)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:654,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - entry
    - domain
    - cookie
    argTypes:
    - struct hol_entry*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 661
    functionName: hol_entry_long_iterate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - ovisible
    - oalias
    linkageType: ''
    returnType: int
    signature: "int hol_entry_long_iterate (const struct hol_entry *entry,\n\t\t\tint
      (*func)(const struct argp_option *opt,\n\t\t\t\t    const struct argp_option
      *real,\n\t\t\t\t    const char *domain, void *cookie),\n\t\t\tconst char *domain,
      void *cookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: until_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - oshort
    linkageType: ''
    returnType: int
    signature: "int until_short (const struct argp_option *opt, const struct argp_option
      *real,\n\t     const char *domain, void *cookie)"
  - 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:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct hol_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: hol_entry_first_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - hol_entry_short_iterate
    linkageType: ''
    returnType: char
    signature: char hol_entry_first_short (const struct hol_entry *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct hol_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 689
    functionName: hol_entry_first_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - ovisible
    linkageType: ''
    returnType: char
    signature: 'char *

      hol_entry_first_long (const struct hol_entry *entry)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:705,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - hol
    - name
    argTypes:
    - struct hol*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 714
    functionName: hol_find_entry
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - ovisible
    - strcmp
    linkageType: ''
    returnType: struct hol_entry
    signature: 'struct hol_entry *

      hol_find_entry (struct hol *hol, const char *name)'
  - 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:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - hol
    - name
    - group
    argTypes:
    - struct hol*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 724
    functionName: hol_set_group
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - hol_find_entry
    linkageType: ''
    returnType: void
    signature: void hol_set_group (struct hol *hol, const char *name, int group)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - group1
    - group2
    - eq
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 737
    functionName: group_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int group_cmp (int group1, int group2, int eq)
  - 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:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cl1
    - cl2
    argTypes:
    - struct hol_cluster*
    - struct hol_cluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 757
    functionName: hol_cluster_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - group_cmp
    linkageType: ''
    returnType: int
    signature: int hol_cluster_cmp (const struct hol_cluster *cl1, const struct hol_cluster
      *cl2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cl
    argTypes:
    - struct hol_cluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 767
    functionName: hol_cluster_base
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hol_cluster
    signature: 'struct hol_cluster *

      hol_cluster_base (struct hol_cluster *cl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cl1
    - cl2
    argTypes:
    - struct hol_cluster*
    - struct hol_cluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 777
    functionName: hol_cluster_is_child
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int hol_cluster_is_child (const struct hol_cluster *cl1,\n\t\t      const
      struct hol_cluster *cl2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:787,1
    - Dst: isalnum
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 795
    functionName: canon_doc_option
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - isalnum
    - isspace
    linkageType: ''
    returnType: int
    signature: int canon_doc_option (const char **name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:816,1
    - Dst: hol_cluster_base
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:816,1
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:819,1
    - Dst: hol_cluster_base
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:819,1
    - Dst: hol_cluster_cmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:822,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: hol_entry_first_short
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:829,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:830,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:831,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: hol_entry_first_long
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:833,1
    - Dst: canon_doc_option
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:836,1
    - Dst: canon_doc_option
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:838,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:846,1
    - Dst: _tolower
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:857,1
    - Dst: _tolower
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:857,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:859,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:859,1
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:869,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - entry1
    - entry2
    argTypes:
    - struct hol_entry*
    - struct hol_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 799
    functionDepth: 3
    functionLinenumber: 799
    functionLinenumberEnd: 870
    functionName: hol_entry_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - hol_entry_first_long
    - group_cmp
    - hol_cluster_base
    - tolower
    - hol_entry_first_short
    - strcasecmp
    - hol_cluster_cmp
    - odoc
    - canon_doc_option
    - _tolower
    linkageType: ''
    returnType: int
    signature: "int hol_entry_cmp (const struct hol_entry *entry1,\n\t       const
      struct hol_entry *entry2)"
  - 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:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entry1_v
    - entry2_v
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 873
    functionDepth: 4
    functionLinenumber: 873
    functionLinenumberEnd: 877
    functionName: hol_entry_qcmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - hol_entry_cmp
    linkageType: ''
    returnType: int
    signature: int hol_entry_qcmp (const void *entry1_v, const void *entry2_v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - hol
    argTypes:
    - struct hol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 888
    functionName: hol_sort
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void hol_sort (struct hol *hol)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:922,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:923,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:925,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:925,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:927,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:929,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:932,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:932,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:937,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:957,1
    - Dst: find_char
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:960,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:972,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:973,1
    - Dst: hol_free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:981,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - hol
    - more
    argTypes:
    - struct hol*
    - struct hol*
    assertStmts:
    - condition: (entries && short_options)
      pos:
        line_end: 926
        line_start: 926
        source_file: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    - condition: (num_entries <= SIZE_MAX / sizeof (struct hol_entry))
      pos:
        line_end: 928
        line_start: 928
        source_file: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    constantsTouched: []
    func_position:
      end: 982
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 982
    functionName: hol_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - mempcpy
    - hol_free
    - oshort
    - assert
    - free
    - strlen
    - find_char
    - malloc
    linkageType: ''
    returnType: void
    signature: void hol_append (struct hol *hol, struct hol *more)
  - 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:988,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - col
    argTypes:
    - argp_fmtstream_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 991
    functionName: indent_to
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - argp_fmtstream_putc
    - argp_fmtstream_point
    linkageType: ''
    returnType: void
    signature: void indent_to (argp_fmtstream_t stream, unsigned col)
  - 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:998,1
    - Dst: argp_fmtstream_rmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:999,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1000,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - ensure
    argTypes:
    - argp_fmtstream_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1003
    functionName: space
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 7
    functionsReached:
    - argp_fmtstream_putc
    - argp_fmtstream_rmargin
    - argp_fmtstream_point
    linkageType: ''
    returnType: void
    signature: void space (argp_fmtstream_t stream, size_t ensure)
  - 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:1015,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1016,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1018,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - real
    - req_fmt
    - opt_fmt
    - domain
    - stream
    argTypes:
    - struct argp_option*
    - char*
    - char*
    - char*
    - argp_fmtstream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1008
    functionDepth: 4
    functionLinenumber: 1008
    functionLinenumberEnd: 1021
    functionName: arg
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 2
    functionsReached:
    - dgettext
    - argp_fmtstream_printf
    linkageType: ''
    returnType: void
    signature: "void arg (const struct argp_option *real, const char *req_fmt, const
      char *opt_fmt,\n     const char *domain, argp_fmtstream_t stream)"
  - 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:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - doc
    - key
    - argp
    - state
    argTypes:
    - char*
    - int
    - struct argp*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1070
    functionName: filter_doc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - _argp_input
    linkageType: ''
    returnType: char
    signature: "char *\nfilter_doc (const char *doc, int key, const struct argp *argp,\n\t
      \   const struct argp_state *state)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1081,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1082,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1090,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1091,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1092,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1093,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1094,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1095,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1096,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - str
    - argp
    - pest
    argTypes:
    - char*
    - struct argp*
    - struct pentry_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1077
    functionDepth: 3
    functionLinenumber: 1077
    functionLinenumberEnd: 1104
    functionName: print_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - indent_to
    - filter_doc
    - argp_fmtstream_set_wmargin
    - argp_fmtstream_puts
    - dgettext
    - free
    - argp_fmtstream_set_lmargin
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: "void print_header (const char *str, const struct argp *argp,\n\t      struct
      pentry_state *pest)"
  - 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:1119,1
    - Dst: hol_cluster_is_child
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1124,1
    - Dst: argp_fmtstream_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1130,1
    - Dst: print_header
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1131,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1132,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1138,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - col
    - pest
    argTypes:
    - unsigned
    - struct pentry_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1110
    functionDepth: 4
    functionLinenumber: 1110
    functionLinenumberEnd: 1141
    functionName: comma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - indent_to
    - argp_fmtstream_set_wmargin
    - print_header
    - hol_cluster_is_child
    - argp_fmtstream_puts
    - argp_fmtstream_wmargin
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: void comma (unsigned col, 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:1153,1
    - Dst: argp_fmtstream_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1154,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1159,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1161,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1168,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1170,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1173,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1175,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_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1177,1
    - Dst: arg
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1179,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1189,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1192,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1194,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1196,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1200,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1201,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1209,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1211,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1213,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1214,1
    - Dst: arg
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1215,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1221,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1226,1
    - Dst: print_header
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1228,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1235,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1238,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1241,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1243,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1244,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1247,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1249,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1251,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1253,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1256,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1259,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1260,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1266,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1267,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 4
    argNames:
    - entry
    - state
    - stream
    - hhstate
    argTypes:
    - struct hol_entry*
    - struct argp_state*
    - argp_fmtstream_t
    - struct hol_help_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1144
    functionDepth: 5
    functionLinenumber: 1144
    functionLinenumberEnd: 1268
    functionName: hol_entry_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - filter_doc
    - argp_fmtstream_set_wmargin
    - ovisible
    - print_header
    - indent_to
    - argp_fmtstream_point
    - argp_fmtstream_puts
    - arg
    - dgettext
    - argp_fmtstream_wmargin
    - odoc
    - oshort
    - comma
    - free
    - argp_fmtstream_set_lmargin
    - argp_fmtstream_printf
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: "void hol_entry_help (struct hol_entry *entry, const struct argp_state
      *state,\n\t\targp_fmtstream_t stream, struct hol_help_state *hhstate)"
  - 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:1280,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1284,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1288,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1292,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1293,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1294,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - hol
    - state
    - stream
    argTypes:
    - struct hol*
    - struct argp_state*
    - argp_fmtstream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1271
    functionDepth: 6
    functionLinenumber: 1271
    functionLinenumberEnd: 1299
    functionName: hol_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - filter_doc
    - argp_fmtstream_puts
    - dgettext
    - free
    - argp_fmtstream_putc
    - hol_entry_help
    linkageType: ''
    returnType: void
    signature: "void hol_help (struct hol *hol, const struct argp_state *state,\n\t
      \ argp_fmtstream_t stream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1315
    functionName: add_argless_short_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int add_argless_short_opt (const struct argp_option *opt,\n\t\t       const
      struct argp_option *real,\n\t\t       const char *domain, void *cookie)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1333,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1336,1
    - Dst: space
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1341,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1341,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1319
    functionDepth: 4
    functionLinenumber: 1319
    functionLinenumberEnd: 1347
    functionName: usage_argful_short_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - strlen
    - space
    - dgettext
    - argp_fmtstream_printf
    linkageType: ''
    returnType: int
    signature: "int usage_argful_short_opt (const struct argp_option *opt,\n\t\t\tconst
      struct argp_option *real,\n\t\t\tconst char *domain, void *cookie)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1367,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1369,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1371,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1351
    functionDepth: 4
    functionLinenumber: 1351
    functionLinenumberEnd: 1378
    functionName: usage_long_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - dgettext
    - argp_fmtstream_printf
    linkageType: ''
    returnType: int
    signature: "int usage_long_opt (const struct argp_option *opt,\n\t\tconst struct
      argp_option *real,\n\t\tconst char *domain, void *cookie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1388,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1388,1
    - Dst: hol_entry_short_iterate
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1395,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1400,1
    - Dst: hol_entry_short_iterate
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1407,1
    - Dst: hol_entry_long_iterate
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - hol
    - stream
    argTypes:
    - struct hol*
    - argp_fmtstream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1381
    functionDepth: 4
    functionLinenumber: 1381
    functionLinenumberEnd: 1417
    functionName: hol_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - alloca
    - argp_fmtstream_printf
    - hol_entry_short_iterate
    - strlen
    - hol_entry_long_iterate
    linkageType: ''
    returnType: void
    signature: void hol_usage (struct hol *hol, argp_fmtstream_t stream)
  - 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:1425,1
    - Dst: hol_add_cluster
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1432,1
    - Dst: hol_append
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1436,1
    - Dst: argp_hol
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - argp
    - cluster
    argTypes:
    - struct argp*
    - struct hol_cluster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1421
    functionDepth: 2
    functionLinenumber: 1421
    functionLinenumberEnd: 1440
    functionName: argp_hol
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 1
    functionsReached:
    - argp_hol
    - make_hol
    - hol_append
    - hol_add_cluster
    linkageType: ''
    returnType: struct hol
    signature: 'struct hol *

      argp_hol (const struct argp *argp, struct hol_cluster *cluster)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1450,1
    - Dst: argp_args_levels
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1458
    functionName: argp_args_levels
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 1
    functionsReached:
    - strchr
    - argp_args_levels
    linkageType: ''
    returnType: size_t
    signature: size_t argp_args_levels (const struct argp *argp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1472,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1473,1
    - Dst: strchrnul
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1478,1
    - Dst: strchrnul
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1486,1
    - Dst: space
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1492,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1494,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1497,1
    - Dst: argp_args_usage
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1501,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - argp
    - state
    - levels
    - advance
    - stream
    argTypes:
    - struct argp*
    - struct argp_state*
    - char**
    - int
    - argp_fmtstream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1465
    functionDepth: 3
    functionLinenumber: 1465
    functionLinenumberEnd: 1518
    functionName: argp_args_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 1
    functionsReached:
    - strchrnul
    - filter_doc
    - space
    - argp_args_usage
    - argp_fmtstream_write
    - dgettext
    - free
    linkageType: ''
    returnType: int
    signature: "int argp_args_usage (const struct argp *argp, const struct argp_state
      *state,\n\t\t char **levels, int advance, argp_fmtstream_t stream)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1537,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1542,1
    - Dst: strndup
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1554,1
    - Dst: _argp_input
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1555,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1568,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1571,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1573,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1575,1
    - Dst: argp_fmtstream_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1575,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1576,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1582,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1584,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1593,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1594,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1595,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1596,1
    - Dst: argp_fmtstream_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1597,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1598,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1606,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 43
    argCount: 6
    argNames:
    - argp
    - state
    - post
    - pre_blank
    - first_only
    - stream
    argTypes:
    - struct argp*
    - struct argp_state*
    - int
    - int
    - int
    - argp_fmtstream_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1527
    functionDepth: 3
    functionLinenumber: 1527
    functionLinenumberEnd: 1611
    functionName: argp_doc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 1
    functionsReached:
    - argp_fmtstream_lmargin
    - argp_fmtstream_point
    - argp_fmtstream_puts
    - argp_fmtstream_write
    - dgettext
    - _argp_input
    - strndup
    - strchr
    - free
    - argp_fmtstream_putc
    - argp_doc
    linkageType: ''
    returnType: int
    signature: "int argp_doc (const struct argp *argp, const struct argp_state *state,\n\t
      \ int post, int pre_blank, int first_only,\n\t  argp_fmtstream_t stream)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fill_in_uparams
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1628,1
    - Dst: argp_make_fmtstream
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1630,1
    - Dst: argp_hol
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1639,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: hol_set_group
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1643,1
    - Dst: hol_sort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1645,1
    - Dst: argp_args_levels
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1652,1
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1653,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1655,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1660,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1664,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1665,1
    - Dst: argp_fmtstream_printf
      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:1669,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1674,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1680,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1680,1
    - Dst: hol_usage
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1686,1
    - Dst: argp_args_usage
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1690,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1692,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1693,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1695,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1704,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1708,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1708,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1721,1
    - Dst: hol_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1722,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1729,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1734,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1735,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1735,1
    - Dst: hol_free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1743,1
    - Dst: argp_fmtstream_free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1745,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 5
    argNames:
    - argp
    - state
    - stream
    - flags
    - name
    argTypes:
    - struct argp*
    - struct argp_state*
    - FILE*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1617
    functionDepth: 7
    functionLinenumber: 1617
    functionLinenumberEnd: 1746
    functionName: _help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 5
    functionsReached:
    - hol_help
    - argp_fmtstream_set_wmargin
    - alloca
    - argp_fmtstream_puts
    - memset
    - argp_fmtstream_printf
    - argp_fmtstream_set_lmargin
    - argp_doc
    - hol_sort
    - hol_set_group
    - argp_args_usage
    - argp_make_fmtstream
    - argp_fmtstream_putc
    - argp_args_levels
    - hol_usage
    - argp_fmtstream_free
    - argp_hol
    - dgettext
    - fill_in_uparams
    - hol_free
    linkageType: ''
    returnType: void
    signature: "void _help (const struct argp *argp, const struct argp_state *state,
      FILE *stream,\n       unsigned flags, char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - argp
    - stream
    - flags
    - name
    argTypes:
    - struct argp*
    - FILE*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1750
    functionDepth: 8
    functionLinenumber: 1750
    functionLinenumberEnd: 1754
    functionName: argp_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    functionsReached:
    - _help
    linkageType: ''
    returnType: void
    signature: "void argp_help (const struct argp *argp, FILE *stream,\n\t\t  unsigned
      flags, char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1760,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1765
    functionName: argp_basename
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 0
    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:1773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1767
    functionDepth: 1
    functionLinenumber: 1767
    functionLinenumberEnd: 1783
    functionName: argp_short_program_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 1
    functionsReached:
    - argp_basename
    linkageType: ''
    returnType: char
    signature: 'char *

      argp_short_program_name (void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1795,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1796,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1801,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1803,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - state
    - stream
    - flags
    argTypes:
    - struct argp_state*
    - FILE*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1787
    functionDepth: 8
    functionLinenumber: 1787
    functionLinenumberEnd: 1806
    functionName: argp_state_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 3
    functionsReached:
    - argp_short_program_name
    - _help
    - exit
    linkageType: ''
    returnType: void
    signature: void argp_state_help (const struct argp_state *state, FILE *stream,
      unsigned flags)
  - 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:1822,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1824,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1824,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:1827,1
    - Dst: vfprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1829,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1831,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1833,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - state
    - fmt
    argTypes:
    - struct argp_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1812
    functionDepth: 9
    functionLinenumber: 1812
    functionLinenumberEnd: 1838
    functionName: argp_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 2
    functionsReached:
    - putc
    - va_end
    - va_start
    - argp_state_help
    - vfprintf
    - 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:1859,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1859,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1866,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:1868,1
    - Dst: vfprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1870,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1872,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1881,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1882,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1884,1
    - Dst: strerror_r
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1884,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1886,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1886,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1890,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1894,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - state
    - status
    - errnum
    - fmt
    argTypes:
    - struct argp_state*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1848
    functionDepth: 2
    functionLinenumber: 1848
    functionLinenumberEnd: 1897
    functionName: argp_failure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: 1
    functionsReached:
    - putc
    - va_end
    - exit
    - va_start
    - strerror
    - vfprintf
    - strerror_r
    - argp_short_program_name
    - fputs
    linkageType: ''
    returnType: void
    signature: "void argp_failure (const struct argp_state *state, int status, int
      errnum,\n\t\tconst char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/test_argv0.c:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 7
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/test_argv0.c
    functionUses: 0
    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:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: do_test
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/tst-argp1.c
    functionUses: 0
    functionsReached:
    - argp_parse
    linkageType: ''
    returnType: int
    signature: int do_test (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/tst-argp1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: error_t
    signature: error_t parse_opt (int key, char *arg, struct argp_state *state)
  - 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:78,1
    - Dst: insque
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: add_temp_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c
    functionUses: 0
    functionsReached:
    - calloc
    - insque
    linkageType: ''
    returnType: void
    signature: void add_temp_file (const char *name)
  - 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:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: delete_temp_files
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c
    functionUses: 0
    functionsReached:
    - remove
    linkageType: ''
    returnType: void
    signature: void delete_temp_files (void)
  - 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:108,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:108,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:108,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:112,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:115,1
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:115,1
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:115,1
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:115,1
    - Dst: mkstemp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:117,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:120,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:121,1
    - Dst: add_temp_file
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - base
    - filename
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 130
    functionName: create_temp_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c
    functionUses: 0
    functionsReached:
    - strcpy
    - printf
    - mkstemp
    - free
    - add_temp_file
    - stpcpy
    - strlen
    - puts
    - malloc
    linkageType: ''
    returnType: int
    signature: int create_temp_file (const char *base, char **filename)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:141,1
    - Dst: waitpid
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:147,1
    - Dst: nanosleep
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:158,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:162,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:163,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:173,1
    - Dst: WIFSIGNALED
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:176,1
    - Dst: WTERMSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:176,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:177,1
    - Dst: WIFSTOPPED
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:178,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:179,1
    - Dst: strsignal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:180,1
    - Dst: WSTOPSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:180,1
    - Dst: WIFSIGNALED
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:181,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:182,1
    - Dst: strsignal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:183,1
    - Dst: WTERMSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:183,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:185,1
    - Dst: WEXITSTATUS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:186,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:189,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 190
    functionName: timeout_handler
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c
    functionUses: 0
    functionsReached:
    - WIFSTOPPED
    - exit
    - waitpid
    - WIFSIGNALED
    - fprintf
    - strsignal
    - kill
    - WEXITSTATUS
    - WTERMSIG
    - WSTOPSIG
    - perror
    - fputs
    - nanosleep
    linkageType: ''
    returnType: void
    signature: void timeout_handler (int sig __attribute__ ((unused)))
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: mallopt
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:203,1
    - Dst: setbuf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:206,1
    - Dst: getopt_long
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:209,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:213,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:227,1
    - Dst: strtoul
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:233,1
    - Dst: MAX
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:235,1
    - Dst: setenv
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:241,1
    - Dst: chdir
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:243,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:245,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:246,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:251,1
    - Dst: setvbuf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:257,1
    - Dst: atexit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:260,1
    - Dst: PREPARE
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:269,1
    - Dst: fork
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:281,1
    - Dst: setrlimit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:290,1
    - Dst: getrlimit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:296,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:301,1
    - Dst: setrlimit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:303,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:304,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:307,1
    - Dst: setpgid
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:312,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:315,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:319,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:320,1
    - Dst: signal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:328,1
    - Dst: alarm
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:329,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:332,1
    - Dst: waitpid
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:332,1
    - Dst: printf
      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:336,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:340,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:342,1
    - Dst: WTERMSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:349,1
    - Dst: WTERMSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:353,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:354,1
    - Dst: strsignal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:356,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:358,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:360,1
    - Dst: strsignal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:361,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:364,1
    - Dst: strsignal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:365,1
    - Dst: WTERMSIG
      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:366,1
    - Dst: WEXITSTATUS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:371,1
    - Dst: WEXITSTATUS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:373,1
    - Dst: fprintf
      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:376,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:377,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 85
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 193
    functionDepth: 5
    functionLinenumber: 193
    functionLinenumberEnd: 382
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c
    functionUses: 0
    functionsReached:
    - alarm
    - chdir
    - PREPARE
    - TEMP_FAILURE_RETRY
    - setrlimit
    - MAX
    - exit
    - atexit
    - signal
    - getrlimit
    - setpgid
    - WTERMSIG
    - setenv
    - setvbuf
    - MIN
    - waitpid
    - setbuf
    - getopt_long
    - printf
    - getenv
    - mallopt
    - fprintf
    - strsignal
    - strtoul
    - WEXITSTATUS
    - perror
    - fork
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - 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:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 9
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: do_test
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/tst-argp2.c
    functionUses: 0
    functionsReached:
    - argp_help
    linkageType: ''
    returnType: int
    signature: 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:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: do_test
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/bug-argp1.c
    functionUses: 0
    functionsReached:
    - argp_parse
    linkageType: ''
    returnType: int
    signature: int do_test (int argc, char *argv[])
  - 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:42,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: random
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: 0
    functionsReached:
    - rand_s
    - rand
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int random(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ret
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: asprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: asprintf(ret, fmt, ...)
  - 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:53,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:54,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:55,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:59,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:63,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:64,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ret
    - format
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: asprintf_impl
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - malloc
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int asprintf_impl(char **ret, const char *format, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:95,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:98,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 109
    functionName: sub_parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: error_t
    signature: error_t sub_parse_opt (int key, char *arg, struct argp_state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - key
    - text
    - input
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: sub_help_filter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: char
    signature: '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:169,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:170,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:172,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:174,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: popt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: 0
    functionsReached:
    - printf
    - sprintf
    - isprint
    linkageType: ''
    returnType: void
    signature: void popt (int key, char *arg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:187,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:193,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:198,1
    - Dst: popt
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:201,1
    - Dst: popt
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: 1
    functionsReached:
    - printf
    - popt
    - atoi
    linkageType: ''
    returnType: error_t
    signature: error_t parse_opt (int key, char *arg, struct argp_state *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      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:224,1
    - Dst: ctime
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:224,1
    - Dst: asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - key
    - text
    - input
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 234
    functionName: help_filter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: 0
    functionsReached:
    - ctime
    - asprintf
    - time
    linkageType: ''
    returnType: char
    signature: '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:246,1
    - Dst: argp_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:247,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 5
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: 0
    functionsReached:
    - random
    - argp_parse
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:35,1
    - Dst: snprintf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:39,1
    - Dst: snprintf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:44,1
    - Dst: snprintf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:46,1
    - Dst: snprintf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - start_idx
    - count
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: generate_table_list
    functionSourceFile: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c
    functionUses: 0
    functionsReached:
    - snprintf
    - malloc
    linkageType: ''
    returnType: char
    signature: char * generate_table_list(int start_idx, int count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generate_table_list
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:60,1
    - Dst: printf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:62,1
    - Dst: strlen
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:67,1
    - Dst: strlen
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:67,1
    - Dst: strlen
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:68,1
    - Dst: malloc
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:70,1
    - Dst: printf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:72,1
    - Dst: free
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:73,1
    - Dst: snprintf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:77,1
    - Dst: free
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: generate_sql_statements
    functionSourceFile: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c
    functionUses: 0
    functionsReached:
    - generate_table_list
    - printf
    - snprintf
    - free
    - strlen
    - malloc
    linkageType: ''
    returnType: int
    signature: int generate_sql_statements()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: free_sql_statements
    functionSourceFile: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_sql_statements()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - count
    - duration
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: calculate_qps
    functionSourceFile: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double calculate_qps(int count, double duration)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:118,1
    - Dst: fprintf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:120,1
    - Dst: dlerror
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:120,1
    - Dst: dlsym
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:124,1
    - Dst: dlsym
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:125,1
    - Dst: dlsym
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:126,1
    - Dst: dlsym
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:127,1
    - Dst: dlsym
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:128,1
    - Dst: dlsym
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:129,1
    - Dst: dlsym
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:130,1
    - Dst: fprintf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:134,1
    - Dst: dlerror
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:134,1
    - Dst: dlclose
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - lib_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: load_taos_functions
    functionSourceFile: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c
    functionUses: 0
    functionsReached:
    - dlopen
    - dlclose
    - fprintf
    - dlsym
    - dlerror
    linkageType: ''
    returnType: int
    signature: int load_taos_functions(const char* lib_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:145,1
    - Dst: atomic_fetch_sub
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:147,1
    - Dst: atomic_fetch_add
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:148,1
    - Dst: taos_free_result_func
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - param
    - res
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: queryCallback
    functionSourceFile: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_sub
    - printf
    - atomic_fetch_add
    - taos_free_result_func
    linkageType: ''
    returnType: void
    signature: void queryCallback(void* param, TAOS_RES* res, int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_init
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:157,1
    - Dst: atomic_init
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:158,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:160,1
    - Dst: atomic_load
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:162,1
    - Dst: atomic_load
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:163,1
    - Dst: atomic_fetch_add
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:164,1
    - Dst: taos_query_a_func
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:165,1
    - Dst: usleep
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:167,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:171,1
    - Dst: calculate_qps
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: query_thread
    functionSourceFile: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - taos_query_a_func
    - gettimeofday
    - atomic_init
    - usleep
    - calculate_qps
    - atomic_fetch_add
    linkageType: ''
    returnType: void
    signature: void * query_thread(void* arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:182,1
    - Dst: atoi
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:186,1
    - Dst: generate_sql_statements
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:220,1
    - Dst: printf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:265,1
    - Dst: load_taos_functions
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:269,1
    - Dst: fprintf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:270,1
    - Dst: malloc
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:276,1
    - Dst: malloc
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:277,1
    - Dst: malloc
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:278,1
    - Dst: printf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:281,1
    - Dst: printf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:284,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:288,1
    - Dst: taos_connect_func
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:291,1
    - Dst: fprintf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:293,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:308,1
    - Dst: fprintf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:309,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:315,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:318,1
    - Dst: printf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:327,1
    - Dst: printf
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:328,1
    - Dst: free
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:330,1
    - Dst: free
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:331,1
    - Dst: free
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:332,1
    - Dst: pthread_mutex_destroy
      Src: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c:333,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 90
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 335
    functionName: main
    functionSourceFile: /src/tdengine/tools/lastqps-test/taos_query_a_simple.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gettimeofday
    - pthread_mutex_destroy
    - malloc
    - atoi
    - taos_connect_func
    - printf
    - free
    - pthread_create
    - load_taos_functions
    - pthread_join
    - generate_sql_statements
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: callback
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * callback(void* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: FstEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: FstEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:28,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:28,1
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:29,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:29,1
    - Dst: fstBuilderCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: FstWriter::FstWriter
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - taosRemoveFile
    - idxFileCtxCreate
    - fstBuilderCreate
    - c_str
    linkageType: ''
    returnType: void
    signature: void FstWriter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:37,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:37,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:37,1
    - Dst: fstBuilderInsert
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:38,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - val
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: FstWriter::Put
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - fstSliceDestroy
    - c_str
    - fstSliceCreate
    - fstBuilderInsert
    - size
    linkageType: ''
    returnType: bool
    signature: bool Put(const std::string& key, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstBuilderDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:45,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ~FstWriter()
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - idxFileCtxDestroy
    - fstBuilderDestroy
    linkageType: ''
    returnType: void
    signature: void ~FstWriter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:58,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:58,1
    - Dst: idxFileCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:59,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: FstReadMemory::FstReadMemory
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - idxFileCreate
    - idxFileCtxCreate
    - memset
    - c_str
    linkageType: ''
    returnType: void
    signature: void FstReadMemory(int32_t size, const std::string& fileName = TD_TMP_DIR_PATH
      "tindex.tindex")
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:64,1
    - Dst: idxFileRead
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:65,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:70,1
    - Dst: fstCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:71,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: FstReadMemory::init
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - idxFileRead
    - taosMemoryFree
    - fstSliceCreate
    - fstCreate
    - taosMemoryCalloc
    linkageType: ''
    returnType: bool
    signature: bool init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:81,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:81,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:81,1
    - Dst: fstGet
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:82,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - val
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: FstReadMemory::Get
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - fstSliceDestroy
    - fstGet
    - c_str
    - fstSliceCreate
    - size
    linkageType: ''
    returnType: bool
    signature: bool Get(const std::string& key, uint64_t* val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:87,1
    - Dst: FstReadMemory::Get
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:88,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' key'
    - val
    - elapse
    argTypes:
    - std::string
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: FstReadMemory::GetWithTimeCostUs
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - FstReadMemory::Get
    linkageType: ''
    returnType: bool
    signature: bool GetWithTimeCostUs(const std::string& key, uint64_t* val, uint64_t*
      elapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:95,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:96,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:98,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:102,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:104,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:104,1
    - Dst: push_back
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:105,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:106,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:108,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - ' result'
    argTypes:
    - FAutoCtx*
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: FstReadMemory::Search
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - swsResultDestroy
    - push_back
    - stmBuilderDestroy
    - stmBuilderIntoStm
    - fstSliceData
    - std::string::c_str
    - stmStNextWith
    - printf
    - stmStDestroy
    - fstSearch
    linkageType: ''
    returnType: bool
    signature: bool Search(FAutoCtx* ctx, std::vector<uint64_t>& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:114,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:116,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:116,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:116,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:117,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:117,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:117,1
    - Dst: stmBuilderSetRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:120,1
    - Dst: stmBuilderSetRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:121,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:123,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:124,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:126,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:128,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:132,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:134,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:134,1
    - Dst: push_back
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:135,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:136,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:138,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - ctx
    - ' low'
    - lowType
    - ' high'
    - highType
    - ' result'
    argTypes:
    - FAutoCtx*
    - std::string
    - RangeType
    - std::string
    - RangeType
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 141
    functionName: FstReadMemory::SearchRange
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - swsResultDestroy
    - fstSliceDestroy
    - push_back
    - stmBuilderDestroy
    - stmBuilderIntoStm
    - fstSliceData
    - std::string::c_str
    - stmStNextWith
    - c_str
    - printf
    - fstSliceCreate
    - stmBuilderSetRange
    - stmStDestroy
    - size
    - fstSearch
    linkageType: ''
    returnType: bool
    signature: "bool SearchRange(FAutoCtx* ctx, const std::string& low, RangeType
      lowType, const std::string& high,\n                   RangeType highType, std::vector<uint64_t>&
      result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:143,1
    - Dst: FstReadMemory::Search
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:144,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ' result'
    argTypes:
    - FAutoCtx*
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: FstReadMemory::SearchWithTimeCostUs
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - FstReadMemory::Search
    linkageType: ''
    returnType: bool
    signature: bool SearchWithTimeCostUs(FAutoCtx* ctx, std::vector<uint64_t>& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxFileDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:150,1
    - Dst: fstDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:151,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:152,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: ~FstReadMemory()
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - idxFileCtxDestroy
    - fstSliceDestroy
    - idxFileDestroy
    - fstDestroy
    linkageType: ''
    returnType: void
    signature: void ~FstReadMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:172,1
    - Dst: std::string::resize
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:175,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:177,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:178,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:179,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - b
    argTypes:
    - FstWriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 184
    functionName: Performance_fstWriteRecords
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - FstWriter*::Put
    - std::string::c_str
    - std::string::resize
    - std::string::push_back
    - printf
    linkageType: ''
    returnType: int
    signature: int Performance_fstWriteRecords(FstWriter* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:189,1
    - Dst: std::string::resize
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:192,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:194,1
    - Dst: FstReadMemory*::GetWithTimeCostUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:196,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:197,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:197,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:199,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - m
    argTypes:
    - FstReadMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 204
    functionName: Performance_fstReadRecords
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - FstReadMemory*::GetWithTimeCostUs
    - std::string::resize
    - std::string::push_back
    - printf
    linkageType: ''
    returnType: void
    signature: void Performance_fstReadRecords(FstReadMemory* m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:207,1
    - Dst: Performance_fstWriteRecords
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:208,1
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:210,1
    - Dst: FstReadMemory*::init
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:212,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:213,1
    - Dst: Performance_fstReadRecords
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: checkMillonWriteAndReadOfFst
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - FstReadMemory::FstReadMemory
    - FstReadMemory*::init
    - printf
    - FstWriter::FstWriter
    - Performance_fstWriteRecords
    - Performance_fstReadRecords
    linkageType: ''
    returnType: void
    signature: void checkMillonWriteAndReadOfFst()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:220,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:223,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:224,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:225,1
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:228,1
    - Dst: FstReadMemory*::init
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:229,1
    - Dst: FstReadMemory*::Get
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:236,1
    - Dst: FstReadMemory*::Get
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:244,1
    - Dst: FstReadMemory*::Get
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 271
    functionName: checkFstLongTerm
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - FstWriter*::Put
    - FstReadMemory::FstReadMemory
    - FstReadMemory*::init
    - FstReadMemory*::Get
    - FstWriter::FstWriter
    linkageType: ''
    returnType: void
    signature: void checkFstLongTerm()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:273,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:274,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:277,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:281,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:282,1
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:285,1
    - Dst: FstReadMemory*::init
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:286,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:295,1
    - Dst: FstReadMemory*::Search
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:296,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:297,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:299,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 305
    functionName: checkFstCheckIterator1
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - FstWriter*::Put
    - automCtxDestroy
    - automCtxCreate
    - taosGetTimestampUs
    - FstReadMemory::FstReadMemory
    - FstReadMemory*::Search
    - FstReadMemory*::init
    - std::vector::size
    - FstWriter::FstWriter
    linkageType: ''
    returnType: void
    signature: void checkFstCheckIterator1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:307,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:308,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:311,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:315,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:316,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:317,1
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:320,1
    - Dst: FstReadMemory*::init
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:321,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:330,1
    - Dst: FstReadMemory*::Search
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:331,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:332,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:334,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 340
    functionName: checkFstCheckIterator2
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - FstWriter*::Put
    - automCtxDestroy
    - automCtxCreate
    - taosGetTimestampUs
    - FstReadMemory::FstReadMemory
    - FstReadMemory*::Search
    - FstReadMemory*::init
    - std::vector::size
    - FstWriter::FstWriter
    linkageType: ''
    returnType: void
    signature: void checkFstCheckIterator2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:342,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:343,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:346,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:350,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:351,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:352,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:353,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:354,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:355,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:356,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:357,1
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:360,1
    - Dst: FstReadMemory*::init
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:361,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:370,1
    - Dst: FstReadMemory*::Search
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:371,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:372,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:372,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:373,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:379,1
    - Dst: FstReadMemory*::Search
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:380,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:381,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:381,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:382,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:387,1
    - Dst: FstReadMemory*::Search
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:388,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:389,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:389,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 393
    functionName: checkFstCheckIteratorPrefix
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - FstWriter*::Put
    - automCtxDestroy
    - automCtxCreate
    - taosGetTimestampUs
    - FstReadMemory::FstReadMemory
    - FstReadMemory*::Search
    - FstReadMemory*::init
    - std::vector::size
    - FstWriter::FstWriter
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void checkFstCheckIteratorPrefix()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:395,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:396,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:399,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:403,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:404,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:405,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:406,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:407,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:408,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:409,1
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:412,1
    - Dst: FstReadMemory*::init
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:413,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:421,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:423,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:424,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:424,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:425,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:430,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:432,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:433,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:433,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:434,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:439,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:441,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:442,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:442,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:443,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:448,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:450,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:451,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:451,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 455
    functionName: checkFstCheckIteratorRange1
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - FstWriter*::Put
    - automCtxDestroy
    - automCtxCreate
    - taosGetTimestampUs
    - FstReadMemory::FstReadMemory
    - FstReadMemory*::init
    - std::vector::size
    - FstReadMemory*::SearchRange
    - FstWriter::FstWriter
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void checkFstCheckIteratorRange1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:457,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:458,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:461,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:465,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:466,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:467,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:468,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:469,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:470,1
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:473,1
    - Dst: FstReadMemory*::init
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:474,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:482,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:484,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:485,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:485,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:486,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:491,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:493,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:494,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:494,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:495,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:500,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:502,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:503,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:503,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:504,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:510,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:512,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:513,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:513,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:514,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:519,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:521,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:522,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:522,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 526
    functionName: checkFstCheckIteratorRange2
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - FstWriter*::Put
    - automCtxDestroy
    - automCtxCreate
    - taosGetTimestampUs
    - FstReadMemory::FstReadMemory
    - FstReadMemory*::init
    - std::vector::size
    - FstReadMemory*::SearchRange
    - FstWriter::FstWriter
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void checkFstCheckIteratorRange2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:528,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:529,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:532,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:536,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:537,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:538,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:539,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:540,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:541,1
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:544,1
    - Dst: FstReadMemory*::init
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:545,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:553,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:555,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:556,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:556,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:557,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:562,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:564,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:565,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:565,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:566,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:572,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:574,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:575,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:575,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:576,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:581,1
    - Dst: FstReadMemory*::SearchRange
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:583,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:584,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:584,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 588
    functionName: checkFstCheckIteratorRange3
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - FstWriter*::Put
    - automCtxDestroy
    - automCtxCreate
    - taosGetTimestampUs
    - FstReadMemory::FstReadMemory
    - FstReadMemory*::init
    - std::vector::size
    - FstReadMemory*::SearchRange
    - FstWriter::FstWriter
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void checkFstCheckIteratorRange3()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:593,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:593,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:593,1
    - Dst: fstGet
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fst
    argTypes:
    - Fst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 602
    functionName: fst_get
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - fstGet
    - fstSliceCreate
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void fst_get(Fst* fst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:608,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:609,1
    - Dst: tfileReaderOpen
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:611,1
    - Dst: std::thread
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:614,1
    - Dst: join
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 622
    functionName: validateTFile
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - std::thread
    - join
    - tfileReaderOpen
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void validateTFile(char* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:627,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:628,1
    - Dst: tfileReaderOpen
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:631,1
    - Dst: tfileIteratorCreate
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:633,1
    - Dst: Iterate*::next
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:634,1
    - Dst: Iterate*::getValue
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:639,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:640,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:641,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:641,1
    - Dst: Iterate*::next
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:642,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:644,1
    - Dst: tfileIteratorDestroy
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - path
    - uid
    - colName
    - ver
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 647
    functionName: iterTFileReader
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - tfileIteratorDestroy
    - Iterate*::next
    - tfileIteratorCreate
    - atoi
    - printf
    - taosArrayGetSize
    - tfileReaderOpen
    - Iterate*::getValue
    linkageType: ''
    returnType: void
    signature: void iterTFileReader(char* path, char* uid, char* colName, char* ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFstCheckIterator1
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - checkFstCheckIterator1
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstEnv, checkIterator1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFstCheckIterator2
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - checkFstCheckIterator2
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstEnv, checkItertor2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFstCheckIteratorPrefix
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - checkFstCheckIteratorPrefix
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstEnv, checkPrefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFstCheckIteratorRange1
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 672
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - checkFstCheckIteratorRange1
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstEnv, checkRange1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFstCheckIteratorRange2
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 673
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - checkFstCheckIteratorRange2
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstEnv, checkRange2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFstCheckIteratorRange3
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 674
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - checkFstCheckIteratorRange3
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstEnv, checkRange3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFstLongTerm
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - checkFstLongTerm
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstEnv, checkLongTerm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkMillonWriteAndReadOfFst
      Src: /src/tdengine/source/libs/index/test/fstTest.cc:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 676
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstTest.cc
    functionUses: 0
    functionsReached:
    - checkMillonWriteAndReadOfFst
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstEnv, checkMillonWriteData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:24,1
    - Dst: dfaBuilderCreate
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: FstUtilEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached:
    - dfaBuilderCreate
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dfaBuilderDestroy
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: FstUtilEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached:
    - dfaBuilderDestroy
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regexCreate
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: FstRegexEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached:
    - regexCreate
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regexDestroy
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: FstRegexEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached:
    - regexDestroy
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sparSetCreate
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: FstSparseSetEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached:
    - sparSetCreate
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sparSetDestroy
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: FstSparseSetEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached:
    - sparSetDestroy
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sparSetDestroy
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:47,1
    - Dst: sparSetCreate
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sz
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: FstSparseSetEnv::ReBuild
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached:
    - sparSetCreate
    - sparSetDestroy
    linkageType: ''
    returnType: void
    signature: void ReBuild(int32_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstUtilEnv, test1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstUtilEnv, test2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstUtilEnv, test3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstUtilEnv, test4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstRegexEnv, test1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstRegexEnv, test2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstRegexEnv, test3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstRegexEnv, test4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sparSetAdd
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:83,1
    - Dst: sparSetLen
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:83,1
    - Dst: sparSetGet
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:91,1
    - Dst: sparSetContains
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:95,1
    - Dst: sparSetContains
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:99,1
    - Dst: sparSetAdd
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:101,1
    - Dst: sparSetGet
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:102,1
    - Dst: sparSetContains
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:102,1
    - Dst: sparSetClear
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:107,1
    - Dst: sparSetGet
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:110,1
    - Dst: sparSetGet
      Src: /src/tdengine/source/libs/index/test/fstUtilUT.cc:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 112
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUtilUT.cc
    functionUses: 0
    functionsReached:
    - sparSetAdd
    - EXPECT_EQ
    - sparSetClear
    - sparSetLen
    - sparSetGet
    - sparSetContains
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstSparseSetEnv, test1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: DebugInfo::DebugInfo
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DebugInfo(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ~DebugInfo()
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DebugInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:53,1
    - Dst: fstBuilderCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: FstWriter::FstWriter
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 8
    functionsReached:
    - fstBuilderCreate
    - idxFileCtxCreate
    linkageType: ''
    returnType: void
    signature: void FstWriter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:57,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:57,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:57,1
    - Dst: fstBuilderInsert
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:58,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - val
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: FstWriter::Put
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - fstSliceDestroy
    - c_str
    - fstSliceCreate
    - fstBuilderInsert
    - size
    linkageType: ''
    returnType: bool
    signature: bool Put(const std::string& key, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstBuilderDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:64,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: ~FstWriter()
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - idxFileCtxDestroy
    - fstBuilderDestroy
    linkageType: ''
    returnType: void
    signature: void ~FstWriter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:77,1
    - Dst: idxFileCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:78,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: FstReadMemory::FstReadMemory
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 8
    functionsReached:
    - idxFileCreate
    - idxFileCtxCreate
    - memset
    linkageType: ''
    returnType: void
    signature: void FstReadMemory(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:83,1
    - Dst: idxFileRead
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:84,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:89,1
    - Dst: fstCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:90,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: FstReadMemory::init
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - idxFileRead
    - taosMemoryFree
    - fstSliceCreate
    - fstCreate
    - taosMemoryCalloc
    linkageType: ''
    returnType: bool
    signature: bool init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:95,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:95,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:95,1
    - Dst: fstGet
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:96,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - val
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: FstReadMemory::Get
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 1
    functionsReached:
    - fstSliceDestroy
    - fstGet
    - c_str
    - fstSliceCreate
    - size
    linkageType: ''
    returnType: bool
    signature: bool Get(const std::string& key, uint64_t* val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:101,1
    - Dst: FstReadMemory::Get
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:102,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' key'
    - val
    - elapse
    argTypes:
    - std::string
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: FstReadMemory::GetWithTimeCostUs
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - FstReadMemory::Get
    linkageType: ''
    returnType: bool
    signature: bool GetWithTimeCostUs(const std::string& key, uint64_t* val, uint64_t*
      elapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:109,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:110,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:113,1
    - Dst: push_back
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - ' result'
    argTypes:
    - FAutoCtx*
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: FstReadMemory::Search
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 1
    functionsReached:
    - stmBuilderIntoStm
    - stmStNextWith
    - push_back
    - fstSearch
    linkageType: ''
    returnType: bool
    signature: bool Search(FAutoCtx* ctx, std::vector<uint64_t>& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:119,1
    - Dst: FstReadMemory::Search
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:120,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ' result'
    argTypes:
    - FAutoCtx*
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: FstReadMemory::SearchWithTimeCostUs
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - FstReadMemory::Search
    linkageType: ''
    returnType: bool
    signature: bool SearchWithTimeCostUs(FAutoCtx* ctx, std::vector<uint64_t>& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxFileDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:126,1
    - Dst: fstDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:127,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:128,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: ~FstReadMemory()
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - idxFileCtxDestroy
    - fstSliceDestroy
    - idxFileDestroy
    - fstDestroy
    linkageType: ''
    returnType: void
    signature: void ~FstReadMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:148,1
    - Dst: std::string::resize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:151,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:153,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:154,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:155,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - b
    argTypes:
    - FstWriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: Performance_fstWriteRecords
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 1
    functionsReached:
    - FstWriter*::Put
    - std::string::c_str
    - std::string::resize
    - std::string::push_back
    - printf
    linkageType: ''
    returnType: int
    signature: int Performance_fstWriteRecords(FstWriter* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:165,1
    - Dst: std::string::resize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:168,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:170,1
    - Dst: FstReadMemory*::GetWithTimeCostUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:172,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:173,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:173,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:175,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - m
    argTypes:
    - FstReadMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: Performance_fstReadRecords
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - FstReadMemory*::GetWithTimeCostUs
    - std::string::resize
    - std::string::push_back
    - printf
    linkageType: ''
    returnType: void
    signature: void Performance_fstReadRecords(FstReadMemory* m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:182,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:183,1
    - Dst: Performance_fstWriteRecords
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:185,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:186,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:187,1
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:190,1
    - Dst: FstReadMemory*::init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:191,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:192,1
    - Dst: Performance_fstReadRecords
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: checkFstPerf
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - FstReadMemory::FstReadMemory
    - FstReadMemory*::init
    - printf
    - FstWriter::FstWriter
    - Performance_fstWriteRecords
    - Performance_fstReadRecords
    linkageType: ''
    returnType: void
    signature: void checkFstPerf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:198,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:199,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:205,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:207,1
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:212,1
    - Dst: FstReadMemory*::init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:213,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:222,1
    - Dst: FstReadMemory*::Search
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:223,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:224,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:224,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:225,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:226,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 231
    functionName: checkFstPrefixSearch
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - FstWriter*::Put
    - automCtxCreate
    - taosGetTimestampUs
    - FstReadMemory::FstReadMemory
    - FstReadMemory*::Search
    - FstReadMemory*::init
    - std::vector::size
    - taosMemoryFree
    - FstWriter::FstWriter
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void checkFstPrefixSearch()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:235,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:240,1
    - Dst: FstWriter*::Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:241,1
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:247,1
    - Dst: FstReadMemory*::init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:248,1
    - Dst: FstReadMemory*::Get
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:257,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:258,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:258,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:260,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:260,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:263,1
    - Dst: FstReadMemory*::Get
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:264,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:265,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:266,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:266,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:268,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 273
    functionName: validateFst
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - FstWriter*::Put
    - std::string::c_str
    - FstReadMemory::FstReadMemory
    - FstReadMemory*::init
    - std::string::push_back
    - printf
    - FstReadMemory*::Get
    - FstWriter::FstWriter
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void validateFst()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:282,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:282,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:283,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:284,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:286,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 289
    functionName: initLog
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 2
    functionsReached:
    - taosInitLog
    - strcpy
    - taosRemoveDir
    - c_str
    - printf
    - taosMkDir
    linkageType: ''
    returnType: void
    signature: void initLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initLog
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:293,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:294,1
    - Dst: indexOpen
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:297,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: IndexEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexOpen
    - initLog
    - TD_ALWAYS_ASSERT
    - taosRemoveDir
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexClose
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: IndexEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexClose
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: TFileObj::TFileObj
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TFileObj(const std::string& path = TD_TMP_DIR_PATH "tindex", const
      std::string& colName = "voltage")
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tfileReaderDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:369,1
    - Dst: TFileObj::InitWriter
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:373,1
    - Dst: tfileWriterPut
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - tv
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: TFileObj::Put
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - tfileWriterPut
    - tfileReaderDestroy
    - TFileObj::InitWriter
    linkageType: ''
    returnType: int
    signature: int Put(SArray* tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:381,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:381,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:381,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:387,1
    - Dst: std::string::append
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:388,1
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:392,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:392,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:393,1
    - Dst: tfileWriterCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 397
    functionName: TFileObj::InitWriter
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 1
    functionsReached:
    - idxFileCtxCreate
    - memcpy
    - tfileWriterCreate
    - std::string::append
    - sprintf
    - std::string::c_str
    - c_str
    - taosLRUCacheInit
    - size
    linkageType: ''
    returnType: bool
    signature: bool InitWriter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:399,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:399,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:400,1
    - Dst: tfileReaderCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: TFileObj::InitReader
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - tfileReaderCreate
    - idxFileCtxCreate
    - taosLRUCacheInit
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool InitReader()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tfileWriterDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:406,1
    - Dst: TFileObj::InitReader
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:409,1
    - Dst: idxTRsltCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:413,1
    - Dst: tfileReaderSearch
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:415,1
    - Dst: idxTRsltMergeTo
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:417,1
    - Dst: idxTRsltDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - query
    - result
    argTypes:
    - SIndexTermQuery*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 420
    functionName: TFileObj::Get
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - idxTRsltDestroy
    - tfileReaderSearch
    - TFileObj::InitReader
    - tfileWriterDestroy
    - idxTRsltMergeTo
    - idxTRsltCreate
    linkageType: ''
    returnType: int
    signature: int Get(SIndexTermQuery* query, SArray* result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tfileWriterDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:423,1
    - Dst: tfileReaderDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: ~TFileObj()
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - tfileReaderDestroy
    - tfileWriterDestroy
    linkageType: ''
    returnType: void
    signature: void ~TFileObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:444,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:444,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:445,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:445,1
    - Dst: TFileObj::TFileObj
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: IndexTFileEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - taosMkDir
    - taosRemoveDir
    - c_str
    - TFileObj::TFileObj
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: IndexTFileEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:465,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:466,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:467,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:468,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:470,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 476
    functionName: genTFileValue
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - memcpy
    - taosArrayInit
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: TFileValue
    signature: TFileValue * genTFileValue(const char* val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:479,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:480,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: destroyTFileValue
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyTFileValue(void* val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genTFileValue
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:484,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:486,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:488,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:493,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:494,1
    - Dst: destroyTFileValue
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:496,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:496,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:498,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:504,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:505,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:506,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:506,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:506,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:508,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:508,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:508,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:511,1
    - Dst: Get
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:512,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:513,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:513,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:514,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 518
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexTermCreate
    - taosArrayPush
    - memcpy
    - std::string::c_str
    - destroyTFileValue
    - std::string::size
    - genTFileValue
    - taosArrayGetSize
    - taosArrayInit
    - Put
    - taosArrayDestroy
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    - Get
    - indexTermDestroy
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexTFileEnv, test_tfile_write)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxCacheCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: CacheObj::CacheObj
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - idxCacheCreate
    linkageType: ''
    returnType: void
    signature: void CacheObj()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxCachePut
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - term
    - colId
    - version
    - uid
    argTypes:
    - SIndexTerm*
    - int16_t
    - int32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: CacheObj::Put
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - idxCachePut
    linkageType: ''
    returnType: int
    signature: int Put(SIndexTerm* term, int16_t colId, int32_t version, uint64_t
      uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxCacheDebug
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: CacheObj::Debug
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - idxCacheDebug
    linkageType: ''
    returnType: void
    signature: void Debug()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxTRsltCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:538,1
    - Dst: idxCacheSearch
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:540,1
    - Dst: idxTRsltMergeTo
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:541,1
    - Dst: idxTRsltDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - query
    - colId
    - version
    - result
    - s
    argTypes:
    - SIndexTermQuery*
    - int16_t
    - int32_t
    - SArray*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 548
    functionName: CacheObj::Get
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - idxTRsltMergeTo
    - idxCacheSearch
    - idxTRsltCreate
    - idxTRsltDestroy
    linkageType: ''
    returnType: int
    signature: int Get(SIndexTermQuery* query, int16_t colId, int32_t version, SArray*
      result, STermValueType* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxCacheDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: ~CacheObj()
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - idxCacheDestroy
    linkageType: ''
    returnType: void
    signature: void ~CacheObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CacheObj::CacheObj
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: IndexCacheEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - CacheObj::CacheObj
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: IndexCacheEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:575,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:576,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:578,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - suid
    - oper
    - colType
    - colName
    - nColName
    - colVal
    - nColVal
    argTypes:
    - int64_t
    - SIndexOperOnColumn
    - uint8_t
    - char*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 582
    functionName: indexTermCreateT
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexTermCreate
    - memcpy
    linkageType: ''
    returnType: SIndexTerm
    signature: "SIndexTerm * indexTermCreateT(int64_t suid, SIndexOperOnColumn oper,
      uint8_t colType, const char* colName,\n                             int32_t
      nColName, const char* colVal, int32_t nColVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:593,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:593,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:593,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:594,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:594,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:595,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:596,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:601,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:601,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:601,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:602,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:602,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:603,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:604,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:608,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:608,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:608,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:609,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:609,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:610,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:611,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:615,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:615,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:615,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:616,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:616,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:617,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:618,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:622,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:622,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:622,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:623,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:623,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:624,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:625,1
    - Dst: Debug
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:627,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:631,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:631,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:631,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:632,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:632,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:633,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:634,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:638,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:638,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:638,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:639,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:639,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:640,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:641,1
    - Dst: Debug
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:643,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:648,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:649,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:649,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:649,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:650,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:650,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:651,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:652,1
    - Dst: Debug
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:655,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:659,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:659,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:659,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:660,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:660,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:662,1
    - Dst: Get
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:665,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:666,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:667,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:667,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:668,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:670,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:674,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:674,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:674,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:675,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:675,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:677,1
    - Dst: Get
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:680,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:681,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:681,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:682,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 686
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::string::size
    - taosArrayDestroy
    - indexTermCreateT
    - taosArrayGetSize
    - taosArrayInit
    - Put
    - Debug
    - TD_ALWAYS_ASSERT
    - Get
    - indexTermDestroy
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexCacheEnv, cache_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 694
    functionName: IndexObj::IndexObj
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IndexObj()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:697,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:697,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:698,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:698,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:700,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:700,1
    - Dst: indexOpen
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:704,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' dir'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 710
    functionName: IndexObj::Init
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexOpen
    - taosMkDir
    - taosRemoveDir
    - c_str
    linkageType: ''
    returnType: int
    signature: int Init(const std::string& dir, bool remove = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:712,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:712,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:712,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:713,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:713,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:714,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:715,1
    - Dst: IndexObj::Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:716,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' colName'
    - ' colVal'
    - uid
    argTypes:
    - std::string
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 718
    functionName: IndexObj::Del
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermCreate
    - c_str
    - indexMultiTermDestroy
    - indexTermCreateT
    - indexMultiTermAdd
    - IndexObj::Put
    - size
    linkageType: ''
    returnType: void
    signature: void Del(const std::string& colName, const std::string& colVal, uint64_t
      uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:721,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:721,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:721,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:722,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:722,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:723,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:724,1
    - Dst: IndexObj::Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:726,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:727,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' colName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 731
    functionName: IndexObj::WriteMillonData
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermCreate
    - TD_ALWAYS_ASSERT
    - c_str
    - indexMultiTermDestroy
    - indexTermCreateT
    - indexMultiTermAdd
    - IndexObj::Put
    - size
    linkageType: ''
    returnType: int
    signature: "int WriteMillonData(const std::string& colName, const std::string&
      colVal = \"Hello world\",\n                      size_t numOfTable = 100 * 10000)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:735,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:739,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:741,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:743,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:743,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:743,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:744,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:744,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:745,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:746,1
    - Dst: IndexObj::Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:748,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:749,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' colName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 754
    functionName: IndexObj::WriteMultiMillonData
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermCreate
    - std::string::c_str
    - TD_ALWAYS_ASSERT
    - std::string::size
    - c_str
    - taosRand
    - indexMultiTermDestroy
    - indexTermCreateT
    - indexMultiTermAdd
    - IndexObj::Put
    - size
    linkageType: ''
    returnType: int
    signature: "int WriteMultiMillonData(const std::string& colName, const std::string&
      colVal = \"Hello world\",\n                           size_t numOfTable = 100
      * 10000)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:759,1
    - Dst: IndexObj::SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' colName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 765
    functionName: IndexObj::ReadMultiMillonData
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - std::string::size
    - IndexObj::SearchOne
    linkageType: ''
    returnType: int
    signature: "int ReadMultiMillonData(const std::string& colName, const std::string&
      colVal = \"Hello world\",\n                          size_t numOfTable = 100)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:768,1
    - Dst: indexPut
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fvs
    - uid
    argTypes:
    - SIndexMultiTerm*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: IndexObj::Put
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 3
    functionsReached:
    - indexPut
    - taosArrayGetSize
    linkageType: ''
    returnType: int
    signature: int Put(SIndexMultiTerm* fvs, uint64_t uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:773,1
    - Dst: indexSearch
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - multiQ
    - result
    argTypes:
    - SIndexMultiTermQuery*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 775
    functionName: IndexObj::Search
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexSearch
    - taosArrayGetSize
    linkageType: ''
    returnType: int
    signature: int Search(SIndexMultiTermQuery* multiQ, SArray* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:778,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:779,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:779,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:779,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:780,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:780,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:781,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:783,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:785,1
    - Dst: IndexObj::Search
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:786,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:787,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:789,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:793,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:794,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' colName'
    - ' colVal'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 798
    functionName: IndexObj::SearchOne
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 1
    functionsReached:
    - indexMultiTermQueryDestroy
    - taosGetTimestampUs
    - indexMultiTermQueryAdd
    - c_str
    - indexTermCreateT
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - indexMultiTermQueryCreate
    - size
    - IndexObj::Search
    linkageType: ''
    returnType: int
    signature: int SearchOne(const std::string& colName, const std::string& colVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:800,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:801,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:801,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:801,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:802,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:802,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:803,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:805,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:807,1
    - Dst: IndexObj::Search
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:808,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:809,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:811,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:814,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:815,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:816,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:817,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:818,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' colName'
    - ' colVal'
    - val
    argTypes:
    - std::string
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 822
    functionName: IndexObj::SearchOneTarget
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermQueryDestroy
    - taosArrayGet
    - taosGetTimestampUs
    - indexMultiTermQueryAdd
    - c_str
    - indexTermCreateT
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - indexMultiTermQueryCreate
    - TD_ALWAYS_ASSERT
    - size
    - IndexObj::Search
    linkageType: ''
    returnType: int
    signature: int SearchOneTarget(const std::string& colName, const std::string&
      colVal, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:825,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:826,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:826,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:826,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:827,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:827,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:828,1
    - Dst: IndexObj::Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:829,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' colName'
    - ' colVal'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 831
    functionName: IndexObj::PutOne
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermCreate
    - c_str
    - indexMultiTermDestroy
    - indexTermCreateT
    - indexMultiTermAdd
    - IndexObj::Put
    - size
    linkageType: ''
    returnType: void
    signature: void PutOne(const std::string& colName, const std::string& colVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:833,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:834,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:834,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:834,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:835,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:835,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:836,1
    - Dst: IndexObj::Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:837,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' colName'
    - ' colVal'
    - val
    argTypes:
    - std::string
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 839
    functionName: IndexObj::PutOneTarge
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermCreate
    - c_str
    - indexMultiTermDestroy
    - indexTermCreateT
    - indexMultiTermAdd
    - IndexObj::Put
    - size
    linkageType: ''
    returnType: void
    signature: void PutOneTarge(const std::string& colName, const std::string& colVal,
      uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: IndexObj::Debug
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Debug()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexClose
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: ~IndexObj()
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - indexClose
    linkageType: ''
    returnType: void
    signature: void ~IndexObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initLog
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:860,1
    - Dst: IndexObj::IndexObj
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 862
    functionName: IndexEnv2::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - initLog
    - IndexObj::IndexObj
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 866
    functionName: IndexEnv2::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:871,1
    - Dst: exit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:873,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:880,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:880,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:880,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:881,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:881,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:882,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:883,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:886,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:887,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:889,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:895,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:895,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:895,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:896,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:896,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:897,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:898,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:901,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:902,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:904,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:910,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:910,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:910,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:911,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:911,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:912,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:913,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:916,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:917,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:919,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:924,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:925,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:925,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:925,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:926,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:926,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:927,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:929,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:930,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:931,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:932,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:932,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:933,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:934,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 936
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - indexMultiTermQueryAdd
    - std::string::size
    - c_str
    - indexMultiTermDestroy
    - indexMultiTermAdd
    - taosArrayDestroy
    - indexMultiTermQueryCreate
    - indexMultiTermQueryDestroy
    - exit
    - indexMultiTermCreate
    - taosArrayGetSize
    - Search
    - Init
    - indexTermCreateT
    - Put
    - TD_ALWAYS_ASSERT
    - size
    - EXPECT_EQ
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndexOpen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:939,1
    - Dst: exit
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:941,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:948,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:948,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:948,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:949,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:949,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:950,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:951,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:954,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:955,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 959
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - exit
    - indexMultiTermCreate
    - std::string::c_str
    - std::string::size
    - c_str
    - indexMultiTermDestroy
    - Init
    - indexTermCreateT
    - Put
    - indexMultiTermAdd
    - TD_ALWAYS_ASSERT
    - size
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testEmptyIndexOpen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:963,1
    - Dst: WriteMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:968,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:969,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - Init
    - WriteMillonData
    - TD_ALWAYS_ASSERT
    - SearchOne
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndex_TrigeFlush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - idx
    argTypes:
    - IndexObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 977
    functionName: single_write_and_search
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void single_write_and_search(IndexObj* idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IndexObj*::PutOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:979,1
    - Dst: IndexObj*::PutOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:980,1
    - Dst: IndexObj*::SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:981,1
    - Dst: IndexObj*::SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:982,1
    - Dst: IndexObj*::WriteMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:983,1
    - Dst: IndexObj*::WriteMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - IndexObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 985
    functionName: multi_write_and_search
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - IndexObj*::SearchOne
    - IndexObj*::PutOne
    - IndexObj*::WriteMultiMillonData
    linkageType: ''
    returnType: void
    signature: void multi_write_and_search(IndexObj* idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:988,1
    - Dst: PutOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:991,1
    - Dst: PutOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:992,1
    - Dst: WriteMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:993,1
    - Dst: WriteMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:994,1
    - Dst: std::thread
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:999,1
    - Dst: join
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1005
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - std::thread
    - join
    - PutOne
    - WriteMultiMillonData
    - Init
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndex_serarch_cache_and_tfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1008,1
    - Dst: std::thread
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1014,1
    - Dst: join
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1020
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - Init
    - std::thread
    - join
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndex_MultiWrite_and_MultiRead)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1024,1
    - Dst: SearchOneTarget
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1026,1
    - Dst: SearchOneTarget
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1028
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - SearchOneTarget
    - Init
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndex_restart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1050,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1052,1
    - Dst: WriteMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1054,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1057
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - Init
    - WriteMultiMillonData
    - taosGetTimestampUs
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndexMultiTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1060,1
    - Dst: WriteMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1065
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - Init
    - WriteMultiMillonData
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testLongComVal1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1069,1
    - Dst: WriteMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1074
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - Init
    - WriteMultiMillonData
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testLongComVal2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1077,1
    - Dst: WriteMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1082
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - Init
    - WriteMultiMillonData
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testLongComVal3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1085,1
    - Dst: WriteMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1090
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - Init
    - WriteMultiMillonData
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testLongComVal4)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1093,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1095,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1096,1
    - Dst: ReadMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1097,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1099,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1100
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReadMultiMillonData
    - Init
    - PutOneTarge
    - SearchOne
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndex_read_performance1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1103,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1105,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1106,1
    - Dst: ReadMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1107,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1108,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1109,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1110
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReadMultiMillonData
    - Init
    - PutOneTarge
    - SearchOne
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndex_read_performance2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1113,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1115,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1116,1
    - Dst: ReadMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1117,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1118,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1119,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1120
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReadMultiMillonData
    - Init
    - PutOneTarge
    - SearchOne
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndex_read_performance3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1123,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1125,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1126,1
    - Dst: ReadMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1127,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1128,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1129,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1130
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ReadMultiMillonData
    - Init
    - PutOneTarge
    - SearchOne
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndex_read_performance4)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1133,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1136,1
    - Dst: Del
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1138,1
    - Dst: Del
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1139,1
    - Dst: Del
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1142,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1143,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1143,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1145,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1146,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1146,1
    - Dst: Del
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1150,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1152,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1152,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1156,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1160,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1162,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1162,1
    - Dst: Del
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1165,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1167,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1168
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Init
    - Del
    - PutOneTarge
    - SearchOne
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndex_cache_del)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1172,1
    - Dst: PutOneTarge
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1175,1
    - Dst: Del
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1177,1
    - Dst: Del
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1178,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1179,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1179,1
    - Dst: WriteMultiMillonData
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1181,1
    - Dst: Del
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1182,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1183,1
    - Dst: SearchOne
      Src: /src/tdengine/source/libs/index/test/indexTests.cc:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1184
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/indexTests.cc
    functionUses: 0
    functionsReached:
    - WriteMultiMillonData
    - EXPECT_EQ
    - Init
    - Del
    - PutOneTarge
    - SearchOne
    linkageType: ''
    returnType: void
    signature: void TEST_F(IndexEnv2, testIndex_del)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - colId
    - type
    - bytes
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: createColumnInfo
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SColumnInfo
    signature: SColumnInfo createColumnInfo(int32_t colId, int32_t type, int32_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: sifFreeDataBlock
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void sifFreeDataBlock(void *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:56,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:57,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:58,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:60,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: sifInitLogFile
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - taosInitLog
    - strcpy
    - taosRemoveDir
    - printf
    - taosMkDir
    linkageType: ''
    returnType: void
    signature: void sifInitLogFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:68,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:71,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:75,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:76,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:78,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:80,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:84,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:89,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:90,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:92,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 6
    argNames:
    - pBlockList
    - dataBlockId
    - slotId
    - newBlock
    - rows
    - colInfo
    argTypes:
    - SArray*
    - int16_t*
    - int16_t*
    - bool
    - int32_t
    - SColumnInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 95
    functionName: sifAppendReservedSlot
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - colInfoDataEnsureCapacity
    - taosArrayGetLast
    - blockDataEnsureCapacity
    - taosArrayGetSize
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: "void sifAppendReservedSlot(SArray *pBlockList, int16_t *dataBlockId,
      int16_t *slotId, bool newBlock, int32_t rows,\n                           SColumnInfo
      *colInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:98,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:102,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:103,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:104,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:104,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:105,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:106,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:109,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:109,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:110,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:111,1
    - Dst: assignVal
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:115,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pNode
    - dataType
    - value
    argTypes:
    - SNode**
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: sifMakeValueNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - taosMemoryMalloc
    - varDataTLen
    - IS_STR_DATA_BLOB
    - varDataCopy
    - nodesMakeNode
    - nodesGetValueFromNode
    - blobDataCopy
    - assignVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void sifMakeValueNode(SNode **pNode, int32_t dataType, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:122,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:124,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:124,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:125,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pNode
    - db
    - colName
    - colType
    - colValType
    argTypes:
    - SNode**
    - char*
    - char*
    - EColumnType
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: sifMakeColumnNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sifMakeColumnNode(SNode **pNode, const char *db, const char *colName,
      EColumnType colType, uint8_t colValType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - pNode
    - opType
    - resType
    - pLeft
    - pRight
    argTypes:
    - SNode**
    - EOperatorType
    - int32_t
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: sifMakeOpNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: void
    signature: void sifMakeOpNode(SNode **pNode, EOperatorType opType, int32_t resType,
      SNode *pLeft, SNode *pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pNode
    - list
    - resType
    argTypes:
    - SNode**
    - SNodeList*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: sifMakeListNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: void
    signature: void sifMakeListNode(SNode **pNode, SNodeList *list, int32_t resType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:156,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:162,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pNode
    - opType
    - nodeList
    - nodeNum
    argTypes:
    - SNode**
    - ELogicConditionType
    - SNode**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: sifMakeLogicNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesMakeList
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void sifMakeLogicNode(SNode **pNode, ELogicConditionType opType, SNode
      **nodeList, int32_t nodeNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pNode
    - dataBlockId
    - slotId
    - snode
    argTypes:
    - SNode**
    - int64_t
    - int16_t
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: sifMakeTargetNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: void
    signature: void sifMakeTargetNode(SNode **pNode, int64_t dataBlockId, int16_t
      slotId, SNode *snode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - colId
    - type
    - bytes
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: createColumnInfo
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SColumnInfo
    signature: SColumnInfo createColumnInfo(int32_t colId, int32_t type, int32_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: sifFreeDataBlock
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void sifFreeDataBlock(void *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:56,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:57,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:58,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:60,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: sifInitLogFile
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - taosInitLog
    - strcpy
    - taosRemoveDir
    - printf
    - taosMkDir
    linkageType: ''
    returnType: void
    signature: void sifInitLogFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:68,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:71,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:75,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:76,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:78,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:80,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:84,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:89,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:90,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:92,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 6
    argNames:
    - pBlockList
    - dataBlockId
    - slotId
    - newBlock
    - rows
    - colInfo
    argTypes:
    - SArray*
    - int16_t*
    - int16_t*
    - bool
    - int32_t
    - SColumnInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 95
    functionName: sifAppendReservedSlot
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - colInfoDataEnsureCapacity
    - taosArrayGetLast
    - blockDataEnsureCapacity
    - taosArrayGetSize
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: "void sifAppendReservedSlot(SArray *pBlockList, int16_t *dataBlockId,
      int16_t *slotId, bool newBlock, int32_t rows,\n                           SColumnInfo
      *colInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:98,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:102,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:103,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:104,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:104,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:105,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:106,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:109,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:109,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:110,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:111,1
    - Dst: assignVal
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:115,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pNode
    - dataType
    - value
    argTypes:
    - SNode**
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: sifMakeValueNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - taosMemoryMalloc
    - varDataTLen
    - IS_STR_DATA_BLOB
    - varDataCopy
    - nodesMakeNode
    - nodesGetValueFromNode
    - blobDataCopy
    - assignVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void sifMakeValueNode(SNode **pNode, int32_t dataType, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:122,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:124,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:124,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:125,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pNode
    - db
    - colName
    - colType
    - colValType
    argTypes:
    - SNode**
    - char*
    - char*
    - EColumnType
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: sifMakeColumnNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sifMakeColumnNode(SNode **pNode, const char *db, const char *colName,
      EColumnType colType, uint8_t colValType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - pNode
    - opType
    - resType
    - pLeft
    - pRight
    argTypes:
    - SNode**
    - EOperatorType
    - int32_t
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: sifMakeOpNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: void
    signature: void sifMakeOpNode(SNode **pNode, EOperatorType opType, int32_t resType,
      SNode *pLeft, SNode *pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pNode
    - list
    - resType
    argTypes:
    - SNode**
    - SNodeList*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: sifMakeListNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: void
    signature: void sifMakeListNode(SNode **pNode, SNodeList *list, int32_t resType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:156,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:162,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pNode
    - opType
    - nodeList
    - nodeNum
    argTypes:
    - SNode**
    - ELogicConditionType
    - SNode**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: sifMakeLogicNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesMakeList
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void sifMakeLogicNode(SNode **pNode, ELogicConditionType opType, SNode
      **nodeList, int32_t nodeNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pNode
    - dataBlockId
    - slotId
    - snode
    argTypes:
    - SNode**
    - int64_t
    - int16_t
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: sifMakeTargetNode
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: void
    signature: void sifMakeTargetNode(SNode **pNode, int64_t dataBlockId, int16_t
      slotId, SNode *snode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifMakeColumnNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:186,1
    - Dst: sifMakeValueNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:187,1
    - Dst: sifMakeOpNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:188,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:189,1
    - Dst: doFilterTag
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:190,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:191,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:191,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:192,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:193,1
    - Dst: sifMakeColumnNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:197,1
    - Dst: sifMakeValueNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:198,1
    - Dst: sifMakeOpNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:199,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:201,1
    - Dst: doFilterTag
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:202,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:203,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:203,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:205,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:206,1
    - Dst: sifMakeColumnNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:210,1
    - Dst: sifMakeValueNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:211,1
    - Dst: sifMakeOpNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:212,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:213,1
    - Dst: doFilterTag
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:214,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:215,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:215,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:216,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:217,1
    - Dst: sifMakeColumnNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:221,1
    - Dst: sifMakeValueNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:222,1
    - Dst: sifMakeOpNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:223,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:225,1
    - Dst: doFilterTag
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:227,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:227,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:229,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 232
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - sifMakeColumnNode
    - sifMakeOpNode
    - EXPECT_EQ
    - sifMakeValueNode
    - taosArrayGetSize
    - taosArrayInit
    - doFilterTag
    - taosArrayDestroy
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, index_filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifMakeColumnNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:239,1
    - Dst: sifMakeValueNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:240,1
    - Dst: sifMakeOpNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:241,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:242,1
    - Dst: idxGetFltStatus
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:245,1
    - Dst: sifMakeColumnNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:249,1
    - Dst: sifMakeValueNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:250,1
    - Dst: sifMakeOpNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:251,1
    - Dst: idxGetFltStatus
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:253,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:254,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:255,1
    - Dst: sifMakeColumnNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:259,1
    - Dst: sifMakeValueNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:260,1
    - Dst: sifMakeOpNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:261,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:262,1
    - Dst: idxGetFltStatus
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:264,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:265,1
    - Dst: sifMakeColumnNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:269,1
    - Dst: sifMakeValueNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:270,1
    - Dst: sifMakeOpNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:271,1
    - Dst: idxGetFltStatus
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:273,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:274,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/index/test/index_executor_tests.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 277
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/index/test/index_executor_tests.cpp
    functionUses: 0
    functionsReached:
    - sifMakeColumnNode
    - sifMakeOpNode
    - EXPECT_EQ
    - sifMakeValueNode
    - idxGetFltStatus
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, index_filter_varify)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:25,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:26,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:28,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - suid
    - oper
    - colType
    - colName
    - nColName
    - colVal
    - nColVal
    argTypes:
    - int64_t
    - SIndexOperOnColumn
    - uint8_t
    - char*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: indexTermCreateT
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 10
    functionsReached:
    - indexTermCreate
    - memcpy
    linkageType: ''
    returnType: SIndexTerm
    signature: "SIndexTerm * indexTermCreateT(int64_t suid, SIndexOperOnColumn oper,
      uint8_t colType, const char* colName,\n                             int32_t
      nColName, const char* colVal, int32_t nColVal)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:39,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:39,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:40,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:41,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:43,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: initLog
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 4
    functionsReached:
    - taosInitLog
    - strcpy
    - taosRemoveDir
    - c_str
    - printf
    - taosMkDir
    linkageType: ''
    returnType: void
    signature: void initLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:50,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:50,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:51,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:51,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:52,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:52,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:53,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:53,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:54,1
    - Dst: initLog
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:56,1
    - Dst: indexOptsCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:57,1
    - Dst: indexJsonOpen
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:58,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:58,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: JsonEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 0
    functionsReached:
    - indexJsonOpen
    - initLog
    - taosRemoveDir
    - c_str
    - printf
    - taosMkDir
    - indexOptsCreate
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexJsonClose
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:62,1
    - Dst: indexOptsDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:63,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:64,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: JsonEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 0
    functionsReached:
    - taosMsleep
    - printf
    - indexJsonClose
    - indexOptsDestroy
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:73,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:73,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:73,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:75,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:76,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:77,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - index
    - ' colName'
    - dtype
    - data
    - dlen
    - tableId
    argTypes:
    - SIndexJson*
    - std::string
    - int8_t
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: WriteData
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermCreate
    - indexJsonPut
    - c_str
    - indexMultiTermDestroy
    - indexTermCreateT
    - indexMultiTermAdd
    - size
    linkageType: ''
    returnType: void
    signature: "void WriteData(SIndexJson* index, const std::string& colName, int8_t
      dtype, void* data, int dlen, int tableId,\n                      int8_t operType
      = ADD_VALUE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:84,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:84,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:84,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:86,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:87,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:88,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - index
    - ' colName'
    - dtype
    - data
    - dlen
    - tableId
    argTypes:
    - SIndexJson*
    - std::string
    - int8_t
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: delData
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermCreate
    - indexJsonPut
    - c_str
    - indexMultiTermDestroy
    - indexTermCreateT
    - indexMultiTermAdd
    - size
    linkageType: ''
    returnType: void
    signature: "void delData(SIndexJson* index, const std::string& colName, int8_t
      dtype, void* data, int dlen, int tableId,\n                    int8_t operType
      = DEL_VALUE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:96,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:97,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:97,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:97,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:99,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:100,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:101,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - index
    - ' colNam'
    - dtype
    - data
    - dlen
    - filterType
    - result
    argTypes:
    - SIndexJson*
    - std::string
    - int8_t
    - void*
    - int
    - int8_t
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: Search
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 16
    functionsReached:
    - indexMultiTermQueryDestroy
    - std::string::c_str
    - indexMultiTermQueryAdd
    - std::string::size
    - indexTermCreateT
    - taosArrayInit
    - indexJsonSearch
    - indexMultiTermQueryCreate
    linkageType: ''
    returnType: void
    signature: "void Search(SIndexJson* index, const std::string& colNam, int8_t dtype,
      void* data, int dlen, int8_t filterType,\n                   SArray** result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:110,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:110,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:110,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:111,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:111,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:112,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:113,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:114,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:115,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:122,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:122,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:122,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:123,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:123,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:125,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:126,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:127,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:128,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:135,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:135,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:135,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:136,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:136,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:138,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:139,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:140,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:141,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:148,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:149,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:149,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:149,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:150,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:150,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:152,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:153,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:155,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:155,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:156,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 159
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermQueryDestroy
    - indexMultiTermCreate
    - std::string::c_str
    - indexMultiTermQueryAdd
    - indexJsonPut
    - std::string::size
    - EXPECT_EQ
    - indexMultiTermDestroy
    - indexTermCreateT
    - taosArrayGetSize
    - taosArrayInit
    - indexMultiTermAdd
    - indexJsonSearch
    - taosArrayDestroy
    - indexMultiTermQueryCreate
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonEnv, testWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:165,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:165,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:165,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:166,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:166,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:168,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:169,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:170,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:171,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:178,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:180,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:180,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:180,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:181,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:181,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:183,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:184,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:185,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:186,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:194,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:194,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:194,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:195,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:195,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:197,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:198,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:199,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:200,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:207,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:208,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:208,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:208,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:209,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:209,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:211,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:212,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:214,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:214,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:215,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:216,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:223,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:224,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:224,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:224,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:225,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:225,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:227,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:228,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:230,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:230,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:231,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:232,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:239,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:240,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:240,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:240,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:241,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:241,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:243,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:244,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:246,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:246,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:247,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 252
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermQueryDestroy
    - indexMultiTermCreate
    - std::string::c_str
    - indexMultiTermQueryAdd
    - indexJsonPut
    - std::string::size
    - EXPECT_EQ
    - indexMultiTermDestroy
    - indexTermCreateT
    - taosArrayGetSize
    - taosArrayInit
    - indexMultiTermAdd
    - indexJsonSearch
    - taosArrayDestroy
    - indexMultiTermQueryCreate
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonEnv, testWriteMillonData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:259,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:259,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:259,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:262,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:263,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:264,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:265,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:272,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:272,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:272,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:275,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:276,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:277,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:278,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:285,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:285,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:285,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:288,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:289,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:290,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:291,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:298,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:298,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:298,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:299,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:301,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:302,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:303,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:304,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:310,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:311,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:311,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:311,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:314,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:315,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:316,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:317,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:317,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:318,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:319,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:325,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:326,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:326,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:326,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:329,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:330,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:332,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:332,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:333,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:334,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:341,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:342,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:342,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:342,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:345,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:346,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:347,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:348,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:348,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:349,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:350,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:357,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:358,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:358,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:358,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:361,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:362,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:364,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:364,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:365,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:366,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:373,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:374,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:374,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:374,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:377,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:378,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:380,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:380,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:381,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 384
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermQueryDestroy
    - indexMultiTermCreate
    - std::string::c_str
    - indexMultiTermQueryAdd
    - indexJsonPut
    - std::string::size
    - indexJsonSearch
    - indexMultiTermDestroy
    - EXPECT_EQ
    - indexTermCreateT
    - taosArrayGetSize
    - taosArrayInit
    - indexMultiTermAdd
    - strlen
    - taosArrayDestroy
    - indexMultiTermQueryCreate
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonEnv, testWriteJsonNumberData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:391,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:391,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:391,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:394,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:395,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:396,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:397,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:404,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:404,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:404,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:405,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:405,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:407,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:408,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:409,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:410,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:417,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:418,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:418,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:418,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:421,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:422,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:424,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:424,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:425,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:426,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:432,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:433,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:433,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:433,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:436,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:437,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:439,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:439,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:440,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:441,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:448,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:449,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:449,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:449,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:452,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:453,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:455,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:455,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:456,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:457,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:463,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:464,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:464,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:464,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:467,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:468,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:469,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:470,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:470,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:471,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:472,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:478,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:479,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:479,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:479,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:482,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:483,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:485,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:485,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:486,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:487,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:494,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:494,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:494,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:497,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:498,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:499,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:500,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:508,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:509,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:509,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:509,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:512,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:513,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:515,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:515,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:516,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:517,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:523,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:523,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:523,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:526,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:527,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:528,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:529,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:537,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:538,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:538,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:538,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:541,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:542,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:544,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:544,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:545,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 548
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermQueryDestroy
    - indexMultiTermCreate
    - std::string::c_str
    - indexMultiTermQueryAdd
    - indexJsonPut
    - std::string::size
    - EXPECT_EQ
    - indexMultiTermDestroy
    - indexTermCreateT
    - taosArrayGetSize
    - taosArrayInit
    - indexMultiTermAdd
    - indexJsonSearch
    - taosArrayDestroy
    - indexMultiTermQueryCreate
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonEnv, testWriteJsonTfileAndCache_INT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteData
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:555,1
    - Dst: WriteData
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:564,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:564,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:564,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:572,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:572,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:573,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:579,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:579,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:580,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:580,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 583
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - EXPECT_EQ
    - std::string::size
    - Search
    - taosArrayGetSize
    - taosArrayDestroy
    - WriteData
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonEnv, testWriteJsonTfileAndCache_INT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteData
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:589,1
    - Dst: WriteData
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:596,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:604,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:604,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:605,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:612,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:612,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:613,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:620,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:620,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 623
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Search
    - taosArrayGetSize
    - taosArrayDestroy
    - WriteData
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonEnv, testWriteJsonTfileAndCache_FLOAT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteData
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:628,1
    - Dst: WriteData
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:634,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:641,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:642,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:642,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:643,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:649,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:649,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:650,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:656,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:656,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:657,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:663,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:663,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:664,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:670,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:670,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/jsonUT.cc:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 673
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/jsonUT.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Search
    - taosArrayGetSize
    - taosArrayDestroy
    - WriteData
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonEnv, testWriteJsonTfileAndCache_DOUBLE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:27,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:27,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:28,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:28,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:30,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:30,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:31,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:32,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:35,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:36,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: EnvInit
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - taosInitLog
    - std::string::c_str
    - taosRemoveDir
    - printf
    - snprintf
    - taosMkDir
    - tstrncpy
    - memset
    linkageType: ''
    returnType: void
    signature: void EnvInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: EnvCleanup
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnvCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:42,1
    - Dst: fstBuilderCreate
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: FstWriter::FstWriter
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 11
    functionsReached:
    - fstBuilderCreate
    - idxFileCtxCreate
    linkageType: ''
    returnType: void
    signature: void FstWriter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:50,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:50,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:50,1
    - Dst: fstBuilderInsert
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:51,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - val
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: FstWriter::Put
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - fstSliceDestroy
    - c_str
    - fstSliceCreate
    - fstBuilderInsert
    - size
    linkageType: ''
    returnType: bool
    signature: bool Put(const std::string& key, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstBuilderDestroy
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:57,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: ~FstWriter()
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - idxFileCtxDestroy
    - fstBuilderDestroy
    linkageType: ''
    returnType: void
    signature: void ~FstWriter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:70,1
    - Dst: idxFileCreate
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:71,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: FstReadMemory::FstReadMemory
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 11
    functionsReached:
    - idxFileCreate
    - idxFileCtxCreate
    - memset
    linkageType: ''
    returnType: void
    signature: void FstReadMemory(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:76,1
    - Dst: idxFileRead
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:77,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:82,1
    - Dst: fstCreate
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:83,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: FstReadMemory::init
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - idxFileRead
    - fstSliceCreate
    - fstCreate
    - taosMemoryCalloc
    linkageType: ''
    returnType: bool
    signature: bool init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:93,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:93,1
    - Dst: size
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:93,1
    - Dst: fstGet
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:94,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' key'
    - val
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: FstReadMemory::Get
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 2
    functionsReached:
    - fstSliceDestroy
    - fstGet
    - c_str
    - fstSliceCreate
    - size
    linkageType: ''
    returnType: bool
    signature: bool Get(const std::string& key, uint64_t* val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:100,1
    - Dst: FstReadMemory::Get
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:101,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' key'
    - val
    - elapse
    argTypes:
    - std::string
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: FstReadMemory::GetWithTimeCostUs
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - FstReadMemory::Get
    linkageType: ''
    returnType: bool
    signature: bool GetWithTimeCostUs(const std::string& key, uint64_t* val, uint64_t*
      elapse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:108,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:109,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:111,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:115,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:117,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:117,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - ' result'
    argTypes:
    - FAutoCtx*
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: FstReadMemory::Search
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 2
    functionsReached:
    - swsResultDestroy
    - stmBuilderIntoStm
    - fstSliceData
    - std::string::c_str
    - stmStNextWith
    - printf
    - fstSearch
    linkageType: ''
    returnType: bool
    signature: bool Search(FAutoCtx* ctx, std::vector<uint64_t>& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:124,1
    - Dst: FstReadMemory::Search
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:125,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ' result'
    argTypes:
    - FAutoCtx*
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: FstReadMemory::SearchWithTimeCostUs
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - FstReadMemory::Search
    linkageType: ''
    returnType: bool
    signature: bool SearchWithTimeCostUs(FAutoCtx* ctx, std::vector<uint64_t>& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxFileDestroy
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:131,1
    - Dst: fstDestroy
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:132,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:133,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: ~FstReadMemory()
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - idxFileCtxDestroy
    - fstSliceDestroy
    - idxFileDestroy
    - fstDestroy
    linkageType: ''
    returnType: void
    signature: void ~FstReadMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: FstWriterEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - FstWriter::FstWriter
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: FstWriterEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: FstReadEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - FstReadMemory::FstReadMemory
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: FstReadEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: TFst::CreateWriter
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - FstWriter::FstWriter
    linkageType: ''
    returnType: void
    signature: void CreateWriter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FstWriter::FstWriter
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: TFst::ReCreateWriter
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - FstWriter::FstWriter
    linkageType: ''
    returnType: void
    signature: void ReCreateWriter()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: TFst::DestroyWriter
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DestroyWriter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:170,1
    - Dst: init
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: TFst::CreateReader
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - init
    - FstReadMemory::FstReadMemory
    linkageType: ''
    returnType: void
    signature: void CreateReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FstReadMemory::FstReadMemory
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: TFst::ReCreateReader
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - FstReadMemory::FstReadMemory
    linkageType: ''
    returnType: void
    signature: void ReCreateReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: TFst::DestroyReader
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DestroyReader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TFst::Put
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' k'
    - v
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: TFst::Put
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 1
    functionsReached:
    - TFst::Put
    linkageType: ''
    returnType: bool
    signature: bool Put(const std::string& k, uint64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TFst::Get
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' k'
    - v
    argTypes:
    - std::string
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: TFst::Get
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 1
    functionsReached:
    - TFst::Get
    linkageType: ''
    returnType: bool
    signature: bool Get(const std::string& k, uint64_t* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFst::Search
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ' result'
    argTypes:
    - FAutoCtx*
    - std::vector<uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: TFst::Search
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 1
    functionsReached:
    - TFst::Search
    linkageType: ''
    returnType: bool
    signature: bool Search(FAutoCtx* ctx, std::vector<uint64_t>& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnvInit
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:205,1
    - Dst: TFst::TFst
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: FstEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - TFst::TFst
    - EnvInit
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: FstEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateWriter
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:213,1
    - Dst: std::string::resize
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:217,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:218,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:218,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:221,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:221,1
    - Dst: DestroyWriter
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:223,1
    - Dst: CreateReader
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:225,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:227,1
    - Dst: Get
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:227,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:228,1
    - Dst: Get
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:228,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:229,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:232,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:233,1
    - Dst: Search
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 234
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - CreateReader
    - CreateWriter
    - automCtxCreate
    - DestroyWriter
    - std::string::resize
    - Search
    - Put
    - TD_ALWAYS_ASSERT
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstEnv, writeNormal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstEnv, WriteMillonrRecord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateWriter
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:237,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:241,1
    - Dst: Put
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:242,1
    - Dst: DestroyWriter
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:244,1
    - Dst: CreateReader
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:246,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:248,1
    - Dst: Get
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:248,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:249,1
    - Dst: Get
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:249,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/fstUT.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 251
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/fstUT.cc
    functionUses: 0
    functionsReached:
    - CreateReader
    - CreateWriter
    - DestroyWriter
    - Put
    - TD_ALWAYS_ASSERT
    - Get
    linkageType: ''
    returnType: void
    signature: void TEST_F(FstEnv, writeAbNormal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:39,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:39,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:40,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:41,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:43,1
    - Dst: printf
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: initLog
    functionSourceFile: /src/tdengine/source/libs/index/test/indexBench.cc
    functionUses: 5
    functionsReached:
    - taosInitLog
    - strcpy
    - taosRemoveDir
    - c_str
    - printf
    - taosMkDir
    linkageType: ''
    returnType: void
    signature: void initLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: Idx::Idx
    functionSourceFile: /src/tdengine/source/libs/index/test/indexBench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Idx(int _cacheSize = 1024 * 1024 * 4, const char *_path = "tindex")
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initLog
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:59,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:61,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:61,1
    - Dst: indexJsonOpen
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:63,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - remove
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: Idx::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/indexBench.cc
    functionUses: 0
    functionsReached:
    - indexJsonOpen
    - initLog
    - taosRemoveDir
    - c_str
    linkageType: ''
    returnType: int
    signature: int SetUp(bool remove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexJsonPut
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - batch
    - uid
    argTypes:
    - WriteBatch*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: Idx::Write
    functionSourceFile: /src/tdengine/source/libs/index/test/indexBench.cc
    functionUses: 0
    functionsReached:
    - indexJsonPut
    linkageType: ''
    returnType: int
    signature: int Write(WriteBatch *batch, uint64_t uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - json
    - key
    - id
    argTypes:
    - char*
    - void*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: Idx::Read
    functionSourceFile: /src/tdengine/source/libs/index/test/indexBench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Read(const char *json, void *key, int64_t *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexJsonClose
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: Idx::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/indexBench.cc
    functionUses: 0
    functionsReached:
    - indexJsonClose
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:88,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:89,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:91,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - suid
    - oper
    - colType
    - colName
    - nColName
    - colVal
    - nColVal
    argTypes:
    - int64_t
    - SIndexOperOnColumn
    - uint8_t
    - char*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: indexTermCreateT
    functionSourceFile: /src/tdengine/source/libs/index/test/indexBench.cc
    functionUses: 17
    functionsReached:
    - indexTermCreate
    - memcpy
    linkageType: ''
    returnType: SIndexTerm
    signature: "SIndexTerm *indexTermCreateT(int64_t suid, SIndexOperOnColumn oper,
      uint8_t colType, const char *colName,\n                             int32_t
      nColName, const char *colVal, int32_t nColVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:98,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:109,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:110,1
    - Dst: indexTermCreateT
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:111,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:111,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:111,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:112,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:112,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wb
    - batchSize
    argTypes:
    - WriteBatch*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: initWriteBatch
    functionSourceFile: /src/tdengine/source/libs/index/test/indexBench.cc
    functionUses: 0
    functionsReached:
    - indexMultiTermCreate
    - std::string::c_str
    - std::string::size
    - indexTermCreateT
    - indexMultiTermAdd
    linkageType: ''
    returnType: int
    signature: int initWriteBatch(WriteBatch *wb, int batchSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Idx*::Write
      Src: /src/tdengine/source/libs/index/test/indexBench.cc:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - idx
    - batchSize
    - limit
    argTypes:
    - Idx*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: BenchWrite
    functionSourceFile: /src/tdengine/source/libs/index/test/indexBench.cc
    functionUses: 0
    functionsReached:
    - Idx*::Write
    linkageType: ''
    returnType: int
    signature: int BenchWrite(Idx *idx, int batchSize, int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - Idx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: BenchRead
    functionSourceFile: /src/tdengine/source/libs/index/test/indexBench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BenchRead(Idx *idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/index/test/indexBench.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:25,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:27,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:28,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: UtilEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:34,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:35,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:36,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: UtilEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: UtilComm::SetUp
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: UtilComm::TearDown
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:69,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:70,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: clearSourceArray
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - taosArrayGetP
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void clearSourceArray(SArray *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: clearFinalArray
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: void clearFinalArray(SArray *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:76,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:79,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:81,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:84,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:86,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:89,1
    - Dst: iIntersection
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:91,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:92,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:92,1
    - Dst: clearSourceArray
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:94,1
    - Dst: clearFinalArray
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - clearFinalArray
    - clearSourceArray
    - iIntersection
    - taosArrayGetSize
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void TEST_F(UtilEnv, intersectionSimpleResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:98,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:101,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:103,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:106,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:108,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:111,1
    - Dst: iIntersection
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:114,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:115,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:115,1
    - Dst: clearSourceArray
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:116,1
    - Dst: clearFinalArray
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - clearFinalArray
    - clearSourceArray
    - iIntersection
    - taosArrayGetSize
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void TEST_F(UtilEnv, intersectMultiEmptyResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearSourceArray
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:120,1
    - Dst: clearFinalArray
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:121,1
    - Dst: iIntersection
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:123,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:124,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - clearFinalArray
    - clearSourceArray
    - iIntersection
    - taosArrayGetSize
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST_F(UtilEnv, intersectSimpleEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearSourceArray
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:127,1
    - Dst: clearFinalArray
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:128,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:131,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:133,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:137,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:139,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:143,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:145,1
    - Dst: iIntersection
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:148,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:149,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - clearFinalArray
    - clearSourceArray
    - iIntersection
    - taosArrayGetSize
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void TEST_F(UtilEnv, intersect01)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearSourceArray
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:152,1
    - Dst: clearFinalArray
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:153,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:156,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:158,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:162,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:164,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:168,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:170,1
    - Dst: iIntersection
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:173,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:174,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 175
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - clearFinalArray
    - clearSourceArray
    - iIntersection
    - taosArrayGetSize
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void TEST_F(UtilEnv, intersect02)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:354,1
    - Dst: taosStr2int64
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:357,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:362,1
    - Dst: taosStr2int64
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 367
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - idxInt2str
    - EXPECT_EQ
    - taosStr2int64
    linkageType: ''
    returnType: void
    signature: void TEST_F(UtilEnv, testFill)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxTRsltCreate
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:369,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:371,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:374,1
    - Dst: idxTRsltMergeTo
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:376,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 377
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - EXPECT_EQ
    - idxTRsltMergeTo
    - taosArrayInit
    - idxTRsltCreate
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(UtilEnv, TempResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxTRsltCreate
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:379,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:381,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:384,1
    - Dst: idxTRsltMergeTo
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:386,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - EXPECT_EQ
    - idxTRsltMergeTo
    - taosArrayInit
    - idxTRsltCreate
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(UtilEnv, TempResultExcept)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(UtilEnv, testDictComm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompare
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:399,1
    - Dst: cmpFunc
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - cmpFunc
    - idxGetCompare
    linkageType: ''
    returnType: void
    signature: void TEST_F(UtilComm, testCompress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dfaBuilderCreate
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:410,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:411,1
    - Dst: dfaBuilderDestroy
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:412,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:415,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:418,1
    - Dst: dfaBuilderCreate
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:420,1
    - Dst: dfaBuilderBuild
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:421,1
    - Dst: dfaBuilderDestroy
      Src: /src/tdengine/source/libs/index/test/utilUT.cc:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 424
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/index/test/utilUT.cc
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - dfaBuilderCreate
    - dfaBuilderBuild
    - taosArrayInit
    - dfaBuilderDestroy
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(UtilComm, testfstDfa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cell
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: FST_REGISTRY_CELL_IS_EMPTY
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstRegistry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_REGISTRY_CELL_IS_EMPTY(cell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cell
    - ','
    - tAddr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: FST_REGISTRY_CELL_INSERT
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstRegistry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_REGISTRY_CELL_INSERT(cell, tAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - writer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: FST_WRITER_COUNT
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_WRITER_COUNT(writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - writer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: FST_WRITER_INTER_WRITER
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_WRITER_INTER_WRITER(writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - writer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: FST_WRITE_CHECK_SUMMER
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstFile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_WRITE_CHECK_SUMMER(writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: FST_SET_TRANSITION_PACK_SIZE
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_SET_TRANSITION_PACK_SIZE(v, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: FST_GET_TRANSITION_PACK_SIZE
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_GET_TRANSITION_PACK_SIZE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: FST_SET_OUTPUT_PACK_SIZE
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_SET_OUTPUT_PACK_SIZE(v, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: FST_GET_OUTPUT_PACK_SIZE
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_GET_OUTPUT_PACK_SIZE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: COMMON_INPUT
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMMON_INPUT(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - max
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: COMMON_INDEX
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMMON_INDEX(v, max, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: FST_SLICE_LEN
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_SLICE_LEN(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: OUTPUT_PREFIX
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OUTPUT_PREFIX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nodes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: FST_UNFINISHED_NODES_LEN
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_UNFINISHED_NODES_LEN(nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: FST_STATE_ONE_TRNAS_NEXT
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_STATE_ONE_TRNAS_NEXT(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: FST_STATE_ONE_TRNAS
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_STATE_ONE_TRNAS(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: FST_STATE_ANY_TRANS
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_STATE_ANY_TRANS(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: FST_STATE_EMPTY_FINAL
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_STATE_EMPTY_FINAL(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: FST_NODE_FINAL_OUTPUT
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_NODE_FINAL_OUTPUT(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: FST_NODE_IS_FINAL
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_NODE_IS_FINAL(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: FST_NODE_LEN
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_NODE_LEN(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: FST_NODE_IS_EMPTYE
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_NODE_IS_EMPTYE(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: FST_NODE_ADDR
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_NODE_ADDR(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cache
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: CACHE_VERSION
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexCache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_VERSION(cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - key
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: SERIALIZE_MEM_TO_BUF
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_MEM_TO_BUF(buf, key, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf
    - ','
    - key
    - ','
    - mem
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: SERIALIZE_STR_MEM_TO_BUF
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_STR_MEM_TO_BUF(buf, key, mem, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - var
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: SERIALIZE_VAR_TO_BUF
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_VAR_TO_BUF(buf, var, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - var
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: SERIALIZE_STR_VAR_TO_BUF
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_STR_VAR_TO_BUF(buf, var, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - src
    - ','
    - dst
    - ','
    - tgt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: INDEX_MERGE_ADD_DEL
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INDEX_MERGE_ADD_DEL(src, dst, tgt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: FST_BUILDER_NODE_IS_FINAL
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstNode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_BUILDER_NODE_IS_FINAL(bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: FST_BUILDER_NODE_TRANS_ISEMPTY
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstNode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_BUILDER_NODE_TRANS_ISEMPTY(bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: FST_BUILDER_NODE_FINALOUTPUT_ISZERO
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexFstNode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FST_BUILDER_NODE_FINALOUTPUT_ISZERO(bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: indexFatal
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: indexFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: indexError
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: indexError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: indexWarn
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: indexWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: indexInfo
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: indexInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: indexDebug
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: indexDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: indexTrace
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: indexTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ty
    - ','
    - exTy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: IDX_TYPE_CONTAIN_EXTERN_TYPE
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDX_TYPE_CONTAIN_EXTERN_TYPE(ty, exTy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ty
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: IDX_TYPE_GET_TYPE
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDX_TYPE_GET_TYPE(ty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ty
    - ','
    - exTy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: IDX_TYPE_ADD_EXTERN_TYPE
    functionSourceFile: /src/tdengine/source/libs/index/inc/indexInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDX_TYPE_ADD_EXTERN_TYPE(ty, exTy)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - val
    - dst
    - radix
    argTypes:
    - int64_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 77
    functionName: idxInt2str
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * idxInt2str(int64_t val, char* dst, int radix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: idxGetCompar
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    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:86,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: tCompareLessThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached:
    - idxGetCompar
    - tCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tCompareLessThan(void* a, void* b, int8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompar
      Src: /src/tdengine/source/libs/index/src/indexComm.c:93,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: tCompareLessEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached:
    - idxGetCompar
    - tCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tCompareLessEqual(void* a, void* b, int8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompar
      Src: /src/tdengine/source/libs/index/src/indexComm.c:100,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tCompareGreaterThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached:
    - idxGetCompar
    - tCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tCompareGreaterThan(void* a, void* b, int8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompar
      Src: /src/tdengine/source/libs/index/src/indexComm.c:107,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: tCompareGreaterEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached:
    - idxGetCompar
    - tCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tCompareGreaterEqual(void* a, void* b, int8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompar
      Src: /src/tdengine/source/libs/index/src/indexComm.c:115,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: tCompareContains
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached:
    - idxGetCompar
    - tCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tCompareContains(void* a, void* b, int8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: CHECKCOMERROR
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKCOMERROR(expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompar
      Src: /src/tdengine/source/libs/index/src/indexComm.c:130,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: tCompareEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached:
    - idxGetCompar
    - tCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tCompareEqual(void* a, void* b, int8_t type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:139,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:144,1
    - Dst: taosStr2int64
      Src: /src/tdengine/source/libs/index/src/indexComm.c:144,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:146,1
    - Dst: taosStr2int64
      Src: /src/tdengine/source/libs/index/src/indexComm.c:146,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:147,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:150,1
    - Dst: taosStr2int8
      Src: /src/tdengine/source/libs/index/src/indexComm.c:150,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:152,1
    - Dst: taosStr2int8
      Src: /src/tdengine/source/libs/index/src/indexComm.c:152,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:153,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:156,1
    - Dst: taosStr2int8
      Src: /src/tdengine/source/libs/index/src/indexComm.c:156,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:158,1
    - Dst: taosStr2int8
      Src: /src/tdengine/source/libs/index/src/indexComm.c:158,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:159,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:162,1
    - Dst: taosStr2int16
      Src: /src/tdengine/source/libs/index/src/indexComm.c:162,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:164,1
    - Dst: taosStr2int16
      Src: /src/tdengine/source/libs/index/src/indexComm.c:164,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:165,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:168,1
    - Dst: taosStr2int16
      Src: /src/tdengine/source/libs/index/src/indexComm.c:168,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:170,1
    - Dst: taosStr2int16
      Src: /src/tdengine/source/libs/index/src/indexComm.c:170,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:171,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:174,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/index/src/indexComm.c:174,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:176,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/index/src/indexComm.c:176,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:177,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:180,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/index/src/indexComm.c:180,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:182,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/index/src/indexComm.c:182,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:183,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:186,1
    - Dst: taosStr2int64
      Src: /src/tdengine/source/libs/index/src/indexComm.c:186,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:188,1
    - Dst: taosStr2int64
      Src: /src/tdengine/source/libs/index/src/indexComm.c:188,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:189,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/index/src/indexComm.c:192,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:192,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/index/src/indexComm.c:192,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:192,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:195,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/index/src/indexComm.c:197,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/index/src/indexComm.c:201,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:205,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/index/src/indexComm.c:207,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/index/src/indexComm.c:211,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:215,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 5
    argNames:
    - func
    - cmptype
    - a
    - b
    - dtype
    argTypes:
    - __compar_fn_t
    - int8_t
    - void*
    - void*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 219
    functionName: tCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 7
    functionsReached:
    - toUInteger
    - taosStr2int16
    - taosStr2int32
    - taosStr2int64
    - CHECKCOMERROR
    - tDoCompare
    - taosStr2Float
    - taosStr2int8
    - taosStr2Double
    - strlen
    linkageType: ''
    returnType: TExeCond
    signature: TExeCond tCompare(__compar_fn_t func, int8_t cmptype, void* a, void*
      b, int8_t dtype)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/index/src/indexComm.c:222,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - func
    - comparType
    - a
    - b
    argTypes:
    - __compar_fn_t
    - int8_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 247
    functionName: tDoCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 1
    functionsReached:
    - func
    linkageType: ''
    returnType: TExeCond
    signature: TExeCond tDoCompare(__compar_fn_t func, int8_t comparType, void* a,
      void* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ty
    argTypes:
    - RangeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: idxGetCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 1
    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:259,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:262,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:268,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:271,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:274,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:277,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - itm
    argTypes:
    - SIndexTerm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: idxPackJsonData
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosMemoryCalloc
    - 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:290,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:293,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:299,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:302,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:305,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - itm
    - skip
    argTypes:
    - SIndexTerm*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 314
    functionName: idxPackJsonDataPrefix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosMemoryCalloc
    - IDX_TYPE_GET_TYPE
    linkageType: ''
    returnType: char
    signature: char * idxPackJsonDataPrefix(SIndexTerm* itm, int32_t* skip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexComm.c:320,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:323,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:330,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - itm
    - skip
    argTypes:
    - SIndexTerm*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 338
    functionName: idxPackJsonDataPrefixNoType
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosMemoryCalloc
    - IDX_TYPE_GET_TYPE
    linkageType: ''
    returnType: char
    signature: char * idxPackJsonDataPrefixNoType(SIndexTerm* itm, int32_t* skip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: idxUidCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int idxUidCompare(const void* a, const void* b)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/index/src/indexComm.c:348,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:348,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:352,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:358,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:362,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:362,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:363,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:367,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:371,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:371,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:372,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:375,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:379,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:379,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:380,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:383,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:387,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:387,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:388,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:391,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:395,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:395,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:396,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:399,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:403,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:403,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:404,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:407,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:411,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:411,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:412,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:415,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/index/src/indexComm.c:419,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:420,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:423,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:427,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:427,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:428,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:431,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/index/src/indexComm.c:435,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:436,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:439,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/index/src/indexComm.c:443,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:444,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/index/src/indexComm.c:447,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexComm.c:447,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:447,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:448,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/index/src/indexComm.c:452,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexComm.c:452,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:452,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/index/src/indexComm.c:459,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexComm.c:459,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:459,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:460,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/index/src/indexComm.c:464,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexComm.c:464,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:464,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 125
    argCount: 3
    argNames:
    - src
    - type
    - dst
    argTypes:
    - void*
    - int8_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 473
    functionName: idxConvertDataToStr
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: 0
    functionsReached:
    - taosEncodeBinary
    - varDataLen
    - snprintf
    - TAOS_UNUSED
    - taosStrndup
    - varDataVal
    - strlen
    - taosMemoryCalloc
    - 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:27,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - registry
    - bNode
    argTypes:
    - FstRegistry*
    - FstBuilderNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: fstRegistryHash
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE fstRegistryHash(FstRegistry* registry, FstBuilderNode*
      bNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:37,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:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - arr
    - a
    - b
    argTypes:
    - SArray*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: fstRegistryCellSwap
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void fstRegistryCellSwap(SArray* arr, uint32_t a, uint32_t b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:56,1
    - Dst: fstRegistryCellSwap
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - arr
    - start
    - end
    argTypes:
    - SArray*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: fstRegistryCellPromote
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    - fstRegistryCellSwap
    linkageType: ''
    returnType: void
    signature: 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:73,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:79,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:81,1
    - Dst: fstBuilderNodeDefault
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:86,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:87,1
    - Dst: fstRegistryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - tableSize
    - mruSize
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: fstRegistryCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - taosMemoryFree
    - fstRegistryDestroy
    - taosArrayInit
    - fstBuilderNodeDefault
    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:105,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:107,1
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:108,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:110,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - registry
    argTypes:
    - FstRegistry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: fstRegistryDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - fstBuilderNodeDestroy
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void fstRegistryDestroy(FstRegistry* registry)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:115,1
    - Dst: fstRegistryHash
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:118,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:122,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:126,1
    - Dst: fstBuilderNodeEqual
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:128,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:133,1
    - Dst: fstBuilderNodeCloneFrom
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:133,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:138,1
    - Dst: fstBuilderNodeEqual
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:139,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:144,1
    - Dst: fstBuilderNodeEqual
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:145,1
    - Dst: fstRegistryCellSwap
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:149,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:153,1
    - Dst: fstBuilderNodeCloneFrom
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:153,1
    - Dst: fstRegistryCellSwap
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:155,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:156,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:162,1
    - Dst: fstBuilderNodeEqual
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:163,1
    - Dst: fstRegistryCellPromote
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:166,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:172,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:174,1
    - Dst: fstBuilderNodeCloneFrom
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:174,1
    - Dst: fstRegistryCellPromote
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:176,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:177,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - registry
    - bNode
    argTypes:
    - FstRegistry*
    - FstBuilderNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 183
    functionName: fstRegistryGetEntry
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayGet
    - fstBuilderNodeEqual
    - fstRegistryCellSwap
    - fstRegistryCellPromote
    - taosArrayGetSize
    - TAOS_UNUSED
    - fstBuilderNodeCloneFrom
    - fstRegistryHash
    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:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - FstRegistryEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: fstRegistryEntryDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void fstRegistryEntryDestroy(FstRegistryEntry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - cap
    argTypes:
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: sparSetInitBuf
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sparSetInitBuf(int32_t *buf, int32_t cap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:24,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:30,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: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:34,1
    - Dst: sparSetInitBuf
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:37,1
    - Dst: sparSetInitBuf
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - sz
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 44
    functionName: sparSetCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: 2
    functionsReached:
    - sparSetInitBuf
    - taosMemoryMalloc
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: FstSparseSet
    signature: FstSparseSet *sparSetCreate(int32_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:49,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:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - FstSparseSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: sparSetDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: 2
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void sparSetDestroy(FstSparseSet *ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - FstSparseSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: sparSetLen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sparSetLen(FstSparseSet *ss)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ss
    - ip
    - idx
    argTypes:
    - FstSparseSet*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: sparSetAdd
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sparSetAdd(FstSparseSet *ss, int32_t ip, int32_t *idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - ss
    - idx
    - ip
    argTypes:
    - FstSparseSet*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: sparSetGet
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sparSetGet(FstSparseSet *ss, int32_t idx, int32_t *ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ss
    - ip
    argTypes:
    - FstSparseSet*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: sparSetContains
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: 1
    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:99,1
    - Dst: sparSetInitBuf
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - FstSparseSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: sparSetClear
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: 1
    functionsReached:
    - sparSetInitBuf
    linkageType: ''
    returnType: void
    signature: void sparSetClear(FstSparseSet *ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - arr
    - s
    - e
    - k
    argTypes:
    - SArray*
    - int
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: iBinarySearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE iBinarySearch(SArray *arr, int s, int e, uint64_t k)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:41,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:45,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:50,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:51,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:55,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:56,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:57,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:59,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:60,1
    - Dst: iBinarySearch
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:61,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:63,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:71,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 79
    functionName: iIntersection
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: 5
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayGet
    - iBinarySearch
    - taosArrayGetSize
    - taosMemoryCalloc
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t iIntersection(SArray *in, SArray *out)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:82,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:87,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:87,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:92,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:98,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:99,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:107,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:111,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:119,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:120,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:125,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:133,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 135
    functionName: iUnion
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayGet
    - taosArrayGetLast
    - taosArrayAddAll
    - taosArrayGetSize
    - taosMemoryCalloc
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t iUnion(SArray *in, SArray *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:138,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:139,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:146,1
    - Dst: iBinarySearch
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:147,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:148,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:151,1
    - Dst: taosArrayPopTailBatch
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - total
    - except
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: iExcept
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPopTailBatch
    - taosArrayGet
    - iBinarySearch
    - taosArrayGetSize
    - taosArraySet
    linkageType: ''
    returnType: int32_t
    signature: int32_t iExcept(SArray *total, SArray *except)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: uidCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uidCompare(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareUint64Val
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:172,1
    - Dst: compareUint32Val
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: verdataCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: 0
    functionsReached:
    - compareUint32Val
    - compareUint64Val
    linkageType: ''
    returnType: int
    signature: int verdataCompare(const void *a, const void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:181,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:186,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:188,1
    - Dst: idxTRsltClear
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 195
    functionName: idxTRsltCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: 4
    functionsReached:
    - taosMemoryCalloc
    - idxTRsltClear
    - taosArrayInit
    linkageType: ''
    returnType: SIdxTRslt
    signature: SIdxTRslt *idxTRsltCreate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tr
    argTypes:
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: idxTRsltClear
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: void idxTRsltClear(SIdxTRslt *tr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:208,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:209,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:210,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tr
    argTypes:
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: idxTRsltDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void idxTRsltDestroy(SIdxTRslt *tr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:215,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:217,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:219,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:219,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:220,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:221,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:225,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:230,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:231,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:235,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:236,1
    - Dst: iUnion
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:239,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:240,1
    - Dst: iExcept
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - tr
    - result
    argTypes:
    - SIdxTRslt*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 246
    functionName: idxTRsltMergeTo
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: 4
    functionsReached:
    - taosArrayPush
    - taosArraySort
    - iExcept
    - taosArrayAddAll
    - taosArrayGetSize
    - taosArrayInit
    - iUnion
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxTRsltMergeTo(SIdxTRslt *tr, SArray *result)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: packSize
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t packSize(uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ch
    - sz
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: unpackUint64
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t unpackUint64(uint8_t* ch, uint8_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: packSize
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:61,1
    - Dst: packSize
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nodeAddr
    - transAddr
    argTypes:
    - CompiledAddr
    - CompiledAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: packDeltaSize
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: 0
    functionsReached:
    - packSize
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t packDeltaSize(CompiledAddr nodeAddr, CompiledAddr transAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unpackUint64
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - len
    - nodeAddr
    argTypes:
    - char*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: unpackDelta
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: 0
    functionsReached:
    - unpackUint64
    linkageType: ''
    returnType: CompiledAddr
    signature: CompiledAddr unpackDelta(char* data, uint64_t len, uint64_t nodeAddr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:79,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:85,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:87,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: fstSliceCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: 11
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFree
    - memcpy
    linkageType: ''
    returnType: FstSlice
    signature: FstSlice fstSliceCreate(uint8_t* data, uint64_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:101,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - start
    - end
    argTypes:
    - FstSlice*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: fstSliceCopy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_32
    - TAOS_UNUSED
    linkageType: ''
    returnType: FstSlice
    signature: FstSlice fstSliceCopy(FstSlice* s, int32_t start, int32_t end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:110,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:112,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:116,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:118,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - s
    - start
    - end
    argTypes:
    - FstSlice*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 132
    functionName: fstSliceDeepCopy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    - taosMemoryMalloc
    - memcpy
    - taosMemoryFree
    linkageType: ''
    returnType: FstSlice
    signature: FstSlice fstSliceDeepCopy(FstSlice* s, int32_t start, int32_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - FstSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: fstSliceIsEmpty
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fstSliceIsEmpty(FstSlice* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - FstSlice*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: fstSliceData
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * fstSliceData(FstSlice* s, int32_t* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:145,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:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - FstSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: fstSliceDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: 10
    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:155,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FstSlice*
    - FstSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 177
    functionName: fstSliceCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    linkageType: ''
    returnType: int
    signature: int fstSliceCompare(FstSlice* a, FstSlice* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: SIF_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIF_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: SIF_RET
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIF_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: SIF_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIF_ERR_JRET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - val
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 70
    functionName: SIF_DATA_CONVERT
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIF_DATA_CONVERT(type, val, dst)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - EOperatorType
    - EIndexQueryType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: sifGetFuncFromSql
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifGetFuncFromSql(EOperatorType src, EIndexQueryType *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:124,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:125,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: sifFreeParam
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifFreeParam(SIFParam *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - ty
    argTypes:
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: sifGetOperParamNum
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifGetOperParamNum(EOperatorType ty)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - ty
    argTypes:
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: sifValidOp
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifValidOp(EOperatorType ty)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cn
    argTypes:
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: sifValidColumn
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifValidColumn(SColumnNode *cn)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - type
    - ls
    - rs
    argTypes:
    - ELogicConditionType
    - SIdxFltStatus
    - SIdxFltStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: SIdxFltStatus::sifMergeCond
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE SIdxFltStatus sifMergeCond(ELogicConditionType type, SIdxFltStatus
      ls, SIdxFltStatus rs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:179,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:184,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:185,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:186,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:187,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:193,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:205,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - node
    - value
    argTypes:
    - SNode*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 214
    functionName: sifGetValueFromNode
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - memcpy
    - varDataTLen
    - IS_STR_DATA_BLOB
    - nodesGetValueFromNode
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifGetValueFromNode(SNode *node, char **value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:226,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:227,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:227,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:233,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:233,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:235,1
    - Dst: taosHashSetEqualFp
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:239,1
    - Dst: taosGetDefaultEqualFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:239,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:243,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:244,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:245,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:246,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:256,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:257,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:258,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:260,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:267,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:269,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:270,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:276,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:280,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:281,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:282,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:283,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - node
    - pFilter
    argTypes:
    - SNode*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 292
    functionName: sifCreateHashFromNodeList
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - taosHashSetEqualFp
    - taosGetDefaultEqualFunction
    - indexError
    - blobDataTLen
    - memcpy
    - varDataTLen
    - LIST_LENGTH
    - IS_STR_DATA_BLOB
    - nodeType
    - taosHashInit
    - FOREACH
    - nodesGetValueFromNode
    - taosHashCleanup
    - taosMemoryFree
    - taosGetDefaultHashFunction
    - taosHashPut
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifCreateHashFromNodeList(SNode *node, SHashObj **pFilter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:296,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:304,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:306,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - node
    - param
    - ctx
    argTypes:
    - SNode*
    - SIFParam*
    - SIFCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 310
    functionName: sifInitJsonParam
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strlen
    - memcpy
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifInitJsonParam(SNode *node, SIFParam *param, SIFCtx
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:312,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:312,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:319,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: sifNeedConvertCond
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifNeedConvertCond(SNode *l, SNode *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:328,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:337,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:341,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:342,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:347,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:359,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:364,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:369,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:370,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:370,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - r
    - l
    - param
    - ctx
    argTypes:
    - SNode*
    - SNode*
    - SIFParam*
    - SIFCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 375
    functionName: sifInitParamValByCol
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - memcpy
    - varDataTLen
    - nodesGetValueFromNode
    - strlen
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifInitParamValByCol(SNode *r, SNode *l, SIFParam *param, SIFCtx
      *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:380,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:383,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:387,1
    - Dst: sifGetValueFromNode
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:387,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:390,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:391,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:391,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:400,1
    - Dst: sifValidColumn
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:400,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:404,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:405,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:409,1
    - Dst: sifCreateHashFromNodeList
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:409,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:417,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:419,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:419,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:420,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - node
    - param
    - ctx
    argTypes:
    - SNode*
    - SIFParam*
    - SIFCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 429
    functionName: sifInitParam
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - indexError
    - memcpy
    - sifValidColumn
    - SIF_ERR_RET
    - taosHashGet
    - sifGetValueFromNode
    - nodeType
    - sifCreateHashFromNodeList
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifInitParam(SNode *node, SIFParam *param, SIFCtx *ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sifGetOperParamNum
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:433,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:435,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:436,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:439,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:440,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:440,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:441,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:448,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:449,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:452,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:456,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:459,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:462,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:465,1
    - Dst: sifInitJsonParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:465,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:467,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:467,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:473,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:473,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:476,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:476,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:482,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:483,1
    - Dst: SIF_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:484,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 3
    argNames:
    - params
    - node
    - ctx
    argTypes:
    - SIFParam**
    - SOperatorNode*
    - SIFCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 485
    functionName: sifInitOperParams
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - SIF_ERR_JRET
    - sifFreeParam
    - indexError
    - SIF_RET
    - sifGetOperParamNum
    - SIF_ERR_RET
    - sifInitJsonParam
    - nodeType
    - taosMemoryFree
    - sifInitParam
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifInitOperParams(SIFParam **params, SOperatorNode *node, SIFCtx
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:488,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:490,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:491,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:497,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:499,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:499,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:506,1
    - Dst: SIF_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - params
    - nodeList
    - ctx
    argTypes:
    - SIFParam**
    - SNodeList*
    - SIFCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 508
    functionName: sifInitParamList
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - SIF_ERR_JRET
    - SIF_RET
    - indexError
    - SIF_ERR_RET
    - taosMemoryFree
    - sifInitParam
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifInitParamList(SIFParam **params, SNodeList *nodeList, SIFCtx
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexDebug
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SFunctionNode*
    - SIFCtx*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: sifExecFunction
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - indexDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifExecFunction(SFunctionNode *node, SIFCtx *ctx, SIFParam
      *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:517,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 522
    functionName: sifGreaterThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - tDoCompare
    - getComparFunc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifGreaterThan(void *a, void *b, int16_t dtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:524,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: sifGreaterEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - tDoCompare
    - getComparFunc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifGreaterEqual(void *a, void *b, int16_t dtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:531,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: sifLessEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - tDoCompare
    - getComparFunc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifLessEqual(void *a, void *b, int16_t dtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:538,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 543
    functionName: sifLessThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - tDoCompare
    - getComparFunc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifLessThan(void *a, void *b, int16_t dtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:545,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: sifEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - tDoCompare
    - getComparFunc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifEqual(void *a, void *b, int16_t dtype)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - type
    - reverse
    - equal
    argTypes:
    - EIndexQueryType
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 572
    functionName: sifGetFilterFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifGetFilterFunc(EIndexQueryType type, bool *reverse,
      bool *equal)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:575,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:577,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:589,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:591,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:593,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:595,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:597,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 4
    argNames:
    - buf
    - len
    - type
    - val
    argTypes:
    - char*
    - int32_t
    - int8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 613
    functionName: sifStr2Num
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - toUInteger
    - IS_SIGNED_NUMERIC_TYPE
    - taosStr2Float
    - IS_FLOAT_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - taosStr2Double
    - toInteger
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifStr2Num(char *buf, int32_t len, int8_t type, void *val)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:621,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:632,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:633,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:635,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:635,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:635,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:635,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:641,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:642,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:644,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:644,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:644,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:644,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:650,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:651,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:653,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:653,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:653,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:653,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:659,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:660,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:662,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:662,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:662,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:662,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:668,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:669,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:671,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:672,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:672,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:672,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:679,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:680,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:682,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:682,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:682,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:682,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:688,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:689,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:691,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:691,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:691,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:691,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:697,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:698,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:700,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:700,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:700,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:700,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:706,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:707,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:709,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:710,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:710,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:710,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:716,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:717,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:719,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:719,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:719,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:719,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 99
    argCount: 4
    argNames:
    - left
    - right
    - typedata
    - param
    argTypes:
    - SIFParam*
    - SIFParam*
    - SDataTypeBuf*
    - SMetaFltParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 725
    functionName: sifSetFltParam
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifStr2Num
    - SIF_ERR_RET
    - varDataLen
    - IS_NUMERIC_TYPE
    - SIF_DATA_CONVERT
    - varDataVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifSetFltParam(SIFParam *left, SIFParam *right, SDataTypeBuf
      *typedata, SMetaFltParam *param)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:741,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:742,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:743,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:744,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:744,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 755
    functionName: sifShouldUseIndexBasedOnType
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - IS_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int8_t
    signature: int8_t sifShouldUseIndexBasedOnType(SIFParam *left, SIFParam *right)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:771,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:783,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:784,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:787,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:790,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:794,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:802,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 806
    functionName: sifShouldUseIndexForInOperator
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - IS_NUMERIC_TYPE
    - taosHashIterate
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int8_t
    signature: int8_t sifShouldUseIndexForInOperator(SIFParam *left, SIFParam *right)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:812,1
    - Dst: sifGetFuncFromSql
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:812,1
    - Dst: sifShouldUseIndexForInOperator
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:816,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:823,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:826,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:843,1
    - Dst: SIFParam*::api::metaFilterTableIds
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:848,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:851,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:852,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:857,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:858,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:862,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:863,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:864,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:871,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:871,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:872,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:877,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:879,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:883,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:884,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:888,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:889,1
    - Dst: sifShouldUseIndexBasedOnType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:891,1
    - Dst: sifGetFilterFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:898,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:911,1
    - Dst: sifSetFltParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:913,1
    - Dst: SIFParam*::api::metaFilterTableIds
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:918,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:920,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:921,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 4
    argNames:
    - left
    - right
    - operType
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - int8_t
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 808
    functionDepth: 3
    functionLinenumber: 808
    functionLinenumberEnd: 925
    functionName: sifDoIndex
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - indexTermCreate
    - sifGetFuncFromSql
    - taosArraySort
    - taosArrayAddAll
    - indexMultiTermQueryAdd
    - memset
    - taosArrayDestroy
    - indexMultiTermQueryDestroy
    - indexMultiTermQueryCreate
    - SIFParam*::api::metaFilterTableIds
    - sifShouldUseIndexForInOperator
    - taosArrayRemoveDuplicate
    - taosArrayGetSize
    - indexTermDestroy
    - sifSetFltParam
    - SIF_ERR_RET
    - indexJsonSearch
    - sifShouldUseIndexBasedOnType
    - taosHashIterate
    - sifGetFilterFunc
    - taosArrayInit
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 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:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 927
    functionDepth: 4
    functionLinenumber: 927
    functionLinenumberEnd: 930
    functionName: sifLessThanFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifLessThanFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 4
    functionLinenumber: 931
    functionLinenumberEnd: 934
    functionName: sifLessEqualFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifLessEqualFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 936
    functionDepth: 4
    functionLinenumber: 936
    functionLinenumberEnd: 939
    functionName: sifGreaterThanFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifGreaterThanFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 4
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: sifGreaterEqualFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifGreaterEqualFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 4
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: sifEqualFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifEqualFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 4
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionName: sifNotEqualFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifNotEqualFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 4
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: sifInFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifInFunc(SIFParam *left, SIFParam *right, SIFParam *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 957
    functionDepth: 4
    functionLinenumber: 957
    functionLinenumberEnd: 960
    functionName: sifNotInFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifNotInFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 4
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: sifLikeFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifLikeFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 965
    functionDepth: 4
    functionLinenumber: 965
    functionLinenumberEnd: 968
    functionName: sifNotLikeFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifNotLikeFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 4
    functionLinenumber: 970
    functionLinenumberEnd: 973
    functionName: sifMatchFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifMatchFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 4
    functionLinenumber: 974
    functionLinenumberEnd: 977
    functionName: sifNotMatchFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifNotMatchFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 978
    functionDepth: 4
    functionLinenumber: 978
    functionLinenumberEnd: 981
    functionName: sifJsonContains
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifJsonContains(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - rigth
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 985
    functionName: sifJsonGetValue
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifJsonGetValue(SIFParam *left, SIFParam *rigth, SIFParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: sifDefaultFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifDefaultFunc(SIFParam *left, SIFParam *right, SIFParam
      *output)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 3
    argNames:
    - funcId
    - func
    - status
    argTypes:
    - int32_t
    - sif_func_t*
    - SIdxFltStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1053
    functionName: sifGetOperFn
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE sifGetOperFn(int32_t funcId, sif_func_t *func, SIdxFltStatus
      *status)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sifValidOp
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1057,1
    - Dst: sifGetOperParamNum
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1064,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1074,1
    - Dst: sifInitOperParams
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1074,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1087,1
    - Dst: sifGetOperFn
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1087,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1088,1
    - Dst: operFn
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1088,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1096,1
    - Dst: sifGetOperFn
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1096,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1099,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1100,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SOperatorNode*
    - SIFCtx*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1055
    functionDepth: 4
    functionLinenumber: 1055
    functionLinenumberEnd: 1107
    functionName: sifExecOper
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - SIF_ERR_JRET
    - sifFreeParam
    - sifGetOperFn
    - sifGetOperParamNum
    - SIF_ERR_RET
    - sifInitOperParams
    - taosMemoryFree
    - sifValidOp
    - operFn
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifExecOper(SOperatorNode *node, SIFCtx *ctx, SIFParam *output)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1111,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1118,1
    - Dst: sifInitParamList
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1118,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1123,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1125,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1128,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1129,1
    - Dst: sifMergeCond
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1133,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1137,1
    - Dst: SIF_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1138,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SLogicConditionNode*
    - SIFCtx*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1109
    functionDepth: 4
    functionLinenumber: 1109
    functionLinenumberEnd: 1139
    functionName: sifExecLogic
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - SIF_RET
    - indexError
    - taosArraySort
    - sifMergeCond
    - taosArrayRemoveDuplicate
    - SIF_ERR_RET
    - sifInitParamList
    - taosArrayAddAll
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifExecLogic(SLogicConditionNode *node, SIFCtx *ctx, SIFParam
      *output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1144,1
    - Dst: sifExecFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1149,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1151,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - context
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1160
    functionName: sifWalkFunction
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifFreeParam
    - taosHashPut
    - sifExecFunction
    - taosArrayInit
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sifWalkFunction(SNode *pNode, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1165,1
    - Dst: sifExecLogic
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1171,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1173,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - context
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1161
    functionDepth: 5
    functionLinenumber: 1161
    functionLinenumberEnd: 1182
    functionName: sifWalkLogic
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifFreeParam
    - sifExecLogic
    - taosHashPut
    - taosArrayInit
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sifWalkLogic(SNode *pNode, void *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1186,1
    - Dst: sifExecOper
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1192,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1194,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - context
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1183
    functionDepth: 5
    functionLinenumber: 1183
    functionLinenumberEnd: 1203
    functionName: sifWalkOper
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifExecOper
    - sifFreeParam
    - taosArrayInit
    - taosHashPut
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sifWalkOper(SNode *pNode, void *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1206,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1206,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1207,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1211,1
    - Dst: sifWalkFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1212,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1214,1
    - Dst: sifWalkLogic
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1215,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1218,1
    - Dst: sifWalkOper
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - node
    - context
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1205
    functionDepth: 6
    functionLinenumber: 1205
    functionLinenumberEnd: 1226
    functionName: sifCalcWalker
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - sifWalkLogic
    - sifWalkFunction
    - sifWalkOper
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sifCalcWalker(SNode *node, void *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1229,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1233,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1235,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - res
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1238
    functionName: sifFreeRes
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifFreeParam
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void sifFreeRes(SHashObj *res)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1246,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1246,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1249,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1253,1
    - Dst: sifFreeRes
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1256,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1261,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1263,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1263,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1264,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1267,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1268,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1273,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1274,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1274,1
    - Dst: sifFreeRes
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pNode
    - pDst
    argTypes:
    - SNode*
    - SIFParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1239
    functionDepth: 3
    functionLinenumber: 1239
    functionLinenumberEnd: 1278
    functionName: sifCalculate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifFreeParam
    - indexError
    - taosHashRemove
    - SIF_ERR_RET
    - taosHashGet
    - taosArrayAddAll
    - nodeType
    - taosHashInit
    - TAOS_UNUSED
    - taosGetDefaultHashFunction
    - nodesWalkExprPostOrder
    - sifFreeRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifCalculate(SNode *pNode, SIFParam *pDst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1287,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1287,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1289,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1293,1
    - Dst: sifFreeRes
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1295,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1299,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1301,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1301,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1302,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1305,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1306,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1306,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1308,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1311,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1312,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pNode
    - status
    - pAPI
    argTypes:
    - SNode*
    - SIdxFltStatus*
    - SMetaDataFilterAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1280
    functionDepth: 3
    functionLinenumber: 1280
    functionLinenumberEnd: 1316
    functionName: sifGetFltHint
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 0
    functionsReached:
    - sifFreeParam
    - indexError
    - taosHashIterate
    - taosHashRemove
    - SIF_ERR_RET
    - taosHashGet
    - nodeType
    - taosHashInit
    - TAOS_UNUSED
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - nodesWalkExprPostOrder
    - sifFreeRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t sifGetFltHint(SNode *pNode, SIdxFltStatus *status, SMetaDataFilterAPI
      *pAPI)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idxGetFltStatus
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1320,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1328,1
    - Dst: sifCalculate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1334,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1336,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1345,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1346,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - pFilterNode
    - metaArg
    - result
    - status
    - pAPI
    argTypes:
    - SNode*
    - SIndexMetaArg*
    - SArray*
    - SIdxFltStatus*
    - SMetaDataFilterAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1318
    functionDepth: 4
    functionLinenumber: 1318
    functionLinenumberEnd: 1352
    functionName: doFilterTag
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 1
    functionsReached:
    - sifFreeParam
    - taosArrayAddAll
    - sifCalculate
    - taosArrayInit
    - idxGetFltStatus
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doFilterTag(SNode *pFilterNode, SIndexMetaArg *metaArg, SArray
      *result, SIdxFltStatus *status,\n                    SMetaDataFilterAPI *pAPI)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sifGetFltHint
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pFilterNode
    - pAPI
    argTypes:
    - SNode*
    - SMetaDataFilterAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1354
    functionDepth: 4
    functionLinenumber: 1354
    functionLinenumberEnd: 1364
    functionName: idxGetFltStatus
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: 2
    functionsReached:
    - sifGetFltHint
    linkageType: ''
    returnType: SIdxFltStatus
    signature: SIdxFltStatus idxGetFltStatus(SNode *pFilterNode, SMetaDataFilterAPI
      *pAPI)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - threadNum
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: indexInit
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void indexInit(int32_t threadNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosInitScheduler
      Src: /src/tdengine/source/libs/index/src/index.c:70,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/index/src/index.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: indexEnvInit
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - taosOpenRef
    - taosInitScheduler
    linkageType: ''
    returnType: void
    signature: void indexEnvInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCleanUpScheduler
      Src: /src/tdengine/source/libs/index/src/index.c:75,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/index.c:76,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/index/src/index.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: indexCleanup
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - taosCloseRef
    - taosMemoryFreeClear
    - taosCleanUpScheduler
    linkageType: ''
    returnType: void
    signature: void indexCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:102,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/index/src/index.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: idxPost
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - tsem_post
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void idxPost(void* idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:106,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/index/src/index.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: indexWait
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - TAOS_UNUSED
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: void indexWait(void* idx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:110,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/index/src/index.c:110,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/index.c:113,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:115,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/index/src/index.c:118,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:120,1
    - Dst: taosLRUCacheSetStrictCapacity
      Src: /src/tdengine/source/libs/index/src/index.c:122,1
    - Dst: idxTFileCreate
      Src: /src/tdengine/source/libs/index/src/index.c:124,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:126,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/index.c:129,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/index.c:129,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:131,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/index.c:135,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:137,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/index/src/index.c:140,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:141,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/index/src/index.c:143,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:144,1
    - Dst: idxAddRef
      Src: /src/tdengine/source/libs/index/src/index.c:147,1
    - Dst: idxAcquireRef
      Src: /src/tdengine/source/libs/index/src/index.c:149,1
    - Dst: indexDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - opts
    - path
    - index
    argTypes:
    - SIndexOpts*
    - char*
    - SIndex**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 160
    functionName: indexOpen
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 2
    functionsReached:
    - taosThreadOnce
    - TAOS_CHECK_GOTO
    - tsem_init
    - taosThreadMutexInit
    - idxAcquireRef
    - taosHashInit
    - idxTFileCreate
    - TAOS_UNUSED
    - taosLRUCacheInit
    - taosLRUCacheSetStrictCapacity
    - idxAddRef
    - taosGetDefaultHashFunction
    - indexDestroy
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t indexOpen(SIndexOpts* opts, const char* path, SIndex** index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:165,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:165,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:166,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/index/src/index.c:166,1
    - Dst: idxTFileDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:168,1
    - Dst: taosLRUCacheEraseUnrefEntries
      Src: /src/tdengine/source/libs/index/src/index.c:172,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/index/src/index.c:173,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: indexDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - taosLRUCacheCleanup
    - tsem_destroy
    - taosThreadMutexDestroy
    - idxTFileDestroy
    - taosLRUCacheEraseUnrefEntries
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void indexDestroy(void* handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/index.c:182,1
    - Dst: idxCacheForceToMerge
      Src: /src/tdengine/source/libs/index/src/index.c:185,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:186,1
    - Dst: indexWait
      Src: /src/tdengine/source/libs/index/src/index.c:187,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:188,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/index.c:189,1
    - Dst: idxCacheUnRef
      Src: /src/tdengine/source/libs/index/src/index.c:190,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/index.c:192,1
    - Dst: idxReleaseRef
      Src: /src/tdengine/source/libs/index/src/index.c:196,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:197,1
    - Dst: idxRemoveRef
      Src: /src/tdengine/source/libs/index/src/index.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - sIdx
    argTypes:
    - SIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: indexClose
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 2
    functionsReached:
    - taosHashIterate
    - idxCacheForceToMerge
    - indexInfo
    - idxCacheUnRef
    - indexWait
    - idxReleaseRef
    - taosHashCleanup
    - TAOS_UNUSED
    - idxRemoveRef
    linkageType: ''
    returnType: void
    signature: void indexClose(SIndex* sIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/index/src/index.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: idxAddRef
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - taosAddRef
    linkageType: ''
    returnType: int64_t
    signature: int64_t idxAddRef(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/index/src/index.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: idxRemoveRef
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    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:210,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/index/src/index.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: idxAcquireRef
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - taosAcquireRef
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void idxAcquireRef(int64_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:214,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/index/src/index.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: idxReleaseRef
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - taosReleaseRef
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void idxReleaseRef(int64_t ref)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/index.c:220,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:221,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:224,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:225,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:228,1
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/index.c:229,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/index.c:231,1
    - Dst: idxCacheCreate
      Src: /src/tdengine/source/libs/index/src/index.c:233,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/index.c:234,1
    - Dst: idxCacheDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:236,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/index.c:241,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:242,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:249,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:250,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:253,1
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/index.c:254,1
    - Dst: indexDebug
      Src: /src/tdengine/source/libs/index/src/index.c:255,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/index.c:257,1
    - Dst: idxCachePut
      Src: /src/tdengine/source/libs/index/src/index.c:260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - index
    - fVals
    - uid
    argTypes:
    - SIndex*
    - SIndexMultiTerm*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 266
    functionName: indexPut
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - strlen
    - indexError
    - taosHashGet
    - idxCacheCreate
    - idxCacheDestroy
    - taosArrayGetSize
    - idxSerialCacheKey
    - taosThreadMutexUnlock
    - idxCachePut
    - taosThreadMutexLock
    - taosHashPut
    - indexDebug
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t indexPut(SIndex* index, SIndexMultiTerm* fVals, uint64_t uid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/index.c:271,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:276,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/index.c:278,1
    - Dst: idxTermSearch
      Src: /src/tdengine/source/libs/index/src/index.c:280,1
    - Dst: idxInterRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:282,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/index.c:285,1
    - Dst: idxInterRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:286,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:290,1
    - Dst: idxMergeFinalResults
      Src: /src/tdengine/source/libs/index/src/index.c:290,1
    - Dst: idxInterRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - index
    - multiQuerys
    - result
    argTypes:
    - SIndex*
    - SIndexMultiTermQuery*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 293
    functionName: indexSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - idxTermSearch
    - idxInterRsltDestroy
    - taosArrayGetSize
    - taosArrayInit
    - TAOS_UNUSED
    - idxMergeFinalResults
    linkageType: ''
    returnType: int32_t
    signature: int32_t indexSearch(SIndex* index, SIndexMultiTermQuery* multiQuerys,
      SArray* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - query
    argTypes:
    - SIndex*
    - SIndexMultiTermQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: indexDelete
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int indexDelete(SIndex* index, SIndexMultiTermQuery* query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/index.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cacheSize
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: indexOptsCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SIndexOpts
    signature: SIndexOpts * indexOptsCreate(int32_t cacheSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SIndexOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: indexOptsDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void indexOptsDestroy(SIndexOpts* opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/index.c:312,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/index.c:317,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - opera
    argTypes:
    - EIndexOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: indexMultiTermQueryCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 9
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFree
    - taosArrayInit
    linkageType: ''
    returnType: SIndexMultiTermQuery
    signature: SIndexMultiTermQuery * indexMultiTermQueryCreate(EIndexOperatorType
      opera)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:325,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/index.c:326,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:327,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:329,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SIndexMultiTermQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: indexMultiTermQueryDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 9
    functionsReached:
    - taosArrayGet
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayDestroy
    - indexTermDestroy
    linkageType: ''
    returnType: void
    signature: void indexMultiTermQueryDestroy(SIndexMultiTermQuery* pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/index.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pQuery
    - term
    - qType
    argTypes:
    - SIndexMultiTermQuery*
    - SIndexTerm*
    - EIndexQueryType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: indexMultiTermQueryAdd
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 9
    functionsReached:
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: int32_t indexMultiTermQueryAdd(SIndexMultiTermQuery* pQuery, SIndexTerm*
      term, EIndexQueryType qType)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/index.c:342,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/index.c:352,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:354,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/index.c:357,1
    - Dst: idxConvertDataToStr
      Src: /src/tdengine/source/libs/index/src/index.c:363,1
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/index.c:363,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/index/src/index.c:365,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:365,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:368,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:371,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/index/src/index.c:374,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:374,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:377,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:380,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:385,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:386,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:392,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:393,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:394,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 7
    argNames:
    - suid
    - oper
    - colType
    - colName
    - nColName
    - colVal
    - nColVal
    argTypes:
    - int64_t
    - SIndexOperOnColumn
    - uint8_t
    - char*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 400
    functionName: indexTermCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 5
    functionsReached:
    - memcpy
    - idxConvertDataToStr
    - taosMemoryFree
    - IDX_TYPE_GET_TYPE
    - taosStrndup
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: SIndexTerm
    signature: "SIndexTerm * indexTermCreate(int64_t suid, SIndexOperOnColumn oper,
      uint8_t colType, const char* colName,\n                            int32_t nColName,
      const char* colVal, int32_t nColVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:403,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:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - SIndexTerm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: indexTermDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 4
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void indexTermDestroy(SIndexTerm* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/index.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: indexMultiTermCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 14
    functionsReached:
    - taosArrayInit
    linkageType: ''
    returnType: SIndexMultiTerm
    signature: SIndexMultiTerm * indexMultiTermCreate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/index.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - terms
    - term
    argTypes:
    - SIndexMultiTerm*
    - SIndexTerm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: indexMultiTermAdd
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 14
    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:417,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:418,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:419,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - terms
    argTypes:
    - SIndexMultiTerm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: indexMultiTermDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 13
    functionsReached:
    - taosArrayDestroy
    - taosArrayGetP
    - taosArrayGetSize
    - indexTermDestroy
    linkageType: ''
    returnType: void
    signature: void indexMultiTermDestroy(SIndexMultiTerm* terms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/index/src/index.c:433,1
    - Dst: idxReleaseRef
      Src: /src/tdengine/source/libs/index/src/index.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SSchedMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: idxSchedRebuildIdx
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - atomic_store_8
    - idxReleaseRef
    linkageType: ''
    returnType: void
    signature: void idxSchedRebuildIdx(SSchedMsg* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/index/src/index.c:439,1
    - Dst: idxAcquireRef
      Src: /src/tdengine/source/libs/index/src/index.c:445,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:446,1
    - Dst: taosScheduleTask
      Src: /src/tdengine/source/libs/index/src/index.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - iter
    argTypes:
    - SIndexJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 447
    functionName: indexRebuild
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - idxAcquireRef
    - atomic_store_8
    - taosScheduleTask
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void indexRebuild(SIndexJson* idx, void* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/index/src/index.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - SIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: indexIsRebuild
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    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:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - iter
    argTypes:
    - SIndexJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 3
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: indexJsonRebuild
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - indexRebuild
    linkageType: ''
    returnType: void
    signature: void indexJsonRebuild(SIndexJson* idx, void* iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/index/src/index.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - SIndexJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: indexJsonIsRebuild
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - atomic_load_8
    linkageType: ''
    returnType: bool
    signature: bool indexJsonIsRebuild(SIndexJson* idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:483,1
    - Dst: indexDebug
      Src: /src/tdengine/source/libs/index/src/index.c:484,1
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/index.c:486,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/index.c:488,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:489,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/index.c:492,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:494,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/index.c:494,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/index.c:496,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:504,1
    - Dst: idxTRsltCreate
      Src: /src/tdengine/source/libs/index/src/index.c:506,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:508,1
    - Dst: idxCacheSearch
      Src: /src/tdengine/source/libs/index/src/index.c:511,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:513,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:517,1
    - Dst: idxTFileSearch
      Src: /src/tdengine/source/libs/index/src/index.c:518,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:519,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:522,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:523,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:526,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:529,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:530,1
    - Dst: idxTRsltMergeTo
      Src: /src/tdengine/source/libs/index/src/index.c:532,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:533,1
    - Dst: idxTRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:535,1
    - Dst: idxTRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - sIdx
    - query
    - result
    argTypes:
    - SIndex*
    - SIndexTermQuery*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 540
    functionName: idxTermSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - indexError
    - taosThreadMutexLock
    - indexInfo
    - TAOS_CHECK_GOTO
    - taosGetTimestampUs
    - taosHashGet
    - idxTFileSearch
    - idxTRsltDestroy
    - idxSerialCacheKey
    - TAOS_UNUSED
    - taosThreadMutexUnlock
    - taosArrayInit
    - strlen
    - idxTRsltCreate
    - idxTRsltMergeTo
    - indexDebug
    - idxCacheSearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxTermSearch(SIndex* sIdx, SIndexTermQuery* query, SArray**
      result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:546,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:548,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:549,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - results
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 552
    functionName: idxInterRsltDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void idxInterRsltDestroy(SArray* results)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:556,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:557,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/index.c:558,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/index.c:559,1
    - Dst: iIntersection
      Src: /src/tdengine/source/libs/index/src/index.c:563,1
    - Dst: iUnion
      Src: /src/tdengine/source/libs/index/src/index.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - in
    - oType
    - out
    argTypes:
    - SArray*
    - EIndexOperatorType
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 572
    functionName: idxMergeFinalResults
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - taosArraySort
    - taosArrayRemoveDuplicate
    - iIntersection
    - taosArrayGetSize
    - iUnion
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxMergeFinalResults(SArray* in, EIndexOperatorType oType,
      SArray* out)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:576,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:578,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/index.c:579,1
    - Dst: idxTRsltMergeTo
      Src: /src/tdengine/source/libs/index/src/index.c:580,1
    - Dst: indexFatal
      Src: /src/tdengine/source/libs/index/src/index.c:582,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:582,1
    - Dst: idxTRsltClear
      Src: /src/tdengine/source/libs/index/src/index.c:585,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/index.c:587,1
    - Dst: indexFatal
      Src: /src/tdengine/source/libs/index/src/index.c:588,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:588,1
    - Dst: idxTRsltMergeTo
      Src: /src/tdengine/source/libs/index/src/index.c:592,1
    - Dst: indexFatal
      Src: /src/tdengine/source/libs/index/src/index.c:594,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:594,1
    - Dst: tfileValueDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:597,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/index.c:601,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - result
    - tfv
    - tr
    argTypes:
    - SArray*
    - TFileValue*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 606
    functionName: idxMayMergeTempToFinalRslt
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - idxTRsltClear
    - indexFatal
    - tfileValueDestroy
    - idxTRsltMergeTo
    - taosArrayGetSize
    - tstrerror
    - taosArrayGetP
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxMayMergeTempToFinalRslt(SArray* result, TFileValue* tfv,
      SIdxTRslt* tr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tfileValueCreate
      Src: /src/tdengine/source/libs/index/src/index.c:610,1
    - Dst: idxMayMergeTempToFinalRslt
      Src: /src/tdengine/source/libs/index/src/index.c:615,1
    - Dst: tfileValueDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:617,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/index.c:623,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/index.c:626,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/index.c:628,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/index.c:632,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - result
    - cv
    - tv
    - tr
    argTypes:
    - SArray*
    - IterateValue*
    - IterateValue*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 607
    functionDepth: 5
    functionLinenumber: 607
    functionLinenumberEnd: 637
    functionName: idxMergeCacheAndTFile
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - tfileValueCreate
    - idxMayMergeTempToFinalRslt
    - taosArrayGet
    - taosArrayAddAll
    - tfileValueDestroy
    - INDEX_MERGE_ADD_DEL
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxMergeCacheAndTFile(SArray* result, IterateValue* cv, IterateValue*
      tv, SIdxTRslt* tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:639,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:641,1
    - Dst: tfileValueDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:642,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - result
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: idxDestroyFinalRslt
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - tfileValueDestroy
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void idxDestroyFinalRslt(SArray* result)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:652,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:654,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/index/src/index.c:659,1
    - Dst: tfileGetReaderByCol
      Src: /src/tdengine/source/libs/index/src/index.c:661,1
    - Dst: indexWarn
      Src: /src/tdengine/source/libs/index/src/index.c:663,1
    - Dst: idxCacheIteratorCreate
      Src: /src/tdengine/source/libs/index/src/index.c:666,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:668,1
    - Dst: idxCacheDestroyImm
      Src: /src/tdengine/source/libs/index/src/index.c:669,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/index.c:670,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/index/src/index.c:671,1
    - Dst: idxPost
      Src: /src/tdengine/source/libs/index/src/index.c:673,1
    - Dst: idxReleaseRef
      Src: /src/tdengine/source/libs/index/src/index.c:675,1
    - Dst: tfileIteratorCreate
      Src: /src/tdengine/source/libs/index/src/index.c:679,1
    - Dst: indexWarn
      Src: /src/tdengine/source/libs/index/src/index.c:681,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/index.c:684,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:686,1
    - Dst: Iterate*::next
      Src: /src/tdengine/source/libs/index/src/index.c:689,1
    - Dst: Iterate*::next
      Src: /src/tdengine/source/libs/index/src/index.c:690,1
    - Dst: idxTRsltCreate
      Src: /src/tdengine/source/libs/index/src/index.c:692,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:694,1
    - Dst: Iterate*::getValue
      Src: /src/tdengine/source/libs/index/src/index.c:697,1
    - Dst: Iterate*::getValue
      Src: /src/tdengine/source/libs/index/src/index.c:698,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/index.c:702,1
    - Dst: idxMergeCacheAndTFile
      Src: /src/tdengine/source/libs/index/src/index.c:709,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:711,1
    - Dst: Iterate*::next
      Src: /src/tdengine/source/libs/index/src/index.c:714,1
    - Dst: Iterate*::next
      Src: /src/tdengine/source/libs/index/src/index.c:715,1
    - Dst: idxMergeCacheAndTFile
      Src: /src/tdengine/source/libs/index/src/index.c:717,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:719,1
    - Dst: Iterate*::next
      Src: /src/tdengine/source/libs/index/src/index.c:721,1
    - Dst: idxMergeCacheAndTFile
      Src: /src/tdengine/source/libs/index/src/index.c:723,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:725,1
    - Dst: Iterate*::next
      Src: /src/tdengine/source/libs/index/src/index.c:727,1
    - Dst: idxMayMergeTempToFinalRslt
      Src: /src/tdengine/source/libs/index/src/index.c:730,1
    - Dst: idxTRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:731,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:732,1
    - Dst: idxTRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:734,1
    - Dst: idxGenTFile
      Src: /src/tdengine/source/libs/index/src/index.c:736,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:738,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:738,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:740,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:741,1
    - Dst: idxDestroyFinalRslt
      Src: /src/tdengine/source/libs/index/src/index.c:745,1
    - Dst: idxCacheDestroyImm
      Src: /src/tdengine/source/libs/index/src/index.c:747,1
    - Dst: idxCacheIteratorDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:749,1
    - Dst: tfileIteratorDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:750,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/index.c:752,1
    - Dst: idxCacheUnRef
      Src: /src/tdengine/source/libs/index/src/index.c:753,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/index/src/index.c:755,1
    - Dst: idxPost
      Src: /src/tdengine/source/libs/index/src/index.c:757,1
    - Dst: idxReleaseRef
      Src: /src/tdengine/source/libs/index/src/index.c:759,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:761,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:761,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 89
    argCount: 3
    argNames:
    - sIdx
    - cache
    - quit
    argTypes:
    - SIndex*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 647
    functionDepth: 6
    functionLinenumber: 647
    functionLinenumberEnd: 765
    functionName: idxFlushCacheToTFile
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - idxGenTFile
    - TAOS_CHECK_GOTO
    - taosGetTimestampUs
    - indexWarn
    - tfileIteratorCreate
    - indexInfo
    - indexError
    - tfileIteratorDestroy
    - idxCacheIteratorDestroy
    - idxCacheUnRef
    - atomic_load_32
    - idxPost
    - idxCacheDestroyImm
    - strcmp
    - tfileGetReaderByCol
    - idxMergeCacheAndTFile
    - idxMayMergeTempToFinalRslt
    - idxTRsltDestroy
    - idxCacheIteratorCreate
    - idxReleaseRef
    - atomic_store_32
    - idxTRsltCreate
    - Iterate*::getValue
    - tfileReaderUnRef
    - Iterate*::next
    - taosArrayInit
    - tstrerror
    - idxDestroyFinalRslt
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxFlushCacheToTFile(SIndex* sIdx, void* cache, bool quit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:768,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/index/src/index.c:772,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - value
    - destroy
    argTypes:
    - IterateValue*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 777
    functionName: iterateValueDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void iterateValueDestroy(IterateValue* value, bool destroy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:780,1
    - Dst: CACHE_VERSION
      Src: /src/tdengine/source/libs/index/src/index.c:781,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/index.c:785,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:786,1
    - Dst: tfileCacheGet
      Src: /src/tdengine/source/libs/index/src/index.c:788,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:789,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/index.c:789,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:793,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/index.c:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sIdx
    - cache
    argTypes:
    - SIndex*
    - IndexCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 797
    functionName: idxGetAvailableVer
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 0
    functionsReached:
    - tfileReaderUnRef
    - indexError
    - taosThreadMutexLock
    - indexInfo
    - CACHE_VERSION
    - TAOS_UNUSED
    - taosThreadMutexUnlock
    - strlen
    - tfileCacheGet
    linkageType: ''
    returnType: int64_t
    signature: int64_t idxGetAvailableVer(SIndex* sIdx, IndexCache* cache)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: idxGetAvailableVer
      Src: /src/tdengine/source/libs/index/src/index.c:801,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:802,1
    - Dst: tfileWriterOpen
      Src: /src/tdengine/source/libs/index/src/index.c:806,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:808,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:808,1
    - Dst: tfileWriterPut
      Src: /src/tdengine/source/libs/index/src/index.c:812,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:814,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:814,1
    - Dst: tfileWriterClose
      Src: /src/tdengine/source/libs/index/src/index.c:817,1
    - Dst: tfileReaderOpen
      Src: /src/tdengine/source/libs/index/src/index.c:820,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:824,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:829,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/index.c:831,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:832,1
    - Dst: tfileCachePut
      Src: /src/tdengine/source/libs/index/src/index.c:835,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/index.c:837,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:838,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:845,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:846,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - sIdx
    - cache
    - batch
    argTypes:
    - SIndex*
    - IndexCache*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 849
    functionName: idxGenTFile
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 1
    functionsReached:
    - indexInfo
    - indexError
    - taosThreadMutexLock
    - tfileWriterPut
    - tfileCachePut
    - idxGetAvailableVer
    - tfileWriterClose
    - taosThreadMutexUnlock
    - tfileWriterOpen
    - idxFileCtxDestroy
    - taosMemoryFree
    - tstrerror
    - tfileReaderOpen
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 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:852,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:856,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/index.c:856,1
    - Dst: SERIALIZE_STR_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/index.c:858,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:858,1
    - Dst: SERIALIZE_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/index.c:859,1
    - Dst: SERIALIZE_STR_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/index.c:861,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:861,1
    - Dst: SERIALIZE_STR_MEM_TO_BUF
      Src: /src/tdengine/source/libs/index/src/index.c:863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - ICacheKey*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 866
    functionName: idxSerialCacheKey
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: 2
    functionsReached:
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - SERIALIZE_VAR_TO_BUF
    - TAOS_UNUSED
    - strlen
    - SERIALIZE_STR_VAR_TO_BUF
    - idxInt2str
    - SERIALIZE_STR_MEM_TO_BUF
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxSerialCacheKey(ICacheKey* key, char* buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:19,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:29,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:30,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:32,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - kind
    - ty
    - val
    argTypes:
    - StartWithStateKind
    - ValueType
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 42
    functionName: startWithStateValueCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosMemoryCalloc
    - taosMemoryFree
    - memcpy
    linkageType: ''
    returnType: StartWithStateValue
    signature: StartWithStateValue * startWithStateValueCreate(StartWithStateKind
      kind, ValueType ty, void* val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:52,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:54,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - val
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: startWithStateValueDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void startWithStateValueDestroy(void* val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:59,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:69,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:70,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:72,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - sv
    argTypes:
    - StartWithStateValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 81
    functionName: startWithStateValueDump
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosMemoryCalloc
    - taosMemoryFree
    - memcpy
    linkageType: ''
    returnType: StartWithStateValue
    signature: StartWithStateValue * startWithStateValueDump(StartWithStateValue*
      sv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - FAutoCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: alwaysMatchStart
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * alwaysMatchStart(FAutoCtx* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: alwaysMatchIsMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool alwaysMatchIsMatch(FAutoCtx* ctx, void* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: alwaysMatchCanMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool alwaysMatchCanMatch(FAutoCtx* ctx, void* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: alwaysMatchWillAlwaysMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool alwaysMatchWillAlwaysMatch(FAutoCtx* ctx, void* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - state
    - byte
    argTypes:
    - FAutoCtx*
    - void*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: alwaysMatchAccpet
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * alwaysMatchAccpet(FAutoCtx* ctx, void* state, uint8_t byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: alwaysMatchAccpetEof
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * alwaysMatchAccpetEof(FAutoCtx* ctx, void* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startWithStateValueDump
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - FAutoCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: prefixStart
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached:
    - startWithStateValueDump
    linkageType: ''
    returnType: void
    signature: void * prefixStart(FAutoCtx* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - sv
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: prefixIsMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool prefixIsMatch(FAutoCtx* ctx, void* sv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - sv
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: prefixCanMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool prefixCanMatch(FAutoCtx* ctx, void* sv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: prefixWillAlwaysMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool prefixWillAlwaysMatch(FAutoCtx* ctx, void* state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: startWithStateValueCreate
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:123,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:125,1
    - Dst: startWithStateValueCreate
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:128,1
    - Dst: prefixIsMatch
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - state
    - byte
    argTypes:
    - FAutoCtx*
    - void*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 137
    functionName: prefixAccept
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached:
    - strlen
    - startWithStateValueCreate
    - prefixIsMatch
    linkageType: ''
    returnType: void
    signature: void * prefixAccept(FAutoCtx* ctx, void* state, uint8_t byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: prefixAcceptEof
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * prefixAcceptEof(FAutoCtx* ctx, void* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - FAutoCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: patternStart
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * patternStart(FAutoCtx* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: patternIsMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool patternIsMatch(FAutoCtx* ctx, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: patternCanMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool patternCanMatch(FAutoCtx* ctx, void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: patternWillAlwaysMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool patternWillAlwaysMatch(FAutoCtx* ctx, void* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - state
    - byte
    argTypes:
    - FAutoCtx*
    - void*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: patternAccept
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * patternAccept(FAutoCtx* ctx, void* state, uint8_t byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: patternAcceptEof
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * patternAcceptEof(FAutoCtx* ctx, void* state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:160,1
    - Dst: startWithStateValueCreate
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:168,1
    - Dst: startWithStateValueCreate
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:171,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:179,1
    - Dst: startWithStateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:181,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - data
    - atype
    argTypes:
    - void*
    - AutomationType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 192
    functionName: automCtxCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 8
    functionsReached:
    - startWithStateValueCreate
    - startWithStateValueDestroy
    - taosMemoryFree
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: FAutoCtx
    signature: FAutoCtx * automCtxCreate(void* data, AutomationType atype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startWithStateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:194,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:195,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - FAutoCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: automCtxDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: 6
    functionsReached:
    - taosMemoryFree
    - startWithStateValueDestroy
    linkageType: ''
    returnType: void
    signature: void automCtxDestroy(FAutoCtx* ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:82,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/index/src/indexCache.c:88,1
    - Dst: idxCacheTermGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:90,1
    - Dst: tSkipListCreateIterFromVal
      Src: /src/tdengine/source/libs/index/src/indexCache.c:92,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:93,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:94,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:98,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:99,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexCache.c:99,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexCache.c:99,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:101,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:104,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:115,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:116,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 118
    functionName: cacheSearchTerm
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - strcmp
    - idxCacheTermGet
    - tSkipListIterNext
    - SL_GET_NODE_DATA
    - atomic_load_64
    - tSkipListCreateIterFromVal
    - tSkipListDestroyIter
    - INDEX_MERGE_ADD_DEL
    - taosMemoryFree
    - TAOS_UNUSED
    - strlen
    - taosMemoryCalloc
    - tSkipListIterGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchTerm(void* cache, SIndexTerm* term, SIdxTRslt* tr,
      STermValueType* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: cacheSearchPrefix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchPrefix(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: cacheSearchSuffix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchSuffix(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: cacheSearchRegex
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchRegex(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompare
      Src: /src/tdengine/source/libs/index/src/indexCache.c:140,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:142,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/index/src/indexCache.c:149,1
    - Dst: idxCacheTermGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:151,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:153,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:154,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:155,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:159,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/index/src/indexCache.c:160,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:167,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:170,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:184,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:185,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:185,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 5
    argNames:
    - cache
    - term
    - tr
    - s
    - type
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    - RangeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 187
    functionName: cacheSearchCompareFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cmpFn
    - idxCacheTermGet
    - tSkipListIterNext
    - SL_GET_NODE_DATA
    - atomic_load_64
    - tSkipListDestroyIter
    - INDEX_MERGE_ADD_DEL
    - taosMemoryFree
    - TAOS_UNUSED
    - idxGetCompare
    - tSkipListCreateIter
    - taosMemoryCalloc
    - tSkipListIterGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchCompareFunc(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s, RangeType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: cacheSearchLessThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cacheSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchLessThan(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: cacheSearchLessEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cacheSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: 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:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: cacheSearchGreaterThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cacheSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchGreaterThan(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: cacheSearchGreaterEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cacheSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchGreaterEqual(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:210,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/index/src/indexCache.c:216,1
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexCache.c:219,1
    - Dst: idxPackJsonData
      Src: /src/tdengine/source/libs/index/src/indexCache.c:220,1
    - Dst: idxCacheTermGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:223,1
    - Dst: tSkipListCreateIterFromVal
      Src: /src/tdengine/source/libs/index/src/indexCache.c:225,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:226,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:227,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:231,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:233,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:235,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:249,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:250,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:251,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:251,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 253
    functionName: cacheSearchTerm_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - strcmp
    - idxCacheTermGet
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - tSkipListIterNext
    - idxPackJsonData
    - SL_GET_NODE_DATA
    - atomic_load_64
    - tSkipListCreateIterFromVal
    - tSkipListDestroyIter
    - INDEX_MERGE_ADD_DEL
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    - tSkipListIterGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchTerm_JSON(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: cacheSearchSuffix_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchSuffix_JSON(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: cacheSearchRegex_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 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:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: cacheSearchEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchEqual_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:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: cacheSearchPrefix_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchPrefix_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:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: cacheSearchLessThan_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 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:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: cacheSearchLessEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 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:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: cacheSearchGreaterThan_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 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:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: cacheSearchGreaterEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchGreaterEqual_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:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: cacheSearchContain_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchContain_JSON(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: cacheSearchRange_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t cacheSearchRange_JSON(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompare
      Src: /src/tdengine/source/libs/index/src/indexCache.c:290,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:296,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/index/src/indexCache.c:302,1
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexCache.c:304,1
    - Dst: idxPackJsonDataPrefixNoType
      Src: /src/tdengine/source/libs/index/src/indexCache.c:313,1
    - Dst: idxPackJsonDataPrefix
      Src: /src/tdengine/source/libs/index/src/indexCache.c:316,1
    - Dst: idxCacheTermGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:319,1
    - Dst: tSkipListCreateIterFromVal
      Src: /src/tdengine/source/libs/index/src/indexCache.c:321,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:322,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:323,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:327,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:330,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:334,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:336,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:339,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexCache.c:339,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:344,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexCache.c:344,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/index/src/indexCache.c:345,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:346,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:355,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:358,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:372,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:373,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:374,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:374,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 5
    argNames:
    - cache
    - term
    - tr
    - s
    - type
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    - RangeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 377
    functionName: cacheSearchCompareFunc_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 7
    functionsReached:
    - tSkipListCreateIterFromVal
    - TAOS_UNUSED
    - idxGetCompare
    - idxPackJsonDataPrefixNoType
    - memcpy
    - SL_GET_NODE_DATA
    - tSkipListIterGet
    - INDEX_MERGE_ADD_DEL
    - taosMemoryCalloc
    - cmpFn
    - idxCacheTermGet
    - tSkipListIterNext
    - atomic_load_64
    - idxPackJsonDataPrefix
    - strncmp
    - taosMemoryFree
    - IDX_TYPE_GET_TYPE
    - strlen
    - tSkipListDestroyIter
    linkageType: ''
    returnType: int32_t
    signature: "int32_t cacheSearchCompareFunc_JSON(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s,\n                                           RangeType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: cacheSearchRange
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 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:385,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:387,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexCache.c:387,1
    - Dst: idxInternalCacheCreate
      Src: /src/tdengine/source/libs/index/src/indexCache.c:391,1
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexCache.c:394,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexCache.c:394,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexCache.c:394,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:396,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:397,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexCache.c:397,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/index/src/indexCache.c:406,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:407,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:408,1
    - Dst: taosThreadCondInit
      Src: /src/tdengine/source/libs/index/src/indexCache.c:412,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:413,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:414,1
    - Dst: idxCacheRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:418,1
    - Dst: idxAcquireRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 4
    argNames:
    - idx
    - suid
    - colName
    - type
    argTypes:
    - SIndex*
    - uint64_t
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 423
    functionName: idxCacheCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 2
    functionsReached:
    - taosThreadCondInit
    - idxCacheRef
    - indexError
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - taosThreadMutexInit
    - idxAcquireRef
    - idxInternalCacheCreate
    - taosMemoryFree
    - tstrerror
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: IndexCache
    signature: IndexCache * idxCacheCreate(SIndex* idx, uint64_t suid, const char*
      colName, int8_t type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:427,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:428,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:432,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:434,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:435,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:440,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:441,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:442,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:443,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexCache.c:446,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:449,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:449,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:451,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:455,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:456,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:459,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:460,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:460,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:463,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:464,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:465,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:466,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexCache.c:469,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:472,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:472,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:475,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 477
    functionName: idxCacheDebug
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 1
    functionsReached:
    - idxMemUnRef
    - indexError
    - indexInfo
    - tSkipListIterNext
    - SL_GET_NODE_DATA
    - tSkipListDestroyIter
    - TAOS_UNUSED
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tSkipListCreateIter
    - idxMemRef
    - tSkipListIterGet
    linkageType: ''
    returnType: void
    signature: void idxCacheDebug(IndexCache* cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:480,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:481,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:482,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:483,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:485,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:486,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:489,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:489,1
    - Dst: tSkipListDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - slt
    argTypes:
    - SSkipList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 491
    functionName: idxCacheDestroySkiplist
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - tSkipListIterNext
    - tSkipListDestroy
    - SL_GET_NODE_DATA
    - tSkipListDestroyIter
    - taosMemoryFree
    - TAOS_UNUSED
    - tSkipListCreateIter
    - tSkipListIterGet
    linkageType: ''
    returnType: void
    signature: void idxCacheDestroySkiplist(SSkipList* slt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:494,1
    - Dst: taosThreadCondBroadcast
      Src: /src/tdengine/source/libs/index/src/indexCache.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: idxCacheBroadcast
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - taosThreadCondBroadcast
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void idxCacheBroadcast(void* cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:498,1
    - Dst: taosThreadCondWait
      Src: /src/tdengine/source/libs/index/src/indexCache.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: idxCacheWait
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - taosThreadCondWait
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void idxCacheWait(void* cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:505,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:506,1
    - Dst: idxCacheBroadcast
      Src: /src/tdengine/source/libs/index/src/indexCache.c:511,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:513,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:513,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:515,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 517
    functionName: idxCacheDestroyImm
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 1
    functionsReached:
    - idxMemUnRef
    - indexError
    - TAOS_UNUSED
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - idxCacheBroadcast
    linkageType: ''
    returnType: void
    signature: void idxCacheDestroyImm(IndexCache* cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:524,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:525,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:526,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:528,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:528,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:529,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:529,1
    - Dst: idxReleaseRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:531,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - cache
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 534
    functionName: idxCacheDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 2
    functionsReached:
    - idxMemUnRef
    - taosThreadMutexDestroy
    - idxReleaseRef
    - taosMemoryFree
    - TAOS_UNUSED
    - taosThreadCondDestroy
    linkageType: ''
    returnType: void
    signature: void idxCacheDestroy(void* cache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:540,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:544,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:545,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:546,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:550,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexCache.c:553,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:555,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:559,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 562
    functionName: idxCacheIteratorCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 1
    functionsReached:
    - indexError
    - taosThreadMutexUnlock
    - taosMemoryFree
    - TAOS_UNUSED
    - taosArrayInit
    - idxMemRef
    - taosThreadMutexLock
    - tSkipListCreateIter
    - taosMemoryCalloc
    linkageType: ''
    returnType: Iterate
    signature: Iterate * idxCacheIteratorCreate(IndexCache* cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:567,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:567,1
    - Dst: iterateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:568,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 570
    functionName: idxCacheIteratorDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 1
    functionsReached:
    - iterateValueDestroy
    - taosMemoryFree
    - TAOS_UNUSED
    - tSkipListDestroyIter
    linkageType: ''
    returnType: void
    signature: void idxCacheIteratorDestroy(Iterate* iter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:577,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:579,1
    - Dst: idxAcquireRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:584,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:585,1
    - Dst: taosScheduleTask
      Src: /src/tdengine/source/libs/index/src/indexCache.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCache
    - notify
    argTypes:
    - IndexCache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 587
    functionName: idxCacheSchedToMerge
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - indexError
    - taosMemoryMalloc
    - idxAcquireRef
    - TAOS_UNUSED
    - taosScheduleTask
    linkageType: ''
    returnType: int
    signature: int idxCacheSchedToMerge(IndexCache* pCache, bool notify)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idxCacheWait
      Src: /src/tdengine/source/libs/index/src/indexCache.c:595,1
    - Dst: idxCacheRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:599,1
    - Dst: idxInternalCacheCreate
      Src: /src/tdengine/source/libs/index/src/indexCache.c:601,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/index/src/indexCache.c:606,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:610,1
    - Dst: idxCacheSchedToMerge
      Src: /src/tdengine/source/libs/index/src/indexCache.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 613
    functionName: idxCacheMakeRoomForWrite
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - idxCacheRef
    - idxCacheSchedToMerge
    - idxCacheWait
    - idxInternalCacheCreate
    - atomic_store_32
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void idxCacheMakeRoomForWrite(IndexCache* cache)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexCache.c:618,1
    - Dst: idxCacheRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:621,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:623,1
    - Dst: idxPackJsonData
      Src: /src/tdengine/source/libs/index/src/indexCache.c:630,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:632,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:634,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:637,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/index/src/indexCache.c:639,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexCache.c:644,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:646,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:647,1
    - Dst: idxCacheMakeRoomForWrite
      Src: /src/tdengine/source/libs/index/src/indexCache.c:650,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:652,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:653,1
    - Dst: tSkipListPut
      Src: /src/tdengine/source/libs/index/src/indexCache.c:653,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:654,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:656,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:657,1
    - Dst: idxCacheUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:659,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - cache
    - term
    - uid
    argTypes:
    - void*
    - SIndexTerm*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 614
    functionDepth: 4
    functionLinenumber: 614
    functionLinenumberEnd: 661
    functionName: idxCachePut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 2
    functionsReached:
    - idxCacheRef
    - idxMemUnRef
    - indexError
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - memcpy
    - taosThreadMutexLock
    - idxPackJsonData
    - tSkipListPut
    - atomic_add_fetch_64
    - idxCacheUnRef
    - taosThreadMutexUnlock
    - taosMemoryFree
    - TAOS_UNUSED
    - idxMemRef
    - idxCacheMakeRoomForWrite
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int idxCachePut(void* cache, SIndexTerm* term, uint64_t uid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idxCacheRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:665,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:666,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:667,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexCache.c:670,1
    - Dst: idxCacheMakeRoomForWrite
      Src: /src/tdengine/source/libs/index/src/indexCache.c:672,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:674,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:675,1
    - Dst: idxCacheUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - cache
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 679
    functionName: idxCacheForceToMerge
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 1
    functionsReached:
    - idxCacheRef
    - indexError
    - indexInfo
    - idxCacheUnRef
    - taosThreadMutexUnlock
    - idxCacheMakeRoomForWrite
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void idxCacheForceToMerge(void* cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cache
    - fieldValue
    - fvlen
    - uid
    - operType
    argTypes:
    - void*
    - char*
    - int32_t
    - uint64_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: idxCacheDel
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int idxCacheDel(void* cache, const char* fieldValue, int32_t fvlen,
      uint64_t uid, int8_t operType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexCache.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - mem
    - query
    - tr
    - s
    argTypes:
    - MemTable*
    - SIndexTermQuery*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 698
    functionName: idxQueryMem
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxQueryMem(MemTable* mem, SIndexTermQuery* query, SIdxTRslt*
      tr, STermValueType* s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:707,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:708,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:712,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:713,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:714,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:715,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexCache.c:718,1
    - Dst: idxQueryMem
      Src: /src/tdengine/source/libs/index/src/indexCache.c:720,1
    - Dst: idxQueryMem
      Src: /src/tdengine/source/libs/index/src/indexCache.c:723,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:726,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:727,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexCache.c:728,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexCache.c:728,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - cache
    - query
    - result
    - s
    argTypes:
    - void*
    - SIndexTermQuery*
    - SIdxTRslt*
    - STermValueType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 731
    functionName: idxCacheSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 2
    functionsReached:
    - idxMemUnRef
    - indexError
    - indexInfo
    - idxQueryMem
    - taosGetTimestampUs
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - idxMemRef
    linkageType: ''
    returnType: int
    signature: int idxCacheSearch(void* cache, SIndexTermQuery* query, SIdxTRslt*
      result, STermValueType* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_INC
      Src: /src/tdengine/source/libs/index/src/indexCache.c:737,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 739
    functionName: idxCacheRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 4
    functionsReached:
    - UNUSED
    - T_REF_INC
    linkageType: ''
    returnType: void
    signature: void idxCacheRef(IndexCache* cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_DEC
      Src: /src/tdengine/source/libs/index/src/indexCache.c:744,1
    - Dst: idxCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 740
    functionDepth: 3
    functionLinenumber: 740
    functionLinenumberEnd: 748
    functionName: idxCacheUnRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 4
    functionsReached:
    - T_REF_DEC
    - idxCacheDestroy
    linkageType: ''
    returnType: void
    signature: void idxCacheUnRef(IndexCache* cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_INC
      Src: /src/tdengine/source/libs/index/src/indexCache.c:754,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - MemTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: idxMemRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 4
    functionsReached:
    - UNUSED
    - T_REF_INC
    linkageType: ''
    returnType: void
    signature: void idxMemRef(MemTable* tbl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_DEC
      Src: /src/tdengine/source/libs/index/src/indexCache.c:761,1
    - Dst: idxCacheDestroySkiplist
      Src: /src/tdengine/source/libs/index/src/indexCache.c:764,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - MemTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 767
    functionName: idxMemUnRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 5
    functionsReached:
    - idxCacheDestroySkiplist
    - taosMemoryFree
    - T_REF_DEC
    linkageType: ''
    returnType: void
    signature: void idxMemUnRef(MemTable* tbl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:773,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ct
    argTypes:
    - CacheTerm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 775
    functionName: idxCacheTermDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void idxCacheTermDestroy(CacheTerm* ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 779
    functionName: idxCacheTermGet
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * idxCacheTermGet(const void* pData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 793
    functionName: idxCacheTermCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxCacheTermCompare(const void* l, const void* r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - c
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 800
    functionName: idxFindCh
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int idxFindCh(char* a, char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 820
    functionName: idxCacheJsonTermCompareImpl
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int idxCacheJsonTermCompareImpl(char* a, char* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 830
    functionName: idxCacheJsonTermCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxCacheJsonTermCompare(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:836,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:838,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:840,1
    - Dst: tSkipListCreate
      Src: /src/tdengine/source/libs/index/src/indexCache.c:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 845
    functionName: idxInternalCacheCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 2
    functionsReached:
    - tSkipListCreate
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - taosMemoryCalloc
    - idxMemRef
    linkageType: ''
    returnType: MemTable
    signature: MemTable * idxInternalCacheCreate(int8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:852,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:853,1
    - Dst: idxFlushCacheToTFile
      Src: /src/tdengine/source/libs/index/src/indexCache.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SSchedMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 847
    functionDepth: 7
    functionLinenumber: 847
    functionLinenumberEnd: 854
    functionName: idxDoMergeWork
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - idxFlushCacheToTFile
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void idxDoMergeWork(SSchedMsg* msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: iterateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:861,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:863,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:865,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:866,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexCache.c:870,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexCache.c:874,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - itera
    argTypes:
    - Iterate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 880
    functionName: idxCacheIteratorNext
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tSkipListIterNext
    - SL_GET_NODE_DATA
    - taosMemoryFree
    - taosStrdup
    - iterateValueDestroy
    - tSkipListIterGet
    linkageType: ''
    returnType: bool
    signature: bool idxCacheIteratorNext(Iterate* itera)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 885
    functionName: idxCacheIteratorGetValue
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterateValue
    signature: IterateValue * idxCacheIteratorGetValue(Iterate* iter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:21,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:26,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:28,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:33,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:35,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:36,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:40,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:43,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:44,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:45,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:46,1
    - Dst: dfaBuilderCreate
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:50,1
    - Dst: dfaBuilderBuild
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 53
    functionName: regexCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - dfaBuilderCreate
    - taosMemoryFree
    - dfaBuilderBuild
    - taosArrayInit
    - strlen
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: FstRegex
    signature: FstRegex *regexCreate(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:57,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - regex
    argTypes:
    - FstRegex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: regexDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void regexDestroy(FstRegex *regex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - regex
    argTypes:
    - FstRegex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: regexAutomStart
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t regexAutomStart(FstRegex *regex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dfaIsMatch
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - regex
    - state
    argTypes:
    - FstRegex*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: regexAutomIsMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: 0
    functionsReached:
    - dfaIsMatch
    linkageType: ''
    returnType: bool
    signature: bool regexAutomIsMatch(FstRegex *regex, uint32_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - regex
    - state
    - 'null'
    argTypes:
    - FstRegex*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: regexAutomCanMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: 0
    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:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - regex
    - state
    - byte
    - result
    argTypes:
    - FstRegex*
    - uint32_t
    - uint8_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: regexAutomAccept
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: 0
    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:18,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:22,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: fstBuilderNodeDefault
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstNode.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFree
    - taosArrayInit
    linkageType: ''
    returnType: FstBuilderNode
    signature: FstBuilderNode * fstBuilderNodeDefault()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:34,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - FstBuilderNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: fstBuilderNodeDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstNode.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void fstBuilderNodeDestroy(FstBuilderNode* node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:49,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:50,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:55,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:56,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - FstBuilderNode*
    - FstBuilderNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: fstBuilderNodeEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstNode.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool fstBuilderNodeEqual(FstBuilderNode* n1, FstBuilderNode* n2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:75,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:76,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:77,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:82,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:83,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - FstBuilderNode*
    - FstBuilderNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: fstBuilderNodeCloneFrom
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstNode.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t fstBuilderNodeCloneFrom(FstBuilderNode* dst, FstBuilderNode*
      src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: TF_TABLE_TATOAL_SIZE
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TF_TABLE_TATOAL_SIZE(sz)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:95,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:100,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:100,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:102,1
    - Dst: tfileGetFileList
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:109,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:111,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:111,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:115,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:116,1
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:118,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:120,1
    - Dst: tfileReaderCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:127,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:129,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:136,1
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:139,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:140,1
    - Dst: tfileReaderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:142,1
    - Dst: tfileReaderRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:145,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:147,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:150,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:151,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - idx
    - path
    argTypes:
    - SIndex*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 153
    functionName: tfileCacheCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - strlen
    - indexError
    - taosArrayGetP
    - idxFileCtxCreate
    - indexInfo
    - taosArrayDestroyEx
    - tfileCacheDestroy
    - tfileReaderCreate
    - tfileReaderRef
    - taosHashInit
    - tfileReaderDestroy
    - taosArrayGetSize
    - idxSerialCacheKey
    - tstrerror
    - taosGetDefaultHashFunction
    - taosHashPut
    - taosMemoryCalloc
    - tfileGetFileList
    linkageType: ''
    returnType: TFileCache
    signature: TFileCache * tfileCacheCreate(SIndex* idx, const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:159,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:162,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:164,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:165,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - tcache
    argTypes:
    - TFileCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 169
    functionName: tfileCacheDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - tfileReaderUnRef
    - taosHashIterate
    - indexInfo
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void tfileCacheDestroy(TFileCache* tcache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:173,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:174,1
    - Dst: tfileReaderRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tcache
    - key
    argTypes:
    - TFileCache*
    - ICacheKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: tfileCacheGet
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosHashGet
    - tfileReaderRef
    - idxSerialCacheKey
    linkageType: ''
    returnType: TFileReader
    signature: TFileReader * tfileCacheGet(TFileCache* tcache, ICacheKey* key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:187,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:189,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:192,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:193,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:193,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:196,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:198,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:202,1
    - Dst: tfileReaderRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - tcache
    - key
    - reader
    argTypes:
    - TFileCache*
    - ICacheKey*
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 205
    functionName: tfileCachePut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - tfileReaderUnRef
    - indexError
    - indexInfo
    - taosHashRemove
    - taosHashGet
    - tfileReaderRef
    - idxSerialCacheKey
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfileCachePut(TFileCache* tcache, ICacheKey* key, TFileReader*
      reader)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:208,1
    - Dst: tfileReaderVerify
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:215,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:216,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:217,1
    - Dst: tfileReaderLoadHeader
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:220,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:221,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:223,1
    - Dst: tfileReaderLoadFst
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:226,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:227,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:229,1
    - Dst: tfileReaderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - pReader
    argTypes:
    - IFileCtx*
    - TFileReader**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 237
    functionName: tfileReaderCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 2
    functionsReached:
    - indexError
    - TAOS_CHECK_GOTO
    - tfileReaderLoadFst
    - tfileReaderVerify
    - tfileReaderDestroy
    - taosMemoryCalloc
    - tfileReaderLoadHeader
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfileReaderCreate(IFileCtx* ctx, TFileReader** pReader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fstDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:242,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:244,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:246,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:248,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 251
    functionName: tfileReaderDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 4
    functionsReached:
    - idxFileCtxDestroy
    - indexInfo
    - taosMemoryFree
    - fstDestroy
    linkageType: ''
    returnType: void
    signature: void tfileReaderDestroy(TFileReader* reader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:258,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:259,1
    - Dst: fstGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:261,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:262,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:264,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:267,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:269,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:270,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:270,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:273,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:274,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 279
    functionName: tfSearchTerm
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - indexInfo
    - fstGet
    - fstSliceDestroy
    - indexError
    - taosGetTimestampUs
    - fstSliceCreate
    - tfileReaderLoadTableIds
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchTerm(void* reader, SIndexTerm* tem, SIdxTRslt* tr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:287,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:292,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:294,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:298,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:299,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:301,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:302,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:303,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:305,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:307,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:308,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:311,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:312,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:313,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:314,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:316,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:319,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:320,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:321,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:322,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 324
    functionName: tfSearchPrefix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - swsResultDestroy
    - indexError
    - taosArrayGet
    - TAOS_CHECK_GOTO
    - stmBuilderDestroy
    - stmBuilderIntoStm
    - automCtxCreate
    - stmStNextWith
    - taosArrayGetSize
    - taosArrayInit
    - tfileReaderLoadTableIds
    - tstrerror
    - taosArrayDestroy
    - stmStDestroy
    - fstSearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchPrefix(void* reader, SIndexTerm* tem, SIdxTRslt* tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:329,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:330,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: tfSearchSuffix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - fstSliceDestroy
    - taosGetTimestampUs
    - fstSliceCreate
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchSuffix(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:335,1
    - Dst: idxPackJsonData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:341,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:342,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:344,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:345,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:349,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 353
    functionName: tfSearchRegex
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - fstSliceDestroy
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - idxPackJsonData
    - taosGetTimestampUs
    - taosMemoryFree
    - fstSliceCreate
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchRegex(void* reader, SIndexTerm* tem, SIdxTRslt* tr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompare
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:359,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:361,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:363,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:364,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:366,1
    - Dst: stmBuilderSetRange
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:367,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:368,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:370,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:372,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:374,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:376,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:378,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:383,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:383,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:386,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:389,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:392,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:393,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - reader
    - tem
    - tr
    - type
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - RangeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 396
    functionName: tfSearchCompareFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - cmpFn
    - fstSliceDestroy
    - swsResultDestroy
    - tfileReaderLoadTableIds
    - stmBuilderDestroy
    - stmBuilderIntoStm
    - automCtxCreate
    - fstSliceData
    - stmStNextWith
    - fstSliceCreate
    - taosArrayInit
    - idxGetCompare
    - TAOS_UNUSED
    - stmBuilderSetRange
    - taosArrayDestroy
    - stmStDestroy
    - fstSearch
    linkageType: ''
    returnType: int32_t
    signature: 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:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 4
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: tfSearchLessThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchLessThan(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: tfSearchLessEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchLessEqual(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 4
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: tfSearchGreaterThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchGreaterThan(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 4
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: tfSearchGreaterEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchGreaterEqual(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:413,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:414,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: tfSearchRange
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - fstSliceDestroy
    - taosGetTimestampUs
    - fstSliceCreate
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchRange(void* reader, SIndexTerm* tem, SIdxTRslt* tr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idxPackJsonData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:420,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:421,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:423,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:424,1
    - Dst: fstGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:426,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:427,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:429,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:432,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:434,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:435,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:436,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:439,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:440,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:442,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:444,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 447
    functionName: tfSearchTerm_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - indexInfo
    - fstGet
    - indexError
    - fstSliceDestroy
    - idxPackJsonData
    - taosGetTimestampUs
    - taosMemoryFree
    - fstSliceCreate
    - taosArrayGetSize
    - tfileReaderLoadTableIds
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchTerm_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: tfSearchEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 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:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: tfSearchPrefix_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchPrefix_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: tfSearchSuffix_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchSuffix_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: tfSearchRegex_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchRegex_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: tfSearchLessThan_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchLessThan_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 467
    functionName: tfSearchLessEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchLessEqual_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: tfSearchGreaterThan_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchGreaterThan_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: tfSearchGreaterEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchGreaterEqual_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: tfSearchRange_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchRange_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: idxPackJsonDataPrefixNoType
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:490,1
    - Dst: idxPackJsonDataPrefix
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:492,1
    - Dst: idxGetCompare
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:495,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:497,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:499,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:500,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:502,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:504,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:508,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:511,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:515,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:516,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:518,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:521,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:523,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:527,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:528,1
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:528,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:529,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:531,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:537,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:537,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:540,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:543,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:547,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:548,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:549,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:550,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - reader
    - tem
    - tr
    - ctype
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - RangeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 553
    functionName: tfSearchCompareFunc_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 6
    functionsReached:
    - swsResultDestroy
    - stmBuilderIntoStm
    - TAOS_UNUSED
    - idxGetCompare
    - tfileReaderLoadTableIds
    - taosArrayDestroy
    - stmStDestroy
    - fstSearch
    - idxPackJsonDataPrefixNoType
    - memcpy
    - stmStNextWith
    - taosMemoryCalloc
    - cmpFn
    - stmBuilderDestroy
    - automCtxCreate
    - fstSliceData
    - idxPackJsonDataPrefix
    - strncmp
    - taosMemoryFree
    - taosArrayInit
    - IDX_TYPE_GET_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfSearchCompareFunc_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr, RangeType ctype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:559,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - reader
    - query
    - tr
    argTypes:
    - TFileReader*
    - SIndexTermQuery*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 567
    functionName: tfileReaderSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - tfileReaderUnRef
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    linkageType: ''
    returnType: int
    signature: int tfileReaderSearch(TFileReader* reader, SIndexTermQuery* query,
      SIdxTRslt* tr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tfileGenFileFullName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:573,1
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:575,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:584,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:585,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:585,1
    - Dst: tfileWriterCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:588,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - path
    - suid
    - version
    - colName
    - colType
    - pWriter
    argTypes:
    - char*
    - uint64_t
    - int64_t
    - char*
    - uint8_t
    - TFileWriter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 593
    functionName: tfileWriterOpen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - idxFileCtxCreate
    - tfileWriterCreate
    - memcpy
    - tfileGenFileFullName
    - idxFileCtxDestroy
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tfileWriterOpen(char* path, uint64_t suid, int64_t version,
      const char* colName, uint8_t colType,\n                        TFileWriter**
      pWriter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfileGenFileFullName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:598,1
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:600,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:602,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:603,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:603,1
    - Dst: indexTrace
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:607,1
    - Dst: tfileReaderCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - idx
    - suid
    - version
    - colName
    - pReader
    argTypes:
    - SIndex*
    - uint64_t
    - int64_t
    - char*
    - TFileReader**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 610
    functionName: tfileReaderOpen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 3
    functionsReached:
    - indexError
    - idxFileCtxCreate
    - TAOS_SYSTEM_ERROR
    - indexTrace
    - tfileReaderCreate
    - tfileGenFileFullName
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfileReaderOpen(SIndex* idx, uint64_t suid, int64_t version,
      const char* colName, TFileReader** pReader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:614,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:617,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:617,1
    - Dst: tfileWriteHeader
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:622,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - header
    - pWriter
    argTypes:
    - IFileCtx*
    - TFileHeader*
    - TFileWriter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 630
    functionName: tfileWriterCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 2
    functionsReached:
    - indexError
    - tfileWriteHeader
    - taosMemoryFree
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfileWriterCreate(IFileCtx* ctx, TFileHeader* header, TFileWriter**
      pWriter)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:638,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:643,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:648,1
    - Dst: taosArraySortPWithExt
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:648,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:651,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:656,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:657,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:658,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:659,1
    - Dst: TF_TABLE_TATOAL_SIZE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:661,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:663,1
    - Dst: tfileWriteFstOffset
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:663,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:666,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:672,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:674,1
    - Dst: TF_TABLE_TATOAL_SIZE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:677,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:681,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:683,1
    - Dst: tfileSerialTableIdsToBuf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:690,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:691,1
    - Dst: TFileWriter*::ctx::write
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:691,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:694,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:696,1
    - Dst: fstBuilderCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:698,1
    - Dst: tfileWriterClose
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:700,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:707,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:709,1
    - Dst: tfileWriteData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:712,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:713,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:714,1
    - Dst: fstBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:718,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:719,1
    - Dst: tfileWriteFooter
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:719,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - tw
    - data
    - order
    argTypes:
    - TFileWriter*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 721
    functionName: tfileWriterPut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 2
    functionsReached:
    - taosArraySort
    - memset
    - TAOS_UNUSED
    - TF_TABLE_TATOAL_SIZE
    - tfileSerialTableIdsToBuf
    - taosArrayGetP
    - indexError
    - taosArrayRemoveDuplicate
    - fstBuilderDestroy
    - tfileWriterClose
    - TFileWriter*::ctx::write
    - taosArrayGetSize
    - taosMemoryCalloc
    - fstBuilderCreate
    - tfileWriteFooter
    - tfileWriteFstOffset
    - tfileWriteData
    - taosMemoryFree
    - IDX_TYPE_GET_TYPE
    - getComparFunc
    - taosMemoryRealloc
    - taosArraySortPWithExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfileWriterPut(TFileWriter* tw, void* data, bool order)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TFileWriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 728
    functionName: tfileWriterClose
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 2
    functionsReached:
    - idxFileCtxDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tfileWriterClose(TFileWriter* tw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TFileWriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 735
    functionName: tfileWriterDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 2
    functionsReached:
    - idxFileCtxDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tfileWriterDestroy(TFileWriter* tw)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tfileCacheCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:738,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:743,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:745,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:748,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:749,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - idx
    - path
    argTypes:
    - SIndex*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 737
    functionDepth: 3
    functionLinenumber: 737
    functionLinenumberEnd: 755
    functionName: idxTFileCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - tfileCacheDestroy
    - tfileCacheCreate
    - taosThreadMutexInit
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: IndexTFile
    signature: IndexTFile * idxTFileCreate(SIndex* idx, const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:760,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:760,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:761,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tfile
    argTypes:
    - IndexTFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: idxTFileDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexDestroy
    - taosMemoryFree
    - TAOS_UNUSED
    - tfileCacheDestroy
    linkageType: ''
    returnType: void
    signature: void idxTFileDestroy(IndexTFile* tfile)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:771,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:777,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:778,1
    - Dst: tfileCacheGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:781,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:783,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:784,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:790,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:791,1
    - Dst: tfileReaderSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - tfile
    - query
    - result
    argTypes:
    - void*
    - SIndexTermQuery*
    - SIdxTRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 794
    functionName: idxTFileSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - indexError
    - indexInfo
    - taosGetTimestampUs
    - tfileReaderSearch
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tfileCacheGet
    linkageType: ''
    returnType: int
    signature: int idxTFileSearch(void* tfile, SIndexTermQuery* query, SIdxTRslt*
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tfile
    - term
    - uid
    argTypes:
    - void*
    - SIndexTerm*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 801
    functionName: idxTFilePut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int idxTFilePut(void* tfile, SIndexTerm* term, uint64_t uid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iterateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:805,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:811,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:817,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:818,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:823,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:826,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - iiter
    argTypes:
    - Iterate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 836
    functionName: tfileIteratorNext
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - swsResultDestroy
    - memcpy
    - fstSliceData
    - stmStNextWith
    - tfileReaderLoadTableIds
    - taosMemoryCalloc
    - iterateValueDestroy
    linkageType: ''
    returnType: bool
    signature: bool tfileIteratorNext(Iterate* iiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 838
    functionName: tifileIterateGetValue
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IterateValue
    signature: IterateValue * tifileIterateGetValue(Iterate* iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:841,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:846,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:847,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 851
    functionName: tfileFstIteratorCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - stmBuilderIntoStm
    - automCtxCreate
    - taosMemoryCalloc
    - fstSearch
    linkageType: ''
    returnType: TFileFstIter
    signature: TFileFstIter * tfileFstIteratorCreate(TFileReader* reader)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:858,1
    - Dst: tfileFstIteratorCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:863,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:865,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:870,1
    - Dst: tfileIteratorDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 853
    functionDepth: 4
    functionLinenumber: 853
    functionLinenumberEnd: 878
    functionName: tfileIteratorCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 2
    functionsReached:
    - tfileIteratorDestroy
    - tfileFstIteratorCreate
    - taosMemoryFree
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: Iterate
    signature: Iterate * tfileIteratorCreate(TFileReader* reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:885,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:888,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:889,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:890,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:891,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 879
    functionDepth: 3
    functionLinenumber: 879
    functionLinenumberEnd: 894
    functionName: tfileIteratorDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 3
    functionsReached:
    - stmBuilderDestroy
    - automCtxDestroy
    - taosMemoryFree
    - stmStDestroy
    - iterateValueDestroy
    linkageType: ''
    returnType: void
    signature: void tfileIteratorDestroy(Iterate* iter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:901,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:903,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:904,1
    - Dst: tfileCacheGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:906,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:907,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tf
    - suid
    - colName
    argTypes:
    - IndexTFile*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 896
    functionDepth: 3
    functionLinenumber: 896
    functionLinenumberEnd: 911
    functionName: tfileGetReaderByCol
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - indexError
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - strlen
    - tfileCacheGet
    linkageType: ''
    returnType: TFileReader
    signature: TFileReader * tfileGetReaderByCol(IndexTFile* tf, uint64_t suid, char*
      colName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 919
    functionName: tfileStrCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int tfileStrCompare(const void* a, const void* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 928
    functionName: tfileValueCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: int tfileValueCompare(const void* a, const void* b, const void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:931,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:935,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:937,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:939,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:941,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 946
    functionName: tfileValueCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosArrayInit
    - taosMemoryCalloc
    - taosMemoryFree
    - taosStrdup
    linkageType: ''
    returnType: TFileValue
    signature: TFileValue * tfileValueCreate(char* val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tf
    - val
    argTypes:
    - TFileValue*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 955
    functionName: tfileValuePush
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfileValuePush(TFileValue* tf, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:957,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:958,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tf
    argTypes:
    - TFileValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 960
    functionName: tfileValueDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 3
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tfileValueDestroy(TFileValue* tf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:962,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:965,1
    - Dst: SERIALIZE_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - ids
    argTypes:
    - char*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 968
    functionName: tfileSerialTableIdsToBuf
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - SERIALIZE_VAR_TO_BUF
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void tfileSerialTableIdsToBuf(char* buf, SArray* ids)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TFileWriter*::ctx::write
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:974,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:977,1
    - Dst: TFileWriter*::ctx::size
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tw
    - offset
    argTypes:
    - TFileWriter*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 980
    functionName: tfileWriteFstOffset
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - TFileWriter*::ctx::write
    - indexInfo
    - TFileWriter*::ctx::size
    linkageType: ''
    returnType: int
    signature: int tfileWriteFstOffset(TFileWriter* tw, int32_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:986,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:988,1
    - Dst: TFileWriter*::ctx::size
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:988,1
    - Dst: TFileWriter*::ctx::write
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:989,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:991,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:992,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:996,1
    - Dst: TFileWriter*::ctx::size
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - writer
    argTypes:
    - TFileWriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 999
    functionName: tfileWriteHeader
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - indexInfo
    - TAOS_SYSTEM_ERROR
    - memcpy
    - indexError
    - TFileWriter*::ctx::write
    - TFileWriter*::ctx::size
    linkageType: ''
    returnType: int
    signature: int tfileWriteHeader(TFileWriter* writer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1004,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1005,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1005,1
    - Dst: fstBuilderInsert
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1006,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - write
    - tval
    argTypes:
    - TFileWriter*
    - TFileValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1011
    functionName: tfileWriteData
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - fstSliceDestroy
    - fstSliceCreate
    - IDX_TYPE_GET_TYPE
    - fstBuilderInsert
    - strlen
    linkageType: ''
    returnType: int
    signature: int tfileWriteData(TFileWriter* write, TFileValue* tval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1015,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1015,1
    - Dst: TFileWriter*::ctx::write
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1016,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1016,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1018,1
    - Dst: TFileWriter*::ctx::size
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1018,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - write
    argTypes:
    - TFileWriter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1024
    functionName: tfileWriteFooter
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - indexInfo
    - TAOS_SYSTEM_ERROR
    - TFileWriter*::ctx::write
    - TFileWriter*::ctx::size
    - TAOS_UNUSED
    - taosEncodeFixedU64
    - strlen
    linkageType: ''
    returnType: int
    signature: int tfileWriteFooter(TFileWriter* write)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TFileReader*::ctx::readFrom
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1029,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1032,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1035,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1040
    functionName: tfileReaderLoadHeader
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - indexError
    - TFileReader*::ctx::readFrom
    - memcpy
    - indexInfo
    linkageType: ''
    returnType: int
    signature: int tfileReaderLoadHeader(TFileReader* reader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IFileCtx*::size
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1043,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1047,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1052,1
    - Dst: IFileCtx*::readFrom
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1053,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1054,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1055,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1062,1
    - Dst: fstCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1063,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1064,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1065,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1068
    functionName: tfileReaderLoadFst
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - indexInfo
    - fstSliceDestroy
    - taosGetTimestampUs
    - IFileCtx*::size
    - IFileCtx*::readFrom
    - taosMemoryFree
    - fstSliceCreate
    - fstCreate
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfileReaderLoadFst(TFileReader* reader)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IFileCtx*::readFrom
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1076,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1088,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1094,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1096,1
    - Dst: IFileCtx*::readFrom
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1098,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1099,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - reader
    - offset
    - result
    argTypes:
    - TFileReader*
    - int32_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1109
    functionName: tfileReaderLoadTableIds
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 6
    functionsReached:
    - taosArrayPush
    - memset
    - memcpy
    - IFileCtx*::readFrom
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfileReaderLoadTableIds(TFileReader* reader, int32_t offset,
      SArray* result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IFileCtx*::size
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1116,1
    - Dst: IFileCtx*::readFrom
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1120,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1125,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1127
    functionName: tfileReaderVerify
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - taosDecodeFixedU64
    - IFileCtx*::size
    - TAOS_UNUSED
    - IFileCtx*::readFrom
    linkageType: ''
    returnType: int
    signature: int tfileReaderVerify(TFileReader* reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_INC
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1133,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rd
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1135
    functionName: tfileReaderRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 3
    functionsReached:
    - UNUSED
    - T_REF_INC
    linkageType: ''
    returnType: void
    signature: void tfileReaderRef(TFileReader* rd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_DEC
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1141,1
    - Dst: tfileReaderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rd
    argTypes:
    - TFileReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1146
    functionName: tfileReaderUnRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 5
    functionsReached:
    - tfileReaderDestroy
    - T_REF_DEC
    linkageType: ''
    returnType: void
    signature: void tfileReaderUnRef(TFileReader* rd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1153,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1158,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1160,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1163,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1164,1
    - Dst: tfileParseFileName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1165,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1169,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1169,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1170,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1172,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1175,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1176,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1177,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1180,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1180,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1182,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1183,1
    - Dst: tfileRmExpireFile
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1183,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1188,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1188,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - path
    - ppResult
    argTypes:
    - char*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1193
    functionName: tfileGetFileList
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - tfileRmExpireFile
    - taosGetDirEntryName
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArraySort
    - taosReadDir
    - TAOS_CHECK_GOTO
    - tfileParseFileName
    - snprintf
    - TAOS_UNUSED
    - taosArrayInit
    - strlen
    - taosOpenDir
    - taosMemoryCalloc
    - taosCloseDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfileGetFileList(const char* path, SArray** ppResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1197
    functionName: tfileRmExpireFile
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tfileRmExpireFile(SArray* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1201
    functionName: tfileDestroyFileName
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tfileDestroyFileName(void* elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1206
    functionName: tfileCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int tfileCompare(const void* a, const void* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - filename
    - suid
    - col
    - version
    argTypes:
    - char*
    - uint64_t*
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1214
    functionName: tfileParseFileName
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 1
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: int tfileParseFileName(const char* filename, uint64_t* suid, char*
      col, int64_t* version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1217,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - filename
    - len
    - suid
    - col
    - version
    argTypes:
    - char*
    - int32_t
    - uint64_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1219
    functionName: tfileGenFileName
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - snprintf
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void tfileGenFileName(char* filename, int32_t len, uint64_t suid, const
      char* col, int64_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfileGenFileName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1223,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1224,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - fullname
    - len
    - path
    - suid
    - col
    - version
    argTypes:
    - char*
    - int32_t
    - char*
    - uint64_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1220
    functionDepth: 1
    functionLinenumber: 1220
    functionLinenumberEnd: 1225
    functionName: FORCE_INLINE::tfileGenFileFullName
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: 0
    functionsReached:
    - tfileGenFileName
    - snprintf
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FORCE_INLINE tfileGenFileFullName(char* fullname, int32_t len,
      const char* path, uint64_t suid,\n                                              const
      char* col, int64_t version)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:25,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:26,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:31,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: dfaInstsEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int
    signature: int dfaInstsEqual(const void *a, const void *b, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:40,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:45,1
    - Dst: dfaCreate
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:47,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:48,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:49,1
    - Dst: taosHashSetEqualFp
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - insts
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: dfaBuilderCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: 3
    functionsReached:
    - taosHashSetEqualFp
    - dfaCreate
    - taosHashInit
    - taosArrayInit
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    linkageType: ''
    returnType: FstDfaBuilder
    signature: FstDfaBuilder *dfaBuilderCreate(SArray *insts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:58,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:61,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:62,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:64,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - builder
    argTypes:
    - FstDfaBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: dfaBuilderDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: 2
    functionsReached:
    - taosHashIterate
    - taosMemoryFree
    - taosHashCleanup
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void dfaBuilderDestroy(FstDfaBuilder *builder)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:69,1
    - Dst: sparSetCreate
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:70,1
    - Dst: sparSetCreate
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:71,1
    - Dst: dfaAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:77,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:80,1
    - Dst: dfaBuilderCacheState
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:85,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:86,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:90,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:90,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:95,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:96,1
    - Dst: dfaBuilderRunState
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:99,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:100,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:101,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:104,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:109,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:115,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:116,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:119,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:120,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:121,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:121,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 1
    argNames:
    - builder
    argTypes:
    - FstDfaBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 123
    functionName: dfaBuilderBuild
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - indexError
    - dfaAdd
    - tstrerror
    - sparSetCreate
    - taosHashGet
    - dfaBuilderRunState
    - dfaBuilderCacheState
    - taosHashInit
    - taosArrayGetSize
    - taosArrayInit
    - taosGetDefaultHashFunction
    - taosArrayPop
    - taosHashCleanup
    - taosArrayDestroy
    - taosHashPut
    linkageType: ''
    returnType: FstDfa
    signature: FstDfa *dfaBuilderBuild(FstDfaBuilder *builder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sparSetClear
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:127,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:128,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:129,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:130,1
    - Dst: sparSetAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:132,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:135,1
    - Dst: dfaRun
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:135,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:137,1
    - Dst: dfaBuilderCacheState
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - builder
    - cur
    - next
    - state
    - byte
    - result
    argTypes:
    - FstDfaBuilder*
    - FstSparseSet*
    - FstSparseSet*
    - uint32_t
    - uint8_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: dfaBuilderRunState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - dfaRun
    - sparSetClear
    - dfaBuilderCacheState
    - TAOS_UNUSED
    - taosArrayGetSize
    - sparSetAdd
    linkageType: ''
    returnType: bool
    signature: "bool dfaBuilderRunState(FstDfaBuilder *builder, FstSparseSet *cur,
      FstSparseSet *next, uint32_t state, uint8_t byte,\n                        uint32_t
      *result)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:150,1
    - Dst: sparSetLen
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:157,1
    - Dst: sparSetGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:159,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:161,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:165,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:171,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:177,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:178,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:181,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:184,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:187,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:192,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:193,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:201,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:202,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 3
    argNames:
    - builder
    - set
    - result
    argTypes:
    - FstDfaBuilder*
    - FstSparseSet*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 204
    functionName: dfaBuilderCacheState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - indexError
    - taosArrayGet
    - taosHashGet
    - taosArrayGetSize
    - taosArrayInit
    - sparSetLen
    - sparSetGet
    - taosArrayDestroy
    - taosHashPut
    linkageType: ''
    returnType: bool
    signature: bool dfaBuilderCacheState(FstDfaBuilder *builder, FstSparseSet *set,
      uint32_t *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - insts
    - states
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: dfaCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: 1
    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:217,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - dfa
    - si
    argTypes:
    - FstDfa*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: dfaIsMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool dfaIsMatch(FstDfa *dfa, uint32_t si)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:224,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - dfa
    - si
    - byte
    - result
    argTypes:
    - FstDfa*
    - uint32_t
    - uint8_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: dfaAccept
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool dfaAccept(FstDfa *dfa, uint32_t si, uint8_t byte, uint32_t *result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sparSetContains
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:232,1
    - Dst: sparSetAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:235,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:236,1
    - Dst: dfaAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:240,1
    - Dst: dfaAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:242,1
    - Dst: dfaAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - dfa
    - set
    - ip
    argTypes:
    - FstDfa*
    - FstSparseSet*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: dfaAdd
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: 2
    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:250,1
    - Dst: sparSetLen
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:251,1
    - Dst: sparSetGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:253,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:255,1
    - Dst: dfaAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:262,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - dfa
    - from
    - to
    - byte
    argTypes:
    - FstDfa*
    - FstSparseSet*
    - FstSparseSet*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 268
    functionName: dfaRun
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: 1
    functionsReached:
    - dfaAdd
    - taosArrayGet
    - sparSetClear
    - sparSetLen
    - sparSetGet
    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:33,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:35,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - key
    - keyLen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: deleteDataBlockFromLRU
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void deleteDataBlockFromLRU(const void* key, size_t keyLen, void* value,
      void* ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZE_STR_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:41,1
    - Dst: SERIALIZE_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:42,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:43,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - path
    - blockId
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: idxGenLRUKey
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 0
    functionsReached:
    - SERIALIZE_VAR_TO_BUF
    - TAOS_UNUSED
    - strlen
    - SERIALIZE_STR_VAR_TO_BUF
    - idxInt2str
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE idxGenLRUKey(char* buf, const char* path, int32_t blockId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:52,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:53,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:53,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:55,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:63,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:63,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:69,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:73,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - IFileCtx*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 82
    functionName: idxFileCtxDoWrite
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - TAOS_UNUSED
    - taosWriteFile
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE idxFileCtxDoWrite(IFileCtx* ctx, uint8_t* buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:88,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:90,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - IFileCtx*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: idxFileCtxDoRead
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosReadFile
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE idxFileCtxDoRead(IFileCtx* ctx, uint8_t* buf, int len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:109,1
    - Dst: idxGenLRUKey
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:113,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:114,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:114,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:117,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:118,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:119,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:120,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:120,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:124,1
    - Dst: taosPReadFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:125,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:136,1
    - Dst: taosPReadFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:141,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:143,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:147,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:148,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:150,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:150,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - offset
    argTypes:
    - IFileCtx*
    - uint8_t*
    - int
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 167
    functionName: idxFileCtxDoReadFrom
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TMIN
    - taosPReadFile
    - idxGenLRUKey
    - taosLRUCacheValue
    - taosLRUCacheRelease
    - taosMemoryFree
    - TAOS_UNUSED
    - taosLRUCacheLookup
    - strlen
    - taosLRUCacheInsert
    - taosMemoryCalloc
    linkageType: ''
    returnType: int64_t
    signature: int64_t idxFileCtxDoReadFrom(IFileCtx* ctx, uint8_t* buf, int len,
      int32_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:174,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IFileCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: idxFileCtxGetSize
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 0
    functionsReached:
    - taosStatFile
    - TAOS_UNUSED
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE idxFileCtxGetSize(IFileCtx* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:183,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:186,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IFileCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: idxFileCtxDoFlush
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 0
    functionsReached:
    - taosFsyncFile
    - UNUSED
    - taosWriteFile
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE idxFileCtxDoFlush(IFileCtx* ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:196,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:204,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:204,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:206,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:208,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:209,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:211,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:212,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:216,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:218,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:222,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:223,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:224,1
    - Dst: tfMmapReadOnly
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:229,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:233,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:237,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:239,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:258,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:260,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 4
    argNames:
    - type
    - path
    - readOnly
    - capacity
    argTypes:
    - WriterType
    - char*
    - bool
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 262
    functionName: idxFileCtxCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 11
    functionsReached:
    - indexError
    - memcpy
    - taosStatFile
    - taosFStatFile
    - tfMmapReadOnly
    - UNUSED
    - taosMemoryFree
    - taosOpenFile
    - strlen
    - taosMemoryCalloc
    - taosFtruncateFile
    linkageType: ''
    returnType: IFileCtx
    signature: IFileCtx * idxFileCtxCreate(WriterType type, const char* path, bool
      readOnly, int32_t capacity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:265,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:268,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:271,1
    - Dst: IFileCtx*::flush
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:271,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:272,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:273,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:273,1
    - Dst: munmap
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:276,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:280,1
    - Dst: unlink
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:280,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - remove
    argTypes:
    - IFileCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 284
    functionName: idxFileCtxDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 11
    functionsReached:
    - taosCloseFile
    - taosMemoryFreeClear
    - munmap
    - taosWriteFile
    - IFileCtx*::flush
    - taosMemoryFree
    - TAOS_UNUSED
    - unlink
    linkageType: ''
    returnType: void
    signature: void idxFileCtxDestroy(IFileCtx* ctx, bool remove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - wrt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: idxFileCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 3
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: IdxFstFile
    signature: IdxFstFile * idxFileCreate(void* wrt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:296,1
    - Dst: idxFileFlush
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:296,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cw
    argTypes:
    - IdxFstFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: idxFileDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 3
    functionsReached:
    - idxFileFlush
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void idxFileDestroy(IdxFstFile* cw)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IFileCtx*::write
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:308,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:310,1
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - write
    - buf
    - len
    argTypes:
    - IdxFstFile*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: idxFileWrite
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 0
    functionsReached:
    - taosCalcChecksum
    - TAOS_SYSTEM_ERROR
    - IFileCtx*::write
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxFileWrite(IdxFstFile* write, uint8_t* buf, uint32_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IFileCtx*::read
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - write
    - buf
    - len
    argTypes:
    - IdxFstFile*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: idxFileRead
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 3
    functionsReached:
    - IFileCtx*::read
    linkageType: ''
    returnType: int32_t
    signature: int32_t idxFileRead(IdxFstFile* write, uint8_t* buf, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - write
    argTypes:
    - IdxFstFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: idxFileMaskedCheckSum
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t idxFileMaskedCheckSum(IdxFstFile* write)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:334,1
    - Dst: IFileCtx*::flush
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - write
    argTypes:
    - IdxFstFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: idxFileFlush
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 1
    functionsReached:
    - IFileCtx*::flush
    - TAOS_UNUSED
    linkageType: ''
    returnType: int
    signature: int idxFileFlush(IdxFstFile* write)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:339,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:341,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:348,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:348,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - writer
    - n
    - nBytes
    argTypes:
    - IdxFstFile*
    - uint64_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 351
    functionName: idxFilePackUintIn
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 0
    functionsReached:
    - indexError
    - idxFileWrite
    - taosMemoryFree
    - TAOS_UNUSED
    - 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:354,1
    - Dst: idxFilePackUintIn
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - writer
    - n
    argTypes:
    - IdxFstFile*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: idxFilePackUint
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: 0
    functionsReached:
    - idxFilePackUintIn
    - packSize
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t idxFilePackUint(IdxFstFile* writer, uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxFilePackUintIn
      Src: /src/tdengine/source/libs/index/src/indexFst.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wrt
    - nodeAddr
    - transAddr
    - nBytes
    argTypes:
    - IdxFstFile*
    - CompiledAddr
    - CompiledAddr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: fstPackDeltaIn
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - idxFilePackUintIn
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE fstPackDeltaIn(IdxFstFile* wrt, CompiledAddr nodeAddr,
      CompiledAddr transAddr,\n                                        uint8_t nBytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packDeltaSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:28,1
    - Dst: fstPackDeltaIn
      Src: /src/tdengine/source/libs/index/src/indexFst.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wrt
    - nodeAddr
    - transAddr
    argTypes:
    - IdxFstFile*
    - CompiledAddr
    - CompiledAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: fstPackDelta
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstPackDeltaIn
    - packDeltaSize
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE fstPackDelta(IdxFstFile* wrt, CompiledAddr nodeAddr, CompiledAddr
      transAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:34,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:39,1
    - Dst: fstUnFinishedNodesPushEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: fstUnFinishedNodesCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstUnFinishedNodesPushEmpty
    - taosMemoryMalloc
    - taosArrayInit
    linkageType: ''
    returnType: FstUnFinishedNodes
    signature: FstUnFinishedNodes * fstUnFinishedNodesCreate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:45,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: FORCE_INLINE::unFinishedNodeDestroyElem
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstBuilderNodeDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void FORCE_INLINE unFinishedNodeDestroyElem(void* elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexFst.c:54,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nodes
    argTypes:
    - FstUnFinishedNodes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: fstUnFinishedNodesDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void fstUnFinishedNodesDestroy(FstUnFinishedNodes* nodes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:59,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:66,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:68,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:73,1
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - nodes
    - isFinal
    argTypes:
    - FstUnFinishedNodes*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: fstUnFinishedNodesPushEmpty
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - fstBuilderNodeDestroy
    - taosMemoryFree
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void fstUnFinishedNodesPushEmpty(FstUnFinishedNodes* nodes, bool isFinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodes
    argTypes:
    - FstUnFinishedNodes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: fstUnFinishedNodesPopRoot
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - taosArrayPop
    linkageType: ''
    returnType: FstBuilderNode
    signature: FstBuilderNode * fstUnFinishedNodesPopRoot(FstUnFinishedNodes* nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:83,1
    - Dst: fstBuilderNodeUnfinishedLastCompiled
      Src: /src/tdengine/source/libs/index/src/indexFst.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nodes
    - addr
    argTypes:
    - FstUnFinishedNodes*
    - CompiledAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: fstUnFinishedNodesPopFreeze
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstBuilderNodeUnfinishedLastCompiled
    - taosArrayPop
    linkageType: ''
    returnType: FstBuilderNode
    signature: FstBuilderNode * fstUnFinishedNodesPopFreeze(FstUnFinishedNodes* nodes,
      CompiledAddr addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodes
    argTypes:
    - FstUnFinishedNodes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: fstUnFinishedNodesPopEmpty
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - taosArrayPop
    linkageType: ''
    returnType: FstBuilderNode
    signature: FstBuilderNode * fstUnFinishedNodesPopEmpty(FstUnFinishedNodes* nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nodes
    - out
    argTypes:
    - FstUnFinishedNodes*
    - Output
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: fstUnFinishedNodesSetRootOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: void fstUnFinishedNodesSetRootOutput(FstUnFinishedNodes* nodes, Output
      out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:101,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:101,1
    - Dst: fstBuilderNodeUnfinishedLastCompiled
      Src: /src/tdengine/source/libs/index/src/indexFst.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nodes
    - addr
    argTypes:
    - FstUnFinishedNodes*
    - CompiledAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: fstUnFinishedNodesTopLastFreeze
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstBuilderNodeUnfinishedLastCompiled
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void fstUnFinishedNodesTopLastFreeze(FstUnFinishedNodes* nodes, CompiledAddr
      addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceIsEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:106,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:109,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:110,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:115,1
    - Dst: fstLastTransitionCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:116,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:119,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:125,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:127,1
    - Dst: fstLastTransitionCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:131,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:134,1
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:135,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:136,1
    - Dst: fstUnFinishedNodesPushEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - nodes
    - bs
    - out
    argTypes:
    - FstUnFinishedNodes*
    - FstSlice
    - Output
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: fstUnFinishedNodesAddSuffix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - taosArrayGet
    - fstSliceData
    - fstBuilderNodeDestroy
    - fstLastTransitionCreate
    - fstSliceIsEmpty
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - fstUnFinishedNodesPushEmpty
    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:145,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:148,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - node
    - bs
    argTypes:
    - FstUnFinishedNodes*
    - FstSlice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: fstUnFinishedNodesFindCommPrefix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t fstUnFinishedNodesFindCommPrefix(FstUnFinishedNodes* node,
      FstSlice bs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:163,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:167,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:171,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:173,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:183,1
    - Dst: fstBuilderNodeUnfinishedAddOutputPrefix
      Src: /src/tdengine/source/libs/index/src/indexFst.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - node
    - bs
    - in
    - out
    argTypes:
    - FstUnFinishedNodes*
    - FstSlice
    - Output
    - Output*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 189
    functionName: fstUnFinishedNodesFindCommPrefixAndSetOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - fstSliceData
    - TMIN
    - fstBuilderNodeUnfinishedAddOutputPrefix
    - taosArrayGetSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t fstUnFinishedNodesFindCommPrefixAndSetOutput(FstUnFinishedNodes*
      node, FstSlice bs, Output in, Output* out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - slice
    - addr
    argTypes:
    - FstSlice*
    - CompiledAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: fstStateCreateFrom
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    linkageType: ''
    returnType: FstState
    signature: FstState fstStateCreateFrom(FstSlice* slice, CompiledAddr addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: fstStateCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FstState
    signature: FstState fstStateCreate(State state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstStateCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:224,1
    - Dst: fstStateSetCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:225,1
    - Dst: fstStateCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:228,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:231,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:231,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:233,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - w
    - addr
    - inp
    argTypes:
    - IdxFstFile*
    - CompiledAddr
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: fstStateCompileForOneTransNext
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstStateCreate
    - idxFileWrite
    - fstStateCommInput
    - TAOS_UNUSED
    - fstStateSetCommInput
    linkageType: ''
    returnType: void
    signature: void fstStateCompileForOneTransNext(IdxFstFile* w, CompiledAddr addr,
      uint8_t inp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxFilePackUint
      Src: /src/tdengine/source/libs/index/src/indexFst.c:239,1
    - Dst: fstPackDelta
      Src: /src/tdengine/source/libs/index/src/indexFst.c:240,1
    - Dst: FST_SET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:243,1
    - Dst: FST_SET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:244,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:245,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:245,1
    - Dst: fstStateCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:247,1
    - Dst: fstStateSetCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:249,1
    - Dst: fstStateCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:252,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:254,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:254,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:256,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - w
    - addr
    - trn
    argTypes:
    - IdxFstFile*
    - CompiledAddr
    - FstTransition*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 5
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: fstStateCompileForOneTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstStateCreate
    - FST_SET_TRANSITION_PACK_SIZE
    - idxFileWrite
    - fstStateCommInput
    - TAOS_UNUSED
    - fstPackDelta
    - idxFilePackUint
    - fstStateSetCommInput
    - FST_SET_OUTPUT_PACK_SIZE
    linkageType: ''
    returnType: void
    signature: void fstStateCompileForOneTrans(IdxFstFile* w, CompiledAddr addr, FstTransition*
      trn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:260,1
    - Dst: packSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:263,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:268,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/index/src/indexFst.c:269,1
    - Dst: packDeltaSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:269,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/index/src/indexFst.c:270,1
    - Dst: packSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:270,1
    - Dst: FST_SET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:276,1
    - Dst: FST_SET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:278,1
    - Dst: FST_SET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:281,1
    - Dst: fstStateCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:283,1
    - Dst: fstStateSetFinalState
      Src: /src/tdengine/source/libs/index/src/indexFst.c:284,1
    - Dst: fstStateSetStateNtrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:285,1
    - Dst: FST_BUILDER_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:288,1
    - Dst: idxFilePackUintIn
      Src: /src/tdengine/source/libs/index/src/indexFst.c:289,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:292,1
    - Dst: idxFilePackUintIn
      Src: /src/tdengine/source/libs/index/src/indexFst.c:293,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:297,1
    - Dst: fstPackDeltaIn
      Src: /src/tdengine/source/libs/index/src/indexFst.c:298,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:301,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:302,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:302,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:306,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexFst.c:310,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:312,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:315,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:315,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:316,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:318,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:318,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:320,1
    - Dst: fstStateStateNtrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:320,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:327,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:327,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:329,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:329,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:332,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:332,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - w
    - addr
    - node
    argTypes:
    - IdxFstFile*
    - CompiledAddr
    - FstBuilderNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 334
    functionName: fstStateCompileForAnyTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstPackDeltaIn
    - FST_SET_TRANSITION_PACK_SIZE
    - packSize
    - packDeltaSize
    - memset
    - FST_BUILDER_NODE_IS_FINAL
    - TAOS_UNUSED
    - FST_SET_OUTPUT_PACK_SIZE
    - fstStateCreate
    - taosArrayGet
    - idxFilePackUintIn
    - taosArrayGetSize
    - idxFileWrite
    - fstStateSetFinalState
    - taosMemoryMalloc
    - fstStateStateNtrans
    - TMAX
    - taosMemoryFree
    - fstStateSetStateNtrans
    linkageType: ''
    returnType: void
    signature: void fstStateCompileForAnyTrans(IdxFstFile* w, CompiledAddr addr, FstBuilderNode*
      node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMMON_INDEX
      Src: /src/tdengine/source/libs/index/src/indexFst.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - inp
    argTypes:
    - FstState*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: fstStateSetCommInput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 2
    functionsReached:
    - COMMON_INDEX
    linkageType: ''
    returnType: void
    signature: void fstStateSetCommInput(FstState* s, uint8_t inp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMMON_INPUT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - 'null'
    argTypes:
    - FstState*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: fstStateCommInput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 2
    functionsReached:
    - COMMON_INPUT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t fstStateCommInput(FstState* s, bool* null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:358,1
    - Dst: fstStateCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - FstState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: fstStateInputLen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstStateCommInput
    - TAOS_UNUSED
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t fstStateInputLen(FstState* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:364,1
    - Dst: fstStateInputLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - data
    argTypes:
    - FstState*
    - FstSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: fstStateEndAddrForOneTransNext
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstStateInputLen
    - FST_SLICE_LEN
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t fstStateEndAddrForOneTransNext(FstState* s, FstSlice* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:367,1
    - Dst: fstStateInputLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:367,1
    - Dst: FST_GET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:368,1
    - Dst: FST_GET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - data
    - sizes
    argTypes:
    - FstState*
    - FstSlice*
    - PackSizes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: fstStateEndAddrForOneTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - FST_GET_TRANSITION_PACK_SIZE
    - fstStateInputLen
    - FST_GET_OUTPUT_PACK_SIZE
    - FST_SLICE_LEN
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t fstStateEndAddrForOneTrans(FstState* s, FstSlice* data, PackSizes
      sizes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:372,1
    - Dst: fstStateIsFinalState
      Src: /src/tdengine/source/libs/index/src/indexFst.c:373,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:374,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:374,1
    - Dst: fstStateTotalTransSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - state
    - version
    - date
    - sizes
    - nTrans
    argTypes:
    - FstState*
    - uint64_t
    - FstSlice*
    - PackSizes
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: fstStateEndAddrForAnyTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - FST_SLICE_LEN
    - fstStateIsFinalState
    - FST_GET_OUTPUT_PACK_SIZE
    - fstStateTotalTransSize
    - fstStateNtransLen
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t fstStateEndAddrForAnyTrans(FstState* state, uint64_t version,
      FstSlice* date, PackSizes sizes,\n                                    uint64_t
      nTrans)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstStateCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:382,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - node
    argTypes:
    - FstState*
    - FstNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: fstStateInput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    - fstStateCommInput
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t fstStateInput(FstState* s, FstNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:389,1
    - Dst: fstStateTransIndexSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:390,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - node
    - i
    argTypes:
    - FstState*
    - FstNode*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: fstStateInputForAnyTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    - fstStateTransIndexSize
    - fstStateNtransLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t fstStateInputForAnyTrans(FstState* s, FstNode* node, uint64_t
      i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:403,1
    - Dst: fstStateInputLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:404,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:408,1
    - Dst: unpackDelta
      Src: /src/tdengine/source/libs/index/src/indexFst.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - node
    argTypes:
    - FstState*
    - FstNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: fstStateTransAddr
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - FST_GET_TRANSITION_PACK_SIZE
    - fstStateInputLen
    - unpackDelta
    - fstSliceData
    linkageType: ''
    returnType: CompiledAddr
    signature: CompiledAddr fstStateTransAddr(FstState* s, FstNode* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:414,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:415,1
    - Dst: fstStateTransIndexSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:415,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:417,1
    - Dst: unpackDelta
      Src: /src/tdengine/source/libs/index/src/indexFst.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - node
    - i
    argTypes:
    - FstState*
    - FstNode*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: fstStateTransAddrForAnyTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    - fstStateTransIndexSize
    - FST_GET_TRANSITION_PACK_SIZE
    - unpackDelta
    - fstStateNtransLen
    linkageType: ''
    returnType: CompiledAddr
    signature: CompiledAddr fstStateTransAddrForAnyTrans(FstState* s, FstNode* node,
      uint64_t i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:425,1
    - Dst: fstStateInputLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:425,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:427,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:427,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - slice
    argTypes:
    - FstState*
    - FstSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 432
    functionName: fstStateSizes
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    - fstStateInputLen
    - fstStateNtransLen
    - FST_SLICE_LEN
    linkageType: ''
    returnType: PackSizes
    signature: PackSizes fstStateSizes(FstState* s, FstSlice* slice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:435,1
    - Dst: FST_GET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:440,1
    - Dst: fstStateInputLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:442,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:443,1
    - Dst: unpackUint64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - node
    argTypes:
    - FstState*
    - FstNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 445
    functionName: fstStateOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    - fstStateInputLen
    - FST_GET_OUTPUT_PACK_SIZE
    - FST_GET_TRANSITION_PACK_SIZE
    - unpackUint64
    linkageType: ''
    returnType: Output
    signature: Output fstStateOutput(FstState* s, FstNode* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:447,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:452,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:453,1
    - Dst: fstStateTotalTransSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:454,1
    - Dst: unpackUint64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - node
    - i
    argTypes:
    - FstState*
    - FstNode*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 457
    functionName: fstStateOutputForAnyTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    - FST_GET_OUTPUT_PACK_SIZE
    - fstStateTotalTransSize
    - unpackUint64
    - fstStateNtransLen
    linkageType: ''
    returnType: Output
    signature: Output fstStateOutputForAnyTrans(FstState* s, FstNode* node, uint64_t
      i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - 'yes'
    argTypes:
    - FstState*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: fstStateSetFinalState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fstStateSetFinalState(FstState* s, bool yes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - FstState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 467
    functionName: fstStateIsFinalState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fstStateIsFinalState(FstState* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - FstState*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: fstStateSetStateNtrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fstStateSetStateNtrans(FstState* s, uint8_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - 'null'
    argTypes:
    - FstState*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 484
    functionName: fstStateStateNtrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t fstStateStateNtrans(FstState* s, bool* null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstStateTransIndexSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:486,1
    - Dst: FST_GET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - version
    - sizes
    - nTrans
    argTypes:
    - FstState*
    - uint64_t
    - PackSizes
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: fstStateTotalTransSize
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 2
    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: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - s
    - version
    - nTrans
    argTypes:
    - FstState*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: fstStateTransIndexSize
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 3
    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:494,1
    - Dst: fstStateStateNtrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - FstState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: fstStateNtransLen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 5
    functionsReached:
    - fstStateStateNtrans
    - TAOS_UNUSED
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t fstStateNtransLen(FstState* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstStateStateNtrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:499,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - slice
    argTypes:
    - FstState*
    - FstSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: fstStateNtrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    - fstStateStateNtrans
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t fstStateNtrans(FstState* s, FstSlice* slice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:510,1
    - Dst: fstStateIsFinalState
      Src: /src/tdengine/source/libs/index/src/indexFst.c:511,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:515,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:515,1
    - Dst: fstStateTotalTransSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:516,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:517,1
    - Dst: unpackUint64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - s
    - version
    - slice
    - sizes
    - nTrans
    argTypes:
    - FstState*
    - uint64_t
    - FstSlice*
    - PackSizes
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 519
    functionName: fstStateFinalOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - FST_SLICE_LEN
    - fstSliceData
    - fstStateIsFinalState
    - FST_GET_OUTPUT_PACK_SIZE
    - fstStateTotalTransSize
    - unpackUint64
    - fstStateNtransLen
    linkageType: ''
    returnType: Output
    signature: Output fstStateFinalOutput(FstState* s, uint64_t version, FstSlice*
      slice, PackSizes sizes, uint64_t nTrans)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:523,1
    - Dst: fstStateTransIndexSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:524,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:526,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:533,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:536,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:538,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:542,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - s
    - node
    - b
    - 'null'
    argTypes:
    - FstState*
    - FstNode*
    - uint8_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 553
    functionName: fstStateFindInput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceDestroy
    - fstSliceData
    - fstSliceCopy
    - fstStateTransIndexSize
    - fstStateNtransLen
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t fstStateFindInput(FstState* s, FstNode* node, uint8_t b, bool*
      null)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:558,1
    - Dst: fstStateCreateFrom
      Src: /src/tdengine/source/libs/index/src/indexFst.c:563,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:566,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:576,1
    - Dst: fstStateEndAddrForOneTransNext
      Src: /src/tdengine/source/libs/index/src/indexFst.c:580,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:586,1
    - Dst: fstStateSizes
      Src: /src/tdengine/source/libs/index/src/indexFst.c:587,1
    - Dst: fstStateEndAddrForOneTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:592,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:598,1
    - Dst: fstStateSizes
      Src: /src/tdengine/source/libs/index/src/indexFst.c:599,1
    - Dst: fstStateNtrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:600,1
    - Dst: fstStateEndAddrForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:605,1
    - Dst: fstStateIsFinalState
      Src: /src/tdengine/source/libs/index/src/indexFst.c:606,1
    - Dst: fstStateFinalOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 3
    argNames:
    - version
    - addr
    - slice
    argTypes:
    - int64_t
    - CompiledAddr
    - FstSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 557
    functionDepth: 4
    functionLinenumber: 557
    functionLinenumberEnd: 613
    functionName: fstNodeCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstStateEndAddrForOneTrans
    - taosMemoryMalloc
    - fstStateFinalOutput
    - fstStateEndAddrForOneTransNext
    - fstStateCreateFrom
    - fstStateIsFinalState
    - fstStateSizes
    - fstSliceCreate
    - fstSliceCopy
    - fstStateEndAddrForAnyTrans
    - fstStateNtrans
    linkageType: ''
    returnType: FstNode
    signature: FstNode * fstNodeCreate(int64_t version, CompiledAddr addr, FstSlice*
      slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - FstNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: fstNodeState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * fstNodeState(FstNode* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:625,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - FstNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 627
    functionName: fstNodeDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void fstNodeDestroy(FstNode* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:629,1
    - Dst: FST_NODE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - FstNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 637
    functionName: fstNodeTransitions
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - FST_NODE_LEN
    linkageType: ''
    returnType: FstTransitions
    signature: FstTransitions * fstNodeTransitions(FstNode* node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstStateInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:644,1
    - Dst: fstStateTransAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:646,1
    - Dst: fstStateInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:648,1
    - Dst: fstStateOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:649,1
    - Dst: fstStateTransAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:650,1
    - Dst: fstStateInputForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:652,1
    - Dst: fstStateOutputForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:653,1
    - Dst: fstStateTransAddrForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - node
    - i
    - trn
    argTypes:
    - FstNode*
    - uint64_t
    - FstTransition*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 640
    functionDepth: 4
    functionLinenumber: 640
    functionLinenumberEnd: 659
    functionName: fstNodeGetTransitionAt
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstStateInputForAnyTrans
    - fstStateTransAddr
    - fstStateTransAddrForAnyTrans
    - fstStateOutput
    - fstStateInput
    - fstStateOutputForAnyTrans
    linkageType: ''
    returnType: bool
    signature: bool fstNodeGetTransitionAt(FstNode* node, uint64_t i, FstTransition*
      trn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:666,1
    - Dst: fstStateTransAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:666,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:668,1
    - Dst: fstStateTransAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:668,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:670,1
    - Dst: fstStateTransAddrForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:670,1
    - Dst: FST_STATE_EMPTY_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - node
    - i
    - res
    argTypes:
    - FstNode*
    - uint64_t
    - CompiledAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 676
    functionName: fstNodeGetTransitionAddrAt
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstStateTransAddrForAnyTrans
    - fstStateTransAddr
    - FST_STATE_EMPTY_FINAL
    - TAOS_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool fstNodeGetTransitionAddrAt(FstNode* node, uint64_t i, CompiledAddr*
      res)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fstStateInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:684,1
    - Dst: fstStateInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:690,1
    - Dst: fstStateFindInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - node
    - b
    - res
    argTypes:
    - FstNode*
    - uint8_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 680
    functionDepth: 3
    functionLinenumber: 680
    functionLinenumberEnd: 705
    functionName: fstNodeFindInput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstStateInput
    - fstStateFindInput
    linkageType: ''
    returnType: bool
    signature: bool fstNodeFindInput(FstNode* node, uint8_t b, uint64_t* res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:708,1
    - Dst: fstStateCompileForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:712,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:714,1
    - Dst: fstStateCompileForOneTransNext
      Src: /src/tdengine/source/libs/index/src/indexFst.c:716,1
    - Dst: fstStateCompileForOneTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:719,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - node
    - w
    - lastAddr
    - addr
    - builderNode
    argTypes:
    - FstNode*
    - void*
    - CompiledAddr
    - CompiledAddr
    - FstBuilderNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 707
    functionDepth: 6
    functionLinenumber: 707
    functionLinenumberEnd: 724
    functionName: fstNodeCompile
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - fstStateCompileForOneTrans
    - fstStateCompileForOneTransNext
    - taosArrayGetSize
    - fstStateCompileForAnyTrans
    linkageType: ''
    returnType: bool
    signature: bool fstNodeCompile(FstNode* node, void* w, CompiledAddr lastAddr,
      CompiledAddr addr, FstBuilderNode* builderNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstNodeCompile
      Src: /src/tdengine/source/libs/index/src/indexFst.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - b
    - wrt
    - lastAddr
    - startAddr
    argTypes:
    - FstBuilderNode*
    - IdxFstFile*
    - CompiledAddr
    - CompiledAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 726
    functionDepth: 7
    functionLinenumber: 726
    functionLinenumberEnd: 728
    functionName: fstBuilderNodeCompileTo
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstNodeCompile
    linkageType: ''
    returnType: bool
    signature: bool fstBuilderNodeCompileTo(FstBuilderNode* b, IdxFstFile* wrt, CompiledAddr
      lastAddr, CompiledAddr startAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:731,1
    - Dst: idxFileCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:736,1
    - Dst: fstUnFinishedNodesCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:737,1
    - Dst: fstRegistryCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:738,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:739,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:745,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:745,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:746,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:746,1
    - Dst: memset
      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: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:750,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:751,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - w
    - ty
    argTypes:
    - void*
    - FstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 754
    functionName: fstBuilderCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 4
    functionsReached:
    - fstUnFinishedNodesCreate
    - taosMemoryMalloc
    - idxFileWrite
    - idxFileCreate
    - memset
    - fstSliceCreate
    - TAOS_UNUSED
    - fstRegistryCreate
    - taosEncodeFixedU64
    linkageType: ''
    returnType: FstBuilder
    signature: FstBuilder * fstBuilderCreate(void* w, FstType ty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstBuilderFinish
      Src: /src/tdengine/source/libs/index/src/indexFst.c:759,1
    - Dst: idxFileDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:761,1
    - Dst: fstUnFinishedNodesDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:762,1
    - Dst: fstRegistryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:763,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:764,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - FstBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 766
    functionName: fstBuilderDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 4
    functionsReached:
    - fstSliceDestroy
    - fstBuilderFinish
    - fstUnFinishedNodesDestroy
    - idxFileDestroy
    - fstRegistryDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void fstBuilderDestroy(FstBuilder* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstBuilderCheckLastKey
      Src: /src/tdengine/source/libs/index/src/indexFst.c:769,1
    - Dst: fstBuilderInsertOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:772,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexFst.c:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - b
    - bs
    - in
    argTypes:
    - FstBuilder*
    - FstSlice
    - Output
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 777
    functionName: fstBuilderInsert
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 4
    functionsReached:
    - fstBuilderInsertOutput
    - indexInfo
    - fstBuilderCheckLastKey
    linkageType: ''
    returnType: bool
    signature: bool fstBuilderInsert(FstBuilder* b, FstSlice bs, Output in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceIsEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:781,1
    - Dst: fstUnFinishedNodesSetRootOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:783,1
    - Dst: fstUnFinishedNodesFindCommPrefixAndSetOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:787,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:789,1
    - Dst: fstBuilderCompileFrom
      Src: /src/tdengine/source/libs/index/src/indexFst.c:794,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:796,1
    - Dst: fstUnFinishedNodesAddSuffix
      Src: /src/tdengine/source/libs/index/src/indexFst.c:797,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - b
    - bs
    - in
    argTypes:
    - FstBuilder*
    - FstSlice
    - Output
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 800
    functionName: fstBuilderInsertOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - fstSliceDestroy
    - FST_SLICE_LEN
    - fstSliceIsEmpty
    - fstUnFinishedNodesSetRootOutput
    - fstUnFinishedNodesAddSuffix
    - fstSliceCopy
    - fstBuilderCompileFrom
    - fstUnFinishedNodesFindCommPrefixAndSetOutput
    linkageType: ''
    returnType: void
    signature: void fstBuilderInsertOutput(FstBuilder* b, FstSlice bs, Output in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceIsEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:804,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:805,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:807,1
    - Dst: fstSliceCompare
      Src: /src/tdengine/source/libs/index/src/indexFst.c:809,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:816,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - b
    - bs
    - ckDup
    argTypes:
    - FstBuilder*
    - FstSlice
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: fstBuilderCheckLastKey
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - fstSliceDeepCopy
    - fstSliceDestroy
    - fstSliceCompare
    - fstSliceIsEmpty
    linkageType: ''
    returnType: FstOrderType
    signature: FstOrderType fstBuilderCheckLastKey(FstBuilder* b, FstSlice bs, bool
      ckDup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_UNFINISHED_NODES_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:823,1
    - Dst: fstUnFinishedNodesPopEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:826,1
    - Dst: fstUnFinishedNodesPopFreeze
      Src: /src/tdengine/source/libs/index/src/indexFst.c:828,1
    - Dst: fstBuilderCompile
      Src: /src/tdengine/source/libs/index/src/indexFst.c:830,1
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:832,1
    - Dst: fstUnFinishedNodesTopLastFreeze
      Src: /src/tdengine/source/libs/index/src/indexFst.c:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - b
    - istate
    argTypes:
    - FstBuilder*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 836
    functionName: fstBuilderCompileFrom
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - fstUnFinishedNodesPopEmpty
    - fstUnFinishedNodesPopFreeze
    - fstBuilderNodeDestroy
    - FST_UNFINISHED_NODES_LEN
    - fstUnFinishedNodesTopLastFreeze
    - fstBuilderCompile
    linkageType: ''
    returnType: void
    signature: void fstBuilderCompileFrom(FstBuilder* b, uint64_t istate)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FST_BUILDER_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:839,1
    - Dst: FST_BUILDER_NODE_TRANS_ISEMPTY
      Src: /src/tdengine/source/libs/index/src/indexFst.c:839,1
    - Dst: FST_BUILDER_NODE_FINALOUTPUT_ISZERO
      Src: /src/tdengine/source/libs/index/src/indexFst.c:839,1
    - Dst: fstRegistryGetEntry
      Src: /src/tdengine/source/libs/index/src/indexFst.c:842,1
    - Dst: fstRegistryEntryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:845,1
    - Dst: FST_WRITER_COUNT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:848,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:850,1
    - Dst: fstBuilderNodeCompileTo
      Src: /src/tdengine/source/libs/index/src/indexFst.c:850,1
    - Dst: FST_WRITER_COUNT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:851,1
    - Dst: FST_REGISTRY_CELL_INSERT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:853,1
    - Dst: fstRegistryEntryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:855,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - b
    - bn
    argTypes:
    - FstBuilder*
    - FstBuilderNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 838
    functionDepth: 8
    functionLinenumber: 838
    functionLinenumberEnd: 858
    functionName: fstBuilderCompile
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - fstBuilderNodeCompileTo
    - fstRegistryGetEntry
    - fstRegistryEntryDestroy
    - FST_BUILDER_NODE_IS_FINAL
    - TAOS_UNUSED
    - FST_REGISTRY_CELL_INSERT
    - FST_BUILDER_NODE_FINALOUTPUT_ISZERO
    - FST_WRITER_COUNT
    - FST_BUILDER_NODE_TRANS_ISEMPTY
    linkageType: ''
    returnType: CompiledAddr
    signature: CompiledAddr fstBuilderCompile(FstBuilder* b, FstBuilderNode* bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstBuilderCompileFrom
      Src: /src/tdengine/source/libs/index/src/indexFst.c:861,1
    - Dst: fstUnFinishedNodesPopRoot
      Src: /src/tdengine/source/libs/index/src/indexFst.c:862,1
    - Dst: fstBuilderCompile
      Src: /src/tdengine/source/libs/index/src/indexFst.c:863,1
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:864,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:869,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:869,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:870,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:870,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:873,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:873,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:874,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:874,1
    - Dst: idxFileMaskedCheckSum
      Src: /src/tdengine/source/libs/index/src/indexFst.c:878,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:879,1
    - Dst: taosEncodeFixedU32
      Src: /src/tdengine/source/libs/index/src/indexFst.c:879,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:880,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:880,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:882,1
    - Dst: idxFileFlush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - b
    argTypes:
    - FstBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 860
    functionDepth: 9
    functionLinenumber: 860
    functionLinenumberEnd: 884
    functionName: fstBuilderInsertInner
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - idxFileFlush
    - fstUnFinishedNodesPopRoot
    - fstBuilderNodeDestroy
    - idxFileWrite
    - taosEncodeFixedU32
    - idxFileMaskedCheckSum
    - TAOS_UNUSED
    - taosEncodeFixedU64
    - fstBuilderCompileFrom
    - fstBuilderCompile
    linkageType: ''
    returnType: void
    signature: void * fstBuilderInsertInner(FstBuilder* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:885,1
    - Dst: fstBuilderInsertInner
      Src: /src/tdengine/source/libs/index/src/indexFst.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - FstBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 885
    functionDepth: 10
    functionLinenumber: 885
    functionLinenumberEnd: 885
    functionName: fstBuilderFinish
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - fstBuilderInsertInner
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void fstBuilderFinish(FstBuilder* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:889,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - FstNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 891
    functionName: fstNodeAsSlice
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - FST_SLICE_LEN
    - fstSliceCopy
    linkageType: ''
    returnType: FstSlice
    signature: FstSlice fstNodeAsSlice(FstNode* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - inp
    - out
    argTypes:
    - uint8_t
    - Output
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 902
    functionName: fstLastTransitionCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: FstLastTransition
    signature: FstLastTransition * fstLastTransitionCreate(uint8_t inp, Output out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - trn
    argTypes:
    - FstLastTransition*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 904
    functionName: fstLastTransitionDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void fstLastTransitionDestroy(FstLastTransition* trn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:912,1
    - Dst: fstLastTransitionDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - unNode
    - addr
    argTypes:
    - FstBuilderNodeUnfinished*
    - CompiledAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 918
    functionName: fstBuilderNodeUnfinishedLastCompiled
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - fstLastTransitionDestroy
    linkageType: ''
    returnType: void
    signature: void fstBuilderNodeUnfinishedLastCompiled(FstBuilderNodeUnfinished*
      unNode, CompiledAddr addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FST_BUILDER_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:921,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:924,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - unNode
    - out
    argTypes:
    - FstBuilderNodeUnfinished*
    - Output
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 933
    functionName: fstBuilderNodeUnfinishedAddOutputPrefix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - FST_BUILDER_NODE_IS_FINAL
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void fstBuilderNodeUnfinishedAddOutputPrefix(FstBuilderNodeUnfinished*
      unNode, Output out)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:937,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:945,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:945,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:952,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:952,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:957,1
    - Dst: taosDecodeFixedU32
      Src: /src/tdengine/source/libs/index/src/indexFst.c:957,1
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/index/src/indexFst.c:958,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFst.c:959,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:965,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:965,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:969,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:969,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:971,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:976,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:987,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:992,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:992,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:995,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1001,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1002,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - slice
    argTypes:
    - FstSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 1005
    functionName: fstCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 4
    functionsReached:
    - indexError
    - taosMemoryMalloc
    - FST_SLICE_LEN
    - fstSliceData
    - taosDecodeFixedU32
    - taosThreadMutexInit
    - taosCheckChecksum
    - taosDecodeFixedU64
    - TAOS_UNUSED
    - fstSliceCopy
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: Fst
    signature: Fst * fstCreate(FstSlice* slice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1008,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1009,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1010,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1011,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1011,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - fst
    argTypes:
    - Fst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1014
    functionName: fstDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 4
    functionsReached:
    - taosThreadMutexDestroy
    - fstSliceDestroy
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void fstDestroy(Fst* fst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fstGetRoot
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1018,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1022,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1024,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1028,1
    - Dst: fstNodeFindInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1034,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1039,1
    - Dst: fstNodeGetTransitionAt
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1039,1
    - Dst: fstGetNode
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1041,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1042,1
    - Dst: FST_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1046,1
    - Dst: FST_NODE_FINAL_OUTPUT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1049,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1054,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1055,1
    - Dst: fstNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1056,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1058,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - fst
    - b
    - out
    argTypes:
    - Fst*
    - FstSlice*
    - Output*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1016
    functionDepth: 5
    functionLinenumber: 1016
    functionLinenumberEnd: 1061
    functionName: fstGet
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 6
    functionsReached:
    - taosArrayPush
    - fstGetRoot
    - fstNodeGetTransitionAt
    - taosArrayGet
    - fstSliceData
    - fstGetNode
    - FST_NODE_IS_FINAL
    - fstNodeDestroy
    - FST_NODE_FINAL_OUTPUT
    - fstNodeFindInput
    - TAOS_UNUSED
    - taosArrayInit
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: bool
    signature: bool fstGet(Fst* fst, FstSlice* b, Output* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stmBuilderCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fst
    - ctx
    argTypes:
    - Fst*
    - FAutoCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1065
    functionName: fstSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 8
    functionsReached:
    - stmBuilderCreate
    linkageType: ''
    returnType: FStmBuilder
    signature: FStmBuilder * fstSearch(Fst* fst, FAutoCtx* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stmStCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sb
    argTypes:
    - FStmBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1071
    functionName: stmBuilderIntoStm
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 8
    functionsReached:
    - stmStCreate
    linkageType: ''
    returnType: FStmSt
    signature: FStmSt * stmBuilderIntoStm(FStmBuilder* sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stmBuilderCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fst
    - ctx
    argTypes:
    - Fst*
    - FAutoCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1075
    functionName: fstSearchWithState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - stmBuilderCreate
    linkageType: ''
    returnType: FStmStBuilder
    signature: FStmStBuilder * fstSearchWithState(Fst* fst, FAutoCtx* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstGetRootAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1078,1
    - Dst: fstGetNode
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fst
    argTypes:
    - Fst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: fstGetRoot
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - fstGetRootAddr
    - fstGetNode
    linkageType: ''
    returnType: FstNode
    signature: FstNode * fstGetRoot(Fst* fst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstNodeCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fst
    - addr
    argTypes:
    - Fst*
    - CompiledAddr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1082
    functionDepth: 5
    functionLinenumber: 1082
    functionLinenumberEnd: 1085
    functionName: fstGetNode
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 2
    functionsReached:
    - fstNodeCreate
    linkageType: ''
    returnType: FstNode
    signature: FstNode * fstGetNode(Fst* fst, CompiledAddr addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fst
    argTypes:
    - Fst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1086
    functionName: fstGetType
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FstType
    signature: FstType fstGetType(Fst* fst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fst
    argTypes:
    - Fst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1087
    functionName: fstGetRootAddr
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CompiledAddr
    signature: CompiledAddr fstGetRootAddr(Fst* fst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstGetRoot
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1091,1
    - Dst: FST_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1092,1
    - Dst: FST_NODE_FINAL_OUTPUT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1094,1
    - Dst: fstNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fst
    - 'null'
    argTypes:
    - Fst*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1100
    functionName: fstEmptyFinalOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstGetRoot
    - FST_NODE_FINAL_OUTPUT
    - FST_NODE_IS_FINAL
    - fstNodeDestroy
    linkageType: ''
    returnType: Output
    signature: Output fstEmptyFinalOutput(Fst* fst, bool* null)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1104,1
    - Dst: taosCheckChecksumWhole
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fst
    argTypes:
    - Fst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1110
    functionName: fstVerify
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceData
    - taosCheckChecksumWhole
    linkageType: ''
    returnType: bool
    signature: bool fstVerify(Fst* fst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1114,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1120,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - FstBound
    - FstSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1113
    functionDepth: 2
    functionLinenumber: 1113
    functionLinenumberEnd: 1127
    functionName: fstBoundStateCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - fstSliceCreate
    - fstSliceCopy
    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:1130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bound
    - slice
    argTypes:
    - FstBoundWithData*
    - FstSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1138
    functionName: fstBoundWithDataExceededBy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceCompare
    linkageType: ''
    returnType: bool
    signature: bool fstBoundWithDataExceededBy(FstBoundWithData* bound, FstSlice*
      slice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceIsEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bound
    argTypes:
    - FstBoundWithData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1145
    functionName: fstBoundWithDataIsEmpty
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - fstSliceIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool fstBoundWithDataIsEmpty(FstBoundWithData* bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bound
    argTypes:
    - FstBoundWithData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1147
    functionName: fstBoundWithDataIsIncluded
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fstBoundWithDataIsIncluded(FstBoundWithData* bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bound
    argTypes:
    - FstBoundWithData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1149
    functionName: fstBoundDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void fstBoundDestroy(FstBoundWithData* bound)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1152,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1161,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1168,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1170,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1171,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1175,1
    - Dst: stmStSeekMin
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - fst
    - automation
    - min
    - max
    argTypes:
    - Fst*
    - FAutoCtx*
    - FstBoundWithData*
    - FstBoundWithData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1178
    functionName: stmStCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - stmStSeekMin
    - taosMemoryFree
    - TAOS_UNUSED
    - taosArrayInit
    - taosArrayDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: FStmSt
    signature: FStmSt * stmStCreate(Fst* fst, FAutoCtx* automation, FstBoundWithData*
      min, FstBoundWithData* max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1184,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1185,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sws
    argTypes:
    - FStmSt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1188
    functionName: stmStDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 6
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void stmStDestroy(FStmSt* sws)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fstBoundWithDataIsEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1192,1
    - Dst: fstBoundWithDataIsIncluded
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1193,1
    - Dst: fstEmptyFinalOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1194,1
    - Dst: fstGetRoot
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1196,1
    - Dst: start
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1199,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1200,1
    - Dst: fstGetRoot
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1217,1
    - Dst: start
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1219,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1222,1
    - Dst: fstNodeFindInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1226,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1228,1
    - Dst: fstNodeGetTransitionAt
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1228,1
    - Dst: accept
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1230,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1231,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1238,1
    - Dst: fstGetNode
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1242,1
    - Dst: fstNodeTransitions
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1249,1
    - Dst: fstNodeGetTransitionAt
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1253,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1259,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1262,1
    - Dst: fstNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1267,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1269,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1271,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1274,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1274,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1279,1
    - Dst: fstNodeGetTransitionAt
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1279,1
    - Dst: fstGetNode
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1281,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1282,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - sws
    - min
    argTypes:
    - FStmSt*
    - FstBoundWithData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1190
    functionDepth: 6
    functionLinenumber: 1190
    functionLinenumberEnd: 1291
    functionName: stmStSeekMin
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - fstGetRoot
    - fstNodeGetTransitionAt
    - accept
    - taosArrayGet
    - fstBoundWithDataIsIncluded
    - fstEmptyFinalOutput
    - fstSliceData
    - fstGetNode
    - fstNodeDestroy
    - fstNodeTransitions
    - fstNodeFindInput
    - TAOS_UNUSED
    - fstBoundWithDataIsEmpty
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayPop
    - start
    linkageType: ''
    returnType: bool
    signature: bool stmStSeekMin(FStmSt* sws, FstBoundWithData* min)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1296,1
    - Dst: fstBoundWithDataExceededBy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1297,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1298,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1299,1
    - Dst: start
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1302,1
    - Dst: isMatch
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1303,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1304,1
    - Dst: swsResultCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1305,1
    - Dst: callback
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1305,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1308,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1309,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1310,1
    - Dst: FST_NODE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1311,1
    - Dst: canMatch
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1311,1
    - Dst: FST_NODE_ADDR
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1312,1
    - Dst: fstGetRootAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1312,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1313,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1313,1
    - Dst: fstStreamStateDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1315,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1319,1
    - Dst: fstNodeGetTransitionAt
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1319,1
    - Dst: accept
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1322,1
    - Dst: callback
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1323,1
    - Dst: isMatch
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1324,1
    - Dst: fstGetNode
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1326,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1327,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1328,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1331,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1332,1
    - Dst: FST_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1336,1
    - Dst: acceptEof
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1337,1
    - Dst: isMatch
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1339,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1343,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1344,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1349,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1350,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1354,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1355,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1360,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1362,1
    - Dst: fstBoundWithDataExceededBy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1363,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1364,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1365,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1366,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1367,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1368,1
    - Dst: FST_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1371,1
    - Dst: FST_NODE_FINAL_OUTPUT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1372,1
    - Dst: swsResultCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1373,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1374,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1375,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1376,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1380,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1381,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1383,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 2
    argNames:
    - sws
    - callback
    argTypes:
    - FStmSt*
    - streamCallback__fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1292
    functionDepth: 6
    functionLinenumber: 1292
    functionLinenumberEnd: 1385
    functionName: stmStNextWith
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 8
    functionsReached:
    - callback
    - taosArrayPush
    - fstNodeGetTransitionAt
    - FST_NODE_LEN
    - taosMemoryFreeClear
    - fstGetNode
    - FST_NODE_IS_FINAL
    - FST_NODE_FINAL_OUTPUT
    - TAOS_UNUSED
    - taosArrayDestroy
    - taosArrayGet
    - fstGetRootAddr
    - fstSliceCreate
    - taosArrayGetSize
    - swsResultCreate
    - start
    - fstSliceDestroy
    - FST_NODE_ADDR
    - taosArrayPop
    - isMatch
    - canMatch
    - accept
    - taosArrayDestroyEx
    - fstBoundWithDataExceededBy
    - taosMemoryMalloc
    - fstStreamStateDestroy
    - taosArrayInit
    - acceptEof
    linkageType: ''
    returnType: FStmStRslt
    signature: FStmStRslt * stmStNextWith(FStmSt* sws, streamCallback__fn callback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1388,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1393,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - data
    - out
    - state
    argTypes:
    - FstSlice*
    - FstOutput
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1387
    functionDepth: 2
    functionLinenumber: 1387
    functionLinenumberEnd: 1397
    functionName: swsResultCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - FST_SLICE_LEN
    - taosMemoryCalloc
    - fstSliceCopy
    linkageType: ''
    returnType: FStmStRslt
    signature: FStmStRslt * swsResultCreate(FstSlice* data, FstOutput out, void* state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1403,1
    - Dst: startWithStateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1404,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - result
    argTypes:
    - FStmStRslt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1398
    functionDepth: 2
    functionLinenumber: 1398
    functionLinenumberEnd: 1406
    functionName: swsResultDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 7
    functionsReached:
    - fstSliceDestroy
    - taosMemoryFree
    - startWithStateValueDestroy
    linkageType: ''
    returnType: void
    signature: void swsResultDestroy(FStmStRslt* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1408
    functionDepth: 3
    functionLinenumber: 1408
    functionLinenumberEnd: 1414
    functionName: fstStreamStateDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 1
    functionsReached:
    - fstNodeDestroy
    linkageType: ''
    returnType: void
    signature: void fstStreamStateDestroy(void* s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1417,1
    - Dst: fstBoundStateCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1424,1
    - Dst: fstBoundStateCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1425,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fst
    - aut
    argTypes:
    - Fst*
    - FAutoCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1416
    functionDepth: 3
    functionLinenumber: 1416
    functionLinenumberEnd: 1433
    functionName: stmBuilderCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 2
    functionsReached:
    - fstBoundStateCreate
    - taosMemoryCalloc
    - stmBuilderDestroy
    linkageType: ''
    returnType: FStmBuilder
    signature: FStmBuilder * stmBuilderCreate(Fst* fst, FAutoCtx* aut)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1435,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1436,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:1439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - b
    argTypes:
    - FStmBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1434
    functionDepth: 2
    functionLinenumber: 1434
    functionLinenumberEnd: 1441
    functionName: stmBuilderDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 7
    functionsReached:
    - fstSliceDestroy
    - taosMemoryFreeClear
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void stmBuilderDestroy(FStmBuilder* b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1448,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1449,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1449,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1452,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1453,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1453,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1456,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1457,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1457,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1460,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1461,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - b
    - val
    - type
    argTypes:
    - FStmBuilder*
    - FstSlice*
    - RangeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1442
    functionDepth: 2
    functionLinenumber: 1442
    functionLinenumberEnd: 1463
    functionName: stmBuilderSetRange
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: 2
    functionsReached:
    - fstSliceDeepCopy
    - fstSliceDestroy
    - FST_SLICE_LEN
    linkageType: ''
    returnType: void
    signature: void stmBuilderSetRange(FStmBuilder* b, FstSlice* val, RangeType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexOpen
      Src: /src/tdengine/source/libs/index/src/indexJson.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opts
    - path
    - index
    argTypes:
    - SIndexJsonOpts*
    - char*
    - SIndexJson**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: indexJsonOpen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexJson.c
    functionUses: 2
    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:23,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexJson.c:24,1
    - Dst: IDX_TYPE_ADD_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexJson.c:33,1
    - Dst: indexPut
      Src: /src/tdengine/source/libs/index/src/indexJson.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - index
    - terms
    - uid
    argTypes:
    - SIndexJson*
    - SIndexJsonMultiTerm*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: indexJsonPut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexJson.c
    functionUses: 7
    functionsReached:
    - IDX_TYPE_ADD_EXTERN_TYPE
    - taosArrayGetP
    - indexPut
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t indexJsonPut(SIndexJson *index, SIndexJsonMultiTerm *terms,
      uint64_t uid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexJson.c:41,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexJson.c:42,1
    - Dst: IDX_TYPE_ADD_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexJson.c:51,1
    - Dst: indexSearch
      Src: /src/tdengine/source/libs/index/src/indexJson.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - index
    - tq
    - result
    argTypes:
    - SIndexJson*
    - SIndexJsonMultiTermQuery*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: indexJsonSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexJson.c
    functionUses: 6
    functionsReached:
    - IDX_TYPE_ADD_EXTERN_TYPE
    - taosArrayGetP
    - taosArrayGetSize
    - indexSearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t indexJsonSearch(SIndexJson *index, SIndexJsonMultiTermQuery
      *tq, SArray *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexClose
      Src: /src/tdengine/source/libs/index/src/indexJson.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - SIndexJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: indexJsonClose
    functionSourceFile: /src/tdengine/source/libs/index/src/indexJson.c
    functionUses: 2
    functionsReached:
    - indexClose
    linkageType: ''
    returnType: void
    signature: void indexJsonClose(SIndexJson *index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBC_EncryptImpl
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:25,1
    - Dst: Builtin_CBC_EncryptImpl
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: CBC_Encrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached:
    - CBC_EncryptImpl
    - Builtin_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:32,1
    - Dst: Builtin_CBC_DecryptImpl
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: CBC_Decrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached:
    - CBC_DecryptImpl
    - Builtin_CBC_DecryptImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t CBC_Decrypt(SCryptOpts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Builtin_CBC_EncryptImpl
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: Builtin_CBC_Encrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached:
    - Builtin_CBC_EncryptImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t Builtin_CBC_Encrypt(SCryptOpts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Builtin_CBC_DecryptImpl
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Builtin_CBC_Decrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached:
    - Builtin_CBC_DecryptImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t Builtin_CBC_Decrypt(SCryptOpts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: CBC_EncryptImpl
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t CBC_EncryptImpl(SCryptOpts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: CBC_DecryptImpl
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 2
    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:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: Builtin_CBC_EncryptImpl
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t Builtin_CBC_EncryptImpl(SCryptOpts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: Builtin_CBC_DecryptImpl
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t Builtin_CBC_DecryptImpl(SCryptOpts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - data_length
    - modulus
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: pkcs7_padding_pad_buffer
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pkcs7_padding_pad_buffer(uint8_t *buffer, size_t data_length,
      uint8_t modulus)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - buffer
    - buffer_size
    - modulus
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: pkcs7_padding_data_length
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pkcs7_padding_data_length(uint8_t *buffer, size_t buffer_size,
      uint8_t modulus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: tsm4_encrypt_len
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t tsm4_encrypt_len(int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkcs7_padding_pad_buffer
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:109,1
    - Dst: pkcs7_padding_pad_buffer
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:110,1
    - Dst: tsm4_encrypt_len
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:112,1
    - Dst: memset
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:117,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:118,1
    - Dst: Builtin_CBC_Encrypt
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - key
    - keylen
    - pBuf
    - len
    argTypes:
    - uint8_t*
    - int32_t
    - uint8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: taosSm4Encrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached:
    - memcpy
    - tsm4_encrypt_len
    - memset
    - Builtin_CBC_Encrypt
    - pkcs7_padding_pad_buffer
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSm4Encrypt(uint8_t *key, int32_t keylen, uint8_t *pBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkcs7_padding_pad_buffer
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:129,1
    - Dst: memset
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:136,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:137,1
    - Dst: Builtin_CBC_Decrypt
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:139,1
    - Dst: pkcs7_padding_data_length
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - key
    - keylen
    - pBuf
    - len
    argTypes:
    - uint8_t*
    - int32_t
    - uint8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 143
    functionName: taosSm4Decrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached:
    - memcpy
    - pkcs7_padding_data_length
    - memset
    - pkcs7_padding_pad_buffer
    - Builtin_CBC_Decrypt
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSm4Decrypt(uint8_t *key, int32_t keylen, uint8_t *pBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: taes_encrypt_len
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t taes_encrypt_len(int32_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taes_encrypt_len
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:152,1
    - Dst: pkcs7_padding_pad_buffer
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:156,1
    - Dst: pkcs7_padding_pad_buffer
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:157,1
    - Dst: AES_init_ctx_iv
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:160,1
    - Dst: AES_CBC_encrypt_buffer
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:162,1
    - Dst: AES_init_ctx
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:164,1
    - Dst: AES_ECB_encrypt
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - key
    - keylen
    - pBuf
    - len
    - iv
    argTypes:
    - uint8_t*
    - int32_t
    - uint8_t*
    - int32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: taosAesEncrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached:
    - AES_init_ctx
    - AES_ECB_encrypt
    - AES_init_ctx_iv
    - AES_CBC_encrypt_buffer
    - pkcs7_padding_pad_buffer
    - taes_encrypt_len
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAesEncrypt(uint8_t *key, int32_t keylen, uint8_t *pBuf,
      int32_t len, const uint8_t *iv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pkcs7_padding_pad_buffer
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:179,1
    - Dst: AES_init_ctx_iv
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:182,1
    - Dst: AES_CBC_decrypt_buffer
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:184,1
    - Dst: AES_init_ctx
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:186,1
    - Dst: AES_ECB_decrypt
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:189,1
    - Dst: pkcs7_padding_data_length
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - key
    - keylen
    - pBuf
    - len
    - iv
    argTypes:
    - uint8_t*
    - int32_t
    - uint8_t*
    - int32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 196
    functionName: taosAesDecrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: 0
    functionsReached:
    - AES_CBC_decrypt_buffer
    - AES_init_ctx
    - pkcs7_padding_data_length
    - AES_init_ctx_iv
    - pkcs7_padding_pad_buffer
    - AES_ECB_decrypt
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAesDecrypt(uint8_t *key, int32_t keylen, uint8_t *pBuf,
      int32_t len, const uint8_t *iv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:48,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:49,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:50,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:51,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:53,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:58,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:63,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:68,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:69,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:70,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:71,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:72,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 80
    functionName: azInitEnv
    functionSourceFile: /src/tdengine/source/libs/azure/test/azTest.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCAT
    - tstrncpy
    - TAOS_STRCPY
    - getenv
    linkageType: ''
    returnType: int32_t
    signature: int32_t azInitEnv()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: azInitEnv
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:88,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:94,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:95,1
    - Dst: azBegin
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:97,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:98,1
    - Dst: azCheckCfg
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:100,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:101,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:111,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:112,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:114,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:115,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:116,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:117,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:119,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:122,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:122,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:123,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:123,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:123,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:125,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:126,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:128,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:129,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:131,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:132,1
    - Dst: azPutObjectFromFileOffset
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:134,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:135,1
    - Dst: azGetObjectBlock
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:138,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:139,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:142,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:143,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:146,1
    - Dst: azGetObjectToFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:148,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:149,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:152,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:153,1
    - Dst: memset
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:155,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:157,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:158,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:160,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:161,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:164,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:165,1
    - Dst: azDeleteObjectsByPrefix
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:169,1
    - Dst: azPutObjectFromFile2
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:172,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:173,1
    - Dst: azGetObjectsByPrefix
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:175,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:176,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:179,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:180,1
    - Dst: memset
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:182,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:184,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:185,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:187,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:188,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:191,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:192,1
    - Dst: azDeleteObjects
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:197,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:198,1
    - Dst: azEnd
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 201
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/azure/test/azTest.cpp
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - snprintf
    - memset
    - azGetObjectToFile
    - azGetObjectsByPrefix
    - taosWriteFile
    - azCheckCfg
    - azDeleteObjectsByPrefix
    - azInitEnv
    - GTEST_ASSERT_NE
    - tstrncpy
    - azEnd
    - azPutObjectFromFileOffset
    - taosReadFile
    - azBegin
    - GTEST_ASSERT_EQ
    - azGetObjectBlock
    - strncmp
    - taosMemoryFree
    - azPutObjectFromFile2
    - azDeleteObjects
    - taosOpenFile
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(AzTest, InterfaceTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: azInitEnv
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:209,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:215,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:216,1
    - Dst: azBegin
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:218,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:219,1
    - Dst: azCheckCfg
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:221,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:222,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:224,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:238,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:239,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:241,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:242,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:243,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:244,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:246,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:249,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:249,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:250,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:250,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:250,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:252,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:253,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:255,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:256,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:258,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:259,1
    - Dst: azPutObjectFromFileOffset
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:261,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:262,1
    - Dst: azGetObjectBlock
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:265,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:266,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:269,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:270,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:273,1
    - Dst: azGetObjectToFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:275,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:276,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:279,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:280,1
    - Dst: memset
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:282,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:284,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:285,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:287,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:288,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:291,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:292,1
    - Dst: azDeleteObjectsByPrefix
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:296,1
    - Dst: azPutObjectFromFile2
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:299,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:300,1
    - Dst: azGetObjectsByPrefix
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:302,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:303,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:306,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:307,1
    - Dst: memset
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:309,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:311,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:312,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:314,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:315,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:318,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:319,1
    - Dst: azDeleteObjects
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:324,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:325,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:327,1
    - Dst: azEnd
      Src: /src/tdengine/source/libs/azure/test/azTest.cpp:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 330
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/azure/test/azTest.cpp
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - snprintf
    - memset
    - azGetObjectToFile
    - azGetObjectsByPrefix
    - taosWriteFile
    - azCheckCfg
    - taosMemoryCalloc
    - azDeleteObjectsByPrefix
    - azInitEnv
    - GTEST_ASSERT_NE
    - tstrncpy
    - azEnd
    - azPutObjectFromFileOffset
    - taosReadFile
    - azBegin
    - GTEST_ASSERT_EQ
    - azGetObjectBlock
    - strncmp
    - taosMemoryFree
    - azPutObjectFromFile2
    - azDeleteObjects
    - taosOpenFile
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(AzTest, InterfaceTestBig)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:54,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:55,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:56,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:57,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:59,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:64,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:69,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:74,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:75,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:76,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:77,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:78,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 86
    functionName: azInitEnv
    functionSourceFile: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp
    functionUses: 2
    functionsReached:
    - TAOS_STRCAT
    - tstrncpy
    - TAOS_STRCPY
    - getenv
    linkageType: ''
    returnType: int32_t
    signature: int32_t azInitEnv()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: azInitEnv
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:94,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:100,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:101,1
    - Dst: azBegin
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:103,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:104,1
    - Dst: azCheckCfg
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:106,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:107,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:117,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:118,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:120,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:121,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:122,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:123,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:125,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:128,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:128,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:129,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:129,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:129,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:131,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:132,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:134,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:135,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:137,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:138,1
    - Dst: azPutObjectFromFileOffset
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:140,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:141,1
    - Dst: azGetObjectBlock
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:144,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:145,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:148,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:149,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:152,1
    - Dst: azGetObjectToFile
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:154,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:155,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:158,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:159,1
    - Dst: memset
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:161,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:163,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:164,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:166,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:167,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:170,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:171,1
    - Dst: azDeleteObjectsByPrefix
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:175,1
    - Dst: azPutObjectFromFile2
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:178,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:179,1
    - Dst: azGetObjectsByPrefix
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:181,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:182,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:185,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:186,1
    - Dst: memset
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:188,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:190,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:191,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:193,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:194,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:197,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:198,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CreateFromConnectionString
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:203,1
    - Dst: std::getenv
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:203,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:203,1
    - Dst: azDeleteObjects
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:206,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:207,1
    - Dst: azEnd
      Src: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 210
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/azure/test/azExceptionTest.cpp
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - snprintf
    - memset
    - std::getenv
    - azGetObjectToFile
    - Azure::Storage::Blobs::TDBlockBlobClient::CreateFromConnectionString
    - azGetObjectsByPrefix
    - std::string
    - taosWriteFile
    - azCheckCfg
    - azDeleteObjectsByPrefix
    - azInitEnv
    - GTEST_ASSERT_NE
    - tstrncpy
    - azEnd
    - azPutObjectFromFileOffset
    - taosReadFile
    - azBegin
    - GTEST_ASSERT_EQ
    - azGetObjectBlock
    - strncmp
    - taosMemoryFree
    - azPutObjectFromFile2
    - azDeleteObjects
    - taosOpenFile
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(AzETest, InterfaceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: azFatal
    functionSourceFile: /src/tdengine/source/libs/azure/inc/azInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: azFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: azError
    functionSourceFile: /src/tdengine/source/libs/azure/inc/azInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: azError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: azWarn
    functionSourceFile: /src/tdengine/source/libs/azure/inc/azInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: azWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: azInfo
    functionSourceFile: /src/tdengine/source/libs/azure/inc/azInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: azInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: azDebug
    functionSourceFile: /src/tdengine/source/libs/azure/inc/azInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: azDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: azTrace
    functionSourceFile: /src/tdengine/source/libs/azure/inc/azInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: azTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 1
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 2
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 3
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 4
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 5
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 6
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 7
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 8
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 9
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 10
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 11
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 12
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 13
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 14
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 15
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(Core::IO::BodyStream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const AvroStreamReader&)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroStreamReader
    signature: AvroStreamReader & operator=(const AvroStreamReader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvailableBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: '&              Name() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &              Name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: AvroDatumType Type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: '& FieldNames() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & FieldNames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ItemSchema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '&  FieldSchemas() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<AvroSchema>
    signature: std::vector<AvroSchema> &  FieldSchemas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - AvroDatumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroSchema(AvroDatumType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AvroDatum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AvroDatum(AvroSchema schema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& Schema() const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema & Schema() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroRecord::FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::HasField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroRecord::FindField
    - size
    linkageType: ''
    returnType: bool
    signature: bool HasField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: '& Field(const std::string& key) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & Field(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: '&       Field(const std::string& key)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       Field(const std::string& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: '& FieldAt(size_t i) const'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum & FieldAt(size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: '&       FieldAt(size_t i)'
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum &       FieldAt(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:135,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Azure::Storage::Blobs::_detail::AvroRecord::FindField
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 16
    functionsReached:
    - begin
    - end
    - find
    linkageType: ''
    returnType: size_t
    signature: size_t FindField(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool End() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    - get
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum Next(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:169,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:171,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - inner
    - progressCallback
    - errorCallback
    argTypes:
    - std::unique_ptr<Azure::Core::IO::BodyStream>
    - std::function<void(int64_t, int64_t)>
    - std::function<void(BlobQueryError)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::AvroStreamParser
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AvroStreamParser(std::unique_ptr<Azure::Core::IO::BodyStream>
      inner,\n                            std::function<void(int64_t, int64_t)>        progressCallback,\n
      \                           std::function<void(BlobQueryError)>          errorCallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Length() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamParser::m_inner::Rewind
    linkageType: ''
    returnType: void
    signature: void Rewind() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 2
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 1
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 2
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 2
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 2
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 1
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 2
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 2
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 3
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 4
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 4
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 4
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 4
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 2
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 5
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 4
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 5
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 5
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 4
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 5
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 6
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 6
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 7
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 6
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 3
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 6
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 9
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 10
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 10
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 11
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 12
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 12
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 12
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 12
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 3
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 4
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 11
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 11
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 11
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 12
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 13
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 14
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 14
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 15
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 4
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 10
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 5
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 14
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 10
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 14
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 10
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 14
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 17
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 18
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 18
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 19
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 5
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 12
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 6
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 17
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 12
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 17
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 12
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 17
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 21
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 22
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 22
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 23
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 24
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 24
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 24
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 24
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 6
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 14
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 7
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 14
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 14
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 24
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 25
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 26
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 26
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 27
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 28
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 28
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 28
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 28
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 7
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 23
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 23
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 23
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 28
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 29
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 30
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 30
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 31
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 8
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 18
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 9
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 26
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 18
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 26
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 18
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 26
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 33
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 34
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 34
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 35
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 36
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 36
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 36
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 36
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 9
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 10
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 29
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 29
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 20
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 29
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 36
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 37
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 38
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 38
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 39
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 40
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 40
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 40
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 40
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 10
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 22
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 11
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 22
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 22
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 40
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 41
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 42
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 42
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 43
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 44
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 44
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 44
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 44
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 11
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 24
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 12
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 35
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 24
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 35
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 24
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 35
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 44
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 45
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 46
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 46
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 47
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 48
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 48
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 48
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 48
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 12
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 26
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 13
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 38
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 26
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 38
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 26
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 38
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 48
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 49
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 50
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 50
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 51
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 52
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 52
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 52
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 52
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 13
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 28
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 14
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 41
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 28
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 41
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 28
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 41
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 52
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 53
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 54
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 54
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 55
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 56
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 56
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 56
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 56
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 14
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 30
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 15
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 44
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 30
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 44
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 30
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 44
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 56
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 57
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 58
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 58
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 59
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 60
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 60
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 60
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 60
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 15
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:21,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: Azure::Storage::Blobs::_detail::parseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t parseInt(AvroStreamReader::ReaderPos& data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:41,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:42,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:43,1
    - Dst: is_array
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:44,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:47,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:49,1
    - Dst: is_object
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:50,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:51,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:52,1
    - Dst: count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:55,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:57,1
    - Dst: std::map::find
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:58,1
    - Dst: std::map::end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:59,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:65,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:66,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:69,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:70,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:71,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:74,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:76,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:78,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:80,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:81,1
    - Dst: std::map::insert
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:82,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:85,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:88,1
    - Dst: group_parse
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: begin
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: end
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:91,1
    - Dst: parseSchemaFromJsonObject
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:92,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - ' jsonSchema'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 93
    functionName: Azure::Storage::Blobs::_detail::ParseSchemaFromJsonString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - group_parse
    - std::map::end
    - parseSchemaFromJsonObject
    - get
    - std::make_pair
    - std::map::insert
    - AZURE_UNREACHABLE_CODE
    - std::map::find
    - count
    - std::vector::push_back
    - begin
    - std::move
    - Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    - is_array
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - end
    - Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    - is_object
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - is_string
    - std::runtime_error
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema ParseSchemaFromJsonString(const std::string& jsonSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:100,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::ParseInt
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    - static_cast<int64_t>
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroStreamReader::ParseInt(const Core::Context& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Advance
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Advance(size_t n, const Core::Context& context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:119,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:121,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:126,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Preload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    - AZURE_UNREACHABLE_CODE
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - std::runtime_error
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::Preload(size_t n, const Core::Context& context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:134,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:140,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:141,1
    - Dst: Read
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: data
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:142,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:143,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - n
    - ' context'
    argTypes:
    - size_t
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::TryPreload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - data
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - Read
    - resize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamReader::TryPreload(size_t n, const Core::Context&
      context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:152,1
    - Dst: std::memmove
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:153,1
    - Dst: resize
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: Azure::Storage::Blobs::_detail::AvroStreamReader::Discard
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - Azure::Storage::Blobs::_detail::AvroStreamReader::AvailableBytes
    - resize
    linkageType: ''
    returnType: void
    signature: void AvroStreamReader::Discard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:170,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:171,1
    - Dst: AvroSchema::m_status::m_keys::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:173,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ' fieldsSchema'
    argTypes:
    - std::string
    - std::vector<std::pair<std::string, AvroSchema>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 47
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - AvroSchema::m_status::m_keys::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: "AvroSchema AvroSchema::RecordSchema(std::string                                            name,\n
      \                                   const std::vector<std::pair<std::string,
      AvroSchema>>& fieldsSchema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:181,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::ArraySchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::ArraySchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:188,1
    - Dst: AvroSchema::m_status::m_schemas::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - elementSchema
    argTypes:
    - AvroSchema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 47
    functionsReached:
    - AvroSchema::m_status::m_schemas::push_back
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::MapSchema(AvroSchema elementSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:195,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - schemas
    argTypes:
    - std::vector<AvroSchema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::UnionSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 32
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::UnionSchema(std::vector<AvroSchema> schemas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:202,1
    - Dst: std::make_shared<SharedStatus>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 47
    functionsReached:
    - std::move
    - std::make_shared<SharedStatus>
    linkageType: ''
    returnType: AvroSchema
    signature: AvroSchema AvroSchema::FixedSchema(std::string name, int64_t size)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:210,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:211,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:212,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:213,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:214,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:215,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:216,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:217,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:218,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:219,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:220,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:221,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:222,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:223,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:224,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:225,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:226,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:228,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:230,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:234,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:235,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:238,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:242,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:244,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:248,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:249,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:252,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:253,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:257,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:258,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:259,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:260,1
    - Dst: Advance
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:261,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - ' reader'
    - ' context'
    argTypes:
    - AvroStreamReader
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 265
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - ParseInt
    - AZURE_UNREACHABLE_CODE
    - Advance
    - Size
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader& reader, const Core::Context&
      context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:269,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:270,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:271,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:272,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:273,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:274,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:275,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:277,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:279,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:281,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:283,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:284,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:285,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:287,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:289,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:293,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:294,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:297,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:301,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:303,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:308,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:311,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:312,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:316,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:317,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:318,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:319,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:320,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:322,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - AvroStreamReader::ReaderPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 324
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Fill
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - ItemSchema
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void AvroDatum::Fill(AvroStreamReader::ReaderPos& data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:329,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:330,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:332,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:333,1
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:336,1
    - Dst: Size
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:337,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 60
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - Size
    - parseInt
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum::StringView
    signature: AvroDatum::StringView AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:348,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 61
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 62
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 62
    functionsReached:
    - parseInt
    linkageType: ''
    returnType: int64_t
    signature: int64_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 63
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    - static_cast<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 64
    functionsReached:
    - Azure::Storage::Blobs::_detail::AvroDatum::Value
    linkageType: ''
    returnType: bool
    signature: bool AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: std::nullptr_t
    signature: std::nullptr_t AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldNames
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:384,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:385,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:386,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:387,1
    - Dst: AvroRecord::m_values::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 64
    functionsReached:
    - std::move
    - AvroRecord::m_values::push_back
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - FieldNames
    - FieldSchemas
    linkageType: ''
    returnType: AvroRecord
    signature: AvroRecord AvroDatum::Value() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:400,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:406,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:409,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:410,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: ItemSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:411,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:412,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 64
    functionsReached:
    - ItemSchema
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - auto::Fill
    - auto::Value
    linkageType: ''
    returnType: AvroMap
    signature: AvroMap AvroDatum::Value() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Type
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:422,1
    - Dst: parseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:423,1
    - Dst: Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: FieldSchemas
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:424,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:425,1
    - Dst: AZURE_UNREACHABLE_CODE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: Azure::Storage::Blobs::_detail::AvroDatum::Value
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 64
    functionsReached:
    - Type
    - AZURE_UNREACHABLE_CODE
    - parseInt
    - Azure::Storage::Blobs::_detail::AvroDatum::AvroDatum
    - FieldSchemas
    - auto::Fill
    - static_cast<size_t>
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroDatum::Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<AvroStreamReader>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - Core::IO::BodyStream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<AvroStreamReader>
    linkageType: ''
    returnType: void
    signature: void AvroObjectContainerReader::AvroObjectContainerReader(Core::IO::BodyStream&
      stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZURE_ASSERT_FALSE
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:435,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:436,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:440,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:441,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:442,1
    - Dst: Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:443,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:445,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:446,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:447,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:448,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:449,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:451,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:452,1
    - Dst: AvroMap::count
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:454,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:458,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:460,1
    - Dst: std::make_unique<AvroSchema>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: ParseSchemaFromJsonString
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:461,1
    - Dst: get
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:462,1
    - Dst: Discard
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:466,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:467,1
    - Dst: ParseInt
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:468,1
    - Dst: Preload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:469,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:472,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:473,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:475,1
    - Dst: auto::Fill
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:476,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:477,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:479,1
    - Dst: TryPreload
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - schema
    - ' context'
    argTypes:
    - AvroSchema*
    - Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: Azure::Storage::Blobs::_detail::AvroObjectContainerReader::NextImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - ParseSchemaFromJsonString
    - Azure::Storage::Blobs::_detail::AvroSchema::MapSchema
    - TryPreload
    - get
    - auto::Value
    - std::make_pair
    - Discard
    - auto::Fill
    - std::make_unique<AvroSchema>
    - std::vector::push_back
    - Preload
    - std::move
    - ParseInt
    - AvroMap::count
    - Azure::Storage::Blobs::_detail::AvroSchema::RecordSchema
    - Azure::Storage::Blobs::_detail::AvroSchema::FixedSchema
    - Value
    - AZURE_ASSERT_FALSE
    - auto::Field
    - AvroDatum
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: AvroDatum
    signature: AvroDatum AvroObjectContainerReader::NextImpl(const AvroSchema* schema,
      const Core::Context& context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:489,1
    - Dst: End
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:494,1
    - Dst: Next
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:495,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:496,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:497,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:499,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:502,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:503,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:504,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:505,1
    - Dst: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:506,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:508,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:509,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:510,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:511,1
    - Dst: m_progressCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:512,1
    - Dst: auto::Schema
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:514,1
    - Dst: auto::Value
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:515,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:517,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:518,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:519,1
    - Dst: auto::Field
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:520,1
    - Dst: m_errorCallback
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buffer
    - count
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 525
    functionName: Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_avro_parser.cpp
    functionUses: 16
    functionsReached:
    - std::move
    - std::memcpy
    - auto::Schema
    - m_progressCallback
    - End
    - auto::Field
    - auto::Value
    - Azure::Storage::Blobs::_detail::AvroStreamParser::OnRead
    - m_errorCallback
    - Next
    linkageType: ''
    returnType: size_t
    signature: size_t AvroStreamParser::OnRead(uint8_t* buffer, size_t count, Azure::Core::Context
      const& context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: azBegin
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t azBegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: azEnd
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void azEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/azure/src/az.cpp:48,1
    - Dst: vfprintf
      Src: /src/tdengine/source/libs/azure/src/az.cpp:49,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/azure/src/az.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: checkPrint
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void checkPrint(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - epIndex
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: azDumpCfgByEp
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 0
    functionsReached:
    - checkPrint
    linkageType: ''
    returnType: void
    signature: void azDumpCfgByEp(int8_t epIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<StorageSharedKeyCredential>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:80,1
    - Dst: BlobServiceClient::GetBlobContainerClient
      Src: /src/tdengine/source/libs/azure/src/az.cpp:85,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:90,1
    - Dst: auto::ListBlobs
      Src: /src/tdengine/source/libs/azure/src/az.cpp:91,1
    - Dst: auto::HasPage
      Src: /src/tdengine/source/libs/azure/src/az.cpp:91,1
    - Dst: auto::MoveToNextPage
      Src: /src/tdengine/source/libs/azure/src/az.cpp:91,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:93,1
    - Dst: Name::c_str
      Src: /src/tdengine/source/libs/azure/src/az.cpp:93,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:97,1
    - Dst: static_cast<int>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:97,1
    - Dst: ReasonPhrase::c_str
      Src: /src/tdengine/source/libs/azure/src/az.cpp:98,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/azure/src/az.cpp:100,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:101,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - bucketname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 105
    functionName: azListBucket
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 0
    functionsReached:
    - checkPrint
    - auto::MoveToNextPage
    - TAOS_SYSTEM_ERROR
    - ReasonPhrase::c_str
    - Name::c_str
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - static_cast<int>
    - auto::ListBlobs
    - auto::HasPage
    - TAOS_RETURN
    - std::make_shared<StorageSharedKeyCredential>
    linkageType: ''
    returnType: int32_t
    signature: int32_t azListBucket(char const *bucketname)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: azDumpCfgByEp
      Src: /src/tdengine/source/libs/azure/src/az.cpp:110,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/src/az.cpp:116,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/src/az.cpp:117,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/src/az.cpp:119,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/azure/src/az.cpp:120,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/src/az.cpp:121,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/src/az.cpp:122,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/src/az.cpp:124,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/azure/src/az.cpp:132,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:134,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/azure/src/az.cpp:135,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/azure/src/az.cpp:137,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/src/az.cpp:137,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:138,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/azure/src/az.cpp:139,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/azure/src/az.cpp:141,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:142,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/azure/src/az.cpp:143,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/azure/src/az.cpp:145,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:147,1
    - Dst: azPutObjectFromFileOffset
      Src: /src/tdengine/source/libs/azure/src/az.cpp:148,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:150,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/azure/src/az.cpp:151,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:153,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:156,1
    - Dst: azListBucket
      Src: /src/tdengine/source/libs/azure/src/az.cpp:157,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:159,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/azure/src/az.cpp:160,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:162,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:165,1
    - Dst: azGetObjectBlock
      Src: /src/tdengine/source/libs/azure/src/az.cpp:166,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:168,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/azure/src/az.cpp:169,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/azure/src/az.cpp:172,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/azure/src/az.cpp:173,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:174,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:175,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:178,1
    - Dst: azDeleteObjectsByPrefix
      Src: /src/tdengine/source/libs/azure/src/az.cpp:180,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:187,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/azure/src/az.cpp:191,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:195,1
    - Dst: checkPrint
      Src: /src/tdengine/source/libs/azure/src/az.cpp:198,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 201
    functionName: azCheckCfg
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 3
    functionsReached:
    - azDeleteObjectsByPrefix
    - checkPrint
    - taosCloseFile
    - memcpy
    - TAOS_CHECK_GOTO
    - azDumpCfgByEp
    - azPutObjectFromFileOffset
    - taosWriteFile
    - azGetObjectBlock
    - strncmp
    - snprintf
    - taosMemoryFree
    - TAOS_RETURN
    - taosOpenFile
    - taosFsyncFile
    - strlen
    - azListBucket
    linkageType: ''
    returnType: int32_t
    signature: int32_t azCheckCfg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<StorageSharedKeyCredential>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:211,1
    - Dst: BlobServiceClient::GetBlobContainerClient
      Src: /src/tdengine/source/libs/azure/src/az.cpp:219,1
    - Dst: auto::GetBlobClient
      Src: /src/tdengine/source/libs/azure/src/az.cpp:225,1
    - Dst: TDBlockBlobClient::UploadFrom
      Src: /src/tdengine/source/libs/azure/src/az.cpp:227,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:229,1
    - Dst: static_cast<int>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:229,1
    - Dst: ReasonPhrase::c_str
      Src: /src/tdengine/source/libs/azure/src/az.cpp:229,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/azure/src/az.cpp:231,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:232,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/azure/src/az.cpp:232,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:234,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - file
    - object_name
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 238
    functionName: azPutObjectFromFileOffsetImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - ReasonPhrase::c_str
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - static_cast<int>
    - TAOS_RETURN
    - std::make_shared<StorageSharedKeyCredential>
    - tstrerror
    - auto::GetBlobClient
    - TDBlockBlobClient::UploadFrom
    linkageType: ''
    returnType: int32_t
    signature: int32_t azPutObjectFromFileOffsetImpl(const char *file, const char
      *object_name, int64_t offset, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: azPutObjectFromFileOffsetImpl
      Src: /src/tdengine/source/libs/azure/src/az.cpp:244,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:246,1
    - Dst: what
      Src: /src/tdengine/source/libs/azure/src/az.cpp:246,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/azure/src/az.cpp:248,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:249,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/azure/src/az.cpp:249,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:251,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - file
    - object_name
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: azPutObjectFromFileOffset
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 4
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - what
    - azError
    - TAOS_RETURN
    - tstrerror
    - azPutObjectFromFileOffsetImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t azPutObjectFromFileOffset(const char *file, const char *object_name,
      int64_t offset, int64_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<StorageSharedKeyCredential>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:266,1
    - Dst: BlobServiceClient::GetBlobContainerClient
      Src: /src/tdengine/source/libs/azure/src/az.cpp:272,1
    - Dst: auto::GetBlobClient
      Src: /src/tdengine/source/libs/azure/src/az.cpp:274,1
    - Dst: Azure::Core::Http::HttpRange
      Src: /src/tdengine/source/libs/azure/src/az.cpp:277,1
    - Dst: Blobs::DownloadBlobToOptions::Range::Value
      Src: /src/tdengine/source/libs/azure/src/az.cpp:278,1
    - Dst: Blobs::DownloadBlobToOptions::Range::Value
      Src: /src/tdengine/source/libs/azure/src/az.cpp:279,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/azure/src/az.cpp:281,1
    - Dst: TDBlockBlobClient::DownloadTo
      Src: /src/tdengine/source/libs/azure/src/az.cpp:286,1
    - Dst: auto::Value::ContentRange::Length::Value
      Src: /src/tdengine/source/libs/azure/src/az.cpp:287,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/azure/src/az.cpp:288,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:289,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/azure/src/az.cpp:289,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:290,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:295,1
    - Dst: static_cast<int>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:295,1
    - Dst: ReasonPhrase::c_str
      Src: /src/tdengine/source/libs/azure/src/az.cpp:296,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/azure/src/az.cpp:297,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:298,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/azure/src/az.cpp:298,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/azure/src/az.cpp:301,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:305,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 309
    functionName: azGetObjectBlockImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - ReasonPhrase::c_str
    - TDBlockBlobClient::DownloadTo
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - static_cast<int>
    - Blobs::DownloadBlobToOptions::Range::Value
    - auto::Value::ContentRange::Length::Value
    - Azure::Core::Http::HttpRange
    - taosMemoryFree
    - TAOS_RETURN
    - std::make_shared<StorageSharedKeyCredential>
    - tstrerror
    - auto::GetBlobClient
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t azGetObjectBlockImpl(const char *object_name, int64_t offset,
      int64_t size, bool check,\n                                    uint8_t **ppBlock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: azGetObjectBlockImpl
      Src: /src/tdengine/source/libs/azure/src/az.cpp:322,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/azure/src/az.cpp:324,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/azure/src/az.cpp:324,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/azure/src/az.cpp:325,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/azure/src/az.cpp:325,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: azGetObjectBlockRetry
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 0
    functionsReached:
    - uInfo
    - taosRand
    - azGetObjectBlockImpl
    - TAOS_RETURN
    - tstrerror
    - taosMsleep
    linkageType: ''
    returnType: int32_t
    signature: "int32_t azGetObjectBlockRetry(const char *object_name, int64_t offset,
      int64_t size, bool check,\n                                     uint8_t **ppBlock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: azGetObjectBlockRetry
      Src: /src/tdengine/source/libs/azure/src/az.cpp:336,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:338,1
    - Dst: what
      Src: /src/tdengine/source/libs/azure/src/az.cpp:338,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/azure/src/az.cpp:340,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:341,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/azure/src/az.cpp:341,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:343,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: azGetObjectBlock
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 4
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - what
    - azError
    - TAOS_RETURN
    - tstrerror
    - azGetObjectBlockRetry
    linkageType: ''
    returnType: int32_t
    signature: int32_t azGetObjectBlock(const char *object_name, int64_t offset, int64_t
      size, bool check, uint8_t **ppBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<StorageSharedKeyCredential>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:357,1
    - Dst: BlobServiceClient::GetBlobContainerClient
      Src: /src/tdengine/source/libs/azure/src/az.cpp:362,1
    - Dst: auto::ListBlobs
      Src: /src/tdengine/source/libs/azure/src/az.cpp:368,1
    - Dst: auto::HasPage
      Src: /src/tdengine/source/libs/azure/src/az.cpp:368,1
    - Dst: auto::MoveToNextPage
      Src: /src/tdengine/source/libs/azure/src/az.cpp:368,1
    - Dst: std::set::insert
      Src: /src/tdengine/source/libs/azure/src/az.cpp:370,1
    - Dst: auto::GetAppendBlobClient
      Src: /src/tdengine/source/libs/azure/src/az.cpp:375,1
    - Dst: auto::Delete
      Src: /src/tdengine/source/libs/azure/src/az.cpp:376,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:379,1
    - Dst: static_cast<int>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:379,1
    - Dst: ReasonPhrase::c_str
      Src: /src/tdengine/source/libs/azure/src/az.cpp:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 382
    functionName: azDeleteObjectsByPrefixImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 0
    functionsReached:
    - auto::MoveToNextPage
    - ReasonPhrase::c_str
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - static_cast<int>
    - auto::ListBlobs
    - auto::HasPage
    - auto::GetAppendBlobClient
    - auto::Delete
    - std::make_shared<StorageSharedKeyCredential>
    - std::set::insert
    linkageType: ''
    returnType: void
    signature: void azDeleteObjectsByPrefixImpl(const char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: azDeleteObjectsByPrefixImpl
      Src: /src/tdengine/source/libs/azure/src/az.cpp:388,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:390,1
    - Dst: what
      Src: /src/tdengine/source/libs/azure/src/az.cpp:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: azDeleteObjectsByPrefix
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 4
    functionsReached:
    - azError
    - azDeleteObjectsByPrefixImpl
    - what
    linkageType: ''
    returnType: void
    signature: void azDeleteObjectsByPrefix(const char *prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/azure/src/az.cpp:398,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:399,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:400,1
    - Dst: azPutObjectFromFileOffset
      Src: /src/tdengine/source/libs/azure/src/az.cpp:403,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:405,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/azure/src/az.cpp:406,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:411,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/azure/src/az.cpp:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - file
    - object
    - withcp
    argTypes:
    - char*
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 415
    functionName: azPutObjectFromFile2
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 3
    functionsReached:
    - taosStatFile
    - azPutObjectFromFileOffset
    - TAOS_CHECK_GOTO
    - azError
    - TAOS_RETURN
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t azPutObjectFromFile2(const char *file, const char *object,
      int8_t withcp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<StorageSharedKeyCredential>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:425,1
    - Dst: BlobServiceClient::GetBlobContainerClient
      Src: /src/tdengine/source/libs/azure/src/az.cpp:430,1
    - Dst: auto::GetBlobClient
      Src: /src/tdengine/source/libs/azure/src/az.cpp:432,1
    - Dst: TDBlockBlobClient::DownloadTo
      Src: /src/tdengine/source/libs/azure/src/az.cpp:434,1
    - Dst: auto::Value::ContentRange::Length::Value
      Src: /src/tdengine/source/libs/azure/src/az.cpp:435,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/azure/src/az.cpp:436,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:437,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/azure/src/az.cpp:437,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:438,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:441,1
    - Dst: static_cast<int>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:441,1
    - Dst: ReasonPhrase::c_str
      Src: /src/tdengine/source/libs/azure/src/az.cpp:442,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/azure/src/az.cpp:443,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:444,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/azure/src/az.cpp:444,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:445,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - object_name
    - fileName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 449
    functionName: azGetObjectToFileImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - ReasonPhrase::c_str
    - TDBlockBlobClient::DownloadTo
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - static_cast<int>
    - auto::Value::ContentRange::Length::Value
    - TAOS_RETURN
    - std::make_shared<StorageSharedKeyCredential>
    - tstrerror
    - auto::GetBlobClient
    linkageType: ''
    returnType: int32_t
    signature: int32_t azGetObjectToFileImpl(const char *object_name, const char *fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: azGetObjectToFileImpl
      Src: /src/tdengine/source/libs/azure/src/az.cpp:455,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:457,1
    - Dst: what
      Src: /src/tdengine/source/libs/azure/src/az.cpp:457,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/azure/src/az.cpp:459,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:460,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/azure/src/az.cpp:460,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:462,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - object_name
    - fileName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 466
    functionName: azGetObjectToFile
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 3
    functionsReached:
    - azGetObjectToFileImpl
    - TAOS_SYSTEM_ERROR
    - what
    - azError
    - TAOS_RETURN
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t azGetObjectToFile(const char *object_name, const char *fileName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<StorageSharedKeyCredential>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:476,1
    - Dst: BlobServiceClient::GetBlobContainerClient
      Src: /src/tdengine/source/libs/azure/src/az.cpp:481,1
    - Dst: auto::ListBlobs
      Src: /src/tdengine/source/libs/azure/src/az.cpp:487,1
    - Dst: auto::HasPage
      Src: /src/tdengine/source/libs/azure/src/az.cpp:487,1
    - Dst: auto::MoveToNextPage
      Src: /src/tdengine/source/libs/azure/src/az.cpp:487,1
    - Dst: std::set::insert
      Src: /src/tdengine/source/libs/azure/src/az.cpp:489,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/azure/src/az.cpp:494,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/azure/src/az.cpp:494,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/azure/src/az.cpp:495,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/azure/src/az.cpp:497,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/src/az.cpp:498,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/azure/src/az.cpp:500,1
    - Dst: azGetObjectToFile
      Src: /src/tdengine/source/libs/azure/src/az.cpp:502,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/azure/src/az.cpp:502,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:503,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:507,1
    - Dst: static_cast<int>
      Src: /src/tdengine/source/libs/azure/src/az.cpp:507,1
    - Dst: ReasonPhrase::c_str
      Src: /src/tdengine/source/libs/azure/src/az.cpp:508,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:509,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - prefix
    - path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 513
    functionName: azGetObjectsByPrefixImpl
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 0
    functionsReached:
    - auto::MoveToNextPage
    - ReasonPhrase::c_str
    - azError
    - BlobServiceClient::GetBlobContainerClient
    - static_cast<int>
    - c_str
    - auto::ListBlobs
    - auto::HasPage
    - snprintf
    - strchr
    - TAOS_RETURN
    - std::make_shared<StorageSharedKeyCredential>
    - std::set::insert
    - strlen
    - azGetObjectToFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t azGetObjectsByPrefixImpl(const char *prefix, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: azGetObjectsByPrefixImpl
      Src: /src/tdengine/source/libs/azure/src/az.cpp:519,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:521,1
    - Dst: what
      Src: /src/tdengine/source/libs/azure/src/az.cpp:521,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/azure/src/az.cpp:523,1
    - Dst: azError
      Src: /src/tdengine/source/libs/azure/src/az.cpp:524,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/azure/src/az.cpp:524,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:526,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/azure/src/az.cpp:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - prefix
    - path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 515
    functionDepth: 4
    functionLinenumber: 515
    functionLinenumberEnd: 530
    functionName: azGetObjectsByPrefix
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 3
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - what
    - azError
    - TAOS_RETURN
    - tstrerror
    - azGetObjectsByPrefixImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t azGetObjectsByPrefix(const char *prefix, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: azDeleteObjectsByPrefix
      Src: /src/tdengine/source/libs/azure/src/az.cpp:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - object_name
    - nobject
    argTypes:
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 532
    functionDepth: 3
    functionLinenumber: 532
    functionLinenumberEnd: 538
    functionName: azDeleteObjects
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 3
    functionsReached:
    - azDeleteObjectsByPrefix
    linkageType: ''
    returnType: int32_t
    signature: int32_t azDeleteObjects(const char *object_name[], int nobject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 542
    functionName: azCheckCfg
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t azCheckCfg()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - object_name
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: azPutObjectFromFileOffset
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t azPutObjectFromFileOffset(const char *file, const char *object_name,
      int64_t offset, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 550
    functionName: azGetObjectBlock
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t azGetObjectBlock(const char *object_name, int64_t offset, int64_t
      size, bool check, uint8_t **ppBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 552
    functionName: azDeleteObjectsByPrefix
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void azDeleteObjectsByPrefix(const char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - object
    - withcp
    argTypes:
    - char*
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 554
    functionName: azPutObjectFromFile2
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t azPutObjectFromFile2(const char *file, const char *object,
      int8_t withcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: azGetObjectsByPrefix
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t azGetObjectsByPrefix(const char *prefix, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object_name
    - fileName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 558
    functionName: azGetObjectToFile
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t azGetObjectToFile(const char *object_name, const char *fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object_name
    - nobject
    argTypes:
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: azDeleteObjects
    functionSourceFile: /src/tdengine/source/libs/azure/src/az.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t azDeleteObjects(const char *object_name[], int nobject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - '       connectionString'
    - '       blobContainerName'
    - '       blobName'
    - ' options'
    argTypes:
    - std::string
    - std::string
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CreateFromConnectionString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: "TDBlockBlobClient TDBlockBlobClient::CreateFromConnectionString(const
      std::string&       connectionString,\n                                                                const
      std::string&       blobContainerName,\n                                                                const
      std::string&       blobName,\n                                                                const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blobClient
    argTypes:
    - BlobClient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(BlobClient blobClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' blobUrl'
    - credential
    - ' options'
    argTypes:
    - std::string
    - std::shared_ptr<StorageSharedKeyCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      std::shared_ptr<StorageSharedKeyCredential> credential,\n                                     const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - '                                  blobUrl'
    - credential
    - '                            options'
    argTypes:
    - std::string
    - std::shared_ptr<Core::Credentials::TokenCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string&                                  blobUrl,\n
      \                                    std::shared_ptr<Core::Credentials::TokenCredential>
      credential,\n                                     const BlobClientOptions&                            options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' blobUrl'
    - ' options'
    argTypes:
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      const BlobClientOptions& options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:57,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:58,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:60,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' snapshot'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithSnapshot
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithSnapshot(const std::string&
      snapshot) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:68,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:69,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:71,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' versionId'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithVersionId
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithVersionId(const std::string&
      versionId) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:85,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:86,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:88,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:97,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:101,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:102,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:109,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:115,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:121,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:129,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:131,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:141,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:144,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:145,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:146,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:148,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:149,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - buffer
    - bufferSize
    - ' options'
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 152
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - static_cast<uint64_t>
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const uint8_t* buffer, size_t bufferSize, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Core::IO::FileBodyStream::Length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:164,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:172,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:187,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:196,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:197,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:199,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:204,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:210,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:220,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - ' fileName'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 231
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - _internal::FileReader::GetFileSize
    - Azure::Core::IO::FileBodyStream::Length
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, const UploadBlockBlobFromOptions& options,
      const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:237,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:238,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:239,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:240,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:241,1
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:251,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:259,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:260,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:261,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:265,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:266,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:267,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - '  content'
    - ' options'
    - '   context'
    argTypes:
    - Azure::Core::IO::BodyStream
    - UploadBlockBlobOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 272
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::Upload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 3
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobResult>
    signature: "Azure::Response<Models::UploadBlockBlobResult> TDBlockBlobClient::Upload(Azure::Core::IO::BodyStream&
      \ content,\n                                                                         const
      UploadBlockBlobOptions& options,\n                                                                         const
      Azure::Core::Context&   context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:280,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:290,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:297,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:303,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:317,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:318,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:325,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:328,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:330,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:340,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - ' fileName'
    - offset
    - size
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - int64_t
    - int64_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 351
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, int64_t offset, int64_t size, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:366,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:379,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:380,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:381,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:382,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:383,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:386,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:387,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:388,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:393,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 398
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 1
    functionsReached:
    - SourceAuthorization::empty
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromUriResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromUriResult> TDBlockBlobClient::UploadFromUri(\n
      \   const std::string& sourceUri, const UploadBlockBlobFromUriOptions& options,\n
      \   const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:406,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:407,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:408,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:409,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:410,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:414,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:415,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:416,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - '           blockId'
    - ' content'
    - '     options'
    - '  context'
    argTypes:
    - std::string
    - Azure::Core::IO::BodyStream
    - StageBlockOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 4
    functionsReached:
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - ToString
    - TransactionalContentHash::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockResult>
    signature: "Azure::Response<Models::StageBlockResult> TDBlockBlobClient::StageBlock(const
      std::string&           blockId,\n                                                                        Azure::Core::IO::BodyStream&
      content,\n                                                                        const
      StageBlockOptions&     options,\n                                                                        const
      Azure::Core::Context&  context) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SourceRange::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:429,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:436,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:437,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:438,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:439,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:440,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:448,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:449,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:450,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:454,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ' blockId'
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - std::string
    - StageBlockFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 1
    functionsReached:
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - Value
    - TransactionalContentHash::HasValue
    - SourceRange::Value
    - HasValue
    - ToString
    - std::to_string
    - TransactionalContentHash::Value
    - SourceRange::HasValue
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockFromUriResult>
    signature: "Azure::Response<Models::StageBlockFromUriResult> TDBlockBlobClient::StageBlockFromUri(\n
      \   const std::string& blockId, const std::string& sourceUri, const StageBlockFromUriOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:473,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:481,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:482,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:483,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:487,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:488,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:489,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - ' blockIds'
    - ' options'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - CommitBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 494
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 4
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::CommitBlockListResult>
    signature: "Azure::Response<Models::CommitBlockListResult> TDBlockBlobClient::CommitBlockList(\n
      \   const std::vector<std::string>& blockIds, const CommitBlockListOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:502,1
    - Dst: _internal::WithReplicaStatus
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - '  options'
    - ' context'
    argTypes:
    - GetBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 1
    functionsReached:
    - Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    - _internal::WithReplicaStatus
    linkageType: ''
    returnType: Azure::Response<Models::GetBlockListResult>
    signature: "Azure::Response<Models::GetBlockListResult> TDBlockBlobClient::GetBlockList(const
      GetBlockListOptions&  options,\n                                                                            const
      Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - '       connectionString'
    - '       blobContainerName'
    - '       blobName'
    - ' options'
    argTypes:
    - std::string
    - std::string
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CreateFromConnectionString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: "TDBlockBlobClient TDBlockBlobClient::CreateFromConnectionString(const
      std::string&       connectionString,\n                                                                const
      std::string&       blobContainerName,\n                                                                const
      std::string&       blobName,\n                                                                const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blobClient
    argTypes:
    - BlobClient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(BlobClient blobClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' blobUrl'
    - credential
    - ' options'
    argTypes:
    - std::string
    - std::shared_ptr<StorageSharedKeyCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      std::shared_ptr<StorageSharedKeyCredential> credential,\n                                     const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - '                                  blobUrl'
    - credential
    - '                            options'
    argTypes:
    - std::string
    - std::shared_ptr<Core::Credentials::TokenCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string&                                  blobUrl,\n
      \                                    std::shared_ptr<Core::Credentials::TokenCredential>
      credential,\n                                     const BlobClientOptions&                            options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' blobUrl'
    - ' options'
    argTypes:
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      const BlobClientOptions& options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:57,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:58,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:60,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' snapshot'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithSnapshot
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithSnapshot(const std::string&
      snapshot) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:68,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:69,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:71,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' versionId'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithVersionId
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithVersionId(const std::string&
      versionId) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:85,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:86,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:88,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:97,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:101,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:102,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:109,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:115,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:121,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:129,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:131,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:141,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:144,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:145,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:146,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:148,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:149,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - buffer
    - bufferSize
    - ' options'
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 152
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - static_cast<uint64_t>
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const uint8_t* buffer, size_t bufferSize, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Core::IO::FileBodyStream::Length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:164,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:172,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:187,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:196,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:197,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:199,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:204,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:210,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:220,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - ' fileName'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 231
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - _internal::FileReader::GetFileSize
    - Azure::Core::IO::FileBodyStream::Length
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, const UploadBlockBlobFromOptions& options,
      const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:237,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:238,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:239,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:240,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:241,1
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:251,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:259,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:260,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:261,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:265,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:266,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:267,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - '  content'
    - ' options'
    - '   context'
    argTypes:
    - Azure::Core::IO::BodyStream
    - UploadBlockBlobOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 272
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::Upload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 7
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobResult>
    signature: "Azure::Response<Models::UploadBlockBlobResult> TDBlockBlobClient::Upload(Azure::Core::IO::BodyStream&
      \ content,\n                                                                         const
      UploadBlockBlobOptions& options,\n                                                                         const
      Azure::Core::Context&   context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:280,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:290,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:297,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:303,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:317,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:318,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:325,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:328,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:330,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:340,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - ' fileName'
    - offset
    - size
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - int64_t
    - int64_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 351
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, int64_t offset, int64_t size, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:366,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:379,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:380,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:381,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:382,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:383,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:386,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:387,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:388,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:393,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 398
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 2
    functionsReached:
    - SourceAuthorization::empty
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromUriResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromUriResult> TDBlockBlobClient::UploadFromUri(\n
      \   const std::string& sourceUri, const UploadBlockBlobFromUriOptions& options,\n
      \   const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:406,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:407,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:408,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:409,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:410,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:414,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:415,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:416,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - '           blockId'
    - ' content'
    - '     options'
    - '  context'
    argTypes:
    - std::string
    - Azure::Core::IO::BodyStream
    - StageBlockOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 8
    functionsReached:
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - ToString
    - TransactionalContentHash::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockResult>
    signature: "Azure::Response<Models::StageBlockResult> TDBlockBlobClient::StageBlock(const
      std::string&           blockId,\n                                                                        Azure::Core::IO::BodyStream&
      content,\n                                                                        const
      StageBlockOptions&     options,\n                                                                        const
      Azure::Core::Context&  context) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SourceRange::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:429,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:436,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:437,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:438,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:439,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:440,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:448,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:449,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:450,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:454,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ' blockId'
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - std::string
    - StageBlockFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 2
    functionsReached:
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - Value
    - TransactionalContentHash::HasValue
    - SourceRange::Value
    - HasValue
    - ToString
    - std::to_string
    - TransactionalContentHash::Value
    - SourceRange::HasValue
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockFromUriResult>
    signature: "Azure::Response<Models::StageBlockFromUriResult> TDBlockBlobClient::StageBlockFromUri(\n
      \   const std::string& blockId, const std::string& sourceUri, const StageBlockFromUriOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:473,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:481,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:482,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:483,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:487,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:488,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:489,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - ' blockIds'
    - ' options'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - CommitBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 494
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 8
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::CommitBlockListResult>
    signature: "Azure::Response<Models::CommitBlockListResult> TDBlockBlobClient::CommitBlockList(\n
      \   const std::vector<std::string>& blockIds, const CommitBlockListOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:502,1
    - Dst: _internal::WithReplicaStatus
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - '  options'
    - ' context'
    argTypes:
    - GetBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 2
    functionsReached:
    - Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    - _internal::WithReplicaStatus
    linkageType: ''
    returnType: Azure::Response<Models::GetBlockListResult>
    signature: "Azure::Response<Models::GetBlockListResult> TDBlockBlobClient::GetBlockList(const
      GetBlockListOptions&  options,\n                                                                            const
      Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - '       connectionString'
    - '       blobContainerName'
    - '       blobName'
    - ' options'
    argTypes:
    - std::string
    - std::string
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CreateFromConnectionString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: "TDBlockBlobClient TDBlockBlobClient::CreateFromConnectionString(const
      std::string&       connectionString,\n                                                                const
      std::string&       blobContainerName,\n                                                                const
      std::string&       blobName,\n                                                                const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blobClient
    argTypes:
    - BlobClient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(BlobClient blobClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' blobUrl'
    - credential
    - ' options'
    argTypes:
    - std::string
    - std::shared_ptr<StorageSharedKeyCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      std::shared_ptr<StorageSharedKeyCredential> credential,\n                                     const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - '                                  blobUrl'
    - credential
    - '                            options'
    argTypes:
    - std::string
    - std::shared_ptr<Core::Credentials::TokenCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string&                                  blobUrl,\n
      \                                    std::shared_ptr<Core::Credentials::TokenCredential>
      credential,\n                                     const BlobClientOptions&                            options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' blobUrl'
    - ' options'
    argTypes:
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      const BlobClientOptions& options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:57,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:58,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:60,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' snapshot'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithSnapshot
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithSnapshot(const std::string&
      snapshot) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:68,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:69,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:71,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' versionId'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithVersionId
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithVersionId(const std::string&
      versionId) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:85,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:86,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:88,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:97,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:101,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:102,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:109,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:115,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:121,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:129,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:131,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:141,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:144,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:145,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:146,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:148,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:149,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - buffer
    - bufferSize
    - ' options'
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 152
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - static_cast<uint64_t>
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const uint8_t* buffer, size_t bufferSize, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Core::IO::FileBodyStream::Length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:164,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:172,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:187,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:196,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:197,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:199,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:204,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:210,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:220,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - ' fileName'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 231
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - _internal::FileReader::GetFileSize
    - Azure::Core::IO::FileBodyStream::Length
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, const UploadBlockBlobFromOptions& options,
      const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:237,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:238,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:239,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:240,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:241,1
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:251,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:259,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:260,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:261,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:265,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:266,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:267,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - '  content'
    - ' options'
    - '   context'
    argTypes:
    - Azure::Core::IO::BodyStream
    - UploadBlockBlobOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 272
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::Upload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 11
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobResult>
    signature: "Azure::Response<Models::UploadBlockBlobResult> TDBlockBlobClient::Upload(Azure::Core::IO::BodyStream&
      \ content,\n                                                                         const
      UploadBlockBlobOptions& options,\n                                                                         const
      Azure::Core::Context&   context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:280,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:290,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:297,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:303,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:317,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:318,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:325,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:328,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:330,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:340,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - ' fileName'
    - offset
    - size
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - int64_t
    - int64_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 351
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, int64_t offset, int64_t size, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:366,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:379,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:380,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:381,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:382,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:383,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:386,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:387,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:388,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:393,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 398
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 3
    functionsReached:
    - SourceAuthorization::empty
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromUriResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromUriResult> TDBlockBlobClient::UploadFromUri(\n
      \   const std::string& sourceUri, const UploadBlockBlobFromUriOptions& options,\n
      \   const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:406,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:407,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:408,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:409,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:410,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:414,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:415,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:416,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - '           blockId'
    - ' content'
    - '     options'
    - '  context'
    argTypes:
    - std::string
    - Azure::Core::IO::BodyStream
    - StageBlockOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 12
    functionsReached:
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - ToString
    - TransactionalContentHash::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockResult>
    signature: "Azure::Response<Models::StageBlockResult> TDBlockBlobClient::StageBlock(const
      std::string&           blockId,\n                                                                        Azure::Core::IO::BodyStream&
      content,\n                                                                        const
      StageBlockOptions&     options,\n                                                                        const
      Azure::Core::Context&  context) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SourceRange::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:429,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:436,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:437,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:438,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:439,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:440,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:448,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:449,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:450,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:454,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ' blockId'
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - std::string
    - StageBlockFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 3
    functionsReached:
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - Value
    - TransactionalContentHash::HasValue
    - SourceRange::Value
    - HasValue
    - ToString
    - std::to_string
    - TransactionalContentHash::Value
    - SourceRange::HasValue
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockFromUriResult>
    signature: "Azure::Response<Models::StageBlockFromUriResult> TDBlockBlobClient::StageBlockFromUri(\n
      \   const std::string& blockId, const std::string& sourceUri, const StageBlockFromUriOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:473,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:481,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:482,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:483,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:487,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:488,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:489,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - ' blockIds'
    - ' options'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - CommitBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 494
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 12
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::CommitBlockListResult>
    signature: "Azure::Response<Models::CommitBlockListResult> TDBlockBlobClient::CommitBlockList(\n
      \   const std::vector<std::string>& blockIds, const CommitBlockListOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:502,1
    - Dst: _internal::WithReplicaStatus
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - '  options'
    - ' context'
    argTypes:
    - GetBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 3
    functionsReached:
    - Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    - _internal::WithReplicaStatus
    linkageType: ''
    returnType: Azure::Response<Models::GetBlockListResult>
    signature: "Azure::Response<Models::GetBlockListResult> TDBlockBlobClient::GetBlockList(const
      GetBlockListOptions&  options,\n                                                                            const
      Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - '       connectionString'
    - '       blobContainerName'
    - '       blobName'
    - ' options'
    argTypes:
    - std::string
    - std::string
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CreateFromConnectionString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: "TDBlockBlobClient TDBlockBlobClient::CreateFromConnectionString(const
      std::string&       connectionString,\n                                                                const
      std::string&       blobContainerName,\n                                                                const
      std::string&       blobName,\n                                                                const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blobClient
    argTypes:
    - BlobClient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(BlobClient blobClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' blobUrl'
    - credential
    - ' options'
    argTypes:
    - std::string
    - std::shared_ptr<StorageSharedKeyCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      std::shared_ptr<StorageSharedKeyCredential> credential,\n                                     const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - '                                  blobUrl'
    - credential
    - '                            options'
    argTypes:
    - std::string
    - std::shared_ptr<Core::Credentials::TokenCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string&                                  blobUrl,\n
      \                                    std::shared_ptr<Core::Credentials::TokenCredential>
      credential,\n                                     const BlobClientOptions&                            options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' blobUrl'
    - ' options'
    argTypes:
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      const BlobClientOptions& options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:57,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:58,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:60,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' snapshot'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithSnapshot
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithSnapshot(const std::string&
      snapshot) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:68,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:69,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:71,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' versionId'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithVersionId
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithVersionId(const std::string&
      versionId) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:85,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:86,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:88,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:97,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:101,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:102,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:109,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:115,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:121,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:129,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:131,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:141,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:144,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:145,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:146,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:148,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:149,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - buffer
    - bufferSize
    - ' options'
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 152
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - static_cast<uint64_t>
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const uint8_t* buffer, size_t bufferSize, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Core::IO::FileBodyStream::Length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:164,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:172,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:187,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:196,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:197,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:199,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:204,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:210,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:220,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - ' fileName'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 231
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - _internal::FileReader::GetFileSize
    - Azure::Core::IO::FileBodyStream::Length
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, const UploadBlockBlobFromOptions& options,
      const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:237,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:238,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:239,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:240,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:241,1
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:251,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:259,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:260,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:261,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:265,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:266,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:267,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - '  content'
    - ' options'
    - '   context'
    argTypes:
    - Azure::Core::IO::BodyStream
    - UploadBlockBlobOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 272
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::Upload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 15
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobResult>
    signature: "Azure::Response<Models::UploadBlockBlobResult> TDBlockBlobClient::Upload(Azure::Core::IO::BodyStream&
      \ content,\n                                                                         const
      UploadBlockBlobOptions& options,\n                                                                         const
      Azure::Core::Context&   context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:280,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:290,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:297,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:303,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:317,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:318,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:325,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:328,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:330,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:340,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - ' fileName'
    - offset
    - size
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - int64_t
    - int64_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 351
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, int64_t offset, int64_t size, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:366,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:379,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:380,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:381,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:382,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:383,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:386,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:387,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:388,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:393,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 398
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 4
    functionsReached:
    - SourceAuthorization::empty
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromUriResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromUriResult> TDBlockBlobClient::UploadFromUri(\n
      \   const std::string& sourceUri, const UploadBlockBlobFromUriOptions& options,\n
      \   const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:406,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:407,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:408,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:409,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:410,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:414,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:415,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:416,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - '           blockId'
    - ' content'
    - '     options'
    - '  context'
    argTypes:
    - std::string
    - Azure::Core::IO::BodyStream
    - StageBlockOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 16
    functionsReached:
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - ToString
    - TransactionalContentHash::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockResult>
    signature: "Azure::Response<Models::StageBlockResult> TDBlockBlobClient::StageBlock(const
      std::string&           blockId,\n                                                                        Azure::Core::IO::BodyStream&
      content,\n                                                                        const
      StageBlockOptions&     options,\n                                                                        const
      Azure::Core::Context&  context) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SourceRange::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:429,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:436,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:437,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:438,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:439,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:440,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:448,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:449,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:450,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:454,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ' blockId'
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - std::string
    - StageBlockFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 4
    functionsReached:
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - Value
    - TransactionalContentHash::HasValue
    - SourceRange::Value
    - HasValue
    - ToString
    - std::to_string
    - TransactionalContentHash::Value
    - SourceRange::HasValue
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockFromUriResult>
    signature: "Azure::Response<Models::StageBlockFromUriResult> TDBlockBlobClient::StageBlockFromUri(\n
      \   const std::string& blockId, const std::string& sourceUri, const StageBlockFromUriOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:473,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:481,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:482,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:483,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:487,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:488,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:489,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - ' blockIds'
    - ' options'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - CommitBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 494
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 16
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::CommitBlockListResult>
    signature: "Azure::Response<Models::CommitBlockListResult> TDBlockBlobClient::CommitBlockList(\n
      \   const std::vector<std::string>& blockIds, const CommitBlockListOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:502,1
    - Dst: _internal::WithReplicaStatus
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - '  options'
    - ' context'
    argTypes:
    - GetBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 4
    functionsReached:
    - Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    - _internal::WithReplicaStatus
    linkageType: ''
    returnType: Azure::Response<Models::GetBlockListResult>
    signature: "Azure::Response<Models::GetBlockListResult> TDBlockBlobClient::GetBlockList(const
      GetBlockListOptions&  options,\n                                                                            const
      Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - '       connectionString'
    - '       blobContainerName'
    - '       blobName'
    - ' options'
    argTypes:
    - std::string
    - std::string
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CreateFromConnectionString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: "TDBlockBlobClient TDBlockBlobClient::CreateFromConnectionString(const
      std::string&       connectionString,\n                                                                const
      std::string&       blobContainerName,\n                                                                const
      std::string&       blobName,\n                                                                const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blobClient
    argTypes:
    - BlobClient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(BlobClient blobClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' blobUrl'
    - credential
    - ' options'
    argTypes:
    - std::string
    - std::shared_ptr<StorageSharedKeyCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      std::shared_ptr<StorageSharedKeyCredential> credential,\n                                     const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - '                                  blobUrl'
    - credential
    - '                            options'
    argTypes:
    - std::string
    - std::shared_ptr<Core::Credentials::TokenCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string&                                  blobUrl,\n
      \                                    std::shared_ptr<Core::Credentials::TokenCredential>
      credential,\n                                     const BlobClientOptions&                            options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' blobUrl'
    - ' options'
    argTypes:
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      const BlobClientOptions& options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:57,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:58,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:60,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' snapshot'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithSnapshot
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithSnapshot(const std::string&
      snapshot) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:68,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:69,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:71,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' versionId'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithVersionId
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithVersionId(const std::string&
      versionId) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:85,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:86,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:88,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:97,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:101,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:102,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:109,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:115,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:121,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:129,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:131,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:141,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:144,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:145,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:146,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:148,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:149,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - buffer
    - bufferSize
    - ' options'
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 152
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - static_cast<uint64_t>
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const uint8_t* buffer, size_t bufferSize, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Core::IO::FileBodyStream::Length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:164,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:172,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:187,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:196,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:197,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:199,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:204,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:210,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:220,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - ' fileName'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 231
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - _internal::FileReader::GetFileSize
    - Azure::Core::IO::FileBodyStream::Length
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, const UploadBlockBlobFromOptions& options,
      const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:237,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:238,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:239,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:240,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:241,1
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:251,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:259,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:260,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:261,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:265,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:266,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:267,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - '  content'
    - ' options'
    - '   context'
    argTypes:
    - Azure::Core::IO::BodyStream
    - UploadBlockBlobOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 272
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::Upload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 19
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobResult>
    signature: "Azure::Response<Models::UploadBlockBlobResult> TDBlockBlobClient::Upload(Azure::Core::IO::BodyStream&
      \ content,\n                                                                         const
      UploadBlockBlobOptions& options,\n                                                                         const
      Azure::Core::Context&   context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:280,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:290,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:297,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:303,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:317,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:318,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:325,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:328,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:330,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:340,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - ' fileName'
    - offset
    - size
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - int64_t
    - int64_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 351
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, int64_t offset, int64_t size, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:366,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:379,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:380,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:381,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:382,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:383,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:386,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:387,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:388,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:393,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 398
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 5
    functionsReached:
    - SourceAuthorization::empty
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromUriResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromUriResult> TDBlockBlobClient::UploadFromUri(\n
      \   const std::string& sourceUri, const UploadBlockBlobFromUriOptions& options,\n
      \   const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:406,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:407,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:408,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:409,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:410,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:414,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:415,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:416,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - '           blockId'
    - ' content'
    - '     options'
    - '  context'
    argTypes:
    - std::string
    - Azure::Core::IO::BodyStream
    - StageBlockOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 20
    functionsReached:
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - ToString
    - TransactionalContentHash::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockResult>
    signature: "Azure::Response<Models::StageBlockResult> TDBlockBlobClient::StageBlock(const
      std::string&           blockId,\n                                                                        Azure::Core::IO::BodyStream&
      content,\n                                                                        const
      StageBlockOptions&     options,\n                                                                        const
      Azure::Core::Context&  context) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SourceRange::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:429,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:436,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:437,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:438,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:439,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:440,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:448,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:449,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:450,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:454,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ' blockId'
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - std::string
    - StageBlockFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 5
    functionsReached:
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - Value
    - TransactionalContentHash::HasValue
    - SourceRange::Value
    - HasValue
    - ToString
    - std::to_string
    - TransactionalContentHash::Value
    - SourceRange::HasValue
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockFromUriResult>
    signature: "Azure::Response<Models::StageBlockFromUriResult> TDBlockBlobClient::StageBlockFromUri(\n
      \   const std::string& blockId, const std::string& sourceUri, const StageBlockFromUriOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:473,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:481,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:482,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:483,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:487,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:488,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:489,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - ' blockIds'
    - ' options'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - CommitBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 494
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 20
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::CommitBlockListResult>
    signature: "Azure::Response<Models::CommitBlockListResult> TDBlockBlobClient::CommitBlockList(\n
      \   const std::vector<std::string>& blockIds, const CommitBlockListOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:502,1
    - Dst: _internal::WithReplicaStatus
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - '  options'
    - ' context'
    argTypes:
    - GetBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 5
    functionsReached:
    - Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    - _internal::WithReplicaStatus
    linkageType: ''
    returnType: Azure::Response<Models::GetBlockListResult>
    signature: "Azure::Response<Models::GetBlockListResult> TDBlockBlobClient::GetBlockList(const
      GetBlockListOptions&  options,\n                                                                            const
      Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - '       connectionString'
    - '       blobContainerName'
    - '       blobName'
    - ' options'
    argTypes:
    - std::string
    - std::string
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CreateFromConnectionString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: "TDBlockBlobClient TDBlockBlobClient::CreateFromConnectionString(const
      std::string&       connectionString,\n                                                                const
      std::string&       blobContainerName,\n                                                                const
      std::string&       blobName,\n                                                                const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blobClient
    argTypes:
    - BlobClient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(BlobClient blobClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' blobUrl'
    - credential
    - ' options'
    argTypes:
    - std::string
    - std::shared_ptr<StorageSharedKeyCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      std::shared_ptr<StorageSharedKeyCredential> credential,\n                                     const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - '                                  blobUrl'
    - credential
    - '                            options'
    argTypes:
    - std::string
    - std::shared_ptr<Core::Credentials::TokenCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string&                                  blobUrl,\n
      \                                    std::shared_ptr<Core::Credentials::TokenCredential>
      credential,\n                                     const BlobClientOptions&                            options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' blobUrl'
    - ' options'
    argTypes:
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      const BlobClientOptions& options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:57,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:58,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:60,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' snapshot'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithSnapshot
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithSnapshot(const std::string&
      snapshot) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:68,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:69,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:71,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' versionId'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithVersionId
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithVersionId(const std::string&
      versionId) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:85,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:86,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:88,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:97,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:101,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:102,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:109,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:115,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:121,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:129,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:131,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:141,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:144,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:145,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:146,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:148,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:149,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - buffer
    - bufferSize
    - ' options'
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 152
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - static_cast<uint64_t>
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const uint8_t* buffer, size_t bufferSize, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Core::IO::FileBodyStream::Length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:164,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:172,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:187,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:196,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:197,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:199,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:204,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:210,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:220,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - ' fileName'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 231
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - _internal::FileReader::GetFileSize
    - Azure::Core::IO::FileBodyStream::Length
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, const UploadBlockBlobFromOptions& options,
      const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:237,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:238,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:239,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:240,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:241,1
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:251,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:259,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:260,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:261,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:265,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:266,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:267,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - '  content'
    - ' options'
    - '   context'
    argTypes:
    - Azure::Core::IO::BodyStream
    - UploadBlockBlobOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 272
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::Upload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 23
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobResult>
    signature: "Azure::Response<Models::UploadBlockBlobResult> TDBlockBlobClient::Upload(Azure::Core::IO::BodyStream&
      \ content,\n                                                                         const
      UploadBlockBlobOptions& options,\n                                                                         const
      Azure::Core::Context&   context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:280,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:290,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:297,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:303,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:317,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:318,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:325,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:328,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:330,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:340,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - ' fileName'
    - offset
    - size
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - int64_t
    - int64_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 351
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, int64_t offset, int64_t size, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:366,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:379,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:380,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:381,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:382,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:383,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:386,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:387,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:388,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:393,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 398
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 6
    functionsReached:
    - SourceAuthorization::empty
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromUriResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromUriResult> TDBlockBlobClient::UploadFromUri(\n
      \   const std::string& sourceUri, const UploadBlockBlobFromUriOptions& options,\n
      \   const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:406,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:407,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:408,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:409,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:410,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:414,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:415,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:416,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - '           blockId'
    - ' content'
    - '     options'
    - '  context'
    argTypes:
    - std::string
    - Azure::Core::IO::BodyStream
    - StageBlockOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 24
    functionsReached:
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - ToString
    - TransactionalContentHash::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockResult>
    signature: "Azure::Response<Models::StageBlockResult> TDBlockBlobClient::StageBlock(const
      std::string&           blockId,\n                                                                        Azure::Core::IO::BodyStream&
      content,\n                                                                        const
      StageBlockOptions&     options,\n                                                                        const
      Azure::Core::Context&  context) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SourceRange::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:429,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:436,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:437,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:438,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:439,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:440,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:448,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:449,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:450,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:454,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ' blockId'
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - std::string
    - StageBlockFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 6
    functionsReached:
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - Value
    - TransactionalContentHash::HasValue
    - SourceRange::Value
    - HasValue
    - ToString
    - std::to_string
    - TransactionalContentHash::Value
    - SourceRange::HasValue
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockFromUriResult>
    signature: "Azure::Response<Models::StageBlockFromUriResult> TDBlockBlobClient::StageBlockFromUri(\n
      \   const std::string& blockId, const std::string& sourceUri, const StageBlockFromUriOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:473,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:481,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:482,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:483,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:487,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:488,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:489,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - ' blockIds'
    - ' options'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - CommitBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 494
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 24
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::CommitBlockListResult>
    signature: "Azure::Response<Models::CommitBlockListResult> TDBlockBlobClient::CommitBlockList(\n
      \   const std::vector<std::string>& blockIds, const CommitBlockListOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:502,1
    - Dst: _internal::WithReplicaStatus
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - '  options'
    - ' context'
    argTypes:
    - GetBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 6
    functionsReached:
    - Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    - _internal::WithReplicaStatus
    linkageType: ''
    returnType: Azure::Response<Models::GetBlockListResult>
    signature: "Azure::Response<Models::GetBlockListResult> TDBlockBlobClient::GetBlockList(const
      GetBlockListOptions&  options,\n                                                                            const
      Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - '       connectionString'
    - '       blobContainerName'
    - '       blobName'
    - ' options'
    argTypes:
    - std::string
    - std::string
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CreateFromConnectionString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: "TDBlockBlobClient TDBlockBlobClient::CreateFromConnectionString(const
      std::string&       connectionString,\n                                                                const
      std::string&       blobContainerName,\n                                                                const
      std::string&       blobName,\n                                                                const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blobClient
    argTypes:
    - BlobClient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(BlobClient blobClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' blobUrl'
    - credential
    - ' options'
    argTypes:
    - std::string
    - std::shared_ptr<StorageSharedKeyCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      std::shared_ptr<StorageSharedKeyCredential> credential,\n                                     const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - '                                  blobUrl'
    - credential
    - '                            options'
    argTypes:
    - std::string
    - std::shared_ptr<Core::Credentials::TokenCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string&                                  blobUrl,\n
      \                                    std::shared_ptr<Core::Credentials::TokenCredential>
      credential,\n                                     const BlobClientOptions&                            options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' blobUrl'
    - ' options'
    argTypes:
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      const BlobClientOptions& options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:57,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:58,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:60,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' snapshot'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithSnapshot
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithSnapshot(const std::string&
      snapshot) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:68,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:69,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:71,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' versionId'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithVersionId
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithVersionId(const std::string&
      versionId) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:85,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:86,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:88,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:97,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:101,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:102,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:109,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:115,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:121,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:129,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:131,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:141,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:144,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:145,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:146,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:148,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:149,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - buffer
    - bufferSize
    - ' options'
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 152
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - static_cast<uint64_t>
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const uint8_t* buffer, size_t bufferSize, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Core::IO::FileBodyStream::Length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:164,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:172,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:187,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:196,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:197,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:199,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:204,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:210,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:220,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - ' fileName'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 231
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - _internal::FileReader::GetFileSize
    - Azure::Core::IO::FileBodyStream::Length
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, const UploadBlockBlobFromOptions& options,
      const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:237,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:238,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:239,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:240,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:241,1
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:251,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:259,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:260,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:261,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:265,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:266,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:267,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - '  content'
    - ' options'
    - '   context'
    argTypes:
    - Azure::Core::IO::BodyStream
    - UploadBlockBlobOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 272
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::Upload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 27
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobResult>
    signature: "Azure::Response<Models::UploadBlockBlobResult> TDBlockBlobClient::Upload(Azure::Core::IO::BodyStream&
      \ content,\n                                                                         const
      UploadBlockBlobOptions& options,\n                                                                         const
      Azure::Core::Context&   context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:280,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:290,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:297,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:303,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:317,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:318,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:325,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:328,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:330,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:340,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - ' fileName'
    - offset
    - size
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - int64_t
    - int64_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 351
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, int64_t offset, int64_t size, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:366,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:379,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:380,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:381,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:382,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:383,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:386,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:387,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:388,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:393,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 398
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 7
    functionsReached:
    - SourceAuthorization::empty
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromUriResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromUriResult> TDBlockBlobClient::UploadFromUri(\n
      \   const std::string& sourceUri, const UploadBlockBlobFromUriOptions& options,\n
      \   const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:406,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:407,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:408,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:409,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:410,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:414,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:415,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:416,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - '           blockId'
    - ' content'
    - '     options'
    - '  context'
    argTypes:
    - std::string
    - Azure::Core::IO::BodyStream
    - StageBlockOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 28
    functionsReached:
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - ToString
    - TransactionalContentHash::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockResult>
    signature: "Azure::Response<Models::StageBlockResult> TDBlockBlobClient::StageBlock(const
      std::string&           blockId,\n                                                                        Azure::Core::IO::BodyStream&
      content,\n                                                                        const
      StageBlockOptions&     options,\n                                                                        const
      Azure::Core::Context&  context) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SourceRange::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:429,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:436,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:437,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:438,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:439,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:440,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:448,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:449,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:450,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:454,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ' blockId'
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - std::string
    - StageBlockFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 7
    functionsReached:
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - Value
    - TransactionalContentHash::HasValue
    - SourceRange::Value
    - HasValue
    - ToString
    - std::to_string
    - TransactionalContentHash::Value
    - SourceRange::HasValue
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockFromUriResult>
    signature: "Azure::Response<Models::StageBlockFromUriResult> TDBlockBlobClient::StageBlockFromUri(\n
      \   const std::string& blockId, const std::string& sourceUri, const StageBlockFromUriOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:473,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:481,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:482,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:483,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:487,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:488,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:489,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - ' blockIds'
    - ' options'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - CommitBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 494
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 28
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::CommitBlockListResult>
    signature: "Azure::Response<Models::CommitBlockListResult> TDBlockBlobClient::CommitBlockList(\n
      \   const std::vector<std::string>& blockIds, const CommitBlockListOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:502,1
    - Dst: _internal::WithReplicaStatus
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - '  options'
    - ' context'
    argTypes:
    - GetBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 7
    functionsReached:
    - Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    - _internal::WithReplicaStatus
    linkageType: ''
    returnType: Azure::Response<Models::GetBlockListResult>
    signature: "Azure::Response<Models::GetBlockListResult> TDBlockBlobClient::GetBlockList(const
      GetBlockListOptions&  options,\n                                                                            const
      Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - '       connectionString'
    - '       blobContainerName'
    - '       blobName'
    - ' options'
    argTypes:
    - std::string
    - std::string
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CreateFromConnectionString
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: "TDBlockBlobClient TDBlockBlobClient::CreateFromConnectionString(const
      std::string&       connectionString,\n                                                                const
      std::string&       blobContainerName,\n                                                                const
      std::string&       blobName,\n                                                                const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - blobClient
    argTypes:
    - BlobClient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(BlobClient blobClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' blobUrl'
    - credential
    - ' options'
    argTypes:
    - std::string
    - std::shared_ptr<StorageSharedKeyCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      std::shared_ptr<StorageSharedKeyCredential> credential,\n                                     const
      BlobClientOptions& options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - '                                  blobUrl'
    - credential
    - '                            options'
    argTypes:
    - std::string
    - std::shared_ptr<Core::Credentials::TokenCredential>
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TDBlockBlobClient::TDBlockBlobClient(const std::string&                                  blobUrl,\n
      \                                    std::shared_ptr<Core::Credentials::TokenCredential>
      credential,\n                                     const BlobClientOptions&                            options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' blobUrl'
    - ' options'
    argTypes:
    - std::string
    - BlobClientOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::TDBlockBlobClient
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TDBlockBlobClient::TDBlockBlobClient(const std::string& blobUrl,
      const BlobClientOptions& options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:57,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:58,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:60,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' snapshot'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithSnapshot
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithSnapshot(const std::string&
      snapshot) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:68,1
    - Dst: TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:69,1
    - Dst: TDBlockBlobClient::m_blobUrl::AppendQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:71,1
    - Dst: _internal::UrlEncodeQueryParameter
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' versionId'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::WithVersionId
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - empty
    - _internal::UrlEncodeQueryParameter
    - TDBlockBlobClient::m_blobUrl::RemoveQueryParameter
    - TDBlockBlobClient::m_blobUrl::AppendQueryParameter
    linkageType: ''
    returnType: TDBlockBlobClient
    signature: TDBlockBlobClient TDBlockBlobClient::WithVersionId(const std::string&
      versionId) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:85,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:86,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:88,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:97,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:101,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:102,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:109,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:115,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:116,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:121,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:123,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:125,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:129,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:131,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:132,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:141,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:144,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:145,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:146,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:148,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:149,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:150,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - buffer
    - bufferSize
    - ' options'
    - ' context'
    argTypes:
    - uint8_t*
    - size_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 152
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - static_cast<uint64_t>
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const uint8_t* buffer, size_t bufferSize, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Core::IO::FileBodyStream::Length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:164,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:172,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:179,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:180,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:181,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:187,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:189,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:191,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:196,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:197,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:199,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:204,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: _internal::FileReader::GetFileSize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:207,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:210,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:211,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:220,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:229,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - ' fileName'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 231
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - _internal::FileReader::GetFileSize
    - Azure::Core::IO::FileBodyStream::Length
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, const UploadBlockBlobFromOptions& options,
      const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:237,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:238,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:239,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:240,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:241,1
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:250,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:251,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:259,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:260,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:261,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:262,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:265,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:266,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:267,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - '  content'
    - ' options'
    - '   context'
    argTypes:
    - Azure::Core::IO::BodyStream
    - UploadBlockBlobOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 272
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::Upload
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 31
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobResult>
    signature: "Azure::Response<Models::UploadBlockBlobResult> TDBlockBlobClient::Upload(Azure::Core::IO::BodyStream&
      \ content,\n                                                                         const
      UploadBlockBlobOptions& options,\n                                                                         const
      Azure::Core::Context&   context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:280,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::Upload
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:290,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:297,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: std::string::length
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:298,1
    - Dst: Azure::Core::Convert::Base64Encode
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::vector<uint8_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:299,1
    - Dst: _internal::FileReader::GetHandle
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:303,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:305,1
    - Dst: std::vector::resize
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:307,1
    - Dst: TransferOptions::ChunkSize::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:317,1
    - Dst: TransferOptions::ChunkSize::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:318,1
    - Dst: Azure::Core::RequestFailedException
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:325,1
    - Dst: _internal::ConcurrentTransfer
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:328,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:330,1
    - Dst: getBlockId
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: static_cast<int64_t>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:331,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:340,1
    - Dst: Azure::Response<Models::UploadBlockBlobFromResult>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:349,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - ' fileName'
    - offset
    - size
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - int64_t
    - int64_t
    - UploadBlockBlobFromOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 351
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFrom
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 0
    functionsReached:
    - Azure::Core::RequestFailedException
    - getBlockId
    - Azure::Storage::Blobs::TDBlockBlobClient::Upload
    - static_cast<int64_t>
    - Azure::Response<Models::UploadBlockBlobFromResult>
    - _internal::FileReader::GetHandle
    - std::string::length
    - std::string
    - std::string::end
    - _internal::ConcurrentTransfer
    - std::to_string
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    - std::move
    - TransferOptions::ChunkSize::HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - std::vector<uint8_t>
    - std::string::begin
    - TransferOptions::ChunkSize::Value
    - std::vector::resize
    - std::vector::size
    - Azure::Core::Convert::Base64Encode
    - static_cast<size_t>
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromResult> TDBlockBlobClient::UploadFrom(\n
      \   const std::string& fileName, int64_t offset, int64_t size, const UploadBlockBlobFromOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:365,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:366,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:379,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:380,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:381,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:382,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:383,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:386,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:387,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:388,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:389,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:393,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - UploadBlockBlobFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 398
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 8
    functionsReached:
    - SourceAuthorization::empty
    - std::map<std::string, std::string>
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - Azure::Storage::Blobs::TDBlockBlobClient::UploadFromUri
    - ToString
    - _detail::TagsToString
    - TransactionalContentHash::Value
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::UploadBlockBlobFromUriResult>
    signature: "Azure::Response<Models::UploadBlockBlobFromUriResult> TDBlockBlobClient::UploadFromUri(\n
      \   const std::string& sourceUri, const UploadBlockBlobFromUriOptions& options,\n
      \   const Azure::Core::Context& context) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:406,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:407,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:408,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:409,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:410,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:414,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:415,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:416,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:417,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - '           blockId'
    - ' content'
    - '     options'
    - '  context'
    argTypes:
    - std::string
    - Azure::Core::IO::BodyStream
    - StageBlockOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 32
    functionsReached:
    - Value
    - TransactionalContentHash::HasValue
    - HasValue
    - ToString
    - TransactionalContentHash::Value
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlock
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockResult>
    signature: "Azure::Response<Models::StageBlockResult> TDBlockBlobClient::StageBlock(const
      std::string&           blockId,\n                                                                        Azure::Core::IO::BodyStream&
      content,\n                                                                        const
      StageBlockOptions&     options,\n                                                                        const
      Azure::Core::Context&  context) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SourceRange::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:429,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:430,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:431,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: SourceRange::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:432,1
    - Dst: TransactionalContentHash::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:436,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:437,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:438,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:439,1
    - Dst: TransactionalContentHash::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:440,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:448,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:449,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:450,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:451,1
    - Dst: SourceAuthorization::empty
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:454,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ' blockId'
    - ' sourceUri'
    - ' options'
    - ' context'
    argTypes:
    - std::string
    - std::string
    - StageBlockFromUriOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 8
    functionsReached:
    - SourceAuthorization::empty
    - Azure::Storage::Blobs::TDBlockBlobClient::StageBlockFromUri
    - Value
    - TransactionalContentHash::HasValue
    - SourceRange::Value
    - HasValue
    - ToString
    - std::to_string
    - TransactionalContentHash::Value
    - SourceRange::HasValue
    linkageType: ''
    returnType: Azure::Response<Models::StageBlockFromUriResult>
    signature: "Azure::Response<Models::StageBlockFromUriResult> TDBlockBlobClient::StageBlockFromUri(\n
      \   const std::string& blockId, const std::string& sourceUri, const StageBlockFromUriOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::map<std::string, std::string>
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::begin
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: Metadata::end
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:472,1
    - Dst: _detail::TagsToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:473,1
    - Dst: HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:481,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:482,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:483,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ToString
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:484,1
    - Dst: ImmutabilityPolicy::HasValue
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:487,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:488,1
    - Dst: ImmutabilityPolicy::Value
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:489,1
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - ' blockIds'
    - ' options'
    - ' context'
    argTypes:
    - std::vector<std::string>
    - CommitBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 494
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 32
    functionsReached:
    - ImmutabilityPolicy::HasValue
    - std::map<std::string, std::string>
    - Value
    - Azure::Storage::Blobs::TDBlockBlobClient::CommitBlockList
    - HasValue
    - ImmutabilityPolicy::Value
    - ToString
    - _detail::TagsToString
    - Metadata::end
    - Metadata::begin
    linkageType: ''
    returnType: Azure::Response<Models::CommitBlockListResult>
    signature: "Azure::Response<Models::CommitBlockListResult> TDBlockBlobClient::CommitBlockList(\n
      \   const std::vector<std::string>& blockIds, const CommitBlockListOptions&
      options,\n    const Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:502,1
    - Dst: _internal::WithReplicaStatus
      Src: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - '  options'
    - ' context'
    argTypes:
    - GetBlockListOptions
    - Azure::Core::Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    functionSourceFile: /src/tdengine/source/libs/azure/src/td_block_blob_client.cpp
    functionUses: 8
    functionsReached:
    - Azure::Storage::Blobs::TDBlockBlobClient::GetBlockList
    - _internal::WithReplicaStatus
    linkageType: ''
    returnType: Azure::Response<Models::GetBlockListResult>
    signature: "Azure::Response<Models::GetBlockListResult> TDBlockBlobClient::GetBlockList(const
      GetBlockListOptions&  options,\n                                                                            const
      Azure::Core::Context& context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rbegin
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:14,1
    - Dst: rend
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' arr'
    argTypes:
    - std::array<uint64_t, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: printArray
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - rbegin
    - rend
    linkageType: ''
    returnType: void
    signature: void printArray(const std::array<uint64_t, N>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printArray
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - __int128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: extractWideInteger
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - printArray
    linkageType: ''
    returnType: void
    signature: void extractWideInteger(__int128 a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:49,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pDec
    - type
    - prec
    - scale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: printDecimal
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - decimalToStr
    linkageType: ''
    returnType: void
    signature: void printDecimal(const DecimalType* pDec, uint8_t type, uint8_t prec,
      uint8_t scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - digitNum
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: generate_big_int128
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __int128
    signature: __int128 generate_big_int128(uint32_t digitNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:65,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:66,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:68,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:69,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pDec
    - t
    - prec
    - scale
    - valExpect
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: checkDecimal
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_STREQ
    - ASSERT_EQ
    - decimalToStr
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void checkDecimal(const DecimalType* pDec, uint8_t t, uint8_t prec,
      uint8_t scale, const char* valExpect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: Numeric64::Numeric64
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Numeric64()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:83,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:83,1
    - Dst: size
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' str'
    - prec
    - scale
    argTypes:
    - string
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Numeric64::fromStr
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - decimal64FromStr
    - size
    - c_str
    linkageType: ''
    returnType: int32_t
    signature: int32_t fromStr(const string& str, uint8_t prec, uint8_t scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOps
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Numeric64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '& operator+=(const Numeric64& r)'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - getOps
    linkageType: ''
    returnType: Numeric64
    signature: Numeric64 & operator+=(const Numeric64& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOps
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Numeric64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: operator==(const Numeric64& r) const
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - getOps
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Numeric64& r) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: Numeric64::getOps
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - getDecimalOps
    linkageType: ''
    returnType: SDecimalOps
    signature: SDecimalOps * getOps()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: Numeric128::Numeric128
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Numeric128()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Numeric128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Numeric128::Numeric128
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Numeric128(const Numeric128& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:107,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:107,1
    - Dst: size
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' str'
    - prec
    - scale
    argTypes:
    - string
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: Numeric128::fromStr
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - decimal128FromStr
    - size
    - c_str
    linkageType: ''
    returnType: int32_t
    signature: int32_t fromStr(const string& str, uint8_t prec, uint8_t scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Numeric128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: '& operator+=(const Numeric128& r)'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Numeric128
    signature: Numeric128 & operator+=(const Numeric128& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOps
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Numeric64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: '& operator+=(const Numeric64& r)'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - getOps
    linkageType: ''
    returnType: Numeric128
    signature: Numeric128 & operator+=(const Numeric64& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: Numeric128::getOps
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - getDecimalOps
    linkageType: ''
    returnType: SDecimalOps
    signature: SDecimalOps * getOps()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Numeric64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: '& Numeric64::operator=(const Numeric64& r)'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Numeric64
    signature: Numeric64 & Numeric64::operator=(const Numeric64& r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - tsdb_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: DEFINE_TRIVIAL_TYPE_HELPER
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_TRIVIAL_TYPE_HELPER(type, tsdb_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:176,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:176,1
    - Dst: fromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:177,1
    - Dst: std::overflow_error
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:180,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - prec
    - scale
    - ' str'
    argTypes:
    - uint8_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: Numeric::Numeric
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - fromStr
    - std::overflow_error
    - std::string
    - tstrerror
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void Numeric(uint8_t prec, uint8_t scale, const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: Numeric::Numeric
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Numeric()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - Numeric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: Numeric::Numeric
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Numeric(const Numeric& o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: ~Numeric()
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Numeric()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - Numeric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: '& operator=(const Numeric& o)'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Numeric
    signature: Numeric & operator=(const Numeric& o)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:190,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:191,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - op
    - ' lt'
    - ' rt'
    argTypes:
    - EOperatorType
    - SDataType
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: Numeric::getRetType
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - decimalGetRetType
    - std::runtime_error
    - tstrerror
    linkageType: ''
    returnType: SDataType
    signature: SDataType getRetType(EOperatorType op, const SDataType& lt, const SDataType&
      rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Numeric::prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:194,1
    - Dst: Numeric::scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: Numeric::type
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - Numeric::scale
    - Numeric::prec
    linkageType: ''
    returnType: SDataType
    signature: SDataType type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: Numeric::prec
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t prec() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: Numeric::scale
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t scale() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: '& dec() const'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type & dec() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:198,1
    - Dst: Numeric::prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:198,1
    - Dst: Numeric::scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: Numeric::get_type_mod
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - decimalCalcTypeMod
    - Numeric::scale
    - Numeric::prec
    linkageType: ''
    returnType: STypeMod
    signature: STypeMod get_type_mod() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Numeric::binaryOp
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - op
    argTypes:
    - Numeric<BitNum2>
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: Numeric::binaryOp
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 1
    functionsReached:
    - Numeric::binaryOp
    linkageType: ''
    returnType: Numeric
    signature: Numeric & binaryOp(const Numeric<BitNum2>& r, EOperatorType op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Numeric::prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:209,1
    - Dst: Numeric::scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:209,1
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:210,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:212,1
    - Dst: dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:212,1
    - Dst: std::overflow_error
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' r'
    - op
    argTypes:
    - Numeric<BitNum2>
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: Numeric::binaryOp
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 1
    functionsReached:
    - Numeric::scale
    - Numeric::prec
    - decimalOp
    - dec
    - std::overflow_error
    - Numeric::getRetType
    - tstrerror
    linkageType: ''
    returnType: Numeric<BitNumO>
    signature: Numeric<BitNumO> binaryOp(const Numeric<BitNum2>& r, EOperatorType
      op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:222,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:224,1
    - Dst: std::overflow_error
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:225,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:225,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:226,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' r'
    - op
    argTypes:
    - T
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: Numeric::binaryOp
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 1
    functionsReached:
    - decimalOp
    - std::overflow_error
    - Numeric::getRetType
    - tstrerror
    - std::runtime_error
    linkageType: ''
    returnType: Numeric<BitNumO>
    signature: Numeric<BitNumO> binaryOp(const T& r, EOperatorType op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - op_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: DEFINE_OPERATOR
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OPERATOR(op, op_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - op_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: DEFINE_TYPE_OP
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_TYPE_OP(op, op_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: DEFINE_REAL_OP
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_REAL_OP(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binaryOp
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - Numeric<BitNum2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: '& operator+=(const Numeric<BitNum2>& r)'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - binaryOp
    linkageType: ''
    returnType: Numeric
    signature: Numeric & operator+=(const Numeric<BitNum2>& r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:283,1
    - Dst: Numeric::prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:283,1
    - Dst: Numeric::scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:283,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:284,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: Numeric::toString
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - Numeric::scale
    - Numeric::prec
    - std::string
    - tstrerror
    - decimalToStr
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Numeric::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:289,1
    - Dst: auto::rbegin
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:291,1
    - Dst: auto::rend
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:292,1
    - Dst: auto::size
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:299,1
    - Dst: auto::resize
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:299,1
    - Dst: auto::size
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: Numeric::toStringTrimTailingZeros
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - Numeric::toString
    - auto::rbegin
    - auto::rend
    - auto::size
    - auto::resize
    linkageType: ''
    returnType: std::string
    signature: std::string toStringTrimTailingZeros() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: DEFINE_OPERATOR_T
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OPERATOR_T(type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:327,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:327,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:327,1
    - Dst: prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:327,1
    - Dst: scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:327,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:329,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:329,1
    - Dst: std::string::size
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:329,1
    - Dst: prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:329,1
    - Dst: scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:329,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:332,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: '& operator=(const char* str)'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - decimal64FromStr
    - std::string::c_str
    - prec
    - decimal128FromStr
    - std::string::size
    - std::string
    - tstrerror
    - scale
    linkageType: ''
    returnType: Numeric
    signature: Numeric & operator=(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - BitNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: DEFINE_OPERATOR_FROM_FOR_BITNUM
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OPERATOR_FROM_FOR_BITNUM(type, BitNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: DEFINE_OPERATOR_EQ_T
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OPERATOR_EQ_T(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:371,1
    - Dst: scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:371,1
    - Dst: prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:372,1
    - Dst: scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:372,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:373,1
    - Dst: std::overflow_error
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:374,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:374,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:375,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ' d'
    argTypes:
    - Decimal128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: '& operator=(const Decimal128& d)'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - prec
    - std::overflow_error
    - convertToDecimal
    - tstrerror
    - scale
    - std::runtime_error
    linkageType: ''
    returnType: Numeric
    signature: Numeric & operator=(const Decimal128& d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:379,1
    - Dst: scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:379,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:381,1
    - Dst: std::overflow_error
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:382,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:382,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:383,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ' d'
    argTypes:
    - Decimal64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: '& operator=(const Decimal64& d)'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - prec
    - std::overflow_error
    - convertToDecimal
    - tstrerror
    - scale
    - std::runtime_error
    linkageType: ''
    returnType: Numeric
    signature: Numeric & operator=(const Decimal64& d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Numeric::Numeric
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' num2'
    argTypes:
    - Numeric<BitNum2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: Numeric::Numeric
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 1
    functionsReached:
    - Numeric::Numeric
    linkageType: ''
    returnType: void
    signature: void Numeric(const Numeric<BitNum2>& num2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:396,1
    - Dst: prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:396,1
    - Dst: scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:396,1
    - Dst: type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:396,1
    - Dst: scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:397,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:399,1
    - Dst: dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:399,1
    - Dst: std::overflow_error
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:400,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:400,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:401,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' num2'
    argTypes:
    - Numeric<BitNum2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 405
    functionName: '& operator=(const Numeric<BitNum2>& num2)'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - type
    - dec
    - prec
    - convertToDecimal
    - std::overflow_error
    - tstrerror
    - scale
    - std::runtime_error
    linkageType: ''
    returnType: Numeric
    signature: Numeric & operator=(const Numeric<BitNum2>& num2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - op_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: DEFINE_COMPARE_OP
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_COMPARE_OP(op, op_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:426,1
    - Dst: prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:426,1
    - Dst: scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' n'
    argTypes:
    - ostream
    - Numeric<BitNum>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: '& operator<<(ostream& os, const Numeric<BitNum>& n)'
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - scale
    - prec
    - toString
    linkageType: ''
    returnType: ostream
    signature: ostream & operator<<(ostream& os, const Numeric<BitNum>& n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:434,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:434,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:438,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:438,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:439,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:439,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:442,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:442,1
    - Dst: Numeric::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:442,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:445,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:445,1
    - Dst: Numeric::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:445,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:448,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:448,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:449,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:449,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:452,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:452,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:453,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:453,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:456,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:456,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:457,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:457,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:460,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:460,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:464,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:464,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:467,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:470,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:470,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:473,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:473,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:476,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:476,1
    - Dst: Numeric<64>
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:478,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:480,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:480,1
    - Dst: Numeric<64>
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:482,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:484,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:484,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:487,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:487,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:490,1
    - Dst: auto::toStringTrimTailingZeros
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:490,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:495,1
    - Dst: Numeric::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:495,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:498,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:498,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:501,1
    - Dst: Numeric::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:501,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:506,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:506,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:509,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 510
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - auto::toString
    - Numeric<64>
    - Numeric::toStringTrimTailingZeros
    - Numeric::toString
    - auto::toStringTrimTailingZeros
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, numeric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:515,1
    - Dst: Numeric::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:515,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:517,1
    - Dst: Numeric::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:517,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:519,1
    - Dst: Numeric::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:519,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:521,1
    - Dst: Numeric::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 522
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Numeric::toString
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, decimalFromType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:530,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:531,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:532,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:534,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:539,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:540,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:542,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:546,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:547,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:548,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:553,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:554,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:555,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:559,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:560,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:561,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:565,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 568
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ASSERT_EQ
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, typeFromDecimal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_big_int128
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:572,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:576,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:578,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:579,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:582,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 584
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_STREQ
    - makeDecimal128
    - generate_big_int128
    - decimalToStr
    linkageType: ''
    returnType: void
    signature: void TEST(decimal128, to_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_big_int128
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:587,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:591,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:594,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:596,1
    - Dst: std::min
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:600,1
    - Dst: printDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:602,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:606,1
    - Dst: auto::multiply
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:607,1
    - Dst: printDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:609,1
    - Dst: auto::divide
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:611,1
    - Dst: printDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:612,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 614
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - printDecimal
    - getDecimalOps
    - auto::divide
    - makeDecimal128
    - generate_big_int128
    - ASSERT_TRUE
    - std::min
    - auto::multiply
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, divide)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:625,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:626,1
    - Dst: checkDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:628,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:635,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:636,1
    - Dst: checkDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:638,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:641,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:641,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:642,1
    - Dst: checkDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:643,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:648,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:649,1
    - Dst: checkDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 651
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - decimal128FromStr
    - convertToDecimal
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - checkDecimal
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, conversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:659,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:659,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:660,1
    - Dst: decimal128ToInt128
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:661,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:668,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:672,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:672,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:673,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:674,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 676
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - DECIMAL64_GET_VALUE
    - decimal128FromStr
    - decimal128ToInt128
    - ASSERT_EQ
    - strlen
    - decimal64FromStr
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, decimalFromStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:682,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:683,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:684,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:687,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:688,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:689,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:692,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:693,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:695,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:696,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:698,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:699,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:699,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:700,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 702
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_STREQ
    - makeDecimal128
    - ASSERT_EQ
    - ASSERT_TRUE
    - decimalToStr
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, toStr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:705,1
    - Dst: std::to_string
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:705,1
    - Dst: decimalTypeFromPrecision
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - prec
    - scale
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 708
    functionName: getDecimalType
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - decimalTypeFromPrecision
    - std::string
    linkageType: ''
    returnType: SDataType
    signature: SDataType getDecimalType(uint8_t prec, uint8_t scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' lt'
    - ' rt'
    argTypes:
    - SDataType
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 712
    functionName: operator==(const SDataType& lt, const SDataType& rt)
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SDataType& lt, const SDataType& rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:716,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:717,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:719,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:720,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:721,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:726,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:727,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:732,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:737,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:738,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:743,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:746,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:747,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:752,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:757,1
    - Dst: auto::scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 758
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - decimalGetRetType
    - ASSERT_EQ
    - auto::scale
    - getDecimalType
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, decimalOpRetType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:763,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:765,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:765,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:766,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:768,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:770,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:770,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:771,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:774,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:775,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:776,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:778,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:779,1
    - Dst: checkDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:781,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:785,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:786,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:787,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:788,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:793,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:795,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:796,1
    - Dst: checkDecimal
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 798
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - decimalGetRetType
    - decimalOp
    - getDecimalType
    - ASSERT_EQ
    - strlen
    - decimal64FromStr
    - checkDecimal
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 821
    functionName: DecimalStringRandomGenerator::DecimalStringRandomGenerator
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - rd_
    linkageType: ''
    returnType: void
    signature: void DecimalStringRandomGenerator()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DecimalStringRandomGenerator::generateSign
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:824,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:825,1
    - Dst: DecimalStringRandomGenerator::currentShouldGenerateCornerCase
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:826,1
    - Dst: DecimalStringRandomGenerator::generateCornerCase
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:827,1
    - Dst: DecimalStringRandomGenerator::randomInt
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:829,1
    - Dst: DecimalStringRandomGenerator::randomInt
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:829,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:831,1
    - Dst: DecimalStringRandomGenerator::generateDigit
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:831,1
    - Dst: DecimalStringRandomGenerator::possible
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:833,1
    - Dst: DecimalStringRandomGenerator::randomInt
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:834,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:836,1
    - Dst: DecimalStringRandomGenerator::generateDigit
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:836,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:839,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:841,1
    - Dst: DecimalStringRandomGenerator::generateDigit
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:841,1
    - Dst: DecimalStringRandomGenerator::possible
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:843,1
    - Dst: DecimalStringRandomGenerator::randomInt
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:844,1
    - Dst: std::string::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:846,1
    - Dst: DecimalStringRandomGenerator::generateDigit
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:846,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - DecimalStringRandomGeneratorConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 851
    functionName: DecimalStringRandomGenerator::generate
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - DecimalStringRandomGenerator::generateCornerCase
    - DecimalStringRandomGenerator::generateDigit
    - std::string::push_back
    - DecimalStringRandomGenerator::currentShouldGenerateCornerCase
    - DecimalStringRandomGenerator::possible
    - DecimalStringRandomGenerator::randomInt
    - DecimalStringRandomGenerator::generateSign
    linkageType: ''
    returnType: std::string
    signature: std::string generate(const DecimalStringRandomGeneratorConfig& config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dis_
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - modulus
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 854
    functionName: DecimalStringRandomGenerator::randomInt
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 1
    functionsReached:
    - dis_
    linkageType: ''
    returnType: int
    signature: int randomInt(int modulus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecimalStringRandomGenerator::possible
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - positive_ratio
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 855
    functionName: DecimalStringRandomGenerator::generateSign
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 1
    functionsReached:
    - DecimalStringRandomGenerator::possible
    linkageType: ''
    returnType: char
    signature: char generateSign(float positive_ratio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecimalStringRandomGenerator::randomInt
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 856
    functionName: DecimalStringRandomGenerator::generateDigit
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 1
    functionsReached:
    - DecimalStringRandomGenerator::randomInt
    linkageType: ''
    returnType: char
    signature: char generateDigit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecimalStringRandomGenerator::possible
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - corner_case_ratio
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 857
    functionName: DecimalStringRandomGenerator::currentShouldGenerateCornerCase
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 1
    functionsReached:
    - DecimalStringRandomGenerator::possible
    linkageType: ''
    returnType: bool
    signature: bool currentShouldGenerateCornerCase(float corner_case_ratio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DecimalStringRandomGenerator::possible
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:860,1
    - Dst: DecimalStringRandomGenerator::randomInt
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:861,1
    - Dst: size
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:861,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:863,1
    - Dst: DecimalStringRandomGenerator::generateDigit
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:863,1
    - Dst: DecimalStringRandomGenerator::possible
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:864,1
    - Dst: string::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:865,1
    - Dst: DecimalStringRandomGenerator::possible
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:866,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:867,1
    - Dst: DecimalStringRandomGenerator::generateDigit
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - DecimalStringRandomGeneratorConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 872
    functionName: DecimalStringRandomGenerator::generateCornerCase
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 1
    functionsReached:
    - DecimalStringRandomGenerator::generateDigit
    - std::string
    - DecimalStringRandomGenerator::possible
    - DecimalStringRandomGenerator::randomInt
    - size
    - string::push_back
    linkageType: ''
    returnType: string
    signature: string generateCornerCase(const DecimalStringRandomGeneratorConfig&
      config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DecimalStringRandomGenerator::randomInt
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ratio
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 874
    functionName: DecimalStringRandomGenerator::possible
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 4
    functionsReached:
    - DecimalStringRandomGenerator::randomInt
    linkageType: ''
    returnType: bool
    signature: bool possible(float ratio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:880,1
    - Dst: DecimalStringRandomGenerator::DecimalStringRandomGenerator
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:882,1
    - Dst: DecimalStringRandomGenerator::generate
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 887
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - DecimalStringRandomGenerator::generate
    - GTEST_SKIP
    - DecimalStringRandomGenerator::DecimalStringRandomGenerator
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, randomGenerator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 901
    functionName: ASSERT_OVERFLOW
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_OVERFLOW(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 916
    functionName: ASSERT_RUNTIME_ERROR
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_RUNTIME_ERROR(op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_OVERFLOW
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:934,1
    - Dst: ff
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:934,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:940,1
    - Dst: Numeric::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' units'
    argTypes:
    - std::vector<DecimalFromStrTestUnit<BitNum>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 927
    functionDepth: 2
    functionLinenumber: 927
    functionLinenumberEnd: 942
    functionName: testDecimalFromStr
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - ff
    - ASSERT_OVERFLOW
    - ASSERT_EQ
    - Numeric::toString
    linkageType: ''
    returnType: void
    signature: void testDecimalFromStr(std::vector<DecimalFromStrTestUnit<BitNum>>&
      units)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testDecimalFromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1019,1
    - Dst: testDecimalFromStr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 944
    functionDepth: 3
    functionLinenumber: 944
    functionLinenumberEnd: 1059
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - testDecimalFromStr
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, decimalFromStr_all)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1063,1
    - Dst: ASSERT_RUNTIME_ERROR
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1064,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1069,1
    - Dst: Numeric::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1069,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1074,1
    - Dst: auto::scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1074,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1075,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1075,1
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1081,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1081,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1081,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1082,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1083,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1084,1
    - Dst: Numeric::scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1084,1
    - Dst: Numeric::scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1084,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1087,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1087,1
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1091,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1091,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1091,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1092,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1094,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1094,1
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1098,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1098,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1098,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1099,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1101,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1101,1
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1105,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1105,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1105,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1106,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1108,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1108,1
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1112,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1112,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1112,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1113,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1115,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1115,1
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1118,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1118,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1118,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1119,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1121,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1121,1
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1124,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1124,1
    - Dst: Numeric::type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1124,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1125,1
    - Dst: ASSERT_OVERFLOW
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1126,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1133,1
    - Dst: auto::scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1133,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1134,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1134,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1138,1
    - Dst: auto::scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1138,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1139,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1139,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1143,1
    - Dst: auto::scale
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1143,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1144,1
    - Dst: auto::prec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1144,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1145,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1145,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1150,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1150,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1154,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1154,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1158,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1158,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1162,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1162,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1167,1
    - Dst: auto::toString
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1169
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - auto::scale
    - auto::toString
    - ASSERT_RUNTIME_ERROR
    - string
    - Numeric::scale
    - Numeric::toString
    - Numeric::type
    - auto::prec
    - Numeric::getRetType
    - ASSERT_EQ
    - ASSERT_OVERFLOW
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, op_overflow)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - op
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1186
    functionName: get_op_type
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EOperatorType
    signature: EOperatorType get_op_type(char op)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - op
    argTypes:
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1203
    functionName: get_op_str
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get_op_str(EOperatorType op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' a'
    - ' b'
    - ' out'
    - op
    argTypes:
    - SDataType
    - SDataType
    - SDataType
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1212
    functionName: DecimalRetTypeCheckContent
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DecimalRetTypeCheckContent(const SDataType& a, const SDataType&
      b, const SDataType& out, EOperatorType op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1221,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1221,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1223,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1224,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1225,1
    - Dst: get_op_type
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1219
    functionDepth: 2
    functionLinenumber: 1219
    functionLinenumberEnd: 1227
    functionName: DecimalRetTypeCheckContent
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - get_op_type
    - getDecimalType
    - sscanf
    - c_str
    linkageType: ''
    returnType: void
    signature: void DecimalRetTypeCheckContent(const std::string& s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DecimalRetTypeCheckConfig
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1229,1
    - Dst: get_op_str
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1234,1
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1236,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1238,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1245,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1246,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1247,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1229
    functionDepth: 2
    functionLinenumber: 1229
    functionLinenumberEnd: 1249
    functionName: check
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - get_op_str
    - ASSERT_EQ
    - Numeric::getRetType
    - DecimalRetTypeCheckConfig
    linkageType: ''
    returnType: void
    signature: void check(const DecimalRetTypeCheckConfig& config = DecimalRetTypeCheckConfig())
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1253,1
    - Dst: std::ifstream::is_open
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1256,1
    - Dst: FAIL
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1258,1
    - Dst: std::ifstream::getline
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1262,1
    - Dst: DecimalRetTypeCheckContent::check
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1268,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1252
    functionDepth: 3
    functionLinenumber: 1252
    functionLinenumberEnd: 1272
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - DecimalRetTypeCheckContent::check
    - GTEST_SKIP
    - ASSERT_EQ
    - FAIL
    - std::ifstream::is_open
    - std::ifstream::getline
    linkageType: ''
    returnType: void
    signature: void TEST(decimal_all, ret_type_load_from_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1277,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1279,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1280,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1281,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1284
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(decimal_all, test_decimal_compare)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1291,1
    - Dst: std::log10
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1291,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1294,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1296,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1296,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1298,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1298,1
    - Dst: count_digits
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1298,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1300,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1300,1
    - Dst: count_digits
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1300,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1302,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1302,1
    - Dst: count_digits
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1302,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1304,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1304,1
    - Dst: count_digits
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1304,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1306,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1308,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1310,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1312,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1312,1
    - Dst: count_digits
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1312,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1314,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1316,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1316,1
    - Dst: count_digits
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1316,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1318,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1318,1
    - Dst: count_digits
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1318,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1320,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1320,1
    - Dst: count_digits
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1320,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1322,1
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1322,1
    - Dst: count_digits
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1322,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1324,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1326,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1328,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1330,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1332,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1334,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1336,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1339,1
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1342,1
    - Dst: DecimalRetTypeCheckContent::check
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1344,1
    - Dst: Numeric::getRetType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1347,1
    - Dst: DecimalRetTypeCheckContent::check
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1352
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - std::floor
    - Numeric::getRetType
    - getDecimalType
    - DecimalRetTypeCheckContent::check
    - std::log10
    - std::vector::push_back
    - count_digits
    linkageType: ''
    returnType: void
    signature: void TEST(decimal_all, ret_type_for_non_decimal_types)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1356,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1361
    functionName: DecimalTest::get_connection
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - taos_errstr
    - taos_connect
    linkageType: ''
    returnType: TAOS
    signature: TAOS * get_connection()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecimalTest::get_connection
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1372,1
    - Dst: FAIL
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1376
    functionName: DecimalTest::SetUp
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - DecimalTest::get_connection
    - FAIL
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: DecimalTest::TearDown
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - taos_close
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1383
    functionName: DecimalTest::generate_decimal_str
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - generate
    linkageType: ''
    returnType: std::string
    signature: std::string generate_decimal_str()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1387,1
    - Dst: fillBytesForDecimalType
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1389,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1392,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1393,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1394,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - extractDecimalTypeInfoFromBytes
    - fillBytesForDecimalType
    - ASSERT_EQ
    - getDecimalType
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, fillDecimalInfoInBytes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP_
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1400,1
    - Dst: taos_connect
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1409,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1411,1
    - Dst: FAIL
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1412,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1415,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1415,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1415,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1416,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1417,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1418,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1419,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1420,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1422,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1423,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1425,1
    - Dst: FAIL
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1426,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1430,1
    - Dst: taos_field_count
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1431,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1432,1
    - Dst: taos_print_row
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1433,1
    - Dst: taos_fetch_fields_e
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1436,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1437,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1438,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1439,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1440,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1441,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1442,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1443,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1444,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1446,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1448,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1449,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1451,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1452,1
    - Dst: FAIL
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1453,1
    - Dst: taos_fetch_raw_block
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1458,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1460,1
    - Dst: FAIL
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1461,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1465,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1474,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1477,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1478,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1479,1
    - Dst: check_type_mod
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1481,1
    - Dst: check_type_mod
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1487,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1489,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1491,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1493,1
    - Dst: taos_close
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1496
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - taos_print_row
    - c_str
    - ASSERT_EQ
    - FAIL
    - taos_close
    - taos_fetch_raw_block
    - std::string
    - taos_query
    - taos_free_result
    - taos_fetch_fields
    - taos_field_count
    - BitmapLen
    - taos_fetch_row
    - GTEST_SKIP_
    - taos_connect
    - check_type_mod
    - taos_errno
    - taos_errstr
    - taos_fetch_fields_e
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecimalTest, api_taos_fetch_rows)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1509
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(DecimalTest, decimalFromStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128AddCheckOverflow
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1515,1
    - Dst: Numeric::dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1515,1
    - Dst: Numeric::dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1515,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1515,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1516,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1519,1
    - Dst: decimal128AddCheckOverflow
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1519,1
    - Dst: Numeric::dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1519,1
    - Dst: Numeric::dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1519,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1519,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1521,1
    - Dst: decimal128AddCheckOverflow
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1521,1
    - Dst: Numeric::dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1521,1
    - Dst: Numeric::dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1521,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1521,1
    - Dst: ASSERT_OVERFLOW
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1526,1
    - Dst: ASSERT_OVERFLOW
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1527,1
    - Dst: ASSERT_RUNTIME_ERROR
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1528,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1532,1
    - Dst: TEST_decimal64FromDecimal64
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1532,1
    - Dst: Numeric::dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1532,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1534,1
    - Dst: TEST_decimal64FromDecimal128
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1534,1
    - Dst: Numeric::dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1534,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1538,1
    - Dst: TEST_decimal128FromDecimal64
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1538,1
    - Dst: Numeric::dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1539,1
    - Dst: TEST_decimal128FromDecimal128
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1539,1
    - Dst: Numeric::dec
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1540
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - TEST_decimal64FromDecimal128
    - ASSERT_FALSE
    - ASSERT_RUNTIME_ERROR
    - decimal128AddCheckOverflow
    - Numeric::dec
    - DECIMAL_WORD_NUM
    - ASSERT_EQ
    - TEST_decimal128FromDecimal64
    - ASSERT_TRUE
    - TEST_decimal64FromDecimal64
    - ASSERT_OVERFLOW
    - TEST_decimal128FromDecimal128
    linkageType: ''
    returnType: void
    signature: void TEST(decimal, test_add_check_overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1543,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/decimal/test/decimalTest.cpp:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1545
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/decimal/test/decimalTest.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - SIGNED_TYPE
    - ','
    - UNSIGNED_TYPE
    - ','
    - OP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: SAFE_SIGNED_OP
    functionSourceFile: /src/tdengine/source/libs/decimal/inc/wideInteger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_SIGNED_OP(a, b, SIGNED_TYPE, UNSIGNED_TYPE, OP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: SAFE_INT64_ADD
    functionSourceFile: /src/tdengine/source/libs/decimal/inc/wideInteger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_INT64_ADD(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: SAFE_INT64_SUBTRACT
    functionSourceFile: /src/tdengine/source/libs/decimal/inc/wideInteger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_INT64_SUBTRACT(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzll
      Src: /src/tdengine/source/libs/decimal/inc/wideInteger.h:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: countLeadingZeros
    functionSourceFile: /src/tdengine/source/libs/decimal/inc/wideInteger.h
    functionUses: 0
    functionsReached:
    - __builtin_clzll
    linkageType: ''
    returnType: int32_t
    signature: int32_t countLeadingZeros(uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dataType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: DECIMAL_GET_INTERNAL_TYPE
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECIMAL_GET_INTERNAL_TYPE(dataType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - decimalInternalType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: DECIMAL_GET_WORD_NUM
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECIMAL_GET_WORD_NUM(decimalInternalType)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - DecimalInternalType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: maxPrecision
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t maxPrecision(DecimalInternalType type)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:94,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:94,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:94,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:95,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:101,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:101,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:108,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:112,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:120,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:121,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:128,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:132,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:133,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:139,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:142,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 4
    argNames:
    - pLeftT
    - pRightT
    - opType
    - pOutType
    argTypes:
    - SDataType*
    - SDataType*
    - EOperatorType
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 147
    functionName: decimalGetRetType
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 3
    functionsReached:
    - IS_DECIMAL_TYPE
    - IS_NULL_TYPE
    - TMAX
    - TMIN
    - IS_FLOAT_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimalGetRetType(const SDataType* pLeftT, const SDataType*
      pRightT, EOperatorType opType,\n                          SDataType* pOutType)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - prec
    - places
    - exp
    - weight
    - firstValidScale
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: calcCurPrec
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - prec
    - scale
    - exp
    - weight
    - firstValidScale
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: calcActualWeight
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    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: 30
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOpsImp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:184,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:197,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:199,1
    - Dst: calcCurPrec
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:231,1
    - Dst: maxPrecision
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:234,1
    - Dst: maxPrecision
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:238,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:244,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:249,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:255,1
    - Dst: SDecimalOps*::multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:256,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:256,1
    - Dst: SDecimalOps*::add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:259,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:259,1
    - Dst: calcActualWeight
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:271,1
    - Dst: SDecimalOps*::negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:274,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 91
    argCount: 3
    argNames:
    - str
    - len
    - result
    argTypes:
    - char*
    - int32_t
    - DecimalVar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 277
    functionName: decimalVarFromStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - calcActualWeight
    - DECIMAL64_SET_VALUE
    - isdigit
    - TMIN
    - SDecimalOps*::negate
    - DECIMAL_WORD_NUM
    - calcCurPrec
    - SDecimalOps*::multiply
    - getDecimalOpsImp
    - taosStr2Int32
    - SDecimalOps*::add
    - maxPrecision
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimalVarFromStr(const char* str, int32_t len, DecimalVar*
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:280,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dec
    - pVal
    argTypes:
    - Decimal64*
    - SValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: decimal64ToDataVal
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - VALUE_SET_TRIVIAL_DATUM
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal64ToDataVal(const Decimal64* dec, SValue* pVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:285,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:287,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:287,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:288,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dec
    - pVal
    argTypes:
    - Decimal128*
    - SValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: decimal128ToDataVal
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - taosMemCalloc
    - memcpy
    - DECIMAL_WORD_NUM
    - valueSetDatum
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal128ToDataVal(Decimal128* dec, SValue* pVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - precision
    - ','
    - pMax
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: DECIMAL64_GET_MAX
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECIMAL64_GET_MAX(precision, pMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pDec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: DECIMAL64_SIGN
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECIMAL64_SIGN(pDec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:303,1
    - Dst: DECIMAL64_CLONE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:304,1
    - Dst: SDecimalOps*::divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:306,1
    - Dst: SDecimalOps*::abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pDec
    - scale
    - pWhole
    argTypes:
    - DecimalType*
    - int8_t
    - DecimalType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: decimal64GetWhole
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - SDecimalOps*::divide
    - DECIMAL64_CLONE
    - getDecimalOps
    - SDecimalOps*::abs
    linkageType: ''
    returnType: void
    signature: void decimal64GetWhole(const DecimalType* pDec, int8_t scale, DecimalType*
      pWhole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOpsImp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:311,1
    - Dst: DECIMAL64_CLONE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:312,1
    - Dst: SDecimalOps*::mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:314,1
    - Dst: SDecimalOps*::abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pDec
    - scale
    - pFrac
    argTypes:
    - DecimalType*
    - int8_t
    - DecimalType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: decimal64GetFrac
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - getDecimalOpsImp
    - SDecimalOps*::mod
    - DECIMAL64_CLONE
    - SDecimalOps*::abs
    linkageType: ''
    returnType: void
    signature: void decimal64GetFrac(const DecimalType* pDec, int8_t scale, DecimalType*
      pFrac)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - DecimalInternalType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: getDecimalOpsImp
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SDecimalOps
    signature: SDecimalOps * getDecimalOpsImp(DecimalInternalType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOpsImp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:383,1
    - Dst: DECIMAL_GET_INTERNAL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataType
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: getDecimalOps
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 5
    functionsReached:
    - getDecimalOpsImp
    - DECIMAL_GET_INTERNAL_TYPE
    linkageType: ''
    returnType: SDecimalOps
    signature: SDecimalOps * getDecimalOps(int8_t dataType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDec64
    - w
    argTypes:
    - Decimal64*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: makeDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: void
    signature: void makeDecimal64(Decimal64* pDec64, int64_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:389,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pInt
    argTypes:
    - DecimalType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: decimal64Negate
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_SET_VALUE
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: void
    signature: void decimal64Negate(DecimalType* pInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:393,1
    - Dst: TABS
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:393,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pInt
    argTypes:
    - DecimalType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: decimal64Abs
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_SET_VALUE
    - DECIMAL64_GET_VALUE
    - TABS
    linkageType: ''
    returnType: void
    signature: void decimal64Abs(DecimalType* pInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:398,1
    - Dst: SAFE_INT64_ADD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:398,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:398,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: decimal64Add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - SAFE_INT64_ADD
    - DECIMAL64_SET_VALUE
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: void
    signature: void decimal64Add(DecimalType* pLeft, const DecimalType* pRight, uint8_t
      rightWordNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:403,1
    - Dst: SAFE_INT64_SUBTRACT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:403,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:403,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: decimal64Subtract
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_SET_VALUE
    - DECIMAL64_GET_VALUE
    - SAFE_INT64_SUBTRACT
    linkageType: ''
    returnType: void
    signature: void decimal64Subtract(DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:408,1
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:408,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:410,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:411,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:411,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:413,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: decimal64Multiply
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_SET_VALUE
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SIGN
    - decimal64Abs
    - decimal64Negate
    linkageType: ''
    returnType: void
    signature: void decimal64Multiply(DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:420,1
    - Dst: DECIMAL64_SIGN
      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: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:422,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:423,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:423,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:426,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:427,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    - pRemainder
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    - DecimalType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 432
    functionName: decimal64divide
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_SET_VALUE
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SIGN
    - decimal64Abs
    - decimal64Negate
    linkageType: ''
    returnType: void
    signature: void decimal64divide(DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum, DecimalType* pRemainder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:436,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:437,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: decimal64Mod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal64divide
    - DECIMAL64_SET_VALUE
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: void
    signature: void decimal64Mod(DecimalType* pLeft, const DecimalType* pRight, uint8_t
      rightWordNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:442,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: decimal64Lt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: bool
    signature: bool decimal64Lt(const DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:445,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: decimal64Gt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: bool
    signature: bool decimal64Gt(const DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:448,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: decimal64Eq
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: bool
    signature: bool decimal64Eq(const DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:456,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:457,1
    - Dst: decimal64GetWhole
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:459,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:460,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:460,1
    - Dst: decimal64GetFrac
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:462,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:463,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:463,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:464,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:468,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:468,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - pInt
    - scale
    - pBuf
    - bufLen
    argTypes:
    - DecimalType*
    - uint8_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 473
    functionName: decimal64ToStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_GET_VALUE
    - TAOS_STRCAT
    - decimal64GetWhole
    - snprintf
    - decimal64GetFrac
    - TAOS_STRNCPY
    - DECIMAL64_SIGN
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal64ToStr(const DecimalType* pInt, uint8_t scale, char*
      pBuf, int32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pDec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: DECIMAL128_SIGN
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECIMAL128_SIGN(pDec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - scale
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 531
    functionName: getDoubleScaleMultiplier
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double getDoubleScaleMultiplier(uint8_t scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - precision
    - ','
    - pMax
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 547
    functionName: DECIMAL128_GET_MAX
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECIMAL128_GET_MAX(precision, pMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SET_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:549,1
    - Dst: DECIMAL128_SET_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pDec128
    - hi
    - low
    argTypes:
    - Decimal128*
    - int64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: makeDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 3
    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: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:555,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:556,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:559,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:559,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTarget
    - decimal64
    argTypes:
    - Decimal128*
    - Decimal64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 561
    functionName: makeDecimal128FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SIGN
    - decimal128Negate
    - makeDecimal128
    - decimal64Negate
    linkageType: ''
    returnType: void
    signature: void makeDecimal128FromDecimal64(Decimal128* pTarget, Decimal64 decimal64)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:565,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:566,1
    - Dst: SAFE_INT64_ADD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:567,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWord
    argTypes:
    - DecimalType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 569
    functionName: decimal128Negate
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - SAFE_INT64_ADD
    - makeDecimal128
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    linkageType: ''
    returnType: void
    signature: void decimal128Negate(DecimalType* pWord)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:572,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWord
    argTypes:
    - DecimalType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: decimal128Abs
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL128_SIGN
    - decimal128Negate
    linkageType: ''
    returnType: void
    signature: void decimal128Abs(DecimalType* pWord)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rightWordNum
    - ','
    - pTarget
    - ','
    - rightDec
    - ','
    - pWord
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: DECIMAL128_CHECK_RIGHT_WORD_NUM
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECIMAL128_CHECK_RIGHT_WORD_NUM(rightWordNum, pTarget, rightDec, pWord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:588,1
    - Dst: SAFE_INT64_ADD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:590,1
    - Dst: DECIMAL128_HIGH_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:590,1
    - Dst: DECIMAL128_LOW_WORD
      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: SAFE_INT64_ADD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:592,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:592,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 594
    functionName: decimal128Add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL128_HIGH_WORD
    - makeDecimal128
    - SAFE_INT64_ADD
    - DECIMAL128_LOW_WORD
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    linkageType: ''
    returnType: void
    signature: void decimal128Add(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:599,1
    - Dst: SAFE_INT64_SUBTRACT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:601,1
    - Dst: DECIMAL128_HIGH_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:601,1
    - Dst: DECIMAL128_LOW_WORD
      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: SAFE_INT64_SUBTRACT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:603,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:603,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: decimal128Subtract
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL128_HIGH_WORD
    - makeDecimal128
    - DECIMAL128_LOW_WORD
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - SAFE_INT64_SUBTRACT
    linkageType: ''
    returnType: void
    signature: void decimal128Subtract(DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:610,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:612,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:612,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:615,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: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:618,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:619,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:619,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:619,1
    - Dst: uInt128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:620,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:621,1
    - Dst: uInt128Hi
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:621,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:621,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 607
    functionDepth: 4
    functionLinenumber: 607
    functionLinenumberEnd: 623
    functionName: decimal128Multiply
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - uInt128Lo
    - DECIMAL128_HIGH_WORD
    - decimal128Negate
    - makeDecimal128
    - DECIMAL128_LOW_WORD
    - uInt128Multiply
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL128_SIGN
    - uInt128Hi
    - makeUInt128
    - decimal128Abs
    linkageType: ''
    returnType: void
    signature: void decimal128Multiply(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:628,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:630,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:631,1
    - Dst: DECIMAL128_HIGH_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:632,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: decimal128Lt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    linkageType: ''
    returnType: bool
    signature: bool decimal128Lt(const DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:639,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:641,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:641,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:644,1
    - Dst: decimal128Abs
      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_HIGH_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:646,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:647,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:647,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:647,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:648,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:648,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:648,1
    - Dst: uInt128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:649,1
    - Dst: uInt128Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:650,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:651,1
    - Dst: uInt128Hi
      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: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:652,1
    - Dst: uInt128Hi
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:652,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:652,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:653,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    - pRemainder
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    - DecimalType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 635
    functionDepth: 4
    functionLinenumber: 635
    functionLinenumberEnd: 655
    functionName: decimal128Divide
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - uInt128Divide
    - uInt128Lo
    - DECIMAL128_HIGH_WORD
    - decimal128Negate
    - makeDecimal128
    - DECIMAL128_LOW_WORD
    - uInt128Mod
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL128_SIGN
    - uInt128Hi
    - makeUInt128
    - decimal128Abs
    linkageType: ''
    returnType: void
    signature: "void decimal128Divide(DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum,\n                             DecimalType* pRemainder)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:659,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:661,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 5
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: decimal128Mod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - decimal128Divide
    - DECIMAL_WORD_NUM
    linkageType: ''
    returnType: void
    signature: void decimal128Mod(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:668,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:670,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 671
    functionName: decimal128Gt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL_WORD_NUM
    - decimal128Lt
    linkageType: ''
    returnType: bool
    signature: bool decimal128Gt(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:676,1
    - Dst: DECIMAL128_HIGH_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:678,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:679,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 680
    functionName: decimal128Eq
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    linkageType: ''
    returnType: bool
    signature: bool decimal128Eq(const DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:687,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:687,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:687,1
    - Dst: uInt128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:688,1
    - Dst: uInt128Hi
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:689,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:690,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:694,1
    - Dst: uInt128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:695,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:696,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:697,1
    - Dst: uInt128Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:698,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:699,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pDec
    - digits
    - digitNum
    argTypes:
    - Decimal128*
    - uint64_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 703
    functionName: extractDecimal128Digits
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - uInt128Eq
    - uInt128Divide
    - uInt128Lo
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    - uInt128Mod
    - uInt128Hi
    - makeUInt128
    linkageType: ''
    returnType: void
    signature: void extractDecimal128Digits(const Decimal128* pDec, uint64_t* digits,
      int32_t* digitNum)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:708,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:715,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:715,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:715,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:716,1
    - Dst: extractDecimal128Digits
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:717,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:718,1
    - Dst: extractDecimal128Digits
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:720,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:723,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:727,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:731,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:733,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: TABS
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:738,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:739,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:739,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:741,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - pInt
    - scale
    - pBuf
    - bufLen
    argTypes:
    - DecimalType*
    - uint8_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 705
    functionDepth: 4
    functionLinenumber: 705
    functionLinenumberEnd: 743
    functionName: decimal128ToStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - TMAX
    - DECIMAL128_HIGH_WORD
    - makeDecimal128
    - snprintf
    - DECIMAL128_LOW_WORD
    - extractDecimal128Digits
    - DECIMAL128_SIGN
    - TAOS_STRNCPY
    - TABS
    - TAOS_STRNCAT
    - decimal128Abs
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal128ToStr(const DecimalType* pInt, uint8_t scale, char*
      pBuf, int32_t bufLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL_GET_INTERNAL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:746,1
    - Dst: decimal64ToStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:749,1
    - Dst: decimal128ToStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - pDec
    - dataType
    - precision
    - scale
    - pBuf
    - bufLen
    argTypes:
    - DecimalType*
    - int8_t
    - int8_t
    - int8_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 744
    functionDepth: 5
    functionLinenumber: 744
    functionLinenumberEnd: 756
    functionName: decimalToStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 7
    functionsReached:
    - decimal128ToStr
    - decimal64ToStr
    - DECIMAL_GET_INTERNAL_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimalToStr(const DecimalType* pDec, int8_t dataType, int8_t
      precision, int8_t scale, char* pBuf,\n                     int32_t bufLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:761,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:761,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:762,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:762,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:764,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:765,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:766,1
    - Dst: decimal128Subtract
      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: decimal128Gt
      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: decimal128Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:773,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:773,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:774,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:776,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:776,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:779,1
    - Dst: decimal128AddCheckOverflow
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:780,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:780,1
    - Dst: decimal128Add
      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: decimal128AddCheckOverflow
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:784,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:784,1
    - Dst: decimal128Add
      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: decimal128Multiply
      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: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:789,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 758
    functionDepth: 5
    functionLinenumber: 758
    functionLinenumberEnd: 792
    functionName: decimalAddLargePositive
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal128ScaleUp
    - TMAX
    - decimal128Divide
    - decimal128AddCheckOverflow
    - decimal128Subtract
    - DECIMAL_WORD_NUM
    - makeDecimal128
    - decimal128Gt
    - decimal128Add
    - decimal128ScaleDown
    - decimal128Multiply
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimalAddLargePositive(Decimal* pX, const SDataType* pXT,
      const Decimal* pY, const SDataType* pYT,\n                                    const
      SDataType* pOT)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:797,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:797,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:798,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:798,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:800,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:801,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:802,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: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:805,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:805,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:807,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:807,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:807,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:808,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:808,1
    - Dst: decimal128Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:809,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:809,1
    - Dst: decimal128Gt
      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: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:810,1
    - Dst: decimal128Subtract
      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: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:812,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:812,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:815,1
    - Dst: decimal128Multiply
      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
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:817,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 794
    functionDepth: 5
    functionLinenumber: 794
    functionLinenumberEnd: 819
    functionName: decimalAddLargeNegative
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal128ScaleUp
    - TMAX
    - decimal128Divide
    - decimal128Subtract
    - DECIMAL_WORD_NUM
    - decimal128Gt
    - DECIMAL128_SIGN
    - decimal128Add
    - decimal128ScaleDown
    - decimal128Multiply
    linkageType: ''
    returnType: void
    signature: "void decimalAddLargeNegative(Decimal* pX, const SDataType* pXT, const
      Decimal* pY, const SDataType* pYT,\n                                    const
      SDataType* pOT)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:825,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:827,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:828,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:829,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:829,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:831,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:831,1
    - Dst: decimalAddLargePositive
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:833,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:835,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:837,1
    - Dst: decimalAddLargePositive
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:838,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:839,1
    - Dst: decimalAddLargeNegative
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:841,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 821
    functionDepth: 6
    functionLinenumber: 821
    functionLinenumberEnd: 845
    functionName: decimalAdd
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimalAddLargeNegative
    - TMAX
    - decimal128ScaleTo
    - decimal128Negate
    - DECIMAL_WORD_NUM
    - decimalAddLargePositive
    - DECIMAL128_SIGN
    - decimal128Add
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimalAdd(Decimal* pX, const SDataType* pXT, const Decimal*
      pY, const SDataType* pYT,\n                       const SDataType* pOT)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:848,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:850,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:851,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:851,1
    - Dst: makeInt256
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:852,1
    - Dst: int256Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pTarget
    - pDec
    argTypes:
    - Int256*
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 847
    functionDepth: 4
    functionLinenumber: 847
    functionLinenumberEnd: 856
    functionName: makeInt256FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - makeInt256
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    - DECIMAL128_SIGN
    - int256Negate
    - decimal128Abs
    linkageType: ''
    returnType: void
    signature: void makeInt256FromDecimal128(Int256* pTarget, const Decimal128* pDec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:862,1
    - Dst: int256Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:863,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:866,1
    - Dst: int256Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:867,1
    - Dst: int256Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:868,1
    - Dst: int256RightShift
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:869,1
    - Dst: int256Abs
      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: int256Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:872,1
    - Dst: int256Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:873,1
    - Dst: int256Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pX
    - scale
    argTypes:
    - Int256*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 858
    functionDepth: 5
    functionLinenumber: 858
    functionLinenumberEnd: 880
    functionName: int256ScaleBy
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - int256Gt
    - int256Subtract
    - int256Divide
    - int256Abs
    - int256RightShift
    - int256Add
    - int256Mod
    - int256Multiply
    - makeInt256FromDecimal128
    linkageType: ''
    returnType: Int256
    signature: Int256 int256ScaleBy(const Int256* pX, int32_t scale)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: int256Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:884,1
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:885,1
    - Dst: int256Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:886,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:887,1
    - Dst: uInt128Hi
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:888,1
    - Dst: int256RightShift
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:889,1
    - Dst: int256Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:891,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:896,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:897,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:897,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pX
    - pDec
    argTypes:
    - Int256*
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 882
    functionDepth: 3
    functionLinenumber: 882
    functionLinenumberEnd: 905
    functionName: convertInt256ToDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - uInt128Lo
    - int256Lt
    - int256Gt
    - decimal128Negate
    - makeDecimal128
    - DECIMAL_WORD_NUM
    - int256Abs
    - int256Lo
    - int256RightShift
    - decimal128Gt
    - uInt128Hi
    linkageType: ''
    returnType: bool
    signature: bool convertInt256ToDecimal128(const Int256* pX, Decimal128* pDec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Multiply
      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: 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: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:912,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:912,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:913,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:917,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:918,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:923,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:923,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:924,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:924,1
    - Dst: decimal128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:927,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:927,1
    - Dst: decimal128CountLeadingBinaryZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:930,1
    - Dst: decimal128CountLeadingBinaryZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:930,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:934,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:935,1
    - Dst: int256Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:936,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:938,1
    - Dst: convertInt256ToDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:940,1
    - Dst: decimal128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:945,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:945,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:946,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:948,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 907
    functionDepth: 6
    functionLinenumber: 907
    functionLinenumberEnd: 954
    functionName: decimalMultiply
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal128Multiply
    - convertInt256ToDecimal128
    - int256ScaleBy
    - decimal128Divide
    - decimal128ScaleDown
    - decimal128Eq
    - makeDecimal128
    - DECIMAL_WORD_NUM
    - decimal128Gt
    - makeInt256FromDecimal128
    - int256Multiply
    - decimal128CountLeadingBinaryZeros
    - decimal128Abs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimalMultiply(Decimal* pX, const SDataType* pXT, const Decimal*
      pY, const SDataType* pYT,\n                               const SDataType* pOT)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:958,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:958,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:965,1
    - Dst: decimal128CountLeadingBinaryZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:966,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:969,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:971,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:971,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:974,1
    - Dst: decimal128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:975,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:975,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:976,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:977,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:977,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:978,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:978,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:979,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:979,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:984,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:985,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:986,1
    - Dst: int256Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:987,1
    - Dst: int256Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:988,1
    - Dst: int256Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:990,1
    - Dst: int256Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:991,1
    - Dst: int256Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:992,1
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:993,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:994,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:994,1
    - Dst: int256Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:995,1
    - Dst: int256Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:997,1
    - Dst: convertInt256ToDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1000,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 956
    functionDepth: 6
    functionLinenumber: 956
    functionLinenumberEnd: 1004
    functionName: decimalDivide
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal128Divide
    - int256Divide
    - int256Subtract
    - decimal128Abs
    - convertInt256ToDecimal128
    - decimal128Lt
    - int256ScaleBy
    - DECIMAL128_SIGN
    - int256Mod
    - int256Multiply
    - decimal128Multiply
    - decimal128CountLeadingBinaryZeros
    - decimal128ScaleUp
    - int256Lt
    - decimal128Eq
    - DECIMAL_WORD_NUM
    - int256Abs
    - int256Add
    - decimal128Add
    - makeInt256FromDecimal128
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimalDivide(Decimal* pX, const SDataType* pXT, const Decimal*
      pY, const SDataType* pYT,\n                      const SDataType* pOT)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1008,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1008,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1012,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1013,1
    - Dst: decimal128CountLeadingBinaryZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1014,1
    - Dst: decimal128CountLeadingBinaryZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1014,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1022,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: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1027,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1027,1
    - Dst: decimal128Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1028,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1028,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1031,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1032,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1034,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1036,1
    - Dst: int256Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1038,1
    - Dst: convertInt256ToDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1039,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1006
    functionDepth: 6
    functionLinenumber: 1006
    functionLinenumberEnd: 1044
    functionName: decimalMod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - convertInt256ToDecimal128
    - int256ScaleBy
    - TMAX
    - TMIN
    - decimal128ScaleTo
    - decimal128Mod
    - decimal128Eq
    - DECIMAL_WORD_NUM
    - makeInt256FromDecimal128
    - int256Mod
    - decimal128CountLeadingBinaryZeros
    - decimal128Abs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimalMod(Decimal* pX, const SDataType* pXT, const Decimal*
      pY, const SDataType* pYT,\n                          const SDataType* pOT)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1061,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1067,1
    - Dst: decimal128ToStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1075,1
    - Dst: decimal128ToStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1076,1
    - Dst: decimalAdd
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1081,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1084,1
    - Dst: decimalAdd
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1085,1
    - Dst: decimalMultiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1088,1
    - Dst: decimalDivide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1091,1
    - Dst: decimalMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1094,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1097,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1106,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 7
    argNames:
    - op
    - pLeftT
    - pRightT
    - pOutT
    - pLeftData
    - pRightData
    - pOutputData
    argTypes:
    - EOperatorType
    - SDataType*
    - SDataType*
    - SDataType*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1046
    functionDepth: 7
    functionLinenumber: 1046
    functionLinenumberEnd: 1111
    functionName: decimalOp
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 3
    functionsReached:
    - decimal128ToStr
    - convertToDecimal
    - decimal128Negate
    - decimalAdd
    - decimalMultiply
    - decimalMod
    - decimalDivide
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimalOp(EOperatorType op, const SDataType* pLeftT, const
      SDataType* pRightT, const SDataType* pOutT,\n                  const void* pLeftData,
      const void* pRightData, void* pOutputData)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1116,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1116,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1118,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1118,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1120,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1120,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1122,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1122,1
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1124,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1124,1
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1126,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - op
    - pLeftDec
    - pRightDec
    argTypes:
    - EOperatorType
    - Decimal128*
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1113
    functionDepth: 3
    functionLinenumber: 1113
    functionLinenumberEnd: 1131
    functionName: doCompareDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - decimal128Lt
    - decimal128Eq
    linkageType: ''
    returnType: bool
    signature: bool doCompareDecimal128(EOperatorType op, const Decimal128* pLeftDec,
      const Decimal128* pRightDec)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1136,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1137,1
    - Dst: makeDecimal128FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1147,1
    - Dst: makeDecimal128FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1148,1
    - Dst: doCompareDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1149,1
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1152,1
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1154,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1161,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1161,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1163,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1163,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1165,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1165,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1167,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1167,1
    - Dst: decimal64Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1169,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1169,1
    - Dst: decimal64Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1171,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - op
    - pLeft
    - pRight
    argTypes:
    - EOperatorType
    - SDecimalCompareCtx*
    - SDecimalCompareCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1133
    functionDepth: 4
    functionLinenumber: 1133
    functionLinenumberEnd: 1176
    functionName: decimal64Compare
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - doCompareDecimal128
    - decimal64Lt
    - decimal64Gt
    - makeDecimal128FromDecimal64
    - decimal64ScaleUp
    - DECIMAL_WORD_NUM
    - decimal64Eq
    - decimalFromTypeMod
    linkageType: ''
    returnType: bool
    signature: bool decimal64Compare(EOperatorType op, const SDecimalCompareCtx* pLeft,
      const SDecimalCompareCtx* pRight)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: decimal64Compare
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1180,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1184,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1185,1
    - Dst: makeDecimal128FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1189,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1192,1
    - Dst: decimalCompare
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1193,1
    - Dst: makeDecimal128FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1196,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1199,1
    - Dst: decimalCompare
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1200,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1210,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1211,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1213,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1215,1
    - Dst: int256Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1219,1
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1221,1
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1223,1
    - Dst: int256Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1225,1
    - Dst: int256Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1227,1
    - Dst: int256Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1229,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1236,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1238,1
    - Dst: doCompareDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1242,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 3
    argNames:
    - op
    - pLeft
    - pRight
    argTypes:
    - EOperatorType
    - SDecimalCompareCtx*
    - SDecimalCompareCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1178
    functionDepth: 6
    functionLinenumber: 1178
    functionLinenumberEnd: 1243
    functionName: decimalCompare
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - doCompareDecimal128
    - decimal128ScaleUp
    - int256ScaleBy
    - int256Lt
    - int256Eq
    - decimal64Compare
    - int256Gt
    - makeDecimal128FromDecimal64
    - decimalCompare
    - decimalCalcTypeMod
    - makeInt256FromDecimal128
    - decimalFromTypeMod
    linkageType: ''
    returnType: bool
    signature: bool decimalCompare(EOperatorType op, const SDecimalCompareCtx* pLeft,
      const SDecimalCompareCtx* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1246
    functionName: ABS_INT64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS_INT64(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1247
    functionName: ABS_UINT64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS_UINT64(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decimal64RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1251,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1255
    functionName: int64FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal64RoundWithPositiveScale
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: int64_t
    signature: int64_t int64FromDecimal64(const DecimalType* pDec, uint8_t prec, uint8_t
      scale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decimal64RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1260,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1264
    functionName: uint64FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal64RoundWithPositiveScale
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t uint64FromDecimal64(const DecimalType* pDec, uint8_t prec,
      uint8_t scale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1268,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1269,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1269,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1272,1
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1275
    functionName: decimal64FromInt64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal64ScaleUp
    - DECIMAL64_GET_MAX
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal64FromInt64(DecimalType* pDec, uint8_t prec, uint8_t
      scale, int64_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1279,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1280,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1281,1
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1284
    functionName: decimal64FromUint64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal64ScaleUp
    - DECIMAL64_GET_MAX
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal64FromUint64(DecimalType* pDec, uint8_t prec, uint8_t
      scale, uint64_t val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getDoubleScaleMultiplier
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1287,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1288,1
    - Dst: round
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1291,1
    - Dst: TABS
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1294,1
    - Dst: ldexp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1295,1
    - Dst: makeDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1300,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1302,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1303,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1303,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1304,1
    - Dst: makeDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1286
    functionDepth: 2
    functionLinenumber: 1286
    functionLinenumberEnd: 1310
    functionName: decimal64FromDouble
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - makeDecimal64
    - decimal64Gt
    - DECIMAL64_GET_MAX
    - ldexp
    - DECIMAL_WORD_NUM
    - round
    - getDoubleScaleMultiplier
    - isnan
    - TABS
    - decimal64Negate
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal64FromDouble(DecimalType* pDec, uint8_t prec, uint8_t
      scale, double val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1315,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1316,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1320,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1321,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1322,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1322,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1325,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1326,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1326,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1327,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1328,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1328,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - pDec
    - prec
    - scale
    - pVal
    - valPrec
    - valScale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - DecimalType*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1312
    functionDepth: 3
    functionLinenumber: 1312
    functionLinenumberEnd: 1333
    functionName: decimal64FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - DECIMAL64_SET_VALUE
    - decimal64Lt
    - DECIMAL64_GET_MAX
    - decimal128ScaleTo
    - decimal128Negate
    - DECIMAL_WORD_NUM
    - DECIMAL128_LOW_WORD
    - decimal128Gt
    - DECIMAL128_SIGN
    - decimal128ScaleDown
    - decimal64Negate
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimal64FromDecimal128(DecimalType* pDec, uint8_t prec, uint8_t
      scale, const DecimalType* pVal,\n                                       uint8_t
      valPrec, uint8_t valScale)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1338,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1339,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1342,1
    - Dst: decimal64ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1343,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1344,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1344,1
    - Dst: decimal64ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1347,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1348,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1349,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1349,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - pDec
    - prec
    - scale
    - pVal
    - valPrec
    - valScale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - DecimalType*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1354
    functionName: decimal64FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal64ScaleDown
    - decimal64Lt
    - decimal64ScaleTo
    - DECIMAL64_GET_MAX
    - DECIMAL64_SIGN
    - DECIMAL_WORD_NUM
    - decimal64Negate
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimal64FromDecimal64(DecimalType* pDec, uint8_t prec, uint8_t
      scale, const DecimalType* pVal,\n                                      uint8_t
      valPrec, uint8_t valScale)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decimal128RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1359,1
    - Dst: decimal128FromInt64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1364,1
    - Dst: decimal128FromInt64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1365,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1366,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1366,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1366,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1366,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1368,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1356
    functionDepth: 3
    functionLinenumber: 1356
    functionLinenumberEnd: 1372
    functionName: int64FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal128Lt
    - decimal128RoundWithPositiveScale
    - DECIMAL_WORD_NUM
    - DECIMAL128_LOW_WORD
    - decimal128Gt
    - decimal128FromInt64
    linkageType: ''
    returnType: int64_t
    signature: int64_t int64FromDecimal128(const DecimalType* pDec, uint8_t prec,
      uint8_t scale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decimal128RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1377,1
    - Dst: decimal128FromUint64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1381,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1382,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1382,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1383,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1383,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1385,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1374
    functionDepth: 3
    functionLinenumber: 1374
    functionLinenumberEnd: 1388
    functionName: uint64FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal128Lt
    - decimal128FromUint64
    - DECIMAL_WORD_NUM
    - DECIMAL128_LOW_WORD
    - decimal128Gt
    - decimal128RoundWithPositiveScale
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t uint64FromDecimal128(const DecimalType* pDec, uint8_t prec,
      uint8_t scale)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1393,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1394,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1394,1
    - Dst: ABS_INT64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1396,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1397,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1398,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1390
    functionDepth: 3
    functionLinenumber: 1390
    functionLinenumberEnd: 1401
    functionName: decimal128FromInt64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal128ScaleUp
    - DECIMAL64_GET_VALUE
    - DECIMAL64_GET_MAX
    - decimal128Negate
    - makeDecimal128
    - ABS_INT64
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal128FromInt64(DecimalType* pDec, uint8_t prec, uint8_t
      scale, int64_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1406,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1407,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1408,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1408,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1412,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1403
    functionDepth: 3
    functionLinenumber: 1403
    functionLinenumberEnd: 1415
    functionName: decimal128FromUint64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal128ScaleUp
    - makeDecimal128
    - DECIMAL_WORD_NUM
    - DECIMAL128_GET_MAX
    - decimal128Gt
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal128FromUint64(DecimalType* pDec, uint8_t prec, uint8_t
      scale, uint64_t val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getDoubleScaleMultiplier
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1418,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1419,1
    - Dst: round
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1422,1
    - Dst: TABS
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1425,1
    - Dst: ldexp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1426,1
    - Dst: ldexp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1430,1
    - Dst: ldexp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1430,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1431,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1433,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1434,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1434,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1417
    functionDepth: 3
    functionLinenumber: 1417
    functionLinenumberEnd: 1441
    functionName: decimal128FromDouble
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - ldexp
    - decimal128Negate
    - makeDecimal128
    - DECIMAL_WORD_NUM
    - round
    - getDoubleScaleMultiplier
    - isnan
    - DECIMAL128_GET_MAX
    - decimal128Gt
    - TABS
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal128FromDouble(DecimalType* pDec, uint8_t prec, uint8_t
      scale, double val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1446,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1447,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1449,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1449,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1451,1
    - Dst: decimal64ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1452,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1453,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1453,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1456,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1457,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1458,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1458,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - pDec
    - prec
    - scale
    - pVal
    - valPrec
    - valScale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - DecimalType*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1443
    functionDepth: 3
    functionLinenumber: 1443
    functionLinenumberEnd: 1463
    functionName: decimal128FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal64ScaleDown
    - DECIMAL64_GET_VALUE
    - decimal128Lt
    - decimal128ScaleTo
    - DECIMAL64_SIGN
    - decimal128Negate
    - makeDecimal128
    - DECIMAL_WORD_NUM
    - DECIMAL128_GET_MAX
    - decimal64Negate
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimal128FromDecimal64(DecimalType* pDec, uint8_t prec, uint8_t
      scale, const DecimalType* pVal,\n                                       uint8_t
      valPrec, uint8_t valScale)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1467,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1469,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1473,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1474,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1475,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1475,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1478,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1479,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1480,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1480,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - pDec
    - prec
    - scale
    - pVal
    - valPrec
    - valScale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - DecimalType*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1465
    functionDepth: 3
    functionLinenumber: 1465
    functionLinenumberEnd: 1485
    functionName: decimal128FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal128Lt
    - decimal128ScaleTo
    - decimal128Negate
    - DECIMAL_WORD_NUM
    - DECIMAL128_GET_MAX
    - DECIMAL128_SIGN
    - decimal128ScaleDown
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimal128FromDecimal128(DecimalType* pDec, uint8_t prec,
      uint8_t scale, const DecimalType* pVal,\n                                        uint8_t
      valPrec, uint8_t valScale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - pData
    - ','
    - pInputType
    - ','
    - pOut
    - ','
    - pOutType
    - ','
    - decimal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1559
    functionName: CONVERT_TO_DECIMAL
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERT_TO_DECIMAL(pData, pInputType, pOut, pOutType, decimal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONVERT_TO_DECIMAL
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1565,1
    - Dst: CONVERT_TO_DECIMAL
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - pData
    - pInputType
    - pOut
    - pOutType
    argTypes:
    - void*
    - SDataType*
    - void*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1575
    functionName: convertToDecimal
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 5
    functionsReached:
    - CONVERT_TO_DECIMAL
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertToDecimal(const void* pData, const SDataType* pInputType,
      void* pOut, const SDataType* pOutType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decimal64divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1580,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1580,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1582,1
    - Dst: decimal64divide
      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: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1585,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1585,1
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1586,1
    - Dst: decimal64Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1587,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pDec
    - scaleDown
    - round
    argTypes:
    - Decimal64*
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1591
    functionName: decimal64ScaleDown
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 2
    functionsReached:
    - decimal64Add
    - decimal64Lt
    - DECIMAL_WORD_NUM
    - decimal64Abs
    - decimal64divide
    - DECIMAL64_SIGN
    linkageType: ''
    returnType: void
    signature: void decimal64ScaleDown(Decimal64* pDec, uint8_t scaleDown, bool round)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decimal64Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1596,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pDec
    - scaleUp
    argTypes:
    - Decimal64*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1593
    functionDepth: 3
    functionLinenumber: 1593
    functionLinenumberEnd: 1598
    functionName: decimal64ScaleUp
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 3
    functionsReached:
    - DECIMAL_WORD_NUM
    - decimal64Multiply
    linkageType: ''
    returnType: void
    signature: void decimal64ScaleUp(Decimal64* pDec, uint8_t scaleUp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1602,1
    - Dst: decimal64ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pDec
    - oldScale
    - newScale
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1600
    functionDepth: 4
    functionLinenumber: 1600
    functionLinenumberEnd: 1605
    functionName: decimal64ScaleTo
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal64ScaleUp
    - decimal64ScaleDown
    linkageType: ''
    returnType: void
    signature: void decimal64ScaleTo(Decimal64* pDec, uint8_t oldScale, uint8_t newScale)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1612,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1614,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1615,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1615,1
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1618,1
    - Dst: decimal64ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1622,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1623,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1625,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1626,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1626,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - pDec
    - scale
    - toPrec
    - toScale
    - overflow
    argTypes:
    - Decimal64*
    - int8_t
    - uint8_t
    - uint8_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1607
    functionDepth: 4
    functionLinenumber: 1607
    functionLinenumberEnd: 1632
    functionName: decimal64ScaleAndCheckOverflow
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal64ScaleDown
    - decimal64Gt
    - DECIMAL64_GET_MAX
    - decimal64ScaleUp
    - DECIMAL_WORD_NUM
    - decimal64Abs
    linkageType: ''
    returnType: void
    signature: "void decimal64ScaleAndCheckOverflow(Decimal64* pDec, int8_t scale,
      uint8_t toPrec, uint8_t toScale,\n                                           bool*
      overflow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: decimal64Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1643,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1643,1
    - Dst: decimal64Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1644,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1644,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1649,1
    - Dst: decimal64divide
      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: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1651,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1651,1
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1655,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - pDec
    - scale
    - toScale
    - roundType
    argTypes:
    - Decimal64*
    - int8_t
    - int8_t
    - DecimalRoundType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1634
    functionDepth: 4
    functionLinenumber: 1634
    functionLinenumberEnd: 1661
    functionName: decimal64CountRoundingDelta
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - decimal64Lt
    - DECIMAL_WORD_NUM
    - decimal64Eq
    - decimal64Mod
    - decimal64Abs
    - decimal64divide
    - DECIMAL64_SIGN
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimal64CountRoundingDelta(const Decimal64* pDec, int8_t
      scale, int8_t toScale,\n                                           DecimalRoundType
      roundType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decimal64ScaleAndCheckOverflow
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1668,1
    - Dst: decimal64CountRoundingDelta
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1676,1
    - Dst: decimal64Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1684,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1684,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1689,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1691,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1692,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 7
    argNames:
    - pDec
    - prec
    - scale
    - toPrec
    - toScale
    - roundType
    - overflow
    argTypes:
    - Decimal64*
    - uint8_t
    - int8_t
    - uint8_t
    - uint8_t
    - DecimalRoundType
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1663
    functionDepth: 5
    functionLinenumber: 1663
    functionLinenumberEnd: 1699
    functionName: decimal64RoundWithPositiveScale
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 2
    functionsReached:
    - decimal64Add
    - decimal64CountRoundingDelta
    - decimal64Gt
    - DECIMAL64_GET_MAX
    - DECIMAL_WORD_NUM
    - decimal64Abs
    - decimal64ScaleAndCheckOverflow
    linkageType: ''
    returnType: void
    signature: "void decimal64RoundWithPositiveScale(Decimal64* pDec, uint8_t prec,
      int8_t scale, uint8_t toPrec,\n                                            uint8_t
      toScale, DecimalRoundType roundType, bool* overflow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1704,1
    - Dst: decimalVarFromStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1705,1
    - Dst: decimal64RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - str
    - len
    - expectPrecision
    - expectScale
    - pRes
    argTypes:
    - char*
    - int32_t
    - uint8_t
    - uint8_t
    - Decimal64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1701
    functionDepth: 6
    functionLinenumber: 1701
    functionLinenumberEnd: 1717
    functionName: decimal64FromStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 6
    functionsReached:
    - DECIMAL64_SET_VALUE
    - decimal64RoundWithPositiveScale
    - decimalVarFromStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal64FromStr(const char* str, int32_t len, uint8_t expectPrecision,
      uint8_t expectScale, Decimal64* pRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1722,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1724,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1726,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1727,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1727,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1728,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1729,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pDec
    - scaleDown
    - round
    argTypes:
    - Decimal128*
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1719
    functionDepth: 5
    functionLinenumber: 1719
    functionLinenumberEnd: 1733
    functionName: decimal128ScaleDown
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 5
    functionsReached:
    - decimal128Lt
    - decimal128Divide
    - DECIMAL_WORD_NUM
    - DECIMAL128_SIGN
    - decimal128Add
    - decimal128Abs
    linkageType: ''
    returnType: void
    signature: void decimal128ScaleDown(Decimal128* pDec, uint8_t scaleDown, bool
      round)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1738,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pDec
    - scaleUp
    argTypes:
    - Decimal128*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1735
    functionDepth: 5
    functionLinenumber: 1735
    functionLinenumberEnd: 1740
    functionName: decimal128ScaleUp
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 6
    functionsReached:
    - DECIMAL_WORD_NUM
    - decimal128Multiply
    linkageType: ''
    returnType: void
    signature: void decimal128ScaleUp(Decimal128* pDec, uint8_t scaleUp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1744,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pDec
    - oldScale
    - newScale
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1742
    functionDepth: 6
    functionLinenumber: 1742
    functionLinenumberEnd: 1747
    functionName: decimal128ScaleTo
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 5
    functionsReached:
    - decimal128ScaleUp
    - decimal128ScaleDown
    linkageType: ''
    returnType: void
    signature: void decimal128ScaleTo(Decimal128* pDec, uint8_t oldScale, uint8_t
      newScale)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SET_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1753,1
    - Dst: DECIMAL128_SET_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1754,1
    - Dst: decimalVarFromStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1755,1
    - Dst: decimal128RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - str
    - len
    - expectPrecision
    - expectScale
    - pRes
    argTypes:
    - char*
    - int32_t
    - uint8_t
    - uint8_t
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1749
    functionDepth: 3
    functionLinenumber: 1749
    functionLinenumberEnd: 1767
    functionName: decimal128FromStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 6
    functionsReached:
    - DECIMAL128_SET_HIGH_WORD
    - DECIMAL128_SET_LOW_WORD
    - decimal128RoundWithPositiveScale
    - decimalVarFromStr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimal128FromStr(const char* str, int32_t len, uint8_t expectPrecision,
      uint8_t expectScale,\n                          Decimal128* pRes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1772,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pDec
    argTypes:
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1770
    functionDepth: 1
    functionLinenumber: 1770
    functionLinenumberEnd: 1776
    functionName: decimal128ToInt128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    linkageType: ''
    returnType: __int128
    signature: __int128 decimal128ToInt128(const Decimal128* pDec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1780,1
    - Dst: countLeadingZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1781,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1781,1
    - Dst: countLeadingZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1783,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pDec
    argTypes:
    - Decimal128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1779
    functionDepth: 1
    functionLinenumber: 1779
    functionLinenumberEnd: 1785
    functionName: decimal128CountLeadingBinaryZeros
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 3
    functionsReached:
    - DECIMAL128_HIGH_WORD
    - countLeadingZeros
    - DECIMAL128_LOW_WORD
    linkageType: ''
    returnType: int32_t
    signature: int32_t decimal128CountLeadingBinaryZeros(const Decimal128* pDec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - oType
    - ','
    - decimalType
    - ','
    - sign
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1791
    functionName: IMPL_INTEGER_TYPE_FROM_DECIMAL_TYPE
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_INTEGER_TYPE_FROM_DECIMAL_TYPE(oType, decimalType, sign)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - oType
    - ','
    - decimalType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1793
    functionName: IMP_SIGNED_INTEGER_TYPE_FROM_DECIMAL_TYPE
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMP_SIGNED_INTEGER_TYPE_FROM_DECIMAL_TYPE(oType, decimalType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - oType
    - ','
    - decimalType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1795
    functionName: IMP_UNSIGNED_INTEGER_TYPE_FROM_DECIMAL_TYPE
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMP_UNSIGNED_INTEGER_TYPE_FROM_DECIMAL_TYPE(oType, decimalType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1807,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1809,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1810,1
    - Dst: getDoubleScaleMultiplier
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1806
    functionDepth: 2
    functionLinenumber: 1806
    functionLinenumberEnd: 1811
    functionName: doubleFromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - getDoubleScaleMultiplier
    - DECIMAL64_GET_VALUE
    - decimal64Abs
    - DECIMAL64_SIGN
    linkageType: ''
    returnType: double
    signature: double doubleFromDecimal64(const void* pDec, uint8_t prec, uint8_t
      scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1814,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1813
    functionDepth: 2
    functionLinenumber: 1813
    functionLinenumberEnd: 1815
    functionName: boolFromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL_WORD_NUM
    - decimal64Eq
    linkageType: ''
    returnType: bool
    signature: bool boolFromDecimal64(const void* pDec, uint8_t prec, uint8_t scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - oType
    - ','
    - decimalType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1821
    functionName: IMPL_REAL_TYPE_FROM_DECIMAL_TYPE
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_REAL_TYPE_FROM_DECIMAL_TYPE(oType, decimalType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1835,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1834
    functionDepth: 2
    functionLinenumber: 1834
    functionLinenumberEnd: 1836
    functionName: boolFromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL_WORD_NUM
    - decimal128Eq
    linkageType: ''
    returnType: bool
    signature: bool boolFromDecimal128(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:1839,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1841,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1842,1
    - Dst: ldexp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1843,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1843,1
    - Dst: getDoubleScaleMultiplier
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1838
    functionDepth: 4
    functionLinenumber: 1838
    functionLinenumberEnd: 1845
    functionName: doubleFromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL128_HIGH_WORD
    - ldexp
    - getDoubleScaleMultiplier
    - DECIMAL128_LOW_WORD
    - DECIMAL128_SIGN
    - decimal128Abs
    linkageType: ''
    returnType: double
    signature: double doubleFromDecimal128(const void* pDec, uint8_t prec, uint8_t
      scale)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decimal128ModifyScaleAndPrecision
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1854,1
    - Dst: decimal128CountRoundingDelta
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1862,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1870,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1870,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1875,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1877,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1878,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1878,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 7
    argNames:
    - pDec
    - prec
    - scale
    - toPrec
    - toScale
    - roundType
    - overflow
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - DecimalRoundType
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1849
    functionDepth: 4
    functionLinenumber: 1849
    functionLinenumberEnd: 1885
    functionName: decimal128RoundWithPositiveScale
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 3
    functionsReached:
    - decimal128Abs
    - DECIMAL_WORD_NUM
    - decimal128ModifyScaleAndPrecision
    - DECIMAL128_GET_MAX
    - decimal128Add
    - decimal128Gt
    - decimal128CountRoundingDelta
    linkageType: ''
    returnType: void
    signature: "void decimal128RoundWithPositiveScale(Decimal128* pDec, uint8_t prec,
      uint8_t scale, uint8_t toPrec,\n                                             uint8_t
      toScale, DecimalRoundType roundType, bool* overflow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1892,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1894,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1895,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1895,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1898,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1902,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1903,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1904,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - pDec
    - scale
    - toPrec
    - toScale
    - overflow
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - int8_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1887
    functionDepth: 6
    functionLinenumber: 1887
    functionLinenumberEnd: 1910
    functionName: decimal128ModifyScaleAndPrecision
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal128ScaleUp
    - DECIMAL_WORD_NUM
    - DECIMAL128_GET_MAX
    - decimal128Gt
    - decimal128ScaleDown
    - decimal128Abs
    linkageType: ''
    returnType: void
    signature: "void decimal128ModifyScaleAndPrecision(Decimal128* pDec, uint8_t scale,
      uint8_t toPrec, int8_t toScale,\n                                              bool*
      overflow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1920,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:1921,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1921,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1926,1
    - Dst: decimal128Divide
      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: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1928,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1928,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1932,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - pDec
    - scale
    - toScale
    - roundType
    argTypes:
    - Decimal128*
    - int8_t
    - int8_t
    - DecimalRoundType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1912
    functionDepth: 6
    functionLinenumber: 1912
    functionLinenumberEnd: 1939
    functionName: decimal128CountRoundingDelta
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal128Lt
    - decimal128Divide
    - decimal128Mod
    - decimal128Eq
    - DECIMAL_WORD_NUM
    - DECIMAL128_SIGN
    - decimal128Abs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t decimal128CountRoundingDelta(const Decimal128* pDec, int8_t
      scale, int8_t toScale,\n                                            DecimalRoundType
      roundType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1942,1
    - Dst: decimal128Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1944,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1944,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1945,1
    - Dst: decimal128Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1948,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1948,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - Decimal128*
    - DecimalType*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1941
    functionDepth: 3
    functionLinenumber: 1941
    functionLinenumberEnd: 1951
    functionName: decimal128AddCheckOverflow
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 2
    functionsReached:
    - decimal128Lt
    - decimal128Subtract
    - DECIMAL_WORD_NUM
    - decimal128Gt
    - DECIMAL128_SIGN
    linkageType: ''
    returnType: bool
    signature: bool decimal128AddCheckOverflow(const Decimal128* pLeft, const DecimalType*
      pRight, uint8_t rightWordNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromInt64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1953
    functionDepth: 2
    functionLinenumber: 1953
    functionLinenumberEnd: 1955
    functionName: TEST_decimal64From_int64_t
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromUint64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1956
    functionDepth: 2
    functionLinenumber: 1956
    functionLinenumberEnd: 1958
    functionName: TEST_decimal64From_uint64_t
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    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: decimal64FromDouble
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1959
    functionDepth: 3
    functionLinenumber: 1959
    functionLinenumberEnd: 1961
    functionName: TEST_decimal64From_double
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    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: doubleFromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1962
    functionDepth: 3
    functionLinenumber: 1962
    functionLinenumberEnd: 1964
    functionName: TEST_decimal64ToDouble
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - doubleFromDecimal64
    linkageType: ''
    returnType: double
    signature: double TEST_decimal64ToDouble(Decimal64* pDec, uint8_t prec, uint8_t
      scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromInt64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1966
    functionDepth: 4
    functionLinenumber: 1966
    functionLinenumberEnd: 1968
    functionName: TEST_decimal128From_int64_t
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    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: decimal128FromUint64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1969
    functionDepth: 4
    functionLinenumber: 1969
    functionLinenumberEnd: 1971
    functionName: TEST_decimal128From_uint64_t
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    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: decimal128FromDouble
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1972
    functionDepth: 4
    functionLinenumber: 1972
    functionLinenumberEnd: 1974
    functionName: TEST_decimal128From_double
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    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: doubleFromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1975
    functionDepth: 5
    functionLinenumber: 1975
    functionLinenumberEnd: 1977
    functionName: TEST_decimal128ToDouble
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - doubleFromDecimal128
    linkageType: ''
    returnType: double
    signature: double TEST_decimal128ToDouble(Decimal128* pDec, uint8_t prec, uint8_t
      scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pInput
    - inputPrec
    - inputScale
    - pOutput
    - outputPrec
    - outputScale
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - Decimal64*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1979
    functionDepth: 3
    functionLinenumber: 1979
    functionLinenumberEnd: 1982
    functionName: TEST_decimal64FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal64FromDecimal64
    linkageType: ''
    returnType: int32_t
    signature: "int32_t TEST_decimal64FromDecimal64(const Decimal64* pInput, uint8_t
      inputPrec, uint8_t inputScale, Decimal64* pOutput,\n                                    uint8_t
      outputPrec, uint8_t outputScale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pInput
    - prec
    - inputScale
    - pOutput
    - outputPrec
    - outputScale
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - Decimal64*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1984
    functionDepth: 4
    functionLinenumber: 1984
    functionLinenumberEnd: 1987
    functionName: TEST_decimal64FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal64FromDecimal128
    linkageType: ''
    returnType: int32_t
    signature: "int32_t TEST_decimal64FromDecimal128(const Decimal128* pInput, uint8_t
      prec, uint8_t inputScale, Decimal64* pOutput,\n                                     uint8_t
      outputPrec, uint8_t outputScale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pInput
    - inputPrec
    - inputScale
    - pOutput
    - outputPrec
    - outputScale
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - Decimal128*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1989
    functionDepth: 4
    functionLinenumber: 1989
    functionLinenumberEnd: 1992
    functionName: TEST_decimal128FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal128FromDecimal64
    linkageType: ''
    returnType: int32_t
    signature: "int32_t TEST_decimal128FromDecimal64(const Decimal64* pInput, uint8_t
      inputPrec, uint8_t inputScale,\n                                     Decimal128*
      pOutput, uint8_t outputPrec, uint8_t outputScale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pDec
    - prec
    - scale
    - pOutput
    - outputPrec
    - outputScale
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - Decimal128*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1993
    functionDepth: 4
    functionLinenumber: 1993
    functionLinenumberEnd: 1996
    functionName: TEST_decimal128FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 1
    functionsReached:
    - decimal128FromDecimal128
    linkageType: ''
    returnType: int32_t
    signature: "int32_t TEST_decimal128FromDecimal128(const Decimal128* pDec, uint8_t
      prec, uint8_t scale, Decimal128* pOutput,\n                                      uint8_t
      outputPrec, uint8_t outputScale)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2001,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2001,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2004,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2004,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2005,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pDec
    - type
    - pBuf
    argTypes:
    - DecimalType*
    - int8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1998
    functionDepth: 1
    functionLinenumber: 1998
    functionLinenumberEnd: 2010
    functionName: encodeDecimal
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - htobe64
    - DECIMAL128_HIGH_WORD
    - DECIMAL64_GET_VALUE
    - DECIMAL128_LOW_WORD
    linkageType: ''
    returnType: void
    signature: void encodeDecimal(const DecimalType* pDec, int8_t type, void* pBuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2015,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2015,1
    - Dst: DECIMAL128_SET_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2018,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2018,1
    - Dst: DECIMAL128_SET_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2019,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2019,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pBuf
    - type
    - pDec
    argTypes:
    - void*
    - int8_t
    - DecimalType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 2012
    functionDepth: 1
    functionLinenumber: 2012
    functionLinenumberEnd: 2024
    functionName: decodeDecimal
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: 0
    functionsReached:
    - DECIMAL128_SET_LOW_WORD
    - DECIMAL64_SET_VALUE
    - be64toh
    - DECIMAL128_SET_HIGH_WORD
    linkageType: ''
    returnType: void
    signature: void decodeDecimal(const void* pBuf, int8_t type, DecimalType* pDec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pUint128
    - high
    - low
    argTypes:
    - uint128*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: makeUInt128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void makeUInt128(uint128* pUint128, uint64_t high, uint64_t low)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pInt
    argTypes:
    - UInt128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: uInt128Hi
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t uInt128Hi(const UInt128* pInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pInt
    argTypes:
    - UInt128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: uInt128Lo
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t uInt128Lo(const UInt128* pInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt128*
    - UInt128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: uInt128Add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uInt128Add(UInt128* pLeft, const UInt128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt128*
    - UInt128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: uInt128Subtract
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uInt128Subtract(UInt128* pLeft, const UInt128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt128*
    - UInt128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: uInt128Multiply
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uInt128Multiply(UInt128* pLeft, const UInt128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt128*
    - UInt128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: uInt128Divide
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uInt128Divide(UInt128* pLeft, const UInt128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt128*
    - UInt128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: uInt128Mod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uInt128Mod(UInt128* pLeft, const UInt128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt128*
    - UInt128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: uInt128Lt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool uInt128Lt(const UInt128* pLeft, const UInt128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt128*
    - UInt128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: uInt128Gt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool uInt128Gt(const UInt128* pLeft, const UInt128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt128*
    - UInt128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: uInt128Eq
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool uInt128Eq(const UInt128* pLeft, const UInt128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - high
    - low
    argTypes:
    - int64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: makeInt128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Int128
    signature: Int128 makeInt128(int64_t high, uint64_t low)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pUint128
    argTypes:
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: int128Hi
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t int128Hi(const Int128* pUint128)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pUint128
    argTypes:
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: int128Lo
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t int128Lo(const Int128* pUint128)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int128Lt
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:89,1
    - Dst: int128Negate
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pInt128
    argTypes:
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: int128Abs
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached:
    - int128Lt
    - int128Negate
    linkageType: ''
    returnType: Int128
    signature: Int128 int128Abs(const Int128* pInt128)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeInt128
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pInt128
    argTypes:
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: int128Negate
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 1
    functionsReached:
    - makeInt128
    linkageType: ''
    returnType: Int128
    signature: Int128 int128Negate(const Int128* pInt128)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int128*
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: int128Add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Int128
    signature: Int128 int128Add(const Int128* pLeft, const Int128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int128*
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: int128Subtract
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Int128
    signature: Int128 int128Subtract(const Int128* pLeft, const Int128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int128*
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: int128Multiply
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Int128
    signature: Int128 int128Multiply(const Int128* pLeft, const Int128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int128*
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: int128Divide
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Int128
    signature: Int128 int128Divide(const Int128* pLeft, const Int128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int128*
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: int128Mod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Int128
    signature: Int128 int128Mod(const Int128* pLeft, const Int128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int128*
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: int128Lt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool int128Lt(const Int128* pLeft, const Int128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int128Lt
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int128*
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: int128Gt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached:
    - int128Lt
    linkageType: ''
    returnType: bool
    signature: bool int128Gt(const Int128* pLeft, const Int128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int128*
    - Int128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: int128Eq
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool int128Eq(const Int128* pLeft, const Int128* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - shift
    argTypes:
    - Int128*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: int128RightShift
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Int128
    signature: Int128 int128RightShift(const Int128* pLeft, int32_t shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - high
    - low
    argTypes:
    - UInt128
    - UInt128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: makeUint256
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UInt256
    signature: UInt256 makeUint256(UInt128 high, UInt128 low)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pUint256
    argTypes:
    - UInt256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: uInt256Hi
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 uInt256Hi(const UInt256* pUint256)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pUint256
    argTypes:
    - UInt256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: uInt256Lo
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 uInt256Lo(const UInt256* pUint256)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt256*
    - UInt256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: uInt256Add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UInt256
    signature: UInt256 uInt256Add(const UInt256* pLeft, const UInt256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt256*
    - UInt256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: uInt256Subtract
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UInt256
    signature: UInt256 uInt256Subtract(const UInt256* pLeft, const UInt256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt256*
    - UInt256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: uInt256Multiply
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UInt256
    signature: UInt256 uInt256Multiply(const UInt256* pLeft, const UInt256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt256*
    - UInt256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: uInt256Divide
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UInt256
    signature: UInt256 uInt256Divide(const UInt256* pLeft, const UInt256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt256*
    - UInt256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: uInt256Mod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UInt256
    signature: UInt256 uInt256Mod(const UInt256* pLeft, const UInt256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt256*
    - UInt256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: uInt256Lt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool uInt256Lt(const UInt256* pLeft, const UInt256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt256*
    - UInt256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: uInt256Gt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool uInt256Gt(const UInt256* pLeft, const UInt256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - UInt256*
    - UInt256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: uInt256Eq
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool uInt256Eq(const UInt256* pLeft, const UInt256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - shift
    argTypes:
    - UInt256*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: uInt256RightShift
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UInt256
    signature: UInt256 uInt256RightShift(const UInt256* pLeft, int32_t shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - high
    - low
    argTypes:
    - Int128
    - UInt128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: makeInt256
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Int256
    signature: Int256 makeInt256(Int128 high, UInt128 low)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pUint256
    argTypes:
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: int256Hi
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Int128
    signature: Int128 int256Hi(const Int256* pUint256)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pUint256
    argTypes:
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: int256Lo
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: UInt128
    signature: UInt128 int256Lo(const Int256* pUint256)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:192,1
    - Dst: int256Negate
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pInt256
    argTypes:
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: int256Abs
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 3
    functionsReached:
    - int256Lt
    - int256Negate
    linkageType: ''
    returnType: Int256
    signature: Int256 int256Abs(const Int256* pInt256)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int256Subtract
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pInt256
    argTypes:
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: int256Negate
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 2
    functionsReached:
    - int256Subtract
    linkageType: ''
    returnType: Int256
    signature: Int256 int256Negate(const Int256* pInt256)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int256*
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: int256Add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Int256
    signature: Int256 int256Add(const Int256* pLeft, const Int256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int256*
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: int256Subtract
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Int256
    signature: Int256 int256Subtract(const Int256* pLeft, const Int256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int256*
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: int256Multiply
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Int256
    signature: Int256 int256Multiply(const Int256* pLeft, const Int256* pRight)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:215,1
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:215,1
    - Dst: int256Abs
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:217,1
    - Dst: int256Abs
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:220,1
    - Dst: int256Negate
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int256*
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: int256Divide
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 2
    functionsReached:
    - int256Lt
    - int256Negate
    - int256Abs
    linkageType: ''
    returnType: Int256
    signature: Int256 int256Divide(const Int256* pLeft, const Int256* pRight)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:231,1
    - Dst: int256Abs
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:233,1
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:235,1
    - Dst: int256Abs
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:236,1
    - Dst: int256Negate
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int256*
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 241
    functionName: int256Mod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 3
    functionsReached:
    - int256Lt
    - int256Negate
    - int256Abs
    linkageType: ''
    returnType: Int256
    signature: Int256 int256Mod(const Int256* pLeft, const Int256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int256Hi
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:243,1
    - Dst: int256Hi
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:243,1
    - Dst: int256Lo
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:244,1
    - Dst: int256Lo
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:244,1
    - Dst: int128Lt
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:245,1
    - Dst: int128Eq
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:245,1
    - Dst: uInt128Lt
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int256*
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: int256Lt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 6
    functionsReached:
    - int256Hi
    - int128Lt
    - uInt128Lt
    - int256Lo
    - int128Eq
    linkageType: ''
    returnType: bool
    signature: bool int256Lt(const Int256* pLeft, const Int256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int256*
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: int256Gt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 3
    functionsReached:
    - int256Lt
    linkageType: ''
    returnType: bool
    signature: bool int256Gt(const Int256* pLeft, const Int256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int256Hi
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:251,1
    - Dst: int256Hi
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:251,1
    - Dst: int256Lo
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:252,1
    - Dst: int256Lo
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:252,1
    - Dst: int128Eq
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:253,1
    - Dst: uInt128Eq
      Src: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - Int256*
    - Int256*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: int256Eq
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 1
    functionsReached:
    - int256Hi
    - int128Eq
    - int256Lo
    - uInt128Eq
    linkageType: ''
    returnType: bool
    signature: bool int256Eq(const Int256* pLeft, const Int256* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - shift
    argTypes:
    - Int256*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: int256RightShift
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/wideInteger.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Int256
    signature: Int256 int256RightShift(const Int256* pLeft, int32_t shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: INTX_UNLIKELY
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTX_UNLIKELY(EXPR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: INTX_UNLIKELY
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTX_UNLIKELY(EXPR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: INTX_REQUIRE
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTX_REQUIRE(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - high
    - low
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint(uint64_t high, uint64_t low) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void uint(T x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned __int128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint(unsigned __int128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned __int128>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: operator unsigned __int128() const noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned __int128>
    linkageType: ''
    returnType: void
    signature: void operator unsigned __int128() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: operator bool() const noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Int>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: operator Int() const noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Int>
    linkageType: ''
    returnType: void
    signature: void operator Int() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: operator std::tuple<T&, bool&>() noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator std::tuple<T&, bool&>() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: intx::add_with_carry
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: result_with_carry<uint64_t>
    signature: "result_with_carry<uint64_t> add_with_carry(\n    uint64_t x, uint64_t
      y, bool carry = false) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:121,1
    - Dst: intx::add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: intx::add_with_carry
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - intx::add_with_carry
    linkageType: ''
    returnType: result_with_carry<uint<N>>
    signature: "result_with_carry<uint<N>> add_with_carry(\n    const uint<N>& a,
      const uint<N>& b, bool carry = false) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: operator+(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::add_with_carry
    linkageType: ''
    returnType: uint128
    signature: uint128 operator+(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: operator+(uint128 x) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator+(uint128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: intx::sub_with_carry
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: result_with_carry<uint64_t>
    signature: "result_with_carry<uint64_t> sub_with_carry(\n    uint64_t x, uint64_t
      y, bool carry = false) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:152,1
    - Dst: intx::sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: intx::sub_with_carry
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - intx::sub_with_carry
    linkageType: ''
    returnType: result_with_carry<uint<N>>
    signature: "result_with_carry<uint<N>> sub_with_carry(\n    const uint<N>& a,
      const uint<N>& b, bool carry = false) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: operator-(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::sub_with_carry
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: operator-(uint128 x) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(uint128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: '& operator++(uint128& x) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator++(uint128& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: '& operator--(uint128& x) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator--(uint128& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: operator++(uint128& x, int) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator++(uint128& x, int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: operator--(uint128& x, int) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator--(uint128& x, int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: intx::fast_add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 fast_add(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: operator==(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: operator!=(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: operator<(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: operator<=(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: operator>(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: operator>=(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: operator~(uint128 x) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator~(uint128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: operator|(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator|(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: operator&(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator&(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: operator^(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator^(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - shift
    argTypes:
    - uint128
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: operator<<(uint128 x, unsigned shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator<<(uint128 x, unsigned shift) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unsigned
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - shift
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: operator<<(uint128 x, uint128 shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - unsigned
    linkageType: ''
    returnType: uint128
    signature: uint128 operator<<(uint128 x, uint128 shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - shift
    argTypes:
    - uint128
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: operator>>(uint128 x, unsigned shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator>>(uint128 x, unsigned shift) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unsigned
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - shift
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: operator>>(uint128 x, uint128 shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - unsigned
    linkageType: ''
    returnType: uint128
    signature: uint128 operator>>(uint128 x, uint128 shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 352
    functionName: intx::constexpr_umul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 constexpr_umul(uint64_t x, uint64_t y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned __int128>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:360,1
    - Dst: _umul128
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:365,1
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: intx::umul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::constexpr_umul
    - _umul128
    - static_cast<unsigned __int128>
    linkageType: ''
    returnType: uint128
    signature: uint128 umul(uint64_t x, uint64_t y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: operator*(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::umul
    linkageType: ''
    returnType: uint128
    signature: uint128 operator*(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: intx::constexpr_mul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::constexpr_umul
    linkageType: ''
    returnType: uint128
    signature: uint128 constexpr_mul(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: '& operator+=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator+=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: '& operator-=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator-=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: '& operator*=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator*=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: '& operator|=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator|=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: '& operator&=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator&=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: '& operator^=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator^=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint128
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: '& operator<<=(uint128& x, unsigned shift) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator<<=(uint128& x, unsigned shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint128
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: '& operator>>=(uint128& x, unsigned shift) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator>>=(uint128& x, unsigned shift) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 449
    functionName: intx::clz_generic
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz_generic(uint32_t x) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 465
    functionName: intx::clz_generic
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz_generic(uint64_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::clz_generic
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:470,1
    - Dst: unsigned
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:472,1
    - Dst: __builtin_clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: intx::clz
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - __builtin_clz
    - intx::clz_generic
    - unsigned
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz(uint32_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::clz_generic
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:479,1
    - Dst: unsigned
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:481,1
    - Dst: __builtin_clzll
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: intx::clz
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::clz_generic
    - __builtin_clzll
    - unsigned
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz(uint64_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:488,1
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: intx::clz
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - intx::clz
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz(uint128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _byteswap_uint64
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:495,1
    - Dst: __builtin_bswap64
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 499
    functionName: intx::bswap
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - _byteswap_uint64
    - __builtin_bswap64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t bswap(uint64_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:503,1
    - Dst: intx::bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: intx::bswap
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - intx::bswap
    linkageType: ''
    returnType: uint128
    signature: uint128 bswap(uint128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: operator std::tuple<QuotT&, RemT&>() noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator std::tuple<QuotT&, RemT&>() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d9
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: intx::internal::reciprocal_table_item
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t reciprocal_table_item(uint8_t d9) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: REPEAT4
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: REPEAT32
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: REPEAT256
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT256()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d9
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: intx::internal::reciprocal_table_item
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t reciprocal_table_item(uint8_t d9) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: REPEAT4
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: REPEAT32
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: REPEAT256
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT256()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:552,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:565,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 569
    functionName: intx::reciprocal_2by1
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - INTX_REQUIRE
    - intx::umul
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t reciprocal_2by1(uint64_t d) noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: intx::reciprocal_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:573,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - d
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 600
    functionName: intx::reciprocal_3by2
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::reciprocal_2by1
    - intx::umul
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t reciprocal_3by2(uint128 d) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:604,1
    - Dst: intx::fast_add
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - u
    - d
    - v
    argTypes:
    - uint128
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 624
    functionName: intx::udivrem_2by1
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::fast_add
    - intx::umul
    linkageType: ''
    returnType: div_result<uint64_t>
    signature: div_result<uint64_t> udivrem_2by1(uint128 u, uint64_t d, uint64_t v)
      noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:629,1
    - Dst: intx::fast_add
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:630,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - u2
    - u1
    - u0
    - d
    - v
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint128
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 654
    functionName: intx::udivrem_3by2
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::fast_add
    - intx::umul
    linkageType: ''
    returnType: div_result<uint64_t, uint128>
    signature: "div_result<uint64_t, uint128> udivrem_3by2(\n    uint64_t u2, uint64_t
      u1, uint64_t u0, uint128 d, uint64_t v) noexcept"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:660,1
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:662,1
    - Dst: intx::reciprocal_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:671,1
    - Dst: intx::udivrem_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:672,1
    - Dst: intx::udivrem_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:673,1
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:680,1
    - Dst: intx::reciprocal_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:695,1
    - Dst: intx::udivrem_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 699
    functionName: intx::udivrem
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::udivrem_3by2
    - INTX_REQUIRE
    - intx::reciprocal_3by2
    - intx::reciprocal_2by1
    - intx::clz
    - intx::udivrem_2by1
    linkageType: ''
    returnType: div_result<uint128>
    signature: div_result<uint128> udivrem(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 715
    functionName: intx::sdivrem
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::udivrem
    linkageType: ''
    returnType: div_result<uint128>
    signature: div_result<uint128> sdivrem(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: operator/(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::udivrem
    linkageType: ''
    returnType: uint128
    signature: uint128 operator/(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: operator%(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::udivrem
    linkageType: ''
    returnType: uint128
    signature: uint128 operator%(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 730
    functionName: '& operator/=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator/=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: '& operator%=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator%=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - high
    - low
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint(uint64_t high, uint64_t low) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void uint(T x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned __int128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint(unsigned __int128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned __int128>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: operator unsigned __int128() const noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned __int128>
    linkageType: ''
    returnType: void
    signature: void operator unsigned __int128() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: operator bool() const noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Int>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: operator Int() const noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Int>
    linkageType: ''
    returnType: void
    signature: void operator Int() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: operator std::tuple<T&, bool&>() noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator std::tuple<T&, bool&>() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: intx::add_with_carry
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: result_with_carry<uint64_t>
    signature: "result_with_carry<uint64_t> add_with_carry(\n    uint64_t x, uint64_t
      y, bool carry = false) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:121,1
    - Dst: intx::add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: intx::add_with_carry
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 3
    functionsReached:
    - intx::add_with_carry
    linkageType: ''
    returnType: result_with_carry<uint<N>>
    signature: "result_with_carry<uint<N>> add_with_carry(\n    const uint<N>& a,
      const uint<N>& b, bool carry = false) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: operator+(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - add_with_carry
    linkageType: ''
    returnType: uint128
    signature: uint128 operator+(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: operator+(uint128 x) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator+(uint128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: intx::sub_with_carry
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: result_with_carry<uint64_t>
    signature: "result_with_carry<uint64_t> sub_with_carry(\n    uint64_t x, uint64_t
      y, bool carry = false) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:152,1
    - Dst: intx::sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: intx::sub_with_carry
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 3
    functionsReached:
    - intx::sub_with_carry
    linkageType: ''
    returnType: result_with_carry<uint<N>>
    signature: "result_with_carry<uint<N>> sub_with_carry(\n    const uint<N>& a,
      const uint<N>& b, bool carry = false) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: operator-(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - sub_with_carry
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: operator-(uint128 x) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(uint128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: '& operator++(uint128& x) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator++(uint128& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: '& operator--(uint128& x) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator--(uint128& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: operator++(uint128& x, int) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator++(uint128& x, int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: operator--(uint128& x, int) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator--(uint128& x, int) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: intx::fast_add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 fast_add(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: operator==(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: operator!=(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: operator<(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: operator<=(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: operator>(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: operator>=(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: operator~(uint128 x) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator~(uint128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: operator|(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator|(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: operator&(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator&(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: operator^(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator^(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - shift
    argTypes:
    - uint128
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: operator<<(uint128 x, unsigned shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator<<(uint128 x, unsigned shift) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unsigned
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - shift
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: operator<<(uint128 x, uint128 shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - unsigned
    linkageType: ''
    returnType: uint128
    signature: uint128 operator<<(uint128 x, uint128 shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - shift
    argTypes:
    - uint128
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: operator>>(uint128 x, unsigned shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 operator>>(uint128 x, unsigned shift) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unsigned
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - shift
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: operator>>(uint128 x, uint128 shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - unsigned
    linkageType: ''
    returnType: uint128
    signature: uint128 operator>>(uint128 x, uint128 shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 352
    functionName: intx::constexpr_umul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 constexpr_umul(uint64_t x, uint64_t y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned __int128>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:360,1
    - Dst: _umul128
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:365,1
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: intx::umul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 5
    functionsReached:
    - intx::constexpr_umul
    - _umul128
    - static_cast<unsigned __int128>
    linkageType: ''
    returnType: uint128
    signature: uint128 umul(uint64_t x, uint64_t y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: operator*(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - umul
    linkageType: ''
    returnType: uint128
    signature: uint128 operator*(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: intx::constexpr_mul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::constexpr_umul
    linkageType: ''
    returnType: uint128
    signature: uint128 constexpr_mul(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: '& operator+=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator+=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: '& operator-=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator-=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: '& operator*=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator*=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: '& operator|=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator|=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: '& operator&=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator&=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: '& operator^=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator^=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint128
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: '& operator<<=(uint128& x, unsigned shift) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator<<=(uint128& x, unsigned shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint128
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: '& operator>>=(uint128& x, unsigned shift) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator>>=(uint128& x, unsigned shift) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 449
    functionName: intx::clz_generic
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz_generic(uint32_t x) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 465
    functionName: intx::clz_generic
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached:
    - static_cast<unsigned>
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz_generic(uint64_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::clz_generic
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:470,1
    - Dst: unsigned
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:472,1
    - Dst: __builtin_clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: intx::clz
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached:
    - __builtin_clz
    - intx::clz_generic
    - unsigned
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz(uint32_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::clz_generic
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:479,1
    - Dst: unsigned
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:481,1
    - Dst: __builtin_clzll
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: intx::clz
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached:
    - intx::clz_generic
    - __builtin_clzll
    - unsigned
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz(uint64_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:488,1
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: intx::clz
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 3
    functionsReached:
    - intx::clz
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz(uint128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _byteswap_uint64
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:495,1
    - Dst: __builtin_bswap64
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 499
    functionName: intx::bswap
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - _byteswap_uint64
    - __builtin_bswap64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t bswap(uint64_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:503,1
    - Dst: intx::bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: intx::bswap
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached:
    - intx::bswap
    linkageType: ''
    returnType: uint128
    signature: uint128 bswap(uint128 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: operator std::tuple<QuotT&, RemT&>() noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator std::tuple<QuotT&, RemT&>() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d9
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: intx::internal::reciprocal_table_item
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t reciprocal_table_item(uint8_t d9) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: REPEAT4
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: REPEAT32
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: REPEAT256
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT256()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d9
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: intx::internal::reciprocal_table_item
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t reciprocal_table_item(uint8_t d9) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: REPEAT4
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: REPEAT32
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: REPEAT256
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT256()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:552,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:565,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 569
    functionName: intx::reciprocal_2by1
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached:
    - INTX_REQUIRE
    - intx::umul
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t reciprocal_2by1(uint64_t d) noexcept
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: intx::reciprocal_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:573,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - d
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 600
    functionName: intx::reciprocal_3by2
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - intx::reciprocal_2by1
    - intx::umul
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t reciprocal_3by2(uint128 d) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:604,1
    - Dst: intx::fast_add
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - u
    - d
    - v
    argTypes:
    - uint128
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 624
    functionName: intx::udivrem_2by1
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - intx::fast_add
    - intx::umul
    linkageType: ''
    returnType: div_result<uint64_t>
    signature: div_result<uint64_t> udivrem_2by1(uint128 u, uint64_t d, uint64_t v)
      noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:629,1
    - Dst: intx::fast_add
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:630,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - u2
    - u1
    - u0
    - d
    - v
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint128
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 654
    functionName: intx::udivrem_3by2
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - intx::fast_add
    - intx::umul
    linkageType: ''
    returnType: div_result<uint64_t, uint128>
    signature: "div_result<uint64_t, uint128> udivrem_3by2(\n    uint64_t u2, uint64_t
      u1, uint64_t u0, uint128 d, uint64_t v) noexcept"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:660,1
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:662,1
    - Dst: intx::reciprocal_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:671,1
    - Dst: intx::udivrem_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:672,1
    - Dst: intx::udivrem_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:673,1
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:680,1
    - Dst: intx::reciprocal_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:695,1
    - Dst: intx::udivrem_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 699
    functionName: intx::udivrem
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 3
    functionsReached:
    - intx::udivrem_3by2
    - INTX_REQUIRE
    - intx::reciprocal_3by2
    - intx::reciprocal_2by1
    - intx::clz
    - intx::udivrem_2by1
    linkageType: ''
    returnType: div_result<uint128>
    signature: div_result<uint128> udivrem(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 715
    functionName: intx::sdivrem
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::udivrem
    linkageType: ''
    returnType: div_result<uint128>
    signature: div_result<uint128> sdivrem(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: operator/(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - udivrem
    linkageType: ''
    returnType: uint128
    signature: uint128 operator/(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: operator%(uint128 x, uint128 y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - udivrem
    linkageType: ''
    returnType: uint128
    signature: uint128 operator%(uint128 x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 730
    functionName: '& operator/=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator/=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - y
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: '& operator%=(uint128& x, uint128 y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & operator%=(uint128& x, uint128 y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 775
    functionName: std::min
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type min() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 776
    functionName: std::lowest
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: type
    signature: type lowest() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 777
    functionName: std::max
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type max() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 778
    functionName: std::epsilon
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type epsilon() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 779
    functionName: std::round_error
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type round_error() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 780
    functionName: std::infinity
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type infinity() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 781
    functionName: std::quiet_NaN
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type quiet_NaN() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 782
    functionName: std::signaling_NaN
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type signaling_NaN() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 783
    functionName: std::denorm_min
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type denorm_min() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 775
    functionName: std::min
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type min() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 776
    functionName: std::lowest
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: type
    signature: type lowest() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 777
    functionName: std::max
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type max() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 778
    functionName: std::epsilon
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type epsilon() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 779
    functionName: std::round_error
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type round_error() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 780
    functionName: std::infinity
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type infinity() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 781
    functionName: std::quiet_NaN
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type quiet_NaN() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 782
    functionName: std::signaling_NaN
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type signaling_NaN() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 783
    functionName: std::denorm_min
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: type
    signature: type denorm_min() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fputs
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:795,1
    - Dst: std::abort
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - what
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 798
    functionName: intx::throw_
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - std::abort
    - std::fputs
    linkageType: ''
    returnType: void
    signature: void throw_(const char* what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 805
    functionName: intx::from_dec_digit
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::throw_
    linkageType: ''
    returnType: int
    signature: int from_dec_digit(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intx::from_dec_digit
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 814
    functionName: intx::from_hex_digit
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::from_dec_digit
    linkageType: ''
    returnType: int
    signature: int from_hex_digit(char c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:829,1
    - Dst: intx::from_hex_digit
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:830,1
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:838,1
    - Dst: intx::from_dec_digit
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:840,1
    - Dst: intx::constexpr_mul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:841,1
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:843,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 817
    functionDepth: 3
    functionLinenumber: 817
    functionLinenumberEnd: 846
    functionName: intx::from_string
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::constexpr_mul
    - intx::throw_
    - intx::from_hex_digit
    - intx::from_dec_digit
    linkageType: ''
    returnType: Int
    signature: Int from_string(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::from_string
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:851,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionName: intx::from_string
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - intx::from_string
    - c_str
    linkageType: ''
    returnType: Int
    signature: Int from_string(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::from_string
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 854
    functionDepth: 4
    functionLinenumber: 854
    functionLinenumberEnd: 857
    functionName: operator""_u128(const char* s)
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::from_string
    linkageType: ''
    returnType: uint128
    signature: uint128 operator""_u128(const char* s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intx::udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:872,1
    - Dst: auto::push_back
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:875,1
    - Dst: std::reverse
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:878,1
    - Dst: auto::begin
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:878,1
    - Dst: auto::end
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 880
    functionName: intx::to_string
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::udivrem
    - auto::push_back
    - std::reverse
    - auto::begin
    - auto::end
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(uint<N> x, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::to_string
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 886
    functionName: intx::hex
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string hex(uint<N> x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fputs
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:795,1
    - Dst: std::abort
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - what
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 798
    functionName: intx::throw_
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached:
    - std::abort
    - std::fputs
    linkageType: ''
    returnType: void
    signature: void throw_(const char* what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 805
    functionName: intx::from_dec_digit
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached:
    - intx::throw_
    linkageType: ''
    returnType: int
    signature: int from_dec_digit(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intx::from_dec_digit
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 814
    functionName: intx::from_hex_digit
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - intx::from_dec_digit
    linkageType: ''
    returnType: int
    signature: int from_hex_digit(char c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:829,1
    - Dst: intx::from_hex_digit
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:830,1
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:838,1
    - Dst: intx::from_dec_digit
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:840,1
    - Dst: intx::constexpr_mul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:841,1
    - Dst: intx::throw_
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:843,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 817
    functionDepth: 3
    functionLinenumber: 817
    functionLinenumberEnd: 846
    functionName: intx::from_string
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 2
    functionsReached:
    - intx::constexpr_mul
    - intx::throw_
    - intx::from_hex_digit
    - intx::from_dec_digit
    linkageType: ''
    returnType: Int
    signature: Int from_string(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::from_string
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:851,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionName: intx::from_string
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 3
    functionsReached:
    - intx::from_string
    - c_str
    linkageType: ''
    returnType: Int
    signature: Int from_string(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_string<uint128>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 857
    functionName: operator""_u128(const char* s)
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - from_string<uint128>
    linkageType: ''
    returnType: uint128
    signature: uint128 operator""_u128(const char* s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intx::udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:872,1
    - Dst: auto::push_back
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:875,1
    - Dst: std::reverse
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:878,1
    - Dst: auto::begin
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:878,1
    - Dst: auto::end
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 880
    functionName: intx::to_string
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 1
    functionsReached:
    - intx::udivrem
    - auto::push_back
    - std::reverse
    - auto::begin
    - auto::end
    linkageType: ''
    returnType: std::string
    signature: std::string to_string(uint<N> x, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::to_string
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 886
    functionName: intx::hex
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/int128.hpp
    functionUses: 0
    functionsReached:
    - intx::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string hex(uint<N> x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - high
    - low
    argTypes:
    - half_type
    - half_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint(half_type high, half_type low) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - half_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint(half_type x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint(T x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:49,1
    - Dst: static_cast<bool>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: operator bool() const noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Int>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: operator Int() const noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Int>
    linkageType: ''
    returnType: void
    signature: void operator Int() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: intx::lo_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t lo_half(uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: intx::lo_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t lo_half(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: intx::lo_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lo_half(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: intx::hi_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hi_half(uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: intx::hi_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t hi_half(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: intx::hi_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hi_half(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: intx::lo_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto lo_half(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: intx::hi_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto hi_half(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: intx::num_bits
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned num_bits(const T&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: operator==(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: operator==(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator==(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: operator==(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator==(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: operator!=(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: operator!=(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: operator!=(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: operator<(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: operator<(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator<(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: operator<(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator<(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: operator>(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: operator>(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator>(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: operator>(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator>(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: operator>=(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: operator>=(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: operator>=(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: operator<=(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: operator<=(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: operator<=(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: operator|(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator|(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: operator&(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator&(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: operator^(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator^(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: operator~(const uint<N>& x) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator~(const uint<N>& x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint<N>
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 289
    functionName: operator<<(const uint<N>& x, unsigned shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator<<(const uint<N>& x, unsigned shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Target>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: intx::narrow_cast
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Target>
    linkageType: ''
    returnType: Target
    signature: Target narrow_cast(uint64_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::narrow_cast
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: intx::narrow_cast
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - intx::narrow_cast
    linkageType: ''
    returnType: Target
    signature: Target narrow_cast(const Int& x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intx::num_bits
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint<N>
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 326
    functionName: operator>>(const uint<N>& x, unsigned shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::num_bits
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator>>(const uint<N>& x, unsigned shift) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' shift'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: operator<<(const uint<N>& x, const T& shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator<<(const uint<N>& x, const T& shift) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' shift'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: operator>>(const uint<N>& x, const T& shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator>>(const uint<N>& x, const T& shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint<N>
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: '& operator>>=(uint<N>& x, unsigned shift) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator>>=(uint<N>& x, unsigned shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: intx::as_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t * as_words(uint128& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: intx::as_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t * as_words(const uint128& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: intx::as_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - intx::as_words
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t * as_words(uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: intx::as_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 2
    functionsReached:
    - intx::as_words
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t * as_words(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:379,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: intx::as_bytes
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::as_words
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * as_bytes(uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:385,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: intx::as_bytes
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::as_words
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * as_bytes(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:396,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint<N>
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 410
    functionName: intx::shl_loop
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::as_words
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> shl_loop(const uint<N>& x, unsigned shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:417,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:418,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 433
    functionName: intx::add_loop
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::as_words
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> add_loop(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: operator+(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::add_with_carry
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator+(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: operator-(const uint<N>& x) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator-(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: operator-(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::sub_with_carry
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator-(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: '& operator+=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator+=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: '& operator-=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator-=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:471,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:472,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:473,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:474,1
    - Dst: intx::num_bits
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: intx::umul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 10
    functionsReached:
    - intx::num_bits
    - intx::umul
    linkageType: ''
    returnType: uint<2 * N>
    signature: uint<2 * N> umul(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:488,1
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:489,1
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:490,1
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:491,1
    - Dst: intx::num_bits
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 500
    functionName: intx::constexpr_umul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 5
    functionsReached:
    - intx::num_bits
    - intx::constexpr_umul
    linkageType: ''
    returnType: uint<2 * N>
    signature: uint<2 * N> constexpr_umul(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 512
    functionName: intx::mul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::umul
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> mul(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: intx::sqr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::umul
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> sqr(const uint<N>& a) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:529,1
    - Dst: intx::constexpr_mul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:530,1
    - Dst: intx::constexpr_mul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: intx::constexpr_mul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 3
    functionsReached:
    - intx::constexpr_umul
    - intx::constexpr_mul
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> constexpr_mul(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:541,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:542,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:543,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 557
    functionName: intx::umul_loop
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::as_words
    - intx::umul
    linkageType: ''
    returnType: uint<2 * N>
    signature: uint<2 * N> umul_loop(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:565,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:566,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:567,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' u'
    - ' v'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 581
    functionName: intx::mul_loop_opt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::as_words
    - intx::umul
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> mul_loop_opt(const uint<N>& u, const uint<N>& v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::mul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint256
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: operator*(const uint256& x, const uint256& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::mul
    linkageType: ''
    returnType: uint256
    signature: uint256 operator*(const uint256& x, const uint256& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::mul_loop_opt
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: operator*(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::mul_loop_opt
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator*(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: '& operator*=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator*=(uint<N>& x, const T& y) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intx::sqr
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - base
    - exponent
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 617
    functionName: intx::exp
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::sqr
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> exp(uint<N> base, uint<N> exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::num_bits
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:622,1
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:632,1
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 633
    functionName: intx::clz
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 5
    functionsReached:
    - intx::num_bits
    - intx::clz
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 641
    functionName: intx::to_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: std::array<Word, sizeof(Int) / sizeof(Word)>
    signature: std::array<Word, sizeof(Int) / sizeof(Word)> to_words(Int x) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intx::to_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:646,1
    - Dst: auto::size
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:647,1
    - Dst: static_cast<unsigned>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 653
    functionName: intx::count_significant_words_loop
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::to_words
    - auto::size
    - static_cast<unsigned>
    linkageType: ''
    returnType: unsigned
    signature: unsigned count_significant_words_loop(uint256 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 660
    functionName: intx::count_significant_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename std::enable_if<sizeof(Word) == sizeof(Int), unsigned>::type
    signature: "typename std::enable_if<sizeof(Word) == sizeof(Int), unsigned>::type
      count_significant_words(\n    const Int& x) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:666,1
    - Dst: intx::count_significant_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:667,1
    - Dst: intx::hi_half
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:667,1
    - Dst: intx::count_significant_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:668,1
    - Dst: intx::lo_half
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: intx::count_significant_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - intx::hi_half
    - intx::count_significant_words
    - static_cast<unsigned>
    - intx::lo_half
    linkageType: ''
    returnType: typename std::enable_if<sizeof(Word) < sizeof(Int), unsigned>::type
    signature: "typename std::enable_if<sizeof(Word) < sizeof(Int), unsigned>::type
      count_significant_words(\n    const Int& x) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:703,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:704,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:707,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:708,1
    - Dst: clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:718,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - ' numerator'
    - ' denominator'
    argTypes:
    - IntT
    - IntT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 742
    functionName: intx::internal::normalized_div_args<IntT::num_bits>::normalize
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - clz
    - as_words
    linkageType: ''
    returnType: TD_FORCEINLINE
    signature: "TD_FORCEINLINE normalized_div_args<IntT::num_bits> normalize(\n    const
      IntT& numerator, const IntT& denominator) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:752,1
    - Dst: reciprocal_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:754,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:762,1
    - Dst: udivrem_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - u
    - len
    - d
    argTypes:
    - uint64_t[]
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 766
    functionName: intx::internal::udivrem_by1
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - INTX_REQUIRE
    - reciprocal_2by1
    - std::tie
    - udivrem_2by1
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t udivrem_by1(uint64_t u[], int len, uint64_t d) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:776,1
    - Dst: reciprocal_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:778,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:786,1
    - Dst: udivrem_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - u
    - len
    - d
    argTypes:
    - uint64_t[]
    - int
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 790
    functionName: intx::internal::udivrem_by2
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - INTX_REQUIRE
    - udivrem_3by2
    - reciprocal_3by2
    - std::tie
    linkageType: ''
    returnType: uint128
    signature: uint128 udivrem_by2(uint64_t u[], int len, uint128 d) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:796,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:800,1
    - Dst: add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - x
    - y
    - len
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 802
    functionName: intx::internal::add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - INTX_REQUIRE
    - std::tie
    - add_with_carry
    linkageType: ''
    returnType: bool
    signature: bool add(uint64_t s[], const uint64_t x[], const uint64_t y[], int
      len) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:809,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:814,1
    - Dst: umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:815,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - r
    - x
    - y
    - len
    - multiplier
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 821
    functionName: intx::internal::submul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - INTX_REQUIRE
    - umul
    - sub_with_carry
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t submul(\n    uint64_t r[], const uint64_t x[], const uint64_t
      y[], int len, uint64_t multiplier) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:826,1
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:827,1
    - Dst: reciprocal_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:830,1
    - Dst: INTX_UNLIKELY
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:838,1
    - Dst: uint128
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:838,1
    - Dst: intx::internal::submul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:842,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:847,1
    - Dst: udivrem_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:847,1
    - Dst: intx::internal::submul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:850,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:851,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:851,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:852,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:852,1
    - Dst: INTX_UNLIKELY
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:854,1
    - Dst: intx::internal::add
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - q
    - u
    - ulen
    - d
    - dlen
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - int
    - uint64_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 863
    functionName: intx::internal::udivrem_knuth
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - INTX_REQUIRE
    - intx::internal::add
    - udivrem_3by2
    - std::tie
    - sub_with_carry
    - uint128
    - intx::internal::submul
    - reciprocal_3by2
    - INTX_UNLIKELY
    linkageType: ''
    returnType: void
    signature: "void udivrem_knuth(\n    uint64_t q[], uint64_t u[], int ulen, const
      uint64_t d[], int dlen) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:703,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:704,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:707,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:708,1
    - Dst: clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:718,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - ' numerator'
    - ' denominator'
    argTypes:
    - IntT
    - IntT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 742
    functionName: intx::internal::normalized_div_args<IntT::num_bits>::normalize
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - clz
    - as_words
    linkageType: ''
    returnType: TD_FORCEINLINE
    signature: "TD_FORCEINLINE normalized_div_args<IntT::num_bits> normalize(\n    const
      IntT& numerator, const IntT& denominator) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:752,1
    - Dst: reciprocal_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:754,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:762,1
    - Dst: udivrem_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - u
    - len
    - d
    argTypes:
    - uint64_t[]
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 766
    functionName: intx::internal::udivrem_by1
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - INTX_REQUIRE
    - reciprocal_2by1
    - std::tie
    - udivrem_2by1
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t udivrem_by1(uint64_t u[], int len, uint64_t d) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:776,1
    - Dst: reciprocal_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:778,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:786,1
    - Dst: udivrem_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - u
    - len
    - d
    argTypes:
    - uint64_t[]
    - int
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 790
    functionName: intx::internal::udivrem_by2
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - INTX_REQUIRE
    - udivrem_3by2
    - reciprocal_3by2
    - std::tie
    linkageType: ''
    returnType: uint128
    signature: uint128 udivrem_by2(uint64_t u[], int len, uint128 d) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:796,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:800,1
    - Dst: add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - x
    - y
    - len
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 802
    functionName: intx::internal::add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - INTX_REQUIRE
    - std::tie
    - add_with_carry
    linkageType: ''
    returnType: bool
    signature: bool add(uint64_t s[], const uint64_t x[], const uint64_t y[], int
      len) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:809,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:814,1
    - Dst: umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:815,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - r
    - x
    - y
    - len
    - multiplier
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 821
    functionName: intx::internal::submul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - INTX_REQUIRE
    - umul
    - sub_with_carry
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t submul(\n    uint64_t r[], const uint64_t x[], const uint64_t
      y[], int len, uint64_t multiplier) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:826,1
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:827,1
    - Dst: reciprocal_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:830,1
    - Dst: INTX_UNLIKELY
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:838,1
    - Dst: uint128
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:838,1
    - Dst: intx::internal::submul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:842,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:847,1
    - Dst: udivrem_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:847,1
    - Dst: intx::internal::submul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:850,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:851,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:851,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:852,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:852,1
    - Dst: INTX_UNLIKELY
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:854,1
    - Dst: intx::internal::add
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - q
    - u
    - ulen
    - d
    - dlen
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - int
    - uint64_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 863
    functionName: intx::internal::udivrem_knuth
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - INTX_REQUIRE
    - intx::internal::add
    - udivrem_3by2
    - std::tie
    - sub_with_carry
    - uint128
    - intx::internal::submul
    - reciprocal_3by2
    - INTX_UNLIKELY
    linkageType: ''
    returnType: void
    signature: "void udivrem_knuth(\n    uint64_t q[], uint64_t u[], int ulen, const
      uint64_t d[], int dlen) noexcept"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intx::internal::normalized_div_args<IntT::num_bits>::normalize
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:870,1
    - Dst: intx::internal::udivrem_by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:877,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:878,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:878,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:884,1
    - Dst: intx::internal::udivrem_by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:886,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:886,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:890,1
    - Dst: intx::internal::udivrem_knuth
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:893,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:894,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:894,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' u'
    - ' v'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 868
    functionDepth: 3
    functionLinenumber: 868
    functionLinenumberEnd: 903
    functionName: intx::udivrem
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 6
    functionsReached:
    - intx::as_words
    - intx::internal::udivrem_knuth
    - intx::internal::normalized_div_args<IntT::num_bits>::normalize
    - intx::internal::udivrem_by1
    - intx::internal::udivrem_by2
    linkageType: ''
    returnType: div_result<uint<N>>
    signature: div_result<uint<N>> udivrem(const uint<N>& u, const uint<N>& v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' u'
    - ' v'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 920
    functionName: intx::sdivrem
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::udivrem
    linkageType: ''
    returnType: div_result<uint<N>>
    signature: div_result<uint<N>> sdivrem(const uint<N>& u, const uint<N>& v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: operator/(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::udivrem
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator/(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 932
    functionName: operator%(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::udivrem
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator%(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 939
    functionName: '& operator/=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator/=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: '& operator%=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator%=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:951,1
    - Dst: intx::bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionName: intx::bswap
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 3
    functionsReached:
    - intx::bswap
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> bswap(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    functionName: operator+(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator+(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: operator+(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator+(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: operator-(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator-(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 983
    functionName: operator-(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator-(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: operator*(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator*(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 997
    functionName: operator*(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator*(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1004
    functionName: operator/(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator/(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1011
    functionName: operator/(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator/(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: operator%(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator%(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1025
    functionName: operator%(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator%(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1032
    functionName: operator|(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator|(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1039
    functionName: operator|(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator|(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: operator&(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator&(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1053
    functionName: operator&(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator&(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1060
    functionName: operator^(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator^(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::uint
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1067
    functionName: operator^(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::uint
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator^(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1074
    functionName: '& operator|=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator|=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: '& operator&=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator&=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1088
    functionName: '& operator^=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator^=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    functionName: '& operator<<=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator<<=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1102
    functionName: '& operator>>=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator>>=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' mod'
    argTypes:
    - uint256
    - uint256
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1109
    functionName: intx::addmod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::add_with_carry
    linkageType: ''
    returnType: uint256
    signature: uint256 addmod(const uint256& x, const uint256& y, const uint256& mod)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' mod'
    argTypes:
    - uint256
    - uint256
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1114
    functionName: intx::mulmod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::umul
    linkageType: ''
    returnType: uint256
    signature: uint256 mulmod(const uint256& x, const uint256& y, const uint256& mod)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::from_string
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1117
    functionDepth: 4
    functionLinenumber: 1117
    functionLinenumberEnd: 1120
    functionName: operator"" _u256(const char* s) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::from_string
    linkageType: ''
    returnType: uint256
    signature: uint256 operator"" _u256(const char* s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::from_string
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1122
    functionDepth: 4
    functionLinenumber: 1122
    functionLinenumberEnd: 1125
    functionName: operator"" _u512(const char* s) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::from_string
    linkageType: ''
    returnType: uint512
    signature: uint512 operator"" _u512(const char* s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (bytes)
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1137
    functionName: intx::le::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t (&bytes)[M]) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: intx::le::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t (&dst)[N / 8], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (bytes)
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1137
    functionName: intx::le::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t (&bytes)[M]) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: intx::le::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t (&dst)[N / 8], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1158,1
    - Dst: as_bytes
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1158,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (bytes)
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1160
    functionName: intx::be::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    - as_bytes
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t (&bytes)[M]) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::load
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: intx::be::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - intx::be::load
    linkageType: ''
    returnType: IntT
    signature: IntT load(const T& t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1172,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1174
    functionName: intx::be::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t (&dst)[N / 8], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::store
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1184
    functionName: intx::be::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - intx::be::store
    linkageType: ''
    returnType: T
    signature: T store(const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1193,1
    - Dst: as_bytes
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1194,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1196
    functionName: intx::be::trunc
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    - as_bytes
    linkageType: ''
    returnType: void
    signature: void trunc(uint8_t (&dst)[M], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::trunc
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1205
    functionName: intx::be::trunc
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - intx::be::trunc
    linkageType: ''
    returnType: T
    signature: T trunc(const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1215,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1217
    functionName: intx::be::unsafe::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t* bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1224,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - ' x'
    argTypes:
    - uint8_t*
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: intx::be::unsafe::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t* dst, const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1215,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1217
    functionName: intx::be::unsafe::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t* bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1224,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - ' x'
    argTypes:
    - uint8_t*
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: intx::be::unsafe::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t* dst, const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1158,1
    - Dst: as_bytes
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1158,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (bytes)
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1160
    functionName: intx::be::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - bswap
    - std::memcpy
    - as_bytes
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t (&bytes)[M]) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::load
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: intx::be::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 2
    functionsReached:
    - intx::be::load
    linkageType: ''
    returnType: IntT
    signature: IntT load(const T& t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1172,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1174
    functionName: intx::be::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t (&dst)[N / 8], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::store
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1184
    functionName: intx::be::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 2
    functionsReached:
    - intx::be::store
    linkageType: ''
    returnType: T
    signature: T store(const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1193,1
    - Dst: as_bytes
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1194,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1196
    functionName: intx::be::trunc
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - bswap
    - std::memcpy
    - as_bytes
    linkageType: ''
    returnType: void
    signature: void trunc(uint8_t (&dst)[M], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::trunc
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1205
    functionName: intx::be::trunc
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 2
    functionsReached:
    - intx::be::trunc
    linkageType: ''
    returnType: T
    signature: T trunc(const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1215,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1217
    functionName: intx::be::unsafe::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t* bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1224,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - ' x'
    argTypes:
    - uint8_t*
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: intx::be::unsafe::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t* dst, const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1215,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1217
    functionName: intx::be::unsafe::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t* bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1224,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - ' x'
    argTypes:
    - uint8_t*
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: intx::be::unsafe::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t* dst, const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - high
    - low
    argTypes:
    - half_type
    - half_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint(half_type high, half_type low) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - half_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint(half_type x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: intx::uint
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint(T x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:49,1
    - Dst: static_cast<bool>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: operator bool() const noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Int>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: operator Int() const noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<Int>
    linkageType: ''
    returnType: void
    signature: void operator Int() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: intx::lo_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t lo_half(uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: intx::lo_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t lo_half(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: intx::lo_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lo_half(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: intx::hi_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hi_half(uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: intx::hi_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t hi_half(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: intx::hi_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hi_half(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: intx::lo_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto lo_half(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: intx::hi_half
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto hi_half(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: intx::num_bits
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned num_bits(const T&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: operator==(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: operator==(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator==(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: operator==(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator==(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: operator!=(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: operator!=(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: operator!=(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: operator<(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: operator<(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator<(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: operator<(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator<(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: operator>(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: operator>(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator>(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: operator>(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator>(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: operator>=(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: operator>=(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: operator>=(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: operator<=(const uint<N>& a, const uint<N>& b) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: operator<=(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: operator<=(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: operator|(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator|(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: operator&(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator&(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: operator^(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator^(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: operator~(const uint<N>& x) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator~(const uint<N>& x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint<N>
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 289
    functionName: operator<<(const uint<N>& x, unsigned shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator<<(const uint<N>& x, unsigned shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Target>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: intx::narrow_cast
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - static_cast<Target>
    linkageType: ''
    returnType: Target
    signature: Target narrow_cast(uint64_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::narrow_cast
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: intx::narrow_cast
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 2
    functionsReached:
    - intx::narrow_cast
    linkageType: ''
    returnType: Target
    signature: Target narrow_cast(const Int& x) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: num_bits
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint<N>
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 326
    functionName: operator>>(const uint<N>& x, unsigned shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - num_bits
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator>>(const uint<N>& x, unsigned shift) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' shift'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: operator<<(const uint<N>& x, const T& shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator<<(const uint<N>& x, const T& shift) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' shift'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: operator>>(const uint<N>& x, const T& shift) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator>>(const uint<N>& x, const T& shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint<N>
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: '& operator>>=(uint<N>& x, unsigned shift) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator>>=(uint<N>& x, unsigned shift) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: intx::as_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t * as_words(uint128& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: intx::as_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t * as_words(const uint128& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: intx::as_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 10
    functionsReached:
    - intx::as_words
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t * as_words(uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: intx::as_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 11
    functionsReached:
    - intx::as_words
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t * as_words(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:379,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: intx::as_bytes
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::as_words
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * as_bytes(uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:385,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: intx::as_bytes
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::as_words
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * as_bytes(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:396,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' x'
    - shift
    argTypes:
    - uint<N>
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 410
    functionName: intx::shl_loop
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::as_words
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> shl_loop(const uint<N>& x, unsigned shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:417,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:418,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 433
    functionName: intx::add_loop
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::as_words
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> add_loop(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: operator+(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - add_with_carry
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator+(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: operator-(const uint<N>& x) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator-(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: operator-(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - sub_with_carry
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator-(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: '& operator+=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator+=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: '& operator-=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator-=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:471,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:472,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:473,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:474,1
    - Dst: intx::num_bits
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 483
    functionName: intx::umul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 16
    functionsReached:
    - intx::num_bits
    - intx::umul
    linkageType: ''
    returnType: uint<2 * N>
    signature: uint<2 * N> umul(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:488,1
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:489,1
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:490,1
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:491,1
    - Dst: intx::num_bits
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 500
    functionName: intx::constexpr_umul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 7
    functionsReached:
    - intx::num_bits
    - intx::constexpr_umul
    linkageType: ''
    returnType: uint<2 * N>
    signature: uint<2 * N> constexpr_umul(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 512
    functionName: intx::mul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - intx::umul
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> mul(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: intx::sqr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - intx::umul
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> sqr(const uint<N>& a) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::constexpr_umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:529,1
    - Dst: intx::constexpr_mul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:530,1
    - Dst: intx::constexpr_mul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: intx::constexpr_mul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 4
    functionsReached:
    - intx::constexpr_umul
    - intx::constexpr_mul
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> constexpr_mul(const uint<N>& a, const uint<N>& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:541,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:542,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:543,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 557
    functionName: intx::umul_loop
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::as_words
    - intx::umul
    linkageType: ''
    returnType: uint<2 * N>
    signature: uint<2 * N> umul_loop(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:565,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:566,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:567,1
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' u'
    - ' v'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 581
    functionName: intx::mul_loop_opt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - intx::as_words
    - intx::umul
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> mul_loop_opt(const uint<N>& u, const uint<N>& v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint256
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: operator*(const uint256& x, const uint256& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - mul
    linkageType: ''
    returnType: uint256
    signature: uint256 operator*(const uint256& x, const uint256& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_loop_opt
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: operator*(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - mul_loop_opt
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator*(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: '& operator*=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator*=(uint<N>& x, const T& y) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intx::sqr
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - base
    - exponent
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 617
    functionName: intx::exp
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::sqr
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> exp(uint<N> base, uint<N> exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::num_bits
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:622,1
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:632,1
    - Dst: intx::clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 633
    functionName: intx::clz
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 6
    functionsReached:
    - intx::num_bits
    - intx::clz
    linkageType: ''
    returnType: unsigned
    signature: unsigned clz(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 641
    functionName: intx::to_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: std::array<Word, sizeof(Int) / sizeof(Word)>
    signature: std::array<Word, sizeof(Int) / sizeof(Word)> to_words(Int x) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: intx::to_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:646,1
    - Dst: auto::size
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:647,1
    - Dst: static_cast<unsigned>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 653
    functionName: intx::count_significant_words_loop
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::to_words
    - auto::size
    - static_cast<unsigned>
    linkageType: ''
    returnType: unsigned
    signature: unsigned count_significant_words_loop(uint256 x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 660
    functionName: intx::count_significant_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: typename std::enable_if<sizeof(Word) == sizeof(Int), unsigned>::type
    signature: "typename std::enable_if<sizeof(Word) == sizeof(Int), unsigned>::type
      count_significant_words(\n    const Int& x) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:666,1
    - Dst: intx::count_significant_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:667,1
    - Dst: intx::hi_half
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:667,1
    - Dst: intx::count_significant_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:668,1
    - Dst: intx::lo_half
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: intx::count_significant_words
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 2
    functionsReached:
    - intx::hi_half
    - intx::count_significant_words
    - static_cast<unsigned>
    - intx::lo_half
    linkageType: ''
    returnType: typename std::enable_if<sizeof(Word) < sizeof(Int), unsigned>::type
    signature: "typename std::enable_if<sizeof(Word) < sizeof(Int), unsigned>::type
      count_significant_words(\n    const Int& x) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:703,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:704,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:707,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:708,1
    - Dst: clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:718,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - ' numerator'
    - ' denominator'
    argTypes:
    - IntT
    - IntT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 742
    functionName: intx::internal::normalized_div_args<IntT::num_bits>::normalize
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - clz
    - as_words
    linkageType: ''
    returnType: TD_FORCEINLINE
    signature: "TD_FORCEINLINE normalized_div_args<IntT::num_bits> normalize(\n    const
      IntT& numerator, const IntT& denominator) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:752,1
    - Dst: reciprocal_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:754,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:762,1
    - Dst: udivrem_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - u
    - len
    - d
    argTypes:
    - uint64_t[]
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 766
    functionName: intx::internal::udivrem_by1
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - INTX_REQUIRE
    - reciprocal_2by1
    - std::tie
    - udivrem_2by1
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t udivrem_by1(uint64_t u[], int len, uint64_t d) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:776,1
    - Dst: reciprocal_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:778,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:786,1
    - Dst: udivrem_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - u
    - len
    - d
    argTypes:
    - uint64_t[]
    - int
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 790
    functionName: intx::internal::udivrem_by2
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - INTX_REQUIRE
    - udivrem_3by2
    - reciprocal_3by2
    - std::tie
    linkageType: ''
    returnType: uint128
    signature: uint128 udivrem_by2(uint64_t u[], int len, uint128 d) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:796,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:800,1
    - Dst: add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - x
    - y
    - len
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 802
    functionName: intx::internal::add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 2
    functionsReached:
    - INTX_REQUIRE
    - std::tie
    - add_with_carry
    linkageType: ''
    returnType: bool
    signature: bool add(uint64_t s[], const uint64_t x[], const uint64_t y[], int
      len) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:809,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:814,1
    - Dst: umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:815,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - r
    - x
    - y
    - len
    - multiplier
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 821
    functionName: intx::internal::submul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 2
    functionsReached:
    - INTX_REQUIRE
    - umul
    - sub_with_carry
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t submul(\n    uint64_t r[], const uint64_t x[], const uint64_t
      y[], int len, uint64_t multiplier) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:826,1
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:827,1
    - Dst: reciprocal_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:830,1
    - Dst: INTX_UNLIKELY
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:838,1
    - Dst: uint128
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:838,1
    - Dst: intx::internal::submul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:842,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:847,1
    - Dst: udivrem_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:847,1
    - Dst: intx::internal::submul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:850,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:851,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:851,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:852,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:852,1
    - Dst: INTX_UNLIKELY
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:854,1
    - Dst: intx::internal::add
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - q
    - u
    - ulen
    - d
    - dlen
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - int
    - uint64_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 863
    functionName: intx::internal::udivrem_knuth
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - INTX_REQUIRE
    - intx::internal::add
    - udivrem_3by2
    - std::tie
    - sub_with_carry
    - uint128
    - intx::internal::submul
    - reciprocal_3by2
    - INTX_UNLIKELY
    linkageType: ''
    returnType: void
    signature: "void udivrem_knuth(\n    uint64_t q[], uint64_t u[], int ulen, const
      uint64_t d[], int dlen) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:703,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:704,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:707,1
    - Dst: as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:708,1
    - Dst: clz
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:718,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - ' numerator'
    - ' denominator'
    argTypes:
    - IntT
    - IntT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 742
    functionName: intx::internal::normalized_div_args<IntT::num_bits>::normalize
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - clz
    - as_words
    linkageType: ''
    returnType: TD_FORCEINLINE
    signature: "TD_FORCEINLINE normalized_div_args<IntT::num_bits> normalize(\n    const
      IntT& numerator, const IntT& denominator) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:752,1
    - Dst: reciprocal_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:754,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:762,1
    - Dst: udivrem_2by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - u
    - len
    - d
    argTypes:
    - uint64_t[]
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 766
    functionName: intx::internal::udivrem_by1
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - INTX_REQUIRE
    - reciprocal_2by1
    - std::tie
    - udivrem_2by1
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t udivrem_by1(uint64_t u[], int len, uint64_t d) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:776,1
    - Dst: reciprocal_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:778,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:786,1
    - Dst: udivrem_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - u
    - len
    - d
    argTypes:
    - uint64_t[]
    - int
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 790
    functionName: intx::internal::udivrem_by2
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - INTX_REQUIRE
    - udivrem_3by2
    - reciprocal_3by2
    - std::tie
    linkageType: ''
    returnType: uint128
    signature: uint128 udivrem_by2(uint64_t u[], int len, uint128 d) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:796,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:800,1
    - Dst: add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - x
    - y
    - len
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 802
    functionName: intx::internal::add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 3
    functionsReached:
    - INTX_REQUIRE
    - std::tie
    - add_with_carry
    linkageType: ''
    returnType: bool
    signature: bool add(uint64_t s[], const uint64_t x[], const uint64_t y[], int
      len) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:809,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:814,1
    - Dst: umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:815,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - r
    - x
    - y
    - len
    - multiplier
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - uint64_t[]
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 821
    functionName: intx::internal::submul
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 3
    functionsReached:
    - INTX_REQUIRE
    - umul
    - sub_with_carry
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t submul(\n    uint64_t r[], const uint64_t x[], const uint64_t
      y[], int len, uint64_t multiplier) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:826,1
    - Dst: INTX_REQUIRE
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:827,1
    - Dst: reciprocal_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:830,1
    - Dst: INTX_UNLIKELY
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:838,1
    - Dst: uint128
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:838,1
    - Dst: intx::internal::submul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:842,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:847,1
    - Dst: udivrem_3by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:847,1
    - Dst: intx::internal::submul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:850,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:851,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:851,1
    - Dst: std::tie
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:852,1
    - Dst: sub_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:852,1
    - Dst: INTX_UNLIKELY
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:854,1
    - Dst: intx::internal::add
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - q
    - u
    - ulen
    - d
    - dlen
    argTypes:
    - uint64_t[]
    - uint64_t[]
    - int
    - uint64_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 863
    functionName: intx::internal::udivrem_knuth
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 1
    functionsReached:
    - INTX_REQUIRE
    - intx::internal::add
    - udivrem_3by2
    - std::tie
    - sub_with_carry
    - uint128
    - intx::internal::submul
    - reciprocal_3by2
    - INTX_UNLIKELY
    linkageType: ''
    returnType: void
    signature: "void udivrem_knuth(\n    uint64_t q[], uint64_t u[], int ulen, const
      uint64_t d[], int dlen) noexcept"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: intx::internal::normalized_div_args<IntT::num_bits>::normalize
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:870,1
    - Dst: intx::internal::udivrem_by1
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:877,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:878,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:878,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:884,1
    - Dst: intx::internal::udivrem_by2
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:886,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:886,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:890,1
    - Dst: intx::internal::udivrem_knuth
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:893,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:894,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:894,1
    - Dst: intx::as_words
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' u'
    - ' v'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 868
    functionDepth: 3
    functionLinenumber: 868
    functionLinenumberEnd: 903
    functionName: intx::udivrem
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 9
    functionsReached:
    - intx::as_words
    - intx::internal::udivrem_knuth
    - intx::internal::normalized_div_args<IntT::num_bits>::normalize
    - intx::internal::udivrem_by1
    - intx::internal::udivrem_by2
    linkageType: ''
    returnType: div_result<uint<N>>
    signature: div_result<uint<N>> udivrem(const uint<N>& u, const uint<N>& v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' u'
    - ' v'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 920
    functionName: intx::sdivrem
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::udivrem
    linkageType: ''
    returnType: div_result<uint<N>>
    signature: div_result<uint<N>> sdivrem(const uint<N>& u, const uint<N>& v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: operator/(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - udivrem
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator/(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udivrem
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 932
    functionName: operator%(const uint<N>& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - udivrem
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator%(const uint<N>& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 939
    functionName: '& operator/=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator/=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: '& operator%=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator%=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:951,1
    - Dst: intx::bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionName: intx::bswap
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 4
    functionsReached:
    - intx::bswap
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> bswap(const uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    functionName: operator+(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator+(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 969
    functionName: operator+(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator+(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: operator-(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator-(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 983
    functionName: operator-(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator-(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: operator*(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator*(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 997
    functionName: operator*(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator*(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1004
    functionName: operator/(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator/(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1011
    functionName: operator/(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator/(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: operator%(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator%(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1025
    functionName: operator%(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator%(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1032
    functionName: operator|(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator|(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1039
    functionName: operator|(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator|(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: operator&(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator&(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1053
    functionName: operator&(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator&(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1060
    functionName: operator^(const uint<N>& x, const T& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator^(const uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint<N>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - T
    - uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1067
    functionName: operator^(const T& x, const uint<N>& y) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - uint<N>
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> operator^(const T& x, const uint<N>& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1074
    functionName: '& operator|=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator|=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: '& operator&=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator&=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1088
    functionName: '& operator^=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator^=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    functionName: '& operator<<=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator<<=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - uint<N>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1102
    functionName: '& operator>>=(uint<N>& x, const T& y) noexcept'
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint<N>
    signature: uint<N> & operator>>=(uint<N>& x, const T& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::add_with_carry
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' mod'
    argTypes:
    - uint256
    - uint256
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1109
    functionName: intx::addmod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::add_with_carry
    linkageType: ''
    returnType: uint256
    signature: uint256 addmod(const uint256& x, const uint256& y, const uint256& mod)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::umul
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' x'
    - ' y'
    - ' mod'
    argTypes:
    - uint256
    - uint256
    - uint256
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1114
    functionName: intx::mulmod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - intx::umul
    linkageType: ''
    returnType: uint256
    signature: uint256 mulmod(const uint256& x, const uint256& y, const uint256& mod)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_string<uint256>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1120
    functionName: operator"" _u256(const char* s) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - from_string<uint256>
    linkageType: ''
    returnType: uint256
    signature: uint256 operator"" _u256(const char* s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_string<uint512>
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1125
    functionName: operator"" _u512(const char* s) noexcept
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - from_string<uint512>
    linkageType: ''
    returnType: uint512
    signature: uint512 operator"" _u512(const char* s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (bytes)
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1137
    functionName: intx::le::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t (&bytes)[M]) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: intx::le::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t (&dst)[N / 8], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (bytes)
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1137
    functionName: intx::le::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t (&bytes)[M]) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: intx::le::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t (&dst)[N / 8], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1158,1
    - Dst: as_bytes
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1158,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (bytes)
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1160
    functionName: intx::be::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 2
    functionsReached:
    - bswap
    - std::memcpy
    - as_bytes
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t (&bytes)[M]) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::load
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: intx::be::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 3
    functionsReached:
    - intx::be::load
    linkageType: ''
    returnType: IntT
    signature: IntT load(const T& t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1172,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1174
    functionName: intx::be::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 2
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t (&dst)[N / 8], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::store
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1184
    functionName: intx::be::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 3
    functionsReached:
    - intx::be::store
    linkageType: ''
    returnType: T
    signature: T store(const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1193,1
    - Dst: as_bytes
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1194,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1196
    functionName: intx::be::trunc
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 2
    functionsReached:
    - bswap
    - std::memcpy
    - as_bytes
    linkageType: ''
    returnType: void
    signature: void trunc(uint8_t (&dst)[M], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::trunc
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1205
    functionName: intx::be::trunc
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 3
    functionsReached:
    - intx::be::trunc
    linkageType: ''
    returnType: T
    signature: T trunc(const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1215,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1217
    functionName: intx::be::unsafe::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t* bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1224,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - ' x'
    argTypes:
    - uint8_t*
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: intx::be::unsafe::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t* dst, const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1215,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1217
    functionName: intx::be::unsafe::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t* bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1224,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - ' x'
    argTypes:
    - uint8_t*
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: intx::be::unsafe::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t* dst, const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1158,1
    - Dst: as_bytes
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1158,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (bytes)
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1160
    functionName: intx::be::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 3
    functionsReached:
    - bswap
    - std::memcpy
    - as_bytes
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t (&bytes)[M]) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::load
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: intx::be::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 4
    functionsReached:
    - intx::be::load
    linkageType: ''
    returnType: IntT
    signature: IntT load(const T& t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1172,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1174
    functionName: intx::be::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 3
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t (&dst)[N / 8], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::store
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1184
    functionName: intx::be::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 4
    functionsReached:
    - intx::be::store
    linkageType: ''
    returnType: T
    signature: T store(const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1193,1
    - Dst: as_bytes
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1194,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - (dst)
    - ' x'
    argTypes:
    - uint8_t[]
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1196
    functionName: intx::be::trunc
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 3
    functionsReached:
    - bswap
    - std::memcpy
    - as_bytes
    linkageType: ''
    returnType: void
    signature: void trunc(uint8_t (&dst)[M], const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intx::be::trunc
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1205
    functionName: intx::be::trunc
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 4
    functionsReached:
    - intx::be::trunc
    linkageType: ''
    returnType: T
    signature: T trunc(const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1215,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1217
    functionName: intx::be::unsafe::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t* bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1224,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - ' x'
    argTypes:
    - uint8_t*
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: intx::be::unsafe::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t* dst, const intx::uint<N>& x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1215,1
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1217
    functionName: intx::be::unsafe::load
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: IntT
    signature: IntT load(const uint8_t* bytes) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1224,1
    - Dst: std::memcpy
      Src: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - ' x'
    argTypes:
    - uint8_t*
    - intx::uint<N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: intx::be::unsafe::store
    functionSourceFile: /src/tdengine/source/libs/decimal/src/detail/intx/intx.hpp
    functionUses: 0
    functionsReached:
    - bswap
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void store(uint8_t* dst, const intx::uint<N>& x) noexcept
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PyObject_Str
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:43,1
    - Dst: PyErr_Clear
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:45,1
    - Dst: PyUnicode_AsEncodedString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:48,1
    - Dst: PyBytes_AsStringAndSize
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:53,1
    - Dst: const_cast<char **>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:53,1
    - Dst: std::string::assign
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:54,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:54,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:56,1
    - Dst: PyErr_Clear
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:58,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 62
    functionName: pyObjToString
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - const_cast<char **>
    - std::string::assign
    - PyErr_Clear
    - PyObject_Str
    - Py_DECREF
    - PyBytes_AsStringAndSize
    - PyUnicode_AsEncodedString
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string pyObjToString(PyObject *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:65,1
    - Dst: PyErr_Fetch
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:72,1
    - Dst: PyErr_NormalizeException
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:73,1
    - Dst: pyObjToString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:75,1
    - Dst: pyObjToString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:76,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:79,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:80,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: fetchPyError
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - Py_XDECREF
    - PyErr_Occurred
    - PyErr_NormalizeException
    - PyErr_Fetch
    - pyObjToString
    linkageType: ''
    returnType: std::string
    signature: std::string fetchPyError()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<UdfDataBlockPyObject *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:86,1
    - Dst: PyErr_SetString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:88,1
    - Dst: Py_BuildValue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: UdfDataBlock_shape
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<UdfDataBlockPyObject *>
    - Py_BuildValue
    - PyErr_SetString
    linkageType: ''
    returnType: PyObject
    signature: PyObject *UdfDataBlock_shape(PyObject *self, PyObject *)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<UdfDataBlockPyObject *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:95,1
    - Dst: PyErr_SetString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:97,1
    - Dst: PyArg_ParseTuple
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:102,1
    - Dst: PyErr_SetString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:106,1
    - Dst: Py_BuildValue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - self
    - args
    argTypes:
    - PyObject*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: UdfDataBlock_meta
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<UdfDataBlockPyObject *>
    - Py_BuildValue
    - PyArg_ParseTuple
    - PyErr_SetString
    linkageType: ''
    returnType: PyObject
    signature: PyObject *UdfDataBlock_meta(PyObject *self, PyObject *args)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<UdfDataBlockPyObject *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:115,1
    - Dst: PyErr_SetString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:117,1
    - Dst: PyArg_ParseTuple
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:123,1
    - Dst: PyErr_SetString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:128,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:133,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:137,1
    - Dst: PyLong_FromLongLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:140,1
    - Dst: PyLong_FromLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:142,1
    - Dst: PyLong_FromUnsignedLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:144,1
    - Dst: PyLong_FromLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:146,1
    - Dst: PyLong_FromUnsignedLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:148,1
    - Dst: PyLong_FromLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:150,1
    - Dst: PyLong_FromUnsignedLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:152,1
    - Dst: PyLong_FromLongLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:154,1
    - Dst: PyLong_FromUnsignedLongLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:156,1
    - Dst: PyBool_FromLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:158,1
    - Dst: PyFloat_FromDouble
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:160,1
    - Dst: PyFloat_FromDouble
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:162,1
    - Dst: PyBytes_FromStringAndSize
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:165,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:165,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:165,1
    - Dst: PyErr_SetString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - self
    - args
    argTypes:
    - PyObject*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 170
    functionName: UdfDataBlock_data
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - PyErr_SetString
    - PyBool_FromLong
    - PyLong_FromLong
    - PyBytes_FromStringAndSize
    - udfColDataIsNull
    - PyArg_ParseTuple
    - PyLong_FromLongLong
    - udfColDataGetData
    - PyLong_FromUnsignedLong
    - varDataLen
    - varDataVal
    - PyLong_FromUnsignedLongLong
    - reinterpret_cast<UdfDataBlockPyObject *>
    - PyFloat_FromDouble
    linkageType: ''
    returnType: PyObject
    signature: PyObject *UdfDataBlock_data(PyObject *self, PyObject *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PyType_FromSpec
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: ensureUdfDataBlockType
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - PyType_FromSpec
    linkageType: ''
    returnType: int
    signature: int ensureUdfDataBlockType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensureUdfDataBlockType
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:205,1
    - Dst: PyObject_CallNoArgs
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:209,1
    - Dst: reinterpret_cast<UdfDataBlockPyObject *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - block
    argTypes:
    - SUdfDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: newUdfDataBlockObject
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<UdfDataBlockPyObject *>
    - PyObject_CallNoArgs
    - ensureUdfDataBlockType
    linkageType: ''
    returnType: PyObject
    signature: PyObject *newUdfDataBlockObject(SUdfDataBlock *block)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PyBytes_Check
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:223,1
    - Dst: PyBytes_AsStringAndSize
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:224,1
    - Dst: const_cast<char **>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:224,1
    - Dst: PyByteArray_Check
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:227,1
    - Dst: PyByteArray_AsString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:228,1
    - Dst: PyByteArray_Size
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:229,1
    - Dst: PyUnicode_Check
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:230,1
    - Dst: PyUnicode_AsEncodedString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:232,1
    - Dst: PyBytes_AsStringAndSize
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:236,1
    - Dst: const_cast<char **>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:236,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:237,1
    - Dst: PyErr_SetString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:241,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:245,1
    - Dst: char::char
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:245,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:246,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:246,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:247,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:247,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:247,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:248,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:248,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - col
    - row
    - obj
    - outputType
    argTypes:
    - SUdfColumn*
    - int
    - PyObject*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 252
    functionName: copyPyObjToVarColumn
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - PyByteArray_Size
    - PyByteArray_Check
    - PyErr_SetString
    - char::char
    - memcpy
    - varDataVal
    - const_cast<char **>
    - PyByteArray_AsString
    - Py_XDECREF
    - PyBytes_Check
    - Py_DECREF
    - PyBytes_AsStringAndSize
    - PyUnicode_AsEncodedString
    - std::unique_ptr::get
    - udfColDataSet
    - static_cast<size_t>
    - PyUnicode_Check
    - varDataSetLen
    linkageType: ''
    returnType: int
    signature: int copyPyObjToVarColumn(SUdfColumn *col, int row, PyObject *obj, int8_t
      outputType)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataSetNull
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:256,1
    - Dst: PyLong_AsLongLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:262,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:263,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:264,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:264,1
    - Dst: PyLong_AsLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:268,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:269,1
    - Dst: static_cast<int8_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:270,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:271,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:271,1
    - Dst: PyLong_AsUnsignedLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:275,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:276,1
    - Dst: static_cast<uint8_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:277,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:278,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:278,1
    - Dst: PyLong_AsLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:282,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:283,1
    - Dst: static_cast<int16_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:284,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:285,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:285,1
    - Dst: PyLong_AsUnsignedLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:289,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:290,1
    - Dst: static_cast<uint16_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:291,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:292,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:292,1
    - Dst: PyLong_AsLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:296,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:297,1
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:298,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:299,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:299,1
    - Dst: PyLong_AsUnsignedLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:303,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:304,1
    - Dst: static_cast<uint32_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:305,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:306,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:306,1
    - Dst: PyLong_AsLongLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:310,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:311,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:312,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:312,1
    - Dst: PyLong_AsUnsignedLongLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:316,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:317,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:318,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:318,1
    - Dst: PyFloat_AsDouble
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:322,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:323,1
    - Dst: static_cast<float>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:324,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:325,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:325,1
    - Dst: PyFloat_AsDouble
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:329,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:330,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:331,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:331,1
    - Dst: PyObject_IsTrue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:335,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:338,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:338,1
    - Dst: copyPyObjToVarColumn
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:343,1
    - Dst: PyErr_SetString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:345,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 85
    argCount: 3
    argNames:
    - col
    - row
    - obj
    argTypes:
    - SUdfColumn*
    - int
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 348
    functionName: copyPyObjToColumnRow
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - PyObject_IsTrue
    - PyErr_Occurred
    - udfColDataSetNull
    - static_cast<uint16_t>
    - PyLong_AsUnsignedLongLong
    - static_cast<int32_t>
    - udfColDataSet
    - static_cast<uint32_t>
    - static_cast<float>
    - reinterpret_cast<char *>
    - static_cast<uint8_t>
    - static_cast<int8_t>
    - copyPyObjToVarColumn
    - PyErr_SetString
    - PyLong_AsLong
    - PyLong_AsLongLong
    - PyLong_AsUnsignedLong
    - PyFloat_AsDouble
    linkageType: ''
    returnType: int
    signature: int copyPyObjToColumnRow(SUdfColumn *col, int row, PyObject *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:359,1
    - Dst: find_last_of
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:359,1
    - Dst: std::string::find_last_of
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:360,1
    - Dst: std::string::substr
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:361,1
    - Dst: PyImport_ImportModule
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:367,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:367,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:369,1
    - Dst: std::this_thread::sleep_for
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:373,1
    - Dst: std::chrono::milliseconds
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:373,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - udfInfo
    argTypes:
    - SScriptUdfInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 381
    functionName: PyUdf::PyUdf
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::c_str
    - std::string::find_last_of
    - PyImport_ImportModule
    - substr
    - fetchPyError
    - std::this_thread::sleep_for
    - std::chrono::milliseconds
    - find_last_of
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void PyUdf(const SScriptUdfInfo *udfInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:384,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:385,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: ~PyUdf()
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - Py_XDECREF
    linkageType: ''
    returnType: void
    signature: void ~PyUdf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PyObject_GetAttrString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:390,1
    - Dst: PyObject_GetAttrString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:391,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: PyUdf::loadFunctions
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - PyObject_GetAttrString
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void loadFunctions()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PyObject_CallNoArgs
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:398,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:400,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:400,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: PyUdf::init
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - Py_DECREF
    - PyObject_CallNoArgs
    - std::runtime_error
    - fetchPyError
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PyObject_CallNoArgs
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:406,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:408,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:408,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: PyUdf::destroy
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - Py_DECREF
    - PyObject_CallNoArgs
    - std::runtime_error
    - fetchPyError
    linkageType: ''
    returnType: void
    signature: void destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - udfInfo
    argTypes:
    - SScriptUdfInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: PyScalarUdf::PyScalarUdf
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PyScalarUdf(const SScriptUdfInfo *udfInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: ~PyScalarUdf() override
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - Py_XDECREF
    linkageType: ''
    returnType: void
    signature: void ~PyScalarUdf() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PyUdf::loadFunctions
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:435,1
    - Dst: PyObject_GetAttrString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:436,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: PyScalarUdf::loadFunctions
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - PyUdf::loadFunctions
    - PyObject_GetAttrString
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void loadFunctions() override
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: newUdfDataBlockObject
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:443,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:445,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:445,1
    - Dst: PyObject_CallFunctionObjArgs
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:448,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:449,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:451,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:451,1
    - Dst: PySequence_Fast
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:454,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:455,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:457,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:457,1
    - Dst: PySequence_Size
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:460,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:462,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:463,1
    - Dst: PySequence_GetItem
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:467,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:469,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:470,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:471,1
    - Dst: copyPyObjToColumnRow
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:473,1
    - Dst: static_cast<int>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:473,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:474,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:475,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:476,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:477,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:479,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:482,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 485
    functionName: PyScalarUdf::scalarProc
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - newUdfDataBlockObject
    - PyObject_CallFunctionObjArgs
    - PySequence_GetItem
    - PySequence_Fast
    - static_cast<int>
    - copyPyObjToColumnRow
    - Py_DECREF
    - PySequence_Size
    - fetchPyError
    - std::runtime_error
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarProc(SUdfDataBlock *block, SUdfColumn *resultCol)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PyBytes_Check
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:501,1
    - Dst: PyBytes_AsStringAndSize
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:502,1
    - Dst: const_cast<char **>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:502,1
    - Dst: PyByteArray_Check
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:505,1
    - Dst: PyByteArray_AsString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:506,1
    - Dst: PyByteArray_Size
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:507,1
    - Dst: PyErr_SetString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:509,1
    - Dst: PyErr_SetString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:514,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:515,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:518,1
    - Dst: static_cast<size_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:518,1
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:519,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - dst
    - obj
    argTypes:
    - SUdfInterBuf*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 524
    functionName: setInterBufBytes
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - PyByteArray_Size
    - PyByteArray_Check
    - PyErr_SetString
    - memcpy
    - static_cast<int32_t>
    - const_cast<char **>
    - PyByteArray_AsString
    - Py_XDECREF
    - PyBytes_Check
    - PyBytes_AsStringAndSize
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int setInterBufBytes(SUdfInterBuf *dst, PyObject *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - udfInfo
    argTypes:
    - SScriptUdfInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: PyAggUdf::PyAggUdf
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PyAggUdf(const SScriptUdfInfo *udfInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:531,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:532,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:533,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: ~PyAggUdf() override
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - Py_XDECREF
    linkageType: ''
    returnType: void
    signature: void ~PyAggUdf() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PyUdf::loadFunctions
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:538,1
    - Dst: PyObject_GetAttrString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:539,1
    - Dst: PyObject_GetAttrString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:540,1
    - Dst: PyObject_GetAttrString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:541,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:543,1
    - Dst: PyObject_GetAttrString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:546,1
    - Dst: PyErr_Clear
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 550
    functionName: PyAggUdf::loadFunctions
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - PyUdf::loadFunctions
    - PyErr_Clear
    - PyObject_GetAttrString
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void loadFunctions() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PyObject_CallNoArgs
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:553,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:555,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:555,1
    - Dst: setInterBufBytes
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:557,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:558,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:559,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:560,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 563
    functionName: PyAggUdf::aggStart
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - setInterBufBytes
    - Py_DECREF
    - fetchPyError
    - PyObject_CallNoArgs
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void aggStart(SUdfInterBuf *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: newUdfDataBlockObject
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:566,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:568,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:568,1
    - Dst: Py_INCREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:573,1
    - Dst: PyBytes_FromStringAndSize
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:576,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:578,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:579,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:579,1
    - Dst: PyObject_CallFunctionObjArgs
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:583,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:584,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:585,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:587,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:587,1
    - Dst: setInterBufBytes
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:590,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:591,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:592,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:593,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:595,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - dataBlock
    - buf
    - newBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 596
    functionName: PyAggUdf::aggProc
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - newUdfDataBlockObject
    - setInterBufBytes
    - PyObject_CallFunctionObjArgs
    - PyBytes_FromStringAndSize
    - Py_DECREF
    - Py_INCREF
    - fetchPyError
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void aggProc(SUdfDataBlock *dataBlock, SUdfInterBuf *buf, SUdfInterBuf
      *newBuf)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: Py_INCREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:601,1
    - Dst: PyBytes_FromStringAndSize
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:604,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:606,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:606,1
    - Dst: PyObject_CallFunctionObjArgs
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:610,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:611,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:613,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:613,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:618,1
    - Dst: PyLong_AsLongLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:624,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:625,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:626,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:627,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:628,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:630,1
    - Dst: PyLong_AsLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:636,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:637,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:638,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:639,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:640,1
    - Dst: static_cast<int8_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:642,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:643,1
    - Dst: PyLong_AsUnsignedLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:649,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:650,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:651,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:652,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:653,1
    - Dst: static_cast<uint8_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:655,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:656,1
    - Dst: PyLong_AsLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:662,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:663,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:664,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:665,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:666,1
    - Dst: static_cast<int16_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:668,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:669,1
    - Dst: PyLong_AsUnsignedLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:675,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:676,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:677,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:678,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:679,1
    - Dst: static_cast<uint16_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:681,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:682,1
    - Dst: PyLong_AsLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:688,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:689,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:690,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:691,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:692,1
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:694,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:695,1
    - Dst: PyLong_AsUnsignedLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:701,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:702,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:703,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:704,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:705,1
    - Dst: static_cast<uint32_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:707,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:708,1
    - Dst: PyLong_AsLongLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:714,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:715,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:716,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:717,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:718,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:720,1
    - Dst: PyLong_AsUnsignedLongLong
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:726,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:727,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:728,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:729,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:730,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:732,1
    - Dst: PyFloat_AsDouble
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:738,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:739,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:740,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:741,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:742,1
    - Dst: static_cast<float>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:744,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:745,1
    - Dst: PyFloat_AsDouble
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:751,1
    - Dst: PyErr_Occurred
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:752,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:753,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:754,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:755,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:757,1
    - Dst: PyObject_IsTrue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:763,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:765,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:766,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:767,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:770,1
    - Dst: PyBytes_Check
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:781,1
    - Dst: PyBytes_AsStringAndSize
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:782,1
    - Dst: const_cast<char **>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:782,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:783,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:784,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:785,1
    - Dst: PyUnicode_Check
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:787,1
    - Dst: PyUnicode_AsEncodedString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:789,1
    - Dst: PyBytes_AsStringAndSize
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:791,1
    - Dst: const_cast<char **>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:791,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:792,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:793,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:794,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:795,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:798,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:799,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:802,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:803,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:803,1
    - Dst: static_cast<int32_t>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:804,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:806,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:810,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:811,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:814,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 171
    argCount: 2
    argNames:
    - buf
    - resultData
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 815
    functionName: PyAggUdf::aggFinish
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - PyObject_IsTrue
    - PyBytes_FromStringAndSize
    - PyErr_Occurred
    - static_cast<uint16_t>
    - PyLong_AsUnsignedLongLong
    - static_cast<int32_t>
    - memcpy
    - Py_XDECREF
    - Py_DECREF
    - varDataVal
    - static_cast<uint32_t>
    - static_cast<float>
    - PyObject_CallFunctionObjArgs
    - const_cast<char **>
    - static_cast<uint8_t>
    - PyBytes_AsStringAndSize
    - PyUnicode_AsEncodedString
    - static_cast<int8_t>
    - varDataSetLen
    - PyLong_AsLong
    - PyBytes_Check
    - PyLong_AsLongLong
    - PyLong_AsUnsignedLong
    - Py_INCREF
    - fetchPyError
    - PyUnicode_Check
    - PyFloat_AsDouble
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void aggFinish(SUdfInterBuf *buf, SUdfInterBuf *resultData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PyAggUdf::PyAggUdf
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:826,1
    - Dst: PyScalarUdf::PyScalarUdf
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:829,1
    - Dst: std::invalid_argument
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - udfInfo
    argTypes:
    - SScriptUdfInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 832
    functionName: PyUdf::create
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - PyScalarUdf::PyScalarUdf
    - PyAggUdf::PyAggUdf
    - std::invalid_argument
    linkageType: ''
    returnType: PyUdf
    signature: PyUdf *PyUdf::create(const SScriptUdfInfo *udfInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyUdf::create
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:837,1
    - Dst: PyUdf*::loadFunctions
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:838,1
    - Dst: PyUdf*::init
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:839,1
    - Dst: what
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - udf
    - pUdfCtx
    argTypes:
    - SScriptUdfInfo*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 846
    functionName: doPyUdfInit
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - PyUdf::create
    - PyUdf*::init
    - what
    - PyUdf*::loadFunctions
    linkageType: ''
    returnType: int32_t
    signature: int32_t doPyUdfInit(SScriptUdfInfo *udf, void **pUdfCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PyUdf *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:850,1
    - Dst: PyUdf*::destroy
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:851,1
    - Dst: what
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - udfCtx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 858
    functionName: doPyUdfDestroy
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PyUdf *>
    - what
    - PyUdf*::destroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t doPyUdfDestroy(void *udfCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<PyScalarUdf *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:862,1
    - Dst: static_cast<PyUdf *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:862,1
    - Dst: auto*::scalarProc
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:866,1
    - Dst: what
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - block
    - resultCol
    - udfCtx
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 871
    functionName: doPyUdfScalarProc
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PyUdf *>
    - what
    - dynamic_cast<PyScalarUdf *>
    - auto*::scalarProc
    linkageType: ''
    returnType: int32_t
    signature: int32_t doPyUdfScalarProc(SUdfDataBlock *block, SUdfColumn *resultCol,
      void *udfCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<PyAggUdf *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:875,1
    - Dst: static_cast<PyUdf *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:875,1
    - Dst: auto*::aggStart
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:879,1
    - Dst: what
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - udfCtx
    argTypes:
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 885
    functionName: doPyUdfAggStart
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PyUdf *>
    - dynamic_cast<PyAggUdf *>
    - what
    - auto*::aggStart
    linkageType: ''
    returnType: int32_t
    signature: int32_t doPyUdfAggStart(SUdfInterBuf *buf, void *udfCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<PyAggUdf *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:889,1
    - Dst: static_cast<PyUdf *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:889,1
    - Dst: auto*::aggProc
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:893,1
    - Dst: what
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - block
    - interBuf
    - newInterBuf
    - udfCtx
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 899
    functionName: doPyUdfAggProc
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PyUdf *>
    - dynamic_cast<PyAggUdf *>
    - what
    - auto*::aggProc
    linkageType: ''
    returnType: int32_t
    signature: int32_t doPyUdfAggProc(SUdfDataBlock *block, SUdfInterBuf *interBuf,
      SUdfInterBuf *newInterBuf, void *udfCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 901
    functionName: doPyUdfAggMerge
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t doPyUdfAggMerge(SUdfInterBuf *, SUdfInterBuf *, SUdfInterBuf
      *, void *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<PyAggUdf *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:905,1
    - Dst: static_cast<PyUdf *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:905,1
    - Dst: auto*::aggFinish
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:909,1
    - Dst: what
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - resultData
    - udfCtx
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 915
    functionName: doPyUdfAggFinish
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PyUdf *>
    - dynamic_cast<PyAggUdf *>
    - what
    - auto*::aggFinish
    linkageType: ''
    returnType: int32_t
    signature: int32_t doPyUdfAggFinish(SUdfInterBuf *buf, SUdfInterBuf *resultData,
      void *udfCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::begin
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:918,1
    - Dst: std::string::end
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: resplit
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> resplit(const std::string &s, const std::regex
      &sep_regex = std::regex{"\\s+"})
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Py_IsInitialized
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:925,1
    - Dst: Py_Initialize
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:930,1
    - Dst: Py_IsInitialized
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:931,1
    - Dst: ensureUdfDataBlockType
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:936,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:937,1
    - Dst: PyImport_ImportModule
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:941,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:943,1
    - Dst: PyObject_GetAttrString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:947,1
    - Dst: PyList_Check
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:948,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:949,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:950,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:951,1
    - Dst: std::string_view
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:957,1
    - Dst: std::string_view
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:957,1
    - Dst: resplit
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:963,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:963,1
    - Dst: PyUnicode_FromString
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:965,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:965,1
    - Dst: PyList_Append
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:966,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:967,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:968,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:969,1
    - Dst: fetchPyError
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:970,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:973,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:978,1
    - Dst: Py_DECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:979,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - items
    - numItems
    argTypes:
    - SScriptUdfEnvItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 981
    functionName: doPyOpen
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - PyUnicode_FromString
    - Py_XDECREF
    - PyList_Append
    - std::string_view
    - Py_IsInitialized
    - std::string
    - c_str
    - Py_Initialize
    - Py_DECREF
    - PyImport_ImportModule
    - PyObject_GetAttrString
    - fetchPyError
    - resplit
    - PyList_Check
    - ensureUdfDataBlockType
    linkageType: ''
    returnType: int32_t
    signature: int32_t doPyOpen(SScriptUdfEnvItem *items, int numItems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Py_IsInitialized
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:984,1
    - Dst: Py_XDECREF
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:988,1
    - Dst: Py_Finalize
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 992
    functionName: doPyClose
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - Py_XDECREF
    - Py_Finalize
    - Py_IsInitialized
    linkageType: ''
    returnType: int32_t
    signature: int32_t doPyClose()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::hardware_concurrency
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:998,1
    - Dst: emplace_back
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1000,1
    - Dst: std::thread
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1000,1
    - Dst: wait
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1005,1
    - Dst: empty
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1005,1
    - Dst: std::move
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1006,1
    - Dst: front
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1006,1
    - Dst: pop
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1007,1
    - Dst: std::this_thread::get_id
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1010,1
    - Dst: ThreadPool::push_stop_task
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1011,1
    - Dst: task
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1014,1
    - Dst: back
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1019
    functionName: ThreadPool::ThreadPool
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - pop
    - emplace_back
    - std::thread
    - std::move
    - front
    - empty
    - task
    - std::this_thread::get_id
    - ThreadPool::push_stop_task
    - wait
    - back
    - std::thread::hardware_concurrency
    linkageType: ''
    returnType: void
    signature: void ThreadPool(size_t num = std::thread::hardware_concurrency())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1021
    functionName: ~ThreadPool()
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: void
    signature: void ~ThreadPool()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ThreadPool::push_stop_task
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1024,1
    - Dst: joinable
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1026,1
    - Dst: join
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1027,1
    - Dst: std::swap
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1033
    functionName: ThreadPool::stop
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - std::swap
    - joinable
    - join
    - ThreadPool::push_stop_task
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<std::packaged_task<return_type()>>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1039,1
    - Dst: std::bind
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1039,1
    - Dst: std::forward<F>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1039,1
    - Dst: std::forward<Args>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1039,1
    - Dst: auto::get_future
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1040,1
    - Dst: emplace
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1044,1
    - Dst: notify_one
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1049
    functionName: ThreadPool::enqueue
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - emplace
    - auto::get_future
    - std::bind
    - notify_one
    - std::forward<F>
    - std::make_shared<std::packaged_task<return_type()>>
    linkageType: ''
    returnType: auto
    signature: auto enqueue(F &&f, Args &&...args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1054,1
    - Dst: notify_one
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1056
    functionName: ThreadPool::push_stop_task
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 2
    functionsReached:
    - push
    - notify_one
    linkageType: ''
    returnType: void
    signature: void push_stop_task()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enqueue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1067,1
    - Dst: auto::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - udf
    - pUdfCtx
    argTypes:
    - SScriptUdfInfo*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1069
    functionName: pyUdfInit
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - enqueue
    - auto::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t pyUdfInit(SScriptUdfInfo *udf, void **pUdfCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enqueue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1072,1
    - Dst: auto::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - udfCtx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1074
    functionName: pyUdfDestroy
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - enqueue
    - auto::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t pyUdfDestroy(void *udfCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enqueue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1077,1
    - Dst: auto::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - block
    - resultCol
    - udfCtx
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1079
    functionName: pyUdfScalarProc
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - enqueue
    - auto::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t pyUdfScalarProc(SUdfDataBlock *block, SUdfColumn *resultCol,
      void *udfCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enqueue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1082,1
    - Dst: auto::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - udfCtx
    argTypes:
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1084
    functionName: pyUdfAggStart
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - enqueue
    - auto::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t pyUdfAggStart(SUdfInterBuf *buf, void *udfCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enqueue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1087,1
    - Dst: auto::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - block
    - interBuf
    - newInterBuf
    - udfCtx
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1089
    functionName: pyUdfAggProc
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - enqueue
    - auto::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t pyUdfAggProc(SUdfDataBlock *block, SUdfInterBuf *interBuf,
      SUdfInterBuf *newInterBuf, void *udfCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enqueue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1092,1
    - Dst: auto::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - inputBuf1
    - inputBuf2
    - outputBuf
    - udfCtx
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1094
    functionName: pyUdfAggMerge
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - enqueue
    - auto::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t pyUdfAggMerge(SUdfInterBuf *inputBuf1, SUdfInterBuf *inputBuf2,
      SUdfInterBuf *outputBuf, void *udfCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enqueue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1097,1
    - Dst: auto::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - resultData
    - udfCtx
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1099
    functionName: pyUdfAggFinish
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - enqueue
    - auto::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t pyUdfAggFinish(SUdfInterBuf *buf, SUdfInterBuf *resultData,
      void *udfCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dladdr
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1113,1
    - Dst: const_cast<void *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1113,1
    - Dst: static_cast<const void *>
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1113,1
    - Dst: dlopen
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1117,1
    - Dst: dlerror
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1118,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1119,1
    - Dst: std::filesystem::temp_directory_path
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1124,1
    - Dst: std::filesystem::path::empty
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1125,1
    - Dst: std::string_view
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1133,1
    - Dst: std::string_view
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1133,1
    - Dst: st_stmt2_init
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1142,1
    - Dst: std::filesystem::path::c_str
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1142,1
    - Dst: std::string::empty
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1145,1
    - Dst: ThreadPool::ThreadPool
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1153,1
    - Dst: enqueue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1156,1
    - Dst: auto::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - items
    - numItems
    argTypes:
    - SScriptUdfEnvItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1107
    functionDepth: 2
    functionLinenumber: 1107
    functionLinenumberEnd: 1158
    functionName: pyOpen
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - dlopen
    - enqueue
    - const_cast<void *>
    - std::filesystem::path::c_str
    - std::string_view
    - std::filesystem::path::empty
    - std::string
    - std::filesystem::temp_directory_path
    - st_stmt2_init
    - auto::get
    - ThreadPool::ThreadPool
    - std::string::empty
    - static_cast<const void *>
    - dladdr
    - dlerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t pyOpen(SScriptUdfEnvItem *items, int numItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enqueue
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1161,1
    - Dst: auto::get
      Src: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1167
    functionName: pyClose
    functionSourceFile: /src/tdengine/source/libs/pyudf/src/taospyudf.cpp
    functionUses: 0
    functionsReached:
    - enqueue
    - auto::get
    linkageType: ''
    returnType: int32_t
    signature: int32_t pyClose()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: TAOS_TEST_PARA
    functionSourceFile: /src/tdengine/source/libs/monitorfw/inc/taos_test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAOS_TEST_PARA(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: TAOS_TEST_PARA_NULL
    functionSourceFile: /src/tdengine/source/libs/monitorfw/inc/taos_test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAOS_TEST_PARA_NULL(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: TAOS_TEST_PARA_VOID
    functionSourceFile: /src/tdengine/source/libs/monitorfw/inc/taos_test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAOS_TEST_PARA_VOID(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: TAOS_LOG
    functionSourceFile: /src/tdengine/source/libs/monitorfw/inc/taos_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAOS_LOG(msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:44,1
    - Dst: taos_string_builder_init
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:46,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: taos_string_builder_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: 0
    functionsReached:
    - taos_string_builder_init
    - taos_string_builder_destroy
    - taos_malloc
    linkageType: ''
    returnType: taos_string_builder_t
    signature: taos_string_builder_t *taos_string_builder_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:56,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: taos_string_builder_init
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: 1
    functionsReached:
    - TAOS_TEST_PARA
    - taos_malloc
    linkageType: ''
    returnType: int
    signature: int taos_string_builder_init(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:66,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:67,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: taos_string_builder_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: 1
    functionsReached:
    - taos_free
    - TAOS_TEST_PARA_VOID
    linkageType: ''
    returnType: void
    signature: void taos_string_builder_destroy(taos_string_builder_t *self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:80,1
    - Dst: taos_realloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - self
    - add_len
    argTypes:
    - taos_string_builder_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: taos_string_builder_ensure_space
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: 0
    functionsReached:
    - taos_realloc
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: int taos_string_builder_ensure_space(taos_string_builder_t *self, size_t
      add_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:89,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:95,1
    - Dst: taos_string_builder_ensure_space
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:96,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - self
    - str
    argTypes:
    - taos_string_builder_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: taos_string_builder_add_str
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - TAOS_TEST_PARA
    - taos_string_builder_ensure_space
    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:106,1
    - Dst: taos_string_builder_ensure_space
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - self
    - c
    argTypes:
    - taos_string_builder_t*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: taos_string_builder_add_char
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA
    - taos_string_builder_ensure_space
    linkageType: ''
    returnType: int
    signature: int taos_string_builder_add_char(taos_string_builder_t *self, char
      c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - self
    - len
    argTypes:
    - taos_string_builder_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: taos_string_builder_truncate
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: 0
    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:130,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:131,1
    - Dst: taos_string_builder_init
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: taos_string_builder_clear
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: 0
    functionsReached:
    - taos_free
    - TAOS_TEST_PARA
    - taos_string_builder_init
    linkageType: ''
    returnType: int
    signature: int taos_string_builder_clear(taos_string_builder_t *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: taos_string_builder_len
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: size_t
    signature: size_t taos_string_builder_len(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:142,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:144,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: taos_string_builder_dump
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA_NULL
    - memcpy
    - taos_malloc
    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:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: taos_string_builder_str
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: 0
    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_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: taos_linked_list_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    functionsReached:
    - taos_malloc
    linkageType: ''
    returnType: taos_linked_list_t
    signature: taos_linked_list_t *taos_linked_list_new(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:37,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:45,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_linked_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: taos_linked_list_purge
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    functionsReached:
    - taos_free
    - TAOS_TEST_PARA
    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:59,1
    - Dst: taos_linked_list_purge
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:63,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_linked_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: taos_linked_list_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    functionsReached:
    - taos_free
    - TAOS_TEST_PARA
    - taos_linked_list_purge
    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:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_linked_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: taos_linked_list_first
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA_NULL
    linkageType: ''
    returnType: void
    signature: void *taos_linked_list_first(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:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_linked_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: taos_linked_list_last
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    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:89,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - self
    - item
    argTypes:
    - taos_linked_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: taos_linked_list_append
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA
    - taos_malloc
    linkageType: ''
    returnType: int
    signature: int taos_linked_list_append(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:105,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - self
    - item
    argTypes:
    - taos_linked_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: taos_linked_list_push
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA
    - taos_malloc
    linkageType: ''
    returnType: int
    signature: int taos_linked_list_push(taos_linked_list_t *self, void *item)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:146,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:157,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:158,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:182,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:183,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:201,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:206,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:216,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:217,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - self
    - item
    argTypes:
    - taos_linked_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 221
    functionName: taos_linked_list_remove
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    functionsReached:
    - taos_free
    - snprintf
    - TAOS_TEST_PARA
    - TAOS_LOG
    linkageType: ''
    returnType: int
    signature: int taos_linked_list_remove(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:224,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - self
    - item_a
    - item_b
    argTypes:
    - taos_linked_list_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: taos_linked_list_compare
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA
    - strcmp
    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:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_linked_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: taos_linked_list_size
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    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:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - free_fn
    argTypes:
    - taos_linked_list_t*
    - taos_linked_list_free_item_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: taos_linked_list_set_free_fn
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - compare_fn
    argTypes:
    - taos_linked_list_t*
    - taos_linked_list_compare_item_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: taos_linked_list_set_compare_fn
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    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: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: taos_linked_list_no_op_free
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void taos_linked_list_no_op_free(void *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strsep
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:30,1
    - Dst: strsep
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - arr
    - str
    - del
    argTypes:
    - char**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: taos_monitor_split_str
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: 0
    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:38,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:39,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:41,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:42,1
    - Dst: strtok_r
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:45,1
    - Dst: strtok_r
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - arr
    - metric
    - del
    - buf
    argTypes:
    - char**
    - taos_metric_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: taos_monitor_split_str_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - memset
    - strlen
    - strtok_r
    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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metric
    argTypes:
    - taos_metric_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: taos_monitor_get_metric_name
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * taos_monitor_get_metric_name(taos_metric_t* metric)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - toSearch
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: taos_monitor_count_occurrences
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: int
    signature: int taos_monitor_count_occurrences(char *str, char *toSearch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: taos_monitor_strip
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void taos_monitor_strip(char *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:82,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:86,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:89,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:92,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:103,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - tags
    - pairs
    - count
    argTypes:
    - SJson*
    - char**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 113
    functionName: taos_monitor_is_match
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetArrayItem
    - strcmp
    - tjsonGetArraySize
    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:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - help
    - label_key_count
    - label_keys
    argTypes:
    - char*
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: taos_counter_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: 0
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:37,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_counter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: taos_counter_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: 0
    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:46,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:49,1
    - Dst: taos_metric_sample_from_labels
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:52,1
    - Dst: taos_metric_sample_add
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - self
    - label_values
    argTypes:
    - taos_counter_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: taos_counter_inc
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: 0
    functionsReached:
    - taos_metric_sample_from_labels
    - TAOS_TEST_PARA
    - taos_metric_sample_add
    - TAOS_LOG
    linkageType: ''
    returnType: int
    signature: int taos_counter_inc(taos_counter_t *self, const char **label_values)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:58,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:61,1
    - Dst: taos_metric_sample_from_labels
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:64,1
    - Dst: taos_metric_sample_add
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - self
    - r_value
    - label_values
    argTypes:
    - taos_counter_t*
    - double
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: taos_counter_add
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: 0
    functionsReached:
    - taos_metric_sample_from_labels
    - TAOS_TEST_PARA
    - taos_metric_sample_add
    - TAOS_LOG
    linkageType: ''
    returnType: int
    signature: int taos_counter_add(taos_counter_t *self, double r_value, const char
      **label_values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_counter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: taos_counter_get_keys_size
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int taos_counter_get_keys_size(taos_counter_t *self)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:72,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:75,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:79,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:83,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:85,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:88,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:90,1
    - Dst: taos_metric_formatter_get_vgroup_id
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:96,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - self
    - keys
    - vgroup_ids
    - list_size
    argTypes:
    - taos_counter_t*
    - char***
    - int32_t**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 103
    functionName: taos_counter_get_vgroup_ids
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: 0
    functionsReached:
    - taos_metric_formatter_get_vgroup_id
    - pthread_rwlock_unlock
    - taos_malloc
    - TAOS_TEST_PARA
    - pthread_rwlock_rdlock
    - TAOS_LOG
    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:106,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:109,1
    - Dst: taos_map_delete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_counter_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: taos_counter_delete
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: 0
    functionsReached:
    - taos_map_delete
    - TAOS_TEST_PARA
    - TAOS_LOG
    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:38,1
    - Dst: taos_strdup
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - type
    - l_value
    - r_value
    argTypes:
    - taos_metric_type_t
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: taos_metric_sample_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: 0
    functionsReached:
    - taos_strdup
    - taos_malloc
    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_TEST_PARA
      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:47,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_sample_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: taos_metric_sample_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: 0
    functionsReached:
    - taos_free
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: int taos_metric_sample_destroy(taos_metric_sample_t *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_sample_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - gen
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: taos_metric_sample_destroy_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: 0
    functionsReached:
    - taos_metric_sample_destroy
    linkageType: ''
    returnType: int
    signature: int taos_metric_sample_destroy_generic(void *gen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_sample_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:65,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - gen
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: taos_metric_sample_free_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: 0
    functionsReached:
    - taos_metric_sample_destroy
    - TAOS_LOG
    linkageType: ''
    returnType: void
    signature: void taos_metric_sample_free_generic(void *gen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:71,1
    - Dst: atomic_load
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:77,1
    - Dst: ATOMIC_VAR_INIT
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:80,1
    - Dst: atomic_compare_exchange_weak
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:81,1
    - Dst: atomic_fetch_add_double
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:87,1
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - self
    - r_value
    argTypes:
    - taos_metric_sample_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 94
    functionName: taos_metric_sample_add
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: 2
    functionsReached:
    - atomic_load
    - atomic_compare_exchange_weak
    - atomic_fetch_add_64
    - ATOMIC_VAR_INIT
    - TAOS_TEST_PARA
    - atomic_fetch_add_double
    linkageType: ''
    returnType: int
    signature: int taos_metric_sample_add(taos_metric_sample_t *self, double r_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:127,1
    - Dst: atomic_store
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:132,1
    - Dst: atomic_store_double
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:135,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - self
    - r_value
    argTypes:
    - taos_metric_sample_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 142
    functionName: taos_metric_sample_set
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: 0
    functionsReached:
    - atomic_store_64
    - atomic_store
    - atomic_store_double
    - TAOS_LOG
    linkageType: ''
    returnType: int
    signature: int taos_metric_sample_set(taos_metric_sample_t *self, double r_value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:146,1
    - Dst: ATOMIC_VAR_INIT
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:151,1
    - Dst: atomic_load
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:153,1
    - Dst: atomic_compare_exchange_weak
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:155,1
    - Dst: atomic_exchange_double
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:161,1
    - Dst: atomic_exchange_64
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - self
    - r_value
    - old_value
    argTypes:
    - taos_metric_sample_t*
    - double
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: taos_metric_sample_exchange
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - atomic_compare_exchange_weak
    - ATOMIC_VAR_INIT
    - atomic_exchange_64
    - TAOS_LOG
    - atomic_exchange_double
    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_malloc
      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:35,1
    - Dst: taos_metric_formatter_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:37,1
    - Dst: taos_string_builder_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:40,1
    - Dst: taos_metric_formatter_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: taos_metric_formatter_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: 0
    functionsReached:
    - taos_string_builder_new
    - taos_metric_formatter_destroy
    - taos_malloc
    linkageType: ''
    returnType: taos_metric_formatter_t
    signature: taos_metric_formatter_t *taos_metric_formatter_new()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_VOID
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:49,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:51,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:54,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_formatter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: taos_metric_formatter_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: 1
    functionsReached:
    - taos_free
    - taos_string_builder_destroy
    - TAOS_TEST_PARA_VOID
    linkageType: ''
    returnType: void
    signature: void taos_metric_formatter_destroy(taos_metric_formatter_t *self)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:105,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:110,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:114,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:117,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:125,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:128,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:131,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:134,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:137,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:140,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:144,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:147,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 6
    argNames:
    - self
    - name
    - suffix
    - label_count
    - label_keys
    - label_values
    argTypes:
    - taos_metric_formatter_t*
    - char*
    - char*
    - size_t
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 152
    functionName: taos_metric_formatter_load_l_value
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA
    - taos_string_builder_add_char
    - 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,\n                                       size_t
      label_count, const char **label_keys, const char **label_values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:155,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:157,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:158,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:166,1
    - Dst: strtol
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: taos_metric_formatter_get_vgroup_id
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: 1
    functionsReached:
    - strtol
    - memcpy
    - strstr
    - strchr
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t taos_metric_formatter_get_vgroup_id(char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:204,1
    - Dst: taos_string_builder_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_formatter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: taos_metric_formatter_clear
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: 0
    functionsReached:
    - taos_string_builder_clear
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: int taos_metric_formatter_clear(taos_metric_formatter_t *self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:209,1
    - Dst: taos_string_builder_dump
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:212,1
    - Dst: taos_string_builder_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:214,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_formatter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: taos_metric_formatter_dump
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: 0
    functionsReached:
    - taos_string_builder_clear
    - taos_free
    - TAOS_TEST_PARA_NULL
    - taos_string_builder_dump
    linkageType: ''
    returnType: char
    signature: char *taos_metric_formatter_dump(taos_metric_formatter_t *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_collector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: taos_collector_default_collect
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: taos_map_t
    signature: taos_map_t *taos_collector_default_collect(taos_collector_t *self)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:36,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:38,1
    - Dst: taos_strdup
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:39,1
    - Dst: taos_map_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:40,1
    - Dst: taos_collector_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:42,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:43,1
    - Dst: taos_map_set_free_value_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:47,1
    - Dst: taos_collector_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:49,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:50,1
    - Dst: taos_string_builder_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:55,1
    - Dst: taos_collector_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:57,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: taos_collector_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: 0
    functionsReached:
    - taos_string_builder_new
    - taos_strdup
    - taos_map_set_free_value_fn
    - taos_map_new
    - taos_malloc
    - memset
    - TAOS_LOG
    - taos_collector_destroy
    linkageType: ''
    returnType: taos_collector_t
    signature: taos_collector_t *taos_collector_new(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:68,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:74,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:79,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:83,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_collector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 89
    functionName: taos_collector_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: 1
    functionsReached:
    - taos_free
    - taos_map_destroy
    - taos_string_builder_destroy
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: int taos_collector_destroy(taos_collector_t *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - gen
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: taos_collector_destroy_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: 0
    functionsReached:
    - taos_collector_destroy
    linkageType: ''
    returnType: int
    signature: int taos_collector_destroy_generic(void *gen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:101,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - gen
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: taos_collector_free_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: 0
    functionsReached:
    - TAOS_LOG
    - taos_collector_destroy
    linkageType: ''
    returnType: void
    signature: void taos_collector_free_generic(void *gen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - self
    - fn
    argTypes:
    - taos_collector_t*
    - taos_collect_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: taos_collector_set_collect_fn
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: int taos_collector_set_collect_fn(taos_collector_t *self, taos_collect_fn
      *fn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:114,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:116,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:117,1
    - Dst: taos_map_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - self
    - metric
    argTypes:
    - taos_collector_t*
    - taos_metric_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: taos_collector_add_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: 0
    functionsReached:
    - taos_map_set
    - TAOS_TEST_PARA
    - TAOS_LOG
    - taos_map_get
    linkageType: ''
    returnType: int
    signature: int taos_collector_add_metric(taos_collector_t *self, taos_metric_t
      *metric)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:124,1
    - Dst: taos_map_delete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_collector_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: taos_collector_remove_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: 0
    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:130,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - self
    - metric_name
    argTypes:
    - taos_collector_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: taos_collector_get_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA_NULL
    - taos_map_get
    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:47,1
    - Dst: taos_strdup
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:51,1
    - Dst: taos_map_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:52,1
    - Dst: taos_map_set_free_value_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:53,1
    - Dst: taos_map_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:54,1
    - Dst: taos_collector_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:54,1
    - Dst: taos_metric_formatter_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_string_builder_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:58,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:59,1
    - Dst: pthread_rwlock_init
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:60,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:62,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: taos_collector_registry_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: 0
    functionsReached:
    - taos_string_builder_new
    - taos_strdup
    - taos_map_set
    - taos_collector_new
    - taos_metric_formatter_new
    - taos_map_new
    - taos_malloc
    - TAOS_LOG
    - taos_map_set_free_value_fn
    - taos_free
    - pthread_rwlock_init
    linkageType: ''
    returnType: taos_collector_registry_t
    signature: taos_collector_registry_t *taos_collector_registry_new(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: taos_collector_registry_default_init
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: 0
    functionsReached:
    - taos_collector_registry_new
    linkageType: ''
    returnType: void
    signature: void taos_collector_registry_default_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:85,1
    - Dst: taos_metric_formatter_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:89,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:92,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:95,1
    - Dst: pthread_rwlock_destroy
      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:99,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:103,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_collector_registry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 110
    functionName: taos_collector_registry_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: 0
    functionsReached:
    - taos_string_builder_destroy
    - taos_metric_formatter_destroy
    - taos_map_destroy
    - taos_free
    - pthread_rwlock_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:113,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:116,1
    - Dst: taos_collector_add_metric
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - metric
    argTypes:
    - taos_metric_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: taos_collector_registry_register_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA
    - taos_collector_add_metric
    - taos_map_get
    linkageType: ''
    returnType: int
    signature: int taos_collector_registry_register_metric(taos_metric_t *metric)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:126,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:129,1
    - Dst: taos_collector_remove_metric
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: taos_collector_registry_deregister_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: 0
    functionsReached:
    - taos_collector_remove_metric
    - TAOS_TEST_PARA
    - taos_map_get
    linkageType: ''
    returnType: int
    signature: int taos_collector_registry_deregister_metric(const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:139,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:142,1
    - Dst: taos_collector_get_metric
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - metric_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: taos_collector_registry_get_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: 0
    functionsReached:
    - taos_collector_get_metric
    - TAOS_TEST_PARA_NULL
    - taos_map_get
    linkageType: ''
    returnType: taos_metric_t
    signature: taos_metric_t *taos_collector_registry_get_metric(char* metric_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - metric
    argTypes:
    - taos_metric_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: taos_collector_registry_must_register_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: 0
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:161,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:166,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:168,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:171,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:172,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:173,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:175,1
    - Dst: taos_map_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:181,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:183,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:185,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:191,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - self
    - collector
    argTypes:
    - taos_collector_registry_t*
    - taos_collector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 197
    functionName: taos_collector_registry_register_collector
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_wrlock
    - taos_map_set
    - pthread_rwlock_unlock
    - TAOS_TEST_PARA
    - TAOS_LOG
    - taos_map_get
    linkageType: ''
    returnType: int
    signature: int taos_collector_registry_register_collector(taos_collector_registry_t
      *self, taos_collector_t *collector)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: regcomp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:202,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:204,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:205,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:209,1
    - Dst: TAOS_LOG
      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:212,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - self
    - metric_name
    argTypes:
    - taos_collector_registry_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 217
    functionName: taos_collector_registry_validate_metric_name
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: 0
    functionsReached:
    - regfree
    - regexec
    - regcomp
    - TAOS_LOG
    linkageType: ''
    returnType: int
    signature: int taos_collector_registry_validate_metric_name(taos_collector_registry_t
      *self, const char *metric_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_string_builder_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_collector_registry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: taos_collector_registry_clear_batch
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: 0
    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: taos_metric_formatter_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:237,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:239,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:240,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:241,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:242,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:245,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:246,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:249,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:250,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:253,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:254,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:255,1
    - Dst: taos_metric_formatter_load_metrics_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:259,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:261,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:262,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:266,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:268,1
    - Dst: taos_metric_formatter_dump
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:275,1
    - Dst: taos_string_builder_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:280,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:282,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:285,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:286,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:287,1
    - Dst: taos_string_builder_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:291,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:293,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:296,1
    - Dst: taos_string_builder_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:296,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:299,1
    - Dst: taos_string_builder_dump
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:303,1
    - Dst: taos_string_builder_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:305,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:308,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:311,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:315,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:317,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 4
    argNames:
    - self
    - ts
    - format
    - prom_str
    argTypes:
    - taos_collector_registry_t*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 322
    functionName: taos_collector_registry_bridge_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: 0
    functionsReached:
    - taos_string_builder_clear
    - tjsonAddStringToObject
    - taos_metric_formatter_load_metrics_new
    - tjsonGetArraySize
    - tjsonCreateObject
    - taos_metric_formatter_dump
    - taos_string_builder_destroy
    - TAOS_LOG
    - taos_metric_formatter_clear
    - tjsonCreateArray
    - taos_string_builder_add_str
    - tjsonToString
    - tjsonAddDoubleToObject
    - tjsonAddItemToObject
    - tjsonAddItemToArray
    - taos_string_builder_new
    - taos_string_builder_str
    - tjsonDelete
    - taos_string_builder_dump
    - taos_free
    linkageType: ''
    returnType: char
    signature: char *taos_collector_registry_bridge_new(taos_collector_registry_t
      *self, char *ts, char *format, char** prom_str)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:32,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:37,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:38,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:42,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:44,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:45,1
    - Dst: taos_monitor_count_occurrences
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:47,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:49,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:51,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:54,1
    - Dst: taos_monitor_split_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:55,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:57,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:59,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:60,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:63,1
    - Dst: taos_monitor_split_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:70,1
    - Dst: taos_monitor_strip
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:72,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:75,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:79,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:81,1
    - Dst: taos_monitor_is_match
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:83,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:91,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:93,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:100,1
    - Dst: tjsonAddStringToObject
      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:102,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:103,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:104,1
    - Dst: tjsonAddStringToObject
      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:108,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:110,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:113,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:114,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:115,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:116,1
    - Dst: tjsonAddItemToObject
      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:121,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:123,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:127,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:128,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:129,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:131,1
    - Dst: tjsonAddItemToArray
      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:136,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:137,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:138,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:143,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:146,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:148,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:150,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:151,1
    - Dst: taos_metric_sample_exchange
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:156,1
    - Dst: taos_metric_sample_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:159,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:162,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:163,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:164,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 90
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 167
    functionName: taos_metric_formatter_load_sample_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c
    functionUses: 0
    functionsReached:
    - taos_monitor_count_occurrences
    - taosMemoryFreeClear
    - tjsonAddStringToObject
    - taos_monitor_is_match
    - tjsonGetArraySize
    - memset
    - tjsonGetObjectItem
    - taos_metric_sample_set
    - tjsonCreateObject
    - memcpy
    - tjsonCreateArray
    - taos_metric_sample_exchange
    - tjsonGetArrayItem
    - TAOS_TEST_PARA
    - tjsonAddDoubleToObject
    - tjsonAddItemToObject
    - tjsonAddItemToArray
    - taosMemoryMalloc
    - strstr
    - taos_monitor_split_str
    - taos_monitor_strip
    linkageType: ''
    returnType: int
    signature: "int taos_metric_formatter_load_sample_new(taos_metric_formatter_t
      *self, taos_metric_sample_t *sample, \n                                      char
      *ts, char *format, char *metricName, int32_t metric_type,\n                                      SJson
      *arrayMetricGroups)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:171,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:176,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:177,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:179,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:180,1
    - Dst: taos_monitor_split_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:182,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:188,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:190,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:193,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:194,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:197,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:199,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:205,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:207,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:208,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:212,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:213,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:214,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:226,1
    - Dst: taos_metric_formatter_load_sample_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:228,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:235,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:236,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:241,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:244,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 5
    argNames:
    - self
    - metric
    - ts
    - format
    - tableArray
    argTypes:
    - taos_metric_formatter_t*
    - taos_metric_t*
    - char*
    - char*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 246
    functionName: taos_metric_formatter_load_metric_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tjsonAddStringToObject
    - tjsonGetArraySize
    - memset
    - tjsonGetObjectItem
    - tjsonCreateObject
    - taos_metric_formatter_load_sample_new
    - memcpy
    - strcmp
    - tjsonCreateArray
    - tjsonGetStringValue1
    - tjsonGetArrayItem
    - TAOS_TEST_PARA
    - tjsonAddItemToObject
    - tjsonAddItemToArray
    - taosMemoryMalloc
    - tjsonDelete
    - taos_monitor_split_str
    - taos_map_get
    - strlen
    linkageType: ''
    returnType: int
    signature: "int taos_metric_formatter_load_metric_new(taos_metric_formatter_t
      *self, taos_metric_t *metric, char *ts, char *format, \n                                          SJson*
      tableArray)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:250,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:256,1
    - Dst: taos_collector_t*::collect_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:259,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:264,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:266,1
    - Dst: taos_map_get_withoutlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:279,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:283,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:284,1
    - Dst: taos_metric_formatter_load_metric_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:288,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:290,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:297,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:298,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:300,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - self
    - collectors
    - ts
    - format
    - tableArray
    argTypes:
    - taos_metric_formatter_t*
    - taos_map_t*
    - char*
    - char*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 320
    functionName: taos_metric_formatter_load_metrics_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c
    functionUses: 1
    functionsReached:
    - taos_map_get
    - pthread_rwlock_unlock
    - taos_map_get_withoutlock
    - taos_metric_formatter_load_metric_new
    - taos_collector_t*::collect_fn
    - snprintf
    - TAOS_TEST_PARA
    - TAOS_LOG
    - pthread_rwlock_wrlock
    linkageType: ''
    returnType: int
    signature: "int taos_metric_formatter_load_metrics_new(taos_metric_formatter_t
      *self, taos_map_t *collectors, char *ts, \n                                            char
      *format, SJson* tableArray)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - help
    - label_key_count
    - label_keys
    argTypes:
    - char*
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: taos_gauge_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c
    functionUses: 0
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:36,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_gauge_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: taos_gauge_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c
    functionUses: 0
    functionsReached:
    - taos_metric_destroy
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: int taos_gauge_destroy(taos_gauge_t *self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:92,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:95,1
    - Dst: taos_metric_sample_from_labels
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:98,1
    - Dst: taos_metric_sample_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - self
    - r_value
    - label_values
    argTypes:
    - taos_gauge_t*
    - double
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: taos_gauge_set
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c
    functionUses: 0
    functionsReached:
    - taos_metric_sample_from_labels
    - TAOS_TEST_PARA
    - taos_metric_sample_set
    - TAOS_LOG
    linkageType: ''
    returnType: int
    signature: int taos_gauge_set(taos_gauge_t *self, double r_value, const char **label_values)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:36,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:38,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:40,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:41,1
    - Dst: snprintf
      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:45,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:48,1
    - Dst: TAOS_LOG
      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:50,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:53,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:54,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:55,1
    - Dst: taos_strdup
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:58,1
    - Dst: taos_map_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:62,1
    - Dst: taos_map_set_free_value_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:67,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:69,1
    - Dst: taos_metric_formatter_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:74,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:76,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:79,1
    - Dst: pthread_rwlock_init
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:80,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:82,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:83,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 5
    argNames:
    - metric_type
    - name
    - help
    - label_key_count
    - label_keys
    argTypes:
    - taos_metric_type_t
    - char*
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 87
    functionName: taos_metric_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: 2
    functionsReached:
    - taos_free
    - taos_strdup
    - taos_map_set_free_value_fn
    - taos_metric_formatter_new
    - taos_map_new
    - taos_malloc
    - snprintf
    - memset
    - TAOS_LOG
    - taos_metric_destroy
    - strlen
    - pthread_rwlock_init
    - strcmp
    linkageType: ''
    returnType: taos_metric_t
    signature: "taos_metric_t *taos_metric_new(taos_metric_type_t metric_type, const
      char *name, const char *help,\n                               size_t label_key_count,
      const char **label_keys)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:90,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:97,1
    - Dst: taos_metric_formatter_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:102,1
    - Dst: pthread_rwlock_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:105,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:107,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:111,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:115,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:118,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:121,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 128
    functionName: taos_metric_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: 3
    functionsReached:
    - taos_metric_formatter_destroy
    - taos_map_destroy
    - TAOS_TEST_PARA
    - TAOS_LOG
    - taos_free
    - pthread_rwlock_destroy
    linkageType: ''
    returnType: int
    signature: int taos_metric_destroy(taos_metric_t *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: taos_metric_destroy_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: 0
    functionsReached:
    - taos_metric_destroy
    linkageType: ''
    returnType: int
    signature: int taos_metric_destroy_generic(void *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:140,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: taos_metric_free_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: 0
    functionsReached:
    - taos_metric_destroy
    - TAOS_LOG
    linkageType: ''
    returnType: void
    signature: void taos_metric_free_generic(void *item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:146,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:148,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:150,1
    - Dst: taos_metric_formatter_load_l_value
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:160,1
    - Dst: TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:162,1
    - Dst: taos_metric_formatter_dump
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:166,1
    - Dst: TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:168,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:172,1
    - Dst: taos_metric_sample_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:174,1
    - Dst: taos_map_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:175,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:177,1
    - Dst: TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:178,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:181,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:182,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - self
    - label_values
    argTypes:
    - taos_metric_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 185
    functionName: taos_metric_sample_from_labels
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: 3
    functionsReached:
    - pthread_rwlock_wrlock
    - taos_metric_sample_new
    - taos_free
    - taos_map_set
    - taos_map_get
    - pthread_rwlock_unlock
    - TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
    - TAOS_LOG
    - taos_metric_formatter_load_l_value
    - taos_metric_formatter_dump
    - TAOS_TEST_PARA_NULL
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: destroy_map_node_value_no_op
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void destroy_map_node_value_no_op(void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:41,1
    - Dst: taos_strdup
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key
    - value
    - free_value_fn
    argTypes:
    - char*
    - void*
    - taos_map_node_free_value_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: taos_map_node_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    functionsReached:
    - taos_strdup
    - taos_malloc
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_VOID
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:49,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:50,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_map_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: taos_map_node_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    functionsReached:
    - taos_free
    - TAOS_TEST_PARA_VOID
    linkageType: ''
    returnType: void
    signature: void taos_map_node_destroy(taos_map_node_t *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_map_node_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: taos_map_node_free
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    functionsReached:
    - taos_map_node_destroy
    linkageType: ''
    returnType: void
    signature: void taos_map_node_free(void *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item_a
    - item_b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: taos_map_node_compare
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:77,1
    - Dst: taos_linked_list_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:81,1
    - Dst: taos_linked_list_set_free_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:86,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:88,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:89,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:94,1
    - Dst: taos_linked_list_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:98,1
    - Dst: taos_linked_list_set_free_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:99,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:101,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:102,1
    - Dst: taos_linked_list_set_compare_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:106,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:108,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:109,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:115,1
    - Dst: pthread_rwlock_init
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:116,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:118,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:119,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 126
    functionName: taos_map_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 3
    functionsReached:
    - taos_linked_list_set_compare_fn
    - taos_malloc
    - taos_map_destroy
    - taos_linked_list_set_free_fn
    - TAOS_LOG
    - taos_linked_list_new
    - pthread_rwlock_init
    linkageType: ''
    returnType: taos_map_t
    signature: taos_map_t *taos_map_new()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:129,1
    - Dst: taos_linked_list_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:133,1
    - Dst: taos_linked_list_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:138,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:142,1
    - Dst: pthread_rwlock_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:145,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:147,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:151,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 157
    functionName: taos_map_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 4
    functionsReached:
    - taos_linked_list_destroy
    - TAOS_TEST_PARA
    - TAOS_LOG
    - taos_free
    - pthread_rwlock_destroy
    linkageType: ''
    returnType: int
    signature: int taos_map_destroy(taos_map_t *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - size
    - max_size
    argTypes:
    - char*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: taos_map_get_index_internal
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t taos_map_get_index_internal(const char *key, size_t *size, size_t
      *max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_map_get_index_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_map_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: taos_map_get_index
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_map_get_index_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:189,1
    - Dst: taos_map_node_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:191,1
    - Dst: taos_linked_list_compare
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:195,1
    - Dst: taos_map_node_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:197,1
    - Dst: taos_map_node_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: taos_map_get_internal
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    functionsReached:
    - taos_map_node_new
    - taos_map_get_index_internal
    - taos_map_node_destroy
    - taos_linked_list_compare
    linkageType: ''
    returnType: void
    signature: "void *taos_map_get_internal(const char *key, size_t *size, size_t
      *max_size, taos_linked_list_t *keys,\n                                   taos_linked_list_t
      **addrs, taos_map_node_free_value_fn free_value_fn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:208,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:210,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:212,1
    - Dst: taos_map_get_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:216,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:217,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_map_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: taos_map_get
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 9
    functionsReached:
    - pthread_rwlock_wrlock
    - taos_map_get_internal
    - pthread_rwlock_unlock
    - TAOS_LOG
    - TAOS_TEST_PARA_NULL
    linkageType: ''
    returnType: void
    signature: void *taos_map_get(taos_map_t *self, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:226,1
    - Dst: taos_map_get_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_map_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: taos_map_get_withoutlock
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 1
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_map_node_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:236,1
    - Dst: taos_map_get_index_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:239,1
    - Dst: taos_linked_list_compare
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:243,1
    - Dst: free_value_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:246,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:249,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:251,1
    - Dst: taos_linked_list_append
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:257,1
    - Dst: taos_linked_list_append
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 261
    functionName: taos_map_set_internal
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    functionsReached:
    - free_value_fn
    - taos_linked_list_append
    - taos_map_get_index_internal
    - taos_linked_list_compare
    - taos_free
    - taos_map_node_new
    linkageType: ''
    returnType: int
    signature: "int taos_map_set_internal(const char *key, void *value, size_t *size,
      size_t *max_size, taos_linked_list_t *keys,\n                                 taos_linked_list_t
      **addrs, taos_map_node_free_value_fn free_value_fn,\n                                 bool
      destroy_current_value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:264,1
    - Dst: taos_linked_list_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:276,1
    - Dst: taos_linked_list_set_free_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:279,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:283,1
    - Dst: taos_linked_list_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:287,1
    - Dst: taos_linked_list_set_free_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:288,1
    - Dst: taos_linked_list_set_compare_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:290,1
    - Dst: taos_map_set_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:302,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:307,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:309,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:311,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:316,1
    - Dst: taos_linked_list_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:320,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 335
    functionName: taos_map_ensure_space
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    functionsReached:
    - taos_map_set_internal
    - taos_linked_list_destroy
    - taos_linked_list_set_compare_fn
    - taos_malloc
    - TAOS_TEST_PARA
    - taos_linked_list_set_free_fn
    - taos_free
    - taos_linked_list_new
    linkageType: ''
    returnType: int
    signature: int taos_map_ensure_space(taos_map_t *self)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:338,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:340,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:342,1
    - Dst: taos_map_ensure_space
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:346,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:349,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:351,1
    - Dst: taos_map_set_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:357,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:361,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:363,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:369,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - self
    - key
    - value
    argTypes:
    - taos_map_t*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 374
    functionName: taos_map_set
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 4
    functionsReached:
    - pthread_rwlock_wrlock
    - taos_map_set_internal
    - pthread_rwlock_unlock
    - TAOS_TEST_PARA
    - 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:379,1
    - Dst: taos_map_node_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:381,1
    - Dst: taos_linked_list_compare
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:385,1
    - Dst: taos_linked_list_remove
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:387,1
    - Dst: taos_linked_list_remove
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:390,1
    - Dst: taos_map_node_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 400
    functionName: taos_map_delete_internal
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    functionsReached:
    - taos_map_get_index_internal
    - taos_map_node_destroy
    - taos_linked_list_remove
    - taos_linked_list_compare
    - taos_map_node_new
    linkageType: ''
    returnType: int
    signature: "int taos_map_delete_internal(const char *key, size_t *size, size_t
      *max_size, taos_linked_list_t *keys,\n                                    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:403,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:406,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:408,1
    - Dst: taos_map_delete_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:411,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:413,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_map_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 419
    functionName: taos_map_delete
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 2
    functionsReached:
    - pthread_rwlock_wrlock
    - taos_map_delete_internal
    - pthread_rwlock_unlock
    - TAOS_TEST_PARA
    - TAOS_LOG
    linkageType: ''
    returnType: int
    signature: int taos_map_delete(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:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - free_value_fn
    argTypes:
    - taos_map_t*
    - taos_map_node_free_value_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: taos_map_set_free_value_fn
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 3
    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:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: taos_map_size
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: 0
    functionsReached:
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: size_t
    signature: size_t taos_map_size(taos_map_t *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: PRINTF
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTF(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitRegexCache
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: constantTest::constantTest
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - InitRegexCache
    linkageType: ''
    returnType: void
    signature: void constantTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DestroyRegexCache
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~constantTest()
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - DestroyRegexCache
    linkageType: ''
    returnType: void
    signature: void ~constantTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - colId
    - type
    - bytes
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: createColumnInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SColumnInfo
    signature: SColumnInfo createColumnInfo(int32_t colId, int32_t type, int32_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: scltFreeDataBlock
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void scltFreeDataBlock(void *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:84,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:86,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: scltInitLogFile
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - tstrncpy
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: void scltInitLogFile()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:95,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:97,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:103,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:105,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:106,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:109,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:111,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:112,1
    - Dst: static_cast<SColumnInfoData *>
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:117,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:117,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:119,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:120,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:123,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:124,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:126,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:130,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:133,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:135,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:136,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:139,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:141,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:142,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:145,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:146,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 6
    argNames:
    - pBlockList
    - dataBlockId
    - slotId
    - newBlock
    - rows
    - colInfo
    argTypes:
    - SArray*
    - int16_t*
    - int16_t*
    - bool
    - int32_t
    - SColumnInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 150
    functionName: scltAppendReservedSlot
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - blockDataFreeRes
    - sclError
    - colInfoDataEnsureCapacity
    - taosArrayGet
    - taosArrayGetLast
    - SCL_RET
    - static_cast<SColumnInfoData *>
    - createDataBlock
    - taosMemoryFree
    - taosArrayGetSize
    - blockDataAppendColInfo
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t scltAppendReservedSlot(SArray *pBlockList, int16_t *dataBlockId,
      int16_t *slotId, bool newBlock, int32_t rows,\n                               SColumnInfo
      *colInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:154,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:156,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:161,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:162,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:163,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:163,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:165,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:167,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:168,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:171,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:171,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:173,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:175,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:176,1
    - Dst: assignVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:181,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:181,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pNode
    - dataType
    - value
    argTypes:
    - SNode**
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 186
    functionName: scltMakeValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - taosMemoryMalloc
    - SCL_RET
    - varDataTLen
    - IS_STR_DATA_BLOB
    - varDataCopy
    - nodesMakeNode
    - nodesGetValueFromNode
    - blobDataCopy
    - assignVal
    - SCL_ERR_RET
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeValueNode(SNode **pNode, int32_t dataType, void *value)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:191,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:193,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:202,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:208,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:208,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:211,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:212,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:214,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:215,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:217,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:219,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:220,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:224,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:225,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:227,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:228,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:230,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:232,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:233,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:238,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:240,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:240,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:241,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:242,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:243,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:245,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:260,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:261,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:262,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:264,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:265,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:269,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:271,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:272,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:275,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:278,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:278,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:279,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:280,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:281,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:283,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:296,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 6
    argNames:
    - pNode
    - block
    - dataType
    - dataBytes
    - rowNum
    - value
    argTypes:
    - SNode**
    - SSDataBlock**
    - int32_t
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 297
    functionName: scltMakeColumnNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - blockDataFreeRes
    - SCL_RET
    - colInfoDataEnsureCapacity
    - varDataTLen
    - taosArrayGetLast
    - createColumnInfoData
    - IS_STR_DATA_BLOB
    - colDataSetVal
    - nodesMakeNode
    - createDataBlock
    - taosMemoryFree
    - taosArrayGetSize
    - blockDataAppendColInfo
    - SCL_ERR_RET
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t scltMakeColumnNode(SNode **pNode, SSDataBlock **block, int32_t
      dataType, int32_t dataBytes, int32_t rowNum,\n                           void
      *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:302,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:304,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - pNode
    - opType
    - resType
    - pLeft
    - pRight
    - isReverse
    argTypes:
    - SNode**
    - EOperatorType
    - int32_t
    - SNode*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 321
    functionName: scltMakeOpNode2
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - SCL_RET
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t scltMakeOpNode2(SNode **pNode, EOperatorType opType, int32_t
      resType, SNode *pLeft, SNode *pRight,\n                     bool isReverse)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:325,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:327,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - pNode
    - opType
    - resType
    - pLeft
    - pRight
    argTypes:
    - SNode**
    - EOperatorType
    - int32_t
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 339
    functionName: scltMakeOpNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - SCL_RET
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeOpNode(SNode **pNode, EOperatorType opType, int32_t
      resType, SNode *pLeft, SNode *pRight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:343,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:345,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pNode
    - list
    - resType
    argTypes:
    - SNode**
    - SNodeList*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 353
    functionName: scltMakeListNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - SCL_RET
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeListNode(SNode **pNode, SNodeList *list, int32_t resType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:357,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:359,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:367,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:369,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:372,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:372,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - pNode
    - opType
    - nodeList
    - nodeNum
    argTypes:
    - SNode**
    - ELogicConditionType
    - SNode**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 377
    functionName: scltMakeLogicNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - SCL_RET
    - nodesMakeList
    - nodesMakeNode
    - nodesListAppend
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeLogicNode(SNode **pNode, ELogicConditionType opType,
      SNode **nodeList, int32_t nodeNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:381,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:383,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pNode
    - dataBlockId
    - slotId
    - snode
    argTypes:
    - SNode**
    - int64_t
    - int16_t
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 392
    functionName: scltMakeTargetNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - SCL_RET
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeTargetNode(SNode **pNode, int64_t dataBlockId, int16_t
      slotId, SNode *snode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - colId
    - type
    - bytes
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: createColumnInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SColumnInfo
    signature: SColumnInfo createColumnInfo(int32_t colId, int32_t type, int32_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: scltFreeDataBlock
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void scltFreeDataBlock(void *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:84,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:86,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: scltInitLogFile
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - tstrncpy
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: void scltInitLogFile()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:95,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:97,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:103,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:105,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:106,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:109,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:111,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:112,1
    - Dst: static_cast<SColumnInfoData *>
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:117,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:117,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:119,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:120,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:123,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:124,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:126,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:130,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:133,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:135,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:136,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:139,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:141,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:142,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:145,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:146,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 6
    argNames:
    - pBlockList
    - dataBlockId
    - slotId
    - newBlock
    - rows
    - colInfo
    argTypes:
    - SArray*
    - int16_t*
    - int16_t*
    - bool
    - int32_t
    - SColumnInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 150
    functionName: scltAppendReservedSlot
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - blockDataFreeRes
    - sclError
    - colInfoDataEnsureCapacity
    - taosArrayGet
    - taosArrayGetLast
    - SCL_RET
    - static_cast<SColumnInfoData *>
    - createDataBlock
    - taosMemoryFree
    - taosArrayGetSize
    - blockDataAppendColInfo
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t scltAppendReservedSlot(SArray *pBlockList, int16_t *dataBlockId,
      int16_t *slotId, bool newBlock, int32_t rows,\n                               SColumnInfo
      *colInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:154,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:156,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:161,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:162,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:163,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:163,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:165,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:167,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:168,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:171,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:171,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:173,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:175,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:176,1
    - Dst: assignVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:181,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:181,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pNode
    - dataType
    - value
    argTypes:
    - SNode**
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 186
    functionName: scltMakeValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - taosMemoryMalloc
    - SCL_RET
    - varDataTLen
    - IS_STR_DATA_BLOB
    - varDataCopy
    - nodesMakeNode
    - nodesGetValueFromNode
    - blobDataCopy
    - assignVal
    - SCL_ERR_RET
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeValueNode(SNode **pNode, int32_t dataType, void *value)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:191,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:193,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:202,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:208,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:208,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:211,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:212,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:214,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:215,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:217,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:219,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:220,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:224,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:225,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:227,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:228,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:230,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:232,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:233,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:238,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:240,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:240,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:241,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:242,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:243,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:245,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:260,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:261,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:262,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:264,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:265,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:269,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:271,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:272,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:275,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:278,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:278,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:279,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:280,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:281,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:283,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:296,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 6
    argNames:
    - pNode
    - block
    - dataType
    - dataBytes
    - rowNum
    - value
    argTypes:
    - SNode**
    - SSDataBlock**
    - int32_t
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 297
    functionName: scltMakeColumnNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - blockDataFreeRes
    - SCL_RET
    - colInfoDataEnsureCapacity
    - varDataTLen
    - taosArrayGetLast
    - createColumnInfoData
    - IS_STR_DATA_BLOB
    - colDataSetVal
    - nodesMakeNode
    - createDataBlock
    - taosMemoryFree
    - taosArrayGetSize
    - blockDataAppendColInfo
    - SCL_ERR_RET
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t scltMakeColumnNode(SNode **pNode, SSDataBlock **block, int32_t
      dataType, int32_t dataBytes, int32_t rowNum,\n                           void
      *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:302,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:304,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - pNode
    - opType
    - resType
    - pLeft
    - pRight
    - isReverse
    argTypes:
    - SNode**
    - EOperatorType
    - int32_t
    - SNode*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 321
    functionName: scltMakeOpNode2
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - SCL_RET
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t scltMakeOpNode2(SNode **pNode, EOperatorType opType, int32_t
      resType, SNode *pLeft, SNode *pRight,\n                     bool isReverse)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:325,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:327,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - pNode
    - opType
    - resType
    - pLeft
    - pRight
    argTypes:
    - SNode**
    - EOperatorType
    - int32_t
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 339
    functionName: scltMakeOpNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - SCL_RET
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeOpNode(SNode **pNode, EOperatorType opType, int32_t
      resType, SNode *pLeft, SNode *pRight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:343,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:345,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pNode
    - list
    - resType
    argTypes:
    - SNode**
    - SNodeList*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 353
    functionName: scltMakeListNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - SCL_RET
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeListNode(SNode **pNode, SNodeList *list, int32_t resType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:357,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:359,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:367,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:369,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:372,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:372,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - pNode
    - opType
    - nodeList
    - nodeNum
    argTypes:
    - SNode**
    - ELogicConditionType
    - SNode**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 377
    functionName: scltMakeLogicNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - SCL_RET
    - nodesMakeList
    - nodesMakeNode
    - nodesListAppend
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeLogicNode(SNode **pNode, ELogicConditionType opType,
      SNode **nodeList, int32_t nodeNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:381,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:383,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pNode
    - dataBlockId
    - slotId
    - snode
    argTypes:
    - SNode**
    - int64_t
    - int16_t
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 392
    functionName: scltMakeTargetNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - SCL_RET
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeTargetNode(SNode **pNode, int64_t dataBlockId, int16_t
      slotId, SNode *snode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:398,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:399,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:400,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:401,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:402,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:403,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:405,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:406,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:407,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:408,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:408,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:410,1
    - Dst: ASSERT_FLOAT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:411,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 413
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - ASSERT_FLOAT_EQ
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, bigint_add_bigint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:418,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:419,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:420,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:421,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:422,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:423,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:425,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:426,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:427,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:428,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:428,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:430,1
    - Dst: ASSERT_FLOAT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:431,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 433
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - ASSERT_FLOAT_EQ
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, ubigint_add_ubigint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:438,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:439,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:440,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:441,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:442,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:443,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:445,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:446,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:447,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:448,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:448,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:450,1
    - Dst: ASSERT_FLOAT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:451,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 453
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - ASSERT_FLOAT_EQ
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, double_sub_bigint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:458,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:459,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:460,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:461,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:462,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:463,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:465,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:466,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:468,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:468,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:470,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:471,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 473
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, tinyint_and_smallint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:478,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:479,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:480,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:481,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:482,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:483,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:485,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:486,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:487,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:488,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:488,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:490,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:491,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, utinyint_and_usmallint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:498,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:499,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:500,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:501,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:502,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:503,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:505,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:506,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:507,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:508,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:508,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:510,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:511,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 513
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, uint_and_usmallint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:518,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:519,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:520,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:521,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:522,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:523,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:525,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:526,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:527,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:528,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:528,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:530,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:531,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 533
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, ubigint_and_uint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:539,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:540,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:541,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:542,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:543,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:545,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:546,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:547,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:548,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:548,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:550,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:551,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 553
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, bigint_or_double)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:559,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:560,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:560,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:561,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:562,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:563,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:564,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:565,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:566,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:568,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:569,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:570,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:571,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:571,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:573,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:574,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 576
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_or_binary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:581,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:582,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:583,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:584,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:585,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:586,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:588,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:589,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:590,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:591,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:591,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:593,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:594,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 596
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_greater_double)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:602,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:603,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:603,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:604,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:605,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:606,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:607,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:608,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:609,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:611,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:612,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:613,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:614,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:614,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:616,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:617,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 619
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, binary_greater_equal_varbinary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:626,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:627,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:627,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:628,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:629,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:630,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:631,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:633,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:635,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:636,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:637,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:638,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:638,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:640,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:641,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 643
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, binary_equal_geo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:649,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:650,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:650,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:651,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:652,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:653,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:654,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:655,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:656,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:658,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:659,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:660,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:661,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:661,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:663,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:664,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 666
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_greater_equal_binary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:671,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:672,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:673,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:674,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:675,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:676,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:678,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:679,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:680,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:681,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:681,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:683,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:684,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 686
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, tinyint_lower_ubigint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:693,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:694,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:695,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:696,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:697,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:698,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:700,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:701,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:702,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:703,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:703,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:705,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:706,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 708
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, usmallint_lower_equal_ubigint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:715,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:716,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:717,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:718,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:719,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:720,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:722,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:723,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:724,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:725,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:725,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:727,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:728,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 730
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_equal_smallint1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:736,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:737,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:738,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:739,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:740,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:741,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:743,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:744,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:745,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:746,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:746,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:748,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:749,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 751
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_equal_smallint2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:757,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:758,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:759,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:760,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:761,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:762,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:764,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:765,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:766,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:767,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:767,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:769,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:770,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 772
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_not_equal_smallint1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:778,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:779,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:780,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:781,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:782,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:783,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:785,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:786,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:787,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:788,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:788,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:790,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:791,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 793
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_not_equal_smallint2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:796,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:801,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:802,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:804,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:805,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:806,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:807,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:808,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:809,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:810,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:811,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:812,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:813,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:814,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:815,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:816,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:817,1
    - Dst: scltMakeListNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:818,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:819,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:820,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:821,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:823,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:824,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:825,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:826,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:826,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:828,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:829,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 831
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltInitLogFile
    - nodesMakeList
    - scltMakeOpNode
    - ASSERT_NE
    - scltMakeValueNode
    - scltMakeListNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_in_smallint1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:834,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:839,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:840,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:842,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:843,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:844,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:845,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:846,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:847,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:848,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:849,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:850,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:851,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:852,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:853,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:854,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:855,1
    - Dst: scltMakeListNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:856,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:857,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:858,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:859,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:861,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:862,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:863,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:864,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:864,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:866,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:867,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 869
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltInitLogFile
    - nodesMakeList
    - scltMakeOpNode
    - ASSERT_NE
    - scltMakeValueNode
    - scltMakeListNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_in_smallint2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:875,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:876,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:878,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:879,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:880,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:881,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:882,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:883,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:884,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:885,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:886,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:887,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:888,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:889,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:890,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:891,1
    - Dst: scltMakeListNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:892,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:893,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:894,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:895,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:897,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:898,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:899,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:900,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:900,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:902,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:903,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 905
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - nodesMakeList
    - scltMakeOpNode
    - ASSERT_NE
    - scltMakeValueNode
    - scltMakeListNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_not_in_smallint1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:908,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:913,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:914,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:916,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:917,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:918,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:919,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:920,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:921,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:922,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:923,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:924,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:925,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:926,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:927,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:928,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:929,1
    - Dst: scltMakeListNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:930,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:931,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:932,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:933,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:935,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:936,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:937,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:938,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:938,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:940,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:941,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 907
    functionDepth: 2
    functionLinenumber: 907
    functionLinenumberEnd: 943
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltInitLogFile
    - nodesMakeList
    - scltMakeOpNode
    - ASSERT_NE
    - scltMakeValueNode
    - scltMakeListNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_not_in_smallint2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:949,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:950,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:950,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:951,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:952,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:952,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:953,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:954,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:955,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:956,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:957,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:958,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:960,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:961,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:962,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:963,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:963,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:965,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:966,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 968
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, binary_like_binary1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:974,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:975,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:975,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:976,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:977,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:977,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:978,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:979,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:980,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:981,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:982,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:983,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:985,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:986,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:987,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:988,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:988,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:990,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:991,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 970
    functionDepth: 2
    functionLinenumber: 970
    functionLinenumberEnd: 993
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, binary_like_binary2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:999,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1000,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1000,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1001,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1002,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1002,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1003,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1004,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1005,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1006,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1007,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1008,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1010,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1011,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1012,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1013,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1013,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1015,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1016,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 995
    functionDepth: 2
    functionLinenumber: 995
    functionLinenumberEnd: 1018
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, binary_not_like_binary1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1024,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1025,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1025,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1026,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1027,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1027,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1028,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1029,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1030,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1031,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1032,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1033,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1035,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1036,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1037,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1038,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1038,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1040,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1041,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1043
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, binary_not_like_binary2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1049,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1050,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1050,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1051,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1052,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1052,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1053,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1054,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1055,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1056,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1057,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1058,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1060,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1061,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1062,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1063,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1063,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1065,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1066,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1045
    functionDepth: 2
    functionLinenumber: 1045
    functionLinenumberEnd: 1068
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, binary_match_binary1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1074,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1075,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1075,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1076,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1077,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1077,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1078,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1079,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1080,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1081,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1082,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1083,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1085,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1086,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1087,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1088,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1088,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1090,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1091,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1070
    functionDepth: 2
    functionLinenumber: 1070
    functionLinenumberEnd: 1093
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, binary_match_binary2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1099,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1100,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1100,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1101,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1102,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1102,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1103,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1104,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1105,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1106,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1107,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1108,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1110,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1111,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1112,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1113,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1113,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1115,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1116,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1118
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, binary_not_match_binary1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1124,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1125,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1125,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1126,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1127,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1127,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1128,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1129,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1130,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1131,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1132,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1133,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1135,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1136,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1137,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1138,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1138,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1140,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1141,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1143
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - sprintf
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, binary_not_match_binary2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1149,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1150,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1151,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1152,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1154,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1155,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1156,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1157,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1157,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1159,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1160,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1145
    functionDepth: 2
    functionLinenumber: 1145
    functionLinenumberEnd: 1162
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_is_null1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1168,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1169,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1170,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1171,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1173,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1174,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1175,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1176,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1176,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1178,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1179,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1164
    functionDepth: 2
    functionLinenumber: 1164
    functionLinenumberEnd: 1181
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_is_null2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1187,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1188,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1189,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1190,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1192,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1193,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1194,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1195,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1195,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1197,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1198,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1183
    functionDepth: 2
    functionLinenumber: 1183
    functionLinenumberEnd: 1200
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_is_not_null1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1206,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1207,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1208,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1209,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1211,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1212,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1213,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1214,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1214,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1216,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1217,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1219
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_is_not_null2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1225,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1226,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1227,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1228,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1229,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1230,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1231,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1232,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1234,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1235,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1236,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1237,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1237,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1239,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1240,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1221
    functionDepth: 2
    functionLinenumber: 1221
    functionLinenumberEnd: 1242
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_add_int_is_true1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1248,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1249,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1250,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1251,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1252,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1253,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1254,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1255,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1257,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1258,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1259,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1260,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1260,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1262,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1263,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1265
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_add_int_is_true2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1271,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1272,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1273,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1274,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1275,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1276,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1277,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1278,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1280,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1281,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1282,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1283,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1283,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1285,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1286,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1267
    functionDepth: 2
    functionLinenumber: 1267
    functionLinenumberEnd: 1288
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_greater_int_is_true1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1294,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1295,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1296,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1297,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1298,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1299,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1300,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1301,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1303,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1304,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1305,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1306,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1306,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1308,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1309,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1311
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltMakeOpNode
    - scltMakeValueNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, int_greater_int_is_true2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1314,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1321,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1322,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1323,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1324,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1325,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1326,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1327,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1328,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1329,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1330,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1331,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1332,1
    - Dst: scltMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1335,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1336,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1338,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1339,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1340,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1341,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1341,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1343,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1344,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1346
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltInitLogFile
    - scltMakeOpNode
    - scltMakeValueNode
    - scltMakeLogicNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, greater_and_lower)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1349,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1356,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1357,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1358,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1359,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1360,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1361,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1362,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1363,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1364,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1365,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1366,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1367,1
    - Dst: scltMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1370,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1371,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1373,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1374,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1375,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1376,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1376,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1378,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1379,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1348
    functionDepth: 2
    functionLinenumber: 1348
    functionLinenumberEnd: 1381
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltInitLogFile
    - scltMakeOpNode
    - scltMakeValueNode
    - scltMakeColumnNode
    - scltMakeLogicNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, column_and_value1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1384,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1391,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1392,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1393,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1394,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1395,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1396,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1397,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1398,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1399,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1400,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1401,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1402,1
    - Dst: scltMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1405,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1406,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1408,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1409,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1410,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1411,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1411,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1413,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1414,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1383
    functionDepth: 2
    functionLinenumber: 1383
    functionLinenumberEnd: 1416
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltInitLogFile
    - scltMakeOpNode
    - scltMakeValueNode
    - scltMakeColumnNode
    - scltMakeLogicNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, column_and_value2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1419,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1426,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1427,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1428,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1429,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1430,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1431,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1432,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1433,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1434,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1435,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1436,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1437,1
    - Dst: scltMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1440,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1441,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1443,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1444,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1445,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1446,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1446,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1448,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1449,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1418
    functionDepth: 2
    functionLinenumber: 1418
    functionLinenumberEnd: 1451
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltInitLogFile
    - scltMakeOpNode
    - scltMakeValueNode
    - scltMakeColumnNode
    - scltMakeLogicNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, column_and_value3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1454,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1461,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1462,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1463,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1464,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1465,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1466,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1468,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1469,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1470,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1471,1
    - Dst: scltMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1474,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1475,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1477,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1478,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1479,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1480,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1480,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1482,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1483,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1453
    functionDepth: 2
    functionLinenumber: 1453
    functionLinenumberEnd: 1485
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - scltInitLogFile
    - scltMakeOpNode
    - scltMakeValueNode
    - scltMakeColumnNode
    - scltMakeLogicNode
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(constantTest, column_and_value4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1489,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1489,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1489,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1490,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1490,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1494,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1494,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1495,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1495,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1496,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1496,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - src
    - opNode
    - json
    - key
    argTypes:
    - SSDataBlock**
    - SNode**
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1498
    functionName: makeJsonArrow
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - SCL_RET
    - memcpy
    - scltMakeOpNode
    - scltMakeValueNode
    - varDataLen
    - scltMakeColumnNode
    - varDataVal
    - strlen
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t makeJsonArrow(SSDataBlock **src, SNode **opNode, void *json,
      char *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1518,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1518,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1519,1
    - Dst: scltMakeOpNode2
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1519,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1521,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1523,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1523,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1524,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1524,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1525,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 15
    argCount: 6
    argNames:
    - opNode
    - blockList
    - opType
    - rightType
    - rightData
    - isReverse
    argTypes:
    - SNode**
    - SArray*
    - EOperatorType
    - int32_t
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1500
    functionDepth: 2
    functionLinenumber: 1500
    functionLinenumberEnd: 1526
    functionName: makeOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - scltAppendReservedSlot
    - SCL_RET
    - createColumnInfo
    - scltMakeValueNode
    - scltMakeOpNode2
    - scltMakeTargetNode
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t makeOperator(SNode **opNode, SArray *blockList, EOperatorType
      opType, int32_t rightType, void *rightData,\n                     bool isReverse)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1530,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1534,1
    - Dst: makeJsonArrow
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1534,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1535,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1536,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1539,1
    - Dst: makeOperator
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1539,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1541,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1541,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1543,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1545,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1546,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1548,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1550,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1552,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1553,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1555,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1559,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1559,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1559,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1561,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1561,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1562,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1562,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1563,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1566,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1566,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1567,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1568,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1569,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1569,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1570,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1577,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1577,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1577,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1579,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1580,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1580,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1581,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1585,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1586,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1587,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 42
    argCount: 7
    argNames:
    - json
    - key
    - rightType
    - rightData
    - exceptValue
    - opType
    - isReverse
    argTypes:
    - void*
    - void*
    - int32_t
    - void*
    - double
    - EOperatorType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1528
    functionDepth: 3
    functionLinenumber: 1528
    functionLinenumberEnd: 1588
    functionName: makeCalculate
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - SCL_RET
    - fabs
    - taosArrayGetLast
    - colDataGetData
    - scalarCalculate
    - operatorTypeStr
    - makeJsonArrow
    - printf
    - taosArrayInit
    - colDataIsNull_f
    - nodesDestroyNode
    - SCL_ERR_RET
    - makeOperator
    linkageType: ''
    returnType: int32_t
    signature: "int32_t makeCalculate(void *json, void *key, int32_t rightType, void
      *rightData, double exceptValue,\n                      EOperatorType opType,
      bool isReverse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1591,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1597,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1597,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1598,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1599,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1601,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1602,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1609,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1614,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1615,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1618,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1619,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1622,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1628,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1629,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1633,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1636,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1642,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1643,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1646,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1647,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1650,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1656,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1657,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1660,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1661,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1664,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1670,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1671,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1674,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1675,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1678,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1684,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1685,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1688,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1689,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1692,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1698,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1699,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1702,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1703,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1706,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1712,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1713,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1716,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1717,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1720,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1726,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1727,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1730,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1731,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1734,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1740,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1741,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1744,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1745,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1748,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1749,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1590
    functionDepth: 4
    functionLinenumber: 1590
    functionLinenumberEnd: 1750
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - scltInitLogFile
    - ASSERT_NE
    - parseJsontoTagData
    - printf
    - ASSERT_EQ
    - taosMemoryFree
    - taosArrayInit
    - strlen
    - taosArrayDestroy
    - makeCalculate
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, json_column_arith_op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1754,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1756,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1757,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1757,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rightData
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1752
    functionDepth: 1
    functionLinenumber: 1752
    functionLinenumberEnd: 1760
    functionName: prepareNchar
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - varDataVal
    - strlen
    - taosMbsToUcs4
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void *prepareNchar(char *rightData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scltInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1763,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1770,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1770,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1771,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1772,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1774,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1775,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1787,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1791,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1792,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1796,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1797,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1800,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1801,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1802,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1803,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1806,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1811,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1812,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1816,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1817,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1821,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1822,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1823,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1824,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1827,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1832,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1833,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1836,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1837,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1841,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1842,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1843,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1844,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1847,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1852,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1853,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1857,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1858,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1862,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1863,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1864,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1865,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1868,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1873,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1874,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1878,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1879,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1883,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1884,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1885,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1886,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1889,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1894,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1895,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1899,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1900,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1904,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1905,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1906,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1907,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1910,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1915,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1916,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1920,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1921,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1925,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1926,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1927,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1928,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1931,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1936,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1937,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1941,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1942,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1946,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1947,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1948,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1949,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1952,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1957,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1958,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1962,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1963,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1967,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1969,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1971,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1972,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1973,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1976,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1981,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1982,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1985,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1986,1
    - Dst: prepareNchar
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1990,1
    - Dst: makeCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1991,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1992,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1993,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1996,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:1997,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 160
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1762
    functionDepth: 4
    functionLinenumber: 1762
    functionLinenumberEnd: 1998
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - scltInitLogFile
    - ASSERT_NE
    - parseJsontoTagData
    - printf
    - ASSERT_EQ
    - taosMemoryFree
    - prepareNchar
    - taosArrayInit
    - strlen
    - taosArrayDestroy
    - makeCalculate
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, json_column_logic_op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2001,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2010,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2011,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2012,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2013,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2014,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2015,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2017,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2018,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2019,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2019,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2020,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2022,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2023,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2024,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2025,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2027,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2028,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2030,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2031,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2032,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2033,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2034,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2036,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2036,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2039,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 2000
    functionDepth: 2
    functionLinenumber: 2000
    functionLinenumberEnd: 2041
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - scltInitLogFile
    - createColumnInfo
    - scltMakeOpNode
    - ASSERT_NE
    - scltMakeValueNode
    - scalarCalculate
    - scltMakeColumnNode
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, smallint_value_add_int_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2050,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2056,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2057,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2058,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2060,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2061,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2062,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2062,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2064,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2066,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2067,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2068,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2069,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2071,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2072,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2074,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2075,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2076,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2077,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2078,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2080,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2080,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2082,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2043
    functionDepth: 2
    functionLinenumber: 2043
    functionLinenumberEnd: 2084
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - createColumnInfo
    - scltMakeOpNode
    - ASSERT_NE
    - scalarCalculate
    - scltMakeColumnNode
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, bigint_column_multi_binary_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2093,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2099,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2100,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2101,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2102,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2103,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2104,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2106,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2107,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2108,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2108,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2109,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2111,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2112,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2113,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2114,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2116,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2117,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2119,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2120,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2121,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2122,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2123,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2125,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2125,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2127,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2086
    functionDepth: 2
    functionLinenumber: 2086
    functionLinenumberEnd: 2129
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - createColumnInfo
    - scltMakeOpNode
    - ASSERT_NE
    - scalarCalculate
    - scltMakeColumnNode
    - ASSERT_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, smallint_column_and_binary_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2139,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2140,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2141,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2142,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2143,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2144,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2146,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2147,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2148,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2148,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2149,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2151,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2152,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2153,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2154,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2156,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2157,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2159,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2160,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2161,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2162,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2163,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2165,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2165,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2167,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2131
    functionDepth: 2
    functionLinenumber: 2131
    functionLinenumberEnd: 2169
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - createColumnInfo
    - scltMakeOpNode
    - ASSERT_NE
    - scalarCalculate
    - scltMakeColumnNode
    - ASSERT_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, smallint_column_or_float_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2179,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2180,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2181,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2182,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2183,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2184,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2186,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2187,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2188,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2188,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2189,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2191,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2192,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2193,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2194,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2196,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2197,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2199,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2200,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2201,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2202,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2203,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2205,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2205,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2207,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2171
    functionDepth: 2
    functionLinenumber: 2171
    functionLinenumberEnd: 2209
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - createColumnInfo
    - scltMakeOpNode
    - ASSERT_NE
    - scltMakeValueNode
    - scalarCalculate
    - scltMakeColumnNode
    - ASSERT_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, smallint_column_or_double_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2219,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2220,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2221,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2222,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2223,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2224,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2226,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2227,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2228,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2228,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2229,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2231,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2232,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2233,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2234,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2236,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2237,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2239,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2240,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2241,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2242,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2243,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2245,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2245,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2247,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2211
    functionDepth: 2
    functionLinenumber: 2211
    functionLinenumberEnd: 2249
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - createColumnInfo
    - scltMakeOpNode
    - ASSERT_NE
    - scltMakeValueNode
    - scalarCalculate
    - scltMakeColumnNode
    - ASSERT_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, smallint_column_greater_double_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2259,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2260,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2262,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2263,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2264,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2265,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2266,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2267,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2268,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2269,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2270,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2271,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2272,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2273,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2274,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2275,1
    - Dst: scltMakeListNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2276,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2277,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2278,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2279,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2281,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2282,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2283,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2283,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2284,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2286,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2287,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2288,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2289,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2291,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2292,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2294,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2295,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2296,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2297,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2298,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2300,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2300,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2302,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2251
    functionDepth: 2
    functionLinenumber: 2251
    functionLinenumberEnd: 2304
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - nodesMakeList
    - createColumnInfo
    - scltMakeOpNode
    - ASSERT_NE
    - scltMakeValueNode
    - scltMakeListNode
    - scltMakeColumnNode
    - scalarCalculate
    - ASSERT_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - nodesDestroyNode
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, int_column_in_double_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2316,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2322,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2328,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2333,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2334,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2336,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2337,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2338,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2339,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2340,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2341,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2342,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2343,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2344,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2345,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2346,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2347,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2348,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2349,1
    - Dst: scltMakeListNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2350,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2351,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2352,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2353,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2355,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2356,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2357,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2357,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2358,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2360,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2361,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2362,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2363,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2365,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2366,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2368,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2369,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2370,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2371,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2372,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2374,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2374,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2376,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2306
    functionDepth: 2
    functionLinenumber: 2306
    functionLinenumberEnd: 2378
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - colDataGetData
    - scltMakeOpNode
    - scalarCalculate
    - ASSERT_EQ
    - nodesListAppend
    - createColumnInfo
    - scltMakeColumnNode
    - taosArrayGetLast
    - nodesMakeList
    - ASSERT_NE
    - scltMakeTargetNode
    - nodesDestroyNode
    - varDataSetLen
    - taosArrayDestroyEx
    - scltMakeValueNode
    - scltMakeListNode
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, binary_column_in_binary_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2391,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2396,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2397,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2399,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2400,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2400,1
    - Dst: scltMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2401,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2402,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2403,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2404,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2406,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2407,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2408,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2408,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2409,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2411,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2412,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2413,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2414,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2416,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2417,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2419,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2420,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2421,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2422,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2423,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2425,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2425,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2428,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2380
    functionDepth: 2
    functionLinenumber: 2380
    functionLinenumberEnd: 2430
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - createColumnInfo
    - sprintf
    - scltMakeOpNode
    - ASSERT_NE
    - scltMakeValueNode
    - scalarCalculate
    - scltMakeColumnNode
    - ASSERT_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, binary_column_like_binary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2442,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2447,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2448,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2449,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2450,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2452,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2453,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2454,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2454,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2455,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2457,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2458,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2460,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2461,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2463,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2464,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2465,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2466,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2469,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2469,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2471,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2432
    functionDepth: 2
    functionLinenumber: 2432
    functionLinenumberEnd: 2473
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - createColumnInfo
    - scltMakeOpNode
    - ASSERT_NE
    - scalarCalculate
    - scltMakeColumnNode
    - ASSERT_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, binary_column_is_true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2485,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2490,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2491,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2493,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2494,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2495,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2496,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2497,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2499,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2500,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2502,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2503,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2504,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2504,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2505,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2507,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2508,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2509,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2510,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2511,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2512,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2514,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2515,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2516,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2517,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2518,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2520,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2520,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2522,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2475
    functionDepth: 2
    functionLinenumber: 2475
    functionLinenumberEnd: 2524
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - createColumnInfo
    - scltMakeOpNode
    - ASSERT_NE
    - scalarCalculate
    - colDataSetVal
    - scltMakeColumnNode
    - ASSERT_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, binary_column_is_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2536,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2541,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2542,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2544,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2545,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2546,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2548,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2549,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2551,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2552,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2553,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2553,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2554,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2556,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2557,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2558,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2559,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2561,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2562,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2564,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2565,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2566,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2567,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2568,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2570,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2570,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2572,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2526
    functionDepth: 2
    functionLinenumber: 2526
    functionLinenumberEnd: 2574
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - createColumnInfo
    - scltMakeOpNode
    - ASSERT_NE
    - scalarCalculate
    - colDataSetVal
    - scltMakeColumnNode
    - ASSERT_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, binary_column_is_not_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2587,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2588,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2589,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2590,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2591,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2592,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2593,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2594,1
    - Dst: scltMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2595,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2596,1
    - Dst: scltMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2597,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2598,1
    - Dst: scltMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2601,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2602,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2604,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2605,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2606,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2606,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2607,1
    - Dst: scltAppendReservedSlot
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2609,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2610,1
    - Dst: scltMakeTargetNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2611,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2612,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2614,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2615,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2617,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2618,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2619,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2620,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2621,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2623,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2623,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2625,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2576
    functionDepth: 2
    functionLinenumber: 2576
    functionLinenumberEnd: 2627
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - scltAppendReservedSlot
    - taosArrayDestroyEx
    - taosArrayGetLast
    - colDataGetData
    - createColumnInfo
    - scltMakeOpNode
    - ASSERT_NE
    - scalarCalculate
    - scltMakeColumnNode
    - scltMakeLogicNode
    - ASSERT_EQ
    - taosArrayInit
    - scltMakeTargetNode
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, greater_and_lower)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2630,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2632,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2662,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2664,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2668,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2669,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2669,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2673,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2673,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2680,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 5
    argNames:
    - pInput
    - type
    - pVal
    - num
    - setVal
    argTypes:
    - SScalarParam**
    - int32_t
    - void*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2629
    functionDepth: 1
    functionLinenumber: 2629
    functionLinenumberEnd: 2681
    functionName: scltMakeDataBlock
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - SCL_RET
    - colInfoDataEnsureCapacity
    - createColumnInfo
    - colDataSetVal
    - taosMemoryCalloc
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t scltMakeDataBlock(SScalarParam **pInput, int32_t type, void
      *pVal, int32_t num, bool setVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2684,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2685,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pInput
    argTypes:
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2687
      start: 2683
    functionDepth: 1
    functionLinenumber: 2683
    functionLinenumberEnd: 2687
    functionName: scltDestroyDataBlock
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: void scltDestroyDataBlock(SScalarParam *pInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2695,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2696,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2697,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2698,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2699,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2702,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2703,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2706,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2707,1
    - Dst: createColumnInfo
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2708,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2709,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2710,1
    - Dst: castFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2712,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2713,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2715,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2716,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2717,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2689
    functionDepth: 1
    functionLinenumber: 2689
    functionLinenumberEnd: 2719
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colInfoDataEnsureCapacity
    - createColumnInfo
    - ASSERT_NE
    - colDataSetVal
    - ASSERT_EQ
    - taosMemoryFree
    - colDataDestroy
    - taosMemoryCalloc
    - castFunction
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, castToJsonShouldReturnConvertError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2730,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2731,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2732,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2733,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2735,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2736,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2738,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2738,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2740,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2741,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2744,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2745,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2746,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2747,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2749,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2750,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2752,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2752,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2754,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2755,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2760,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2761,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2762,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2763,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2765,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2766,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2768,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2768,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2770,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2771,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2774,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2775,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2776,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2777,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2779,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2780,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2782,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2782,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2784,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2785,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2790,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2791,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2792,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2793,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2795,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2796,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2798,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2798,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2800,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2801,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2804,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2805,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2806,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2807,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2809,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2810,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2812,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2812,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2814,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2815,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2820,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2821,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2822,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2823,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2825,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2826,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2828,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2828,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2830,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2831,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2834,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2835,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2836,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2837,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2839,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2840,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2842,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2842,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2844,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2845,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2850,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2851,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2852,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2853,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2854,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2856,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2857,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2859,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2859,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2860,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2860,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2862,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2863,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2866,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2867,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2868,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2869,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2870,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2872,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2873,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2875,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2875,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2876,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2876,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2878,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2879,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2884,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2885,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2886,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2887,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2889,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2890,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2892,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2892,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2894,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2895,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2898,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2899,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2900,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2901,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2903,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2904,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2906,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2906,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2908,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 149
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2721
    functionDepth: 2
    functionLinenumber: 2721
    functionLinenumberEnd: 2910
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    - absFunction
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, absFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2921,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2922,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2923,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2924,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2927,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2928,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2931,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2932,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2934,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2934,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2935,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2935,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2937,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2938,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2941,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2942,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2943,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2944,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2947,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2948,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2951,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2952,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2954,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2954,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2955,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2955,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2957,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2958,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2963,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2964,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2965,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2966,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2969,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2970,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2973,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2974,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2976,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2976,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2977,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2977,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2979,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2980,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2983,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2984,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2985,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2986,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2989,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2990,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2993,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2994,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2996,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2996,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2997,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2997,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:2999,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3000,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3005,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3006,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3009,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3010,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3011,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3014,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3015,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3017,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3017,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3018,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3018,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3020,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3021,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3024,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3025,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3026,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3027,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3030,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3031,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3032,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3035,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3036,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3038,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3038,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3039,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3039,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3041,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3042,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3047,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3048,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3049,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3050,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3053,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3054,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3055,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3058,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3059,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3061,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3061,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3062,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3062,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3064,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3065,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3068,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3069,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3070,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3071,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3074,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3075,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3076,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3079,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3080,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3082,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3082,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3083,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3083,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3085,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3086,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3091,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3092,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3093,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3094,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3097,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3098,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3099,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3102,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3103,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3105,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3105,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3106,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3106,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3108,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3109,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3112,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3113,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3114,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3115,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3118,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3119,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3120,1
    - Dst: absFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3123,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3124,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3126,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3126,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3127,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3127,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3130,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3131,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 175
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 2912
    functionDepth: 2
    functionLinenumber: 2912
    functionLinenumberEnd: 3132
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - colDataSetVal
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    - absFunction
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, absFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3145,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3146,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3147,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3148,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3149,1
    - Dst: sinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3151,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3152,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3154,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3154,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3155,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3155,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3157,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3158,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3163,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3164,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3166,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3167,1
    - Dst: sinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3169,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3170,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3172,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3172,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3173,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3173,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3176,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3178
      start: 3134
    functionDepth: 2
    functionLinenumber: 3134
    functionLinenumberEnd: 3178
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - sinFunction
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, sinFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3191,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3192,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3193,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3194,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3196,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3197,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3198,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3198,1
    - Dst: sinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3201,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3202,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3204,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3204,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3205,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3205,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3207,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3208,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3213,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3214,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3215,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3216,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3218,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3219,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3220,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3220,1
    - Dst: sinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3223,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3224,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3226,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3226,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3227,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3227,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3230,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3180
    functionDepth: 2
    functionLinenumber: 3180
    functionLinenumberEnd: 3232
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - sinFunction
    - scltMakeDataBlock
    - PRINTF
    - colDataSetVal
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, sinFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3245,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3246,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3247,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3248,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3249,1
    - Dst: cosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3251,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3252,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3254,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3254,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3255,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3255,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3257,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3258,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3263,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3264,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3265,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3266,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3267,1
    - Dst: cosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3269,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3270,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3272,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3272,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3273,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3273,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3276,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3234
    functionDepth: 2
    functionLinenumber: 3234
    functionLinenumberEnd: 3278
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    - cosFunction
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, cosFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3291,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3292,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3293,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3294,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3296,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3297,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3298,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3298,1
    - Dst: cosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3301,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3302,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3304,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3304,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3305,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3305,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3307,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3308,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3313,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3314,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3315,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3316,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3318,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3319,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3320,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3320,1
    - Dst: cosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3323,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3324,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3326,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3326,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3327,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3327,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3330,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3332
      start: 3280
    functionDepth: 2
    functionLinenumber: 3280
    functionLinenumberEnd: 3332
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - colDataSetVal
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    - cosFunction
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, cosFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3345,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3346,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3347,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3348,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3349,1
    - Dst: tanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3351,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3352,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3354,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3354,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3355,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3355,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3357,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3358,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3363,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3364,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3365,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3366,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3367,1
    - Dst: tanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3369,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3370,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3372,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3372,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3373,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3373,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3376,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 3334
    functionDepth: 2
    functionLinenumber: 3334
    functionLinenumberEnd: 3378
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    - tanFunction
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, tanFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3391,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3392,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3393,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3394,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3396,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3397,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3398,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3398,1
    - Dst: tanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3401,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3402,1
    - Dst: ASSERT_NEAR
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3404,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3404,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3405,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3405,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3407,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3408,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3413,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3414,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3415,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3416,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3418,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3419,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3420,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3420,1
    - Dst: tanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3423,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3424,1
    - Dst: ASSERT_NEAR
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3426,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3426,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3427,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3427,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3430,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3380
    functionDepth: 2
    functionLinenumber: 3380
    functionLinenumberEnd: 3432
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NEAR
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - colDataSetVal
    - ASSERT_EQ
    - scltDestroyDataBlock
    - tanFunction
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, tanFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3445,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3446,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3447,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3448,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3449,1
    - Dst: asinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3451,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3452,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3454,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3454,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3455,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3455,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3457,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3458,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3463,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3464,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3465,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3466,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3467,1
    - Dst: asinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3469,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3470,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3472,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3472,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3473,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3473,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3476,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3434
    functionDepth: 2
    functionLinenumber: 3434
    functionLinenumberEnd: 3478
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - asinFunction
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, asinFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3491,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3492,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3493,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3494,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3496,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3497,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3498,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3498,1
    - Dst: asinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3501,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3502,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3504,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3504,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3505,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3505,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3507,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3508,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3513,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3514,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3515,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3516,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3518,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3519,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3519,1
    - Dst: asinFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3522,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3523,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3525,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3525,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3526,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3526,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3529,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3531
      start: 3480
    functionDepth: 2
    functionLinenumber: 3480
    functionLinenumberEnd: 3531
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - asinFunction
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - colDataSetVal
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, asinFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3544,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3545,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3546,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3547,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3548,1
    - Dst: acosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3550,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3551,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3553,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3553,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3554,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3554,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3556,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3557,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3562,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3563,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3564,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3565,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3566,1
    - Dst: acosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3568,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3569,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3571,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3571,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3572,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3572,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3575,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3533
    functionDepth: 2
    functionLinenumber: 3533
    functionLinenumberEnd: 3577
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    - acosFunction
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, acosFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3590,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3591,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3592,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3593,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3595,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3596,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3596,1
    - Dst: acosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3599,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3600,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3602,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3602,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3603,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3603,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3605,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3606,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3611,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3612,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3613,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3614,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3616,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3617,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3617,1
    - Dst: acosFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3620,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3621,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3623,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3623,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3624,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3624,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3627,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3629
      start: 3579
    functionDepth: 2
    functionLinenumber: 3579
    functionLinenumberEnd: 3629
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    - acosFunction
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, acosFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3642,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3643,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3644,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3645,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3646,1
    - Dst: atanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3648,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3649,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3651,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3651,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3652,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3652,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3654,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3655,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3660,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3661,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3662,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3663,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3664,1
    - Dst: atanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3666,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3667,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3669,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3669,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3670,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3670,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3673,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3675
      start: 3631
    functionDepth: 2
    functionLinenumber: 3631
    functionLinenumberEnd: 3675
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - atanFunction
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, atanFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3688,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3689,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3690,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3691,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3693,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3694,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3694,1
    - Dst: atanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3697,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3698,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3700,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3700,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3701,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3701,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3703,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3704,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3709,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3710,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3711,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3712,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3714,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3715,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3715,1
    - Dst: atanFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3718,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3719,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3721,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3721,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3722,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3722,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3725,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3727
      start: 3677
    functionDepth: 2
    functionLinenumber: 3677
    functionLinenumberEnd: 3727
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - atanFunction
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, atanFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3739,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3740,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3741,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3742,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3743,1
    - Dst: ceilFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3745,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3746,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3748,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3748,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3749,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3749,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3751,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3752,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3757,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3758,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3759,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3760,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3761,1
    - Dst: ceilFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3763,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3764,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3766,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3766,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3767,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3767,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3770,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3772
      start: 3729
    functionDepth: 2
    functionLinenumber: 3729
    functionLinenumberEnd: 3772
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - ceilFunction
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, ceilFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3784,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3785,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3786,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3787,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3789,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3790,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3790,1
    - Dst: ceilFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3793,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3794,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3796,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3796,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3797,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3797,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3799,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3800,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3805,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3806,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3807,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3808,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3810,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3811,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3811,1
    - Dst: ceilFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3814,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3815,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3817,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3817,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3818,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3818,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3821,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3823
      start: 3774
    functionDepth: 2
    functionLinenumber: 3774
    functionLinenumberEnd: 3823
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - ceilFunction
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, ceilFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3835,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3836,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3837,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3838,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3839,1
    - Dst: floorFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3841,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3842,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3844,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3844,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3845,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3845,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3847,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3848,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3853,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3854,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3855,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3856,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3857,1
    - Dst: floorFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3859,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3860,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3862,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3862,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3863,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3863,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3866,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3868
      start: 3825
    functionDepth: 2
    functionLinenumber: 3825
    functionLinenumberEnd: 3868
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - floorFunction
    - ASSERT_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, floorFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3880,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3881,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3882,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3883,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3885,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3886,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3886,1
    - Dst: floorFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3889,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3890,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3892,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3892,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3893,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3893,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3895,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3896,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3901,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3902,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3903,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3904,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3906,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3907,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3907,1
    - Dst: floorFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3910,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3911,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3913,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3913,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3914,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3914,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3917,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3870
    functionDepth: 2
    functionLinenumber: 3870
    functionLinenumberEnd: 3919
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - floorFunction
    - ASSERT_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, floorFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3931,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3932,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3933,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3934,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3935,1
    - Dst: roundFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3937,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3938,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3940,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3940,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3941,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3941,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3943,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3944,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3949,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3950,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3951,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3952,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3953,1
    - Dst: roundFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3955,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3956,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3958,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3958,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3959,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3959,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3962,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3964
      start: 3921
    functionDepth: 2
    functionLinenumber: 3921
    functionLinenumberEnd: 3964
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - scltDestroyDataBlock
    - roundFunction
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, roundFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3976,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3977,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3978,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3979,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3981,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3982,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3982,1
    - Dst: roundFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3985,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3986,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3988,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3988,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3989,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3989,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3991,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3992,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3997,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3998,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:3999,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4000,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4002,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4003,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4003,1
    - Dst: roundFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4006,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4007,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4009,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4009,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4010,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4010,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4013,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4015
      start: 3966
    functionDepth: 2
    functionLinenumber: 3966
    functionLinenumberEnd: 4015
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - scltDestroyDataBlock
    - roundFunction
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, roundFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4028,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4029,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4030,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4031,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4032,1
    - Dst: sqrtFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4034,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4035,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4037,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4037,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4038,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4038,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4040,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4041,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4046,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4047,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4048,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4049,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4050,1
    - Dst: sqrtFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4052,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4053,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4055,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4055,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4056,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4056,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4059,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4061
      start: 4017
    functionDepth: 2
    functionLinenumber: 4017
    functionLinenumberEnd: 4061
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - sqrtFunction
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, sqrtFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4074,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4075,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4076,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4077,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4079,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4080,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4080,1
    - Dst: sqrtFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4083,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4084,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4086,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4086,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4087,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4087,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4089,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4090,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4095,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4096,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4097,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4098,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4100,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4101,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4101,1
    - Dst: sqrtFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4104,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4105,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4107,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4107,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4108,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4108,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4111,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4113
      start: 4063
    functionDepth: 2
    functionLinenumber: 4063
    functionLinenumberEnd: 4113
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - sqrtFunction
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - scltDestroyDataBlock
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, sqrtFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4123,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4129,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4130,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4133,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4134,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4135,1
    - Dst: logFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4137,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4138,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4140,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4140,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4141,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4141,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4143,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4144,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4145,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4151,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4152,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4155,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4156,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4157,1
    - Dst: logFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4159,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4160,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4162,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4162,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4163,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4163,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4165,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4166,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4167,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4172,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4173,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4175,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4176,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4178,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4179,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4180,1
    - Dst: logFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4182,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4183,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4185,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4185,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4186,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4186,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4189,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4190,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4191,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4193
      start: 4115
    functionDepth: 2
    functionLinenumber: 4115
    functionLinenumberEnd: 4193
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - logFunction
    - PRINTF
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - taosMemoryFree
    - scltDestroyDataBlock
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, logFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4203,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4209,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4210,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4213,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4214,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4216,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4219,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4220,1
    - Dst: logFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4221,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4222,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4224,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4224,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4225,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4225,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4227,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4228,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4229,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4235,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4236,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4239,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4240,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4242,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4242,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4243,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4243,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4245,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4246,1
    - Dst: logFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4247,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4248,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4250,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4250,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4251,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4251,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4253,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4254,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4255,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4260,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4261,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4264,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4265,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4267,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4268,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4271,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4272,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4274,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4277,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4278,1
    - Dst: logFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4279,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4280,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4282,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4282,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4283,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4283,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4286,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4287,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4288,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4289,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4195
    functionDepth: 2
    functionLinenumber: 4195
    functionLinenumberEnd: 4290
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - logFunction
    - PRINTF
    - colDataSetVal
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - taosMemoryFree
    - scltDestroyDataBlock
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, logFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4300,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4306,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4307,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4310,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4311,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4312,1
    - Dst: powFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4314,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4315,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4317,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4317,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4318,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4318,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4320,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4321,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4322,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4328,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4329,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4332,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4333,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4334,1
    - Dst: powFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4336,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4337,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4339,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4339,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4340,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4340,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4342,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4343,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4344,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4349,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4350,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4352,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4353,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4355,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4356,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4357,1
    - Dst: powFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4359,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4360,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4362,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4362,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4363,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4363,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4366,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4367,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4368,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4370
      start: 4292
    functionDepth: 2
    functionLinenumber: 4292
    functionLinenumberEnd: 4370
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - taosMemoryFree
    - scltDestroyDataBlock
    - powFunction
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, powFunction_constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4380,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4386,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4387,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4390,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4391,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4393,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4396,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4397,1
    - Dst: powFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4398,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4399,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4401,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4401,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4402,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4402,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4405,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4406,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4407,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4413,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4414,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4417,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4418,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4420,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4423,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4424,1
    - Dst: powFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4425,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4426,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4428,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4428,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4429,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4429,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4431,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4432,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4433,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4438,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4439,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4442,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4443,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4445,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4446,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4449,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4450,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4452,1
    - Dst: scltMakeDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4455,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4456,1
    - Dst: powFunction
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4457,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4458,1
    - Dst: ASSERT_DOUBLE_EQ
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4460,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4460,1
    - Dst: PRINTF
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4461,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4461,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4464,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4465,1
    - Dst: scltDestroyDataBlock
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4466,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4468
      start: 4372
    functionDepth: 2
    functionLinenumber: 4372
    functionLinenumberEnd: 4468
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - scltMakeDataBlock
    - PRINTF
    - colDataSetVal
    - ASSERT_EQ
    - ASSERT_DOUBLE_EQ
    - taosMemoryFree
    - scltDestroyDataBlock
    - powFunction
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void TEST(ScalarFunctionTest, powFunction_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4471,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4471,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4472,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp:4473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4474
      start: 4470
    functionDepth: 1
    functionLinenumber: 4470
    functionLinenumberEnd: 4474
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/scalar/test/scalar/scalarTests.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - taosGetTimestampSec
    - RUN_ALL_TESTS
    - taosSeedRand
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:58,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:60,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: flttInitLogFile
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - tstrncpy
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: void flttInitLogFile()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:67,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:69,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:74,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:75,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:76,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:76,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:78,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:80,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:81,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:84,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:84,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:86,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:88,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:89,1
    - Dst: assignVal
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:94,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:94,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pNode
    - dataType
    - value
    argTypes:
    - SNode**
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: flttMakeValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - taosMemoryMalloc
    - blobDataLen
    - varDataTLen
    - FLT_RET
    - IS_STR_DATA_BLOB
    - varDataCopy
    - varDataLen
    - nodesMakeNode
    - nodesGetValueFromNode
    - blobDataCopy
    - FLT_ERR_RET
    - assignVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t flttMakeValueNode(SNode **pNode, int32_t dataType, void *value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:106,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:108,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:115,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:122,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:127,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:127,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:130,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:131,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:131,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:134,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:135,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:135,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:136,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:136,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:138,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:140,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:140,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:141,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:144,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:144,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:145,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:146,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:147,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:150,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:165,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:166,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:167,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:167,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:168,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:168,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:170,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:172,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:172,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:173,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:176,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:176,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:177,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:178,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:179,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:181,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 6
    argNames:
    - pNode
    - block
    - dataType
    - dataBytes
    - rowNum
    - value
    argTypes:
    - SNode**
    - SSDataBlock**
    - int32_t
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 194
    functionName: flttMakeColumnNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - FLT_RET
    - taosArrayGetLast
    - varDataTLen
    - blockDataEnsureCapacity
    - createColumnInfoData
    - IS_STR_DATA_BLOB
    - colDataSetVal
    - nodesMakeNode
    - createDataBlock
    - snprintf
    - fltError
    - FLT_ERR_RET
    - taosArrayGetSize
    - blockDataAppendColInfo
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t flttMakeColumnNode(SNode **pNode, SSDataBlock **block, int32_t
      dataType, int32_t dataBytes, int32_t rowNum,\n                        void *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:198,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:200,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - pNode
    - opType
    - resType
    - pLeft
    - pRight
    argTypes:
    - SNode**
    - EOperatorType
    - int32_t
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: flttMakeOpNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - FLT_ERR_RET
    - FLT_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t flttMakeOpNode(SNode **pNode, EOperatorType opType, int32_t
      resType, SNode *pLeft, SNode *pRight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:216,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:218,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:226,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:228,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:228,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - pNode
    - opType
    - nodeList
    - nodeNum
    argTypes:
    - SNode**
    - ELogicConditionType
    - SNode**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: flttMakeLogicNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - FLT_RET
    - nodesMakeList
    - nodesMakeNode
    - FLT_ERR_RET
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t flttMakeLogicNode(SNode **pNode, ELogicConditionType opType,
      SNode **nodeList, int32_t nodeNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:237,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:239,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pNode
    - opType
    - nodeList
    argTypes:
    - SNode**
    - ELogicConditionType
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: flttMakeLogicNodeFromList
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - FLT_ERR_RET
    - FLT_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t flttMakeLogicNodeFromList(SNode **pNode, ELogicConditionType
      opType, SNodeList *nodeList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:254,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:256,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pNode
    - list
    - resType
    argTypes:
    - SNode**
    - SNodeList*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: flttMakeListNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - FLT_ERR_RET
    - FLT_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t flttMakeListNode(SNode **pNode, SNodeList *list, int32_t resType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: initScalarParam
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void initScalarParam(SScalarParam *pParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:58,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:60,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: flttInitLogFile
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - tstrncpy
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: void flttInitLogFile()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:67,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:69,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:74,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:75,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:76,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:76,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:78,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:80,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:81,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:84,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:84,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:86,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:88,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:89,1
    - Dst: assignVal
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:94,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:94,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pNode
    - dataType
    - value
    argTypes:
    - SNode**
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: flttMakeValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - taosMemoryMalloc
    - blobDataLen
    - varDataTLen
    - FLT_RET
    - IS_STR_DATA_BLOB
    - varDataCopy
    - varDataLen
    - nodesMakeNode
    - nodesGetValueFromNode
    - blobDataCopy
    - FLT_ERR_RET
    - assignVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t flttMakeValueNode(SNode **pNode, int32_t dataType, void *value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:106,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:108,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:115,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:122,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:127,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:127,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:130,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:131,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:131,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:134,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:135,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:135,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:136,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:136,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:138,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:140,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:140,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:141,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:144,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:144,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:145,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:146,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:147,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:150,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:165,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:166,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:167,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:167,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:168,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:168,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:170,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:172,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:172,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:173,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:176,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:176,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:177,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:178,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:179,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:181,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 6
    argNames:
    - pNode
    - block
    - dataType
    - dataBytes
    - rowNum
    - value
    argTypes:
    - SNode**
    - SSDataBlock**
    - int32_t
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 194
    functionName: flttMakeColumnNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - FLT_RET
    - taosArrayGetLast
    - varDataTLen
    - blockDataEnsureCapacity
    - createColumnInfoData
    - IS_STR_DATA_BLOB
    - colDataSetVal
    - nodesMakeNode
    - createDataBlock
    - snprintf
    - fltError
    - FLT_ERR_RET
    - taosArrayGetSize
    - blockDataAppendColInfo
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t flttMakeColumnNode(SNode **pNode, SSDataBlock **block, int32_t
      dataType, int32_t dataBytes, int32_t rowNum,\n                        void *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:198,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:200,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - pNode
    - opType
    - resType
    - pLeft
    - pRight
    argTypes:
    - SNode**
    - EOperatorType
    - int32_t
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: flttMakeOpNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - FLT_ERR_RET
    - FLT_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t flttMakeOpNode(SNode **pNode, EOperatorType opType, int32_t
      resType, SNode *pLeft, SNode *pRight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:216,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:218,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:226,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:228,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:228,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - pNode
    - opType
    - nodeList
    - nodeNum
    argTypes:
    - SNode**
    - ELogicConditionType
    - SNode**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: flttMakeLogicNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - FLT_RET
    - nodesMakeList
    - nodesMakeNode
    - FLT_ERR_RET
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t flttMakeLogicNode(SNode **pNode, ELogicConditionType opType,
      SNode **nodeList, int32_t nodeNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:237,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:239,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pNode
    - opType
    - nodeList
    argTypes:
    - SNode**
    - ELogicConditionType
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: flttMakeLogicNodeFromList
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - FLT_ERR_RET
    - FLT_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t flttMakeLogicNodeFromList(SNode **pNode, ELogicConditionType
      opType, SNodeList *nodeList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:254,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:256,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pNode
    - list
    - resType
    argTypes:
    - SNode**
    - SNodeList*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: flttMakeListNode
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - FLT_ERR_RET
    - FLT_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t flttMakeListNode(SNode **pNode, SNodeList *list, int32_t resType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: initScalarParam
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void initScalarParam(SScalarParam *pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:277,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:281,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:282,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:283,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:284,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:285,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:286,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:293,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:294,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:295,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:296,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:297,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 300
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - flttMakeOpNode
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterGetTimeRange
    - ASSERT_EQ
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(timerangeTest, greater)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:306,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:309,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:310,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:311,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:312,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:313,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:314,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:315,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:316,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:317,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:318,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:319,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:320,1
    - Dst: flttMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:325,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:326,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:333,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:334,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:335,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:336,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:337,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 340
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - flttMakeOpNode
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterGetTimeRange
    - ASSERT_EQ
    - flttMakeLogicNode
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(timerangeTest, greater_and_lower)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:346,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:349,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:350,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:351,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:352,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:353,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:354,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:355,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:356,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:357,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:358,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:359,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:360,1
    - Dst: flttMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:365,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:366,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:373,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:374,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:375,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:376,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:377,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 380
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - flttMakeOpNode
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterGetTimeRange
    - ASSERT_EQ
    - flttMakeLogicNode
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(timerangeTest, greater_equal_and_lower_equal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:386,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:392,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:393,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:394,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:395,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:396,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:397,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:398,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:399,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:400,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:401,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:402,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:403,1
    - Dst: flttMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:407,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:408,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:410,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:411,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:412,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:413,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:414,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:415,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:416,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:417,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:418,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:419,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:420,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:421,1
    - Dst: flttMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:425,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:426,1
    - Dst: flttMakeLogicNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:430,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:431,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:438,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:439,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:440,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:441,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:442,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 445
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - flttMakeOpNode
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterGetTimeRange
    - ASSERT_EQ
    - flttMakeLogicNode
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void TEST(timerangeTest, greater_and_lower_not_strict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:455,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:457,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:458,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:459,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:462,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:463,1
    - Dst: filterRangeExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:470,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:471,1
    - Dst: filterRangeExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:475,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:476,1
    - Dst: filterRangeExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:481,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:482,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:484,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:485,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:486,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:492,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:492,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:493,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:496,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:498,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:499,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:500,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 502
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - filterRangeExecute
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, smallint_column_greater_double_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:511,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:513,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:514,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:515,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:518,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:519,1
    - Dst: filterRangeExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:526,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:527,1
    - Dst: filterRangeExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:531,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:532,1
    - Dst: filterRangeExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:537,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:538,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:540,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:541,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:542,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:548,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:548,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:549,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:552,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:554,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:555,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:556,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 558
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - filterRangeExecute
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, int_column_greater_smallint_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:567,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:569,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:570,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:571,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:572,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:573,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:574,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:575,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:576,1
    - Dst: flttMakeListNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:577,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:578,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:581,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:582,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:585,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:586,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:587,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:593,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:593,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:594,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:597,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:600,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:601,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:602,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 604
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - nodesMakeList
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - flttMakeListNode
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, int_column_in_double_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:611,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:618,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:624,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:630,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:634,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:635,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:636,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:637,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:638,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:639,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:640,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:641,1
    - Dst: flttMakeListNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:642,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:643,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:646,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:647,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:650,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:651,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:652,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:658,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:658,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:659,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:662,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:664,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:665,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:666,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 668
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - nodesMakeList
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - flttMakeListNode
    - nodesListAppend
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, binary_column_in_binary_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:676,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:683,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:687,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:689,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:690,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:690,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:691,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:692,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:695,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:696,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:699,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:700,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:701,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:707,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:707,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:708,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:711,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:713,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:714,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:715,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 717
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - filterSetDataFromSlotId
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterFreeInfo
    - blockDataDestroy
    - snprintf
    - ASSERT_EQ
    - taosArrayGetSize
    - filterExecute
    - strlen
    - nodesDestroyNode
    - filterInitFromNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, binary_column_like_binary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:724,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:731,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:735,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:737,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:738,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:739,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:740,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:743,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:744,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:747,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:748,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:749,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:755,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:755,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:756,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:759,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:761,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:762,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:763,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 765
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - taosArrayGetLast
    - flttMakeOpNode
    - flttMakeColumnNode
    - filterFreeInfo
    - colDataSetVal
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, binary_column_is_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:772,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:779,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:783,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:785,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:786,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:788,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:791,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:792,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:795,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:796,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:797,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:803,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:803,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:804,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:807,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:809,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:810,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:811,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 813
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - taosArrayGetLast
    - flttMakeOpNode
    - flttMakeColumnNode
    - filterFreeInfo
    - colDataSetVal
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(columnTest, binary_column_is_not_null)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:822,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:824,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:825,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:826,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:829,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:830,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:833,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:834,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:835,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:841,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:841,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:842,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:845,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:847,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:848,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:849,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 851
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeColumnNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    linkageType: ''
    returnType: void
    signature: void TEST(opTest, smallint_column_greater_int_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:860,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:862,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:863,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:864,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:865,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:868,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:869,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:872,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:873,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:874,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:880,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:880,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:881,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:884,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:886,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:887,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:888,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 890
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    linkageType: ''
    returnType: void
    signature: void TEST(opTest, smallint_value_add_int_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:899,1
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:904,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:906,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:907,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:908,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:909,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:912,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:913,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:916,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:917,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:918,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:924,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:924,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:925,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:928,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:930,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:931,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:932,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 934
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeColumnNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(opTest, bigint_column_multi_binary_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:943,1
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:948,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:950,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:951,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:952,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:953,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:956,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:957,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:960,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:961,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:962,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:968,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:968,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:969,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:972,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:974,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:975,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:976,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 936
    functionDepth: 2
    functionLinenumber: 936
    functionLinenumberEnd: 978
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeColumnNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(opTest, smallint_column_and_binary_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:987,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:989,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:990,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:991,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:992,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:995,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:996,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:999,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1000,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1001,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1007,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1007,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1008,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1011,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1013,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1014,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1015,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 1017
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeColumnNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    linkageType: ''
    returnType: void
    signature: void TEST(opTest, smallint_column_or_float_column)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1026,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1028,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1029,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1030,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1031,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1034,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1035,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1038,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1039,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1040,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1046,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1046,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1047,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1050,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1052,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1053,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1054,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1056
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    linkageType: ''
    returnType: void
    signature: void TEST(opTest, smallint_column_or_double_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initScalarParam
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1063,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1070,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1074,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1076,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1079,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1080,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1083,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1084,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1085,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1091,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1091,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1092,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1095,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1097,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1098,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1099,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1101
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - initScalarParam
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttMakeColumnNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - filterExecute
    - filterSetDataFromSlotId
    - nodesDestroyNode
    - filterInitFromNode
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void TEST(opTest, binary_column_is_true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flttInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1104,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1113,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1116,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1117,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1118,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1119,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1121,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1122,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1123,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1124,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1126,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1128,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1130,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1131,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1132,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1133,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1135,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1136,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1137,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1138,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1140,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1142,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1143,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1144,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1145,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1148,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1149,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1152,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1153,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1154,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1160,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1160,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1161,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1164,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1166,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1167,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1168,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1103
    functionDepth: 2
    functionLinenumber: 1103
    functionLinenumberEnd: 1170
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttInitLogFile
    - nodesMakeList
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - nodesDestroyNode
    - filterExecute
    - filterSetDataFromSlotId
    - flttMakeLogicNodeFromList
    - filterInitFromNode
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void TEST(filterModelogicTest, diff_columns_and_or_and)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1180,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1183,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1184,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1185,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1186,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1188,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1189,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1190,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1191,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1193,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1195,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1197,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1198,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1199,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1200,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1202,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1203,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1204,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1205,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1207,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1209,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1210,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1211,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1212,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1215,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1216,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1219,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1220,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1221,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1227,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1227,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1228,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1231,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1233,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1234,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1235,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1172
    functionDepth: 2
    functionLinenumber: 1172
    functionLinenumberEnd: 1237
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - flttMakeOpNode
    - nodesMakeList
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - nodesDestroyNode
    - filterExecute
    - filterSetDataFromSlotId
    - flttMakeLogicNodeFromList
    - filterInitFromNode
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void TEST(filterModelogicTest, same_column_and_or_and)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1247,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1250,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1251,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1252,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1253,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1255,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1256,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1257,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1258,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1260,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1262,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1264,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1265,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1266,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1267,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1269,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1270,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1271,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1272,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1274,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1276,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1277,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1278,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1279,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1282,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1283,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1286,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1287,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1288,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1294,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1294,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1295,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1298,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1300,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1301,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1302,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1239
    functionDepth: 2
    functionLinenumber: 1239
    functionLinenumberEnd: 1304
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - flttMakeOpNode
    - nodesMakeList
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - nodesDestroyNode
    - filterExecute
    - filterSetDataFromSlotId
    - flttMakeLogicNodeFromList
    - filterInitFromNode
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void TEST(filterModelogicTest, diff_columns_or_and_or)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1314,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1317,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1318,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1319,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1320,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1322,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1323,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1324,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1325,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1327,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1329,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1331,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1332,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1333,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1334,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1336,1
    - Dst: flttMakeValueNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1337,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1338,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1339,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1341,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1343,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1344,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1345,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1346,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1349,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1350,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1353,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1354,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1355,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1361,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1361,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1362,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1365,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1367,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1368,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1369,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1306
    functionDepth: 2
    functionLinenumber: 1306
    functionLinenumberEnd: 1371
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - flttMakeOpNode
    - nodesMakeList
    - flttMakeColumnNode
    - flttMakeValueNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - nodesDestroyNode
    - filterExecute
    - filterSetDataFromSlotId
    - flttMakeLogicNodeFromList
    - filterInitFromNode
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void TEST(filterModelogicTest, same_column_or_and_or)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flttInitLogFile
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1374,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1383,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1386,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1387,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1388,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1389,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1391,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1392,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1393,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1394,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1396,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1398,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1400,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1401,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1402,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1403,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1405,1
    - Dst: flttMakeColumnNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1406,1
    - Dst: flttMakeOpNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1407,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1408,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1410,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1412,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1413,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1414,1
    - Dst: flttMakeLogicNodeFromList
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1415,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1418,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1419,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1422,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1423,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1424,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1430,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1430,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1431,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1434,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1436,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1437,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1438,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1440
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - flttMakeOpNode
    - flttInitLogFile
    - nodesMakeList
    - flttMakeColumnNode
    - filterFreeInfo
    - blockDataDestroy
    - ASSERT_EQ
    - taosArrayGetSize
    - nodesDestroyNode
    - filterExecute
    - filterSetDataFromSlotId
    - flttMakeLogicNodeFromList
    - filterInitFromNode
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void TEST(scalarModelogicTest, diff_columns_or_and_or)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1446,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - SignedT
    - UnsignedT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1451
    functionName: compareSignedWithUnsigned
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareSignedWithUnsigned(SignedT l, UnsignedT r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1456,1
    - Dst: static_cast<uint64_t>
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - UnsignedT
    - SignedT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1461
    functionName: compareUnsignedWithSigned
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareUnsignedWithSigned(UnsignedT l, SignedT r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1469,1
    - Dst: fp
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1469,1
    - Dst: compareSignedWithUnsigned
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1472
    functionName: doCompareWithValueRange_SignedWithUnsigned
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - fp
    - compareSignedWithUnsigned
    linkageType: ''
    returnType: void
    signature: void doCompareWithValueRange_SignedWithUnsigned(__compar_fn_t fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1480,1
    - Dst: fp
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1480,1
    - Dst: compareUnsignedWithSigned
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1483
    functionName: doCompareWithValueRange_UnsignedWithSigned
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - compareUnsignedWithSigned
    - ASSERT_EQ
    - fp
    linkageType: ''
    returnType: void
    signature: void doCompareWithValueRange_UnsignedWithSigned(__compar_fn_t fp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: doCompareWithValueRange_SignedWithUnsigned
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1489,1
    - Dst: doCompareWithValueRange_SignedWithUnsigned
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1492,1
    - Dst: doCompareWithValueRange_SignedWithUnsigned
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1495,1
    - Dst: doCompareWithValueRange_SignedWithUnsigned
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1498,1
    - Dst: doCompareWithValueRange_UnsignedWithSigned
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1501,1
    - Dst: doCompareWithValueRange_UnsignedWithSigned
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1504,1
    - Dst: doCompareWithValueRange_UnsignedWithSigned
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1507,1
    - Dst: doCompareWithValueRange_UnsignedWithSigned
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1510,1
    - Dst: FAIL
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1513,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - fp
    - rType
    argTypes:
    - __compar_fn_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1515
    functionName: doCompareWithValueRange_OnlyLeftType
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - doCompareWithValueRange_SignedWithUnsigned
    - doCompareWithValueRange_UnsignedWithSigned
    - FAIL
    linkageType: ''
    returnType: void
    signature: void doCompareWithValueRange_OnlyLeftType(__compar_fn_t fp, int32_t
      rType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1518,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1518,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1519,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/scalar/test/filter/filterTests.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - taosGetTimestampSec
    - RUN_ALL_TESTS
    - taosSeedRand
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: SCL_NEED_SRC_TABLE_FUNC
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_NEED_SRC_TABLE_FUNC(_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: SCL_NEED_SRC_TABLE_OP
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_NEED_SRC_TABLE_OP(_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: SCL_IS_NOTNULL_CONST_NODE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_IS_NOTNULL_CONST_NODE(_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: SCL_IS_CONST_NODE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_IS_CONST_NODE(_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: SCL_IS_VAR_VALUE_NODE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_IS_VAR_VALUE_NODE(_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: SCL_IS_CONST_CALC
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_IS_CONST_CALC(_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: SCL_IS_NULL_VALUE_NODE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_IS_NULL_VALUE_NODE(_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: SCL_IS_QUERY_NODE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_IS_QUERY_NODE(_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: SCL_IS_REMOTE_NODE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_IS_REMOTE_NODE(_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _opType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: SCL_IS_COMPARISON_OPERATOR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_IS_COMPARISON_OPERATOR(_opType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: SCL_DOWNGRADE_DATETYPE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_DOWNGRADE_DATETYPE(_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: INT1TOCHAR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT1TOCHAR(T, A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: INT2TOCHAR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT2TOCHAR(T, A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: INT3TOCHAR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT3TOCHAR(T, A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: INT4TOCHAR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT4TOCHAR(T, A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: sclFatal
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sclFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: sclError
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sclError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: sclWarn
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sclWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: sclInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sclInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: sclDebug
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sclDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: sclTrace
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sclTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: SCL_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: SCL_RET
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: SCL_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCL_ERR_JRET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: GET_PARAM_TYPE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_PARAM_TYPE(_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: GET_PARAM_BYTES
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_PARAM_BYTES(_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: GET_PARAM_PRECISON
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_PARAM_PRECISON(_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: GET_PARAM_SCALE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_PARAM_SCALE(_c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: getVectorDoubleValue_TINYINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValue_TINYINT(void *src, int32_t index,
      double *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: getVectorDoubleValue_UTINYINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValue_UTINYINT(void *src, int32_t index,
      double *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: getVectorDoubleValue_SMALLINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValue_SMALLINT(void *src, int32_t index,
      double *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: getVectorDoubleValue_USMALLINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValue_USMALLINT(void *src, int32_t index,
      double *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: getVectorDoubleValue_INT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValue_INT(void *src, int32_t index, double
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: getVectorDoubleValue_UINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValue_UINT(void *src, int32_t index, double
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: getVectorDoubleValue_BIGINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValue_BIGINT(void *src, int32_t index,
      double *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: getVectorDoubleValue_UBIGINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValue_UBIGINT(void *src, int32_t index,
      double *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: getVectorDoubleValue_FLOAT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValue_FLOAT(void *src, int32_t index, double
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: getVectorDoubleValue_DOUBLE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValue_DOUBLE(void *src, int32_t index,
      double *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: getVectorDoubleValue_BOOL
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValue_BOOL(void *src, int32_t index, double
      *out)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - srcType
    - p
    argTypes:
    - int32_t
    - _getDoubleValue_fn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 116
    functionName: getVectorDoubleValueFn
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getVectorDoubleValueFn(int32_t srcType, _getDoubleValue_fn_t
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: FILTER_NO_MERGE_DATA_TYPE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_NO_MERGE_DATA_TYPE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: FILTER_NO_MERGE_OPTR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_NO_MERGE_OPTR(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: MR_EMPTY_RES
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MR_EMPTY_RES(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: SET_AND_OPTR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_AND_OPTR(ctx, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 310
    functionName: SET_OR_OPTR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_OR_OPTR(ctx, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: CHK_OR_OPTR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_OR_OPTR(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: CHK_AND_OPTR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_AND_OPTR(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - st
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: FILTER_GET_FLAG
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_FLAG(st, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - st
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: FILTER_SET_FLAG
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_SET_FLAG(st, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - st
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: FILTER_CLR_FLAG
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_CLR_FLAG(st, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: SIMPLE_COPY_VALUES
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLE_COPY_VALUES(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - op1
    - ','
    - op2
    - ','
    - lidx
    - ','
    - ridx
    - ','
    - ridx2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 326
    functionName: FLT_PACKAGE_UNIT_HASH_KEY
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLT_PACKAGE_UNIT_HASH_KEY(v, op1, op2, lidx, ridx, ridx2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cr
    - ','
    - sflag
    - ','
    - eflag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: FILTER_GREATER
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GREATER(cr, sflag, eflag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: FILTER_COPY_RA
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_COPY_RA(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 341
    functionName: RESET_RANGE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESET_RANGE(ctx, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 353
    functionName: FREE_RANGE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_RANGE(ctx, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 367
    functionName: FREE_FROM_RANGE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_FROM_RANGE(ctx, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - r
    - ','
    - ra
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 380
    functionName: INSERT_RANGE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_RANGE(ctx, r, ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - r
    - ','
    - ra
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: APPEND_RANGE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_RANGE(ctx, r, ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: FLT_IS_COMPARISON_OPERATOR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLT_IS_COMPARISON_OPERATOR(_op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: fltFatal
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fltFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: fltError
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fltError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: fltWarn
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fltWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: fltInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fltInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: fltDebug
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fltDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: fltTrace
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fltTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: FLT_CHK_JMP
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLT_CHK_JMP(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: FLT_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLT_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 423
    functionName: FLT_RET
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLT_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: FLT_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLT_ERR_JRET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 433
    functionName: FILTER_GET_FIELD
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_FIELD(i, id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: FILTER_GET_COL_FIELD
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_COL_FIELD(i, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    functionName: FILTER_GET_COL_FIELD_TYPE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_COL_FIELD_TYPE(fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: FILTER_GET_COL_FIELD_PRECISION
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_COL_FIELD_PRECISION(fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    functionName: FILTER_GET_COL_FIELD_SIZE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_COL_FIELD_SIZE(fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: FILTER_GET_COL_FIELD_ID
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_COL_FIELD_ID(fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 439
    functionName: FILTER_GET_COL_FIELD_SLOT_ID
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_COL_FIELD_SLOT_ID(fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: FILTER_GET_COL_FIELD_DESC
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_COL_FIELD_DESC(fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fi
    - ','
    - ri
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    functionName: FILTER_GET_COL_FIELD_DATA
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_COL_FIELD_DATA(fi, ri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    functionName: FILTER_GET_VAL_FIELD_TYPE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_VAL_FIELD_TYPE(fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 443
    functionName: FILTER_GET_VAL_FIELD_DATA
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_VAL_FIELD_DATA(fi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    functionName: FILTER_GET_TYPE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GET_TYPE(fl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - g
    - ','
    - uid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: FILTER_GROUP_UNIT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_GROUP_UNIT(i, g, uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: FILTER_UNIT_LEFT_FIELD
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_LEFT_FIELD(i, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: FILTER_UNIT_RIGHT_FIELD
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_RIGHT_FIELD(i, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: FILTER_UNIT_RIGHT2_FIELD
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_RIGHT2_FIELD(i, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    functionName: FILTER_UNIT_DATA_TYPE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_DATA_TYPE(u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 451
    functionName: FILTER_UNIT_DATA_PRECISION
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_DATA_PRECISION(u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 452
    functionName: FILTER_UNIT_COL_DESC
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_COL_DESC(i, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - u
    - ','
    - ri
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 453
    functionName: FILTER_UNIT_COL_DATA
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_COL_DATA(i, u, ri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: FILTER_UNIT_COL_SIZE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_COL_SIZE(i, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: FILTER_UNIT_COL_ID
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_COL_ID(i, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 456
    functionName: FILTER_UNIT_VAL_DATA
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_VAL_DATA(i, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: FILTER_UNIT_COL_IDX
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_COL_IDX(u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: FILTER_UNIT_OPTR
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_OPTR(u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 459
    functionName: FILTER_UNIT_COMP_FUNC
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_COMP_FUNC(u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 461
    functionName: FILTER_UNIT_CLR_F
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_CLR_F(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 462
    functionName: FILTER_UNIT_SET_F
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_SET_F(i, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 463
    functionName: FILTER_UNIT_GET_F
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_GET_F(i, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: FILTER_UNIT_GET_R
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_GET_R(i, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - idx
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 465
    functionName: FILTER_UNIT_SET_R
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_UNIT_SET_R(i, idx, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - colInfo
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 474
    functionName: FILTER_PUSH_UNIT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_PUSH_UNIT(colInfo, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - colInfo
    - ','
    - ha
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: FILTER_PUSH_VAR_HASH
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_PUSH_VAR_HASH(colInfo, ha)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - colInfo
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 484
    functionName: FILTER_PUSH_CTX
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_PUSH_CTX(colInfo, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 493
    functionName: FILTER_COPY_IDX
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_COPY_IDX(dst, src, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - gres
    - ','
    - idx
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 502
    functionName: FILTER_ADD_CTX_TO_GRES
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_ADD_CTX_TO_GRES(gres, idx, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: FILTER_ALL_RES
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_ALL_RES(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: FILTER_EMPTY_RES
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/filterInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_EMPTY_RES(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tlog
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - log
    linkageType: ''
    returnType: double
    signature: double tlog(double v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:31,1
    - Dst: log
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:32,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:33,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:33,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:35,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: tlog2
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - log
    - isnan
    - isinf
    linkageType: ''
    returnType: double
    signature: double tlog2(double v, double base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: degrees
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double degrees(double v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: radians
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double radians(double v)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:52,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:59,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:60,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:72,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:73,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:85,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:86,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:98,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:99,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:111,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:112,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:124,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:125,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:135,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:141,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:141,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 147
    functionName: absFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 2
    functionsReached:
    - colDataSetNULL
    - GET_PARAM_TYPE
    - colDataAssign
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t absFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:153,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:160,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:161,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:173,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:174,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:186,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:187,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:199,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:200,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:212,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:213,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:225,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:226,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:238,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:239,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:250,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:251,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:262,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:263,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:274,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:275,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:284,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:290,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 114
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 296
    functionName: signFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataIsNull_s
    - SCL_ERR_RET
    - GET_PARAM_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t signFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:299,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:305,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:305,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:310,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:310,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:311,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:315,1
    - Dst: getValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:315,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:316,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:317,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:317,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - valFn
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _double_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 326
    functionName: doScalarFunctionUnique
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - getVectorDoubleValueFn
    - GET_PARAM_TYPE
    - getValueFn
    - isnan
    - valFn
    - colDataIsNull_s
    - SCL_ERR_RET
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t doScalarFunctionUnique(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, _double_fn valFn)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:336,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:336,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:336,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:342,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:342,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:342,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:342,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:344,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:347,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:347,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:348,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:353,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:354,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:355,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:356,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:356,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:357,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:363,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:364,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:367,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:368,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:373,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:374,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:375,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:376,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:376,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:377,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:385,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:386,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:389,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:390,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:395,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:396,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:397,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:398,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:398,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:399,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 63
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - valFn
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _double_fn_2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 410
    functionName: doScalarFunctionUnique2
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - getVectorDoubleValueFn
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - TMAX
    - isnan
    - valFn
    - colDataIsNull_s
    - SCL_ERR_RET
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doScalarFunctionUnique2(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput,\n                                       _double_fn_2
      valFn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:414,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:425,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:426,1
    - Dst: f1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:429,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:439,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:440,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:443,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:450,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:456,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:456,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 5
    argNames:
    - pInput
    - inputNum
    - pOutput
    - f1
    - d1
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _float_fn
    - _double_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 462
    functionName: doScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - f1
    - GET_PARAM_TYPE
    - d1
    - colDataAssign
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput, _float_fn f1,\n                                _double_fn d1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:466,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:467,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - input
    - type
    - len
    argTypes:
    - char*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 472
    functionName: tlength
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - blobDataLen
    - IS_STR_DATA_BLOB
    - varDataLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlength(char *input, int32_t type, void *len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 489
    functionName: getCharLen
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getCharLen(const unsigned char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:494,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:497,1
    - Dst: getCharLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:499,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:504,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:505,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:507,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - input
    - type
    - len
    argTypes:
    - char*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 517
    functionName: tcharlength
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - blobDataLen
    - IS_STR_DATA_BLOB
    - getCharLen
    - varDataLen
    - varDataVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t tcharlength(char *input, int32_t type, void *len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:523,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:523,1
    - Dst: iswspace
      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: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:540,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:540,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:540,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:543,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:543,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:543,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - input
    - output
    - type
    - charLen
    - charsetCxt
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 547
    functionName: tltrimspace
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - iswspace
    - varDataVal
    - isspace
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void tltrimspace(char *input, char *output, int32_t type, int32_t charLen,
      void *charsetCxt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:554,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:554,1
    - Dst: iswspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:561,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:561,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:570,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:570,1
    - Dst: iswspace
      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: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:591,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:591,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:591,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:598,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:598,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:598,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:601,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 5
    argNames:
    - input
    - output
    - type
    - charLen
    - charsetCxt
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 602
    functionName: tlrtrimspace
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - iswspace
    - varDataVal
    - isspace
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void tlrtrimspace(char *input, char *output, int32_t type, int32_t
      charLen, void *charsetCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 604
    functionName: isCharStart
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool isCharStart(char c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:610,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:611,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:625,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:626,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 6
    argNames:
    - orgStr
    - remStr
    - orgLen
    - remLen
    - trimLeft
    - isNchar
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 638
    functionName: trimHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcmp
    - isCharStart
    linkageType: ''
    returnType: int32_t
    signature: int32_t trimHelper(char *orgStr, char *remStr, int32_t orgLen, int32_t
      remLen, bool trimLeft, bool isNchar)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:641,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:645,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - input
    - output
    - inputLen
    - outputLen
    - charsetCxt
    argTypes:
    - char*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 651
    functionName: convVarcharToNchar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMbsToUcs4
    - taosMemoryCalloc
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t convVarcharToNchar(char *input, char **output, int32_t inputLen,
      int32_t *outputLen, void *charsetCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:654,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:658,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - input
    - output
    - inputLen
    - outputLen
    - charsetCxt
    argTypes:
    - char*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 664
    functionName: convNcharToVarchar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosUcs4ToMbs
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t convNcharToVarchar(char *input, char **output, int32_t inputLen,
      int32_t *outputLen, void *charsetCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convVarcharToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:669,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - input
    - output
    - inputLen
    - outputLen
    - wantType
    - charsetCxt
    argTypes:
    - char*
    - char**
    - int32_t
    - int32_t*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 673
    functionName: convBetweenNcharAndVarchar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - convVarcharToNchar
    - convNcharToVarchar
    linkageType: ''
    returnType: int32_t
    signature: "int32_t convBetweenNcharAndVarchar(char *input, char **output, int32_t
      inputLen, int32_t *outputLen,\n                                          int32_t
      wantType, void *charsetCxt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:675,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:676,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:677,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:678,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:680,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:687,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:687,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:687,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:687,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:693,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:693,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:694,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:698,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:701,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:705,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:705,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - input
    - remInput
    - output
    - inputType
    - remType
    - charsetCxt
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 708
    functionName: tltrim
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - varDataLen
    - convBetweenNcharAndVarchar
    - taosMemoryFree
    - varDataVal
    - trimHelper
    - varDataSetLen
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t tltrim(char *input, char *remInput, char *output, int32_t inputType,
      int32_t remType, void *charsetCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:714,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:714,1
    - Dst: iswspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:721,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:721,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:734,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:734,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:734,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:736,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - input
    - output
    - type
    - charLen
    - charsetCxt
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 737
    functionName: trtrimspace
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - iswspace
    - varDataVal
    - isspace
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void trtrimspace(char *input, char *output, int32_t type, int32_t charLen,
      void *charsetCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:740,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:741,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:742,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:743,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:745,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:752,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:752,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:752,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:752,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:758,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:758,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:759,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:763,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:766,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:769,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:769,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - input
    - remInput
    - output
    - inputType
    - remType
    - charsetCxt
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 772
    functionName: trtrim
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - varDataLen
    - convBetweenNcharAndVarchar
    - taosMemoryFree
    - varDataVal
    - trimHelper
    - varDataSetLen
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t trtrim(char *input, char *remInput, char *output, int32_t inputType,
      int32_t remType, void *charsetCxt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:776,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:777,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:778,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:779,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:781,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:788,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:788,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:788,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:788,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:794,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:794,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:795,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:797,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:802,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:803,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:806,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:810,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:813,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:813,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:814,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 6
    argNames:
    - input
    - remInput
    - output
    - inputType
    - remType
    - charsetCxt
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 816
    functionName: tlrtrim
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - varDataLen
    - convBetweenNcharAndVarchar
    - taosMemoryFree
    - varDataVal
    - trimHelper
    - varDataSetLen
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tlrtrim(char *input, char *remInput, char *output, int32_t
      inputType, int32_t remType,\n                       void *charsetCxt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:819,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:827,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:828,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:832,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:833,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:834,1
    - Dst: lenFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:834,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:836,1
    - Dst: lenFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - lenFn
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _len_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 842
    functionName: doLengthFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - lenFn
    - colDataGetData
    - GET_PARAM_TYPE
    - IS_STR_DATA_BLOB
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t doLengthFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput, _len_fn lenFn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:847,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:847,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:851,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:853,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:853,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:853,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:855,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:858,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:858,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:860,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:862,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:862,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:862,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:862,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - input
    - output
    - hasNchar
    - type
    - dataLen
    - charsetCxt
    argTypes:
    - char*
    - char*
    - bool
    - int32_t
    - VarDataLenT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 866
    functionName: concatCopyHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - varDataLen
    - taosMemoryFree
    - varDataVal
    - taosMbsToUcs4
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t concatCopyHelper(const char *input, char *output, bool hasNchar,
      int32_t type, VarDataLenT *dataLen,\n                                void *charsetCxt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pColumnInfoData
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 879
    functionName: getNumOfNullEntries
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getNumOfNullEntries(SColumnInfoData *pColumnInfoData, int32_t
      numOfRows)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:883,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:885,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:889,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:892,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:897,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:899,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:903,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:903,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:904,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:910,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:916,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:918,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:924,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:924,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:924,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:925,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:939,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:941,1
    - Dst: concatCopyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:942,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:942,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:944,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:945,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:945,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:951,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:952,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:953,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:955,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 956
    functionName: concatFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - SCL_RET
    - colDataGetData
    - GET_PARAM_TYPE
    - SCL_ERR_JRET
    - TMAX
    - colDataSetNNULL
    - colDataSetVal
    - taosMemoryFree
    - concatCopyHelper
    - colDataIsNull_s
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t concatFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:960,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:965,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:970,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:972,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:976,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:976,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:977,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:983,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:995,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:997,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1001,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1001,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1001,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1002,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1010,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1010,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1010,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1017,1
    - Dst: concatCopyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1017,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1017,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1017,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1022,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1022,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1023,1
    - Dst: concatCopyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1023,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1023,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1028,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1029,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1031,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1032,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1032,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1039,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1040,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 1043
    functionName: concatWsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - colDataGetData
    - GET_PARAM_TYPE
    - SCL_ERR_JRET
    - TMAX
    - colDataSetNNULL
    - colDataSetVal
    - memset
    - taosMemoryFree
    - concatCopyHelper
    - colDataIsNull_s
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t concatWsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1046,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1052,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1054,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1060,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1061,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1065,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1066,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1069,1
    - Dst: convFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1069,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1069,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1073,1
    - Dst: convFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1073,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1073,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1076,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1077,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1079,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1080,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1082,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1086,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - convFn
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _conv_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1089
    functionName: doCaseConvFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - varDataTLen
    - colDataGetData
    - GET_PARAM_TYPE
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - convFn
    - colDataIsNull_s
    - taosMemoryCalloc
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCaseConvFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, _conv_fn convFn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1102,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1107,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1109,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1115,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1115,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1115,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1115,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1117,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1118,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1119,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1125,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1125,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1126,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1129,1
    - Dst: trimFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1129,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1129,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1129,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1130,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1130,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1131,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1131,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1135,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1136,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1139,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1140,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1141,1
    - Dst: trimSpaceFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1143,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1144,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 5
    argNames:
    - pInput
    - inputNum
    - pOutput
    - trimSpaceFn
    - trimFn
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _trim_space_fn
    - _trim_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1151
    functionName: doTrimFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - colDataGetData
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - TMAX
    - SCL_ERR_JRET
    - colDataSetVal
    - trimFn
    - varDataLen
    - trimSpaceFn
    - taosMemoryFree
    - colDataIsNull_s
    - taosMemoryCalloc
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doTrimFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput, _trim_space_fn trimSpaceFn,\n                              _trim_fn
      trimFn)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1162,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1162,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1170,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1182,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1182,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1192,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 6
    argNames:
    - orgStr
    - delimStr
    - orgLen
    - delimLen
    - charNums
    - isNchar
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1202
    functionName: findPosBytes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcmp
    - isCharStart
    linkageType: ''
    returnType: int32_t
    signature: "int32_t findPosBytes(char *orgStr, char *delimStr, int32_t orgLen,
      int32_t delimLen, int32_t charNums,\n                            bool isNchar)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1214,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1215,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1216,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1216,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1221,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1223,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1229,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1232,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1232,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1232,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1232,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1233,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1233,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1235,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1236,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1237,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1238,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1251,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1251,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1252,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1253,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1267,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1268,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1273,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1273,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1277,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1278,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1283,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1284,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1285,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1287,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1288,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1294,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1297,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1299,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1303,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1309,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1311,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1314,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1316,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1320,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1323,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1329,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1332,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1334,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1340,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1341,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1346,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1348,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1352,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1356,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1363,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1363,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1368,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 100
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1204
    functionDepth: 2
    functionLinenumber: 1204
    functionLinenumberEnd: 1371
    functionName: substrFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - GET_PARAM_TYPE
    - qError
    - TMIN
    - blobDataLen
    - memcpy
    - SCL_ERR_JRET
    - varDataLen
    - varDataVal
    - IS_NULL_TYPE
    - colDataSetNNULL
    - colDataSetVal
    - findPosBytes
    - colDataSetNULL
    - taosMemoryMalloc
    - TMAX
    - IS_STR_DATA_BLOB
    - taosMemoryFree
    - blobDataVal
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t substrFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1387,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1387,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1389,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1391,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1391,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1391,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1392,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1392,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1393,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1400,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1400,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1401,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1401,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1402,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1403,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1403,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1409,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1409,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1410,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1410,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1416,1
    - Dst: convVarcharToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1416,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1421,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1426,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1426,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1427,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1427,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1428,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1429,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1429,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1434,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1441,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1442,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1445,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1445,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1446,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1446,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1450,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1451,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1455,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1458,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1458,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1459,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1459,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1460,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1461,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1461,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1468,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1471,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1475,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1475,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1476,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1476,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1477,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1478,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1478,1
    - Dst: compare
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1486,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1489,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1504,1
    - Dst: compare
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1518,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1526,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1533,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1536,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 127
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1373
    functionDepth: 3
    functionLinenumber: 1373
    functionLinenumberEnd: 1540
    functionName: matchInSetFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - convVarcharToNchar
    - colDataGetData
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - TMAX
    - SCL_ERR_JRET
    - memcmp
    - strcasecmp
    - varDataLen
    - compare
    - convBetweenNcharAndVarchar
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - SCL_ERR_RET
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: "int32_t matchInSetFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput,\n                                  bool (*compare)(const
      char *, int32_t, const char *, int32_t))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - a
    - aLen
    - b
    - bLen
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1544
    functionName: findInSetCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool findInSetCompare(const char *a, int32_t aLen, const char *b, int32_t
      bLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: matchInSetFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1546
    functionDepth: 4
    functionLinenumber: 1546
    functionLinenumberEnd: 1548
    functionName: findInSetFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - matchInSetFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t findInSetFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: patternMatch
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - aLen
    - b
    - bLen
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1550
    functionDepth: 1
    functionLinenumber: 1550
    functionLinenumberEnd: 1553
    functionName: likeInSetCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - patternMatch
    linkageType: ''
    returnType: bool
    signature: bool likeInSetCompare(const char *a, int32_t aLen, const char *b, int32_t
      bLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wcsPatternMatch
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - aLen
    - b
    - bLen
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1559
    functionName: wcsLikeInSetCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - wcsPatternMatch
    linkageType: ''
    returnType: bool
    signature: bool wcsLikeInSetCompare(const char *a, int32_t aLen, const char *b,
      int32_t bLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1562,1
    - Dst: matchInSetFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1563,1
    - Dst: matchInSetFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1561
    functionDepth: 4
    functionLinenumber: 1561
    functionLinenumberEnd: 1566
    functionName: likeInSetFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - matchInSetFunction
    - GET_PARAM_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t likeInSetFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1577,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1582,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1589,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1594,1
    - Dst: threadGetRegComp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1598,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1604,1
    - Dst: regerror
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1607,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1608,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1613,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1616,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - a
    - aLen
    - b
    - bLen
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1620
    functionName: regexpInSetCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - regexec
    - qDebug
    - taosMemoryFree
    - threadGetRegComp
    - regerror
    linkageType: ''
    returnType: bool
    signature: bool regexpInSetCompare(const char *a, int32_t aLen, const char *b,
      int32_t bLen)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1635,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1635,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1637,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1637,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1637,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1637,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1638,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1638,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1639,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1646,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1646,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1647,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1647,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1648,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1649,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1649,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1655,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1655,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1656,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1656,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1657,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1658,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1658,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1665,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1670,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1670,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1671,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1671,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1672,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1673,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1673,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1678,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1684,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1685,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1689,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1692,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1692,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1693,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1693,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1694,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1695,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1695,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1701,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1702,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1706,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1709,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1709,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1710,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1710,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1711,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1712,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1712,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1719,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1722,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1726,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1726,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1727,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1727,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1728,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1729,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1729,1
    - Dst: regexpInSetCompare
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1737,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1740,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1755,1
    - Dst: regexpInSetCompare
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1767,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1775,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1782,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1785,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1788,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 133
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1622
    functionDepth: 2
    functionLinenumber: 1622
    functionLinenumberEnd: 1792
    functionName: regexpInSetFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - colDataGetData
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - TMAX
    - regexpInSetCompare
    - memcmp
    - strcasecmp
    - varDataLen
    - convNcharToVarchar
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - SCL_ERR_RET
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t regexpInSetFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - in
    - inLen
    - out
    argTypes:
    - uint8_t*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1818
    functionName: base32Encode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t base32Encode(const uint8_t *in, int32_t inLen, char *out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1826,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1828,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1832,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1833,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1836,1
    - Dst: taosGenerateTotpSecret
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1838,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1838,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1838,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1840,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1841,1
    - Dst: base32Encode
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1845,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1845,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1847,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1848,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1851,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1852,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1860
    functionName: generateTotpSecretFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosMemoryMalloc
    - colDataGetData
    - taosGenerateTotpSecret
    - qError
    - base32Encode
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t generateTotpSecretFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - in
    - inLen
    - out
    argTypes:
    - char*
    - int32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1889
    functionName: base32Decode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t base32Decode(const char *in, int32_t inLen, uint8_t *out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1897,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1899,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1907,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1908,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1912,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1913,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1914,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1915,1
    - Dst: base32Decode
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1919,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1919,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1919,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1921,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1922,1
    - Dst: taosGenerateTotpCode
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1926,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1928,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1929,1
    - Dst: taosFormatTotp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1933,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1933,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1934,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1935,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1937,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1938,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1943,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1894
    functionDepth: 1
    functionLinenumber: 1894
    functionLinenumberEnd: 1945
    functionName: generateTotpCodeFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosMemoryMalloc
    - colDataGetData
    - taosFormatTotp
    - qError
    - taosGenerateTotpCode
    - varDataLen
    - colDataSetVal
    - base32Decode
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t generateTotpCodeFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1950,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1951,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1953,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1957,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1958,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1961,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1962,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1963,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1964,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1966,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1971,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1971,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1971,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1971,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1972,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1972,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1972,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1973,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1974,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1976,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1977,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1981,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1983
    functionName: md5Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_RET
    - colDataSetNULL
    - taosMemoryMalloc
    - memcpy
    - colDataGetData
    - TMAX
    - qError
    - taosCreateMD5Hash
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t md5Function(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1988,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1989,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1991,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1995,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1996,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1999,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2000,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2001,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2002,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2004,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2009,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2009,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2009,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2009,1
    - Dst: taosCreateSHA1Hash
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2010,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2010,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2010,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2011,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2012,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2014,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2015,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2019,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 1985
    functionDepth: 1
    functionLinenumber: 1985
    functionLinenumberEnd: 2021
    functionName: shaFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_RET
    - colDataSetNULL
    - taosCreateSHA1Hash
    - taosMemoryMalloc
    - memcpy
    - colDataGetData
    - TMAX
    - qError
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t shaFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2026,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2027,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2029,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2033,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2034,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2037,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2038,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2039,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2040,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2042,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2047,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:2047,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2047,1
    - Dst: taosCreateSHA2Hash
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2053,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2053,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2053,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2054,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2055,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2057,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2058,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2062,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2023
    functionDepth: 1
    functionLinenumber: 2023
    functionLinenumberEnd: 2064
    functionName: sha2Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_RET
    - colDataSetNULL
    - taosMemoryMalloc
    - memcpy
    - colDataGetData
    - TMAX
    - qError
    - taosCreateSHA2Hash
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sha2Function(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2110
    functionName: crc32
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t crc32(const uint8_t *data, size_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2115,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2119,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2120,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2122,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2123,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2127,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2128,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2132,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2139,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2140,1
    - Dst: GET_PARAM_PRECISON
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2141,1
    - Dst: GET_PARAM_SCALE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2141,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2142,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2142,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2144,1
    - Dst: crc32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2146,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2146,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2151,1
    - Dst: taosTs2Char
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2151,1
    - Dst: crc32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2152,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2152,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2153,1
    - Dst: crc32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2155,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2155,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2155,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2112
    functionDepth: 6
    functionLinenumber: 2112
    functionLinenumberEnd: 2163
    functionName: crc32Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - GET_PARAM_TYPE
    - qError
    - strnlen
    - taosArrayDestroy
    - decimalToStr
    - GET_PARAM_PRECISON
    - SCL_ERR_JRET
    - varDataLen
    - GET_PARAM_SCALE
    - varDataVal
    - IS_DECIMAL_TYPE
    - crc32
    - NUM_TO_STRING
    - taosTs2Char
    - colDataSetNULL
    - taosMemoryMalloc
    - TMAX
    - IS_NUMERIC_TYPE
    - taosMemoryFree
    - strlen
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t crc32Function(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INT4TOCHAR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2167,1
    - Dst: INT3TOCHAR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2169,1
    - Dst: INT2TOCHAR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2171,1
    - Dst: INT1TOCHAR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - num
    - output
    argTypes:
    - int32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2165
    functionDepth: 1
    functionLinenumber: 2165
    functionLinenumberEnd: 2175
    functionName: getAsciiChar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - INT1TOCHAR
    - INT3TOCHAR
    - INT2TOCHAR
    - INT4TOCHAR
    linkageType: ''
    returnType: void
    signature: void getAsciiChar(int32_t num, char **output)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2179,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2181,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2185,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2188,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2192,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2194,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2194,1
    - Dst: getAsciiChar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2197,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2198,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2199,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2199,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2199,1
    - Dst: getAsciiChar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2200,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2201,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2202,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2202,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2204,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2207,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2207,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2207,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2208,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2208,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2210,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2215,1
    - Dst: getAsciiChar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2216,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2217,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2223,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2223,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2224,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2224,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2229,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2176
    functionDepth: 2
    functionLinenumber: 2176
    functionLinenumberEnd: 2231
    functionName: charFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosUcs4ToMbs
    - getAsciiChar
    - taosMemoryMalloc
    - taosStr2Int32
    - colDataGetData
    - GET_PARAM_TYPE
    - GET_PARAM_BYTES
    - TMAX
    - SCL_ERR_JRET
    - varDataLen
    - colDataSetVal
    - IS_NUMERIC_TYPE
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - taosMemoryCalloc
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t charFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2234,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2242,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2243,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2247,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2247,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2248,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2248,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2249,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2249,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2249,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2249,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2250,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2250,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2253,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2255,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2233
    functionDepth: 3
    functionLinenumber: 2233
    functionLinenumberEnd: 2262
    functionName: asciiFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataGetData
    - GET_PARAM_TYPE
    - varDataLen
    - convBetweenNcharAndVarchar
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t asciiFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2267,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - orgStr
    - delimStr
    - orgLen
    - delimLen
    - isNchar
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2264
    functionDepth: 1
    functionLinenumber: 2264
    functionLinenumberEnd: 2279
    functionName: findPosChars
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcmp
    - isCharStart
    linkageType: ''
    returnType: int32_t
    signature: int32_t findPosChars(char *orgStr, char *delimStr, int32_t orgLen,
      int32_t delimLen, bool isNchar)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2289,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2291,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2291,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2291,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2291,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2293,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2294,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2295,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2301,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2301,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2302,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2306,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2306,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2308,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2312,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2312,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2313,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2313,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2314,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2314,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2315,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2315,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2317,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2317,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2318,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2318,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2318,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2318,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2319,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2319,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2320,1
    - Dst: findPosChars
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2324,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2324,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2326,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2328,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2333
      start: 2281
    functionDepth: 3
    functionLinenumber: 2281
    functionLinenumberEnd: 2333
    functionName: positionFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - findPosChars
    - colDataGetData
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - TMAX
    - varDataLen
    - convBetweenNcharAndVarchar
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - SCL_ERR_RET
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t positionFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2342,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2342,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2346,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2346,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2350,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2335
    functionDepth: 2
    functionLinenumber: 2335
    functionLinenumberEnd: 2355
    functionName: trimFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_RET
    - doTrimFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t trimFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2342,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2342,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2346,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2346,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2350,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2338
    functionDepth: 2
    functionLinenumber: 2338
    functionLinenumberEnd: 2353
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_RET
    - doTrimFunction
    linkageType: ''
    returnType: void
    signature: "void GET_TYPED_DATA(trimType, int32_t, GET_PARAM_TYPE(&pInput[inputNum
      - 1]), pInput[inputNum - 1].columnData->pData,\n                 typeGetTypeModFromColInfo(&pInput[inputNum
      - 1].columnData->info));\n  switch (trimType)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2369,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2380,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2382,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2382,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2383,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2384,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2385,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2386,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2387,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2392,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2394,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2401,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2401,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2402,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2403,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2409,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2409,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2410,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2410,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2411,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2411,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2412,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2412,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2413,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2413,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2414,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2414,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2419,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2421,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2422,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2422,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2426,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2426,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2427,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2427,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2427,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2427,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2428,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2428,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2429,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2432,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2432,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2433,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2433,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2433,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2434,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2434,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2435,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2438,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2448,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2453,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2454,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2455,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2456,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2462,1
    - Dst: getCharLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2462,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2463,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2470,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2473,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2476,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2478,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2479,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2479,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2483,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 82
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2357
    functionDepth: 3
    functionLinenumber: 2357
    functionLinenumberEnd: 2485
    functionName: replaceFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - GET_PARAM_TYPE
    - TMIN
    - getCharLen
    - convBetweenNcharAndVarchar
    - memcpy
    - SCL_ERR_JRET
    - varDataLen
    - varDataVal
    - isCharStart
    - taosMemoryCalloc
    - colDataSetNNULL
    - memcmp
    - colDataSetVal
    - varDataSetLen
    - SCL_ERR_RET
    - colDataSetNULL
    - TMAX
    - taosMemoryFree
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t replaceFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2489,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2500,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2500,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2501,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2502,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2503,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2512,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2512,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2513,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2515,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2522,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2522,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2523,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2528,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2528,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2529,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2529,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2530,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2530,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2531,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2531,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2535,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2536,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2537,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2537,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2541,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2541,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2542,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2542,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2542,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2542,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2543,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2543,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2544,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2548,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2551,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2553,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2554,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2554,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2558,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2487
    functionDepth: 3
    functionLinenumber: 2487
    functionLinenumberEnd: 2560
    functionName: maskFullFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - memcpy
    - colDataGetData
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - TMAX
    - TMIN
    - SCL_ERR_JRET
    - varDataLen
    - colDataSetVal
    - convBetweenNcharAndVarchar
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - taosMemoryCalloc
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t maskFullFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2564,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2584,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2584,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2585,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2586,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2587,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2596,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2597,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2599,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2606,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2606,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2607,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2612,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2612,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2613,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2613,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2614,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2614,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2619,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2620,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2621,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2621,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2625,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2625,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2626,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2626,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2626,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2626,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2627,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2627,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2628,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2633,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2636,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2639,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2643,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2645,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2646,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2646,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2650,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2562
    functionDepth: 3
    functionLinenumber: 2562
    functionLinenumberEnd: 2652
    functionName: maskPartialFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - memcpy
    - colDataGetData
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - TMAX
    - SCL_ERR_JRET
    - varDataLen
    - colDataSetVal
    - convBetweenNcharAndVarchar
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - taosMemoryCalloc
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t maskPartialFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2664,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2665,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2666,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2672,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2674,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2680,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2681,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2686,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2686,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2687,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2687,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2690,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2691,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2692,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2692,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2696,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2698,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2699,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2699,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2704,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2654
    functionDepth: 1
    functionLinenumber: 2654
    functionLinenumberEnd: 2706
    functionName: maskNoneFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - memcpy
    - colDataGetData
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - SCL_ERR_JRET
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - taosMemoryCalloc
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t maskNoneFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2710,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2717,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2720,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2721,1
    - Dst: taes_encrypt_len
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2722,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2723,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2725,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2728,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2728,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2731,1
    - Dst: taes_encrypt_len
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2731,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2733,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2738,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2739,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2743,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2745,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2745,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2745,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2745,1
    - Dst: taosAesEncrypt
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2746,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2746,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2746,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2748,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2749,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2751,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2752,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2753,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2759,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2760,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2708
    functionDepth: 2
    functionLinenumber: 2708
    functionLinenumberEnd: 2762
    functionName: aesFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_RET
    - colDataSetNULL
    - taosMemoryMalloc
    - memcpy
    - colDataGetData
    - TMAX
    - qError
    - varDataLen
    - taosAesEncrypt
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - taes_encrypt_len
    linkageType: ''
    returnType: int32_t
    signature: int32_t aesFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2766,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2773,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2776,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2777,1
    - Dst: taes_encrypt_len
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2778,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2779,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2781,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2784,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2784,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2787,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2789,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2794,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2795,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2799,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2800,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2801,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2802,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2804,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2805,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2811,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2811,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2811,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2811,1
    - Dst: taosAesDecrypt
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2812,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2812,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2812,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2814,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2815,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2817,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2818,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2819,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2825,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2826,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2764
    functionDepth: 2
    functionLinenumber: 2764
    functionLinenumberEnd: 2828
    functionName: aesDeFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_RET
    - colDataSetNULL
    - taosMemoryMalloc
    - memcpy
    - colDataGetData
    - TMAX
    - qError
    - taosAesDecrypt
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - taosMemoryRealloc
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - taes_encrypt_len
    linkageType: ''
    returnType: int32_t
    signature: int32_t aesDeFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2832,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2838,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2839,1
    - Dst: tsm4_encrypt_len
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2840,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2841,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2843,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2846,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2846,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2849,1
    - Dst: tsm4_encrypt_len
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2849,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2851,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2856,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2857,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2861,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2863,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2863,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2863,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2863,1
    - Dst: taosSm4Encrypt
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2864,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2864,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2864,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2866,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2867,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2869,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2870,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2871,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2877,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2878,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2830
    functionDepth: 3
    functionLinenumber: 2830
    functionLinenumberEnd: 2880
    functionName: sm4Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosSm4Encrypt
    - taosMemoryMalloc
    - memcpy
    - colDataGetData
    - TMAX
    - tsm4_encrypt_len
    - qError
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t sm4Function(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2884,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2890,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2891,1
    - Dst: tsm4_encrypt_len
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2892,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2893,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2895,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2898,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2898,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2901,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2903,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2908,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2909,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2913,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2914,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2915,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2916,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2918,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2919,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2925,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2925,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2925,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2925,1
    - Dst: taosSm4Decrypt
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2926,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2926,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2926,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2928,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2929,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2931,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2932,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2933,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2939,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2940,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2942
      start: 2882
    functionDepth: 3
    functionLinenumber: 2882
    functionLinenumberEnd: 2942
    functionName: sm4DeFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_RET
    - colDataSetNULL
    - taosMemoryMalloc
    - memcpy
    - colDataGetData
    - TMAX
    - tsm4_encrypt_len
    - qError
    - varDataLen
    - colDataSetVal
    - taosSm4Decrypt
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sm4DeFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2956,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2960,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2960,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2961,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2962,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2966,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2968,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2974,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2974,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2974,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2975,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2987,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2987,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2988,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2988,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2989,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2989,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2990,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2990,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2994,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2998,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2998,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2999,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2999,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2999,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2999,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3000,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3000,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3001,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3008,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3008,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3011,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3011,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3020,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3020,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3021,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3023,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3026,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3029,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3029,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3033,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3035
      start: 2944
    functionDepth: 3
    functionLinenumber: 2944
    functionLinenumberEnd: 3035
    functionName: substrIdxFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - GET_PARAM_TYPE
    - convBetweenNcharAndVarchar
    - memcpy
    - SCL_ERR_JRET
    - varDataLen
    - varDataVal
    - taosMemoryCalloc
    - IS_NULL_TYPE
    - colDataSetNNULL
    - colDataSetVal
    - varDataSetLen
    - SCL_ERR_RET
    - findPosBytes
    - colDataSetNULL
    - TMAX
    - typeGetTypeModFromColInfo
    - taosMemoryFree
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t substrIdxFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3041,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3043,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3047,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3048,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3052,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3053,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3053,1
    - Dst: tbase64_encode_len
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3055,1
    - Dst: tbase64_encode
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3057,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3057,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3058,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3060,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3060,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3065,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3067
      start: 3037
    functionDepth: 1
    functionLinenumber: 3037
    functionLinenumberEnd: 3067
    functionName: base64Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosMemoryMalloc
    - colDataGetData
    - tbase64_encode_len
    - tbase64_encode
    - SCL_ERR_JRET
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t base64Function(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3073,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3075,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3079,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3080,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3084,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3085,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3085,1
    - Dst: tbase64_decode_len
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3087,1
    - Dst: tbase64_decode
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3089,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3089,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3090,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3093,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3095,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3095,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 3069
    functionDepth: 1
    functionLinenumber: 3069
    functionLinenumberEnd: 3102
    functionName: base64FunctionFrom
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosMemoryMalloc
    - colDataGetData
    - SCL_ERR_JRET
    - tbase64_decode_len
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - tbase64_decode
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t base64FunctionFrom(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - input
    - inputLen
    - count
    - output
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3110
      start: 3104
    functionDepth: 0
    functionLinenumber: 3104
    functionLinenumberEnd: 3110
    functionName: repeatStringHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t repeatStringHelper(char *input, int32_t inputLen, int32_t count,
      char *output)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3122,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3127,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3135,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3136,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3138,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3143,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3143,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3143,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3143,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3147,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3147,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3148,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3155,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3156,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3156,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3158,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3159,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3159,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3160,1
    - Dst: repeatStringHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3160,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3160,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3160,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3160,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3161,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3161,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3165,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3166,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3170,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3171,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3178,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3179,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3179,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3181,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3182,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3182,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3183,1
    - Dst: repeatStringHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3183,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3183,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3183,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3183,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3184,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3184,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3189,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3190,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3194,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3195,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3202,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3203,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3203,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3205,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3206,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3206,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3207,1
    - Dst: repeatStringHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3207,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3207,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3207,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3207,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3208,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3208,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3216,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3112
    functionDepth: 1
    functionLinenumber: 3112
    functionLinenumberEnd: 3218
    functionName: repeatFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - colDataGetData
    - GET_PARAM_TYPE
    - SCL_ERR_JRET
    - TMAX
    - colDataSetNNULL
    - colDataSetVal
    - varDataLen
    - repeatStringHelper
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_s
    - taosMemoryCalloc
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t repeatFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3222,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3223,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3224,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3225,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3228,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3231,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3235,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3236,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3243,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3244,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3248,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3253,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3253,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3253,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3254,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3255,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3256,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3257,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3265,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3265,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3267,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3269,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3269,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3269,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3276,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3278,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3279,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3285,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3285,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3285,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3286,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3287,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3288,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3289,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3290,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3290,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3292,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3294,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3294,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3294,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3300,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3302,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3303,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3309,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3309,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3309,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3310,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3311,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3312,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3313,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3314,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3314,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3316,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3318,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3318,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3318,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3325,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3327,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3328,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3334,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3334,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3334,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3335,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3336,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3337,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3338,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3339,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3339,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3341,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3343,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3343,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3343,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3349,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3351,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3352,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3358,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3358,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3358,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3359,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3360,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3361,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3362,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3363,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3363,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3365,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3367,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3367,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3367,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3373,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3375,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3376,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3382,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3382,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3382,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3383,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3384,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3385,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3386,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3387,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3387,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3389,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3391,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3391,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3391,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3397,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3399,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3400,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3406,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3406,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3406,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3407,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3408,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3409,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3410,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3411,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3411,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3413,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3415,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3415,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3415,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3421,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3423,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3424,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3430,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3430,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3430,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3431,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3432,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3433,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3434,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3435,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3435,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3437,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3439,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3439,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3439,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3446,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3448,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3449,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3455,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3455,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3455,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3456,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3457,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3458,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3459,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3460,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3460,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3462,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3464,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3464,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3464,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3470,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3472,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3473,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3479,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3479,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3479,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3480,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3481,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3482,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3483,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3484,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3484,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3486,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3488,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3488,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3488,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3494,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3496,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3497,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3503,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3503,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3503,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3504,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3505,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3506,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3507,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3508,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3508,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3510,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3512,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3512,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3512,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3518,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3520,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3521,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3528,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3532,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3539,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3540,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3548,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3548,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3550,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3552,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3552,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3553,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3553,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3553,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3554,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3555,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3556,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3557,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3559,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3559,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3559,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3560,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3562,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3562,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3562,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3567,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3568,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3568,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3569,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3573,1
    - Dst: GET_PARAM_PRECISON
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3575,1
    - Dst: GET_PARAM_SCALE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3575,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3576,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3579,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3581,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3583,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3583,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3584,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3590,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3590,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3591,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3591,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3591,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3592,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3593,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3594,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3595,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3597,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3597,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3597,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3598,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3610,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3611,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3611,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3618,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3620,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3620,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3621,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3621,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3627,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3628,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3629,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3631,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3631,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3631,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3637,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3639,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3639,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3640,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3641,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3643,1
    - Dst: GET_PARAM_PRECISON
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3644,1
    - Dst: GET_PARAM_SCALE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3644,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3645,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3648,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3650,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3652,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3652,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3658,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3670,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3670,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3672,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3672,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3672,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3679,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3681,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3682,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3683,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3684,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3684,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3686,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3687,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3687,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3690,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3702,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3703,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3704,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3706,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3706,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3706,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3708,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3709,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3710,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3711,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3713,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3713,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3713,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3716,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3717,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3718,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3720,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3720,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3720,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3724,1
    - Dst: GET_PARAM_PRECISON
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3725,1
    - Dst: GET_PARAM_SCALE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3725,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3726,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3729,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3731,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3732,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3733,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3735,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3735,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3747,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3756,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3757,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3758,1
    CyclomaticComplexity: 140
    EdgeCount: 140
    ICount: 500
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3760
      start: 3221
    functionDepth: 6
    functionLinenumber: 3221
    functionLinenumberEnd: 3760
    functionName: castFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 1
    functionsReached:
    - GET_PARAM_BYTES
    - colDataGetData
    - GET_PARAM_TYPE
    - TMIN
    - snprintf
    - taosStr2Int64
    - decimalToStr
    - taosStr2UInt32
    - taosUcs4ToMbs
    - GET_PARAM_PRECISON
    - memcpy
    - taosStr2Int8
    - blobDataLen
    - varDataLen
    - taosStr2Double
    - taosStr2UInt16
    - GET_PARAM_SCALE
    - varDataVal
    - taosStr2Int32
    - taosMemoryCalloc
    - IS_DECIMAL_TYPE
    - taosStr2UInt64
    - colDataSetVal
    - taosStr2Int16
    - taosStr2Float
    - memmove
    - varDataSetLen
    - taosStr2UInt8
    - NUM_TO_STRING
    - colDataSetNULL
    - convertStringToTimestamp
    - taosMemoryMalloc
    - blobDataSetLen
    - taosMbsToUcs4
    - IS_STR_DATA_BLOB
    - convertToDecimal
    - typeGetTypeModFromColInfo
    - taosMemoryFree
    - strlen
    - blobDataVal
    - colDataIsNull_s
    - GET_COL_DATA_TYPE
    - GET_TYPED_DATA
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t castFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3763,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3769,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3770,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3770,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3774,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3775,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3779,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3782,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3819,1
    - Dst: offsetOfTimezone
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3828,1
    - Dst: taosGmTimeR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3834,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3838,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3840,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3844,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3848,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3849,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3852,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3852,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3858
      start: 3762
    functionDepth: 1
    functionLinenumber: 3762
    functionLinenumberEnd: 3858
    functionName: toISO8601Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosStrfTime
    - memcpy
    - colDataGetData
    - GET_PARAM_TYPE
    - varDataLen
    - colDataSetVal
    - offsetOfTimezone
    - taosGmTimeR
    - snprintf
    - memmove
    - varDataVal
    - colDataIsNull_s
    - NUM_TO_STRING
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t toISO8601Function(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3861,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3868,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3869,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3872,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3875,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3877,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3879,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3879,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3886
      start: 3860
    functionDepth: 1
    functionLinenumber: 3860
    functionLinenumberEnd: 3886
    functionName: toUnixtimestampFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - convertStringToTimestamp
    - colDataGetData
    - GET_PARAM_TYPE
    - colDataSetVal
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t toUnixtimestampFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3889,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3894,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3900,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3901,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3903,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3904,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3905,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3909,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3910,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3913,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3913,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3913,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3914,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3915,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3916,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3918,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3919,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3920,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3925,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3926,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3927,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3929,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3888
    functionDepth: 1
    functionLinenumber: 3888
    functionLinenumberEnd: 3935
    functionName: toJsonFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - GET_PARAM_TYPE
    - varDataLen
    - colDataSetVal
    - tTagNew
    - taosArrayInit
    - varDataVal
    - parseJsontoTagData
    - taosArrayDestroy
    - colDataIsNull_s
    - SCL_ERR_RET
    - tTagFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t toJsonFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3940,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3941,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3946,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3949,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3949,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3950,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3954,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3955,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3956,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3956,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3957,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3957,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3959,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3959,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3961,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3961,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3964,1
    - Dst: taosChar2Ts
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3970,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3972,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3973,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3975,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3975,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3979,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3980,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3981,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3983
      start: 3938
    functionDepth: 1
    functionLinenumber: 3938
    functionLinenumberEnd: 3983
    functionName: toTimestampFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosMemoryMalloc
    - colDataGetData
    - taosChar2Ts
    - SCL_ERR_JRET
    - TMIN
    - qError
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - taosArrayDestroy
    - colDataIsNull_s
    - TAOS_STRNCPY
    linkageType: ''
    returnType: int32_t
    signature: int32_t toTimestampFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3988,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3991,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3998,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3999,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4003,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4004,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4006,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4007,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4009,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4016,1
    - Dst: taosTs2Char
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4016,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4016,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4017,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4017,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4017,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4018,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4018,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4023,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4023,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4025,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4026,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4028
      start: 3985
    functionDepth: 1
    functionLinenumber: 3985
    functionLinenumberEnd: 4028
    functionName: dateFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosTs2Char
    - colDataSetNULL
    - convertStringToTimestamp
    - colDataGetData
    - GET_PARAM_TYPE
    - SCL_ERR_JRET
    - qError
    - colDataSetVal
    - taosMemoryFree
    - tstrerror
    - varDataVal
    - strlen
    - taosArrayDestroy
    - colDataIsNull_s
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t dateFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4031,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4032,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4038,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4041,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4041,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4042,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4046,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4047,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4048,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4048,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4050,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4050,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4053,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4058,1
    - Dst: taosTs2Char
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4059,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4059,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4060,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4060,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4060,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4061,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4061,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4065,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4066,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4067,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4069
      start: 4030
    functionDepth: 1
    functionLinenumber: 4030
    functionLinenumberEnd: 4069
    functionName: toCharFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosTs2Char
    - colDataSetNULL
    - taosMemoryMalloc
    - TAOS_STRNCPY
    - colDataGetData
    - SCL_ERR_JRET
    - TMIN
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - strlen
    - taosArrayDestroy
    - colDataIsNull_s
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t toCharFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4074,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4075,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4075,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - timezoneStr
    - factor
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4080
      start: 4072
    functionDepth: 1
    functionLinenumber: 4072
    functionLinenumberEnd: 4080
    functionName: offsetFromTz
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosStr2Int64
    - memset
    linkageType: ''
    returnType: int64_t
    signature: int64_t offsetFromTz(char *timezoneStr, int64_t factor)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4083,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4102,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4102,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4103,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4106,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4107,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4111,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4113,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4114,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4116,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4126,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4129,1
    - Dst: offsetFromTz
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4131,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4131,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4135,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4135,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4141
      start: 4082
    functionDepth: 2
    functionLinenumber: 4082
    functionLinenumberEnd: 4141
    functionName: timeTruncateFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - convertStringToTimestamp
    - memcpy
    - colDataGetData
    - GET_PARAM_TYPE
    - varDataLen
    - colDataSetVal
    - offsetFromTz
    - TSDB_TICK_PER_SECOND
    - varDataVal
    - colDataIsNull_s
    - NUM_TO_STRING
    - SCL_ERR_RET
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t timeTruncateFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4155,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4161,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4167,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4169,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4170,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4171,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4182,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4193,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4193,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4199
      start: 4143
    functionDepth: 1
    functionLinenumber: 4143
    functionLinenumberEnd: 4199
    functionName: timeDiffFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - convertStringToTimestamp
    - colDataSetNULL
    - colDataGetData
    - GET_PARAM_TYPE
    - TMAX
    - colDataSetVal
    - colDataIsNull_s
    - SCL_ERR_RET
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t timeDiffFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4206,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4212
      start: 4201
    functionDepth: 1
    functionLinenumber: 4201
    functionLinenumberEnd: 4212
    functionName: nowFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosGetTimestamp
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t nowFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampToday
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4219,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4225
      start: 4214
    functionDepth: 1
    functionLinenumber: 4214
    functionLinenumberEnd: 4225
    functionName: todayFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampToday
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t todayFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4231,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4231,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4233,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4237,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4237,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4237,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4240,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4240,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4240,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4242,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4246
      start: 4227
    functionDepth: 1
    functionLinenumber: 4227
    functionLinenumberEnd: 4246
    functionName: timezoneFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosHashGet
    - colDataSetVal
    - tstrncpy
    - varDataVal
    - strlen
    - varDataSetLen
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t timezoneFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4249,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4257,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4258,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4262,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4264,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4265,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4267,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4276,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4276,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4278,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - startFromZero
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4284
      start: 4248
    functionDepth: 1
    functionLinenumber: 4248
    functionLinenumberEnd: 4284
    functionName: weekdayFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - convertStringToTimestamp
    - colDataGetData
    - GET_PARAM_TYPE
    - TAOS_CHECK_RETURN
    - taosTs2Tm
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t weekdayFunctionImpl(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, bool startFromZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: weekdayFunctionImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4288
      start: 4286
    functionDepth: 2
    functionLinenumber: 4286
    functionLinenumberEnd: 4288
    functionName: weekdayFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - weekdayFunctionImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t weekdayFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: weekdayFunctionImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4292
      start: 4290
    functionDepth: 2
    functionLinenumber: 4290
    functionLinenumberEnd: 4292
    functionName: dayofweekFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - weekdayFunctionImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t dayofweekFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4311
      start: 4295
    functionDepth: 0
    functionLinenumber: 4295
    functionLinenumberEnd: 4311
    functionName: getDayNum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDayNum(int32_t year, int32_t month, int32_t day)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4315
      start: 4313
    functionDepth: 0
    functionLinenumber: 4313
    functionLinenumberEnd: 4315
    functionName: getDaysInYear
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDaysInYear(int32_t year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - daynr
    - sundayFirstDay
    argTypes:
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4317
      start: 4317
    functionDepth: 0
    functionLinenumber: 4317
    functionLinenumberEnd: 4317
    functionName: getWeekday
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getWeekday(int32_t daynr, bool sundayFirstDay)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getDayNum
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4324,1
    - Dst: getDayNum
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4325,1
    - Dst: getWeekday
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4330,1
    - Dst: getDaysInYear
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4336,1
    - Dst: getDaysInYear
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4347,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 2
    argNames:
    - date
    - weekFlag
    argTypes:
    - struct tm
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4353
      start: 4319
    functionDepth: 1
    functionLinenumber: 4319
    functionLinenumberEnd: 4353
    functionName: calculateWeekNum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - getWeekday
    - getDaysInYear
    - getDayNum
    linkageType: ''
    returnType: int32_t
    signature: int32_t calculateWeekNum(struct tm date, int32_t weekFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4355
    functionDepth: 0
    functionLinenumber: 4355
    functionLinenumberEnd: 4357
    functionName: weekMode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t weekMode(int32_t mode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4360,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4365,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4366,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4370,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4372,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4373,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4375,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4384,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4384,1
    - Dst: calculateWeekNum
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4385,1
    - Dst: weekMode
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4385,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4386,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - pInput
    - inputNum
    - pOutput
    - prec
    - mode
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4392
      start: 4359
    functionDepth: 2
    functionLinenumber: 4359
    functionLinenumberEnd: 4392
    functionName: weekFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - convertStringToTimestamp
    - calculateWeekNum
    - colDataGetData
    - GET_PARAM_TYPE
    - weekMode
    - taosTs2Tm
    - colDataIsNull_s
    - SCL_ERR_RET
    - IS_VAR_DATA_TYPE
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t weekFunctionImpl(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput, int64_t prec, int32_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: weekFunctionImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4400,1
    - Dst: weekFunctionImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4408
      start: 4394
    functionDepth: 3
    functionLinenumber: 4394
    functionLinenumberEnd: 4408
    functionName: weekFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - weekFunctionImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t weekFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: weekFunctionImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4415
      start: 4410
    functionDepth: 3
    functionLinenumber: 4410
    functionLinenumberEnd: 4415
    functionName: weekofyearFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - weekFunctionImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t weekofyearFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4419
      start: 4417
    functionDepth: 2
    functionLinenumber: 4417
    functionLinenumberEnd: 4419
    functionName: atanFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 2
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: int32_t atanFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4423
      start: 4421
    functionDepth: 2
    functionLinenumber: 4421
    functionLinenumberEnd: 4423
    functionName: sinFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 4
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: int32_t sinFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4427
      start: 4425
    functionDepth: 2
    functionLinenumber: 4425
    functionLinenumberEnd: 4427
    functionName: cosFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 4
    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:4430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4431
      start: 4429
    functionDepth: 2
    functionLinenumber: 4429
    functionLinenumberEnd: 4431
    functionName: tanFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 4
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: int32_t tanFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4435
      start: 4433
    functionDepth: 2
    functionLinenumber: 4433
    functionLinenumberEnd: 4435
    functionName: asinFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 2
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: int32_t asinFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4439
      start: 4437
    functionDepth: 2
    functionLinenumber: 4437
    functionLinenumberEnd: 4439
    functionName: acosFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 2
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: int32_t acosFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4443
      start: 4441
    functionDepth: 2
    functionLinenumber: 4441
    functionLinenumberEnd: 4443
    functionName: powFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 2
    functionsReached:
    - doScalarFunctionUnique2
    linkageType: ''
    returnType: int32_t
    signature: int32_t powFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4447,1
    - Dst: doScalarFunctionUnique2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4451
      start: 4445
    functionDepth: 2
    functionLinenumber: 4445
    functionLinenumberEnd: 4451
    functionName: logFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 2
    functionsReached:
    - doScalarFunctionUnique
    - doScalarFunctionUnique2
    linkageType: ''
    returnType: int32_t
    signature: int32_t logFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4455
      start: 4453
    functionDepth: 2
    functionLinenumber: 4453
    functionLinenumberEnd: 4455
    functionName: sqrtFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 2
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: int32_t sqrtFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4459
      start: 4457
    functionDepth: 2
    functionLinenumber: 4457
    functionLinenumberEnd: 4459
    functionName: ceilFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 2
    functionsReached:
    - doScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t ceilFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4463
      start: 4461
    functionDepth: 2
    functionLinenumber: 4461
    functionLinenumberEnd: 4463
    functionName: floorFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 2
    functionsReached:
    - doScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t floorFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4467,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4471,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4471,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4471,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4474,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4477,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4482
      start: 4465
    functionDepth: 1
    functionLinenumber: 4465
    functionLinenumberEnd: 4482
    functionName: randFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - taosSeedRand
    - GET_PARAM_TYPE
    - TMAX
    - colDataSetDouble
    - taosRand
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t randFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4489,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4492,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - val1
    - val2
    - fn
    argTypes:
    - double
    - double
    - _double_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4502
      start: 4484
    functionDepth: 0
    functionLinenumber: 4484
    functionLinenumberEnd: 4502
    functionName: decimalFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - fn
    - pow
    linkageType: ''
    returnType: double
    signature: double decimalFn(double val1, double val2, _double_fn fn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4509,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4512,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - val1
    - val2
    - fn
    argTypes:
    - float
    - float
    - _float_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4522
      start: 4504
    functionDepth: 0
    functionLinenumber: 4504
    functionLinenumberEnd: 4522
    functionName: decimalfFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - fn
    - powf
    linkageType: ''
    returnType: float
    signature: float decimalfFn(float val1, float val2, _float_fn fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4524
      start: 4524
    functionDepth: 1
    functionLinenumber: 4524
    functionLinenumberEnd: 4524
    functionName: roundFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - decimalFn
    linkageType: ''
    returnType: double
    signature: double roundFn(double val1, double val2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalfFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4526
      start: 4526
    functionDepth: 1
    functionLinenumber: 4526
    functionLinenumberEnd: 4526
    functionName: roundfFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - decimalfFn
    linkageType: ''
    returnType: float
    signature: float roundfFn(float val1, float val2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4528
      start: 4528
    functionDepth: 1
    functionLinenumber: 4528
    functionLinenumberEnd: 4528
    functionName: truncFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - decimalFn
    linkageType: ''
    returnType: double
    signature: double truncFn(double val1, double val2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalfFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4530
      start: 4530
    functionDepth: 1
    functionLinenumber: 4530
    functionLinenumberEnd: 4530
    functionName: truncfFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - decimalfFn
    linkageType: ''
    returnType: float
    signature: float truncfFn(float val1, float val2)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4540,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4540,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4540,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4543,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4543,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4543,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4543,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4545,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4549,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4549,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4550,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4560,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4561,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4561,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4562,1
    - Dst: f1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4571,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4572,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4572,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4573,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4582,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4589,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4596,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4603,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4610,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4617,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4624,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4631,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 5
    argNames:
    - pInput
    - inputNum
    - pOutput
    - f1
    - d1
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _float_fn_2
    - _double_fn_2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4640
      start: 4532
    functionDepth: 1
    functionLinenumber: 4532
    functionLinenumberEnd: 4640
    functionName: doScalarFunction2
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - f1
    - getVectorDoubleValueFn
    - GET_PARAM_TYPE
    - TMAX
    - d1
    - isnan
    - colDataIsNull_s
    - SCL_ERR_RET
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doScalarFunction2(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, _float_fn_2 f1,\n                                 _double_fn_2
      d1)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4560,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4561,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4561,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4562,1
    - Dst: f1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4571,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4572,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4572,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4573,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4582,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4589,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4596,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4603,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4610,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4617,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4624,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4631,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4635
      start: 4554
    functionDepth: 1
    functionLinenumber: 4554
    functionLinenumberEnd: 4635
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 1
    functionsReached:
    - colDataSetNULL
    - f1
    - d1
    - isnan
    - isinf
    linkageType: ''
    returnType: void
    signature: "void GET_TYPED_DATA(in2, double, GET_PARAM_TYPE(&pInput[1]), colDataGetData(pInputData[1],
      colIdx2),\n                   typeGetTypeModFromColInfo(&pInputData[1]->info));\n
      \   switch (GET_PARAM_TYPE(&pInput[0]))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4644,1
    - Dst: doScalarFunction2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4648
      start: 4642
    functionDepth: 2
    functionLinenumber: 4642
    functionLinenumberEnd: 4648
    functionName: roundFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 2
    functionsReached:
    - doScalarFunction
    - doScalarFunction2
    linkageType: ''
    returnType: int32_t
    signature: int32_t roundFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunction2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4652
      start: 4650
    functionDepth: 2
    functionLinenumber: 4650
    functionLinenumberEnd: 4652
    functionName: truncFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doScalarFunction2
    linkageType: ''
    returnType: int32_t
    signature: int32_t truncFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4661
      start: 4654
    functionDepth: 1
    functionLinenumber: 4654
    functionLinenumberEnd: 4661
    functionName: piFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetDouble
    linkageType: ''
    returnType: int32_t
    signature: int32_t piFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4665
      start: 4663
    functionDepth: 2
    functionLinenumber: 4663
    functionLinenumberEnd: 4665
    functionName: expFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: int32_t expFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4669
      start: 4667
    functionDepth: 2
    functionLinenumber: 4667
    functionLinenumberEnd: 4669
    functionName: lnFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: int32_t lnFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4673
      start: 4671
    functionDepth: 2
    functionLinenumber: 4671
    functionLinenumberEnd: 4673
    functionName: modFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doScalarFunctionUnique2
    linkageType: ''
    returnType: int32_t
    signature: int32_t modFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4677
      start: 4675
    functionDepth: 2
    functionLinenumber: 4675
    functionLinenumberEnd: 4677
    functionName: degreesFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: int32_t degreesFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4681
      start: 4679
    functionDepth: 2
    functionLinenumber: 4679
    functionLinenumberEnd: 4681
    functionName: radiansFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: int32_t radiansFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doCaseConvFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4685,1
    - Dst: doCaseConvFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4689
      start: 4683
    functionDepth: 2
    functionLinenumber: 4683
    functionLinenumberEnd: 4689
    functionName: lowerFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doCaseConvFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t lowerFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doCaseConvFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4693,1
    - Dst: doCaseConvFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4697
      start: 4691
    functionDepth: 2
    functionLinenumber: 4691
    functionLinenumberEnd: 4697
    functionName: upperFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doCaseConvFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t upperFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4701
      start: 4699
    functionDepth: 2
    functionLinenumber: 4699
    functionLinenumberEnd: 4701
    functionName: ltrimFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doTrimFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t ltrimFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4705
      start: 4703
    functionDepth: 2
    functionLinenumber: 4703
    functionLinenumberEnd: 4705
    functionName: rtrimFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doTrimFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t rtrimFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLengthFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4709
      start: 4707
    functionDepth: 2
    functionLinenumber: 4707
    functionLinenumberEnd: 4709
    functionName: lengthFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doLengthFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t lengthFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLengthFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4713
      start: 4711
    functionDepth: 2
    functionLinenumber: 4711
    functionLinenumberEnd: 4713
    functionName: charLengthFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doLengthFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t charLengthFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4718
      start: 4715
    functionDepth: 0
    functionLinenumber: 4715
    functionLinenumberEnd: 4718
    functionName: getTimePseudoFuncEnv
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getTimePseudoFuncEnv(SFunctionNode *UNUSED_PARAM(pFunc), SFuncExecEnv
      *pEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4723
      start: 4720
    functionDepth: 0
    functionLinenumber: 4720
    functionLinenumberEnd: 4723
    functionName: getMarkPseudoFuncEnv
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getMarkPseudoFuncEnv(SFunctionNode *UNUSED_PARAM(pFunc), SFuncExecEnv
      *pEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4727,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4729
      start: 4726
    functionDepth: 1
    functionLinenumber: 4726
    functionLinenumberEnd: 4729
    functionName: qStartTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStartTsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4732,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4734
      start: 4731
    functionDepth: 1
    functionLinenumber: 4731
    functionLinenumberEnd: 4734
    functionName: qEndTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t qEndTsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4738,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4740
      start: 4737
    functionDepth: 1
    functionLinenumber: 4737
    functionLinenumberEnd: 4740
    functionName: winDurFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t winDurFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4743,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4745
      start: 4742
    functionDepth: 1
    functionLinenumber: 4742
    functionLinenumberEnd: 4745
    functionName: winStartTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t winStartTsFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4748,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4750
      start: 4747
    functionDepth: 1
    functionLinenumber: 4747
    functionLinenumberEnd: 4750
    functionName: winEndTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t winEndTsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4753,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4756
      start: 4752
    functionDepth: 1
    functionLinenumber: 4752
    functionLinenumberEnd: 4756
    functionName: anomalyCheckMarkFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetInt32
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyCheckMarkFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4762
      start: 4758
    functionDepth: 1
    functionLinenumber: 4758
    functionLinenumberEnd: 4762
    functionName: isWinFilledFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetInt8
    linkageType: ''
    returnType: int32_t
    signature: int32_t isWinFilledFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4765,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4773
      start: 4764
    functionDepth: 1
    functionLinenumber: 4764
    functionLinenumberEnd: 4773
    functionName: qPseudoTagFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - colDataSetNItems
    linkageType: ''
    returnType: int32_t
    signature: int32_t qPseudoTagFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4791
      start: 4776
    functionDepth: 1
    functionLinenumber: 4776
    functionLinenumberEnd: 4791
    functionName: countScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t countScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4797,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4800,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4805,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4820,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4835,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4848,1
    - Dst: SDecimalOps*::add
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4849,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4849,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4852,1
    - Dst: SDecimalOps*::add
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4853,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4853,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4859,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4864
      start: 4793
    functionDepth: 2
    functionLinenumber: 4793
    functionLinenumberEnd: 4864
    functionName: sumScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_SIGNED_NUMERIC_TYPE
    - GET_PARAM_TYPE
    - getDecimalOps
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - DECIMAL_WORD_NUM
    - colDataIsNull_s
    - SDecimalOps*::add
    linkageType: ''
    returnType: int32_t
    signature: int32_t sumScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4870,1
    - Dst: SET_TYPED_DATA_MAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4874,1
    - Dst: SET_TYPED_DATA_MIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4876,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4880,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4971,1
    - Dst: SDecimalOps*::gt
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4972,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4972,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4980,1
    - Dst: SDecimalOps*::gt
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4981,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4981,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4990,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 93
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - isMinFunc
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4995
      start: 4866
    functionDepth: 2
    functionLinenumber: 4866
    functionLinenumberEnd: 4995
    functionName: doMinMaxScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - SET_TYPED_DATA_MAX
    - SDecimalOps*::gt
    - GET_PARAM_TYPE
    - getDecimalOps
    - SET_TYPED_DATA_MIN
    - DECIMAL_WORD_NUM
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t doMinMaxScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, bool isMinFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinMaxScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4999
      start: 4997
    functionDepth: 3
    functionLinenumber: 4997
    functionLinenumberEnd: 4999
    functionName: minScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doMinMaxScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t minScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinMaxScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5003
      start: 5001
    functionDepth: 3
    functionLinenumber: 5001
    functionLinenumberEnd: 5003
    functionName: maxScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - doMinMaxScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t maxScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5009,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5014,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5093,1
    - Dst: SDecimalOps*::add
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5095,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5095,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5101,1
    - Dst: SDecimalOps*::add
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5103,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5103,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5110,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5112,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5115,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5118,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5121,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5133,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 88
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5140
      start: 5005
    functionDepth: 8
    functionLinenumber: 5005
    functionLinenumberEnd: 5140
    functionName: avgScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - colDataSetNULL
    - IS_SIGNED_NUMERIC_TYPE
    - GET_PARAM_TYPE
    - decimalOp
    - getDecimalOps
    - DECIMAL_WORD_NUM
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - colDataIsNull_s
    - SDecimalOps*::add
    linkageType: ''
    returnType: int32_t
    signature: int32_t avgScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5146,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5150,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5165
      start: 5142
    functionDepth: 1
    functionLinenumber: 5142
    functionLinenumberEnd: 5165
    functionName: stdScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataIsNull_s
    - GET_PARAM_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stdScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5172,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5176,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5176,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5191
      start: 5167
    functionDepth: 1
    functionLinenumber: 5167
    functionLinenumberEnd: 5191
    functionName: corrScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_f
    - colDataSetNULL
    - GET_PARAM_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t corrScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p
    - ','
    - x
    - ','
    - y
    - ','
    - index
    - ','
    - step
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5201
      start: 5193
    functionDepth: 0
    functionLinenumber: 5193
    functionLinenumberEnd: 5201
    functionName: LEASTSQR_CAL
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEASTSQR_CAL(p, x, y, index, step)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5213,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5220,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5225,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5232,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5237,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5244,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5249,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5256,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5261,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5268,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5273,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5280,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5285,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5292,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5297,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5304,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5309,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5316,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5321,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5328,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5333,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5340,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5355,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5357,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5359,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5361,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5372,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5372,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5375,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5375,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5380,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5380,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5381,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5382,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5382,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 130
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5387
      start: 5202
    functionDepth: 1
    functionLinenumber: 5202
    functionLinenumberEnd: 5387
    functionName: leastSQRScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - varDataVal
    - GET_PARAM_TYPE
    - colDataSetVal
    - snprintf
    - isnan
    - LEASTSQR_CAL
    - colDataIsNull_s
    - varDataSetLen
    - SCL_ERR_RET
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t leastSQRScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5393,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5398,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5407,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5409,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5414
      start: 5389
    functionDepth: 1
    functionLinenumber: 5389
    functionLinenumberEnd: 5414
    functionName: percentileScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - GET_PARAM_TYPE
    - colDataSetVal
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t percentileScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: percentileScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5418
      start: 5416
    functionDepth: 2
    functionLinenumber: 5416
    functionLinenumberEnd: 5418
    functionName: apercentileScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - percentileScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t apercentileScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5424,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5427,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5428,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5432,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5442,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5443,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5446,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5447,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5452,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5455,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5460
      start: 5420
    functionDepth: 1
    functionLinenumber: 5420
    functionLinenumberEnd: 5460
    functionName: spreadScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - GET_PARAM_TYPE
    - SET_DOUBLE_VAL
    - colDataSetVal
    - GET_DOUBLE_VAL
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t spreadScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5466,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5470,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5485
      start: 5462
    functionDepth: 1
    functionLinenumber: 5462
    functionLinenumberEnd: 5485
    functionName: nonCalcScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataIsNull_s
    - GET_PARAM_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t nonCalcScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonCalcScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5489
      start: 5487
    functionDepth: 2
    functionLinenumber: 5487
    functionLinenumberEnd: 5489
    functionName: derivativeScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - nonCalcScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t derivativeScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonCalcScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5493
      start: 5491
    functionDepth: 2
    functionLinenumber: 5491
    functionLinenumberEnd: 5493
    functionName: irateScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - nonCalcScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t irateScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonCalcScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5497
      start: 5495
    functionDepth: 2
    functionLinenumber: 5495
    functionLinenumberEnd: 5497
    functionName: diffScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - nonCalcScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t diffScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonCalcScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5501
      start: 5499
    functionDepth: 2
    functionLinenumber: 5499
    functionLinenumberEnd: 5501
    functionName: fillforwardScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - nonCalcScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillforwardScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonCalcScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5505
      start: 5503
    functionDepth: 2
    functionLinenumber: 5503
    functionLinenumberEnd: 5505
    functionName: forecastScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - nonCalcScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t forecastScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avgScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5509
      start: 5507
    functionDepth: 9
    functionLinenumber: 5507
    functionLinenumberEnd: 5509
    functionName: twaScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - avgScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t twaScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avgScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5513
      start: 5511
    functionDepth: 9
    functionLinenumber: 5511
    functionLinenumberEnd: 5513
    functionName: mavgScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - avgScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t mavgScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: countScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5517
      start: 5515
    functionDepth: 2
    functionLinenumber: 5515
    functionLinenumberEnd: 5517
    functionName: hllScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - countScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t hllScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sumScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5596
      start: 5519
    functionDepth: 3
    functionLinenumber: 5519
    functionLinenumberEnd: 5596
    functionName: csumScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - sumScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t csumScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _op
    - ','
    - _lval
    - ','
    - _rval
    - ','
    - _rtype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5609
      start: 5608
    functionDepth: 0
    functionLinenumber: 5608
    functionLinenumberEnd: 5609
    functionName: STATE_COMP
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_COMP(_op, _lval, _rval, _rtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _val
    - ','
    - _type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5611
      start: 5610
    functionDepth: 0
    functionLinenumber: 5610
    functionLinenumberEnd: 5611
    functionName: GET_STATE_VAL
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_STATE_VAL(_val, _type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _op
    - ','
    - _lval
    - ','
    - _rval
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5637
      start: 5612
    functionDepth: 0
    functionLinenumber: 5612
    functionLinenumberEnd: 5637
    functionName: STATE_COMP_IMPL
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_COMP_IMPL(_op, _lval, _rval)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5640,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5642,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5644,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5646,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5648,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5650,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - opStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5657
      start: 5638
    functionDepth: 0
    functionLinenumber: 5638
    functionLinenumberEnd: 5657
    functionName: getStateOpType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: int8_t
    signature: int8_t getStateOpType(char *opStr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5660,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5662,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5666,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5671,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5676,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5681,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5686,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5691,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5696,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5701,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5706,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5711,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 4
    argNames:
    - op
    - pCol
    - index
    - pCondParam
    argTypes:
    - int8_t
    - SColumnInfoData*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5719
      start: 5659
    functionDepth: 1
    functionLinenumber: 5659
    functionLinenumberEnd: 5719
    functionName: checkStateOp
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - STATE_COMP
    - colDataGetData
    - GET_PARAM_TYPE
    linkageType: ''
    returnType: bool
    signature: bool checkStateOp(int8_t op, SColumnInfoData *pCol, int32_t index,
      SScalarParam *pCondParam)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getStateOpType
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5725,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5725,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5729,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5730,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5734,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5741,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5746
      start: 5721
    functionDepth: 1
    functionLinenumber: 5721
    functionLinenumberEnd: 5746
    functionName: stateCountScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - getStateOpType
    - colDataSetVal
    - checkStateOp
    - varDataVal
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t stateCountScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getStateOpType
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5752,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5752,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5755,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5756,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5760,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5765,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5770
      start: 5748
    functionDepth: 1
    functionLinenumber: 5748
    functionLinenumberEnd: 5770
    functionName: stateDurationScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - getStateOpType
    - colDataSetVal
    - checkStateOp
    - varDataVal
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t stateDurationScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5776,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5778,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - binTypeStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5787
      start: 5774
    functionDepth: 0
    functionLinenumber: 5774
    functionLinenumberEnd: 5787
    functionName: getHistogramBinType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int8_t
    signature: int8_t getHistogramBinType(char *binTypeStr)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5798,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5801,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5802,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5805,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5806,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5809,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5810,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5811,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5812,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5813,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5815,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5815,1
    - Dst: cJSON_IsBool
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5815,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5816,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5817,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5821,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5822,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5825,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5825,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5826,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5826,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5827,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5828,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5840,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5842,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5843,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5845,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5848,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5849,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5850,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5854,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5855,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5856,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5857,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5861,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5864,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5865,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5866,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5869,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5870,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5871,1
    - Dst: pow
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5874,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5875,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5876,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5877,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5878,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5883,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5884,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5885,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5893,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5896,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5899,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5901,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5902,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5904,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5905,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5907,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5908,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5912,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5913,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5914,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5919,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5920,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5921,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5922,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5925,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5926,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5927,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5933,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5934,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5938,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5940,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5948,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5949,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5951,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 130
    argCount: 5
    argNames:
    - bins
    - binNum
    - binDescStr
    - binType
    - normalized
    argTypes:
    - SHistoFuncBin**
    - int32_t*
    - char*
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5952
      start: 5796
    functionDepth: 1
    functionLinenumber: 5796
    functionLinenumberEnd: 5952
    functionName: getHistogramBinDesc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - cJSON_IsObject
    - cJSON_GetArraySize
    - TSWAP
    - cJSON_IsArray
    - cJSON_IsNumber
    - cJSON_IsBool
    - cJSON_GetObjectItem
    - taosMemoryFree
    - taosMemoryCalloc
    - pow
    - cJSON_Delete
    - cJSON_Parse
    - SCL_ERR_RET
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getHistogramBinDesc(SHistoFuncBin **bins, int32_t *binNum,
      char *binDescStr, int8_t binType,\n                                   bool normalized)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5962,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5962,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5962,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5964,1
    - Dst: getHistogramBinType
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5966,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5967,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5969,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5969,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5969,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5971,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5975,1
    - Dst: getHistogramBinDesc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5976,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5978,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5981,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5984,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:5988,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6011,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6011,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6017,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6017,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6021,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6021,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6025,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6026,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6026,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6031,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6033
      start: 5954
    functionDepth: 1
    functionLinenumber: 5954
    functionLinenumberEnd: 6033
    functionName: histogramScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colInfoDataEnsureCapacity
    - colDataGetData
    - GET_PARAM_TYPE
    - SCL_ERR_JRET
    - varDataLen
    - colDataSetVal
    - snprintf
    - getHistogramBinDesc
    - getHistogramBinType
    - taosMemoryFree
    - taosStrndup
    - varDataVal
    - colDataIsNull_s
    - varDataSetLen
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t histogramScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6039,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6042,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6043,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6047,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6048,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6053
      start: 6035
    functionDepth: 1
    functionLinenumber: 6035
    functionLinenumberEnd: 6053
    functionName: selectScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataGetData
    - GET_PARAM_TYPE
    - colDataSetVal
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t selectScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6057
      start: 6055
    functionDepth: 2
    functionLinenumber: 6055
    functionLinenumberEnd: 6057
    functionName: topBotScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t topBotScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6061
      start: 6059
    functionDepth: 2
    functionLinenumber: 6059
    functionLinenumberEnd: 6061
    functionName: firstLastScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t firstLastScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6065
      start: 6063
    functionDepth: 2
    functionLinenumber: 6063
    functionLinenumberEnd: 6065
    functionName: sampleScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t sampleScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6069
      start: 6067
    functionDepth: 2
    functionLinenumber: 6067
    functionLinenumberEnd: 6069
    functionName: tailScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t tailScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6073
      start: 6071
    functionDepth: 2
    functionLinenumber: 6071
    functionLinenumberEnd: 6073
    functionName: uniqueScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t uniqueScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6077
      start: 6075
    functionDepth: 2
    functionLinenumber: 6075
    functionLinenumberEnd: 6077
    functionName: modeScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t modeScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6091,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCovertParams
    - num
    argTypes:
    - SCovertScarlarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6095
      start: 6085
    functionDepth: 1
    functionLinenumber: 6085
    functionLinenumberEnd: 6095
    functionName: freeSCovertScarlarParams
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeSCovertScarlarParams(SCovertScarlarParam *pCovertParams, int32_t
      num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6100,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6103,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6105,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6111,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6116,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6122,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6123,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - pParams
    - numOfRows
    - numOfCols
    - resultColIndex
    - optr
    argTypes:
    - SCovertScarlarParam*
    - int32_t
    - int
    - int32_t*
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6134
      start: 6097
    functionDepth: 1
    functionLinenumber: 6097
    functionLinenumberEnd: 6134
    functionName: vectorCompareAndSelect
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - GET_PARAM_TYPE
    - qError
    - filterDoCompare
    - filterGetCompFunc
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorCompareAndSelect(SCovertScarlarParam *pParams, int32_t
      numOfRows, int numOfCols,\n                                      int32_t *resultColIndex,
      EOperatorType optr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6139,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6140,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6153,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6157,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6158,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6158,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6162,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6166,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6169,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6172,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6173,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6173,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6182,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6183,1
    - Dst: vectorCompareAndSelect
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6183,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6188,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6192,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6193,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6193,1
    - Dst: freeSCovertScarlarParams
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6199,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6200,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - order
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6202
      start: 6136
    functionDepth: 2
    functionLinenumber: 6136
    functionLinenumberEnd: 6202
    functionName: greatestLeastImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - GET_PARAM_BYTES
    - taosMemoryMalloc
    - colDataGetData
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - TMAX
    - qError
    - setTzCharset
    - SCL_ERR_JRET
    - vectorConvertSingleCol
    - colDataSetVal
    - vectorCompareAndSelect
    - taosMemoryFree
    - freeSCovertScarlarParams
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t greatestLeastImpl(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput, EOperatorType order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: greatestLeastImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6206
      start: 6204
    functionDepth: 3
    functionLinenumber: 6204
    functionLinenumberEnd: 6206
    functionName: greatestFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - greatestLeastImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t greatestFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: greatestLeastImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6210
      start: 6208
    functionDepth: 3
    functionLinenumber: 6208
    functionLinenumberEnd: 6210
    functionName: leastFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - greatestLeastImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t leastFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6215
      start: 6212
    functionDepth: 1
    functionLinenumber: 6212
    functionLinenumberEnd: 6215
    functionName: streamPseudoScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamPseudoScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6225,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6225,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6233,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6234,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6243,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6243,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6250,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6251,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6257,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6265,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:6265,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 5
    argNames:
    - node
    - pStRtFuncInfo
    - pWinRange
    - winRangeValid
    - type
    argTypes:
    - STimeRangeNode*
    - void*
    - STimeWindow*
    - bool*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6269
      start: 6217
    functionDepth: 1
    functionLinenumber: 6217
    functionLinenumberEnd: 6269
    functionName: streamCalcCurrWinTimeRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: 0
    functionsReached:
    - qError
    - scalarCalculate
    - qDebug
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamCalcCurrWinTimeRange(STimeRangeNode *node, void *pStRtFuncInfo,
      STimeWindow *pWinRange,\n                                   bool *winRangeValid,
      int32_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: filterRangeCompGi
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: filterRangeCompGe
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: filterRangeCompLi
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    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: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: filterRangeCompLe
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    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:48,1
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: filterRangeCompii
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    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:51,1
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: filterRangeCompee
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:54,1
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: filterRangeCompei
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:57,1
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: filterRangeCompie
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    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: 8
    BranchProfiles: []
    Callsites:
    - 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:62,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:70,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:78,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - sflag
    - eflag
    argTypes:
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 90
    functionName: filterGetRangeCompFunc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    linkageType: ''
    returnType: rangeCompFunc
    signature: rangeCompFunc filterGetRangeCompFunc(char sflag, char eflag)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - optr
    - optr2
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 130
    functionName: filterGetRangeCompFuncFromOptrs
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t filterGetRangeCompFuncFromOptrs(uint8_t optr, uint8_t optr2)
  - BBCount: 73
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 194
    argCount: 4
    argNames:
    - type
    - optr
    - comparFn
    - scalarMode
    argTypes:
    - int32_t
    - int32_t
    - int8_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 382
    functionName: filterGetCompFuncIdx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterGetCompFuncIdx(int32_t type, int32_t optr, int8_t *comparFn,
      bool scalarMode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filterGetCompFuncIdx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - func
    - type
    - optr
    argTypes:
    - __compar_fn_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: filterGetCompFunc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 1
    functionsReached:
    - filterGetCompFuncIdx
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterGetCompFunc(__compar_fn_t *func, int32_t type, int32_t
      optr)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:398,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: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: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:422,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:422,1
    - Dst: IS_SIGNED_NUMERIC_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:430,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:438,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:446,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:454,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:454,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:470,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:470,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 89
    argCount: 3
    argNames:
    - lType
    - rType
    - optr
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 481
    functionName: filterGetCompFuncEx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionName: filterCompareGroupCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE filterCompareGroupCtx(const void *pLeft, const void *pRight)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:492,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:499,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 511
    functionName: filterInitUnitsFields
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    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:520,1
    - Dst: FILTER_COPY_RA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - ra
    - r
    argTypes:
    - SFilterRangeCtx*
    - SFilterRange*
    - SFilterRangeNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 529
    functionName: filterNewRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - FILTER_COPY_RA
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE filterNewRange(SFilterRangeCtx *ctx, SFilterRange *ra,
      SFilterRangeNode **r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:534,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:538,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:544,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - type
    - options
    - ctx
    argTypes:
    - int32_t
    - int32_t
    - SFilterRangeCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 551
    functionName: filterInitRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - qError
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterInitRangeCtx(int32_t type, int32_t options, SFilterRangeCtx
      **ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SFilterRangeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 575
    functionName: filterResetRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterResetRangeCtx(SFilterRangeCtx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:578,1
    - Dst: filterResetRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:578,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - type
    - options
    argTypes:
    - SFilterRangeCtx*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 588
    functionName: filterReuseRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - filterResetRangeCtx
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterReuseRangeCtx(SFilterRangeCtx *ctx, int32_t type, int32_t
      options)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:593,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:594,1
    - Dst: getDataMin
      Src: /src/tdengine/source/libs/scalar/src/filter.c:594,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:596,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:600,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:601,1
    - Dst: getDataMax
      Src: /src/tdengine/source/libs/scalar/src/filter.c:601,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:603,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:607,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:607,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - cur
    - ra
    - notNull
    argTypes:
    - SFilterRangeCtx*
    - SFilterRange*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 614
    functionName: filterConvertRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - getDataMin
    - FILTER_SET_FLAG
    - getDataMax
    - FILTER_GET_FLAG
    - SFilterRangeCtx*::pCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterConvertRange(SFilterRangeCtx *cur, SFilterRange *ra,
      bool *notNull)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_AND_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:620,1
    - Dst: CHK_AND_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:622,1
    - Dst: SET_OR_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:626,1
    - Dst: CHK_OR_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:627,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - h
    - raOptr
    - optr
    - empty
    - all
    argTypes:
    - void*
    - uint8_t
    - int32_t
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 634
    functionName: filterAddRangeOptr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - CHK_OR_OPTR
    - FILTER_SET_FLAG
    - SET_OR_OPTR
    - SET_AND_OPTR
    - CHK_AND_OPTR
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterAddRangeOptr(void *h, uint8_t raOptr, int32_t optr, bool
      *empty, bool *all)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:640,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:641,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:642,1
    - Dst: APPEND_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:643,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:644,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:656,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:657,1
    - Dst: FREE_FROM_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:658,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:662,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:663,1
    - Dst: FREE_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:665,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:670,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:671,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:672,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:676,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:677,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:678,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:695,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:696,1
    - Dst: INSERT_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:698,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:705,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:706,1
    - Dst: APPEND_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:712,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:716,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:717,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:718,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:726,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:727,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:728,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:743,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:744,1
    - Dst: FREE_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:746,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:751,1
    - Dst: FREE_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:753,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:761,1
    - Dst: filterConvertRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:761,1
    - Dst: FREE_FROM_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:764,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:765,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:765,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:767,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 101
    argCount: 3
    argNames:
    - h
    - ra
    - optr
    argTypes:
    - void*
    - SFilterRange*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 773
    functionName: filterAddRangeImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - SIMPLE_COPY_VALUES
    - INSERT_RANGE
    - filterConvertRange
    - APPEND_RANGE
    - FILTER_SET_FLAG
    - FREE_FROM_RANGE
    - FILTER_GET_FLAG
    - filterAddRangeOptr
    - FLT_ERR_RET
    - SFilterRangeCtx*::pCompareFunc
    - FILTER_GREATER
    - FREE_RANGE
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterAddRangeImpl(void *h, SFilterRange *ra, int32_t optr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:779,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:780,1
    - Dst: getDataMin
      Src: /src/tdengine/source/libs/scalar/src/filter.c:780,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:784,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:785,1
    - Dst: getDataMax
      Src: /src/tdengine/source/libs/scalar/src/filter.c:785,1
    - Dst: filterAddRangeImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - h
    - ra
    - optr
    argTypes:
    - void*
    - SFilterRange*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 790
    functionName: filterAddRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - SIMPLE_COPY_VALUES
    - getDataMin
    - getDataMax
    - FILTER_GET_FLAG
    - filterAddRangeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterAddRange(void *h, SFilterRange *ra, int32_t optr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:797,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:808,1
    - Dst: filterAddRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - dst
    - src
    - optr
    argTypes:
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 792
    functionDepth: 4
    functionLinenumber: 792
    functionLinenumberEnd: 813
    functionName: filterAddRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterAddRange
    - fltError
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterAddRangeCtx(void *dst, void *src, int32_t optr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APPEND_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 839
    functionName: filterCopyRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - APPEND_RANGE
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterCopyRangeCtx(void *dst, void *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:844,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:848,1
    - Dst: operateVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:854,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:858,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:860,1
    - Dst: FREE_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:861,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - h
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 874
    functionName: filterFinishRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - operateVal
    - SIMPLE_COPY_VALUES
    - FILTER_SET_FLAG
    - FILTER_GET_FLAG
    - SFilterRangeCtx*::pCompareFunc
    - FREE_RANGE
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterFinishRange(void *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:877,1
    - Dst: filterFinishRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - h
    - num
    argTypes:
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 891
    functionName: filterGetRangeNum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_ERR_RET
    - filterFinishRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterGetRangeNum(void *h, int32_t *num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:894,1
    - Dst: filterFinishRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:894,1
    - Dst: FILTER_COPY_RA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:905,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - h
    - ra
    argTypes:
    - void*
    - SFilterRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 918
    functionName: filterGetRangeRes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_COPY_RA
    - qError
    - FLT_ERR_RET
    - filterFinishRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterGetRangeRes(void *h, SFilterRange *ra)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:924,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:924,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:925,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:931,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:931,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:932,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:938,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:938,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:941,1
    - Dst: filterAddRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:941,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:944,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - sctx
    - optr
    - empty
    - all
    argTypes:
    - SFilterRangeCtx*
    - void*
    - int32_t
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 920
    functionDepth: 5
    functionLinenumber: 920
    functionLinenumberEnd: 950
    functionName: filterSourceRangeFromCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    - filterAddRangeOptr
    - FLT_ERR_RET
    - filterAddRangeCtx
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterSourceRangeFromCtx(SFilterRangeCtx *ctx, void *sctx,
      int32_t optr, bool *empty, bool *all)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:963,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:970,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - h
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 977
    functionName: filterFreeRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterFreeRangeCtx(void *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:983,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:985,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:987,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:988,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:992,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:993,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - gp1
    - gp2
    - group
    argTypes:
    - SFilterGroup*
    - SFilterGroup*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 998
    functionName: filterDetachCnfGroup
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - memcpy
    - FLT_ERR_RET
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterDetachCnfGroup(SFilterGroup *gp1, SFilterGroup *gp2,
      SArray *group)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1001,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1002,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1004,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1005,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1006,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1011,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1012,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1013,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1020,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1022,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1023,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1024,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:1034,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1038,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1040,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1043,1
    - Dst: filterDetachCnfGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1043,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - group
    - left
    - right
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1048
    functionName: filterDetachCnfGroups
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - fltDebug
    - taosArrayGet
    - filterDetachCnfGroup
    - taosArrayGetSize
    - taosArrayPop
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterDetachCnfGroups(SArray *group, SArray *left, SArray *right)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fields
    - type
    - v
    argTypes:
    - SFilterFields*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1058
    functionName: filterGetFiledByDesc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterGetFiledByDesc(SFilterFields *fields, int32_t type, void
      *v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1063,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - info
    - type
    - v
    - dataLen
    - sameBuf
    argTypes:
    - SFilterInfo*
    - int32_t
    - void*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1075
    functionName: filterGetFiledByData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - qError
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterGetFiledByData(SFilterInfo *info, int32_t type, void
      *v, int32_t dataLen, bool *sameBuf)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: filterGetFiledByDesc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1089,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1090,1
    - Dst: filterGetFiledByData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1091,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1100,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1103,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1104,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1113,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1118,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1120,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1121,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1123,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1125,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1127,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1132,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1133,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1135,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1137,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1140,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1145,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1147,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 8
    argNames:
    - info
    - desc
    - data
    - type
    - fid
    - dataLen
    - freeIfExists
    - srcFlag
    argTypes:
    - SFilterInfo*
    - void*
    - void**
    - int32_t
    - SFilterFieldId*
    - int32_t
    - bool
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1155
    functionName: filterAddField
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - filterGetFiledByData
    - FILTER_SET_FLAG
    - FILTER_GET_FLAG
    - fltError
    - filterGetFiledByDesc
    - FLT_ERR_RET
    - taosHashInit
    - taosGetDefaultHashFunction
    - taosHashPut
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterAddField(SFilterInfo *info, void *desc, void **data,
      int32_t type, SFilterFieldId *fid, int32_t dataLen,\n                       bool
      freeIfExists, int16_t *srcFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1158,1
    - Dst: FILTER_GET_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1158,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - field
    - fid
    argTypes:
    - SFilterInfo*
    - SFilterField*
    - SFilterFieldId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1157
    functionDepth: 3
    functionLinenumber: 1157
    functionLinenumberEnd: 1163
    functionName: filterAddColFieldFromField
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_SET_FLAG
    - filterAddField
    - FILTER_GET_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE filterAddColFieldFromField(SFilterInfo *info, SFilterField
      *field, SFilterFieldId *fid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1167,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1171,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1171,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1172,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1179,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1187,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - info
    - node
    - fid
    argTypes:
    - SFilterInfo*
    - SNode*
    - SFilterFieldId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1165
    functionDepth: 3
    functionLinenumber: 1165
    functionLinenumberEnd: 1191
    functionName: filterAddFieldFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fltDebug
    - FLT_ERR_RET
    - filterAddField
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterAddFieldFromNode(SFilterInfo *info, SNode *node, SFilterFieldId
      *fid)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1195,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1197,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1198,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1200,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1201,1
    - Dst: FLT_PACKAGE_UNIT_HASH_KEY
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1205,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1206,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1218,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1223,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1239,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1240,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1241,1
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1245,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1247,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1247,1
    - Dst: FILTER_UNIT_LEFT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1252,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1253,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1254,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1258,1
    - Dst: FILTER_GET_COL_FIELD_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1259,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1263,1
    - Dst: FLT_PACKAGE_UNIT_HASH_KEY
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1265,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1266,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1267,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1268,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 7
    argNames:
    - info
    - optr
    - left
    - right
    - optr2
    - right2
    - uidx
    argTypes:
    - SFilterInfo*
    - uint8_t
    - SFilterFieldId*
    - SFilterFieldId*
    - uint8_t
    - SFilterFieldId*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1275
    functionName: filterAddUnitImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_COL_FIELD_PRECISION
    - FILTER_GET_COL_FIELD_TYPE
    - taosHashGet
    - operatorTypeStr
    - scalarGetOperatorParamNum
    - FILTER_UNIT_LEFT_FIELD
    - taosHashInit
    - FILTER_GET_FLAG
    - fltError
    - FLT_ERR_RET
    - memset
    - taosGetDefaultHashFunction
    - FILTER_UNIT_RIGHT_FIELD
    - FLT_PACKAGE_UNIT_HASH_KEY
    - taosHashPut
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterAddUnitImpl(SFilterInfo *info, uint8_t optr, SFilterFieldId
      *left, SFilterFieldId *right, uint8_t optr2,\n                          SFilterFieldId
      *right2, uint32_t *uidx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filterAddUnitImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - info
    - optr
    - left
    - right
    - uidx
    argTypes:
    - SFilterInfo*
    - uint8_t
    - SFilterFieldId*
    - SFilterFieldId*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1279
    functionName: filterAddUnit
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterAddUnitImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterAddUnit(SFilterInfo *info, uint8_t optr, SFilterFieldId
      *left, SFilterFieldId *right, uint32_t *uidx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - group
    - unitIdx
    argTypes:
    - SFilterGroup*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1295
    functionName: filterAddUnitToGroup
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterAddUnitToGroup(SFilterGroup *group, uint32_t unitIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1303,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1305
    functionName: filterFreeGroup
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void filterFreeGroup(void *pItem)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1312,1
    - Dst: filterAddFieldFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1312,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1313,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1313,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1318,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1321,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1330,1
    - Dst: sclConvertValueToSclParam
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1334,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1347,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1353,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1358,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1358,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1359,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1364,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1369,1
    - Dst: filterFreeGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1371,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1374,1
    - Dst: filterFreeGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1375,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1383,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1384,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1385,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1387,1
    - Dst: filterAddFieldFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1387,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1389,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1389,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1391,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1391,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1393,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1394,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 4
    argNames:
    - pContext
    - info
    - tree
    - group
    argTypes:
    - void*
    - SFilterInfo*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1307
    functionDepth: 4
    functionLinenumber: 1307
    functionLinenumberEnd: 1399
    functionName: fltAddGroupUnitFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - sclConvertValueToSclParam
    - taosArrayPush
    - memcpy
    - filterAddField
    - FILTER_GET_COL_FIELD_TYPE
    - filterFreeGroup
    - FOREACH
    - nodesGetValueFromNode
    - taosMemoryFree
    - FLT_ERR_RET
    - colDataDestroy
    - filterAddUnit
    - filterAddFieldFromNode
    - FILTER_GET_FIELD
    - filterAddUnitToGroup
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltAddGroupUnitFromNode(void *pContext, SFilterInfo *info,
      SNode *tree, SArray *group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1403,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1406,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1406,1
    - Dst: FILTER_UNIT_COL_DESC
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1406,1
    - Dst: FILTER_UNIT_LEFT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1407,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1410,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1411,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1413,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1414,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1415,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1415,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1418,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1419,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1421,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1421,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1421,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1424,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1425,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1431,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - dst
    - src
    - u
    - uidx
    argTypes:
    - SFilterInfo*
    - SFilterInfo*
    - SFilterUnit*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1401
    functionDepth: 3
    functionLinenumber: 1401
    functionLinenumberEnd: 1432
    functionName: filterAddUnitFromUnit
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterAddField
    - FILTER_UNIT_VAL_DATA
    - varDataTLen
    - FILTER_UNIT_COL_DESC
    - FILTER_SET_FLAG
    - FILTER_UNIT_LEFT_FIELD
    - FLT_ERR_RET
    - filterAddUnit
    - FILTER_UNIT_RIGHT_FIELD
    - FILTER_GET_FIELD
    - FILTER_UNIT_OPTR
    - FILTER_UNIT_DATA_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterAddUnitFromUnit(SFilterInfo *dst, SFilterInfo *src, SFilterUnit
      *u, uint32_t *uidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - info
    - optr
    - right
    - uidx
    argTypes:
    - SFilterInfo*
    - uint8_t
    - SFilterFieldId*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1440
    functionName: filterAddUnitRight
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterAddUnitRight(SFilterInfo *info, uint8_t optr, SFilterFieldId
      *right, uint32_t uidx)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_COL_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1447,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1449,1
    - Dst: filterAddColFieldFromField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1449,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1451,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1451,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1456,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1458,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1460,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1460,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1461,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1461,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1467,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1469,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1471,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1471,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1472,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1472,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1478,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1480,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1486,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1487,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1492,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:1493,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1494,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1494,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1495,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1498,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1498,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1499,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1501,1
    - Dst: func
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1503,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1504,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1506,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1508,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1509,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1509,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1510,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1510,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1511,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1511,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1514,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1516,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1518,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:1519,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1520,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1522,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1524,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1525,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1525,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1527,1
    - Dst: filterAddUnitImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1527,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1528,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1529,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1531,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1531,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1536,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1537,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1539,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1541,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1542,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1542,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1543,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1543,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1544,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1546,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1546,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1549,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1550,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1552,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1554,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1555,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1555,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1556,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1557,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1557,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1559,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1559,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1571,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1573,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1577,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1577,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1578,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1578,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1579,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:1586,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1588,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1590,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1592,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1592,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1593,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1593,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1594,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1595,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1601,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1603,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1612,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1614,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1614,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1615,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1617,1
    - Dst: func
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1619,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1620,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1622,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1624,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1625,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1625,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1626,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1626,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1627,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1627,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1629,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1631,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1633,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1634,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1634,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1635,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1637,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1639,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1640,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1640,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1642,1
    - Dst: filterAddUnitImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1642,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1643,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1644,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1646,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1646,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1649,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1650,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1658,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1659,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1661,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1663,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1664,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1664,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1665,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1665,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1666,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1668,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1668,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1671,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1672,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1674,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1676,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1677,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1677,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1678,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1679,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1679,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1681,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1681,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1685,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1686,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1689,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1690,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 180
    argCount: 7
    argNames:
    - dst
    - src
    - ctx
    - cidx
    - g
    - optr
    - res
    argTypes:
    - SFilterInfo*
    - SFilterInfo*
    - SFilterRangeCtx*
    - uint32_t
    - SFilterGroup*
    - int32_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1442
    functionDepth: 4
    functionLinenumber: 1442
    functionLinenumberEnd: 1699
    functionName: filterAddGroupUnitFromCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - SIMPLE_COPY_VALUES
    - filterAddField
    - FILTER_GET_COL_FIELD_TYPE
    - func
    - filterAddColFieldFromField
    - FILTER_GET_COL_FIELD
    - filterAddUnitImpl
    - FILTER_GET_FLAG
    - fltError
    - memset
    - FLT_ERR_RET
    - filterAddUnit
    - getComparFunc
    - FILTER_GET_FIELD
    - filterAddUnitToGroup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterAddGroupUnitFromCtx(SFilterInfo *dst, SFilterInfo *src,
      SFilterRangeCtx *ctx, uint32_t cidx,\n                                  SFilterGroup
      *g, int32_t optr, SArray *res)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1706,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1709,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1714,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1716,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1718,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1720,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1724,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1725,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1728,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1730,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1734,1
    - Dst: filterDetachCnfGroups
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1734,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1736,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1738,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1746,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1747,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1751,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1759,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1763,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1771,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1773,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1777,1
    - Dst: fltAddGroupUnitFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1777,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1784,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1786,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1791,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1791,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1797,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1798,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1799,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1701
    functionDepth: 5
    functionLinenumber: 1701
    functionLinenumberEnd: 1804
    functionName: fltTreeToGroup
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_ERR_JRET
    - taosArrayDestroyEx
    - fltAddGroupUnitFromNode
    - FILTER_SET_FLAG
    - taosArrayAddAll
    - nodesWalkExpr
    - nodeType
    - fltError
    - FLT_ERR_RET
    - taosArrayInit
    - filterDetachCnfGroups
    - taosArrayDestroy
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes fltTreeToGroup(SNode *pNode, void *pContext)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1811,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1815,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1819,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1823,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1827,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1832,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1836,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1836,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1840,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1840,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1853,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1859,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1863,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1867,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1871,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 6
    argNames:
    - str
    - strMaxLen
    - type
    - buf
    - bufSize
    - len
    argTypes:
    - char*
    - int32_t
    - int
    - void*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1882
    functionName: fltConverToStr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - snprintf
    - memcpy
    - GET_DOUBLE_VAL
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltConverToStr(char *str, int32_t strMaxLen, int type, void
      *buf, int32_t bufSize, int32_t *len)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1887,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1892,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1893,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1897,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1900,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1904,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1905,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1911,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1913,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1917,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1920,1
    - Dst: FILTER_UNIT_LEFT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1925,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1928,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1929,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1932,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1933,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1935,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1936,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1937,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1940,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1945,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1945,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1949,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1952,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1956,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1959,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1960,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1963,1
    - Dst: FILTER_UNIT_RIGHT2_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1964,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1966,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1967,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1968,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1972,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1976,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1976,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1979,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1982,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1986,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1989,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1990,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1993,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1996,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2004,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2006,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2009,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:2018,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2021,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2021,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2022,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2024,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2025,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2027,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2027,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2028,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2031,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2033,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2034,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2037,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2037,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2038,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2040,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2041,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2043,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2043,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2044,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:2057,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2059,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2060,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2062,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2063,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2065,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2066,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2069,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2072,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2075,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 145
    argCount: 3
    argNames:
    - info
    - msg
    - options
    argTypes:
    - SFilterInfo*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 1884
    functionDepth: 1
    functionLinenumber: 1884
    functionLinenumberEnd: 2080
    functionName: filterDumpInfoToString
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - strncat
    - TMIN
    - operatorTypeStr
    - nodeType
    - FLT_ERR_RET
    - FILTER_UNIT_DATA_TYPE
    - blobDataLen
    - FILTER_UNIT_RIGHT2_FIELD
    - varDataLen
    - FILTER_UNIT_LEFT_FIELD
    - FILTER_GET_FLAG
    - FILTER_UNIT_RIGHT_FIELD
    - tsnprintf
    - qDebug
    - fltConverToStr
    - fltDebug
    - IS_STR_DATA_BLOB
    - FILTER_UNIT_OPTR
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterDumpInfoToString(SFilterInfo *info, const char *msg,
      int32_t options)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2092,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2094,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2082
    functionDepth: 1
    functionLinenumber: 2082
    functionLinenumberEnd: 2101
    functionName: filterFreeColInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - filterFreeRangeCtx
    linkageType: ''
    returnType: void
    signature: void filterFreeColInfo(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2109
    functionName: filterFreeColCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterFreeRangeCtx
    linkageType: ''
    returnType: void
    signature: void filterFreeColCtx(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2116,1
    - Dst: filterFreeColInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2122,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2129,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - gRes
    argTypes:
    - SFilterGroupCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2111
    functionDepth: 2
    functionLinenumber: 2111
    functionLinenumberEnd: 2131
    functionName: filterFreeGroupCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - filterFreeColInfo
    linkageType: ''
    returnType: void
    signature: void filterFreeGroupCtx(SFilterGroupCtx *gRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2138,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2139,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2140,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - field
    - type
    argTypes:
    - SFilterField*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2145
    functionName: filterFreeField
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_FLAG
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void filterFreeField(SFilterField *field, int32_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2148,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - SFilterPCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2147
    functionDepth: 1
    functionLinenumber: 2147
    functionLinenumberEnd: 2150
    functionName: filterFreePCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void filterFreePCtx(SFilterPCtx *pctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2157,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2158,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2159,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2160,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2162,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2164,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:2166,1
    - Dst: filterFreeField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2170,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:2177,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2180,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2182,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2184,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2186,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2189,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2192,1
    - Dst: filterFreePCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2194,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2196,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2152
    functionDepth: 2
    functionLinenumber: 2152
    functionLinenumberEnd: 2199
    functionName: filterFreeInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 19
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - FILTER_GET_FLAG
    - filterFreeRangeCtx
    - taosArrayGetSize
    - filterFreeField
    - filterFreePCtx
    - taosArrayDestroy
    - nodesDestroyNode
    - filterFreeGroup
    linkageType: ''
    returnType: void
    signature: void filterFreeInfo(SFilterInfo *info)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2203,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2207,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - unit
    - extInfo
    argTypes:
    - SFilterUnit*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2201
    functionDepth: 1
    functionLinenumber: 2201
    functionLinenumberEnd: 2226
    functionName: filterHandleValueExtInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltError
    - FILTER_UNIT_OPTR
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterHandleValueExtInfo(SFilterUnit *unit, char extInfo)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2232,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2233,1
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2234,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2240,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2242,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2243,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2247,1
    - Dst: FILTER_UNIT_DATA_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2248,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2253,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2261,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2261,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2263,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2264,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2267,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2272,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2273,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2273,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2278,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2284,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2285,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2287,1
    - Dst: assignVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2289,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2289,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2291,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2293,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2297,1
    - Dst: sclConvertValueToSclParam
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2302,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2304,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2305,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2306,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2311,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2312,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2312,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2312,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2314,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2317,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2319,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2323,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2324,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2324,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2324,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2329,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2331,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2332,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2338,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2338,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2338,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2338,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2340,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2343,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2344,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2228
    functionDepth: 1
    functionLinenumber: 2228
    functionLinenumberEnd: 2349
    functionName: fltInitValFieldData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - scalarGenerateSetFromList
    - qError
    - varDataCopy
    - nodeType
    - fltError
    - FLT_ERR_RET
    - colDataDestroy
    - FILTER_UNIT_DATA_TYPE
    - sclConvertValueToSclParam
    - taosUcs4ToMbs
    - memcpy
    - varDataLen
    - FILTER_GET_FLAG
    - varDataVal
    - assignVal
    - FILTER_UNIT_RIGHT_FIELD
    - taosMemoryCalloc
    - nodesGetValueFromNode
    - FILTER_UNIT_DATA_PRECISION
    - scalarGetOperatorParamNum
    - varDataSetLen
    - blobDataTLen
    - varDataTLen
    - TMAX
    - FILTER_SET_FLAG
    - IS_STR_DATA_BLOB
    - taosMemoryFree
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltInitValFieldData(SFilterInfo *info)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2352,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 4
    argNames:
    - func
    - optr
    - left
    - right
    argTypes:
    - __compar_fn_t
    - uint8_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2351
    functionDepth: 1
    functionLinenumber: 2351
    functionLinenumberEnd: 2398
    functionName: filterDoCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 1
    functionsReached:
    - fltError
    - func
    linkageType: ''
    returnType: bool
    signature: bool filterDoCompare(__compar_fn_t func, uint8_t optr, void *left,
      void *right)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2401,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2402,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2403,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2409,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2410,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2411,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2414,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2415,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2418,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2419,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2420,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2423,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2424,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2428,1
    - Dst: GET_INT8_VAL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2431,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2432,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2433,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2436,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2437,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2441,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2442,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2445,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2449,1
    - Dst: filterAddRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2449,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 4
    argNames:
    - info
    - u
    - ctx
    - optr
    argTypes:
    - SFilterInfo*
    - SFilterUnit*
    - SFilterRangeCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2400
    functionDepth: 4
    functionLinenumber: 2400
    functionLinenumberEnd: 2452
    functionName: filterAddUnitRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - SIMPLE_COPY_VALUES
    - FILTER_UNIT_VAL_DATA
    - FILTER_SET_FLAG
    - fltError
    - GET_INT8_VAL
    - FLT_ERR_RET
    - filterAddRange
    - FILTER_UNIT_OPTR
    - FILTER_UNIT_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterAddUnitRange(SFilterInfo *info, SFilterUnit *u, SFilterRangeCtx
      *ctx, int32_t optr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2455,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2456,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2457,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2458,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2464,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2465,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2466,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2467,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - ctx1
    - ctx2
    - equal
    argTypes:
    - SFilterRangeCtx*
    - SFilterRangeCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2454
    functionDepth: 1
    functionLinenumber: 2454
    functionLinenumberEnd: 2482
    functionName: filterCompareRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterCompareRangeCtx(SFilterRangeCtx *ctx1, SFilterRangeCtx
      *ctx2, bool *equal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2486,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2490,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2490,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2493,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2495,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2497,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2499,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2499,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2500,1
    - Dst: FILTER_NO_MERGE_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2502,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2503,1
    - Dst: filterAddUnitRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2503,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2504,1
    - Dst: MR_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2504,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2506,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2506,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2506,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2508,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2508,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2512,1
    - Dst: FILTER_PUSH_CTX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2514,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - info
    - gRes
    - colIdx
    - empty
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx*
    - uint32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2484
    functionDepth: 5
    functionLinenumber: 2484
    functionLinenumberEnd: 2525
    functionName: filterMergeUnits
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    - filterAddUnitRange
    - FLT_ERR_JRET
    - SIMPLE_COPY_VALUES
    - FILTER_UNIT_VAL_DATA
    - FILTER_NO_MERGE_DATA_TYPE
    - FILTER_NO_MERGE_OPTR
    - FILTER_PUSH_CTX
    - filterAddRangeOptr
    - MR_EMPTY_RES
    - taosArrayGetSize
    - filterInitRangeCtx
    - FLT_ERR_RET
    - filterFreeRangeCtx
    - taosArrayDestroy
    - FILTER_UNIT_OPTR
    - taosArrayGetP
    - FILTER_UNIT_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterMergeUnits(SFilterInfo *info, SFilterGroupCtx *gRes,
      uint32_t colIdx, bool *empty)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2532,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2534,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2539,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2541,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2543,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2545,1
    - Dst: FILTER_GROUP_UNIT
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2551,1
    - Dst: FILTER_UNIT_COL_IDX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2552,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2555,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2557,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2562,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2562,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2563,1
    - Dst: FILTER_PUSH_UNIT
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2567,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2571,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2573,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2575,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2581,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2584,1
    - Dst: filterMergeUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2584,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2592,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2593,1
    - Dst: FILTER_COPY_IDX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2600,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2606,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2611,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2613,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2614,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2527
    functionDepth: 6
    functionLinenumber: 2527
    functionLinenumberEnd: 2615
    functionName: filterMergeGroupUnits
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_ERR_JRET
    - FILTER_UNIT_COL_IDX
    - taosMemoryFreeClear
    - filterMergeUnits
    - FLT_RET
    - FILTER_PUSH_UNIT
    - FILTER_NO_MERGE_DATA_TYPE
    - FLT_ERR_RET
    - taosSort
    - FILTER_UNIT_DATA_TYPE
    - FILTER_COPY_IDX
    - SCL_ERR_JRET
    - filterFreeGroupCtx
    - taosMemoryCalloc
    - FILTER_GROUP_UNIT
    - taosMemoryMalloc
    - FILTER_SET_FLAG
    - taosArrayInit
    - getComparFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterMergeGroupUnits(SFilterInfo *info, SFilterGroupCtx **gRes,
      int32_t *gResNum)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - pCol1
    - pCol2
    argTypes:
    - SFilterColInfo*
    - SFilterColInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2617
    functionDepth: 0
    functionLinenumber: 2617
    functionLinenumberEnd: 2653
    functionName: filterIsSameUnits
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filterIsSameUnits(SFilterColInfo *pCol1, SFilterColInfo *pCol2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2675,1
    - Dst: filterIsSameUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2680,1
    - Dst: SFilterRangeCtx*::pCompareFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2688,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - gRes1
    - gRes2
    - conflict
    argTypes:
    - SFilterGroupCtx*
    - SFilterGroupCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2655
    functionDepth: 1
    functionLinenumber: 2655
    functionLinenumberEnd: 2707
    functionName: filterCheckColConflict
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterIsSameUnits
    - FILTER_NO_MERGE_DATA_TYPE
    - SFilterRangeCtx*::pCompareFunc
    linkageType: ''
    returnType: void
    signature: void filterCheckColConflict(SFilterGroupCtx *gRes1, SFilterGroupCtx
      *gRes2, bool *conflict)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_COL_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2711,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2712,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2715,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2715,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2717,1
    - Dst: filterReuseRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2717,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2721,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2726,1
    - Dst: filterCopyRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2726,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2727,1
    - Dst: filterSourceRangeFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 8
    argNames:
    - info
    - ctx
    - optr
    - cidx
    - gRes1
    - gRes2
    - empty
    - all
    argTypes:
    - SFilterInfo*
    - SFilterRangeCtx**
    - int32_t
    - uint32_t
    - SFilterGroupCtx*
    - SFilterGroupCtx*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2709
    functionDepth: 6
    functionLinenumber: 2709
    functionLinenumberEnd: 2730
    functionName: filterMergeTwoGroupsImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterReuseRangeCtx
    - FILTER_GET_COL_FIELD_TYPE
    - FILTER_GET_COL_FIELD
    - fltError
    - FLT_ERR_RET
    - filterInitRangeCtx
    - filterSourceRangeFromCtx
    - filterCopyRangeCtx
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterMergeTwoGroupsImpl(SFilterInfo *info, SFilterRangeCtx
      **ctx, int32_t optr, uint32_t cidx,\n                                 SFilterGroupCtx
      *gRes1, SFilterGroupCtx *gRes2, bool *empty, bool *all)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: filterCheckColConflict
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2735,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2740,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2749,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2751,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2765,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2766,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2771,1
    - Dst: filterMergeTwoGroupsImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2771,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2773,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2780,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2781,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2785,1
    - Dst: filterCompareRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2785,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2790,1
    - Dst: filterCompareRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2790,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2795,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2799,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2800,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2804,1
    - Dst: filterCompareRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2804,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2809,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2813,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2814,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2824,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2825,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2828,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2831,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2832,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2832,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2833,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2836,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2840,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2842,1
    - Dst: filterFreeColInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2846,1
    - Dst: FILTER_PUSH_CTX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2847,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2850,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2857,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2858,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2860,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2864,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 4
    argNames:
    - info
    - gRes1
    - gRes2
    - all
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - SFilterGroupCtx**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2732
    functionDepth: 7
    functionLinenumber: 2732
    functionLinenumberEnd: 2867
    functionName: filterMergeTwoGroups
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    - taosArrayPush
    - filterCompareRangeCtx
    - FLT_ERR_JRET
    - filterCheckColConflict
    - taosArrayGet
    - filterFreeColInfo
    - taosArrayDestroyEx
    - FILTER_SET_FLAG
    - filterFreeGroupCtx
    - FILTER_PUSH_CTX
    - fltError
    - filterFreeRangeCtx
    - taosArrayGetSize
    - taosArrayInit
    - filterMergeTwoGroupsImpl
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterMergeTwoGroups(SFilterInfo *info, SFilterGroupCtx **gRes1,
      SFilterGroupCtx **gRes2, bool *all)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosSort
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2874,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2896,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2897,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2899,1
    - Dst: filterMergeTwoGroups
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2899,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2901,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2905,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2920,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2921,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2923,1
    - Dst: filterMergeTwoGroups
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2923,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2925,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2929,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2957,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2869
    functionDepth: 8
    functionLinenumber: 2869
    functionLinenumberEnd: 2960
    functionName: filterMergeGroups
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    - FLT_ERR_JRET
    - FILTER_SET_FLAG
    - filterMergeTwoGroups
    - fltError
    - memmove
    - taosSort
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterMergeGroups(SFilterInfo *info, SFilterGroupCtx **gRes,
      int32_t *gResNum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2963,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2969,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2971,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2976,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2978,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2980,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - info
    - group
    argTypes:
    - SFilterInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2962
    functionDepth: 1
    functionLinenumber: 2962
    functionLinenumberEnd: 2992
    functionName: filterConvertGroupFromArray
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_ERR_JRET
    - taosMemoryCalloc
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterConvertGroupFromArray(SFilterInfo *info, SArray *group)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2995,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2996,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3002,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3004,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3011,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3015,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3023,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3025,1
    - Dst: filterInitUnitsFields
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3025,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3033,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3035,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3036,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3038,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3041,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3043,1
    - Dst: filterAddUnitFromUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3045,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3046,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3047,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3048,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3055,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3056,1
    - Dst: filterAddGroupUnitFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3059,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3060,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3064,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3065,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3070,1
    - Dst: filterConvertGroupFromArray
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3070,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3072,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3074,1
    - Dst: filterFreeGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3078,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3080,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3082,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3084,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3085
      start: 2994
    functionDepth: 5
    functionLinenumber: 2994
    functionLinenumberEnd: 3085
    functionName: filterRewrite
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - FLT_ERR_JRET
    - FLT_RET
    - FILTER_NO_MERGE_DATA_TYPE
    - memset
    - fltError
    - taosArrayDestroy
    - taosArrayGetP
    - FILTER_GET_FLAG
    - taosArrayGetSize
    - filterAddUnitToGroup
    - filterFreeGroup
    - filterAddGroupUnitFromCtx
    - filterAddUnitFromUnit
    - qDebug
    - taosArrayDestroyEx
    - filterInitUnitsFields
    - FILTER_SET_FLAG
    - filterFreeInfo
    - taosArrayInit
    - filterConvertGroupFromArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterRewrite(SFilterInfo *info, SFilterGroupCtx **gRes, int32_t
      gResNum)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3092,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3094,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3099,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3113,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3114,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3118,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3120,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3127,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3130,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3133,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3147,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3148,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3153,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3153,1
    - Dst: FILTER_GET_COL_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3154,1
    - Dst: FILTER_GET_COL_FIELD_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3155,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3159,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3160,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3164,1
    - Dst: filterSourceRangeFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3164,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3166,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3169,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3170,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3176,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3186,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3187,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 3087
    functionDepth: 6
    functionLinenumber: 3087
    functionLinenumberEnd: 3190
    functionName: filterGenerateColRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    - FLT_ERR_JRET
    - taosMemoryFreeClear
    - SCL_ERR_JRET
    - FILTER_GET_COL_FIELD_ID
    - FILTER_NO_MERGE_DATA_TYPE
    - FILTER_GET_COL_FIELD
    - fltError
    - filterFreeRangeCtx
    - filterInitRangeCtx
    - memmove
    - filterSourceRangeFromCtx
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterGenerateColRange(SFilterInfo *info, SFilterGroupCtx **gRes,
      int32_t gResNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filterGetRangeCompFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3192
    functionDepth: 2
    functionLinenumber: 3192
    functionLinenumberEnd: 3203
    functionName: filterPostProcessRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterGetRangeCompFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterPostProcessRange(SFilterInfo *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3206,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3207,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3208,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3216,1
    - Dst: filterGetCompFuncIdx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3216,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3216,1
    - Dst: filterGetRangeCompFuncFromOptrs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3217,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3218,1
    - Dst: FILTER_UNIT_COL_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3220,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3223,1
    - Dst: FILTER_GET_VAL_FIELD_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3228,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3228,1
    - Dst: FILTER_UNIT_COL_SIZE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3233,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3205
    functionDepth: 1
    functionLinenumber: 3205
    functionLinenumberEnd: 3238
    functionName: filterGenerateComInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - FILTER_UNIT_VAL_DATA
    - FILTER_GET_VAL_FIELD_DATA
    - filterGetRangeCompFuncFromOptrs
    - filterGetCompFuncIdx
    - FILTER_UNIT_COL_ID
    - FILTER_UNIT_COL_SIZE
    - FLT_ERR_RET
    - FILTER_GET_FIELD
    - FILTER_UNIT_OPTR
    - FILTER_UNIT_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterGenerateComInfo(SFilterInfo *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_UNIT_LEFT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3249
      start: 3240
    functionDepth: 1
    functionLinenumber: 3240
    functionLinenumberEnd: 3249
    functionName: filterUpdateComUnits
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_UNIT_LEFT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterUpdateComUnits(SFilterInfo *info)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3254,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3260,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3334,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3335,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3345,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3346,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3353,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3354,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3370,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3371,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3412,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3413,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3417,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3419,1
    - Dst: FILTER_CLR_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3431,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3432,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3437,1
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3437,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 137
    argCount: 4
    argNames:
    - info
    - pDataStatis
    - numOfCols
    - numOfRows
    argTypes:
    - SFilterInfo*
    - SColumnDataAgg*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3440
      start: 3251
    functionDepth: 2
    functionLinenumber: 3251
    functionLinenumberEnd: 3440
    functionName: filterRmUnitByRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltDebug
    - FLT_RET
    - FILTER_CLR_FLAG
    - FILTER_NO_MERGE_DATA_TYPE
    - FILTER_SET_FLAG
    - filterDumpInfoToString
    - memset
    - filterDoCompare
    - fltError
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterRmUnitByRange(SFilterInfo *info, SColumnDataAgg *pDataStatis,
      int32_t numOfCols, int32_t numOfRows)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3459,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3466,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3477,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3502
      start: 3442
    functionDepth: 2
    functionLinenumber: 3442
    functionLinenumberEnd: 3502
    functionName: filterExecuteBasedOnStatisImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - filterDoCompare
    - colDataGetData
    - colDataIsNull
    linkageType: ''
    returnType: bool
    signature: "bool filterExecuteBasedOnStatisImpl(void *pinfo, int32_t numOfRows,
      SColumnInfoData *pRes, SColumnDataAgg *statis,\n                                    int16_t
      numOfCols)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3511,1
    - Dst: filterRmUnitByRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3511,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3514,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3517,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3523,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3524,1
    - Dst: filterExecuteBasedOnStatisImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3527,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3533,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3538,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 7
    argNames:
    - info
    - numOfRows
    - p
    - statis
    - numOfCols
    - all
    - result
    argTypes:
    - SFilterInfo*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - bool*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3539
      start: 3504
    functionDepth: 3
    functionLinenumber: 3504
    functionLinenumberEnd: 3539
    functionName: filterExecuteBasedOnStatis
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_ERR_JRET
    - FLT_RET
    - FILTER_GET_FLAG
    - fltError
    - filterExecuteBasedOnStatisImpl
    - filterRmUnitByRange
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterExecuteBasedOnStatis(SFilterInfo *info, int32_t numOfRows,
      SColumnInfoData *p, SColumnDataAgg *statis,\n                                   int16_t
      numOfCols, bool *all, int32_t *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - info
    - numOfRows
    - p
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3546
      start: 3541
    functionDepth: 1
    functionLinenumber: 3541
    functionLinenumberEnd: 3546
    functionName: filterExecuteImplAll
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE filterExecuteImplAll(void *info, int32_t numOfRows, SColumnInfoData
      *p,\n                                                 SColumnDataAgg *statis,
      int16_t numOfCols, int32_t *numOfQualified,\n                                                 bool
      *all)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - info
    - numOfRows
    - p
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3553
      start: 3548
    functionDepth: 1
    functionLinenumber: 3548
    functionLinenumberEnd: 3553
    functionName: filterExecuteImplEmpty
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE filterExecuteImplEmpty(void *info, int32_t numOfRows,
      SColumnInfoData *p,\n                                                   SColumnDataAgg
      *statis, int16_t numOfCols, int32_t *numOfQualified,\n                                                   bool
      *all)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3563,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3563,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3565,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3571,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3580
      start: 3555
    functionDepth: 4
    functionLinenumber: 3555
    functionLinenumberEnd: 3580
    functionName: filterExecuteImplIsNull
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - colDataIsNull
    - FLT_ERR_RET
    - FLT_RET
    - filterExecuteBasedOnStatis
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE filterExecuteImplIsNull(void *pinfo, int32_t numOfRows,
      SColumnInfoData *pRes,\n                                                    SColumnDataAgg
      *statis, int16_t numOfCols, int32_t *numOfQualified,\n                                                    bool
      *all)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3589,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3589,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3591,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3599,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3608
      start: 3582
    functionDepth: 4
    functionLinenumber: 3582
    functionLinenumberEnd: 3608
    functionName: filterExecuteImplNotNull
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - colDataIsNull
    - FLT_ERR_RET
    - FLT_RET
    - filterExecuteBasedOnStatis
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE filterExecuteImplNotNull(void *pinfo, int32_t numOfRows,
      SColumnInfoData *pRes,\n                                                     SColumnDataAgg
      *statis, int16_t numOfCols, int32_t *numOfQualified,\n                                                     bool
      *all)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3621,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3621,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3623,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3631,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3634,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3638,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 7
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3649
      start: 3610
    functionDepth: 4
    functionLinenumber: 3610
    functionLinenumberEnd: 3649
    functionName: filterExecuteImplRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - FLT_RET
    - colDataGetData
    - filterExecuteBasedOnStatis
    - FLT_ERR_RET
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterExecuteImplRange(void *pinfo, int32_t numOfRows, SColumnInfoData
      *pRes, SColumnDataAgg *statis,\n                               int16_t numOfCols,
      int32_t *numOfQualified, bool *all)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3657,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3657,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3659,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3666,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3668,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3673,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3677,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3679,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3681,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3681,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3681,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3681,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3683,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3684,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3685,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3687,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3688,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3691,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3693,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3704,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 7
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3705
      start: 3651
    functionDepth: 4
    functionLinenumber: 3651
    functionLinenumberEnd: 3705
    functionName: filterExecuteImplMisc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosUcs4ToMbs
    - taosMemoryFreeClear
    - FLT_RET
    - colDataGetData
    - qError
    - filterExecuteBasedOnStatis
    - varDataLen
    - filterDoCompare
    - FLT_ERR_RET
    - varDataVal
    - colDataIsNull_s
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterExecuteImplMisc(void *pinfo, int32_t numOfRows, SColumnInfoData
      *pRes, SColumnDataAgg *statis,\n                              int16_t numOfCols,
      int32_t *numOfQualified, bool *all)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3713,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3713,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3715,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3729,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3736,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3745,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3759,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3761,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3764,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3764,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3764,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3764,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3766,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3767,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3768,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3770,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3771,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3773,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3775,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3800,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 7
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3801
      start: 3707
    functionDepth: 4
    functionLinenumber: 3707
    functionLinenumberEnd: 3801
    functionName: filterExecuteImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosUcs4ToMbs
    - taosMemoryFreeClear
    - FLT_RET
    - colDataGetData
    - qError
    - filterExecuteBasedOnStatis
    - varDataLen
    - filterDoCompare
    - FLT_ERR_RET
    - colDataIsNull
    - varDataVal
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterExecuteImpl(void *pinfo, int32_t numOfRows, SColumnInfoData
      *pRes, SColumnDataAgg *statis,\n                          int16_t numOfCols,
      int32_t *numOfQualified, bool *all)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_ALL_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3804,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3809,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3836
      start: 3803
    functionDepth: 1
    functionLinenumber: 3803
    functionLinenumberEnd: 3836
    functionName: filterSetExecFunc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_ALL_RES
    - FILTER_EMPTY_RES
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterSetExecFunc(SFilterInfo *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3841,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3843,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3846,1
    - Dst: filterMergeGroupUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3846,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3848,1
    - Dst: filterMergeGroups
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3848,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3850,1
    - Dst: fltInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3851,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3855,1
    - Dst: fltInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3856,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3860,1
    - Dst: filterGenerateColRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3860,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3862,1
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3862,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3864,1
    - Dst: filterPostProcessRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3864,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3866,1
    - Dst: filterRewrite
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3866,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3868,1
    - Dst: filterGenerateComInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3868,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3871,1
    - Dst: filterSetExecFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3871,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3875,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3878,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3881
      start: 3838
    functionDepth: 9
    functionLinenumber: 3838
    functionLinenumberEnd: 3881
    functionName: filterPreprocess
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_ERR_JRET
    - fltInfo
    - filterGenerateComInfo
    - taosMemoryFreeClear
    - filterMergeGroups
    - filterFreeGroupCtx
    - filterDumpInfoToString
    - filterGenerateColRange
    - filterPostProcessRange
    - filterSetExecFunc
    - FILTER_GET_FLAG
    - filterMergeGroupUnits
    - taosMemoryCalloc
    - filterRewrite
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterPreprocess(SFilterInfo *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_ALL_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3884,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3884,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3892,1
    - Dst: FILTER_GET_COL_FIELD_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3892,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3894,1
    - Dst: FILTER_GET_COL_FIELD_SLOT_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3894,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3898,1
    - Dst: filterUpdateComUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - info
    - param
    - fp
    - fromColId
    argTypes:
    - SFilterInfo*
    - void*
    - filer_get_col_from_id
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3883
    functionDepth: 2
    functionLinenumber: 3883
    functionLinenumberEnd: 3901
    functionName: fltSetColFieldDataImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_ALL_RES
    - FILTER_GET_COL_FIELD_SLOT_ID
    - FILTER_GET_COL_FIELD_ID
    - filterUpdateComUnits
    - FILTER_EMPTY_RES
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSetColFieldDataImpl(SFilterInfo *info, void *param, filer_get_col_from_id
      fp, bool fromColId)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3906,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3908,1
    - Dst: filterInitUnitsFields
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3911,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3913,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3918,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3920,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3925,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3927,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3929,1
    - Dst: filterConvertGroupFromArray
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3932,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3934,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3937,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3938,1
    - Dst: fltInitValFieldData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3938,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3940,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3941,1
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3941,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3943,1
    - Dst: filterPreprocess
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3943,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3945,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3945,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3947,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3952,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3954,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3956,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3958,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3960,1
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3960,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3965,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3965,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 3
    argNames:
    - tree
    - info
    - options
    argTypes:
    - SNode*
    - SFilterInfo*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3968
      start: 3903
    functionDepth: 10
    functionLinenumber: 3903
    functionLinenumberEnd: 3968
    functionName: fltInitFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    - fltInitValFieldData
    - FLT_ERR_JRET
    - taosArrayDestroyEx
    - filterInitUnitsFields
    - taosMemoryMalloc
    - FILTER_SET_FLAG
    - filterDumpInfoToString
    - nodesWalkExpr
    - qInfo
    - FILTER_GET_FLAG
    - FILTER_EMPTY_RES
    - taosArrayInit
    - filterPreprocess
    - tstrerror
    - taosArrayDestroy
    - filterConvertGroupFromArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltInitFromNode(SNode *tree, SFilterInfo *info, uint32_t options)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: compareUint64Double
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4006,1
    - Dst: compareInt64Double
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4010,1
    - Dst: compareDoubleVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4012,1
    - Dst: doubleFromDecimal64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4015,1
    - Dst: compareDoubleVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4016,1
    - Dst: doubleFromDecimal128
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4019,1
    - Dst: compareDoubleVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4020,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4026
      start: 4002
    functionDepth: 5
    functionLinenumber: 4002
    functionLinenumberEnd: 4026
    functionName: fltSclCompareWithFloat64
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - compareInt64Double
    - compareDoubleVal
    - qError
    - doubleFromDecimal128
    - doubleFromDecimal64
    - compareUint64Double
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclCompareWithFloat64(SFltSclDatum *val1, SFltSclDatum *val2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: compareUint64Int64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4032,1
    - Dst: compareInt64Val
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4036,1
    - Dst: compareDoubleInt64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4038,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4044
      start: 4028
    functionDepth: 1
    functionLinenumber: 4028
    functionLinenumberEnd: 4044
    functionName: fltSclCompareWithInt64
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - compareInt64Val
    - compareUint64Int64
    - compareDoubleInt64
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclCompareWithInt64(SFltSclDatum *val1, SFltSclDatum *val2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: compareUint64Val
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4050,1
    - Dst: compareInt64Uint64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4054,1
    - Dst: compareDoubleUint64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4056,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4062
      start: 4046
    functionDepth: 1
    functionLinenumber: 4046
    functionLinenumberEnd: 4062
    functionName: fltSclCompareWithUInt64
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - compareDoubleUint64
    - qError
    - compareInt64Uint64
    - compareUint64Val
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclCompareWithUInt64(SFltSclDatum *val1, SFltSclDatum *val2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4067,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4070,1
    - Dst: decimalCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4071,1
    - Dst: decimalCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pData1
    - pType1
    - pData2
    - pType2
    argTypes:
    - void*
    - SDataType*
    - void*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4074
      start: 4064
    functionDepth: 7
    functionLinenumber: 4064
    functionLinenumberEnd: 4074
    functionName: fltSclCompareWithDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - decimalCompare
    - decimalCalcTypeMod
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclCompareWithDecimal(void *pData1, const SDataType *pType1,
      void *pData2, const SDataType *pType2)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fltSclCompareWithUInt64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4089,1
    - Dst: fltSclCompareWithInt64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4094,1
    - Dst: fltSclCompareWithFloat64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4097,1
    - Dst: fltSclCompareWithDecimal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4101,1
    - Dst: fltSclCompareWithDecimal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4113
      start: 4076
    functionDepth: 8
    functionLinenumber: 4076
    functionLinenumberEnd: 4113
    functionName: fltSclCompareDatum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltSclCompareWithUInt64
    - qError
    - fltSclCompareWithFloat64
    - fltSclCompareWithDecimal
    - fltSclCompareWithInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclCompareDatum(SFltSclDatum *val1, SFltSclDatum *val2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fltSclCompareDatum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pt1
    - pt2
    argTypes:
    - SFltSclPoint*
    - SFltSclPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4130
      start: 4115
    functionDepth: 9
    functionLinenumber: 4115
    functionLinenumberEnd: 4130
    functionName: fltSclLessPoint
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltSclCompareDatum
    linkageType: ''
    returnType: bool
    signature: bool fltSclLessPoint(SFltSclPoint *pt1, SFltSclPoint *pt2)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4133,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4134,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4138,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4139,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4141,1
    - Dst: fltSclLessPoint
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4143,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4145,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4146,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4150,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4151,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4158,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4160,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4162,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4163,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4169,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4171,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4173,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4174,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - pts1
    - pts2
    - result
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4179
      start: 4132
    functionDepth: 10
    functionLinenumber: 4132
    functionLinenumberEnd: 4179
    functionName: fltSclMergeSort
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArrayGetSize
    - FLT_ERR_RET
    - fltSclLessPoint
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclMergeSort(SArray *pts1, SArray *pts2, SArray *result)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4182,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4183,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4185,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4187,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4189,1
    - Dst: fltSclMergeSort
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4189,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4192,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4193,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4195,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4200,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4201,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4206,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4207,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - pts1
    - pts2
    - isUnion
    - merged
    argTypes:
    - SArray*
    - SArray*
    - bool
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4215
      start: 4181
    functionDepth: 11
    functionLinenumber: 4181
    functionLinenumberEnd: 4215
    functionName: fltSclMerge
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - FLT_ERR_RET
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - fltSclMergeSort
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclMerge(SArray *pts1, SArray *pts2, bool isUnion, SArray
      *merged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fltSclMerge
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pts1
    - pts2
    - merged
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4217
      start: 4217
    functionDepth: 12
    functionLinenumber: 4217
    functionLinenumberEnd: 4217
    functionName: fltSclIntersect
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltSclMerge
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclIntersect(SArray *pts1, SArray *pts2, SArray *merged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fltSclMerge
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pts1
    - pts2
    - merged
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4219
      start: 4219
    functionDepth: 12
    functionLinenumber: 4219
    functionLinenumberEnd: 4219
    functionName: fltSclUnion
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltSclMerge
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclUnion(SArray *pts1, SArray *pts2, SArray *merged)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4228,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4229,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4233,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4240,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4241,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4242,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4244,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4246,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4247,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - colNode
    - colRangeList
    - colRange
    argTypes:
    - SColumnNode*
    - SArray*
    - SFltSclColumnRange**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4251
      start: 4227
    functionDepth: 1
    functionLinenumber: 4227
    functionLinenumberEnd: 4251
    functionName: fltSclGetOrCreateColumnRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArrayGetLast
    - nodesEqualNode
    - taosArrayGetSize
    - FLT_ERR_RET
    - taosArrayInit
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclGetOrCreateColumnRange(SColumnNode *colNode, SArray *colRangeList,
      SFltSclColumnRange **colRange)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4263,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4285,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4290,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4291,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4296,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4301,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4303,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4316,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4320,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 65
    argCount: 3
    argNames:
    - datum
    - pColNode
    - valNode
    argTypes:
    - SFltSclDatum*
    - SColumnNode*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4321
      start: 4253
    functionDepth: 2
    functionLinenumber: 4253
    functionLinenumberEnd: 4321
    functionName: fltSclBuildDecimalDatumFromValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - qError
    - taosStr2Double
    - FLT_RET
    - convertToDecimal
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclBuildDecimalDatumFromValueNode(SFltSclDatum *datum, SColumnNode
      *pColNode, SValueNode *valNode)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4324,1
    - Dst: fltSclBuildDecimalDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4325,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4367,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4372,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4376,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 3
    argNames:
    - datum
    - pColNode
    - valNode
    argTypes:
    - SFltSclDatum*
    - SColumnNode*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4382
      start: 4323
    functionDepth: 3
    functionLinenumber: 4323
    functionLinenumberEnd: 4382
    functionName: fltSclBuildDatumFromValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - taosStr2Int64
    - qDebug
    - fltSclBuildDecimalDatumFromValueNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclBuildDatumFromValueNode(SFltSclDatum *datum, SColumnNode
      *pColNode, SValueNode *valNode)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4430,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 3
    argNames:
    - datum
    - type
    - val
    argTypes:
    - SFltSclDatum*
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4436
      start: 4384
    functionDepth: 1
    functionLinenumber: 4384
    functionLinenumberEnd: 4436
    functionName: fltSclBuildDatumFromBlockSmaValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclBuildDatumFromBlockSmaValue(SFltSclDatum *datum, uint8_t
      type, void *val)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4444,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4445,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4447,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4448,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4456,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4457,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4459,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4460,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4466,1
    - Dst: fltSclBuildDatumFromBlockSmaValue
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4466,1
    - Dst: COL_AGG_GET_MIN_PTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4466,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4470,1
    - Dst: fltSclBuildDatumFromBlockSmaValue
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4470,1
    - Dst: COL_AGG_GET_MAX_PTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4470,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4472,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4473,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4475,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - colRange
    - pAgg
    - numOfRows
    - points
    argTypes:
    - SFltSclColumnRange*
    - SColumnDataAgg*
    - int32_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4479
      start: 4438
    functionDepth: 2
    functionLinenumber: 4438
    functionLinenumberEnd: 4479
    functionName: fltSclBuildRangeFromBlockSma
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - COL_AGG_GET_MIN_PTR
    - fltSclBuildDatumFromBlockSmaValue
    - FLT_ERR_RET
    - COL_AGG_GET_MAX_PTR
    linkageType: ''
    returnType: int32_t
    signature: "int32_t fltSclBuildRangeFromBlockSma(SFltSclColumnRange *colRange,
      SColumnDataAgg *pAgg, int32_t numOfRows,\n                                     SArray
      *points)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4485,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4486,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4488,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4500,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4502,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4504,1
    - Dst: fltSclBuildRangeFromBlockSma
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4504,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4505,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4508,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4510,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4512,1
    - Dst: fltSclIntersect
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4512,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4513,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4514,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4517,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4518,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4521,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4526,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4529,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4531,1
    - Dst: FILTER_ALL_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4534,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4536,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4558,1
    - Dst: SFilterRangeNode*::rc::func
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4600,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4609,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4614,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 97
    argCount: 5
    argNames:
    - info
    - pDataStatis
    - numOfCols
    - numOfRows
    - keep
    argTypes:
    - SFilterInfo*
    - SColumnDataAgg*
    - int32_t
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4615
      start: 4481
    functionDepth: 13
    functionLinenumber: 4481
    functionLinenumberEnd: 4615
    functionName: filterRangeExecute
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 2
    functionsReached:
    - fltSclIntersect
    - FILTER_ALL_RES
    - taosArrayGet
    - FLT_RET
    - FILTER_NO_MERGE_DATA_TYPE
    - SFilterRangeNode*::rc::func
    - fltSclBuildRangeFromBlockSma
    - qDebug
    - taosArrayGetSize
    - taosArrayInit
    - FLT_ERR_RET
    - FILTER_EMPTY_RES
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterRangeExecute(SFilterInfo *info, SColumnDataAgg *pDataStatis,
      int32_t numOfCols, int32_t numOfRows,\n                           bool *keep)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4628,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4628,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4629,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4629,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4645,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4647,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4647,1
    - Dst: FILTER_NO_MERGE_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4652,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4656,1
    - Dst: filterAddUnitRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4656,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4669,1
    - Dst: filterSourceRangeFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4669,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4670,1
    - Dst: filterResetRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4670,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4677,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4680,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4682,1
    - Dst: filterGetRangeNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4682,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4684,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4688,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4692,1
    - Dst: filterGetRangeRes
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4692,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4693,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4694,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4695,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4698,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4703,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4704,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4706,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4706,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4707,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4712,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4714,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4715,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4717,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4717,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4718,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 3
    argNames:
    - info
    - win
    - isStrict
    argTypes:
    - SFilterInfo*
    - STimeWindow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4721
      start: 4617
    functionDepth: 6
    functionLinenumber: 4617
    functionLinenumberEnd: 4721
    functionName: filterGetTimeRangeImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_CHK_JMP
    - filterAddUnitRange
    - filterGetRangeNum
    - FLT_ERR_JRET
    - filterGetRangeRes
    - TAOS_SET_OBJ_ALIGNED
    - qDebug
    - FILTER_NO_MERGE_OPTR
    - taosSetInt64Aligned
    - filterAddRangeOptr
    - FILTER_GET_FLAG
    - filterFreeRangeCtx
    - filterInitRangeCtx
    - taosGetInt64Aligned
    - filterSourceRangeFromCtx
    - FILTER_UNIT_OPTR
    - filterResetRangeCtx
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterGetTimeRangeImpl(SFilterInfo *info, STimeWindow *win,
      bool *isStrict)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getDataMax
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4728,1
    - Dst: getDataMin
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4730,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4762,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - point
    - d
    argTypes:
    - SFltSclPoint*
    - SFltSclDatum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4766
      start: 4723
    functionDepth: 1
    functionLinenumber: 4723
    functionLinenumberEnd: 4766
    functionName: fltSclGetTimeStampDatum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - getDataMin
    - qError
    - getDataMax
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclGetTimeStampDatum(SFltSclPoint *point, SFltSclDatum *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4789,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4789,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4794,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4795,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4797,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4800,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4801,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4802,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4803,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4805,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4809,1
    - Dst: fltSclGetTimeStampDatum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4809,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4810,1
    - Dst: fltSclGetTimeStampDatum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4810,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4811,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4812,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4815,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4816,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4820,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4825,1
    - Dst: filterGetTimeRangeImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4825,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4833,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4835,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - pNode
    - win
    - isStrict
    - hasRemoteNode
    argTypes:
    - SNode*
    - STimeWindow*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4836
      start: 4783
    functionDepth: 7
    functionLinenumber: 4783
    functionLinenumberEnd: 4836
    functionName: filterGetTimeRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 4
    functionsReached:
    - FLT_ERR_JRET
    - taosArrayGet
    - FLT_RET
    - TAOS_SET_OBJ_ALIGNED
    - filterFreeInfo
    - taosSetInt64Aligned
    - taosArrayGetSize
    - filterGetTimeRangeImpl
    - filterInitFromNode
    - fltSclGetTimeStampDatum
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterGetTimeRange(SNode *pNode, STimeWindow *win, bool *isStrict,
      bool* hasRemoteNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4839,1
    - Dst: FILTER_ALL_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4839,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4845,1
    - Dst: FILTER_GET_COL_FIELD_SIZE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4849,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4850,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4852,1
    - Dst: FILTER_GET_COL_FIELD_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4856,1
    - Dst: FILTER_GET_COL_FIELD_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4857,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4859,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4860,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4865,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4866,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4869,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4869,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4869,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4869,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4871,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4874,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4884,1
    - Dst: filterUpdateComUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4884,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - info
    - rows
    - gotNchar
    argTypes:
    - SFilterInfo*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4888
      start: 4838
    functionDepth: 2
    functionLinenumber: 4838
    functionLinenumberEnd: 4888
    functionName: filterConverNcharColumns
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_ALL_RES
    - taosMemoryMalloc
    - FILTER_GET_COL_FIELD_TYPE
    - qError
    - varDataCopy
    - varDataLen
    - FILTER_GET_COL_FIELD_DATA
    - filterUpdateComUnits
    - FILTER_EMPTY_RES
    - FLT_ERR_RET
    - varDataVal
    - FILTER_GET_COL_FIELD_SIZE
    - taosMbsToUcs4
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterConverNcharColumns(SFilterInfo *info, int32_t rows, bool
      *gotNchar)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4893,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4900
      start: 4890
    functionDepth: 1
    functionLinenumber: 4890
    functionLinenumberEnd: 4900
    functionName: filterFreeNcharColumns
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FILTER_GET_COL_FIELD_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterFreeNcharColumns(SFilterInfo *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4904,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4906,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4910,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - stat
    - pNode
    argTypes:
    - SFltTreeStat*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4915
      start: 4902
    functionDepth: 1
    functionLinenumber: 4902
    functionLinenumberEnd: 4915
    functionName: fltAddValueNodeToConverList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - FLT_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltAddValueNodeToConverList(SFltTreeStat *stat, SValueNode
      *pNode)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4920,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4925,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4930,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4930,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4943,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4949,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4956,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4959,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4965,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4967,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4975,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4977,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4986,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4986,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4987,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4987,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4988,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4994,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4999,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4999,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5004,1
    - Dst: FLT_IS_COMPARISON_OPERATOR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5006,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5016,1
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5023,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:5024,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5029,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5041,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5041,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5046,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5046,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5047,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5052,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5052,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5062,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5085,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5086,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5086,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5095,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5100,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5106,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5112,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5114,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5120,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5129,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5129,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 160
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5134
      start: 4917
    functionDepth: 1
    functionLinenumber: 4917
    functionLinenumberEnd: 5134
    functionName: fltReviseRewriter
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - FLT_IS_COMPARISON_OPERATOR
    - LIST_LENGTH
    - nodeType
    - vectorGetConvertType
    - FOREACH
    - fltError
    - FILTER_GET_FLAG
    - IS_NUMERIC_TYPE
    - scalarGetOperatorParamNum
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes fltReviseRewriter(SNode **pNode, void *pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5138,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5140,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5144,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pInfo
    - pNode
    - pStat
    argTypes:
    - SFilterInfo*
    - SNode**
    - SFltTreeStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5146
      start: 5136
    functionDepth: 1
    functionLinenumber: 5136
    functionLinenumberEnd: 5146
    functionName: fltReviseNodes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - FLT_ERR_JRET
    - FLT_RET
    - nodesRewriteExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltReviseNodes(SFilterInfo *pInfo, SNode **pNode, SFltTreeStat
      *pStat)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5153,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5156,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5156,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5160,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5161,1
    - Dst: doubleFromDecimal64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5163,1
    - Dst: doubleFromDecimal128
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5164,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5166,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5167,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5178,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5179,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5181,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5182,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5188,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5189,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5191,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5192,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5197,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5198,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5200,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5201,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - oper
    - points
    argTypes:
    - SFltSclOperator*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5204
      start: 5148
    functionDepth: 5
    functionLinenumber: 5148
    functionLinenumberEnd: 5204
    functionName: fltSclBuildRangePointsForInOper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - taosArrayPush
    - FLT_RET
    - TMAX
    - TMIN
    - doubleFromDecimal128
    - FOREACH
    - FLT_ERR_RET
    - fltSclBuildDatumFromValueNode
    - doubleFromDecimal64
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclBuildRangePointsForInOper(SFltSclOperator *oper, SArray
      *points)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5210,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5210,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5214,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5217,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5218,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5224,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5224,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5228,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5229,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5231,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5232,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5238,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5238,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5242,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5243,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5245,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5246,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5252,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5252,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5256,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5257,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5259,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5260,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5266,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5266,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5269,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5270,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5272,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5273,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5279,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5279,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5284,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5285,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5287,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5288,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5295,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5296,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5298,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5299,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5308,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5309,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5311,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5312,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5321,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5322,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5324,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5325,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5330,1
    - Dst: fltSclBuildRangePointsForInOper
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5330,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5334,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 98
    argCount: 2
    argNames:
    - oper
    - points
    argTypes:
    - SFltSclOperator*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5339
      start: 5206
    functionDepth: 6
    functionLinenumber: 5206
    functionLinenumberEnd: 5339
    functionName: fltSclBuildRangePoints
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - FLT_ERR_RET
    - fltSclBuildDatumFromValueNode
    - fltSclBuildRangePointsForInOper
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclBuildRangePoints(SFltSclOperator *oper, SArray *points)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5344,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5346,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5348,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5352,1
    - Dst: fltSclGetOrCreateColumnRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5352,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5353,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5355,1
    - Dst: fltSclBuildRangePoints
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5357,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5359,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5360,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5362,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5363,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5365,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5367,1
    - Dst: fltSclIntersect
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5367,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5368,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5369,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - pInfo
    - sclOpListCNF
    - colRangeList
    argTypes:
    - SFilterInfo*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5383
      start: 5342
    functionDepth: 13
    functionLinenumber: 5342
    functionLinenumberEnd: 5383
    functionName: fltSclProcessCNF
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltSclIntersect
    - taosArrayGet
    - fltSclBuildRangePoints
    - taosArrayGetSize
    - taosArrayInit
    - FLT_ERR_RET
    - taosArrayDestroy
    - fltSclGetOrCreateColumnRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclProcessCNF(SFilterInfo *pInfo, SArray *sclOpListCNF,
      SArray *colRangeList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5386,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5401,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5401,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5402,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5402,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5406
      start: 5385
    functionDepth: 1
    functionLinenumber: 5385
    functionLinenumberEnd: 5406
    functionName: fltSclIsCollectableNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool fltSclIsCollectableNode(SNode *pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fltSclIsCollectableNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5409,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5416,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5418,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5420,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5422,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5424,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5425,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5428,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5429,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5430,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pNode
    - sclOpList
    argTypes:
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5436
      start: 5408
    functionDepth: 2
    functionLinenumber: 5408
    functionLinenumberEnd: 5436
    functionName: fltSclCollectOperatorFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - nodesCloneNode
    - IS_NUMERIC_TYPE
    - FLT_ERR_RET
    - nodesDestroyNode
    - fltSclIsCollectableNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclCollectOperatorFromNode(SNode *pNode, SArray *sclOpList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5439,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5448,1
    - Dst: fltSclIsCollectableNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5449,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5453,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5453,1
    - Dst: fltSclCollectOperatorFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - sclOpList
    argTypes:
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5455
      start: 5438
    functionDepth: 3
    functionLinenumber: 5438
    functionLinenumberEnd: 5455
    functionName: fltSclCollectOperatorsFromLogicCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - FLT_ERR_RET
    - fltSclCollectOperatorFromNode
    - fltSclIsCollectableNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclCollectOperatorsFromLogicCond(SNode *pNode, SArray *sclOpList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5458,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5459,1
    - Dst: fltSclCollectOperatorFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5459,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5460,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5461,1
    - Dst: fltSclCollectOperatorsFromLogicCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - sclOpList
    argTypes:
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5464
      start: 5457
    functionDepth: 4
    functionLinenumber: 5457
    functionLinenumberEnd: 5464
    functionName: fltSclCollectOperators
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FLT_ERR_RET
    - fltSclCollectOperatorsFromLogicCond
    - fltSclCollectOperatorFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltSclCollectOperators(SNode *pNode, SArray *sclOpList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5467,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5470,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5472,1
    - Dst: fltSclCollectOperators
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5472,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5473,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5475,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5477,1
    - Dst: fltSclProcessCNF
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5477,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5482,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5483,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5488,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5489,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5492,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5493,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5494,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5495,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5497,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - pInfo
    - pNode
    argTypes:
    - SFilterInfo*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5500
      start: 5466
    functionDepth: 14
    functionLinenumber: 5466
    functionLinenumberEnd: 5500
    functionName: fltOptimizeNodes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_ERR_JRET
    - fltSclProcessCNF
    - taosArrayGet
    - fltSclCollectOperators
    - FLT_ERR_RET
    - taosArrayInit
    - taosArrayGetSize
    - taosArrayDestroy
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltOptimizeNodes(SFilterInfo *pInfo, SNode **pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5507,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - param
    - id
    - data
    argTypes:
    - void*
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5518
      start: 5502
    functionDepth: 1
    functionLinenumber: 5502
    functionLinenumberEnd: 5518
    functionName: fltGetDataFromColId
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltGetDataFromColId(void *param, int32_t id, void **data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5523,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5524,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5525,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - param
    - id
    - data
    argTypes:
    - void*
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5536
      start: 5520
    functionDepth: 1
    functionLinenumber: 5520
    functionLinenumberEnd: 5536
    functionName: fltGetDataFromSlotId
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltError
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t fltGetDataFromSlotId(void *param, int32_t id, void **data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fltSetColFieldDataImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - info
    - param
    argTypes:
    - SFilterInfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5544
      start: 5538
    functionDepth: 3
    functionLinenumber: 5538
    functionLinenumberEnd: 5544
    functionName: filterSetDataFromSlotId
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 19
    functionsReached:
    - fltSetColFieldDataImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterSetDataFromSlotId(SFilterInfo *info, void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fltSetColFieldDataImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - param
    argTypes:
    - SFilterInfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5548
      start: 5546
    functionDepth: 3
    functionLinenumber: 5546
    functionLinenumberEnd: 5548
    functionName: filterSetDataFromColId
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - fltSetColFieldDataImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterSetDataFromColId(SFilterInfo *info, void *param)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5558,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5559,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5563,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5565,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5566,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5576,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5582,1
    - Dst: fltReviseNodes
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5582,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5588,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5592,1
    - Dst: fltInitFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5592,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5595,1
    - Dst: fltOptimizeNodes
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5595,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5602,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - pNode
    - pInfo
    - options
    - pSclExtraParams
    argTypes:
    - SNode*
    - SFilterInfo**
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5605
      start: 5550
    functionDepth: 15
    functionLinenumber: 5550
    functionLinenumberEnd: 5605
    functionName: filterInitFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 20
    functionsReached:
    - fltDebug
    - FLT_ERR_JRET
    - FLT_RET
    - fltReviseNodes
    - fltOptimizeNodes
    - filterFreeInfo
    - fltError
    - FLT_ERR_RET
    - fltInitFromNode
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterInitFromNode(SNode *pNode, SFilterInfo **pInfo, uint32_t
      options, void* pSclExtraParams)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5617,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5617,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5620,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5622,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5624,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5625,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5626,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5632,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5633,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5637,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5653,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5654,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5658,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5682,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 6
    argNames:
    - info
    - pSrc
    - p
    - statis
    - numOfCols
    - pResultStatus
    argTypes:
    - SFilterInfo*
    - SSDataBlock*
    - SColumnInfoData**
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5685
      start: 5607
    functionDepth: 1
    functionLinenumber: 5607
    functionLinenumberEnd: 5685
    functionName: filterExecute
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 19
    functionsReached:
    - taosArrayPush
    - FLT_ERR_JRET
    - sclCreateColumnInfoData
    - scalarCalculate
    - fltError
    - taosArrayInit
    - sclFreeParam
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterExecute(SFilterInfo *info, SSDataBlock *pSrc, SColumnInfoData
      **p, SColumnDataAgg *statis,\n                      int16_t numOfCols, int32_t
      *pResultStatus)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5696,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5708,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5715,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5717,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5720,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5727
      start: 5694
    functionDepth: 1
    functionLinenumber: 5694
    functionLinenumberEnd: 5727
    functionName: classifyConditionImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsPseudoColumnFunc
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes classifyConditionImpl(SNode *pNode, void *pContext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5749
      start: 5729
    functionDepth: 1
    functionLinenumber: 5729
    functionLinenumberEnd: 5749
    functionName: filterClassifyCondition
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: EConditionType
    signature: EConditionType filterClassifyCondition(SNode *pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5753,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5757,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5759,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5760,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5763,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5764,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5765,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5771,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCond
    - res
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5775
      start: 5751
    functionDepth: 1
    functionLinenumber: 5751
    functionLinenumberEnd: 5775
    functionName: filterIsMultiTableColsCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesMakeList
    - nodesDestroyList
    - LIST_LENGTH
    - nodesCollectColumnsFromNode
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterIsMultiTableColsCond(SNode *pCond, bool *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5763,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5764,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5769
      start: 5762
    functionDepth: 1
    functionLinenumber: 5762
    functionLinenumberEnd: 5769
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 5
    functionsReached:
    - nodesDestroyList
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pColNode, pCondCols)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5788,1
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5790,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5797,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5799,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5803,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5807,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5809,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5816,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5818,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5823,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5825,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5832,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5834,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5842,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5844,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5860,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5863,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5866,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5869,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5885,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5888,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5889,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5890,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5891,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5892,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5893,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5894,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5895,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 98
    argCount: 5
    argNames:
    - pCondition
    - pPrimaryKeyCond
    - pTagIndexCond
    - pTagCond
    - pOtherCond
    argTypes:
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5899
      start: 5777
    functionDepth: 2
    functionLinenumber: 5777
    functionLinenumberEnd: 5899
    functionName: partitionLogicCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - nodesMergeConds
    - nodesDestroyList
    - FOREACH
    - filterIsMultiTableColsCond
    - nodesDestroyNode
    - nodesCloneNode
    - filterClassifyCondition
    linkageType: ''
    returnType: int32_t
    signature: "int32_t partitionLogicCond(SNode **pCondition, SNode **pPrimaryKeyCond,
      SNode **pTagIndexCond, SNode **pTagCond,\n                                  SNode
      **pOtherCond)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5903,1
    - Dst: partitionLogicCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5905,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5910,1
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5910,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5917,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5933,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 5
    argNames:
    - pCondition
    - pPrimaryKeyCond
    - pTagIndexCond
    - pTagCond
    - pOtherCond
    argTypes:
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5962
      start: 5901
    functionDepth: 3
    functionLinenumber: 5901
    functionLinenumberEnd: 5962
    functionName: filterPartitionCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - partitionLogicCond
    - FLT_ERR_RET
    - filterIsMultiTableColsCond
    - nodesCloneNode
    - filterClassifyCondition
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterPartitionCond(SNode **pCondition, SNode **pPrimaryKeyCond,
      SNode **pTagIndexCond, SNode **pTagCond,\n                            SNode
      **pOtherCond)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: scalarGetOperatorParamNum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarGetOperatorParamNum(EOperatorType type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:40,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - precision
    - valueNode
    argTypes:
    - int8_t
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: sclConvertToTsValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - convertStringToTimestamp
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclConvertToTsValueNode(int8_t precision, SValueNode *valueNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:56,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:66,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:68,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pType
    - numOfRows
    - pParam
    argTypes:
    - SDataType*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: sclCreateColumnInfoData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 1
    functionsReached:
    - colInfoDataEnsureCapacity
    - taosMemoryCalloc
    - taosMemoryFree
    - colDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclCreateColumnInfoData(SDataType *pType, int32_t numOfRows,
      SScalarParam *pParam)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:82,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:87,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:87,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:92,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:96,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:97,1
    - Dst: vectorConvertSingleColImpl
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:98,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pValueNode
    - out
    - overflow
    argTypes:
    - SValueNode*
    - SScalarParam*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 104
    functionName: sclConvertValueToSclParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 2
    functionsReached:
    - colInfoDataEnsureCapacity
    - vectorConvertSingleColImpl
    - setTzCharset
    - sclCreateColumnInfoData
    - colDataSetVal
    - nodesGetValueFromNode
    - sclFreeParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclConvertValueToSclParam(SValueNode *pValueNode, SScalarParam
      *out, int8_t *overflow)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:108,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:110,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:112,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:115,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:116,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:125,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:125,1
    - Dst: getBinScalarOperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:130,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:131,1
    - Dst: OperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:131,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:133,1
    - Dst: vectorAssignRange
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:133,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:137,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - pDst
    - rowStartIdx
    - rowEndIdx
    - pSrc
    - pBlockList
    argTypes:
    - SScalarParam*
    - int32_t
    - int32_t
    - SScalarParam*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 140
    functionName: sclExtendResRowsRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - taosArrayGetP
    - colInfoDataEnsureCapacity
    - SCL_RET
    - SCL_ERR_JRET
    - getBinScalarOperatorFn
    - vectorAssignRange
    - OperatorFn
    - taosMemoryFree
    - taosMemoryCalloc
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sclExtendResRowsRange(SScalarParam *pDst, int32_t rowStartIdx,
      int32_t rowEndIdx, SScalarParam *pSrc,\n                              SArray
      *pBlockList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sclExtendResRowsRange
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pDst
    - pSrc
    - pBlockList
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: sclExtendResRows
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclExtendResRowsRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclExtendResRows(SScalarParam *pDst, SScalarParam *pSrc, SArray
      *pBlockList)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:149,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:150,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:151,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:158,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:158,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:160,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:161,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:164,1
    - Dst: taosHashSetEqualFp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:167,1
    - Dst: taosGetDefaultEqualFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:167,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:178,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:180,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:183,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:185,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:189,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:190,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:197,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:200,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:200,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:201,1
    - Dst: vectorConvertSingleColImpl
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:201,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:212,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:217,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:218,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:219,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:220,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:222,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:226,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:230,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:230,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:238,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:239,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:240,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:241,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:242,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 8
    argNames:
    - data
    - pCol
    - type
    - typeMod
    - processType
    - rows
    - hasNull
    - hasNotNull
    argTypes:
    - void**
    - SColumnInfoData*
    - uint32_t
    - STypeMod
    - int8_t
    - uint32_t
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 243
    functionName: scalarGenerateSetFromCol
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - colDataGetVarData
    - colDataDestroy
    - taosHashSetEqualFp
    - sclError
    - SCL_ERR_JRET
    - taosHashInit
    - IS_INTEGER_TYPE
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - taosGetDefaultEqualFunction
    - colInfoDataEnsureCapacity
    - TSWAP
    - colDataGetNumData
    - SCL_ERR_RET
    - blobDataTLen
    - SCL_RET
    - vectorConvertSingleColImpl
    - varDataTLen
    - extractTypeFromTypeMod
    - IS_STR_DATA_BLOB
    - IS_FLOAT_TYPE
    - taosHashCleanup
    - colDataIsNull
    - taosHashPut
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t scalarGenerateSetFromCol(void **data, SColumnInfoData *pCol,
      uint32_t type, STypeMod typeMod, \n                                         int8_t
      processType, uint32_t rows, bool* hasNull, bool* hasNotNull)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: IS_INVALID_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:247,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:248,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:249,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:251,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:251,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:253,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:254,1
    - Dst: taosHashSetEqualFp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:257,1
    - Dst: taosGetDefaultEqualFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:257,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:261,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:263,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:269,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:271,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:272,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:273,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:279,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:280,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:287,1
    - Dst: sclConvertValueToSclParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:291,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:294,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:301,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:302,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:303,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:304,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:306,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:313,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:314,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:315,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:316,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:318,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:325,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:326,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:327,1
    - Dst: colInfoDataCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:330,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:335,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:336,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:341,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:342,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:343,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:344,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 5
    argNames:
    - data
    - pNode
    - type
    - typeMod
    - processType
    argTypes:
    - void**
    - void*
    - uint32_t
    - STypeMod
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 345
    functionName: scalarGenerateSetFromList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - colDataGetVarData
    - colDataDestroy
    - taosHashSetEqualFp
    - sclConvertValueToSclParam
    - sclError
    - SCL_ERR_JRET
    - taosHashInit
    - IS_INTEGER_TYPE
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - taosGetDefaultEqualFunction
    - colInfoDataCleanup
    - FOREACH
    - nodesGetValueFromNode
    - SCL_ERR_RET
    - blobDataTLen
    - SCL_RET
    - varDataTLen
    - extractTypeFromTypeMod
    - IS_STR_DATA_BLOB
    - IS_FLOAT_TYPE
    - taosHashCleanup
    - taosHashPut
    - IS_INVALID_TYPE
    - IS_VAR_DATA_TYPE
    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: taosHashIterate
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:349,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:354,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:356,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - res
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 359
    functionName: sclFreeRes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void sclFreeRes(SHashObj *res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:367,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:368,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:373,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - param
    argTypes:
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 381
    functionName: sclFreeParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 4
    functionsReached:
    - taosMemoryFreeClear
    - taosHashCleanup
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: void sclFreeParam(SScalarParam *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:388,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:390,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:391,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:394,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - res
    argTypes:
    - SValueNode*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: sclCopyValueNodeValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - taosMemoryMalloc
    - memcpy
    - nodesGetValueFromNode
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclCopyValueNodeValue(SValueNode *pNode, void **res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:405,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - param
    - paramNum
    argTypes:
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: sclFreeParamList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void sclFreeParamList(SScalarParam *param, int32_t paramNum)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DBL_EQUAL
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:475,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 1
    argNames:
    - valueNode
    argTypes:
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 485
    functionName: sclDowngradeValueType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - DBL_EQUAL
    linkageType: ''
    returnType: void
    signature: void sclDowngradeValueType(SValueNode *valueNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:489,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:491,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:497,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:498,1
    - Dst: getScaleFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:498,1
    - Dst: sclDebug
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:501,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:506,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:506,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:507,1
    - Dst: scalarGenerateSetFromCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:507,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:508,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:508,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:509,1
    - Dst: scalarGenerateSetFromCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:509,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:510,1
    - Dst: scalarGenerateSetFromCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:510,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:512,1
    - Dst: scalarGenerateSetFromCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:512,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - idStr
    - pRemote
    - pCol
    - rows
    argTypes:
    - char*
    - SRemoteValueListNode*
    - SColumnInfoData*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 523
    functionName: scalarBuildRemoteListHash
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - sclError
    - getScaleFromTypeMod
    - vectorGetConvertType
    - IS_NUMERIC_TYPE
    - scalarGenerateSetFromCol
    - IS_FLOAT_TYPE
    - IS_INTEGER_TYPE
    - sclDebug
    - decimalCalcTypeMod
    - SCL_ERR_RET
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarBuildRemoteListHash(char* idStr, SRemoteValueListNode*
      pRemote, SColumnInfoData* pCol, int64_t rows)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:526,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:528,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:530,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:539,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:540,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:543,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:543,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:545,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:547,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:547,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:547,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:554,1
    - Dst: sclDebug
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:556,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:556,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:564,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:565,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:565,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:566,1
    - Dst: IS_INVALID_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:572,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:573,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:574,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:578,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:580,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:582,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:591,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:599,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:600,1
    - Dst: getScaleFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:600,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:606,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:606,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:607,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:607,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:608,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:609,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:610,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:610,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:611,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:611,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:612,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:613,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:615,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:615,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:624,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:625,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:627,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:629,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:640,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:640,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:641,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:646,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:647,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:649,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:657,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:658,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:659,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:660,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:665,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:667,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:670,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:671,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:672,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:673,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:676,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:678,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:689,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:691,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:691,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:692,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:707,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:709,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:723,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:727,1
    - Dst: sclDebug
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:737,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:738,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:739,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:757,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:761,1
    - Dst: sclDebug
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:776,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:777,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:778,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:786,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:797,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:808,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:819,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:823,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:830,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:834,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:844,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:845,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 229
    argCount: 4
    argNames:
    - node
    - param
    - ctx
    - rowNum
    argTypes:
    - SNode*
    - SScalarParam*
    - SScalarCtx*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 525
    functionDepth: 4
    functionLinenumber: 525
    functionLinenumberEnd: 853
    functionName: sclInitParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 1
    functionsReached:
    - scalarGenerateSetFromList
    - nodeType
    - taosArrayGetP
    - sclError
    - taosArrayGet
    - LIST_LENGTH
    - sclCreateColumnInfoData
    - taosHashGetSize
    - IS_INTEGER_TYPE
    - taosArrayGetSize
    - sclInitParam
    - sclDebug
    - IS_DECIMAL_TYPE
    - colDataSetVal
    - vectorGetConvertType
    - qDebug
    - nodesGetValueFromNode
    - FOREACH
    - decimalCalcTypeMod
    - SCL_ERR_RET
    - colDataSetNULL
    - SCL_RET
    - getScaleFromTypeMod
    - taosHashGet
    - IS_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - taosHashCleanup
    - taosHashPut
    - IS_INVALID_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclInitParam(SNode *node, SScalarParam *param, SScalarCtx *ctx,
      int32_t *rowNum)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncTypeFromId
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:860,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:863,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:864,1
    - Dst: uError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:865,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:865,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:869,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:869,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:871,1
    - Dst: uError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:872,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:872,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:877,1
    - Dst: uError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:919,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 4
    argNames:
    - funcId
    - pParamNodes
    - res
    - pCtx
    argTypes:
    - int32_t
    - SNodeList*
    - SScalarParam*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 857
    functionDepth: 2
    functionLinenumber: 857
    functionLinenumberEnd: 925
    functionName: sclSetStreamExtWinParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - uError
    - taosArrayGet
    - LIST_LENGTH
    - sclCreateColumnInfoData
    - nodeType
    - fmGetFuncTypeFromId
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclSetStreamExtWinParam(int32_t funcId, SNodeList* pParamNodes,
      SScalarParam* res, SScalarCtx *pCtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:929,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:930,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:931,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:936,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:941,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:943,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:947,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:949,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:954,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:958,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:962,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - pResColData
    - offset
    - rows
    - pParams
    - pParamNode
    argTypes:
    - SColumnInfoData*
    - int64_t
    - int64_t
    - SSTriggerCalcParam*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 963
    functionName: sclAssignExternalWindowColumnRes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - taosArrayGet
    - colDataSetNItemsNull
    - colDataSetNItems
    - nodeType
    - taosArrayGetSize
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sclAssignExternalWindowColumnRes(SColumnInfoData* pResColData,
      int64_t offset, int64_t rows,\n                                                SSTriggerCalcParam
      *pParams, SNode* pParamNode)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncTypeFromId
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:966,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:968,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1007,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1008,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1011,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1015,1
    - Dst: sclAssignExternalWindowColumnRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1018,1
    - Dst: uError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1027,1
    - Dst: doCopyNItems
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1031,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 6
    argNames:
    - pResColData
    - offset
    - rows
    - funcId
    - pExtraParams
    - pParamNode
    argTypes:
    - SColumnInfoData*
    - int64_t
    - int64_t
    - int16_t
    - void*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 1032
    functionName: scalarAssignPlaceHolderRes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - doCopyNItems
    - uError
    - memcpy
    - taosArrayGet
    - colDataSetNItems
    - taosArrayGetSize
    - sclAssignExternalWindowColumnRes
    - fmGetFuncTypeFromId
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarAssignPlaceHolderRes(SColumnInfoData* pResColData, int64_t
      offset, int64_t rows, int16_t funcId, const void* pExtraParams, SNode* pParamNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1038,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1040,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1044,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1046,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1047,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1053,1
    - Dst: sclSetStreamExtWinParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1053,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1054,1
    - Dst: fmSetStreamPseudoFuncParamVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1057,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1059,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1059,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1060,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1064,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1064,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 6
    argNames:
    - funcId
    - ppParams
    - pParamNodes
    - pCtx
    - pParamNum
    - pRowNum
    argTypes:
    - int32_t
    - SScalarParam**
    - SNodeList*
    - SScalarCtx*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1034
    functionDepth: 5
    functionLinenumber: 1034
    functionLinenumberEnd: 1076
    functionName: sclInitStreamPseudoFuncParamList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - memcpy
    - SCL_ERR_JRET
    - LIST_LENGTH
    - sclFreeParamList
    - tstrerror
    - sclInitParam
    - sclSetStreamExtWinParam
    - taosMemoryCalloc
    - SCL_ERR_RET
    - fmSetStreamPseudoFuncParamVal
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sclInitStreamPseudoFuncParamList(int32_t funcId, SScalarParam
      **ppParams, SNodeList *pParamNodes,\n                                                SScalarCtx
      *pCtx, int32_t *pParamNum, int32_t *pRowNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1064,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1063
    functionDepth: 5
    functionLinenumber: 1063
    functionLinenumberEnd: 1066
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 8
    functionsReached:
    - SCL_ERR_JRET
    - sclInitParam
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pParamNodes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1080,1
    - Dst: sclInitStreamPseudoFuncParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1081,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1086,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1088,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1100,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1102,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1103,1
    - Dst: SCL_IS_CONST_CALC
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1109,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1111,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1114,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1114,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1115,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1122,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1122,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1131,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1139,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 6
    argNames:
    - pParams
    - pParamList
    - ctx
    - paramNum
    - rowNum
    - funcId
    argTypes:
    - SScalarParam**
    - SNodeList*
    - SScalarCtx*
    - int32_t*
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1078
    functionDepth: 6
    functionLinenumber: 1078
    functionLinenumberEnd: 1141
    functionName: sclInitParamList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - sclError
    - SCL_RET
    - SCL_ERR_JRET
    - ERASE_NODE
    - taosMemoryCalloc
    - SCL_IS_CONST_CALC
    - sclInitParam
    - sclFreeParamList
    - SCL_IS_CONST_NODE
    - fmIsPlaceHolderFunc
    - SCL_ERR_RET
    - sclInitStreamPseudoFuncParamList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sclInitParamList(SScalarParam **pParams, SNodeList *pParamList,
      SScalarCtx *ctx, int32_t *paramNum,\n                         int32_t *rowNum,
      int32_t funcId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1111,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1114,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1114,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1110
    functionDepth: 5
    functionLinenumber: 1110
    functionLinenumberEnd: 1119
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_JRET
    - SCL_IS_CONST_NODE
    - sclInitParam
    - ERASE_NODE
    linkageType: ''
    returnType: void
    signature: void WHERE_EACH(tnode, pParamList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1122,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1121
    functionDepth: 5
    functionLinenumber: 1121
    functionLinenumberEnd: 1124
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 8
    functionsReached:
    - SCL_ERR_JRET
    - sclInitParam
    linkageType: ''
    returnType: void
    signature: void FOREACH(tnode, pParamList)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1149,1
    - Dst: typeGetTypeModFromDataType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1153,1
    - Dst: typeGetTypeModFromDataType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1159,1
    - Dst: typeGetTypeModFromDataType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1165,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1180,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1182,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1182,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1183,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1186,1
    - Dst: typeGetTypeModFromDataType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1192,1
    - Dst: typeGetTypeModFromDataType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1200,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1205,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 4
    argNames:
    - pNode
    - ctx
    - type
    - pTypeMod
    argTypes:
    - SNode*
    - SScalarCtx*
    - int32_t*
    - STypeMod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1208
    functionName: sclGetNodeType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - taosHashGet
    - typeGetTypeModFromColInfo
    - nodeType
    - typeGetTypeModFromDataType
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclGetNodeType(SNode *pNode, SScalarCtx *ctx, int32_t *type,
      STypeMod *pTypeMod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1212,1
    - Dst: sclGetNodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1212,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1213,1
    - Dst: sclGetNodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1213,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - SOperatorNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1210
    functionDepth: 2
    functionLinenumber: 1210
    functionLinenumberEnd: 1215
    functionName: sclSetOperatorValueType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - sclGetNodeType
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclSetOperatorValueType(SOperatorNode *node, SScalarCtx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1219,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1221,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1222,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1225,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1227,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1228,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1231,1
    - Dst: sclSetOperatorValueType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1231,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1233,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1233,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1234,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1236,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1236,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1237,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1244,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pParams
    - node
    - ctx
    - rowNum
    argTypes:
    - SScalarParam**
    - SOperatorNode*
    - SScalarCtx*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1217
    functionDepth: 5
    functionLinenumber: 1217
    functionLinenumberEnd: 1246
    functionName: sclInitOperatorParams
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - SCL_RET
    - SCL_ERR_JRET
    - setTzCharset
    - sclSetOperatorValueType
    - scalarGetOperatorParamNum
    - sclInitParam
    - sclFreeParamList
    - taosMemoryCalloc
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclInitOperatorParams(SScalarParam **pParams, SOperatorNode
      *node, SScalarCtx *ctx, int32_t *rowNum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1254,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1256,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1259,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - node
    - ctx
    - res
    argTypes:
    - SNode*
    - SScalarCtx*
    - SScalarParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1248
    functionDepth: 5
    functionLinenumber: 1248
    functionLinenumberEnd: 1262
    functionName: sclGetNodeRes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclInitParam
    - taosMemoryCalloc
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclGetNodeRes(SNode *node, SScalarCtx *ctx, SScalarParam **res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1277,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1277,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1278,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1278,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1280,1
    - Dst: vectorCompareImpl
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1280,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1282,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1284,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1285,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1286,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1286,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1289,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1289,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1295,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1296,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1297,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1298,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1302,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1303,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1304,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1304,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1307,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1307,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1314,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1314,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1317,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1317,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1323,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1324,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1325,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1326,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1328,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1264
    functionDepth: 6
    functionLinenumber: 1264
    functionLinenumberEnd: 1329
    functionName: sclWalkCaseWhenList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - SCL_RET
    - colDataGetData
    - SCL_ERR_JRET
    - colDataSetVal
    - sclExtendResRows
    - sclFreeParam
    - colDataIsNull_s
    - sclGetNodeRes
    - vectorCompareImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sclWalkCaseWhenList(SScalarCtx *ctx, SNodeList *pList, struct
      SListCell *pCell, SScalarParam *pCase,\n                            SScalarParam
      *pElse, SScalarParam *pComp, SScalarParam *output, int32_t rowIdx,\n                            int32_t
      totalRows, bool *complete)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1345,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1345,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1346,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1346,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1348,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1351,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1352,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1353,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1353,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1356,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1356,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1363,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1364,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1365,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1366,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1370,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1371,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1372,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1372,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1375,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1375,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1382,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1382,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1385,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1385,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1391,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1392,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1393,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1394,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1396,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1331
    functionDepth: 6
    functionLinenumber: 1331
    functionLinenumberEnd: 1397
    functionName: sclWalkWhenList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - SCL_RET
    - colDataGetData
    - SCL_ERR_JRET
    - colDataSetVal
    - taosMemoryFree
    - sclExtendResRows
    - sclFreeParam
    - colDataIsNull_s
    - sclGetNodeRes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sclWalkWhenList(SScalarCtx *ctx, SNodeList *pList, struct
      SListCell *pCell, SScalarParam *pElse,\n                        SScalarParam
      *output, int32_t rowIdx, int32_t totalRows, bool *complete, bool preSingle)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1404,1
    - Dst: sclInitParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1404,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1405,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1407,1
    - Dst: callUdfScalarFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1408,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1410,1
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1415,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1417,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1417,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1418,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1421,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1423,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1432,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1433,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1439,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SFunctionNode*
    - SScalarCtx*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1399
    functionDepth: 7
    functionLinenumber: 1399
    functionLinenumberEnd: 1441
    functionName: sclExecFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - SCL_RET
    - fmIsUserDefinedFunc
    - SCL_ERR_JRET
    - setTzCharset
    - sclCreateColumnInfoData
    - sclFreeParamList
    - callUdfScalarFunc
    - tstrerror
    - sclInitParamList
    - fmGetScalarFuncExecFuncs
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclExecFunction(SFunctionNode *node, SScalarCtx *ctx, SScalarParam
      *output)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1445,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1447,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1451,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1452,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1456,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1457,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1464,1
    - Dst: sclInitParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1464,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1474,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1476,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1495,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1518,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1518,1
    - Dst: SCL_IS_CONST_CALC
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1526,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1527,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1534,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1535,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SLogicConditionNode*
    - SScalarCtx*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1443
    functionDepth: 7
    functionLinenumber: 1443
    functionLinenumberEnd: 1536
    functionName: sclExecLogic
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - SCL_RET
    - colDataGetData
    - SCL_ERR_JRET
    - sclCreateColumnInfoData
    - colDataSetVal
    - sclFreeParam
    - SCL_IS_CONST_CALC
    - sclInitParamList
    - sclFreeParamList
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclExecLogic(SLogicConditionNode *node, SScalarCtx *ctx, SScalarParam
      *output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1543,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1544,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1545,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1545,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1547,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1547,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1547,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1548,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1548,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1548,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1558,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1561,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - param
    - ts
    argTypes:
    - SScalarParam*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1565
    functionName: sclGetFirstTsFromParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - memcpy
    - varDataTLen
    - colDataGetData
    - varDataLen
    - taosMemoryFree
    - tstrerror
    - varDataVal
    - strlen
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - taosParseTime
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclGetFirstTsFromParam(SScalarParam* param, int64_t* ts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1578
    functionName: sclIsPrimTimeStampCol
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool sclIsPrimTimeStampCol(SNode *pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclIsPrimTimeStampCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1585,1
    - Dst: sclIsPrimTimeStampCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1580
    functionDepth: 2
    functionLinenumber: 1580
    functionLinenumberEnd: 1590
    functionName: sclIsStreamRangeReq
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclIsPrimTimeStampCol
    linkageType: ''
    returnType: bool
    signature: bool sclIsStreamRangeReq(SOperatorNode *node)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1594,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1594,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1595,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1597,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1597,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1601,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1605,1
    - Dst: sclGetFirstTsFromParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1605,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1607,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1610,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1612,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1612,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1615,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1619,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1619,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1626,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1626,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - ctx
    - pNode
    - tsValue
    argTypes:
    - SScalarCtx*
    - SNode*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1592
    functionDepth: 2
    functionLinenumber: 1592
    functionLinenumberEnd: 1630
    functionName: sclGetExprTSValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - IS_TIMESTAMP_TYPE
    - taosHashGet
    - nodeType
    - IS_INTEGER_TYPE
    - sclGetFirstTsFromParam
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclGetExprTSValue(SScalarCtx *ctx, SNode *pNode, int64_t *tsValue)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sclIsPrimTimeStampCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1637,1
    - Dst: sclGetExprTSValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1638,1
    - Dst: sclIsPrimTimeStampCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1639,1
    - Dst: sclGetExprTSValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1640,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1643,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1644,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1644,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - streamTsRange
    - node
    - params
    argTypes:
    - SScalarCtx*
    - SStreamTSRangeParas*
    - SOperatorNode*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1632
    functionDepth: 3
    functionLinenumber: 1632
    functionLinenumberEnd: 1658
    functionName: sclCalcStreamCurrWinTimeRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - sclIsPrimTimeStampCol
    - sclGetExprTSValue
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sclCalcStreamCurrWinTimeRange(SScalarCtx *ctx, SStreamTSRangeParas
      *streamTsRange,\n                                                SOperatorNode
      *node, SScalarParam *params)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1670,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1674,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1676,1
    - Dst: sclIsPrimTimeStampCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1680,1
    - Dst: sclIsPrimTimeStampCol
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1682,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1685,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1686,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1686,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1690,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1692,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1692,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1693,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1700,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1702,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1702,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1706,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1710,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1717,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1726,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1732,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1736,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1747,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1753,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1757,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 2
    argNames:
    - ctx
    - node
    argTypes:
    - SScalarCtx*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1661
    functionDepth: 2
    functionLinenumber: 1661
    functionLinenumberEnd: 1779
    functionName: sclCalcStreamExtWinsTimeRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - IS_TIMESTAMP_TYPE
    - TMAX
    - qError
    - taosHashGet
    - TMIN
    - nodeType
    - IS_INTEGER_TYPE
    - taosArrayGetSize
    - sclIsPrimTimeStampCol
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclCalcStreamExtWinsTimeRange(SScalarCtx *ctx,          SOperatorNode
      *node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1786,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1789,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1793,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1797,1
    - Dst: sclInitOperatorParams
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1797,1
    - Dst: sclIsStreamRangeReq
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1799,1
    - Dst: sclCalcStreamCurrWinTimeRange
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1800,1
    - Dst: sclIsStreamRangeReq
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1804,1
    - Dst: sclCalcStreamExtWinsTimeRange
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1805,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1810,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1812,1
    - Dst: getBinScalarOperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1818,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1826,1
    - Dst: OperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1826,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1829,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1830,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SOperatorNode*
    - SScalarCtx*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1782
    functionDepth: 6
    functionLinenumber: 1782
    functionLinenumberEnd: 1831
    functionName: sclExecOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - sclIsStreamRangeReq
    - SCL_ERR_JRET
    - sclCreateColumnInfoData
    - getBinScalarOperatorFn
    - nodeType
    - sclCalcStreamCurrWinTimeRange
    - OperatorFn
    - sclCalcStreamExtWinsTimeRange
    - sclFreeParamList
    - scalarGetOperatorParamNum
    - sclInitOperatorParams
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclExecOperator(SOperatorNode *node, SScalarCtx *ctx, SScalarParam
      *output)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1844,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1845,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1849,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1851,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1857,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1857,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1859,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1859,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1860,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1860,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1866,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1866,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1871,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1871,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1872,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1872,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1874,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1875,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1877,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1878,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1879,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1880,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1881,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1883,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1883,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1886,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1888,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1888,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1889,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1890,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1892,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1892,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1896,1
    - Dst: sclWalkCaseWhenList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1896,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1905,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1907,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1908,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1908,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1910,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1910,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1910,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1913,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1913,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1917,1
    - Dst: sclWalkWhenList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1917,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1926,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1927,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1928,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1929,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1930,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1931,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1932,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1933,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1934,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1940,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1941,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1942,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1943,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1944,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1945,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1946,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1947,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1948,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1949,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1951,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SCaseWhenNode*
    - SScalarCtx*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1833
    functionDepth: 7
    functionLinenumber: 1833
    functionLinenumberEnd: 1952
    functionName: sclExecCaseWhen
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_RET
    - sclError
    - sclGetNodeRes
    - sclWalkWhenList
    - SCL_RET
    - colDataGetData
    - SCL_ERR_JRET
    - setTzCharset
    - sclCreateColumnInfoData
    - colDataSetVal
    - vectorCompare
    - taosMemoryFree
    - sclExtendResRows
    - sclFreeParam
    - colDataIsNull_s
    - sclWalkCaseWhenList
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclExecCaseWhen(SCaseWhenNode *node, SScalarCtx *ctx, SScalarParam
      *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1974,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1976,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pNode
    - ctx
    - opType
    argTypes:
    - SNode**
    - SScalarCtx*
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1990
    functionName: sclRewriteNullInOptr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - sclError
    - nodesDestroyNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclRewriteNullInOptr(SNode **pNode, SScalarCtx *ctx, EOperatorType
      opType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1993,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1992
    functionDepth: 1
    functionLinenumber: 1992
    functionLinenumberEnd: 2002
    functionName: sclAggFuncWalker
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsAggFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclAggFuncWalker(SNode *pNode, void *pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 2004
    functionDepth: 1
    functionLinenumber: 2004
    functionLinenumberEnd: 2008
    functionName: sclContainsAggFuncNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool sclContainsAggFuncNode(SNode *pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2018,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2010
    functionDepth: 1
    functionLinenumber: 2010
    functionLinenumberEnd: 2026
    functionName: sclGetOpValueNodeTsPrecision
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - TMAX
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t sclGetOpValueNodeTsPrecision(SNode *pLeft, SNode *pRight)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2033,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2035,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2038,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2038,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2044,1
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2045,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2046,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2046,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - node
    argTypes:
    - SCaseWhenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2028
    functionDepth: 2
    functionLinenumber: 2028
    functionLinenumberEnd: 2053
    functionName: sclConvertCaseWhenValueNodeTs
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_RET
    - FOREACH
    - sclConvertToTsValueNode
    - SCL_IS_VAR_VALUE_NODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclConvertCaseWhenValueNodeTs(SCaseWhenNode *node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2059,1
    - Dst: SCL_IS_NULL_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2061,1
    - Dst: sclContainsAggFuncNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2062,1
    - Dst: SCL_IS_REMOTE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2062,1
    - Dst: sclRewriteNullInOptr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2063,1
    - Dst: SCL_IS_COMPARISON_OPERATOR
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2066,1
    - Dst: SCL_DOWNGRADE_DATETYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2066,1
    - Dst: sclDowngradeValueType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2067,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2071,1
    - Dst: SCL_IS_NULL_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2073,1
    - Dst: sclContainsAggFuncNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2074,1
    - Dst: SCL_IS_REMOTE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2074,1
    - Dst: sclRewriteNullInOptr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2075,1
    - Dst: SCL_IS_COMPARISON_OPERATOR
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2078,1
    - Dst: SCL_DOWNGRADE_DATETYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2078,1
    - Dst: sclDowngradeValueType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2079,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 18
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2055
    functionDepth: 2
    functionLinenumber: 2055
    functionLinenumberEnd: 2084
    functionName: sclRewriteNonConstOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_IS_COMPARISON_OPERATOR
    - sclContainsAggFuncNode
    - nodeType
    - sclRewriteNullInOptr
    - SCL_DOWNGRADE_DATETYPE
    - sclDowngradeValueType
    - SCL_IS_NULL_VALUE_NODE
    - SCL_IS_REMOTE_NODE
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclRewriteNonConstOperator(SNode **pNode, SScalarCtx *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2091,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2094,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2094,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2099,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - pNode
    - ppSrcTable
    - multiTable
    argTypes:
    - SNode*
    - char**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2116
    functionName: sclGetValueNodeSrcTable
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 1
    functionsReached:
    - nodeType
    - FOREACH
    - strcmp
    - sclGetValueNodeSrcTable
    linkageType: ''
    returnType: void
    signature: void sclGetValueNodeSrcTable(SNode *pNode, char **ppSrcTable, bool
      *multiTable)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2121,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2121,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2127,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2128,1
    - Dst: SCL_NEED_SRC_TABLE_FUNC
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2132,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2133,1
    - Dst: sclExecFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2139,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2141,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2146,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2148,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2149,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2156,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2158,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2163,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2168,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2169,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2171,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2172,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2173,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2177,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2178,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2180,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2181,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2181,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2183,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2183,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2184,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2185,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2189,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2189,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2191,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2191,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2193,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2193,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2194,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2195,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2199,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2199,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2202,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2204,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2205,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2206,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2210,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2212,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2214,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2215,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2221,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2224,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2118
    functionDepth: 8
    functionLinenumber: 2118
    functionLinenumberEnd: 2226
    functionName: sclRewriteFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - nodesSetValueNodeValue
    - getJsonValueLen
    - sclError
    - memcpy
    - sclFreeParam
    - taosMemoryCalloc
    - sclExecFunction
    - nodesMakeNode
    - FOREACH
    - tstrncpy
    - nodesDestroyNode
    - blobDataTLen
    - varDataTLen
    - sclGetValueNodeSrcTable
    - SCL_IS_CONST_NODE
    - IS_STR_DATA_BLOB
    - SCL_NEED_SRC_TABLE_FUNC
    - fmIsScalarFunc
    - fmIsUserDefinedFunc
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclRewriteFunction(SNode **pNode, SScalarCtx *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sclExecLogic
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2232,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2234,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2239,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2244,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2246,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2247,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2254,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2256,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2260,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2262,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2267,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2228
    functionDepth: 8
    functionLinenumber: 2228
    functionLinenumberEnd: 2272
    functionName: sclRewriteLogic
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - nodesSetValueNodeValue
    - sclExecLogic
    - nodesMakeNode
    - tstrncpy
    - sclFreeParam
    - nodesDestroyNode
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclRewriteLogic(SNode **pNode, SScalarCtx *ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: scalarConvertOpValueNodeTs
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2277,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2282,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2286,1
    - Dst: SCL_IS_NULL_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2287,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2289,1
    - Dst: sclRewriteNullInOptr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2297,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2301,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2301,1
    - Dst: sclRewriteNonConstOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2302,1
    - Dst: sclExecOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2306,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2308,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2313,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2315,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2316,1
    - Dst: SCL_NEED_SRC_TABLE_OP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2322,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2323,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2324,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2330,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2332,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2334,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2339,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2343,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2345,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2351,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2354,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2274
    functionDepth: 7
    functionLinenumber: 2274
    functionLinenumberEnd: 2356
    functionName: sclRewriteOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - nodesSetValueNodeValue
    - sclExecOperator
    - nodeType
    - sclRewriteNullInOptr
    - sclRewriteNonConstOperator
    - SCL_NEED_SRC_TABLE_OP
    - sclError
    - sclFreeParam
    - SCL_IS_NULL_VALUE_NODE
    - scalarConvertOpValueNodeTs
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - sclGetValueNodeSrcTable
    - SCL_IS_CONST_NODE
    - ERASE_NODE
    - WHERE_EACH
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclRewriteOperator(SNode **pNode, SScalarCtx *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sclConvertCaseWhenValueNodeTs
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2361,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2366,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2366,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2371,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2373,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2373,1
    - Dst: sclExecCaseWhen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2379,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2381,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2386,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2388,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2389,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2395,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2397,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2402,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2403,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2404,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2404,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2407,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2407,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2408,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2409,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2413,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2413,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2415,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2415,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2418,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2418,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2419,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2420,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2424,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2424,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2427,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2429,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2430,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2436,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2439,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2358
    functionDepth: 8
    functionLinenumber: 2358
    functionLinenumberEnd: 2441
    functionName: sclRewriteCaseWhen
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - sclError
    - memcpy
    - varDataTLen
    - nodesSetValueNodeValue
    - sclExecCaseWhen
    - IS_STR_DATA_BLOB
    - sclConvertCaseWhenValueNodeTs
    - nodesMakeNode
    - FOREACH
    - tstrncpy
    - colDataIsNull_s
    - sclFreeParam
    - nodesDestroyNode
    - SCL_IS_CONST_NODE
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclRewriteCaseWhen(SNode **pNode, SScalarCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2443
    functionDepth: 1
    functionLinenumber: 2443
    functionLinenumberEnd: 2457
    functionName: sclRewriteRemoteValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclRewriteRemoteValue(SNode **pNode, SScalarCtx *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2462,1
    - Dst: sclRewriteOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2464,1
    - Dst: sclRewriteFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2466,1
    - Dst: sclRewriteLogic
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2468,1
    - Dst: sclRewriteCaseWhen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2470,1
    - Dst: sclRewriteRemoteValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2459
    functionDepth: 9
    functionLinenumber: 2459
    functionLinenumberEnd: 2481
    functionName: sclConstantsRewriter
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclRewriteFunction
    - sclRewriteOperator
    - nodeType
    - sclRewriteCaseWhen
    - sclRewriteRemoteValue
    - sclRewriteLogic
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclConstantsRewriter(SNode **pNode, void *pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclExecFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2487,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2489,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2493,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2483
    functionDepth: 8
    functionLinenumber: 2483
    functionLinenumberEnd: 2500
    functionName: sclWalkFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - taosHashPut
    - sclExecFunction
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclWalkFunction(SNode *pNode, SScalarCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclExecLogic
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2506,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2508,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2512,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2502
    functionDepth: 8
    functionLinenumber: 2502
    functionLinenumberEnd: 2519
    functionName: sclWalkLogic
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - sclExecLogic
    - taosHashPut
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclWalkLogic(SNode *pNode, SScalarCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclExecOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2525,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2527,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2531,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2521
    functionDepth: 7
    functionLinenumber: 2521
    functionLinenumberEnd: 2538
    functionName: sclWalkOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - taosHashPut
    - sclExecOperator
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclWalkOperator(SNode *pNode, SScalarCtx *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2543,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2544,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2545,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2551,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2552,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2564,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2565,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2570,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2572,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2573,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2580,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2582,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2584,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2584,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2589,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2595,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2596,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2540
    functionDepth: 2
    functionLinenumber: 2540
    functionLinenumberEnd: 2601
    functionName: sclWalkTarget
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - taosArrayGet
    - taosHashRemove
    - taosHashGet
    - colDataAssign
    - nodeType
    - taosArrayGetSize
    - sclFreeParam
    - taosArrayGetP
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclWalkTarget(SNode *pNode, SScalarCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclExecCaseWhen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2607,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2603
    functionDepth: 8
    functionLinenumber: 2603
    functionLinenumberEnd: 2618
    functionName: sclWalkCaseWhen
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclExecCaseWhen
    - taosHashPut
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclWalkCaseWhen(SNode *pNode, SScalarCtx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2625,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2629,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2631,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - node
    - ctx
    - pOutput
    argTypes:
    - SRemoteValueNode*
    - SScalarCtx*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2620
    functionDepth: 5
    functionLinenumber: 2620
    functionLinenumberEnd: 2636
    functionName: sclExecRemoteValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_JRET
    - sclError
    - SCL_ERR_RET
    - sclInitParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclExecRemoteValue(SRemoteValueNode *node, SScalarCtx *ctx,
      SScalarParam* pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclExecRemoteValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2642,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2647,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2638
    functionDepth: 6
    functionLinenumber: 2638
    functionLinenumberEnd: 2654
    functionName: sclWalkRemoteValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclFreeParam
    - taosHashPut
    - sclExecRemoteValue
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclWalkRemoteValue(SNode *pNode, SScalarCtx *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2659,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2659,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2660,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2660,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2661,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2661,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2662,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2662,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2663,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2668,1
    - Dst: sclWalkOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2670,1
    - Dst: sclWalkFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2672,1
    - Dst: sclWalkLogic
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2674,1
    - Dst: sclWalkTarget
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2676,1
    - Dst: sclWalkCaseWhen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2678,1
    - Dst: sclWalkRemoteValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2680,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2685,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2685,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2688
      start: 2658
    functionDepth: 9
    functionLinenumber: 2658
    functionLinenumberEnd: 2688
    functionName: sclCalcWalker
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - sclWalkCaseWhen
    - sclWalkTarget
    - sclWalkRemoteValue
    - nodeType
    - sclWalkFunction
    - sclWalkOperator
    - sclWalkLogic
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes sclCalcWalker(SNode *pNode, void *pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2692,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2700,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2700,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2702,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2703,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2715,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2716,1
    - Dst: sclFreeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 6
    argNames:
    - pNode
    - dual
    - remoteIncluded
    - nullResExpected
    - pRes
    - pExtra
    argTypes:
    - SNode*
    - bool
    - bool
    - bool
    - SNode**
    - SScalarExtraInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2690
    functionDepth: 2
    functionLinenumber: 2690
    functionLinenumberEnd: 2723
    functionName: sclCalcConstants
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - sclFreeRes
    - SCL_ERR_JRET
    - nodesRewriteExprPostOrder
    - taosHashInit
    - taosGetDefaultHashFunction
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclCalcConstants(SNode *pNode, bool dual, bool remoteIncluded,
      bool nullResExpected, SNode **pRes, SScalarExtraInfo* pExtra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2727,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2725
    functionDepth: 1
    functionLinenumber: 2725
    functionLinenumberEnd: 2738
    functionName: sclGetMinusOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - IS_MATHABLE_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclGetMinusOperatorResType(SOperatorNode *pOp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2747,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2747,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2751,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2752,1
    - Dst: checkOperatorRestypeIsTimestamp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2756,1
    - Dst: sclGetOpValueNodeTsPrecision
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2759,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2762,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2740
    functionDepth: 2
    functionLinenumber: 2740
    functionLinenumberEnd: 2769
    functionName: sclGetMathOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - sclGetOpValueNodeTsPrecision
    - decimalGetRetType
    - checkOperatorRestypeIsTimestamp
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclGetMathOperatorResType(SOperatorNode *pOp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsRegularOp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2783,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2788,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2789,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2790,1
    - Dst: nodesIsMatchRegularOp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2794,1
    - Dst: checkRegexPattern
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2795,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2771
    functionDepth: 1
    functionLinenumber: 2771
    functionLinenumberEnd: 2803
    functionName: sclGetCompOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - nodesIsRegularOp
    - nodeType
    - nodesIsMatchRegularOp
    - checkRegexPattern
    - IS_STR_DATA_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclGetCompOperatorResType(SOperatorNode *pOp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2813,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2823
    functionName: sclGetJsonOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclGetJsonOperatorResType(SOperatorNode *pOp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2834,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2825
    functionDepth: 1
    functionLinenumber: 2825
    functionLinenumberEnd: 2838
    functionName: sclGetBitwiseOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sclGetBitwiseOperatorResType(SOperatorNode *pOp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2841,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2843,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2844,1
    - Dst: sclGetOpValueNodeTsPrecision
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2844,1
    - Dst: SCL_IS_NOTNULL_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2846,1
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2848,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2849,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2849,1
    - Dst: sclGetOpValueNodeTsPrecision
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2849,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2853,1
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2854,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2855,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2855,1
    - Dst: sclGetOpValueNodeTsPrecision
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2855,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - node
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2840
    functionDepth: 2
    functionLinenumber: 2840
    functionLinenumberEnd: 2862
    functionName: scalarConvertOpValueNodeTs
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 1
    functionsReached:
    - sclGetOpValueNodeTsPrecision
    - SCL_IS_VAR_VALUE_NODE
    - SCL_IS_NOTNULL_CONST_NODE
    - FOREACH
    - sclConvertToTsValueNode
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarConvertOpValueNodeTs(SOperatorNode *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sclCalcConstants
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pRes
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2864
    functionDepth: 3
    functionLinenumber: 2864
    functionLinenumberEnd: 2864
    functionName: scalarCalculateConstants
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 44
    functionsReached:
    - sclCalcConstants
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarCalculateConstants(SNode *pNode, SNode **pRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sclCalcConstants
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pRes
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2866
    functionDepth: 3
    functionLinenumber: 2866
    functionLinenumberEnd: 2866
    functionName: scalarCalculateConstantsFromDual
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclCalcConstants
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarCalculateConstantsFromDual(SNode *pNode, SNode **pRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sclCalcConstants
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pRes
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2868
    functionDepth: 3
    functionLinenumber: 2868
    functionLinenumberEnd: 2868
    functionName: scalarCalculateProjectionConstants
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclCalcConstants
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarCalculateProjectionConstants(SNode *pNode, SNode **pRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sclCalcConstants
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pRes
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2870
      start: 2870
    functionDepth: 3
    functionLinenumber: 2870
    functionLinenumberEnd: 2870
    functionName: scalarCalculateProjectionConstantsFromDual
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclCalcConstants
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarCalculateProjectionConstantsFromDual(SNode *pNode, SNode
      **pRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sclCalcConstants
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pNode
    - pRes
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2876
      start: 2872
    functionDepth: 3
    functionLinenumber: 2872
    functionLinenumberEnd: 2876
    functionName: scalarCalculateRemoteConstants
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclCalcConstants
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarCalculateRemoteConstants(SNode *pNode, SNode **pRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalarCalculateInRange
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pNode
    - pBlockList
    - pDst
    - pExtra
    argTypes:
    - SNode*
    - SArray*
    - SScalarParam*
    - SScalarExtraInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2878
    functionDepth: 1
    functionLinenumber: 2878
    functionLinenumberEnd: 2880
    functionName: scalarCalculate
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 16
    functionsReached:
    - scalarCalculateInRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarCalculate(SNode *pNode, SArray *pBlockList, SScalarParam
      *pDst, SScalarExtraInfo* pExtra)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2885,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2900,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2900,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2902,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2903,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2906,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2907,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2910,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2912,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2912,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2913,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2918,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2920,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2925,1
    - Dst: sclExtendResRowsRange
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2925,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2927,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2927,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2928,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2928,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2933,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2934,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2934,1
    - Dst: sclFreeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2938,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 6
    argNames:
    - pNode
    - pBlockList
    - pDst
    - rowStartIdx
    - rowEndIdx
    - pExtra
    argTypes:
    - SNode*
    - SArray*
    - SScalarParam*
    - int32_t
    - int32_t
    - SScalarExtraInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2882
    functionDepth: 2
    functionLinenumber: 2882
    functionLinenumberEnd: 2940
    functionName: scalarCalculateInRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 1
    functionsReached:
    - SCL_ERR_RET
    - sclError
    - taosArrayGetP
    - sclExtendResRowsRange
    - colInfoDataEnsureCapacity
    - sclFreeRes
    - SCL_ERR_JRET
    - taosHashRemove
    - taosHashGet
    - colDataAssign
    - nodeType
    - taosHashInit
    - taosGetDefaultHashFunction
    - sclFreeParam
    - nodesWalkExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: "int32_t scalarCalculateInRange(SNode *pNode, SArray *pBlockList, SScalarParam
      *pDst, int32_t rowStartIdx,\n                               int32_t rowEndIdx,
      SScalarExtraInfo* pExtra)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2949,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2949,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2951,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2952,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2956,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2957,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2960,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2961,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2966,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2966,1
    - Dst: sclFreeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pNode
    - pExtraParam
    - pWins
    argTypes:
    - STimeRangeNode*
    - void*
    - SExtWinTimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2942
    functionDepth: 2
    functionLinenumber: 2942
    functionLinenumberEnd: 2971
    functionName: scalarCalculateExtWinsTimeRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - SCL_ERR_RET
    - sclError
    - sclFreeRes
    - SCL_ERR_JRET
    - qError
    - taosHashInit
    - taosGetDefaultHashFunction
    - tstrerror
    - nodesWalkExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarCalculateExtWinsTimeRange(STimeRangeNode *pNode, const
      void *pExtraParam, SExtWinTimeWindow *pWins)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2976,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2976,1
    - Dst: sclGetMathOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2986,1
    - Dst: sclGetMinusOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2988,1
    - Dst: sclGetBitwiseOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:2994,1
    - Dst: sclGetCompOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:3015,1
    - Dst: sclGetJsonOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:3018,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 2973
    functionDepth: 3
    functionLinenumber: 2973
    functionLinenumberEnd: 3024
    functionName: scalarGetOperatorResultType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: 0
    functionsReached:
    - sclError
    - sclGetMinusOperatorResType
    - operatorTypeStr
    - sclGetJsonOperatorResType
    - sclGetBitwiseOperatorResType
    - sclGetCompOperatorResType
    - sclGetMathOperatorResType
    linkageType: ''
    returnType: int32_t
    signature: int32_t scalarGetOperatorResultType(SOperatorNode *pOp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - col
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: IS_HELPER_NULL
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HELPER_NULL(col, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:45,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:45,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:45,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - leftType
    - rightType
    - optr
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: noConvertBeforeCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - IS_NUMERIC_TYPE
    linkageType: ''
    returnType: bool
    signature: bool noConvertBeforeCompare(int32_t leftType, int32_t rightType, int32_t
      optr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:63,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:67,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:71,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:75,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:80,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:84,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:88,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:92,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:96,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:100,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:104,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 4
    argNames:
    - inData
    - outData
    - inType
    - outType
    argTypes:
    - void*
    - void*
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 112
    functionName: convertNumberToNumber
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertNumberToNumber(const void *inData, void *outData, int8_t
      inType, int8_t outType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:116,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:116,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:118,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:120,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:120,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:120,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:122,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:123,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:128,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:133,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - inData
    - outData
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: convertNcharToDouble
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - taosUcs4ToMbs
    - taosMemoryMalloc
    - sclError
    - varDataTLen
    - taosMemoryFreeClear
    - SCL_RET
    - SCL_ERR_JRET
    - varDataLen
    - taosStr2Double
    - varDataVal
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertNcharToDouble(const void *inData, void *outData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: getVectorBigintValue_TINYINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVectorBigintValue_TINYINT(void *src, int32_t index, int64_t
      *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: getVectorBigintValue_UTINYINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    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:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: getVectorBigintValue_SMALLINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    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:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: getVectorBigintValue_USMALLINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    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:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: getVectorBigintValue_INT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    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:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: getVectorBigintValue_UINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVectorBigintValue_UINT(void *src, int32_t index, int64_t
      *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: getVectorBigintValue_BIGINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVectorBigintValue_BIGINT(void *src, int32_t index, int64_t
      *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: getVectorBigintValue_UBIGINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVectorBigintValue_UBIGINT(void *src, int32_t index, int64_t
      *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: getVectorBigintValue_FLOAT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    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:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: getVectorBigintValue_DOUBLE
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVectorBigintValue_DOUBLE(void *src, int32_t index, int64_t
      *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: getVectorBigintValue_BOOL
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVectorBigintValue_BOOL(void *src, int32_t index, int64_t
      *res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:185,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:186,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:187,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:189,1
    - Dst: SCL_RET
      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: convertNcharToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:195,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:196,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:198,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:200,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:200,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: getVectorBigintValue_JSON
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - sclError
    - SCL_RET
    - colDataGetVarData
    - convertNcharToDouble
    - convertNumberToNumber
    - colDataIsNull_var
    - SCL_ERR_RET
    - tTagIsJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVectorBigintValue_JSON(void *src, int32_t index, int64_t
      *res)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:237,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - srcType
    - p
    argTypes:
    - int32_t
    - _getBigintValue_fn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 241
    functionName: getVectorBigintValueFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - sclError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVectorBigintValueFn(int32_t srcType, _getBigintValue_fn_t
      *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosParseTime
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:246,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:246,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:250,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: varToTimestamp
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - strlen
    - SCL_RET
    - colDataSetInt64
    - taosParseTime
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToTimestamp(char *buf, SScalarParam *pOut, int32_t
      rowIndex, int8_t *overflow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:255,1
    - Dst: decimalFromStr
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:256,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:256,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:259,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: varToDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - strlen
    - decimalFromStr
    - SCL_RET
    - colDataGetData
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToDecimal(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int8_t *overflow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:268,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:271,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:274,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:282,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:284,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:288,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:289,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:293,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:294,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:298,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:299,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 304
    functionName: varToSigned
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - taosStr2Int8
    - taosStr2Int32
    - colDataSetInt32
    - taosStr2Int16
    - colDataSetInt16
    - taosStr2Int64
    - colDataSetInt8
    - colDataSetInt64
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToSigned(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int8_t *overflow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:310,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:313,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:316,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:324,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:325,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:329,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:330,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:334,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:335,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:339,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:340,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 345
    functionName: varToUnsigned
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - taosStr2UInt32
    - taosStr2UInt64
    - SCL_RET
    - colDataSetInt32
    - colDataSetInt16
    - taosStr2UInt16
    - colDataSetInt8
    - taosStr2UInt8
    - colDataSetInt64
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToUnsigned(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int8_t *overflow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:349,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:350,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:351,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:354,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:355,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 357
    functionName: varToFloat
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - colDataSetDouble
    - colDataSetFloat
    - taosStr2Float
    - taosStr2Double
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToFloat(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int8_t *overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:360,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:362,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: varToBool
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - taosStr2Int64
    - colDataSetInt8
    - SCL_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToBool(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int8_t *overflow)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isHex
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:368,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:368,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:368,1
    - Dst: isValidateHex
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:369,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:369,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:369,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:370,1
    - Dst: taosHex2Ascii
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:375,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:375,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:375,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:376,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:379,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:381,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:382,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:383,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:385,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:386,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:386,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:387,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:388,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:389,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:390,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:392,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:393,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:395,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:396,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:398,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:399,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:400,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:401,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 404
    functionName: varToVarbinary
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - taosHex2Ascii
    - sclError
    - memcpy
    - varDataTLen
    - SCL_RET
    - isHex
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - isValidateHex
    - taosMemoryCalloc
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToVarbinary(char *buf, SScalarParam *pOut, int32_t
      rowIndex, int8_t *overflow)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isHex
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:407,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:407,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:407,1
    - Dst: isValidateHex
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:408,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:408,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:408,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:409,1
    - Dst: taosHex2Ascii
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:414,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:414,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:414,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:415,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:418,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:420,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:421,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:422,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:424,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:425,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:425,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:426,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:427,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:428,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:429,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:431,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:432,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:434,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:435,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:437,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:438,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:439,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:440,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 443
    functionName: varToVarbinaryBlob
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - taosHex2Ascii
    - sclError
    - blobDataLen
    - memcpy
    - SCL_RET
    - blobDataSetLen
    - isHex
    - colDataSetVal
    - taosMemoryFree
    - blobDataVal
    - isValidateHex
    - taosMemoryCalloc
    - SCL_ERR_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToVarbinaryBlob(char *buf, SScalarParam *pOut, int32_t
      rowIndex, int8_t *overflow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:447,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:451,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:453,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:455,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:455,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:455,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:458,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:459,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:461,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:463,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:463,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:466,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 468
    functionName: varToNchar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - sclError
    - SCL_RET
    - SCL_ERR_JRET
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - taosMbsToUcs4
    - taosMemoryCalloc
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToNchar(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int8_t *overflow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:472,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:474,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:476,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:478,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:478,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:478,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:478,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:480,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:482,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:484,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:484,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:487,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 489
    functionName: ncharToVar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - taosUcs4ToMbs
    - SCL_RET
    - SCL_ERR_JRET
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - taosMemoryCalloc
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE ncharToVar(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int8_t *overflow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initCtxGeomFromText
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:499,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:500,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:500,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:501,1
    - Dst: doGeomFromText
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:503,1
    - Dst: sclInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:504,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:504,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:505,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:508,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:510,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:512,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:513,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:515,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:515,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:517,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:518,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:520,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:523,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:524,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:527,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:527,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:528,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 532
    functionName: varToGeometry
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - getGeosErrMsg
    - sclError
    - SCL_RET
    - memcpy
    - SCL_ERR_JRET
    - sclInfo
    - geosFreeBuffer
    - colDataSetVal
    - taosMemoryFree
    - TAOS_RETURN
    - doGeomFromText
    - taosMemoryCalloc
    - SCL_ERR_RET
    - initCtxGeomFromText
    - varDataSetLen
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE varToGeometry(char *buf, SScalarParam *pOut, int32_t rowIndex,
      int8_t *overflow)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:542,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:544,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:546,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:563,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:565,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:569,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:570,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:577,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:578,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:582,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:588,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:589,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:591,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:591,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:591,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:598,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:598,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:603,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:605,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:605,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:607,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:608,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:610,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:614,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:614,1
    - Dst: memcpy
      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: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:619,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:622,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:623,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:624,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:627,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:627,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:627,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:629,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:630,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:637,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:642,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:644,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 97
    argCount: 2
    argNames:
    - pCtx
    - overflow
    argTypes:
    - SSclVectorConvCtx*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 645
    functionName: vectorConvertFromVarData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - colDataGetVarData
    - tTagIsJson
    - sclError
    - taosUcs4ToMbs
    - memcpy
    - SCL_ERR_JRET
    - convertNumberToNumber
    - varDataLen
    - varDataVal
    - IS_DECIMAL_TYPE
    - colDataGetNumData
    - IS_UNSIGNED_NUMERIC_TYPE
    - SCL_ERR_RET
    - colDataSetNULL
    - IS_HELPER_NULL
    - taosMemoryMalloc
    - IS_SIGNED_NUMERIC_TYPE
    - varDataTLen
    - SCL_RET
    - TMAX
    - IS_STR_DATA_BLOB
    - IS_FLOAT_TYPE
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorConvertFromVarData(SSclVectorConvCtx *pCtx, int8_t *overflow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:648,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:651,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:653,1
    - Dst: convertNcharToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:653,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:654,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:655,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:657,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:657,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 660
    functionName: getVectorDoubleValue_JSON
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - colDataGetVarData
    - convertNcharToDouble
    - convertNumberToNumber
    - SCL_ERR_RET
    - tTagIsJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVectorDoubleValue_JSON(void *src, int32_t index, double
      *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:663,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:665,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:667,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:669,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:670,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:672,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:672,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:672,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:672,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:674,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:675,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:676,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:677,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:679,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - out
    - charsetCxt
    argTypes:
    - void*
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 681
    functionName: ncharTobinary
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - sclError
    - taosUcs4ToMbs
    - SCL_RET
    - varDataTLen
    - varDataLen
    - taosMemoryFree
    - varDataVal
    - taosMemoryCalloc
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t ncharTobinary(void *buf, void **out, void *charsetCxt)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:698,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:706,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:723,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:723,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:724,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:724,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:725,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:725,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:726,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:726,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:738,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:740,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:746,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:746,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:749,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:749,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:751,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:756,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:756,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:765,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:765,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:771,1
    - Dst: ncharTobinary
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:771,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:777,1
    - Dst: ncharTobinary
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:777,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 85
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 788
    functionName: convertJsonValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - sclError
    - tTagIsJson
    - SCL_RET
    - convertNumberToNumber
    - vectorGetConvertType
    - IS_NUMERIC_TYPE
    - filterGetCompFunc
    - ncharTobinary
    - SCL_ERR_RET
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t convertJsonValue(__compar_fn_t *fp, int32_t optr, int8_t typeLeft,
      int8_t typeRight, char **pLeftData,\n                         char **pRightData,
      void *pLeftOut, void *pRightOut, bool *isNull, bool *freeLeft,\n                         bool
      *freeRight, bool *result, void *charsetCxt)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:795,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:798,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:799,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:806,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:806,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:807,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:809,1
    - Dst: varToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:809,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:811,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:811,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:814,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:816,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:817,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:824,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:824,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:825,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:827,1
    - Dst: varToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:827,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:829,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:829,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:832,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:834,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:835,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:842,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:842,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:843,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:845,1
    - Dst: varToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:845,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:847,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:847,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:851,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSclVectorConvCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 790
    functionDepth: 2
    functionLinenumber: 790
    functionLinenumberEnd: 856
    functionName: vectorConvertToVarData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - sclError
    - IS_SIGNED_NUMERIC_TYPE
    - varDataVal
    - varDataLen
    - colDataSetVal
    - snprintf
    - varToNchar
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - colDataIsNull_f
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorConvertToVarData(SSclVectorConvCtx *pCtx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:859,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:877,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - pInputCol
    - inType
    - outType
    - overflow
    argTypes:
    - SColumnInfoData*
    - int16_t
    - int16_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 894
    functionName: vectorConvertCheckOverflow
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: void
    signature: void vectorConvertCheckOverflow(SColumnInfoData *pInputCol, int16_t
      inType, int16_t outType, int8_t *overflow)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:903,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:911,1
    - Dst: vectorConvertFromVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:912,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:919,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:920,1
    - Dst: vectorConvertCheckOverflow
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:925,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:931,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:937,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:938,1
    - Dst: vectorConvertCheckOverflow
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:943,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:949,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:955,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:956,1
    - Dst: vectorConvertCheckOverflow
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:961,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:967,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:973,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:974,1
    - Dst: vectorConvertCheckOverflow
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:979,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:985,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:992,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:993,1
    - Dst: vectorConvertCheckOverflow
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:998,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1004,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1010,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1011,1
    - Dst: vectorConvertCheckOverflow
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1016,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1022,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1028,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1029,1
    - Dst: vectorConvertCheckOverflow
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1034,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1040,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1046,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1047,1
    - Dst: vectorConvertCheckOverflow
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1052,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1058,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1064,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1065,1
    - Dst: vectorConvertCheckOverflow
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1070,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1076,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1082,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1083,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1090,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1096,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1097,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1104,1
    - Dst: vectorConvertToVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1112,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1116,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1117,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1122,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1122,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1123,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1123,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1125,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1131,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 184
    argCount: 5
    argNames:
    - pIn
    - pOut
    - overflow
    - startIndex
    - numOfRows
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - int8_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 897
    functionDepth: 3
    functionLinenumber: 897
    functionLinenumberEnd: 1136
    functionName: vectorConvertSingleColImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 2
    functionsReached:
    - colDataSetNULL
    - sclError
    - colDataGetData
    - vectorConvertFromVarData
    - colDataSetInt32
    - colDataSetDouble
    - convertToDecimal
    - colDataSetFloat
    - colDataSetVal
    - vectorConvertToVarData
    - colDataSetInt8
    - colDataSetInt16
    - colDataIsNull_f
    - vectorConvertCheckOverflow
    - GET_COL_DATA_TYPE
    - IS_VAR_DATA_TYPE
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorConvertSingleColImpl(const SScalarParam *pIn, SScalarParam
      *pOut, int8_t *overflow, int32_t startIndex,\n                                   int32_t
      numOfRows)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - type1
    - type2
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1200
    functionName: vectorGetConvertType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorGetConvertType(int32_t type1, int32_t type2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1205,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1209,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1211,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1212,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1212,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1214,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1214,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1214,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1216,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1217,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1217,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1220,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1221,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1221,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1221,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1224,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1225,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1225,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1226,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1228,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1229,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1229,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - type
    - pCol1
    - param2
    argTypes:
    - int32_t
    - SColumnInfo*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1234
    functionName: getConvertTypeMod
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - GET_DEICMAL_MAX_PRECISION
    - TMAX
    - decimalCalcTypeMod
    - decimalFromTypeMod
    linkageType: ''
    returnType: STypeMod
    signature: STypeMod getConvertTypeMod(int32_t type, const SColumnInfo *pCol1,
      SScalarParam *param2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1244,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1246,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1247,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1248,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1250,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1253,1
    - Dst: vectorConvertSingleColImpl
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - input
    - output
    - type
    - typeMod
    - startIndex
    - numOfRows
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - STypeMod
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1236
    functionDepth: 4
    functionLinenumber: 1236
    functionLinenumberEnd: 1264
    functionName: vectorConvertSingleCol
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - IS_DECIMAL_TYPE
    - IS_TIMESTAMP_TYPE
    - vectorConvertSingleColImpl
    - extractTypeFromTypeMod
    - sclCreateColumnInfoData
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorConvertSingleCol(SScalarParam *input, SScalarParam *output,
      int32_t type, STypeMod typeMod,\n                               int32_t startIndex,
      int32_t numOfRows)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1268,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1269,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1281,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1281,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1281,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1286,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1286,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1286,1
    - Dst: getConvertTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1290,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1292,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1293,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1293,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1296,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1297,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - pLeft
    - pRight
    - pLeftOut
    - pRightOut
    - startIndex
    - numOfRows
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1266
    functionDepth: 5
    functionLinenumber: 1266
    functionLinenumberEnd: 1301
    functionName: vectorConvertCols
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - sclError
    - getConvertTypeMod
    - GET_PARAM_TYPE
    - vectorConvertSingleCol
    - vectorGetConvertType
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorConvertCols(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pLeftOut, SScalarParam *pRightOut,\n                          int32_t
      startIndex, int32_t numOfRows)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1313,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1313,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1314,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1314,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1318,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1319,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1322,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1323,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1328,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1328,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1329,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1329,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - pLeftCol
    - pRightCol
    - pOutputCol
    - numOfRows
    - step
    - i
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1334
    functionName: vectorMathAddHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_HELPER_NULL
    - SCL_RET
    - getVectorDoubleValueFn
    - getVectorDoubleValueFnRight
    - colDataSetNNULL
    - SCL_ERR_RET
    - getVectorDoubleValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorMathAddHelper(SColumnInfoData *pLeftCol, SColumnInfoData
      *pRightCol, SColumnInfoData *pOutputCol,\n                                   int32_t
      numOfRows, int32_t step, int32_t i)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1340,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1340,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1341,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1341,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1344,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1345,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1348,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1349,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1354,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1354,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1355,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1355,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1356,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 7
    argNames:
    - pLeftCol
    - pRightCol
    - pOutputCol
    - numOfRows
    - step
    - i
    - tz
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1336
    functionDepth: 2
    functionLinenumber: 1336
    functionLinenumberEnd: 1360
    functionName: vectorMathTsAddHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_HELPER_NULL
    - taosTimeAdd
    - SCL_RET
    - getVectorBigintValueFnRight
    - colDataSetNNULL
    - getVectorBigintValueFn
    - getVectorBigintValueFnLeft
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorMathTsAddHelper(SColumnInfoData *pLeftCol, SColumnInfoData
      *pRightCol, SColumnInfoData *pOutputCol,\n                                     int32_t
      numOfRows, int32_t step, int32_t i, timezone_t tz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1367,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1368,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1369,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1370,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1370,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1373,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pInput
    - converted
    - pOutputCol
    argTypes:
    - SScalarParam*
    - int32_t*
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1362
    functionDepth: 5
    functionLinenumber: 1362
    functionLinenumberEnd: 1379
    functionName: vectorConvertVarToDouble
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - SCL_RET
    - vectorConvertSingleCol
    - IS_STR_DATA_BLOB
    - SCL_ERR_RET
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorConvertVarToDouble(SScalarParam *pInput, int32_t *converted,
      SColumnInfoData **pOutputCol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1383,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCol
    - type
    argTypes:
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1381
    functionDepth: 1
    functionLinenumber: 1381
    functionLinenumberEnd: 1386
    functionName: doReleaseVec
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: void doReleaseVec(SColumnInfoData *pCol, int32_t type)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1391,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1394,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1404,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1404,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1405,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1405,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1408,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1409,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1409,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1411,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1411,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1414,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1414,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1416,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1416,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1420,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1425,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1425,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1426,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1426,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1430,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1431,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1431,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1433,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1433,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1434,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1434,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1438,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1438,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1439,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1439,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1443,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1448,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1448,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1449,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1449,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1453,1
    - Dst: vectorMathAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1453,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1455,1
    - Dst: vectorMathAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1455,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1460,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1461,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1462,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1388
    functionDepth: 6
    functionLinenumber: 1388
    functionLinenumberEnd: 1463
    functionName: vectorMathAdd
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - colDataSetNULL
    - vectorMathAddHelper
    - vectorConvertVarToDouble
    - SCL_RET
    - getVectorBigintValueFnRight
    - GET_PARAM_TYPE
    - SCL_ERR_JRET
    - TMAX
    - getVectorDoubleValueFn
    - getVectorDoubleValueFnRight
    - vectorMathBinaryOpForDecimal
    - doReleaseVec
    - getVectorBigintValueFn
    - vectorMathTsAddHelper
    - getVectorBigintValueFnLeft
    - getVectorDoubleValueFnLeft
    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:1470,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1470,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1471,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1471,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1475,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1476,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1479,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1480,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1485,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1485,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1486,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1486,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 7
    argNames:
    - pLeftCol
    - pRightCol
    - pOutputCol
    - numOfRows
    - step
    - factor
    - i
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1491
    functionName: vectorMathSubHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_HELPER_NULL
    - SCL_RET
    - getVectorDoubleValueFn
    - getVectorDoubleValueFnRight
    - colDataSetNNULL
    - SCL_ERR_RET
    - getVectorDoubleValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorMathSubHelper(SColumnInfoData *pLeftCol, SColumnInfoData
      *pRightCol, SColumnInfoData *pOutputCol,\n                                   int32_t
      numOfRows, int32_t step, int32_t factor, int32_t i)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1497,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1497,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1498,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1498,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1502,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1503,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1506,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1507,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1512,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1512,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1513,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1513,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1514,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1493
    functionDepth: 2
    functionLinenumber: 1493
    functionLinenumberEnd: 1518
    functionName: vectorMathTsSubHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_HELPER_NULL
    - taosTimeAdd
    - SCL_RET
    - getVectorBigintValueFnRight
    - colDataSetNNULL
    - getVectorBigintValueFn
    - getVectorBigintValueFnLeft
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorMathTsSubHelper(SColumnInfoData *pLeftCol, SColumnInfoData
      *pRightCol, SColumnInfoData *pOutputCol,\n                                     int32_t
      numOfRows, int32_t step, int32_t factor, int32_t i, timezone_t tz)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1523,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1526,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1534,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1534,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1535,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1535,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1539,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1539,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1540,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1540,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1543,1
    - Dst: vectorMathTsSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1543,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1545,1
    - Dst: vectorMathTsSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1545,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1547,1
    - Dst: vectorMathTsSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1547,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1551,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1556,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1556,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1557,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1557,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1562,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1562,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1564,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1564,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1565,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1565,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1569,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1569,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1570,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1570,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1575,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1580,1
    - Dst: getVectorDoubleValueFnLeft
      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: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1581,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1585,1
    - Dst: vectorMathSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1585,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1587,1
    - Dst: vectorMathSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1587,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1592,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1593,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1594,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1520
    functionDepth: 6
    functionLinenumber: 1520
    functionLinenumberEnd: 1595
    functionName: vectorMathSub
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - vectorConvertVarToDouble
    - SCL_RET
    - getVectorBigintValueFnRight
    - getVectorDoubleValueFn
    - SCL_ERR_JRET
    - TMAX
    - vectorMathTsSubHelper
    - getVectorDoubleValueFnRight
    - vectorMathSubHelper
    - vectorMathBinaryOpForDecimal
    - doReleaseVec
    - getVectorBigintValueFn
    - getVectorBigintValueFnLeft
    - getVectorDoubleValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorMathSub(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:1602,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1602,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1603,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1603,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1607,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1608,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1611,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1612,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1617,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1617,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1618,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1618,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - pLeftCol
    - pRightCol
    - pOutputCol
    - numOfRows
    - step
    - i
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1623
    functionName: vectorMathMultiplyHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_HELPER_NULL
    - SCL_RET
    - getVectorDoubleValueFn
    - getVectorDoubleValueFnRight
    - colDataSetNNULL
    - SCL_ERR_RET
    - getVectorDoubleValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorMathMultiplyHelper(SColumnInfoData *pLeftCol, SColumnInfoData
      *pRightCol,\n                                        SColumnInfoData *pOutputCol,
      int32_t numOfRows, int32_t step, int32_t i)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1627,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1630,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1637,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1637,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1639,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1639,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1640,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1640,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1644,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1644,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1645,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1645,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1651,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1656,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1656,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1657,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1657,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1661,1
    - Dst: vectorMathMultiplyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1661,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1663,1
    - Dst: vectorMathMultiplyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1663,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1668,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1669,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1625
    functionDepth: 6
    functionLinenumber: 1625
    functionLinenumberEnd: 1671
    functionName: vectorMathMultiply
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - vectorMathMultiplyHelper
    - vectorConvertVarToDouble
    - SCL_RET
    - getVectorDoubleValueFn
    - getVectorDoubleValueFnRight
    - SCL_ERR_JRET
    - TMAX
    - vectorMathBinaryOpForDecimal
    - doReleaseVec
    - getVectorDoubleValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorMathMultiply(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1675,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1678,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1685,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1685,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1687,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1687,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1688,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1688,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1692,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1692,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1693,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1693,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1699,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1703,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1703,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1705,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1709,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1709,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1713,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1714,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1717,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1718,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1722,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1722,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1724,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1728,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1728,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1733,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1734,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1737,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1737,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1739,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1742,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1743,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1747,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1747,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1756,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1757,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1758,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1673
    functionDepth: 6
    functionLinenumber: 1673
    functionLinenumberEnd: 1759
    functionName: vectorMathDivide
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_HELPER_NULL
    - vectorConvertVarToDouble
    - SCL_RET
    - getVectorDoubleValueFn
    - getVectorDoubleValueFnRight
    - SCL_ERR_JRET
    - TMAX
    - colDataSetNNULL
    - vectorMathBinaryOpForDecimal
    - doReleaseVec
    - getVectorDoubleValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorMathDivide(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1763,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1766,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1773,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1773,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1775,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1775,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1776,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1776,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1780,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1780,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1781,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1781,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1785,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1789,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1789,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1790,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1796,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1796,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1797,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1797,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1798,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1798,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1798,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1798,1
    - Dst: FLT_EQUAL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1798,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1799,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1807,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1808,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1809,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1761
    functionDepth: 6
    functionLinenumber: 1761
    functionLinenumberEnd: 1810
    functionName: vectorMathRemainder
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - FLT_EQUAL
    - colDataSetNULL
    - IS_HELPER_NULL
    - vectorConvertVarToDouble
    - SCL_RET
    - getVectorDoubleValueFn
    - getVectorDoubleValueFnRight
    - SCL_ERR_JRET
    - TMAX
    - vectorMathBinaryOpForDecimal
    - doReleaseVec
    - isnan
    - isinf
    - getVectorDoubleValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorMathRemainder(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:1823,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1824,1
    - Dst: vectorMathUnaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1824,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1826,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1826,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1829,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1829,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1833,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1834,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1838,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1838,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1844,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1845,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1812
    functionDepth: 6
    functionLinenumber: 1812
    functionLinenumberEnd: 1846
    functionName: vectorMathMinus
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - colDataSetNULL
    - IS_HELPER_NULL
    - vectorConvertVarToDouble
    - SCL_RET
    - getVectorDoubleValueFn
    - SCL_ERR_JRET
    - vectorMathUnaryOpForDecimal
    - doReleaseVec
    - getVectorDoubleValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorMathMinus(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1852,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1853,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1856,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1857,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1857,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1862,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1848
    functionDepth: 1
    functionLinenumber: 1848
    functionLinenumberEnd: 1867
    functionName: vectorAssign
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - sclError
    - colDataGetData
    - colDataSetNNULL
    - colDataSetVal
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorAssign(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1873,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1874,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1876,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1878,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1878,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1883,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - pLeft
    - pRight
    - pOut
    - rowStartIdx
    - rowEndIdx
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1888
    functionName: vectorAssignRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - sclError
    - colDataGetData
    - colDataSetNNULL
    - colDataSetVal
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorAssignRange(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t rowStartIdx,\n                          int32_t
      rowEndIdx, int32_t _ord)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1892,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1895,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1901,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1901,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1902,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1902,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1906,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1906,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1907,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1907,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1910,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1914,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1914,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1915,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1920,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1920,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1921,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1921,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1926,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1927,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1890
    functionDepth: 6
    functionLinenumber: 1890
    functionLinenumberEnd: 1929
    functionName: vectorBitAnd
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_HELPER_NULL
    - vectorConvertVarToDouble
    - SCL_RET
    - getVectorBigintValueFnRight
    - SCL_ERR_JRET
    - TMAX
    - doReleaseVec
    - getVectorBigintValueFn
    - getVectorBigintValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorBitAnd(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1933,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1936,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1942,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1942,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1943,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1943,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1947,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1947,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1948,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1948,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1951,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1955,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1955,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1956,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1962,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1962,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1963,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1963,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1968,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1969,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1970,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1931
    functionDepth: 6
    functionLinenumber: 1931
    functionLinenumberEnd: 1971
    functionName: vectorBitOr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_HELPER_NULL
    - vectorConvertVarToDouble
    - SCL_RET
    - getVectorBigintValueFnRight
    - SCL_ERR_JRET
    - TMAX
    - doReleaseVec
    - getVectorBigintValueFn
    - getVectorBigintValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorBitOr(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1977,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1977,1
    - Dst: sclDebug
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1980,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1982,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1982,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1986,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1987,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1995,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1996,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2011,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2013,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2014,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2018,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2022,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2031,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2031,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2031,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2035,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2037,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2038,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2044,1
    - Dst: compareForTypeWithColAndHash
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2053,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2057,1
    - Dst: compareForTypeWithColAndHash
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2058,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2068,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2072,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2075,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 81
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSclCompareCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 1973
    functionDepth: 2
    functionLinenumber: 1973
    functionLinenumberEnd: 2082
    functionName: vectorCompareWithHashParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_HELPER_NULL
    - colDataGetData
    - GET_PARAM_TYPE
    - taosHashGetSize
    - memset
    - compareForTypeWithColAndHash
    - filterGetCompFunc
    - sclDebug
    - colDataSetInt8
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorCompareWithHashParam(SSclCompareCtx *pCtx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: compareForType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2096,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2101,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2106,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2117,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2117,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2119,1
    - Dst: compareForType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2124,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2128,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2133,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSclCompareCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2084
    functionDepth: 1
    functionLinenumber: 2084
    functionLinenumberEnd: 2138
    functionName: vectorCompareBetweenMathTypes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_f
    - colDataSetNULL
    - compareForType
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorCompareBetweenMathTypes(SSclCompareCtx *pCtx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2149,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2149,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2151,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2152,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2156,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2157,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2165,1
    - Dst: convertJsonValue
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2165,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2165,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2165,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2170,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2171,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2178,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2180,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2181,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2184,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2189,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2194,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2198,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSclCompareCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2140
    functionDepth: 3
    functionLinenumber: 2140
    functionLinenumberEnd: 2203
    functionName: vectorCompareIncludeVarTypes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - convertJsonValue
    - colDataSetNULL
    - IS_HELPER_NULL
    - sclError
    - taosMemoryFreeClear
    - colDataGetData
    - GET_PARAM_TYPE
    - filterDoCompare
    - colDataSetInt8
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorCompareIncludeVarTypes(SSclCompareCtx *pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2214,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2215,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2223,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2225,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2226,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2227,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2231,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2231,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2231,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2231,1
    - Dst: vectorCompareBetweenMathTypes
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2232,1
    - Dst: vectorCompareIncludeVarTypes
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2235,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSclCompareCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2205
    functionDepth: 4
    functionLinenumber: 2205
    functionLinenumberEnd: 2236
    functionName: vectorCompareWithRemoteParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - vectorCompareIncludeVarTypes
    - memset
    - IS_MATHABLE_TYPE
    - vectorCompareBetweenMathTypes
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorCompareWithRemoteParam(SSclCompareCtx *pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vectorCompareWithHashParam
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2242,1
    - Dst: vectorCompareWithRemoteParam
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2246,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2249,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2249,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2249,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2249,1
    - Dst: vectorCompareBetweenMathTypes
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2250,1
    - Dst: vectorCompareIncludeVarTypes
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSclCompareCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2238
    functionDepth: 5
    functionLinenumber: 2238
    functionLinenumberEnd: 2254
    functionName: doVectorCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - GET_PARAM_TYPE
    - vectorCompareIncludeVarTypes
    - IS_MATHABLE_TYPE
    - vectorCompareWithRemoteParam
    - vectorCompareBetweenMathTypes
    - vectorCompareWithHashParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t doVectorCompare(SSclCompareCtx *pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2267,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2268,1
    - Dst: noConvertBeforeCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2269,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2269,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2269,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2273,1
    - Dst: vectorConvertCols
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2273,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2291,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2292,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2294,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2294,1
    - Dst: filterGetCompFuncEx
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2296,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2301,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2308,1
    - Dst: doVectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2308,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2312,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2313,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 6
    argNames:
    - pLeft
    - pRight
    - pOut
    - startIndex
    - numOfRows
    - optr
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2256
    functionDepth: 6
    functionLinenumber: 2256
    functionLinenumberEnd: 2316
    functionName: vectorCompareImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - SCL_RET
    - GET_PARAM_TYPE
    - SCL_ERR_JRET
    - setTzCharset
    - TMAX
    - vectorConvertCols
    - noConvertBeforeCompare
    - doVectorCompare
    - filterGetCompFunc
    - sclFreeParam
    - filterGetCompFuncEx
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorCompareImpl(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t startIndex,\n                          int32_t numOfRows,
      int32_t optr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2319,1
    - Dst: vectorCompareImpl
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    - optr
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2318
    functionDepth: 7
    functionLinenumber: 2318
    functionLinenumberEnd: 2320
    functionName: vectorCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - SCL_RET
    - vectorCompareImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorCompare(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord, int32_t optr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2323,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2322
    functionDepth: 8
    functionLinenumber: 2322
    functionLinenumberEnd: 2324
    functionName: vectorGreater
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    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:2327,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2326
    functionDepth: 8
    functionLinenumber: 2326
    functionLinenumberEnd: 2328
    functionName: vectorGreaterEqual
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    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:2331,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2330
    functionDepth: 8
    functionLinenumber: 2330
    functionLinenumberEnd: 2332
    functionName: vectorLower
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorLower(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:2335,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2334
    functionDepth: 8
    functionLinenumber: 2334
    functionLinenumberEnd: 2336
    functionName: vectorLowerEqual
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    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:2339,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2338
    functionDepth: 8
    functionLinenumber: 2338
    functionLinenumberEnd: 2340
    functionName: vectorEqual
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    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:2343,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2342
    functionDepth: 8
    functionLinenumber: 2342
    functionLinenumberEnd: 2344
    functionName: vectorNotEqual
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorNotEqual(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:2347,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2346
    functionDepth: 8
    functionLinenumber: 2346
    functionLinenumberEnd: 2348
    functionName: vectorIn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorIn(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:2351,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2350
    functionDepth: 8
    functionLinenumber: 2350
    functionLinenumberEnd: 2352
    functionName: vectorNotIn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorNotIn(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:2355,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2354
    functionDepth: 8
    functionLinenumber: 2354
    functionLinenumberEnd: 2356
    functionName: vectorLike
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    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:2359,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2358
    functionDepth: 8
    functionLinenumber: 2358
    functionLinenumberEnd: 2360
    functionName: vectorNotLike
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    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:2363,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2362
    functionDepth: 8
    functionLinenumber: 2362
    functionLinenumberEnd: 2364
    functionName: vectorMatch
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    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:2367,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2366
    functionDepth: 8
    functionLinenumber: 2366
    functionLinenumberEnd: 2368
    functionName: vectorNotMatch
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - vectorCompare
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorNotMatch(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2372,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2376,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2381
    functionName: vectorIsNull
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - IS_HELPER_NULL
    - colDataSetInt8
    - colDataClearNull_f
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorIsNull(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2385,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2389,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2383
    functionDepth: 1
    functionLinenumber: 2383
    functionLinenumberEnd: 2394
    functionName: vectorNotNull
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - IS_HELPER_NULL
    - colDataSetInt8
    - colDataClearNull_f
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorNotNull(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2397,1
    - Dst: vectorConvertSingleColImpl
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2397,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2399,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2396
    functionDepth: 4
    functionLinenumber: 2396
    functionLinenumberEnd: 2415
    functionName: vectorIsTrue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetInt8
    - colDataIsNull_s
    - vectorConvertSingleColImpl
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorIsTrue(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2410
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GET_TYPED_DATA(v, bool, pOut->columnData->info.type, colDataGetData(pOut->columnData,
      i),\n                     typeGetTypeModFromColInfo(&pOut->columnData->info));\n
      \     if (v)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2419,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2423,1
    - Dst: tTagGet
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2426,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - json
    - key
    - isExist
    - val
    argTypes:
    - char*
    - char*
    - bool*
    - STagVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2431
    functionName: getJsonValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - tTagGet
    - SCL_RET
    - SCL_ERR_RET
    - tTagIsJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t getJsonValue(char *json, char *key, bool *isExist, STagVal
      *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2437,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2440,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2442,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2443,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2443,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2445,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2447,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2447,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2447,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2451,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2452,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2454,1
    - Dst: getJsonValue
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2454,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2459,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2459,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2463,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2433
    functionDepth: 2
    functionLinenumber: 2433
    functionLinenumberEnd: 2465
    functionName: vectorJsonContains
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - SCL_RET
    - colDataGetVarData
    - memcpy
    - SCL_ERR_JRET
    - TMAX
    - getJsonValue
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_var
    - taosMemoryCalloc
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorJsonContains(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2471,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2474,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2476,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2477,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2477,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2479,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2481,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2481,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2481,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2483,1
    - Dst: colDataSetNull_var
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2484,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2488,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2491,1
    - Dst: getJsonValue
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2491,1
    - Dst: tTagValToData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2492,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2493,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2494,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2495,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2497,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2501,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2502,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2467
    functionDepth: 2
    functionLinenumber: 2467
    functionLinenumberEnd: 2503
    functionName: vectorJsonArrow
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - tTagValToData
    - SCL_RET
    - colDataGetVarData
    - memcpy
    - SCL_ERR_JRET
    - TMAX
    - getJsonValue
    - colDataSetNull_var
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - colDataIsNull_var
    - taosMemoryCalloc
    - SCL_ERR_RET
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t vectorJsonArrow(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord)
  - BBCount: 28
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 57
    argCount: 1
    argNames:
    - binFunctionId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2562
    functionName: getBinScalarOperatorFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: _bin_scalar_fn_t
    signature: _bin_scalar_fn_t getBinScalarOperatorFn(int32_t binFunctionId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2568,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2569,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 8
    argCount: 3
    argNames:
    - opType
    - lType
    - rType
    argTypes:
    - EOperatorType
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2564
    functionDepth: 1
    functionLinenumber: 2564
    functionLinenumberEnd: 2575
    functionName: checkOperatorRestypeIsTimestamp
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    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:2582,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2583,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2584,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2585,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2586,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2593,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2593,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2596,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2596,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2601,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2602,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2607,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2607,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2609,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2609,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 7
    argNames:
    - pLeft
    - pRight
    - pOut
    - step
    - i
    - op
    - pOneRowParam
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - EOperatorType
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2577
    functionDepth: 8
    functionLinenumber: 2577
    functionLinenumberEnd: 2613
    functionName: vectorMathOpOneRowForDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_HELPER_NULL
    - colDataGetData
    - colDataSetNNULL
    - decimalOp
    - convertToDecimal
    - GET_COL_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorMathOpOneRowForDecimal(SScalarParam *pLeft, SScalarParam
      *pRight, SScalarParam *pOut, int32_t step,\n                                            int32_t
      i, EOperatorType op, SScalarParam *pOneRowParam)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2621,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2622,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2625,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2625,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2627,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - pCol
    - pOut
    - step
    - i
    - op
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2615
    functionDepth: 8
    functionLinenumber: 2615
    functionLinenumberEnd: 2630
    functionName: vectorMathUnaryOpForDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - colDataSetNULL
    - IS_HELPER_NULL
    - colDataGetData
    - decimalOp
    - GET_COL_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorMathUnaryOpForDecimal(SScalarParam *pCol, SScalarParam
      *pOut, int32_t step, int32_t i,\n                                           EOperatorType
      op)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2636,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2637,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2638,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2642,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2645,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2645,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2646,1
    - Dst: vectorMathOpOneRowForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2649,1
    - Dst: vectorMathOpOneRowForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - pLeft
    - pRight
    - pOut
    - step
    - i
    - op
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2632
    functionDepth: 9
    functionLinenumber: 2632
    functionLinenumberEnd: 2654
    functionName: vectorMathBinaryOpForDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 5
    functionsReached:
    - colDataSetNULL
    - colDataGetData
    - decimalOp
    - vectorMathOpOneRowForDecimal
    - GET_COL_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vectorMathBinaryOpForDecimal(SScalarParam *pLeft, SScalarParam
      *pRight, SScalarParam *pOut, int32_t step,\n                                            int32_t
      i, EOperatorType op)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2658,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2658,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2659,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2659,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2662,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2665,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2666,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - fp
    - optr
    - pColL
    - idxL
    - pColR
    - idxR
    argTypes:
    - __compar_fn_t
    - int32_t
    - SColumnInfoData*
    - int32_t
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2656
    functionDepth: 2
    functionLinenumber: 2656
    functionLinenumberEnd: 2670
    functionName: compareForType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - IS_DECIMAL_TYPE
    - filterDoCompare
    - typeGetTypeModFromColInfo
    - colDataGetData
    linkageType: ''
    returnType: bool
    signature: "bool compareForType(__compar_fn_t fp, int32_t optr, SColumnInfoData
      *pColL, int32_t idxL, SColumnInfoData *pColR,\n                    int32_t idxR)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2674,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2675,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2675,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2678,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2680,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - fp
    - optr
    - pColL
    - idxL
    - pHashData
    - hashType
    - hashTypeMod
    argTypes:
    - __compar_fn_t
    - int32_t
    - SColumnInfoData*
    - int32_t
    - void*
    - int32_t
    - STypeMod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2672
    functionDepth: 2
    functionLinenumber: 2672
    functionLinenumberEnd: 2684
    functionName: compareForTypeWithColAndHash
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: 1
    functionsReached:
    - IS_DECIMAL_TYPE
    - filterDoCompare
    - typeGetTypeModFromColInfo
    - colDataGetData
    linkageType: ''
    returnType: bool
    signature: "bool compareForTypeWithColAndHash(__compar_fn_t fp, int32_t optr,
      SColumnInfoData *pColL, int32_t idxL,\n                                  const
      void *pHashData, int32_t hashType, STypeMod hashTypeMod)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:48,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:48,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:49,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:59,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:60,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - nThread
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: Client::Init
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - taosVersionStrToInt
    - tsem_init
    - memset
    - rpcOpen
    - strlen
    linkageType: ''
    returnType: void
    signature: void Init(int nThread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: Client::SetResp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetResp(SRpcMsg *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: Client::Resp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg *Resp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:70,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:72,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cb
    argTypes:
    - CB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: Client::Restart
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - rpcOpen
    - rpcClose
    - taosVersionStrToInt
    linkageType: ''
    returnType: void
    signature: void Restart(CB cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: Client::Stop
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:83,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:85,1
    - Dst: Client::SemWait
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: Client::SendAndRecv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - addEpIntoEpSet
    - rpcSendRequest
    - Client::SemWait
    linkageType: ''
    returnType: void
    signature: void SendAndRecv(SRpcMsg *req, SRpcMsg *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:92,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: Client::sendReq
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - addEpIntoEpSet
    - rpcSendRequest
    linkageType: ''
    returnType: void
    signature: void sendReq(SRpcMsg *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:99,1
    - Dst: Client::SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: Client::SendAndRecvNoHandle
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - Client::SendAndRecv
    - rpcReleaseHandle
    linkageType: ''
    returnType: void
    signature: void SendAndRecvNoHandle(SRpcMsg *req, SRpcMsg *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: Client::SemWait
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 1
    functionsReached:
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: void SemWait()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: Client::SemPost
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - tsem_post
    linkageType: ''
    returnType: void
    signature: void SemPost()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: Client::Reset
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: ~Client()
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void ~Client()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:122,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:122,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:123,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:125,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:125,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: Server::Server
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - memset
    - memcpy
    - taosVersionStrToInt
    linkageType: ''
    returnType: void
    signature: void Server()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:135,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: Server::Start
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - rpcOpen
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Server::Stop
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:139,1
    - Dst: Server::Start
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cb
    argTypes:
    - CB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: Server::SetSrvContinueSend
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - Server::Start
    - Server::Stop
    linkageType: ''
    returnType: void
    signature: void SetSrvContinueSend(CB cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: Server::Stop
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 1
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Server::Stop
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:149,1
    - Dst: Server::Start
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: Server::SetSrvSend
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - Server::Start
    - Server::Stop
    linkageType: ''
    returnType: void
    signature: void SetSrvSend(void (*cfp)(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Server::Stop
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:154,1
    - Dst: Server::Start
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: Server::Restart
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - Server::Start
    - Server::Stop
    linkageType: ''
    returnType: void
    signature: void Restart()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: ~Server()
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void ~Server()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:168,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:172,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: processReq
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - rpcSendResponse
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void processReq(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:179,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: processContinueSend
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - rpcSendResponse
    linkageType: ''
    returnType: void
    signature: void processContinueSend(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:188,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:192,1
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: processReleaseHandleCb
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - rpcReleaseHandle
    - rpcMallocCont
    - rpcSendResponse
    linkageType: ''
    returnType: void
    signature: void processReleaseHandleCb(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:199,1
    - Dst: rpcRegisterBrokenLinkArg
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:203,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:205,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:208,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 213
    functionName: processRegisterFailure
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - rpcMallocCont
    - rpcSendResponse
    - rpcRegisterBrokenLinkArg
    linkageType: ''
    returnType: void
    signature: void processRegisterFailure(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Client*::SetResp
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:217,1
    - Dst: Client*::SemPost
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:218,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: processResp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - tDebug
    - Client*::SemPost
    - Client*::SetResp
    linkageType: ''
    returnType: void
    signature: void processResp(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:240,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:240,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:242,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:242,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:243,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 246
    functionName: initEnv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 5
    functionsReached:
    - taosInitLog
    - std::string::c_str
    - printf
    - taosMkDir
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void initEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initEnv
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:251,1
    - Dst: Client::Client
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:252,1
    - Dst: Init
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:253,1
    - Dst: Server::Server
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:254,1
    - Dst: Start
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: TransObj::TransObj
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - initEnv
    - Start
    - Server::Server
    - Init
    - Client::Client
    linkageType: ''
    returnType: void
    signature: void TransObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Restart
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - CB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: TransObj::RestartCli
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - Restart
    linkageType: ''
    returnType: void
    signature: void RestartCli(CB cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stop
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: TransObj::StopSrv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - Stop
    linkageType: ''
    returnType: void
    signature: void StopSrv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransObj::SetSrvContinueSend
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: TransObj::SetSrvContinueSend
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 1
    functionsReached:
    - TransObj::SetSrvContinueSend
    linkageType: ''
    returnType: void
    signature: void SetSrvContinueSend(void (*cfp)(void *parent, SRpcMsg *pMsg, SEpSet
      *pEpSet))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Restart
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: TransObj::RestartSrv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - Restart
    linkageType: ''
    returnType: void
    signature: void RestartSrv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stop
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: TransObj::StopCli
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - Stop
    linkageType: ''
    returnType: void
    signature: void StopCli()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: TransObj::cliSendAndRecv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - SendAndRecv
    linkageType: ''
    returnType: void
    signature: void cliSendAndRecv(SRpcMsg *req, SRpcMsg *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendReq
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: TransObj::cliSendReq
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - sendReq
    linkageType: ''
    returnType: void
    signature: void cliSendReq(SRpcMsg *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendAndRecvNoHandle
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: TransObj::cliSendAndRecvNoHandle
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - SendAndRecvNoHandle
    linkageType: ''
    returnType: void
    signature: void cliSendAndRecvNoHandle(SRpcMsg *req, SRpcMsg *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: ~TransObj()
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TransObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransObj::TransObj
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: TransEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - TransObj::TransObj
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: TransEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RestartSrv
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:335,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:339,1
    - Dst: cliSendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:341,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 346
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - cliSendAndRecv
    - rpcMallocCont
    - TD_ALWAYS_ASSERT
    - RestartSrv
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, clientUserDefined)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:357,1
    - Dst: cliSendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:359,1
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:369,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:373,1
    - Dst: cliSendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:375,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 380
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - cliSendAndRecv
    - rpcMallocCont
    - rpcReleaseHandle
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, cliPersistHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetSrvContinueSend
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:384,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:389,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:393,1
    - Dst: cliSendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:395,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - SetSrvContinueSend
    - EXPECT_TRUE
    - cliSendAndRecv
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, srvReleaseHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetSrvContinueSend
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:425,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 436
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - SetSrvContinueSend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, srvContinueSend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetSrvContinueSend
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:439,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 458
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - SetSrvContinueSend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, srvPersistHandleExcept)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetSrvContinueSend
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:460,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 478
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - SetSrvContinueSend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, cliPersistHandleExcept)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, multiCliPersistHandleExcept)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetSrvContinueSend
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:484,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 502
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - SetSrvContinueSend
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, queryExcept)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:507,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:510,1
    - Dst: cliSendReq
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:512,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT.cpp:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 518
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - cliSendReq
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, noResp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:38,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/test/uv.c:38,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:40,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: echo_write
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: 0
    functionsReached:
    - printf
    - fprintf
    - taosMemoryFree
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void echo_write(uv_write_t *req, int status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/test/uv.c:45,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:47,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:49,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/transport/test/uv.c:55,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:56,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:61,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/test/uv.c:61,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/test/uv.c:62,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - client
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: echo_read
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - fprintf
    - uv_close
    - printf
    - container_of
    - uv_write
    - taosMemoryFree
    - 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: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: alloc_buffer
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: void
    signature: void alloc_buffer(uv_handle_t *handle, size_t suggested_size, uv_buf_t
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/test/uv.c:77,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:78,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:80,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:81,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/test/uv.c:82,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:83,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:84,1
    - Dst: uv_write2
      Src: /src/tdengine/source/libs/transport/test/uv.c:87,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/test/uv.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - s
    - status
    argTypes:
    - uv_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: on_new_connection
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - uv_accept
    - uv_close
    - uv_write2
    - printf
    - container_of
    - uv_buf_init
    - uv_tcp_init
    linkageType: ''
    returnType: void
    signature: void on_new_connection(uv_stream_t *s, int status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:94,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:96,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/test/uv.c:96,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/test/uv.c:97,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/test/uv.c:100,1
    - Dst: uv_pipe_pending_count
      Src: /src/tdengine/source/libs/transport/test/uv.c:103,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:104,1
    - Dst: uv_pipe_pending_type
      Src: /src/tdengine/source/libs/transport/test/uv.c:108,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/transport/test/uv.c:109,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:111,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:114,1
    - Dst: uv_timer_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:115,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:117,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:119,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/test/uv.c:121,1
    - Dst: uv_fileno
      Src: /src/tdengine/source/libs/transport/test/uv.c:123,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:124,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/test/uv.c:125,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/test/uv.c:126,1
    - Dst: uv_timer_stop
      Src: /src/tdengine/source/libs/transport/test/uv.c:128,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:129,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/test/uv.c:130,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:131,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - q
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 134
    functionName: child_on_new_connection
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: 0
    functionsReached:
    - uv_timer_init
    - uv_pipe_pending_count
    - taosMemoryMalloc
    - fprintf
    - uv_close
    - uv_accept
    - uv_timer_start
    - uv_timer_stop
    - printf
    - container_of
    - taosMemoryFree
    - uv_pipe_pending_type
    - uv_tcp_init
    - uv_fileno
    - TD_ALWAYS_ASSERT
    - uv_read_start
    - uv_err_name
    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: container_of
      Src: /src/tdengine/source/libs/transport/test/uv.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: workerAsyncCallback
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: void
    signature: void workerAsyncCallback(uv_async_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:143,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:144,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:146,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/transport/test/uv.c:147,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:149,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:150,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/test/uv.c:151,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/test/uv.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: worker_thread
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: 0
    functionsReached:
    - uv_pipe_init
    - taosMemoryMalloc
    - uv_async_init
    - uv_pipe_open
    - uv_run
    - uv_loop_init
    - uv_read_start
    linkageType: ''
    returnType: void
    signature: void *worker_thread(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:156,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:157,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:160,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:161,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:163,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:166,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:167,1
    - Dst: uv_socketpair
      Src: /src/tdengine/source/libs/transport/test/uv.c:169,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:172,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/transport/test/uv.c:173,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/test/uv.c:177,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:179,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:181,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:184,1
    - Dst: uv_ip4_addr
      Src: /src/tdengine/source/libs/transport/test/uv.c:186,1
    - Dst: uv_tcp_bind
      Src: /src/tdengine/source/libs/transport/test/uv.c:187,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/transport/test/uv.c:189,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:190,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/test/uv.c:190,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/test/uv.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 196
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: 0
    functionsReached:
    - uv_pipe_init
    - taosMemoryMalloc
    - fprintf
    - uv_err_name
    - uv_pipe_open
    - uv_run
    - printf
    - uv_ip4_addr
    - uv_listen
    - uv_tcp_bind
    - uv_tcp_init
    - uv_socketpair
    - taosThreadCreate
    - taosMemoryCalloc
    - uv_loop_init
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/transport/test/http_test.c:30,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/transport/test/http_test.c:31,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/transport/test/http_test.c:32,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/transport/test/http_test.c:34,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/http_test.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: initLogEnv
    functionSourceFile: /src/tdengine/source/libs/transport/test/http_test.c
    functionUses: 0
    functionsReached:
    - taosInitLog
    - strcpy
    - taosRemoveDir
    - printf
    - taosMkDir
    linkageType: ''
    returnType: void
    signature: void initLogEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/http_test.c:47,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/http_test.c:48,1
    - Dst: taosSendHttpReport
      Src: /src/tdengine/source/libs/transport/test/http_test.c:49,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/http_test.c:50,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/transport/test/http_test.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: proces
    functionSourceFile: /src/tdengine/source/libs/transport/test/http_test.c
    functionUses: 0
    functionsReached:
    - taosSendHttpReport
    - taosUsleep
    - memset
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void *proces(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initLogEnv
      Src: /src/tdengine/source/libs/transport/test/http_test.c:55,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/http_test.c:57,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/test/http_test.c:61,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/http_test.c:64,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/transport/test/http_test.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/transport/test/http_test.c
    functionUses: 0
    functionsReached:
    - taosCloseLog
    - initLogEnv
    - taosMsleep
    - taosThreadCreate
    - taosMemoryCalloc
    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:42,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:43,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:44,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:46,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: initLogEnv
    functionSourceFile: /src/tdengine/source/libs/transport/test/cliBench.c
    functionUses: 1
    functionsReached:
    - taosInitLog
    - strcpy
    - taosRemoveDir
    - printf
    - taosMkDir
    linkageType: ''
    returnType: void
    signature: void initLogEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:53,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:56,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: processResponse
    functionSourceFile: /src/tdengine/source/libs/transport/test/cliBench.c
    functionUses: 0
    functionsReached:
    - tsem_post
    - tDebug
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void processResponse(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:66,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:70,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:75,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:76,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:77,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:78,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: sendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/test/cliBench.c
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - tsem_wait
    - tDebug
    - rpcSendRequest
    - tInfo
    linkageType: ''
    returnType: void
    signature: void *sendRequest(void *param)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:102,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:103,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:106,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:121,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:122,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:123,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:124,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:125,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:126,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:127,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:128,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:129,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:130,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:131,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:132,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:133,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:134,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:136,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:138,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:139,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:140,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:141,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:142,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:143,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:147,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: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:151,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:152,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:153,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:154,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:155,1
    - Dst: exit
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:156,1
    - Dst: initLogEnv
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:160,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:161,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:162,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:164,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:169,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:171,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:173,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:175,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:180,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:184,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:188,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:191,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:193,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:194,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:198,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:199,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:201,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:206,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 102
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 209
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/transport/test/cliBench.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - taosUsleep
    - initLogEnv
    - memset
    - taosThreadJoin
    - exit
    - strcpy
    - atoi
    - tInfo
    - taosMemoryCalloc
    - strcmp
    - taosVersionStrToInt
    - tsem_init
    - printf
    - taosThreadCreate
    - taosCloseLog
    - taosMemoryFree
    - tError
    - rpcOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:50,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:50,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:51,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:61,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - nThread
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: Client::Init
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - taosVersionStrToInt
    - memset
    - rpcOpen
    - strlen
    linkageType: ''
    returnType: void
    signature: void Init(int nThread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: Client::SetResp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetResp(SRpcMsg *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: Client::Resp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg *Resp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:72,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:74,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cb
    argTypes:
    - CB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: Client::Restart
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - rpcOpen
    - rpcClose
    - taosVersionStrToInt
    linkageType: ''
    returnType: void
    signature: void Restart(CB cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: Client::Stop
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:85,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:87,1
    - Dst: Client::SemWait
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: Client::SendAndRecv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 1
    functionsReached:
    - addEpIntoEpSet
    - rpcSendRequest
    - Client::SemWait
    linkageType: ''
    returnType: void
    signature: void SendAndRecv(SRpcMsg *req, SRpcMsg *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:94,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: Client::sendReq
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - addEpIntoEpSet
    - rpcSendRequest
    linkageType: ''
    returnType: void
    signature: void sendReq(SRpcMsg *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:102,1
    - Dst: rpcSendRequestWithCtx
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - id
    argTypes:
    - SRpcMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: Client::sendReqWithId
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - addEpIntoEpSet
    - rpcSendRequestWithCtx
    linkageType: ''
    returnType: void
    signature: void sendReqWithId(SRpcMsg *req, int64_t *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeConnById
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: Client::freeId
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - rpcFreeConnById
    linkageType: ''
    returnType: void
    signature: void freeId(int64_t *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:111,1
    - Dst: Client::SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: Client::SendAndRecvNoHandle
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - Client::SendAndRecv
    - rpcReleaseHandle
    linkageType: ''
    returnType: void
    signature: void SendAndRecvNoHandle(SRpcMsg *req, SRpcMsg *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: Client::SemWait
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 2
    functionsReached:
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: void SemWait()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: Client::SemPost
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - tsem_post
    linkageType: ''
    returnType: void
    signature: void SemPost()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: Client::Reset
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: ~Client()
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void ~Client()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:134,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:134,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:135,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:137,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:137,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: Server::Server
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 1
    functionsReached:
    - strlen
    - memset
    - memcpy
    - taosVersionStrToInt
    linkageType: ''
    returnType: void
    signature: void Server()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:147,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: Server::Start
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 3
    functionsReached:
    - taosMsleep
    - rpcOpen
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Server::Stop
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:151,1
    - Dst: Server::Start
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cb
    argTypes:
    - CB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: Server::SetSrvContinueSend
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - Server::Start
    - Server::Stop
    linkageType: ''
    returnType: void
    signature: void SetSrvContinueSend(CB cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: Server::Stop
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 4
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Server::Stop
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:161,1
    - Dst: Server::Start
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: Server::SetSrvSend
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - Server::Start
    - Server::Stop
    linkageType: ''
    returnType: void
    signature: void SetSrvSend(void (*cfp)(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Server::Stop
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:166,1
    - Dst: Server::Start
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: Server::Restart
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - Server::Start
    - Server::Stop
    linkageType: ''
    returnType: void
    signature: void Restart()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: ~Server()
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void ~Server()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:180,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:184,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: processReq
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - rpcSendResponse
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void processReq(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: processContinueSend
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processContinueSend(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:200,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:204,1
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: processReleaseHandleCb
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - rpcReleaseHandle
    - rpcMallocCont
    - rpcSendResponse
    linkageType: ''
    returnType: void
    signature: void processReleaseHandleCb(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: processRegisterFailure
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void processRegisterFailure(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:229,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:231,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: processResp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - tstrerror
    - tGDebug
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void processResp(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:252,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:252,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:254,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:254,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:255,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 258
    functionName: initEnv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 6
    functionsReached:
    - taosInitLog
    - std::string::c_str
    - printf
    - taosMkDir
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void initEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initEnv
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:263,1
    - Dst: Client::Client
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:264,1
    - Dst: Init
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:265,1
    - Dst: Server::Server
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:266,1
    - Dst: Start
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: TransObj::TransObj
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 1
    functionsReached:
    - initEnv
    - Start
    - Server::Server
    - Init
    - Client::Client
    linkageType: ''
    returnType: void
    signature: void TransObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Restart
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - CB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: TransObj::RestartCli
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - Restart
    linkageType: ''
    returnType: void
    signature: void RestartCli(CB cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stop
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: TransObj::StopSrv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - Stop
    linkageType: ''
    returnType: void
    signature: void StopSrv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransObj::SetSrvContinueSend
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: TransObj::SetSrvContinueSend
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 2
    functionsReached:
    - TransObj::SetSrvContinueSend
    linkageType: ''
    returnType: void
    signature: void SetSrvContinueSend(void (*cfp)(void *parent, SRpcMsg *pMsg, SEpSet
      *pEpSet))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Restart
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: TransObj::RestartSrv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - Restart
    linkageType: ''
    returnType: void
    signature: void RestartSrv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stop
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: TransObj::StopCli
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - Stop
    linkageType: ''
    returnType: void
    signature: void StopCli()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: TransObj::cliSendAndRecv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - SendAndRecv
    linkageType: ''
    returnType: void
    signature: void cliSendAndRecv(SRpcMsg *req, SRpcMsg *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendReq
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 289
    functionName: TransObj::cliSendReq
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - sendReq
    linkageType: ''
    returnType: void
    signature: void cliSendReq(SRpcMsg *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendReqWithId
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - id
    argTypes:
    - SRpcMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: TransObj::cliSendReqWithId
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - sendReqWithId
    linkageType: ''
    returnType: void
    signature: void cliSendReqWithId(SRpcMsg *req, int64_t *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeId
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: TransObj::cliFreeReqId
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - freeId
    linkageType: ''
    returnType: void
    signature: void cliFreeReqId(int64_t *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendAndRecvNoHandle
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: TransObj::cliSendAndRecvNoHandle
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - SendAndRecvNoHandle
    linkageType: ''
    returnType: void
    signature: void cliSendAndRecvNoHandle(SRpcMsg *req, SRpcMsg *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: ~TransObj()
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TransObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TransObj::TransObj
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: TransEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - TransObj::TransObj
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: TransEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 361
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, clientUserDefined)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 395
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, cliPersistHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 415
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, srvReleaseHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 451
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, srvContinueSend)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, srvPersistHandleExcept)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 493
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, cliPersistHandleExcept)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, multiCliPersistHandleExcept)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, queryExcept)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:505,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:508,1
    - Dst: cliSendReqWithId
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:511,1
    - Dst: cliFreeReqId
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:512,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 516
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - cliSendReqWithId
    - taosMsleep
    - memset
    - cliFreeReqId
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, idTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:521,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:524,1
    - Dst: cliSendReq
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:526,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 531
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - cliSendReq
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, noResp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:537,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:540,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:541,1
    - Dst: taosGetOsReleaseName
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:543,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:544,1
    - Dst: taosGetCpuInfo
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:550,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:551,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:551,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:552,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:552,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:554,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:554,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:557,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:558,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:558,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:560,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:560,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:561,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:561,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:562,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:562,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:563,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:563,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:566,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:566,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:567,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:567,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:568,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:568,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:569,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:569,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:570,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:570,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:571,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:571,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:572,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:572,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:573,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:573,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:574,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:574,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:575,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:575,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:577,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:578,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:579,1
    - Dst: taosTelemetryMgtInit
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:584,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:585,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:587,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:588,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:589,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:591,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:593,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:594,1
    - Dst: taosTelemetryDestroy
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:596,1
    - Dst: taosTelemetryMgtInit
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:603,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:604,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:604,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:605,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:607,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:608,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:610,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:611,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:612,1
    - Dst: taosTelemetryDestroy
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:614,1
    - Dst: taosTelemetryMgtInit
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:620,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:621,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:621,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:622,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:624,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:625,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:627,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:628,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:629,1
    - Dst: taosTelemetryDestroy
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:631,1
    - Dst: taosTelemetryMgtInit
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:635,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:636,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:636,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:638,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:639,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:639,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:641,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:641,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:642,1
    - Dst: taosTelemetryDestroy
      Src: /src/tdengine/source/libs/transport/test/transUT2.cpp:645,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 650
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUT2.cpp
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - TAOS_CHECK_GOTO
    - taosTelemetryDestroy
    - tjsonToString
    - taosGetOsReleaseName
    - tjsonDelete
    - taosTelemetryMgtInit
    - taosSendTelemReport
    - snprintf
    - printf
    - taosGetCpuInfo
    - tjsonAddDoubleToObject
    - tjsonCreateObject
    - taosMsleep
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(TransEnv, http)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:52,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:53,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:54,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:56,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: initLogEnv
    functionSourceFile: /src/tdengine/source/libs/transport/test/svrBench.c
    functionUses: 2
    functionsReached:
    - taosInitLog
    - strcpy
    - taosRemoveDir
    - printf
    - taosMkDir
    linkageType: ''
    returnType: void
    signature: void initLogEnv()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQall
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:70,1
    - Dst: taosReadAllQitemsFromQset
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:73,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:74,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:78,1
    - Dst: taosResetQitems
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:81,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:83,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:84,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:86,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:87,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:91,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:93,1
    - Dst: taosUpdateItemSize
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:96,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 101
    functionName: processShellMsg
    functionSourceFile: /src/tdengine/source/libs/transport/test/svrBench.c
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - taosUpdateItemSize
    - taosResetQitems
    - taosReadAllQitemsFromQset
    - tDebug
    - rpcSendResponse
    - taosFreeQitem
    - taosFreeQall
    - memset
    - taosAllocateQall
    - taosGetQitem
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void *processShellMsg(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:106,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:107,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:110,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pParent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: processRequestMsg
    functionSourceFile: /src/tdengine/source/libs/transport/test/svrBench.c
    functionUses: 0
    functionsReached:
    - taosAllocateQitem
    - taosWriteQitem
    - memcpy
    - tDebug
    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:120,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:122,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:124,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:124,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:130,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:135,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:136,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:137,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:138,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:139,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:140,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:141,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:142,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:143,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:144,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:145,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:146,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:147,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:148,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:155,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:157,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:158,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:159,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:160,1
    - Dst: exit
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:161,1
    - Dst: initLogEnv
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:167,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:168,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:169,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:171,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:176,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:179,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:180,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:180,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:184,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:187,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:190,1
    - Dst: taosOpenQset
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:191,1
    - Dst: taosAddIntoQset
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:192,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:194,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:197,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:201,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:202,1
    - Dst: getchar
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:204,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:205,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 208
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/transport/test/svrBench.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - strerror
    - initLogEnv
    - memset
    - taosOpenQueue
    - memcpy
    - exit
    - atoi
    - getchar
    - taosAddIntoQset
    - tInfo
    - strlen
    - strcmp
    - taosVersionStrToInt
    - taosRemoveFile
    - taosOpenQset
    - UNUSED
    - printf
    - taosThreadCreate
    - taosMemoryMalloc
    - tError
    - taosOpenFile
    - rpcOpen
    - taosBlockSIGPIPE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: QueueObj::QueueObj
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - QUEUE_INIT
    linkageType: ''
    returnType: void
    signature: void QueueObj()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - el
    argTypes:
    - QueueElem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: QueueObj::Push
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - QUEUE_PUSH
    linkageType: ''
    returnType: void
    signature: void Push(QueueElem *el)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueueObj::IsEmpty
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:47,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:48,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:49,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: QueueObj::Pop
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - QueueObj::IsEmpty
    - QUEUE_DATA
    - QUEUE_REMOVE
    - QUEUE_HEAD
    linkageType: ''
    returnType: QueueElem
    signature: QueueElem *Pop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: QueueObj::IsEmpty
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 1
    functionsReached:
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: bool
    signature: bool IsEmpty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - el
    argTypes:
    - QueueElem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: QueueObj::RmElem
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - QUEUE_REMOVE
    linkageType: ''
    returnType: void
    signature: void RmElem(QueueElem *el)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_FOREACH
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:64,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:66,1
    - Dst: std::vector<int>::push_back
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - result
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: QueueObj::ForEach
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - QUEUE_FOREACH
    - std::vector<int>::push_back
    linkageType: ''
    returnType: void
    signature: void ForEach(std::vector<int> &result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueueObj::QueueObj
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: QueueEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - QueueObj::QueueObj
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: QueueEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:90,1
    - Dst: IsEmpty
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:90,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:93,1
    - Dst: Push
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:95,1
    - Dst: IsEmpty
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:98,1
    - Dst: Pop
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:99,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:100,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:101,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:103,1
    - Dst: IsEmpty
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - Push
    - Pop
    - taosMemoryFree
    - IsEmpty
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST_F(QueueEnv, testPushAndPop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:109,1
    - Dst: IsEmpty
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:109,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:112,1
    - Dst: Push
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:114,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:115,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:117,1
    - Dst: RmElem
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:120,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:122,1
    - Dst: IsEmpty
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - Push
    - RmElem
    - std::vector::size
    - taosMemoryFree
    - std::vector::push_back
    - IsEmpty
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST_F(QueueEnv, testRm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:126,1
    - Dst: IsEmpty
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:126,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:129,1
    - Dst: Push
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:131,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:132,1
    - Dst: ForEach
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:135,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:136,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:136,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - Push
    - ForEach
    - std::vector::size
    - std::vector::push_back
    - IsEmpty
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST_F(QueueEnv, testIter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:142,1
    - Dst: transCtxInit
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: TransCtxEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - transCtxInit
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: TransCtxEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - transCtxCleanup
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:154,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:155,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/transportTests.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: cloneVal
    functionSourceFile: /src/tdengine/source/libs/transport/test/transportTests.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneVal(void *src, void **dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:45,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:45,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:46,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:57,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:58,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - nThread
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: Client::Init
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - taosVersionStrToInt
    - tsem_init
    - memset
    - rpcOpen
    - strlen
    linkageType: ''
    returnType: void
    signature: void Init(int nThread, const char *lbl = "client")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:65,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:67,1
    - Dst: Client::SemWait
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:68,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ip
    - req
    - resp
    argTypes:
    - char*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: Client::SendAndRecv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 2
    functionsReached:
    - addEpIntoEpSet
    - rpcSendRequest
    - Client::SemWait
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void SendAndRecv(const char *ip, SRpcMsg *req, SRpcMsg *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Client::SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: Client::SendAndRecv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 3
    functionsReached:
    - Client::SendAndRecv
    linkageType: ''
    returnType: void
    signature: void SendAndRecv(SRpcMsg *req, SRpcMsg *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: Client::SetResp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetResp(SRpcMsg *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: Client::SemWait
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 3
    functionsReached:
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: void SemWait()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Client::SemPost
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - tsem_post
    linkageType: ''
    returnType: void
    signature: void SemPost()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: Client::Stop
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: ~Client()
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void ~Client()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:101,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:101,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:102,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:104,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:104,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: Server::Server
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 2
    functionsReached:
    - strlen
    - memset
    - memcpy
    - taosVersionStrToInt
    linkageType: ''
    returnType: void
    signature: void Server()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:116,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: Server::Start
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 6
    functionsReached:
    - taosMsleep
    - rpcOpen
    linkageType: ''
    returnType: void
    signature: void Start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: Server::Stop
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 6
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void Stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: ~Server()
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void ~Server()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:140,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:144,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: processReq
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - rpcSendResponse
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void processReq(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Client*::SetResp
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:150,1
    - Dst: Client*::SemPost
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: processResp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - Client*::SemPost
    - Client*::SetResp
    linkageType: ''
    returnType: void
    signature: void processResp(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:172,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:172,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:174,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:174,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:175,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: initEnv
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 7
    functionsReached:
    - taosInitLog
    - std::string::c_str
    - printf
    - taosMkDir
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void initEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initEnv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:183,1
    - Dst: Server::Server
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:184,1
    - Dst: Start
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:185,1
    - Dst: Client::Client
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:186,1
    - Dst: Init
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: IPv6DualStackTest::SetUp
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - initEnv
    - Start
    - Server::Server
    - Init
    - Client::Client
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: IPv6DualStackTest::TearDown
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:202,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:206,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - EXPECT_EQ
    - SendAndRecv
    linkageType: ''
    returnType: void
    signature: void TEST_F(IPv6DualStackTest, BasicIPv4Connection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:214,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:218,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - EXPECT_EQ
    - SendAndRecv
    linkageType: ''
    returnType: void
    signature: void TEST_F(IPv6DualStackTest, BasicIPv6Connection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:226,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:230,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 233
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - EXPECT_EQ
    - SendAndRecv
    linkageType: ''
    returnType: void
    signature: void TEST_F(IPv6DualStackTest, IPv4MappedIPv6Address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:238,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:242,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - EXPECT_EQ
    - SendAndRecv
    linkageType: ''
    returnType: void
    signature: void TEST_F(IPv6DualStackTest, IPv6LoopbackAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:250,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:254,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - EXPECT_EQ
    - SendAndRecv
    linkageType: ''
    returnType: void
    signature: void TEST_F(IPv6DualStackTest, LargePayloadIPv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:262,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:266,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - EXPECT_EQ
    - SendAndRecv
    linkageType: ''
    returnType: void
    signature: void TEST_F(IPv6DualStackTest, LargePayloadIPv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:275,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:279,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - EXPECT_EQ
    - SendAndRecv
    linkageType: ''
    returnType: void
    signature: void TEST_F(IPv6DualStackTest, MultipleRequestsIPv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:288,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:292,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 295
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - EXPECT_EQ
    - SendAndRecv
    linkageType: ''
    returnType: void
    signature: void TEST_F(IPv6DualStackTest, MultipleRequestsIPv6)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:300,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:306,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:309,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 314
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - EXPECT_EQ
    - SendAndRecv
    linkageType: ''
    returnType: void
    signature: void TEST_F(IPv6DualStackTest, MixedIPv4IPv6Requests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:319,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:322,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:323,1
    - Dst: Stop
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:325,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:326,1
    - Dst: Start
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:328,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:329,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:331,1
    - Dst: SendAndRecv
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:332,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 334
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/transport/test/transUTIPv6.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - Start
    - EXPECT_EQ
    - SendAndRecv
    - taosMsleep
    - Stop
    linkageType: ''
    returnType: void
    signature: void TEST_F(IPv6DualStackTest, ServerRestart)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: SSL_BUFFER_LEN
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transTLS.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_BUFFER_LEN(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: SSL_BUFFER_CAP
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transTLS.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_BUFFER_CAP(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: SSL_BUFFER_DATA
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transTLS.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_BUFFER_DATA(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: SSL_BUFFER_OFFSET_DATA
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transTLS.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_BUFFER_OFFSET_DATA(b, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: QUEUE_NEXT
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_NEXT(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: QUEUE_PREV
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_PREV(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: QUEUE_PREV_NEXT
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_PREV_NEXT(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: QUEUE_NEXT_PREV
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_NEXT_PREV(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: QUEUE_INIT
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_INIT(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: QUEUE_IS_EMPTY
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_IS_EMPTY(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: QUEUE_PUSH
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_PUSH(q, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: QUEUE_REMOVE
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_REMOVE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - h
    - ','
    - q
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: QUEUE_SPLIT
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_SPLIT(h, q, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: QUEUE_MOVE
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_MOVE(h, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: QUEUE_HEAD
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_HEAD(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: QUEUE_TAIL
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_TAIL(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: QUEUE_FOREACH
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_FOREACH(q, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: QUEUE_DATA
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_DATA(e, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: TRANS_NOVALID_PACKET
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANS_NOVALID_PACKET(src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: typedef
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_PUSH_MIN
    signature: PACK_PUSH_MIN typedef
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: container_of
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: container_of(ptr, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: rpcIsReq
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rpcIsReq(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cont
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: transHeadFromCont
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transHeadFromCont(cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: transContFromHead
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transContFromHead(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - contLen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: transMsgLenFromCont
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transMsgLenFromCont(contLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msgLen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: transContLenFromMsg
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transContLenFromMsg(msgLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: transIsReq
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transIsReq(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - trans
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: transLabel
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transLabel(trans)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pool
    - ','
    - msgType
    - ','
    - freeFunc
    - ','
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 312
    functionName: TRANS_DESTROY_ASYNC_POOL_MSG
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANS_DESTROY_ASYNC_POOL_MSG(pool, msgType, freeFunc, param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - idMgt
    - ','
    - id
    - ','
    - exh1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 327
    functionName: ASYNC_CHECK_HANDLE
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASYNC_CHECK_HANDLE(idMgt, id, exh1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - idMgt
    - ','
    - id
    - ','
    - exh1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 602
    functionName: ASYNC_CHECK_HANDLE
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASYNC_CHECK_HANDLE(idMgt, id, exh1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: tFatal
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: tError
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: tWarn
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: tInfo
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: tDebug
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: tTrace
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: tDump
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tDump(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: tGTrace
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tGTrace(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: tGFatal
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tGFatal(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: tGError
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tGError(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: tGWarn
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tGWarn(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: tGInfo
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tGInfo(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: tGDebug
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transLog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tGDebug(param,...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:54,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:56,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:56,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: transCacheInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosThreadRwlockInit
    - taosArrayInit
    - tError
    linkageType: ''
    returnType: void
    signature: void transCacheInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:65,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/transport/src/transComm.c:68,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - refId
    - pTrans
    argTypes:
    - int64_t
    - STrans*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: transCachePut
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosThreadRwlockWrlock
    - taosThreadRwlockUnlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCachePut(int64_t refId, STrans* pTrans)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:78,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:80,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:81,1
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/libs/transport/src/transComm.c:84,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:85,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/transport/src/transComm.c:85,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:91,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:93,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - refId
    - pTrans
    argTypes:
    - int64_t
    - STrans**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: transCacheAcquireById
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_32
    - taosThreadRwlockUnlock
    - taosArrayGet
    - tDebug
    - atomic_load_32
    - taosThreadRwlockRdlock
    - taosArrayGetSize
    - tError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCacheAcquireById(int64_t refId, STrans** pTrans)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:101,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:103,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:104,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/transport/src/transComm.c:106,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:107,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/transport/src/transComm.c:107,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:113,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transComm.c:115,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: transCacheReleaseByRefId
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockUnlock
    - taosArrayGet
    - tDebug
    - atomic_load_32
    - taosThreadRwlockRdlock
    - atomic_sub_fetch_32
    - taosArrayGetSize
    - tInfo
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void transCacheReleaseByRefId(int64_t refId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:122,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:124,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:125,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:127,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:132,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: transCacheRemoveByRefId
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockUnlock
    - taosArrayGet
    - taosArrayRemove
    - taosThreadRwlockWrlock
    - taosArrayGetSize
    - tError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void transCacheRemoveByRefId(int64_t refId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/transport/src/transComm.c:140,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: transCacheDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyP
    - taosThreadRwlockDestroy
    linkageType: ''
    returnType: void
    signature: void transCacheDestroy()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transHeadFromCont
      Src: /src/tdengine/source/libs/transport/src/transComm.c:147,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:149,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:150,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:152,1
    - Dst: LZ4_compress_default
      Src: /src/tdengine/source/libs/transport/src/transComm.c:157,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:165,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:166,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:168,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:175,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:177,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 182
    functionName: transCompressMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosMemoryMalloc
    - memcpy
    - LZ4_compress_default
    - transHeadFromCont
    - tDebug
    - taosGetTimestampMs
    - taosMemoryFree
    - tWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCompressMsg(char* msg, int32_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:187,1
    - Dst: transContFromHead
      Src: /src/tdengine/source/libs/transport/src/transComm.c:189,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:192,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:195,1
    - Dst: LZ4_decompress_safe
      Src: /src/tdengine/source/libs/transport/src/transComm.c:201,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:205,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:208,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:211,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:213,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:216,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 221
    functionName: transDecompressMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - htonl
    - memcpy
    - LZ4_decompress_safe
    - taosGetTimestampMs
    - ntohl
    - taosMemoryFree
    - taosMemoryCalloc
    - tWarn
    - transContFromHead
    linkageType: ''
    returnType: int32_t
    signature: int32_t transDecompressMsg(char** msg, int32_t* len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transContFromHead
      Src: /src/tdengine/source/libs/transport/src/transComm.c:224,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:227,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:230,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:234,1
    - Dst: LZ4_decompress_safe
      Src: /src/tdengine/source/libs/transport/src/transComm.c:237,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:240,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:241,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:244,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:251,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - msg
    - len
    - out
    - outLen
    argTypes:
    - char*
    - int32_t
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 256
    functionName: transDecompressMsgExt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - LZ4_decompress_safe
    - ntohl
    - taosGetTimestampMs
    - taosMemoryFree
    - taosMemoryCalloc
    - tError
    - tWarn
    - transContFromHead
    linkageType: ''
    returnType: int32_t
    signature: int32_t transDecompressMsgExt(char const* msg, int32_t len, char**
      out, int32_t* outLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:262,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: transFreeMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - tTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void transFreeMsg(void* msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uv_ip4_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:272,1
    - Dst: uError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:274,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:274,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:277,1
    - Dst: uv_ip6_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:281,1
    - Dst: uError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:283,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:283,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:286,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sockname
    - dst
    - cap
    argTypes:
    - struct sockaddr*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 289
    functionName: transSockInfo2Str
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - uError
    - uv_ip6_name
    - uv_strerror
    - ntohs
    - snprintf
    - uv_ip4_name
    linkageType: ''
    returnType: void
    signature: void transSockInfo2Str(struct sockaddr* sockname, char* dst, int32_t
      cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: transInitBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transInitBuffer(SConnBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: transDestroyBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void transDestroyBuffer(SConnBuffer* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 322
    functionName: transClearBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transClearBuffer(SConnBuffer* buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:333,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:337,1
    - Dst: transResetBuffer
      Src: /src/tdengine/source/libs/transport/src/transComm.c:338,1
    - Dst: transDoCrcCheck
      Src: /src/tdengine/source/libs/transport/src/transComm.c:343,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:345,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:345,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - connBuf
    - buf
    - resetBuf
    - len
    argTypes:
    - SConnBuffer*
    - char**
    - int8_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 357
    functionName: transDumpFromBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - transDoCrcCheck
    - taosMemoryFree
    - tError
    - tstrerror
    - transResetBuffer
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transDumpFromBuffer(SConnBuffer* connBuf, char** buf, int8_t
      resetBuf, int32_t* len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:363,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:374,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:381,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - connBuf
    - resetBuf
    argTypes:
    - SConnBuffer*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 385
    functionName: transResetBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - tError
    - taosMemoryRealloc
    - tstrerror
    - memmove
    linkageType: ''
    returnType: int32_t
    signature: int32_t transResetBuffer(SConnBuffer* connBuf, int8_t resetBuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - connBuf
    - uvBuf
    argTypes:
    - SConnBuffer*
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 413
    functionName: transAllocBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transAllocBuffer(SConnBuffer* connBuf, uv_buf_t* uvBuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:420,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:421,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - connBuf
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 435
    functionName: transReadComplete
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - ntohl
    - memcpy
    - tError
    linkageType: ''
    returnType: bool
    signature: bool transReadComplete(SConnBuffer* connBuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:442,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - connBuf
    - buf
    - len
    argTypes:
    - SConnBuffer*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 453
    functionName: transConnBufferAppend
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transConnBufferAppend(SConnBuffer* connBuf, char* buf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_tcp_keepalive
      Src: /src/tdengine/source/libs/transport/src/transComm.c:459,1
    - Dst: uv_tcp_nodelay
      Src: /src/tdengine/source/libs/transport/src/transComm.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - keepalive
    argTypes:
    - uv_tcp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: transSetConnOption
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - uv_tcp_nodelay
    - uv_tcp_keepalive
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSetConnOption(uv_tcp_t* stream, int keepalive)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:467,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:475,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:477,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:485,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:491,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:492,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:494,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/transport/src/transComm.c:499,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:501,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:501,1
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:508,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 5
    argNames:
    - loop
    - sz
    - arg
    - cb
    - pPool
    argTypes:
    - uv_loop_t*
    - int
    - void*
    - AsyncCB
    - SAsyncPool**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 515
    functionName: transAsyncPoolCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_INIT
    - uv_async_init
    - taosThreadMutexInit
    - transAsyncPoolDestroy
    - taosMemoryFree
    - tError
    - taosMemoryCalloc
    - uv_err_name
    linkageType: ''
    returnType: int32_t
    signature: int32_t transAsyncPoolCreate(uv_loop_t* loop, int sz, void* arg, AsyncCB
      cb, SAsyncPool** pPool)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:525,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:525,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:526,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:528,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pool
    argTypes:
    - SAsyncPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 530
    functionName: transAsyncPoolDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexDestroy
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void transAsyncPoolDestroy(SAsyncPool* pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - SAsyncPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: transAsyncPoolIsEmpty
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: bool
    signature: bool transAsyncPoolIsEmpty(SAsyncPool* pool)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/transport/src/transComm.c:540,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:552,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:553,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:553,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:557,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:558,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:558,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/transport/src/transComm.c:560,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:562,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pool
    - q
    argTypes:
    - SAsyncPool*
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 566
    functionName: transAsyncSend
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - atomic_load_8
    - uv_async_send
    - taosThreadMutexUnlock
    - QUEUE_PUSH
    - TAOS_UNUSED
    - tError
    - tstrerror
    - taosThreadMutexLock
    - uv_err_name
    linkageType: ''
    returnType: int
    signature: int transAsyncSend(SAsyncPool* pool, queue* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:570,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transComm.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 573
    functionName: transCtxInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - taosHashInit
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: void
    signature: void transCtxInit(STransCtx* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:579,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transComm.c:581,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:582,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:582,1
    - Dst: STransCtx*::freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:583,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:584,1
    - Dst: STransCtx*::freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:586,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 589
    functionName: transCtxCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - TMSG_INFO
    - STransCtx*::freeFunc
    - taosHashIterate
    - tDebug
    - taosHashGetKey
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void transCtxCleanup(STransCtx* ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:613,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transComm.c:616,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:618,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:620,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:620,1
    - Dst: STransCtx*::freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:621,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:624,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:624,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transComm.c:627,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:629,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:629,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:630,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:630,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:634,1
    - Dst: freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:637,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:641,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - STransCtx*
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 644
    functionName: transCtxMerge
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - STransCtx*::freeFunc
    - taosHashIterate
    - taosHashRemove
    - taosHashGet
    - tDebug
    - taosHashGetKey
    - TAOS_UNUSED
    - taosHashCleanup
    - tError
    - tstrerror
    - taosHashPut
    - freeFunc
    linkageType: ''
    returnType: void
    signature: void transCtxMerge(STransCtx* dst, STransCtx* src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:649,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - STransCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 656
    functionName: transCtxDumpVal
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void * transCtxDumpVal(STransCtx* ctx, int32_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - msgType
    argTypes:
    - STransCtx*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 667
    functionName: transCtxDumpBrokenlinkVal
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void * transCtxDumpBrokenlinkVal(STransCtx* ctx, int32_t* msgType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/transport/src/transComm.c:672,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 676
    functionName: transDoCrc
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosCalcChecksum
    - htonl
    linkageType: ''
    returnType: int32_t
    signature: int32_t transDoCrc(char* buf, int32_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:679,1
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/transport/src/transComm.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 686
    functionName: transDoCrcCheck
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - ntohl
    - taosCheckChecksum
    linkageType: ''
    returnType: int32_t
    signature: int32_t transDoCrcCheck(char* buf, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - wq
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 695
    functionName: transQueueInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_INIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t transQueueInit(STransQueue* wq, void (*freeFunc)(void* arg))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - arg
    argTypes:
    - STransQueue*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 700
    functionName: transQueuePush
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_PUSH
    linkageType: ''
    returnType: void
    signature: void transQueuePush(STransQueue* q, void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:704,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: transQueuePop
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_REMOVE
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: void * transQueuePop(STransQueue* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 709
    functionName: transQueueSize
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transQueueSize(STransQueue* q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - q
    - idx
    argTypes:
    - STransQueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 719
    functionName: transQueueGet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_NEXT
    linkageType: ''
    returnType: void
    signature: void * transQueueGet(STransQueue* q, int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:724,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:726,1
    - Dst: filter
      Src: /src/tdengine/source/libs/transport/src/transComm.c:727,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:728,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - q
    - arg
    - dst
    - size
    argTypes:
    - STransQueue*
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 737
    functionName: transQueueRemoveByFilter
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_NEXT
    - QUEUE_PUSH
    - QUEUE_REMOVE
    - filter
    linkageType: ''
    returnType: void
    signature: void transQueueRemoveByFilter(STransQueue* q, bool (*filter)(void*
      e, void* arg), void* arg, void* dst, int32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 744
    functionName: tranQueueHead
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: void * tranQueueHead(STransQueue* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - i
    argTypes:
    - STransQueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 757
    functionName: transQueueRm
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * transQueueRm(STransQueue* q, int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - q
    - e
    argTypes:
    - STransQueue*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 764
    functionName: transQueueRemove
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_REMOVE
    linkageType: ''
    returnType: void
    signature: void transQueueRemove(STransQueue* q, void* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: transQueueEmpty
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transQueueEmpty(STransQueue* q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:770,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:771,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 776
    functionName: transQueueClear
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void transQueueClear(STransQueue* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transQueueClear
      Src: /src/tdengine/source/libs/transport/src/transComm.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 777
    functionName: transQueueDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transQueueClear
    linkageType: ''
    returnType: void
    signature: void transQueueDestroy(STransQueue* q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:781,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HeapNode*
    - HeapNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 788
    functionName: timeCompare
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE timeCompare(const HeapNode* a, const HeapNode* b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:792,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:794,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:796,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:798,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:800,1
    - Dst: SDelayTask*::func
      Src: /src/tdengine/source/libs/transport/src/transComm.c:801,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:802,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:810,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transComm.c:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - timer
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 812
    functionName: transDQTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - tTrace
    - uv_timer_start
    - heapMin
    - SDelayTask*::func
    - container_of
    - taosGetTimestampMs
    - taosMemoryFree
    - TAOS_UNUSED
    - heapRemove
    linkageType: ''
    returnType: void
    signature: void transDQTimeout(uv_timer_t* timer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:819,1
    - Dst: heapCreate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:824,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:826,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:829,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:831,1
    - Dst: uv_timer_init
      Src: /src/tdengine/source/libs/transport/src/transComm.c:838,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:840,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:847,1
    - Dst: heapDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:848,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - loop
    - queue
    argTypes:
    - uv_loop_t*
    - SDelayQueue**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 851
    functionName: transDQCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - uv_timer_init
    - TAOS_CHECK_GOTO
    - heapDestroy
    - taosMemoryFree
    - heapCreate
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transDQCreate(uv_loop_t* loop, SDelayQueue** queue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:857,1
    - Dst: heapSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:859,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:860,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:864,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:866,1
    - Dst: freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:869,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:870,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:872,1
    - Dst: heapDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:874,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - queue
    argTypes:
    - SDelayQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 876
    functionName: transDQDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - heapSize
    - heapMin
    - heapDestroy
    - container_of
    - taosMemoryFree
    - heapRemove
    - freeFunc
    linkageType: ''
    returnType: void
    signature: void transDQDestroy(SDelayQueue* queue, void (*freeFunc)(void* arg))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:878,1
    - Dst: uv_timer_stop
      Src: /src/tdengine/source/libs/transport/src/transComm.c:878,1
    - Dst: heapSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:880,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:881,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:882,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:885,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:887,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:888,1
    - Dst: heapSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:890,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:891,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:894,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:895,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:898,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transComm.c:898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - queue
    - task
    argTypes:
    - SDelayQueue*
    - SDelayTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 900
    functionName: transDQCancel
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - heapSize
    - uv_timer_start
    - heapMin
    - container_of
    - taosGetTimestampMs
    - taosMemoryFree
    - TAOS_UNUSED
    - heapRemove
    - uv_timer_stop
    linkageType: ''
    returnType: void
    signature: void transDQCancel(SDelayQueue* queue, SDelayTask* task)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:903,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:904,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:913,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:915,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:921,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/transport/src/transComm.c:922,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:923,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transComm.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - queue
    - arg
    - timeoutMs
    argTypes:
    - SDelayQueue*
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 925
    functionName: transDQSched
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - tTrace
    - uv_timer_start
    - heapInsert
    - heapMin
    - container_of
    - taosGetTimestampMs
    - TAOS_UNUSED
    - taosMemoryCalloc
    linkageType: ''
    returnType: SDelayTask
    signature: SDelayTask * transDQSched(SDelayQueue* queue, void (*func)(void* arg),
      void* arg, uint64_t timeoutMs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:930,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:934,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:937,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:939,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:942,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 944
    functionName: transPrintEpSet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - snprintf
    - tTrace
    linkageType: ''
    returnType: void
    signature: void transPrintEpSet(SEpSet* pEpSet)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transComm.c:956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SReqEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 961
    functionName: transReqEpsetIsEqual
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    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:967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 972
    functionName: transCompareReqAndUserEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool transCompareReqAndUserEpset(SReqEpSet* a, SEpSet* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:976,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:977,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:978,1
    - Dst: transCacheInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:979,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:981,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:982,1
    - Dst: uv_os_setenv
      Src: /src/tdengine/source/libs/transport/src/transComm.c:982,1
    - Dst: saslLibInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 985
    functionName: transInitEnv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transOpenRefMgt
    - saslLibInit
    - taosOpenRef
    - transCacheInit
    - TAOS_UNUSED
    - uv_os_setenv
    linkageType: ''
    returnType: void
    signature: void transInitEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:987,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:988,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:989,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 991
    functionName: transDestroyEnv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transCloseRefMgt
    linkageType: ''
    returnType: void
    signature: void transDestroyEnv()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/transComm.c:995,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transComm.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1000
    functionName: transInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosThreadOnce
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int32_t
    signature: int32_t transInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1002
    functionName: transGetRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transGetRefMgt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1003
    functionName: transGetSvrRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transGetSvrRefMgt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1004
    functionName: transGetInstMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transGetInstMgt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1005
    functionName: transGetSyncMsgMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transGetSyncMsgMgt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transDestroyEnv
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1010
    functionName: transCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transDestroyEnv
    linkageType: ''
    returnType: void
    signature: void transCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1014
    functionName: transOpenRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - taosOpenRef
    linkageType: ''
    returnType: int32_t
    signature: int32_t transOpenRefMgt(int size, void (*func)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mgt
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: transCloseRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: void transCloseRefMgt(int32_t mgt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - p
    argTypes:
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1022
    functionName: transAddExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosAddRef
    linkageType: ''
    returnType: int64_t
    signature: int64_t transAddExHandle(int32_t refMgt, void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1025,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1029
    functionName: transRemoveExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosRemoveRef
    - tTrace
    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:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1033
    functionName: transAcquireExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: void * transAcquireExHandle(int32_t refMgt, int64_t refId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1037,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1041
    functionName: transReleaseExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosReleaseRef
    - tTrace
    linkageType: ''
    returnType: void
    signature: void transReleaseExHandle(int32_t refMgt, int64_t refId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1047,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1049
    functionName: transDestroyExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - tDebug
    linkageType: ''
    returnType: void
    signature: void transDestroyExHandle(void* handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1055,1
    - Dst: tsem2_destroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1055,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1056,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1057,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1058,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1060
    functionName: transDestroySyncMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transFreeMsg
    - tsem2_destroy
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void transDestroySyncMsg(void* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRange
    argTypes:
    - SIpV4Range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1065
    functionName: subnetIpRang2Int
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t subnetIpRang2Int(SIpV4Range* pRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subnetIpRang2Int
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pUtils
    - pRange
    argTypes:
    - SubnetUtils*
    - SIpV4Range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1083
    functionName: subnetInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - subnetIpRang2Int
    linkageType: ''
    returnType: int32_t
    signature: int32_t subnetInit(SubnetUtils* pUtils, SIpV4Range* pRange)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subnetIpRang2Int
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pUtils
    - ip
    argTypes:
    - SubnetUtils*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1095
    functionName: subnetCheckIp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - subnetIpRang2Int
    linkageType: ''
    returnType: int32_t
    signature: int32_t subnetCheckIp(SubnetUtils* pUtils, uint32_t ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_inet_ntop
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1103,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1105,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1105,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1109,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pRange
    - buf
    - cap
    argTypes:
    - SIpV4Range*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1115
    functionName: transUtilSIpRangeToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - uv_strerror
    - snprintf
    - tError
    - strlen
    - uv_inet_ntop
    linkageType: ''
    returnType: int32_t
    signature: int32_t transUtilSIpRangeToStr(SIpV4Range* pRange, char* buf, int32_t
      cap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1123,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1126,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1128,1
    - Dst: tIpUintToStr
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1134,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1135,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1137,1
    - Dst: IP_ADDR_STR
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1137,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - pList
    - ppBuf
    argTypes:
    - SIpWhiteListDual*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1151
    functionName: transUtilSWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - tIpUintToStr
    - IP_ADDR_STR
    - TSDB_CHECK_CODE
    - snprintf
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transUtilSWhiteListToStr(SIpWhiteListDual* pList, char** ppBuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - range
    - ip
    argTypes:
    - SIpRange*
    - SIpRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1174
    functionName: transUtilCheckDualIp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transUtilCheckDualIp(SIpRange* range, SIpRange* ip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1178,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1180,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1182,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1186,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1187,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - wq
    argTypes:
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1193
    functionName: initWQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_INIT
    - TAOS_CHECK_GOTO
    - destroyWQ
    - QUEUE_PUSH
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initWQ(queue* wq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1195,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1196,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1197,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1198,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wq
    argTypes:
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1201
    functionName: destroyWQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - QUEUE_DATA
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - taosMemoryFree
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void destroyWQ(queue* wq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1204,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1205,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1206,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1207,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1209,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1213,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - wq
    - arg
    argTypes:
    - queue*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1222
    functionName: allocWReqFromWQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - QUEUE_INIT
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - taosMemoryCalloc
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: uv_write_t
    signature: uv_write_t * allocWReqFromWQ(queue* wq, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1225,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wq
    - w
    argTypes:
    - queue*
    - SWReqsWrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1227
    functionName: freeWReqToWQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_PUSH
    - QUEUE_INIT
    linkageType: ''
    returnType: void
    signature: void freeWReqToWQ(queue* wq, SWReqsWrapper* w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_fileno
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1232,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1234,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1234,1
    - Dst: taosSetSockOpt2
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1239
    functionName: transSetReadOption
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - tWarn
    - taosSetSockOpt2
    - uv_fileno
    - uv_err_name
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSetReadOption(uv_handle_t* handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1251,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1255,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1257,1
    - Dst: transValidReqEpset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1259,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pEpset
    - pReqEpSet
    argTypes:
    - SEpSet*
    - SReqEpSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1266
    functionName: transCreateReqEpsetFromUserEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transValidReqEpset
    - taosMemoryCalloc
    - taosMemoryFree
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCreateReqEpsetFromUserEpset(const SEpSet* pEpset, SReqEpSet**
      pReqEpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pReqEpSet
    - pEpSet
    argTypes:
    - SReqEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1274
    functionName: transCreateUserEpsetFromReqEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCreateUserEpsetFromReqEpset(const SReqEpSet* pReqEpSet,
      SEpSet* pEpSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pReqEpSet
    argTypes:
    - SReqEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1284
    functionName: transValidReqEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transValidReqEpset(SReqEpSet* pReqEpSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transHeadFromCont
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1319,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1321,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1323,1
    - Dst: LZ4_compress_default
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1328,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1336,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1337,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1339,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1348
    functionName: transCompressMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosMemoryMalloc
    - memcpy
    - LZ4_compress_default
    - transHeadFromCont
    - tDebug
    - taosMemoryFree
    - tWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCompressMsg(char* msg, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1349
    functionName: transDecompressMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transDecompressMsg(char** msg, int32_t* len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1355,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1357
    functionName: transFreeMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - tTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void transFreeMsg(void* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1361,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1362
    functionName: transCtxInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - taosHashInit
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: void
    signature: void transCtxInit(STransCtx* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1368,1
    - Dst: STransCtx*::freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1370,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1371,1
    - Dst: STransCtx*::freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1373,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1376
    functionName: transCtxCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - STransCtx*::freeFunc
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void transCtxCleanup(STransCtx* ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1391,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1394,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1396,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1398,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1398,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1400,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - STransCtx*
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1403
    functionName: transCtxMerge
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - tError
    - taosHashGetKey
    - taosHashCleanup
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void transCtxMerge(STransCtx* dst, STransCtx* src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1408,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - STransCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1415
    functionName: transCtxDumpVal
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void * transCtxDumpVal(STransCtx* ctx, int32_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - msgType
    argTypes:
    - STransCtx*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1426
    functionName: transCtxDumpBrokenlinkVal
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void * transCtxDumpBrokenlinkVal(STransCtx* ctx, int32_t* msgType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1433,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1434,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1435,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1438,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1439,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1440,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1442,1
    - Dst: transCtxDumpVal
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1446,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1447,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1447,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1449,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1450,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1451,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pTrans
    - pMsg
    argTypes:
    - STrans*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1428
    functionDepth: 2
    functionLinenumber: 1428
    functionLinenumberEnd: 1455
    functionName: cliMayGetAhandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - transCtxDumpVal
    - tError
    - taosHashRemove
    - taosHashGet
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - transCtxCleanup
    linkageType: ''
    returnType: bool
    signature: bool cliMayGetAhandle(STrans* pTrans, SRpcMsg* pMsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQall
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1467,1
    - Dst: taosReadAllQitemsFromQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1470,1
    - Dst: taosResetQitems
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1472,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1474,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1475,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1479,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1479,1
    - Dst: transGetCb
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1481,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1483,1
    - Dst: cliMayGetAhandle
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1486,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1491,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1492,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1495,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1495,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1498,1
    - Dst: taosUpdateItemSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1500,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1457
    functionDepth: 3
    functionLinenumber: 1457
    functionLinenumberEnd: 1505
    functionName: processSvrMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - tGDebug
    - memcpy
    - tsem_post
    - taosUpdateItemSize
    - taosResetQitems
    - cliMayGetAhandle
    - taosReadAllQitemsFromQset
    - tDebug
    - taosFreeQitem
    - taosFreeQall
    - transGetCb
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosAllocateQall
    - taosGetQitem
    linkageType: ''
    returnType: void
    signature: void * processSvrMsg(void* arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQall
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1516,1
    - Dst: taosReadAllQitemsFromQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1519,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1520,1
    - Dst: taosResetQitems
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1522,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1524,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1527,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1527,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1531,1
    - Dst: transGetCb
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1533,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1535,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1539,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1539,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1541,1
    - Dst: taosUpdateItemSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1543,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1548
    functionName: procClientMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - tError
    - taosUpdateItemSize
    - taosResetQitems
    - taosReadAllQitemsFromQset
    - tDebug
    - taosFreeQitem
    - taosFreeQall
    - transGetCb
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosAllocateQall
    - taosGetQitem
    linkageType: ''
    returnType: void
    signature: void * procClientMsg(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1550,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1551,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1552,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1553,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1555,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1556,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1556,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1560,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1562,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1563,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1565,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1568,1
    - Dst: taosOpenQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1569,1
    - Dst: taosAddIntoQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1570,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1573,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1576,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1580,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1582,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1583,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1584,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1587,1
    - Dst: taosOpenQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1588,1
    - Dst: taosAddIntoQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1589,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1592,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1549
    functionDepth: 2
    functionLinenumber: 1549
    functionLinenumberEnd: 1598
    functionName: transInitEnv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transOpenRefMgt
    - taosMemoryMalloc
    - taosThreadMutexInit
    - taosOpenQset
    - taosOpenRef
    - taosHashInit
    - taosAddIntoQset
    - taosGetDefaultHashFunction
    - taosOpenQueue
    - taosThreadCreate
    linkageType: ''
    returnType: void
    signature: void transInitEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1600,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1599
    functionDepth: 2
    functionLinenumber: 1599
    functionLinenumberEnd: 1602
    functionName: transDestroyEnv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - transCloseRefMgt
    linkageType: ''
    returnType: void
    signature: void transDestroyEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1611,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1614,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - type
    - pTransport
    argTypes:
    - RPC_TYPE
    - STrans*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1617
    functionName: transUpdateCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - taosHashPut
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t transUpdateCb(RPC_TYPE type, STrans* pTransport)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1619,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1620,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1622,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - type
    - ppTransport
    argTypes:
    - RPC_TYPE
    - STrans**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1618
    functionDepth: 1
    functionLinenumber: 1618
    functionLinenumberEnd: 1631
    functionName: transGetCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 2
    functionsReached:
    - taosThreadMutexLock
    - taosHashGet
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t transGetCb(RPC_TYPE type, STrans** ppTransport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1636,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1637,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1641,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1641,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pTransport
    - pMsg
    - pEpSet
    argTypes:
    - STrans*
    - SRpcMsg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1644
    functionName: transSendReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - memcpy
    - tDebug
    - taosAllocateQitem
    - taosWriteQitem
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSendReq(STrans* pTransport, SRpcMsg* pMsg, void* pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1648,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1649,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1653,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1653,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1656
    functionName: transSendResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - memcpy
    - tDebug
    - taosAllocateQitem
    - taosWriteQitem
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSendResp(const SRpcMsg* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1660,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1665
    functionName: transInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosThreadOnce
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int32_t
    signature: int32_t transInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1667
    functionName: transGetRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transGetRefMgt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1668
    functionName: transGetSvrRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transGetSvrRefMgt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1669
    functionName: transGetInstMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transGetInstMgt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1670
    functionName: transGetSyncMsgMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transGetSyncMsgMgt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transDestroyEnv
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1672
    functionDepth: 2
    functionLinenumber: 1672
    functionLinenumberEnd: 1676
    functionName: transCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transDestroyEnv
    linkageType: ''
    returnType: void
    signature: void transCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1677
    functionDepth: 1
    functionLinenumber: 1677
    functionLinenumberEnd: 1680
    functionName: transOpenRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 2
    functionsReached:
    - taosOpenRef
    linkageType: ''
    returnType: int32_t
    signature: int32_t transOpenRefMgt(int size, void (*func)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgt
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: transCloseRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 2
    functionsReached:
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: void transCloseRefMgt(int32_t mgt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - p
    argTypes:
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1686
    functionDepth: 1
    functionLinenumber: 1686
    functionLinenumberEnd: 1689
    functionName: transAddExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosAddRef
    linkageType: ''
    returnType: int64_t
    signature: int64_t transAddExHandle(int32_t refMgt, void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1694
    functionName: transRemoveExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    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:1698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1696
    functionDepth: 1
    functionLinenumber: 1696
    functionLinenumberEnd: 1699
    functionName: transAcquireExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: void * transAcquireExHandle(int32_t refMgt, int64_t refId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1701
    functionDepth: 1
    functionLinenumber: 1701
    functionLinenumberEnd: 1705
    functionName: transReleaseExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosReleaseRef
    linkageType: ''
    returnType: void
    signature: void transReleaseExHandle(int32_t refMgt, int64_t refId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1711,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1712,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1714,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1717
    functionName: transDestroyExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - tDebug
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void transDestroyExHandle(void* handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1723,1
    - Dst: tsem2_destroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1723,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1724,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1725,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1719
    functionDepth: 2
    functionLinenumber: 1719
    functionLinenumberEnd: 1729
    functionName: transDestroySyncMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transFreeMsg
    - tsem2_destroy
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void transDestroySyncMsg(void* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRange
    argTypes:
    - SIpV4Range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1731
    functionName: subnetIpRang2Int
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t subnetIpRang2Int(SIpV4Range* pRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pUtils
    - pRange
    argTypes:
    - SubnetUtils*
    - SIpV4Range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1732
    functionName: subnetInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t subnetInit(SubnetUtils* pUtils, SIpV4Range* pRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pUtils
    - ip
    argTypes:
    - SubnetUtils*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1733
    functionName: subnetCheckIp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t subnetCheckIp(SubnetUtils* pUtils, uint32_t ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRange
    - buf
    argTypes:
    - SIpV4Range*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1735
    functionName: transUtilSIpRangeToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transUtilSIpRangeToStr(SIpV4Range* pRange, char* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pList
    - ppBuf
    argTypes:
    - SIpWhiteList*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1737
    functionName: transUtilSWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transUtilSWhiteListToStr(SIpWhiteList* pList, char** ppBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1751
    functionName: transInitBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transInitBuffer(SConnBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1755
    functionName: transDestroyBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void transDestroyBuffer(SConnBuffer* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1757
    functionDepth: 1
    functionLinenumber: 1757
    functionLinenumberEnd: 1771
    functionName: transClearBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transClearBuffer(SConnBuffer* buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1782,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1786,1
    - Dst: transResetBuffer
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - connBuf
    - buf
    - resetBuf
    - len
    argTypes:
    - SConnBuffer*
    - char**
    - int8_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1773
    functionDepth: 2
    functionLinenumber: 1773
    functionLinenumberEnd: 1796
    functionName: transDumpFromBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transResetBuffer
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t transDumpFromBuffer(SConnBuffer* connBuf, char** buf, int8_t
      resetBuf, int32_t* len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1802,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1813,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1820,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - connBuf
    - resetBuf
    argTypes:
    - SConnBuffer*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1798
    functionDepth: 1
    functionLinenumber: 1798
    functionLinenumberEnd: 1824
    functionName: transResetBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 2
    functionsReached:
    - tError
    - taosMemoryRealloc
    - tstrerror
    - memmove
    linkageType: ''
    returnType: int32_t
    signature: int32_t transResetBuffer(SConnBuffer* connBuf, int8_t resetBuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1836,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1840,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1842,1
    - Dst: transValidReqEpset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1844,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pEpset
    - pReqEpSet
    argTypes:
    - SEpSet*
    - SReqEpSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1851
    functionName: transCreateReqEpsetFromUserEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transValidReqEpset
    - taosMemoryCalloc
    - taosMemoryFree
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCreateReqEpsetFromUserEpset(const SEpSet* pEpset, SReqEpSet**
      pReqEpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pReqEpSet
    - pEpSet
    argTypes:
    - SReqEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1859
    functionName: transCreateUserEpsetFromReqEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCreateUserEpsetFromReqEpset(const SReqEpSet* pReqEpSet,
      SEpSet* pEpSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pReqEpSet
    argTypes:
    - SReqEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1869
    functionName: transValidReqEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transValidReqEpset(SReqEpSet* pReqEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - wq
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1879
    functionName: transQueueInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_INIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t transQueueInit(STransQueue* wq, void (*freeFunc)(void* arg))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - arg
    argTypes:
    - STransQueue*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1884
    functionName: transQueuePush
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_PUSH
    linkageType: ''
    returnType: void
    signature: void transQueuePush(STransQueue* q, void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1888,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1892
    functionName: transQueuePop
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_REMOVE
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: void * transQueuePop(STransQueue* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1893
    functionName: transQueueSize
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transQueueSize(STransQueue* q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1899,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - q
    - idx
    argTypes:
    - STransQueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1903
    functionName: transQueueGet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_NEXT
    linkageType: ''
    returnType: void
    signature: void * transQueueGet(STransQueue* q, int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1907,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1909,1
    - Dst: filter
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1910,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1911,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1913,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - q
    - arg
    - dst
    - size
    argTypes:
    - STransQueue*
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1905
    functionDepth: 1
    functionLinenumber: 1905
    functionLinenumberEnd: 1920
    functionName: transQueueRemoveByFilter
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_NEXT
    - QUEUE_PUSH
    - QUEUE_REMOVE
    - filter
    linkageType: ''
    returnType: void
    signature: void transQueueRemoveByFilter(STransQueue* q, bool (*filter)(void*
      e, void* arg), void* arg, void* dst, int32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1927
    functionName: tranQueueHead
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: void * tranQueueHead(STransQueue* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - i
    argTypes:
    - STransQueue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1940
    functionName: transQueueRm
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * transQueueRm(STransQueue* q, int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - q
    - e
    argTypes:
    - STransQueue*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1947
    functionName: transQueueRemove
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - QUEUE_REMOVE
    linkageType: ''
    returnType: void
    signature: void transQueueRemove(STransQueue* q, void* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1949
    functionName: transQueueEmpty
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transQueueEmpty(STransQueue* q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1953,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1954,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1959
    functionName: transQueueClear
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 1
    functionsReached:
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void transQueueClear(STransQueue* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transQueueClear
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1960
    functionDepth: 2
    functionLinenumber: 1960
    functionLinenumberEnd: 1960
    functionName: transQueueDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transQueueClear
    linkageType: ''
    returnType: void
    signature: void transQueueDestroy(STransQueue* q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1964,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1968,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1971,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1973,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1976,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1962
    functionDepth: 1
    functionLinenumber: 1962
    functionLinenumberEnd: 1978
    functionName: transPrintEpSet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - snprintf
    - tTrace
    linkageType: ''
    returnType: void
    signature: void transPrintEpSet(SEpSet* pEpSet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1990,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1991,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1993,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1997,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SReqEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1979
    functionDepth: 1
    functionLinenumber: 1979
    functionLinenumberEnd: 2002
    functionName: transReqEpsetIsEqual
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - strlen
    - tWarn
    - 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:2008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2013
    functionName: transCompareReqAndUserEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool transCompareReqAndUserEpset(SReqEpSet* a, SEpSet* b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transReloadClientTlsConfig
      Src: /src/tdengine/source/libs/transport/src/transComm.c:2020,1
    - Dst: transReloadServerTlsConfig
      Src: /src/tdengine/source/libs/transport/src/transComm.c:2022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - handle
    - type
    argTypes:
    - void*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2027
    functionName: transReloadTlsConfig
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transReloadClientTlsConfig
    - transReloadServerTlsConfig
    linkageType: ''
    returnType: int32_t
    signature: int32_t transReloadTlsConfig(void* handle, int8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transCacheAcquireById
      Src: /src/tdengine/source/libs/transport/src/transComm.c:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mgtId
    - instId
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2028
    functionDepth: 2
    functionLinenumber: 2028
    functionLinenumberEnd: 2036
    functionName: transInstAcquire
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transCacheAcquireById
    linkageType: ''
    returnType: STrans
    signature: STrans * transInstAcquire(int64_t mgtId, int64_t instId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCacheReleaseByRefId
      Src: /src/tdengine/source/libs/transport/src/transComm.c:2038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 2038
    functionDepth: 2
    functionLinenumber: 2038
    functionLinenumberEnd: 2038
    functionName: transInstRelease
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: 0
    functionsReached:
    - transCacheReleaseByRefId
    linkageType: ''
    returnType: void
    signature: void transInstRelease(int64_t instId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslLibInitImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: saslLibInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached:
    - saslLibInitImpl
    linkageType: ''
    returnType: void
    signature: void saslLibInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslLibCleanupImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: saslLibCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslLibCleanupImpl
    linkageType: ''
    returnType: void
    signature: void saslLibCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslConnCreateImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ppConn
    - server
    argTypes:
    - SSaslConn**
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: saslConnCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslConnCreateImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslConnCreate(SSaslConn** ppConn, int8_t server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslConnSetStateImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pConn
    - state
    argTypes:
    - SSaslConn*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: saslConnSetState
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslConnSetStateImpl
    linkageType: ''
    returnType: void
    signature: void saslConnSetState(SSaslConn* pConn, int32_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslConnInitImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSaslConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: saslConnInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslConnInitImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslConnInit(SSaslConn* pConn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslConnCleanupImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSaslConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: saslConnCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslConnCleanupImpl
    linkageType: ''
    returnType: void
    signature: void saslConnCleanup(SSaslConn* pConn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslConnEncodeImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pConn
    - input
    - len
    - output
    - outputLen
    argTypes:
    - SSaslConn*
    - char*
    - int32_t
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: saslConnEncode
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslConnEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslConnEncode(SSaslConn* pConn, const char* input, int32_t
      len, const char** output, unsigned* outputLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslConnDecodeImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pConn
    - input
    - len
    - output
    - outputLen
    argTypes:
    - SSaslConn*
    - char*
    - int32_t
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: saslConnDecode
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslConnDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslConnDecode(SSaslConn* pConn, const char* input, int32_t
      len, const char** output, unsigned* outputLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslConnShoudDoAuthImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSaslConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: saslAuthIsInited
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslConnShoudDoAuthImpl
    linkageType: ''
    returnType: int8_t
    signature: int8_t saslAuthIsInited(SSaslConn* pConn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslConnHandleAuthImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pConn
    - input
    - len
    argTypes:
    - SSaslConn*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: saslConnHandleAuth
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslConnHandleAuthImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslConnHandleAuth(SSaslConn* pConn, const char* input, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslBufferInitImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - cap
    argTypes:
    - SSaslBuffer*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: saslBufferInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslBufferInitImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslBufferInit(SSaslBuffer* buf, int32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslBufferAppendImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - data
    - len
    argTypes:
    - SSaslBuffer*
    - uint8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: saslBufferAppend
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslBufferAppendImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslBufferAppend(SSaslBuffer* buf, uint8_t* data, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslBufferCleanupImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSaslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: saslBufferCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslBufferCleanupImpl
    linkageType: ''
    returnType: void
    signature: void saslBufferCleanup(SSaslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saslBufferClearImpl
      Src: /src/tdengine/source/libs/transport/src/transSasl.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSaslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: saslBufferClear
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 0
    functionsReached:
    - saslBufferClearImpl
    linkageType: ''
    returnType: void
    signature: void saslBufferClear(SSaslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: saslLibInitImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void saslLibInitImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: saslLibCleanupImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void saslLibCleanupImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ppConn
    - server
    argTypes:
    - SSaslConn**
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: saslConnCreateImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslConnCreateImpl(SSaslConn * *ppConn, int8_t server)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSaslConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: saslConnInitImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslConnInitImpl(SSaslConn * pConn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSaslConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: saslConnCleanupImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void saslConnCleanupImpl(SSaslConn * pConn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pConn
    - state
    argTypes:
    - SSaslConn*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: saslConnSetStateImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void saslConnSetStateImpl(SSaslConn* pConn, int32_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pConn
    - input
    - len
    - output
    - outputLen
    argTypes:
    - SSaslConn*
    - char*
    - int32_t
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: saslConnEncodeImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t saslConnEncodeImpl(SSaslConn * pConn, const char* input, int32_t
      len, const char** output,\n                           unsigned* outputLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pConn
    - input
    - len
    - output
    - outputLen
    argTypes:
    - SSaslConn*
    - char*
    - int32_t
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: saslConnDecodeImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t saslConnDecodeImpl(SSaslConn * pConn, const char* input, int32_t
      len, const char** output,\n                           unsigned* outputLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pConn
    - input
    - len
    argTypes:
    - SSaslConn*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: saslConnHandleAuthImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslConnHandleAuthImpl(SSaslConn * pConn, const char* input,
      int32_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSaslConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: saslConnShoudDoAuthImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t saslConnShoudDoAuthImpl(SSaslConn * pConn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - cap
    argTypes:
    - SSaslBuffer*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: saslBufferInitImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslBufferInitImpl(SSaslBuffer * buf, int32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - data
    - len
    argTypes:
    - SSaslBuffer*
    - uint8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: saslBufferAppendImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t saslBufferAppendImpl(SSaslBuffer* buf, uint8_t* data, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSaslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: saslBufferCleanupImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void saslBufferCleanupImpl(SSaslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSaslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: saslBufferClearImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSasl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void saslBufferClearImpl(SSaslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - conn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: REQS_ON_CONN
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQS_ON_CONN(conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - loop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: CLI_RELEASE_UV
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLI_RELEASE_UV(loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - ip
    - ','
    - port
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: CONN_CONSTRUCT_HASH_KEY
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_CONSTRUCT_HASH_KEY(key, ip, port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - para
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: CONN_PERSIST_TIME
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_PERSIST_TIME(para)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - conn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: CONN_GET_INST_LABEL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONN_GET_INST_LABEL(conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: REQUEST_NO_RESP
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUEST_NO_RESP(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - epSet
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: EPSET_IS_VALID
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPSET_IS_VALID(epSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - epSet
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    functionName: EPSET_GET_SIZE
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPSET_GET_SIZE(epSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - epSet
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 351
    functionName: EPSET_GET_INUSE_IP
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPSET_GET_INUSE_IP(epSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - epSet
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    functionName: EPSET_GET_INUSE_PORT
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPSET_GET_INUSE_PORT(epSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - epSet
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: EPSET_FORWARD_INUSE
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPSET_FORWARD_INUSE(epSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: isReqExceedLimit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isReqExceedLimit(STransMsg* pMsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:369,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:369,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:371,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:375,1
    - Dst: uv_timer_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:376,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:378,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pThrd
    - pConn
    argTypes:
    - SCliThrd*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 385
    functionName: cliGetConnTimer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - uv_timer_init
    - tDebug
    - taosArrayGetSize
    - taosArrayPop
    - tError
    - taosMemoryCalloc
    - uv_err_name
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliGetConnTimer(SCliThrd* pThrd, SCliConn* pConn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_active
      Src: /src/tdengine/source/libs/transport/src/transCli.c:389,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:390,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:390,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:391,1
    - Dst: uv_timer_stop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:391,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:393,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:394,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:394,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 400
    functionName: cliResetConnTimer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tTrace
    - TAOS_UNUSED
    - CONN_GET_INST_LABEL
    - tError
    - tstrerror
    - uv_timer_stop
    - uv_is_active
    linkageType: ''
    returnType: void
    signature: void cliResetConnTimer(SCliConn* conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:411,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:413,1
    - Dst: cliGetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:420,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transCli.c:423,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:425,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:425,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - conn
    - timeout
    argTypes:
    - SCliConn*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 428
    functionName: cliConnMayUpdateTimer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - uv_timer_start
    - transQueueSize
    - cliGetConnTimer
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    - tError
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void cliConnMayUpdateTimer(SCliConn* conn, int64_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:433,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transCli.c:435,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:437,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:438,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:440,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:440,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:442,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:442,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:443,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:443,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 447
    functionName: destroyCliConnQTable
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - transGetRefMgt
    - taosHashRemove
    - transReleaseExHandle
    - taosHashGetKey
    - TAOS_UNUSED
    - taosHashCleanup
    - transRemoveExHandle
    - transCtxCleanup
    linkageType: ''
    returnType: void
    signature: void destroyCliConnQTable(SCliConn* conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:451,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: filteBySeq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - removeReqFromSendQ
    linkageType: ''
    returnType: bool
    signature: bool filteBySeq(void* key, void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:465,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:467,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:471,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - conn
    - seq
    - msgType
    - pReq
    argTypes:
    - SCliConn*
    - int64_t
    - int32_t
    - SCliReq**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: cliGetReqBySeq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - transQueueRemoveByFilter
    - QUEUE_HEAD
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliGetReqBySeq(SCliConn* conn, int64_t seq, int32_t msgType,
      SCliReq** pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:483,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:484,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:484,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:484,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:485,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:487,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:487,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:488,1
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:489,1
    - Dst: delConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:491,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:493,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:493,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:494,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:496,1
    - Dst: transHeapMayBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:496,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:500,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:500,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:501,1
    - Dst: addConnToPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:505,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:507,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:507,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:508,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:509,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:509,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:510,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:512,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:512,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:513,1
    - Dst: transHeapMayBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 516
    functionName: cliMayRecycleConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tTrace
    - transHeapMayBalance
    - taosHashGetSize
    - tDebug
    - delConnFromHeapCache
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    - transQueueSize
    - tstrerror
    - TAOS_UNUSED
    - addConnToPool
    linkageType: ''
    returnType: int8_t
    signature: int8_t cliMayRecycleConn(SCliConn* conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:520,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 528
    functionName: filterByQid
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - removeReqFromSendQ
    linkageType: ''
    returnType: bool
    signature: bool filterByQid(void* key, void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transContLenFromMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:530,1
    - Dst: transContFromHead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:531,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:539,1
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:540,1
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pReq
    - pResp
    - pHead
    argTypes:
    - SCliReq*
    - STransMsg*
    - STransMsgHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 545
    functionName: cliBuildRespFromCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosNtoh64
    - transContLenFromMsg
    - transContFromHead
    - ntohl
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliBuildRespFromCont(SCliReq* pReq, STransMsg* pResp, STransMsgHead*
      pHead)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:559,1
    - Dst: cliBuildExceptResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:561,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:563,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:563,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:564,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:566,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:568,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:568,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:569,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - conn
    - pHead
    - pReq
    argTypes:
    - SCliConn*
    - STransMsgHead*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 574
    functionName: cliMayNotifyUserOnRecvReleaseExcept
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliBuildExceptResp
    - taosNtoh64
    - CONN_GET_INST_LABEL
    - tstrerror
    - cliNotifyCb
    - tGWarn
    - destroyReq
    linkageType: ''
    returnType: int8_t
    signature: int8_t cliMayNotifyUserOnRecvReleaseExcept(SCliConn* conn, STransMsgHead*
      pHead, SCliReq* pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:580,1
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:582,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:583,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:584,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:584,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:587,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:588,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:590,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:592,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:592,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:595,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:597,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:597,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:600,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:600,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:600,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:601,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:604,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:605,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:606,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:608,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:608,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:609,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:609,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:611,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:612,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:613,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:614,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:615,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:617,1
    - Dst: cliMayNotifyUserOnRecvReleaseExcept
      Src: /src/tdengine/source/libs/transport/src/transCli.c:619,1
    - Dst: destroyReqWrapper
      Src: /src/tdengine/source/libs/transport/src/transCli.c:621,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - conn
    - pHead
    argTypes:
    - SCliConn*
    - STransMsgHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 628
    functionName: cliHandleState_mayHandleReleaseResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_INIT
    - QUEUE_HEAD
    - taosNtoh64
    - transQueueSize
    - TMSG_INFO
    - QUEUE_DATA
    - removeReqFromSendQ
    - QUEUE_REMOVE
    - CONN_GET_INST_LABEL
    - QUEUE_IS_EMPTY
    - destroyReqWrapper
    - transGetRefMgt
    - taosHashRemove
    - cliMayNotifyUserOnRecvReleaseExcept
    - transRemoveExHandle
    - transCtxCleanup
    - tGDebug
    - transReleaseExHandle
    - taosHashGet
    - tDebug
    - taosMemoryFree
    - transQueueRemoveByFilter
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliHandleState_mayHandleReleaseResp(SCliConn* conn, STransMsgHead*
      pHead)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:631,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:636,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:640,1
    - Dst: transCtxDumpVal
      Src: /src/tdengine/source/libs/transport/src/transCli.c:642,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:643,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:644,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:644,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - conn
    - pHead
    - pResp
    argTypes:
    - SCliConn*
    - STransMsgHead*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 647
    functionName: cliHandleState_mayCreateAhandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - tGDebug
    - transCtxDumpVal
    - taosGetTimestampUs
    - taosHashGet
    - taosNtoh64
    - CONN_GET_INST_LABEL
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliHandleState_mayCreateAhandle(SCliConn* conn, STransMsgHead*
      pHead, STransMsg* pResp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: cliConnClearInitUserMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE cliConnClearInitUserMsg(SCliConn* conn)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cliConnClearInitUserMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:660,1
    - Dst: transDumpFromBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:665,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:667,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:668,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:668,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:668,1
    - Dst: SCliThrd*::notifyExceptCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:670,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:672,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:672,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:672,1
    - Dst: transDecompressMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:677,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:678,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:678,1
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:682,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:684,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:685,1
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:687,1
    - Dst: cliHandleState_mayHandleReleaseResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:690,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:691,1
    - Dst: cliGetReqBySeq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:696,1
    - Dst: cliHandleState_mayCreateAhandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:698,1
    - Dst: cliBuildRespFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:700,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:701,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:705,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:707,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:707,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:707,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:709,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:710,1
    - Dst: cliHandleState_mayUpdateStateTime
      Src: /src/tdengine/source/libs/transport/src/transCli.c:716,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:718,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:718,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:719,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:722,1
    - Dst: cliBuildRespFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:724,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:726,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:727,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:727,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:728,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:729,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:731,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:731,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:733,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:735,1
    - Dst: cliConnMayUpdateTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:739,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 740
    functionName: cliHandleResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosNtoh64
    - cliConnClearInitUserMsg
    - tWarn
    - cliConnMayUpdateTimer
    - destroyReq
    - TMSG_INFO
    - removeReqFromSendQ
    - cliHandleState_mayCreateAhandle
    - ntohl
    - CONN_GET_INST_LABEL
    - cliMayRecycleConn
    - transDecompressMsg
    - cliGetReqBySeq
    - cliBuildRespFromCont
    - tstrerror
    - SCliThrd*::notifyExceptCb
    - transDumpFromBuffer
    - tGDebug
    - tDebug
    - cliHandleState_mayHandleReleaseResp
    - taosMemoryFree
    - tError
    - cliNotifyCb
    - cliHandleState_mayUpdateStateTime
    linkageType: ''
    returnType: void
    signature: void cliHandleResp(SCliConn* conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:745,1
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:747,1
    - Dst: cliMayUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:751,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:752,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:752,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:753,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 754
    functionName: cliConnTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transUnrefCliHandle
    - tTrace
    - cliMayUpdateFqdnCache
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void cliConnTimeout(uv_timer_t* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:758,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:759,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 768
    functionName: filterToRmTimoutReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - taosGetTimestampUs
    - REQUEST_NO_RESP
    linkageType: ''
    returnType: bool
    signature: bool filterToRmTimoutReq(void* key, void* arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:772,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:773,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:774,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:776,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 782
    functionName: filterToDebug_timeoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - QUEUE_DATA
    - taosGetTimestampUs
    - tWarn
    - REQUEST_NO_RESP
    linkageType: ''
    returnType: bool
    signature: bool filterToDebug_timeoutMsg(void* key, void* arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:787,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:797,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:800,1
    - Dst: cliConnRemoveTimeoutMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:800,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:801,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 784
    functionDepth: 3
    functionLinenumber: 784
    functionLinenumberEnd: 802
    functionName: cliConnCheckTimoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_INIT
    - cliMayRecycleConn
    - TAOS_UNUSED
    - transQueueSize
    - cliConnRemoveTimeoutMsg
    linkageType: ''
    returnType: void
    signature: void cliConnCheckTimoutMsg(SCliConn* conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cliConnCheckTimoutMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 803
    functionDepth: 4
    functionLinenumber: 803
    functionLinenumberEnd: 806
    functionName: cliConnTimeout__checkReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliConnCheckTimoutMsg
    linkageType: ''
    returnType: void
    signature: void cliConnTimeout__checkReq(uv_timer_t* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:810,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 811
    functionName: createConnPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: void
    signature: void * createConnPool(int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:818,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:820,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:821,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:822,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:823,1
    - Dst: cliDestroyConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:824,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:826,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 831
    functionName: destroyConnPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - taosHashIterate
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - taosHashCleanup
    - cliDestroyConn
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void * destroyConnPool(SCliThrd* pThrd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:836,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:837,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:840,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:841,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:846,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:850,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pThrd
    - key
    - ppList
    argTypes:
    - SCliThrd*
    - char*
    - SConnList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 857
    functionName: getOrCreateConnList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tTrace
    - QUEUE_INIT
    - taosHashGet
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t getOrCreateConnList(SCliThrd* pThrd, const char* key, SConnList**
      ppList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getOrCreateConnList
      Src: /src/tdengine/source/libs/transport/src/transCli.c:864,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:869,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:876,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:878,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:880,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:882,1
    - Dst: transDQCancel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:888,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - pThrd
    - key
    - ppConn
    argTypes:
    - SCliThrd*
    - char*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 895
    functionName: cliGetConnFromPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - tTrace
    - QUEUE_INIT
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - transDQCancel
    - getOrCreateConnList
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliGetConnFromPool(SCliThrd* pThrd, const char* key, SCliConn**
      ppConn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:900,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:901,1
    - Dst: CONN_CONSTRUCT_HASH_KEY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:903,1
    - Dst: cliGetConnFromPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:905,1
    - Dst: cliCreateConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - pConn
    argTypes:
    - SCliThrd*
    - SCliReq*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 913
    functionName: cliGetOrCreateConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - EPSET_GET_INUSE_PORT
    - cliGetConnFromPool
    - cliCreateConn
    - EPSET_GET_INUSE_IP
    - CONN_CONSTRUCT_HASH_KEY
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliGetOrCreateConn(SCliThrd* pThrd, SCliReq* pReq, SCliConn**
      pConn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:924,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:926,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:926,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:930,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transCli.c:931,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:933,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:938,1
    - Dst: transDQSched
      Src: /src/tdengine/source/libs/transport/src/transCli.c:944,1
    - Dst: CONN_PERSIST_TIME
      Src: /src/tdengine/source/libs/transport/src/transCli.c:944,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pool
    - conn
    argTypes:
    - void*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 946
    functionName: addConnToPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - tTrace
    - QUEUE_INIT
    - taosHashGet
    - transDQSched
    - QUEUE_PUSH
    - cliResetConnTimer
    - strlen
    - taosMemoryCalloc
    - CONN_PERSIST_TIME
    linkageType: ''
    returnType: void
    signature: void addConnToPool(void* pool, SCliConn* conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transAllocBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:951,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:953,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 955
    functionName: cliAllocRecvBufferCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - transAllocBuffer
    - tError
    linkageType: ''
    returnType: void
    signature: 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:962,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:962,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:964,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:964,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:964,1
    - Dst: transGetRefCount
      Src: /src/tdengine/source/libs/transport/src/transCli.c:965,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:967,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - nread
    argTypes:
    - SCliConn*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 970
    functionName: cliRecvHandleError
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tTrace
    - transUnrefCliHandle
    - tDebug
    - transGetRefCount
    - CONN_GET_INST_LABEL
    - TAOS_UNUSED
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void cliRecvHandleError(SCliConn* conn, int32_t nread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transReadComplete
      Src: /src/tdengine/source/libs/transport/src/transCli.c:975,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:976,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:976,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:979,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:979,1
    - Dst: cliHandleResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:982,1
    - Dst: cliRecvHandleError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - conn
    - nread
    argTypes:
    - SCliConn*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 971
    functionDepth: 4
    functionLinenumber: 971
    functionLinenumberEnd: 988
    functionName: cliRecvCbImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transUnrefCliHandle
    - tTrace
    - transReadComplete
    - cliHandleResp
    - cliRecvHandleError
    - CONN_GET_INST_LABEL
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void cliRecvCbImpl(SCliConn* conn, int32_t nread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:992,1
    - Dst: transSetReadOption
      Src: /src/tdengine/source/libs/transport/src/transCli.c:999,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1001,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1001,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1001,1
    - Dst: cliRecvCbImpl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 990
    functionDepth: 5
    functionLinenumber: 990
    functionLinenumberEnd: 1005
    functionName: cliRecvCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transSetReadOption
    - CONN_GET_INST_LABEL
    - cliRecvCbImpl
    - tstrerror
    - tWarn
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: void
    signature: void cliRecvCb(uv_stream_t* handle, ssize_t nread, const uv_buf_t*
      buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sslBufferRealloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1013,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1015,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1017
    functionName: cliAllocRecvBufferCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - sslBufferRealloc
    - tError
    linkageType: ''
    returnType: void
    signature: void cliAllocRecvBufferCbSSL(uv_handle_t* handle, size_t suggested_size,
      uv_buf_t* buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1021,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1021,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1021,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1023,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1025,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1025,1
    - Dst: saslBufferClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1027,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1030
    functionName: cliConnSendAuthWithTLSCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transUnrefCliHandle
    - tTrace
    - taosMemFree
    - uv_strerror
    - tDebug
    - saslBufferClear
    - CONN_GET_INST_LABEL
    linkageType: ''
    returnType: void
    signature: void cliConnSendAuthWithTLSCb(uv_write_t* req, int32_t status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1034,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1040,1
    - Dst: sslWrite
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1042,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - conn
    - data
    - len
    argTypes:
    - SCliConn*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1048
    functionName: cliConnSendAuthWithTLS
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosMemCalloc
    - sslWrite
    - uv_buf_init
    - taosMemFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliConnSendAuthWithTLS(SCliConn* conn, const char* data, int32_t
      len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1052,1
    - Dst: transSetReadOption
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1059,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1061,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1061,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1061,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1064,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1064,1
    - Dst: sslRead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1067,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1068,1
    - Dst: sslIsInited
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1072,1
    - Dst: saslAuthIsInited
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1072,1
    - Dst: saslConnHandleAuth
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1073,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1075,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1075,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1075,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1077,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1077,1
    - Dst: cliConnSendAuthWithTLS
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1086,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1088,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1088,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1088,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1090,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1090,1
    - Dst: saslAuthIsInited
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1094,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1095,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1095,1
    - Dst: sslIsInited
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1101,1
    - Dst: saslAuthIsInited
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1101,1
    - Dst: transReadComplete
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1105,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1106,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1106,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1109,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1109,1
    - Dst: cliHandleResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1113,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1123,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1123,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1129,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1129,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1129,1
    - Dst: transGetRefCount
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1130,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1130,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1132,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1132,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 3
    argNames:
    - handle
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1049
    functionDepth: 4
    functionLinenumber: 1049
    functionLinenumberEnd: 1134
    functionName: cliRecvCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - transSetReadOption
    - TAOS_UNUSED
    - tWarn
    - STUB_RAND_NETWORK_ERR
    - transUnrefCliHandle
    - cliHandleResp
    - CONN_GET_INST_LABEL
    - tInfo
    - saslConnHandleAuth
    - sslRead
    - saslAuthIsInited
    - cliConnSendAuthWithTLS
    - transGetRefCount
    - uv_err_name
    - tTrace
    - sslIsInited
    - transReadComplete
    - tDebug
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void cliRecvCbSSL(uv_stream_t* handle, ssize_t nread, const uv_buf_t*
      buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1139,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1140,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1142,1
    - Dst: cliCreateConnImpl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1142,1
    - Dst: cliHandleState_mayUpdateState
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1144,1
    - Dst: addConnToHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1146,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1150,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1152,1
    - Dst: cliDoConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - ppConn
    argTypes:
    - SCliThrd*
    - SCliReq*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1136
    functionDepth: 2
    functionLinenumber: 1136
    functionLinenumberEnd: 1157
    functionName: cliCreateConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - EPSET_GET_INUSE_PORT
    - addConnToHeapCache
    - TAOS_CHECK_GOTO
    - cliHandleState_mayUpdateState
    - cliDoConn
    - cliCreateConnImpl
    - transQueuePush
    - EPSET_GET_INUSE_IP
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliCreateConn(SCliThrd* pThrd, SCliReq* pReq, SCliConn** ppConn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1160,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1165
    functionName: cliDestroyMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - destroyReq
    linkageType: ''
    returnType: void
    signature: void cliDestroyMsg(void* arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1171,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1173,1
    - Dst: CONN_CONSTRUCT_HASH_KEY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1177,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1179,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1180,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1183,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1188,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1190,1
    - Dst: transQueueInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1190,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1191,1
    - Dst: transQueueInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1191,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1193,1
    - Dst: transInitBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1193,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1198,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1198,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1200,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1203,1
    - Dst: cliGetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1203,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1208,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1210,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1213,1
    - Dst: initWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1213,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1216,1
    - Dst: saslConnCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1216,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1220,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1222,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1225,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1228,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1230,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1230,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1232,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1241,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1242,1
    - Dst: destroyCliConnQTable
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1243,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1244,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1245,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1246,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1247,1
    - Dst: saslConnCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1248,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1251,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1252,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1254,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1255,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 69
    argCount: 4
    argNames:
    - pThrd
    - pCliConn
    - ip
    - port
    argTypes:
    - SCliThrd*
    - SCliConn**
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1166
    functionDepth: 3
    functionLinenumber: 1166
    functionLinenumberEnd: 1257
    functionName: cliCreateConnImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - QUEUE_INIT
    - TAOS_CHECK_GOTO
    - initWQ
    - CONN_CONSTRUCT_HASH_KEY
    - taosHashInit
    - destroyCliConnQTable
    - uv_tcp_init
    - taosGetDefaultHashFunction
    - transQueueDestroy
    - taosMemoryCalloc
    - saslConnCreate
    - uv_strerror
    - transDestroyBuffer
    - transQueueInit
    - taosStrdup
    - taosMemoryMalloc
    - cliGetConnTimer
    - taosMemoryFree
    - taosHashCleanup
    - tError
    - saslConnCleanup
    - transInitBuffer
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliCreateConnImpl(SCliThrd* pThrd, SCliConn** pCliConn, char*
      ip, int32_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1263,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1265,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1267,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1269,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1269,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1270,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1272,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1272,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1276,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1278,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1278,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1279,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1279,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1281,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1285
    functionName: cliDestroyAllQidFromThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - transGetRefMgt
    - taosHashRemove
    - transReleaseExHandle
    - tDebug
    - taosHashGetKey
    - CONN_GET_INST_LABEL
    - transRemoveExHandle
    - tstrerror
    - taosHashCleanup
    - transCtxCleanup
    linkageType: ''
    returnType: void
    signature: void cliDestroyAllQidFromThrd(SCliConn* conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cliDestroyConnImpl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - clear
    argTypes:
    - SCliConn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1286
    functionName: cliDestroyConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - cliDestroyConnImpl
    linkageType: ''
    returnType: void
    signature: void cliDestroyConn(SCliConn* conn, bool clear)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_type
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1289,1
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1294,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1296,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1296,1
    - Dst: destroyAllReqs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1298,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1300,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1300,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1300,1
    - Dst: delConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1304,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1306,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1306,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1306,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1309,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1310,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1311,1
    - Dst: cliDestroyAllQidFromThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1312,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1315,1
    - Dst: sslDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1319,1
    - Dst: saslConnCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1323,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1324,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1326,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1328,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1328,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1287
    functionDepth: 3
    functionLinenumber: 1287
    functionLinenumberEnd: 1331
    functionName: cliDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tTrace
    - destroyAllReqs
    - cliDestroyAllQidFromThrd
    - tDebug
    - delConnFromHeapCache
    - destroyWQ
    - taosMemoryFree
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    - tstrerror
    - saslConnCleanup
    - transDestroyBuffer
    - uv_handle_get_type
    - sslDestroy
    linkageType: ''
    returnType: void
    signature: void cliDestroy(uv_handle_t* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1333
    functionName: filterAllReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE filterAllReq(void* e, void* arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1355,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1355,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1356,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1356,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1359,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1360,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1360,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1361,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1361,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1362,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1367,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pConn
    - pReq
    - code
    argTypes:
    - SCliConn*
    - SCliReq*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1374
    functionName: notifyAndDestroyReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - destroyReq
    - tDebug
    - CONN_GET_INST_LABEL
    - tstrerror
    - cliNotifyCb
    - REQUEST_NO_RESP
    linkageType: ''
    returnType: void
    signature: void notifyAndDestroyReq(SCliConn* pConn, SCliReq* pReq, int32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1377,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1378,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1379,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1381,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1382,1
    - Dst: notifyAndDestroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - set
    - code
    argTypes:
    - SCliConn*
    - queue*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1376
    functionDepth: 2
    functionLinenumber: 1376
    functionLinenumberEnd: 1385
    functionName: destroyReqInQueue
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - removeReqFromSendQ
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - notifyAndDestroyReq
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE destroyReqInQueue(SCliConn* conn, queue* set, int32_t
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1391,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1395,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1396,1
    - Dst: destroyReqInQueue
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1386
    functionDepth: 3
    functionLinenumber: 1386
    functionLinenumberEnd: 1400
    functionName: destroyAllReqs
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - destroyReqInQueue
    - QUEUE_INIT
    - transQueueRemoveByFilter
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE destroyAllReqs(SCliConn* conn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1406,1
    - Dst: destroyAllReqs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1407,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1409,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1409,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1409,1
    - Dst: cliDestroyAllQidFromThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1412,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1414,1
    - Dst: transDQCancel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1420,1
    - Dst: delConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1424,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1426,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1426,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1426,1
    - Dst: transGetRefCount
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1430,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1431,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1434,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1401
    functionDepth: 4
    functionLinenumber: 1401
    functionLinenumberEnd: 1437
    functionName: cliDestroyConnImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - uv_is_closing
    - QUEUE_REMOVE
    - destroyAllReqs
    - tError
    - cliDestroyAllQidFromThrd
    - transDQCancel
    - uv_close
    - delConnFromHeapCache
    - transGetRefCount
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void cliDestroyConnImpl(SCliConn* conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1441,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1442,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - h
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1447
    functionName: filterToRmReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - removeReqFromSendQ
    - REQUEST_NO_RESP
    linkageType: ''
    returnType: bool
    signature: bool filterToRmReq(void* h, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1450,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1452,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1453,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1454,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1455,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1456,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1448
    functionDepth: 2
    functionLinenumber: 1448
    functionLinenumberEnd: 1460
    functionName: cliConnRmReqs
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - QUEUE_INIT
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - destroyReq
    - transQueueRemoveByFilter
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void cliConnRmReqs(SCliConn* conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1470,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1470,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1470,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1472,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1475,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1475,1
    - Dst: sslIsInited
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1476,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1477,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1477,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1485,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1486,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1490,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1490,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1490,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1491,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1491,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1496
    functionName: cliSendCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliBatchSend
    - transUnrefCliHandle
    - taosMemFree
    - TAOS_CHECK_GOTO
    - sslIsInited
    - tDebug
    - CONN_GET_INST_LABEL
    - TAOS_UNUSED
    - tstrerror
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void cliSendCbSSL(uv_write_t* req, int status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1514,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1516,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1516,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1497
    functionDepth: 1
    functionLinenumber: 1497
    functionLinenumberEnd: 1522
    functionName: cliConnStartRead
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - CONN_GET_INST_LABEL
    - uv_read_start
    - tDebug
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliConnStartRead(SCliConn* conn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sslBufferUnref
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1532,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1534,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1535,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1536,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1537,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1539,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1541,1
    - Dst: cliConnRmReqs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1546,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1548,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1548,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1548,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1549,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1549,1
    - Dst: cliConnMayUpdateTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1553,1
    - Dst: cliConnStartRead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1554,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1556,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1556,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1556,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1557,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1557,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1560,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1561,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1563,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1563,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1563,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1564,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1564,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1523
    functionDepth: 3
    functionLinenumber: 1523
    functionLinenumberEnd: 1567
    functionName: cliBatchSendCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliBatchSend
    - QUEUE_DATA
    - removeReqFromSendQ
    - transUnrefCliHandle
    - cliConnStartRead
    - QUEUE_HEAD
    - freeWReqToWQ
    - cliConnRmReqs
    - tDebug
    - CONN_GET_INST_LABEL
    - TAOS_UNUSED
    - tstrerror
    - cliMayRecycleConn
    - cliConnMayUpdateTimer
    - sslBufferUnref
    - uv_err_name
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void cliBatchSendCb(uv_write_t* req, int status)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1588,1
    - Dst: transDecompressMsgExt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1589,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1591,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1591,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1594,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1601,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1606,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1607,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1609,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - pConn
    - ppHead
    - msgLen
    argTypes:
    - SCliConn*
    - STransMsgHead**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1568
    functionDepth: 2
    functionLinenumber: 1568
    functionLinenumberEnd: 1621
    functionName: cliConnMayAddUserInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - memcpy
    - tError
    - transDecompressMsgExt
    - tDebug
    - ntohl
    - taosMemoryFree
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: bool
    signature: bool cliConnMayAddUserInfo(SCliConn* pConn, STransMsgHead** ppHead,
      int32_t* msgLen)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: sslIsInited
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1637,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1639,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1639,1
    - Dst: saslAuthIsInited
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1644,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1645,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1645,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1653,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1655,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1659,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1663,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1668,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1682,1
    - Dst: transQueueEmpty
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1684,1
    - Dst: transQueuePop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1685,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1686,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1692,1
    - Dst: transHeadFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1699,1
    - Dst: transMsgLenFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1700,1
    - Dst: cliConnMayAddUserInfo
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1707,1
    - Dst: transContFromHead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1708,1
    - Dst: transContLenFromMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1709,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1716,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1718,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1721,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1727,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1728,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1729,1
    - Dst: transCompressMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1733,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1734,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1737,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1739,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1741,1
    - Dst: transDoCrc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1741,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1748,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1748,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1749,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1751,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1752,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1753,1
    - Dst: transRefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1760,1
    - Dst: allocWReqFromWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1761,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1764,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1764,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1764,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1765,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1766,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1767,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1768,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1771,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1771,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1777,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1778,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1778,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1781,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1783,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1783,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1783,1
    - Dst: sslWrite
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1787,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1791,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1792,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1793,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1794,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1797,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1798,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1798,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 123
    argCount: 2
    argNames:
    - pConn
    - direct
    argTypes:
    - SCliConn*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1623
    functionDepth: 3
    functionLinenumber: 1623
    functionLinenumberEnd: 1802
    functionName: cliBatchSend
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - htonl
    - transRefCliHandle
    - QUEUE_INIT
    - QUEUE_HEAD
    - freeWReqToWQ
    - transContLenFromMsg
    - TAOS_UNUSED
    - transQueueSize
    - allocWReqFromWQ
    - TMSG_INFO
    - QUEUE_DATA
    - rpcMallocCont
    - transMsgLenFromCont
    - cliConnMayAddUserInfo
    - removeReqFromSendQ
    - transUnrefCliHandle
    - taosHton64
    - QUEUE_MOVE
    - ntohl
    - uv_buf_init
    - CONN_GET_INST_LABEL
    - transCompressMsg
    - REQUEST_NO_RESP
    - QUEUE_IS_EMPTY
    - transQueueEmpty
    - saslAuthIsInited
    - transHeadFromCont
    - QUEUE_PUSH
    - transQueuePush
    - tstrerror
    - transQueuePop
    - uv_err_name
    - tTrace
    - tGDebug
    - sslWrite
    - sslIsInited
    - tDebug
    - transDoCrc
    - uv_write
    - tError
    - transContFromHead
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliBatchSend(SCliConn* pConn, int8_t direct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1805,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pConn
    - pCliMsg
    argTypes:
    - SCliConn*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1804
    functionDepth: 4
    functionLinenumber: 1804
    functionLinenumberEnd: 1808
    functionName: cliSendReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - cliBatchSend
    - transQueuePush
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliSendReq(SCliConn* pConn, SCliReq* pCliMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1814,1
    - Dst: inet_addr
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1815,1
    - Dst: htons
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1819,1
    - Dst: inet_pton
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1820,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1822,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ipAddr
    - addr
    argTypes:
    - SIpAddr*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1827
    functionName: cliBuildSockByIpType
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - strerror
    - inet_addr
    - htons
    - tError
    - inet_pton
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliBuildSockByIpType(SIpAddr* ipAddr, struct sockaddr* addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cliGetIpFromFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1836,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1837,1
    - Dst: cliBuildSockByIpType
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1842,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1843,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1845,1
    - Dst: taosCreateSocketWithTimeout
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1847,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1849,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1852,1
    - Dst: uv_tcp_open
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1854,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1856,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1856,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1856,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1857,1
    - Dst: transSetConnOption
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1859,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1861,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1861,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1861,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1862,1
    - Dst: transRefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1866,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1868,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1868,1
    - Dst: transTlsCxtMgtGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1875,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1876,1
    - Dst: sslInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1880,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1881,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1888,1
    - Dst: uv_tcp_connect
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1893,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1895,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1895,1
    - Dst: cliMayUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1896,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1897,1
    - Dst: transRefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1901,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1902,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1904,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1904,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1904,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1905,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1910,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1910,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1910,1
    - Dst: cliDestroyConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1911,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1915,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1915,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1916,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1916,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1916,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 62
    argCount: 2
    argNames:
    - pThrd
    - conn
    argTypes:
    - SCliThrd*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1828
    functionDepth: 2
    functionLinenumber: 1828
    functionLinenumberEnd: 1918
    functionName: cliDoConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - transRefCliHandle
    - TAOS_CHECK_GOTO
    - cliMayUpdateFqdnCache
    - TAOS_UNUSED
    - taosCreateSocketWithTimeout
    - uv_tcp_open
    - transUnrefCliHandle
    - uv_tcp_connect
    - transTlsCxtMgtGet
    - cliGetIpFromFqdnCache
    - cliDestroyConn
    - cliBuildSockByIpType
    - uv_timer_start
    - tstrerror
    - uv_err_name
    - tTrace
    - taosHashGet
    - sslInit
    - transLabel
    - transSetConnOption
    - tError
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliDoConn(SCliThrd* pThrd, SCliConn* conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_tcp_getpeername
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1924,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1926,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1926,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1930,1
    - Dst: uv_tcp_getsockname
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1933,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1935,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1935,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 1941
    functionName: cliConnSetSockInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - uv_tcp_getpeername
    - uv_tcp_getsockname
    - transSockInfo2Str
    - tWarn
    - uv_err_name
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliConnSetSockInfo(SCliConn* pConn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - q
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1943
    functionName: filteGetAll
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool filteGetAll(void* q, void* arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1952,1
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1960,1
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1963,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1966,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1966,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1967,1
    - Dst: cliMayUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1968,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1969,1
    - Dst: cliConnSetSockInfo
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1973,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1975,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1975,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1975,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1976,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1979,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1979,1
    - Dst: cliConnStartRead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1981,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1983,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1983,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1983,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1984,1
    - Dst: sslConnect
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1987,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1989,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1989,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1989,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1990,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1995,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1997,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1997,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1997,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1998,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2003,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2003,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_connect_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1945
    functionDepth: 4
    functionLinenumber: 1945
    functionLinenumberEnd: 2005
    functionName: cliConnCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - sslConnect
    - cliBatchSend
    - cliConnStartRead
    - transUnrefCliHandle
    - tTrace
    - TAOS_CHECK_GOTO
    - cliMayUpdateFqdnCache
    - cliConnSetSockInfo
    - uv_strerror
    - tDebug
    - CONN_GET_INST_LABEL
    - cliResetConnTimer
    - tError
    - tstrerror
    - TAOS_UNUSED
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: void
    signature: void cliConnCb(uv_connect_t* req, int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2023,1
    - Dst: STrans*::cfp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2026,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pReq
    - pThrd
    - code
    argTypes:
    - SCliReq*
    - SCliThrd*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2007
    functionDepth: 1
    functionLinenumber: 2007
    functionLinenumberEnd: 2030
    functionName: doNotifyCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - memcpy
    - STrans*::cfp
    - destroyReq
    linkageType: ''
    returnType: void
    signature: void doNotifyCb(SCliReq* pReq, SCliThrd* pThrd, int32_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transAsyncPoolIsEmpty
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2032,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2039,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2040,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2042,1
    - Dst: destroyConnPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2042,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2043,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2031
    functionDepth: 2
    functionLinenumber: 2031
    functionLinenumberEnd: 2044
    functionName: cliHandleQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tDebug
    - TAOS_UNUSED
    - transAsyncPoolIsEmpty
    - destroyConnPool
    - uv_walk
    - destroyReq
    linkageType: ''
    returnType: void
    signature: void cliHandleQuit(SCliThrd* pThrd, SCliReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2048
    functionName: cliHandleRelease
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cliHandleRelease(SCliThrd* pThrd, SCliReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2053
    functionName: cliHandleRegister
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cliHandleRegister(SCliThrd* pThrd, SCliReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2057,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2062
    functionName: cliHandleUpdate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - destroyReq
    linkageType: ''
    returnType: void
    signature: void cliHandleUpdate(SCliThrd* pThrd, SCliReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2066
    functionName: cliHandleFreeById
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cliHandleFreeById(SCliThrd* pThrd, SCliReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transDoReloadTlsConfig
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2070,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2072,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2072,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2074,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2074,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2067
    functionDepth: 1
    functionLinenumber: 2067
    functionLinenumberEnd: 2079
    functionName: cliHandleReloadTlsConfig
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transLabel
    - tDebug
    - taosMemoryFree
    - tInfo
    - transDoReloadTlsConfig
    linkageType: ''
    returnType: void
    signature: void cliHandleReloadTlsConfig(SCliThrd* pThrd, SCliReq* pReq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EPSET_IS_VALID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2086,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2093,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2094,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2095,1
    - Dst: EPSET_IS_VALID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2097,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pEpSet
    - pCvtAddr
    argTypes:
    - SReqEpSet*
    - SCvtAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2081
    functionDepth: 1
    functionLinenumber: 2081
    functionLinenumberEnd: 2101
    functionName: cliMayCvtFqdnToIp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - strncmp
    - memset
    - memcpy
    - EPSET_IS_VALID
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE cliMayCvtFqdnToIp(SReqEpSet* pEpSet, const SCvtAddr* pCvtAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transReqEpsetIsEqual
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - code
    - pCtx
    argTypes:
    - int32_t
    - SReqCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2107
    functionName: cliIsEpsetUpdated
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transReqEpsetIsEqual
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE cliIsEpsetUpdated(int32_t code, SReqCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - pResp
    argTypes:
    - SCliThrd*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2109
    functionDepth: 1
    functionLinenumber: 2109
    functionLinenumberEnd: 2131
    functionName: cliBuildExceptResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - REQUEST_NO_RESP
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE cliBuildExceptResp(SCliThrd* pThrd, SCliReq* pReq, STransMsg*
      pResp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2136,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2139,1
    - Dst: taosGetIpFromFqdn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2141,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2144,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2144,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - cache
    - fqdn
    - ip
    - enableIpv6
    argTypes:
    - SHashObj*
    - char*
    - SIpAddr*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2157
    functionName: cliGetIpFromFqdnCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - tError
    - taosHashGet
    - tstrerror
    - strlen
    - taosHashPut
    - taosGetIpFromFqdn
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE cliGetIpFromFqdnCache(SHashObj* cache, char* fqdn, SIpAddr*
      ip, int8_t enableIpv6)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetIpFromFqdn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2161,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2163,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2164,1
    - Dst: taosIpAddrIsEqual
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2166,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2167,1
    - Dst: IP_ADDR_STR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2167,1
    - Dst: IP_ADDR_STR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2167,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2168,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2171,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cache
    - fqdn
    argTypes:
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2158
    functionDepth: 1
    functionLinenumber: 2158
    functionLinenumberEnd: 2178
    functionName: cliUpdateFqdnCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosIpAddrIsEqual
    - taosHashGet
    - IP_ADDR_STR
    - tstrerror
    - strlen
    - tWarn
    - taosHashPut
    - taosGetIpFromFqdn
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE cliUpdateFqdnCache(SHashObj* cache, char* fqdn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2183,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2189,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2190,1
    - Dst: cliUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - cache
    - dst
    argTypes:
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2180
    functionDepth: 2
    functionLinenumber: 2180
    functionLinenumberEnd: 2192
    functionName: cliMayUpdateFqdnCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 3
    functionsReached:
    - strlen
    - memcpy
    - TAOS_UNUSED
    - cliUpdateFqdnCache
    linkageType: ''
    returnType: void
    signature: void cliMayUpdateFqdnCache(SHashObj* cache, char* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2200,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2203,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2203,1
    - Dst: doNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2204,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2194
    functionDepth: 2
    functionLinenumber: 2194
    functionLinenumberEnd: 2207
    functionName: doFreeTimeoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - QUEUE_REMOVE
    - tGTrace
    - taosMemoryFree
    - doNotifyCb
    linkageType: ''
    returnType: void
    signature: void doFreeTimeoutMsg(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2212,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2209
    functionDepth: 1
    functionLinenumber: 2209
    functionLinenumberEnd: 2218
    functionName: cliHandleState_mayUpdateStateTime
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosGetTimestampUs
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliHandleState_mayUpdateStateTime(SCliConn* pConn, SCliReq*
      pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2225,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2225,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2229,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2231,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2232,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2233,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2233,1
    - Dst: transCtxMerge
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2235,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2236,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2237,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2219
    functionDepth: 2
    functionLinenumber: 2219
    functionLinenumberEnd: 2240
    functionName: cliHandleState_mayUpdateStateCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transCtxMerge
    - taosGetTimestampUs
    - taosHashGet
    - transLabel
    - tDebug
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliHandleState_mayUpdateStateCtx(SCliConn* pConn, SCliReq*
      pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2248,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2248,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2253,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2257,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2257,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2260,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2260,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2261,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2261,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2265,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2265,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2267,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - pConn
    argTypes:
    - SCliThrd*
    - SCliReq*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2242
    functionDepth: 2
    functionLinenumber: 2242
    functionLinenumberEnd: 2270
    functionName: cliMayGetStateByQid
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transGetRefMgt
    - transAcquireExHandle
    - transReleaseExHandle
    - taosHashGet
    - tDebug
    - transLabel
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliMayGetStateByQid(SCliThrd* pThrd, SCliReq* pReq, SCliConn**
      pConn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2281,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2283,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2283,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2284,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2286,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2286,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2289,1
    - Dst: cliHandleState_mayUpdateStateCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2272
    functionDepth: 3
    functionLinenumber: 2272
    functionLinenumberEnd: 2291
    functionName: cliHandleState_mayUpdateState
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - cliHandleState_mayUpdateStateCtx
    - transLabel
    - tDebug
    - TAOS_UNUSED
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliHandleState_mayUpdateState(SCliConn* pConn, SCliReq* pReq)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2296,1
    - Dst: cliMayGetStateByQid
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2300,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2302,1
    - Dst: cliHandleState_mayUpdateStateCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2302,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2304,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2308,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2309,1
    - Dst: CONN_CONSTRUCT_HASH_KEY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2310,1
    - Dst: getConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2312,1
    - Dst: cliGetOrCreateConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2314,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2316,1
    - Dst: addConnToHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2321,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2323,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2323,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2327,1
    - Dst: cliHandleState_mayUpdateState
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2332,1
    - Dst: cliSendReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2334,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2336,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2336,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2337,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2337,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2340,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2346,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2346,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2350,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2350,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2292
    functionDepth: 5
    functionLinenumber: 2292
    functionLinenumberEnd: 2353
    functionName: cliHandleBatchReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - EPSET_GET_INUSE_PORT
    - cliSendReq
    - transUnrefCliHandle
    - addConnToHeapCache
    - tTrace
    - TAOS_CHECK_GOTO
    - cliMayGetStateByQid
    - cliHandleState_mayUpdateStateCtx
    - cliHandleState_mayUpdateState
    - tGWarn
    - cliGetOrCreateConn
    - TAOS_UNUSED
    - tstrerror
    - tWarn
    - getConnFromHeapCache
    - EPSET_GET_INUSE_IP
    - CONN_CONSTRUCT_HASH_KEY
    linkageType: ''
    returnType: void
    signature: void cliHandleBatchReq(SCliThrd* pThrd, SCliReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cliHandleBatchReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2355
    functionDepth: 6
    functionLinenumber: 2355
    functionLinenumberEnd: 2355
    functionName: cliHandleReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliHandleBatchReq
    linkageType: ''
    returnType: void
    signature: void cliHandleReq(SCliThrd* pThrd, SCliReq* pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2359,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2361,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2362,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2363,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2365,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2374,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2375,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2376,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2378,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2380,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2381,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2383,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2383,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2384,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2384,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2387,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - wq
    - pThrd
    argTypes:
    - queue*
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2357
    functionDepth: 4
    functionLinenumber: 2357
    functionLinenumberEnd: 2391
    functionName: cliDoReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliBatchSend
    - QUEUE_DATA
    - transUnrefCliHandle
    - QUEUE_INIT
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - tTrace
    - TAOS_UNUSED
    - tstrerror
    - tWarn
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void cliDoReq(queue* wq, SCliThrd* pThrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cliDoReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wq
    - pThrd
    argTypes:
    - queue*
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2393
    functionDepth: 5
    functionLinenumber: 2393
    functionLinenumberEnd: 2393
    functionName: cliDoBatchReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliDoReq
    linkageType: ''
    returnType: void
    signature: void cliDoBatchReq(queue* wq, SCliThrd* pThrd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2402,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2404,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2405,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2405,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2408,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2410,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2411,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2411,1
    - Dst: cliHandleQuit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2395
    functionDepth: 3
    functionLinenumber: 2395
    functionLinenumberEnd: 2417
    functionName: cliAsyncCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_INIT
    - tError
    - cliHandleQuit
    - QUEUE_MOVE
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void cliAsyncCb(uv_async_t* handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2425
    functionName: removeReqFromSendQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 8
    functionsReached:
    - QUEUE_REMOVE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE removeReqFromSendQ(SCliReq* pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2433,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2435,1
    - Dst: destroyReqCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2438,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2440,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2427
    functionDepth: 2
    functionLinenumber: 2427
    functionLinenumberEnd: 2442
    functionName: destroyReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 8
    functionsReached:
    - removeReqFromSendQ
    - transFreeMsg
    - destroyReqCtx
    - tGTrace
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE destroyReq(void* arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2454,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - arg
    - param
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2443
    functionDepth: 3
    functionLinenumber: 2443
    functionLinenumberEnd: 2455
    functionName: destroyReqWrapper
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - destroyReq
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE destroyReqWrapper(void* arg, void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroyReqWrapper
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2456
    functionDepth: 4
    functionLinenumber: 2456
    functionLinenumberEnd: 2463
    functionName: destroyReqAndAhanlde
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - destroyReqWrapper
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE destroyReqAndAhanlde(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2469,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2472,1
    - Dst: strtolower
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2472,1
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2473,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2475,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2475,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2465
    functionDepth: 1
    functionLinenumber: 2465
    functionLinenumberEnd: 2479
    functionName: cliWorkThread
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosGetSelfPthreadId
    - tDebug
    - uv_run
    - strtolower
    - TAOS_UNUSED
    - setThreadName
    linkageType: ''
    returnType: void
    signature: void * cliWorkThread(void* arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2483,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2485,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2489,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2492,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2494,1
    - Dst: createThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2499,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2504,1
    - Dst: destroyThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2506,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2507,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2508,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2510,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2521,1
    - Dst: cliSendQuit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2521,1
    - Dst: destroyThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2522,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2525,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2526,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 5
    argNames:
    - pAddr
    - label
    - numOfThreads
    - fp
    - pInstRef
    argTypes:
    - SIpAddr*
    - char*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2481
    functionDepth: 1
    functionLinenumber: 2481
    functionLinenumberEnd: 2530
    functionName: transInitClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - memcpy
    - destroyThrdObj
    - TAOS_CHECK_GOTO
    - createThrdObj
    - tDebug
    - taosMemoryFree
    - TAOS_UNUSED
    - taosThreadCreate
    - cliSendQuit
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void * transInitClient(SIpAddr* pAddr, char* label, int numOfThreads,
      void* fp, void* pInstRef)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cliMayCvtFqdnToIp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - thrd
    - pReq
    - pResp
    argTypes:
    - void*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2531
    functionDepth: 2
    functionLinenumber: 2531
    functionLinenumberEnd: 2537
    functionName: initCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliMayCvtFqdnToIp
    linkageType: ''
    returnType: int32_t
    signature: int32_t initCb(void* thrd, SCliReq* pReq, STransMsg* pResp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2539
    functionDepth: 2
    functionLinenumber: 2539
    functionLinenumberEnd: 2544
    functionName: freeUserCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transCtxCleanup
    linkageType: ''
    returnType: void
    signature: void freeUserCtx(SCliReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cliBuildExceptResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2549,1
    - Dst: freeUserCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2551,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2552,1
    - Dst: STrans*::cfp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2555,1
    - Dst: freeUserCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2557,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - thrd
    - pReq
    - pResp
    argTypes:
    - void*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2546
    functionDepth: 3
    functionLinenumber: 2546
    functionLinenumberEnd: 2560
    functionName: notifyExceptCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - freeUserCtx
    - cliBuildExceptResp
    - STrans*::cfp
    - destroyReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t notifyExceptCb(void* thrd, SCliReq* pReq, STransMsg* pResp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - thrd
    - pReq
    - pResp
    argTypes:
    - void*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2568
    functionName: notfiyCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t notfiyCb(void* thrd, SCliReq* pReq, STransMsg* pResp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2574,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2576,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2579,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2580,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2581,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2584,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2586,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2589,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2591,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2591,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2592,1
    - Dst: transAsyncPoolCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2597,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2599,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2599,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2600,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2604,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2607,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2611,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2613,1
    - Dst: uv_timer_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2615,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2617,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2617,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2619,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2621,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2622,1
    - Dst: createConnPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2626,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2629,1
    - Dst: transDQCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2631,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2632,1
    - Dst: transDQCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2635,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2636,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2641,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2641,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2643,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2646,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2646,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2648,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2651,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2651,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2653,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2656,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2658,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2665,1
    - Dst: CONN_PERSIST_TIME
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2665,1
    - Dst: destroyThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2672,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 82
    argCount: 2
    argNames:
    - trans
    - ppThrd
    argTypes:
    - void*
    - SCliThrd**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2570
    functionDepth: 2
    functionLinenumber: 2570
    functionLinenumberEnd: 2674
    functionName: createThrdObj
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - uv_timer_init
    - taosArrayPush
    - QUEUE_INIT
    - TAOS_CHECK_GOTO
    - taosThreadMutexInit
    - createConnPool
    - destroyThrdObj
    - transAsyncPoolCreate
    - taosHashInit
    - taosGetTimestampMs
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - uv_loop_init
    - uv_strerror
    - tstrerror
    - uv_err_name
    - CONN_PERSIST_TIME
    - taosMemoryMalloc
    - transDQCreate
    - taosArrayInit
    - tError
    linkageType: ''
    returnType: int32_t
    signature: int32_t createThrdObj(void* trans, SCliThrd** ppThrd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2680,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2681,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2681,1
    - Dst: CLI_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2685,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2687,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2687,1
    - Dst: TRANS_DESTROY_ASYNC_POOL_MSG
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2690,1
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2692,1
    - Dst: transDQDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2694,1
    - Dst: transDQDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2695,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2697,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2698,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2699,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2700,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2703,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2704,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2705,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2707,1
    - Dst: transHeapDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2710,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2711,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2713,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2715,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2717,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2718,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2720,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2675
    functionDepth: 2
    functionLinenumber: 2675
    functionLinenumberEnd: 2721
    functionName: destroyThrdObj
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - taosHashIterate
    - tTrace
    - transDQDestroy
    - TRANS_DESTROY_ASYNC_POOL_MSG
    - tDebug
    - transHeapDestroy
    - taosThreadMutexDestroy
    - transAsyncPoolDestroy
    - taosMemoryFree
    - TAOS_UNUSED
    - taosArrayGetSize
    - tstrerror
    - taosHashCleanup
    - taosArrayDestroy
    - taosThreadJoin
    - taosArrayGetP
    - CLI_RELEASE_UV
    linkageType: ''
    returnType: void
    signature: void destroyThrdObj(SCliThrd* pThrd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2725,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SReqCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2723
    functionDepth: 0
    functionLinenumber: 2723
    functionLinenumberEnd: 2729
    functionName: destroyReqCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE destroyReqCtx(SReqCtx* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2734,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2740,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2742,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - thrd
    argTypes:
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2748
      start: 2731
    functionDepth: 2
    functionLinenumber: 2731
    functionLinenumberEnd: 2748
    functionName: cliSendQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - transAsyncSend
    - taosMemoryCalloc
    - taosMemoryFree
    - atomic_store_8
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliSendQuit(SCliThrd* thrd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2750,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2752,1
    - Dst: uv_handle_get_type
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2753,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2755,1
    - Dst: uv_timer_stop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2755,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2757,1
    - Dst: uv_read_stop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2757,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2759,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2761
    functionName: cliWalkCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - uv_read_stop
    - uv_is_closing
    - uv_close
    - TAOS_UNUSED
    - uv_handle_get_type
    - uv_timer_stop
    linkageType: ''
    returnType: void
    signature: void cliWalkCb(uv_handle_t* handle, void* arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pInst
    argTypes:
    - STrans*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2775
    functionName: cliRBChoseIdx
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE cliRBChoseIdx(STrans* pInst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cliHandleReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2783,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2776
    functionDepth: 7
    functionLinenumber: 2776
    functionLinenumberEnd: 2785
    functionName: doDelayTask
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliHandleReq
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE doDelayTask(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2790,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2790,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2792,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2787
    functionDepth: 1
    functionLinenumber: 2787
    functionLinenumberEnd: 2798
    functionName: doCloseIdleConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transUnrefCliHandle
    - taosMemoryFree
    - CONN_GET_INST_LABEL
    - tDebug
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE doCloseIdleConn(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2808,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2808,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2810,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2810,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pReq
    - label
    argTypes:
    - SCliReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2799
    functionDepth: 1
    functionLinenumber: 2799
    functionLinenumberEnd: 2817
    functionName: cliPerfLog_schedMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tListLen
    - tGTrace
    - tstrerror
    - tWarn
    - epsetToStr
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE cliPerfLog_schedMsg(SCliReq* pReq, char* label)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2827,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2827,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2829,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2829,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2832,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2818
    functionDepth: 1
    functionLinenumber: 2818
    functionLinenumberEnd: 2834
    functionName: cliPerfLog_epset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tTrace
    - tListLen
    - CONN_GET_INST_LABEL
    - tstrerror
    - tWarn
    - epsetToStr
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE cliPerfLog_epset(SCliConn* pConn, SCliReq* pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cliPerfLog_schedMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2839,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2839,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2841,1
    - Dst: transDQSched
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2848,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pReq
    - pThrd
    argTypes:
    - SCliReq*
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2836
    functionDepth: 2
    functionLinenumber: 2836
    functionLinenumberEnd: 2854
    functionName: cliSchedMsgToNextNode
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - transDQSched
    - transLabel
    - cliPerfLog_schedMsg
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE cliSchedMsgToNextNode(SCliReq* pReq, SCliThrd* pThrd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2865,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2866,1
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2870,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2875,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2881,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2883,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pReq
    - pResp
    argTypes:
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2856
    functionDepth: 2
    functionLinenumber: 2856
    functionLinenumberEnd: 2894
    functionName: cliTryUpdateEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - memcpy
    - tDeserializeSEpSet
    - transCreateReqEpsetFromUserEpset
    - tError
    - tSerializeSEpSet
    - rpcFreeCont
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE cliTryUpdateEpset(SCliReq* pReq, STransMsg* pResp)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2903,1
    - Dst: tDeserializeSEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2907,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2909,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2913,1
    - Dst: transCompareReqAndUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2916,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2917,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2918,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2919,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2921,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2922,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2929,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2930,1
    - Dst: tDeserializeSEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2937,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2939,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2943,1
    - Dst: transCompareReqAndUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2946,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2947,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2948,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2949,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2950,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2951,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2958,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2959,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 3
    argNames:
    - pCtx
    - pResp
    - hasEpSet
    argTypes:
    - SReqCtx*
    - STransMsg*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2965
      start: 2896
    functionDepth: 2
    functionLinenumber: 2896
    functionLinenumberEnd: 2965
    functionName: cliResetEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transPrintEpSet
    - transCompareReqAndUserEpset
    - tDeserializeSEpSet
    - tDebug
    - transCreateReqEpsetFromUserEpset
    - tError
    - EPSET_FORWARD_INUSE
    linkageType: ''
    returnType: bool
    signature: bool cliResetEpset(SReqCtx* pCtx, STransMsg* pResp, bool hasEpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pInst
    - pReq
    argTypes:
    - STrans*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2981
    functionName: cliRetryMayInitCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    linkageType: ''
    returnType: void
    signature: void cliRetryMayInitCtx(STrans* pInst, SCliReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2985,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2986,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pInst
    - pReq
    argTypes:
    - STrans*
    - SCliReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2993
      start: 2983
    functionDepth: 1
    functionLinenumber: 2983
    functionLinenumberEnd: 2993
    functionName: cliRetryIsTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliRetryIsTimeout(STrans* pInst, SCliReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STrans*::retry
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pInst
    - pResp
    argTypes:
    - STrans*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2995
    functionDepth: 0
    functionLinenumber: 2995
    functionLinenumberEnd: 2998
    functionName: cliRetryShouldRetry
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - STrans*::retry
    linkageType: ''
    returnType: int8_t
    signature: int8_t cliRetryShouldRetry(STrans* pInst, STransMsg* pResp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCtx
    - noDelay
    argTypes:
    - SReqCtx*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3014
      start: 3000
    functionDepth: 0
    functionLinenumber: 3000
    functionLinenumberEnd: 3014
    functionName: cliRetryUpdateRule
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: void
    signature: void cliRetryUpdateRule(SReqCtx* pCtx, int8_t noDelay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cliSchedMsgToNextNode
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3017,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3019,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pReq
    - pThrd
    argTypes:
    - SCliReq*
    - SCliThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3023
      start: 3016
    functionDepth: 3
    functionLinenumber: 3016
    functionLinenumberEnd: 3023
    functionName: cliRetryDoSched
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - cliSchedMsgToNextNode
    - tError
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliRetryDoSched(SCliReq* pReq, SCliThrd* pThrd)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: cliRetryMayInitCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3036,1
    - Dst: cliRetryShouldRetry
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3038,1
    - Dst: cliRetryIsTimeout
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3042,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3047,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3047,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3049,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3049,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3049,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3051,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3057,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3057,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3059,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3059,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3059,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3061,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3067,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3067,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3069,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3069,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3069,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3071,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3083,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3083,1
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3084,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3085,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3090,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3090,1
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3091,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3092,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3094,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3094,1
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3095,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3096,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3100,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3101,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3103,1
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3104,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3105,1
    - Dst: cliRetryUpdateRule
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3115,1
    - Dst: cliRetryDoSched
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3120,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3123,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3123,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 3
    argNames:
    - pConn
    - pReq
    - pResp
    argTypes:
    - SCliConn*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3127
      start: 3025
    functionDepth: 4
    functionLinenumber: 3025
    functionLinenumberEnd: 3127
    functionName: cliMayRetry
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tTrace
    - transFreeMsg
    - cliRetryUpdateRule
    - cliRetryDoSched
    - tError
    - taosReleaseRef
    - cliRetryShouldRetry
    - taosAcquireRef
    - tDebug
    - cliRetryMayInitCtx
    - cliResetEpset
    - TAOS_UNUSED
    - tstrerror
    - cliRetryIsTimeout
    - transGetSyncMsgMgt
    linkageType: ''
    returnType: bool
    signature: bool cliMayRetry(SCliConn* pConn, SCliReq* pReq, STransMsg* pResp)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pReq
    - pResp
    argTypes:
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3146
      start: 3129
    functionDepth: 0
    functionLinenumber: 3129
    functionLinenumberEnd: 3146
    functionName: cliMayResetRespCode
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cliMayResetRespCode(SCliReq* pReq, STransMsg* pResp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STrans*::cfp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3155,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3159,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3159,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3162,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3162,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3164,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3166,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3166,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3169,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3169,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3171,1
    - Dst: cliIsEpsetUpdated
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3172,1
    - Dst: transCreateUserEpsetFromReqEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3176,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3177,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3179,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3181,1
    - Dst: tsem2_post
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3181,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3182,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3182,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3182,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3184,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3188,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3188,1
    - Dst: transCreateUserEpsetFromReqEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3191,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3192,1
    - Dst: STrans*::cfp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3194,1
    - Dst: cliIsEpsetUpdated
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3196,1
    - Dst: STrans*::cfp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3197,1
    - Dst: transCreateUserEpsetFromReqEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3200,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3201,1
    - Dst: STrans*::cfp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 3
    argNames:
    - pConn
    - pReq
    - pResp
    argTypes:
    - SCliConn*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3148
    functionDepth: 2
    functionLinenumber: 3148
    functionLinenumberEnd: 3208
    functionName: cliNotifyImplCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - memcpy
    - tsem_post
    - transCreateUserEpsetFromReqEpset
    - tError
    - taosReleaseRef
    - taosAcquireRef
    - tsem2_post
    - tGTrace
    - CONN_GET_INST_LABEL
    - STrans*::cfp
    - TAOS_UNUSED
    - cliIsEpsetUpdated
    - rpcFreeCont
    - transGetSyncMsgMgt
    - epsetAssign
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliNotifyImplCb(SCliConn* pConn, SCliReq* pReq, STransMsg*
      pResp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3214,1
    - Dst: cliMayRetry
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3216,1
    - Dst: cliMayResetRespCode
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3219,1
    - Dst: cliTryUpdateEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3222,1
    - Dst: cliPerfLog_epset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3223,1
    - Dst: cliNotifyImplCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pConn
    - pReq
    - pResp
    argTypes:
    - SCliConn*
    - SCliReq*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3209
    functionDepth: 5
    functionLinenumber: 3209
    functionLinenumberEnd: 3227
    functionName: cliNotifyCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 3
    functionsReached:
    - cliTryUpdateEpset
    - removeReqFromSendQ
    - cliMayRetry
    - cliMayResetRespCode
    - cliPerfLog_epset
    - cliNotifyImplCb
    linkageType: ''
    returnType: int32_t
    signature: int32_t cliNotifyCb(SCliConn* pConn, SCliReq* pReq, STransMsg* pResp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cliSendQuit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3233,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3235,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3235,1
    - Dst: destroyThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3240,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3229
    functionDepth: 3
    functionLinenumber: 3229
    functionLinenumberEnd: 3242
    functionName: transCloseClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - destroyThrdObj
    - tError
    - taosMemoryFree
    - tstrerror
    - cliSendQuit
    linkageType: ''
    returnType: void
    signature: void transCloseClient(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3251,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3252
      start: 3243
    functionDepth: 1
    functionLinenumber: 3243
    functionLinenumberEnd: 3252
    functionName: transRefCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - tTrace
    - CONN_GET_INST_LABEL
    linkageType: ''
    returnType: void
    signature: void transRefCliHandle(void* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3262,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3262,1
    - Dst: cliDestroyConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3253
    functionDepth: 2
    functionLinenumber: 3253
    functionLinenumberEnd: 3267
    functionName: transUnrefCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 13
    functionsReached:
    - tTrace
    - CONN_GET_INST_LABEL
    - cliDestroyConn
    linkageType: ''
    returnType: int32_t
    signature: int32_t transUnrefCliHandle(void* handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3269
    functionDepth: 0
    functionLinenumber: 3269
    functionLinenumberEnd: 3275
    functionName: transGetRefCount
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transGetRefCount(void* handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3278,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3278,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3282,1
    - Dst: cliRBChoseIdx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3284,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3290,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3291,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - trans
    - handle
    argTypes:
    - STrans*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3294
      start: 3276
    functionDepth: 2
    functionLinenumber: 3276
    functionLinenumberEnd: 3294
    functionName: transGetWorkThrdFromHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliRBChoseIdx
    - transGetRefMgt
    - transAcquireExHandle
    - transReleaseExHandle
    - taosWUnLockLatch
    - taosWLockLatch
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE * transGetWorkThrdFromHandle(STrans* trans, int64_t handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cliRBChoseIdx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3297,1
    - Dst: transGetWorkThrdFromHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - trans
    - handle
    argTypes:
    - STrans*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3303
      start: 3295
    functionDepth: 3
    functionLinenumber: 3295
    functionLinenumberEnd: 3303
    functionName: transGetWorkThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - cliRBChoseIdx
    - transGetWorkThrdFromHandle
    linkageType: ''
    returnType: SCliThrd
    signature: SCliThrd * transGetWorkThrd(STrans* trans, int64_t handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transGetWorkThrdFromHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3306,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3317,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3317,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3319,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3324,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3327,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3331,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3336,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3338,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3343
      start: 3304
    functionDepth: 3
    functionLinenumber: 3304
    functionLinenumberEnd: 3343
    functionName: transReleaseCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tGDebug
    - TRACE_SET_MSGID
    - taosGetTimestampUs
    - transGetWorkThrdFromHandle
    - tGenIdPI64
    - taosMemoryFree
    - transAsyncSend
    - taosMemoryCalloc
    - destroyReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t transReleaseCliHandle(void* handle, int32_t status)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3347,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3347,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3350,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3352,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3355,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3357,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:3362,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3370,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3372,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3377,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3384,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3385,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3386,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 5
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - ctx
    - pCliMsg
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransCtx*
    - SCliReq**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3390
      start: 3345
    functionDepth: 2
    functionLinenumber: 3345
    functionLinenumberEnd: 3390
    functionName: transInitMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TRACE_SET_MSGID
    - TAOS_CHECK_GOTO
    - taosGetTimestampUs
    - transCreateReqEpsetFromUserEpset
    - tGenIdPI64
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transInitMsg(void* pInstRef, const SEpSet* pEpSet, STransMsg*
      pReq, STransCtx* ctx, SCliReq** pCliMsg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isReqExceedLimit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3393,1
    - Dst: transInstAcquire
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3397,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3400,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3406,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3408,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3414,1
    - Dst: transInitMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3414,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3417,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3417,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3418,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3418,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3419,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3420,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3421,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3425,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3429,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3432,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - ctx
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3392
    functionDepth: 4
    functionLinenumber: 3392
    functionLinenumberEnd: 3436
    functionName: transSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - EPSET_GET_INUSE_PORT
    - transInstAcquire
    - transFreeMsg
    - tGDebug
    - TAOS_CHECK_GOTO
    - tError
    - transLabel
    - transInstRelease
    - isReqExceedLimit
    - transGetWorkThrd
    - tstrerror
    - transAsyncSend
    - transInitMsg
    - EPSET_GET_INUSE_IP
    - destroyReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSendRequest(void* pInstRef, const SEpSet* pEpSet, STransMsg*
      pReq, STransCtx* ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isReqExceedLimit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3441,1
    - Dst: transInstAcquire
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3447,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3447,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3449,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3452,1
    - Dst: transAllocHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3452,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3454,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3456,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3459,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3459,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3461,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3469,1
    - Dst: transInitMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3469,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3472,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3472,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3473,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3473,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3474,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3475,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3476,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3480,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3480,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3481,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3485,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3487,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3487,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3489,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3490,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 4
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - transpointId
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3437
    functionDepth: 4
    functionLinenumber: 3437
    functionLinenumberEnd: 3492
    functionName: transSendRequestWithId
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - transInstRelease
    - transInitMsg
    - destroyReq
    - transFreeMsg
    - transAcquireExHandle
    - transGetWorkThrd
    - transAllocHandle
    - EPSET_GET_INUSE_PORT
    - transGetInstMgt
    - transGetRefMgt
    - isReqExceedLimit
    - tstrerror
    - transInstAcquire
    - tGDebug
    - transReleaseExHandle
    - transLabel
    - tError
    - transAsyncSend
    - EPSET_GET_INUSE_IP
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSendRequestWithId(void* pInstRef, const SEpSet* pEpSet,
      STransMsg* pReq, int64_t* transpointId)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isReqExceedLimit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3495,1
    - Dst: transInstAcquire
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3498,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3498,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3500,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3508,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3510,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3513,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3515,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3518,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3520,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3523,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3525,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3526,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3529,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3529,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3531,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3533,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3533,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3534,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3535,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3538,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3540,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3540,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3541,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3542,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3545,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3547,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3547,1
    - Dst: taosMemoryFree
      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: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3557,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3559,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3559,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3560,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3561,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3566,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3570,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3570,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3571,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3571,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3573,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3575,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3576,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3578,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3578,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3580,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3583,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3584,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3585,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3589,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3590,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3593,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3594,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3595,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3597,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 84
    argCount: 4
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3599
      start: 3494
    functionDepth: 4
    functionLinenumber: 3494
    functionLinenumberEnd: 3599
    functionName: transSendRecv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosGetTimestampUs
    - transCreateReqEpsetFromUserEpset
    - transInstRelease
    - TAOS_UNUSED
    - destroyReq
    - transFreeMsg
    - memcpy
    - tsem_destroy
    - taosMemoryCalloc
    - EPSET_GET_INUSE_PORT
    - transGetInstMgt
    - TRACE_SET_MSGID
    - tsem_wait
    - tsem_init
    - isReqExceedLimit
    - transInstAcquire
    - tGDebug
    - transLabel
    - tGenIdPI64
    - taosMemoryFree
    - transGetWorkThrd
    - transAsyncSend
    - EPSET_GET_INUSE_IP
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSendRecv(void* pInstRef, const SEpSet* pEpSet, STransMsg*
      pReq, STransMsg* pRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3603,1
    - Dst: tsem2_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3608,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3609,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3609,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3612,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3614,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3617,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3623,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3623,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3625,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3632,1
    - Dst: tsem2_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3632,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3633,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - pTransMsg
    - refId
    argTypes:
    - STransMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3636
      start: 3601
    functionDepth: 1
    functionLinenumber: 3601
    functionLinenumberEnd: 3636
    functionName: transCreateSyncMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosInitRWLatch
    - tsem2_destroy
    - TAOS_CHECK_GOTO
    - taosAddRef
    - tsem2_init
    - taosMemoryFree
    - transGetSyncMsgMgt
    - TAOS_UNUSED
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCreateSyncMsg(STransMsg* pTransMsg, int64_t* refId)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: transInstAcquire
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3641,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3641,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3643,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3648,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3650,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3653,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3655,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3658,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3658,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3660,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3662,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3665,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3667,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3668,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3670,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3672,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3673,1
    - Dst: transCreateSyncMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3678,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3679,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3680,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3684,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3684,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3686,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3687,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3690,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3692,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3693,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3698,1
    - Dst: tGDebug
      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: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3703,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3703,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3705,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3707,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3708,1
    - Dst: tsem2_timewait
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3712,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3716,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3719,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3724,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3724,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3724,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3725,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3725,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3725,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3726,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3729,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3732,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3734,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3737,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3738,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 83
    argCount: 6
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - pRsp
    - epUpdated
    - timeoutMs
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransMsg*
    - int8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3740
      start: 3638
    functionDepth: 4
    functionLinenumber: 3638
    functionLinenumberEnd: 3740
    functionName: transSendRecvWithTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_CHECK_GOTO
    - taosAcquireRef
    - taosGetTimestampUs
    - transCreateReqEpsetFromUserEpset
    - transInstRelease
    - TAOS_UNUSED
    - transGetSyncMsgMgt
    - destroyReq
    - epsetAssign
    - transFreeMsg
    - transCreateSyncMsg
    - memcpy
    - taosRemoveRef
    - taosMemoryCalloc
    - EPSET_GET_INUSE_PORT
    - transGetInstMgt
    - TRACE_SET_MSGID
    - taosReleaseRef
    - transInstAcquire
    - tGDebug
    - transLabel
    - tGenIdPI64
    - tsem2_timewait
    - taosMemoryFree
    - transGetWorkThrd
    - transAsyncSend
    - EPSET_GET_INUSE_IP
    linkageType: ''
    returnType: int32_t
    signature: "int32_t transSendRecvWithTimeout(void* pInstRef, SEpSet* pEpSet, STransMsg*
      pReq, STransMsg* pRsp, int8_t* epUpdated,\n                                 int32_t
      timeoutMs)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: transInstAcquire
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3747,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3747,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3753,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3754,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3759,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3765,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3767,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3772,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3774,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3776,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3777,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3786,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3788,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3789,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3790,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3797,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - pInstRef
    - ip
    - fqdn
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3744
    functionDepth: 3
    functionLinenumber: 3744
    functionLinenumberEnd: 3800
    functionName: transSetDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transInstAcquire
    - transGetInstMgt
    - memcpy
    - tDebug
    - tstrncpy
    - taosMemoryFree
    - transInstRelease
    - transAsyncSend
    - taosMemoryCalloc
    - destroyReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSetDefaultAddr(void* pInstRef, const char* ip, const char*
      fqdn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3806,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3806,1
    - Dst: transTlsCxtMgtCreateNewCxt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3811,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3812,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3815,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3823,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3825,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3826,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3836,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3836,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3839,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3839,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3841
      start: 3802
    functionDepth: 3
    functionLinenumber: 3802
    functionLinenumberEnd: 3841
    functionName: transReloadClientTlsConfig
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    - transAcquireExHandle
    - transReleaseExHandle
    - transTlsCxtMgtCreateNewCxt
    - tDebug
    - tError
    - tstrerror
    - transAsyncSend
    - taosMemoryCalloc
    - destroyReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t transReloadClientTlsConfig(void* handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3844,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3849,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3849,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3851,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3855,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3855,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3857,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3861,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3862,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3866
      start: 3843
    functionDepth: 2
    functionLinenumber: 3843
    functionLinenumberEnd: 3866
    functionName: transAllocHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosInitRWLatch
    - transAddExHandle
    - QUEUE_INIT
    - transGetRefMgt
    - transAcquireExHandle
    - tDebug
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transAllocHandle(int64_t* refId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transInstAcquire
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3869,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3869,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3874,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3875,1
    - Dst: transGetWorkThrdFromHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3878,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3880,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3883,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3885,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3890,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3890,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3895,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3897,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3899,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3900,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - pInstRef
    - transpointId
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3906
      start: 3867
    functionDepth: 3
    functionLinenumber: 3867
    functionLinenumberEnd: 3906
    functionName: transFreeConnById
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transInstAcquire
    - transGetInstMgt
    - TRACE_SET_MSGID
    - tGDebug
    - TAOS_CHECK_GOTO
    - taosMemoryFreeClear
    - tDebug
    - transGetWorkThrdFromHandle
    - tGenIdPI64
    - transInstRelease
    - transAsyncSend
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transFreeConnById(void* pInstRef, int64_t transpointId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3910,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3912,1
    - Dst: transHeapInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3915,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3917,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3917,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3921,1
    - Dst: transHeapDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3923,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3924,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3924,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pConnHeapCache
    - key
    - pHeap
    argTypes:
    - SHashObj*
    - char*
    - SHeap**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3934
      start: 3908
    functionDepth: 1
    functionLinenumber: 3908
    functionLinenumberEnd: 3934
    functionName: getOrCreateHeap
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tError
    - transHeapInit
    - taosHashGet
    - tstrerror
    - strlen
    - taosHashPut
    - transHeapDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t getOrCreateHeap(SHashObj* pConnHeapCache, char* key, SHeap**
      pHeap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3943,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3944,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3947,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3954
      start: 3936
    functionDepth: 1
    functionLinenumber: 3936
    functionLinenumberEnd: 3954
    functionName: filterTimeoutReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - removeReqFromSendQ
    - REQUEST_NO_RESP
    linkageType: ''
    returnType: bool
    signature: bool filterTimeoutReq(void* key, void* arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3962,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3965,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3968,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3970,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3970,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3971,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3974,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3974,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3975,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3975,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3977,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3979,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3979,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3980,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3983,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3983,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3985,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3988,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3989,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3990,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3991,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3993,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3994,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3995,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3997,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3997,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3998,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4002,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pConn
    - st
    - set
    argTypes:
    - SCliConn*
    - int64_t*
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4003
      start: 3956
    functionDepth: 2
    functionLinenumber: 3956
    functionLinenumberEnd: 4003
    functionName: cliConnRemoveTimoutQidMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - taosArrayGet
    - transGetRefMgt
    - taosHashRemove
    - transReleaseExHandle
    - taosHashGet
    - taosHashGetKey
    - CONN_GET_INST_LABEL
    - transRemoveExHandle
    - tError
    - tstrerror
    - tWarn
    - taosArrayGetSize
    - transQueueRemoveByFilter
    - transCtxCleanup
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: void cliConnRemoveTimoutQidMsg(SCliConn* pConn, int64_t* st, queue*
      set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4009,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pConn
    - st
    - set
    argTypes:
    - SCliConn*
    - int64_t*
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4012
      start: 4005
    functionDepth: 2
    functionLinenumber: 4005
    functionLinenumberEnd: 4012
    functionName: cliConnRemoveTimeoutNoQidMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transQueueRemoveByFilter
    linkageType: ''
    returnType: void
    signature: void cliConnRemoveTimeoutNoQidMsg(SCliConn* pConn, int64_t* st, queue*
      set)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4019,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4021,1
    - Dst: cliConnRemoveTimoutQidMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4023,1
    - Dst: cliConnRemoveTimeoutNoQidMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4024,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4026,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4029,1
    - Dst: destroyReqInQueue
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4032
      start: 4014
    functionDepth: 3
    functionLinenumber: 4014
    functionLinenumberEnd: 4032
    functionName: cliConnRemoveTimeoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - cliConnRemoveTimeoutNoQidMsg
    - QUEUE_INIT
    - taosGetTimestampUs
    - destroyReqInQueue
    - cliConnRemoveTimoutQidMsg
    - tWarn
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: int8_t
    signature: int8_t cliConnRemoveTimeoutMsg(SCliConn* pConn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4037,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4038,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4039,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4040,1
    - Dst: logConnMissHit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4044,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4047,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4047,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4049,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4053,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4053,1
    - Dst: cliConnRemoveTimeoutMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4055,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4056,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4056,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pConn
    - key
    argTypes:
    - SCliConn*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4065
      start: 4033
    functionDepth: 4
    functionLinenumber: 4033
    functionLinenumberEnd: 4065
    functionName: shouldSWitchToOtherConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - tTrace
    - taosHashGetSize
    - taosHashGet
    - transLabel
    - logConnMissHit
    - transQueueSize
    - strlen
    - tWarn
    - cliConnRemoveTimeoutMsg
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE shouldSWitchToOtherConn(SCliConn* pConn, char* key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4068,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4070,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4072
      start: 4067
    functionDepth: 1
    functionLinenumber: 4067
    functionLinenumberEnd: 4072
    functionName: filterToDebug
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - QUEUE_DATA
    - tGWarn
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE filterToDebug(void* e, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4079,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4080,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4080,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4085
      start: 4073
    functionDepth: 1
    functionLinenumber: 4073
    functionLinenumberEnd: 4085
    functionName: logConnMissHit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosHashGetSize
    - tDebug
    - transQueueSize
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE logConnMissHit(SCliConn* pConn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getOrCreateHeap
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4090,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4092,1
    - Dst: transHeapGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4095,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4097,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4100,1
    - Dst: shouldSWitchToOtherConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4101,1
    - Dst: balanceConnHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4103,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pConnHeapCache
    - key
    argTypes:
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4113
      start: 4086
    functionDepth: 5
    functionLinenumber: 4086
    functionLinenumberEnd: 4113
    functionName: getConnFromHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - tTrace
    - shouldSWitchToOtherConn
    - transHeapGet
    - balanceConnHeapCache
    - getOrCreateHeap
    linkageType: ''
    returnType: SCliConn
    signature: SCliConn * getConnFromHeapCache(SHashObj* pConnHeapCache, char* key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4120,1
    - Dst: getOrCreateHeap
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4123,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4128,1
    - Dst: transHeapInsert
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4135,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pConnHeapCacahe
    - pConn
    argTypes:
    - SHashObj*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4139
      start: 4114
    functionDepth: 2
    functionLinenumber: 4114
    functionLinenumberEnd: 4139
    functionName: addConnToHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - transHeapInsert
    - tTrace
    - getOrCreateHeap
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: int32_t addConnToHeapCache(SHashObj* pConnHeapCacahe, SCliConn* pConn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4143,1
    - Dst: transHeapDelete
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4144,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4147,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4147,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4149,1
    - Dst: transHeapDelete
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4152,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pConnHeapCache
    - pConn
    argTypes:
    - SHashObj*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4157
      start: 4141
    functionDepth: 1
    functionLinenumber: 4141
    functionLinenumberEnd: 4157
    functionName: delConnFromHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 3
    functionsReached:
    - tTrace
    - taosHashGet
    - transHeapDelete
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t delConnFromHeapCache(SHashObj* pConnHeapCache, SCliConn* pConn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4164,1
    - Dst: transHeapBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4164,1
    - Dst: transHeapGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4165,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4166,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pConnHeapCache
    - pConn
    - pNewConn
    argTypes:
    - SHashObj*
    - SCliConn*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4175
      start: 4159
    functionDepth: 1
    functionLinenumber: 4159
    functionLinenumberEnd: 4175
    functionName: balanceConnHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - transHeapGet
    - REQS_ON_CONN
    - TAOS_UNUSED
    - transHeapBalance
    linkageType: ''
    returnType: int8_t
    signature: int8_t balanceConnHeapCache(SHashObj* pConnHeapCache, SCliConn* pConn,
      SCliConn** pNewConn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4178,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4179,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4181,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HeapNode*
    - HeapNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4187
      start: 4177
    functionDepth: 1
    functionLinenumber: 4177
    functionLinenumberEnd: 4187
    functionName: compareHeapNode
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - container_of
    - REQS_ON_CONN
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareHeapNode(const HeapNode* a, const HeapNode* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: heapCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - heap
    argTypes:
    - SHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4196
      start: 4188
    functionDepth: 1
    functionLinenumber: 4188
    functionLinenumberEnd: 4196
    functionName: transHeapInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - heapCreate
    linkageType: ''
    returnType: int32_t
    signature: int32_t transHeapInit(SHeap* heap, int32_t (*cmpFunc)(const HeapNode*
      a, const HeapNode* b))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: heapDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - heap
    argTypes:
    - SHeap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4201
      start: 4197
    functionDepth: 1
    functionLinenumber: 4197
    functionLinenumberEnd: 4201
    functionName: transHeapDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - heapDestroy
    linkageType: ''
    returnType: void
    signature: void transHeapDestroy(SHeap* heap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: heapSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4203,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4207,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4214
      start: 4202
    functionDepth: 1
    functionLinenumber: 4202
    functionLinenumberEnd: 4214
    functionName: transHeapGet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - heapSize
    - container_of
    - heapMin
    linkageType: ''
    returnType: int32_t
    signature: int32_t transHeapGet(SHeap* heap, SCliConn** p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4219,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4223,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4228
      start: 4215
    functionDepth: 1
    functionLinenumber: 4215
    functionLinenumberEnd: 4228
    functionName: transHeapInsert
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - heapInsert
    - tTrace
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: int32_t transHeapInsert(SHeap* heap, SCliConn* p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4232,1
    - Dst: transHeapUpdateFailTs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4232,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4236,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4239,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4241,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4249,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4250,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4252,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4257
      start: 4229
    functionDepth: 1
    functionLinenumber: 4229
    functionLinenumberEnd: 4257
    functionName: transHeapDelete
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - tTrace
    - transHeapUpdateFailTs
    - taosGetTimestampMs
    - TAOS_UNUSED
    - heapRemove
    linkageType: ''
    returnType: int32_t
    signature: int32_t transHeapDelete(SHeap* heap, SCliConn* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4262
      start: 4259
    functionDepth: 0
    functionLinenumber: 4259
    functionLinenumberEnd: 4262
    functionName: transHeapUpdateFailTs
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: int32_t transHeapUpdateFailTs(SHeap* heap, SCliConn* p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transHeapGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4272,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4279,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4280,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4283,1
    - Dst: transHeapBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4286
      start: 4263
    functionDepth: 2
    functionLinenumber: 4263
    functionLinenumberEnd: 4286
    functionName: transHeapMayBalance
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached:
    - transHeapBalance
    - REQS_ON_CONN
    - TAOS_UNUSED
    - transHeapGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t transHeapMayBalance(SHeap* heap, SCliConn* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4292,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4295
      start: 4288
    functionDepth: 1
    functionLinenumber: 4288
    functionLinenumberEnd: 4295
    functionName: transHeapBalance
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - heapInsert
    - heapRemove
    linkageType: ''
    returnType: int32_t
    signature: int32_t transHeapBalance(SHeap* heap, SCliConn* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4298
      start: 4298
    functionDepth: 0
    functionLinenumber: 4298
    functionLinenumberEnd: 4298
    functionName: transRefCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transRefCliHandle(void* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4299
      start: 4299
    functionDepth: 0
    functionLinenumber: 4299
    functionLinenumberEnd: 4299
    functionName: transUnrefCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transUnrefCliHandle(void* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4309,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4309,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4311,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4315,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4315,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4316,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4317,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4318,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4319,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4321,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4322,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4322,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4326,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4326,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4329,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4331
      start: 4300
    functionDepth: 2
    functionLinenumber: 4300
    functionLinenumberEnd: 4331
    functionName: transReleaseCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    - transGetRefMgt
    - transAcquireExHandle
    - taosHashRemove
    - transReleaseExHandle
    - taosHashGet
    - tError
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    - transCtxCleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t transReleaseCliHandle(void* handle, int32_t status)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4336,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4337,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4337,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4342,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4342,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4355,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4358,1
    - Dst: transCtxMerge
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4360,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4362,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4368,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4370,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4373,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4374,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4376,1
    - Dst: RPC_MSG_USER
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4376,1
    - Dst: RPC_MSG_USER
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4376,1
    - Dst: transSendReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4378,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4379,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4379,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pReq
    - ctx
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4332
    functionDepth: 2
    functionLinenumber: 4332
    functionLinenumberEnd: 4381
    functionName: transSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transCtxMerge
    - transGetInstMgt
    - TRACE_SET_MSGID
    - taosVersionStrToInt
    - RPC_MSG_USER
    - transAcquireExHandle
    - transReleaseExHandle
    - taosHashGet
    - tGenIdPI64
    - transSendReq
    - snprintf
    - TAOS_UNUSED
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSendRequest(void* shandle, const SEpSet* pEpSet, STransMsg*
      pReq, STransCtx* ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4387,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4387,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4389,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4392,1
    - Dst: transAllocHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4392,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4394,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4394,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4396,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4404,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4405,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4409,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4409,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4412,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4412,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4413,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pReq
    - transpointId
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4415
      start: 4383
    functionDepth: 5
    functionLinenumber: 4383
    functionLinenumberEnd: 4415
    functionName: transSendRequestWithId
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transAllocHandle
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    - transGetRefMgt
    - transAcquireExHandle
    - transReleaseExHandle
    - transSendRequest
    - tError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSendRequestWithId(void* shandle, const SEpSet* pEpSet,
      STransMsg* pReq, int64_t* transpointId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTransMsg
    - refId
    argTypes:
    - STransMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4417
      start: 4417
    functionDepth: 0
    functionLinenumber: 4417
    functionLinenumberEnd: 4417
    functionName: transCreateSyncMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCreateSyncMsg(STransMsg* pTransMsg, int64_t* refId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4421,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4421,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4423,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4428,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4428,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4430,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4431,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4432,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4434,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4438,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4439,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4439,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4440,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4441,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4443,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4444,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4446,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 6
    argNames:
    - shandle
    - pEpSet
    - pReq
    - pRsp
    - epUpdated
    - timeoutMs
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransMsg*
    - int8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4448
      start: 4418
    functionDepth: 5
    functionLinenumber: 4418
    functionLinenumberEnd: 4448
    functionName: transSendRecvWithTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transFreeMsg
    - transGetInstMgt
    - TRACE_SET_MSGID
    - tsem_wait
    - taosMemFree
    - transAcquireExHandle
    - memcpy
    - taosReleaseRef
    - transSendRequest
    - tsem_init
    - tsem_destroy
    - tGenIdPI64
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t transSendRecvWithTimeout(void* shandle, SEpSet* pEpSet, STransMsg*
      pReq, STransMsg* pRsp, int8_t* epUpdated,\n                                 int32_t
      timeoutMs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRecvWithTimeout
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pReq
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4451
      start: 4449
    functionDepth: 5
    functionLinenumber: 4449
    functionLinenumberEnd: 4451
    functionName: transSendRecv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transSendRecvWithTimeout
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSendRecv(void* shandle, const SEpSet* pEpSet, STransMsg*
      pReq, STransMsg* pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - shandle
    - ip
    - fqdn
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4452
      start: 4452
    functionDepth: 0
    functionLinenumber: 4452
    functionLinenumberEnd: 4452
    functionName: transSetDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSetDefaultAddr(void* shandle, const char* ip, const char*
      fqdn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4454,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4458,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4458,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4460,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4464,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4464,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4466,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4470,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4471,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4475
      start: 4453
    functionDepth: 2
    functionLinenumber: 4453
    functionLinenumberEnd: 4475
    functionName: transAllocHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 2
    functionsReached:
    - taosInitRWLatch
    - transAddExHandle
    - QUEUE_INIT
    - transGetRefMgt
    - transAcquireExHandle
    - tDebug
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transAllocHandle(int64_t* refId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4478,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4478,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4483,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4484,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4488,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4490,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pInstRef
    - transpointId
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4493
      start: 4476
    functionDepth: 2
    functionLinenumber: 4476
    functionLinenumberEnd: 4493
    functionName: transFreeConnById
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached:
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    - transAcquireExHandle
    - transReleaseExHandle
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t transFreeConnById(void* pInstRef, int64_t transpointId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ip
    - port
    - label
    - numOfThreads
    - fp
    - shandle
    argTypes:
    - uint32_t
    - uint32_t
    - char*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4497
      start: 4495
    functionDepth: 0
    functionLinenumber: 4495
    functionLinenumberEnd: 4497
    functionName: transInitClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * transInitClient(uint32_t ip, uint32_t port, char* label, int
      numOfThreads, void* fp, void* shandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4498
      start: 4498
    functionDepth: 0
    functionLinenumber: 4498
    functionLinenumberEnd: 4498
    functionName: transCloseClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transCloseClient(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transTlsCtxCreateImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pInit
    - ppCtx
    argTypes:
    - SRpcInit*
    - SSslCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: transTlsCxtCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - transTlsCtxCreateImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t transTlsCxtCreate(const SRpcInit* pInit, SSslCtx** ppCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transTlsCtxDestroyImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSslCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: transTlsCtxDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - transTlsCtxDestroyImpl
    linkageType: ''
    returnType: void
    signature: void transTlsCtxDestroy(SSslCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslInitImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCtx
    - ppTLs
    argTypes:
    - SSslCtx*
    - STransTLS**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: sslInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached:
    - sslInitImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslInit(SSslCtx* pCtx, STransTLS** ppTLs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslDestroyImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTLs
    argTypes:
    - STransTLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: sslDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached:
    - sslDestroyImpl
    linkageType: ''
    returnType: void
    signature: void sslDestroy(STransTLS* pTLs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslSetModeImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTls
    - cliMode
    argTypes:
    - STransTLS*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: sslSetMode
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - sslSetModeImpl
    linkageType: ''
    returnType: void
    signature: void sslSetMode(STransTLS* pTls, int8_t cliMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslConnectImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pTls
    - stream
    - req
    argTypes:
    - STransTLS*
    - uv_stream_t*
    - uv_write_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: sslConnect
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached:
    - sslConnectImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslConnect(STransTLS* pTls, uv_stream_t* stream, uv_write_t*
      req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslWriteImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pTls
    - stream
    - req
    - pBuf
    - nBuf
    argTypes:
    - STransTLS*
    - uv_stream_t*
    - uv_write_t*
    - uv_buf_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: sslWrite
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 2
    functionsReached:
    - sslWriteImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sslWrite(STransTLS* pTls, uv_stream_t* stream, uv_write_t*
      req, uv_buf_t* pBuf, int32_t nBuf,\n                 void (*cb)(uv_write_t*,
      int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslReadImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pTls
    - pBuf
    - nread
    - cliMode
    argTypes:
    - STransTLS*
    - SConnBuffer*
    - int32_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: sslRead
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached:
    - sslReadImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslRead(STransTLS* pTls, SConnBuffer* pBuf, int32_t nread,
      int8_t cliMode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sslGetCertificateImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:72,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pTls
    - buf
    - len
    argTypes:
    - STransTLS*
    - char[]
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: sslGetCertificate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - sslGetCertificateImpl
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslGetCertificate(STransTLS* pTls, char buf[], int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslIsInitedImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTls
    argTypes:
    - STransTLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: sslIsInited
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 3
    functionsReached:
    - sslIsInitedImpl
    linkageType: ''
    returnType: int8_t
    signature: int8_t sslIsInited(STransTLS* pTls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslBufferInitImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - cap
    argTypes:
    - SSslBuffer*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: sslBufferInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - sslBufferInitImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslBufferInit(SSslBuffer* buf, int32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslBufferDestroyImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: sslBufferDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - sslBufferDestroyImpl
    linkageType: ''
    returnType: void
    signature: void sslBufferDestroy(SSslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslBufferClearImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: sslBufferClear
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - sslBufferClearImpl
    linkageType: ''
    returnType: void
    signature: void sslBufferClear(SSslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslBufferAppendImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - data
    - len
    argTypes:
    - SSslBuffer*
    - uint8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: sslBufferAppend
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - sslBufferAppendImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslBufferAppend(SSslBuffer* buf, uint8_t* data, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslBufferReallocImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - newCap
    - uvbuf
    argTypes:
    - SSslBuffer*
    - int32_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: sslBufferRealloc
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached:
    - sslBufferReallocImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslBufferRealloc(SSslBuffer* buf, int32_t newCap, uv_buf_t*
      uvbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslBufferGetAvailableImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - available
    argTypes:
    - SSslBuffer*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: sslBufferGetAvailable
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - sslBufferGetAvailableImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslBufferGetAvailable(SSslBuffer* buf, int32_t* available)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslBufferRefImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: sslBufferRef
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - sslBufferRefImpl
    linkageType: ''
    returnType: void
    signature: void sslBufferRef(SSslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslBufferUnrefImpl
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: sslBufferUnref
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached:
    - sslBufferUnrefImpl
    linkageType: ''
    returnType: void
    signature: void sslBufferUnref(SSslBuffer* buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:98,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pMgt
    argTypes:
    - STlsCxtMgt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: transTlsCxtMgtInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - taosThreadRwlockInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t transTlsCxtMgtInit(STlsCxtMgt** pMgt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:112,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pMgt
    - ppCtx
    argTypes:
    - STlsCxtMgt*
    - SSslCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: transTlsCxtMgtGet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached:
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t transTlsCxtMgtGet(STlsCxtMgt* pMgt, SSslCtx** ppCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:122,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:126,1
    - Dst: transTlsCxtUnref
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:128,1
    - Dst: transTlsCxtRef
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pMgt
    argTypes:
    - STlsCxtMgt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: transTlsCxtMgtUpdate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockWrlock
    - taosThreadRwlockUnlock
    - transTlsCxtUnref
    - transTlsCxtRef
    linkageType: ''
    returnType: int32_t
    signature: int32_t transTlsCxtMgtUpdate(STlsCxtMgt* pMgt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:137,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:139,1
    - Dst: transTlsCxtRef
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMgt
    - pNewCtx
    argTypes:
    - STlsCxtMgt*
    - SSslCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: transTlsCxtMgtAppend
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockWrlock
    - taosThreadRwlockUnlock
    - transTlsCxtRef
    linkageType: ''
    returnType: int32_t
    signature: int32_t transTlsCxtMgtAppend(STlsCxtMgt* pMgt, SSslCtx* pNewCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:147,1
    - Dst: transTlsCxtUnref
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pMgt
    argTypes:
    - STlsCxtMgt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: transTlsCxtMgtDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 0
    functionsReached:
    - transTlsCxtUnref
    - taosThreadRwlockDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void transTlsCxtMgtDestroy(STlsCxtMgt* pMgt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transShouldDoReloadTlsConfig
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:156,1
    - Dst: transTlsCxtMgtGet
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:160,1
    - Dst: transTlsCxtRef
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:169,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:171,1
    - Dst: transTlsCtxCreateFromOld
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:172,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:173,1
    - Dst: transTlsCxtUnref
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pMgt
    - cliMode
    argTypes:
    - STlsCxtMgt*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 177
    functionName: transTlsCxtMgtCreateNewCxt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached:
    - transShouldDoReloadTlsConfig
    - taosThreadRwlockUnlock
    - transTlsCxtMgtGet
    - taosThreadRwlockWrlock
    - transTlsCxtUnref
    - transTlsCtxCreateFromOld
    - transTlsCxtRef
    linkageType: ''
    returnType: int32_t
    signature: int32_t transTlsCxtMgtCreateNewCxt(STlsCxtMgt* pMgt, int8_t cliMode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:184,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSslCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: transTlsCxtRef
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 3
    functionsReached:
    - atomic_fetch_add_32
    - tInfo
    linkageType: ''
    returnType: void
    signature: void transTlsCxtRef(SSslCtx* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:192,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:193,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:193,1
    - Dst: transTlsCtxDestroy
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:194,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:196,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSslCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: transTlsCxtUnref
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 3
    functionsReached:
    - atomic_load_32
    - transTlsCtxDestroy
    - atomic_sub_fetch_32
    - tInfo
    linkageType: ''
    returnType: void
    signature: void transTlsCxtUnref(SSslCtx* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:203,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:206,1
    - Dst: transTlsCxtMgtUpdate
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:207,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:209,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pMgt
    - numOfThreads
    argTypes:
    - STlsCxtMgt*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: transDoReloadTlsConfig
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached:
    - atomic_load_8
    - transTlsCxtMgtUpdate
    - atomic_store_8
    - atomic_store_32
    - atomic_add_fetch_32
    linkageType: ''
    returnType: int8_t
    signature: int8_t transDoReloadTlsConfig(STlsCxtMgt *pMgt, int32_t numOfThreads)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:218,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:220,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transTLS.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pMgt
    argTypes:
    - STlsCxtMgt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: transShouldDoReloadTlsConfig
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached:
    - tInfo
    - atomic_load_8
    linkageType: ''
    returnType: int8_t
    signature: int8_t transShouldDoReloadTlsConfig(STlsCxtMgt *pMgt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTls
    argTypes:
    - STransTLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: sslGetCertificateImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslGetCertificateImpl(STransTLS* pTls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pOldCtx
    - mode
    - pNewCtx
    argTypes:
    - SSslCtx*
    - int8_t
    - SSslCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: transTlsCtxCreateFromOld
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transTlsCtxCreateFromOld(SSslCtx* pOldCtx, int8_t mode, SSslCtx**
      pNewCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pInit
    - ppCtx
    argTypes:
    - SRpcInit*
    - SSslCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: transTlsCtxCreateImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transTlsCtxCreateImpl(const SRpcInit* pInit, SSslCtx** ppCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSslCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: transTlsCtxDestroyImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transTlsCtxDestroyImpl(SSslCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCtx
    - ppTLs
    argTypes:
    - SSslCtx*
    - STransTLS**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: sslInitImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslInitImpl(SSslCtx* pCtx, STransTLS** ppTLs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTLs
    argTypes:
    - STransTLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: sslDestroyImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sslDestroyImpl(STransTLS* pTLs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTls
    - cliMode
    argTypes:
    - STransTLS*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: sslSetModeImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sslSetModeImpl(STransTLS* pTls, int8_t cliMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pTls
    - stream
    - req
    argTypes:
    - STransTLS*
    - uv_stream_t*
    - uv_write_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: sslConnectImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslConnectImpl(STransTLS* pTls, uv_stream_t* stream, uv_write_t*
      req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pTls
    - stream
    - req
    - pBuf
    - nBuf
    argTypes:
    - STransTLS*
    - uv_stream_t*
    - uv_write_t*
    - uv_buf_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: sslWriteImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sslWriteImpl(STransTLS* pTls, uv_stream_t* stream, uv_write_t*
      req, uv_buf_t* pBuf, int32_t nBuf,\n                     void (*cb)(uv_write_t*,
      int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pTls
    - pBuf
    - nread
    - cliMode
    argTypes:
    - STransTLS*
    - SConnBuffer*
    - int32_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: sslReadImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslReadImpl(STransTLS* pTls, SConnBuffer* pBuf, int32_t nread,
      int8_t cliMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTls
    argTypes:
    - STransTLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: sslIsInitedImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t sslIsInitedImpl(STransTLS* pTls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - cap
    argTypes:
    - SSslBuffer*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: sslBufferInitImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslBufferInitImpl(SSslBuffer* buf, int32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: sslBufferDestroyImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sslBufferDestroyImpl(SSslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: sslBufferClearImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sslBufferClearImpl(SSslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - data
    - len
    argTypes:
    - SSslBuffer*
    - uint8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: sslBufferAppendImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslBufferAppendImpl(SSslBuffer* buf, uint8_t* data, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - newCap
    - uvbuf
    argTypes:
    - SSslBuffer*
    - int32_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: sslBufferReallocImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslBufferReallocImpl(SSslBuffer* buf, int32_t newCap, uv_buf_t*
      uvbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - available
    argTypes:
    - SSslBuffer*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: sslBufferGetAvailableImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t sslBufferGetAvailableImpl(SSslBuffer* buf, int32_t* available)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: sslBufferRefImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sslBufferRefImpl(SSslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SSslBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: sslBufferUnrefImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transTLS.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sslBufferUnrefImpl(SSslBuffer* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msgcb
    argTypes:
    - SMsgCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: tmsgSetDefault
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tmsgSetDefault(const SMsgCb* msgcb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:31,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msgcb
    - qtype
    - pMsg
    argTypes:
    - SMsgCb*
    - EQueueType
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: tmsgPutToQueue
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 0
    functionsReached:
    - tmsgSendRsp
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t tmsgPutToQueue(const SMsgCb* msgcb, EQueueType qtype, SRpcMsg*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msgcb
    - vgId
    - qtype
    argTypes:
    - SMsgCb*
    - int32_t
    - EQueueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: tmsgGetQueueSize
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tmsgGetQueueSize(const SMsgCb* msgcb, int32_t vgId, EQueueType
      qtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - epSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: tmsgSendReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t tmsgSendReq(const SEpSet* epSet, SRpcMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - epSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: tmsgSendSyncReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tmsgSendSyncReq(const SEpSet* epSet, SRpcMsg* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:63,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tmsgSendRsp
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 1
    functionsReached:
    - rpcSendResponse
    - tError
    linkageType: ''
    returnType: void
    signature: void tmsgSendRsp(SRpcMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: tmsgRegisterBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tmsgRegisterBrokenLinkArg(SRpcMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pHandle
    - type
    - status
    argTypes:
    - SRpcHandleInfo*
    - int8_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: tmsgReleaseHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tmsgReleaseHandle(SRpcHandleInfo* pHandle, int8_t type, int32_t
      status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - desc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: tmsgReportStartup
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tmsgReportStartup(const char* name, const char* desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dnodeId
    - clusterId
    - fqdn
    - port
    argTypes:
    - int32_t*
    - int64_t*
    - char*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: tmsgUpdateDnodeInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 0
    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:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - epset
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: tmsgUpdateDnodeEpSet
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: 0
    functionsReached:
    - tmsgUpdateDnodeInfo
    linkageType: ''
    returnType: void
    signature: void tmsgUpdateDnodeEpSet(SEpSet* epset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetIpFromFqdn
      Src: /src/tdengine/source/libs/transport/src/trans.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - localFqdn
    - addr
    argTypes:
    - char*
    - SIpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: transValidLocalFqdn
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - taosGetIpFromFqdn
    linkageType: ''
    returnType: int32_t
    signature: int32_t transValidLocalFqdn(const char* localFqdn, SIpAddr* addr)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: rpcInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:38,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:40,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:43,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:45,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/trans.c:49,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/trans.c:49,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:50,1
    - Dst: transValidLocalFqdn
      Src: /src/tdengine/source/libs/transport/src/trans.c:101,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/trans.c:102,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:103,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:112,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:116,1
    - Dst: transTlsCxtMgtInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:128,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:129,1
    - Dst: transTlsCxtCreate
      Src: /src/tdengine/source/libs/transport/src/trans.c:133,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:134,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:137,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:138,1
    - Dst: transTlsCxtMgtAppend
      Src: /src/tdengine/source/libs/transport/src/trans.c:141,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:142,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:145,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:148,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:155,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/trans.c:157,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:158,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:161,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:167,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:168,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:172,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:172,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/trans.c:173,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:173,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:173,1
    - Dst: transCachePut
      Src: /src/tdengine/source/libs/transport/src/trans.c:175,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:176,1
    - Dst: transTlsCxtMgtDestroy
      Src: /src/tdengine/source/libs/transport/src/trans.c:183,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:188,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 116
    argCount: 1
    argNames:
    - pInit
    argTypes:
    - SRpcInit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 192
    functionName: rpcOpen
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 12
    functionsReached:
    - TAOS_CHECK_GOTO
    - TAOS_UNUSED
    - tWarn
    - memcpy
    - transAddExHandle
    - transAcquireExHandle
    - transTlsCxtMgtDestroy
    - rpcInit
    - transTlsCxtMgtAppend
    - tInfo
    - transCachePut
    - taosMemoryCalloc
    - transGetInstMgt
    - transValidLocalFqdn
    - tstrncpy
    - tstrerror
    - transTlsCxtCreate
    - transTlsCxtMgtInit
    - taosMemoryFree
    - tError
    - strlen
    linkageType: ''
    returnType: void
    signature: void * rpcOpen(const SRpcInit* pInit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:194,1
    - Dst: transCacheRemoveByRefId
      Src: /src/tdengine/source/libs/transport/src/trans.c:198,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:199,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:199,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:200,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:200,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: rpcClose
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 15
    functionsReached:
    - transGetInstMgt
    - transReleaseExHandle
    - transCacheRemoveByRefId
    - tInfo
    - transRemoveExHandle
    linkageType: ''
    returnType: void
    signature: void rpcClose(void* arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transTlsCxtMgtDestroy
      Src: /src/tdengine/source/libs/transport/src/trans.c:211,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: rpcCloseImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transTlsCxtMgtDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void rpcCloseImpl(void* arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:219,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:224,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:226,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/trans.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - contLen
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: rpcMallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 29
    functionsReached:
    - tTrace
    - taosMemoryCalloc
    - tError
    linkageType: ''
    returnType: void
    signature: void * rpcMallocCont(int64_t contLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: rpcFreeCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 12
    functionsReached:
    - transFreeMsg
    linkageType: ''
    returnType: void
    signature: void rpcFreeCont(void* cont)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/trans.c:238,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:242,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - contLen
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 252
    functionName: rpcReallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - taosMemoryFree
    - taosMemoryRealloc
    linkageType: ''
    returnType: void
    signature: void * rpcReallocCont(void* ptr, int64_t contLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pInit
    - pEpSet
    - pMsg
    - pRid
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: rpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 6
    functionsReached:
    - transSendRequest
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcSendRequest(void* pInit, const SEpSet* pEpSet, SRpcMsg*
      pMsg, int64_t* pRid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:259,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - pInit
    - pEpSet
    - pMsg
    - pRid
    - pCtx
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - int64_t*
    - SRpcCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 5
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: rpcSendRequestWithCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 1
    functionsReached:
    - transSendRequest
    - transSendRequestWithId
    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: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pInit
    - pEpSet
    - pReq
    - transpointId
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 5
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: rpcSendRequestWithId
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    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: transSendRecv
      Src: /src/tdengine/source/libs/transport/src/trans.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pInit
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: rpcSendRecv
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 1
    functionsReached:
    - transSendRecv
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcSendRecv(void* pInit, SEpSet* pEpSet, SRpcMsg* pMsg, SRpcMsg*
      pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRecvWithTimeout
      Src: /src/tdengine/source/libs/transport/src/trans.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pInit
    - pEpSet
    - pMsg
    - pRsp
    - epUpdated
    - timeoutMs
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    - int8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 5
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: rpcSendRecvWithTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transSendRecvWithTimeout
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rpcSendRecvWithTimeout(void* pInit, SEpSet* pEpSet, SRpcMsg*
      pMsg, SRpcMsg* pRsp, int8_t* epUpdated,\n                               int32_t
      timeoutMs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transFreeConnById
      Src: /src/tdengine/source/libs/transport/src/trans.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pInit
    - connId
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 4
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: rpcFreeConnById
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 1
    functionsReached:
    - transFreeConnById
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcFreeConnById(void* pInit, int64_t connId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendResponse
      Src: /src/tdengine/source/libs/transport/src/trans.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: rpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 10
    functionsReached:
    - transSendResponse
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcSendResponse(const SRpcMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - type
    argTypes:
    - void*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: rpcRefHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rpcRefHandle(void* handle, int8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - type
    argTypes:
    - void*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: rpcUnrefHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rpcUnrefHandle(void* handle, int8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transRegisterMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: rpcRegisterBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 1
    functionsReached:
    - transRegisterMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcRegisterBrokenLinkArg(SRpcMsg* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - type
    - status
    argTypes:
    - void*
    - int8_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: rpcReleaseHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcReleaseHandle(void* handle, int8_t type, int32_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSetDefaultAddr
      Src: /src/tdengine/source/libs/transport/src/trans.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - thandle
    - ip
    - fqdn
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: rpcSetDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transSetDefaultAddr
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcSetDefaultAddr(void* thandle, const char* ip, const char*
      fqdn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSetIpWhiteList
      Src: /src/tdengine/source/libs/transport/src/trans.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thandle
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: rpcSetIpWhite
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transSetIpWhiteList
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcSetIpWhite(void* thandle, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSetTimeIpWhiteList
      Src: /src/tdengine/source/libs/transport/src/trans.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thandle
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: rpcSetTimeIpWhite
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transSetTimeIpWhiteList
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcSetTimeIpWhite(void* thandle, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transReloadTlsConfig
      Src: /src/tdengine/source/libs/transport/src/trans.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - type
    argTypes:
    - void*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: rpcReloadTlsConfig
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transReloadTlsConfig
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcReloadTlsConfig(void* handle, int8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transAllocHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: rpcAllocHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transAllocHandle
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcAllocHandle(int64_t* refId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSIpRangeToStr
      Src: /src/tdengine/source/libs/transport/src/trans.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pRange
    - buf
    - cap
    argTypes:
    - SIpV4Range*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: rpcUtilSIpRangeToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transUtilSIpRangeToStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcUtilSIpRangeToStr(SIpV4Range* pRange, char* buf, int32_t
      cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/trans.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pWhiteList
    - ppBuf
    argTypes:
    - SIpWhiteListDual*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: rpcUtilSWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transUtilSWhiteListToStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcUtilSWhiteListToStr(SIpWhiteListDual* pWhiteList, char**
      ppBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: rpcCvtErrCode
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcCvtErrCode(int32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: rpcInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 2
    functionsReached:
    - transInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCleanup
      Src: /src/tdengine/source/libs/transport/src/trans.c:319,1
    - Dst: transHttpEnvDestroy
      Src: /src/tdengine/source/libs/transport/src/trans.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: rpcCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transHttpEnvDestroy
    - transCleanup
    linkageType: ''
    returnType: void
    signature: void rpcCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - localFqdn
    - ip
    argTypes:
    - char*
    - SIpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: transValidLocalFqdn
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transValidLocalFqdn(const char* localFqdn, SIpAddr* ip)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rpcInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:351,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:353,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:356,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:358,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/trans.c:361,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/trans.c:361,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:362,1
    - Dst: transValidLocalFqdn
      Src: /src/tdengine/source/libs/transport/src/trans.c:404,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:405,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/trans.c:405,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:406,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:414,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:418,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/src/trans.c:435,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:441,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:442,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/trans.c:442,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:444,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:445,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/trans.c:445,1
    - Dst: transUpdateCb
      Src: /src/tdengine/source/libs/transport/src/trans.c:447,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:449,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:449,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:450,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:450,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:454,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 82
    argCount: 1
    argNames:
    - pInit
    argTypes:
    - SRpcInit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 458
    functionName: rpcOpen
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 12
    functionsReached:
    - transGetInstMgt
    - memcpy
    - transAddExHandle
    - TAOS_CHECK_GOTO
    - transAcquireExHandle
    - taosGetDefaultHashFunction
    - rpcInit
    - transValidLocalFqdn
    - taosThreadMutexInit
    - taosHashInit
    - tstrncpy
    - taosMemoryFree
    - tError
    - tstrerror
    - strlen
    - taosMemoryCalloc
    - strcmp
    - transUpdateCb
    linkageType: ''
    returnType: void
    signature: void * rpcOpen(const SRpcInit* pInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: rpcClose
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 15
    functionsReached:
    - tInfo
    linkageType: ''
    returnType: void
    signature: void rpcClose(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: rpcCloseImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rpcCloseImpl(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:475,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:477,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/trans.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - contLen
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 485
    functionName: rpcMallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 30
    functionsReached:
    - tTrace
    - taosMemoryCalloc
    - tError
    linkageType: ''
    returnType: void
    signature: void * rpcMallocCont(int64_t contLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: rpcFreeCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 12
    functionsReached:
    - transFreeMsg
    linkageType: ''
    returnType: void
    signature: void rpcFreeCont(void* cont)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/trans.c:490,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:494,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - contLen
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 504
    functionName: rpcReallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - taosMemoryFree
    - taosMemoryRealloc
    linkageType: ''
    returnType: void
    signature: void * rpcReallocCont(void* ptr, int64_t contLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:507,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRid
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: rpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 6
    functionsReached:
    - transSendRequest
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcSendRequest(void* shandle, const SEpSet* pEpSet, SRpcMsg*
      pMsg, int64_t* pRid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:516,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:518,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:528,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:530,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRid
    - pCtx
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - int64_t*
    - SRpcCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 514
    functionDepth: 5
    functionLinenumber: 514
    functionLinenumberEnd: 533
    functionName: rpcSendRequestWithCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 1
    functionsReached:
    - transSendRequest
    - transSendRequestWithId
    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: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:536,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pReq
    - transpointId
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 535
    functionDepth: 5
    functionLinenumber: 535
    functionLinenumberEnd: 542
    functionName: rpcSendRequestWithId
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    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: transSendRecv
      Src: /src/tdengine/source/libs/transport/src/trans.c:545,1
    - Dst: transSendRecv
      Src: /src/tdengine/source/libs/transport/src/trans.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 5
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: rpcSendRecv
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 1
    functionsReached:
    - transSendRecv
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcSendRecv(void* shandle, SEpSet* pEpSet, SRpcMsg* pMsg, SRpcMsg*
      pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRecvWithTimeout
      Src: /src/tdengine/source/libs/transport/src/trans.c:554,1
    - Dst: transSendRecvWithTimeout
      Src: /src/tdengine/source/libs/transport/src/trans.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    - epUpdated
    - timeoutMs
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    - int8_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 552
    functionDepth: 5
    functionLinenumber: 552
    functionLinenumberEnd: 560
    functionName: rpcSendRecvWithTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transSendRecvWithTimeout
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rpcSendRecvWithTimeout(void* shandle, SEpSet* pEpSet, SRpcMsg*
      pMsg, SRpcMsg* pRsp, int8_t* epUpdated,\n                               int32_t
      timeoutMs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transFreeConnById
      Src: /src/tdengine/source/libs/transport/src/trans.c:562,1
    - Dst: transFreeConnById
      Src: /src/tdengine/source/libs/transport/src/trans.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shandle
    - connId
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 568
    functionName: rpcFreeConnById
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 1
    functionsReached:
    - transFreeConnById
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcFreeConnById(void* shandle, int64_t connId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendResponse
      Src: /src/tdengine/source/libs/transport/src/trans.c:571,1
    - Dst: transSendResponse
      Src: /src/tdengine/source/libs/transport/src/trans.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: rpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 10
    functionsReached:
    - transSendResponse
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcSendResponse(SRpcMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transRegisterMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:580,1
    - Dst: transRegisterMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 586
    functionName: rpcRegisterBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 1
    functionsReached:
    - transRegisterMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcRegisterBrokenLinkArg(SRpcMsg* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - type
    - status
    argTypes:
    - void*
    - int8_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 589
    functionName: rpcReleaseHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcReleaseHandle(void* handle, int8_t type, int32_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSetDefaultAddr
      Src: /src/tdengine/source/libs/transport/src/trans.c:594,1
    - Dst: transSetDefaultAddr
      Src: /src/tdengine/source/libs/transport/src/trans.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - thandle
    - ip
    - fqdn
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 592
    functionDepth: 4
    functionLinenumber: 592
    functionLinenumberEnd: 600
    functionName: rpcSetDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transSetDefaultAddr
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcSetDefaultAddr(void* thandle, const char* ip, const char*
      fqdn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSetIpWhiteList
      Src: /src/tdengine/source/libs/transport/src/trans.c:603,1
    - Dst: transSetIpWhiteList
      Src: /src/tdengine/source/libs/transport/src/trans.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - thandle
    - arg
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: rpcSetIpWhite
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transSetIpWhiteList
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcSetIpWhite(void* thandle, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transAllocHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 611
    functionName: rpcAllocHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transAllocHandle
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcAllocHandle(int64_t* refId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSIpRangeToStr
      Src: /src/tdengine/source/libs/transport/src/trans.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pRange
    - buf
    - cap
    argTypes:
    - SIpV4Range*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 615
    functionName: rpcUtilSIpRangeToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transUtilSIpRangeToStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcUtilSIpRangeToStr(SIpV4Range* pRange, char* buf, int32_t
      cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/trans.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pWhiteList
    - ppBuf
    argTypes:
    - SIpWhiteList*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: rpcUtilSWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transUtilSWhiteListToStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcUtilSWhiteListToStr(SIpWhiteList* pWhiteList, char** ppBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: rpcCvtErrCode
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcCvtErrCode(int32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 627
    functionName: rpcInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 3
    functionsReached:
    - transInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t rpcInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCleanup
      Src: /src/tdengine/source/libs/transport/src/trans.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: rpcCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: 0
    functionsReached:
    - transCleanup
    linkageType: ''
    returnType: void
    signature: void rpcCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thrd
    argTypes:
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: uvGetConnRefOfThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvGetConnRefOfThrd(SWorkThrd* thrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - loop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: SRV_RELEASE_UV
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SRV_RELEASE_UV(loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - thrd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: ASYNC_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASYNC_ERR_JRET(thrd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transAllocBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:249,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:251,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: uvAllocRecvBufferCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - transAllocBuffer
    - tError
    linkageType: ''
    returnType: void
    signature: void uvAllocRecvBufferCb(uv_handle_t* handle, size_t suggested_size,
      uv_buf_t* buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sslBufferRealloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:260,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:262,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: uvAllocRecvBufferCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - sslBufferRealloc
    - tError
    linkageType: ''
    returnType: void
    signature: void uvAllocRecvBufferCbSSL(uv_handle_t* handle, size_t suggested_size,
      uv_buf_t* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: uvHandleActivityTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tDebug
    linkageType: ''
    returnType: void
    signature: void uvHandleActivityTimeout(uv_timer_t* handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tIpStrToUint
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:275,1
    - Dst: subnetInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:281,1
    - Dst: subnetCheckIp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:284,1
    - Dst: transUtilCheckDualIp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pRange
    - ip
    argTypes:
    - SIpRange*
    - SIpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: uvCheckIp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - subnetCheckIp
    - tIpStrToUint
    - transUtilCheckDualIp
    - subnetInit
    linkageType: ''
    returnType: bool
    signature: bool uvCheckIp(SIpRange* pRange, SIpAddr* ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:292,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:297,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:297,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 305
    functionName: uvWhiteListCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - taosMemoryCalloc
    - taosMemoryFree
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: SIpWhiteListTab
    signature: SIpWhiteListTab * uvWhiteListCreate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:308,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:311,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:312,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:314,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:316,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pWhite
    argTypes:
    - SIpWhiteListTab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 318
    functionName: uvWhiteListDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void uvWhiteListDestroy(SIpWhiteListTab* pWhite)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:326,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:331,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:334,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:336,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:340,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:341,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - plist
    - user
    - ppBuf
    argTypes:
    - SWhiteUserList*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: uvWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - transUtilSWhiteListToStr
    - snprintf
    - taosMemoryFree
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvWhiteListToStr(SWhiteUserList* plist, char* user, char**
      ppBuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:357,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:361,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:362,1
    - Dst: uvWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:367,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:369,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:371,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pWrite
    argTypes:
    - SIpWhiteListTab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 374
    functionName: uvWhiteListDebug
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - tTrace
    - memcpy
    - uvWhiteListToStr
    - taosHashGetKey
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void uvWhiteListDebug(SIpWhiteListTab* pWrite)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:379,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:379,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:381,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:389,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:389,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:391,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:397,1
    - Dst: uvWhiteListDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pWhite
    - user
    - plist
    - ver
    argTypes:
    - SIpWhiteListTab*
    - char*
    - SIpWhiteListDual*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 403
    functionName: uvWhiteListAdd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - uvWhiteListDebug
    - taosHashGet
    - taosMemoryFree
    - strlen
    - taosHashPut
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvWhiteListAdd(SIpWhiteListTab* pWhite, char* user, SIpWhiteListDual*
      plist, int64_t ver)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tIpStrToUint
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:412,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:413,1
    - Dst: createDefaultIp4Range
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:416,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:417,1
    - Dst: createDefaultIp6Range
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:424,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:425,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:434,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ip
    argTypes:
    - SIpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 437
    functionName: uvWhiteListIsDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - tstrerror
    - tIpStrToUint
    - tError
    - createDefaultIp6Range
    - createDefaultIp4Range
    linkageType: ''
    returnType: bool
    signature: bool uvWhiteListIsDefaultAddr(SIpAddr* ip)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - SIpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: ip2Str
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ip2Str(SIpAddr* p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: uvWhiteListIsDefaultAddr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:452,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:461,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:461,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:474,1
    - Dst: ip2Str
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:474,1
    - Dst: uvCheckIp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:484,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:499,1
    - Dst: ip2Str
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:499,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 4
    argNames:
    - pWhite
    - user
    - pIp
    - ver
    argTypes:
    - SIpWhiteListTab*
    - char*
    - SIpAddr*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 502
    functionName: uvWhiteListFilte
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - ip2Str
    - taosHashGet
    - uvCheckIp
    - uvWhiteListIsDefaultAddr
    - tError
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool uvWhiteListFilte(SIpWhiteListTab* pWhite, char* user, SIpAddr*
      pIp, int64_t ver)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosIpAddrIsEqual
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:505,1
    - Dst: uvWhiteListFilte
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pWhite
    - pConn
    argTypes:
    - SIpWhiteListTab*
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 503
    functionDepth: 4
    functionLinenumber: 503
    functionLinenumberEnd: 510
    functionName: uvWhiteListCheckConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosIpAddrIsEqual
    - uvWhiteListFilte
    linkageType: ''
    returnType: bool
    signature: bool uvWhiteListCheckConn(SIpWhiteListTab* pWhite, SSvrConn* pConn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pWhite
    - pConn
    argTypes:
    - SIpWhiteListTab*
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: uvWhiteListSetConnVer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uvWhiteListSetConnVer(SIpWhiteListTab* pWhite, SSvrConn* pConn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:518,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:523,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:523,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 531
    functionName: uvDataTimeWhiteListCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - taosMemoryCalloc
    - taosMemoryFree
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: SDataTimeWhiteListTab
    signature: SDataTimeWhiteListTab * uvDataTimeWhiteListCreate(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:538,1
    - Dst: tFreeSUserDateTimeWhiteList
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:545,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:547,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:549,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:551,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pWhite
    argTypes:
    - SDataTimeWhiteListTab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 555
    functionName: uvDataTimeWhiteListDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tFreeSUserDateTimeWhiteList
    - taosHashIterate
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void uvDataTimeWhiteListDestroy(SDataTimeWhiteListTab* pWhite)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:564,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:573,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - plist
    - user
    - ppBuf
    argTypes:
    - SUserDateTimeWhiteList*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 584
    functionName: uvDataTimeWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - snprintf
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvDataTimeWhiteListToStr(SUserDateTimeWhiteList* plist, char*
      user, char** ppBuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:590,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:594,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:596,1
    - Dst: uvDataTimeWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:602,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:604,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:605,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:608,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pWrite
    argTypes:
    - SDataTimeWhiteListTab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 610
    functionName: uvDataTimeWhiteListDebug
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - memcpy
    - uvDataTimeWhiteListToStr
    - tDebug
    - taosHashGetKey
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void uvDataTimeWhiteListDebug(SDataTimeWhiteListTab* pWrite)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:619,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:619,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:622,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:629,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:629,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:632,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:643,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - pWhite
    - user
    - plist
    - ver
    argTypes:
    - SDataTimeWhiteListTab*
    - char*
    - SUserDateTimeWhiteList*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 654
    functionName: uvDataTimeWhiteListAdd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - taosMemoryFree
    - strlen
    - taosHashPut
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvDataTimeWhiteListAdd(SDataTimeWhiteListTab* pWhite, char*
      user, SUserDateTimeWhiteList* plist, int64_t ver)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tIpStrToUint
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:665,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:666,1
    - Dst: createDefaultIp4Range
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:669,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:670,1
    - Dst: createDefaultIp6Range
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:673,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:674,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:679,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ip
    argTypes:
    - SIpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 681
    functionName: uvDataTimeWhiteListIsDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - tstrerror
    - tIpStrToUint
    - tError
    - createDefaultIp6Range
    - createDefaultIp4Range
    linkageType: ''
    returnType: bool
    signature: bool uvDataTimeWhiteListIsDefaultAddr(SIpAddr* ip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:686,1
    - Dst: isTimeInDateTimeWhiteList
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWhiteList
    argTypes:
    - SUserDateTimeWhiteList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 692
    functionName: uvListIsTimeInWhiteList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampSec
    - isTimeInDateTimeWhiteList
    linkageType: ''
    returnType: bool
    signature: bool uvListIsTimeInWhiteList(SUserDateTimeWhiteList* pWhiteList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:701,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:701,1
    - Dst: uvListIsTimeInWhiteList
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:716,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - pWhite
    - user
    - pIp
    - ver
    argTypes:
    - SDataTimeWhiteListTab*
    - char*
    - SIpAddr*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 717
    functionName: uvDataTimeWhiteListFilte
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosHashGet
    - uvListIsTimeInWhiteList
    linkageType: ''
    returnType: bool
    signature: bool uvDataTimeWhiteListFilte(SDataTimeWhiteListTab* pWhite, char*
      user, SIpAddr* pIp, int64_t ver)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosIpAddrIsEqual
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:723,1
    - Dst: uvDataTimeWhiteListFilte
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:727,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pWhite
    - pConn
    argTypes:
    - SDataTimeWhiteListTab*
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 728
    functionName: uvDataTimeWhiteListCheckConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosIpAddrIsEqual
    - uvDataTimeWhiteListFilte
    linkageType: ''
    returnType: bool
    signature: bool uvDataTimeWhiteListCheckConn(SDataTimeWhiteListTab* pWhite, SSvrConn*
      pConn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pWhite
    - pConn
    argTypes:
    - SDataTimeWhiteListTab*
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: uvDataTimeWhiteListSetVer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uvDataTimeWhiteListSetVer(SDataTimeWhiteListTab* pWhite, SSvrConn*
      pConn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:743,1
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:743,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:748,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:751,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:751,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:754,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:756,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:756,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:761,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:765,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:765,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:768,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:773,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:773,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:777,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pConn
    - pHead
    - pTransMsg
    argTypes:
    - SSvrConn*
    - STransMsgHead*
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 779
    functionName: uvPerfLog_receive
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - tGDebug
    - taosGetTimestampUs
    - tGTrace
    - transLabel
    - taosNtoh64
    - tGWarn
    linkageType: ''
    returnType: void
    signature: void uvPerfLog_receive(SSvrConn* pConn, STransMsgHead* pHead, STransMsg*
      pTransMsg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:785,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:787,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:790,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:793,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:797,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:799,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:801,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:803,1
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:811,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:813,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:815,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:815,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:816,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:823,1
    - Dst: uvStartSendRespImpl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:825,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:826,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - pConn
    - pHead
    argTypes:
    - SSvrConn*
    - STransMsgHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 830
    functionName: uvMayHandleReleaseReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tTrace
    - taosHashRemove
    - taosHashGet
    - tDebug
    - uvStartSendRespImpl
    - taosNtoh64
    - taosMemoryFree
    - transQueuePush
    - tError
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvMayHandleReleaseReq(SSvrConn* pConn, STransMsgHead* pHead)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:855,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:858,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:860,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:860,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:863,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:864,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:866,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:866,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:868,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:871,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - pConn
    - ppHead
    - msgLen
    argTypes:
    - SSvrConn*
    - STransMsgHead**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 877
    functionName: uvConnMayGetUserInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - htonl
    - memcpy
    - tError
    - ntohl
    - taosMemoryFree
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: bool
    signature: bool uvConnMayGetUserInfo(SSvrConn* pConn, STransMsgHead** ppHead,
      int32_t* msgLen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: uvWhiteListCheckConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:889,1
    - Dst: uvWhiteListSetConnVer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:891,1
    - Dst: uvDataTimeWhiteListCheckConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:896,1
    - Dst: uvDataTimeWhiteListSetVer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:898,1
    - Dst: IP_FORBIDDEN_SET_VAL
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:903,1
    - Dst: IP_FORBIDDEN_SET_VAL
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:906,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 879
    functionDepth: 5
    functionLinenumber: 879
    functionLinenumberEnd: 910
    functionName: uvCheckConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uvWhiteListSetConnVer
    - uvDataTimeWhiteListSetVer
    - uvDataTimeWhiteListCheckConn
    - uvWhiteListCheckConn
    - IP_FORBIDDEN_SET_VAL
    linkageType: ''
    returnType: int8_t
    signature: int8_t uvCheckConn(SSvrConn* pConn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:915,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pConn
    - pInfo
    argTypes:
    - SSvrConn*
    - SRpcConnInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 921
    functionName: uvSetConnInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void uvSetConnInfo(SSvrConn* pConn, SRpcConnInfo* pInfo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: transDumpFromBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:929,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:931,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:931,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:931,1
    - Dst: transDecompressMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:934,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:935,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:935,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:936,1
    - Dst: uvConnMayGetUserInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:940,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:941,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:941,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:944,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:945,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:945,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:945,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:948,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:948,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:952,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:952,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:955,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:956,1
    - Dst: uvCheckConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:960,1
    - Dst: uvMayHandleReleaseReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:962,1
    - Dst: transContLenFromMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:967,1
    - Dst: tGError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:974,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:974,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:974,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:978,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:978,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:987,1
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:990,1
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:991,1
    - Dst: uvPerfLog_receive
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:994,1
    - Dst: uvSetConnInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:997,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:999,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:999,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 922
    functionDepth: 6
    functionLinenumber: 922
    functionLinenumberEnd: 1003
    functionName: uvHandleReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uvConnMayGetUserInfo
    - htonl
    - uvSetConnInfo
    - taosNtoh64
    - transContLenFromMsg
    - uvCheckConn
    - TMSG_INFO
    - transAcquireExHandle
    - ntohl
    - uvMayHandleReleaseReq
    - uvPerfLog_receive
    - transDecompressMsg
    - tGError
    - tstrerror
    - transDumpFromBuffer
    - uvGetConnRefOfThrd
    - tTrace
    - transReleaseExHandle
    - transLabel
    - tDebug
    - taosMemoryFree
    - tError
    linkageType: ''
    returnType: bool
    signature: bool uvHandleReq(SSvrConn* pConn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1009,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1012,1
    - Dst: sslWrite
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1018,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1020,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1020,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1020,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1022,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1027,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1027,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1030
    functionName: uvSendAuthWithTLS
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - sslWrite
    - TAOS_CHECK_GOTO
    - transLabel
    - uv_strerror
    - tError
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvSendAuthWithTLS(SSvrConn* conn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1037,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1040,1
    - Dst: destroyConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1041,1
    - Dst: transSetReadOption
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1045,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1047,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1047,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1047,1
    - Dst: transReadComplete
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1054,1
    - Dst: uvHandleReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1055,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1056,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1056,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1059,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1065,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1065,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1067,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1075,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1075,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1075,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1078,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - cli
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1031
    functionDepth: 7
    functionLinenumber: 1031
    functionLinenumberEnd: 1080
    functionName: uvOnRecvCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tError
    - transSetReadOption
    - transReadComplete
    - destroyConn
    - uvHandleReq
    - transLabel
    - tDebug
    - transUnrefSrvHandle
    - tInfo
    - tstrerror
    - tWarn
    - uv_err_name
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: void
    signature: void uvOnRecvCb(uv_stream_t* cli, ssize_t nread, const uv_buf_t* buf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1088,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1091,1
    - Dst: destroyConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1092,1
    - Dst: transSetReadOption
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1096,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1098,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1098,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1098,1
    - Dst: sslRead
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1103,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1104,1
    - Dst: sslIsInited
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1107,1
    - Dst: saslAuthIsInited
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1107,1
    - Dst: saslConnHandleAuth
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1108,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1109,1
    - Dst: uvSendAuthWithTLS
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1115,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1116,1
    - Dst: sslIsInited
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1122,1
    - Dst: saslAuthIsInited
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1122,1
    - Dst: transReadComplete
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1123,1
    - Dst: uvHandleReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1124,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1125,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1125,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1128,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1138,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1138,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1139,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1141,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1145,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1145,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1145,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1149,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 3
    argNames:
    - cli
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1081
    functionDepth: 7
    functionLinenumber: 1081
    functionLinenumberEnd: 1151
    functionName: uvOnRecvCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - transSetReadOption
    - tWarn
    - STUB_RAND_NETWORK_ERR
    - uvHandleReq
    - tInfo
    - saslConnHandleAuth
    - sslRead
    - saslAuthIsInited
    - transUnrefSrvHandle
    - tstrerror
    - uvSendAuthWithTLS
    - uv_err_name
    - sslIsInited
    - transReadComplete
    - destroyConn
    - transLabel
    - tDebug
    - tError
    linkageType: ''
    returnType: void
    signature: void uvOnRecvCbSSL(uv_stream_t* cli, ssize_t nread, const uv_buf_t*
      buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1154,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1156,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1158
    functionName: uvAllocConnBufferCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - taosMemoryCalloc
    - tError
    linkageType: ''
    returnType: void
    signature: void uvAllocConnBufferCb(uv_handle_t* handle, size_t suggested_size,
      uv_buf_t* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1164
    functionName: uvOnTimeoutCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tError
    linkageType: ''
    returnType: void
    signature: void uvOnTimeoutCb(uv_timer_t* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1173,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1173,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1173,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1175,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1178,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1178,1
    - Dst: sslIsInited
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1179,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1180,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1180,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1166
    functionDepth: 2
    functionLinenumber: 1166
    functionLinenumberEnd: 1190
    functionName: uvOnSendCbSSL
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - sslIsInited
    - transLabel
    - tDebug
    - taosMemoryFree
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void uvOnSendCbSSL(uv_write_t* req, int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1192,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1198,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1199,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1201,1
    - Dst: sslBufferUnref
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1203,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1206,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1206,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1209,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1210,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1211,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1213,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1215,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1215,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1217,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1220,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1221,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1222,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1224,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1226,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1226,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1227,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1228,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1232,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1235
    functionName: uvOnSendCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - tTrace
    - QUEUE_INIT
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - tGDebug
    - QUEUE_IS_EMPTY
    - destroySmsg
    - freeWReqToWQ
    - QUEUE_MOVE
    - transLabel
    - transUnrefSrvHandle
    - sslBufferUnref
    - uv_err_name
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: void
    signature: void uvOnSendCb(uv_write_t* req, int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1237,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1239,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1241,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1241,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1243,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1244,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1246,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1249
    functionName: uvOnPipeWriteCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tTrace
    - uv_is_closing
    - uv_close
    - uv_strerror
    - taosMemoryFree
    - tError
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: void
    signature: void uvOnPipeWriteCb(uv_write_t* req, int status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1255,1
    - Dst: transHeadFromCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1261,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1264,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1266,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1267,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1279,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1280,1
    - Dst: transMsgLenFromCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1283,1
    - Dst: taosIpAddrIsEqual
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1286,1
    - Dst: transCompressMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1288,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1289,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1293,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1293,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1294,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1299,1
    - Dst: transDoCrc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - smsg
    - wb
    argTypes:
    - SSvrRespMsg*
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1251
    functionDepth: 2
    functionLinenumber: 1251
    functionLinenumberEnd: 1301
    functionName: uvPrepareSendData
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - htonl
    - rpcMallocCont
    - transMsgLenFromCont
    - tGDebug
    - taosHton64
    - taosIpAddrIsEqual
    - transHeadFromCont
    - transLabel
    - transDoCrc
    - TAOS_UNUSED
    - transCompressMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvPrepareSendData(SSvrRespMsg* smsg, uv_buf_t* wb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1305,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1306,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1306,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1312,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1322,1
    - Dst: transQueuePop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1323,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1324,1
    - Dst: uvPrepareSendData
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1326,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - pConn
    - ppBuf
    - bufNum
    - toSendQ
    argTypes:
    - SSvrConn*
    - uv_buf_t**
    - int32_t*
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1303
    functionDepth: 3
    functionLinenumber: 1303
    functionLinenumberEnd: 1344
    functionName: uvBuildToSendData
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - tTrace
    - uvPrepareSendData
    - transLabel
    - QUEUE_PUSH
    - transQueueSize
    - transQueuePop
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvBuildToSendData(SSvrConn* pConn, uv_buf_t** ppBuf, int32_t*
      bufNum, queue* toSendQ)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1352,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1354,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1354,1
    - Dst: allocWReqFromWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1358,1
    - Dst: uError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1360,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1360,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1360,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1361,1
    - Dst: uvBuildToSendData
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1368,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1370,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1370,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1374,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1374,1
    - Dst: transRefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1378,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1380,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1382,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1382,1
    - Dst: sslWrite
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1386,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1391,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1392,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1393,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1394,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1395,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1397,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - smsg
    argTypes:
    - SSvrRespMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1346
    functionDepth: 4
    functionLinenumber: 1346
    functionLinenumberEnd: 1401
    functionName: uvStartSendRespImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - QUEUE_HEAD
    - freeWReqToWQ
    - transQueueSize
    - transRefSrvHandle
    - allocWReqFromWQ
    - QUEUE_DATA
    - uvBuildToSendData
    - QUEUE_REMOVE
    - QUEUE_IS_EMPTY
    - transUnrefSrvHandle
    - tstrerror
    - uv_err_name
    - uError
    - tTrace
    - sslWrite
    - destroySmsg
    - transLabel
    - tDebug
    - uv_write
    - tError
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE uvStartSendRespImpl(SSvrRespMsg* smsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1407,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1409,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1409,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1412,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1413,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1415,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1415,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SSvrRespMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1402
    functionDepth: 2
    functionLinenumber: 1402
    functionLinenumberEnd: 1421
    functionName: uvMayHandleReleaseResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - transFreeMsg
    - taosHashRemove
    - taosHashGet
    - transLabel
    - tError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvMayHandleReleaseResp(SSvrRespMsg* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uvMayHandleReleaseResp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1425,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1426,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1430,1
    - Dst: uvStartSendRespImpl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - smsg
    argTypes:
    - SSvrRespMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1422
    functionDepth: 5
    functionLinenumber: 1422
    functionLinenumberEnd: 1433
    functionName: uvStartSendResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uvMayHandleReleaseResp
    - destroySmsg
    - transQueuePush
    - uvStartSendRespImpl
    linkageType: ''
    returnType: void
    signature: void uvStartSendResp(SSvrRespMsg* smsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - smsg
    argTypes:
    - SSvrRespMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1435
    functionDepth: 2
    functionLinenumber: 1435
    functionLinenumberEnd: 1441
    functionName: destroySmsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 3
    functionsReached:
    - transFreeMsg
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE destroySmsg(SSvrRespMsg* smsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - smsg
    - param
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1442
    functionDepth: 3
    functionLinenumber: 1442
    functionLinenumberEnd: 1442
    functionName: destroySmsgWrapper
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - destroySmsg
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE destroySmsgWrapper(void* smsg, void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1445,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1446,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1447,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1448,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1449,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1451,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1453,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1457
    functionName: destroyAllConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - tTrace
    - QUEUE_INIT
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - transUnrefSrvHandle
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void destroyAllConn(SWorkThrd* pThrd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1464,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1467,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1468,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1471,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1473,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1474,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1477,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1478,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1479,1
    - Dst: QUEUE_DATA
      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: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1497,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1497,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1499,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1500,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1500,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1501,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1505,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1505,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1458
    functionDepth: 3
    functionLinenumber: 1458
    functionLinenumberEnd: 1509
    functionName: uvWorkerAsyncCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - tTrace
    - QUEUE_INIT
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - tError
    - transAcquireExHandle
    - transReleaseExHandle
    - destroySmsg
    - QUEUE_MOVE
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - uvGetConnRefOfThrd
    - QUEUE_IS_EMPTY
    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:1511,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1514
    functionName: uvWalkCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_is_closing
    - uv_close
    linkageType: ''
    returnType: void
    signature: void uvWalkCb(uv_handle_t* handle, void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1518
    functionName: uvFreeCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void uvFreeCb(uv_handle_t* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1522,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1524
    functionName: uvAcceptAsyncCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_walk
    - tDebug
    linkageType: ''
    returnType: void
    signature: void uvAcceptAsyncCb(uv_async_t* async)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1528,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1528,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1530,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_shutdown_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1532
    functionName: uvShutDownCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_err_name
    - taosMemoryFree
    - uv_close
    - tDebug
    linkageType: ''
    returnType: void
    signature: void uvShutDownCb(uv_shutdown_t* req, int status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1541,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1541,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1541,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1543,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1545,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1545,1
    - Dst: saslBufferClear
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1547,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1534
    functionDepth: 2
    functionLinenumber: 1534
    functionLinenumberEnd: 1552
    functionName: uvOnSendAuthWithTLSCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - transLabel
    - tDebug
    - saslBufferClear
    - taosMemoryFree
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void uvOnSendAuthWithTLSCb(uv_write_t* req, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - uv_work_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1558
    functionName: uvWorkDoTask
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tTrace
    linkageType: ''
    returnType: void
    signature: void uvWorkDoTask(uv_work_t* req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1562,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1567,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_work_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1569
    functionName: uvWorkAfterTask
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void uvWorkAfterTask(uv_work_t* req, int status)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1575,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1577,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1580,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1582,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1582,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1583,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1586,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1590,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1592,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1597,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1599,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1599,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1604,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1604,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1608,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1610,1
    - Dst: uv_write2
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1611,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1613,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1614,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1614,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1615,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1617,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1617,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - stream
    - status
    argTypes:
    - uv_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1621
    functionName: uvOnAcceptCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tTrace
    - uv_tcp_init
    - uv_accept
    - uv_close
    - uv_is_closing
    - uv_write2
    - container_of
    - taosMemoryFree
    - uv_buf_init
    - TAOS_UNUSED
    - tError
    - tstrerror
    - strlen
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void uvOnAcceptCb(uv_stream_t* stream, int status)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1625,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1626,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1629,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1633,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1636,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1639,1
    - Dst: inet_ntop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1640,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1641,1
    - Dst: inet_ntop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1647,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - addr
    - ip
    argTypes:
    - struct sockaddr*
    - SIpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1622
    functionDepth: 1
    functionLinenumber: 1622
    functionLinenumberEnd: 1654
    functionName: uvGetSockInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uInfo
    - memcpy
    - inet_ntop
    - ntohs
    - IN6_IS_ADDR_V4MAPPED
    linkageType: ''
    returnType: void
    signature: void uvGetSockInfo(struct sockaddr* addr, SIpAddr* ip)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1657,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1660,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1660,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1663,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1663,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1664,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1665,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1669,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1669,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1669,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1670,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1671,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1672,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1675,1
    - Dst: uv_pipe_pending_count
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1680,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1681,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1686,1
    - Dst: createConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1691,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1697,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1699,1
    - Dst: uv_fileno
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1699,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1700,1
    - Dst: uv_tcp_getpeername
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1705,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1706,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1706,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1707,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1712,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1713,1
    - Dst: uv_tcp_getsockname
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1719,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1720,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1720,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1721,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1725,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1726,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1730,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1730,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1731,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1731,1
    - Dst: uvGetSockInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1733,1
    - Dst: uvGetSockInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1734,1
    - Dst: transSetConnOption
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1738,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1740,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1740,1
    - Dst: sslSetMode
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1748,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1751,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1753,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1753,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1754,1
    - Dst: sslIsInited
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1758,1
    - Dst: saslAuthIsInited
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1758,1
    - Dst: saslConnHandleAuth
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1759,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1761,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1761,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1762,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1767,1
    - Dst: uvSendAuthWithTLS
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1771,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1773,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1773,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1774,1
    - Dst: saslAuthIsInited
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1778,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1779,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1781,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1786,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1786,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1787,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 99
    argCount: 3
    argNames:
    - q
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1655
    functionDepth: 3
    functionLinenumber: 1655
    functionLinenumberEnd: 1789
    functionName: uvOnConnectionCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_tcp_getpeername
    - TAOS_UNUSED
    - tWarn
    - uv_read_start
    - STUB_RAND_NETWORK_ERR
    - uvGetSockInfo
    - uv_pipe_pending_count
    - createConn
    - saslConnHandleAuth
    - uv_close
    - saslAuthIsInited
    - uv_strerror
    - sslSetMode
    - transUnrefSrvHandle
    - tstrerror
    - uvSendAuthWithTLS
    - uv_err_name
    - tTrace
    - uv_accept
    - uv_tcp_getsockname
    - sslIsInited
    - transSockInfo2Str
    - tDebug
    - strncmp
    - taosMemoryFree
    - transSetConnOption
    - tError
    - strlen
    - uv_fileno
    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:1793,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1795,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1791
    functionDepth: 1
    functionLinenumber: 1791
    functionLinenumberEnd: 1798
    functionName: transAcceptThread
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_run
    - setThreadName
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void * transAcceptThread(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1800,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1805,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1806,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - connect
    - status
    argTypes:
    - uv_connect_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1799
    functionDepth: 1
    functionLinenumber: 1799
    functionLinenumberEnd: 1807
    functionName: uvOnPipeConnectionCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1810,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1815,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1816,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1816,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1821,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1823,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1823,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1827,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1829,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1829,1
    - Dst: uv_pipe_open
      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: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1835,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1842,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1845,1
    - Dst: transAsyncPoolCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1847,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1849,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1849,1
    - Dst: uv_pipe_connect
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1853,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1856,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1858,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1858,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - pThrd
    - pipeName
    argTypes:
    - SWorkThrd*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1808
    functionDepth: 2
    functionLinenumber: 1808
    functionLinenumberEnd: 1863
    functionName: addHandleToWorkloop
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_pipe_init
    - taosMemoryMalloc
    - QUEUE_INIT
    - uv_pipe_open
    - uv_pipe_connect
    - transAsyncPoolCreate
    - tError
    - tstrerror
    - uv_loop_init
    - uv_read_start
    - uv_err_name
    linkageType: ''
    returnType: int32_t
    signature: int32_t addHandleToWorkloop(SWorkThrd* pThrd, char* pipeName)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1870,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1871,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1871,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1876,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1878,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1878,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1882,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1884,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1884,1
    - Dst: uv_ip6_addr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1891,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1892,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1892,1
    - Dst: uv_tcp_bind
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1895,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1896,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1896,1
    - Dst: uv_fileno
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1902,1
    - Dst: setsockopt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1904,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1905,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1905,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1907,1
    - Dst: uv_fileno
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1915,1
    - Dst: setsockopt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1917,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1918,1
    - Dst: WSAGetLastError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1918,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1920,1
    - Dst: uv_ip4_addr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1926,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1927,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1927,1
    - Dst: uv_tcp_bind
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1931,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1932,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1932,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1935,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1937,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1938,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1938,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1865
    functionDepth: 1
    functionLinenumber: 1865
    functionLinenumberEnd: 1942
    functionName: addHandleToAcceptloop
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_tcp_init
    - uv_async_init
    - strerror
    - WSAGetLastError
    - uv_ip4_addr
    - setsockopt
    - uv_tcp_bind
    - tError
    - tstrerror
    - tWarn
    - tInfo
    - uv_fileno
    - taosMemoryCalloc
    - uv_listen
    - uv_err_name
    - uv_ip6_addr
    linkageType: ''
    returnType: int32_t
    signature: int32_t addHandleToAcceptloop(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1946,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1949,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1951,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1944
    functionDepth: 1
    functionLinenumber: 1944
    functionLinenumberEnd: 1955
    functionName: transWorkerThread
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_run
    - tWarn
    - setThreadName
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void * transWorkerThread(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1957,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1956
    functionDepth: 3
    functionLinenumber: 1956
    functionLinenumberEnd: 1959
    functionName: uvDestroyResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - destroySmsg
    linkageType: ''
    returnType: void
    signature: void uvDestroyResp(void* e)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1967,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1969,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1972,1
    - Dst: transQueueInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1974,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1975,1
    - Dst: transInitBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1978,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1979,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1985,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1987,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1992,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1992,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1994,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1997,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1997,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1999,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2004,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2005,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2005,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2007,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2007,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2009,1
    - Dst: initWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2012,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2013,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2017,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2019,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2023,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2025,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2028,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2030,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2030,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2030,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2031,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2034,1
    - Dst: transTlsCxtMgtGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2042,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2043,1
    - Dst: sslInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2045,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2046,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2055,1
    - Dst: saslConnCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2055,1
    - Dst: transRefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2059,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2064,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2064,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2065,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2065,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2069,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2070,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2071,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2072,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2073,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2074,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2076,1
    - Dst: sslDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2079,1
    - Dst: saslConnCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2083,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2086,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2089,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2089,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2089,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 98
    argCount: 1
    argNames:
    - hThrd
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 1960
    functionDepth: 3
    functionLinenumber: 1960
    functionLinenumberEnd: 2091
    functionName: createConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - QUEUE_INIT
    - TAOS_CHECK_GOTO
    - destroyWQ
    - transRefSrvHandle
    - initWQ
    - transAddExHandle
    - QUEUE_REMOVE
    - transAcquireExHandle
    - transTlsCxtMgtGet
    - taosHashInit
    - uv_tcp_init
    - taosGetDefaultHashFunction
    - transQueueDestroy
    - taosMemoryCalloc
    - saslConnCreate
    - uv_strerror
    - QUEUE_PUSH
    - transRemoveExHandle
    - tstrerror
    - transDestroyBuffer
    - transQueueInit
    - uvGetConnRefOfThrd
    - taosMemoryMalloc
    - tTrace
    - transReleaseExHandle
    - sslInit
    - transLabel
    - taosMemoryFree
    - taosHashCleanup
    - saslConnCleanup
    - tError
    - transInitBuffer
    - sslDestroy
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE * createConn(void* hThrd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2099,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2100,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - clear
    argTypes:
    - SSvrConn*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2093
    functionDepth: 1
    functionLinenumber: 2093
    functionLinenumberEnd: 2104
    functionName: destroyConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - tTrace
    - uv_is_closing
    - uv_close
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE destroyConn(SSvrConn* conn, bool clear)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2111,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2114,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2116,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2117,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSvrConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2106
    functionDepth: 1
    functionLinenumber: 2106
    functionLinenumberEnd: 2123
    functionName: uvConnDestroyAllState
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - taosHashGetKey
    - taosHashIterate
    - tTrace
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void uvConnDestroyAllState(SSvrConn* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2132,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2132,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2133,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2133,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2136,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2136,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2138,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2140,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2142,1
    - Dst: uvConnDestroyAllState
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2144,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2146,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2148,1
    - Dst: sslDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2149,1
    - Dst: saslConnCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2154,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2155,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2155,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2156,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2158,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2159,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2124
    functionDepth: 3
    functionLinenumber: 2124
    functionLinenumberEnd: 2162
    functionName: uvDestroyConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tTrace
    - QUEUE_REMOVE
    - transReleaseExHandle
    - QUEUE_IS_EMPTY
    - uv_walk
    - transLabel
    - tDebug
    - destroyWQ
    - uvConnDestroyAllState
    - taosMemoryFree
    - saslConnCleanup
    - transRemoveExHandle
    - transDestroyBuffer
    - transQueueDestroy
    - uvGetConnRefOfThrd
    - sslDestroy
    linkageType: ''
    returnType: void
    signature: void uvDestroyConn(uv_handle_t* handle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2165,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2165,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2169,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2172,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2174,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2174,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2177,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2179,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2179,1
    - Dst: uv_is_readable
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2183,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2185,1
    - Dst: uv_is_writable
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2188,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2190,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2194,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - uv_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2200
    functionName: uvPipeListenCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_pipe_init
    - uv_is_readable
    - uv_is_closing
    - uv_accept
    - uv_is_writable
    - container_of
    - tError
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void uvPipeListenCb(uv_stream_t* handle, int status)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2205,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2208,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2208,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2221,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2222,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2223,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2229,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2231,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2231,1
    - Dst: taosValidIpAndPort
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2236,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2237,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2238,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2238,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2246,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2248,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2248,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2252,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2252,1
    - Dst: GetCurrentProcessId
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2252,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2254,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2254,1
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2255,1
    - Dst: uv_pipe_bind
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2258,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2260,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2260,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2264,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2266,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2266,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2271,1
    - Dst: uvWhiteListCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2275,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2277,1
    - Dst: uvDataTimeWhiteListCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2282,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2284,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2288,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2294,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2296,1
    - Dst: addHandleToWorkloop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2304,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2308,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2310,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2313,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2321,1
    - Dst: uvWhiteListCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2330,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2332,1
    - Dst: uvDataTimeWhiteListCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2337,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2339,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2344,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2350,1
    - Dst: uv_socketpair
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2357,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2358,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2358,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2363,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2365,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2365,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2370,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2372,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2372,1
    - Dst: addHandleToWorkloop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2382,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2386,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2388,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2391,1
    - Dst: addHandleToAcceptloop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2397,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2401,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2403,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2405,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2406,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2406,1
    - Dst: destroyWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2418,1
    - Dst: transCloseServer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2421,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 195
    argCount: 5
    argNames:
    - addr
    - label
    - numOfThreads
    - fp
    - pInit
    argTypes:
    - SIpAddr*
    - char*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2202
    functionDepth: 3
    functionLinenumber: 2202
    functionLinenumberEnd: 2424
    functionName: transInitServer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - destroyWorkThrdObj
    - addHandleToAcceptloop
    - uvDataTimeWhiteListCreate
    - snprintf
    - uv_listen
    - destroyWorkThrd
    - uv_pipe_open
    - TAOS_SYSTEM_ERROR
    - taosSafeRand
    - uv_pipe_bind
    - addHandleToWorkloop
    - transCloseServer
    - uvWhiteListCreate
    - taosMemoryCalloc
    - uv_loop_init
    - uv_pipe_init
    - taosValidIpAndPort
    - terrstr
    - GetCurrentProcessId
    - tstrerror
    - uv_socketpair
    - taosThreadCreate
    - uv_err_name
    - taosGetSelfPthreadId
    - transOpenRefMgt
    - taosMemoryMalloc
    - tDebug
    - tError
    linkageType: ''
    returnType: void
    signature: void * transInitServer(SIpAddr* addr, char* label, int numOfThreads,
      void* fp, void* pInit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2428,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2429,1
    - Dst: destroyAllConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2431,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2426
    functionDepth: 2
    functionLinenumber: 2426
    functionLinenumberEnd: 2434
    functionName: uvHandleQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uv_walk
    - destroyAllConn
    - taosMemoryFree
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void uvHandleQuit(SSvrRespMsg* msg, SWorkThrd* thrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2435
    functionDepth: 0
    functionLinenumber: 2435
    functionLinenumberEnd: 2435
    functionName: uvHandleRelease
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uvHandleRelease(SSvrRespMsg* msg, SWorkThrd* thrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2439,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2439,1
    - Dst: uvStartSendResp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2437
    functionDepth: 6
    functionLinenumber: 2437
    functionLinenumberEnd: 2441
    functionName: uvHandleResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uvStartSendResp
    - tTrace
    - transLabel
    linkageType: ''
    returnType: void
    signature: void uvHandleResp(SSvrRespMsg* msg, SWorkThrd* thrd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2447,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2447,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2450,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2452,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2455,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SSvrRespMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2443
    functionDepth: 2
    functionLinenumber: 2443
    functionLinenumberEnd: 2458
    functionName: uvHandleStateReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - transFreeMsg
    - taosHashGet
    - transLabel
    - tDebug
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t uvHandleStateReq(SSvrRespMsg* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2461,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2461,1
    - Dst: uvHandleStateReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2462,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2459
    functionDepth: 3
    functionLinenumber: 2459
    functionLinenumberEnd: 2464
    functionName: uvHandleRegister
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - transLabel
    - taosMemoryFree
    - uvHandleStateReq
    - 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:2469,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2471,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2480,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2482,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2482,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2487,1
    - Dst: uvWhiteListAdd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2488,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2490,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2499,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2499,1
    - Dst: tFreeSUpdateIpWhiteReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2501,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2502,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2466
    functionDepth: 5
    functionLinenumber: 2466
    functionLinenumberEnd: 2504
    functionName: uvHandleUpdateIpWhiteList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - tError
    - uvWhiteListAdd
    - tDebug
    - tFreeSUpdateIpWhiteReq
    - taosMemoryFree
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void uvHandleUpdateIpWhiteList(SSvrRespMsg* msg, SWorkThrd* thrd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2512,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2514,1
    - Dst: cloneSUserDateTimeWhiteList
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2522,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2523,1
    - Dst: uvDataTimeWhiteListAdd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2525,1
    - Dst: tFreeSUserDateTimeWhiteList
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2527,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2528,1
    - Dst: uvDataTimeWhiteListDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2532,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2537,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2537,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2541,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2541,1
    - Dst: tFreeSRetrieveDateTimeWhiteListRsp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2543,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2544,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2506
    functionDepth: 2
    functionLinenumber: 2506
    functionLinenumberEnd: 2546
    functionName: uvHandleUpdateDataTimeWhiteList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - uvDataTimeWhiteListAdd
    - tDebug
    - tFreeSUserDateTimeWhiteList
    - uvDataTimeWhiteListDebug
    - taosMemoryFree
    - tError
    - tstrerror
    - cloneSUserDateTimeWhiteList
    - tFreeSRetrieveDateTimeWhiteListRsp
    linkageType: ''
    returnType: void
    signature: void uvHandleUpdateDataTimeWhiteList(SSvrRespMsg* msg, SWorkThrd* thrd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uvHandleUpdateIpWhiteList
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2550,1
    - Dst: uvHandleUpdateDataTimeWhiteList
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2552,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2554,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2548
    functionDepth: 6
    functionLinenumber: 2548
    functionLinenumberEnd: 2557
    functionName: uvHandleUpdate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - uvHandleUpdateDataTimeWhiteList
    - taosMemoryFree
    - uvHandleUpdateIpWhiteList
    - tError
    linkageType: ''
    returnType: void
    signature: void uvHandleUpdate(SSvrRespMsg* msg, SWorkThrd* thrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2562
    functionName: uvHandleFreeById
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uvHandleFreeById(SSvrRespMsg* msg, SWorkThrd* thrd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transDoReloadTlsConfig
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2567,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2569,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2569,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2571,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2571,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2564
    functionDepth: 3
    functionLinenumber: 2564
    functionLinenumberEnd: 2576
    functionName: uvHandleReloadTlsConfig
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - transLabel
    - tDebug
    - taosMemoryFree
    - tInfo
    - transDoReloadTlsConfig
    linkageType: ''
    returnType: void
    signature: void uvHandleReloadTlsConfig(SSvrRespMsg* msg, SWorkThrd* thrd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2582,1
    - Dst: uvWhiteListDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2583,1
    - Dst: uvDataTimeWhiteListDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2584,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2585,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2578
    functionDepth: 2
    functionLinenumber: 2578
    functionLinenumberEnd: 2588
    functionName: destroyWorkThrdObj
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - uvWhiteListDestroy
    - taosCloseRef
    - transAsyncPoolDestroy
    - taosMemoryFree
    - uvDataTimeWhiteListDestroy
    linkageType: ''
    returnType: void
    signature: void destroyWorkThrdObj(SWorkThrd* pThrd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sendQuitToWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2594,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2595,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2596,1
    - Dst: SRV_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2599,1
    - Dst: TRANS_DESTROY_ASYNC_POOL_MSG
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2600,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2589
    functionDepth: 3
    functionLinenumber: 2589
    functionLinenumberEnd: 2603
    functionName: destroyWorkThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - sendQuitToWorkThrd
    - destroyWorkThrdObj
    - TRANS_DESTROY_ASYNC_POOL_MSG
    - SRV_RELEASE_UV
    - tError
    - taosThreadJoin
    linkageType: ''
    returnType: void
    signature: void destroyWorkThrd(SWorkThrd* pThrd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2605,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2607,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2607,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2611,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2612,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2604
    functionDepth: 2
    functionLinenumber: 2604
    functionLinenumberEnd: 2613
    functionName: sendQuitToWorkThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - tError
    - tDebug
    - TAOS_UNUSED
    - tstrerror
    - transAsyncSend
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void sendQuitToWorkThrd(SWorkThrd* pThrd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2620,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2621,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2621,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2622,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2623,1
    - Dst: SRV_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2626,1
    - Dst: destroyWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2628,1
    - Dst: SRV_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2631,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2634,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2635,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2636,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2640,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2643,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2615
    functionDepth: 4
    functionLinenumber: 2615
    functionLinenumberEnd: 2646
    functionName: transCloseServer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - uv_async_send
    - tDebug
    - taosMemoryFree
    - TAOS_UNUSED
    - SRV_RELEASE_UV
    - tError
    - destroyWorkThrd
    - taosThreadJoin
    linkageType: ''
    returnType: void
    signature: void transCloseServer(void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2655
      start: 2648
    functionDepth: 1
    functionLinenumber: 2648
    functionLinenumberEnd: 2655
    functionName: transRefSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - tTrace
    linkageType: ''
    returnType: void
    signature: void transRefSrvHandle(void* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2663,1
    - Dst: destroyConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2657
    functionDepth: 2
    functionLinenumber: 2657
    functionLinenumberEnd: 2667
    functionName: transUnrefSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 6
    functionsReached:
    - tTrace
    - destroyConn
    linkageType: ''
    returnType: void
    signature: void transUnrefSrvHandle(void* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_CHECK_HANDLE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2676,1
    - Dst: ASYNC_ERR_JRET
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2679,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2689,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2698,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2698,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2698,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2700,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2701,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2702,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2706,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2709,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2710,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2669
    functionDepth: 3
    functionLinenumber: 2669
    functionLinenumberEnd: 2715
    functionName: transReleaseSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - transReleaseExHandle
    - destroySmsg
    - ASYNC_ERR_JRET
    - transLabel
    - tDebug
    - ASYNC_CHECK_HANDLE
    - transAsyncSend
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transReleaseSrvHandle(void* handle, int32_t status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2721,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2722,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2728,1
    - Dst: ASYNC_CHECK_HANDLE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2732,1
    - Dst: ASYNC_ERR_JRET
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2741,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2743,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2753,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2754,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2755,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2756,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2760,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2764,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2765,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2766,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2769,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2772
      start: 2717
    functionDepth: 3
    functionLinenumber: 2717
    functionLinenumberEnd: 2772
    functionName: transSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - tTrace
    - transReleaseExHandle
    - destroySmsg
    - ASYNC_ERR_JRET
    - tGTrace
    - tDebug
    - ASYNC_CHECK_HANDLE
    - transAsyncSend
    - taosMemoryCalloc
    - rpcFreeCont
    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:2778,1
    - Dst: ASYNC_ERR_JRET
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2789,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2791,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2801,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2801,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2802,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2803,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2804,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2808,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2812,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2813,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2814,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2817,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2773
    functionDepth: 3
    functionLinenumber: 2773
    functionLinenumberEnd: 2820
    functionName: transRegisterMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - transReleaseExHandle
    - destroySmsg
    - ASYNC_ERR_JRET
    - transLabel
    - tDebug
    - ASYNC_CHECK_HANDLE
    - transAsyncSend
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t transRegisterMsg(const STransMsg* msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transInstAcquire
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2823,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2823,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2830,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2835,1
    - Dst: cloneSUpdateIpWhiteReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2842,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2844,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2852,1
    - Dst: tFreeSUpdateIpWhiteReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2854,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2855,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2856,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2862,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2862,1
    - Dst: transInstRelease
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2864,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - thandle
    - arg
    - func
    argTypes:
    - void*
    - void*
    - FilteFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2822
    functionDepth: 3
    functionLinenumber: 2822
    functionLinenumberEnd: 2866
    functionName: transSetIpWhiteList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - transInstAcquire
    - transGetInstMgt
    - tError
    - cloneSUpdateIpWhiteReq
    - tDebug
    - taosMemoryFree
    - transInstRelease
    - tFreeSUpdateIpWhiteReq
    - tstrerror
    - transAsyncSend
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSetIpWhiteList(void* thandle, void* arg, FilteFunc* func)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2869,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2869,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2876,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2881,1
    - Dst: cloneDataTimeWhiteListRsp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2888,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2890,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2898,1
    - Dst: tFreeSRetrieveDateTimeWhiteListRsp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2900,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2901,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2902,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2906,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2906,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2909,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2909,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - thandle
    - arg
    - func
    argTypes:
    - void*
    - void*
    - FilteFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2868
    functionDepth: 2
    functionLinenumber: 2868
    functionLinenumberEnd: 2912
    functionName: transSetTimeIpWhiteList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - transGetInstMgt
    - transAcquireExHandle
    - transReleaseExHandle
    - tDebug
    - taosMemoryFree
    - tError
    - tstrerror
    - transAsyncSend
    - tFreeSRetrieveDateTimeWhiteListRsp
    - taosMemoryCalloc
    - cloneDataTimeWhiteListRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSetTimeIpWhiteList(void* thandle, void* arg, FilteFunc*
      func)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2917,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2917,1
    - Dst: transTlsCxtMgtCreateNewCxt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2922,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2923,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2928,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2936,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2938,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2945,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2945,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2947,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2947,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2914
    functionDepth: 3
    functionLinenumber: 2914
    functionLinenumberEnd: 2950
    functionName: transReloadServerTlsConfig
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached:
    - transGetInstMgt
    - TAOS_CHECK_GOTO
    - transAcquireExHandle
    - transReleaseExHandle
    - transTlsCxtMgtCreateNewCxt
    - taosMemoryFree
    - tError
    - tstrerror
    - transAsyncSend
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t transReloadServerTlsConfig(void* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2953
    functionDepth: 1
    functionLinenumber: 2953
    functionLinenumberEnd: 2956
    functionName: transReleaseSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached:
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t transReleaseSrvHandle(void *handle, int32_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2957
    functionDepth: 0
    functionLinenumber: 2957
    functionLinenumberEnd: 2957
    functionName: transRefSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transRefSrvHandle(void *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2959
    functionDepth: 0
    functionLinenumber: 2959
    functionLinenumberEnd: 2959
    functionName: transUnrefSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transUnrefSrvHandle(void *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcIsReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2962,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2966,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2970,1
    - Dst: transSendResp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2960
    functionDepth: 3
    functionLinenumber: 2960
    functionLinenumberEnd: 2974
    functionName: transSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - rpcIsReq
    - transSendResp
    - taosVersionStrToInt
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSendResponse(STransMsg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2975
    functionDepth: 3
    functionLinenumber: 2975
    functionLinenumberEnd: 2978
    functionName: transRegisterMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t transRegisterMsg(const STransMsg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - thandle
    - arg
    - func
    argTypes:
    - void*
    - void*
    - FilteFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 2979
    functionName: transSetIpWhiteList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSetIpWhiteList(void *thandle, void *arg, FilteFunc *func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pAddr
    - label
    - numOfThreads
    - fp
    - pInit
    argTypes:
    - SIpAddr*
    - char*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 2981
    functionName: transInitServer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *transInitServer(SIpAddr *pAddr, char *label, int numOfThreads,
      void *fp, void *pInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2982
    functionDepth: 0
    functionLinenumber: 2982
    functionLinenumberEnd: 2985
    functionName: transCloseServer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transCloseServer(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:121,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:128,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:141,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 7
    argNames:
    - server
    - uri
    - contLen
    - qid
    - pHead
    - headLen
    - flag
    argTypes:
    - char*
    - char*
    - int32_t
    - char*
    - char*
    - int32_t
    - EHttpCompFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 165
    functionName: taosBuildHttpHeader
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosBuildHttpHeader(const char* server, const char* uri, int32_t
      contLen, const char* qid, char* pHead,\n                                   int32_t
      headLen,\n\n                                   EHttpCompFlag flag)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:170,1
    - Dst: deflateInit2
      Src: /src/tdengine/source/libs/transport/src/thttp.c:181,1
    - Dst: deflate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:192,1
    - Dst: deflate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:205,1
    - Dst: deflateEnd
      Src: /src/tdengine/source/libs/transport/src/thttp.c:214,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:228,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:231,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 2
    argNames:
    - pSrc
    - srcLen
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 233
    functionName: taosCompressHttpRport
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - deflateInit2
    - taosMemoryMalloc
    - memcpy
    - deflate
    - deflateEnd
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCompressHttpRport(char* pSrc, int32_t srcLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetIpv4FromFqdn
      Src: /src/tdengine/source/libs/transport/src/thttp.c:237,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:239,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:239,1
    - Dst: taosInetNtoa
      Src: /src/tdengine/source/libs/transport/src/thttp.c:243,1
    - Dst: uv_ip4_addr
      Src: /src/tdengine/source/libs/transport/src/thttp.c:244,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:246,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/thttp.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - server
    - port
    - dest
    argTypes:
    - char*
    - uint16_t
    - struct sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: taosBuildDstAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - tError
    - taosInetNtoa
    - uv_ip4_addr
    - tstrerror
    - taosGetIpv4FromFqdn
    - uv_err_name
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE taosBuildDstAddr(const char* server, uint16_t port, struct
      sockaddr_in* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/transport/src/thttp.c:254,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:255,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/src/thttp.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: httpThread
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - uv_run
    - setThreadName
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void * httpThread(void* arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/transport/src/thttp.c:261,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:263,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:269,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:274,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/thttp.c:282,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/thttp.c:283,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:284,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:286,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/thttp.c:292,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:294,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    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**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 309
    functionName: httpCreateMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - httpDestroyMsg
    - taosMemoryMalloc
    - memcpy
    - atomic_fetch_add_64
    - tError
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t httpCreateMsg(const char* server, const char* uri, uint16_t
      port, char* pCont, int32_t contLen,\n                             EHttpCompFlag
      flag, int64_t chanId, const char* qid, SHttpMsg** httpMsg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:313,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:314,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:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SHttpMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: httpDestroyMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void httpDestroyMsg(SHttpMsg* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/thttp.c:321,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cont
    - param
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: httpDestroyMsgWrapper
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - tWarn
    - httpDestroyMsg
    linkageType: ''
    returnType: void
    signature: void httpDestroyMsgWrapper(void* cont, void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/transport/src/thttp.c:327,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/thttp.c:331,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/thttp.c:332,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/thttp.c:333,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/thttp.c:334,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:336,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:337,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:338,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/thttp.c:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - http
    - item
    argTypes:
    - SHttpModule*
    - SAsyncItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 346
    functionName: httpMayDiscardMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - httpDestroyMsg
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - atomic_load_8
    - QUEUE_PUSH
    - tError
    - tstrerror
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void httpMayDiscardMsg(SHttpModule* http, SAsyncItem* item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/thttp.c:348,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/thttp.c:355,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/thttp.c:356,1
    - Dst: QUEUE_TAIL
      Src: /src/tdengine/source/libs/transport/src/thttp.c:359,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/thttp.c:360,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:363,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/transport/src/thttp.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - q
    argTypes:
    - queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 365
    functionName: httpTrace
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - QUEUE_HEAD
    - atomic_load_64
    - tDebug
    - QUEUE_TAIL
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void httpTrace(queue* q)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/thttp.c:373,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/thttp.c:378,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:379,1
    - Dst: httpMayDiscardMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:381,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/thttp.c:383,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/thttp.c:384,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/thttp.c:385,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/thttp.c:386,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/thttp.c:388,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:389,1
    - Dst: httpTrace
      Src: /src/tdengine/source/libs/transport/src/thttp.c:392,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/thttp.c:394,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/thttp.c:395,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/thttp.c:396,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/thttp.c:397,1
    - Dst: httpHandleReq
      Src: /src/tdengine/source/libs/transport/src/thttp.c:401,1
    - Dst: httpHandleQuit
      Src: /src/tdengine/source/libs/transport/src/thttp.c:404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 405
    functionName: httpAsyncCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - QUEUE_INIT
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - tError
    - httpHandleReq
    - httpHandleQuit
    - httpTrace
    - taosThreadMutexUnlock
    - QUEUE_PUSH
    - httpMayDiscardMsg
    - taosThreadMutexLock
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: void
    signature: void httpAsyncCb(uv_async_t* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:408,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:410,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:412,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - cli
    argTypes:
    - SHttpClient*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: destroyHttpClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE destroyHttpClient(SHttpClient* cli)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:422,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:425,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:425,1
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 429
    functionName: clientCloseCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosReleaseRef
    - taosAcquireRef
    - destroyHttpClient
    - TAOS_UNUSED
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE clientCloseCb(uv_handle_t* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: clientAllocBuffCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE clientAllocBuffCb(uv_handle_t* handle, size_t suggested_size,
      uv_buf_t* buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/thttp.c:438,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:441,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:441,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/thttp.c:443,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:445,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/transport/src/thttp.c:447,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:449,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:451,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:453,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:457,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:457,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/transport/src/thttp.c:460,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:461,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:461,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:464,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:464,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/thttp.c:468,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:469,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - handle
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 471
    functionName: clientRecvCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - tTrace
    - memcpy
    - uv_is_closing
    - uv_close
    - taosReleaseRef
    - taosAcquireRef
    - uv_strerror
    - tDebug
    - TAOS_UNUSED
    - taosWUnLockLatch
    - tError
    - tstrerror
    - taosWLockLatch
    - taosMemoryCalloc
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE 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:473,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:476,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:477,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/thttp.c:478,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:479,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/thttp.c:483,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/thttp.c:486,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:488,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:489,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/thttp.c:490,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 494
    functionName: clientSentCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - tTrace
    - uv_is_closing
    - uv_close
    - uv_strerror
    - tError
    - uv_read_start
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: void
    signature: void clientSentCb(uv_write_t* req, int32_t status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/thttp.c:496,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:500,1
    - Dst: httpFailFastMayUpdate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:502,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:503,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:504,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/thttp.c:505,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:506,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:508,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:508,1
    - Dst: httpFailFastMayUpdate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:513,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/transport/src/thttp.c:515,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:517,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:518,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/thttp.c:519,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:520,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:523,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_connect_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 524
    functionName: clientConnCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - uv_is_closing
    - uv_close
    - taosReleaseRef
    - taosAcquireRef
    - uv_strerror
    - uv_write
    - TAOS_UNUSED
    - tError
    - httpFailFastMayUpdate
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: void
    signature: void clientConnCb(uv_connect_t* req, int32_t status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:527,1
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/transport/src/thttp.c:531,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/thttp.c:535,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - http
    - chanId
    argTypes:
    - SHttpModule*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 542
    functionName: httpSendQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - transAsyncSend
    - taosMemoryCalloc
    - taosMemoryFree
    - atomic_fetch_add_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t httpSendQuit(SHttpModule* http, int64_t chanId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: httpDestroyClientCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - destroyHttpClient
    linkageType: ''
    returnType: void
    signature: void httpDestroyClientCb(uv_handle_t* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      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:551,1
    - Dst: uv_handle_get_type
      Src: /src/tdengine/source/libs/transport/src/thttp.c:552,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:553,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 559
    functionName: httpWalkCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - uv_handle_get_type
    - uv_is_closing
    - uv_close
    linkageType: ''
    returnType: void
    signature: void httpWalkCb(uv_handle_t* handle, void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:563,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:565,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:566,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/thttp.c:568,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:569,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SHttpMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 570
    functionName: httpHandleQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached:
    - taosReleaseRef
    - taosAcquireRef
    - tDebug
    - taosMemoryFree
    - TAOS_UNUSED
    - uv_walk
    linkageType: ''
    returnType: void
    signature: void httpHandleQuit(SHttpMsg* msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:574,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/thttp.c:576,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:576,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/transport/src/thttp.c:581,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pTable
    - server
    - port
    argTypes:
    - SHashObj*
    - char*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 588
    functionName: httpFailFastShoudIgnoreMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - tDebug
    - snprintf
    - taosGetTimestampSec
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool httpFailFastShoudIgnoreMsg(SHashObj* pTable, char* server, int16_t
      port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:592,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:595,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/thttp.c:595,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:595,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/transport/src/thttp.c:597,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/thttp.c:598,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:598,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:599,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pTable
    - server
    - port
    - succ
    argTypes:
    - SHashObj*
    - char*
    - int16_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 603
    functionName: httpFailFastMayUpdate
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached:
    - taosHashRemove
    - snprintf
    - taosGetTimestampSec
    - TAOS_UNUSED
    - tError
    - tstrerror
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void httpFailFastMayUpdate(SHashObj* pTable, char* server, int16_t
      port, int8_t succ)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:610,1
    - Dst: httpFailFastShoudIgnoreMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:615,1
    - Dst: taosBuildDstAddr
      Src: /src/tdengine/source/libs/transport/src/thttp.c:620,1
    - Dst: taosCompressHttpRport
      Src: /src/tdengine/source/libs/transport/src/thttp.c:625,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:638,1
    - Dst: taosBuildHttpHeader
      Src: /src/tdengine/source/libs/transport/src/thttp.c:644,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:650,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/src/thttp.c:656,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:656,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/src/thttp.c:657,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:659,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:661,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:675,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:676,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:677,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:680,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:682,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:683,1
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:684,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:685,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:685,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/thttp.c:689,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:691,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:692,1
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:693,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:694,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:694,1
    - Dst: taosCreateSocketWithTimeout
      Src: /src/tdengine/source/libs/transport/src/thttp.c:699,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:701,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:702,1
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:703,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:704,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:704,1
    - Dst: uv_tcp_open
      Src: /src/tdengine/source/libs/transport/src/thttp.c:708,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:710,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:711,1
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:713,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:714,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:714,1
    - Dst: uv_tcp_connect
      Src: /src/tdengine/source/libs/transport/src/thttp.c:718,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:720,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:721,1
    - Dst: httpFailFastMayUpdate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:722,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:723,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:725,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:725,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:730,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:731,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:734,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:735,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:735,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 106
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SHttpMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 736
    functionName: httpHandleReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached:
    - taosAcquireRef
    - taosBuildDstAddr
    - httpFailFastShoudIgnoreMsg
    - TAOS_UNUSED
    - taosCreateSocketWithTimeout
    - uv_tcp_open
    - uv_tcp_connect
    - uv_buf_init
    - uv_tcp_init
    - taosMemoryCalloc
    - taosCompressHttpRport
    - destroyHttpClient
    - httpDestroyMsg
    - uv_close
    - taosReleaseRef
    - uv_strerror
    - tstrerror
    - httpFailFastMayUpdate
    - taosMemoryFree
    - taosBuildHttpHeader
    - tError
    - strlen
    linkageType: ''
    returnType: void
    signature: void httpHandleReq(SHttpMsg* msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRANS_DESTROY_ASYNC_POOL_MSG
      Src: /src/tdengine/source/libs/transport/src/thttp.c:742,1
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:743,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:746,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:746,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:747,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/thttp.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - http
    argTypes:
    - SHttpModule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 752
    functionName: httpModuleDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - TRANS_DESTROY_ASYNC_POOL_MSG
    - transAsyncPoolDestroy
    - taosMemoryFree
    - TAOS_UNUSED
    - taosHashCleanup
    - uv_loop_close
    linkageType: ''
    returnType: void
    signature: void httpModuleDestroy(SHttpModule* http)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: httpModuleDestroy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:756,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - http
    argTypes:
    - SHttpModule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: httpModuleDestroy2
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - httpModuleDestroy
    linkageType: ''
    returnType: void
    signature: void httpModuleDestroy2(SHttpModule* http)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: httpCreateMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:765,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:772,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/transport/src/thttp.c:778,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:782,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/thttp.c:784,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:794,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:794,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:797,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:798,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 800
    functionName: taosSendHttpReportImplByChan2
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - httpDestroyMsg
    - atomic_load_8
    - taosReleaseRef
    - taosAcquireRef
    - tDebug
    - httpCreateMsg
    - tError
    - tstrerror
    - transAsyncSend
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosSendHttpReportImplByChan2(const char* server, const char*
      uri, uint16_t port, char* pCont,\n                                             int32_t
      contLen, EHttpCompFlag flag, int64_t chanId, const char* qid,\n                                             int64_t
      recvBufRid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: httpCreateMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:805,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:810,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/transport/src/thttp.c:816,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:820,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/thttp.c:822,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:832,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:832,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:835,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:836,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 8
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - chanId
    - qid
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 838
    functionName: taosSendHttpReportImplByChan
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - httpDestroyMsg
    - atomic_load_8
    - taosReleaseRef
    - taosAcquireRef
    - tDebug
    - httpCreateMsg
    - tError
    - tstrerror
    - transAsyncSend
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosSendHttpReportImplByChan(const char* server, const char*
      uri, uint16_t port, char* pCont,\n                                            int32_t
      contLen, EHttpCompFlag flag, int64_t chanId, const char* qid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSendHttpReportImplByChan
      Src: /src/tdengine/source/libs/transport/src/thttp.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: taosSendHttpReportByChan
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosSendHttpReportImplByChan
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosSendHttpReportByChan(const char* server, const char* uri,
      uint16_t port, char* pCont, int32_t contLen,\n                                 EHttpCompFlag
      flag, int64_t chanId, const char* qid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSendHttpReportWithQID
      Src: /src/tdengine/source/libs/transport/src/thttp.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: taosSendHttpReport
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached:
    - taosSendHttpReportWithQID
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosSendHttpReport(const char* server, const char* uri, uint16_t
      port, char* pCont, int32_t contLen,\n                           EHttpCompFlag
      flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:852,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/thttp.c:852,1
    - Dst: taosSendHttpReportImplByChan
      Src: /src/tdengine/source/libs/transport/src/thttp.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - qid
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 3
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: taosSendHttpReportWithQID
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    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,\n                                  EHttpCompFlag
      flag, const char* qid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:858,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/thttp.c:858,1
    - Dst: taosSendHttpReportImplByChan2
      Src: /src/tdengine/source/libs/transport/src/thttp.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - qid
    - recvBufId
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 3
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: taosSendRecvHttpReportWithQID
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosThreadOnce
    - taosSendHttpReportImplByChan2
    - TAOS_UNUSED
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosSendRecvHttpReportWithQID(const char* server, const char*
      uri, uint16_t port, char* pCont, int32_t contLen,\n                                      EHttpCompFlag
      flag, const char* qid, int64_t recvBufId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 862
    functionName: transHttpDestroyHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void transHttpDestroyHandle(void* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:866,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 868
    functionName: transHttpDestroyRecvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void transHttpDestroyRecvHandle(void* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:873,1
    - Dst: transInitHttpChanImpl
      Src: /src/tdengine/source/libs/transport/src/thttp.c:874,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 877
    functionName: transHttpEnvInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosOpenRef
    - transInitHttpChanImpl
    linkageType: ''
    returnType: void
    signature: void transHttpEnvInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDestroyHttpChan
      Src: /src/tdengine/source/libs/transport/src/thttp.c:881,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 884
    functionName: transHttpEnvDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached:
    - taosCloseRef
    - taosDestroyHttpChan
    linkageType: ''
    returnType: void
    signature: void transHttpEnvDestroy()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:888,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/thttp.c:894,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/thttp.c:894,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:900,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/src/thttp.c:906,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:908,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:908,1
    - Dst: transAsyncPoolCreate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:913,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:920,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/thttp.c:922,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:926,1
    - Dst: httpModuleDestroy2
      Src: /src/tdengine/source/libs/transport/src/thttp.c:933,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 886
    functionDepth: 3
    functionLinenumber: 886
    functionLinenumberEnd: 935
    functionName: transInitHttpChanImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMemoryMalloc
    - tError
    - taosAddRef
    - httpModuleDestroy2
    - uv_strerror
    - taosHashInit
    - transAsyncPoolCreate
    - taosGetDefaultHashFunction
    - taosThreadCreate
    - taosMemoryCalloc
    - uv_loop_init
    linkageType: ''
    returnType: int64_t
    signature: int64_t transInitHttpChanImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:937,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/thttp.c:937,1
    - Dst: transInitHttpChanImpl
      Src: /src/tdengine/source/libs/transport/src/thttp.c:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 936
    functionDepth: 4
    functionLinenumber: 936
    functionLinenumberEnd: 939
    functionName: taosInitHttpChan
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosThreadOnce
    - TAOS_UNUSED
    - transInitHttpChanImpl
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosInitHttpChan()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:942,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:947,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:949,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:949,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/transport/src/thttp.c:954,1
    - Dst: httpSendQuit
      Src: /src/tdengine/source/libs/transport/src/thttp.c:955,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:957,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:957,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:958,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:958,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/src/thttp.c:962,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/thttp.c:963,1
    - Dst: httpModuleDestroy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:966,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:968,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:968,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:969,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - chanId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 941
    functionDepth: 3
    functionLinenumber: 941
    functionLinenumberEnd: 970
    functionName: taosDestroyHttpChan
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached:
    - tTrace
    - tError
    - taosReleaseRef
    - taosAcquireRef
    - tDebug
    - httpModuleDestroy
    - atomic_store_8
    - taosRemoveRef
    - httpSendQuit
    - TAOS_UNUSED
    - tstrerror
    - taosThreadJoin
    linkageType: ''
    returnType: void
    signature: void taosDestroyHttpChan(int64_t chanId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:972,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/thttp.c:972,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:973,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/transport/src/thttp.c:977,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:979,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:980,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 986
    functionName: taosAllocHttpRecvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosThreadOnce
    - taosInitRWLatch
    - taosAddRef
    - taosAcquireRef
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAllocHttpRecvHandle(int64_t* rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:991,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:991,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:992,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 993
    functionName: taosFreeHttpRecvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosReleaseRef
    - taosRemoveRef
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void taosFreeHttpRecvHandle(int64_t rid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:996,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1000,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1009,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1010,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - rid
    - pRecv
    - len
    argTypes:
    - int64_t
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1013
    functionName: taosGetHttpRecvById
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosReleaseRef
    - taosAcquireRef
    - TAOS_UNUSED
    - taosWUnLockLatch
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosGetHttpRecvById(int64_t rid, char** pRecv, int32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mgt
    - defaultAddr
    argTypes:
    - STelemAddrMgmt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1020
    functionName: taosTelemetryMgtInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosTelemetryMgtInit(STelemAddrMgmt* mgt, char* defaultAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosFreeHttpRecvHandle
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mgt
    argTypes:
    - STelemAddrMgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1021
    functionDepth: 2
    functionLinenumber: 1021
    functionLinenumberEnd: 1027
    functionName: taosTelemetryDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached:
    - taosFreeHttpRecvHandle
    linkageType: ''
    returnType: void
    signature: void taosTelemetryDestroy(STelemAddrMgmt* mgt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1035,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1039,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1043,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1045,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1048,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1050,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1051,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1053,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1055,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1058,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1062,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1062,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1064,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - response
    - key
    - val
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1066
    functionName: taosTelemetryGetValueFromHttpResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - strstr
    - snprintf
    - tstrncpy
    - strchr
    - taosMemoryFree
    - tError
    - tstrerror
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosTelemetryGetValueFromHttpResp(const char* response, const
      char* key, char* val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetHttpRecvById
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1072,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1074,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1074,1
    - Dst: taosTelemetryGetValueFromHttpResp
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1078,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - recvBufRid
    - telemAddr
    argTypes:
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1067
    functionDepth: 2
    functionLinenumber: 1067
    functionLinenumberEnd: 1081
    functionName: taosGetAddrFromHttpResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 0
    functionsReached:
    - taosTelemetryGetValueFromHttpResp
    - tError
    - taosGetHttpRecvById
    - taosMemoryFree
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosGetAddrFromHttpResp(int64_t recvBufRid, char* telemAddr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocHttpRecvHandle
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1090,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1091,1
    - Dst: taosSendRecvHttpReportWithQID
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1092,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1093,1
    - Dst: taosGetAddrFromHttpResp
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1095,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1097,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1097,1
    - Dst: taosFreeHttpRecvHandle
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1104,1
    - Dst: taosSendHttpReport
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1114,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1116,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1121,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 6
    argNames:
    - mgt
    - uri
    - port
    - pCont
    - contLen
    - flag
    argTypes:
    - STelemAddrMgmt*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1082
    functionDepth: 4
    functionLinenumber: 1082
    functionLinenumberEnd: 1125
    functionName: taosSendTelemReport
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached:
    - taosSendRecvHttpReportWithQID
    - taosAllocHttpRecvHandle
    - taosGetAddrFromHttpResp
    - TAOS_CHECK_GOTO
    - taosSendHttpReport
    - tDebug
    - tError
    - tstrerror
    - taosFreeHttpRecvHandle
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosSendTelemReport(STelemAddrMgmt* mgt, const char* uri,
      uint16_t port, char* pCont, int32_t contLen,\n                            EHttpCompFlag
      flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mgt
    - defaultAddr
    argTypes:
    - STelemAddrMgmt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1130
    functionName: taosTelemetryMgtInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosTelemetryMgtInit(STelemAddrMgmt* mgt, char* defaultAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mgt
    argTypes:
    - STelemAddrMgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1131
    functionName: taosTelemetryDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void taosTelemetryDestroy(STelemAddrMgmt* mgt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - mgt
    - uri
    - port
    - pCont
    - contLen
    - flag
    argTypes:
    - STelemAddrMgmt*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1137
    functionName: taosSendTelemReport
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosSendTelemReport(STelemAddrMgmt* mgt, const char* uri,
      uint16_t port, char* pCont, int32_t contLen,\n                            EHttpCompFlag
      flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - qid
    - recvBufId
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1142
    functionName: taosSendRecvHttpReportWithQID
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosSendRecvHttpReportWithQID(const char* server, const char*
      uri, uint16_t port, char* pCont, int32_t contLen,\n                                      EHttpCompFlag
      flag, const char* qid, int64_t recvBufId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - qid
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1147
    functionName: taosSendHttpReportWithQID
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosSendHttpReportWithQID(const char* server, const char*
      uri, uint16_t port, char* pCont, int32_t contLen,\n                                  EHttpCompFlag
      flag, const char* qid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: INIT_DATA_SINK
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_DATA_SINK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: CLEANUP_DATA_SINK
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_DATA_SINK()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:48,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:52,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:53,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:55,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:56,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:57,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:65,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:66,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:70,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:71,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:72,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:73,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:75,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:76,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:78,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:79,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:85,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:86,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:90,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - basetime
    - timeOffset
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 95
    functionName: createTestBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - blockDataEnsureCapacity
    - sprintf
    - createColumnInfoData
    - STR_TO_VARSTR
    - colDataSetVal
    - createDataBlock
    - memset
    - blockDataAppendColInfo
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * createTestBlock(int64_t basetime, int64_t timeOffset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:99,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:104,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:105,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:107,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:107,1
    - Dst: printf
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:108,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:109,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:109,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:113,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:114,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:116,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - b1
    - b2
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 121
    functionName: compareBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - taosArrayGet
    - colDataGetData
    linkageType: ''
    returnType: bool
    signature: bool compareBlock(SSDataBlock* b1, SSDataBlock* b2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:125,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:126,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:129,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:129,1
    - Dst: printf
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:130,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:131,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:131,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:136,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:136,1
    - Dst: printf
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:137,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:138,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:138,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:141,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:144,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:145,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:146,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:147,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:147,1
    - Dst: printf
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:148,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:148,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:149,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:152,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:152,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:152,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:152,1
    - Dst: printf
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:153,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:153,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:154,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:158,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:158,1
    - Dst: printf
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:159,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:160,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:160,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - b1
    - b2
    - row1
    - row2
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: compareBlockRow
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - memcmp
    - varDataLen
    - printf
    - colDataIsNull
    - varDataVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: bool compareBlockRow(SSDataBlock* b1, SSDataBlock* b2, int32_t row1,
      int32_t row2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initStreamDataSink
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:171,1
    - Dst: destroyDataSinkMgr
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - destroyDataSinkMgr
    - ASSERT_EQ
    - initStreamDataSink
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, fileInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_DATA_SINK
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:176,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:177,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:178,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:186,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:187,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - INIT_DATA_SINK
    - putStreamDataCache
    - blockDataDestroy
    - createTestBlock
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, test_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_DATA_SINK
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:192,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:194,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:195,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:205,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:206,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:207,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:208,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:209,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:210,1
    - Dst: moveStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:211,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:212,1
    - Dst: moveStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:213,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:214,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:215,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:216,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:219,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:220,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:221,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:222,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:226,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:227,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:228,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:229,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:230,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:231,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:234,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:235,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:236,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:237,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:239,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:240,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:241,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:242,1
    - Dst: compareBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:243,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:244,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:245,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:246,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:247,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:255,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:256,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:257,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:258,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:260,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:261,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:263,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:264,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:265,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:266,1
    - Dst: compareBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:267,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:268,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:269,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:270,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:271,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:279,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:280,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:281,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:282,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:284,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:285,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:287,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:288,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:289,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:290,1
    - Dst: compareBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:291,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:292,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:293,1
    - Dst: destroyDataSinkMgr
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:294,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 296
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - getStreamDataCache
    - compareBlock
    - moveStreamDataCache
    - destroyDataSinkMgr
    - ASSERT_NE
    - getNextStreamDataCache
    - ASSERT_EQ
    - INIT_DATA_SINK
    - initStreamDataCache
    - putStreamDataCache
    - blockDataDestroy
    - createTestBlock
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, putStreamDataCacheTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_DATA_SINK
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:299,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:300,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:301,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:309,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:310,1
    - Dst: moveStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:312,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:313,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:314,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:315,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:316,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:318,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:322,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:323,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:325,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:327,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:328,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:330,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:331,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:332,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:333,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:335,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:336,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:337,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:338,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:339,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:340,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:342,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:343,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:346,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:350,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:351,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:353,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:354,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:356,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:357,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:358,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:359,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:361,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:362,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:364,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:365,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:366,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:367,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:369,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:370,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:370,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:371,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:371,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:373,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:374,1
    - Dst: destroyDataSinkMgr
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 377
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - getStreamDataCache
    - moveStreamDataCache
    - destroyDataSinkMgr
    - compareBlockRow
    - ASSERT_NE
    - getNextStreamDataCache
    - INIT_DATA_SINK
    - ASSERT_EQ
    - initStreamDataCache
    - putStreamDataCache
    - blockDataDestroy
    - createTestBlock
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, getSlidingStreamData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_DATA_SINK
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:380,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:381,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:382,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:390,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:391,1
    - Dst: moveStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:392,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:393,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:396,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:397,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:398,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:400,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:401,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:402,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:403,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:404,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:406,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:408,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:409,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:410,1
    - Dst: destroyDataSinkMgr
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 414
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - getStreamDataCache
    - moveStreamDataCache
    - destroyDataSinkMgr
    - ASSERT_NE
    - getNextStreamDataCache
    - INIT_DATA_SINK
    - ASSERT_EQ
    - initStreamDataCache
    - blockDataDestroy
    - createTestBlock
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, moveStreamData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_DATA_SINK
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:417,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:423,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:424,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:425,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:426,1
    - Dst: moveStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:429,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:430,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:431,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:432,1
    - Dst: moveStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:435,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:436,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:437,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:438,1
    - Dst: moveStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:441,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:442,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:445,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:446,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:447,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:449,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:450,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:451,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:452,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:453,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:454,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:456,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:457,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:458,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:459,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:461,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:462,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:463,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:464,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:465,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:466,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:468,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:469,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:471,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:472,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:473,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:474,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:476,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:477,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:478,1
    - Dst: cancelStreamDataCacheIterate
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:480,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:483,1
    - Dst: destroyDataSinkMgr
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 486
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - getStreamDataCache
    - moveStreamDataCache
    - cancelStreamDataCacheIterate
    - destroyDataSinkMgr
    - ASSERT_NE
    - getNextStreamDataCache
    - INIT_DATA_SINK
    - ASSERT_EQ
    - initStreamDataCache
    - blockDataDestroy
    - createTestBlock
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, cancelStreamDataCacheIterateTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_DATA_SINK
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:489,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:490,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:491,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:499,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:500,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:501,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:502,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:503,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:504,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:505,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:506,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:507,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:509,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:513,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:514,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:515,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:516,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:518,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:520,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:521,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:523,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:524,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:525,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:526,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:528,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:529,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:531,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:532,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:533,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:534,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:536,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:537,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:539,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:540,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:541,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:542,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:544,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:545,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:547,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:548,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:549,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:550,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:552,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:553,1
    - Dst: destroyDataSinkMgr
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 556
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - getStreamDataCache
    - destroyDataSinkMgr
    - ASSERT_NE
    - getNextStreamDataCache
    - INIT_DATA_SINK
    - ASSERT_EQ
    - initStreamDataCache
    - putStreamDataCache
    - blockDataDestroy
    - createTestBlock
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, putStreamDataRows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_DATA_SINK
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:559,1
    - Dst: setDataSinkMaxMemSize
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:560,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:561,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:562,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:570,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:571,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:572,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:573,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:574,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:575,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:576,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:577,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:579,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:580,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:588,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:589,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:590,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:591,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:592,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:593,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:594,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:595,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:597,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:601,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:602,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:603,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:604,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:608,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:609,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:610,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:611,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:612,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:613,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:615,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:616,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:617,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:618,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:620,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:621,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:621,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:622,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:622,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:623,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:623,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:624,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:624,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:625,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:628,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:629,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:630,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:633,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:634,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:635,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:637,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:638,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:638,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:639,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:639,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:640,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:640,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:641,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:641,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:642,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:644,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:645,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:646,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:648,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:649,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:649,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:650,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:650,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:651,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:651,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:652,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:652,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:653,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:654,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:656,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:657,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:658,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:659,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:661,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:662,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:662,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:663,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:663,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:664,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:664,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:665,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:665,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:666,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:667,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:669,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:670,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:671,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:672,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:674,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:675,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:675,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:676,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:676,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:677,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:677,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:678,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:678,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:679,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:682,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:683,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:684,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:685,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:687,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:688,1
    - Dst: destroyDataSinkMgr
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 691
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - getStreamDataCache
    - destroyDataSinkMgr
    - compareBlockRow
    - ASSERT_NE
    - setDataSinkMaxMemSize
    - getNextStreamDataCache
    - INIT_DATA_SINK
    - ASSERT_EQ
    - initStreamDataCache
    - putStreamDataCache
    - blockDataDestroy
    - createTestBlock
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, allWriteToFileTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_DATA_SINK
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:694,1
    - Dst: setDataSinkMaxMemSize
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:695,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:696,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:697,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:705,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:706,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:707,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:708,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:709,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:710,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:711,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:712,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:714,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:715,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:723,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:724,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:725,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:726,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:727,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:728,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:729,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:730,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:732,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:736,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:737,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:738,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:739,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:743,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:744,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:745,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:746,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:747,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:748,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:750,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:751,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:752,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:753,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:755,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:756,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:756,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:757,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:757,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:758,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:758,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:759,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:759,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:760,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:763,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:764,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:765,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:767,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:768,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:769,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:770,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:772,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:773,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:773,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:774,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:774,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:775,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:775,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:776,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:776,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:777,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:779,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:780,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:781,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:783,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:784,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:784,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:785,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:785,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:786,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:786,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:787,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:787,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:788,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:789,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:791,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:792,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:793,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:794,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:796,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:797,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:797,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:798,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:798,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:799,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:799,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:800,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:800,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:801,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:802,1
    - Dst: destroyStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:804,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:806,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:807,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:808,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:809,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:811,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:812,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:812,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:813,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:813,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:814,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:814,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:815,1
    - Dst: compareBlockRow
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:815,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:816,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:818,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:819,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:820,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:821,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:823,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:824,1
    - Dst: destroyStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:826,1
    - Dst: destroyDataSinkMgr
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 829
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - getStreamDataCache
    - destroyDataSinkMgr
    - compareBlockRow
    - ASSERT_NE
    - setDataSinkMaxMemSize
    - getNextStreamDataCache
    - INIT_DATA_SINK
    - ASSERT_EQ
    - initStreamDataCache
    - putStreamDataCache
    - blockDataDestroy
    - createTestBlock
    - destroyStreamDataCache
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, allWriteMultiStreamToFileTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INIT_DATA_SINK
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:832,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:833,1
    - Dst: setDataSinkMaxMemSize
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:834,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:839,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:840,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:845,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:846,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:847,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:855,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:856,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:857,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:859,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:860,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:861,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:863,1
    - Dst: compareBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:864,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:865,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:866,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:869,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:870,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:871,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:872,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:876,1
    - Dst: destroyStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 879
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - getStreamDataCache
    - compareBlock
    - ASSERT_NE
    - setDataSinkMaxMemSize
    - getNextStreamDataCache
    - INIT_DATA_SINK
    - ASSERT_EQ
    - initStreamDataCache
    - putStreamDataCache
    - blockDataDestroy
    - createTestBlock
    - destroyStreamDataCache
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, testWriteFileSize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INIT_DATA_SINK
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:882,1
    - Dst: setDataSinkMaxMemSize
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:902,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:907,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:908,1
    - Dst: dist
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:917,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:920,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:921,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:922,1
    - Dst: push
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:928,1
    - Dst: notify_one
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:930,1
    - Dst: wait
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:940,1
    - Dst: empty
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:940,1
    - Dst: empty
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:941,1
    - Dst: empty
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:942,1
    - Dst: front
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:943,1
    - Dst: pop
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:944,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:948,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:949,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:950,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:952,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:953,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:954,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:955,1
    - Dst: compareBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:956,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:957,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:958,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:961,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:962,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:963,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:964,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:966,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:968,1
    - Dst: std::vector::emplace_back
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:976,1
    - Dst: std::vector::emplace_back
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:982,1
    - Dst: join
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:986,1
    - Dst: notify_all
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:992,1
    - Dst: join
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:996,1
    - Dst: destroyStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:998,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 999
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - compareBlock
    - notify_all
    - getNextStreamDataCache
    - ASSERT_EQ
    - wait
    - initStreamDataCache
    - putStreamDataCache
    - notify_one
    - destroyStreamDataCache
    - join
    - push
    - setDataSinkMaxMemSize
    - INIT_DATA_SINK
    - empty
    - ASSERT_NE
    - std::vector::emplace_back
    - taosMsleep
    - dist
    - pop
    - getStreamDataCache
    - front
    - blockDataDestroy
    - createTestBlock
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, multiThreadGet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_DATA_SINK
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1002,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1003,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1004,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1012,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1013,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1015,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1016,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1017,1
    - Dst: cleanStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1018,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1019,1
    - Dst: createTestBlock
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1021,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1025,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1026,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1028,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1030,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1031,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1033,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1034,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1035,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1036,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1038,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1039,1
    - Dst: destroyDataSinkMgr
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1043
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - getStreamDataCache
    - destroyDataSinkMgr
    - ASSERT_NE
    - getNextStreamDataCache
    - cleanStreamDataCache
    - INIT_DATA_SINK
    - ASSERT_EQ
    - initStreamDataCache
    - putStreamDataCache
    - blockDataDestroy
    - createTestBlock
    linkageType: ''
    returnType: void
    signature: void TEST(dataSinkTest, cleanSlidingStreamData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_init
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1046,1
    - Dst: ::testing::InitGoogleTest
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1047,1
    - Dst: ::testing::GTEST_FLAG
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1050,1
    - Dst: ::testing::GTEST_FLAG
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1052,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1055,1
    - Dst: ::testing::GTEST_FLAG
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1058,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1059,1
    - Dst: taos_cleanup
      Src: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp:1061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1063
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/dataSinkTest.cpp
    functionUses: 0
    functionsReached:
    - taos_init
    - taos_cleanup
    - RUN_ALL_TESTS
    - ::testing::InitGoogleTest
    - ::testing::GTEST_FLAG
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/new-stream/test/streamRunnerTest.cpp:5,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/new-stream/test/streamRunnerTest.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamRunnerTest.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:39,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - unit
    - interval
    - offset
    - precision
    argTypes:
    - char
    - int64_t
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: createMockTriggerTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - convertTimePrecision
    - taosMemoryCalloc
    linkageType: ''
    returnType: SStreamTriggerTask
    signature: SStreamTriggerTask * createMockTriggerTask(char unit, int64_t interval,
      int64_t offset, int32_t precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTriggerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: freeMockTriggerTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeMockTriggerTask(SStreamTriggerTask* pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetGlobalTimezone
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: StreamTriggerTaskTest::SetUp
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - taosSetGlobalTimezone
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: StreamTriggerTaskTest::TearDown
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMktime
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 6
    argNames:
    - year
    - month
    - day
    - hour
    - minute
    - second
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 120
    functionName: StreamTriggerTaskTest::makeTimestamp
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - taosMktime
    linkageType: ''
    returnType: int64_t
    signature: "int64_t makeTimestamp(int year, int month, int day, int hour, int
      minute, int second,\n                        int8_t precision = TSDB_TIME_PRECISION_MILLI)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:163,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:165,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:166,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:167,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:168,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:169,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:170,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:171,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:176,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:178,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:179,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:180,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:181,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:182,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:183,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:184,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:190,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 2
    argNames:
    - ' win'
    - precision
    argTypes:
    - STimeWindow
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 192
    functionName: StreamTriggerTaskTest::verifyWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - taosLocalTime
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void verifyWindow(const STimeWindow& win, int8_t precision, int skeyYear
      = -1, int skeyMonth = -1, int skeyDay = -1,\n                    int skeyHour
      = -1, int skeyMin = -1, int skeySec = -1, int skeyWday = -1, int ekeyYear =
      -1,\n                    int ekeyMonth = -1, int ekeyDay = -1, int ekeyHour
      = -1, int ekeyMin = -1, int ekeySec = -1,\n                    int ekeyWday
      = -1, int64_t expectedDurationMs = -1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:201,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:202,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:205,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:207,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:210,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - freeMockTriggerTask
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, WeekWindowCalculation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:223,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:224,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:227,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:229,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:232,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 236
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - freeMockTriggerTask
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, MonthWindowCalculation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:244,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:245,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:248,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:250,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:253,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - freeMockTriggerTask
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, YearWindowCalculation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:265,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:266,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:269,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:270,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:273,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:280,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:283,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:286,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 291
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - EXPECT_EQ
    - freeMockTriggerTask
    - stTriggerTaskNextTimeWindow
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, WeekWindowAdvancement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:299,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:300,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:303,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:304,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:307,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:314,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:315,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:318,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 323
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - EXPECT_EQ
    - freeMockTriggerTask
    - stTriggerTaskNextTimeWindow
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, MonthWindowAdvancement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:332,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:333,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:336,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:338,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:341,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 345
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - freeMockTriggerTask
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, WeekWindowWithOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:353,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:354,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:358,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:359,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:361,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:362,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:365,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:368,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 373
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - EXPECT_EQ
    - ASSERT_NE
    - freeMockTriggerTask
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, MultiPeriodWeekAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:381,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:382,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:385,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:387,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:390,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 394
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - freeMockTriggerTask
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, MultiPeriodMonthAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:401,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:402,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:405,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:407,1
    - Dst: EXPECT_GT
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:410,1
    - Dst: EXPECT_GT
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:411,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:414,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 419
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - EXPECT_GT
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - freeMockTriggerTask
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, MicrosecondPrecision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:427,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:428,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:431,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:432,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:435,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:439,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:442,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 447
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - freeMockTriggerTask
    - stTriggerTaskNextTimeWindow
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, YearWindowAdvancement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:455,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:456,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:459,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:461,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:464,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 469
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - freeMockTriggerTask
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, LeapYearFebruary29)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:477,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:478,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:481,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:482,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:485,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:492,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:493,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:496,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 501
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - EXPECT_EQ
    - freeMockTriggerTask
    - stTriggerTaskNextTimeWindow
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, MonthBoundarySmallToLarge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:509,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:510,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:513,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:514,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:517,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:524,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:525,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:528,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 533
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - EXPECT_EQ
    - freeMockTriggerTask
    - stTriggerTaskNextTimeWindow
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, MonthBoundaryLargeToSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:541,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:542,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:548,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:549,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:552,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:553,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:556,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:559,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:563,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:567,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 572
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - EXPECT_EQ
    - freeMockTriggerTask
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, EpochAlignmentVerification)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:581,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:582,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:589,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:590,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:593,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:594,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:597,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:600,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 604
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - freeMockTriggerTask
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, DaylightSavingTimeTransition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:612,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:613,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:616,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:617,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:620,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:621,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:624,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:625,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:628,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:632,1
    - Dst: verifyWindow
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:635,1
    - Dst: freeMockTriggerTask
      Src: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 639
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/streamTriggerTaskTest.cpp
    functionUses: 0
    functionsReached:
    - createMockTriggerTask
    - makeTimestamp
    - stTriggerTaskGetTimeWindow
    - verifyWindow
    - ASSERT_NE
    - EXPECT_EQ
    - freeMockTriggerTask
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamTriggerTaskTest, MultiPeriodYearAlignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:30,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:31,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:32,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:33,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:37,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:38,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:41,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:42,1
    - Dst: printf
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:44,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:46,1
    - Dst: printf
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 49
    functionName: CheckpointEncryptionTest::SetUpTestSuite
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp
    functionUses: 0
    functionsReached:
    - taosInitLog
    - taosRemoveDir
    - printf
    - snprintf
    - taosMkDir
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void SetUpTestSuite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: CheckpointEncryptionTest::TearDownTestSuite
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp
    functionUses: 0
    functionsReached:
    - taosCloseLog
    linkageType: ''
    returnType: void
    signature: void TearDownTestSuite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: CheckpointEncryptionTest::SetUp
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: CheckpointEncryptionTest::TearDown
    functionSourceFile: /src/tdengine/source/libs/new-stream/test/checkpointEncryptionTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pMeta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: SET_TRIGGER_META_NROW_INACCURATE
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TRIGGER_META_NROW_INACCURATE(pMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pMeta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: IS_TRIGGER_META_NROW_INACCURATE
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRIGGER_META_NROW_INACCURATE(pMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pMeta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: SET_TRIGGER_META_SKEY_INACCURATE
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TRIGGER_META_SKEY_INACCURATE(pMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pMeta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: IS_TRIGGER_META_SKEY_INACCURATE
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRIGGER_META_SKEY_INACCURATE(pMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pMeta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: SET_TRIGGER_META_EKEY_INACCURATE
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TRIGGER_META_EKEY_INACCURATE(pMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pMeta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: IS_TRIGGER_META_EKEY_INACCURATE
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRIGGER_META_EKEY_INACCURATE(pMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pMeta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: SET_TRIGGER_META_DATA_EMPTY
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TRIGGER_META_DATA_EMPTY(pMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pMeta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: IS_TRIGGER_META_DATA_EMPTY
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRIGGER_META_DATA_EMPTY(pMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pSorter
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: SET_TRIGGER_TIMESTAMP_SORTER_EMPTY
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TRIGGER_TIMESTAMP_SORTER_EMPTY(pSorter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pSorter
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY(pSorter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pMerger
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: SET_TRIGGER_VTABLE_MERGER_EMPTY
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TRIGGER_VTABLE_MERGER_EMPTY(pMerger)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pMerger
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: IS_TRIGGER_VTABLE_MERGER_EMPTY
    functionSourceFile: /src/tdengine/source/libs/new-stream/inc/streamTriggerMerger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRIGGER_VTABLE_MERGER_EMPTY(pMerger)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - threadNum
    - streamGId
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: streamGetThreadIdx
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamGetThreadIdx(int32_t threadNum, int64_t streamGId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: stmAddFetchStreamGid
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t stmAddFetchStreamGid(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:41,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:42,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:45,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:45,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - streamId
    - ppReq
    - idx
    argTypes:
    - int64_t
    - SArray**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: stmAddMgmtReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TSDB_CHECK_NULL
    - stsDebug
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t stmAddMgmtReq(int64_t streamId, SArray** ppReq, int32_t idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:59,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:60,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:64,1
    - Dst: stTriggerTaskGetStatus
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:64,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:66,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:66,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:68,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:68,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:73,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - streamId
    - ppReport
    - triggerTask
    argTypes:
    - int64_t
    - SArray**
    - SStreamTriggerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: stmAddPeriodReport
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - stsDebug
    - stsError
    - stTriggerTaskGetStatus
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - taosArrayInit
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t stmAddPeriodReport(int64_t streamId, SArray** ppReport, SStreamTriggerTask*
      triggerTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:80,1
    - Dst: smHandleRemovedTask
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:81,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:84,1
    - Dst: smHandleRemovedTask
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:85,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:88,1
    - Dst: smHandleRemovedTask
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pStream
    - streamId
    - gid
    argTypes:
    - SStreamInfo*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: stmHandleStreamRemovedTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - smHandleRemovedTask
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void stmHandleStreamRemovedTasks(SStreamInfo* pStream, int64_t streamId,
      int32_t gid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:97,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:99,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:99,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:100,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:101,1
    - Dst: tCloneSStreamMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:101,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:102,1
    - Dst: stmAddMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:102,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:102,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:104,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:104,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:109,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:112,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - streamId
    - pMsg
    - pTask
    argTypes:
    - int64_t
    - SStreamHbMsg*
    - SStreamTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: stmHbAddTaskStatus
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGetLast
    - stmAddMgmtReq
    - stError
    - tCloneSStreamMgmtReq
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - taosWUnLockLatch
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t stmHbAddTaskStatus(int64_t streamId, SStreamHbMsg* pMsg, SStreamTask*
      pTask)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:126,1
    - Dst: stmHandleStreamRemovedTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:128,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:131,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:136,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:137,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:140,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:143,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:144,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:147,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:147,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:151,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:154,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:154,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:157,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:161,1
    - Dst: stmAddPeriodReport
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:161,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:162,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:167,1
    - Dst: stmHbAddTaskStatus
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:167,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:169,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:170,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:174,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:176,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:177,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:180,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:181,1
    - Dst: stRunnerBuildTaskMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:182,1
    - Dst: stmHbAddTaskStatus
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:182,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:184,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:184,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:186,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:189,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:189,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:192,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:192,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:196,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:199,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:199,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 4
    argNames:
    - pMsg
    - pStream
    - streamId
    - reportPeriod
    argTypes:
    - SStreamHbMsg*
    - SStreamInfo*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 203
    functionName: stmHbAddStreamStatus
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - atomic_val_compare_exchange_8
    - stError
    - memset
    - TSDB_CHECK_NULL
    - tdListInitIter
    - TD_DLIST_HEAD
    - stsDebug
    - TD_DLIST_NELES
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - taosWLockLatch
    - ST_TASK_DLOG
    - stmAddPeriodReport
    - taosWUnLockLatch
    - stRunnerBuildTaskMgmtReq
    - stmHbAddTaskStatus
    - stmHandleStreamRemovedTasks
    - tdListNext
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stmHbAddStreamStatus(SStreamHbMsg* pMsg, SStreamInfo* pStream,
      int64_t streamId, bool reportPeriod)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:212,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:222,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:228,1
    - Dst: stmHbAddStreamStatus
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SStreamHbMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 205
    functionDepth: 4
    functionLinenumber: 205
    functionLinenumberEnd: 234
    functionName: stmBuildHbStreamsStatusReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGetKey
    - taosHashIterate
    - stmHbAddStreamStatus
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t stmBuildHbStreamsStatusReq(SStreamHbMsg* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:241,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:247,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:248,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:250,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:251,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:251,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:252,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:254,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:256,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:257,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:258,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:260,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:261,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:261,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:262,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:264,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:266,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:267,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:268,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:270,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:271,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:271,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:272,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:274,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:276,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:278,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 282
    functionName: stmDestroySStreamInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ST_TASK_DLOG
    - tdListPopNode
    - stDebug
    - TD_DLIST_NELES
    - tdListNext
    - memset
    - taosArrayDestroy
    - tdListInitIter
    - tdListFree
    linkageType: ''
    returnType: void
    signature: void stmDestroySStreamInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - str
    - ','
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: JSON_CHECK_ADD_ITEM
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_CHECK_ADD_ITEM(obj, str, item)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:293,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:294,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:295,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:298,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:298,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:305,1
    - Dst: cJSON_CreateBool
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:305,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:311,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:311,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:317,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:317,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:323,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:323,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:330,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:330,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:336,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:336,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:342,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:342,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:350,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:351,1
    - Dst: cJSON_malloc
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:352,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:353,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:354,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:357,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:358,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:368,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:368,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:374,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:374,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:380,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:380,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:386,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:386,1
    - Dst: cJSON_malloc
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:397,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:398,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:399,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:399,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:402,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:403,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:412,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:412,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:419,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:419,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:422,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 91
    argCount: 5
    argNames:
    - colName
    - colInfo
    - isNull
    - pData
    - obj
    argTypes:
    - char*
    - SColumnInfo*
    - bool
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 287
    functionDepth: 6
    functionLinenumber: 287
    functionLinenumberEnd: 425
    functionName: jsonAddColumnField
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - QUERY_CHECK_CONDITION
    - JSON_CHECK_ADD_ITEM
    - cJSON_CreateNull
    - cJSON_malloc
    - stError
    - QUERY_CHECK_NULL
    - varDataLen
    - cJSON_CreateBool
    - cJSON_CreateStringReference
    - QUERY_CHECK_CODE
    - tstrerror
    - varDataVal
    - cJSON_free
    - decimalToStr
    - cJSON_CreateNumber
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonAddColumnField(const char* colName, const SColumnInfo*
      colInfo, bool isNull, const char* pData, cJSON* obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:435,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:436,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:438,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:439,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:440,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:441,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:443,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:444,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:445,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:446,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:449,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:450,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:454,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:457,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - eventType
    - colInfo
    - pFromState
    - pToState
    - ppContent
    argTypes:
    - ESTriggerEventType
    - SColumnInfo*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 427
    functionDepth: 7
    functionLinenumber: 427
    functionLinenumberEnd: 460
    functionName: streamBuildStateNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - jsonAddColumnField
    - stError
    - cJSON_CreateObject
    - QUERY_CHECK_NULL
    - cJSON_PrintUnformatted
    - QUERY_CHECK_CODE
    - tstrerror
    - cJSON_Delete
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamBuildStateNotifyContent(ESTriggerEventType eventType,
      SColumnInfo* colInfo, const char* pFromState,\n                                      const
      char* pToState, char** ppContent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:469,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:472,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:473,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:474,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:474,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:477,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:478,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:482,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:485,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - eventType
    - idleDurationMs
    - ppContent
    argTypes:
    - ESTriggerEventType
    - int64_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 488
    functionName: streamBuildIdleNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - cJSON_AddNumberToObject
    - stError
    - cJSON_CreateObject
    - QUERY_CHECK_NULL
    - cJSON_PrintUnformatted
    - tstrerror
    - cJSON_Delete
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamBuildIdleNotifyContent(ESTriggerEventType eventType,
      int64_t idleDurationMs, char** ppContent)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:504,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:505,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:508,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:509,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:509,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:510,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:511,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:514,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:515,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:516,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:516,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:517,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:520,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:521,1
    - Dst: streamBuildNotifyTriggerId
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:523,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:524,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:524,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:525,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:526,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:526,1
    - Dst: streamBuildNotifyTriggerId
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:529,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:530,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:530,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:534,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:535,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:539,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:542,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:545,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:548,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 9
    argNames:
    - pInputBlock
    - pCondCols
    - rowIdx
    - condIdx
    - winIdx
    - groupId
    - windowStart
    - parentWindowStart
    - ppContent
    argTypes:
    - SSDataBlock*
    - SNodeList*
    - int32_t
    - int32_t
    - int32_t
    - int64_t
    - int64_t
    - int64_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 492
    functionDepth: 7
    functionLinenumber: 492
    functionLinenumberEnd: 551
    functionName: streamBuildEventNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - jsonAddColumnField
    - taosArrayGet
    - colDataGetData
    - JSON_CHECK_ADD_ITEM
    - stError
    - cJSON_CreateObject
    - cJSON_CreateString
    - QUERY_CHECK_NULL
    - cJSON_PrintUnformatted
    - QUERY_CHECK_CODE
    - tstrerror
    - cJSON_Delete
    - colDataIsNull_s
    - streamBuildNotifyTriggerId
    - cJSON_CreateNumber
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamBuildEventNotifyContent(const SSDataBlock* pInputBlock,
      const SNodeList* pCondCols, int32_t rowIdx,\n                                      int32_t
      condIdx, int32_t winIdx, int64_t groupId, int64_t windowStart,\n                                      int64_t
      parentWindowStart, char** ppContent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:508,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:509,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:509,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:510,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 7
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 14
    functionsReached:
    - jsonAddColumnField
    - taosArrayGet
    - colDataGetData
    - QUERY_CHECK_CODE
    - colDataIsNull_s
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCondCols)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:559,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:560,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:562,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:563,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:565,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:566,1
    - Dst: cJSON_AddItemToObjectCS
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:567,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:568,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:571,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:572,1
    - Dst: cJSON_AddItemToObjectCS
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:573,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:574,1
    - Dst: cJSON_CreateTrue
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:577,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:578,1
    - Dst: cJSON_AddItemToObjectCS
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:579,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:580,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:587,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:591,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:593,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:600,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:601,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:606,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:607,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:610,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:611,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:614,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:615,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:619,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:620,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:620,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:621,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:624,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:624,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:630,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:631,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:632,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:634,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:635,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:638,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:639,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:640,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:642,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:642,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 6
    argNames:
    - pTask
    - pBlock
    - ppContent
    - pFields
    - startRow
    - endRow
    argTypes:
    - SStreamRunnerTask*
    - SSDataBlock*
    - char**
    - SArray*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 553
    functionDepth: 7
    functionLinenumber: 553
    functionLinenumberEnd: 645
    functionName: streamBuildBlockResultNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - stError
    - cJSON_CreateObject
    - cJSON_CreateTrue
    - jsonAddColumnField
    - taosArrayGet
    - cJSON_AddArrayToObject
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - TSDB_CHECK_CONDITION
    - JSON_CHECK_ADD_ITEM
    - QUERY_CHECK_NULL
    - cJSON_PrintUnformatted
    - cJSON_AddItemToObjectCS
    - cJSON_AddItemToArray
    - tstrerror
    - cJSON_Delete
    - colDataIsNull_s
    - cJSON_CreateNumber
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamBuildBlockResultNotifyContent(const SStreamRunnerTask*
      pTask, const SSDataBlock* pBlock, char** ppContent, const SArray* pFields,\n
      \                                           const int32_t startRow, const int32_t
      endRow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSystemUUIDLimit36
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:656,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:657,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:659,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:660,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:661,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:661,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:662,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:662,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:664,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:665,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:666,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:666,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:669,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:670,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:671,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:671,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:672,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:672,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:672,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:673,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:676,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:677,1
    - Dst: taosStringBuilderAppendString
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:678,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:682,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:685,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:688,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:691,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - streamName
    - pBuilder
    argTypes:
    - char*
    - SStringBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 697
    functionName: streamAppendNotifyHeader
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - taosStringBuilderAppendString
    - TSDB_CHECK_CONDITION
    - cJSON_AddItemToArray
    - JSON_CHECK_ADD_ITEM
    - cJSON_CreateArray
    - stError
    - cJSON_CreateObject
    - QUERY_CHECK_NULL
    - taosGetSystemUUIDLimit36
    - cJSON_PrintUnformatted
    - cJSON_CreateNumber
    - taosGetTimestampMs
    - QUERY_CHECK_CODE
    - tstrerror
    - cJSON_Delete
    - cJSON_free
    - cJSON_CreateStringReference
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamAppendNotifyHeader(const char* streamName, SStringBuilder*
      pBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:703,1
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:706,1
    - Dst: u64toaFastLut
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - groupId
    - windowStart
    - winIdx
    - triggerId
    argTypes:
    - int64_t
    - int64_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 709
    functionName: streamBuildNotifyTriggerId
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 1
    functionsReached:
    - MurmurHash3_64
    - u64toaFastLut
    linkageType: ''
    returnType: void
    signature: void streamBuildNotifyTriggerId(int64_t groupId, int64_t windowStart,
      int32_t winIdx, char* triggerId)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: streamBuildNotifyTriggerId
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:737,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:762,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:765,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:766,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:767,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:767,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:768,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:768,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:768,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:770,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:770,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:772,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:772,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:775,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:775,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:779,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:780,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:780,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:783,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:783,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:784,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:784,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:786,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:786,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:789,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:789,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:792,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:792,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:793,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:793,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:795,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:795,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:796,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:796,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:799,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:800,1
    - Dst: taosStringBuilderAppendString
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:801,1
    - Dst: taosStringBuilderAppendChar
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:805,1
    - Dst: taosStringBuilderAppendStringLen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:806,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:806,1
    - Dst: taosStringBuilderAppendChar
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:811,1
    - Dst: taosStringBuilderAppendStringLen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:812,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:813,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:818,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:821,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:824,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:824,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 98
    argCount: 5
    argNames:
    - triggerType
    - groupId
    - pParam
    - pBuilder
    - tableName
    argTypes:
    - int32_t
    - int64_t
    - SSTriggerCalcParam*
    - SStringBuilder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 827
    functionName: streamAppendNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - stError
    - cJSON_CreateObject
    - snprintf
    - cJSON_free
    - cJSON_CreateStringReference
    - taosGetTimestampMs
    - QUERY_CHECK_CODE
    - taosStringBuilderAppendString
    - JSON_CHECK_ADD_ITEM
    - cJSON_CreateString
    - QUERY_CHECK_NULL
    - cJSON_PrintUnformatted
    - tstrerror
    - streamBuildNotifyTriggerId
    - taosStringBuilderAppendChar
    - strlen
    - cJSON_Delete
    - taosStringBuilderAppendStringLen
    - cJSON_CreateNumber
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamAppendNotifyContent(int32_t triggerType, int64_t groupId,
      const SSTriggerCalcParam* pParam,\n                                         SStringBuilder*
      pBuilder, const char* tableName)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:843,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:846,1
    - Dst: taosStringBuilderEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:861,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:862,1
    - Dst: streamAppendNotifyHeader
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:864,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:865,1
    - Dst: streamAppendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:872,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:873,1
    - Dst: taosStringBuilderAppendChar
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:874,1
    - Dst: taosStringBuilderAppendStringLen
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:878,1
    - Dst: taosStringBuilderGetResult
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:879,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:881,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:882,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:888,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:889,1
    - Dst: tcurlConnect
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:890,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:892,1
    - Dst: tcurlClose
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:893,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:896,1
    - Dst: tcurlSend
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:912,1
    - Dst: tcurlSend
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:914,1
    - Dst: tcurlClose
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:921,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:923,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:926,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:933,1
    - Dst: tcurlClose
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:938,1
    - Dst: taosStringBuilderDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:939,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:941,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:941,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 9
    argNames:
    - pTask
    - streamName
    - tableName
    - triggerType
    - groupId
    - pNotifyAddrUrls
    - addOptions
    - pParams
    - nParam
    argTypes:
    - SStreamTask*
    - char*
    - char*
    - int32_t
    - int64_t
    - SArray*
    - int32_t
    - SSTriggerCalcParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 831
    functionDepth: 3
    functionLinenumber: 831
    functionLinenumberEnd: 944
    functionName: streamSendNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - tcurlClose
    - tcurlConnect
    - taosStringBuilderGetResult
    - taosStringBuilderDestroy
    - tcurlSend
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - streamAppendNotifyContent
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - ST_TASK_DLOG
    - QUERY_CHECK_NULL
    - tstrerror
    - taosMsleep
    - taosStrdup
    - TARRAY_SIZE
    - taosStringBuilderEnsureCapacity
    - strstr
    - streamAppendNotifyHeader
    - taosStringBuilderAppendChar
    - strlen
    - taosStringBuilderAppendStringLen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamSendNotifyContent(SStreamTask* pTask, const char* streamName,
      const char* tableName, int32_t triggerType,\n                                int64_t
      groupId, const SArray* pNotifyAddrUrls, int32_t addOptions,\n                                const
      SSTriggerCalcParam* pParams, int32_t nParam)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:955,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:956,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:958,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:979,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:981,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:984,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:987,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:988,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:989,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:990,1
    - Dst: getStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:993,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:994,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:1000,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:1003,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamUtil.c:1003,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 7
    argNames:
    - streamId
    - taskId
    - sessionId
    - groupId
    - start
    - end
    - pppIter
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - TSKEY
    - TSKEY
    - void***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 1006
    functionName: readStreamDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamUtil.c
    functionUses: 0
    functionsReached:
    - getStreamDataCache
    - streamAcquireTask
    - QUERY_CHECK_CONDITION
    - streamReleaseTask
    - stsError
    - taosHashGet
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t readStreamDataCache(int64_t streamId, int64_t taskId, int64_t
      sessionId, int64_t groupId, TSKEY start,\n                            TSKEY
      end, void*** pppIter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:17,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:19,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:20,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:21,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - StreamTableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: qStreamDestroyTableInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosHashCleanup
    - taosArrayDestroyP
    - taosHashCancelIterate
    - stDebug
    linkageType: ''
    returnType: void
    signature: void qStreamDestroyTableInfo(StreamTableListInfo* pTableListInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:30,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:34,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:35,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - StreamTableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: qStreamClearTableInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosHashClear
    - taosHashCancelIterate
    - taosArrayClearP
    linkageType: ''
    returnType: void
    signature: void qStreamClearTableInfo(StreamTableListInfo* pTableListInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:47,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:49,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:58,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - idMap
    - table
    - key
    argTypes:
    - SHashObj*
    - SStreamTableKeyInfo*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 81
    functionName: removeList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosHashRemove
    - stError
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t removeList(SHashObj* idMap, SStreamTableKeyInfo* table, uint64_t
      key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:87,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:90,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - idMap
    - table
    - key
    argTypes:
    - SHashObj*
    - SStreamTableKeyInfo*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: addList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - taosHashGet
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t addList(SHashObj* idMap, SStreamTableKeyInfo* table, uint64_t
      key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:106,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:107,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:110,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:110,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:111,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:114,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:114,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - StreamTableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: initStreamTableListInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - STREAM_CHECK_NULL_GOTO
    - taosArrayInit
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t initStreamTableListInfo(StreamTableListInfo* pTableListInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:126,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:127,1
    - Dst: initStreamTableListInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:127,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:128,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:129,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:131,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:132,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:137,1
    - Dst: addList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:137,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:139,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:140,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pTableListInfo
    - uid
    - gid
    argTypes:
    - StreamTableListInfo*
    - int64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 144
    functionName: qStreamSetTableList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - STREAM_CHECK_RET_GOTO
    - taosMemoryFreeClear
    - stDebug
    - STREAM_CHECK_NULL_GOTO
    - taosHashPut
    - taosArrayGetSize
    - initStreamTableListInfo
    - taosMemoryCalloc
    - addList
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamSetTableList(StreamTableListInfo* pTableListInfo, int64_t
      uid, uint64_t gid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:150,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:151,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:152,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:153,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:158,1
    - Dst: removeList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:158,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:160,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pTableListInfo
    - uid
    argTypes:
    - StreamTableListInfo*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: qStreamRemoveTableList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - removeList
    - taosHashRemove
    - taosHashGet
    - STREAM_CHECK_NULL_GOTO
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamRemoveTableList(StreamTableListInfo* pTableListInfo,
      int64_t uid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: copyTableInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: void
    signature: void * copyTableInfo(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:184,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:186,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:188,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:192,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:196,1
    - Dst: qStreamSetTableList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:196,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - sStreamReaderInfo
    - dst
    argTypes:
    - SStreamTriggerReaderInfo*
    - StreamTableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 201
    functionName: qStreamCopyTableInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - qStreamSetTableList
    - taosRUnLockLatch
    - taosHashGet
    - taosArrayGetSize
    - taosRLockLatch
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamCopyTableInfo(SStreamTriggerReaderInfo* sStreamReaderInfo,
      StreamTableListInfo* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:204,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:205,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sStreamReaderInfo
    argTypes:
    - SStreamTriggerReaderInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: qStreamGetTableArrayList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosRUnLockLatch
    - taosRLockLatch
    - taosArrayDup
    linkageType: ''
    returnType: SArray
    signature: SArray * qStreamGetTableArrayList(SStreamTriggerReaderInfo* sStreamReaderInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:211,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:213,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sStreamReaderInfo
    argTypes:
    - SStreamTriggerReaderInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: qStreamGetTableListNum
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosRLockLatch
    - taosRUnLockLatch
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamGetTableListNum(SStreamTriggerReaderInfo* sStreamReaderInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:219,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:221,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sStreamReaderInfo
    argTypes:
    - SStreamTriggerReaderInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: qStreamGetTableListGroupNum
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosRLockLatch
    - taosRUnLockLatch
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamGetTableListGroupNum(SStreamTriggerReaderInfo* sStreamReaderInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tmp
    - uid
    argTypes:
    - StreamTableListInfo*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: qStreamGetGroupId
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t qStreamGetGroupId(StreamTableListInfo* tmp, int64_t uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qStreamGetGroupId
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sStreamReaderInfo
    - uid
    argTypes:
    - SStreamTriggerReaderInfo*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: qStreamGetGroupIdFromOrigin
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - qStreamGetGroupId
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t qStreamGetGroupIdFromOrigin(SStreamTriggerReaderInfo* sStreamReaderInfo,
      int64_t uid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:243,1
    - Dst: qStreamGetGroupId
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:245,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sStreamReaderInfo
    - uid
    argTypes:
    - SStreamTriggerReaderInfo*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: qStreamGetGroupIdFromSet
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosRLockLatch
    - taosRUnLockLatch
    - qStreamGetGroupId
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t qStreamGetGroupIdFromSet(SStreamTriggerReaderInfo* sStreamReaderInfo,
      int64_t uid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:253,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pKeyInfo
    - size
    - list
    argTypes:
    - STableKeyInfo**
    - int32_t*
    - SStreamTableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 267
    functionName: buildTableListFromList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableListFromList(STableKeyInfo** pKeyInfo, int32_t* size,
      SStreamTableList* list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:270,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:272,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pKeyInfo
    - size
    - pTableList
    argTypes:
    - STableKeyInfo**
    - int32_t*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: buildTableListFromArray
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - taosMemoryCalloc
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableListFromArray(STableKeyInfo** pKeyInfo, int32_t*
      size, SArray* pTableList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:298,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:301,1
    - Dst: buildTableListFromArray
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:301,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:304,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:306,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:310,1
    - Dst: buildTableListFromList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:310,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - sStreamReaderInfo
    - gid
    - pKeyInfo
    - size
    argTypes:
    - SStreamTriggerReaderInfo*
    - uint64_t
    - STableKeyInfo**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 314
    functionName: qStreamGetTableList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - ST_TASK_DLOG
    - taosRUnLockLatch
    - taosHashGet
    - buildTableListFromList
    - buildTableListFromArray
    - taosRLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamGetTableList(SStreamTriggerReaderInfo* sStreamReaderInfo,
      uint64_t gid, STableKeyInfo** pKeyInfo, int32_t* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:324,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:325,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:327,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:329,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:331,1
    - Dst: buildTableListFromList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - tableInfo
    - pKeyInfo
    - size
    - suid
    argTypes:
    - StreamTableListInfo*
    - STableKeyInfo**
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 334
    functionName: qStreamIterTableList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - taosHashIterate
    - stDebug
    - buildTableListFromList
    - taosHashGetKey
    - STREAM_CHECK_NULL_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamIterTableList(StreamTableListInfo* tableInfo, STableKeyInfo**
      pKeyInfo, int32_t* size, int64_t* suid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:341,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:343,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:344,1
    - Dst: qStreamSetTableList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:344,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:345,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sStreamReaderInfo
    argTypes:
    - SStreamTriggerReaderInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 351
    functionName: qBuildVTableList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - ST_TASK_DLOG
    - qStreamSetTableList
    - tSimpleHashIterate
    - tSimpleHashGetKey
    linkageType: ''
    returnType: int32_t
    signature: int32_t qBuildVTableList(SStreamTriggerReaderInfo* sStreamReaderInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:357,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:358,1
    - Dst: SStreamReaderTaskInner*::storageApi::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:359,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:360,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: releaseStreamTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - cleanupQueryTableDataCond
    - blockDataDestroy
    - taosMemoryFree
    - SStreamReaderTaskInner*::storageApi::tsdReader::tsdReaderClose
    linkageType: ''
    returnType: void
    signature: void releaseStreamTask(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:368,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:370,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:370,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:373,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:374,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:375,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:377,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:377,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:379,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:379,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - schemas
    - pBlockRet
    argTypes:
    - SArray*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 389
    functionName: createDataBlockForStream
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - taosArrayGet
    - blockDataEnsureCapacity
    - createColumnInfoData
    - blockDataDestroy
    - createDataBlock
    - taosArrayGetSize
    - blockDataAppendColInfo
    - STREAM_CHECK_NULL_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataBlockForStream(SArray* schemas, SSDataBlock** pBlockRet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:395,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:395,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:396,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:397,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:397,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:398,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:398,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:401,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pBlockRet
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 408
    functionName: createDataBlockForTs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - blockDataEnsureCapacity
    - STREAM_PRINT_LOG_END
    - createColumnInfoData
    - createDataBlock
    - blockDataAppendColInfo
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataBlockForTs(SSDataBlock** pBlockRet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:415,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:418,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:418,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:419,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:420,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:422,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:423,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:438,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:446,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:447,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:450,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:462,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:464,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 8
    argNames:
    - pCond
    - order
    - schemas
    - isSchema
    - twindows
    - suid
    - ver
    - pSlotList
    argTypes:
    - SQueryTableDataCond*
    - int32_t
    - void*
    - bool
    - STimeWindow
    - uint64_t
    - int64_t
    - int32_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 471
    functionName: qStreamInitQueryTableDataCond
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosMemoryMalloc
    - taosArrayGet
    - STREAM_PRINT_LOG_END
    - LIST_LENGTH
    - memset
    - taosMemoryFree
    - taosArrayGetSize
    - STREAM_CHECK_NULL_GOTO
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qStreamInitQueryTableDataCond(SQueryTableDataCond* pCond,
      int32_t order, void* schemas, bool isSchema,\n                                      STimeWindow
      twindows, uint64_t suid, int64_t ver, int32_t** pSlotList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:477,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:479,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:483,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:483,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:485,1
    - Dst: createDataBlockForStream
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:485,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:488,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:489,1
    - Dst: qStreamInitQueryTableDataCond
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:489,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:491,1
    - Dst: SStreamReaderTaskInner*::storageApi::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:491,1
    - Dst: releaseStreamTask
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 7
    argNames:
    - pVnode
    - options
    - ppTask
    - pResBlock
    - pList
    - pNum
    - storageApi
    argTypes:
    - void*
    - SStreamOptions*
    - SStreamReaderTaskInner**
    - SSDataBlock*
    - STableKeyInfo*
    - int32_t
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 499
    functionName: createStreamTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - releaseStreamTask
    - createOneDataBlock
    - cleanupQueryTableDataCond
    - SStreamReaderTaskInner*::storageApi::tsdReader::tsdReaderOpen
    - qStreamInitQueryTableDataCond
    - STREAM_CHECK_NULL_GOTO
    - taosMemoryCalloc
    - createDataBlockForStream
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamTask(void* pVnode, SStreamOptions* options, SStreamReaderTaskInner**
      ppTask,\n                         SSDataBlock* pResBlock, STableKeyInfo* pList,
      int32_t pNum, SStorageAPI* storageApi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - options
    - ppTask
    - storageApi
    argTypes:
    - SStreamOptions*
    - SStreamReaderTaskInner**
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 510
    functionName: createStreamTaskForTs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamTaskForTs(SStreamOptions* options, SStreamReaderTaskInner**
      ppTask, SStorageAPI* storageApi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pCond
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: destroyCondition
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void destroyCondition(SNode* pCond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: destroyBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyBlock(void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:525,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:526,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:529,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:530,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:532,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:533,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:534,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:535,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:536,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:537,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:538,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:539,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:540,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:541,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:542,1
    - Dst: qStreamDestroyTableInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:543,1
    - Dst: qStreamDestroyTableInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:544,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:545,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:547,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:549,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:551,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:553,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:554,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:555,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:556,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 558
    functionName: releaseStreamReaderInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - qStreamDestroyTableInfo
    - taosMemoryFreeClear
    - nodesDestroyList
    - destroyExprInfo
    - tSimpleHashCleanup
    - blockDataDestroy
    - filterFreeInfo
    - taosMemoryFree
    - taosHashCleanup
    - taosArrayDestroy
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void releaseStreamReaderInfo(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:564,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:565,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:566,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:568,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:569,1
    - Dst: tDestroyStRtFuncInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:571,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:572,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 574
    functionName: releaseStreamReaderCalcInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qDestroyTask
    - filterFreeInfo
    - tDestroyStRtFuncInfo
    - taosMemoryFree
    - taosArrayDestroy
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void releaseStreamReaderCalcInfo(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - schemas
    - type
    - bytes
    - colId
    argTypes:
    - SArray*
    - int8_t
    - int32_t
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: qStreamBuildSchema
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosArrayReserve
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamBuildSchema(SArray* schemas, int8_t type, int32_t bytes,
      col_id_t colId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 592
    functionName: releaseGroupIdMap
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void releaseGroupIdMap(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:601,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:602,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:604,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:606,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:608,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - colList
    - pDataBlock
    argTypes:
    - SNodeList*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 619
    functionName: setColIdForCalcResBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - STREAM_PRINT_LOG_END
    - nodeType
    - STREAM_CHECK_CONDITION_GOTO
    - STREAM_CHECK_NULL_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t setColIdForCalcResBlock(SNodeList* colList, SArray* pDataBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:601,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:602,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:604,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:606,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 615
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 14
    functionsReached:
    - nodeType
    - STREAM_CHECK_CONDITION_GOTO
    - STREAM_CHECK_NULL_GOTO
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: void FOREACH(nodeItem, colList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 625
    functionName: freeTagCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: void freeTagCache(void* pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: freeSchema
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeSchema(void* pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pGroupList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 643
    functionName: groupbyTbname
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool groupbyTbname(SNodeList* pGroupList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 641
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 14
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pGroupList)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:649,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:650,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:660,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:664,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:665,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:667,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:668,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:669,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:674,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:674,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:675,1
    - Dst: nodesStringToList
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:675,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:678,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:681,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:682,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:692,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:693,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:695,1
    - Dst: setColIdForCalcResBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:695,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:696,1
    - Dst: setColIdForCalcResBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:696,1
    - Dst: groupbyTbname
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:697,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:701,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:701,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:703,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:704,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:705,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:710,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:711,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:716,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:717,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:720,1
    - Dst: setColIdForCalcResBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:720,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:721,1
    - Dst: setColIdForCalcResBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:721,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:722,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:722,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:723,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:724,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:724,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:726,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:726,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:727,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:728,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:731,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:732,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:733,1
    - Dst: qStreamBuildSchema
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:734,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:735,1
    - Dst: createDataBlockForTs
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:735,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:737,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:737,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:738,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:739,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:742,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:742,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:743,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:744,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:746,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:746,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:747,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:748,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:750,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:750,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:751,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:752,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:754,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:754,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:755,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:756,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:756,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:759,1
    - Dst: releaseStreamReaderInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:762,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 74
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - void*
    - SStreamReaderDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 645
    functionDepth: 16
    functionLinenumber: 645
    functionLinenumberEnd: 766
    functionName: createStreamReaderInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - nodesStringToNode
    - releaseStreamReaderInfo
    - createColumnInfoData
    - nodeType
    - filterInitFromNode
    - nodesStringToList
    - createOneDataBlock
    - createExprInfo
    - taosHashInit
    - taosHashSetFreeFp
    - taosGetDefaultHashFunction
    - STREAM_CHECK_CONDITION_GOTO
    - taosMemoryCalloc
    - STREAM_CHECK_RET_GOTO
    - ST_TASK_DLOG
    - setColIdForCalcResBlock
    - createDataBlockForTs
    - createDataBlockFromDescNode
    - qStreamBuildSchema
    - STREAM_PRINT_LOG_END
    - groupbyTbname
    - taosArrayInit
    - blockDataAppendColInfo
    - STREAM_CHECK_NULL_GOTO
    linkageType: ''
    returnType: SStreamTriggerReaderInfo
    signature: SStreamTriggerReaderInfo * createStreamReaderInfo(void* pTask, const
      SStreamReaderDeployMsg* pMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:769,1
    - Dst: fmIsStreamPesudoColVal
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 778
    functionName: checkPlaceHolderColumn
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsStreamPesudoColVal
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes checkPlaceHolderColumn(SNode* pNode, void* pContext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:785,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:786,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:792,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:792,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:794,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:795,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:796,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:808,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:810,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:811,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:814,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:815,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:818,1
    - Dst: releaseStreamReaderCalcInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - pTask
    - pMsg
    - pPlan
    - keepPlan
    argTypes:
    - void*
    - SStreamReaderDeployMsg*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 780
    functionDepth: 4
    functionLinenumber: 780
    functionLinenumberEnd: 825
    functionName: createStreamReaderCalcInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - releaseStreamReaderCalcInfo
    - STREAM_CHECK_NULL_GOTO
    - STREAM_PRINT_LOG_END
    - nodesWalkExpr
    - nodeType
    - taosArrayInit_s
    - nodesCloneNode
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: SStreamTriggerReaderCalcInfo
    signature: SStreamTriggerReaderCalcInfo * createStreamReaderCalcInfo(void* pTask,
      const SStreamReaderDeployMsg* pMsg, SNode* pPlan, bool keepPlan)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 804
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(nodeItem, pScanCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:830,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:831,1
    - Dst: ST_TASK_DLOGL
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:835,1
    - Dst: ST_TASK_DLOGL
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:836,1
    - Dst: createStreamReaderInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:837,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:838,1
    - Dst: ST_TASK_DLOGL
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:841,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:842,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:843,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:844,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:844,1
    - Dst: createStreamReaderCalcInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:847,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:848,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:849,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:849,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:852,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamReaderTask*
    - SStreamReaderDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 827
    functionDepth: 17
    functionLinenumber: 827
    functionLinenumberEnd: 866
    functionName: stReaderTaskDeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - STREAM_CHECK_RET_GOTO
    - createStreamReaderCalcInfo
    - ST_TASK_DLOG
    - nodesStringToNode
    - STREAM_PRINT_LOG_END
    - createStreamReaderInfo
    - taosArrayInit
    - ST_TASK_DLOGL
    - STREAM_CHECK_NULL_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t stReaderTaskDeploy(SStreamReaderTask* pTask, const SStreamReaderDeployMsg*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:871,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:872,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:874,1
    - Dst: releaseStreamReaderInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:875,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:877,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ppTask
    - pMsg
    - cb
    argTypes:
    - SStreamReaderTask**
    - SStreamUndeployTaskMsg*
    - taskUndeplyCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 868
    functionDepth: 4
    functionLinenumber: 868
    functionLinenumberEnd: 886
    functionName: stReaderTaskUndeployImpl
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_PRINT_LOG_END
    - releaseStreamReaderInfo
    - taosArrayDestroyP
    - stInfo
    - STREAM_CHECK_NULL_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t stReaderTaskUndeployImpl(SStreamReaderTask** ppTask, const
      SStreamUndeployTaskMsg* pMsg, taskUndeplyCallback cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWTryForceLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:893,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:894,1
    - Dst: stReaderTaskUndeployImpl
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ppTask
    - force
    argTypes:
    - SStreamReaderTask**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 889
    functionDepth: 5
    functionLinenumber: 889
    functionLinenumberEnd: 899
    functionName: stReaderTaskUndeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - taosWTryForceLockLatch
    - ST_TASK_DLOG
    - stReaderTaskUndeployImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t stReaderTaskUndeploy(SStreamReaderTask** ppTask, bool force)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:909,1
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:909,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:914,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - streamId
    - taskId
    - taskAddr
    argTypes:
    - int64_t
    - int64_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 921
    functionName: qStreamGetReaderInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - streamAcquireTask
    - ST_TASK_DLOG
    - STREAM_PRINT_LOG_END
    linkageType: ''
    returnType: void
    signature: void * qStreamGetReaderInfo(int64_t streamId, int64_t taskId, void**
      taskAddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:931,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:932,1
    - Dst: blockGetInternalEncodeSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:934,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:938,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:939,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:947,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:950,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:951,1
    - Dst: blockGetInternalEncodeSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:953,1
    - Dst: blockEncodeInternal
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:958,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:958,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:959,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:962,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:964,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/new-stream/src/streamReader.c:971,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - pResList
    - hasNext
    - data
    - size
    - precision
    argTypes:
    - SArray*
    - bool
    - void**
    - size_t*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 924
    functionDepth: 3
    functionLinenumber: 924
    functionLinenumberEnd: 973
    functionName: streamBuildFetchRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamReader.c
    functionUses: 0
    functionsReached:
    - htonl
    - rpcMallocCont
    - htobe64
    - stDebug
    - blockGetInternalEncodeSize
    - blockEncodeInternal
    - taosArrayGetSize
    - STREAM_CHECK_CONDITION_GOTO
    - STREAM_CHECK_NULL_GOTO
    - taosArrayGetP
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamBuildFetchRsp(SArray* pResList, bool hasNext, void**
      data, size_t* size, int8_t precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:20,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:22,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:22,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ppTimer
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: streamTimerInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTimer.c
    functionUses: 0
    functionsReached:
    - taosTmrInit
    - stInfo
    - stError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamTimerInit(void** ppTimer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pTmr
    argTypes:
    - tmr_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: streamTimerGetInstance
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTimer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamTimerGetInstance(tmr_h* pTmr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:37,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:39,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:39,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:43,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:45,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:45,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - fp
    - mseconds
    - pParam
    - pHandle
    - pTmrId
    - pMsg
    argTypes:
    - TAOS_TMR_CALLBACK
    - int32_t
    - void*
    - void*
    - tmr_h*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: streamTmrStart
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTimer.c
    functionUses: 0
    functionsReached:
    - taosTmrStart
    - taosTmrReset
    - stError
    - tstrerror
    - stTrace
    linkageType: ''
    returnType: void
    signature: void streamTmrStart(TAOS_TMR_CALLBACK fp, int32_t mseconds, void* pParam,
      void* pHandle, tmr_h* pTmrId, const char* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - tmrId
    argTypes:
    - tmr_h
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: streamTmrStop
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTimer.c
    functionUses: 0
    functionsReached:
    - taosTmrStop
    linkageType: ''
    returnType: void
    signature: void streamTmrStop(tmr_h tmrId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:62,1
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:63,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/new-stream/src/streamTimer.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: streamTimerCleanUp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTimer.c
    functionUses: 0
    functionsReached:
    - stInfo
    - streamTmrStop
    - taosTmrCleanUp
    linkageType: ''
    returnType: void
    signature: void streamTimerCleanUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SRBTreeNode*
    - SRBTreeNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: compareFreeBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareFreeBlock(const SRBTreeNode *a, const SRBTreeNode *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - start
    - length
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: createFreeBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c
    functionUses: 0
    functionsReached:
    - taosMemCalloc
    linkageType: ''
    returnType: FreeBlock
    signature: FreeBlock *createFreeBlock(int start, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - FreeBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: destroyFreeBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c
    functionUses: 0
    functionsReached:
    - taosMemFree
    linkageType: ''
    returnType: void
    signature: void destroyFreeBlock(FreeBlock *block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeGet
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:44,1
    - Dst: tRBTreePut
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tree
    - newBlock
    argTypes:
    - SRBTree*
    - FreeBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: insertFreeBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c
    functionUses: 0
    functionsReached:
    - tRBTreeGet
    - tRBTreePut
    linkageType: ''
    returnType: void
    signature: void insertFreeBlock(SRBTree *tree, FreeBlock *newBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tree
    - requestLength
    argTypes:
    - SRBTree*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: findBestFitBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c
    functionUses: 0
    functionsReached:
    - compareFreeBlock
    linkageType: ''
    returnType: FreeBlock
    signature: FreeBlock *findBestFitBlock(SRBTree *tree, int requestLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeGet
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:76,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:89,1
    - Dst: tRBTreePut
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:90,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - tree
    - target
    argTypes:
    - SRBTree*
    - FreeBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: removeFreeBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c
    functionUses: 0
    functionsReached:
    - tRBTreeGet
    - tRBTreePut
    - tRBTreeDrop
    linkageType: ''
    returnType: void
    signature: void removeFreeBlock(SRBTree *tree, FreeBlock *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findBestFitBlock
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:110,1
    - Dst: removeFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tree
    - requestLength
    argTypes:
    - SRBTree*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: popBestFitBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c
    functionUses: 0
    functionsReached:
    - findBestFitBlock
    - removeFreeBlock
    linkageType: ''
    returnType: FreeBlock
    signature: FreeBlock *popBestFitBlock(SRBTree *tree, int requestLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:125,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:129,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:131,1
    - Dst: destroyFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:134,1
    - Dst: tRBTreeClear
      Src: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tree
    argTypes:
    - SRBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 140
    functionName: clearAllFreeBlocks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/freeBlockMgr.c
    functionUses: 0
    functionsReached:
    - tRBTreeIterNext
    - tRBTreeIterCreate
    - tRBTreeClear
    - destroyFreeBlock
    - tRBTreeDrop
    linkageType: ''
    returnType: void
    signature: void clearAllFreeBlocks(SRBTree *tree)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:28,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:37,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:38,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:39,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:47,1
    - Dst: cmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:48,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:48,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:48,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 5
    argNames:
    - pDataBlock
    - tsSlotId
    - pkSlotId
    - leftIdx
    - rightIdx
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 52
    functionName: stCompareRowsInBlocks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - cmp
    - colDataGetData
    - getKeyComparFunc
    - TARRAY_GET_ELEM
    - colDataIsNull_s
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE stCompareRowsInBlocks(const SSDataBlock *pDataBlock,
      int32_t tsSlotId, int32_t pkSlotId,\n                                                  int32_t
      leftIdx, int32_t rightIdx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:69,1
    - Dst: SMultiwayMergeTreeInfo*::comparFn
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pTree
    - pIdx
    argTypes:
    - SMultiwayMergeTreeInfo*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: stMergeTreeGetSecondIndex
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - tMergeTreeGetAdjustIndex
    - SMultiwayMergeTreeInfo*::comparFn
    linkageType: ''
    returnType: int32_t
    signature: int32_t stMergeTreeGetSecondIndex(SMultiwayMergeTreeInfo *pTree, int32_t
      *pIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:99,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:100,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:102,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:103,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:105,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:106,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - pSorter
    - pTask
    argTypes:
    - SSTriggerTimestampSorter*
    - SStreamTriggerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 113
    functionName: stTimestampSorterInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - QUERY_CHECK_NULL
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterInit(SSTriggerTimestampSorter *pSorter, SStreamTriggerTask
      *pTask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:123,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:128,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:129,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:131,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:135,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:140,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:144,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 148
    functionName: stTimestampSorterDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - taosMemoryFreeClear
    - tMergeTreeDestroy
    - TARRAY_GET_ELEM
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void stTimestampSorterDestroy(void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:159,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:163,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:164,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:166,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:170,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pSorter
    argTypes:
    - SSTriggerTimestampSorter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 176
    functionName: stTimestampSorterReset
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - TARRAY_GET_ELEM
    - TARRAY_SIZE
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void stTimestampSorterReset(SSTriggerTimestampSorter *pSorter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:184,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:185,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:192,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:196,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - pSorter
    - pRange
    - tbUid
    - tsSlotId
    - pkSlotId
    argTypes:
    - SSTriggerTimestampSorter*
    - STimeWindow*
    - int64_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 199
    functionName: stTimestampSorterSetSortInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - BIT_FLAG_SET_MASK
    - ST_TASK_ELOG
    - QUERY_CHECK_CONDITION
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTimestampSorterSetSortInfo(SSTriggerTimestampSorter *pSorter,
      STimeWindow *pRange, int64_t tbUid,\n                                     int32_t
      tsSlotId, int32_t pkSlotId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:209,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:211,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:211,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:213,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:213,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:215,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:217,1
    - Dst: IS_TRIGGER_META_DATA_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:219,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:223,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:224,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:228,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:230,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:232,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:233,1
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:234,1
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:234,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:240,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:242,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:244,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:247,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:251,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:251,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - pSorter
    - pTableMeta
    argTypes:
    - SSTriggerTimestampSorter*
    - SSTriggerTableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 254
    functionName: stTimestampSorterSetMetaDatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - QUERY_CHECK_NULL
    - taosArrayReserve
    - TD_DLIST_TAIL
    - IS_TRIGGER_META_DATA_EMPTY
    - taosArrayGetSize
    - tstrerror
    - TARRAY_GET_ELEM
    - BIT_FLAG_SET_MASK
    - ST_TASK_ELOG
    - TD_DLIST_APPEND
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterSetMetaDatas(SSTriggerTimestampSorter *pSorter,
      SSTriggerTableMeta *pTableMeta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:257,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:259,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:262,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:266,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SSTriggerMetaDataList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: stTimestampSorterMetaListMoveForward
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - blockDataDestroy
    - TD_DLIST_POP
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE stTimestampSorterMetaListMoveForward(SSTriggerMetaDataList
      *pList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:275,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:276,1
    - Dst: stTimestampSorterMetaListMoveForward
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:279,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:289,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:290,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:291,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:294,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:295,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:296,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:303,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pSorter
    - pList
    - ts
    argTypes:
    - SSTriggerTimestampSorter*
    - SSTriggerMetaDataList*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 306
    functionName: stTimestampSorterMetaListSkip2Ts
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - POINTER_DISTANCE
    - taosArrayGet
    - stTimestampSorterMetaListMoveForward
    - QUERY_CHECK_NULL
    - blockDataGetNumOfRows
    - taosbsearch
    - tstrerror
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTimestampSorterMetaListSkip2Ts(SSTriggerTimestampSorter
      *pSorter, SSTriggerMetaDataList *pList,\n                                                int64_t
      ts)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:313,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:313,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:314,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:315,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:323,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:324,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 339
    functionName: stTimestampSorterMetaListCompare
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - TARRAY_GET_ELEM
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterMetaListCompare(const void *pLeft, const void
      *pRight, void *param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:346,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:346,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:348,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:348,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:351,1
    - Dst: SET_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:353,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:358,1
    - Dst: stTimestampSorterMetaListSkip2Ts
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:359,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:360,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:365,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:370,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:371,1
    - Dst: tMergeTreeRebuild
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:373,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:374,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:379,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:379,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - pSorter
    argTypes:
    - SSTriggerTimestampSorter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 384
    functionName: stTimestampSorterBuildDataMerger
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - tMergeTreeDestroy
    - BIT_FLAG_TEST_MASK
    - BIT_FLAG_SET_MASK
    - tMergeTreeRebuild
    - tMergeTreeCreate
    - QUERY_CHECK_CODE
    - tstrerror
    - TARRAY_GET_ELEM
    - stTimestampSorterMetaListSkip2Ts
    - ST_TASK_ELOG
    - SET_TRIGGER_TIMESTAMP_SORTER_EMPTY
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterBuildDataMerger(SSTriggerTimestampSorter *pSorter)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:397,1
    - Dst: stTimestampSorterBuildDataMerger
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:398,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:399,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:402,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:405,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:405,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:407,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:408,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:409,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:412,1
    - Dst: stTimestampSorterMetaListMoveForward
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:418,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:420,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:420,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:421,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:425,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:426,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:426,1
    - Dst: SET_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:428,1
    - Dst: stTimestampSorterMetaListSkip2Ts
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:433,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:434,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:435,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:435,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:436,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:441,1
    - Dst: stMergeTreeGetSecondIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:443,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:444,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:446,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:448,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:451,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:454,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:455,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:456,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:458,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:460,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:472,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:472,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 4
    argNames:
    - pSorter
    - ppDataBlock
    - pStartIdx
    - pEndIdx
    argTypes:
    - SSTriggerTimestampSorter*
    - SSDataBlock**
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 475
    functionName: stTimestampSorterNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - TMIN
    - taosArrayGet
    - stTimestampSorterMetaListMoveForward
    - blockDataGetNumOfRows
    - stMergeTreeGetSecondIndex
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - stTimestampSorterMetaListSkip2Ts
    - ST_TASK_ELOG
    - SET_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - tMergeTreeGetChosenIndex
    - POINTER_DISTANCE
    - BIT_FLAG_TEST_MASK
    - QUERY_CHECK_NULL
    - tMergeTreeGetAdjustIndex
    - TARRAY_SIZE
    - TMAX
    - stTimestampSorterBuildDataMerger
    - tMergeTreeAdjust
    - taosbsearch
    - tstrerror
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTimestampSorterNextDataBlock(SSTriggerTimestampSorter *pSorter,
      SSDataBlock **ppDataBlock, int32_t *pStartIdx,\n                                       int32_t
      *pEndIdx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:490,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:491,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:495,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:496,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:498,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:503,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:503,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:504,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:506,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:507,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:507,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:510,1
    - Dst: stMergeTreeGetSecondIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:512,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:513,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:515,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:517,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:520,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:522,1
    - Dst: IS_TRIGGER_META_NROW_INACCURATE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:523,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:529,1
    - Dst: stTimestampSorterMetaListMoveForward
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:531,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:532,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:532,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:533,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:546,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:546,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 4
    argNames:
    - pSorter
    - nrowsToSkip
    - pSkipped
    - pLastTs
    argTypes:
    - SSTriggerTimestampSorter*
    - int64_t
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 477
    functionDepth: 5
    functionLinenumber: 477
    functionLinenumberEnd: 552
    functionName: stTimestampSorterForwardNrows
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - TMIN
    - TD_DLIST_HEAD
    - taosArrayGet
    - stTimestampSorterMetaListMoveForward
    - stMergeTreeGetSecondIndex
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tMergeTreeGetChosenIndex
    - QUERY_CHECK_NULL
    - tMergeTreeGetAdjustIndex
    - stTimestampSorterNextDataBlock
    - TARRAY_SIZE
    - TMAX
    - tMergeTreeAdjust
    - tstrerror
    - IS_TRIGGER_META_NROW_INACCURATE
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTimestampSorterForwardNrows(SSTriggerTimestampSorter *pSorter,
      int64_t nrowsToSkip, int64_t *pSkipped,\n                                      int64_t
      *pLastTs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 567
    functionName: stTimestampSorterWindowReverseCompare
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterWindowReverseCompare(const void *pLeft, const
      void *pRight)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:575,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:575,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:577,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:577,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:579,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:579,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:581,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:583,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:585,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:585,1
    - Dst: IS_TRIGGER_META_SKEY_INACCURATE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:586,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:590,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:592,1
    - Dst: IS_TRIGGER_META_EKEY_INACCURATE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:596,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:600,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:602,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:609,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:614,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:615,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:617,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:619,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:625,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:625,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:629,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:629,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:631,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 2
    argNames:
    - pSorter
    - gap
    argTypes:
    - SSTriggerTimestampSorter*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 634
    functionName: stTimestampSorterBuildSessWin
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - ST_TASK_ELOG
    - IS_TRIGGER_META_EKEY_INACCURATE
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - taosArraySort
    - TMAX
    - TMIN
    - BIT_FLAG_TEST_MASK
    - TD_DLIST_NODE_NEXT
    - taosArrayReserve
    - IS_TRIGGER_META_SKEY_INACCURATE
    - tstrerror
    - TARRAY_GET_ELEM
    - BIT_FLAG_SET_MASK
    - TARRAY_ELEM_IDX
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterBuildSessWin(SSTriggerTimestampSorter *pSorter,
      int64_t gap)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:644,1
    - Dst: stTimestampSorterBuildSessWin
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:645,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:646,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:652,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:653,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:655,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:659,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:666,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:667,1
    - Dst: stTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:671,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:672,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:674,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:678,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:679,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:683,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:693,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:693,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:694,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:712,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:712,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 5
    argNames:
    - pSorter
    - ts
    - gap
    - pLastTs
    - pNextTs
    argTypes:
    - SSTriggerTimestampSorter*
    - int64_t
    - int64_t
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 636
    functionDepth: 5
    functionLinenumber: 636
    functionLinenumberEnd: 718
    functionName: stTimestampSorterForwardTs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - taosArrayGet
    - QUERY_CHECK_CONDITION
    - TMAX
    - TMIN
    - BIT_FLAG_TEST_MASK
    - QUERY_CHECK_NULL
    - taosArrayPop
    - QUERY_CHECK_CODE
    - tstrerror
    - TARRAY_GET_ELEM
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - ST_TASK_ELOG
    - tMergeTreeGetChosenIndex
    - stTimestampSorterBuildSessWin
    - stTimestampSorterNextDataBlock
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTimestampSorterForwardTs(SSTriggerTimestampSorter *pSorter,
      int64_t ts, int64_t gap, int64_t *pLastTs,\n                                   int64_t
      *pNextTs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:727,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:727,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:729,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:729,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:730,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:731,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:736,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pSorter
    - ppMeta
    argTypes:
    - SSTriggerTimestampSorter*
    - SSTriggerMetaData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 739
    functionName: stTimestampSorterGetMetaToFetch
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - QUERY_CHECK_CONDITION
    - BIT_FLAG_TEST_MASK
    - tstrerror
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tMergeTreeGetChosenIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterGetMetaToFetch(SSTriggerTimestampSorter *pSorter,
      SSTriggerMetaData **ppMeta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:747,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:747,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:748,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:748,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:751,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:751,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:752,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:753,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:753,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:757,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:758,1
    - Dst: SET_TRIGGER_META_DATA_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:760,1
    - Dst: stTimestampSorterMetaListMoveForward
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:761,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:763,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:764,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:769,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:774,1
    - Dst: stTimestampSorterMetaListMoveForward
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:776,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:778,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:783,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:783,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:784,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:788,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - pSorter
    - ppDataBlock
    argTypes:
    - SSTriggerTimestampSorter*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 791
    functionName: stTimestampSorterBindDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - POINTER_DISTANCE
    - QUERY_CHECK_CONDITION
    - taosArrayGet
    - SET_TRIGGER_META_DATA_EMPTY
    - stTimestampSorterMetaListMoveForward
    - BIT_FLAG_TEST_MASK
    - QUERY_CHECK_NULL
    - blockDataGetNumOfRows
    - taosbsearch
    - tMergeTreeAdjust
    - tMergeTreeGetAdjustIndex
    - QUERY_CHECK_CODE
    - tstrerror
    - TARRAY_GET_ELEM
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - ST_TASK_ELOG
    - tMergeTreeGetChosenIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTimestampSorterBindDataBlock(SSTriggerTimestampSorter *pSorter,
      SSDataBlock **ppDataBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:806,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:806,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:807,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 823
    functionName: stVtableMergerReaderInfoCompare
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TARRAY_GET_ELEM
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stVtableMergerReaderInfoCompare(const void *pLeft, const void
      *pRight, void *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:838,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:839,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:841,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:842,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:845,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:847,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:848,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:853,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - pMerger
    - pTask
    - ppDataBlock
    - ppFilter
    - nVirDataCols
    argTypes:
    - SSTriggerVtableMerger*
    - struct SStreamTriggerTask*
    - SSDataBlock**
    - SFilterInfo**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 825
    functionDepth: 4
    functionLinenumber: 825
    functionLinenumberEnd: 856
    functionName: stVtableMergerInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - filterSetDataFromSlotId
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stVtableMergerInit(SSTriggerVtableMerger *pMerger, struct
      SStreamTriggerTask *pTask, SSDataBlock **ppDataBlock,\n                           SFilterInfo
      **ppFilter, int32_t nVirDataCols)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:866,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:871,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:876,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:880,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:885,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:890,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:893,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 858
    functionDepth: 3
    functionLinenumber: 858
    functionLinenumberEnd: 894
    functionName: stVtableMergerDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosMemFreeClear
    - taosArrayDestroyEx
    - tMergeTreeDestroy
    - filterFreeInfo
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void stVtableMergerDestroy(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:903,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:906,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pMerger
    argTypes:
    - SSTriggerVtableMerger*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 912
    functionName: stVtableMergerReset
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - blockDataDestroy
    - blockDataEmpty
    linkageType: ''
    returnType: void
    signature: void stVtableMergerReset(SSTriggerVtableMerger *pMerger)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:921,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:922,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:923,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:923,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:925,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:925,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:928,1
    - Dst: SET_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:931,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:936,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:937,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:938,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:944,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:945,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:946,1
    - Dst: stTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:947,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:949,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:950,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:951,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:952,1
    - Dst: stTimestampSorterInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:954,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:955,1
    - Dst: stTimestampSorterSetSortInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:957,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:958,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:963,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:968,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:969,1
    - Dst: tMergeTreeRebuild
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:971,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:972,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:977,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:977,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:979,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - pMerger
    - pRange
    - pTableColRefs
    argTypes:
    - SSTriggerVtableMerger*
    - STimeWindow*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 982
    functionName: stVtableMergerSetMergeInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - stTimestampSorterSetSortInfo
    - QUERY_CHECK_CONDITION
    - tMergeTreeDestroy
    - SET_TRIGGER_VTABLE_MERGER_EMPTY
    - QUERY_CHECK_NULL
    - stTimestampSorterInit
    - taosArrayReserve
    - tMergeTreeRebuild
    - tMergeTreeCreate
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - stTimestampSorterReset
    - tstrerror
    - TARRAY_GET_ELEM
    - BIT_FLAG_SET_MASK
    - ST_TASK_ELOG
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t stVtableMergerSetMergeInfo(SSTriggerVtableMerger *pMerger,
      STimeWindow *pRange, SArray *pTableColRefs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:990,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:997,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pMerger
    - ppDataBlock
    argTypes:
    - SSTriggerVtableMerger*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 1000
    functionName: stVtableMergerSetPseudoCols
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - QUERY_CHECK_CONDITION
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stVtableMergerSetPseudoCols(SSTriggerVtableMerger *pMerger,
      SSDataBlock **ppDataBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1008,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1010,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1010,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1010,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1013,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1015,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1016,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1018,1
    - Dst: stTimestampSorterSetMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1019,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1020,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1024,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1028,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pMerger
    - pOrigTableMetas
    argTypes:
    - SSTriggerVtableMerger*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1031
    functionName: stVtableMergerSetMetaDatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - stTimestampSorterSetMetaDatas
    - QUERY_CHECK_CODE
    - tstrerror
    - TARRAY_GET_ELEM
    - BIT_FLAG_SET_MASK
    - ST_TASK_ELOG
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t stVtableMergerSetMetaDatas(SSTriggerVtableMerger *pMerger,
      SSHashObj *pOrigTableMetas)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1043,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1044,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1047,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1048,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1051,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1057,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1059,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1062,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1063,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1064,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1065,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1067,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1068,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1069,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1070,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1071,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1072,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1073,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1083,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - pMerger
    - pReaderInfo
    - endTime
    - pIsFull
    argTypes:
    - SSTriggerVtableMerger*
    - SVtableMergerReaderInfo*
    - int64_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1086
    functionName: stVtableMergerCopyDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - POINTER_DISTANCE
    - taosArrayGet
    - TMIN
    - blockDataGetNumOfRows
    - QUERY_CHECK_NULL
    - taosbsearch
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - colDataAssignNRows
    - tstrerror
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stVtableMergerCopyDataBlock(SSTriggerVtableMerger *pMerger,
      SVtableMergerReaderInfo *pReaderInfo,\n                                           int64_t
      endTime, bool *pIsFull)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: IS_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1098,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1101,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1103,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1104,1
    - Dst: blockDataReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1108,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1113,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1116,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1117,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1118,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1119,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1125,1
    - Dst: IS_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1126,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1127,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1128,1
    - Dst: SET_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1130,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1142,1
    - Dst: stTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1143,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1145,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1147,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1156,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1157,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1161,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1161,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1162,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1165,1
    - Dst: stMergeTreeGetSecondIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1167,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1168,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1170,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1172,1
    - Dst: stVtableMergerCopyDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1176,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1177,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1178,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1179,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1188,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1188,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1189,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1197,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1200,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1201,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1202,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1204,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1205,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1206,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1207,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1208,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1209,1
    - Dst: colDataCopyNItems
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1211,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1211,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1212,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1218,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1218,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1219,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1220,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1221,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1224,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1225,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1227,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1232,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1233,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1236,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 108
    argCount: 2
    argNames:
    - pMerger
    - ppDataBlock
    argTypes:
    - SSTriggerVtableMerger*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1088
    functionDepth: 5
    functionLinenumber: 1088
    functionLinenumberEnd: 1239
    functionName: stVtableMergerNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - colDataGetData
    - TMIN
    - colDataCopyNItems
    - memset
    - colDataDestroy
    - stVtableMergerCopyDataBlock
    - taosArrayGet
    - blockDataGetNumOfRows
    - stMergeTreeGetSecondIndex
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - filterExecute
    - TARRAY_GET_ELEM
    - blockDataGetNumOfCols
    - ST_TASK_ELOG
    - tMergeTreeGetChosenIndex
    - blockDataReset
    - colDataSetNNULL
    - QUERY_CHECK_NULL
    - tMergeTreeGetAdjustIndex
    - BitmapLen
    - stTimestampSorterNextDataBlock
    - TARRAY_SIZE
    - IS_TRIGGER_VTABLE_MERGER_EMPTY
    - blockDataEnsureCapacity
    - SET_TRIGGER_VTABLE_MERGER_EMPTY
    - TMAX
    - tMergeTreeAdjust
    - tstrerror
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - colDataIsNull_s
    - trimDataBlock
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stVtableMergerNextDataBlock(SSTriggerVtableMerger *pMerger,
      SSDataBlock **ppDataBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1250,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1254,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1254,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1256,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1257,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1258,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1259,1
    - Dst: stTimestampSorterGetMetaToFetch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1262,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1263,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1271,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pMerger
    - ppMeta
    - ppColRef
    argTypes:
    - SSTriggerVtableMerger*
    - SSTriggerMetaData**
    - SSTriggerTableColRef**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1274
    functionName: stVtableMergerGetMetaToFetch
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - IS_TRIGGER_VTABLE_MERGER_EMPTY
    - BIT_FLAG_TEST_MASK
    - blockDataGetNumOfCols
    - QUERY_CHECK_CODE
    - stTimestampSorterGetMetaToFetch
    - tstrerror
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tMergeTreeGetChosenIndex
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stVtableMergerGetMetaToFetch(SSTriggerVtableMerger *pMerger,
      SSTriggerMetaData **ppMeta,\n                                     SSTriggerTableColRef
      **ppColRef)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1281,1
    - Dst: IS_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1281,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1282,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1282,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1285,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1286,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1287,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1288,1
    - Dst: stTimestampSorterBindDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1289,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1290,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1294,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pMerger
    - ppDataBlock
    argTypes:
    - SSTriggerVtableMerger*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1276
    functionDepth: 3
    functionLinenumber: 1276
    functionLinenumberEnd: 1297
    functionName: stVtableMergerBindDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - IS_TRIGGER_VTABLE_MERGER_EMPTY
    - stTimestampSorterBindDataBlock
    - BIT_FLAG_TEST_MASK
    - QUERY_CHECK_CODE
    - tstrerror
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tMergeTreeGetChosenIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t stVtableMergerBindDataBlock(SSTriggerVtableMerger *pMerger,
      SSDataBlock **ppDataBlock)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1313,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1313,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1314,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1315,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1317,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1317,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1318,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1318,1
    - Dst: stCompareRowsInBlocks
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1326,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1348
    functionName: stNewTimestampSorterSliceListCompare
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - TARRAY_GET_ELEM
    - TARRAY_SIZE
    - stCompareRowsInBlocks
    linkageType: ''
    returnType: int32_t
    signature: int32_t stNewTimestampSorterSliceListCompare(const void *pLeft, const
      void *pRight, void *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1358,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1359,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1360,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1361,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pSorter
    - pTask
    - verColBias
    argTypes:
    - SSTriggerNewTimestampSorter*
    - struct SStreamTriggerTask*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1368
    functionName: stNewTimestampSorterInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - QUERY_CHECK_NULL
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stNewTimestampSorterInit(SSTriggerNewTimestampSorter *pSorter,
      struct SStreamTriggerTask *pTask,\n                                 int32_t
      verColBias)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1378,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1382,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1386,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1390
    functionName: stNewTimestampSorterDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - tMergeTreeDestroy
    linkageType: ''
    returnType: void
    signature: void stNewTimestampSorterDestroy(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1401,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pSorter
    argTypes:
    - SSTriggerNewTimestampSorter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1392
    functionDepth: 1
    functionLinenumber: 1392
    functionLinenumberEnd: 1406
    functionName: stNewTimestampSorterReset
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: void stNewTimestampSorterReset(SSTriggerNewTimestampSorter *pSorter)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1416,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1425,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1426,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1428,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1429,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1437,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1438,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1440,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1450,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1455,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1462,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1463,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1463,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1470,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1471,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1475,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1480,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1481,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1484,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1485,1
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1486,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1492,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1493,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1495,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1499,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1500,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1501,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1503,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1504,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1509,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1514,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1515,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1519,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1520,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1521,1
    - Dst: tMergeTreeRebuild
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1523,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1524,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1529,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1529,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 84
    argCount: 7
    argNames:
    - pSorter
    - tbUid
    - tsSlotId
    - pkSlotId
    - pReadRange
    - pMetas
    - pSlice
    argTypes:
    - SSTriggerNewTimestampSorter*
    - int64_t
    - int32_t
    - int32_t
    - STimeWindow*
    - SObjList*
    - SSTriggerDataSlice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1532
    functionName: stNewTimestampSorterSetData
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - QUERY_CHECK_CONDITION
    - tMergeTreeDestroy
    - TMIN
    - tMergeTreeRebuild
    - TD_DLIST_APPEND
    - TD_DLIST_HEAD
    - taosArrayGet
    - tMergeTreeCreate
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - taosObjListInitIter
    - ST_TASK_DLOG
    - taosArrayGetLast
    - QUERY_CHECK_NULL
    - TD_DLIST_NODE_NEXT
    - taosObjListIterNext
    - TARRAY_SIZE
    - TMAX
    - taosArrayReserve
    - TD_DLIST_TAIL
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stNewTimestampSorterSetData(SSTriggerNewTimestampSorter *pSorter,
      int64_t tbUid, int32_t tsSlotId,\n                                    int32_t
      pkSlotId, STimeWindow *pReadRange, SObjList *pMetas,\n                                    SSTriggerDataSlice
      *pSlice)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1541,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1549,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1553,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1554,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1555,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1565,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1567,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1571,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1575,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1576,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1577,1
    - Dst: stCompareRowsInBlocks
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1581,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1584,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1588,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1589,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1596,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1598,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1604,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1605,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1609,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1610,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1612,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1614,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1615,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1619,1
    - Dst: tMergeTreeRebuild
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1622,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1623,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1625,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1625,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1626,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1631,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1631,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 4
    argNames:
    - pSorter
    - ppDataBlock
    - pStartIdx
    - pEndIdx
    argTypes:
    - SSTriggerNewTimestampSorter*
    - SSDataBlock**
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1534
    functionDepth: 2
    functionLinenumber: 1534
    functionLinenumberEnd: 1634
    functionName: stNewTimestampSorterNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - POINTER_DISTANCE
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - TD_DLIST_POP
    - ST_TASK_DLOG
    - TMIN
    - QUERY_CHECK_NULL
    - taosbsearch
    - tMergeTreeAdjust
    - tMergeTreeRebuild
    - tMergeTreeGetAdjustIndex
    - QUERY_CHECK_CODE
    - tstrerror
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tMergeTreeGetChosenIndex
    - stCompareRowsInBlocks
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stNewTimestampSorterNextDataBlock(SSTriggerNewTimestampSorter
      *pSorter, SSDataBlock **ppDataBlock,\n                                          int32_t
      *pStartIdx, int32_t *pEndIdx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1648,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1648,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1649,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1650,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1655,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1662,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1680
    functionName: stNewVtableMergerReaderInfoCompare
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - TARRAY_GET_ELEM
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stNewVtableMergerReaderInfoCompare(const void *pLeft, const
      void *pRight, void *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stNewTimestampSorterDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1689
    functionName: stNewVtableMergerDestoryReaderInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - stNewTimestampSorterDestroy
    linkageType: ''
    returnType: void
    signature: void stNewVtableMergerDestoryReaderInfo(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1697,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1698,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1700,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1707,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1708,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1710,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1711,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1714,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1715,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1718,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1719,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1722,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1724,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1725,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1730,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1730,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - pMerger
    - pTask
    - pDataBlock
    - pIsPseudoCol
    - pFilter
    argTypes:
    - SSTriggerNewVtableMerger*
    - struct SStreamTriggerTask*
    - SSDataBlock*
    - bool*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1691
    functionDepth: 16
    functionLinenumber: 1691
    functionLinenumberEnd: 1733
    functionName: stNewVtableMergerInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - TARRAY_SIZE
    - blockDataEnsureCapacity
    - QUERY_CHECK_NULL
    - createOneDataBlock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - filterSetDataFromSlotId
    - filterInitFromNode
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stNewVtableMergerInit(SSTriggerNewVtableMerger *pMerger, struct
      SStreamTriggerTask *pTask,\n                              SSDataBlock *pDataBlock,
      bool *pIsPseudoCol, SNode *pFilter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pMerger
    argTypes:
    - SSTriggerNewVtableMerger*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1737
    functionName: stNewVtableMergerNeedPseudoCols
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - blockDataGetNumOfRows
    linkageType: ''
    returnType: bool
    signature: bool stNewVtableMergerNeedPseudoCols(SSTriggerNewVtableMerger *pMerger)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1747,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1751,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1756,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1761,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1765,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1768,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1739
    functionDepth: 3
    functionLinenumber: 1739
    functionLinenumberEnd: 1769
    functionName: stNewVtableMergerDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - tMergeTreeDestroy
    - filterFreeInfo
    - blockDataDestroy
    - taosMemFreeClear
    linkageType: ''
    returnType: void
    signature: void stNewVtableMergerDestroy(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1777,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1780,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1784,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1785,1
    - Dst: stNewTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pMerger
    argTypes:
    - SSTriggerNewVtableMerger*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1771
    functionDepth: 2
    functionLinenumber: 1771
    functionLinenumberEnd: 1792
    functionName: stNewVtableMergerReset
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - stNewTimestampSorterReset
    - TARRAY_GET_ELEM
    - TARRAY_SIZE
    - blockDataEmpty
    linkageType: ''
    returnType: void
    signature: void stNewVtableMergerReset(SSTriggerNewVtableMerger *pMerger)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1801,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1802,1
    - Dst: stNewVtableMergerNeedPseudoCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1802,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1809,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1812,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1813,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1820,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1826,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1827,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1829,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1830,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1832,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1833,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1837,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1838,1
    - Dst: stNewTimestampSorterInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1839,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1840,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1842,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1843,1
    - Dst: stNewTimestampSorterSetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1844,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1846,1
    - Dst: stNewTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1848,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1849,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1857,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1862,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1863,1
    - Dst: tMergeTreeRebuild
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1865,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1866,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1871,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1871,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 9
    argNames:
    - pMerger
    - vtbUid
    - tsSlotId
    - pkSlotId
    - pReadRange
    - pTableUids
    - pTableColRefs
    - pMetas
    - pSlices
    argTypes:
    - SSTriggerNewVtableMerger*
    - int64_t
    - int32_t
    - int32_t
    - STimeWindow*
    - SObjList*
    - SArray*
    - SSHashObj*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1794
    functionDepth: 3
    functionLinenumber: 1794
    functionLinenumberEnd: 1874
    functionName: stNewVtableMergerSetData
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - tMergeTreeDestroy
    - tMergeTreeRebuild
    - stNewTimestampSorterInit
    - stNewTimestampSorterSetData
    - tMergeTreeCreate
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - tSimpleHashGet
    - taosObjListInitIter
    - QUERY_CHECK_NULL
    - stNewTimestampSorterNextDataBlock
    - taosObjListIterNext
    - TARRAY_SIZE
    - stNewVtableMergerNeedPseudoCols
    - taosArrayReserve
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stNewVtableMergerSetData(SSTriggerNewVtableMerger *pMerger,
      int64_t vtbUid, int32_t tsSlotId, int32_t pkSlotId,\n                                 STimeWindow
      *pReadRange, SObjList *pTableUids, SArray *pTableColRefs,\n                                 SSHashObj
      *pMetas, SSHashObj *pSlices)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1881,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1885,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1886,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1892,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1893,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1897,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1898,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1901,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1913,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1917,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1918,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1919,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1921,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1922,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1923,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1924,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1925,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1926,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1927,1
    - Dst: stNewTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1934,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1935,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1939,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1939,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1941,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1942,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1943,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1945,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1946,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1947,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1948,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1949,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1950,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1951,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1953,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1954,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1955,1
    - Dst: stNewTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1963,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1964,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1966,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1966,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1967,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1972,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1972,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 2
    argNames:
    - pMerger
    - filled
    argTypes:
    - SSTriggerNewVtableMerger*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1876
    functionDepth: 3
    functionLinenumber: 1876
    functionLinenumberEnd: 1975
    functionName: stNewVtableMergerDoRetrieve
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - colDataGetData
    - TMIN
    - taosArrayGet
    - blockDataGetNumOfRows
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tMergeTreeGetChosenIndex
    - QUERY_CHECK_NULL
    - colDataSetVal
    - stNewTimestampSorterNextDataBlock
    - tMergeTreeGetAdjustIndex
    - tstrerror
    - colDataSetNULL
    - tMergeTreeAdjust
    - colDataAssignNRows
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t stNewVtableMergerDoRetrieve(SSTriggerNewVtableMerger *pMerger,
      bool *filled)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1984,1
    - Dst: blockDataReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1997,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:1999,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2001,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2002,1
    - Dst: stNewVtableMergerDoRetrieve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2006,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2007,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2010,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2018,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2019,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2021,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2022,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2023,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2024,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2025,1
    - Dst: colDataCopyNItems
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2027,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2027,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2028,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2034,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2035,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2036,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2037,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2038,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2039,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2052,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2062,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2063,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2066,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c:2066,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 4
    argNames:
    - pMerger
    - ppDataBlock
    - pStartIdx
    - pEndIdx
    argTypes:
    - SSTriggerNewVtableMerger*
    - SSDataBlock**
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 1977
    functionDepth: 4
    functionLinenumber: 1977
    functionLinenumberEnd: 2069
    functionName: stNewVtableMergerNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerMerger.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - colDataGetData
    - colDataCopyNItems
    - memset
    - colDataDestroy
    - printDataBlock
    - taosArrayGet
    - blockDataGetNumOfRows
    - QUERY_CHECK_CODE
    - filterExecute
    - TARRAY_GET_ELEM
    - blockDataGetNumOfCols
    - ST_TASK_ELOG
    - blockDataReset
    - ST_TASK_DLOG
    - colDataSetNNULL
    - QUERY_CHECK_NULL
    - BitmapLen
    - stNewVtableMergerDoRetrieve
    - tstrerror
    - colDataIsNull_s
    - trimDataBlock
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stNewVtableMergerNextDataBlock(SSTriggerNewVtableMerger *pMerger,
      SSDataBlock **ppDataBlock, int32_t *pStartIdx,\n                                       int32_t
      *pEndIdx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pAlignBlockInfo
    argTypes:
    - SAlignBlocksInMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: getNextBuffStart
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * getNextBuffStart(SAlignBlocksInMem* pAlignBlockInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pAlignBlockInfo
    - usedSize
    argTypes:
    - SAlignBlocksInMem*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: setUsedBlockBuf
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUsedBlockBuf(SAlignBlocksInMem* pAlignBlockInfo, size_t usedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWindowData
    argTypes:
    - SSlidingWindowInMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: getWindowDataBuf
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * getWindowDataBuf(SSlidingWindowInMem* pWindowData)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:47,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:51,1
    - Dst: blockSpecialDecodeLaterPart
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:53,1
    - Dst: getWindowDataBuf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:53,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:54,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:58,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:58,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:60,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - pWindowData
    - tsColSlotId
    - start
    - end
    - ppBlock
    argTypes:
    - SSlidingWindowInMem*
    - int32_t
    - TSKEY
    - TSKEY
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 71
    functionName: getRangeInWindowBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - stError
    - blockSpecialDecodeLaterPart
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataDestroy
    - taosMemoryCalloc
    - getWindowDataBuf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getRangeInWindowBlock(SSlidingWindowInMem* pWindowData, int32_t
      tsColSlotId, TSKEY start, TSKEY end,\n                                     SSDataBlock**
      ppBlock)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:79,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:82,1
    - Dst: getWindowDataBuf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:97,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:102,1
    - Dst: getRangeInWindowBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:104,1
    - Dst: destroyAlignBlockInMemPP
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:115,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:116,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - pResult
    - ppBlock
    - finished
    argTypes:
    - SResultIter*
    - SSDataBlock**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 136
    functionName: getAlignDataFromMem
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - atomic_sub_fetch_64
    - stError
    - destroyAlignBlockInMemPP
    - taosArrayRemove
    - getRangeInWindowBlock
    - getWindowDataBuf
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAlignDataFromMem(SResultIter* pResult, SSDataBlock** ppBlock,
      bool* finished)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:142,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - pSlidingGrpMgr
    argTypes:
    - SSlidingGrpMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: shouldWriteSlidingGrpMemList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - taosHashGetSize
    linkageType: ''
    returnType: bool
    signature: bool shouldWriteSlidingGrpMemList(SSlidingGrpMgr* pSlidingGrpMgr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shouldWriteSlidingGrpMemList
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:164,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:165,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:167,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:170,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:173,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pSlidingGrpMgr
    argTypes:
    - SSlidingGrpMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: updateSlidingGrpUsedMemSize
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - shouldWriteSlidingGrpMemList
    - atomic_sub_fetch_64
    - taosHashGet
    - atomic_add_fetch_64
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void updateSlidingGrpUsedMemSize(SSlidingGrpMgr* pSlidingGrpMgr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:186,1
    - Dst: destroySlidingWindowInMem
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:191,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:193,1
    - Dst: updateSlidingGrpUsedMemSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:198,1
    - Dst: getRangeInWindowBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:201,1
    - Dst: updateSlidingGrpUsedMemSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - pResult
    - ppBlock
    - finished
    argTypes:
    - SResultIter*
    - SSDataBlock**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: getSlidingDataFromMem
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - updateSlidingGrpUsedMemSize
    - destroySlidingWindowInMem
    - taosArrayRemove
    - getRangeInWindowBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSlidingDataFromMem(SResultIter* pResult, SSDataBlock** ppBlock,
      bool* finished)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAlignDataFromMem
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:212,1
    - Dst: getSlidingDataFromMem
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pResult
    - ppBlock
    - finished
    argTypes:
    - SResultIter*
    - SSDataBlock**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: readDataFromMem
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - getSlidingDataFromMem
    - getAlignDataFromMem
    linkageType: ''
    returnType: int32_t
    signature: int32_t readDataFromMem(SResultIter* pResult, SSDataBlock** ppBlock,
      bool* finished)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:219,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pGrpCacheMgr
    - size
    argTypes:
    - SSlidingGrpMgr*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: slidingGrpMgrUsedMemAdd
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_64
    linkageType: ''
    returnType: void
    signature: void slidingGrpMgrUsedMemAdd(SSlidingGrpMgr* pGrpCacheMgr, int64_t
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ppResult
    argTypes:
    - SResultIter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: setNextIteratorFromMem
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool setNextIteratorFromMem(SResultIter** ppResult)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:245,1
    - Dst: blockGetEncodeSizeOfRows
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:248,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:249,1
    - Dst: getStreamBlockTS
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:254,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:255,1
    - Dst: getStreamBlockTS
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:257,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:258,1
    - Dst: blockEncodeAsRows
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:262,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:263,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:268,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:268,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - pBlock
    - tsColSlotId
    - startIndex
    - endIndex
    - ppSlidingWinInMem
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    - int32_t
    - SSlidingWindowInMem**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 273
    functionName: buildSlidingWindowInMem
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - blockEncodeAsRows
    - getStreamBlockTS
    - blockGetEncodeSizeOfRows
    - stError
    - taosMemoryFree
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildSlidingWindowInMem(SSDataBlock* pBlock, int32_t tsColSlotId,
      int32_t startIndex, int32_t endIndex,\n                                SSlidingWindowInMem**
      ppSlidingWinInMem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:278,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: destroySlidingWindowInMem
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 1
    functionsReached:
    - atomic_sub_fetch_64
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroySlidingWindowInMem(void* pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:286,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: destroySlidingWindowInMemPP
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - atomic_sub_fetch_64
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroySlidingWindowInMemPP(void* pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:295,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ppData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: destroyAlignBlockInMemPP
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 1
    functionsReached:
    - atomic_sub_fetch_64
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyAlignBlockInMemPP(void* ppData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:304,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: destroyAlignBlockInMem
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - atomic_sub_fetch_64
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyAlignBlockInMem(void* pData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:318,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:325,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:332,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:333,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:334,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - pAlignGrpMgr
    - dataEncodeBufSize
    - ppAlignBlockInfo
    argTypes:
    - SAlignGrpMgr*
    - size_t
    - SAlignBlocksInMem**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 341
    functionName: getEnoughBuffWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - stError
    - atomic_add_fetch_64
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getEnoughBuffWindow(SAlignGrpMgr* pAlignGrpMgr, size_t dataEncodeBufSize,\n
      \                           SAlignBlocksInMem** ppAlignBlockInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:347,1
    - Dst: blockGetEncodeSizeOfRows
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:350,1
    - Dst: getEnoughBuffWindow
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:354,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:355,1
    - Dst: getNextBuffStart
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:357,1
    - Dst: getWindowDataBuf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:362,1
    - Dst: blockEncodeAsRows
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:364,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:365,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:367,1
    - Dst: setUsedBlockBuf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:371,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:376,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 7
    argNames:
    - pAlignGrpMgr
    - pBlock
    - tsColSlotId
    - wstart
    - wend
    - startIndex
    - endIndex
    argTypes:
    - SAlignGrpMgr*
    - SSDataBlock*
    - int32_t
    - TSKEY
    - TSKEY
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 379
    functionName: buildAlignWindowInMemBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - blockEncodeAsRows
    - getEnoughBuffWindow
    - setUsedBlockBuf
    - blockGetEncodeSizeOfRows
    - stError
    - getNextBuffStart
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - getWindowDataBuf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildAlignWindowInMemBlock(SAlignGrpMgr* pAlignGrpMgr, SSDataBlock*
      pBlock, int32_t tsColSlotId, TSKEY wstart,\n                                   TSKEY
      wend, int32_t startIndex, int32_t endIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:385,1
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:388,1
    - Dst: getEnoughBuffWindow
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:390,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:391,1
    - Dst: getNextBuffStart
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:393,1
    - Dst: getWindowDataBuf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:398,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:402,1
    - Dst: setUsedBlockBuf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:403,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:408,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - pAlignGrpMgr
    - pBlock
    - tsColSlotId
    - wstart
    - wend
    argTypes:
    - SAlignGrpMgr*
    - SSDataBlock*
    - int32_t
    - TSKEY
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 411
    functionName: buildMoveAlignWindowInMem
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - blockGetEncodeSize
    - getEnoughBuffWindow
    - setUsedBlockBuf
    - stError
    - atomic_add_fetch_64
    - getNextBuffStart
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - getWindowDataBuf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildMoveAlignWindowInMem(SAlignGrpMgr* pAlignGrpMgr, SSDataBlock*
      pBlock, int32_t tsColSlotId, TSKEY wstart,\n                                  TSKEY
      wend)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:419,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:422,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:427,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:431,1
    - Dst: hasEnoughMemSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:434,1
    - Dst: changeMgrStatusToMoving
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:437,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:439,1
    - Dst: moveSlidingGrpMemCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:443,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:444,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:446,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:448,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:451,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:453,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 456
    functionName: moveMemFromWaitList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCancelIterate
    - changeMgrStatusToMoving
    - changeMgrStatus
    - taosHashGetSize
    - stError
    - hasEnoughMemSize
    - stInfo
    - moveSlidingGrpMemCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t moveMemFromWaitList(int8_t mode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:461,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:465,1
    - Dst: changeMgrStatusToMoving
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:468,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:470,1
    - Dst: moveSlidingGrpMemCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:473,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:474,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:476,1
    - Dst: hasEnoughMemSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:478,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:481,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c:484,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - pSlidingTaskMgr
    argTypes:
    - SSlidingTaskDSMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 487
    functionName: moveSlidingTaskMemCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkCache.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCancelIterate
    - changeMgrStatusToMoving
    - stError
    - changeMgrStatus
    - hasEnoughMemSize
    - moveSlidingGrpMemCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t moveSlidingTaskMemCache(SSlidingTaskDSMgr* pSlidingTaskMgr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:21,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:23,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:23,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:29,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:31,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:31,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:34,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:35,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:42,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:44,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:46,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:48,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:48,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:49,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:53,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 61
    functionName: stRunnerInitTaskExecMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - tdListAppend
    - ST_TASK_DLOG
    - tdListNew
    - taosThreadMutexInit
    - taosThreadMutexUnlock
    - tstrncpy
    - TSDB_CHECK_NULL
    - tstrerror
    - taosThreadMutexLock
    - TAOS_CHECK_EXIT
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerInitTaskExecMgr(SStreamRunnerTask* pTask, const SStreamRunnerDeployMsg*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDestroyStRtFuncInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRuntime
    argTypes:
    - SStreamRuntimeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: stRunnerDestroyRuntimeInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - tDestroyStRtFuncInfo
    linkageType: ''
    returnType: void
    signature: void stRunnerDestroyRuntimeInfo(SStreamRuntimeInfo* pRuntime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamDestroyExecTask
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:70,1
    - Dst: dsDestroyDataSinker
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:71,1
    - Dst: stRunnerDestroyRuntimeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:72,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pExec
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: stRunnerDestroyTaskExecution
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - streamDestroyExecTask
    - dsDestroyDataSinker
    - stRunnerDestroyRuntimeInfo
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void stRunnerDestroyTaskExecution(void* pExec)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:79,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:81,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:81,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:84,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:89,1
    - Dst: tdListAppendNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:90,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:92,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:97,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:97,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:100,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:105,1
    - Dst: tdListAppendNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:106,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:115,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:127,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:132,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:132,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:133,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 4
    argNames:
    - pTask
    - execId
    - markRunning
    - ppExec
    argTypes:
    - SStreamRunnerTask*
    - int32_t
    - bool
    - SStreamRunnerTaskExecution**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 135
    functionName: stRunnerTaskAcquireExec
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_DLOG
    - tdListGetHead
    - tdListPopNode
    - tdListAppendNode
    - taosThreadMutexUnlock
    - TAOS_UNUSED
    - tstrerror
    - taosThreadMutexLock
    - ST_TASK_ELOG
    - tdListPopHead
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerTaskAcquireExec(SStreamRunnerTask* pTask, int32_t execId,
      bool markRunning, SStreamRunnerTaskExecution** ppExec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:139,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:141,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:141,1
    - Dst: listNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:144,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:145,1
    - Dst: tdListPrependNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:146,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:147,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pTask
    - pExec
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: stRunnerTaskReleaseExec
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - tdListPrependNode
    - tdListPopNode
    - taosThreadMutexUnlock
    - TAOS_UNUSED
    - tstrerror
    - listNode
    - taosThreadMutexLock
    - ST_TASK_ELOG
    linkageType: ''
    returnType: void
    signature: void stRunnerTaskReleaseExec(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:152,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:156,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:159,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:160,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:161,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: stSetRunnerOutputInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - TSWAP
    linkageType: ''
    returnType: void
    signature: void stSetRunnerOutputInfo(SStreamRunnerTask* pTask, SStreamRunnerDeployMsg*
      pMsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_DLOGL
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:169,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:172,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:173,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:174,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:181,1
    - Dst: stRunnerInitTaskExecMgr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:183,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:185,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:185,1
    - Dst: nodesStringToList
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:191,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:192,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:194,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:194,1
    - Dst: stSetRunnerOutputInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:199,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:200,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:201,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:203,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 210
    functionName: stRunnerTaskDeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - nodesStringToList
    - ST_TASK_DLOG
    - TSWAP
    - nodesStringToNode
    - stRunnerInitTaskExecMgr
    - strerror
    - stSetRunnerOutputInfo
    - ST_TASK_DLOGL
    - tstrerror
    - ST_TASK_ELOG
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerTaskDeploy(SStreamRunnerTask* pTask, SStreamRunnerDeployMsg*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:215,1
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:216,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:217,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:217,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:218,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:219,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:220,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:221,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:222,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:223,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:224,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:225,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:226,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:227,1
    - Dst: cb
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - ppTask
    - pMsg
    - cb
    argTypes:
    - SStreamRunnerTask**
    - SStreamUndeployTaskMsg*
    - taskUndeplyCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 232
    functionName: stRunnerTaskUndeployImpl
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - tdListFreeP
    - cb
    - taosArrayDestroyP
    - NODES_DESTORY_NODE
    - taosThreadMutexDestroy
    - TAOS_UNUSED
    - taosArrayDestroy
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerTaskUndeployImpl(SStreamRunnerTask** ppTask, const
      SStreamUndeployTaskMsg* pMsg, taskUndeplyCallback cb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:242,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:244,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:248,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:248,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:251,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:251,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:252,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:255,1
    - Dst: qAsyncKillTask
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:255,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:258,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:258,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:259,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamRunnerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 260
    functionName: stRunnerKillAllExecs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_DLOG
    - tdListGetHead
    - qAsyncKillTask
    - listNEles
    - TAOS_UNUSED
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    - ST_TASK_ELOG
    linkageType: ''
    returnType: void
    signature: void stRunnerKillAllExecs(SStreamRunnerTask *pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stRunnerKillAllExecs
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:268,1
    - Dst: taosWTryForceLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:270,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:271,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:275,1
    - Dst: stRunnerTaskUndeployImpl
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ppTask
    - force
    argTypes:
    - SStreamRunnerTask**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 278
    functionName: stRunnerTaskUndeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosWTryForceLockLatch
    - stsDebug
    - ST_TASK_DLOG
    - stRunnerTaskUndeployImpl
    - stRunnerKillAllExecs
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerTaskUndeploy(SStreamRunnerTask** ppTask, bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHasRWWFlag
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamRunnerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: stRunnerTaskWaitQuit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosHasRWWFlag
    linkageType: ''
    returnType: bool
    signature: bool stRunnerTaskWaitQuit(SStreamRunnerTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:285,1
    - Dst: streamClearStatesForOperators
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pTask
    - pExec
    - ignoreTbName
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: stRunnerResetTaskExec
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - streamClearStatesForOperators
    - ST_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerResetTaskExec(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec, bool ignoreTbName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:294,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:295,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:298,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:299,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:300,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:303,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:303,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:306,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:306,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:309,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:312,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:312,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:315,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - pTask
    - pVal
    - pCol
    argTypes:
    - SStreamRunnerTask*
    - SStreamGroupValue*
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 322
    functionName: stMakeSValueFromColInfoData
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - memcpy
    - colDataGetData
    - strerror
    - varDataLen
    - colDataIsNull
    - varDataVal
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - valueSetDatum
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stMakeSValueFromColInfoData(SStreamRunnerTask* pTask, SStreamGroupValue*
      pVal,\n                                           const SColumnInfoData* pCol)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:326,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: stRunnerFreeTagInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void stRunnerFreeTagInfo(void* p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:337,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:339,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:341,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:341,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:345,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:347,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:358,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:360,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:362,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:362,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:363,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:371,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:372,1
    - Dst: streamCalcOneScalarExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:374,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:377,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:381,1
    - Dst: stMakeSValueFromColInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:382,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:383,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:384,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:385,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:386,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 3
    argNames:
    - pTask
    - pExec
    - ppTagVals
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 394
    functionName: stRunnerCalcSubTbTagVal
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - colInfoDataEnsureCapacity
    - taosArrayGet
    - strerror
    - colDataSetVal
    - stMakeSValueFromColInfoData
    - FOREACH
    - nodesGetValueFromNode
    - streamCalcOneScalarExpr
    - tstrncpy
    - taosArrayInit
    - sclFreeParam
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRunnerCalcSubTbTagVal(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec,\n                                       SArray** ppTagVals)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stRunnerCalcSubTbTagVal
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pTask
    - pExec
    - ppTagVals
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: stRunnerInitTbTagVal
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - stRunnerCalcSubTbTagVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerInitTbTagVal(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec, SArray** ppTagVals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:410,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:412,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTask
    - pExec
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: stRunnerLogWinLatency
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - taosGetTimestampMs
    - taosArrayGetLast
    linkageType: ''
    returnType: void
    signature: void stRunnerLogWinLatency(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stRunnerTaskWaitQuit
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:419,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:420,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:428,1
    - Dst: stRunnerLogWinLatency
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:429,1
    - Dst: streamCalcOutputTbName
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:433,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:434,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:438,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:438,1
    - Dst: stRunnerInitTbTagVal
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:441,1
    - Dst: dsPutDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:450,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:451,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:453,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:456,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:456,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - pTask
    - pExec
    - pBlock
    - createTb
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SSDataBlock*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 462
    functionName: stRunnerOutputBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - stRunnerTaskWaitQuit
    - taosArrayDestroyEx
    - dsPutDataBlock
    - stDebug
    - ST_TASK_DLOG
    - stRunnerLogWinLatency
    - streamCalcOutputTbName
    - stRunnerInitTbTagVal
    - taosArrayGetSize
    - tstrerror
    - printDataBlock
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRunnerOutputBlock(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec, SSDataBlock* pBlock,\n                                   bool* createTb)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stRunnerTaskWaitQuit
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:467,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:468,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:480,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:480,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:483,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:483,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:486,1
    - Dst: stRunnerOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:486,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:490,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:492,1
    - Dst: stRunnerOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:492,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:493,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:500,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:500,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 5
    argNames:
    - pTask
    - pExec
    - pBlock
    - finished
    - createTb
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SSDataBlock*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 464
    functionDepth: 5
    functionLinenumber: 464
    functionLinenumberEnd: 504
    functionName: stRunnerMergeOutputBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - blockDataMerge
    - stRunnerTaskWaitQuit
    - blockDataCleanup
    - stRunnerOutputBlock
    - createOneDataBlock
    - taosArrayGetSize
    - tstrerror
    - TAOS_CHECK_EXIT
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerMergeOutputBlock(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec, SSDataBlock* pBlock, bool finished, bool* createTb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: streamBuildBlockResultNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:515,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:517,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:518,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:520,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:522,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:530,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:530,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:531,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 6
    argNames:
    - pTask
    - pExec
    - pBlock
    - curWinIdx
    - startRow
    - endRow
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SSDataBlock*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 8
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: streamPrepareNotification
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ST_TASK_DLOG
    - taosArrayGet
    - streamBuildBlockResultNotifyContent
    - tstrerror
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamPrepareNotification(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec,\n                                         const SSDataBlock* pBlock,
      const int32_t curWinIdx, const int32_t startRow,\n                                         const
      int32_t endRow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:541,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pExec
    - startWinIdx
    - endWinIdx
    argTypes:
    - SStreamRunnerTaskExecution*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: clearNotifyContent
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: void clearNotifyContent(SStreamRunnerTaskExecution* pExec, int32_t
      startWinIdx, int32_t endWinIdx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:558,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:560,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:561,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:565,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:570,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:580,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:584,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:584,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:586,1
    - Dst: clearNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:591,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:592,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - pTask
    - pExec
    - tbname
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 548
    functionDepth: 4
    functionLinenumber: 548
    functionLinenumberEnd: 594
    functionName: streamDoNotificationCurrentWins
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - clearNotifyContent
    - ST_TASK_DLOG
    - taosArrayGet
    - taosMemCalloc
    - streamSendNotifyContent
    - tstrerror
    - TAOS_CHECK_EXIT
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamDoNotificationCurrentWins(SStreamRunnerTask* pTask,
      SStreamRunnerTaskExecution* pExec,\n                                               const
      char* tbname)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: streamCalcOutputTbName
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:605,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:607,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:607,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:610,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:614,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:617,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:622,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:626,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:629,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:636,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:642,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:642,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:644,1
    - Dst: clearNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:649,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:650,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 5
    argNames:
    - pTask
    - pExec
    - startWinIdx
    - endWinIdx
    - tbname
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 596
    functionDepth: 4
    functionLinenumber: 596
    functionLinenumberEnd: 652
    functionName: streamDoNotification
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - taosMemoryFreeClear
    - clearNotifyContent
    - taosArrayGet
    - ST_TASK_DLOG
    - streamCalcOutputTbName
    - taosMemCalloc
    - streamSendNotifyContent
    - tstrerror
    - TAOS_CHECK_EXIT
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamDoNotification(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec, int32_t startWinIdx,\n                                    int32_t endWinIdx,
      const char* tbname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamCalcOutputTbName
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:660,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:662,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:662,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:665,1
    - Dst: streamBuildBlockResultNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:669,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:672,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:675,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:677,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:679,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:684,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:687,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pTask
    - pExec
    - pBlock
    - tbname
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 654
    functionDepth: 8
    functionLinenumber: 654
    functionLinenumberEnd: 690
    functionName: streamDoNotification1For1
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - taosMemoryFreeClear
    - ST_TASK_DLOG
    - taosArrayGet
    - streamCalcOutputTbName
    - streamBuildBlockResultNotifyContent
    - streamSendNotifyContent
    - tstrerror
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamDoNotification1For1(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec,\n                                         const SSDataBlock* pBlock,
      const char* tbname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stRunnerMergeOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:694,1
    - Dst: streamDoNotification1For1
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:697,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:699,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - pTask
    - pExec
    - pBlock
    - pCreateTb
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SSDataBlock*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 692
    functionDepth: 9
    functionLinenumber: 692
    functionLinenumberEnd: 706
    functionName: stRunnerHandleSingleWinResultBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - streamDoNotification1For1
    - ST_TASK_ELOG
    - stRunnerMergeOutputBlock
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRunnerHandleSingleWinResultBlock(SStreamRunnerTask* pTask,
      SStreamRunnerTaskExecution* pExec,\n                                                  SSDataBlock*
      pBlock, bool* pCreateTb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:715,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:722,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:724,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:726,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - pSrc
    - pDst
    - start
    - rowsToCopy
    - ppExtraBlock
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    - int32_t
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 732
    functionName: stRunnerMergeBlockHandleOverflow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - blockDataMergeNRows
    - blockDataDestroy
    - createOneDataBlock
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRunnerMergeBlockHandleOverflow(const SSDataBlock* pSrc,
      SSDataBlock* pDst, int32_t start,\n                                                int32_t
      rowsToCopy, SSDataBlock** ppExtraBlock)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stDebugL
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:737,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:746,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:752,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:753,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:753,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:756,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:757,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:757,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:758,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:758,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:759,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:763,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:769,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:775,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:776,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:777,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:778,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:780,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:787,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - pTask
    - pBlock
    - pWinIdxArr
    argTypes:
    - SStreamRunnerTask*
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 790
    functionName: printOutputProjBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - strncat
    - taosArrayGet
    - ST_TASK_DLOG
    - colDataGetNumData
    - snprintf
    - TAOS_UNUSED
    - strlen
    - colDataIsNull_s
    - stDebugL
    linkageType: ''
    returnType: void
    signature: void printOutputProjBlock(SStreamRunnerTask* pTask, const SSDataBlock*
      pBlock, const SArray* pWinIdxArr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stRunnerMergeOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - pTask
    - pExec
    - ppForceOutBlock
    - finished
    - createTable
    - pNextOutIdx
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SSDataBlock**
    - bool
    - bool*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 792
    functionDepth: 6
    functionLinenumber: 792
    functionLinenumberEnd: 804
    functionName: stRunnerAdvanceExternalWinOutput
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - stRunnerMergeOutputBlock
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRunnerAdvanceExternalWinOutput(SStreamRunnerTask* pTask,
      SStreamRunnerTaskExecution* pExec,\n                                                SSDataBlock**
      ppForceOutBlock, bool finished, bool* createTable,\n                                                int32_t*
      pNextOutIdx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:813,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:816,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:820,1
    - Dst: streamForceOutput
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:820,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:821,1
    - Dst: streamPrepareNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:821,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:826,1
    - Dst: stRunnerMergeOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:826,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:828,1
    - Dst: streamDoNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:828,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:835,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:836,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:841,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:846,1
    - Dst: streamPrepareNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:846,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:848,1
    - Dst: stRunnerAdvanceExternalWinOutput
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:848,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:851,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:855,1
    - Dst: streamForceOutput
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:855,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:856,1
    - Dst: streamPrepareNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:856,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:860,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:861,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:865,1
    - Dst: streamPrepareNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:865,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:870,1
    - Dst: streamForceOutput
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:870,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:871,1
    - Dst: streamPrepareNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:871,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:878,1
    - Dst: streamPrepareNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:878,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:880,1
    - Dst: stRunnerAdvanceExternalWinOutput
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:880,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:886,1
    - Dst: stRunnerMergeOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:886,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:890,1
    - Dst: streamDoNotification
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:890,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:894,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:894,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 7
    argNames:
    - pTask
    - pExec
    - pBlock
    - ppForceOutBlock
    - pNextOutIdx
    - finished
    - createTable
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    - SSDataBlock*
    - SSDataBlock**
    - int32_t*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 806
    functionDepth: 9
    functionLinenumber: 806
    functionLinenumberEnd: 897
    functionName: stRunnerTopTaskHandleExternalWinOutputBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - streamForceOutput
    - TAOS_CHECK_GOTO
    - blockDataCleanup
    - streamDoNotification
    - stRunnerAdvanceExternalWinOutput
    - streamPrepareNotification
    - taosArrayGetSize
    - tstrerror
    - ST_TASK_ELOG
    - stRunnerMergeOutputBlock
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRunnerTopTaskHandleExternalWinOutputBlock(SStreamRunnerTask*
      pTask, SStreamRunnerTaskExecution* pExec,\n                                                    SSDataBlock*
      pBlock, SSDataBlock** ppForceOutBlock,\n                                                    int32_t*
      pNextOutIdx, bool finished, bool* createTable)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:901,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:906,1
    - Dst: qCreateStreamExecTaskInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:924,1
    - Dst: qCreateStreamExecTaskInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:927,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:930,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:930,1
    - Dst: qSetTaskId
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:934,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:940,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:940,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:944,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - pTask
    - pExec
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 948
    functionName: stRunnerBuildTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_DLOG
    - qSetTaskId
    - qCreateStreamExecTaskInfo
    - taosGetTimestampMs
    - tstrerror
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerBuildTask(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:956,1
    - Dst: stRunnerTaskAcquireExec
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:961,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:963,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:963,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:969,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:972,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:982,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:983,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:986,1
    - Dst: stRunnerBuildTask
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:986,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:988,1
    - Dst: stRunnerResetTaskExec
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:988,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:996,1
    - Dst: stRunnerTaskWaitQuit
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:999,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1000,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1005,1
    - Dst: streamExecuteTask
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1005,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1006,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1009,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1012,1
    - Dst: stRunnerTopTaskHandleExternalWinOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1012,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1017,1
    - Dst: streamForceOutput
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1018,1
    - Dst: stRunnerHandleSingleWinResultBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1020,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1024,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1026,1
    - Dst: stRunnerHandleSingleWinResultBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1030,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1036,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1045,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1045,1
    - Dst: stRunnerResetTaskExec
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1051,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1053,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1053,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1064,1
    - Dst: stRunnerOutputBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1068,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1069,1
    - Dst: streamDoNotificationCurrentWins
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1070,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1071,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1073,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1077,1
    - Dst: stRunnerTaskReleaseExec
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1079,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1082,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1084,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1084,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1090,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 112
    argCount: 2
    argNames:
    - pTask
    - pReq
    argTypes:
    - SStreamRunnerTask*
    - SSTriggerCalcRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 950
    functionDepth: 10
    functionLinenumber: 950
    functionLinenumberEnd: 1093
    functionName: stRunnerTaskExecute
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - stRunnerTaskWaitQuit
    - TAOS_CHECK_GOTO
    - stRunnerBuildTask
    - stRunnerOutputBlock
    - printDataBlock
    - stRunnerTaskAcquireExec
    - blockDataCleanup
    - stRunnerTaskReleaseExec
    - createOneDataBlock
    - taosArrayGetSize
    - STREAM_CHECK_CONDITION_GOTO
    - ST_TASK_ELOG
    - ST_TASK_ILOG
    - STREAM_CHECK_RET_GOTO
    - ST_TASK_DLOG
    - TSWAP
    - streamExecuteTask
    - streamDoNotificationCurrentWins
    - stRunnerTopTaskHandleExternalWinOutputBlock
    - streamForceOutput
    - stRunnerResetTaskExec
    - blockDataDestroy
    - tstrerror
    - stRunnerHandleSingleWinResultBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerTaskExecute(SStreamRunnerTask* pTask, SSTriggerCalcRequest*
      pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1097,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1102,1
    - Dst: qCreateStreamExecTaskInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1120,1
    - Dst: qCreateStreamExecTaskInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1123,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1126,1
    - Dst: qSetTaskId
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1130,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1136,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1136,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1140,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1141,1
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - pTask
    - pExec
    argTypes:
    - SStreamRunnerTask*
    - SStreamRunnerTaskExecution*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1144
    functionName: streamBuildTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - atomic_fetch_add_32
    - ST_TASK_DLOG
    - qSetTaskId
    - qCreateStreamExecTaskInfo
    - taosGetTimestampMs
    - tstrerror
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamBuildTask(SStreamRunnerTask* pTask, SStreamRunnerTaskExecution*
      pExec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1150,1
    - Dst: readStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1150,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1153,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1153,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1161,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pInfo
    - finished
    argTypes:
    - SStreamCacheReadInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1146
    functionDepth: 2
    functionLinenumber: 1146
    functionLinenumberEnd: 1165
    functionName: stRunnerFetchDataFromCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - readStreamDataCache
    - stsError
    - getNextStreamDataCache
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerFetchDataFromCache(SStreamCacheReadInfo* pInfo, bool*
      finished)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dropStreamTable
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1169,1
    - Dst: streamCalcOutputTbName
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1173,1
    - Dst: dropStreamTableByTbName
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTask
    - pReq
    argTypes:
    - SStreamRunnerTask*
    - SSTriggerDropRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1179
    functionName: stRunnerTaskDropTable
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - streamCalcOutputTbName
    - dropStreamTable
    - dropStreamTableByTbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerTaskDropTable(SStreamRunnerTask* pTask, SSTriggerDropRequest*
      pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1184,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1185,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1189,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1189,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1194,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - pTask
    - ppRes
    - execId
    - uid
    - pReq
    argTypes:
    - SStreamRunnerTask*
    - SArray**
    - int32_t
    - int64_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1198
    functionName: stReaderAppendMgmtReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TSDB_CHECK_NULL
    - tstrerror
    - taosArrayInit
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stReaderAppendMgmtReq(SStreamRunnerTask* pTask, SArray** ppRes,
      int32_t execId, int64_t uid, SArray* pReq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1203,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1205,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1205,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1211,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1215,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1217,1
    - Dst: stReaderAppendMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1217,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1222,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1226,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1227,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1228,1
    - Dst: stReaderAppendMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1228,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1233,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1234,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1235,1
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1236,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1240,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1240,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1241,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1244,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1244,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1250,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1250,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1253,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1254,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamRunnerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1258
    functionName: stRunnerBuildTaskMgmtReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 1
    functionsReached:
    - stReaderAppendMgmtReq
    - taosArrayDestroyEx
    - ST_TASK_DLOG
    - tdListGetHead
    - atomic_fetch_add_64
    - atomic_val_compare_exchange_ptr
    - QUERY_CHECK_NULL
    - taosThreadMutexUnlock
    - atomic_store_ptr
    - taosArrayGetSize
    - atomic_load_ptr
    - tstrerror
    - TAOS_UNUSED
    - taosThreadMutexLock
    - TAOS_CHECK_EXIT
    - ST_TASK_ELOG
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerBuildTaskMgmtReq(SStreamRunnerTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1262,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1265,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1266,1
    - Dst: stRunnerTaskAcquireExec
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1266,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1267,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1273,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamRunner.c:1273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pTask
    - pRspList
    argTypes:
    - SStreamRunnerTask*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1260
    functionDepth: 2
    functionLinenumber: 1260
    functionLinenumberEnd: 1277
    functionName: stRunnerSetMgmtRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamRunner.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TSWAP
    - taosArrayGetSize
    - tstrerror
    - TAOS_CHECK_EXIT
    - ST_TASK_ELOG
    - stRunnerTaskAcquireExec
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRunnerSetMgmtRsp(SStreamRunnerTask* pTask, SArray* pRspList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - msgCb
    argTypes:
    - SMsgCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: streamSetSnodeEnabled
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 0
    functionsReached:
    - stInfo
    linkageType: ''
    returnType: void
    signature: void streamSetSnodeEnabled(  SMsgCb* msgCb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:41,1
    - Dst: smUndeploySnodeTasks
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: streamSetSnodeDisabled
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 0
    functionsReached:
    - stInfo
    - smUndeploySnodeTasks
    linkageType: ''
    returnType: void
    signature: void streamSetSnodeDisabled(bool cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:47,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:49,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:51,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: streamMgmtCleanup
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void streamMgmtCleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:64,1
    - Dst: stTriggerTaskEnvCleanup
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:65,1
    - Dst: streamTimerCleanUp
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:66,1
    - Dst: smUndeployAllTasks
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:67,1
    - Dst: destroyDataSinkMgr
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:68,1
    - Dst: streamMgmtCleanup
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:69,1
    - Dst: destroyInserterGrpInfo
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:70,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: streamCleanup
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 0
    functionsReached:
    - destroyInserterGrpInfo
    - stTriggerTaskEnvCleanup
    - destroyDataSinkMgr
    - streamMgmtCleanup
    - streamTimerCleanUp
    - stInfo
    - smUndeployAllTasks
    linkageType: ''
    returnType: void
    signature: void streamCleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:76,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:88,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:89,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:91,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:91,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:92,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:94,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:94,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:95,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:100,1
    - Dst: streamTimerInit
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:100,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:102,1
    - Dst: streamHbInit
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:102,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:104,1
    - Dst: stTriggerTaskEnvInit
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:106,1
    - Dst: initInserterGrpInfo
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:108,1
    - Dst: initStreamDataSink
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:108,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:114,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 4
    argNames:
    - pDnode
    - getDnode
    - getMnode
    - getSynEpset
    argTypes:
    - void*
    - getDnodeId_f
    - getMnodeEpset_f
    - getSynEpset_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 118
    functionName: streamInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 0
    functionsReached:
    - initInserterGrpInfo
    - stError
    - taosGetDefaultHashFunction
    - streamTimerInit
    - stTriggerTaskEnvInit
    - taosHashInit
    - initStreamDataSink
    - streamHbInit
    - TSDB_CHECK_NULL
    - taosArrayInit
    - tstrerror
    - stInfo
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamInit(void* pDnode, getDnodeId_f getDnode, getMnodeEpset_f
      getMnode, getSynEpset_f getSynEpset)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: streamVgIdSort
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamVgIdSort(void const *lp, void const *rp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:139,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:140,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:142,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:144,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:147,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:149,1
    - Dst: smUndeployVgTasks
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: streamRemoveVnodeLeader
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 0
    functionsReached:
    - smUndeployVgTasks
    - taosArrayRemove
    - stWarn
    - taosArraySearchIdx
    - taosWUnLockLatch
    - stInfo
    - taosWLockLatch
    linkageType: ''
    returnType: void
    signature: void streamRemoveVnodeLeader(int32_t vgId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:161,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:162,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:164,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:168,1
    - Dst: smEnableVgDeploy
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:170,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:173,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: streamAddVnodeLeader
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - stInfo
    - taosArraySort
    - stError
    - taosWUnLockLatch
    - tstrerror
    - smEnableVgDeploy
    - taosWLockLatch
    linkageType: ''
    returnType: void
    signature: void streamAddVnodeLeader(int32_t vgId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:182,1
    - Dst: stsWarn
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:184,1
    - Dst: taosRTryLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:189,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:190,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - streamId
    - taskId
    - ppTask
    - ppAddr
    argTypes:
    - int64_t
    - int64_t
    - SStreamTask**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: streamAcquireTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 2
    functionsReached:
    - ST_TASK_DLOG
    - taosHashRelease
    - taosHashAcquire
    - taosRTryLockLatch
    - stsWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamAcquireTask(int64_t streamId, int64_t taskId, SStreamTask**
      ppTask, void** ppAddr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosRUnLockLatch_r
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:207,1
    - Dst: taosIsOnlyWLocked
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:208,1
    - Dst: stReaderTaskUndeploy
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:211,1
    - Dst: stTriggerTaskUndeploy
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:214,1
    - Dst: stRunnerTaskUndeploy
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:217,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - taskAddr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 201
    functionDepth: 6
    functionLinenumber: 201
    functionLinenumberEnd: 225
    functionName: streamReleaseTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 1
    functionsReached:
    - stRunnerTaskUndeploy
    - stTriggerTaskUndeploy
    - taosIsOnlyWLocked
    - taosHashRelease
    - taosRUnLockLatch_r
    - stReaderTaskUndeploy
    linkageType: ''
    returnType: void
    signature: void streamReleaseTask(void* taskAddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_GID
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:228,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:233,1
    - Dst: stsWarn
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:235,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:239,1
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:239,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:243,1
    - Dst: stsWarn
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:246,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - streamId
    - ppTask
    - ppAddr
    argTypes:
    - int64_t
    - SStreamTask**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 250
    functionName: streamAcquireTriggerTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 0
    functionsReached:
    - streamAcquireTask
    - taosHashRelease
    - taosHashAcquire
    - STREAM_GID
    - tstrerror
    - TAOS_CHECK_EXIT
    - stsWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamAcquireTriggerTask(int64_t streamId, SStreamTask** ppTask,
      void** ppAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:256,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:258,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:262,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/new-stream/src/stream.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - streamId
    - taskId
    - errCode
    argTypes:
    - int64_t
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: streamHandleTaskError
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/stream.c
    functionUses: 0
    functionsReached:
    - stError
    - taosHashGet
    - atomic_store_32
    linkageType: ''
    returnType: void
    signature: void streamHandleTaskError(int64_t streamId, int64_t taskId, int32_t
      errCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pContext
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: IS_PATCHING_VITRUAL_TABLE
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PATCHING_VITRUAL_TABLE(pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pGroup
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: IS_TRIGGER_GROUP_TO_CHECK
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRIGGER_GROUP_TO_CHECK(pGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pGroup
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: IS_TRIGGER_GROUP_IN_IDLE_LIST
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRIGGER_GROUP_IN_IDLE_LIST(pGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pGroup
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: IS_TRIGGER_GROUP_NONE_WINDOW
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRIGGER_GROUP_NONE_WINDOW(pGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pGroup
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: IS_TRIGGER_GROUP_OPEN_WINDOW
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRIGGER_GROUP_OPEN_WINDOW(pGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: container_of
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: container_of(ptr, type, member)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:121,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: nodeRewriteSlotid
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - nodeType
    - taosArrayGet
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes nodeRewriteSlotid(SNode *pNode, void *pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:152,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:153,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:154,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:155,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:159,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pTask
    - sessionId
    - resumeTime
    argTypes:
    - SStreamTriggerTask*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 164
    functionName: stTriggerTaskAddWaitSession
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tdListAppend
    - ST_TASK_DLOG
    - QUERY_CHECK_CODE
    - taosWUnLockLatch
    - tstrerror
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskAddWaitSession(SStreamTriggerTask *pTask, int64_t
      sessionId, int64_t resumeTime)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:167,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:172,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:173,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:174,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:177,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:178,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:181,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:183,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:184,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:186,1
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:192,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:194,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:195,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:196,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:197,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:206,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:208,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:210,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:212,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:213,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:213,1
    - Dst: SMsgCb*::putToQueueFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:215,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:217,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:221,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:225,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:229,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:232,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:233,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:234,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 166
    functionDepth: 7
    functionLinenumber: 166
    functionLinenumberEnd: 240
    functionName: stTriggerTaskCheckWaitSession
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - streamAcquireTask
    - streamReleaseTask
    - stDebug
    - stError
    - taosGetTimestampNs
    - tdListInitIter
    - TD_DLIST_APPEND
    - tSerializeSTriggerCtrlRequest
    - rpcMallocCont
    - SMsgCb*::putToQueueFp
    - taosWLockLatch
    - TRACE_SET_MSGID
    - TD_DLIST_POP
    - taosWUnLockLatch
    - tdListNext
    - tGenIdPI64
    - tstrerror
    - streamTmrStart
    - TRACE_SET_ROOTID
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskCheckWaitSession(void *param, void *tmrId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:243,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:244,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: stTriggerTaskEnvDoInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - streamTmrStart
    - tdListInit
    - taosInitRWLatch
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskEnvDoInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:250,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:252,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:252,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: stTriggerTaskEnvInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosThreadOnce
    - stError
    - atomic_load_32
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskEnvInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:259,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:260,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:261,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: stTriggerTaskEnvCleanup
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosWLockLatch
    - streamTmrStop
    - tdListEmpty
    - taosWUnLockLatch
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskEnvCleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:268,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:269,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:272,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:273,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:288,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:289,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - pTask
    - sessionId
    - param
    - ppAhandle
    argTypes:
    - SStreamTriggerTask*
    - int64_t
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 293
    functionName: stTriggerTaskAllocAhandle
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - TSDB_CHECK_NULL
    - tstrerror
    - ST_TASK_ELOG
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskAllocAhandle(SStreamTriggerTask *pTask, int64_t
      sessionId, void *param, void **ppAhandle)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:328,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:329,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:335,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:349,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:356,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:366,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:379,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:397,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - pTask
    - ts
    argTypes:
    - SStreamTriggerTask*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 409
    functionName: stTriggerTaskGetTimeWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 16
    functionsReached:
    - taosTimeAdd
    - convertTimePrecision
    - taosTimeGetIntervalEnd
    - alignToNaturalBoundary
    - taosTimeTruncate
    linkageType: ''
    returnType: STimeWindow
    signature: STimeWindow stTriggerTaskGetTimeWindow(SStreamTriggerTask *pTask, int64_t
      ts)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:416,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:417,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:418,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:420,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:423,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:441,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:458,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - pTask
    - pWindow
    argTypes:
    - SStreamTriggerTask*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 465
    functionName: stTriggerTaskPrevTimeWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosTimeTruncate
    - taosTimeAdd
    - convertTimePrecision
    - taosTimeGetIntervalEnd
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskPrevTimeWindow(SStreamTriggerTask *pTask, STimeWindow
      *pWindow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:499,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:500,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:501,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:503,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:506,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:524,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:541,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pTask
    - pWindow
    argTypes:
    - SStreamTriggerTask*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 547
    functionName: stTriggerTaskNextTimeWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 5
    functionsReached:
    - taosTimeTruncate
    - taosTimeAdd
    - convertTimePrecision
    - taosTimeGetIntervalEnd
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskNextTimeWindow(SStreamTriggerTask *pTask, STimeWindow
      *pWindow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:558,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:559,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:560,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:564,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:565,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:566,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:568,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:569,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:570,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:571,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:573,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:574,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:577,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:577,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:578,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:580,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:582,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:584,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:587,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:588,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:590,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:592,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:593,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:594,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:595,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:598,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:598,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:599,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:601,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:603,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:605,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:606,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:607,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:608,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:609,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:612,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:613,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:615,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:620,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:622,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 4
    argNames:
    - pTask
    - buf
    - pLen
    - version
    argTypes:
    - SStreamTriggerTask*
    - uint8_t*
    - int64_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 625
    functionName: stTriggerTaskDoGenCheckpoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - ST_TASK_ELOG
    - tEncodeI8
    - tstrerror
    - tEncoderClear
    - TMAX
    - tEncodeI64
    - tSimpleHashGetSize
    - tStartEncode
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tSimpleHashIterate
    - tEndEncode
    - tEncoderInit
    - tEncodeI32
    - tSimpleHashGetKey
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskDoGenCheckpoint(SStreamTriggerTask *pTask, uint8_t
      *buf, int64_t *pLen, int32_t version)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:632,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:634,1
    - Dst: stTriggerTaskDoGenCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:635,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:636,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:640,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:641,1
    - Dst: stTriggerTaskDoGenCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:642,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:643,1
    - Dst: streamWriteCheckPoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:644,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:645,1
    - Dst: getSynEpset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:647,1
    - Dst: streamSyncWriteCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:649,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:651,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:654,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:657,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:659,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTriggerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 662
    functionName: stTriggerTaskGenCheckpoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - stTriggerTaskDoGenCheckpoint
    - ST_TASK_DLOG
    - taosMemoryFreeClear
    - getSynEpset
    - QUERY_CHECK_NULL
    - atomic_add_fetch_32
    - QUERY_CHECK_CODE
    - tstrerror
    - streamWriteCheckPoint
    - ST_TASK_ELOG
    - streamSyncWriteCheckpoint
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskGenCheckpoint(SStreamTriggerTask *pTask)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:676,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:677,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:678,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:680,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:681,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:682,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:683,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:684,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:686,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:687,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:688,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:694,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:695,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:700,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:701,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:702,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:703,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:705,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:706,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:710,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:713,1
    - Dst: ST_TASK_WLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:715,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:724,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:728,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:729,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:733,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:734,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:735,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:736,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:737,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:738,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:739,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:740,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:741,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:745,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:746,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:747,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:748,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:750,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:752,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:753,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:758,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:760,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:763,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:765,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:765,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 3
    argNames:
    - pTask
    - buf
    - len
    argTypes:
    - SStreamTriggerTask*
    - uint8_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 768
    functionName: stTriggerTaskParseCheckpoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - ST_TASK_WLOG
    - tDecoderClear
    - atomic_store_8
    - tEndDecode
    - QUERY_CHECK_CODE
    - tStartDecode
    - ST_TASK_ELOG
    - tSimpleHashGet
    - ST_TASK_ILOG
    - tDecodeIsEnd
    - ST_TASK_DLOG
    - tSimpleHashClear
    - atomic_store_32
    - tDecodeI8
    - tstrerror
    - tSimpleHashPut
    - tDecoderInit
    - tDecodeI64
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskParseCheckpoint(SStreamTriggerTask *pTask, uint8_t
      *buf, int64_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:774,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:777,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:788,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:789,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:790,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:791,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:792,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:794,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:795,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:798,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:799,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:806,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:807,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:811,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:812,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:813,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:814,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:821,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:826,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:840,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:841,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:842,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:843,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:844,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:846,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:847,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:848,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:849,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:852,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:853,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:860,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:861,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:865,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:866,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:867,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:868,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:871,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:872,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:877,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:877,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 4
    argNames:
    - pTask
    - pInfo
    - pSlots
    - pColRefs
    argTypes:
    - SStreamTriggerTask*
    - VTableInfo*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 880
    functionName: stTriggerTaskGenVirColRefs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TARRAY_SIZE
    - QUERY_CHECK_NULL
    - taosArrayReserve
    - taosArrayGetSize
    - taosArrayInit
    - TARRAY_GET_ELEM
    - tstrerror
    - strlen
    - ST_TASK_ELOG
    - IS_PATCHING_VITRUAL_TABLE
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskGenVirColRefs(SStreamTriggerTask *pTask, VTableInfo
      *pInfo, SArray *pSlots,\n                                          SArray *pColRefs)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:891,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:904,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:905,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:906,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:907,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:908,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:910,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:911,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:914,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:917,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:919,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:920,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:921,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:922,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:922,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:923,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:924,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:924,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:925,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:926,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:927,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:933,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:934,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:941,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:942,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:946,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:947,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:948,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:949,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:951,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:953,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:954,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:956,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:957,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:960,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:961,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:968,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:972,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:986,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:987,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:988,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:989,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:990,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:992,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:993,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:994,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:995,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:998,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1001,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1003,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1004,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1005,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1006,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1006,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1007,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1008,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1008,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1009,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1010,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1011,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1014,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1016,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1017,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1018,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1019,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1025,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1026,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1033,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1034,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1038,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1039,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1040,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1041,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1043,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1044,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1046,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1047,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1049,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1050,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1053,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1054,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1057,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1058,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1063,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1063,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 123
    argCount: 4
    argNames:
    - pTask
    - pInfo
    - isTriggerData
    - pColRefs
    argTypes:
    - SStreamTriggerTask*
    - VTableInfo*
    - bool
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 1066
    functionName: stTriggerTaskNewGenVirColRefs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TARRAY_SIZE
    - tstrerror
    - tSimpleHashPut
    - QUERY_CHECK_NULL
    - blockDataGetNumOfCols
    - taosArrayReserve
    - tSimpleHashInit
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - taosArrayInit
    - strlen
    - ST_TASK_ELOG
    - TARRAY_GET_ELEM
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskNewGenVirColRefs(SStreamTriggerTask *pTask, VTableInfo
      *pInfo, bool isTriggerData,\n                                             SArray
      *pColRefs)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1082,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1085,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1088,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1089,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1090,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1091,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1095,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1097,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1098,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1099,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1107,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1109,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1110,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1111,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1113,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1114,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1115,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1122,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1124,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1125,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1125,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1129,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1130,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1133,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1134,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1135,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1148,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1149,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1151,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1154,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1155,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1157,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1161,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1161,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1162,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1163,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1165,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1168,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1168,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1169,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1170,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1172,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1180,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1184,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1187,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1187,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 94
    argCount: 4
    argNames:
    - pTask
    - sessionId
    - gid
    - ppRequest
    argTypes:
    - SStreamTriggerTask*
    - int64_t
    - int64_t
    - SSTriggerCalcRequest**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1190
    functionName: stTriggerTaskAcquireRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - tSimpleHashSetFreeFp
    - TARRAY_ELEM_IDX
    - TD_DLIST_HEAD
    - taosArrayGet
    - TD_DLIST_NELES
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - tSimpleHashInit
    - TARRAY_GET_ELEM
    - taosWLockLatch
    - taosMemoryCalloc
    - ST_TASK_ELOG
    - taosArrayClearEx
    - tSimpleHashGet
    - TD_DLIST_POP
    - tSimpleHashClear
    - QUERY_CHECK_NULL
    - taosWUnLockLatch
    - TARRAY_SIZE
    - tSimpleHashPut
    - taosMemoryFree
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskAcquireRequest(SStreamTriggerTask *pTask, int64_t
      sessionId, int64_t gid,\n                                    SSTriggerCalcRequest
      **ppRequest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1203,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1204,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1205,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1206,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1207,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1210,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1212,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1218,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1220,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1224,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1225,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1229,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1230,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1231,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1234,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1235,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1237,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1238,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1238,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1239,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1243,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1246,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - pTask
    - ppRequest
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerCalcRequest**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1249
    functionName: stTriggerTaskReleaseRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - taosArrayGet
    - TARRAY_ELEM_IDX
    - tSimpleHashClear
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosWUnLockLatch
    - tstrerror
    - TARRAY_GET_ELEM
    - taosWLockLatch
    - TD_DLIST_APPEND
    - taosArrayClearEx
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskReleaseRequest(SStreamTriggerTask *pTask, SSTriggerCalcRequest
      **ppRequest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1258,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1261,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1268,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1271,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pTask
    - sessionId
    - pNumRunningReq
    argTypes:
    - SStreamTriggerTask*
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1274
    functionName: stTriggerTaskGetRunningReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosWLockLatch
    - taosWUnLockLatch
    - tstrerror
    - ST_TASK_ELOG
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskGetRunningReq(SStreamTriggerTask *pTask, int64_t
      sessionId, int64_t *pNumRunningReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1284,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1286,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1288,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1289,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1290,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1291,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1292,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1293,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1294,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1298,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1300,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1306,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1313,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1316,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - pTask
    - pRequest
    - sessionId
    - gid
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerCalcRequest*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1319
    functionName: stTriggerTaskCheckCreate
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - tSimpleHashPut
    - QUERY_CHECK_NULL
    - taosMemoryFree
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosWUnLockLatch
    - tstrerror
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskCheckCreate(SStreamTriggerTask *pTask, SSTriggerCalcRequest
      *pRequest, int64_t sessionId,\n                                 int64_t gid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1331,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1336,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1342,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1343,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1346,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1346,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1346,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1347,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1348,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1349,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1357,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1358,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1360,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1366,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1369,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1369,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - pTask
    - sessionId
    - gid
    - ppRequest
    argTypes:
    - SStreamTriggerTask*
    - int64_t
    - int64_t
    - SSTriggerDropRequest**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1375
    functionName: stTriggerTaskAcquireDropTableRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - taosArrayGet
    - TARRAY_ELEM_IDX
    - QUERY_CHECK_NULL
    - taosRand
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - taosWUnLockLatch
    - tstrerror
    - TARRAY_GET_ELEM
    - taosWLockLatch
    - taosMemoryCalloc
    - taosArrayClearEx
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskAcquireDropTableRequest(SStreamTriggerTask *pTask,
      int64_t sessionId, int64_t gid,\n                                             SSTriggerDropRequest
      **ppRequest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1386,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1388,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1391,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pTask
    - ppRequest
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerDropRequest**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1394
    functionName: stTriggerTaskReleaseDropTableRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - taosArrayDestroyEx
    - taosMemoryFree
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskReleaseDropTableRequest(SStreamTriggerTask *pTask,
      SSTriggerDropRequest **ppRequest)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1411,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1413,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1413,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1414,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1417,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1419,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1420,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1421,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1422,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1425,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1428,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1431,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1432,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1433,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1434,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1439,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1439,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1448,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1449,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1452,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1453,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1455,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1462,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1465,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1467,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1468,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1474,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1478,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1480,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1483,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1483,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 2
    argNames:
    - pTask
    - ppReq
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerRecalcRequest**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1486
    functionName: stTriggerTaskAddReadyRecalc
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TMIN
    - tSimpleHashGetKey
    - TD_DLIST_APPEND
    - TD_DLIST_HEAD
    - tSimpleHashInit
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - taosWLockLatch
    - ST_TASK_ELOG
    - tSimpleHashGet
    - tdListAppend
    - ST_TASK_DLOG
    - TSWAP
    - QUERY_CHECK_NULL
    - tSimpleHashCleanup
    - TD_DLIST_NODE_NEXT
    - tSimpleHashIterate
    - taosWUnLockLatch
    - TMAX
    - tSimpleHashPut
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskAddReadyRecalc(SStreamTriggerTask *pTask, SSTriggerRecalcRequest
      **ppReq)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1499,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1504,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1507,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1509,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1513,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1514,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1518,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1519,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1526,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1528,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1529,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1534,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1535,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1540,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1546,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1547,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1550,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1553,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1559,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1562,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1570,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1578,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1582,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1583,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1586,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1587,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1590,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1591,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1592,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1595,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1598,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1600,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1601,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1602,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1607,1
    - Dst: stTriggerTaskAddReadyRecalc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1613,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1614,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1617,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1618,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1626,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1627,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1630,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1631,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1633,1
    - Dst: TD_DLIST_INSERT_BEFORE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1641,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1645,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1652,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1655,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1655,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 124
    argCount: 6
    argNames:
    - pTask
    - pGroup
    - pCalcRange
    - isHistory
    - isUserRecalc
    - isDetermined
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerRealtimeGroup*
    - STimeWindow*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1658
    functionName: stTriggerTaskAddRecalcRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TMIN
    - atomic_store_8
    - TD_DLIST_APPEND
    - stTriggerTaskAddReadyRecalc
    - TD_DLIST_HEAD
    - QUERY_CHECK_CODE
    - taosObjListGetHead
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - tSimpleHashGet
    - ST_TASK_DLOG
    - stTriggerTaskGetTimeWindow
    - QUERY_CHECK_NULL
    - TD_DLIST_NODE_NEXT
    - tSimpleHashIterate
    - TMAX
    - TD_DLIST_INSERT_BEFORE
    - tSimpleHashPut
    - stTriggerTaskNextTimeWindow
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskAddRecalcRequest(SStreamTriggerTask *pTask, SSTriggerRealtimeGroup
      *pGroup,\n                                      STimeWindow *pCalcRange, bool
      isHistory, bool isUserRecalc, bool isDetermined)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1667,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1668,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1674,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1675,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1678,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1679,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1682,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1683,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1684,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1687,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1692,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1697,1
    - Dst: stTriggerTaskAddReadyRecalc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1699,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1700,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1703,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1704,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1710,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1711,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1714,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1715,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1720,1
    - Dst: stTriggerTaskAddReadyRecalc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1723,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1724,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1730,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1733,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1736,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1736,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - pTask
    - pGroup
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1660
    functionDepth: 2
    functionLinenumber: 1660
    functionLinenumberEnd: 1739
    functionName: stTriggerTaskReadyRecalcRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - taosMemoryFreeClear
    - TD_DLIST_POP
    - TD_DLIST_NELES
    - TMAX
    - TMIN
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - taosObjListGetHead
    - tstrerror
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - stTriggerTaskAddReadyRecalc
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskReadyRecalcRequest(SStreamTriggerTask *pTask,
      SSTriggerRealtimeGroup *pGroup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1746,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1749,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1752,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1753,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1763,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1764,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1765,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1770,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1773,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1773,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pTask
    - ppReq
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerRecalcRequest**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1741
    functionDepth: 1
    functionLinenumber: 1741
    functionLinenumberEnd: 1776
    functionName: stTriggerTaskFetchRecalcRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ST_TASK_DLOG
    - TD_DLIST_POP
    - taosRUnLockLatch
    - QUERY_CHECK_NULL
    - tstrerror
    - taosRLockLatch
    - ST_TASK_ELOG
    - tdListPopHead
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskFetchRecalcRequest(SStreamTriggerTask *pTask,
      SSTriggerRecalcRequest **ppReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1786
    functionName: stTriggerTaskDestroyOrigColumnInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskDestroyOrigColumnInfo(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1795
    functionName: stTriggerTaskDestroyHashElem
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskDestroyHashElem(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1804,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1808,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1815
    functionName: stTriggerTaskDestroyOrigTableInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskDestroyOrigTableInfo(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1823,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1817
    functionDepth: 1
    functionLinenumber: 1817
    functionLinenumberEnd: 1830
    functionName: stTriggerTaskDestroyTableColRef
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskDestroyTableColRef(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1838,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1832
    functionDepth: 1
    functionLinenumber: 1832
    functionLinenumberEnd: 1845
    functionName: stTriggerTaskDestroyTableInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskDestroyTableInfo(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stTriggerTaskDestroyTableInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1853,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1847
    functionDepth: 2
    functionLinenumber: 1847
    functionLinenumberEnd: 1855
    functionName: stTriggerTaskDestroyVirtTableInfoClone
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - stTriggerTaskDestroyTableInfo
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskDestroyVirtTableInfoClone(void *ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1867,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1867,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1868,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1869,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1870,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1873,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1874,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1877,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1878,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1880,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1882,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1883,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1885,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1893,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1894,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1895,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1896,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1900,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1903,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1903,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - pTask
    - pSrc
    - ppDst
    argTypes:
    - SStreamTriggerTask*
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1906
    functionName: stTriggerTaskCloneVirtTableColRefs
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TARRAY_SIZE
    - QUERY_CHECK_NULL
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - TARRAY_GET_ELEM
    - taosArrayDup
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskCloneVirtTableColRefs(SStreamTriggerTask *pTask,
      const SArray *pSrc, SArray **ppDst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1915,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1917,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1918,1
    - Dst: stTriggerTaskCloneVirtTableColRefs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1924,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1925,1
    - Dst: stTriggerTaskCloneVirtTableColRefs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1926,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1927,1
    - Dst: stTriggerTaskDestroyTableInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1934,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1935,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1938,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - pTask
    - pSrc
    - ppDst
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerVirtTableInfo*
    - SSTriggerVirtTableInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1908
    functionDepth: 2
    functionLinenumber: 1908
    functionLinenumberEnd: 1941
    functionName: stTriggerTaskCloneVirtTableInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - stTriggerTaskDestroyTableInfo
    - QUERY_CHECK_NULL
    - stTriggerTaskCloneVirtTableColRefs
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - tstrerror
    - ST_TASK_ELOG
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskCloneVirtTableInfo(SStreamTriggerTask *pTask,
      const SSTriggerVirtTableInfo *pSrc,\n                                               SSTriggerVirtTableInfo
      **ppDst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1947,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1948,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1956,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1957,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1958,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1963,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1965,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pTask
    - pSrc
    - pDst
    argTypes:
    - SStreamTriggerTask*
    - VTableInfo*
    - VTableInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1943
    functionDepth: 1
    functionLinenumber: 1943
    functionLinenumberEnd: 1968
    functionName: stTriggerTaskCloneVTableInfo
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taosMemoryFreeClear
    - QUERY_CHECK_NULL
    - tstrerror
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskCloneVTableInfo(SStreamTriggerTask *pTask, const
      VTableInfo *pSrc, VTableInfo *pDst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1973,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1974,1
    - Dst: tDestroySTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1975,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1970
    functionDepth: 1
    functionLinenumber: 1970
    functionLinenumberEnd: 1980
    functionName: stTriggerTaskDestroyCalcNode
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TARRAY_GET_ELEM
    - taosArrayDestroy
    - TARRAY_SIZE
    - tDestroySTriggerCalcRequest
    linkageType: ''
    returnType: void
    signature: void stTriggerTaskDestroyCalcNode(void *ptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1997,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1998,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:1999,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2000,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2000,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2002,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2002,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2008,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2009,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2010,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2011,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2012,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2024,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2024,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2035,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2037,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2039,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2039,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2043,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2049,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2050,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2051,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2052,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2053,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2065,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2068,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2071,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2074,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2074,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 5
    argNames:
    - pTask
    - plan
    - ppColids
    - ppIsPseudoCol
    - ppSlots
    argTypes:
    - SStreamTriggerTask*
    - void*
    - SArray**
    - SArray**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 1982
    functionDepth: 1
    functionLinenumber: 1982
    functionLinenumberEnd: 2077
    functionName: stTriggerTaskCollectVirCols
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ST_TASK_ELOG
    - QUERY_CHECK_CONDITION
    - nodesStringToNode
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    - nodeType
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - taosArrayDestroy
    - nodesDestroyNode
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskCollectVirCols(SStreamTriggerTask *pTask, void
      *plan, SArray **ppColids,\n                                           SArray
      **ppIsPseudoCol, SNodeList **ppSlots)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2024,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2024,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2035,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2037,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2039,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2039,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2043,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2049,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2050,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2051,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2052,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2053,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2054
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - taosArrayPush
    - QUERY_CHECK_CONDITION
    - QUERY_CHECK_NULL
    - nodeType
    - QUERY_CHECK_CODE
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pSlotNode, pSlots)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2024,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2019
    functionDepth: 1
    functionLinenumber: 2019
    functionLinenumberEnd: 2028
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - nodeType
    - QUERY_CHECK_CONDITION
    linkageType: ''
    returnType: void
    signature: void FOREACH(pColNode, pScanCols)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2035,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2037,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2039,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2039,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2043,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2030
    functionDepth: 1
    functionLinenumber: 2030
    functionLinenumberEnd: 2047
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - nodeType
    - QUERY_CHECK_CODE
    - QUERY_CHECK_CONDITION
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pColNode, pScanPseudoCols)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: stTriggerTaskCollectVirCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2095,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2096,1
    - Dst: stTriggerTaskCollectVirCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2097,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2098,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2100,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2101,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2102,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2103,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2107,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2110,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2111,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2112,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2115,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2118,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2119,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2120,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2122,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2124,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2124,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2127,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2133,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2134,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2139,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2142,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2143,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2144,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2147,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2150,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2151,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2152,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2154,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2156,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2156,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2160,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2166,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2167,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2171,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2172,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2176,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2179,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2180,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2181,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2183,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2186,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2187,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2192,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2193,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2197,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2198,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2202,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2203,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2205,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2212,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2216,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2217,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2219,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2222,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2227,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2228,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2229,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2231,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2237,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2240,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2241,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2243,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2246,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2251,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2252,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2253,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2255,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2266,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2268,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2277,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2278,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2284,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2287,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2289,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2290,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2292,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2293,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2295,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2296,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2298,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2308,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2313,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2316,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2319,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2322,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2325,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2328,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2331,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2334,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2337,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2340,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2343,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2343,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 203
    argCount: 3
    argNames:
    - pTask
    - triggerScanPlan
    - calcCacheScanPlan
    argTypes:
    - SStreamTriggerTask*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2079
    functionDepth: 2
    functionLinenumber: 2079
    functionLinenumberEnd: 2346
    functionName: stTriggerTaskParseVirtScan
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - nodesDestroyList
    - createColumnInfoData
    - nodesWalkExpr
    - createDataBlock
    - snprintf
    - taosSort
    - taosArrayDestroy
    - taosArrayGet
    - TARRAY_DATA
    - stTriggerTaskCollectVirCols
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - ST_TASK_DLOG
    - QUERY_CHECK_NULL
    - nodesWalkExprs
    - TARRAY_SIZE
    - taosMemoryMalloc
    - taosArrayInit
    - tstrerror
    - blockDataAppendColInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskParseVirtScan(SStreamTriggerTask *pTask, void
      *triggerScanPlan, void *calcCacheScanPlan)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: stTriggerTaskCollectVirCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2359,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2360,1
    - Dst: stTriggerTaskCollectVirCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2361,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2362,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2365,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2366,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2371,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2374,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2378,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2382,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2383,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2386,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2387,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2392,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2395,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2399,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2404,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2408,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2411,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2413,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2413,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2414,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2415,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2416,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2416,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2417,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2418,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2422,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2425,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2428,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2431,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2434,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2434,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 70
    argCount: 3
    argNames:
    - pTask
    - triggerScanPlan
    - calcCacheScanPlan
    argTypes:
    - SStreamTriggerTask*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2348
    functionDepth: 2
    functionLinenumber: 2348
    functionLinenumberEnd: 2437
    functionName: stTriggerTaskNewParseVirtScan
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - taosGetDefaultHashFunction
    - createColumnInfoData
    - QUERY_CHECK_NULL
    - stTriggerTaskCollectVirCols
    - tSimpleHashSetFreeFp
    - createDataBlock
    - blockDataAppendColInfo
    - QUERY_CHECK_CODE
    - tSimpleHashInit
    - tstrerror
    - TARRAY_GET_ELEM
    - taosArrayDestroy
    - ST_TASK_ELOG
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskNewParseVirtScan(SStreamTriggerTask *pTask, void
      *triggerScanPlan,\n                                             void *calcCacheScanPlan)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2371,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2374,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2378,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2382,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2369
    functionDepth: 1
    functionLinenumber: 2369
    functionLinenumberEnd: 2384
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - TARRAY_GET_ELEM
    - createColumnInfoData
    - blockDataAppendColInfo
    - QUERY_CHECK_CODE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTrigSlots)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2392,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2395,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2399,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2405
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - TARRAY_GET_ELEM
    - createColumnInfoData
    - blockDataAppendColInfo
    - QUERY_CHECK_CODE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCalcSlots)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2476,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2477,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2481,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2482,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2483,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2491,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2492,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2493,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2494,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2498,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2499,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2500,1
    - Dst: nodesCollectColumnsFromMultiNodes
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2502,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2502,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2504,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2506,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2507,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2528,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2529,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2534,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2536,1
    - Dst: nodesStringToList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2565,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2566,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2570,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2579,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2581,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2585,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2590,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2592,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2593,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2594,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2605,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2606,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2610,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2611,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2613,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2614,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2615,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2616,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2617,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2618,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2619,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2620,1
    - Dst: stTriggerTaskParseVirtScan
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2624,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2625,1
    - Dst: stTriggerTaskNewParseVirtScan
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2626,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2627,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2628,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2629,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2630,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2630,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2631,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2632,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2635,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2637,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2644,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2655,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2656,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2658,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2659,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2661,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2662,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2664,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2665,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2666,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2667,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2669,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2670,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2674,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2674,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2675,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2676,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2676,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2677,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2679,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2680,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2681,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2682,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2682,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2683,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2684,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2684,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2685,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2687,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2688,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2689,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2691,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2691,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2692,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2698,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2701,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2701,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 229
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamTriggerTask*
    - SStreamTriggerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2439
    functionDepth: 3
    functionLinenumber: 2439
    functionLinenumberEnd: 2705
    functionName: stTriggerTaskDeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosInitRWLatch
    - QUERY_CHECK_CONDITION
    - nodesStringToNode
    - nodesDestroyList
    - nodeType
    - tSimpleHashSetFreeFp
    - nodesCloneNode
    - TD_DLIST_APPEND
    - nodesStringToList
    - ARRAY_SIZE
    - tdListNew
    - tSimpleHashInit
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - strcmp
    - nodesCollectColumnsFromMultiNodes
    - TSWAP
    - QUERY_CHECK_NULL
    - nodesCollectColumnsFromNode
    - taosArrayInit_s
    - stTriggerTaskParseVirtScan
    - taosStrdup
    - stTriggerTaskNewParseVirtScan
    - convertTimePrecision
    - taosArrayInit
    - tstrerror
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskDeploy(SStreamTriggerTask *pTask, SStreamTriggerDeployMsg
      *pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2574
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pPartitionCols)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2711,1
    - Dst: stTriggerTaskGenCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2714,1
    - Dst: ST_TASK_WLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2716,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2716,1
    - Dst: streamDeleteCheckPoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2721,1
    - Dst: getSynEpset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2723,1
    - Dst: streamSyncDeleteCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2725,1
    - Dst: ST_TASK_WLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2727,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2727,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2732,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2733,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2736,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2739,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2740,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2743,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2747,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2751,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2756,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2760,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2764,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2768,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2774,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2779,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2783,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2787,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2791,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2795,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2799,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2804,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2805,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2806,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2808,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2813,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2817,1
    - Dst: stRealtimeContextDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2822,1
    - Dst: stHistoryContextDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2825,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2828,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2833,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2837,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2841,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2845,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2849,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2853,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2857,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2861,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2865,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2869,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2872,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2877,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2881,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2885,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2892,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2893,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2896,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2898,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2900,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2903,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2908,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2911,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2912,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2913,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2915,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2917,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2922,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2927,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2931,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2932,1
    - Dst: tFreeSStreamMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2933,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2934,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 199
    argCount: 3
    argNames:
    - ppTask
    - pMsg
    - cb
    argTypes:
    - SStreamTriggerTask**
    - SStreamUndeployTaskMsg*
    - taskUndeplyCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2707
    functionDepth: 3
    functionLinenumber: 2707
    functionLinenumberEnd: 2939
    functionName: stTriggerTaskUndeployImpl
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - atomic_val_compare_exchange_ptr
    - getSynEpset
    - ST_TASK_WLOG
    - nodesDestroyList
    - tFreeSStreamMgmtReq
    - taosArrayDestroy
    - tdListInitIter
    - TD_DLIST_HEAD
    - stRealtimeContextDestroy
    - TARRAY_GET_ELEM
    - taosWLockLatch
    - tdListFree
    - ST_TASK_DLOG
    - TD_DLIST_POP
    - stTriggerTaskGenCheckpoint
    - TD_DLIST_NODE_NEXT
    - tSimpleHashCleanup
    - taosWUnLockLatch
    - tSimpleHashIterate
    - atomic_load_ptr
    - nodesDestroyNode
    - TARRAY_SIZE
    - taosArrayDestroyEx
    - streamDeleteCheckPoint
    - stHistoryContextDestroy
    - tdListNext
    - taosMemoryFree
    - tstrerror
    - streamSyncDeleteCheckpoint
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskUndeployImpl(SStreamTriggerTask **ppTask, const
      SStreamUndeployTaskMsg *pMsg,\n                                  taskUndeplyCallback
      cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWTryForceLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2945,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2946,1
    - Dst: stTriggerTaskUndeployImpl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ppTask
    - force
    argTypes:
    - SStreamTriggerTask**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2941
    functionDepth: 4
    functionLinenumber: 2941
    functionLinenumberEnd: 2951
    functionName: stTriggerTaskUndeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosWTryForceLockLatch
    - ST_TASK_DLOG
    - stTriggerTaskUndeployImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskUndeploy(SStreamTriggerTask **ppTask, bool force)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2959,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2961,1
    - Dst: getSynEpset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2967,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2969,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2970,1
    - Dst: streamSyncWriteCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2971,1
    - Dst: ST_TASK_WLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2973,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2973,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2974,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2978,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2982,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2983,1
    - Dst: stRealtimeContextInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2984,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2985,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2993,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2994,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2995,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2996,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2997,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2998,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:2999,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3000,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3000,1
    - Dst: SMsgCb*::putToQueueFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3003,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3004,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3006,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3007,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3010,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3016,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3018,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3022,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3025,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3030,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3032,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3036,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3039,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3041,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3043,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3043,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3043,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3046,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3047,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3048,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3049,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3050,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3053,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3054,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3057,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3058,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3063,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3065,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3067,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3068,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3075,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3076,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3077,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3078,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3079,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3080,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3081,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3081,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3082,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3083,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3084,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3084,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3085,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3086,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3088,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3089,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3090,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3091,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3092,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3093,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3095,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3096,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3104,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3105,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3106,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3107,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3108,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3109,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3110,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3111,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3111,1
    - Dst: SMsgCb*::putToQueueFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3114,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3115,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3116,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3125,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3126,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3127,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3128,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3132,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3134,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3140,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 133
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamTriggerTask*
    - SStreamMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3143
      start: 2953
    functionDepth: 2
    functionLinenumber: 2953
    functionLinenumberEnd: 3143
    functionName: stTriggerTaskExecute
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - atomic_load_8
    - getSynEpset
    - ST_TASK_WLOG
    - taosArrayAddAll
    - tSimpleHashSetFreeFp
    - atomic_store_8
    - TARRAY_ELEM_IDX
    - IS_PATCHING_VITRUAL_TABLE
    - tSerializeSTriggerCtrlRequest
    - rpcMallocCont
    - TARRAY_DATA
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - TARRAY_GET_ELEM
    - SMsgCb*::putToQueueFp
    - stRealtimeContextInit
    - taosMemoryCalloc
    - taosWLockLatch
    - ST_TASK_ELOG
    - tSimpleHashGet
    - TRACE_SET_MSGID
    - ST_TASK_DLOG
    - QUERY_CHECK_NULL
    - tSimpleHashIterate
    - taosWUnLockLatch
    - atomic_store_64
    - streamSyncWriteCheckpoint
    - TARRAY_SIZE
    - atomic_load_64
    - tSimpleHashPut
    - tGenIdPI64
    - taosArrayInit
    - tstrerror
    - TRACE_SET_ROOTID
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskExecute(SStreamTriggerTask *pTask, const SStreamMsg
      *pMsg)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: stRealtimeContextProcPullRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3161,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3162,1
    - Dst: stHistoryContextProcPullRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3164,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3165,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3172,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3173,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3174,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3176,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3177,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3178,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3181,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3182,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3183,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3188,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3197,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3209,1
    - Dst: stRealtimeContextProcCalcRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3211,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3212,1
    - Dst: stHistoryContextProcCalcRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3214,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3215,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3222,1
    - Dst: tDeserializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3227,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3228,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3232,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3233,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3235,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3236,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3238,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3239,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3244,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3246,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3255,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3255,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 105
    argCount: 3
    argNames:
    - pStreamTask
    - pRsp
    - pErrTaskId
    argTypes:
    - SStreamTask*
    - SRpcMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3145
    functionDepth: 2
    functionLinenumber: 3145
    functionLinenumberEnd: 3258
    functionName: stTriggerTaskProcessRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - stRealtimeContextProcPullRsp
    - tdListAppend
    - atomic_load_8
    - tstrerror
    - taosGetTimestampNs
    - stHistoryContextProcCalcRsp
    - stHistoryContextCheck
    - taosMsleep
    - stTriggerTaskAddWaitSession
    - QUERY_CHECK_CODE
    - tDeserializeSTriggerCtrlRequest
    - listNEles
    - stRealtimeContextCheck
    - stHistoryContextProcPullRsp
    - taosArrayClearEx
    - stRealtimeContextProcCalcRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskProcessRsp(SStreamTask *pStreamTask, SRpcMsg *pRsp,
      int64_t *pErrTaskId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTask
    - pStatus
    argTypes:
    - SStreamTask*
    - SSTriggerRuntimeStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3263
      start: 3260
    functionDepth: 0
    functionLinenumber: 3260
    functionLinenumberEnd: 3263
    functionName: stTriggerTaskGetStatus
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskGetStatus(SStreamTask *pTask, SSTriggerRuntimeStatus
      *pStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3267,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3268,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pStreamTask
    - pDelay
    - pFillHisFinished
    argTypes:
    - SStreamTask*
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3271
      start: 3265
    functionDepth: 1
    functionLinenumber: 3265
    functionLinenumberEnd: 3271
    functionName: stTriggerTaskGetDelay
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - atomic_load_64
    - atomic_load_8
    linkageType: ''
    returnType: int32_t
    signature: int32_t stTriggerTaskGetDelay(SStreamTask *pStreamTask, int64_t *pDelay,
      bool *pFillHisFinished)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3279,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3283,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3287,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3291,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3295,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3299,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3303,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3307,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3273
    functionDepth: 1
    functionLinenumber: 3273
    functionLinenumberEnd: 3310
    functionName: stRealtimeContextDestroyWalProgress
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - blockDataDestroy
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void stRealtimeContextDestroyWalProgress(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3317,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3319
      start: 3312
    functionDepth: 1
    functionLinenumber: 3312
    functionLinenumberEnd: 3319
    functionName: stRealtimeContextDestroyWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void stRealtimeContextDestroyWindow(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3327,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3327,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3328,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3329,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3330,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3331,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3331,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3332,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3333,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3321
    functionDepth: 1
    functionLinenumber: 3321
    functionLinenumberEnd: 3340
    functionName: stRealtimeContextInitPatchContext
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_NULL
    - tSimpleHashSetFreeFp
    - tSimpleHashInit
    - taosArrayInit
    - taosGetDefaultHashFunction
    - tstrerror
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextInitPatchContext(SSTriggerRealtimeContext
      *pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3346,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3350,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3342
    functionDepth: 1
    functionLinenumber: 3342
    functionLinenumberEnd: 3357
    functionName: stRealtimeContextDestroyPatchContext
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void stRealtimeContextDestroyPatchContext(SSTriggerRealtimeContext
      *pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3363,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3366,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3371
      start: 3359
    functionDepth: 1
    functionLinenumber: 3359
    functionLinenumberEnd: 3371
    functionName: stRealtimeContextResetPatchContext
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - tSimpleHashClear
    - taosArrayClearEx
    linkageType: ''
    returnType: void
    signature: void stRealtimeContextResetPatchContext(SSTriggerRealtimeContext *pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3379,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3381,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3383,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3384,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3385,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3389,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3391,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 3373
    functionDepth: 1
    functionLinenumber: 3373
    functionLinenumberEnd: 3394
    functionName: stRealtimeContextPrepareVtablePatch
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tSimpleHashRemove
    - tstrerror
    - QUERY_CHECK_CODE
    - taosWUnLockLatch
    - tSimpleHashIterate
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextPrepareVtablePatch(SSTriggerRealtimeContext
      *pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3408,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3411
      start: 3396
    functionDepth: 1
    functionLinenumber: 3396
    functionLinenumberEnd: 3411
    functionName: stRealtimeContextFinishVtablePatch
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextFinishVtablePatch(SSTriggerRealtimeContext
      *pContext)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3444,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3445,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3446,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3447,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3449,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3455,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3456,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3457,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3458,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3458,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3459,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3467,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3468,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3477,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3478,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3496,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3497,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3505,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3506,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3507,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3508,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3509,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3510,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3511,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3512,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3517,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3518,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3521,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3524,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3524,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 4
    argNames:
    - pContext
    - pDataBlock
    - pExpr
    - pResCol
    argTypes:
    - SSTriggerRealtimeContext*
    - SSDataBlock*
    - SNode*
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3436
    functionDepth: 2
    functionLinenumber: 3436
    functionLinenumberEnd: 3527
    functionName: stRealtimeContextCalcExpr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - colInfoDataEnsureCapacity
    - QUERY_CHECK_CONDITION
    - tstrerror
    - colDataAssign
    - blockDataGetNumOfRows
    - QUERY_CHECK_NULL
    - scalarCalculate
    - nodeType
    - taosArrayInit
    - QUERY_CHECK_CODE
    - colDataDestroy
    - taosArrayDestroy
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - BitmapLen
    - TAOS_MEMSET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeContextCalcExpr(SSTriggerRealtimeContext *pContext,
      SSDataBlock *pDataBlock, SNode *pExpr,\n                                         SColumnInfoData
      *pResCol)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3467,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3468,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3477,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3487
      start: 3465
    functionDepth: 2
    functionLinenumber: 3465
    functionLinenumberEnd: 3487
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - scalarCalculate
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pNodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3530,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HeapNode*
    - HeapNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3533
      start: 3529
    functionDepth: 0
    functionLinenumber: 3529
    functionLinenumberEnd: 3533
    functionName: stRealtimeContextCompareGroup
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextCompareGroup(const HeapNode *a, const HeapNode
      *b)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3558,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3558,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3559,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3560,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3561,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3563,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3565,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3567,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3568,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3569,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3576,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3577,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3578,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3579,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3580,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3581,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3582,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3582,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3583,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3584,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3585,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3585,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3586,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3587,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3589,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3590,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3591,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3592,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3593,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3594,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3597,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3598,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3599,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3600,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3601,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3602,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3603,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3604,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3605,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3605,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3606,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3607,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3607,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3608,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3609,1
    - Dst: TD_DLIST_INIT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3610,1
    - Dst: TD_DLIST_INIT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3611,1
    - Dst: heapCreate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3612,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3613,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3614,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3615,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3616,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3616,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3617,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3619,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3619,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3620,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3621,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3622,1
    - Dst: stRealtimeContextInitPatchContext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3624,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3625,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3629,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3630,1
    - Dst: stNewVtableMergerInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3631,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3631,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3633,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3635,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3636,1
    - Dst: stNewTimestampSorterInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3643,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3644,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3646,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3647,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3648,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3649,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3651,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3652,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3654,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3655,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3656,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3657,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3660,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3661,1
    - Dst: stNewVtableMergerInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3662,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3663,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3664,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3666,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3667,1
    - Dst: stNewTimestampSorterInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3668,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3669,1
    - Dst: taosObjPoolInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3674,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3675,1
    - Dst: taosObjPoolInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3676,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3677,1
    - Dst: taosObjPoolInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3678,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3679,1
    - Dst: taosObjPoolInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3680,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3681,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3685,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3685,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3686,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3687,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3690,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3691,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3692,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3697,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3698,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 145
    argCount: 2
    argNames:
    - pContext
    - pTask
    argTypes:
    - SSTriggerRealtimeContext*
    - SStreamTriggerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3702
      start: 3535
    functionDepth: 17
    functionLinenumber: 3535
    functionLinenumberEnd: 3702
    functionName: stRealtimeContextInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosGetTimestampNs
    - tSimpleHashSetFreeFp
    - stNewTimestampSorterInit
    - heapCreate
    - stRealtimeContextInitPatchContext
    - taosObjPoolInit
    - TARRAY_DATA
    - taosHashInit
    - taosHashSetFreeFp
    - tdListInit
    - tSimpleHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - taosObjListInit
    - taosMemoryCalloc
    - tSimpleHashGet
    - stNewVtableMergerInit
    - QUERY_CHECK_NULL
    - TD_DLIST_INIT
    - tSimpleHashPut
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextInit(SSTriggerRealtimeContext *pContext, SStreamTriggerTask
      *pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3707,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3746
      start: 3704
    functionDepth: 1
    functionLinenumber: 3704
    functionLinenumberEnd: 3746
    functionName: stRealtimeContextReport
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - tSimpleHashGetSize
    linkageType: ''
    returnType: void
    signature: void stRealtimeContextReport(SSTriggerRealtimeContext *pContext)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3757,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3762,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3766,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3770,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3774,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3778,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3784,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3786,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3788,1
    - Dst: heapDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3792,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3796,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3801,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3804,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3805,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3807,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3812,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3815,1
    - Dst: stRealtimeContextDestroyPatchContext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3816,1
    - Dst: stNewTimestampSorterDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3819,1
    - Dst: stNewVtableMergerDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3822,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3828,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3830,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3837,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3839,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3846,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3848,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3851,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3852,1
    - Dst: stNewTimestampSorterDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3854,1
    - Dst: stNewVtableMergerDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3857,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3860,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3861,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3862,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3866,1
    - Dst: taosObjPoolDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3868,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3872,1
    - Dst: taosObjPoolDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3874,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3878,1
    - Dst: taosObjPoolDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3881,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3885,1
    - Dst: taosObjPoolDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3888,1
    - Dst: destroyStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3891,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3895,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3899,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3900,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3901,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3904,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3908,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 127
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3909
      start: 3748
    functionDepth: 4
    functionLinenumber: 3748
    functionLinenumberEnd: 3909
    functionName: stRealtimeContextDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosMemFreeClear
    - taosArrayDestroyEx
    - tdListEmpty
    - ST_TASK_DLOG
    - taosObjPoolDestroy
    - heapDestroy
    - tSimpleHashCleanup
    - stNewVtableMergerDestroy
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - stNewTimestampSorterDestroy
    - colDataDestroy
    - taosHashCleanup
    - taosArrayDestroy
    - blockDataDestroy
    - taosObjListClear
    - stRealtimeContextDestroyPatchContext
    - destroyStreamDataCache
    linkageType: ''
    returnType: void
    signature: void stRealtimeContextDestroy(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3916,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3917,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3918,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3919,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3924,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3929,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3932
      start: 3911
    functionDepth: 1
    functionLinenumber: 3911
    functionLinenumberEnd: 3932
    functionName: stRealtimeContextGetCurrentGroup
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - taosArrayGet
    - QUERY_CHECK_NULL
    - tstrerror
    - ST_TASK_ELOG
    - tSimpleHashGet
    linkageType: ''
    returnType: SSTriggerRealtimeGroup
    signature: SSTriggerRealtimeGroup *stRealtimeContextGetCurrentGroup(SSTriggerRealtimeContext
      *pContext)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3943,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3944,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3945,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3946,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3951,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3952,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3953,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3954,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3966,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3967,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3968,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3969,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3970,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3972,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3973,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3974,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3975,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3981,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3982,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3985,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3989,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3990,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3994,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3995,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:3999,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4001,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4002,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4003,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4004,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4012,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4013,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4013,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4019,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4020,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4021,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4022,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4023,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4025,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4026,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4027,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4028,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4036,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4037,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4038,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4039,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4040,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4042,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4043,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4044,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4045,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4050,1
    - Dst: stRealtimeContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4051,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4052,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4053,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4057,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4058,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4062,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4063,1
    - Dst: stRealtimeContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4070,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4071,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4072,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4073,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4080,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4081,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4082,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4083,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4086,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4089,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4092,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4093,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4095,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4096,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4099,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4100,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4103,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4106,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4113,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4114,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4117,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4120,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4122,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4124,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4125,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4127,1
    - Dst: stRealtimeContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4137,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4138,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4141,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4142,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4144,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4145,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4146,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4147,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4151,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4157,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4158,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4158,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4160,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4163,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4164,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4165,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4171,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4172,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4173,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4174,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4177,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4180,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4182,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4186,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4189,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4191,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4193,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4194,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4195,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4196,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4197,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4198,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4201,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4203,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4209,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4210,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4211,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4212,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4216,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4217,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4219,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4222,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4225,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4226,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4226,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4227,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4229,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4231,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4232,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4236,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4238,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4239,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4240,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4241,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4244,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4245,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4245,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4246,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4248,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4250,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4251,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4255,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4257,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4258,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4259,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4260,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4263,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4266,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4268,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4271,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4273,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4275,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4277,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4279,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4282,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4284,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4287,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4289,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4291,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4293,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4295,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4301,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4303,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4313,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4313,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4314,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4316,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4317,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4319,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4320,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4322,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4323,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4325,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4326,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4327,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4328,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4328,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4330,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4331,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4333,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4338,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4339,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4339,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 278
    argCount: 2
    argNames:
    - pContext
    - type
    argTypes:
    - SSTriggerRealtimeContext*
    - ESTriggerPullType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4342
      start: 3934
    functionDepth: 2
    functionLinenumber: 3934
    functionLinenumberEnd: 4342
    functionName: stRealtimeContextSendPullReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - htonl
    - taosArraySort
    - QUERY_CHECK_CONDITION
    - tSimpleHashGetKey
    - TARRAY_ELEM_IDX
    - IS_PATCHING_VITRUAL_TABLE
    - TD_DLIST_HEAD
    - rpcMallocCont
    - destroyAhandle
    - taosArrayGet
    - TARRAY_DATA
    - tSimpleHashInit
    - QUERY_CHECK_CODE
    - taosObjListGetHead
    - taosArrayClear
    - TARRAY_GET_ELEM
    - blockDataGetNumOfCols
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - ST_TASK_ELOG
    - tSimpleHashGet
    - ST_TASK_ILOG
    - tSerializeSTriggerPullRequest
    - taosObjListInitIter
    - TRACE_SET_MSGID
    - ST_TASK_DLOG
    - tmsgSendReq
    - tSimpleHashClear
    - QUERY_CHECK_NULL
    - TD_DLIST_NODE_NEXT
    - tSimpleHashCleanup
    - tstrncpy
    - tSimpleHashIterate
    - taosObjListIterNext
    - blockDataGetSize
    - stTriggerTaskAllocAhandle
    - TARRAY_SIZE
    - stRealtimeContextGetCurrentGroup
    - tSimpleHashPut
    - tGenIdPI64
    - taosArrayReserve
    - tSimpleHashGetSize
    - tstrerror
    - TRACE_SET_ROOTID
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextSendPullReq(SSTriggerRealtimeContext *pContext,
      ESTriggerPullType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4358,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4358,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4359,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4360,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4362,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4363,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4365,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4366,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4368,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4369,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4370,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4371,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4371,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4372,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4373,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4374,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - pContext
    - pProgress
    - gid
    argTypes:
    - SSTriggerRealtimeContext*
    - SSTriggerWalProgress*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4345
    functionDepth: 2
    functionLinenumber: 4345
    functionLinenumberEnd: 4381
    functionName: stRealtimeContextSendPullReqForGid
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - htonl
    - rpcMallocCont
    - TRACE_SET_MSGID
    - QUERY_CHECK_CONDITION
    - tmsgSendReq
    - ST_TASK_DLOG
    - destroyAhandle
    - QUERY_CHECK_NULL
    - tGenIdPI64
    - QUERY_CHECK_CODE
    - TRACE_SET_ROOTID
    - stTriggerTaskAllocAhandle
    - tSerializeSTriggerPullRequest
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeContextSendPullReqForGid(SSTriggerRealtimeContext
      *pContext, SSTriggerWalProgress *pProgress,\n                                                  int64_t
      gid)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: stTriggerTaskAcquireRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4394,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4400,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4404,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4413,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4414,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4418,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4419,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4420,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4426,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4427,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4433,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4439,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4441,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4452,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4458,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4465,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4472,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4473,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4475,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4481,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4482,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4482,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4483,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4488,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4494,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4498,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4502,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4505,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4507,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4507,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 116
    argCount: 4
    argNames:
    - pTask
    - pContext
    - sessionId
    - gid
    argTypes:
    - SStreamTriggerTask*
    - SSTriggerRealtimeContext*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4512
      start: 4384
    functionDepth: 3
    functionLinenumber: 4384
    functionLinenumberEnd: 4512
    functionName: stTriggerTaskSendCreateTableReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - htonl
    - taosGetTimestampNs
    - TAOS_MEMCPY
    - tSerializeSTriggerCalcRequest
    - rpcMallocCont
    - destroyAhandle
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tSimpleHashGet
    - rpcFreeCont
    - TRACE_SET_MSGID
    - tmsgSendReq
    - ST_TASK_DLOG
    - stTriggerTaskAllocAhandle
    - stTriggerTaskAcquireRequest
    - TARRAY_SIZE
    - taosMemoryMalloc
    - stTriggerTaskReleaseRequest
    - tGenIdPI64
    - tstrerror
    - TRACE_SET_ROOTID
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stTriggerTaskSendCreateTableReq(SStreamTriggerTask *pTask,
      SSTriggerRealtimeContext *pContext,\n                                               int64_t
      sessionId, int64_t gid)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4524,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4526,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4528,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4534,1
    - Dst: stRealtimeContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4540,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4541,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4548,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4549,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4551,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4552,1
    - Dst: ST_TASK_WLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4557,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4558,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4559,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4562,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4563,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4564,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4565,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4566,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4567,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4568,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4569,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4591,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4595,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4600,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4604,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4605,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4606,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4607,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4609,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4611,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4613,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4615,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4622,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4625,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4628,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4629,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4630,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4632,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4635,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4639,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4640,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4642,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4644,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4645,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4651,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4653,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4656,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4657,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4658,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4659,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4663,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4663,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4668,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4669,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4674,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4676,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4678,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4679,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4681,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4682,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4685,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4688,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4689,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4693,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4697,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4700,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4701,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4702,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4703,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4709,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4710,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4716,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4727,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4736,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4737,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4743,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4744,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4744,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4746,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4747,1
    - Dst: stRealtimeContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4749,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4751,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4753,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4754,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4755,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4757,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4758,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4763,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4764,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4768,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4770,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4773,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4774,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4775,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4776,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4782,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4782,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4783,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4785,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4786,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4788,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4789,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4791,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4792,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4794,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4795,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4796,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4797,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4797,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4799,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4800,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4802,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4803,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4809,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4810,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4810,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 219
    argCount: 2
    argNames:
    - pContext
    - sendOnly
    argTypes:
    - SSTriggerRealtimeContext*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4813
      start: 4514
    functionDepth: 3
    functionLinenumber: 4514
    functionLinenumberEnd: 4813
    functionName: stRealtimeContextSendCalcReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - htonl
    - QUERY_CHECK_CONDITION
    - TMIN
    - ST_TASK_WLOG
    - TAOS_MEMCPY
    - initStreamDataCache
    - putStreamDataCache
    - TARRAY_ELEM_IDX
    - taosArrayDestroy
    - tSerializeSTriggerCalcRequest
    - rpcMallocCont
    - destroyAhandle
    - taosArrayGet
    - TARRAY_DATA
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - stRealtimeContextSendPullReq
    - ST_TASK_ELOG
    - tSimpleHashGet
    - taosObjListInitIter
    - TRACE_SET_MSGID
    - ST_TASK_DLOG
    - tmsgSendReq
    - tSimpleHashClear
    - QUERY_CHECK_NULL
    - tSimpleHashIterate
    - taosObjListIterNext
    - stTriggerTaskAllocAhandle
    - taosObjListClear
    - taosObjListAppend
    - stRealtimeGroupNextDataBlock
    - TARRAY_SIZE
    - stRealtimeContextGetCurrentGroup
    - taosMemoryMalloc
    - stTriggerTaskReleaseRequest
    - TMAX
    - tSimpleHashPut
    - tGenIdPI64
    - stTriggerTaskNextTimeWindow
    - taosArrayInit
    - tstrerror
    - TRACE_SET_ROOTID
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextSendCalcReq(SSTriggerRealtimeContext *pContext,
      bool sendOnly)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4824,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4826,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4832,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4839,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4841,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4842,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4843,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4844,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4850,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4850,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4851,1
    - Dst: tSerializeSTriggerDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4853,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4854,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4856,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4857,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4859,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4860,1
    - Dst: tSerializeSTriggerDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4861,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4863,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4864,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4865,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4865,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4867,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4868,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4870,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4871,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4876,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4877,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4877,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 4
    argNames:
    - pContext
    - gid
    - pDropReq
    - needColVal
    argTypes:
    - SSTriggerRealtimeContext*
    - int64_t
    - SSTriggerDropRequest*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4880
      start: 4815
    functionDepth: 3
    functionLinenumber: 4815
    functionLinenumberEnd: 4880
    functionName: stRealtimeContextSendDropTableReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - htonl
    - QUERY_CHECK_CONDITION
    - rpcMallocCont
    - destroyAhandle
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - stRealtimeContextSendPullReq
    - ST_TASK_ELOG
    - tdListAppend
    - ST_TASK_DLOG
    - TRACE_SET_MSGID
    - tmsgSendReq
    - QUERY_CHECK_NULL
    - stTriggerTaskAllocAhandle
    - tSerializeSTriggerDropTableRequest
    - tGenIdPI64
    - tstrerror
    - TRACE_SET_ROOTID
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeContextSendDropTableReq(SSTriggerRealtimeContext
      *pContext, int64_t gid,\n                                                 SSTriggerDropRequest
      *pDropReq, bool *needColVal)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4890,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4891,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4892,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4894,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4895,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4901,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4904,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4904,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4905,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4907,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4908,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4910,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4911,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4913,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4914,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4916,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4917,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4918,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4919,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4919,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4921,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4922,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4924,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4926,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4929,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4930,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4934,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4935,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 3
    argNames:
    - pContext
    - pNode
    - pReq
    argTypes:
    - SSTriggerRealtimeContext*
    - SListNode*
    - SSTriggerPullRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4938
      start: 4882
    functionDepth: 2
    functionLinenumber: 4882
    functionLinenumberEnd: 4938
    functionName: stRealtimeContextRetryPullRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - tdListPopNode
    - rpcMallocCont
    - destroyAhandle
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tSerializeSTriggerPullRequest
    - TRACE_SET_MSGID
    - ST_TASK_DLOG
    - tmsgSendReq
    - QUERY_CHECK_NULL
    - stTriggerTaskAllocAhandle
    - tGenIdPI64
    - tstrerror
    - TRACE_SET_ROOTID
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeContextRetryPullRequest(SSTriggerRealtimeContext
      *pContext, SListNode *pNode,\n                                                 SSTriggerPullRequest
      *pReq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4949,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4950,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4951,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4953,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4955,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4961,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4970,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4971,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4972,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4974,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4975,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4976,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4977,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4978,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4979,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4980,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4981,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4982,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4988,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4988,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4989,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4991,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4992,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4994,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4995,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4997,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:4998,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5000,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5001,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5002,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5003,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5003,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5005,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5006,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5008,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5009,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5012,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5013,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5017,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5018,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5018,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 3
    argNames:
    - pContext
    - pNode
    - pReq
    argTypes:
    - SSTriggerRealtimeContext*
    - SListNode*
    - SSTriggerCalcRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5021
      start: 4940
    functionDepth: 2
    functionLinenumber: 4940
    functionLinenumberEnd: 5021
    functionName: stRealtimeContextRetryCalcRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - htonl
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - tdListPopNode
    - TAOS_MEMCPY
    - tSerializeSTriggerCalcRequest
    - rpcMallocCont
    - destroyAhandle
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tSimpleHashGet
    - TRACE_SET_MSGID
    - ST_TASK_DLOG
    - tmsgSendReq
    - QUERY_CHECK_NULL
    - stTriggerTaskAllocAhandle
    - TARRAY_SIZE
    - taosMemoryMalloc
    - tGenIdPI64
    - tstrerror
    - TRACE_SET_ROOTID
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeContextRetryCalcRequest(SSTriggerRealtimeContext
      *pContext, SListNode *pNode,\n                                                 SSTriggerCalcRequest
      *pReq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5032,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5033,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5034,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5036,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5038,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5044,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5051,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5052,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5053,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5058,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5058,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5059,1
    - Dst: tSerializeSTriggerDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5061,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5062,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5064,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5065,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5067,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5068,1
    - Dst: tSerializeSTriggerDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5070,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5071,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5072,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5073,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5073,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5075,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5076,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5078,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5079,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5082,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5083,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5087,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5088,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5088,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - pContext
    - pNode
    - pReq
    argTypes:
    - SSTriggerRealtimeContext*
    - SListNode*
    - SSTriggerDropRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5091
      start: 5023
    functionDepth: 3
    functionLinenumber: 5023
    functionLinenumberEnd: 5091
    functionName: stRealtimeContextRetryDropRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - tdListPopNode
    - rpcMallocCont
    - destroyAhandle
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - stRealtimeContextSendPullReq
    - ST_TASK_ELOG
    - TRACE_SET_MSGID
    - ST_TASK_DLOG
    - tmsgSendReq
    - QUERY_CHECK_NULL
    - stTriggerTaskAllocAhandle
    - tSerializeSTriggerDropTableRequest
    - tGenIdPI64
    - tstrerror
    - TRACE_SET_ROOTID
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeContextRetryDropRequest(SSTriggerRealtimeContext
      *pContext, SListNode *pNode,\n                                                 SSTriggerDropRequest
      *pReq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5099,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5103,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5105,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5107,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5108,1
    - Dst: stTriggerTaskAddRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5113,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5114,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5117,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5121,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5124,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5127
      start: 5093
    functionDepth: 3
    functionLinenumber: 5093
    functionLinenumberEnd: 5127
    functionName: stRealtimeContextAddUserRecalc
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - ST_TASK_DLOG
    - stTriggerTaskAddRecalcRequest
    - tstrerror
    - taosArrayGetSize
    - tSimpleHashIterate
    - QUERY_CHECK_CODE
    - taosArrayClear
    - TARRAY_GET_ELEM
    - taosWUnLockLatch
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextAddUserRecalc(SSTriggerRealtimeContext *pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_TRIGGER_GROUP_IN_IDLE_LIST
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5130,1
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5134,1
    - Dst: TD_DLIST_NODE_PREV_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5136,1
    - Dst: TD_DLIST_PREPEND_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5140,1
    - Dst: TD_DLIST_NODE_NEXT_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5141,1
    - Dst: TD_DLIST_APPEND_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5143,1
    - Dst: TD_DLIST_NODE_NEXT_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5146,1
    - Dst: TD_DLIST_NODE_PREV_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5147,1
    - Dst: TD_DLIST_NODE_NEXT_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5148,1
    - Dst: TD_DLIST_NODE_NEXT_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5149,1
    - Dst: TD_DLIST_NODE_PREV_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5150,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pContext
    - pGroup
    argTypes:
    - SSTriggerRealtimeContext*
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5154
      start: 5129
    functionDepth: 1
    functionLinenumber: 5129
    functionLinenumberEnd: 5154
    functionName: stRealtimeContextAppendIdleList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_NELES
    - TD_DLIST_NODE_PREV_WITH_FIELD
    - TD_DLIST_NODE_NEXT_WITH_FIELD
    - TD_DLIST_PREPEND_WITH_FIELD
    - IS_TRIGGER_GROUP_IN_IDLE_LIST
    - TD_DLIST_TAIL
    - TD_DLIST_APPEND_WITH_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextAppendIdleList(SSTriggerRealtimeContext *pContext,
      SSTriggerRealtimeGroup *pGroup)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5160,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5166,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5167,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5173,1
    - Dst: streamBuildIdleNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5183,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5184,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5193,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5195,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5197,1
    - Dst: stRealtimeGroupUpdateExecTime
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5198,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5198,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5199,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5201,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5203,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5204,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5207,1
    - Dst: TD_DLIST_POP_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5209,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5215
      start: 5156
    functionDepth: 4
    functionLinenumber: 5156
    functionLinenumberEnd: 5215
    functionName: stRealtimeContextCheckIdleGroup
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - stRealtimeGroupUpdateExecTime
    - ST_TASK_DLOG
    - taosGetMonoTimestampMs
    - taosGetTimestampNs
    - streamBuildIdleNotifyContent
    - streamSendNotifyContent
    - TD_DLIST_POP_WITH_FIELD
    - QUERY_CHECK_CODE
    - taosObjListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextCheckIdleGroup(SSTriggerRealtimeContext *pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5228,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5229,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5230,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5231,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5232,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5237,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pContext
    - pSrc
    - pDst
    argTypes:
    - SSTriggerRealtimeContext*
    - SObjList*
    - SObjList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5240
      start: 5217
    functionDepth: 1
    functionLinenumber: 5217
    functionLinenumberEnd: 5240
    functionName: stRealtimeContextCopyTableUids
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosObjListInitIter
    - QUERY_CHECK_CODE
    - tstrerror
    - taosObjListIterNext
    - ST_TASK_ELOG
    - taosObjListClear
    - taosObjListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextCopyTableUids(SSTriggerRealtimeContext *pContext,
      SObjList *pSrc, SObjList *pDst)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5246,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5248,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5249,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5250,1
    - Dst: stRealtimeContextRetryPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5252,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5253,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5260,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5261,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5262,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5264,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5266,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5273,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5274,1
    - Dst: streamReadCheckPoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5277,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5279,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5280,1
    - Dst: stTriggerTaskParseCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5282,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5284,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5285,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5287,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5291,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5292,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5293,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5299,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5301,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5303,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5304,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5310,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5311,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5312,1
    - Dst: stHistoryContextInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5313,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5314,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5320,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5321,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5322,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5323,1
    - Dst: tSerializeSTriggerCtrlRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5324,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5325,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5326,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5327,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5327,1
    - Dst: SMsgCb*::putToQueueFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5330,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5331,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5333,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5334,1
    - Dst: stTriggerTaskAddRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5338,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5339,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5345,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5347,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5350,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5357,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5361,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5363,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5365,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5366,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5372,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5373,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5374,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5375,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5377,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5378,1
    - Dst: stRealtimeGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5381,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5384,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5385,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5390,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5391,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5395,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5395,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5396,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5397,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5403,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5405,1
    - Dst: stRealtimeContextCopyTableUids
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5413,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5414,1
    - Dst: stRealtimeGroupCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5416,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5417,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5419,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5420,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5425,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5426,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5428,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5428,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5429,1
    - Dst: stRealtimeGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5431,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5435,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5437,1
    - Dst: stRealtimeContextCopyTableUids
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5441,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5442,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5444,1
    - Dst: stRealtimeGroupClearMetadatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5445,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5448,1
    - Dst: stTriggerTaskReadyRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5449,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5450,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5459,1
    - Dst: stTriggerTaskAcquireRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5474,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5475,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5478,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5481,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5486,1
    - Dst: stTriggerTaskCheckCreate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5487,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5488,1
    - Dst: stRealtimeGroupRetrievePendingCalc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5493,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5494,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5500,1
    - Dst: stRealtimeContextSendCalcReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5501,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5502,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5503,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5507,1
    - Dst: stRealtimeGroupClearMetadatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5508,1
    - Dst: stRealtimeGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5510,1
    - Dst: stTriggerTaskReadyRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5511,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5512,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5514,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5515,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5520,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5522,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5525,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5527,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5531,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5541,1
    - Dst: stRealtimeContextSendCalcReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5542,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5543,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5545,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5546,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5551,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5556,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5561,1
    - Dst: stTriggerTaskAcquireDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5564,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5565,1
    - Dst: stRealtimeContextSendDropTableReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5569,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5570,1
    - Dst: stTriggerTaskReleaseDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5574,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5575,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5577,1
    - Dst: stTriggerTaskGetRunningReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5588,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5589,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5594,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5602,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5605,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5607,1
    - Dst: stRealtimeContextPrepareVtablePatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5609,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5610,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5612,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5614,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5616,1
    - Dst: stTriggerTaskGenCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5624,1
    - Dst: ST_TASK_WLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5626,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5626,1
    - Dst: stRealtimeContextReport
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5633,1
    - Dst: stRealtimeContextAddUserRecalc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5637,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5638,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5641,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5643,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5644,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5650,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5651,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5652,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5656,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5658,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5661,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5668,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5668,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 359
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerRealtimeContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5671
      start: 5242
    functionDepth: 4
    functionLinenumber: 5242
    functionLinenumberEnd: 5671
    functionName: stRealtimeContextCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stRealtimeContextAddUserRecalc
    - taosMemoryFreeClear
    - stRealtimeContextPrepareVtablePatch
    - QUERY_CHECK_CONDITION
    - stDebug
    - atomic_load_8
    - stRealtimeGroupInit
    - heapInsert
    - taosGetTimestampNs
    - ST_TASK_WLOG
    - stHistoryContextInit
    - streamReadCheckPoint
    - listNEles
    - IS_PATCHING_VITRUAL_TABLE
    - TD_DLIST_APPEND
    - stRealtimeGroupClearMetadatas
    - tSerializeSTriggerCtrlRequest
    - TD_DLIST_HEAD
    - stRealtimeContextSendDropTableReq
    - rpcMallocCont
    - stTriggerTaskGetRunningReq
    - TD_DLIST_NELES
    - stRealtimeGroupCheck
    - TARRAY_DATA
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - stTriggerTaskCheckCreate
    - stRealtimeContextSendPullReq
    - SMsgCb*::putToQueueFp
    - taosMemoryCalloc
    - ST_TASK_ELOG
    - stRealtimeContextReport
    - TRACE_SET_MSGID
    - ST_TASK_DLOG
    - stTriggerTaskAddRecalcRequest
    - TD_DLIST_POP
    - stTriggerTaskGetTimeWindow
    - stTriggerTaskGenCheckpoint
    - QUERY_CHECK_NULL
    - stTriggerTaskParseCheckpoint
    - taosArrayRemove
    - container_of
    - IS_TRIGGER_GROUP_TO_CHECK
    - tSimpleHashIterate
    - stRealtimeContextRetryPullRequest
    - tstrerror
    - heapRemove
    - stRealtimeGroupRetrievePendingCalc
    - taosObjListClear
    - stRealtimeGroupClearTempState
    - stTriggerTaskAcquireRequest
    - stTriggerTaskAcquireDropTableRequest
    - stTriggerTaskReleaseDropTableRequest
    - TARRAY_SIZE
    - stTriggerTaskReleaseRequest
    - tSimpleHashPut
    - stRealtimeContextSendCalcReq
    - stRealtimeContextCopyTableUids
    - tGenIdPI64
    - taosMemoryFree
    - stTriggerTaskAddWaitSession
    - tSimpleHashGetSize
    - streamSendNotifyContent
    - stTriggerTaskNextTimeWindow
    - TRACE_SET_ROOTID
    - stTriggerTaskReadyRecalcRequest
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextCheck(SSTriggerRealtimeContext *pContext)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5686,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5688,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5689,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5697,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5698,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5700,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5701,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5703,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5704,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5706,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5707,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5712,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5714,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5717,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5718,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5719,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5721,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5725,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5728,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5729,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5730,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5732,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5733,1
    - Dst: stRealtimeGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5735,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5736,1
    - Dst: stRealtimeGroupAddMeta
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5741,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5742,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5743,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5744,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5751,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5754,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5755,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5756,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5758,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5759,1
    - Dst: stRealtimeGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5761,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5762,1
    - Dst: stRealtimeGroupAddMeta
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5767,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5768,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5769,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5770,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5777,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5779,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5780,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5787,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5789,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5790,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5792,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5793,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5795,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5796,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5798,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5799,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5804,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5806,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5809,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5810,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5811,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5813,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5817,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5820,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5821,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5822,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5824,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5825,1
    - Dst: stRealtimeGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5827,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5828,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5833,1
    - Dst: stTriggerTaskAddRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5835,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5836,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5842,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5845,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5846,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5847,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5849,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5850,1
    - Dst: stRealtimeGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5852,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5853,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5858,1
    - Dst: stTriggerTaskAddRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5860,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5861,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5867,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5870,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5871,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5872,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5873,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5874,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5875,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5883,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5886,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5888,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5889,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5894,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5896,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5900,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5904,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5906,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5907,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5912,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5914,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5917,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5919,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5921,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5922,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5923,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5925,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5926,1
    - Dst: stRealtimeGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5928,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5929,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5932,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5933,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5940,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5940,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 186
    argCount: 2
    argNames:
    - pContext
    - pProgress
    argTypes:
    - SSTriggerRealtimeContext*
    - SSTriggerWalProgress*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5943
      start: 5673
    functionDepth: 3
    functionLinenumber: 5673
    functionLinenumberEnd: 5943
    functionName: stRealtimeContextProcWalMeta
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - stRealtimeGroupInit
    - TD_DLIST_APPEND
    - taosArrayGet
    - blockDataGetNumOfRows
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - tSimpleHashGet
    - ST_TASK_DLOG
    - taosArrayGetLast
    - stTriggerTaskAddRecalcRequest
    - QUERY_CHECK_NULL
    - IS_TRIGGER_GROUP_TO_CHECK
    - stRealtimeGroupAddMeta
    - TARRAY_SIZE
    - tSimpleHashPut
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextProcWalMeta(SSTriggerRealtimeContext *pContext,
      SSTriggerWalProgress *pProgress)
  - BBCount: 111
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5960,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5964,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5969,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5969,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5972,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5973,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5975,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5976,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5982,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5985,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5986,1
    - Dst: tDeserializeSStreamTsResponse
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5987,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5988,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:5995,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6001,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6002,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6004,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6005,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6009,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6013,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6023,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6024,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6025,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6026,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6027,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6028,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6030,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6032,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6033,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6035,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6042,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6044,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6045,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6047,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6056,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6057,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6062,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6064,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6065,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6067,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6071,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6072,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6078,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6079,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6091,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6093,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6094,1
    - Dst: stRealtimeContextSendPullReqForGid
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6095,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6096,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6102,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6103,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6108,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6111,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6112,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6114,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6115,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6121,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6124,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6125,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6126,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6127,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6133,1
    - Dst: tDeserializeSStreamWalDataResponse
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6137,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6138,1
    - Dst: stRealtimeContextProcWalMeta
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6143,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6144,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6146,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6151,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6157,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6158,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6160,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6161,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6162,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6168,1
    - Dst: stRealtimeContextCheckIdleGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6171,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6172,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6175,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6179,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6184,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6185,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6186,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6188,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6189,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6197,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6200,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6203,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6205,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6210,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6211,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6212,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6215,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6218,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6220,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6223,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6225,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6226,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6227,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6230,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6231,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6233,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6234,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6239,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6242,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6246,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6247,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6249,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6252,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6254,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6255,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6263,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6266,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6267,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6269,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6270,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6276,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6277,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6280,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6282,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6283,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6284,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6290,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6292,1
    - Dst: tDeserializeSStreamWalDataResponse
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6299,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6300,1
    - Dst: stRealtimeContextProcWalMeta
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6308,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6309,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6312,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6313,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6318,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6324,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6325,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6326,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6327,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6328,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6329,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6330,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6331,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6333,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6336,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6341,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6344,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6348,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6350,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6351,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6357,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6363,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6364,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6365,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6368,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6372,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6374,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6378,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6381,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6386,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6392,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6393,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6395,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6396,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6398,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6399,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6401,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6402,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6404,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6409,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6410,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6412,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6413,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6414,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6415,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6420,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6426,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6427,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6429,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6430,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6431,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6434,1
    - Dst: stRealtimeContextCheckIdleGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6437,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6438,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6441,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6442,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6443,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6448,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6451,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6452,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6454,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6455,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6461,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6463,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6464,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6465,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6467,1
    - Dst: tDeserializeSStreamWalDataResponse
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6469,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6470,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6473,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6474,1
    - Dst: stRealtimeContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6477,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6478,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6480,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6486,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6487,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6488,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6489,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6490,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6491,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6492,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6493,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6496,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6497,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6503,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6509,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6510,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6512,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6513,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6518,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6522,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6523,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6528,1
    - Dst: tDeserializeSStreamGroupInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6537,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6538,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6540,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6542,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6543,1
    - Dst: stTriggerTaskSendCreateTableReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6545,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6548,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6549,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6550,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6557,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6558,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6559,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6561,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6562,1
    - Dst: stRealtimeContextSendPullReqForGid
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6564,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6565,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6567,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6574,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6575,1
    - Dst: tDeserializeSStreamGroupInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6583,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6584,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6587,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6590,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6593,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6594,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6598,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6599,1
    - Dst: stRealtimeContextRetryCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6602,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6603,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6613,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6614,1
    - Dst: tDeserializeSStreamGroupInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6618,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6619,1
    - Dst: stRealtimeContextRetryDropRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6620,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6621,1
    - Dst: stTriggerTaskReleaseDropTableRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6622,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6623,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6627,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6628,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6629,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6640,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6643,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6647,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6648,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6649,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6650,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6651,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6657,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6658,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6660,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6661,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6667,1
    - Dst: tDeserializeSStreamMsgVTableInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6670,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6671,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6672,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6674,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6677,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6679,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6682,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6684,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6687,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6688,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6691,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6694,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6696,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6703,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6704,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6705,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6706,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6708,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6708,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6709,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6710,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6711,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6713,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6714,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6719,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6722,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6723,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6724,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6725,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6728,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6728,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6729,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6732,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6733,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6738,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6739,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6740,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6741,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6748,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6749,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6751,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6753,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6756,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6758,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6759,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6760,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6761,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6762,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6763,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6765,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6767,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6769,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6770,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6771,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6775,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6778,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6779,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6780,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6781,1
    - Dst: stRealtimeContextFinishVtablePatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6782,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6783,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6785,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6786,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6787,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6788,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6794,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6797,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6798,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6800,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6801,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6807,1
    - Dst: tDserializeSTriggerOrigTableInfoRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6810,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6811,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6813,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6813,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6813,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6815,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6818,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6820,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6824,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6828,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6834,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6837,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6839,1
    - Dst: IS_PATCHING_VITRUAL_TABLE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6848,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6849,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6851,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6852,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6853,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6855,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6856,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6859,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6860,1
    - Dst: stTriggerTaskGenVirColRefs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6862,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6863,1
    - Dst: stTriggerTaskGenVirColRefs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6864,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6865,1
    - Dst: stTriggerTaskNewGenVirColRefs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6866,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6867,1
    - Dst: stTriggerTaskNewGenVirColRefs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6868,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6869,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6872,1
    - Dst: stRealtimeContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6874,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6875,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6888,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6889,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6894,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6896,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6902,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6905,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6908,1
    - Dst: tDestroySStreamMsgVTableInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6910,1
    - Dst: tDestroySTriggerOrigTableInfoRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6911,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6913,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6916,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6916,1
    CyclomaticComplexity: 195
    EdgeCount: 195
    ICount: 683
    argCount: 2
    argNames:
    - pContext
    - pRsp
    argTypes:
    - SSTriggerRealtimeContext*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6919
      start: 5945
    functionDepth: 5
    functionLinenumber: 5945
    functionLinenumberEnd: 6919
    functionName: stRealtimeContextProcPullRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - tDeserializeSStreamTsResponse
    - stTriggerTaskNewGenVirColRefs
    - snprintf
    - tdListInitIter
    - taosArrayGet
    - blockDataGetNumOfRows
    - blockDataGetNumOfCols
    - taosWLockLatch
    - tDeserializeSStreamMsgVTableInfo
    - taosArrayGetLast
    - QUERY_CHECK_NULL
    - tSimpleHashIterate
    - stRealtimeContextCheck
    - stRealtimeContextGetCurrentGroup
    - tdListNext
    - tstrerror
    - TMIN
    - taosArrayAddAll
    - atomic_add_fetch_64
    - tDeserializeSStreamWalDataResponse
    - tSimpleHashGetKey
    - TD_DLIST_HEAD
    - stRealtimeContextCalcExpr
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - stRealtimeContextRetryDropRequest
    - taosArrayClear
    - tDeserializeSStreamGroupInfo
    - ST_TASK_ILOG
    - stRealtimeContextFinishVtablePatch
    - tSimpleHashClear
    - stRealtimeContextProcWalMeta
    - TD_DLIST_NODE_NEXT
    - tDestroySTriggerOrigTableInfoRsp
    - stRealtimeContextCheckIdleGroup
    - taosArrayReserve
    - atomic_store_ptr
    - blockDataDestroy
    - tSimpleHashSetFreeFp
    - blockDataEmpty
    - listNEles
    - IS_PATCHING_VITRUAL_TABLE
    - TD_DLIST_APPEND
    - TD_DLIST_NELES
    - TARRAY_DATA
    - stTriggerTaskSendCreateTableReq
    - TARRAY_GET_ELEM
    - stRealtimeContextSendPullReq
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - stRealtimeContextRetryCalcRequest
    - tSimpleHashGet
    - stTriggerTaskGenVirColRefs
    - ST_TASK_DLOG
    - tSimpleHashCleanup
    - tDestroySStreamMsgVTableInfo
    - IS_TRIGGER_GROUP_TO_CHECK
    - stTriggerTaskReleaseDropTableRequest
    - TARRAY_SIZE
    - tSimpleHashPut
    - taosArrayDestroyP
    - tDserializeSTriggerOrigTableInfoRsp
    - stRealtimeContextSendPullReqForGid
    - taosArrayInit
    - strlen
    - taosArrayPush
    - QUERY_CHECK_CONDITION
    - taosArrayDestroy
    - blockDecode
    - tSimpleHashInit
    - taosArrayClearEx
    - taosArrayRemove
    - tstrncpy
    - taosWUnLockLatch
    - atomic_store_64
    - taosObjListAppend
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextProcPullRsp(SSTriggerRealtimeContext *pContext,
      SRpcMsg *pRsp)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6931,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6934,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6935,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6939,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6941,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6948,1
    - Dst: stRealtimeContextSendPullReqForGid
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6950,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6951,1
    - Dst: stTriggerTaskSendCreateTableReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6955,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6957,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6958,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6960,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6961,1
    - Dst: stRealtimeContextSendPullReqForGid
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6962,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6963,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6965,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6969,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6970,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6975,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6978,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6979,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6991,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6992,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6996,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6997,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:6999,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7003,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7004,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7005,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7009,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7013,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7015,1
    - Dst: stRealtimeContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7016,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7017,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7022,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7023,1
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7024,1
    - Dst: stRealtimeContextRetryCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7025,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7026,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7031,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7031,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 2
    argNames:
    - pContext
    - pRsp
    argTypes:
    - SSTriggerRealtimeContext*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7034
      start: 6921
    functionDepth: 5
    functionLinenumber: 6921
    functionLinenumberEnd: 7034
    functionName: stRealtimeContextProcCalcRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - taosGetTimestampNs
    - taosArrayDestroy
    - tdListInitIter
    - taosArrayGet
    - stTriggerTaskSendCreateTableReq
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosWLockLatch
    - stRealtimeContextRetryCalcRequest
    - ST_TASK_ELOG
    - tSimpleHashGet
    - tdListAppend
    - ST_TASK_DLOG
    - TD_DLIST_POP
    - QUERY_CHECK_NULL
    - taosArrayRemove
    - container_of
    - taosWUnLockLatch
    - stRealtimeContextCheck
    - stTriggerTaskReleaseRequest
    - tdListNext
    - TD_DLIST_TAIL
    - stRealtimeContextSendPullReqForGid
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeContextProcCalcRsp(SSTriggerRealtimeContext *pContext,
      SRpcMsg *pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7042,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7046,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7049
      start: 7036
    functionDepth: 1
    functionLinenumber: 7036
    functionLinenumberEnd: 7049
    functionName: stHistoryContextDestroyTsdbProgress
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: void stHistoryContextDestroyTsdbProgress(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7052,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HeapNode*
    - HeapNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7055
      start: 7051
    functionDepth: 0
    functionLinenumber: 7051
    functionLinenumberEnd: 7055
    functionName: stHistoryContextCompareGroup
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextCompareGroup(const HeapNode *a, const HeapNode
      *b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7065,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7066,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7067,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7068,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7070,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7076,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7077,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7078,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7079,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7079,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7080,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7088,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7089,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7098,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7099,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7117,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7118,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7126,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7127,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7128,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7129,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7130,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7131,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7132,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7133,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7138,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7139,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7142,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7145,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 4
    argNames:
    - pContext
    - pDataBlock
    - pExpr
    - pResCol
    argTypes:
    - SSTriggerHistoryContext*
    - SSDataBlock*
    - SNode*
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7148
      start: 7057
    functionDepth: 2
    functionLinenumber: 7057
    functionLinenumberEnd: 7148
    functionName: stHistoryContextCalcExpr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - colInfoDataEnsureCapacity
    - QUERY_CHECK_CONDITION
    - tstrerror
    - colDataAssign
    - blockDataGetNumOfRows
    - QUERY_CHECK_NULL
    - scalarCalculate
    - nodeType
    - taosArrayInit
    - QUERY_CHECK_CODE
    - colDataDestroy
    - taosArrayDestroy
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - BitmapLen
    - TAOS_MEMSET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stHistoryContextCalcExpr(SSTriggerHistoryContext *pContext,
      SSDataBlock *pDataBlock, SNode *pExpr,\n                                        SColumnInfoData
      *pResCol)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7088,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7089,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7098,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7108
      start: 7086
    functionDepth: 2
    functionLinenumber: 7086
    functionLinenumberEnd: 7108
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 15
    functionsReached:
    - scalarCalculate
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pNodeList)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7167,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7167,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7168,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7169,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7170,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7172,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7173,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7177,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7179,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7180,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7181,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7183,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7184,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7190,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7191,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7195,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7196,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7197,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7198,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7200,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7200,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7201,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7202,1
    - Dst: TD_DLIST_INIT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7203,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7204,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7206,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7207,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7209,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7210,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7211,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7213,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7214,1
    - Dst: stHistoryGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7216,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7217,1
    - Dst: heapCreate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7220,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7221,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7222,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7222,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7223,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7225,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7226,1
    - Dst: stTimestampSorterInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7227,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7228,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7230,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7231,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7232,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7233,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7234,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7235,1
    - Dst: stVtableMergerInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7236,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7237,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7240,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7241,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7242,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7243,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7246,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7247,1
    - Dst: taosObjPoolInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7249,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7250,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7253,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7253,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7254,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7255,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7257,1
    - Dst: tdListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7258,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7260,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 90
    argCount: 2
    argNames:
    - pContext
    - pTask
    argTypes:
    - SSTriggerHistoryContext*
    - SStreamTriggerTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7264
      start: 7150
    functionDepth: 16
    functionLinenumber: 7150
    functionLinenumberEnd: 7264
    functionName: stHistoryContextInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - taosGetTimestampNs
    - tSimpleHashSetFreeFp
    - heapCreate
    - filterInitFromNode
    - taosObjPoolInit
    - createOneDataBlock
    - taosHashInit
    - taosHashSetFreeFp
    - tdListInit
    - tSimpleHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - taosMemoryCalloc
    - tSimpleHashGet
    - stVtableMergerInit
    - QUERY_CHECK_NULL
    - stTimestampSorterInit
    - TD_DLIST_INIT
    - tSimpleHashPut
    - stHistoryGroupInit
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextInit(SSTriggerHistoryContext *pContext, SStreamTriggerTask
      *pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7269,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7271,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerHistoryContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7283
      start: 7266
    functionDepth: 1
    functionLinenumber: 7266
    functionLinenumberEnd: 7283
    functionName: stHistoryContextReport
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - tSimpleHashGetSize
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void stHistoryContextReport(SSTriggerHistoryContext *pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7295,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7297,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7298,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pContext
    - pReq
    argTypes:
    - SSTriggerHistoryContext*
    - SSTriggerRecalcRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7304
      start: 7285
    functionDepth: 1
    functionLinenumber: 7285
    functionLinenumberEnd: 7304
    functionName: stHistoryContextHandleRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_NULL
    - tSimpleHashIterate
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextHandleRequest(SSTriggerHistoryContext *pContext,
      SSTriggerRecalcRequest *pReq)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7315,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7320,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7324,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7328,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7334,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7336,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7338,1
    - Dst: heapDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7342,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7347,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7350,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7351,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7353,1
    - Dst: stTimestampSorterDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7358,1
    - Dst: stVtableMergerDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7361,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7365,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7367,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7369,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7373,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7377,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7383,1
    - Dst: taosObjPoolDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7386,1
    - Dst: destroyStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7389,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7393,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7397,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7398,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7400,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 75
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7401
      start: 7306
    functionDepth: 4
    functionLinenumber: 7306
    functionLinenumberEnd: 7401
    functionName: stHistoryContextDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroyEx
    - tdListEmpty
    - ST_TASK_DLOG
    - taosObjPoolDestroy
    - stVtableMergerDestroy
    - heapDestroy
    - taosArrayDestroyP
    - tSimpleHashCleanup
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - taosArrayGetSize
    - stTimestampSorterDestroy
    - taosHashCleanup
    - taosArrayDestroy
    - taosMemFreeClear
    - destroyStreamDataCache
    linkageType: ''
    returnType: void
    signature: void stHistoryContextDestroy(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7406,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7407,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7408,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7409,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7416
      start: 7403
    functionDepth: 1
    functionLinenumber: 7403
    functionLinenumberEnd: 7416
    functionName: SSTriggerHistoryGroup *stHistoryContextGetCurrentGroup(SSTriggerHistoryContext
      *pContext)
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - ST_TASK_ELOG
    - TD_DLIST_NELES
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE SSTriggerHistoryGroup *stHistoryContextGetCurrentGroup(SSTriggerHistoryContext
      *pContext)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7427,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7428,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7429,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7430,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7440,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7441,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7442,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7443,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7450,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7458,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7459,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7463,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7464,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7476,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7477,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7478,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7479,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7490,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7491,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7492,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7493,1
    - Dst: stHistoryContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7495,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7500,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7502,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7510,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7511,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7518,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7519,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7520,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7521,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7523,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7524,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7525,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7531,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7532,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7533,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7538,1
    - Dst: stHistoryContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7547,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7548,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7550,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7551,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7552,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7553,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7556,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7557,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7558,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7559,1
    - Dst: stHistoryContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7567,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7568,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7569,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7570,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7571,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7572,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7573,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7577,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7579,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7581,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7582,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7583,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7591,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7601,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7601,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7602,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7604,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7605,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7607,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7608,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7610,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7611,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7613,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7614,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7615,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7616,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7616,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7618,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7619,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7621,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7622,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7626,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7627,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7627,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 151
    argCount: 2
    argNames:
    - pContext
    - type
    argTypes:
    - SSTriggerHistoryContext*
    - ESTriggerPullType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7630
      start: 7418
    functionDepth: 2
    functionLinenumber: 7418
    functionLinenumberEnd: 7630
    functionName: stHistoryContextSendPullReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - htonl
    - QUERY_CHECK_CONDITION
    - snprintf
    - stHistoryContextGetCurrentGroup
    - taosArrayGetP
    - rpcMallocCont
    - destroyAhandle
    - taosArrayGet
    - TARRAY_DATA
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClear
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tSimpleHashGet
    - tSerializeSTriggerPullRequest
    - TRACE_SET_MSGID
    - ST_TASK_DLOG
    - tmsgSendReq
    - QUERY_CHECK_NULL
    - tSimpleHashIterate
    - stTriggerTaskAllocAhandle
    - TARRAY_SIZE
    - TMAX
    - tGenIdPI64
    - tstrerror
    - TRACE_SET_ROOTID
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextSendPullReq(SSTriggerHistoryContext *pContext,
      ESTriggerPullType type)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7642,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7644,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7645,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7646,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7652,1
    - Dst: stHistoryContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7659,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7660,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7662,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7663,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7665,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7666,1
    - Dst: ST_TASK_WLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7671,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7672,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7673,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7676,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7677,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7678,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7679,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7680,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7681,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7682,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7683,1
    - Dst: initStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7703,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7705,1
    - Dst: stHistoryContextGetCurrentGroup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7708,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7709,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7711,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7714,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7714,1
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7722,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7724,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7731,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7733,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7736,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7737,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7739,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7741,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7743,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7744,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7745,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7746,1
    - Dst: putStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7749,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7751,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7757,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7758,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7761,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7762,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7765,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7766,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7768,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7770,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7772,1
    - Dst: stHistoryGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7778,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7784,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7785,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7794,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7803,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7803,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7804,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7806,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7807,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7809,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7810,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7812,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7813,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7815,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7816,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7817,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7818,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7818,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7820,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7821,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7823,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7824,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7830,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7831,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7834,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7835,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7835,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 151
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerHistoryContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7838
      start: 7632
    functionDepth: 3
    functionLinenumber: 7632
    functionLinenumberEnd: 7838
    functionName: stHistoryContextSendCalcReq
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - htonl
    - stHistoryContextSendPullReq
    - QUERY_CHECK_CONDITION
    - ST_TASK_WLOG
    - TAOS_MEMCPY
    - stHistoryGroupClearTempState
    - initStreamDataCache
    - stHistoryContextGetCurrentGroup
    - putStreamDataCache
    - TARRAY_ELEM_IDX
    - tSerializeSTriggerCalcRequest
    - rpcMallocCont
    - destroyAhandle
    - taosArrayGet
    - TARRAY_DATA
    - createOneDataBlock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClear
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - TRACE_SET_ROOTID
    - tSimpleHashGet
    - TRACE_SET_MSGID
    - ST_TASK_DLOG
    - tmsgSendReq
    - QUERY_CHECK_NULL
    - stTriggerTaskAllocAhandle
    - stHistoryGroupGetDataBlock
    - TARRAY_SIZE
    - taosMemoryMalloc
    - stTriggerTaskReleaseRequest
    - tGenIdPI64
    - tstrerror
    - blockDataAppendColInfo
    - blockDataDestroy
    - taosArrayClearP
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextSendCalcReq(SSTriggerHistoryContext *pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7848,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7849,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7850,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7852,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7853,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7859,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7862,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7862,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7863,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7865,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7866,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7868,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7869,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7871,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7872,1
    - Dst: tSerializeSTriggerPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7874,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7875,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7876,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7877,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7877,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7879,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7880,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7882,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7884,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7887,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7888,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7892,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7893,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 3
    argNames:
    - pContext
    - pNode
    - pReq
    argTypes:
    - SSTriggerHistoryContext*
    - SListNode*
    - SSTriggerPullRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7896
      start: 7840
    functionDepth: 2
    functionLinenumber: 7840
    functionLinenumberEnd: 7896
    functionName: stHistoryContextRetryPullRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - tdListPopNode
    - rpcMallocCont
    - destroyAhandle
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tSerializeSTriggerPullRequest
    - TRACE_SET_MSGID
    - ST_TASK_DLOG
    - tmsgSendReq
    - QUERY_CHECK_NULL
    - stTriggerTaskAllocAhandle
    - tGenIdPI64
    - tstrerror
    - TRACE_SET_ROOTID
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stHistoryContextRetryPullRequest(SSTriggerHistoryContext *pContext,
      SListNode *pNode,\n                                                SSTriggerPullRequest
      *pReq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7907,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7908,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7909,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7911,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7913,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7919,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7928,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7929,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7930,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7932,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7933,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7934,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7935,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7936,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7937,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7938,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7939,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7940,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7946,1
    - Dst: stTriggerTaskAllocAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7946,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7947,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7949,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7950,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7952,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7953,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7955,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7956,1
    - Dst: tSerializeSTriggerCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7958,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7959,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7960,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7961,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7961,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7963,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7964,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7966,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7967,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7970,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7971,1
    - Dst: destroyAhandle
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7975,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7976,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7976,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 3
    argNames:
    - pContext
    - pNode
    - pReq
    argTypes:
    - SSTriggerHistoryContext*
    - SListNode*
    - SSTriggerCalcRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7979
      start: 7898
    functionDepth: 2
    functionLinenumber: 7898
    functionLinenumberEnd: 7979
    functionName: stHistoryContextRetryCalcRequest
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - htonl
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - tdListPopNode
    - TAOS_MEMCPY
    - tSerializeSTriggerCalcRequest
    - rpcMallocCont
    - destroyAhandle
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tSimpleHashGet
    - TRACE_SET_MSGID
    - ST_TASK_DLOG
    - tmsgSendReq
    - QUERY_CHECK_NULL
    - stTriggerTaskAllocAhandle
    - TARRAY_SIZE
    - taosMemoryMalloc
    - tGenIdPI64
    - tstrerror
    - TRACE_SET_ROOTID
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stHistoryContextRetryCalcRequest(SSTriggerHistoryContext *pContext,
      SListNode *pNode,\n                                                SSTriggerCalcRequest
      *pReq)"
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7986,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7987,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7988,1
    - Dst: stHistoryContextRetryPullRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7990,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7991,1
    - Dst: stTriggerTaskFetchRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7998,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:7999,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8001,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8002,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8003,1
    - Dst: stHistoryContextHandleRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8006,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8008,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8011,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8019,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8019,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8020,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8021,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8023,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8024,1
    - Dst: stTriggerTaskGetRunningReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8031,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8032,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8033,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8035,1
    - Dst: stHistoryContextDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8037,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8038,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8039,1
    - Dst: stHistoryContextInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8041,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8042,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8043,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8044,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8045,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8054,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8056,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8057,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8061,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8062,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8064,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8065,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8068,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8070,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8074,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8076,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8081,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8082,1
    - Dst: stTriggerTaskAcquireRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8090,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8091,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8093,1
    - Dst: stHistoryGroupCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8100,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8101,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8104,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8105,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8108,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8109,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8113,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8117,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8118,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8120,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8120,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8121,1
    - Dst: stHistoryGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8123,1
    - Dst: stHistoryGroupRetrievePendingCalc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8131,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8132,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8133,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8135,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8139,1
    - Dst: stHistoryContextSendCalcReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8140,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8141,1
    - Dst: stHistoryGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8146,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8148,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8149,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8154,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8156,1
    - Dst: stHistoryGroupClearMetadatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8159,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8160,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8164,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8173,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8178,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8179,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8180,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8190,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8199,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8202,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8203,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8205,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8210,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8211,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8220,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8221,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8222,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8228,1
    - Dst: stIsStateEqualZeroth
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8230,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8231,1
    - Dst: TRINGBUF_MOVE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8233,1
    - Dst: stHistoryGroupAddCalcParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8245,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8246,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8248,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8249,1
    - Dst: TRINGBUF_MOVE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8251,1
    - Dst: TRINGBUF_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8252,1
    - Dst: TRINGBUF_DESTROY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8253,1
    - Dst: TRINGBUF_INIT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8254,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8257,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8258,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8260,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8260,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8261,1
    - Dst: stHistoryGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8263,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8267,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8269,1
    - Dst: stHistoryGroupClearMetadatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8272,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8273,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8278,1
    - Dst: stTriggerTaskAcquireRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8294,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8295,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8298,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8301,1
    - Dst: stHistoryGroupRetrievePendingCalc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8310,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8311,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8317,1
    - Dst: stHistoryContextSendCalcReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8318,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8319,1
    - Dst: stHistoryGroupClearMetadatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8325,1
    - Dst: stHistoryGroupClearTempState
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8327,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8329,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8330,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8335,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8337,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8340,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8342,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8346,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8358,1
    - Dst: stHistoryContextReport
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8360,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8369,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8371,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8372,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8375,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8376,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8378,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8379,1
    - Dst: stHistoryContextReport
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8384,1
    - Dst: stTriggerTaskGetRunningReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8387,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8388,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8391,1
    - Dst: stHistoryContextDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8393,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8394,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8395,1
    - Dst: stHistoryContextInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8397,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8398,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8399,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8400,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8401,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8409,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8409,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 370
    argCount: 1
    argNames:
    - pContext
    argTypes:
    - SSTriggerHistoryContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8412
      start: 7981
    functionDepth: 17
    functionLinenumber: 7981
    functionLinenumberEnd: 8412
    functionName: stHistoryContextCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - TRINGBUF_MOVE_NEXT
    - taosArrayPush
    - taosMemoryFreeClear
    - stHistoryContextSendPullReq
    - QUERY_CHECK_CONDITION
    - stHistoryGroupRetrievePendingCalc
    - heapInsert
    - stHistoryContextRetryPullRequest
    - taosGetTimestampNs
    - atomic_store_8
    - TRINGBUF_DESTROY
    - stHistoryContextInit
    - stHistoryGroupClearTempState
    - listNEles
    - TD_DLIST_APPEND
    - TD_DLIST_HEAD
    - stTriggerTaskGetRunningReq
    - stHistoryGroupAddCalcParam
    - TRINGBUF_TAIL
    - TD_DLIST_NELES
    - TARRAY_DATA
    - blockDataGetNumOfRows
    - stTriggerTaskFetchRecalcRequest
    - tSimpleHashInit
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - stIsStateEqualZeroth
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - ST_TASK_DLOG
    - stHistoryContextSendCalcReq
    - TD_DLIST_POP
    - QUERY_CHECK_NULL
    - tSimpleHashCleanup
    - container_of
    - stHistoryContextReport
    - TRINGBUF_HEAD
    - tSimpleHashIterate
    - tstrerror
    - heapRemove
    - stHistoryContextHandleRequest
    - stTriggerTaskAcquireRequest
    - TARRAY_SIZE
    - stTriggerTaskReleaseRequest
    - stHistoryContextDestroy
    - stHistoryGroupClearMetadatas
    - stHistoryGroupCheck
    - streamSendNotifyContent
    - stTriggerTaskAddWaitSession
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - TRINGBUF_INIT
    - taosArrayClearP
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextCheck(SSTriggerHistoryContext *pContext)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8422,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8430,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8434,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8437,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8438,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8440,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8441,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8447,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8450,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8451,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8453,1
    - Dst: tDeserializeSStreamTsResponse
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8455,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8456,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8459,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8461,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8462,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8464,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8465,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8470,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8473,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8475,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8477,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8479,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8481,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8484,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8488,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8490,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8491,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8493,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8495,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8497,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8498,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8499,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8501,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8502,1
    - Dst: stHistoryGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8504,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8505,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8506,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8508,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8510,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8523,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8525,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8526,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8532,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8534,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8538,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8539,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8545,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8548,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8549,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8551,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8552,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8558,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8560,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8561,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8564,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8565,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8566,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8568,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8571,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8572,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8576,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8581,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8582,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8584,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8585,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8586,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8587,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8595,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8596,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8597,1
    - Dst: stHistoryContextSendPullReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8599,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8600,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8606,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8607,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8608,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8609,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8610,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8611,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8613,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8614,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8615,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8616,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8617,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8618,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8619,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8621,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8625,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8626,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8627,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8631,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8632,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8635,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8638,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8639,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8640,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8642,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8643,1
    - Dst: stHistoryGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8645,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8646,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8650,1
    - Dst: stHistoryGroupAddMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8652,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8653,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8655,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8662,1
    - Dst: stHistoryGroupAddMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8667,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8668,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8670,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8673,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8677,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8678,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8684,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8687,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8688,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8690,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8691,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8697,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8705,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8706,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8707,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8708,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8709,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8710,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8713,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8715,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8716,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8717,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8718,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8723,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8727,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8728,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8729,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8734,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8737,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8738,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8739,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8741,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8742,1
    - Dst: stHistoryGroupInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8744,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8745,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8749,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8751,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8753,1
    - Dst: IS_TRIGGER_GROUP_TO_CHECK
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8755,1
    - Dst: TD_DLIST_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8756,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8760,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8761,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8766,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8768,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8769,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8772,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8773,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8774,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8776,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8778,1
    - Dst: stTimestampSorterBindDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8779,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8780,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8783,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8784,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8790,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8792,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8793,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8796,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8797,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8798,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8800,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8803,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8804,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8808,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8812,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8813,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8818,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8821,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8822,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8825,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8826,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8827,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8829,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8831,1
    - Dst: stVtableMergerBindDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8832,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8833,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8836,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8837,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8842,1
    - Dst: tDeserializeSStreamGroupInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8847,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8848,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8850,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8852,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8853,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8856,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8857,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8861,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8862,1
    - Dst: stHistoryContextRetryCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8865,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8866,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8875,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8878,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8879,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8880,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8882,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8883,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8884,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8885,1
    - Dst: stVtableMergerSetPseudoCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8886,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8887,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8889,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8890,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8895,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8897,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8903,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8906,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8909,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8912,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8912,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 370
    argCount: 2
    argNames:
    - pContext
    - pRsp
    argTypes:
    - SSTriggerHistoryContext*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8915
      start: 8414
    functionDepth: 18
    functionLinenumber: 8414
    functionLinenumberEnd: 8915
    functionName: stHistoryContextProcPullRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stHistoryContextRetryCalcRequest
    - taosArrayPush
    - taosMemoryFreeClear
    - stHistoryContextSendPullReq
    - QUERY_CHECK_CONDITION
    - tDeserializeSStreamTsResponse
    - TMIN
    - taosArrayAddAll
    - TSDB_CHECK_CODE
    - blockDataEmpty
    - taosArrayDestroy
    - tdListInitIter
    - TD_DLIST_APPEND
    - blockDecode
    - taosArrayGet
    - blockDataGetNumOfRows
    - stHistoryContextCheck
    - QUERY_CHECK_CODE
    - taosArrayClear
    - TARRAY_GET_ELEM
    - tDeserializeSStreamGroupInfo
    - taosMemoryCalloc
    - stVtableMergerSetPseudoCols
    - taosArrayClearEx
    - tSimpleHashGet
    - ST_TASK_ELOG
    - ST_TASK_DLOG
    - taosArrayGetLast
    - stVtableMergerBindDataBlock
    - QUERY_CHECK_NULL
    - IS_TRIGGER_GROUP_TO_CHECK
    - tSimpleHashIterate
    - TARRAY_SIZE
    - stTimestampSorterBindDataBlock
    - TMAX
    - tSimpleHashPut
    - taosArrayDestroyP
    - stHistoryGroupInit
    - tdListNext
    - tSimpleHashGetSize
    - taosArrayInit
    - tstrerror
    - stHistoryGroupAddMetaDatas
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextProcPullRsp(SSTriggerHistoryContext *pContext,
      SRpcMsg *pRsp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8927,1
    - Dst: stTriggerTaskReleaseRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8930,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8931,1
    - Dst: stTriggerTaskGetRunningReq
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8935,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8936,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8939,1
    - Dst: stHistoryContextDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8941,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8942,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8943,1
    - Dst: stHistoryContextInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8945,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8946,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8947,1
    - Dst: stTriggerTaskAddWaitSession
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8948,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8949,1
    - Dst: stHistoryContextCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8953,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8954,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8957,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8958,1
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8959,1
    - Dst: stHistoryContextRetryCalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8960,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8961,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8966,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8966,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 2
    argNames:
    - pContext
    - pRsp
    argTypes:
    - SSTriggerHistoryContext*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8969
      start: 8917
    functionDepth: 18
    functionLinenumber: 8917
    functionLinenumberEnd: 8969
    functionName: stHistoryContextProcCalcRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stHistoryContextRetryCalcRequest
    - stTriggerTaskGetRunningReq
    - tdListAppend
    - ST_TASK_DLOG
    - stTriggerTaskReleaseRequest
    - taosGetTimestampNs
    - QUERY_CHECK_NULL
    - stHistoryContextDestroy
    - atomic_store_8
    - stHistoryContextCheck
    - TD_DLIST_TAIL
    - stHistoryContextInit
    - QUERY_CHECK_CODE
    - stTriggerTaskAddWaitSession
    - tstrerror
    - ST_TASK_ELOG
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryContextProcCalcRsp(SSTriggerHistoryContext *pContext,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pGroup
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8972
      start: 8971
    functionDepth: 0
    functionLinenumber: 8971
    functionLinenumberEnd: 8972
    functionName: TRIGGER_GROUP_HAS_OPEN_WINDOW
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIGGER_GROUP_HAS_OPEN_WINDOW(pGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pGroup
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8973
      start: 8972
    functionDepth: 0
    functionLinenumber: 8972
    functionLinenumberEnd: 8973
    functionName: TRIGGER_GROUP_NEVER_OPEN_WINDOW
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIGGER_GROUP_NEVER_OPEN_WINDOW(pGroup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8986,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8986,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8987,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8988,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8989,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8990,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8993,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:8995,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9004,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9005,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9006,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9007,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9008,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9009,1
    - Dst: TD_DLIST_NODE_PREV_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9015,1
    - Dst: TD_DLIST_NODE_NEXT_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9016,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9020,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 4
    argNames:
    - pGroup
    - pContext
    - gid
    - vgId
    argTypes:
    - SSTriggerRealtimeGroup*
    - SSTriggerRealtimeContext*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9023
      start: 8974
    functionDepth: 1
    functionLinenumber: 8974
    functionLinenumberEnd: 9023
    functionName: stRealtimeGroupInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - TMAX
    - TD_DLIST_NODE_PREV_WITH_FIELD
    - TD_DLIST_NODE_NEXT_WITH_FIELD
    - QUERY_CHECK_NULL
    - tSimpleHashSetFreeFp
    - taosObjListInit
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - QUERY_CHECK_CODE
    - ST_TASK_ELOG
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeGroupInit(SSTriggerRealtimeGroup *pGroup, SSTriggerRealtimeContext
      *pContext, int64_t gid,\n                                   int32_t vgId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9033,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9036,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9038,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9039,1
    - Dst: stRealtimeContextDestroyWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9041,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9042,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9044,1
    - Dst: taosObjListClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9045,1
    - Dst: taosObjListClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9046,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9047,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9049,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9050
      start: 9025
    functionDepth: 2
    functionLinenumber: 9025
    functionLinenumberEnd: 9050
    functionName: stRealtimeGroupDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tSimpleHashCleanup
    - taosObjListClearEx
    - stRealtimeContextDestroyWindow
    - taosMemFreeClear
    - taosObjListClear
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void stRealtimeGroupDestroy(void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stNewTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9058,1
    - Dst: stNewVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9061,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9064,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9067,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9070,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9076,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9077,1
    - Dst: stNewTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9079,1
    - Dst: stNewVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9082,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9084
      start: 9052
    functionDepth: 3
    functionLinenumber: 9052
    functionLinenumberEnd: 9084
    functionName: stRealtimeGroupClearTempState
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stNewVtableMergerReset
    - taosObjListClear
    - stNewTimestampSorterReset
    - taosArrayClearEx
    linkageType: ''
    returnType: void
    signature: void stRealtimeGroupClearTempState(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9099,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9100,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9101,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9105,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9106,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9109,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9110,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9111,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9114,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9124,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9127,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9131,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9132,1
    - Dst: taosObjListPopObj
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9134,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9136,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9140,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9145
      start: 9086
    functionDepth: 1
    functionLinenumber: 9086
    functionLinenumberEnd: 9145
    functionName: stRealtimeGroupClearMetadatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosObjListInitIter
    - TMAX
    - TMIN
    - tSimpleHashIterate
    - taosObjListGetHead
    - taosObjListPopObj
    - taosObjListIterNext
    - taosObjListClear
    linkageType: ''
    returnType: void
    signature: void stRealtimeGroupClearMetadatas(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9158,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9159,1
    - Dst: streamBuildIdleNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9168,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9169,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9178,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9180,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9182,1
    - Dst: stRealtimeGroupUpdateExecTime
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9183,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9183,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9184,1
    - Dst: streamSendNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9186,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9188,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9189,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9193,1
    - Dst: IS_TRIGGER_GROUP_IN_IDLE_LIST
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9196,1
    - Dst: TD_DLIST_POP_WITH_FIELD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9197,1
    - Dst: stRealtimeContextAppendIdleList
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9200,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9201,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9207,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9210,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9211,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9212,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9213,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9214,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9215,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9219,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9220,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9231,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9233,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9235,1
    - Dst: stTriggerTaskAddRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9238,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9239,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9245,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9247,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9248,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9249,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9254,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9254,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 3
    argNames:
    - pGroup
    - vgId
    - pMeta
    argTypes:
    - SSTriggerRealtimeGroup*
    - int32_t
    - SSTriggerMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9257
      start: 9147
    functionDepth: 4
    functionLinenumber: 9147
    functionLinenumberEnd: 9257
    functionName: stRealtimeGroupAddMeta
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - TMIN
    - taosGetTimestampNs
    - taosGetMonoTimestampMs
    - stRealtimeContextAppendIdleList
    - taosObjListInit
    - QUERY_CHECK_CODE
    - ST_TASK_ELOG
    - tSimpleHashGet
    - ST_TASK_DLOG
    - stTriggerTaskAddRecalcRequest
    - QUERY_CHECK_NULL
    - streamBuildIdleNotifyContent
    - taosObjListAppend
    - stRealtimeGroupUpdateExecTime
    - TMAX
    - tSimpleHashPut
    - IS_TRIGGER_GROUP_IN_IDLE_LIST
    - streamSendNotifyContent
    - TD_DLIST_POP_WITH_FIELD
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupAddMeta(SSTriggerRealtimeGroup *pGroup, int32_t
      vgId, SSTriggerMetaData *pMeta)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9272,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9275,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9276,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9277,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9278,1
    - Dst: stNewTimestampSorterSetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9280,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9282,1
    - Dst: stNewTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9284,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9285,1
    - Dst: stNewTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9289,1
    - Dst: taosObjListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9290,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9295,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9297,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9298,1
    - Dst: stNewVtableMergerNeedPseudoCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9299,1
    - Dst: stNewVtableMergerSetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9304,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9306,1
    - Dst: stNewVtableMergerNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9308,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9309,1
    - Dst: stNewVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9313,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9314,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9317,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9318,1
    - Dst: taosObjListPopObj
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9320,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9327,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9330,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9331,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9332,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9333,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9334,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9336,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9337,1
    - Dst: stNewTimestampSorterSetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9339,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9341,1
    - Dst: stNewTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9343,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9344,1
    - Dst: stNewTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9348,1
    - Dst: taosObjListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9349,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9354,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9356,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9357,1
    - Dst: stNewVtableMergerNeedPseudoCols
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9358,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9362,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9364,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9365,1
    - Dst: stNewVtableMergerSetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9367,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9370,1
    - Dst: stNewVtableMergerNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9372,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9373,1
    - Dst: stNewVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9377,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9378,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9381,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9382,1
    - Dst: taosObjListPopObj
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9384,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9389,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9391,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9396,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9396,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 106
    argCount: 4
    argNames:
    - pGroup
    - ppDataBlock
    - pStartIdx
    - pEndIdx
    argTypes:
    - SSTriggerRealtimeGroup*
    - SSDataBlock**
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9399
      start: 9258
    functionDepth: 5
    functionLinenumber: 9258
    functionLinenumberEnd: 9399
    functionName: stRealtimeGroupNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - taosObjListPopObj
    - stNewTimestampSorterSetData
    - TARRAY_DATA
    - QUERY_CHECK_CODE
    - taosObjListGetHead
    - ST_TASK_ELOG
    - tSimpleHashGet
    - taosObjListInitIter
    - ST_TASK_DLOG
    - QUERY_CHECK_NULL
    - stNewVtableMergerSetData
    - stNewTimestampSorterNextDataBlock
    - taosObjListIterNext
    - stNewVtableMergerNeedPseudoCols
    - stNewTimestampSorterReset
    - taosObjListPopHead
    - stNewVtableMergerReset
    - TMAX
    - tstrerror
    - stNewVtableMergerNextDataBlock
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeGroupNextDataBlock(SSTriggerRealtimeGroup *pGroup,
      SSDataBlock **ppDataBlock,\n                                            int32_t
      *pStartIdx, int32_t *pEndIdx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9414,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9415,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9419,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9422
      start: 9401
    functionDepth: 1
    functionLinenumber: 9401
    functionLinenumberEnd: 9422
    functionName: stRealtimeGroupDoPeriodCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ST_TASK_ELOG
    - QUERY_CHECK_NULL
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupDoPeriodCheck(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9436,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9440,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9443,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9447,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9449,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9453,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9455,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9456,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9459,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9461,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9462,1
    - Dst: stTriggerTaskPrevTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9463,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9466,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9470,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9471,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9473,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9474,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9476,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9478,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9479,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9480,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9484,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9489,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9490,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9494,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9495,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9498,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9499,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9515,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9515,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9518
      start: 9424
    functionDepth: 6
    functionLinenumber: 9424
    functionLinenumberEnd: 9518
    functionName: stRealtimeGroupDoSlidingCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosObjListInitIter
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - taosArrayGet
    - stTriggerTaskGetTimeWindow
    - TMAX
    - TMIN
    - QUERY_CHECK_NULL
    - stTriggerTaskPrevTimeWindow
    - stTriggerTaskNextTimeWindow
    - tSimpleHashIterate
    - QUERY_CHECK_CODE
    - tstrerror
    - TARRAY_GET_ELEM
    - taosObjListIterNext
    - ST_TASK_ELOG
    - stRealtimeGroupNextDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupDoSlidingCheck(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9529,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9533,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9534,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9536,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9537,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9541,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9544,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9545,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9549,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9550,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9562,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9563,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9566,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9573,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9573,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9576
      start: 9520
    functionDepth: 6
    functionLinenumber: 9520
    functionLinenumberEnd: 9576
    functionName: stRealtimeGroupDoSessionCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosObjListInitIter
    - TARRAY_SIZE
    - taosArrayGet
    - taosArrayGetLast
    - TMAX
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - tstrerror
    - taosObjListIterNext
    - ST_TASK_ELOG
    - stRealtimeGroupNextDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupDoSessionCheck(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9587,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9591,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9592,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9595,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9596,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9602,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9603,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9604,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9608,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9609,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9613,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9614,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9622,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9623,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9626,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9627,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9628,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9629,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9654,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9654,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9657
      start: 9578
    functionDepth: 6
    functionLinenumber: 9578
    functionLinenumberEnd: 9657
    functionName: stRealtimeGroupDoCountCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosObjListInitIter
    - TARRAY_SIZE
    - ST_TASK_ELOG
    - taosArrayGet
    - TARRAY_DATA
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - tstrerror
    - TARRAY_GET_ELEM
    - taosObjListIterNext
    - TARRAY_ELEM_IDX
    - stRealtimeGroupNextDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupDoCountCheck(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9668,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9672,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9673,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9675,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9676,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9679,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9679,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9680,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9681,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9686,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9690,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9693,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9694,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9698,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9699,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9703,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9704,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9706,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9707,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9710,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9711,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9713,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9721,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9722,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9727,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9735,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9736,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9739,1
    - Dst: stIsStateEqualZeroth
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9751,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9752,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9754,1
    - Dst: stRealtimeContextDestroyWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9755,1
    - Dst: streamBuildStateNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9757,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9759,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9773,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9774,1
    - Dst: streamBuildStateNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9776,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9778,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9780,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9790,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9790,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 103
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9793
      start: 9659
    functionDepth: 8
    functionLinenumber: 9659
    functionLinenumberEnd: 9793
    functionName: stRealtimeGroupDoStateCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - QUERY_CHECK_CONDITION
    - colDataGetData
    - memcpy
    - taosArrayGet
    - TARRAY_DATA
    - stRealtimeContextCalcExpr
    - QUERY_CHECK_CODE
    - taosObjListGetHead
    - stIsStateEqualZeroth
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - taosObjListInitIter
    - taosArrayGetLast
    - memcmp
    - QUERY_CHECK_NULL
    - taosArrayPop
    - taosObjListIterNext
    - taosObjListClear
    - stRealtimeGroupNextDataBlock
    - TARRAY_SIZE
    - varDataTLen
    - streamBuildStateNotifyContent
    - tstrerror
    - stRealtimeContextDestroyWindow
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupDoStateCheck(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9804,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9808,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9809,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9811,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9812,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9815,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9815,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9816,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9817,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9822,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9826,1
    - Dst: stRealtimeGroupNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9829,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9830,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9834,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9835,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9840,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9841,1
    - Dst: stRealtimeContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9842,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9843,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9847,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9848,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9853,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9860,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9862,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9865,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9868,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9878,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9879,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9886,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9888,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9907,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9909,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9932,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9934,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9940,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9943,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9946,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9947,1
    - Dst: stRealtimeContextDestroyWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9953,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9956,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9966,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:9966,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 125
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9969
      start: 9795
    functionDepth: 8
    functionLinenumber: 9795
    functionLinenumberEnd: 9969
    functionName: stRealtimeGroupDoEventCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - nodeType
    - taosArrayGet
    - TARRAY_DATA
    - stRealtimeContextCalcExpr
    - QUERY_CHECK_CODE
    - taosObjListGetHead
    - ST_TASK_ELOG
    - streamBuildEventNotifyContent
    - taosObjListInitIter
    - taosArrayGetLast
    - QUERY_CHECK_NULL
    - taosObjListIterNext
    - taosObjListClear
    - stRealtimeGroupNextDataBlock
    - TARRAY_SIZE
    - tstrerror
    - stRealtimeContextDestroyWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupDoEventCheck(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9985
      start: 9971
    functionDepth: 0
    functionLinenumber: 9971
    functionLinenumberEnd: 9985
    functionName: stRealtimeGroupCompareWindows
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupCompareWindows(const void *pLeft, const void
      *pRight)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10002,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10003,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10004,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10005,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10006,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10009,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10016,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10016,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10019,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10019,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10022,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10028,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10029,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10030,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10031,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10038,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10041,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10049,1
    - Dst: taosObjListClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10053,1
    - Dst: taosObjListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10056,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10062,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10063,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10064,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10072,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10073,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10073,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10079,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10080,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10084,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10098,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10099,1
    - Dst: isTrueForSatisfied
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10101,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10111,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10111,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 88
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10114
      start: 9987
    functionDepth: 1
    functionLinenumber: 9987
    functionLinenumberEnd: 10114
    functionName: stRealtimeGroupMergeWindows
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArraySort
    - QUERY_CHECK_CONDITION
    - taosGetTimestampNs
    - TARRAY_ELEM_IDX
    - TARRAY_DATA
    - QUERY_CHECK_CODE
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - taosObjListInitIter
    - taosArrayGetLast
    - isTrueForSatisfied
    - QUERY_CHECK_NULL
    - taosObjListIterNext
    - taosObjListClear
    - taosObjListAppend
    - TARRAY_SIZE
    - taosObjListPopHead
    - TMAX
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupMergeWindows(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10139,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10160,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10162,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10168,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 3
    argNames:
    - pGroup
    - pParam
    - pWin
    argTypes:
    - SSTriggerRealtimeGroup*
    - SSTriggerCalcParam*
    - SSTriggerNotifyWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10171
      start: 10116
    functionDepth: 2
    functionLinenumber: 10116
    functionLinenumberEnd: 10171
    functionName: stRealtimeGroupFillParam
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - stTriggerTaskNextTimeWindow
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stRealtimeGroupFillParam(SSTriggerRealtimeGroup *pGroup, SSTriggerCalcParam
      *pParam,\n                                        SSTriggerNotifyWindow *pWin)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10183,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10184,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10186,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10192,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10195,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10199,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10206,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10208,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10215,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - pGroup
    - now
    - enterHeap
    argTypes:
    - SSTriggerRealtimeGroup*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10218
      start: 10173
    functionDepth: 1
    functionLinenumber: 10173
    functionLinenumberEnd: 10218
    functionName: stRealtimeGroupUpdateExecTime
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 2
    functionsReached:
    - taosObjListInitIter
    - ST_TASK_DLOG
    - heapInsert
    - TMIN
    - taosObjListIterNext
    - tstrerror
    - heapRemove
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupUpdateExecTime(SSTriggerRealtimeGroup *pGroup,
      int64_t now, bool enterHeap)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10225,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10245,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10248,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10264,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10265,1
    - Dst: isTrueForSatisfied
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10268,1
    - Dst: stRealtimeGroupFillParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10283,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10285,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10286,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10289,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10290,1
    - Dst: stRealtimeGroupFillParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10304,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10305,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10307,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10308,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10311,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10312,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10318,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10319,1
    - Dst: isTrueForSatisfied
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10322,1
    - Dst: stRealtimeGroupFillParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10333,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10334,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10336,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10337,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10340,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10341,1
    - Dst: stRealtimeGroupFillParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10355,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10356,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10358,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10359,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10362,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10363,1
    - Dst: isTrueForSatisfied
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10372,1
    - Dst: stRealtimeGroupFillParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10383,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10384,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10386,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10387,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10390,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10391,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10405,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10406,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10411,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10412,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10425,1
    - Dst: stTriggerTaskAddRecalcRequest
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10427,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10428,1
    - Dst: stRealtimeGroupUpdateExecTime
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10433,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10434,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10436,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10437,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10441,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10441,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 151
    argCount: 2
    argNames:
    - pGroup
    - nInitWins
    argTypes:
    - SSTriggerRealtimeGroup*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10444
      start: 10220
    functionDepth: 3
    functionLinenumber: 10220
    functionLinenumberEnd: 10444
    functionName: stRealtimeGroupGenCalcParams
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TARRAY_SIZE
    - taosArrayClearEx
    - ST_TASK_DLOG
    - stTriggerTaskAddRecalcRequest
    - stRealtimeGroupUpdateExecTime
    - isTrueForSatisfied
    - taosGetTimestampNs
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - tstrerror
    - stRealtimeGroupFillParam
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - taosObjListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupGenCalcParams(SSTriggerRealtimeGroup *pGroup,
      int32_t nInitWins)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: stRealtimeGroupDoPeriodCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10458,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10459,1
    - Dst: stRealtimeGroupDoSlidingCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10464,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10465,1
    - Dst: stRealtimeGroupDoSessionCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10470,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10471,1
    - Dst: stRealtimeGroupDoCountCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10476,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10477,1
    - Dst: stRealtimeGroupDoStateCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10482,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10483,1
    - Dst: stRealtimeGroupDoEventCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10488,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10489,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10494,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10496,1
    - Dst: stRealtimeGroupMergeWindows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10502,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10503,1
    - Dst: stRealtimeGroupGenCalcParams
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10504,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10505,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10510,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10510,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10513
      start: 10446
    functionDepth: 9
    functionLinenumber: 10446
    functionLinenumberEnd: 10513
    functionName: stRealtimeGroupCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stRealtimeGroupGenCalcParams
    - stRealtimeGroupDoSessionCheck
    - stRealtimeGroupDoPeriodCheck
    - stRealtimeGroupMergeWindows
    - stRealtimeGroupDoStateCheck
    - stRealtimeGroupDoSlidingCheck
    - stRealtimeGroupDoEventCheck
    - QUERY_CHECK_CODE
    - stRealtimeGroupDoCountCheck
    - tstrerror
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupCheck(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10520,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10522,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10529,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10537,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10538,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10539,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10540,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10541,1
    - Dst: taosObjListPopHeadTo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10546,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10549,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10553,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10558,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10570,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10571,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10572,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10573,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10574,1
    - Dst: taosObjListPopHeadTo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10578,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10581,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10585,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10591,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10597,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10598,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10600,1
    - Dst: stRealtimeGroupFillParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10604,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10605,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10606,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10607,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10613,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10613,1
    - Dst: stRealtimeGroupUpdateExecTime
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10617,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10618,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10622,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10622,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerRealtimeGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10625
      start: 10515
    functionDepth: 3
    functionLinenumber: 10515
    functionLinenumberEnd: 10625
    functionName: stRealtimeGroupRetrievePendingCalc
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - ST_TASK_ILOG
    - taosArrayPush
    - taosObjListInitIter
    - TARRAY_SIZE
    - ST_TASK_DLOG
    - taosArrayGetLast
    - QUERY_CHECK_CONDITION
    - stRealtimeGroupUpdateExecTime
    - tstrerror
    - taosGetTimestampNs
    - QUERY_CHECK_NULL
    - taosObjListPopHeadTo
    - QUERY_CHECK_CODE
    - taosObjListGetHead
    - stRealtimeGroupFillParam
    - taosObjListIterNext
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stRealtimeGroupRetrievePendingCalc(SSTriggerRealtimeGroup *pGroup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10636
      start: 10627
    functionDepth: 1
    functionLinenumber: 10627
    functionLinenumberEnd: 10636
    functionName: stHistoryGroupDestroyTableMeta
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void stHistoryGroupDestroyTableMeta(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10642
      start: 10638
    functionDepth: 0
    functionLinenumber: 10638
    functionLinenumberEnd: 10642
    functionName: stHistoryGroupMetaDataSearch
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupMetaDataSearch(const void *pLeft, const void
      *pRight)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10652,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10652,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10653,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10654,1
    - Dst: TRINGBUF_INIT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10657,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10660,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10661,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10663,1
    - Dst: stTriggerTaskCloneVirtTableInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10667,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10668,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10669,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10670,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10671,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10673,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10674,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10677,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10679,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10682,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10684,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10685,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10688,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10690,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10694,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10701,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10702,1
    - Dst: taosObjListInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10703,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10704,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10708,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10708,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - pGroup
    - pContext
    - gid
    argTypes:
    - SSTriggerHistoryGroup*
    - SSTriggerHistoryContext*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10711
      start: 10644
    functionDepth: 3
    functionLinenumber: 10644
    functionLinenumberEnd: 10711
    functionName: stHistoryGroupInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - ST_TASK_ELOG
    - tstrerror
    - tSimpleHashPut
    - QUERY_CHECK_NULL
    - tSimpleHashSetFreeFp
    - tSimpleHashInit
    - TRINGBUF_INIT
    - taosGetDefaultHashFunction
    - taosArrayInit
    - tSimpleHashIterate
    - QUERY_CHECK_CODE
    - stTriggerTaskCloneVirtTableInfo
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - taosObjListInit
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupInit(SSTriggerHistoryGroup *pGroup, SSTriggerHistoryContext
      *pContext, int64_t gid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10721,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10724,1
    - Dst: TRINGBUF_DESTROY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10728,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10729,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10730,1
    - Dst: stRealtimeContextDestroyWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10732,1
    - Dst: taosObjListClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10734,1
    - Dst: taosObjListClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10735,1
    - Dst: tDestroySSTriggerCalcParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10736,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10738,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10739
      start: 10713
    functionDepth: 2
    functionLinenumber: 10713
    functionLinenumberEnd: 10739
    functionName: stHistoryGroupDestroy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - tDestroySSTriggerCalcParam
    - tSimpleHashCleanup
    - TRINGBUF_DESTROY
    - taosObjListClearEx
    - stRealtimeContextDestroyWindow
    - taosMemFreeClear
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void stHistoryGroupDestroy(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10753,1
    - Dst: stTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10755,1
    - Dst: stVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10756,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10758,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10761,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10766
      start: 10741
    functionDepth: 2
    functionLinenumber: 10741
    functionLinenumberEnd: 10766
    functionName: stHistoryGroupClearTempState
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 2
    functionsReached:
    - stTimestampSorterReset
    - stVtableMergerReset
    - taosArrayClear
    - taosArrayClearP
    - taosArrayClearEx
    linkageType: ''
    returnType: void
    signature: void stHistoryGroupClearTempState(SSTriggerHistoryGroup *pGroup)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10776,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10777,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10778,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10781,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10782,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10784,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10785,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10785,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10786,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10789,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10796,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10798,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10799,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10800,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10800,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10801,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10802,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10804,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10806
      start: 10768
    functionDepth: 1
    functionLinenumber: 10768
    functionLinenumberEnd: 10806
    functionName: stHistoryGroupClearMetadatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - TARRAY_SIZE
    - taosArrayPopFrontBatch
    - TMAX
    - TMIN
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - TRINGBUF_HEAD
    - tSimpleHashIterate
    - taosObjListGetHead
    - taosArrayGetSize
    - taosArraySearchIdx
    linkageType: ''
    returnType: void
    signature: void stHistoryGroupClearMetadatas(SSTriggerHistoryGroup *pGroup)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10816,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10817,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10817,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10817,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10819,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10823,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10824,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10825,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10826,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10831,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10832,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10834,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10835,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10837,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10838,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10842,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10843,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10846,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10847,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10853,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10864,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10867,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10869,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10870,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10871,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10875,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10876,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10878,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10879,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10880,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10882,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10883,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10893,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10893,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 4
    argNames:
    - pGroup
    - pMetadatas
    - pVgIds
    - pAdded
    argTypes:
    - SSTriggerHistoryGroup*
    - SArray*
    - SArray*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10896
      start: 10808
    functionDepth: 1
    functionLinenumber: 10808
    functionLinenumberEnd: 10896
    functionName: stHistoryGroupAddMetaDatas
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - TARRAY_SIZE
    - QUERY_CHECK_CONDITION
    - taosArrayGet
    - taosArrayGetLast
    - tSimpleHashPut
    - QUERY_CHECK_NULL
    - blockDataGetNumOfRows
    - taosArrayReserve
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stHistoryGroupAddMetaDatas(SSTriggerHistoryGroup *pGroup,
      SArray *pMetadatas, SArray *pVgIds,\n                                          bool
      *pAdded)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosObjListClearEx
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10928,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10933,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10935,1
    - Dst: taosObjListAppend
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10943,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10944,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10948,1
    - Dst: tDestroySSTriggerCalcParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10953,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10956,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10956,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 3
    argNames:
    - pGroup
    - pParam
    - isParent
    argTypes:
    - SSTriggerHistoryGroup*
    - SSTriggerCalcParam*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10959
      start: 10898
    functionDepth: 1
    functionLinenumber: 10898
    functionLinenumberEnd: 10959
    functionName: stHistoryGroupAddCalcParam
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - heapInsert
    - tDestroySSTriggerCalcParam
    - QUERY_CHECK_CODE
    - taosObjListClearEx
    - tstrerror
    - ST_TASK_ELOG
    - taosObjListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupAddCalcParam(SSTriggerHistoryGroup *pGroup, SSTriggerCalcParam
      *pParam, bool isParent)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10972,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10983,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10984,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10991,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10992,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:10995,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11006,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11006,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11007,1
    - Dst: stTriggerTaskGetTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11008,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11011,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11012,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11018,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11018,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11031,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11033,1
    - Dst: TRINGBUF_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11037,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11038,1
    - Dst: stHistoryGroupAddCalcParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11055,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11056,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11059,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11060,1
    - Dst: tDestroySSTriggerCalcParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11065,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11067,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11070,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11070,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 93
    argCount: 7
    argNames:
    - pGroup
    - ts
    - ppExtraNotifyContent
    - saveWindow
    - hasStartData
    - isParent
    - deferOpen
    argTypes:
    - SSTriggerHistoryGroup*
    - int64_t
    - char**
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11073
      start: 10961
    functionDepth: 2
    functionLinenumber: 10961
    functionLinenumberEnd: 11073
    functionName: stHistoryGroupOpenWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - taosArrayPush
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - stHistoryGroupAddCalcParam
    - stTriggerTaskGetTimeWindow
    - tDestroySSTriggerCalcParam
    - taosGetTimestampNs
    - QUERY_CHECK_NULL
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - TRINGBUF_HEAD
    - stTriggerTaskNextTimeWindow
    - QUERY_CHECK_CODE
    - tstrerror
    - IS_TRIGGER_GROUP_NONE_WINDOW
    - TRINGBUF_APPEND
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stHistoryGroupOpenWindow(SSTriggerHistoryGroup *pGroup, int64_t
      ts, char **ppExtraNotifyContent,\n                                        bool
      saveWindow, bool hasStartData, bool isParent, bool deferOpen)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11086,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11089,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11089,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11098,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11113,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11117,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11126,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11148,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11150,1
    - Dst: TRINGBUF_DEQUEUE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11154,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11155,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11157,1
    - Dst: TRINGBUF_MOVE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11162,1
    - Dst: TRINGBUF_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11163,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11164,1
    - Dst: isTrueForSatisfied
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11175,1
    - Dst: stHistoryGroupAddCalcParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11181,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11182,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11185,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11186,1
    - Dst: tDestroySSTriggerCalcParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11190,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11195,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11196,1
    - Dst: stHistoryGroupAddCalcParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11198,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11199,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11202,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11203,1
    - Dst: tDestroySSTriggerCalcParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11208,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11210,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11213,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 112
    argCount: 4
    argNames:
    - pGroup
    - ppExtraNotifyContent
    - saveWindow
    - isParent
    argTypes:
    - SSTriggerHistoryGroup*
    - char**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11216
      start: 11075
    functionDepth: 2
    functionLinenumber: 11075
    functionLinenumberEnd: 11216
    functionName: stHistoryGroupCloseWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - TRINGBUF_MOVE_NEXT
    - TRINGBUF_DEQUEUE
    - taosArrayPush
    - QUERY_CHECK_CONDITION
    - TRINGBUF_TAIL
    - stHistoryGroupAddCalcParam
    - taosMemoryFreeClear
    - TMAX
    - isTrueForSatisfied
    - taosGetTimestampNs
    - tDestroySSTriggerCalcParam
    - QUERY_CHECK_NULL
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - TRINGBUF_HEAD
    - QUERY_CHECK_CODE
    - tstrerror
    - IS_TRIGGER_GROUP_NONE_WINDOW
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stHistoryGroupCloseWindow(SSTriggerHistoryGroup *pGroup, char
      **ppExtraNotifyContent, bool saveWindow,\n                                         bool
      isParent)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11224,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11226,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11227,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11228,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11230,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11231,1
    - Dst: TRINGBUF_MOVE_NEXT
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11232,1
    - Dst: TRINGBUF_TAIL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11233,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11237,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11238,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11239,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11245,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pGroup
    - pInitWindows
    argTypes:
    - SSTriggerHistoryGroup*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11248
      start: 11218
    functionDepth: 1
    functionLinenumber: 11218
    functionLinenumberEnd: 11248
    functionName: stHistoryGroupSaveInitWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TRINGBUF_MOVE_NEXT
    - ST_TASK_ELOG
    - TRINGBUF_TAIL
    - QUERY_CHECK_NULL
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - TRINGBUF_HEAD
    - tstrerror
    - taosArrayClear
    - IS_TRIGGER_GROUP_NONE_WINDOW
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupSaveInitWindow(SSTriggerHistoryGroup *pGroup,
      SArray *pInitWindows)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11256,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11256,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11258,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11262,1
    - Dst: TRINGBUF_DESTROY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11265,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11271,1
    - Dst: TRINGBUF_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11273,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11274,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11279,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pGroup
    - pInitWindows
    argTypes:
    - SSTriggerHistoryGroup*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11282
      start: 11250
    functionDepth: 1
    functionLinenumber: 11250
    functionLinenumberEnd: 11282
    functionName: stHistoryGroupRestoreInitWindow
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - taosArrayGetLast
    - TRINGBUF_DESTROY
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - TRINGBUF_APPEND
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupRestoreInitWindow(SSTriggerHistoryGroup *pGroup,
      SArray *pInitWindows)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11298
      start: 11284
    functionDepth: 0
    functionLinenumber: 11284
    functionLinenumberEnd: 11298
    functionName: stHistoryGroupWindowCompare
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupWindowCompare(const void *pLeft, const void *pRight)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11306,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11306,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11308,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11312,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11313,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11314,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11315,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11318,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11325,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11325,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11331,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11334,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11335,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11338,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11346,1
    - Dst: stHistoryGroupAddCalcParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11351,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11352,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11354,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11355,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11362,1
    - Dst: TRINGBUF_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11363,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11364,1
    - Dst: TRINGBUF_APPEND
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11367,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11369,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11377,1
    - Dst: stHistoryGroupAddCalcParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11391,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11392,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11394,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11395,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11401,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11404,1
    - Dst: stTriggerTaskNextTimeWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11406,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11410,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11414,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 78
    argCount: 2
    argNames:
    - pGroup
    - gap
    argTypes:
    - SSTriggerHistoryGroup*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11417
      start: 11300
    functionDepth: 2
    functionLinenumber: 11300
    functionLinenumberEnd: 11417
    functionName: stHistoryGroupMergeSavedWindows
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArraySort
    - QUERY_CHECK_CONDITION
    - taosGetTimestampNs
    - TARRAY_ELEM_IDX
    - TRINGBUF_APPEND
    - stHistoryGroupAddCalcParam
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClear
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - taosArrayGetLast
    - QUERY_CHECK_NULL
    - TRINGBUF_HEAD
    - TARRAY_SIZE
    - TMAX
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - stTriggerTaskNextTimeWindow
    - tstrerror
    - TRINGBUF_SIZE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupMergeSavedWindows(SSTriggerHistoryGroup *pGroup,
      int64_t gap)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11435,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11436,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11437,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11445,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11449,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11450,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11451,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11466,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11467,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11468,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11484,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11485,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11486,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11487,1
    - Dst: stTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11489,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11490,1
    - Dst: stHistoryGroupRestoreInitWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11496,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11497,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11506,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11508,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11513,1
    - Dst: stTimestampSorterSetSortInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11515,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11518,1
    - Dst: stTimestampSorterSetMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11519,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11520,1
    - Dst: stTimestampSorterNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11522,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11523,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11525,1
    - Dst: stTimestampSorterGetMetaToFetch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11527,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11528,1
    - Dst: IS_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11534,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11535,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11536,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11537,1
    - Dst: stVtableMergerReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11539,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11540,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11545,1
    - Dst: stHistoryGroupRestoreInitWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11549,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11550,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11559,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11561,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11566,1
    - Dst: stVtableMergerSetMergeInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11568,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11571,1
    - Dst: stVtableMergerSetMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11572,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11573,1
    - Dst: stVtableMergerNextDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11575,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11576,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11578,1
    - Dst: IS_TRIGGER_VTABLE_MERGER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11580,1
    - Dst: stVtableMergerGetMetaToFetch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11582,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11583,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11593,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11593,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 157
    argCount: 7
    argNames:
    - pGroup
    - saveWindow
    - ppDataBlock
    - pStartIdx
    - pEndIdx
    - pAllTableProcessed
    - pNeedFetchData
    argTypes:
    - SSTriggerHistoryGroup*
    - bool
    - SSDataBlock**
    - int32_t*
    - int32_t*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11596
      start: 11419
    functionDepth: 6
    functionLinenumber: 11419
    functionLinenumberEnd: 11596
    functionName: stHistoryGroupGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stTimestampSorterSetSortInfo
    - stTimestampSorterGetMetaToFetch
    - stVtableMergerSetMergeInfo
    - TARRAY_ELEM_IDX
    - stVtableMergerNextDataBlock
    - stVtableMergerGetMetaToFetch
    - blockDataGetNumOfRows
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - stVtableMergerReset
    - TARRAY_GET_ELEM
    - ST_TASK_ELOG
    - stHistoryGroupRestoreInitWindow
    - tSimpleHashIterate
    - stTimestampSorterReset
    - stTimestampSorterNextDataBlock
    - TARRAY_SIZE
    - IS_TRIGGER_VTABLE_MERGER_EMPTY
    - TMAX
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - tstrerror
    - stTimestampSorterSetMetaDatas
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - stVtableMergerSetMetaDatas
    - stHistoryGroupCloseWindow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stHistoryGroupGetDataBlock(SSTriggerHistoryGroup *pGroup,
      bool saveWindow, SSDataBlock **ppDataBlock,\n                                          int32_t
      *pStartIdx, int32_t *pEndIdx, bool *pAllTableProcessed,\n                                          bool
      *pNeedFetchData)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: stHistoryGroupSaveInitWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11609,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11610,1
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11628,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11629,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11633,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11634,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11638,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11638,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11639,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11640,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11641,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11643,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11644,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11648,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11649,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11650,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11653,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11654,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11657,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11658,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11659,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11664,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11665,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11666,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11668,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11669,1
    - Dst: stHistoryGroupMergeSavedWindows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11676,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11677,1
    - Dst: IS_TRIGGER_GROUP_NONE_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11680,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11686,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11686,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11687,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11692,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11693,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11696,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11697,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11704,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11704,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 80
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11707
      start: 11598
    functionDepth: 7
    functionLinenumber: 11598
    functionLinenumberEnd: 11707
    functionName: stHistoryGroupDoSlidingCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - POINTER_DISTANCE
    - ST_TASK_ELOG
    - taosArrayGet
    - tstrerror
    - TMIN
    - QUERY_CHECK_NULL
    - taosbsearch
    - stHistoryGroupOpenWindow
    - stHistoryGroupSaveInitWindow
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - QUERY_CHECK_CODE
    - TRINGBUF_HEAD
    - tSimpleHashGet
    - stHistoryGroupMergeSavedWindows
    - IS_TRIGGER_GROUP_NONE_WINDOW
    - stHistoryGroupCloseWindow
    - stHistoryGroupGetDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupDoSlidingCheck(SSTriggerHistoryGroup *pGroup)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: stHistoryGroupSaveInitWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11720,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11721,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11733,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11735,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11736,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11737,1
    - Dst: stTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11739,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11740,1
    - Dst: stHistoryGroupRestoreInitWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11745,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11746,1
    - Dst: stTimestampSorterSetSortInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11748,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11750,1
    - Dst: stTimestampSorterSetMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11751,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11752,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11754,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11754,1
    - Dst: stTimestampSorterForwardTs
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11756,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11757,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11758,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11759,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11762,1
    - Dst: stTimestampSorterGetMetaToFetch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11764,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11765,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11769,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11770,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11771,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11773,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11774,1
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11781,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11782,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11786,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11787,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11791,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11792,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11796,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11797,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11798,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11800,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11801,1
    - Dst: stHistoryGroupMergeSavedWindows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11808,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11809,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11814,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11814,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11817
      start: 11709
    functionDepth: 7
    functionLinenumber: 11709
    functionLinenumberEnd: 11817
    functionName: stHistoryGroupDoSessionCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - stTimestampSorterSetSortInfo
    - stTimestampSorterGetMetaToFetch
    - taosArrayGet
    - QUERY_CHECK_CODE
    - ST_TASK_ELOG
    - stHistoryGroupRestoreInitWindow
    - QUERY_CHECK_NULL
    - stHistoryGroupSaveInitWindow
    - TRINGBUF_HEAD
    - tSimpleHashIterate
    - stTimestampSorterReset
    - stHistoryGroupMergeSavedWindows
    - stHistoryGroupGetDataBlock
    - stHistoryGroupOpenWindow
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - stTimestampSorterForwardTs
    - tstrerror
    - stTimestampSorterSetMetaDatas
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - stHistoryGroupCloseWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupDoSessionCheck(SSTriggerHistoryGroup *pGroup)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11832,1
    - Dst: stTimestampSorterReset
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11833,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11834,1
    - Dst: stTimestampSorterSetSortInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11841,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11843,1
    - Dst: stTimestampSorterSetMetaDatas
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11844,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11845,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11849,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11849,1
    - Dst: ALIGN_UP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11850,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11851,1
    - Dst: stTimestampSorterForwardNrows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11852,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11853,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11854,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11855,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11856,1
    - Dst: IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11859,1
    - Dst: stTimestampSorterGetMetaToFetch
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11861,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11862,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11867,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11868,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11870,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11870,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11871,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11872,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11873,1
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11880,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11882,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11886,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11887,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11890,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11890,1
    - Dst: ALIGN_UP
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11891,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11892,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11893,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11896,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11897,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11898,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11901,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11902,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11904,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11904,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11905,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11906,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11907,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11915,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11915,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11918
      start: 11819
    functionDepth: 7
    functionLinenumber: 11819
    functionLinenumberEnd: 11918
    functionName: stHistoryGroupDoCountCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - stTimestampSorterSetSortInfo
    - QUERY_CHECK_CONDITION
    - TMIN
    - stTimestampSorterGetMetaToFetch
    - stTimestampSorterForwardNrows
    - taosArrayGet
    - QUERY_CHECK_CODE
    - ST_TASK_ELOG
    - QUERY_CHECK_NULL
    - TRINGBUF_HEAD
    - tSimpleHashIterate
    - stTimestampSorterReset
    - IS_TRIGGER_TIMESTAMP_SORTER_EMPTY
    - stHistoryGroupGetDataBlock
    - stHistoryGroupOpenWindow
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - tstrerror
    - stTimestampSorterSetMetaDatas
    - ALIGN_UP
    - stHistoryGroupCloseWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupDoCountCheck(SSTriggerHistoryGroup *pGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11829
      start: 11828
    functionDepth: 0
    functionLinenumber: 11828
    functionLinenumberEnd: 11829
    functionName: ALIGN_UP
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN_UP(x, b)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11937,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11938,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11942,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11943,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11947,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11948,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11951,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11952,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11954,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11956,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11957,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11961,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11962,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11971,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11972,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11973,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11976,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11977,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11979,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11981,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11989,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11990,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:11996,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12003,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12004,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12005,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12007,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12008,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12009,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12010,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12013,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12014,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12016,1
    - Dst: stIsStateEqualZeroth
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12019,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12020,1
    - Dst: TRINGBUF_DEQUEUE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12022,1
    - Dst: streamBuildStateNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12025,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12027,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12029,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12030,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12034,1
    - Dst: streamBuildStateNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12036,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12038,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12041,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12042,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12043,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12044,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12046,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12047,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12049,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12058,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12061,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12063,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12065,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12065,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 111
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12068
      start: 11920
    functionDepth: 8
    functionLinenumber: 11920
    functionLinenumberEnd: 12068
    functionName: stHistoryGroupDoStateCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - colDataGetData
    - scalarCalculate
    - taosArrayDestroy
    - memcpy
    - taosArrayGet
    - blockDataGetNumOfRows
    - QUERY_CHECK_CODE
    - stIsStateEqualZeroth
    - taosArrayClear
    - sclFreeParam
    - ST_TASK_ELOG
    - taosMemoryCalloc
    - colInfoDataEnsureCapacity
    - memcmp
    - QUERY_CHECK_NULL
    - TRINGBUF_HEAD
    - stHistoryGroupGetDataBlock
    - TRINGBUF_DEQUEUE
    - varDataTLen
    - stHistoryGroupOpenWindow
    - streamBuildStateNotifyContent
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - taosArrayInit
    - tstrerror
    - colDataIsNull_s
    - stHistoryGroupCloseWindow
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupDoStateCheck(SSTriggerHistoryGroup *pGroup)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: stHistoryGroupGetDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12087,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12088,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12092,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12093,1
    - Dst: stHistoryContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12095,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12096,1
    - Dst: stHistoryContextCalcExpr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12097,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12098,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12101,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12104,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12109,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12110,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12113,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12115,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12116,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12121,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12122,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12132,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12134,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12153,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12155,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12157,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12158,1
    - Dst: IS_TRIGGER_GROUP_OPEN_WINDOW
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12160,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12166,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12172,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12173,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12175,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12177,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12178,1
    - Dst: streamBuildEventNotifyContent
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12181,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12184,1
    - Dst: stHistoryGroupOpenWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12187,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12189,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12190,1
    - Dst: TRINGBUF_HEAD
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12191,1
    - Dst: stHistoryGroupCloseWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12192,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12193,1
    - Dst: stRealtimeContextDestroyWindow
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12195,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12206,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12207,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12209,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12212,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12212,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 107
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12215
      start: 12070
    functionDepth: 8
    functionLinenumber: 12070
    functionLinenumberEnd: 12215
    functionName: stHistoryGroupDoEventCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ELOG
    - taosMemoryFreeClear
    - taosArrayGet
    - QUERY_CHECK_NULL
    - stHistoryGroupOpenWindow
    - nodeType
    - IS_TRIGGER_GROUP_OPEN_WINDOW
    - TRINGBUF_HEAD
    - QUERY_CHECK_CODE
    - colDataDestroy
    - tstrerror
    - stRealtimeContextDestroyWindow
    - stHistoryContextCalcExpr
    - stHistoryGroupCloseWindow
    - streamBuildEventNotifyContent
    - stHistoryGroupGetDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupDoEventCheck(SSTriggerHistoryGroup *pGroup)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stHistoryGroupDoSlidingCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12225,1
    - Dst: stHistoryGroupDoSessionCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12228,1
    - Dst: stHistoryGroupDoCountCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12231,1
    - Dst: stHistoryGroupDoStateCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12234,1
    - Dst: stHistoryGroupDoEventCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12237,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12244
      start: 12217
    functionDepth: 9
    functionLinenumber: 12217
    functionLinenumberEnd: 12244
    functionName: stHistoryGroupCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - stHistoryGroupDoStateCheck
    - stHistoryGroupDoEventCheck
    - stHistoryGroupDoCountCheck
    - stHistoryGroupDoSessionCheck
    - stHistoryGroupDoSlidingCheck
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupCheck(SSTriggerHistoryGroup *pGroup)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12254,1
    - Dst: compareLenPrefixedStr
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12255,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12256,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12257,1
    - Dst: IS_BOOLEAN_TYPE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12258,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12259,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12266,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pStateData
    - pZeroth
    - pIsEqual
    argTypes:
    - void*
    - void*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12269
      start: 12246
    functionDepth: 1
    functionLinenumber: 12246
    functionLinenumberEnd: 12269
    functionName: stIsStateEqualZeroth
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 3
    functionsReached:
    - memcmp
    - stError
    - IS_BOOLEAN_TYPE
    - compareLenPrefixedStr
    - IS_INTEGER_TYPE
    - tstrerror
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t stIsStateEqualZeroth(void *pStateData, void *pZeroth, bool
      *pIsEqual)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12276,1
    - Dst: taosObjListGetHead
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12283,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12291,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12292,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12293,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12294,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12295,1
    - Dst: taosObjListPopHeadTo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12300,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12303,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12307,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12311,1
    - Dst: taosObjListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12323,1
    - Dst: taosObjListIterNext
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12324,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12325,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12326,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12327,1
    - Dst: taosObjListPopHeadTo
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12331,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12334,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12338,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12344,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12349,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c:12349,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SSTriggerHistoryGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12352
      start: 12270
    functionDepth: 1
    functionLinenumber: 12270
    functionLinenumberEnd: 12352
    functionName: stHistoryGroupRetrievePendingCalc
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamTriggerTask.c
    functionUses: 1
    functionsReached:
    - ST_TASK_ILOG
    - taosArrayPush
    - taosObjListInitIter
    - TARRAY_SIZE
    - ST_TASK_DLOG
    - taosArrayGetLast
    - QUERY_CHECK_NULL
    - taosObjListPopHeadTo
    - taosObjListGetHead
    - tstrerror
    - taosObjListIterNext
    - ST_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t stHistoryGroupRetrievePendingCalc(SSTriggerHistoryGroup *pGroup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:26,1
    - Dst: ST_TASK_WLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:28,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:32,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:33,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:35,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:36,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:38,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:39,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:44,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 46
    functionName: smRemoveReaderFromVgMap
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - taosArrayGet
    - ST_TASK_DLOG
    - ST_TASK_WLOG
    - taosArrayRemove
    - taosHashRelease
    - taosHashAcquire
    - taosArrayGetSize
    - taosWUnLockLatch
    - taosWLockLatch
    linkageType: ''
    returnType: void
    signature: void smRemoveReaderFromVgMap(SStreamTask* pTask)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:56,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:58,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:59,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:60,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:60,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:61,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:67,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:70,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:74,1
    - Dst: ST_TASK_WLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:76,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:77,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:78,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:79,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:83,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:84,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:87,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:88,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:89,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:90,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:92,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:94,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:101,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:103,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamReaderTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 107
    functionName: smAddTaskToVgroupMap
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - stsDebug
    - tstrerror
    - taosWLockLatch
    - ST_TASK_WLOG
    - stsError
    - taosArrayDestroy
    - taosHashRelease
    - taosHashAcquire
    - TSDB_CHECK_NULL
    - taosArrayInit
    - taosWUnLockLatch
    - TAOS_CHECK_EXIT
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t smAddTaskToVgroupMap(SStreamReaderTask* pTask)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:139,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:141,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:142,1
    - Dst: tdListReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:146,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:147,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:149,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:152,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:154,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:155,1
    - Dst: tdListPopTail
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:155,1
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:159,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:161,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:161,1
    - Dst: smAddTaskToVgroupMap
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:165,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:167,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:167,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:168,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:168,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:169,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:170,1
    - Dst: tdListPopTail
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:170,1
    - Dst: stReaderTaskDeploy
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:174,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:176,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:176,1
    - Dst: smRemoveReaderFromVgMap
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:177,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:178,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:178,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:179,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:180,1
    - Dst: tdListPopTail
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:180,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:184,1
    - Dst: STREAM_IS_TRIGGER_READER
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:184,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:186,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:187,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:193,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:194,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:195,1
    - Dst: stsWarn
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:196,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:196,1
    - Dst: smUndeployStreamTriggerTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:197,1
    - Dst: tdListPreReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:201,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:202,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:207,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:209,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:209,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:210,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:211,1
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:214,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:216,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:217,1
    - Dst: stTriggerTaskDeploy
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:220,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:222,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:222,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:223,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:223,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:224,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:225,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:226,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:229,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:231,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:232,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:236,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:238,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:239,1
    - Dst: tdListReserve
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:243,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:244,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:246,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:249,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:251,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:251,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:252,1
    - Dst: tdListPopTail
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:252,1
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:256,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:258,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:258,1
    - Dst: stRunnerTaskDeploy
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:262,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:264,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:264,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:265,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:265,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:266,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:267,1
    - Dst: tdListPopTail
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:267,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:271,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:272,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:273,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:280,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:280,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:282,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 119
    argCount: 2
    argNames:
    - pDeploy
    - pStream
    argTypes:
    - SStmStreamDeploy*
    - SStreamInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 131
    functionDepth: 18
    functionLinenumber: 131
    functionLinenumberEnd: 286
    functionName: smAddTasksToStreamMap
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - streamAcquireTask
    - streamReleaseTask
    - stReaderTaskDeploy
    - tdListPreReserve
    - smUndeployStreamTriggerTasks
    - atomic_add_fetch_32
    - TAOS_UNUSED
    - TSDB_CHECK_NULL
    - stsDebug
    - taosArrayGet
    - TD_DLIST_NELES
    - stsError
    - tdListNew
    - taosArrayGetSize
    - stTriggerTaskDeploy
    - TAOS_CHECK_EXIT
    - ST_TASK_ELOG
    - stRunnerTaskDeploy
    - stsWarn
    - tdListReserve
    - smAddTaskToVgroupMap
    - ST_TASK_DLOG
    - taosHashRemove
    - tstrerror
    - STREAM_IS_TRIGGER_READER
    - smRemoveReaderFromVgMap
    - taosMemoryFree
    - tdListPopTail
    - taosHashPut
    - tdListPopHead
    linkageType: ''
    returnType: int32_t
    signature: int32_t smAddTasksToStreamMap(SStmStreamDeploy* pDeploy, SStreamInfo*
      pStream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:297,1
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:297,1
    - Dst: STM_CHK_SET_ERROR_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:300,1
    - Dst: stTriggerTaskExecute
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:300,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:305,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:305,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:307,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pStart
    argTypes:
    - SStreamTaskStart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 290
    functionDepth: 7
    functionLinenumber: 290
    functionLinenumberEnd: 313
    functionName: smStartStreamTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - stTriggerTaskExecute
    - streamAcquireTask
    - streamReleaseTask
    - STM_CHK_SET_ERROR_EXIT
    - stsError
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t smStartStreamTasks(SStreamTaskStart* pStart)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:334,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:336,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:337,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:338,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:340,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:344,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - streamId
    - pStream
    - isLastTask
    argTypes:
    - int64_t
    - SStreamInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: smRemoveTaskPostCheck
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - stsError
    - atomic_sub_fetch_32
    - TD_DLIST_NELES
    linkageType: ''
    returnType: void
    signature: void smRemoveTaskPostCheck(int64_t streamId, SStreamInfo* pStream,
      bool* isLastTask)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_GID
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:366,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:372,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:376,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:378,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:386,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:387,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:388,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:389,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:390,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:393,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:394,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:395,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:396,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:401,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:402,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:403,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:404,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:405,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:408,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:409,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:410,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:411,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:416,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:417,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:418,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:419,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:420,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:423,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:424,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:425,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:426,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:430,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:431,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:438,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:438,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:440,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:443,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:445,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 446
    functionName: smRemoveTaskCb
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ST_TASK_DLOG
    - TD_DLIST_NELES
    - atomic_val_compare_exchange_ptr
    - taosWLockLatch
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosHashRelease
    - taosHashAcquire
    - taosArrayInit
    - STREAM_GID
    - TSDB_CHECK_NULL
    - taosWUnLockLatch
    - taosArrayDestroy
    - ST_TASK_ELOG
    linkageType: ''
    returnType: void
    signature: void smRemoveTaskCb(void* param)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:456,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:458,1
    - Dst: ST_TASK_WLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:460,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:464,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:465,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:466,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:473,1
    - Dst: ST_TASK_WLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:475,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:475,1
    - Dst: smRemoveReaderFromVgMap
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:484,1
    - Dst: stReaderTaskUndeploy
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:486,1
    - Dst: stTriggerTaskUndeploy
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:489,1
    - Dst: stRunnerTaskUndeploy
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:492,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:502,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:502,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:504,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - pUndeploy
    - rmFromVg
    argTypes:
    - SStreamTaskUndeploy*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 449
    functionDepth: 6
    functionLinenumber: 449
    functionLinenumberEnd: 508
    functionName: smUndeployTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - stRunnerTaskUndeploy
    - atomic_val_compare_exchange_8
    - taosHashRemove
    - smRemoveReaderFromVgMap
    - ST_TASK_WLOG
    - stsError
    - stTriggerTaskUndeploy
    - taosHashRelease
    - taosHashAcquire
    - tstrerror
    - stReaderTaskUndeploy
    linkageType: ''
    returnType: int32_t
    signature: int32_t smUndeployTask(SStreamTaskUndeploy* pUndeploy, bool rmFromVg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:512,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:514,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:516,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:525,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:525,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:527,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:530,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:531,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:533,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:535,1
    - Dst: smUndeployTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:536,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:538,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:540,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - vgId
    - cleanup
    argTypes:
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 511
    functionDepth: 7
    functionLinenumber: 511
    functionLinenumberEnd: 543
    functionName: smUndeployVgTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 1
    functionsReached:
    - smUndeployTask
    - ST_TASK_DLOG
    - stDebug
    - taosHashRemove
    - atomic_store_8
    - taosHashRelease
    - taosHashAcquire
    - TAOS_UNUSED
    - taosArrayGetSize
    - taosWUnLockLatch
    - stInfo
    - taosArrayDestroy
    - taosWLockLatch
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void smUndeployVgTasks(int32_t vgId, bool cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:546,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:546,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:554,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:555,1
    - Dst: smUndeployTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pStream
    - streamId
    argTypes:
    - SStreamInfo*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 545
    functionDepth: 7
    functionLinenumber: 545
    functionLinenumberEnd: 560
    functionName: smUndeployStreamTriggerTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 1
    functionsReached:
    - smUndeployTask
    - stsDebug
    - TD_DLIST_NELES
    - tdListNext
    - tdListInitIter
    linkageType: ''
    returnType: void
    signature: void smUndeployStreamTriggerTasks(SStreamInfo* pStream, int64_t streamId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:566,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:568,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:570,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:572,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:575,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:576,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:579,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:580,1
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:580,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:581,1
    - Dst: smRemoveTaskPostCheck
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:582,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:587,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:588,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:594,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:596,1
    - Dst: stsInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:598,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:598,1
    - Dst: stsWarn
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:600,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:601,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:601,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - pStream
    - streamId
    - gid
    - type
    - pUndeployList
    - pTaskList
    argTypes:
    - SStreamInfo*
    - int64_t
    - int32_t
    - EStreamTaskType
    - SArray*
    - SList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 603
    functionName: smHandleRemovedTask
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - tdListPopNode
    - atomic_store_8
    - tdListInitIter
    - stsDebug
    - taosArrayGet
    - TD_DLIST_NELES
    - taosHashGetSize
    - taosArrayGetSize
    - taosArrayClear
    - taosWLockLatch
    - stsWarn
    - ST_TASK_DLOG
    - taosHashRemove
    - taosWUnLockLatch
    - stsInfo
    - smRemoveTaskPostCheck
    - tdListNext
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void smHandleRemovedTask(SStreamInfo* pStream, int64_t streamId, int32_t
      gid, EStreamTaskType type, SArray* pUndeployList, SList* pTaskList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:611,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:614,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:617,1
    - Dst: smStartStreamTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:617,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:624,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - actions
    argTypes:
    - SStreamStartActions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 607
    functionDepth: 8
    functionLinenumber: 607
    functionLinenumberEnd: 627
    functionName: smStartTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - smStartStreamTasks
    - stsError
    - taosArrayGetSize
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t smStartTasks(SStreamStartActions* actions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:637,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:644,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:647,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:648,1
    - Dst: smUndeployTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:651,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:654,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:655,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:656,1
    - Dst: smUndeployTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:659,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:661,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pGrp
    - cleanup
    argTypes:
    - SHashObj*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 629
    functionDepth: 7
    functionLinenumber: 629
    functionLinenumberEnd: 663
    functionName: smUndeployGrpSnodeTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - smUndeployTask
    - taosWLockLatch
    - tdListNext
    - memset
    - taosWUnLockLatch
    - tdListInitIter
    linkageType: ''
    returnType: void
    signature: void smUndeployGrpSnodeTasks(SHashObj* pGrp, bool cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:668,1
    - Dst: smUndeployGrpSnodeTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cleanup
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 665
    functionDepth: 8
    functionLinenumber: 665
    functionLinenumberEnd: 674
    functionName: smUndeploySnodeTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 1
    functionsReached:
    - stInfo
    - smUndeployGrpSnodeTasks
    linkageType: ''
    returnType: void
    signature: void smUndeploySnodeTasks(bool cleanup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:679,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:679,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:682,1
    - Dst: smUndeployVgTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:687,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 676
    functionDepth: 8
    functionLinenumber: 676
    functionLinenumberEnd: 689
    functionName: smUndeployAllVgTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - smUndeployVgTasks
    - taosHashGetSize
    - taosHashGetKey
    - stInfo
    linkageType: ''
    returnType: void
    signature: void smUndeployAllVgTasks()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:698,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:698,1
    - Dst: smUndeployAllVgTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:700,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:703,1
    - Dst: smUndeployTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 691
    functionDepth: 9
    functionLinenumber: 691
    functionLinenumberEnd: 712
    functionName: smUndeployAllTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 1
    functionsReached:
    - taosHashIterate
    - smUndeployTask
    - smUndeployAllVgTasks
    - taosHashGetSize
    - stInfo
    linkageType: ''
    returnType: void
    signature: void smUndeployAllTasks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:718,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:721,1
    - Dst: smUndeployTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:724,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:731,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - actions
    argTypes:
    - SStreamUndeployActions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 714
    functionDepth: 7
    functionLinenumber: 714
    functionLinenumberEnd: 734
    functionName: smUndeployTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - smUndeployTask
    - taosArrayGet
    - stsError
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t smUndeployTasks(SStreamUndeployActions* actions)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:738,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:747,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:748,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:751,1
    - Dst: smUndeployTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:752,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:757,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:758,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:759,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:762,1
    - Dst: smUndeployTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:763,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:768,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:769,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:770,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:773,1
    - Dst: smUndeployTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:774,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:780,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - pStream
    argTypes:
    - SStreamInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 737
    functionDepth: 7
    functionLinenumber: 737
    functionLinenumberEnd: 781
    functionName: smUndeployFreeStreamTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - smUndeployTask
    - ST_TASK_DLOG
    - taosRUnLockLatch
    - tdListNext
    - memset
    - taosRLockLatch
    - tdListInitIter
    linkageType: ''
    returnType: void
    signature: void smUndeployFreeStreamTasks(SStreamInfo* pStream)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:792,1
    - Dst: streamAcquireTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:792,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:796,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:797,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:798,1
    - Dst: tFreeSStreamMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:799,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:800,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:801,1
    - Dst: STM_CHK_SET_ERROR_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:803,1
    - Dst: stTriggerTaskExecute
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:803,1
    - Dst: STM_CHK_SET_ERROR_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:808,1
    - Dst: stTriggerTaskExecute
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:808,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:812,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:813,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:814,1
    - Dst: tFreeSStreamMgmtReq
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:815,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:816,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:817,1
    - Dst: STM_CHK_SET_ERROR_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:820,1
    - Dst: stRunnerSetMgmtRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:820,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:824,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:832,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:832,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:834,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:837,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SStreamMgmtRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 784
    functionDepth: 7
    functionLinenumber: 784
    functionLinenumberEnd: 840
    functionName: smHandleTaskMgmtRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - ST_TASK_ILOG
    - ST_TASK_ELOG
    - stTriggerTaskExecute
    - streamAcquireTask
    - streamReleaseTask
    - STM_CHK_SET_ERROR_EXIT
    - atomic_val_compare_exchange_ptr
    - stsError
    - stRunnerSetMgmtRsp
    - tFreeSStreamMgmtReq
    - taosMemoryFree
    - atomic_load_ptr
    - taosWUnLockLatch
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t smHandleTaskMgmtRsp(SStreamMgmtRsp* pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:843,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:845,1
    - Dst: smHandleTaskMgmtRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rsps
    argTypes:
    - SStreamMgmtRsps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 842
    functionDepth: 8
    functionLinenumber: 842
    functionLinenumberEnd: 850
    functionName: smHandleMgmtRsp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - smHandleTaskMgmtRsp
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t smHandleMgmtRsp(SStreamMgmtRsps* rsps)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_GID
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:854,1
    - Dst: stsInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:860,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:861,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:861,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:864,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:864,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:865,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:866,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:871,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:873,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:874,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:875,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:876,1
    - Dst: smAddTasksToStreamMap
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:876,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:877,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:877,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:880,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:881,1
    - Dst: smAddTasksToStreamMap
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:881,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:882,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:883,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:886,1
    - Dst: smAddTasksToStreamMap
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:886,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:887,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:887,1
    - Dst: stsInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:891,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:895,1
    - Dst: smUndeployFreeStreamTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:898,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:899,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - pDeploy
    argTypes:
    - SStmStreamDeploy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 852
    functionDepth: 19
    functionLinenumber: 852
    functionLinenumberEnd: 903
    functionName: smDeployTasks
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - atomic_load_8
    - smAddTasksToStreamMap
    - TSDB_CHECK_NULL
    - STREAM_GID
    - taosRLockLatch
    - stsDebug
    - taosRUnLockLatch
    - stsError
    - atomic_load_32
    - taosHashInit
    - taosHashSetFreeFp
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - TAOS_CHECK_EXIT
    - smUndeployFreeStreamTasks
    - taosHashRelease
    - stsInfo
    - taosHashAcquire
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t smDeployTasks(SStmStreamDeploy* pDeploy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:909,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:912,1
    - Dst: smDeployTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:915,1
    - Dst: stsError
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:922,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - actions
    argTypes:
    - SStreamDeployActions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 905
    functionDepth: 20
    functionLinenumber: 905
    functionLinenumberEnd: 925
    functionName: smDeployStreams
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - stsError
    - smDeployTasks
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t smDeployStreams(SStreamDeployActions* actions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:929,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:931,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:933,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:937,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/new-stream/src/streamMgmt.c:939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 940
    functionName: smEnableVgDeploy
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamMgmt.c
    functionUses: 1
    functionsReached:
    - stDebug
    - atomic_store_8
    - taosHashRelease
    - taosHashAcquire
    - stInfo
    linkageType: ''
    returnType: void
    signature: void smEnableVgDeploy(int32_t vgId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:37,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:39,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:43,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:44,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: initDataSinkFileDir
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - stError
    - taosMulMkDir
    - snprintf
    - taosIsDir
    - stInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t initDataSinkFileDir()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:55,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:59,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:60,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - streamId
    - ppDaSinkFileMgr
    argTypes:
    - int64_t
    - SDataSinkFileMgr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: createStreamDataSinkFileMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - tRBTreeCreate
    - snprintf
    - taosMemoryCalloc
    - taosGetTimestampSec
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamDataSinkFileMgr(int64_t streamId, SDataSinkFileMgr**
      ppDaSinkFileMgr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:82,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:83,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:88,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:89,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:93,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:94,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:95,1
    - Dst: clearAllFreeBlocks
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:100,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - ppDaSinkFileMgr
    argTypes:
    - SDataSinkFileMgr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: destroyStreamDataSinkFile
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosMemoryFreeClear
    - taosRemoveFile
    - stError
    - clearAllFreeBlocks
    - strlen
    linkageType: ''
    returnType: void
    signature: void destroyStreamDataSinkFile(SDataSinkFileMgr** ppDaSinkFileMgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamDataSinkFileMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pStreamDataSink
    argTypes:
    - SSlidingTaskDSMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: initStreamDataSinkFile
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - createStreamDataSinkFileMgr
    linkageType: ''
    returnType: int32_t
    signature: int32_t initStreamDataSinkFile(SSlidingTaskDSMgr* pStreamDataSink)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:113,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:115,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:117,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:121,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:124,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pFileMgr
    argTypes:
    - SDataSinkFileMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: openFileForWrite
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - atomic_val_compare_exchange_ptr
    - stError
    - atomic_load_ptr
    - taosOpenFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t openFileForWrite(SDataSinkFileMgr* pFileMgr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:133,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:136,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:138,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:142,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:145,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pFileMgr
    argTypes:
    - SDataSinkFileMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 151
    functionName: openFileForRead
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - atomic_val_compare_exchange_ptr
    - stError
    - atomic_load_ptr
    - taosOpenFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t openFileForRead(SDataSinkFileMgr* pFileMgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: popBestFitBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:154,1
    - Dst: destroyFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pFileMgr
    - needSize
    - pGroupBlockOffset
    argTypes:
    - SDataSinkFileMgr*
    - int32_t
    - SFileBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: getFreeBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - popBestFitBlock
    - destroyFreeBlock
    linkageType: ''
    returnType: void
    signature: void getFreeBlock(SDataSinkFileMgr* pFileMgr, int32_t needSize, SFileBlockInfo*
      pGroupBlockOffset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:171,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:173,1
    - Dst: insertFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pFileMgr
    - pBlockInfo
    argTypes:
    - SDataSinkFileMgr*
    - SFileBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: addToFreeBlock
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - stError
    - insertFreeBlock
    - createFreeBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t addToFreeBlock(SDataSinkFileMgr* pFileMgr, const SFileBlockInfo*
      pBlockInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ppResult
    argTypes:
    - SResultIter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: setNextIteratorFromFile
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool setNextIteratorFromFile(SResultIter** ppResult)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:203,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pResult
    - pBlock
    argTypes:
    - SResultIter*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 213
    functionName: appendTmpSBlocksInMem
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendTmpSBlocksInMem(SResultIter* pResult, SSDataBlock* pBlock)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:220,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:223,1
    - Dst: openFileForRead
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:227,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:229,1
    - Dst: taosPReadFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:234,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:237,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:252,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:256,1
    - Dst: blockSpecialDecodeLaterPart
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:257,1
    - Dst: getWindowDataBuf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:257,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:259,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:261,1
    - Dst: appendTmpSBlocksInMem
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:263,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:264,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:274,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:276,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:279,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:285,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 5
    argNames:
    - pResult
    - pSlidingGrpMgr
    - tsColSlotId
    - pBlockInfo
    - finished
    argTypes:
    - SResultIter*
    - SSlidingGrpMgr*
    - int32_t
    - SBlocksInfoFile*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 287
    functionName: readFileDataToSlidingWindows
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - appendTmpSBlocksInMem
    - taosMemoryFreeClear
    - openFileForRead
    - stError
    - taosPReadFile
    - blockSpecialDecodeLaterPart
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - taosArrayDestroy
    - blockDataDestroy
    - taosMemoryCalloc
    - getWindowDataBuf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t readFileDataToSlidingWindows(SResultIter* pResult, SSlidingGrpMgr*
      pSlidingGrpMgr, int32_t tsColSlotId,\n                                            SBlocksInfoFile*
      pBlockInfo, bool* finished)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:296,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:297,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:299,1
    - Dst: readFileDataToSlidingWindows
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:304,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:306,1
    - Dst: addToFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:311,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:313,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:323,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:331,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - pResult
    - ppBlock
    - tsColSlotId
    argTypes:
    - SResultIter*
    - SSDataBlock**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 334
    functionName: readSlidingDataFromFile
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - addToFreeBlock
    - readFileDataToSlidingWindows
    - taosArrayGet
    - stError
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t readSlidingDataFromFile(SResultIter* pResult, SSDataBlock**
      ppBlock, int32_t tsColSlotId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pResult
    - ppBlock
    - tsColSlotId
    argTypes:
    - SResultIter*
    - SSDataBlock**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: readAlignDataFromFile
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t readAlignDataFromFile(SResultIter* pResult, SSDataBlock** ppBlock,
      int32_t tsColSlotId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readSlidingDataFromFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:344,1
    - Dst: readAlignDataFromFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pResult
    - ppBlock
    - tsColSlotId
    argTypes:
    - SResultIter*
    - SSDataBlock**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 4
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: readDataFromFile
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 0
    functionsReached:
    - readAlignDataFromFile
    - readSlidingDataFromFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t readDataFromFile(SResultIter* pResult, SSDataBlock** ppBlock,
      int32_t tsColSlotId)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: initStreamDataSinkFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:359,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:361,1
    - Dst: openFileForWrite
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:363,1
    - Dst: destroyStreamDataSinkFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:365,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:370,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:371,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:374,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:379,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:381,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:383,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:398,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:401,1
    - Dst: getFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:406,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:414,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:423,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:426,1
    - Dst: taosWritevFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:429,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:432,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:434,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:437,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:439,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:442,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:447,1
    - Dst: addToFreeBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:448,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c:450,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 2
    argNames:
    - pSlidingTaskMgr
    - pSlidingGrp
    argTypes:
    - SSlidingTaskDSMgr*
    - SSlidingGrpMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 452
    functionName: moveSlidingGrpMemCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkFile.c
    functionUses: 2
    functionsReached:
    - openFileForWrite
    - taosArrayPush
    - addToFreeBlock
    - taosArrayGet
    - stDebug
    - taosArrayRemoveBatch
    - stError
    - taosLSeekFile
    - initStreamDataSinkFile
    - taosMemCalloc
    - getFreeBlock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayInit
    - taosMemoryFree
    - taosWritevFile
    - destroyStreamDataSinkFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t moveSlidingGrpMemCache(SSlidingTaskDSMgr* pSlidingTaskMgr,
      SSlidingGrpMgr* pSlidingGrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:30,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:31,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:33,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:34,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:37,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:39,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:40,1
    - Dst: tEncodeStreamHbMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:40,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:41,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:43,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:44,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:44,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:50,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:50,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:52,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:58,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:59,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:62,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:62,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:64,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - pMsg
    - pEpset
    argTypes:
    - SStreamHbMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 68
    functionName: streamHbSendRequestMsg
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamHb.c
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - tmsgSendReq
    - stDebug
    - tEncodeSize
    - tEncodeStreamHbMsg
    - tEncoderClear
    - stError
    - stWarn
    - POINTER_SHIFT
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - tstrerror
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - stTrace
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamHbSendRequestMsg(SStreamHbMsg* pMsg, SEpSet* pEpset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stmAddFetchStreamGid
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:77,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:79,1
    - Dst: stmBuildHbStreamsStatusReq
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:79,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:85,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:96,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:97,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:98,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:104,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - pMsg
    - skipHb
    argTypes:
    - SStreamHbMsg*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 107
    functionName: streamHbBuildRequestMsg
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamHb.c
    functionUses: 0
    functionsReached:
    - stmAddFetchStreamGid
    - taosRUnLockLatch
    - stError
    - stmBuildHbStreamsStatusReq
    - tstrerror
    - taosRLockLatch
    - TAOS_CHECK_EXIT
    - stTrace
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamHbBuildRequestMsg(SStreamHbMsg* pMsg, bool* skipHb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stTrace
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:116,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:118,1
    - Dst: streamHbBuildRequestMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:118,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:125,1
    - Dst: streamHbSendRequestMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:125,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:129,1
    - Dst: tCleanupStreamHbMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:131,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:134,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:134,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: streamHbStart
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamHb.c
    functionUses: 0
    functionsReached:
    - tCleanupStreamHbMsg
    - stError
    - streamHbSendRequestMsg
    - tstrerror
    - streamTmrStart
    - TAOS_CHECK_EXIT
    - stTrace
    - streamHbBuildRequestMsg
    linkageType: ''
    returnType: void
    signature: void streamHbStart(void* param, void* tmrId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pHb
    argTypes:
    - SStreamHbInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: streamHbInit
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamHb.c
    functionUses: 1
    functionsReached:
    - streamTmrStart
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamHbInit(SStreamHbInfo* pHb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:150,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:151,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:151,1
    - Dst: smUndeployAllTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:153,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:156,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:156,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:157,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:166,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - errCode
    - currTs
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 146
    functionDepth: 10
    functionLinenumber: 146
    functionLinenumberEnd: 169
    functionName: streamHbHandleRspErr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamHb.c
    functionUses: 0
    functionsReached:
    - smUndeployAllTasks
    - stError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamHbHandleRspErr(int32_t errCode, int64_t currTs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:182,1
    - Dst: smUndeployTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:182,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:186,1
    - Dst: smDeployStreams
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:190,1
    - Dst: smHandleMgmtRsp
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:194,1
    - Dst: smStartTasks
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:194,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:200,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:200,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:202,1
    - Dst: tDeepFreeSMStreamHbRspMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamHb.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMStreamHbRspMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 171
    functionDepth: 21
    functionLinenumber: 171
    functionLinenumberEnd: 208
    functionName: streamHbProcessRspMsg
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamHb.c
    functionUses: 0
    functionsReached:
    - smStartTasks
    - smUndeployTasks
    - stDebug
    - smHandleMgmtRsp
    - stError
    - tstrerror
    - smDeployStreams
    - TAOS_CHECK_EXIT
    - tDeepFreeSMStreamHbRspMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamHbProcessRspMsg(SMStreamHbRspMsg* pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - maxMemSize
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: setDataSinkMaxMemSize
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 4
    functionsReached:
    - stInfo
    linkageType: ''
    returnType: void
    signature: void setDataSinkMaxMemSize(int64_t maxMemSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initDataSinkFileDir
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:39,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:41,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:45,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:50,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:50,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:54,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: initStreamDataSink
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 2
    functionsReached:
    - stError
    - TMIN
    - taosHashInit
    - taosHashSetFreeFp
    - taosGetDefaultHashFunction
    - initDataSinkFileDir
    - stInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t initStreamDataSink()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: isManagerReady
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isManagerReady()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: getCleanModeFromDSMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SCleanMode
    signature: SCleanMode getCleanModeFromDSMgr(void* pData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:80,1
    - Dst: destroyStreamDataSinkFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:84,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SSlidingTaskDSMgr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: destroySlidingTaskDSMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosHashCleanup
    - destroyStreamDataSinkFile
    linkageType: ''
    returnType: void
    signature: void destroySlidingTaskDSMgr(SSlidingTaskDSMgr** pData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroyStreamDataSinkFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:95,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:99,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SAlignTaskDSMgr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: destroyAlignTaskDSMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosHashCleanup
    - destroyStreamDataSinkFile
    linkageType: ''
    returnType: void
    signature: void destroyAlignTaskDSMgr(SAlignTaskDSMgr** pData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:108,1
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:111,1
    - Dst: destroyAlignTaskDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:113,1
    - Dst: destroySlidingTaskDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:116,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: destroySStreamDSTaskMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - destroySlidingTaskDSMgr
    - stError
    - destroyAlignTaskDSMgr
    - getCleanModeFromDSMgr
    linkageType: ''
    returnType: void
    signature: void destroySStreamDSTaskMgr(void* pData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:124,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:129,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:131,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - groupId
    - ppAlignGrpMgr
    argTypes:
    - int64_t
    - SAlignGrpMgr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 138
    functionName: createAlignGrpMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - stError
    - taosMemoryCalloc
    - taosMemoryFree
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t createAlignGrpMgr(int64_t groupId, SAlignGrpMgr** ppAlignGrpMgr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:143,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:147,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: destroyAlignGrpMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: void destroyAlignGrpMgr(void* pData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:156,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:168,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:168,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:170,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:171,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - streamId
    - taskId
    - sessionId
    - tsSlotId
    - ppCache
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: createAlignTaskMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - stError
    - taosHashInit
    - taosMemCalloc
    - taosMemoryFree
    - taosHashSetFreeFp
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t createAlignTaskMgr(int64_t streamId, int64_t taskId, int64_t
      sessionId, int32_t tsSlotId, void** ppCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:182,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:188,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:190,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - groupId
    - ppSlidingGrpMgr
    argTypes:
    - int64_t
    - SSlidingGrpMgr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: createSlidingGrpMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - stError
    - taosMemoryCalloc
    - taosMemoryFree
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSlidingGrpMgr(int64_t groupId, SSlidingGrpMgr** ppSlidingGrpMgr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:203,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:208,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: destroySSlidingGrpMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: void destroySSlidingGrpMgr(void* pData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:216,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pGroupData
    argTypes:
    - SSlidingGrpMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: cleanSlidingGrpMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayClearEx
    linkageType: ''
    returnType: void
    signature: void cleanSlidingGrpMgr(SSlidingGrpMgr* pGroupData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:226,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:238,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:240,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:241,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - streamId
    - taskId
    - sessionId
    - tsSlotId
    - ppCache
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 247
    functionName: createSlidingTaskMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - stError
    - taosHashInit
    - taosMemCalloc
    - taosMemoryFree
    - taosHashSetFreeFp
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSlidingTaskMgr(int64_t streamId, int64_t taskId, int64_t
      sessionId, int32_t tsSlotId, void** ppCache)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:255,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:257,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:257,1
    - Dst: createAlignTaskMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:260,1
    - Dst: createSlidingTaskMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:262,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:265,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:268,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:268,1
    - Dst: destroyStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:270,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:271,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:274,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 6
    argNames:
    - streamId
    - taskId
    - sessionId
    - cleanMode
    - tsSlotId
    - ppCache
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int32_t
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 281
    functionName: initStreamDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 12
    functionsReached:
    - stDebug
    - createAlignTaskMgr
    - stError
    - taosHashGet
    - createSlidingTaskMgr
    - snprintf
    - strlen
    - taosHashPut
    - destroyStreamDataCache
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initStreamDataCache(int64_t streamId, int64_t taskId, int64_t
      sessionId, int32_t cleanMode, int32_t tsSlotId,\n                            void**
      ppCache)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:289,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:292,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:295,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:295,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:297,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:297,1
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:299,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:302,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:305,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:305,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:307,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:307,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:310,1
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:310,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 315
    functionName: destroyStreamDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 6
    functionsReached:
    - taosHashRemove
    - stError
    - taosHashGet
    - snprintf
    - getCleanModeFromDSMgr
    - strlen
    linkageType: ''
    returnType: void
    signature: void destroyStreamDataCache(void* pCache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:323,1
    - Dst: createSlidingGrpMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:325,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:327,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:331,1
    - Dst: destroySSlidingGrpMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:333,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pSlidingTaskMgr
    - groupId
    - ppSlidingGrpMgr
    argTypes:
    - SSlidingTaskDSMgr*
    - int64_t
    - SSlidingGrpMgr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 342
    functionName: getOrCreateSSlidingGrpMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - stError
    - taosHashGet
    - destroySSlidingGrpMgr
    - createSlidingGrpMgr
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getOrCreateSSlidingGrpMgr(SSlidingTaskDSMgr* pSlidingTaskMgr,
      int64_t groupId,\n                                         SSlidingGrpMgr**
      ppSlidingGrpMgr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:348,1
    - Dst: createAlignGrpMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:350,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:352,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:356,1
    - Dst: destroyAlignGrpMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:358,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pStreamTaskMgr
    - groupId
    - ppAlignGrpMgr
    argTypes:
    - SAlignTaskDSMgr*
    - int64_t
    - SAlignGrpMgr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 367
    functionName: getOrCreateAlignGrpMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - stError
    - taosHashGet
    - createAlignGrpMgr
    - destroyAlignGrpMgr
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t getOrCreateAlignGrpMgr(SAlignTaskDSMgr* pStreamTaskMgr, int64_t
      groupId, SAlignGrpMgr** ppAlignGrpMgr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:375,1
    - Dst: getOrCreateSSlidingGrpMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:378,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:380,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:383,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:385,1
    - Dst: buildSlidingWindowInMem
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:390,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:391,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:393,1
    - Dst: destroySlidingWindowInMem
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:395,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:396,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:398,1
    - Dst: slidingGrpMgrUsedMemAdd
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:401,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:405,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:407,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 5
    argNames:
    - pStreamTaskMgr
    - groupId
    - pBlock
    - startIndex
    - endIndex
    argTypes:
    - SSlidingTaskDSMgr*
    - int64_t
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 414
    functionName: putDataToSlidingTaskMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - stDebug
    - stError
    - changeMgrStatus
    - slidingGrpMgrUsedMemAdd
    - destroySlidingWindowInMem
    - QUERY_CHECK_CODE
    - getOrCreateSSlidingGrpMgr
    - buildSlidingWindowInMem
    linkageType: ''
    returnType: int32_t
    signature: "int32_t putDataToSlidingTaskMgr(SSlidingTaskDSMgr* pStreamTaskMgr,
      int64_t groupId, SSDataBlock* pBlock,\n                                int32_t
      startIndex, int32_t endIndex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:422,1
    - Dst: getOrCreateAlignGrpMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:425,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:427,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:430,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:432,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:437,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:439,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:441,1
    - Dst: buildAlignWindowInMemBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:445,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:446,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:450,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:452,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 7
    argNames:
    - pStreamTaskMgr
    - groupId
    - wstart
    - wend
    - pBlock
    - startIndex
    - endIndex
    argTypes:
    - SAlignTaskDSMgr*
    - int64_t
    - TSKEY
    - TSKEY
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 459
    functionName: putDataToAlignTaskMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - stDebug
    - stError
    - changeMgrStatus
    - taosArrayInit
    - QUERY_CHECK_CODE
    - getOrCreateAlignGrpMgr
    - buildAlignWindowInMemBlock
    linkageType: ''
    returnType: int32_t
    signature: "int32_t putDataToAlignTaskMgr(SAlignTaskDSMgr* pStreamTaskMgr, int64_t
      groupId, TSKEY wstart, TSKEY wend,\n                              SSDataBlock*
      pBlock, int32_t startIndex, int32_t endIndex)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getOrCreateAlignGrpMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:465,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:467,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:471,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:473,1
    - Dst: buildMoveAlignWindowInMem
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:478,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - pStreamTaskMgr
    - pBlock
    - groupId
    - wstart
    - wend
    argTypes:
    - SAlignTaskDSMgr*
    - SSDataBlock*
    - int64_t
    - TSKEY
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 484
    functionName: moveDataToAlignTaskMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - buildMoveAlignWindowInMem
    - getOrCreateAlignGrpMgr
    - stError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: "int32_t moveDataToAlignTaskMgr(SAlignTaskDSMgr* pStreamTaskMgr, SSDataBlock*
      pBlock, int64_t groupId, TSKEY wstart,\n                               TSKEY
      wend)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:491,1
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:494,1
    - Dst: stsDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:501,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:504,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:508,1
    - Dst: isManagerReady
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:511,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:512,1
    - Dst: checkAndMoveMemCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:515,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:517,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:518,1
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:520,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:522,1
    - Dst: putDataToAlignTaskMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:523,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:526,1
    - Dst: putDataToSlidingTaskMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:527,1
    - Dst: checkAndMoveMemCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:529,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:534,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:534,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:536,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 7
    argNames:
    - pCache
    - groupId
    - wstart
    - wend
    - pBlock
    - startIndex
    - endIndex
    argTypes:
    - void*
    - int64_t
    - TSKEY
    - TSKEY
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 486
    functionDepth: 4
    functionLinenumber: 486
    functionLinenumberEnd: 540
    functionName: putStreamDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 11
    functionsReached:
    - isManagerReady
    - putDataToSlidingTaskMgr
    - stsDebug
    - putDataToAlignTaskMgr
    - stDebug
    - stError
    - getCleanModeFromDSMgr
    - tstrerror
    - printDataBlock
    - TAOS_CHECK_EXIT
    - checkAndMoveMemCache
    linkageType: ''
    returnType: int32_t
    signature: "int32_t putStreamDataCache(void* pCache, int64_t groupId, TSKEY wstart,
      TSKEY wend, SSDataBlock* pBlock,\n                           int32_t startIndex,
      int32_t endIndex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isManagerReady
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:544,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:545,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:549,1
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:552,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:553,1
    - Dst: moveDataToAlignTaskMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pCache
    - groupId
    - wstart
    - wend
    - pBlock
    argTypes:
    - void*
    - int64_t
    - TSKEY
    - TSKEY
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 542
    functionDepth: 4
    functionLinenumber: 542
    functionLinenumberEnd: 557
    functionName: moveStreamDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 4
    functionsReached:
    - isManagerReady
    - stError
    - moveDataToAlignTaskMgr
    - getCleanModeFromDSMgr
    linkageType: ''
    returnType: int32_t
    signature: int32_t moveStreamDataCache(void* pCache, int64_t groupId, TSKEY wstart,
      TSKEY wend, SSDataBlock* pBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:566,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:569,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:571,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:577,1
    - Dst: createDataResult
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:581,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:582,1
    - Dst: releaseDataResultAndResetMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:604,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:606,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 5
    argNames:
    - pCache
    - groupId
    - start
    - end
    - pIter
    argTypes:
    - void*
    - int64_t
    - TSKEY
    - TSKEY
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 609
    functionName: getAlignDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - stDebug
    - stError
    - taosHashGet
    - QUERY_CHECK_CODE
    - releaseDataResultAndResetMgrStatus
    - createDataResult
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAlignDataCache(void* pCache, int64_t groupId, TSKEY start,
      TSKEY end, void** pIter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:618,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:622,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:624,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:629,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:631,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:636,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:637,1
    - Dst: createDataResult
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:642,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:643,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:664,1
    - Dst: releaseDataResultAndResetMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:666,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:668,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 5
    argNames:
    - pCache
    - groupId
    - start
    - end
    - pIter
    argTypes:
    - void*
    - int64_t
    - TSKEY
    - TSKEY
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 671
    functionName: getSlidingDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - stDebug
    - stError
    - changeMgrStatus
    - taosHashGet
    - QUERY_CHECK_CODE
    - releaseDataResultAndResetMgrStatus
    - createDataResult
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSlidingDataCache(void* pCache, int64_t groupId, TSKEY start,
      TSKEY end, void** pIter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:678,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:681,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:683,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:687,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:689,1
    - Dst: cleanSlidingGrpMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:693,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCache
    - groupId
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 697
    functionName: cleanSlidingDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - stDebug
    - stError
    - changeMgrStatus
    - taosHashGet
    - cleanSlidingGrpMgr
    linkageType: ''
    returnType: int32_t
    signature: int32_t cleanSlidingDataCache(void* pCache, int64_t groupId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isManagerReady
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:700,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:701,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:705,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:709,1
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:713,1
    - Dst: getAlignDataCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:715,1
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:716,1
    - Dst: getSlidingDataCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:718,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:720,1
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:720,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - pCache
    - groupId
    - start
    - end
    - pIter
    argTypes:
    - void*
    - int64_t
    - TSKEY
    - TSKEY
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 723
    functionName: getStreamDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 11
    functionsReached:
    - isManagerReady
    - stError
    - getAlignDataCache
    - getSlidingDataCache
    - getCleanModeFromDSMgr
    linkageType: ''
    returnType: int32_t
    signature: int32_t getStreamDataCache(void* pCache, int64_t groupId, TSKEY start,
      TSKEY end, void** pIter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isManagerReady
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:726,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:727,1
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:732,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:733,1
    - Dst: getCleanModeFromDSMgr
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:736,1
    - Dst: cleanSlidingDataCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCache
    - groupId
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 725
    functionDepth: 3
    functionLinenumber: 725
    functionLinenumberEnd: 740
    functionName: cleanStreamDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 1
    functionsReached:
    - isManagerReady
    - stError
    - cleanSlidingDataCache
    - getCleanModeFromDSMgr
    linkageType: ''
    returnType: int32_t
    signature: int32_t cleanStreamDataCache(void* pCache, int64_t groupId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:746,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 753
    functionName: createDataResult
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 2
    functionsReached:
    - stError
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataResult(void** pIter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:762,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:764,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:768,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:773,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: releaseDataResult
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: void releaseDataResult(void** pIter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:786,1
    - Dst: changeMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:789,1
    - Dst: releaseDataResult
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 793
    functionName: releaseDataResultAndResetMgrStatus
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 2
    functionsReached:
    - changeMgrStatus
    - releaseDataResult
    linkageType: ''
    returnType: void
    signature: void releaseDataResultAndResetMgrStatus(void** pIter)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: setNextIteratorFromFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:803,1
    - Dst: setNextIteratorFromMem
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:807,1
    - Dst: setNextIteratorFromMem
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:810,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:815,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:822,1
    - Dst: moveToNextIterator
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:823,1
    - Dst: releaseDataResultAndResetMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:827,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - ppIter
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 795
    functionDepth: 3
    functionLinenumber: 795
    functionLinenumberEnd: 832
    functionName: moveToNextIterator
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 1
    functionsReached:
    - setNextIteratorFromFile
    - moveToNextIterator
    - setNextIteratorFromMem
    - taosArrayClear
    - releaseDataResultAndResetMgrStatus
    linkageType: ''
    returnType: void
    signature: void moveToNextIterator(void** ppIter)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:836,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:847,1
    - Dst: checkAndMoveMemCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:849,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:850,1
    - Dst: readDataFromMem
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:855,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:856,1
    - Dst: readDataFromFile
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:859,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:860,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:864,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:872,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:876,1
    - Dst: releaseDataResultAndResetMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:883,1
    - Dst: moveToNextIterator
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:887,1
    - Dst: getNextStreamDataCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:890,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:895,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:898,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:901,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 2
    argNames:
    - pIter
    - ppBlock
    argTypes:
    - void**
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 834
    functionDepth: 5
    functionLinenumber: 834
    functionLinenumberEnd: 904
    functionName: getNextStreamDataCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 12
    functionsReached:
    - readDataFromFile
    - taosArrayGet
    - stDebug
    - moveToNextIterator
    - stError
    - getNextStreamDataCache
    - readDataFromMem
    - QUERY_CHECK_CODE
    - releaseDataResultAndResetMgrStatus
    - checkAndMoveMemCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t getNextStreamDataCache(void** pIter, SSDataBlock** ppBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: releaseDataResultAndResetMgrStatus
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 906
    functionDepth: 3
    functionLinenumber: 906
    functionLinenumberEnd: 906
    functionName: cancelStreamDataCacheIterate
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 1
    functionsReached:
    - releaseDataResultAndResetMgrStatus
    linkageType: ''
    returnType: void
    signature: void cancelStreamDataCacheIterate(void** pIter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 913
    functionName: destroyDataSinkMgr
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 10
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void destroyDataSinkMgr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: hasEnoughMemSize
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 2
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: bool
    signature: bool hasEnoughMemSize()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:924,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:926,1
    - Dst: moveSlidingTaskMemCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:932,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:934,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:935,1
    - Dst: hasEnoughMemSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:938,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:943,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:946,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 950
    functionName: moveMemCacheAllList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCancelIterate
    - stError
    - hasEnoughMemSize
    - moveSlidingTaskMemCache
    - stInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t moveMemCacheAllList()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:957,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:962,1
    - Dst: moveMemFromWaitList
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:965,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:967,1
    - Dst: hasEnoughMemSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:970,1
    - Dst: moveMemFromWaitList
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:971,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:973,1
    - Dst: hasEnoughMemSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:976,1
    - Dst: moveMemCacheAllList
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:977,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:979,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:982,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:984,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:986,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 952
    functionDepth: 3
    functionLinenumber: 952
    functionLinenumberEnd: 991
    functionName: moveMemCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - atomic_val_compare_exchange_8
    - moveMemFromWaitList
    - stError
    - hasEnoughMemSize
    - stInfo
    - moveMemCacheAllList
    linkageType: ''
    returnType: int32_t
    signature: int32_t moveMemCache()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:997,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1004,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1004,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1006,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1013
    functionName: enableSlidingGrpMemList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - atomic_val_compare_exchange_8
    - stError
    - taosHashInit
    - taosGetDefaultHashFunction
    - stInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t enableSlidingGrpMemList()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1019,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1023
    functionName: disableSlidingGrpMemList
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached:
    - taosHashClear
    - stInfo
    linkageType: ''
    returnType: void
    signature: void disableSlidingGrpMemList()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: enableSlidingGrpMemList
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1028,1
    - Dst: disableSlidingGrpMemList
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1030,1
    - Dst: hasEnoughMemSize
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1035,1
    - Dst: moveMemCache
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1039,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1041,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - forWrite
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1025
    functionDepth: 4
    functionLinenumber: 1025
    functionLinenumberEnd: 1045
    functionName: checkAndMoveMemCache
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 2
    functionsReached:
    - stDebug
    - enableSlidingGrpMemList
    - moveMemCache
    - hasEnoughMemSize
    - disableSlidingGrpMemList
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAndMoveMemCache(bool forWrite)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - oldStatus
    - newStatus
    - mode
    argTypes:
    - int8_t
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1070
    functionName: isValidStatusChange
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidStatusChange(int8_t oldStatus, int8_t newStatus, int8_t
      mode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1078,1
    - Dst: isValidStatusChange
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1082,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1084,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1093,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1096,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - pStatus
    - status
    argTypes:
    - int8_t*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1098
    functionName: changeMgrStatus
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 7
    functionsReached:
    - atomic_val_compare_exchange_8
    - atomic_load_8
    - isValidStatusChange
    - stError
    - taosMsleep
    linkageType: ''
    returnType: bool
    signature: bool changeMgrStatus(int8_t* pStatus, int8_t status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1106,1
    - Dst: isValidStatusChange
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1110,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c:1112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pStatus
    - mode
    argTypes:
    - int8_t*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1119
    functionName: changeMgrStatusToMoving
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/dataSinkMgr.c
    functionUses: 2
    functionsReached:
    - isValidStatusChange
    - atomic_val_compare_exchange_8
    - atomic_load_8
    linkageType: ''
    returnType: bool
    signature: bool changeMgrStatusToMoving(int8_t* pStatus, int8_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:13,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filepath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: getFilePath
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - snprintf
    - stError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFilePath(char* filepath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:21,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - filepath
    - streamId
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: getFileName
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - snprintf
    - stError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFileName(char* filepath, int64_t streamId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:30,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - filepath
    - streamId
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: getFileNameTmp
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - snprintf
    - stError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFileNameTmp(char* filepath, int64_t streamId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:45,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:46,1
    - Dst: taosWaitCfgKeyLoaded
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:49,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:56,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:57,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:58,1
    - Dst: memset
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:61,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:62,1
    - Dst: taosGetEncryptAlgoName
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:70,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:71,1
    - Dst: CBC_Encrypt
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:73,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:75,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:80,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:84,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:84,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:88,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:88,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:90,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:90,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:91,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:91,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:94,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:96,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 3
    argNames:
    - filepath
    - data
    - dataLen
    argTypes:
    - char*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 100
    functionName: writeFile
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 4
    functionsReached:
    - taosCloseFile
    - taosMemoryMalloc
    - memcpy
    - stDebug
    - stError
    - STREAM_PRINT_LOG_END
    - CBC_Encrypt
    - taosWriteFile
    - ENCRYPTED_LEN
    - memset
    - tstrncpy
    - taosMemoryFree
    - taosGetEncryptAlgoName
    - taosOpenFile
    - taosFsyncFile
    - taosWaitCfgKeyLoaded
    - STREAM_CHECK_CONDITION_GOTO
    - STREAM_CHECK_NULL_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t writeFile(char* filepath, void* data, int64_t dataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:107,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:108,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:110,1
    - Dst: getFilePath
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:110,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:111,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:111,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:113,1
    - Dst: getFileName
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:113,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:114,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:116,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:118,1
    - Dst: getFileNameTmp
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:118,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:119,1
    - Dst: writeFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:119,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:120,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:121,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:123,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:123,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:128,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:129,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:129,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:130,1
    - Dst: writeFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:130,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - streamId
    - data
    - dataLen
    argTypes:
    - int64_t
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 136
    functionName: streamWriteCheckPoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 1
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - getFilePath
    - stDebug
    - writeFile
    - taosRemoveFile
    - getFileNameTmp
    - stError
    - STREAM_PRINT_LOG_END
    - getFileName
    - taosMkDir
    - taosCheckExistFile
    - POINTER_SHIFT
    - taosRenameFile
    - STREAM_CHECK_CONDITION_GOTO
    - STREAM_CHECK_NULL_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamWriteCheckPoint(int64_t streamId, void* data, int64_t
      dataLen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:148,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:149,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:150,1
    - Dst: getFileName
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:150,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:153,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:154,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:156,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:156,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:159,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:159,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:166,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:168,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:170,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:170,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:171,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:172,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:173,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:173,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:183,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:186,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:187,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:189,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:189,1
    - Dst: taosWaitCfgKeyLoaded
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:192,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:199,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:200,1
    - Dst: taosGetEncryptAlgoName
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:208,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:209,1
    - Dst: CBC_Decrypt
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:211,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:213,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:214,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:220,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:221,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:222,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:223,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:226,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:235,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:236,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:236,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:240,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:243,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:244,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 70
    argCount: 3
    argNames:
    - streamId
    - data
    - dataLen
    argTypes:
    - int64_t
    - void**
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 247
    functionName: streamReadCheckPoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 1
    functionsReached:
    - taosCloseFile
    - taosMemoryFreeClear
    - stDebug
    - taosLSeekFile
    - stError
    - POINTER_SHIFT
    - taosWaitCfgKeyLoaded
    - memcpy
    - taosFStatFile
    - CBC_Decrypt
    - STREAM_CHECK_CONDITION_GOTO
    - STREAM_CHECK_RET_GOTO
    - getFileName
    - ENCRYPTED_LEN
    - tstrncpy
    - taosMemoryMalloc
    - taosReadFile
    - STREAM_PRINT_LOG_END
    - taosMemoryFree
    - taosGetEncryptAlgoName
    - taosOpenFile
    - STREAM_CHECK_NULL_GOTO
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamReadCheckPoint(int64_t streamId, void** data, int64_t*
      dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:253,1
    - Dst: getFileName
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:253,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:255,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:256,1
    - Dst: STREAM_CHECK_CONDITION_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:257,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:257,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:259,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - streamId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 265
    functionName: streamDeleteCheckPoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 1
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - stDebug
    - taosRemoveFile
    - STREAM_PRINT_LOG_END
    - getFileName
    - taosCheckExistFile
    - STREAM_CHECK_CONDITION_GOTO
    linkageType: ''
    returnType: void
    signature: void streamDeleteCheckPoint(int64_t streamId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:271,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:276,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:277,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:278,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - dataLen
    - epSet
    argTypes:
    - void*
    - int64_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: sendSyncMsg
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - htonl
    - rpcMallocCont
    - memcpy
    - tmsgSendReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t sendSyncMsg(void* data, int64_t dataLen, SEpSet* epSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:286,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:292,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:293,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:294,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - streamId
    - epSet
    argTypes:
    - int64_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: sendDeleteMsg
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - htonl
    - rpcMallocCont
    - memcpy
    - tmsgSendReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t sendDeleteMsg(int64_t streamId, SEpSet* epSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamAcquireTriggerTask
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:301,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:303,1
    - Dst: streamReleaseTask
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - streamId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 7
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: streamCheckpointSetReady
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - atomic_store_8
    - streamReleaseTask
    - streamAcquireTriggerTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamCheckpointSetReady(int64_t streamId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamReadCheckPoint
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:314,1
    - Dst: errorIsFileNotExist
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:315,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:317,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:318,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:319,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:320,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:321,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:324,1
    - Dst: sendSyncMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:324,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:325,1
    - Dst: stsWarn
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:328,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:328,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:330,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - streamId
    - epSet
    - data
    - dataLen
    argTypes:
    - int64_t
    - SEpSet*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 333
    functionName: streamSyncWriteCheckpoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 2
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - taosMemoryFreeClear
    - errorIsFileNotExist
    - sendSyncMsg
    - stDebug
    - STREAM_PRINT_LOG_END
    - POINTER_SHIFT
    - tstrerror
    - streamReadCheckPoint
    - STREAM_CHECK_NULL_GOTO
    - taosMemoryCalloc
    - stsWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamSyncWriteCheckpoint(int64_t streamId, SEpSet* epSet,
      void* data, int64_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:339,1
    - Dst: sendDeleteMsg
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:339,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:340,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - streamId
    - epSet
    argTypes:
    - int64_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: streamSyncDeleteCheckpoint
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 1
    functionsReached:
    - STREAM_CHECK_RET_GOTO
    - STREAM_PRINT_LOG_END
    - stDebug
    - sendDeleteMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamSyncDeleteCheckpoint(int64_t streamId, SEpSet* epSet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:352,1
    - Dst: getFilePath
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:352,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:353,1
    - Dst: STREAM_CHECK_NULL_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:354,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:357,1
    - Dst: taosDirEntryIsDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:358,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:362,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:363,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:363,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:364,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:368,1
    - Dst: streamSyncWriteCheckpoint
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:369,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:371,1
    - Dst: STREAM_CHECK_RET_GOTO
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:376,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:376,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:377,1
    - Dst: STREAM_PRINT_LOG_END
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - epSet
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 381
    functionName: streamSyncAllCheckpoints
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - taosGetDirEntryName
    - STREAM_CHECK_RET_GOTO
    - getFilePath
    - taosReadDir
    - STREAM_CHECK_NULL_GOTO
    - stDebug
    - stError
    - STREAM_PRINT_LOG_END
    - streamSyncWriteCheckpoint
    - taosCloseDir
    - taosStr2Int64
    - taosOpenDir
    - strcmp
    - taosDirEntryIsDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamSyncAllCheckpoints(SEpSet* epSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFilePath
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:385,1
    - Dst: stError
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:386,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 391
    functionName: streamDeleteAllCheckpoints
    functionSourceFile: /src/tdengine/source/libs/new-stream/src/streamCheckpoint.c
    functionUses: 0
    functionsReached:
    - stError
    - getFilePath
    - taosRemoveDir
    linkageType: ''
    returnType: void
    signature: void streamDeleteAllCheckpoints(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: ROL
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROL(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:72,1
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:72,1
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:72,1
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - dwA
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: SMS4_T1
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    functionsReached:
    - ROL
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int SMS4_T1(unsigned int    dwA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:108,1
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - dwA
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 111
    functionName: SMS4_T2
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    functionsReached:
    - ROL
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int SMS4_T2(unsigned int    dwA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_T2
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - MK
    - rk
    argTypes:
    - unsigned int[]
    - unsigned int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: SMS4_Key_Expansion
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    functionsReached:
    - SMS4_T2
    linkageType: ''
    returnType: void
    signature: void SMS4_Key_Expansion(unsigned int MK[],    unsigned int rk[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:153,1
    - 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:155,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:160,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:163,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:165,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: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:170,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:175,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:178,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:180,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:182,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:184,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:185,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:188,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:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 3
    argNames:
    - X
    - rk
    - Y
    argTypes:
    - unsigned int[]
    - unsigned int[]
    - unsigned int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 199
    functionName: SMS4_ECB_Encryption_Core
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    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_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:222,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:224,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:225,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:230,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:234,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:235,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:238,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:240,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:243,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:245,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:249,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:250,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:253,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:255,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:257,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:259,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 3
    argNames:
    - X
    - rk
    - Y
    argTypes:
    - unsigned int[]
    - unsigned int[]
    - unsigned int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 269
    functionName: SMS4_ECB_Decryption_Core
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - src
    - dst
    - count
    argTypes:
    - unsigned int*
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: SMS4_convert_to_network_order
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    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:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - dst
    - count
    argTypes:
    - unsigned int*
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: SMS4_convert_to_host_order
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    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:299,1
    - Dst: SMS4_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:300,1
    - Dst: SMS4_Key_Expansion
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:302,1
    - Dst: SMS4_ECB_Encryption_Core
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:303,1
    - Dst: SMS4_convert_to_host_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - plaintext
    - key
    - ciphertext
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: SMS4_ECB_Encryption
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    functionsReached:
    - SMS4_convert_to_host_order
    - SMS4_convert_to_network_order
    - SMS4_Key_Expansion
    - SMS4_ECB_Encryption_Core
    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:312,1
    - Dst: SMS4_Key_Expansion
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - rk
    argTypes:
    - unsigned char[]
    - unsigned int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: Key_Expansion_init
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    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:321,1
    - Dst: SMS4_ECB_Encryption_Core
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:322,1
    - Dst: SMS4_convert_to_host_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - plaintext
    - key
    - ciphertext
    argTypes:
    - unsigned char[]
    - unsigned int[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: SMS4_ECB_EncryptionEx
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    functionsReached:
    - SMS4_convert_to_network_order
    - SMS4_convert_to_host_order
    - SMS4_ECB_Encryption_Core
    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:333,1
    - Dst: SMS4_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:334,1
    - Dst: SMS4_Key_Expansion
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:336,1
    - Dst: SMS4_ECB_Decryption_Core
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:337,1
    - Dst: SMS4_convert_to_host_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ciphertext
    - key
    - plaintext
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 340
    functionName: SMS4_ECB_Decryption
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    functionsReached:
    - SMS4_convert_to_host_order
    - SMS4_convert_to_network_order
    - SMS4_ECB_Decryption_Core
    - 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_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:347,1
    - Dst: SMS4_ECB_Decryption_Core
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:348,1
    - Dst: SMS4_convert_to_host_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ciphertext
    - key
    - plaintext
    argTypes:
    - unsigned char[]
    - unsigned int[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 350
    functionName: SMS4_ECB_DecryptionEx
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    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_Encryption
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - plaintext
    - key
    - iv
    - ciphertext
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 362
    functionName: SMS4_CBC_Encryption
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    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_Decryption
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ciphertext
    - key
    - iv
    - plaintext
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 373
    functionName: SMS4_CBC_Decryption
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    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_EncryptionEx
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - plaintext
    - key
    - iv
    - ciphertext
    argTypes:
    - unsigned char[]
    - unsigned int[]
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: SMS4_CBC_EncryptionEx
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_ECB_DecryptionEx
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ciphertext
    - key
    - iv
    - plaintext
    argTypes:
    - unsigned char[]
    - unsigned int[]
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 4
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: SMS4_CBC_DecryptionEx
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: Key_Expansion_init
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:494,1
    - Dst: SMS4_CBC_EncryptionEx
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 466
    functionDepth: 5
    functionLinenumber: 466
    functionLinenumberEnd: 504
    functionName: SM4_CBC_Encrypt
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    functionsReached:
    - Key_Expansion_init
    - SMS4_CBC_EncryptionEx
    linkageType: ''
    returnType: int
    signature: "int SM4_CBC_Encrypt( unsigned char *pKey, \n                     unsigned
      int KeyLen,\n                     unsigned char *pIV, \n                     unsigned
      int ivLen,\n                     unsigned char *pInData, \n                     unsigned
      int inDataLen,\n                     unsigned char *pOutData, \n                     unsigned
      int *pOutDataLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Key_Expansion_init
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:534,1
    - Dst: SMS4_CBC_DecryptionEx
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 544
    functionName: SM4_CBC_Decrypt
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: 0
    functionsReached:
    - SMS4_CBC_DecryptionEx
    - Key_Expansion_init
    linkageType: ''
    returnType: int
    signature: "int SM4_CBC_Decrypt(unsigned char *pKey, \n                    unsigned
      int KeyLen, \n                    unsigned char *pIV, \n                    unsigned
      int ivLen,\n                    unsigned char *pInData,\n                    unsigned
      int inDataLen,\n                    unsigned char *pOutData, \n                    unsigned
      int *pOutDataLen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:48,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:49,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:50,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:51,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:53,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:58,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:63,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:68,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:69,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:70,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:71,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:72,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:92,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:93,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:94,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:95,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - isBlob
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 110
    functionName: tcsInitEnv
    functionSourceFile: /src/tdengine/source/libs/tcs/test/tcsTest.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCAT
    - tstrncpy
    - TAOS_STRCPY
    - getenv
    linkageType: ''
    returnType: int32_t
    signature: int32_t tcsInitEnv(int8_t isBlob)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcsInitEnv
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:118,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:124,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:125,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:126,1
    - Dst: tcsInit
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:128,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:129,1
    - Dst: tcsCheckCfg
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:131,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:132,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:143,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:144,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:146,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:147,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:148,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:149,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:151,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:154,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:154,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:155,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:155,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:155,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:157,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:158,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:160,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:161,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:163,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:164,1
    - Dst: tcsPutObjectFromFileOffset
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:166,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:167,1
    - Dst: tcsGetObjectBlock
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:170,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:171,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:174,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:175,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:178,1
    - Dst: tcsGetObjectToFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:180,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:181,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:184,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:185,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:187,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:189,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:190,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:192,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:193,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:196,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:197,1
    - Dst: tcsDeleteObjectsByPrefix
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:201,1
    - Dst: tcsPutObjectFromFile2
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:204,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:205,1
    - Dst: tcsGetObjectsByPrefix
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:207,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:208,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:211,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:212,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:214,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:216,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:217,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:219,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:220,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:223,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:224,1
    - Dst: tcsDeleteObjects
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:229,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:230,1
    - Dst: tcsUninit
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 233
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tcs/test/tcsTest.cpp
    functionUses: 0
    functionsReached:
    - tcsCheckCfg
    - taosCloseFile
    - tcsDeleteObjectsByPrefix
    - snprintf
    - memset
    - tcsPutObjectFromFile2
    - taosWriteFile
    - tcsUninit
    - tcsInitEnv
    - tcsGetObjectBlock
    - tcsGetObjectToFile
    - tcsInit
    - GTEST_ASSERT_NE
    - tstrncpy
    - tcsPutObjectFromFileOffset
    - tcsDeleteObjects
    - tcsGetObjectsByPrefix
    - taosReadFile
    - GTEST_ASSERT_EQ
    - strncmp
    - taosMemoryFree
    - taosOpenFile
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(TcsTest, InterfaceTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcsInitEnv
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:248,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:249,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:250,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:251,1
    - Dst: tcsInit
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:253,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:254,1
    - Dst: tcsCheckCfg
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:256,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:257,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:268,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:269,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:271,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:272,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:273,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:274,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:276,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:279,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:279,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:280,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:280,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:280,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:282,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:283,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:285,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:286,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:288,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:289,1
    - Dst: tcsPutObjectFromFileOffset
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:291,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:292,1
    - Dst: tcsGetObjectBlock
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:295,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:296,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:299,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:300,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:303,1
    - Dst: tcsGetObjectToFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:305,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:306,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:309,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:310,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:312,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:314,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:315,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:317,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:318,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:321,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:322,1
    - Dst: tcsDeleteObjectsByPrefix
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:326,1
    - Dst: tcsPutObjectFromFile2
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:329,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:330,1
    - Dst: tcsGetObjectsByPrefix
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:332,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:333,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:336,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:337,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:339,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:341,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:342,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:344,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:345,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:348,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:349,1
    - Dst: tcsDeleteObjects
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:354,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:355,1
    - Dst: tcsUninit
      Src: /src/tdengine/source/libs/tcs/test/tcsTest.cpp:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 358
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tcs/test/tcsTest.cpp
    functionUses: 0
    functionsReached:
    - tcsCheckCfg
    - taosCloseFile
    - tcsDeleteObjectsByPrefix
    - snprintf
    - memset
    - tcsPutObjectFromFile2
    - taosWriteFile
    - tcsUninit
    - tcsInitEnv
    - tcsGetObjectBlock
    - tcsGetObjectToFile
    - tcsInit
    - GTEST_ASSERT_NE
    - tstrncpy
    - tcsPutObjectFromFileOffset
    - tcsDeleteObjects
    - tcsGetObjectsByPrefix
    - taosReadFile
    - GTEST_ASSERT_EQ
    - strncmp
    - taosMemoryFree
    - taosOpenFile
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(TcsTest, InterfaceNonBlobTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Begin
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 68
    functionName: tcsInit
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: 2
    functionsReached:
    - Begin
    linkageType: ''
    returnType: int32_t
    signature: int32_t tcsInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: End
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tcsUninit
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: 2
    functionsReached:
    - End
    linkageType: ''
    returnType: void
    signature: void tcsUninit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:76,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:77,1
    - Dst: tcsInit
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:80,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:82,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:83,1
    - Dst: CheckCfg
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:86,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:88,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:89,1
    - Dst: tcsUninit
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 95
    functionName: tcsCheckCfg
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: 2
    functionsReached:
    - fprintf
    - CheckCfg
    - tcsInit
    - TAOS_RETURN
    - tcsUninit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tcsCheckCfg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PutObjectFromFileOffset
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - object_name
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: tcsPutObjectFromFileOffset
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: 2
    functionsReached:
    - PutObjectFromFileOffset
    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:
    - Dst: GetObjectBlock
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: tcsGetObjectBlock
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: 2
    functionsReached:
    - GetObjectBlock
    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:
    - Dst: DeleteObjectsByPrefix
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: tcsDeleteObjectsByPrefix
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: 2
    functionsReached:
    - DeleteObjectsByPrefix
    linkageType: ''
    returnType: void
    signature: void tcsDeleteObjectsByPrefix(const char* prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PutObjectFromFile2
      Src: /src/tdengine/source/libs/tcs/src/tcsStream.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - object
    - withcp
    argTypes:
    - char*
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: tcsPutObjectFromFile2
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcsStream.c
    functionUses: 2
    functionsReached:
    - PutObjectFromFile2
    linkageType: ''
    returnType: int32_t
    signature: int32_t tcsPutObjectFromFile2(const char* file, const char* object,
      int8_t withcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetObjectsByPrefix
      Src: /src/tdengine/source/libs/tcs/src/tcsStream.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: tcsGetObjectsByPrefix
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcsStream.c
    functionUses: 2
    functionsReached:
    - GetObjectsByPrefix
    linkageType: ''
    returnType: int32_t
    signature: int32_t tcsGetObjectsByPrefix(const char* prefix, const char* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteObjects
      Src: /src/tdengine/source/libs/tcs/src/tcsStream.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object_name
    - nobject
    argTypes:
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: tcsDeleteObjects
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcsStream.c
    functionUses: 2
    functionsReached:
    - DeleteObjects
    linkageType: ''
    returnType: int32_t
    signature: int32_t tcsDeleteObjects(const char* object_name[], int nobject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetObjectToFile
      Src: /src/tdengine/source/libs/tcs/src/tcsStream.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object_name
    - fileName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: tcsGetObjectToFile
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcsStream.c
    functionUses: 2
    functionsReached:
    - GetObjectToFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tcsGetObjectToFile(const char* object_name, const char* fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: monInit
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: MonitorTest::SetUpTestSuite
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached:
    - monInit
    linkageType: ''
    returnType: void
    signature: void SetUpTestSuite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: monCleanup
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:30,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: MonitorTest::TearDownTestSuite
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - monCleanup
    linkageType: ''
    returnType: void
    signature: void TearDownTestSuite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: MonitorTest::SetUp
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: MonitorTest::TearDown
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: MonitorTest::GetBasicInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: void
    signature: void MonitorTest::GetBasicInfo(SMonBasicInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:66,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonDnodeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: MonitorTest::GetDnodeInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: void
    signature: void MonitorTest::GetDnodeInfo(SMonDnodeInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonSysInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: MonitorTest::GetSysInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MonitorTest::GetSysInfo(SMonSysInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:96,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:98,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:107,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:110,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:111,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:112,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:115,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:116,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:117,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:119,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:122,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:123,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:124,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:127,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:128,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonClusterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 130
    functionName: MonitorTest::GetClusterInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void MonitorTest::GetClusterInfo(SMonClusterInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:133,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:137,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:139,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:141,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:143,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:144,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:148,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:150,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:152,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:154,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:155,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:159,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:161,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:163,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: MonitorTest::GetVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void MonitorTest::GetVgroupInfo(SMonVgroupInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonGrantInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: MonitorTest::GetGrantInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MonitorTest::GetGrantInfo(SMonGrantInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SVnodesStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: MonitorTest::GetVnodeStat
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MonitorTest::GetVnodeStat(SVnodesStat *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:185,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:187,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:192,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:195,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:200,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:203,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonDiskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 209
    functionName: MonitorTest::GetDiskInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void MonitorTest::GetDiskInfo(SMonDiskInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:212,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:217,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:218,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:219,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:223,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:224,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - logs
    argTypes:
    - SMonLogs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 231
    functionName: MonitorTest::GetLogInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - taosArrayPush
    - taosGetTimestampMs
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void MonitorTest::GetLogInfo(SMonLogs *logs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: monRecordLog
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:234,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:234,1
    - Dst: monRecordLog
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:235,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:235,1
    - Dst: monRecordLog
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:236,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: MonitorTest::AddLogInfo1
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    - monRecordLog
    linkageType: ''
    returnType: void
    signature: void MonitorTest::AddLogInfo1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: monRecordLog
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:240,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:240,1
    - Dst: monRecordLog
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:241,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/monitor/test/monTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: MonitorTest::AddLogInfo2
    functionSourceFile: /src/tdengine/source/libs/monitor/test/monTest.cpp
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    - monRecordLog
    linkageType: ''
    returnType: void
    signature: void MonitorTest::AddLogInfo2()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_default_init
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:104,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:106,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:106,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:117,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:118,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:119,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:120,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:123,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:123,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:125,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:133,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:134,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:135,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:136,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:139,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:139,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:141,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:149,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:150,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:151,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:152,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:155,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:155,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 160
    functionName: monInitMonitorFW
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: 0
    functionsReached:
    - strlen
    - taos_collector_registry_register_metric
    - uError
    - taos_gauge_new
    - taos_counter_destroy
    - taosHashInit
    - taosGetDefaultHashFunction
    - taos_collector_registry_default_init
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void monInitMonitorFW()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:163,1
    - Dst: taos_collector_registry_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:164,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: monCleanupMonitorFW
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: 0
    functionsReached:
    - taos_collector_registry_destroy
    - taosHashCleanup
    - uError
    linkageType: ''
    returnType: void
    signature: void monCleanupMonitorFW()
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:182,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:183,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:186,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:186,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:187,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:192,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:203,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:204,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:205,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:206,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:209,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:209,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:210,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:215,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:220,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:220,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:221,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:223,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:223,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:224,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:226,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:226,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:227,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:229,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:229,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:230,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:232,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:232,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:233,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:235,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:235,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:236,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:238,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:238,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:239,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:241,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:241,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:242,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:244,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:244,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:245,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:247,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:247,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:248,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:250,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:250,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:251,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:254,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:257,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:258,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:260,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:265,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:265,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:266,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:268,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:268,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:269,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:272,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:275,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:277,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:280,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:281,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:284,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:297,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:297,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:298,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:300,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:300,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:301,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:304,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:304,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:305,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:307,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:307,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:308,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:310,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:310,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:311,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 100
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 312
    functionName: monGenClusterInfoTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: 0
    functionsReached:
    - taos_collector_registry_register_metric
    - uError
    - taosArrayGet
    - taos_gauge_new
    - taos_collector_registry_deregister_metric
    - taosHashRemove
    - uTrace
    - taos_counter_destroy
    - taosHashGet
    - snprintf
    - taosArrayGetSize
    - strlen
    - taos_gauge_set
    - taosHashPut
    - strcmp
    linkageType: ''
    returnType: void
    signature: void monGenClusterInfoTable(SMonInfo *pMonitor)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:315,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:316,1
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:319,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:320,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:331,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:332,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:333,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:334,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:337,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:338,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:339,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:340,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:345,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:347,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:348,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:351,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:357,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:360,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:363,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 365
    functionName: monGenVgroupInfoTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: 0
    functionsReached:
    - taos_collector_registry_register_metric
    - uError
    - taosArrayGet
    - taos_gauge_new
    - taos_collector_registry_deregister_metric
    - taos_counter_destroy
    - snprintf
    - taosArrayGetSize
    - taos_gauge_set
    - strcmp
    linkageType: ''
    returnType: void
    signature: void monGenVgroupInfoTable(SMonInfo *pMonitor)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:369,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:374,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:377,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:431,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:431,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:432,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:434,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:434,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:435,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:437,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:437,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:438,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:440,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:440,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:441,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:443,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:443,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:444,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:446,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:446,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:447,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:449,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:449,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:450,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:452,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:452,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:453,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:455,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:455,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:456,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:458,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:458,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:459,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:461,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:461,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:462,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:464,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:464,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:465,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:467,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:467,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:468,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:470,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:470,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:471,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:473,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:473,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:474,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:476,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:476,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:477,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:479,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:479,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:480,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:485,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:485,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:486,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:488,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:488,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:489,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:491,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:491,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:492,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:494,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:494,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:495,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:497,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:497,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:498,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:522,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:522,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:523,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:525,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:525,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:526,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:528,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:528,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:529,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:531,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:531,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:532,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 116
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 533
    functionName: monGenDnodeInfoTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: 0
    functionsReached:
    - uError
    - taosHashGet
    - snprintf
    - strlen
    - taos_gauge_set
    linkageType: ''
    returnType: void
    signature: void monGenDnodeInfoTable(SMonInfo *pMonitor)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:536,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:537,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:541,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:551,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:552,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:553,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:554,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:559,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:565,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:566,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:569,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:574,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:577,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 579
    functionName: monGenDnodeStatusInfoTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: 0
    functionsReached:
    - taos_collector_registry_register_metric
    - uError
    - taosArrayGet
    - taos_gauge_new
    - taos_collector_registry_deregister_metric
    - taos_counter_destroy
    - snprintf
    - taosArrayGetSize
    - taos_gauge_set
    - strcmp
    linkageType: ''
    returnType: void
    signature: void monGenDnodeStatusInfoTable(SMonInfo *pMonitor)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:587,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:590,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:594,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:595,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:598,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:602,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:602,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:603,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:605,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:605,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:606,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:608,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:608,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:609,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 611
    functionName: monGenDataDiskTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosHashGet
    - snprintf
    - taosArrayGetSize
    - strlen
    - taos_gauge_set
    linkageType: ''
    returnType: void
    signature: void monGenDataDiskTable(SMonInfo *pMonitor)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:620,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:623,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:629,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:629,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:630,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:632,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:632,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:633,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:635,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:635,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:636,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:640,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:640,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:641,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:643,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:643,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:644,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:646,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:646,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:647,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 648
    functionName: monGenLogDiskTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - taosHashGet
    - taos_gauge_set
    linkageType: ''
    returnType: void
    signature: void monGenLogDiskTable(SMonInfo *pMonitor)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:654,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:655,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:658,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:658,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:659,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:672,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:673,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:674,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:675,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:678,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:678,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:680,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:685,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:689,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:691,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:694,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:699,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:700,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:703,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:709,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:709,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:712,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:715,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 720
    functionName: monGenMnodeRoleTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: 0
    functionsReached:
    - taos_collector_registry_register_metric
    - uError
    - taosArrayGet
    - taos_gauge_new
    - taos_collector_registry_deregister_metric
    - taosHashRemove
    - uTrace
    - taos_counter_destroy
    - taosHashGet
    - snprintf
    - taosArrayGetSize
    - strlen
    - taos_gauge_set
    - taosHashPut
    - strcmp
    linkageType: ''
    returnType: void
    signature: void monGenMnodeRoleTable(SMonInfo *pMonitor)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:727,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:728,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:731,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:731,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:732,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:745,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:746,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:747,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:748,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:751,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:751,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:753,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:758,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:762,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:763,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:766,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:773,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:777,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:777,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:778,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 722
    functionDepth: 3
    functionLinenumber: 722
    functionLinenumberEnd: 781
    functionName: monGenVnodeRoleTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: 0
    functionsReached:
    - taos_collector_registry_register_metric
    - uError
    - taosArrayGet
    - taos_gauge_new
    - taos_collector_registry_deregister_metric
    - taosHashRemove
    - uTrace
    - taos_counter_destroy
    - taosHashGet
    - snprintf
    - taosArrayGetSize
    - strlen
    - taos_gauge_set
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void monGenVnodeRoleTable(SMonInfo *pMonitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:785,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:785,1
    - Dst: taos_collector_registry_bridge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:788,1
    - Dst: uInfoL
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:791,1
    - Dst: uDebugL
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:792,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:795,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:795,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:801,1
    - Dst: tGenQid64
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:801,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:802,1
    - Dst: taosSendHttpReportWithQID
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:803,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:803,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:805,1
    - Dst: taos_collector_registry_clear_batch
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:807,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:808,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:811,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 783
    functionDepth: 5
    functionLinenumber: 783
    functionLinenumberEnd: 816
    functionName: monSendPromReport
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: 0
    functionsReached:
    - taosGetTimestamp
    - uInfo
    - uError
    - taosMemoryFreeClear
    - taosSendHttpReportWithQID
    - uDebug
    - uInfoL
    - taos_collector_registry_bridge_new
    - snprintf
    - tGenQid64
    - taos_collector_registry_clear_batch
    - tstrerror
    - strlen
    - uDebugL
    linkageType: ''
    returnType: void
    signature: void monSendPromReport()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:45,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:46,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:49,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:51,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ts
    - level
    - content
    argTypes:
    - int64_t
    - ELogLevel
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: monRecordLog
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - tstrncpy
    - taosArrayGetSize
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void monRecordLog(int64_t ts, ELogLevel level, const char *content)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:58,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:59,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:68,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:69,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - logs
    argTypes:
    - SMonLogs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: monGetLogs
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    - taosThreadMutexUnlock
    - taosArrayClear
    - taosThreadMutexLock
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t monGetLogs(SMonLogs *logs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:77,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:78,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:79,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonDmInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: monSetDmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - memset
    - memcpy
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void monSetDmInfo(SMonDmInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:84,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:85,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:86,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonMmInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: monSetMmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - memset
    - memcpy
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void monSetMmInfo(SMonMmInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:91,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:92,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:93,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonVmInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: monSetVmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - memset
    - memcpy
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void monSetVmInfo(SMonVmInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:98,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:99,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:100,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonQmInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: monSetQmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - memset
    - memcpy
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void monSetQmInfo(SMonQmInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:105,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:106,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:107,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonSmInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: monSetSmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - memset
    - memcpy
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void monSetSmInfo(SMonSmInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:112,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:113,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:114,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonBmInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: monSetBmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - memset
    - memcpy
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void monSetBmInfo(SMonBmInfo *pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:119,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:121,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:126,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:127,1
    - Dst: monInitMonitorFW
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SMonCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: monInit
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexInit
    - taosGetTimestampMs
    - TAOS_RETURN
    - taosArrayInit
    - monInitMonitorFW
    linkageType: ''
    returnType: int32_t
    signature: int32_t monInit(const SMonCfg *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dnodeId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: monSetDnodeId
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void monSetDnodeId(int32_t dnodeId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:145,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:146,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:147,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:148,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:149,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:151,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:154,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: monInitVnode
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - taos_collector_registry_register_metric
    - uError
    - uInfo
    - taos_counter_new
    - uDebug
    - taos_counter_destroy
    linkageType: ''
    returnType: void
    signature: void monInitVnode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:163,1
    - Dst: tFreeSMonMmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:165,1
    - Dst: tFreeSMonVmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:166,1
    - Dst: tFreeSMonSmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:167,1
    - Dst: tFreeSMonQmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:168,1
    - Dst: tFreeSMonBmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:169,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:170,1
    - Dst: monCleanupMonitorFW
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 5
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: monCleanup
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 1
    functionsReached:
    - tFreeSMonMmInfo
    - tFreeSMonQmInfo
    - tFreeSMonSmInfo
    - tFreeSMonBmInfo
    - tFreeSMonVmInfo
    - monCleanupMonitorFW
    - taosThreadMutexDestroy
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void monCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:177,1
    - Dst: tFreeSMonMmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:178,1
    - Dst: tFreeSMonVmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:179,1
    - Dst: tFreeSMonSmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:180,1
    - Dst: tFreeSMonQmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:181,1
    - Dst: tFreeSMonBmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:182,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:183,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: monCleanupMonitorInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - tFreeSMonMmInfo
    - tFreeSMonQmInfo
    - tFreeSMonSmInfo
    - tFreeSMonBmInfo
    - tFreeSMonVmInfo
    - tjsonDelete
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void monCleanupMonitorInfo(SMonInfo *pMonitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:189,1
    - Dst: monGetLogs
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:195,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:199,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:200,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:202,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:203,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:204,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:205,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:207,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:208,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:210,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:211,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:212,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:214,1
    - Dst: monCleanupMonitorInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:217,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 224
    functionName: monCreateMonitorInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - memcpy
    - monGetLogs
    - memset
    - tjsonCreateObject
    - taosGetTimestampMs
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - monCleanupMonitorInfo
    - taosMemoryCalloc
    linkageType: ''
    returnType: SMonInfo
    signature: SMonInfo *monCreateMonitorInfo()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:231,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:232,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:236,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:236,1
    - Dst: tjsonAddDoubleToObject
      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: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:238,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:238,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:239,1
    - Dst: tjsonAddStringToObject
      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: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:241,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: monGenBasicJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uError
    - tjsonAddStringToObject
    - snprintf
    - tjsonAddDoubleToObject
    - taosFormatUtcTime
    linkageType: ''
    returnType: void
    signature: void monGenBasicJson(SMonInfo *pMonitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:251,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:251,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:252,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:252,1
    - Dst: tjsonAddDoubleToObject
      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: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:254,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:254,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:255,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:256,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:257,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: monGenBasicJsonBasic
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - taosGetTimestamp
    - uError
    - tjsonAddStringToObject
    - snprintf
    - tjsonAddDoubleToObject
    linkageType: ''
    returnType: void
    signature: void monGenBasicJsonBasic(SMonInfo *pMonitor)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:264,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:266,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:267,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:271,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:271,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:272,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:273,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:274,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:274,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:275,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:275,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:276,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:277,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:278,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:278,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:279,1
    - Dst: uError
      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: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:280,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:281,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:281,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:282,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:282,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:283,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:283,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:284,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:284,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:285,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:286,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:287,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:287,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:288,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:288,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:290,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:293,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:294,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:297,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:298,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:299,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:300,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:300,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:302,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:302,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:305,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:308,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:309,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:312,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:313,1
    - Dst: uError
      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: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:314,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:315,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:315,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:317,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:317,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 67
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 319
    functionName: monGenClusterJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uError
    - tjsonAddStringToObject
    - taosArrayGet
    - tjsonDelete
    - tjsonAddDoubleToObject
    - taosArrayGetSize
    - tjsonCreateObject
    - tjsonAddArrayToObject
    - tjsonAddItemToObject
    - tjsonAddItemToArray
    linkageType: ''
    returnType: void
    signature: void monGenClusterJson(SMonInfo *pMonitor)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:325,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:325,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:326,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:327,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:328,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: monGenClusterJsonBasic
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uError
    - tjsonAddDoubleToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: void
    signature: void monGenClusterJsonBasic(SMonInfo *pMonitor)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:336,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:339,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:340,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:342,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:343,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:347,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:348,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:349,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:350,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:351,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:352,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:353,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:354,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:354,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:356,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:363,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:366,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:366,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:367,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:368,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:370,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:370,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 373
    functionName: monGenVgroupJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uError
    - taosArrayGet
    - tjsonAddStringToObject
    - tjsonDelete
    - tjsonAddDoubleToObject
    - taosArrayGetSize
    - tjsonCreateObject
    - tjsonAddArrayToObject
    - tjsonAddItemToArray
    linkageType: ''
    returnType: void
    signature: void monGenVgroupJson(SMonInfo *pMonitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:379,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:382,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:383,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:385,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:386,1
    - Dst: taosArrayGet
      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:391,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:392,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:393,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: monGenStbJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uError
    - taosArrayGet
    - tjsonAddStringToObject
    - tjsonDelete
    - taosArrayGetSize
    - tjsonCreateObject
    - tjsonAddArrayToObject
    - tjsonAddItemToArray
    linkageType: ''
    returnType: void
    signature: void monGenStbJson(SMonInfo *pMonitor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:401,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:403,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:404,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:408,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:409,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:410,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:411,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 413
    functionName: monGenGrantJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uError
    - tjsonDelete
    - tjsonAddDoubleToObject
    - tjsonCreateObject
    - tjsonAddItemToObject
    linkageType: ''
    returnType: void
    signature: void monGenGrantJson(SMonInfo *pMonitor)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:420,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:422,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:423,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:469,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:469,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:470,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:471,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:472,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:472,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:473,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:473,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:474,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:474,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:475,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:475,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:476,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:477,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:478,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:479,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:479,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:480,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:481,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:482,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:483,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:484,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:485,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:486,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:487,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:487,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:488,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:490,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:490,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:491,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:492,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:493,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:494,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:495,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:496,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:497,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:498,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:499,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:499,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:500,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:500,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:501,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:502,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:502,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 86
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 503
    functionName: monGenDnodeJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uError
    - tjsonDelete
    - tjsonAddDoubleToObject
    - tjsonCreateObject
    - tjsonAddItemToObject
    linkageType: ''
    returnType: void
    signature: void monGenDnodeJson(SMonInfo *pMonitor)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:510,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:512,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:513,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:517,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:520,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:521,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:524,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:525,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:525,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:526,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:526,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:527,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:528,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:529,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:529,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:531,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:531,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:534,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:536,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:537,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:537,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:538,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: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:539,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:540,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:540,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:542,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:544,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:545,1
    - Dst: uError
      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: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:546,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:547,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:547,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:548,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:548,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 549
    functionName: monGenDiskJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uError
    - taosArrayGet
    - tjsonAddStringToObject
    - tjsonDelete
    - tjsonAddDoubleToObject
    - taosArrayGetSize
    - tjsonCreateObject
    - tjsonAddArrayToObject
    - tjsonAddItemToObject
    - tjsonAddItemToArray
    linkageType: ''
    returnType: void
    signature: void monGenDiskJson(SMonInfo *pMonitor)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - level
    argTypes:
    - ELogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 557
    functionName: monLogLevelStr
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *monLogLevelStr(ELogLevel level)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:560,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:562,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:563,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:588,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:591,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:593,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:593,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:594,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:594,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:595,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:595,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:597,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:599,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:599,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:600,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:600,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:601,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:601,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:603,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:605,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:605,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:606,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:606,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:607,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:607,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:609,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:611,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:611,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:612,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:612,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:613,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:613,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 614
    functionName: monGenLogJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uError
    - tjsonAddStringToObject
    - tjsonDelete
    - tjsonAddDoubleToObject
    - tjsonCreateObject
    - tjsonAddArrayToObject
    - tjsonAddItemToObject
    - tjsonAddItemToArray
    linkageType: ''
    returnType: void
    signature: void monGenLogJson(SMonInfo *pMonitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:617,1
    - Dst: uInfoL
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:619,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:624,1
    - Dst: tGenQid64
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:624,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:625,1
    - Dst: taosSendHttpReportWithQID
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:626,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:626,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:628,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 632
    functionName: monSendReport
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uError
    - uDebug
    - tjsonToString
    - uInfoL
    - snprintf
    - tGenQid64
    - taosMemoryFree
    - taosSendHttpReportWithQID
    - strlen
    linkageType: ''
    returnType: void
    signature: void monSendReport(SMonInfo *pMonitor)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:635,1
    - Dst: uInfoL
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:638,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:640,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:646,1
    - Dst: tGenQid64
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:646,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:647,1
    - Dst: taosSendHttpReportWithQID
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:648,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:648,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:650,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 634
    functionDepth: 4
    functionLinenumber: 634
    functionLinenumberEnd: 654
    functionName: monSendReportBasic
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uInfo
    - uError
    - uDebug
    - tjsonToString
    - uInfoL
    - snprintf
    - tGenQid64
    - taosMemoryFree
    - taosSendHttpReportWithQID
    - strlen
    linkageType: ''
    returnType: void
    signature: void monSendReportBasic(SMonInfo *pMonitor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: monCreateMonitorInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:657,1
    - Dst: monGenBasicJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:661,1
    - Dst: monGenClusterJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:662,1
    - Dst: monGenVgroupJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:663,1
    - Dst: monGenStbJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:664,1
    - Dst: monGenGrantJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:665,1
    - Dst: monGenDnodeJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:666,1
    - Dst: monGenDiskJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:667,1
    - Dst: monGenLogJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:668,1
    - Dst: monSendReport
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:670,1
    - Dst: monGenClusterInfoTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:672,1
    - Dst: monGenVgroupInfoTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:673,1
    - Dst: monGenDnodeInfoTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:674,1
    - Dst: monGenDnodeStatusInfoTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:675,1
    - Dst: monGenDataDiskTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:676,1
    - Dst: monGenLogDiskTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:677,1
    - Dst: monGenMnodeRoleTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:678,1
    - Dst: monGenVnodeRoleTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:679,1
    - Dst: monSendPromReport
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:681,1
    - Dst: monGenBasicJsonBasic
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:683,1
    - Dst: monGenClusterJsonBasic
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:684,1
    - Dst: monSendReportBasic
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:685,1
    - Dst: monCleanupMonitorInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 656
    functionDepth: 6
    functionLinenumber: 656
    functionLinenumberEnd: 690
    functionName: monGenAndSendReport
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - monGenLogDiskTable
    - monSendPromReport
    - monGenDnodeInfoTable
    - monGenVgroupInfoTable
    - monGenDiskJson
    - monGenClusterInfoTable
    - monSendReportBasic
    - monGenDnodeStatusInfoTable
    - monGenStbJson
    - monGenVnodeRoleTable
    - monGenMnodeRoleTable
    - monGenDnodeJson
    - monCreateMonitorInfo
    - monGenDataDiskTable
    - monGenVgroupJson
    - monGenBasicJsonBasic
    - monGenClusterJsonBasic
    - monCleanupMonitorInfo
    - monGenBasicJson
    - monGenGrantJson
    - monGenLogJson
    - monGenClusterJson
    - monSendReport
    linkageType: ''
    returnType: void
    signature: void monGenAndSendReport()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uInfoL
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:696,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:701,1
    - Dst: tGenQid64
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:701,1
    - Dst: uDebugL
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:702,1
    - Dst: taosSendHttpReportWithQID
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:704,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:704,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pCont
    - uri
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 692
    functionDepth: 4
    functionLinenumber: 692
    functionLinenumberEnd: 709
    functionName: monSendContent
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: 0
    functionsReached:
    - uError
    - uInfoL
    - snprintf
    - tGenQid64
    - taosSendHttpReportWithQID
    - strlen
    - uDebugL
    linkageType: ''
    returnType: void
    signature: void monSendContent(char *pCont, const char *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:22,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:25,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonMmInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: tFreeSMonMmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMsg.c
    functionUses: 2
    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:35,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonVmInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: tFreeSMonVmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMsg.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSMonVmInfo(SMonVmInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonQmInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tFreeSMonQmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMsg.c
    functionUses: 2
    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:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonSmInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tFreeSMonSmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMsg.c
    functionUses: 2
    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:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonBmInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tFreeSMonBmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMsg.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSMonBmInfo(SMonBmInfo *pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:96,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:98,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: schtInitLogFile
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - TAOS_STRCPY
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: void schtInitLogFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pResult
    - param
    - code
    argTypes:
    - SExecResult*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: schtQueryCb
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schtQueryCb(SExecResult *pResult, void *param, int32_t code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSQueryTableRsp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:111,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:113,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:117,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:119,1
    - Dst: tSerializeSQueryTableRsp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - msize
    - rspMsg
    argTypes:
    - uint32_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 132
    functionName: schtBuildQueryRspMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - qError
    - taosMemoryCalloc
    - tSerializeSQueryTableRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t schtBuildQueryRspMsg(uint32_t *msize, void **rspMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - msize
    - rspMsg
    argTypes:
    - uint32_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: schtBuildFetchRspMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t schtBuildFetchRspMsg(uint32_t *msize, void **rspMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:151,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:152,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:156,1
    - Dst: tEncodeSSubmitRsp2
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:157,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - msize
    - rspMsg
    argTypes:
    - uint32_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 166
    functionName: schtBuildSubmitRspMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - tEncodeSize
    - tEncoderClear
    - tEncodeSSubmitRsp2
    - tEncoderInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t schtBuildSubmitRspMsg(uint32_t *msize, void **rspMsg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:174,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:179,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:184,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:190,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:195,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:207,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:212,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:217,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:222,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:235,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:241,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:246,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:252,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:257,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:263,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:264,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:266,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:267,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:269,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 85
    argCount: 1
    argNames:
    - dag
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 271
    functionName: schtBuildQueryDag
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesMakeList
    - addEpIntoEpSet
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void schtBuildQueryDag(SQueryPlan *dag)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:280,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:285,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:290,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:296,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:302,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:307,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:313,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:317,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:324,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:335,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:336,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:337,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:338,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:339,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:344,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:349,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:354,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:359,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:360,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:362,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:374,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:380,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:382,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:383,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 91
    argCount: 1
    argNames:
    - dag
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 384
    functionName: schtBuildQueryFlowCtrlDag
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - taosRand
    - nodesMakeNode
    - addEpIntoEpSet
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void schtBuildQueryFlowCtrlDag(SQueryPlan *dag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dag
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: schtFreeQueryDag
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schtFreeQueryDag(SQueryPlan *dag)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:394,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:399,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:404,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:410,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:423,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:429,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:434,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:440,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:443,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:456,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:462,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:467,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:473,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:475,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 1
    argNames:
    - dag
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 476
    functionName: schtBuildInsertDag
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesMakeNode
    - addEpIntoEpSet
    - nodesListAppend
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void schtBuildInsertDag(SQueryPlan *dag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - subplan
    - str
    - len
    argTypes:
    - SSubplan*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: schtPlanToString
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t schtPlanToString(const SSubplan *subplan, char **str, int32_t
      *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - subplan
    - groupId
    - ep
    argTypes:
    - SSubplan*
    - uint64_t
    - SQueryNodeAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: schtExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t schtExecNode(SSubplan *subplan, uint64_t groupId, SQueryNodeAddr
      *ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRid
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: schtRpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schtRpcSendRequest(void *shandle, const SEpSet *pEpSet, SRpcMsg
      *pMsg, int64_t *pRid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:493,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:496,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:498,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:503,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 509
    functionName: schtSetPlanToString
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void schtSetPlanToString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:513,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:516,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:518,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:523,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 529
    functionName: schtSetExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void schtSetExecNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:533,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:536,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:538,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:543,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 549
    functionName: schtSetRpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void schtSetRpcSendRequest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:554,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:555,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - pTransporter
    - epSet
    - pTransporterId
    - pInfo
    - persistHandle
    - rpcCtx
    argTypes:
    - void*
    - SEpSet*
    - int64_t*
    - SMsgSendInfo*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 559
    functionName: schtAsyncSendMsgToServer
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: "int32_t schtAsyncSendMsgToServer(void *pTransporter, SEpSet *epSet,
      int64_t *pTransporterId, SMsgSendInfo *pInfo,\n                                 bool
      persistHandle, void *rpcCtx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:563,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:566,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:568,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:573,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 579
    functionName: schtSetAsyncSendMsgToServer
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void schtSetAsyncSendMsgToServer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:592,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:595,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:600,1
    - Dst: schtBuildSubmitRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:606,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:610,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:612,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 620
    functionName: schtSendRsp
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - schReleaseJob
    - schtBuildSubmitRspMsg
    - schHandleResponseMsg
    - taosMsleep
    - schAcquireJob
    linkageType: ''
    returnType: void
    signature: void *schtSendRsp(void *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:626,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:631,1
    - Dst: schtBuildFetchRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:636,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:640,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:642,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 646
    functionName: schtCreateFetchRspThread
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - schReleaseJob
    - schtBuildFetchRspMsg
    - schHandleResponseMsg
    - TD_ALWAYS_ASSERT
    - schAcquireJob
    - taosSsleep
    linkageType: ''
    returnType: void
    signature: void *schtCreateFetchRspThread(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:653,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:657,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:659,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:667,1
    - Dst: schHandleCallback
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:678,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - aa
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 683
    functionName: schtFetchRspThread
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosUsleep
    - schHandleCallback
    - taosMemoryCalloc
    - atomic_val_compare_exchange_32
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *schtFetchRspThread(void *aa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:689,1
    - Dst: schedulerFreeJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:690,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - freeThread
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 697
    functionName: schtFreeQueryJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - atomic_val_compare_exchange_64
    - schedulerFreeJob
    linkageType: ''
    returnType: void
    signature: void schtFreeQueryJob(int32_t freeThread)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:706,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:707,1
    - Dst: schtInitLogFile
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:708,1
    - Dst: schedulerInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:710,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:711,1
    - Dst: schtSetPlanToString
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:713,1
    - Dst: schtSetExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:714,1
    - Dst: schtSetAsyncSendMsgToServer
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:715,1
    - Dst: schtBuildQueryDag
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:724,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:726,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:728,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:733,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:735,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:736,1
    - Dst: schedulerExecJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:752,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:753,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:756,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:759,1
    - Dst: schtFreeQueryDag
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:760,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:764,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:764,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:766,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:768,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:773,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:774,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:776,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:779,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:781,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:786,1
    - Dst: schtBuildQueryRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:794,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:795,1
    - Dst: schHandleCallback
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:800,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:801,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:803,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:806,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:808,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:813,1
    - Dst: schtBuildQueryRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:820,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:821,1
    - Dst: schHandleCallback
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:826,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:827,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:829,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:837,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:840,1
    - Dst: schedulerFetchRows
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:846,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:847,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:851,1
    - Dst: schedulerFetchRows
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:855,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:856,1
    - Dst: schtFreeQueryJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:858,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:860,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:861,1
    - Dst: schtFreeQueryDag
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:863,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:866,1
    - Dst: schedulerDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:872,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 112
    argCount: 1
    argNames:
    - aa
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 875
    functionName: schtRunJobThread
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TAOS_STRCPY
    - schedulerExecJob
    - schtFreeQueryJob
    - taosUsleep
    - schtFreeQueryDag
    - taosArrayDestroy
    - schtSetAsyncSendMsgToServer
    - schedulerDestroy
    - taosHashInit
    - schedulerInit
    - taosGetDefaultHashFunction
    - schedulerFetchRows
    - taosMemoryCalloc
    - schtSetExecNode
    - schtBuildQueryDag
    - nodesMakeNode
    - printf
    - schHandleCallback
    - schtBuildQueryRspMsg
    - atomic_store_32
    - schAcquireJob
    - TD_ALWAYS_ASSERT
    - taosHashIterate
    - schtInitLogFile
    - schtSetPlanToString
    - taosHashCleanup
    - taosArrayInit
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void *schtRunJobThread(void *aa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:879,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:879,1
    - Dst: schtFreeQueryJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - aa
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 883
    functionName: schtFreeJobThread
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - schtFreeQueryJob
    - taosUsleep
    - taosRand
    linkageType: ''
    returnType: void
    signature: void *schtFreeJobThread(void *aa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:96,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:98,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: schtInitLogFile
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached:
    - printf
    - TAOS_STRCPY
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: void schtInitLogFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pResult
    - param
    - code
    argTypes:
    - SExecResult*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: schtQueryCb
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schtQueryCb(SExecResult *pResult, void *param, int32_t code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSQueryTableRsp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:111,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:113,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:117,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:119,1
    - Dst: tSerializeSQueryTableRsp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - msize
    - rspMsg
    argTypes:
    - uint32_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 132
    functionName: schtBuildQueryRspMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached:
    - qError
    - taosMemoryCalloc
    - tSerializeSQueryTableRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t schtBuildQueryRspMsg(uint32_t *msize, void **rspMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - msize
    - rspMsg
    argTypes:
    - uint32_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: schtBuildFetchRspMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t schtBuildFetchRspMsg(uint32_t *msize, void **rspMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:151,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:152,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:156,1
    - Dst: tEncodeSSubmitRsp2
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:157,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - msize
    - rspMsg
    argTypes:
    - uint32_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 166
    functionName: schtBuildSubmitRspMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached:
    - tEncodeSize
    - tEncoderClear
    - tEncodeSSubmitRsp2
    - tEncoderInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t schtBuildSubmitRspMsg(uint32_t *msize, void **rspMsg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:174,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:179,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:184,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:190,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:195,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:207,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:212,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:217,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:222,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:235,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:241,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:246,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:252,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:257,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:263,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:264,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:266,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:267,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:269,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 85
    argCount: 1
    argNames:
    - dag
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 271
    functionName: schtBuildQueryDag
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    - nodesMakeList
    - addEpIntoEpSet
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void schtBuildQueryDag(SQueryPlan *dag)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:280,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:285,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:290,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:296,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:302,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:307,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:313,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:317,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:324,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:335,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:336,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:337,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:338,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:339,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:344,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:349,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:354,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:359,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:360,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:362,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:374,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:380,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:382,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:383,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 91
    argCount: 1
    argNames:
    - dag
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 384
    functionName: schtBuildQueryFlowCtrlDag
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - taosRand
    - nodesMakeNode
    - addEpIntoEpSet
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void schtBuildQueryFlowCtrlDag(SQueryPlan *dag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dag
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: schtFreeQueryDag
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schtFreeQueryDag(SQueryPlan *dag)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:394,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:399,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:404,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:410,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:423,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:429,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:434,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:440,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:443,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:456,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:462,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:467,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:473,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:475,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 1
    argNames:
    - dag
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 476
    functionName: schtBuildInsertDag
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesMakeNode
    - addEpIntoEpSet
    - nodesListAppend
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void schtBuildInsertDag(SQueryPlan *dag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - subplan
    - str
    - len
    argTypes:
    - SSubplan*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: schtPlanToString
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t schtPlanToString(const SSubplan *subplan, char **str, int32_t
      *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - subplan
    - groupId
    - ep
    argTypes:
    - SSubplan*
    - uint64_t
    - SQueryNodeAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: schtExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t schtExecNode(SSubplan *subplan, uint64_t groupId, SQueryNodeAddr
      *ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRid
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: schtRpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schtRpcSendRequest(void *shandle, const SEpSet *pEpSet, SRpcMsg
      *pMsg, int64_t *pRid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:493,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:496,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:498,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:503,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 509
    functionName: schtSetPlanToString
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void schtSetPlanToString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:513,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:516,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:518,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:523,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 529
    functionName: schtSetExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void schtSetExecNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:533,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:536,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:538,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:543,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 549
    functionName: schtSetRpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void schtSetRpcSendRequest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:554,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:555,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - pTransporter
    - epSet
    - pTransporterId
    - pInfo
    - persistHandle
    - rpcCtx
    argTypes:
    - void*
    - SEpSet*
    - int64_t*
    - SMsgSendInfo*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 559
    functionName: schtAsyncSendMsgToServer
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: "int32_t schtAsyncSendMsgToServer(void *pTransporter, SEpSet *epSet,
      int64_t *pTransporterId, SMsgSendInfo *pInfo,\n                                 bool
      persistHandle, void *rpcCtx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:563,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:566,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:568,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:573,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 579
    functionName: schtSetAsyncSendMsgToServer
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void schtSetAsyncSendMsgToServer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:592,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:595,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:600,1
    - Dst: schtBuildSubmitRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:606,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:610,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:612,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 620
    functionName: schtSendRsp
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - schReleaseJob
    - schtBuildSubmitRspMsg
    - schHandleResponseMsg
    - taosMsleep
    - schAcquireJob
    linkageType: ''
    returnType: void
    signature: void *schtSendRsp(void *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:626,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:631,1
    - Dst: schtBuildFetchRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:636,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:640,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:642,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 646
    functionName: schtCreateFetchRspThread
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - schReleaseJob
    - schtBuildFetchRspMsg
    - schHandleResponseMsg
    - TD_ALWAYS_ASSERT
    - schAcquireJob
    - taosSsleep
    linkageType: ''
    returnType: void
    signature: void *schtCreateFetchRspThread(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:653,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:657,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:659,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:667,1
    - Dst: schHandleCallback
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:678,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - aa
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 683
    functionName: schtFetchRspThread
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosUsleep
    - schHandleCallback
    - taosMemoryCalloc
    - atomic_val_compare_exchange_32
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *schtFetchRspThread(void *aa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:689,1
    - Dst: schedulerFreeJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:690,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - freeThread
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 697
    functionName: schtFreeQueryJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 2
    functionsReached:
    - printf
    - atomic_val_compare_exchange_64
    - schedulerFreeJob
    linkageType: ''
    returnType: void
    signature: void schtFreeQueryJob(int32_t freeThread)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:706,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:707,1
    - Dst: schtInitLogFile
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:708,1
    - Dst: schedulerInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:710,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:711,1
    - Dst: schtSetPlanToString
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:713,1
    - Dst: schtSetExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:714,1
    - Dst: schtSetAsyncSendMsgToServer
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:715,1
    - Dst: schtBuildQueryDag
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:724,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:726,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:728,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:733,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:735,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:736,1
    - Dst: schedulerExecJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:752,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:753,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:756,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:759,1
    - Dst: schtFreeQueryDag
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:760,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:764,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:764,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:766,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:768,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:773,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:774,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:776,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:779,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:781,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:786,1
    - Dst: schtBuildQueryRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:794,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:795,1
    - Dst: schHandleCallback
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:800,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:801,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:803,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:806,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:808,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:813,1
    - Dst: schtBuildQueryRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:820,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:821,1
    - Dst: schHandleCallback
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:826,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:827,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:829,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:837,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:840,1
    - Dst: schedulerFetchRows
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:846,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:847,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:851,1
    - Dst: schedulerFetchRows
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:855,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:856,1
    - Dst: schtFreeQueryJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:858,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:860,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:861,1
    - Dst: schtFreeQueryDag
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:863,1
    - Dst: printf
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:866,1
    - Dst: schedulerDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:872,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 112
    argCount: 1
    argNames:
    - aa
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 875
    functionName: schtRunJobThread
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TAOS_STRCPY
    - schedulerExecJob
    - schtFreeQueryJob
    - taosUsleep
    - schtFreeQueryDag
    - taosArrayDestroy
    - schtSetAsyncSendMsgToServer
    - schedulerDestroy
    - taosHashInit
    - schedulerInit
    - taosGetDefaultHashFunction
    - schedulerFetchRows
    - taosMemoryCalloc
    - schtSetExecNode
    - schtBuildQueryDag
    - nodesMakeNode
    - printf
    - schHandleCallback
    - schtBuildQueryRspMsg
    - atomic_store_32
    - schAcquireJob
    - TD_ALWAYS_ASSERT
    - taosHashIterate
    - schtInitLogFile
    - schtSetPlanToString
    - taosHashCleanup
    - taosArrayInit
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void *schtRunJobThread(void *aa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:879,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:879,1
    - Dst: schtFreeQueryJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - aa
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 883
    functionName: schtFreeJobThread
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - schtFreeQueryJob
    - taosUsleep
    - taosRand
    linkageType: ''
    returnType: void
    signature: void *schtFreeJobThread(void *aa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:895,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:896,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:898,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:902,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:904,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:904,1
    - Dst: schedulerInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:906,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:907,1
    - Dst: schtBuildQueryDag
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:909,1
    - Dst: schtSetPlanToString
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:911,1
    - Dst: schtSetExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:912,1
    - Dst: schtSetAsyncSendMsgToServer
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:913,1
    - Dst: schedulerExecJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:927,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:928,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:931,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:932,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:934,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:940,1
    - Dst: schtBuildQueryRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:940,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:944,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:946,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:947,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:950,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:956,1
    - Dst: schtBuildQueryRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:956,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:960,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:962,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:965,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:973,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:977,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:977,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:980,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:980,1
    - Dst: schedulerFetchRows
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:986,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:987,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:990,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:991,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:992,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:994,1
    - Dst: schedulerDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:996,1
    - Dst: schedulerFreeJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:998,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1000,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 1003
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - schedulerExecJob
    - taosUsleep
    - schedulerFreeJob
    - ASSERT_EQ
    - taosThreadJoin
    - schtSetAsyncSendMsgToServer
    - schedulerDestroy
    - schedulerInit
    - schedulerFetchRows
    - taosThreadAttrInit
    - schtSetExecNode
    - schtBuildQueryDag
    - schReleaseJob
    - ASSERT_NE
    - nodesMakeNode
    - schtBuildQueryRspMsg
    - taosThreadCreate
    - schAcquireJob
    - taosHashIterate
    - schHandleResponseMsg
    - schtSetPlanToString
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void TEST(queryTest, normalCase)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1013,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1014,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1016,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1020,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1022,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1022,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1024,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1025,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1025,1
    - Dst: schedulerInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1027,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1028,1
    - Dst: schtBuildQueryDag
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1030,1
    - Dst: schtSetPlanToString
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1032,1
    - Dst: schtSetExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1033,1
    - Dst: schtSetAsyncSendMsgToServer
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1034,1
    - Dst: schedulerExecJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1048,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1049,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1052,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1053,1
    - Dst: schedulerEnableReSchedule
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1055,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1057,1
    - Dst: schRescheduleTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1062,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1063,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1066,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1069,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1075,1
    - Dst: schtBuildQueryRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1075,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1079,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1081,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1082,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1086,1
    - Dst: schRescheduleTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1091,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1092,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1095,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1098,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1104,1
    - Dst: schtBuildQueryRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1104,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1108,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1110,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1113,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1121,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1125,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1125,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1128,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1128,1
    - Dst: schedulerFetchRows
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1134,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1135,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1138,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1139,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1140,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1142,1
    - Dst: schedulerDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1144,1
    - Dst: schedulerFreeJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1146,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1151
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - schedulerExecJob
    - taosUsleep
    - schedulerFreeJob
    - ASSERT_EQ
    - schedulerEnableReSchedule
    - taosThreadJoin
    - schtSetAsyncSendMsgToServer
    - schedulerDestroy
    - schedulerInit
    - schedulerFetchRows
    - schRescheduleTask
    - taosThreadAttrInit
    - schtSetExecNode
    - schtBuildQueryDag
    - schReleaseJob
    - ASSERT_NE
    - nodesMakeNode
    - schtBuildQueryRspMsg
    - taosThreadCreate
    - schAcquireJob
    - taosHashIterate
    - schHandleResponseMsg
    - schtSetPlanToString
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void TEST(queryTest, rescheduleCase)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1162,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1163,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1165,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1169,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1171,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1171,1
    - Dst: schedulerInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1173,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1174,1
    - Dst: schtBuildQueryDag
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1176,1
    - Dst: schtSetPlanToString
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1178,1
    - Dst: schtSetExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1179,1
    - Dst: schtSetAsyncSendMsgToServer
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1180,1
    - Dst: schedulerExecJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1193,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1194,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1197,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1198,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1200,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1206,1
    - Dst: schtBuildQueryRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1206,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1210,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1212,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1213,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1216,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1223,1
    - Dst: schtBuildQueryRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1223,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1227,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1229,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1232,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1240,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1244,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1244,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1247,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1247,1
    - Dst: schedulerFetchRows
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1252,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1253,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1256,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1257,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1258,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1260,1
    - Dst: schedulerDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1262,1
    - Dst: schedulerFreeJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1264,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1268
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - schedulerExecJob
    - taosUsleep
    - schedulerFreeJob
    - ASSERT_EQ
    - taosThreadJoin
    - schtSetAsyncSendMsgToServer
    - schedulerDestroy
    - schedulerInit
    - schedulerFetchRows
    - taosThreadAttrInit
    - schtSetExecNode
    - schtBuildQueryDag
    - schReleaseJob
    - ASSERT_NE
    - nodesMakeNode
    - schtBuildQueryRspMsg
    - taosThreadCreate
    - schAcquireJob
    - taosHashIterate
    - schHandleResponseMsg
    - schtSetPlanToString
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void TEST(queryTest, readyFirstCase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1278,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1279,1
    - Dst: schtInitLogFile
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1281,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1283,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1283,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1285,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1289,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1291,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1291,1
    - Dst: schedulerInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1293,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1294,1
    - Dst: schtBuildQueryFlowCtrlDag
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1296,1
    - Dst: schtSetPlanToString
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1298,1
    - Dst: schtSetExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1299,1
    - Dst: schtSetAsyncSendMsgToServer
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1300,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1302,1
    - Dst: initTaskQueue
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1302,1
    - Dst: schedulerExecJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1315,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1316,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1319,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1320,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1323,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1330,1
    - Dst: schtBuildQueryRspMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1330,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1334,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1336,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1339,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1344,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1344,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1347,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1347,1
    - Dst: schedulerFetchRows
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1352,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1353,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1356,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1357,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1358,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1360,1
    - Dst: schedulerDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1362,1
    - Dst: schedulerFreeJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1364,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1366,1
    - Dst: cleanupTaskQueue
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1370
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - schedulerExecJob
    - schedulerFreeJob
    - ASSERT_EQ
    - taosThreadJoin
    - schtSetAsyncSendMsgToServer
    - schedulerDestroy
    - schtBuildQueryFlowCtrlDag
    - schedulerInit
    - taosGetTimestampSec
    - schedulerFetchRows
    - taosThreadAttrInit
    - schtSetExecNode
    - schReleaseJob
    - taosSeedRand
    - ASSERT_NE
    - nodesMakeNode
    - initTaskQueue
    - schtBuildQueryRspMsg
    - taosThreadCreate
    - schAcquireJob
    - taosHashIterate
    - schtInitLogFile
    - cleanupTaskQueue
    - schHandleResponseMsg
    - schtSetPlanToString
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void TEST(queryTest, flowCtrlCase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1379,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1380,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1383,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1387,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1389,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1389,1
    - Dst: schedulerInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1391,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1392,1
    - Dst: schtBuildInsertDag
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1394,1
    - Dst: schtSetPlanToString
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1396,1
    - Dst: schtSetAsyncSendMsgToServer
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1397,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1400,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1400,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1405,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1405,1
    - Dst: schedulerExecJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1418,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1419,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1426,1
    - Dst: schedulerFreeJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1429,1
    - Dst: schedulerDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1431,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1372
    functionDepth: 2
    functionLinenumber: 1372
    functionLinenumberEnd: 1435
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - schtSetAsyncSendMsgToServer
    - TAOS_STRCPY
    - schedulerDestroy
    - schedulerExecJob
    - taosUsleep
    - ASSERT_NE
    - schedulerFreeJob
    - schtSetPlanToString
    - nodesMakeNode
    - ASSERT_EQ
    - schedulerInit
    - schtBuildInsertDag
    - taosArrayInit
    - taosThreadCreate
    - taosThreadJoin
    - taosThreadAttrInit
    linkageType: ''
    returnType: void
    signature: void TEST(insertTest, normalCase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1439,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1439,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1442,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1442,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1444,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1444,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1448,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1459
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosThreadCreate
    - ASSERT_EQ
    - taosSsleep
    - taosThreadAttrInit
    linkageType: ''
    returnType: void
    signature: void TEST(multiThread, forceFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1463,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1464,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1467,1
    - Dst: schDumpEpSet
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1468,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1468,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1468,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1469,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1469,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1469,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1473,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1474,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1475,1
    - Dst: schHandleNotifyCallback
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1475,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1478,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1479,1
    - Dst: schHandleLinkBrokenCallback
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1480,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1482,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1483,1
    - Dst: schHandleLinkBrokenCallback
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1487
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - schReleaseJob
    - schFreeRpcCtx
    - schGetOpStr
    - ASSERT_EQ
    - schHandleNotifyCallback
    - schHandleLinkBrokenCallback
    - schDumpEpSet
    - strcmp
    linkageType: ''
    returnType: void
    signature: void TEST(otherTest, function)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1492,1
    - Dst: schValidateRspMsgType
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1496,1
    - Dst: schValidateRspMsgType
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1499,1
    - Dst: schValidateRspMsgType
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1501,1
    - Dst: schValidateRspMsgType
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1503,1
    - Dst: schValidateRspMsgType
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1506,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1508,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1509,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1512,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1512,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1518,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1521,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1523,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1526,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1528,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1532,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1535,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1537,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1542,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1545,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1547,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1552,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1555,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1560,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1562,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1566,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1570,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1574,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1576,1
    - Dst: schHandleHbCallback
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1577,1
    - Dst: schGetCallbackFp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1580,1
    - Dst: schGetCallbackFp
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1581,1
    - Dst: schBuildAndSendHbMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1584,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1586,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1590,1
    - Dst: schInitTaskRetryInfo
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1594,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1597,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1598,1
    - Dst: schRecordTaskSucceedNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1600,1
    - Dst: schDropTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1602,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1604,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1604,1
    - Dst: schDropTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1605,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1609,1
    - Dst: schDropTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1610,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1612,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1616,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1620,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1624,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1625,1
    - Dst: schChkUpdateRedirectCtx
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1630,1
    - Dst: schPushTaskToExecList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1633,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1635,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1635,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1636,1
    - Dst: schPushTaskToExecList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1637,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1638,1
    - Dst: schTaskCheckSetRetry
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1645,1
    - Dst: schTaskCheckSetRetry
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1651,1
    - Dst: schTaskCheckSetRetry
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1659,1
    - Dst: schSetAddrsFromNodeList
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1661,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1663,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1666,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1668,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1669,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1672,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1675,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1676,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1678,1
    - Dst: schDropTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1681,1
    - Dst: schNotifyTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1683,1
    - Dst: schLaunchRemoteTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1685,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1687,1
    - Dst: schLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1689,1
    - Dst: schLaunchTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1696,1
    - Dst: schHandleTimerEvent
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1703,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1705,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1705,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1708,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1710,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1714,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1722,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1724,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1725,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1726,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1728,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1732,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1732,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1735,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1736,1
    - Dst: schFreeFlowCtrl
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 177
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1742
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - schChkUpdateRedirectCtx
    - schLaunchFetchTask
    - memset
    - schTaskCheckSetRetry
    - taosArrayDestroy
    - schHandleTimerEvent
    - schDropTaskOnExecNode
    - schLaunchRemoteTask
    - schBuildAndSendHbMsg
    - schLaunchTask
    - taosHashInit
    - schSwitchTaskCandidateAddr
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - schInitTaskRetryInfo
    - schSetAddrsFromNodeList
    - schValidateRspMsgType
    - schFreeFlowCtrl
    - schRecordTaskSucceedNode
    - schDelayLaunchTask
    - schBuildAndSendMsg
    - schGetCallbackFp
    - schDropTaskExecNode
    - taosMemoryMalloc
    - schLaunchTaskImpl
    - schProcessOnTaskFailure
    - schProcessFetchRsp
    - taosHashCleanup
    - taosArrayInit
    - schPushTaskToExecList
    - schProcessResponseMsg
    - schHandleHbCallback
    - taosHashPut
    - schNotifyTaskOnExecNode
    linkageType: ''
    returnType: void
    signature: void TEST(otherTest, branch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1759
    functionName: schtReset
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schtReset()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: schtInitLogFile
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1762,1
    - Dst: rpcInit
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1763,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1764,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1766,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1766,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1767,1
    - Dst: schtReset
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1771,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp:1772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1761
    functionDepth: 3
    functionLinenumber: 1761
    functionLinenumberEnd: 1779
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/scheduler/test/schedulerTests.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - schtInitLogFile
    - taosSeedRand
    - schtReset
    - rpcInit
    - taosGetTimestampSec
    - RUN_ALL_TESTS
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: SCH_GET_TASK_CAPACITY
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_GET_TASK_CAPACITY(_n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _job
    - ','
    - _phase
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: SCH_SET_JOB_PHASE
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_SET_JOB_PHASE(_job, _phase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _job
    - ','
    - _newPhase
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: SCH_UPDATE_JOB_PHASE_IF_CHANGED
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_UPDATE_JOB_PHASE_IF_CHANGED(_job, _newPhase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: SCH_GET_JOB_PHASE
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_GET_JOB_PHASE(_job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: SCH_GET_JOB_PHASE_START_TIME
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_GET_JOB_PHASE_START_TIME(_job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: SCH_TASK_TIMEOUT
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_TIMEOUT(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - readyNum
    - ','
    - task
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: SCH_TASK_READY_FOR_LAUNCH
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_READY_FOR_LAUNCH(readyNum, task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: SCH_LOCK_TASK
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_LOCK_TASK(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    functionName: SCH_UNLOCK_TASK
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_UNLOCK_TASK(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: SCH_CLIENT_ID
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_CLIENT_ID(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: SCH_TASK_ID
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_ID(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: SCH_TASK_EID
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_EID(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: SCH_IS_DATA_BIND_QRY_TASK
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_DATA_BIND_QRY_TASK(task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _plan
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: SCH_IS_DATA_BIND_PLAN
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_DATA_BIND_PLAN(_plan)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 381
    functionName: SCH_IS_DATA_BIND_TASK
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_DATA_BIND_TASK(task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _job
    - ','
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: SCH_IS_LEAF_TASK
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_LEAF_TASK(_job, _task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: SCH_IS_DATA_MERGE_TASK
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_DATA_MERGE_TASK(task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _job
    - ','
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: SCH_IS_LOCAL_EXEC_TASK
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_LOCAL_EXEC_TASK(_job, _task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    functionName: SCH_IS_ROOT_TASK
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_ROOT_TASK(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 389
    functionName: SCH_IS_PARENT_JOB
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_PARENT_JOB(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: SCH_IS_SUBQ_JOB
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_SUBQ_JOB(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 391
    functionName: SCH_JOB_GOT_SUB_JOBS
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_GOT_SUB_JOBS(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - job
    - ','
    - dn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: SCH_SUB_JOBS_EXEC_FINISHED
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_SUB_JOBS_EXEC_FINISHED(job, dn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - job
    - ','
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: SCH_UPDATE_REDIRECT_CODE
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_UPDATE_REDIRECT_CODE(job, _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - job
    - ','
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: SCH_GET_REDIRECT_CODE
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_GET_REDIRECT_CODE(job, _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - task
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: SCH_SET_TASK_STATUS
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_SET_TASK_STATUS(task, st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: SCH_GET_TASK_STATUS
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_GET_TASK_STATUS(task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: SCH_GET_TASK_STATUS_STR
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_GET_TASK_STATUS_STR(task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: SCH_TASK_ALREADY_LAUNCHED
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_ALREADY_LAUNCHED(task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    functionName: SCH_TASK_EXEC_DONE
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_EXEC_DONE(task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    functionName: SCH_GET_TASK_HANDLE
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_GET_TASK_HANDLE(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _task
    - ','
    - _handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: SCH_SET_TASK_HANDLE
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_SET_TASK_HANDLE(_task, _handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - job
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: SCH_SET_JOB_STATUS
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_SET_JOB_STATUS(job, st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    functionName: SCH_GET_JOB_STATUS
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_GET_JOB_STATUS(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: SCH_GET_JOB_STATUS_STR
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_GET_JOB_STATUS_STR(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    functionName: SCH_JOB_EXPLAIN_CTX
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_EXPLAIN_CTX(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    functionName: SCH_PARENT_JOB
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_PARENT_JOB(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 415
    functionName: SCH_JOB_IN_SYNC_OP
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_IN_SYNC_OP(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: SCH_JOB_IN_ASYNC_EXEC_OP
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_IN_ASYNC_EXEC_OP(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: SCH_JOB_IN_ASYNC_FETCH_OP
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_IN_ASYNC_FETCH_OP(job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 423
    functionName: SCH_SET_JOB_NEED_FLOW_CTRL
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_SET_JOB_NEED_FLOW_CTRL(_job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    functionName: SCH_JOB_NEED_FLOW_CTRL
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_NEED_FLOW_CTRL(_job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _job
    - ','
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: SCH_TASK_NEED_FLOW_CTRL
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_NEED_FLOW_CTRL(_job, _task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _pSrcTask
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 427
    functionName: SCH_FETCH_TYPE
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_FETCH_TYPE(_pSrcTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 428
    functionName: SCH_TASK_NEED_FETCH
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_NEED_FETCH(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 429
    functionName: SCH_MULTI_LEVEL_LAUNCHED
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_MULTI_LEVEL_LAUNCHED(_job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 433
    functionName: SCH_IS_QUERY_JOB
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_QUERY_JOB(_job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: SCH_IS_INSERT_JOB
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_INSERT_JOB(_job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    functionName: SCH_JOB_NEED_FETCH
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_NEED_FETCH(_job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: SCH_JOB_NEED_WAIT
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_NEED_WAIT(_job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    functionName: SCH_JOB_NEED_DROP
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_NEED_DROP(_job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: SCH_IS_EXPLAIN_JOB
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_EXPLAIN_JOB(_job)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: SCH_NETWORK_ERR
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_NETWORK_ERR(_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _msgType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: SCH_REDIRECT_MSGTYPE
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_REDIRECT_MSGTYPE(_msgType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _job
    - ','
    - _task
    - ','
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: SCH_LOW_LEVEL_NETWORK_ERR
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_LOW_LEVEL_NETWORK_ERR(_job, _task, _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _job
    - ','
    - _task
    - ','
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: SCH_TOP_LEVEL_NETWORK_ERR
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TOP_LEVEL_NETWORK_ERR(_job, _task, _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _task
    - ','
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: SCH_TASK_RETRY_NETWORK_ERR
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_RETRY_NETWORK_ERR(_task, _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _job
    - ','
    - _task
    - ','
    - _msgType
    - ','
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: SCH_JOB_NEED_RETRY
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_NEED_RETRY(_job, _task, _msgType, _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _job
    - ','
    - _task
    - ','
    - _msgType
    - ','
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: SCH_JOB_NEED_RETRY
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_NEED_RETRY(_job, _task, _msgType, _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _job
    - ','
    - _task
    - ','
    - _msgType
    - ','
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: SCH_TASKSET_NEED_RETRY
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASKSET_NEED_RETRY(_job, _task, _msgType, _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _msgType
    - ','
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: SCH_TASK_NEED_RETRY
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_NEED_RETRY(_msgType, _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _job
    - ','
    - _task
    - ','
    - _msgType
    - ','
    - _code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 467
    functionName: SCH_DATA_BIND_TASK_NEED_RETRY
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_DATA_BIND_TASK_NEED_RETRY(_job, _task, _msgType, _code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _level
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    functionName: SCH_IS_LEVEL_UNFINISHED
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_IS_LEVEL_UNFINISHED(_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: SCH_GET_CUR_EP
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_GET_CUR_EP(_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 471
    functionName: SCH_SWITCH_EPSET
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_SWITCH_EPSET(_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 472
    functionName: SCH_TASK_NUM_OF_EPS
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_NUM_OF_EPS(_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 483
    functionName: SCH_LOG_TASK_START_TS
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_LOG_TASK_START_TS(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: SCH_LOG_TASK_WAIT_TS
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_LOG_TASK_WAIT_TS(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 503
    functionName: SCH_LOG_TASK_END_TS
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_LOG_TASK_END_TS(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: SCH_JOB_ELOG
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_ELOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    functionName: SCH_JOB_DLOG
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_DLOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 507
    functionName: SCH_JOB_TLOG
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_JOB_TLOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: SCH_TASK_ELOG
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_ELOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: SCH_TASK_DLOG
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_DLOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: SCH_TASK_TLOG
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_TLOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: SCH_TASK_DLOGL
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_DLOGL(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: SCH_TASK_WLOG
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_WLOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: SCH_TASK_ILOG
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_TASK_ILOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: SCH_SET_ERRNO
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_SET_ERRNO(_err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 541
    functionName: SCH_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 549
    functionName: SCH_RET
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 557
    functionName: SCH_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_ERR_JRET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 564
    functionName: SCH_LOCK_DEBUG
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_LOCK_DEBUG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - _lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 595
    functionName: SCH_LOCK
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_LOCK(type, _lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - _lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 624
    functionName: SCH_UNLOCK
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_UNLOCK(type, _lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _job
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: SCH_RESET_JOB_LEVEL_IDX
    functionSourceFile: /src/tdengine/source/libs/scheduler/inc/schInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCH_RESET_JOB_LEVEL_IDX(_job)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:30,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:39,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:39,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:40,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:41,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:44,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:44,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:45,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:46,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:60,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:60,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:60,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:61,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:65,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:65,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:66,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:67,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:71,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:71,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:72,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 3
    argNames:
    - pJob
    - pTask
    - msgType
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: schValidateRspMsgType
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - TMSG_INFO
    - SCH_GET_TASK_STATUS
    - SCH_ERR_RET
    - SCH_TASK_ELOG
    - jobTaskStatusStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t schValidateRspMsgType(SSchJob *pJob, SSchTask *pTask, int32_t
      msgType)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:83,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:86,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:90,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:93,1
    - Dst: qExecExplainEnd
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:93,1
    - Dst: SCH_JOB_EXPLAIN_CTX
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:93,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:95,1
    - Dst: schProcessOnExplainDone
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:95,1
    - Dst: SCH_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:95,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:97,1
    - Dst: schNotifyJobAllTasks
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:97,1
    - Dst: SCH_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:97,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:100,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:105,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:105,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:107,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:113,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:114,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:117,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:118,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:118,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:121,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:124,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:124,1
    - Dst: schProcessOnDataFetched
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:127,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:131,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 4
    argNames:
    - pJob
    - pTask
    - msg
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 134
    functionName: schProcessFetchRsp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - schNotifyJobAllTasks
    - htobe64
    - taosMemoryFreeClear
    - SCH_JOB_EXPLAIN_CTX
    - SCH_ERR_RET
    - atomic_add_fetch_64
    - SCH_TASK_ELOG
    - SCH_SET_TASK_STATUS
    - SCH_ERR_JRET
    - SCH_IS_EXPLAIN_JOB
    - schProcessOnDataFetched
    - SCH_PARENT_JOB
    - schLaunchFetchTask
    - atomic_store_ptr
    - SCH_TASK_DLOG
    - SCH_RET
    - qExecExplainEnd
    - schProcessOnExplainDone
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessFetchRsp(SSchJob *pJob, SSchTask *pTask, char *msg,
      int32_t rspCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_JOB_EXPLAIN_CTX
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:138,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:139,1
    - Dst: qExplainUpdateExecInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:139,1
    - Dst: qExplainGetCurrPlan
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:139,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:142,1
    - Dst: schProcessOnExplainDone
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:142,1
    - Dst: SCH_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pJob
    - pTask
    - rsp
    argTypes:
    - SSchJob*
    - SSchTask*
    - SExplainRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: schProcessExplainRsp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - SCH_JOB_EXPLAIN_CTX
    - SCH_ERR_RET
    - qExplainUpdateExecInfo
    - qExplainGetCurrPlan
    - SCH_PARENT_JOB
    - schProcessOnExplainDone
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessExplainRsp(SSchJob *pJob, SSchTask *pTask, SExplainRsp
      *rsp)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:155,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:156,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:156,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:163,1
    - Dst: tDecodeSVCreateTbBatchRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:164,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:166,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:168,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:171,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:173,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:174,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:183,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:185,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:187,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:188,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:197,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:198,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:201,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:204,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:205,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:208,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:209,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:211,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:211,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:218,1
    - Dst: tDecodeSVDropTbBatchRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:219,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:225,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:226,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:230,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:231,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:234,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:235,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:237,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:237,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:244,1
    - Dst: tDecodeSVAlterTbRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:245,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:246,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:247,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:251,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:257,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:260,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:263,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:265,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:265,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:269,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:273,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:275,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:277,1
    - Dst: tDecodeSSubmitRsp2
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:278,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:279,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:281,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:282,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:283,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:284,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:287,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:289,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:290,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:292,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:293,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:298,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:300,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:301,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:304,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:306,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:308,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:314,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:316,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:319,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:322,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:323,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:324,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:328,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:330,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:330,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:335,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:340,1
    - Dst: tDecodeSVDeleteRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:341,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:343,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:344,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:346,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:348,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:349,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:352,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:354,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:354,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:360,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:362,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:365,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:365,1
    - Dst: SCH_IS_INSERT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:365,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:367,1
    - Dst: qExecExplainEnd
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:367,1
    - Dst: SCH_JOB_EXPLAIN_CTX
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:367,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:369,1
    - Dst: schProcessOnExplainDone
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:369,1
    - Dst: SCH_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:369,1
    - Dst: tDeserializeSQueryTableRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:374,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:375,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:379,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:381,1
    - Dst: schSaveJobExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:381,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:383,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:385,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:387,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:387,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:392,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:394,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:397,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:398,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:398,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:399,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:403,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:404,1
    - Dst: tDeserializeSExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:408,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:409,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:410,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:413,1
    - Dst: schProcessExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:413,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:415,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:420,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:422,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:427,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:428,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:432,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:433,1
    - Dst: tDeserializeSCreateTokenResp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:437,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:438,1
    - Dst: tDeserializeSCreateTotpSecretRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:443,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:444,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:448,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:448,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:449,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:456,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:458,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:458,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 242
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pMsg
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 459
    functionName: schProcessResponseMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - SCH_JOB_EXPLAIN_CTX
    - tDecodeSVDropTbBatchRsp
    - atomic_add_fetch_64
    - tDecoderClear
    - taosArrayAddAll
    - tDeserializeSExplainRsp
    - SCH_ERR_JRET
    - tDecodeSSubmitRsp2
    - SCH_TASK_DLOG
    - tDecodeSVCreateTbBatchRsp
    - qExecExplainEnd
    - taosArrayDestroy
    - tDecodeSVAlterTbRsp
    - schProcessExplainRsp
    - TMSG_INFO
    - SCH_IS_INSERT_JOB
    - taosArrayGetSize
    - SCH_GET_TASK_STATUS_STR
    - schProcessOnTaskSuccess
    - tFreeSExplainRsp
    - TSWAP
    - tDeserializeSCreateTotpSecretRsp
    - SCH_PARENT_JOB
    - tDeserializeSCreateTokenResp
    - tDeserializeSQueryTableRsp
    - SCH_RET
    - tstrerror
    - schProcessOnExplainDone
    - tDestroySSubmitRsp2
    - SCH_UNLOCK
    - taosMemoryMalloc
    - tDecodeSVDeleteRsp
    - schProcessOnTaskFailure
    - SCH_TASK_ELOG
    - SCH_LOCK
    - SCH_IS_EXPLAIN_JOB
    - schSaveJobExecRes
    - schProcessFetchRsp
    - taosMemoryFree
    - taosArrayInit
    - tDecoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessResponseMsg(SSchJob *pJob, SSchTask *pTask, SDataBuf
      *pMsg, int32_t rspCode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCH_NETWORK_ERR
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:467,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:468,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:469,1
    - Dst: schUpdateTaskHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:469,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:472,1
    - Dst: schValidateRspMsgType
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:472,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:474,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:475,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:476,1
    - Dst: IsReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:479,1
    - Dst: SCH_DATA_BIND_TASK_NEED_RETRY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:481,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:482,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:482,1
    - Dst: SCH_JOB_NEED_RETRY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:483,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:484,1
    - Dst: schHandleJobRetry
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:484,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:488,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:488,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:491,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:492,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - pJob
    - pTask
    - seriesId
    - execId
    - pMsg
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - uint64_t
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 463
    functionDepth: 3
    functionLinenumber: 463
    functionLinenumberEnd: 493
    functionName: schHandleResponseMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 8
    functionsReached:
    - schProcessResponseMsg
    - schValidateRspMsgType
    - taosMemoryFreeClear
    - schUpdateTaskHandle
    - IsReq
    - atomic_load_64
    - schProcessOnTaskFailure
    - SCH_NETWORK_ERR
    - SCH_ERR_JRET
    - schHandleJobRetry
    - SCH_TASK_DLOG
    - SCH_RET
    - SCH_IS_QUERY_JOB
    - SCH_DATA_BIND_TASK_NEED_RETRY
    - SCH_JOB_NEED_RETRY
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleResponseMsg(SSchJob *pJob, SSchTask *pTask, uint64_t
      seriesId, int32_t execId, SDataBuf *pMsg, int32_t rspCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:502,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:502,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:503,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:505,1
    - Dst: schProcessOnCbBegin
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:505,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:506,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:509,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:513,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:514,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:516,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:516,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:517,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - param
    - pMsg
    - rspCode
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 495
    functionDepth: 4
    functionLinenumber: 495
    functionLinenumberEnd: 520
    functionName: schHandleCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 4
    functionsReached:
    - schProcessOnCbBegin
    - TMSG_INFO
    - taosMemoryFreeClear
    - qTrace
    - schProcessOnCbEnd
    - schHandleResponseMsg
    - SCH_ERR_JRET
    - qDebug
    - SCH_RET
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleCallback(void *param, SDataBuf *pMsg, int32_t rspCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:524,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:528,1
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:530,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:535,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 539
    functionName: schHandleDropCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - qDebug
    - qError
    - taosMemoryFree
    - rpcReleaseHandle
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleDropCallback(void *param, SDataBuf *pMsg, int32_t
      code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:543,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:546,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 550
    functionName: schHandleNotifyCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - qDebug
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleNotifyCallback(void *param, SDataBuf *pMsg, int32_t
      code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:555,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:556,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:560,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:561,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:565,1
    - Dst: schUpdateHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:565,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:567,1
    - Dst: schBuildAndSendHbMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:567,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:569,1
    - Dst: schHandleCallback
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 553
    functionDepth: 5
    functionLinenumber: 553
    functionLinenumberEnd: 573
    functionName: schHandleLinkBrokenCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - SCH_ERR_RET
    - schBuildAndSendHbMsg
    - schUpdateHbConnection
    - qDebug
    - schHandleCallback
    - rpcReleaseHandle
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleLinkBrokenCallback(void *param, SDataBuf *pMsg, int32_t
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schHandleCallback
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 5
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: schHandleCommitCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - schHandleCallback
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleCommitCallback(void *param, SDataBuf *pMsg, int32_t
      code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:584,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:584,1
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:585,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:587,1
    - Dst: tDeserializeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:590,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:591,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:592,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:600,1
    - Dst: schUpdateHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:600,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:601,1
    - Dst: schProcessOnTaskStatusRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:601,1
    - Dst: tFreeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:605,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:606,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:607,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 609
    functionName: schHandleHbCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - schProcessOnTaskStatusRsp
    - qError
    - schUpdateHbConnection
    - SCH_ERR_JRET
    - taosMemoryFree
    - SCH_RET
    - tDeserializeSSchedulerHbRsp
    - tstrerror
    - tFreeSSchedulerHbRsp
    - rpcReleaseHandle
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleHbCallback(void *param, SDataBuf *pMsg, int32_t code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:616,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:618,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:619,1
    - Dst: SCH_CLIENT_ID
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:625,1
    - Dst: SCH_TASK_ID
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:626,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:636,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:638,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:639,1
    - Dst: schGetTaskCurrentNodeAddr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:644,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:646,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:647,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:651,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:652,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:661,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:663,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 6
    argNames:
    - pJob
    - pTask
    - msgType
    - isHb
    - trans
    - pParam
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    - bool
    - SSchTrans*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 672
    functionName: schMakeCallbackParam
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - SCH_ERR_RET
    - qError
    - SCH_CLIENT_ID
    - SCH_TASK_ID
    - SCH_TASK_ELOG
    - tstrncpy
    - taosMemoryFree
    - SCH_GET_CUR_EP
    - schGetTaskCurrentNodeAddr
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t schMakeCallbackParam(SSchJob *pJob, SSchTask *pTask, int32_t
      msgType, bool isHb, SSchTrans *trans,\n                             void **pParam)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:677,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:679,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:680,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:684,1
    - Dst: schMakeCallbackParam
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:684,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:686,1
    - Dst: schGetCallbackFp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:686,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:692,1
    - Dst: taosGetSystemUUIDU64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:692,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:695,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:711,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:714,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 8
    argNames:
    - pJob
    - pTask
    - msg
    - msgSize
    - msgType
    - trans
    - isHb
    - pMsgSendInfo
    argTypes:
    - SSchJob*
    - SSchTask*
    - void*
    - uint32_t
    - int32_t
    - SSchTrans*
    - bool
    - SMsgSendInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 717
    functionName: schGenerateCallBackInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - taosGetSystemUUIDU64
    - schMakeCallbackParam
    - qError
    - SCH_ERR_JRET
    - qDebug
    - schGetCallbackFp
    - taosMemoryFree
    - destroySendMsgInfo
    - SCH_RET
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t schGenerateCallBackInfo(SSchJob *pJob, SSchTask *pTask, void
      *msg, uint32_t msgSize, int32_t msgType,\n                                SSchTrans
      *trans, bool isHb, SMsgSendInfo **pMsgSendInfo)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:749,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:750,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - msgType
    - fp
    argTypes:
    - int32_t
    - __async_send_cb_fn_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 754
    functionName: schGetCallbackFp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 2
    functionsReached:
    - SCH_ERR_RET
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t schGetCallbackFp(int32_t msgType, __async_send_cb_fn_t *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:782,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:786,1
    - Dst: schCloneSMsgSendInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:786,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:788,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:788,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:790,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:791,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:795,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:798,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:803,1
    - Dst: schCloneSMsgSendInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:803,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:805,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:806,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:808,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:811,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:818,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SRpcCtx*
    - SRpcCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 820
    functionName: schCloneHbRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - SCH_ERR_RET
    - qError
    - SCH_ERR_JRET
    - schCloneSMsgSendInfo
    - TAOS_MEMCPY
    - taosHashInit
    - taosHashGetKey
    - schFreeRpcCtx
    - SCH_RET
    - taosGetDefaultHashFunction
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t schCloneHbRpcCtx(SRpcCtx *pSrc, SRpcCtx *pDst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: schGetTaskCurrentNodeAddr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:830,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:832,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:836,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:836,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:838,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:838,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:840,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:841,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:844,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:846,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:847,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:850,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:852,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:853,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:857,1
    - Dst: schGetCallbackFp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:857,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:868,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:869,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:870,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:873,1
    - Dst: schMakeBrokenLinkVal
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:873,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:880,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:881,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:882,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pCtx
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRpcCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 885
    functionName: schMakeHbRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - schMakeBrokenLinkVal
    - SCH_ERR_RET
    - SCH_TASK_ELOG
    - SCH_ERR_JRET
    - TAOS_MEMCPY
    - taosHashInit
    - schGetCallbackFp
    - SCH_GET_CUR_EP
    - taosHashCleanup
    - SCH_RET
    - taosGetDefaultHashFunction
    - schGetTaskCurrentNodeAddr
    - taosHashPut
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t schMakeHbRpcCtx(SSchJob *pJob, SSchTask *pTask, SRpcCtx *pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:892,1
    - Dst: schGenerateCallBackInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:892,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:902,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:903,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - pJob
    - pTask
    - brokenVal
    - isHb
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRpcBrokenlinkVal*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 887
    functionDepth: 3
    functionLinenumber: 887
    functionLinenumberEnd: 906
    functionName: schMakeBrokenLinkVal
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - schGenerateCallBackInfo
    - SCH_RET
    - SCH_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t schMakeBrokenLinkVal(SSchJob *pJob, SSchTask *pTask, SRpcBrokenlinkVal
      *brokenVal, bool isHb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:912,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:912,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:914,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:915,1
    - Dst: SCH_GET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:918,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:919,1
    - Dst: schGenerateCallBackInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:919,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:923,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:924,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:925,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:928,1
    - Dst: schMakeBrokenLinkVal
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:928,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:935,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:938,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:939,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pCtx
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRpcCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 908
    functionDepth: 4
    functionLinenumber: 908
    functionLinenumberEnd: 943
    functionName: schMakeQueryRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - schGenerateCallBackInfo
    - SCH_GET_TASK_HANDLE
    - schMakeBrokenLinkVal
    - SCH_ERR_RET
    - SCH_TASK_ELOG
    - SCH_ERR_JRET
    - taosHashInit
    - taosHashCleanup
    - SCH_RET
    - taosGetDefaultHashFunction
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t schMakeQueryRpcCtx(SSchJob *pJob, SSchTask *pTask, SRpcCtx
      *pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:947,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:949,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:950,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:953,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:959,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:961,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:962,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSchCallbackParamHeader*
    - SSchCallbackParamHeader**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 969
    functionName: schCloneCallbackParam
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - TAOS_MEMCPY
    - SCH_ERR_RET
    - qError
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t schCloneCallbackParam(SSchCallbackParamHeader *pSrc, SSchCallbackParamHeader
      **pDst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:974,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:976,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:977,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:980,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:983,1
    - Dst: schCloneCallbackParam
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:983,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:992,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 994
    functionName: schCloneSMsgSendInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - SCH_ERR_RET
    - qError
    - SCH_ERR_JRET
    - TAOS_MEMCPY
    - schCloneCallbackParam
    - SCH_RET
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t schCloneSMsgSendInfo(void *src, void **dst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pMsgSendInfo
    - addr
    - pTask
    argTypes:
    - SMsgSendInfo*
    - SQueryNodeAddr*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1013
    functionName: schUpdateSendTargetInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t schUpdateSendTargetInfo(SMsgSendInfo *pMsgSendInfo, SQueryNodeAddr
      *addr, SSchTask *pTask)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1022,1
    - Dst: schGenerateCallBackInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1022,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1023,1
    - Dst: schUpdateSendTargetInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1023,1
    - Dst: rpcAllocHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1027,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1029,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1030,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1037,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1037,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1040,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1040,1
    - Dst: asyncSendMsgToServerExt
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1048,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1051,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1055,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1055,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1057,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1057,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1064,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1064,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1064,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1066,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1066,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1066,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1070,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1073,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 9
    argNames:
    - pJob
    - pTask
    - trans
    - addr
    - msgType
    - msg
    - msgSize
    - persistHandle
    - ctx
    argTypes:
    - SSchJob*
    - SSchTask*
    - SSchTrans*
    - SQueryNodeAddr*
    - int32_t
    - void*
    - uint32_t
    - bool
    - SRpcCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1015
    functionDepth: 4
    functionLinenumber: 1015
    functionLinenumberEnd: 1074
    functionName: schAsyncSendMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - schUpdateSendTargetInfo
    - schGenerateCallBackInfo
    - qTrace
    - qError
    - rpcAllocHandle
    - SCH_TASK_ELOG
    - SCH_ERR_JRET
    - qDebug
    - SCH_TASK_DLOG
    - asyncSendMsgToServerExt
    - tstrerror
    - destroySendMsgInfo
    - SCH_RET
    - SCH_TASK_TLOG
    linkageType: ''
    returnType: int32_t
    signature: "int32_t schAsyncSendMsg(SSchJob *pJob, SSchTask *pTask, SSchTrans
      *trans, SQueryNodeAddr *addr, int32_t msgType,\n                        void
      *msg, uint32_t msgSize, bool persistHandle, SRpcCtx *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1085,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1087,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1088,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1090,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1091,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1096,1
    - Dst: schCloneHbRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1097,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1098,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1100,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1102,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1103,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1105,1
    - Dst: tSerializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1107,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1109,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1110,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1112,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1114,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1115,1
    - Dst: tSerializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1118,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1119,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1120,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1127,1
    - Dst: schAsyncSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1129,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1131,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1137,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1138,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 2
    argNames:
    - nodeEpId
    - taskAction
    argTypes:
    - SQueryNodeEpId*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1076
    functionDepth: 5
    functionLinenumber: 1076
    functionLinenumberEnd: 1140
    functionName: schBuildAndSendHbMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 2
    functionsReached:
    - tSerializeSSchedulerHbReq
    - taosMemoryFreeClear
    - SCH_ERR_RET
    - qError
    - taosHashGet
    - schCloneHbRpcCtx
    - SCH_LOCK
    - SCH_ERR_JRET
    - schFreeRpcCtx
    - TAOS_MEMCPY
    - SCH_RET
    - SCH_UNLOCK
    - taosMemoryCalloc
    - schAsyncSendMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t schBuildAndSendHbMsg(SQueryNodeEpId *nodeEpId, SArray *taskAction)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1147,1
    - Dst: SCH_JOB_GOT_SUB_JOBS
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1147,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1149,1
    - Dst: SCH_IS_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1153,1
    - Dst: SCH_IS_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1154,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1158,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1160,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1165,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1167,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1168,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1171,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1171,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1173,1
    - Dst: SCH_FETCH_TYPE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1178,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1180,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1181,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1182,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1187,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - pTask
    - ppRes
    - pTarget
    argTypes:
    - SSchTask*
    - SArray**
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1197
    functionName: schBuildSubJobEndpoints
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 0
    functionsReached:
    - SCH_IS_PARENT_JOB
    - taosArrayPush
    - SCH_JOB_GOT_SUB_JOBS
    - memcpy
    - SCH_ERR_RET
    - taosArrayDestroyP
    - SCH_ERR_JRET
    - nodesMakeNode
    - SCH_JOB_ELOG
    - SCH_TASK_DLOG
    - taosArrayInit
    - SCH_FETCH_TYPE
    - nodesDestroyNode
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t schBuildSubJobEndpoints(SSchTask *pTask, SArray** ppRes, SSchJob*
      pTarget)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: schGetTaskCurrentNodeAddr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1208,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1210,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1214,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1238,1
    - Dst: tSerializeSVDeleteReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1243,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1245,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1246,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1248,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1250,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1251,1
    - Dst: tSerializeSVDeleteReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1254,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1256,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1257,1
    - Dst: SCH_UPDATE_JOB_PHASE_IF_CHANGED
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1264,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1266,1
    - Dst: schMakeQueryRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1266,1
    - Dst: QUERY_MSG_MASK_SHOW_REWRITE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1277,1
    - Dst: QUERY_MSG_MASK_VIEW
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1278,1
    - Dst: QUERY_MSG_MASK_AUDIT
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1279,1
    - Dst: SCH_IS_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1280,1
    - Dst: SCH_IS_ROOT_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1280,1
    - Dst: QUERY_MSG_MASK_SUBQUERY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1280,1
    - Dst: SCH_IS_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1281,1
    - Dst: SCH_IS_ROOT_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1281,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1283,1
    - Dst: SCH_TASK_NEED_FETCH
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1284,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1285,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1290,1
    - Dst: GET_ACTIVE_EP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1290,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1296,1
    - Dst: schBuildSubJobEndpoints
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1296,1
    - Dst: tSerializeSSubQueryMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1298,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1300,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1301,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1302,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1305,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1307,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1308,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1309,1
    - Dst: tSerializeSSubQueryMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1312,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1313,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1314,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1315,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1316,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1319,1
    - Dst: rpcAllocHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1323,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1325,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1326,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1329,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1343,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1345,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1346,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1349,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1351,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1352,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1355,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1356,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1357,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1372,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1374,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1375,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1378,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1380,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1381,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1384,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1385,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1386,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1387,1
    - Dst: tSerializeSTaskNotifyReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1433,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1435,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1436,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1439,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1441,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1442,1
    - Dst: tSerializeSTaskNotifyReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1445,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1446,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1447,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1448,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1453,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1454,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1458,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1459,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1459,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1462,1
    - Dst: schAppendTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1462,1
    - Dst: SCH_GET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1465,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1468,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1468,1
    - Dst: schAsyncSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1471,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1473,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1481,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1483,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1484,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 211
    argCount: 5
    argNames:
    - pJob
    - pTask
    - addr
    - msgType
    - param
    argTypes:
    - SSchJob*
    - SSchTask*
    - SQueryNodeAddr*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1199
    functionDepth: 5
    functionLinenumber: 1199
    functionLinenumberEnd: 1485
    functionName: schBuildAndSendMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: 1
    functionsReached:
    - SCH_SET_TASK_HANDLE
    - taosMemoryFreeClear
    - SCH_GET_TASK_HANDLE
    - tSerializeSVDeleteReq
    - SCH_ERR_JRET
    - QUERY_MSG_MASK_SUBQUERY
    - QUERY_MSG_MASK_VIEW
    - schAppendTaskExecNode
    - QUERY_MSG_MASK_SHOW_REWRITE
    - SCH_IS_PARENT_JOB
    - schMakeQueryRpcCtx
    - GET_ACTIVE_EP
    - schFreeRpcCtx
    - tSerializeSTaskNotifyReq
    - SCH_UPDATE_JOB_PHASE_IF_CHANGED
    - SCH_TASK_NEED_FETCH
    - taosMemoryCalloc
    - strcmp
    - schProcessOnTaskSuccess
    - SCH_TASK_WLOG
    - tSerializeSSubQueryMsg
    - SCH_IS_ROOT_TASK
    - schBuildSubJobEndpoints
    - rpcAllocHandle
    - tSerializeSResFetchReq
    - SCH_RET
    - schGetTaskCurrentNodeAddr
    - schAsyncSendMsg
    - SCH_TASK_TLOG
    - QUERY_MSG_MASK_AUDIT
    - SCH_ERR_RET
    - taosArrayDestroyP
    - SCH_TASK_ELOG
    - SCH_IS_EXPLAIN_JOB
    - taosMemoryFree
    - tSerializeSTaskDropReq
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t schBuildAndSendMsg(SSchJob *pJob, SSchTask *pTask, SQueryNodeAddr
      *addr, int32_t msgType, void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:26,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - refId
    - ppJob
    argTypes:
    - int64_t
    - SSchJob**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: schAcquireJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 10
    functionsReached:
    - qTrace
    - taosAcquireRef
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE schAcquireJob(int64_t refId, SSchJob **ppJob)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:40,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: schReleaseJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 9
    functionsReached:
    - qTrace
    - taosReleaseRef
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE schReleaseJob(int64_t refId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:49,1
    - Dst: taosReleaseRefEx
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - refId
    - released
    argTypes:
    - int64_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: schReleaseJobEx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - qTrace
    - taosReleaseRefEx
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE schReleaseJobEx(int64_t refId, int32_t *released)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:60,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:66,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pEpSet
    - ppRes
    argTypes:
    - SEpSet*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: schDumpEpSet
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 1
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t schDumpEpSet(SEpSet *pEpSet, char **ppRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - SCH_OP_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: schGetOpStr
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *schGetOpStr(SCH_OP_TYPE type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:92,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - SSchHbTrans*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: schFreeHbTrans
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    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:99,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:101,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:104,1
    - Dst: schFreeHbTrans
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:105,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:106,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:108,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:108,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:110,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:114,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: schCleanClusterHb
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashRemove
    - schFreeHbTrans
    - qError
    - SCH_LOCK
    - taosHashGetKey
    - qInfo
    - tstrerror
    - SCH_UNLOCK
    linkageType: ''
    returnType: void
    signature: void schCleanClusterHb(void *pTrans)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:123,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:124,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:126,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:127,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:131,1
    - Dst: schFreeHbTrans
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:133,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:134,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:136,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:136,1
    - Dst: SCH_TASK_ILOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:138,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pJob
    - pTask
    - epId
    argTypes:
    - SSchJob*
    - SSchTask*
    - SQueryNodeEpId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 144
    functionName: schRemoveHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - SCH_TASK_ILOG
    - schFreeHbTrans
    - taosHashRemove
    - atomic_load_64
    - taosHashGet
    - SCH_TASK_WLOG
    - SCH_TASK_ELOG
    - SCH_LOCK
    - tstrerror
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t schRemoveHbConnection(SSchJob *pJob, SSchTask *pTask, SQueryNodeEpId
      *epId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:153,1
    - Dst: schMakeHbRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:153,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:155,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:156,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:158,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:159,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:161,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:166,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:167,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:169,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - pJob
    - pTask
    - epId
    - exist
    argTypes:
    - SSchJob*
    - SSchTask*
    - SQueryNodeEpId*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 175
    functionName: schAddHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - SCH_ERR_RET
    - qError
    - SCH_LOCK
    - schFreeRpcCtx
    - qInfo
    - HASH_NODE_EXIST
    - SCH_UNLOCK
    - taosHashPut
    - schMakeHbRpcCtx
    linkageType: ''
    returnType: int32_t
    signature: int32_t schAddHbConnection(SSchJob *pJob, SSchTask *pTask, SQueryNodeEpId
      *epId, bool *exist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:181,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:182,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:185,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:186,1
    - Dst: schAddHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:186,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:188,1
    - Dst: schBuildAndSendHbMsg
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:188,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:197,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pEpId
    argTypes:
    - SSchJob*
    - SSchTask*
    - SQueryNodeEpId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 177
    functionDepth: 6
    functionLinenumber: 177
    functionLinenumberEnd: 202
    functionName: schRegisterHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - SCH_ERR_RET
    - taosHashGet
    - schBuildAndSendHbMsg
    - atomic_add_fetch_64
    - SCH_LOCK
    - SCH_RET
    - SCH_UNLOCK
    - schAddHbConnection
    linkageType: ''
    returnType: int32_t
    signature: int32_t schRegisterHbConnection(SSchJob *pJob, SSchTask *pTask, SQueryNodeEpId
      *pEpId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: schGetTaskCurrentNodeAddr
      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:216,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:217,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:220,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:221,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:223,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:224,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:228,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:230,1
    - Dst: schRemoveHbConnection
      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
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 237
    functionName: schDeregisterTaskHb
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - SCH_TASK_WLOG
    - schRemoveHbConnection
    - atomic_sub_fetch_64
    - taosHashGet
    - SCH_LOCK
    - tstrncpy
    - SCH_GET_CUR_EP
    - schGetTaskCurrentNodeAddr
    - SCH_UNLOCK
    linkageType: ''
    returnType: void
    signature: void schDeregisterTaskHb(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: schGetTaskCurrentNodeAddr
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:245,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:252,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:253,1
    - Dst: schRegisterHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 239
    functionDepth: 7
    functionLinenumber: 239
    functionLinenumberEnd: 261
    functionName: schEnsureHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - schGetTaskCurrentNodeAddr
    - schRegisterHbConnection
    - tstrncpy
    - SCH_GET_CUR_EP
    linkageType: ''
    returnType: int32_t
    signature: int32_t schEnsureHbConnection(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:267,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:268,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:270,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:271,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:275,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:276,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:277,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:278,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - epId
    - trans
    argTypes:
    - SQueryNodeEpId*
    - SSchTrans*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 284
    functionName: schUpdateHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 2
    functionsReached:
    - taosHashGet
    - atomic_add_fetch_64
    - SCH_LOCK
    - qInfo
    - 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:287,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: schCloseJobRef
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - taosCloseRef
    - atomic_load_8
    linkageType: ''
    returnType: void
    signature: void schCloseJobRef(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSystemUUIDU64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:298,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:300,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:300,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:301,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: initClientId
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - taosGetSystemUUIDU64
    - SCH_ERR_RET
    - qError
    - qInfo
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t initClientId(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: getClientId
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getClientId(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: schGenTaskId
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t schGenTaskId(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSystemUUID32
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:317,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:319,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:319,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:319,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:323,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:324,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 330
    functionName: schGenUUID
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosGetPId
    - qError
    - taosGetTimestampMs
    - atomic_add_fetch_32
    - tstrerror
    - taosGetSystemUUID32
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t schGenUUID(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: schFreeRpcCtxVal
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - destroySendMsgInfo
    linkageType: ''
    returnType: void
    signature: void schFreeRpcCtxVal(const void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:346,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:352,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SRpcCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 360
    functionName: schFreeRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 6
    functionsReached:
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void schFreeRpcCtx(SRpcCtx *pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:365,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pTaskList
    - taskId
    - pTask
    argTypes:
    - SHashObj*
    - uint64_t
    - SSchTask**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 376
    functionName: schGetTaskFromList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGetSize
    - taosHashGet
    linkageType: ''
    returnType: void
    signature: void schGetTaskFromList(SHashObj *pTaskList, uint64_t taskId, SSchTask
      **pTask)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:380,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:381,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:384,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:385,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:385,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:386,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:390,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:391,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:395,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:396,1
    - Dst: SCH_IS_DATA_BIND_PLAN
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:399,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:401,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:403,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:406,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:408,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:413,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:414,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:418,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:419,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - pJob
    - pSubplan
    - level
    - idx
    - taskNum
    argTypes:
    - SSchJob*
    - SSubplan*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 423
    functionName: schValidateSubplan
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - nodeType
    - SCH_JOB_ELOG
    - SCH_IS_DATA_BIND_PLAN
    - SCH_ERR_RET
    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:426,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:429,1
    - Dst: taosTmrStopA
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:431,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:432,1
    - Dst: taosTmrIsStopped
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:435,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:436,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:439,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pJob
    - pTask
    - syncOp
    argTypes:
    - SSchJob*
    - SSchTask*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 444
    functionName: schStopTaskDelayTimer
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 0
    functionsReached:
    - taosTmrIsStopped
    - SCH_TASK_WLOG
    - atomic_store_8
    - SCH_TASK_DLOG
    - taosMsleep
    - taosTmrStopA
    linkageType: ''
    returnType: void
    signature: void schStopTaskDelayTimer(SSchJob *pJob, SSchTask *pTask, bool syncOp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:449,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:451,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:452,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pTask
    - pJob
    - ppAddr
    argTypes:
    - SSchTask*
    - SSchJob*
    - SQueryNodeAddr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: schGetTaskCurrentNodeAddr
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: 5
    functionsReached:
    - SCH_TASK_ELOG
    - SCH_ERR_RET
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t schGetTaskCurrentNodeAddr(SSchTask *pTask, SSchJob *pJob, SQueryNodeAddr
      **ppAddr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: schUpdateJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:25,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:27,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:34,1
    - Dst: schExecJob
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:34,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:37,1
    - Dst: schProcessOnJobPartialSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:37,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:40,1
    - Dst: schJobFetchRows
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:40,1
    - Dst: schProcessOnJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:45,1
    - Dst: SCH_IS_SUBQ_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:46,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:47,1
    - Dst: schProcessOnJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:47,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:49,1
    - Dst: schProcessOnJobDropped
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:53,1
    - Dst: SCH_IS_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:55,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:56,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:57,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:59,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:64,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:65,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:73,1
    - Dst: schProcessOnJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - pJob
    - status
    - param
    argTypes:
    - SSchJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 74
    functionName: schSwitchJobStatus
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schStatus.c
    functionUses: 0
    functionsReached:
    - SCH_IS_PARENT_JOB
    - schProcessOnJobDropped
    - schJobFetchRows
    - schUpdateJobStatus
    - SCH_ERR_JRET
    - schProcessOnJobFailure
    - taosRemoveRef
    - schProcessOnJobPartialSuccess
    - SCH_JOB_ELOG
    - SCH_IS_SUBQ_JOB
    - SCH_RET
    - schExecJob
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schSwitchJobStatus(SSchJob* pJob, int32_t status, void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:78,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:80,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:81,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:86,1
    - Dst: schProcessOnOpBegin
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - jobId
    - job
    - type
    - pReq
    argTypes:
    - int64_t
    - SSchJob**
    - SCH_OP_TYPE
    - SSchedulerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: schHandleOpBeginEvent
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schStatus.c
    functionUses: 0
    functionsReached:
    - SCH_ERR_RET
    - qDebug
    - schProcessOnOpBegin
    - SCH_RET
    - schAcquireJob
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleOpBeginEvent(int64_t jobId, SSchJob** job, SCH_OP_TYPE
      type, SSchedulerReq* pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: schDirectPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:93,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:94,1
    - Dst: schProcessOnOpEnd
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:97,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pJob
    - type
    - pReq
    - errCode
    argTypes:
    - SSchJob*
    - SCH_OP_TYPE
    - SSchedulerReq*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: schHandleOpEndEvent
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schStatus.c
    functionUses: 0
    functionsReached:
    - schDirectPostJobRes
    - schProcessOnOpEnd
    - schReleaseJob
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleOpEndEvent(SSchJob* pJob, SCH_OP_TYPE type, SSchedulerReq*
      pReq, int32_t errCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:28,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:33,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:36,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: schFreeFlowCtrl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: 1
    functionsReached:
    - taosHashIterate
    - taosHashCleanup
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void schFreeFlowCtrl(SSchJob *pJob)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - 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:45,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:45,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:50,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:52,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:57,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:62,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:62,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:64,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:65,1
    - Dst: SCH_SET_JOB_NEED_FLOW_CTRL
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:68,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pJob
    - pLevel
    argTypes:
    - SSchJob*
    - SSchLevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 73
    functionName: schChkJobNeedFlowCtrl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: 0
    functionsReached:
    - SCH_JOB_TLOG
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_JOB_ELOG
    - taosHashInit
    - taosArrayGetSize
    - SCH_JOB_DLOG
    - taosGetDefaultHashFunction
    - SCH_IS_QUERY_JOB
    - SCH_SET_JOB_NEED_FLOW_CTRL
    linkageType: ''
    returnType: int32_t
    signature: int32_t schChkJobNeedFlowCtrl(SSchJob *pJob, SSchLevel *pLevel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:79,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:81,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:83,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:84,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:87,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:89,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:90,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:96,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:101,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 104
    functionName: schDecTaskFlowQuota
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: 0
    functionsReached:
    - SCH_ERR_RET
    - taosHashGet
    - SCH_TASK_ELOG
    - SCH_LOCK
    - SCH_ERR_JRET
    - SCH_GET_CUR_EP
    - SCH_TASK_DLOG
    - SCH_RET
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t schDecTaskFlowQuota(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:110,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:113,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:117,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:119,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:123,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:124,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:127,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:134,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:155,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:157,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:158,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:162,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:163,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:163,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:164,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:175,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:179,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:181,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 3
    argNames:
    - pJob
    - pTask
    - enough
    argTypes:
    - SSchJob*
    - SSchTask*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 182
    functionName: schCheckIncTaskFlowQuota
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - SCH_ERR_RET
    - taosHashGet
    - SCH_TASK_ELOG
    - SCH_LOCK
    - SCH_ERR_JRET
    - SCH_GET_CUR_EP
    - SCH_TASK_DLOG
    - taosArrayInit
    - taosArrayGetSize
    - HASH_NODE_EXIST
    - SCH_UNLOCK
    - SCH_RET
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t schCheckIncTaskFlowQuota(SSchJob *pJob, SSchTask *pTask, bool
      *enough)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: schTaskTableNumCompare
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t schTaskTableNumCompare(const void *key1, const void *key2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:198,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:200,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:201,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:206,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:211,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:215,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:217,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:218,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:220,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:223,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:232,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:234,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:237,1
    - Dst: schAsyncLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:237,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:241,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:248,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:250,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:250,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:251,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:255,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:268,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:271,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:274,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - pJob
    - ctrl
    argTypes:
    - SSchJob*
    - SSchFlowControl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 275
    functionName: schLaunchTasksInFlowCtrlListImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: 0
    functionsReached:
    - schAsyncLaunchTaskImpl
    - taosArraySort
    - taosArrayGet
    - taosArrayGetLast
    - schProcessOnTaskFailure
    - SCH_LOCK
    - SCH_ERR_JRET
    - taosArrayRemove
    - SCH_JOB_ELOG
    - SCH_GET_CUR_EP
    - taosArrayGetSize
    - SCH_TASK_DLOG
    - SCH_RET
    - SCH_UNLOCK
    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:278,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:282,1
    - Dst: schDecTaskFlowQuota
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:282,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:284,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:286,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:288,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:289,1
    - Dst: schLaunchTasksInFlowCtrlListImpl
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:292,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 296
    functionName: schLaunchTasksInFlowCtrlList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: 0
    functionsReached:
    - schLaunchTasksInFlowCtrlListImpl
    - SCH_ERR_RET
    - taosHashGet
    - SCH_TASK_ELOG
    - schDecTaskFlowQuota
    - SCH_GET_CUR_EP
    - SCH_TASK_NEED_FLOW_CTRL
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchTasksInFlowCtrlList(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: schDeregisterTaskHb
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:28,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:31,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:34,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:37,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:41,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:45,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: schFreeTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - schDeregisterTaskHb
    - taosMemoryFreeClear
    - taosHashCleanup
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void schFreeTask(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:57,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:57,1
    - Dst: ceil
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:58,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:59,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:61,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pLevel
    argTypes:
    - SSchJob*
    - SSchTask*
    - SSchLevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: schInitTaskRetryInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - TMAX
    - taosArrayGetSize
    - ceil
    - SCH_IS_DATA_BIND_TASK
    - SCH_IS_QUERY_JOB
    linkageType: ''
    returnType: void
    signature: void schInitTaskRetryInfo(SSchJob *pJob, SSchTask *pTask, SSchLevel
      *pLevel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getClientId
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:78,1
    - Dst: schGenTaskId
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:79,1
    - Dst: schInitTaskRetryInfo
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:81,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:84,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:84,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:85,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:87,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:90,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:91,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:93,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:100,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:101,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pPlan
    - pLevel
    argTypes:
    - SSchJob*
    - SSchTask*
    - SSubplan*
    - SSchLevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 104
    functionName: schInitTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - SCH_SET_TASK_STATUS
    - getClientId
    - SCH_ERR_JRET
    - schGenTaskId
    - taosHashInit
    - SCH_TASK_DLOG
    - taosArrayInit
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - SCH_RET
    - taosArrayDestroy
    - schInitTaskRetryInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t schInitTask(SSchJob *pJob, SSchTask *pTask, SSubplan *pPlan,
      SSchLevel *pLevel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:110,1
    - Dst: schGetTaskCurrentNodeAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:114,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:116,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:120,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:120,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:122,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:124,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: schRecordTaskSucceedNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_ERR_RET
    - tListLen
    - SCH_TASK_ELOG
    - SCH_IS_LOCAL_EXEC_TASK
    - SCH_TASK_DLOG
    - tstrerror
    - schGetTaskCurrentNodeAddr
    - epsetToStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t schRecordTaskSucceedNode(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:132,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:134,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:135,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:136,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pJob
    - pTask
    - addr
    - execId
    argTypes:
    - SSchJob*
    - SSchTask*
    - SQueryNodeAddr*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: schAppendTaskExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_GET_TASK_HANDLE
    - SCH_ERR_RET
    - SCH_TASK_ELOG
    - SCH_TASK_DLOG
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t schAppendTaskExecNode(SSchJob *pJob, SSchTask *pTask, SQueryNodeAddr
      *addr, int32_t execId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:149,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:150,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:151,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:153,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:157,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - pJob
    - pTask
    - handle
    - execId
    argTypes:
    - SSchJob*
    - SSchTask*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: schDropTaskExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - taosHashRemove
    - SCH_ERR_RET
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schDropTaskExecNode(SSchJob *pJob, SSchTask *pTask, void *handle,
      int32_t execId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:165,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:169,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:171,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pJob
    - pTask
    - handle
    - execId
    argTypes:
    - SSchJob*
    - SSchTask*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: schUpdateTaskExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosHashGetSize
    - SCH_TASK_DLOG
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t schUpdateTaskExecNode(SSchJob *pJob, SSchTask *pTask, void
      *handle, int32_t execId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:185,1
    - Dst: schDropTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:185,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:188,1
    - Dst: schUpdateTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:188,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:192,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:195,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 6
    argNames:
    - pJob
    - pTask
    - dropExecNode
    - handle
    - seriesId
    - execId
    argTypes:
    - SSchJob*
    - SSchTask*
    - bool
    - void*
    - uint64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: schUpdateTaskHandle
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_SET_TASK_HANDLE
    - schUpdateTaskExecNode
    - SCH_ERR_RET
    - SCH_TASK_DLOG
    - SCH_RET
    - schDropTaskExecNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t schUpdateTaskHandle(SSchJob *pJob, SSchTask *pTask, bool dropExecNode,
      void *handle, uint64_t seriesId, int32_t execId)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:214,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:215,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:215,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:216,1
    - Dst: SCH_GET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:219,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:221,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:221,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:222,1
    - Dst: SCH_LOG_TASK_WAIT_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:226,1
    - Dst: SCH_LOG_TASK_END_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:228,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:231,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:231,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:233,1
    - Dst: schTaskCheckSetRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:233,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:236,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:237,1
    - Dst: SCH_JOB_NEED_WAIT
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:239,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:240,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:243,1
    - Dst: schUpdateJobErrCode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:245,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:248,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:249,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:252,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:252,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:255,1
    - Dst: schHandleTaskRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:255,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - pJob
    - pTask
    - errCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 260
    functionName: schProcessOnTaskFailure
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 4
    functionsReached:
    - SCH_JOB_NEED_WAIT
    - schUpdateJobErrCode
    - SCH_GET_TASK_STATUS
    - SCH_ERR_RET
    - schHandleTaskRetry
    - SCH_TASK_ELOG
    - SCH_SET_TASK_STATUS
    - SCH_LOG_TASK_END_TS
    - SCH_LOCK
    - atomic_load_32
    - schTaskCheckSetRetry
    - SCH_TASK_DLOG
    - schJobNeedToStop
    - tstrerror
    - SCH_RET
    - SCH_UNLOCK
    - jobTaskStatusStr
    - SCH_LOG_TASK_WAIT_TS
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnTaskFailure(SSchJob *pJob, SSchTask *pTask, int32_t
      errCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:264,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:267,1
    - Dst: schLaunchJobImpl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:267,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:267,1
    - Dst: SCH_SUB_JOBS_EXEC_FINISHED
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:270,1
    - Dst: schLaunchJobImpl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: schProcessOnSubJobSuccess
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - SCH_SUB_JOBS_EXEC_FINISHED
    - schLaunchJobImpl
    - atomic_add_fetch_32
    - SCH_RET
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnSubJobSuccess(SSchJob *pJob)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:281,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:281,1
    - Dst: SCH_LOG_TASK_END_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:283,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:285,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:287,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:289,1
    - Dst: schRecordTaskSucceedNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:289,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:290,1
    - Dst: schLaunchTasksInFlowCtrlList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:290,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:292,1
    - Dst: SCH_GET_JOB_PHASE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:294,1
    - Dst: SCH_SET_JOB_PHASE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:296,1
    - Dst: SCH_JOB_NEED_WAIT
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:301,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:302,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:305,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:308,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:312,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:315,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:315,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:318,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:318,1
    - Dst: SCH_IS_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:324,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:325,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:325,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:327,1
    - Dst: schProcessOnSubJobSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:327,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:332,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:334,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:335,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:338,1
    - Dst: SCH_FETCH_TYPE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:346,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:347,1
    - Dst: qSetSubplanExecutionNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:350,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:352,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:355,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:356,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:358,1
    - Dst: SCH_TASK_READY_FOR_LAUNCH
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:360,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:364,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:365,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:368,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:369,1
    - Dst: schUpdateCurrentEpset
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:369,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:373,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:376,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:377,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:378,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:380,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:380,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:385,1
    - Dst: schLaunchJobLowerLevel
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:385,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 389
    functionName: schProcessOnTaskSuccess
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 2
    functionsReached:
    - SCH_TASK_READY_FOR_LAUNCH
    - schLaunchJobLowerLevel
    - atomic_add_fetch_32
    - SCH_TASK_DLOG
    - SCH_FETCH_TYPE
    - SCH_IS_PARENT_JOB
    - taosArrayGet
    - schLaunchTasksInFlowCtrlList
    - SCH_IS_LOCAL_EXEC_TASK
    - schSwitchTaskCandidateAddr
    - taosArrayGetSize
    - schSwitchJobStatus
    - SCH_GET_TASK_STATUS_STR
    - schUpdateCurrentEpset
    - TSWAP
    - schHandleJobFailure
    - schDelayLaunchTask
    - SCH_RET
    - SCH_GET_JOB_PHASE
    - qSetSubplanExecutionNode
    - SCH_UNLOCK
    - schProcessOnSubJobSuccess
    - SCH_TASK_TLOG
    - SCH_JOB_NEED_WAIT
    - SCH_SET_JOB_PHASE
    - SCH_ERR_RET
    - SCH_SET_TASK_STATUS
    - SCH_LOCK
    - SCH_LOG_TASK_END_TS
    - SCH_TASK_ELOG
    - SCH_IS_DATA_BIND_TASK
    - schRecordTaskSucceedNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnTaskSuccess(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:396,1
    - Dst: SCH_TASK_TIMEOUT
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:400,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:401,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:402,1
    - Dst: schDropTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:403,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:404,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:406,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 410
    functionName: schRescheduleTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - schDropTaskOnExecNode
    - SCH_ERR_RET
    - schProcessOnTaskFailure
    - SCH_TASK_TIMEOUT
    - SCH_TASK_DLOG
    - taosArrayGetSize
    - SCH_IS_DATA_BIND_TASK
    - taosHashClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t schRescheduleTask(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:418,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:421,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:426,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:428,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pJob
    - pTask
    - resetRetry
    argTypes:
    - SSchJob*
    - SSchTask*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 437
    functionName: schChkUpdateRedirectCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - taosGetTimestampMs
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schChkUpdateRedirectCtx(SSchJob *pJob, SSchTask *pTask, bool
      resetRetry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:443,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:443,1
    - Dst: schDropTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:446,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:447,1
    - Dst: schRemoveTaskFromExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:448,1
    - Dst: schDeregisterTaskHb
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:449,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:450,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 439
    functionDepth: 4
    functionLinenumber: 439
    functionLinenumberEnd: 456
    functionName: schResetTaskForRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - schDropTaskOnExecNode
    - schRemoveTaskFromExecList
    - schDeregisterTaskHb
    - taosTmrStop
    - taosHashClear
    - UNUSED
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void schResetTaskForRetry(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:463,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:463,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:463,1
    - Dst: NO_RET_REDIRECT_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:465,1
    - Dst: SCH_UPDATE_REDIRECT_CODE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:466,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:469,1
    - Dst: schChkUpdateRedirectCtx
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:469,1
    - Dst: schResetTaskForRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:471,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:473,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:475,1
    - Dst: schUpdateTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:475,1
    - Dst: SYNC_SELF_LEADER_REDIRECT_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:476,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:477,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:479,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:480,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:481,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:485,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:486,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:488,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:490,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:491,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:492,1
    - Dst: SCH_SWITCH_EPSET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:495,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:496,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:499,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:501,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:501,1
    - Dst: qClearSubplanExecutionNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:510,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:514,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:514,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:517,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:519,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:521,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:522,1
    - Dst: schDoTaskRedirect
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:523,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:524,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:531,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:531,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pData
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 460
    functionDepth: 5
    functionLinenumber: 460
    functionLinenumberEnd: 532
    functionName: schDoTaskRedirect
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - schUpdateTaskCandidateAddr
    - schResetTaskForRetry
    - SCH_ERR_JRET
    - schChkUpdateRedirectCtx
    - NO_RET_REDIRECT_ERROR
    - SCH_TASK_DLOG
    - taosArrayGetP
    - taosArrayGet
    - SCH_LOCK_TASK
    - schSwitchTaskCandidateAddr
    - taosArrayGetSize
    - SCH_GET_TASK_STATUS_STR
    - SCH_UPDATE_REDIRECT_CODE
    - schDoTaskRedirect
    - schDelayLaunchTask
    - SCH_RET
    - SYNC_SELF_LEADER_REDIRECT_ERROR
    - SCH_UNLOCK_TASK
    - schProcessOnTaskFailure
    - SCH_TASK_ELOG
    - SCH_SET_TASK_STATUS
    - qClearSubplanExecutionNode
    - SCH_SWITCH_EPSET
    - tstrerror
    - SCH_IS_DATA_BIND_TASK
    linkageType: ''
    returnType: int32_t
    signature: int32_t schDoTaskRedirect(SSchJob *pJob, SSchTask *pTask, SDataBuf
      *pData, int32_t rspCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:537,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:538,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:538,1
    - Dst: SCH_GET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:540,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:541,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:544,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:546,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:548,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:550,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:551,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:554,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:556,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:557,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:558,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:561,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:562,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 565
    functionName: schResetTaskSetLevelInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - SCH_UNLOCK_TASK
    - SCH_GET_TASK_STATUS
    - SCH_ERR_RET
    - SCH_LOCK_TASK
    - SCH_TASK_ELOG
    - atomic_load_32
    - atomic_sub_fetch_32
    - SCH_TASK_DLOG
    - taosArrayGetSize
    - taosArrayGetP
    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:570,1
    - Dst: schChkResetJobRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:570,1
    - Dst: SYNC_OTHER_LEADER_REDIRECT_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:572,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:574,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:574,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:580,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:580,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:582,1
    - Dst: schResetTaskSetLevelInfo
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:582,1
    - Dst: SCH_RESET_JOB_LEVEL_IDX
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:584,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:585,1
    - Dst: schDoTaskRedirect
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:587,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:589,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:590,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:592,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:596,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:597,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:599,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pData
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 567
    functionDepth: 6
    functionLinenumber: 567
    functionLinenumberEnd: 600
    functionName: schHandleTaskSetRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - schDoTaskRedirect
    - taosMemoryFreeClear
    - schResetTaskSetLevelInfo
    - atomic_add_fetch_64
    - schProcessOnTaskFailure
    - SCH_TASK_ELOG
    - SCH_RESET_JOB_LEVEL_IDX
    - SYNC_OTHER_LEADER_REDIRECT_ERROR
    - SCH_ERR_JRET
    - SCH_TASK_DLOG
    - SCH_RET
    - tstrerror
    - schChkResetJobRetry
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleTaskSetRetry(SSchJob *pJob, SSchTask *pTask, SDataBuf
      *pData, int32_t rspCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:604,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:606,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:607,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:611,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:612,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:615,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 618
    functionName: schPushTaskToExecList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_ERR_RET
    - taosHashGetSize
    - SCH_TASK_ELOG
    - SCH_TASK_DLOG
    - HASH_NODE_EXIST
    - taosHashPut
    - SCH_TASK_TLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schPushTaskToExecList(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:701,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:709,1
    - Dst: schFailedTaskNeedRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:726,1
    - Dst: SCH_TASK_NEED_RETRY
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:732,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:734,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:734,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:740,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:741,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - pJob
    - pTask
    - errCode
    - needRetry
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 743
    functionName: schTaskCheckSetRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 2
    functionsReached:
    - taosGetTimestampMs
    - SCH_TASK_DLOG
    - tstrerror
    - schFailedTaskNeedRetry
    - SCH_TASK_NEED_RETRY
    linkageType: ''
    returnType: int32_t
    signature: int32_t schTaskCheckSetRetry(SSchJob *pJob, SSchTask *pTask, int32_t
      errCode, bool *needRetry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:746,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:749,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:749,1
    - Dst: schRemoveTaskFromExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:752,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:753,1
    - Dst: SCH_TASK_NEED_FLOW_CTRL
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:755,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:756,1
    - Dst: schLaunchTasksInFlowCtrlList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:756,1
    - Dst: schDeregisterTaskHb
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:759,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:761,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:764,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:767,1
    - Dst: schUpdateCurrentEpset
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:767,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:769,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:769,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:772,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 745
    functionDepth: 4
    functionLinenumber: 745
    functionLinenumberEnd: 774
    functionName: schHandleTaskRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - schLaunchTasksInFlowCtrlList
    - schRemoveTaskFromExecList
    - SCH_ERR_RET
    - schDeregisterTaskHb
    - schUpdateCurrentEpset
    - SCH_SET_TASK_STATUS
    - schDelayLaunchTask
    - taosGetTimestampMs
    - schSwitchTaskCandidateAddr
    - atomic_sub_fetch_32
    - taosTmrStop
    - SCH_IS_DATA_BIND_TASK
    - SCH_TASK_NEED_FLOW_CTRL
    - UNUSED
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleTaskRetry(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:781,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:784,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:787,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:788,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:789,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:792,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:793,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:794,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:801,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 806
    functionName: schSetAddrsFromNodeList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_TASK_ELOG
    - SCH_GET_CUR_EP
    - taosArrayGetSize
    - SCH_TASK_TLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schSetAddrsFromNodeList(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:813,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:815,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:816,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:820,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:821,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:822,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:825,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:830,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:831,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:832,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:835,1
    - Dst: schSetAddrsFromNodeList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:835,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:837,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 839
    functionName: schSetTaskCandidateAddrs
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - schSetAddrsFromNodeList
    - SCH_ERR_RET
    - SCH_TASK_ELOG
    - taosRand
    - taosArrayGetSize
    - taosArrayInit
    - SCH_IS_DATA_BIND_TASK
    - SCH_TASK_TLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schSetTaskCandidateAddrs(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:844,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:845,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:846,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:847,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:850,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:852,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:852,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:853,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:859,1
    - Dst: schDumpEpSet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:859,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:860,1
    - Dst: schDumpEpSet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:860,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:862,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:864,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:868,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pEpSet
    argTypes:
    - SSchJob*
    - SSchTask*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 872
    functionName: schUpdateTaskCandidateAddr
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_TASK_ELOG
    - SCH_ERR_JRET
    - TAOS_MEMCPY
    - taosMemoryFree
    - taosArrayGetSize
    - SCH_TASK_DLOG
    - schDumpEpSet
    linkageType: ''
    returnType: int32_t
    signature: int32_t schUpdateTaskCandidateAddr(SSchJob *pJob, SSchTask *pTask,
      SEpSet *pEpSet)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:879,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:895,1
    - Dst: schGetTaskCurrentNodeAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:902,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:904,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 907
    functionName: schSwitchTaskCandidateAddr
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 4
    functionsReached:
    - schGetTaskCurrentNodeAddr
    - SCH_TASK_DLOG
    - taosArrayGetSize
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t schSwitchTaskCandidateAddr(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:910,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 916
    functionName: schRemoveTaskFromExecList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 2
    functionsReached:
    - taosHashRemove
    - SCH_TASK_WLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schRemoveTaskFromExecList(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:920,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:920,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:924,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:926,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:926,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:931,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:934,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:935,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:936,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:938,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:940,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:944,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 918
    functionDepth: 6
    functionLinenumber: 918
    functionLinenumberEnd: 948
    functionName: schDropTaskOnExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 3
    functionsReached:
    - SCH_SET_TASK_HANDLE
    - taosHashIterate
    - taosHashGetSize
    - taosHashGetKey
    - schBuildAndSendMsg
    - SCH_TASK_DLOG
    - SCH_GET_TASK_STATUS_STR
    linkageType: ''
    returnType: void
    signature: void schDropTaskOnExecNode(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:951,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:953,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:953,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:958,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:961,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:962,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:962,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:965,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:969,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pJob
    - pTask
    - type
    argTypes:
    - SSchJob*
    - SSchTask*
    - ETaskNotifyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 950
    functionDepth: 6
    functionLinenumber: 950
    functionLinenumberEnd: 974
    functionName: schNotifyTaskOnExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_SET_TASK_HANDLE
    - taosHashIterate
    - SCH_ERR_RET
    - taosHashGetSize
    - schBuildAndSendMsg
    - SCH_TASK_DLOG
    - SCH_GET_TASK_STATUS_STR
    linkageType: ''
    returnType: int32_t
    signature: int32_t schNotifyTaskOnExecNode(SSchJob *pJob, SSchTask *pTask, ETaskNotifyType
      type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:977,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:981,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:985,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:987,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:993,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:994,1
    - Dst: schProcessOnCbBegin
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:996,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1002,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1003,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1009,1
    - Dst: schRescheduleTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1014,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1017,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pEpId
    - pStatusList
    argTypes:
    - SQueryNodeEpId*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 976
    functionDepth: 3
    functionLinenumber: 976
    functionLinenumberEnd: 1021
    functionName: schProcessOnTaskStatusRsp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - schProcessOnCbBegin
    - taosArrayGet
    - schProcessOnCbEnd
    - qError
    - qDebug
    - taosArrayGetSize
    - SCH_TASK_DLOG
    - jobTaskStatusStr
    - schRescheduleTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnTaskStatusRsp(SQueryNodeEpId *pEpId, SArray *pStatusList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1025,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1034,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1036,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1040,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1044,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1046,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1048,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1052,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1053,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1053,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1054,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1055,1
    - Dst: schGetTaskInJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1058,1
    - Dst: schProcessExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1061,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1064,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1066,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1069,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1079,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1081,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1085,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1088,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1090,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - pExplainRes
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1091
    functionName: schHandleExplainRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - tFreeSExplainRsp
    - taosArrayGet
    - schReleaseJob
    - qError
    - qWarn
    - schGetTaskInJob
    - SCH_ERR_JRET
    - qDebug
    - taosArrayGetSize
    - schJobNeedToStop
    - SCH_TASK_DLOG
    - SCH_RET
    - taosArrayDestroy
    - schAcquireJob
    - jobTaskStatusStr
    - schProcessExplainRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleExplainRes(SArray *pExplainRes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1098,1
    - Dst: qSubPlanToMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1099,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1103,1
    - Dst: qSubPlanToString
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1108,1
    - Dst: SCH_TASK_DLOGL
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1110,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1111,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1113,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1113,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1117,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1120,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1120,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1122,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1126,1
    - Dst: schSetTaskCandidateAddrs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1126,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1128,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1129,1
    - Dst: schEnsureHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1129,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1132,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1093
    functionDepth: 8
    functionLinenumber: 1093
    functionLinenumberEnd: 1133
    functionName: schLaunchRemoteTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_TASK_DLOGL
    - SCH_TASK_WLOG
    - SCH_ERR_RET
    - schEnsureHbConnection
    - SCH_TASK_ELOG
    - SCH_LOCK
    - schBuildAndSendMsg
    - taosMemoryFree
    - SCH_TASK_DLOG
    - qSubPlanToMsg
    - tstrerror
    - SCH_RET
    - SCH_UNLOCK
    - SCH_IS_QUERY_JOB
    - schSetTaskCandidateAddrs
    - qSubPlanToString
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchRemoteTask(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1139,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1139,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1140,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1141,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1149,1
    - Dst: SCH_TASK_NEED_FETCH
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1150,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1157,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1158,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1160,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1164,1
    - Dst: qWorkerProcessLocalQuery
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1164,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1167,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1168,1
    - Dst: schHandleExplainRes
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1168,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1172,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1172,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1176,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1135
    functionDepth: 4
    functionLinenumber: 1135
    functionLinenumberEnd: 1179
    functionName: schLaunchLocalTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - qWorkerProcessLocalQuery
    - qWorkerInit
    - atomic_val_compare_exchange_ptr
    - SCH_ERR_RET
    - qWorkerDestroy
    - SCH_ERR_JRET
    - SCH_IS_EXPLAIN_JOB
    - schHandleExplainRes
    - SCH_RET
    - taosArrayInit
    - taosArrayDestroy
    - SCH_TASK_NEED_FETCH
    - schProcessOnTaskSuccess
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchLocalTask(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1185,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1187,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1188,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1189,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1193,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1195,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1195,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1196,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1198,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1199,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1208,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1218,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1218,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1219,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1224,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1226,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1227,1
    - Dst: SCH_LOG_TASK_START_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1229,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1231,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1232,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1232,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1233,1
    - Dst: SCH_GET_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:1237,1
    - Dst: schPushTaskToExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1237,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1238,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1241,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1242,1
    - Dst: schLaunchLocalTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1242,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1244,1
    - Dst: schLaunchRemoteTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1244,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1248,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1249,1
    - Dst: schEnsureHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1249,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1257,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1260,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1265,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1268,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1270,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1272,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1181
    functionDepth: 9
    functionLinenumber: 1181
    functionLinenumberEnd: 1273
    functionName: schLaunchTaskImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - SCH_ERR_JRET
    - atomic_add_fetch_32
    - SCH_TASK_DLOG
    - jobTaskStatusStr
    - taosArrayGetP
    - SCH_GET_TASK_STATUS
    - schLaunchRemoteTask
    - SCH_LOCK_TASK
    - SCH_IS_LOCAL_EXEC_TASK
    - taosArrayGetSize
    - schLaunchLocalTask
    - SCH_LOG_TASK_START_TS
    - schReleaseJob
    - schHandleJobFailure
    - qDebug
    - SCH_RET
    - SCH_IS_QUERY_JOB
    - schAcquireJob
    - SCH_TASK_TLOG
    - SCH_UNLOCK_TASK
    - atomic_load_64
    - schEnsureHbConnection
    - schProcessOnTaskFailure
    - SCH_SET_TASK_STATUS
    - taosMemoryFree
    - schJobNeedToStop
    - schPushTaskToExecList
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchTaskImpl(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mayCreateAsyncWork
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1276,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1277,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1280,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1282,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1291,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1291,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1293,1
    - Dst: schLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1275
    functionDepth: 10
    functionLinenumber: 1275
    functionLinenumberEnd: 1297
    functionName: schAsyncLaunchTaskImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - schLaunchTaskImpl
    - taosAsyncExec
    - SCH_ERR_RET
    - mayCreateAsyncWork
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t schAsyncLaunchTaskImpl(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1304,1
    - Dst: SCH_TASK_NEED_FLOW_CTRL
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1306,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1307,1
    - Dst: schCheckIncTaskFlowQuota
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1307,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1310,1
    - Dst: schAsyncLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1310,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1313,1
    - Dst: schAsyncLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1313,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1319,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1300
    functionDepth: 11
    functionLinenumber: 1300
    functionLinenumberEnd: 1320
    functionName: schLaunchTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - schAsyncLaunchTaskImpl
    - SCH_SET_TASK_HANDLE
    - schProcessOnTaskFailure
    - SCH_ERR_JRET
    - SCH_RET
    - SCH_TASK_NEED_FLOW_CTRL
    - schCheckIncTaskFlowQuota
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchTask(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1328,1
    - Dst: schProcessOnCbBegin
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1335,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1339,1
    - Dst: schLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1340,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1342,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1322
    functionDepth: 12
    functionLinenumber: 1322
    functionLinenumberEnd: 1346
    functionName: schHandleTimerEvent
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - schProcessOnCbBegin
    - atomic_load_8
    - schProcessOnCbEnd
    - schLaunchTask
    - qDebug
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: void
    signature: void schHandleTimerEvent(void *param, void *tmrId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1355,1
    - Dst: schPushTaskToExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1355,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1356,1
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1359,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1361,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1362,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1365,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1370,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1372,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1375,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1382,1
    - Dst: schLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1348
    functionDepth: 12
    functionLinenumber: 1348
    functionLinenumberEnd: 1383
    functionName: schDelayLaunchTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 4
    functionsReached:
    - taosTmrStart
    - taosTmrReset
    - SCH_ERR_RET
    - SCH_TASK_ELOG
    - SCH_SET_TASK_STATUS
    - schLaunchTask
    - SCH_TASK_DLOG
    - SCH_RET
    - schPushTaskToExecList
    linkageType: ''
    returnType: int32_t
    signature: int32_t schDelayLaunchTask(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1386,1
    - Dst: schChkJobNeedFlowCtrl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1386,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1389,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1393,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1394,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pJob
    - level
    argTypes:
    - SSchJob*
    - SSchLevel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1385
    functionDepth: 13
    functionLinenumber: 1385
    functionLinenumberEnd: 1398
    functionName: schLaunchLevelTasks
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - schChkJobNeedFlowCtrl
    - taosArrayGet
    - SCH_ERR_RET
    - schDelayLaunchTask
    - SCH_TASK_TLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchLevelTasks(SSchJob *pJob, SSchLevel *level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_JOB_NEED_DROP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1401,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1405,1
    - Dst: schStopTaskDelayTimer
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1410,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1413,1
    - Dst: schDropTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1414,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1415,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pJob
    - list
    argTypes:
    - SSchJob*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1400
    functionDepth: 7
    functionLinenumber: 1400
    functionLinenumberEnd: 1419
    functionName: schDropTaskInHashList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - SCH_UNLOCK_TASK
    - taosHashIterate
    - schDropTaskOnExecNode
    - SCH_JOB_NEED_DROP
    - schStopTaskDelayTimer
    - SCH_LOCK_TASK
    linkageType: ''
    returnType: void
    signature: void schDropTaskInHashList(SSchJob *pJob, SHashObj *list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1425,1
    - Dst: schNotifyTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1425,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1428,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1432,1
    - Dst: schNotifyTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1433,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1434,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1441,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - pJob
    - list
    - type
    - pCurrTask
    argTypes:
    - SSchJob*
    - SHashObj*
    - ETaskNotifyType
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1421
    functionDepth: 7
    functionLinenumber: 1421
    functionLinenumberEnd: 1445
    functionName: schNotifyTaskInHashList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - SCH_UNLOCK_TASK
    - taosHashIterate
    - SCH_ERR_RET
    - SCH_LOCK_TASK
    - SCH_RET
    - schNotifyTaskOnExecNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t schNotifyTaskInHashList(SSchJob *pJob, SHashObj *list, ETaskNotifyType
      type, SSchTask *pCurrTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1448,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1448,1
    - Dst: SCH_FETCH_TYPE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1447
    functionDepth: 6
    functionLinenumber: 1447
    functionLinenumberEnd: 1449
    functionName: schExecRemoteFetch
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - SCH_FETCH_TYPE
    - schBuildAndSendMsg
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t schExecRemoteFetch(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1456,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1457,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1459,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1463,1
    - Dst: qWorkerProcessLocalFetch
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1463,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1466,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1467,1
    - Dst: schHandleExplainRes
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1467,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1471,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1471,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1475,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1451
    functionDepth: 3
    functionLinenumber: 1451
    functionLinenumberEnd: 1478
    functionName: schExecLocalFetch
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 0
    functionsReached:
    - SCH_ERR_RET
    - qWorkerProcessLocalFetch
    - SCH_ERR_JRET
    - SCH_IS_EXPLAIN_JOB
    - schHandleExplainRes
    - schProcessFetchRsp
    - SCH_RET
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t schExecLocalFetch(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1484,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1486,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1490,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1492,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1493,1
    - Dst: schExecLocalFetch
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1493,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1495,1
    - Dst: schExecRemoteFetch
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1495,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1502,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1481
    functionDepth: 7
    functionLinenumber: 1481
    functionLinenumberEnd: 1503
    functionName: schLaunchFetchTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 2
    functionsReached:
    - schProcessOnTaskFailure
    - SCH_SET_TASK_STATUS
    - SCH_ERR_JRET
    - SCH_IS_LOCAL_EXEC_TASK
    - schExecLocalFetch
    - schExecRemoteFetch
    - atomic_load_ptr
    - SCH_RET
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchFetchTask(SSchJob *pJob)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: schGetTaskCurrentNodeAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1508,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1510,1
    - Dst: SCH_SWITCH_EPSET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1514,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1516,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1516,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1518,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1518,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pTask
    - pJob
    argTypes:
    - SSchTask*
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1505
    functionDepth: 2
    functionLinenumber: 1505
    functionLinenumberEnd: 1527
    functionName: schUpdateCurrentEpset
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 2
    functionsReached:
    - SCH_ERR_RET
    - tListLen
    - SCH_TASK_ELOG
    - SCH_SWITCH_EPSET
    - SCH_TASK_DLOG
    - tstrerror
    - schGetTaskCurrentNodeAddr
    - epsetToStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t schUpdateCurrentEpset(SSchTask *pTask, SSchJob *pJob)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1530,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1535,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pTask
    - pJob
    - rspCode
    argTypes:
    - SSchTask*
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1548
    functionName: schFailedTaskNeedRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: 1
    functionsReached:
    - taosGetTimestampMs
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schFailedTaskNeedRetry(SSchTask *pTask, SSchJob *pJob, int32_t
      rspCode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:29,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:38,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:41,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:43,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:44,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:47,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:47,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:49,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:50,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:53,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:55,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:55,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:56,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:59,1
    - Dst: getClientId
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 62
    functionName: schedulerInit
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 7
    functionsReached:
    - tstrerror
    - SCH_ERR_RET
    - qError
    - getClientId
    - qInfo
    - taosOpenRef
    - taosHashInit
    - taosGetDefaultHashFunction
    - taosTmrInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t schedulerInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:65,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:70,1
    - Dst: schInitJob
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:70,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:72,1
    - Dst: schHandleOpBeginEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:72,1
    - Dst: SCH_UPDATE_JOB_PHASE_IF_CHANGED
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:74,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:76,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:76,1
    - Dst: SCH_UPDATE_JOB_PHASE_IF_CHANGED
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:78,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:80,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:80,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:84,1
    - Dst: schHandleOpEndEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pReq
    - pJobId
    argTypes:
    - SSchedulerReq*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: schedulerExecJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 7
    functionsReached:
    - schHandleOpEndEvent
    - SCH_ERR_JRET
    - qDebug
    - SCH_UPDATE_JOB_PHASE_IF_CHANGED
    - schSwitchJobStatus
    - SCH_RET
    - schInitJob
    - schHandleOpBeginEvent
    linkageType: ''
    returnType: int32_t
    signature: int32_t schedulerExecJob(SSchedulerReq *pReq, int64_t *pJobId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:88,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:93,1
    - Dst: schHandleOpBeginEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:93,1
    - Dst: SCH_UPDATE_JOB_PHASE_IF_CHANGED
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:95,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:97,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:97,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:100,1
    - Dst: schHandleOpEndEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - jobId
    - pReq
    argTypes:
    - int64_t
    - SSchedulerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: schedulerFetchRows
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 6
    functionsReached:
    - schHandleOpEndEvent
    - SCH_ERR_JRET
    - qDebug
    - SCH_UPDATE_JOB_PHASE_IF_CHANGED
    - schSwitchJobStatus
    - SCH_RET
    - schHandleOpBeginEvent
    linkageType: ''
    returnType: int32_t
    signature: int32_t schedulerFetchRows(int64_t jobId, SSchedulerReq *pReq)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - 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:107,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:110,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:112,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:113,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:117,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:119,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:120,1
    - Dst: SCH_GET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:151,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:155,1
    - Dst: SCH_TASK_NEED_FLOW_CTRL
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:156,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:157,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:159,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:164,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:166,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:170,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:173,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:176,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:179,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:182,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:185,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:189,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:190,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:191,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:198,1
    - Dst: schHandleOpEndEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:198,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 2
    argNames:
    - jobId
    - pSub
    argTypes:
    - int64_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 199
    functionName: schedulerGetTasksStatus
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - schHandleOpEndEvent
    - SCH_GET_TASK_STATUS
    - taosArrayGet
    - qError
    - tsnprintf
    - SCH_ERR_JRET
    - SCH_RET
    - SCH_TASK_NEED_FLOW_CTRL
    - schHandleOpBeginEvent
    linkageType: ''
    returnType: int32_t
    signature: int32_t schedulerGetTasksStatus(int64_t jobId, SArray *pSub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:205,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:205,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:207,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:208,1
    - Dst: SCH_GET_JOB_PHASE
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:211,1
    - Dst: SCH_GET_JOB_PHASE_START_TIME
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:212,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:214,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - jobId
    - pPhase
    - pPhaseStartTime
    argTypes:
    - int64_t
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 218
    functionName: schedulerGetJobPhase
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 0
    functionsReached:
    - schReleaseJob
    - SCH_ERR_RET
    - SCH_GET_JOB_PHASE_START_TIME
    - qDebug
    - SCH_GET_JOB_PHASE
    - schAcquireJob
    linkageType: ''
    returnType: int32_t
    signature: int32_t schedulerGetJobPhase(int64_t jobId, int32_t *pPhase, int64_t
      *pPhaseStartTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schCleanClusterHb
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: schedulerStopQueryHb
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 0
    functionsReached:
    - schCleanClusterHb
    linkageType: ''
    returnType: void
    signature: void schedulerStopQueryHb(void *pTrans)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:234,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:237,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - policy
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: schedulerUpdatePolicy
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 0
    functionsReached:
    - qDebug
    - qError
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t schedulerUpdatePolicy(int32_t policy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enableResche
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: schedulerEnableReSchedule
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t schedulerEnableReSchedule(bool enableResche)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:255,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:257,1
    - Dst: SCH_JOB_GOT_SUB_JOBS
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:263,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:264,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:266,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:268,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:272,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:272,1
    - Dst: schHandleJobDrop
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:273,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:279,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:279,1
    - Dst: schHandleJobDrop
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:280,1
    - Dst: schReleaseJobEx
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - jobId
    - errCode
    argTypes:
    - int64_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 287
    functionName: schedulerFreeJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 7
    functionsReached:
    - SCH_JOB_GOT_SUB_JOBS
    - SCH_JOB_TLOG
    - qTrace
    - schHandleJobDrop
    - qDebug
    - taosArrayGetSize
    - tstrerror
    - schReleaseJobEx
    - schAcquireJob
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void schedulerFreeJob(int64_t *jobId, int32_t errCode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:291,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:294,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:302,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:304,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:304,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:307,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:311,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:313,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:316,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:317,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:319,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:321,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:323,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 327
    functionName: schedulerDestroy
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 7
    functionsReached:
    - taosHashIterate
    - qWarn
    - qWorkerDestroy
    - SCH_LOCK
    - schFreeRpcCtx
    - atomic_store_8
    - taosRemoveRef
    - taosIterateRef
    - qInfo
    - taosHashCleanup
    - tstrerror
    - SCH_UNLOCK
    linkageType: ''
    returnType: void
    signature: void schedulerDestroy(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:331,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:333,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:334,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:337,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:337,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:340,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:341,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:344,1
    - Dst: schValidateAndBuildJob
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:344,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:346,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:347,1
    - Dst: qExecExplainBegin
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:347,1
    - Dst: schFreeJobImpl
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 355
    functionName: schedulerValidatePlan
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: 0
    functionsReached:
    - qExecExplainBegin
    - SCH_ERR_RET
    - qError
    - SCH_ERR_JRET
    - SCH_IS_EXPLAIN_JOB
    - SCH_JOB_ELOG
    - taosHashInit
    - taosGetDefaultHashFunction
    - schValidateAndBuildJob
    - taosMemoryCalloc
    - schFreeJobImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t schedulerValidatePlan(SQueryPlan* pPlan)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:30,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:32,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:36,1
    - Dst: NEED_CLIENT_HANDLE_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:39,1
    - Dst: NEED_CLIENT_HANDLE_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:43,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:44,1
    - Dst: SCH_IS_SUBQ_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:52,1
    - Dst: schUpdateJobErrCode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:53,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:56,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:56,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 57
    functionName: schUpdateJobErrCode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 2
    functionsReached:
    - schUpdateJobErrCode
    - NEED_CLIENT_HANDLE_ERROR
    - atomic_load_32
    - atomic_store_32
    - SCH_IS_SUBQ_JOB
    - atomic_val_compare_exchange_32
    - tstrerror
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: void
    signature: void schUpdateJobErrCode(SSchJob *pJob, int32_t errCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_JOB_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:60,1
    - Dst: SCH_IS_SUBQ_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:66,1
    - Dst: schJobDone
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: schJobDone
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_GET_JOB_STATUS
    - SCH_IS_SUBQ_JOB
    - schJobDone
    linkageType: ''
    returnType: bool
    signature: bool schJobDone(SSchJob *pJob)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_JOB_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:74,1
    - Dst: schJobDone
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:79,1
    - Dst: schUpdateJobErrCode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pJob
    - pStatus
    argTypes:
    - SSchJob*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: schJobNeedToStop
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 3
    functionsReached:
    - schUpdateJobErrCode
    - SCH_GET_JOB_STATUS
    - schJobDone
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE schJobNeedToStop(SSchJob *pJob, int8_t *pStatus)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_JOB_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:97,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:104,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:110,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:116,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:123,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:131,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:139,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:146,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:151,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:155,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:155,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:156,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:159,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:163,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:163,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:163,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:173,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:173,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:173,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:175,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:175,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:175,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:177,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 63
    argCount: 2
    argNames:
    - pJob
    - newStatus
    argTypes:
    - SSchJob*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 178
    functionName: schUpdateJobStatus
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - atomic_val_compare_exchange_8
    - SCH_ERR_JRET
    - SCH_JOB_ELOG
    - SCH_GET_JOB_STATUS
    - SCH_RET
    - jobTaskStatusStr
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schUpdateJobStatus(SSchJob *pJob, int8_t newStatus)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:182,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:184,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:185,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:189,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:191,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:192,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:196,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:197,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:201,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:202,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:205,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:207,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:208,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:214,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:217,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:218,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:221,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:222,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:222,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:223,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:226,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:228,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:229,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:232,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:233,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:234,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:237,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:243,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:244,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:247,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:249,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:250,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:254,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:255,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:261,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:264,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:265,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:268,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:269,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:269,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:270,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:273,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:275,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:276,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:279,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:280,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:281,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:284,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:288,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:292,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:294,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:294,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:295,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:298,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:300,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:301,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:304,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:306,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:306,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:307,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 100
    argCount: 2
    argNames:
    - pJob
    - planToTask
    argTypes:
    - SSchJob*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 316
    functionName: schBuildTaskRalation
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - SCH_ERR_RET
    - LIST_LENGTH
    - taosHashGet
    - SCH_TASK_ELOG
    - nodeType
    - SCH_JOB_ELOG
    - FOREACH
    - SCH_TASK_DLOG
    - taosArrayInit
    - taosArrayGetSize
    - SCH_IS_QUERY_JOB
    linkageType: ''
    returnType: int32_t
    signature: int32_t schBuildTaskRalation(SSchJob *pJob, SHashObj *planToTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_DATA_BIND_QRY_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:319,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:323,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: schAppendJobDataSrc
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - SCH_IS_DATA_BIND_QRY_TASK
    - SCH_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t schAppendJobDataSrc(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:334,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:335,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:338,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:338,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:340,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:343,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:345,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:346,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:349,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:350,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:351,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:354,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:355,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:358,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:360,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:361,1
    - Dst: SCH_RESET_JOB_LEVEL_IDX
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:365,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:367,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:380,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:381,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:382,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:383,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:386,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:388,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:389,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:396,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:397,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:400,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:401,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:401,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:402,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:405,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:407,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:413,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:414,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:419,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:421,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:422,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:427,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:430,1
    - Dst: schValidateSubplan
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:430,1
    - Dst: schSetJobType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:431,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:434,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:436,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:437,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:440,1
    - Dst: schInitTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:440,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:442,1
    - Dst: schAppendJobDataSrc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:442,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:444,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:446,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:446,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:447,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:450,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:452,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:452,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:453,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:457,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:459,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:459,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:460,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:468,1
    - Dst: SCH_JOB_GOT_SUB_JOBS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:472,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:473,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:474,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:477,1
    - Dst: schBuildTaskRalation
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:477,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:482,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:485,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 105
    argCount: 2
    argNames:
    - pDag
    - pJob
    argTypes:
    - SQueryPlan*
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 486
    functionName: schValidateAndBuildJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - SCH_JOB_GOT_SUB_JOBS
    - schAppendJobDataSrc
    - SCH_ERR_JRET
    - nodeType
    - schBuildTaskRalation
    - taosArrayGet
    - LIST_LENGTH
    - taosHashInit
    - taosGetDefaultHashFunction
    - SCH_RESET_JOB_LEVEL_IDX
    - schValidateSubplan
    - qDebug
    - SCH_JOB_ELOG
    - FOREACH
    - schSetJobType
    - SCH_RET
    - SCH_JOB_DLOG
    - SCH_ERR_RET
    - SCH_GET_TASK_CAPACITY
    - SCH_TASK_ELOG
    - taosHashCleanup
    - taosArrayInit
    - tstrerror
    - schInitTask
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t schValidateAndBuildJob(SQueryPlan *pDag, SSchJob *pJob)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:489,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:491,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:496,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:499,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:500,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:502,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:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pParent
    - pRes
    argTypes:
    - SSchJob*
    - SExecResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 509
    functionName: schDumpSubJobsExecRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - TSWAP
    - taosArrayAddAll
    - SCH_LOCK
    - taosArrayGetSize
    - SCH_UNLOCK
    - taosArrayGetP
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: void
    signature: void schDumpSubJobsExecRes(SSchJob *pParent, SExecResult *pRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:512,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:515,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:521,1
    - Dst: SCH_JOB_GOT_SUB_JOBS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:523,1
    - Dst: schDumpSubJobsExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:524,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:526,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:528,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pRes
    argTypes:
    - SSchJob*
    - SExecResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 529
    functionName: schDumpJobExecRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - SCH_JOB_GOT_SUB_JOBS
    - SCH_LOCK
    - atomic_load_32
    - tstrerror
    - SCH_UNLOCK
    - schDumpSubJobsExecRes
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: void
    signature: void schDumpJobExecRes(SSchJob *pJob, SExecResult *pRes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:534,1
    - Dst: SCH_UPDATE_JOB_PHASE_IF_CHANGED
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:539,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:540,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:540,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:544,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:545,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:553,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:555,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:556,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:562,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:565,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:569,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - pJob
    - pData
    argTypes:
    - SSchJob*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 572
    functionName: schDumpJobFetchRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - SCH_LOCK
    - SCH_ERR_JRET
    - SCH_JOB_ELOG
    - SCH_UPDATE_JOB_PHASE_IF_CHANGED
    - schSwitchJobStatus
    - atomic_load_ptr
    - SCH_UNLOCK
    - taosMemoryCalloc
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schDumpJobFetchRes(SSchJob *pJob, void **pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:575,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:577,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:578,1
    - Dst: schDumpJobExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:581,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:583,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:583,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:584,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:585,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 588
    functionName: schNotifyUserExecRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - SCH_JOB_TLOG
    - qError
    - atomic_load_32
    - SCH_RET
    - tstrerror
    - taosMemoryCalloc
    - schDumpJobExecRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t schNotifyUserExecRes(SSchJob *pJob)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schDumpJobFetchRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:593,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:594,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:595,1
    - Dst: SCH_UPDATE_JOB_PHASE_IF_CHANGED
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:598,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:600,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:600,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:601,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:602,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 590
    functionDepth: 3
    functionLinenumber: 590
    functionLinenumberEnd: 605
    functionName: schNotifyUserFetchRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - atomic_load_32
    - schDumpJobFetchRes
    - atomic_store_32
    - SCH_UPDATE_JOB_PHASE_IF_CHANGED
    - tstrerror
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schNotifyUserFetchRes(SSchJob *pJob)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:609,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:613,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:616,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:616,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:621,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:621,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:621,1
    - Dst: SCH_JOB_IN_SYNC_OP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:625,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:626,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:627,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:629,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:629,1
    - Dst: SCH_JOB_IN_ASYNC_EXEC_OP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:631,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:632,1
    - Dst: schNotifyUserExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:633,1
    - Dst: SCH_JOB_IN_ASYNC_FETCH_OP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:634,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:635,1
    - Dst: schNotifyUserFetchRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:636,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:638,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:639,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:639,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:646,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - pJob
    - op
    argTypes:
    - SSchJob*
    - SCH_OP_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 607
    functionDepth: 4
    functionLinenumber: 607
    functionLinenumberEnd: 647
    functionName: schPostJobRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - SCH_IS_PARENT_JOB
    - SCH_JOB_TLOG
    - tsem_post
    - schNotifyUserExecRes
    - SCH_JOB_IN_ASYNC_FETCH_OP
    - schNotifyUserFetchRes
    - SCH_LOCK
    - SCH_JOB_IN_ASYNC_EXEC_OP
    - schGetOpStr
    - SCH_JOB_ELOG
    - tstrerror
    - SCH_JOB_IN_SYNC_OP
    - SCH_UNLOCK
    - jobTaskStatusStr
    linkageType: ''
    returnType: void
    signature: void schPostJobRes(SSchJob *pJob, SCH_OP_TYPE op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:651,1
    - Dst: schUpdateJobErrCode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:655,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:657,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:659,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:659,1
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:662,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 649
    functionDepth: 5
    functionLinenumber: 649
    functionLinenumberEnd: 665
    functionName: schProcessOnJobFailure
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - schUpdateJobErrCode
    - schPostJobRes
    - atomic_load_32
    - SCH_RET
    - tstrerror
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnJobFailure(SSchJob *pJob, int32_t errCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:672,1
    - Dst: SCH_IS_SUBQ_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:673,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:674,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:674,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 679
    functionName: schHandleJobFailure
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - SCH_IS_SUBQ_JOB
    - schSwitchJobStatus
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleJobFailure(SSchJob *pJob, int32_t errCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:681,1
    - Dst: schProcessOnJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 681
    functionDepth: 6
    functionLinenumber: 681
    functionLinenumberEnd: 681
    functionName: schProcessOnJobDropped
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_RET
    - schProcessOnJobFailure
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnJobDropped(SSchJob *pJob, int32_t errCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 691
    functionName: schHandleJobDrop
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - schSwitchJobStatus
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleJobDrop(SSchJob *pJob, int32_t errCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schChkCurrentOp
      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: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:695,1
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 693
    functionDepth: 8
    functionLinenumber: 693
    functionLinenumberEnd: 701
    functionName: schProcessOnJobPartialSuccess
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - schPostJobRes
    - schChkCurrentOp
    - schLaunchFetchTask
    - SCH_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnJobPartialSuccess(SSchJob *pJob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 5
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: schProcessOnDataFetched
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - schPostJobRes
    linkageType: ''
    returnType: void
    signature: void schProcessOnDataFetched(SSchJob *pJob)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:706,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:706,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:708,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:708,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:709,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:711,1
    - Dst: SCH_IS_INSERT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:713,1
    - Dst: schProcessOnDataFetched
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pRsp
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRetrieveTableRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 705
    functionDepth: 6
    functionLinenumber: 705
    functionLinenumberEnd: 718
    functionName: schProcessOnExplainDone
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 3
    functionsReached:
    - htobe64
    - SCH_SET_TASK_STATUS
    - SCH_IS_INSERT_JOB
    - schProcessOnDataFetched
    - atomic_store_ptr
    - SCH_TASK_DLOG
    - atomic_store_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnExplainDone(SSchJob *pJob, SSchTask *pTask, SRetrieveTableRsp
      *pRsp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:721,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:726,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:728,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:730,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: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:737,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:739,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:740,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:743,1
    - Dst: SCH_TASK_ALREADY_LAUNCHED
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:747,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:751,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:751,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 720
    functionDepth: 13
    functionLinenumber: 720
    functionLinenumberEnd: 756
    functionName: schLaunchJobLowerLevel
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - SCH_ERR_RET
    - schDelayLaunchTask
    - atomic_load_32
    - SCH_JOB_ELOG
    - atomic_sub_fetch_32
    - taosArrayGetSize
    - SCH_TASK_ALREADY_LAUNCHED
    - SCH_IS_QUERY_JOB
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchJobLowerLevel(SSchJob *pJob, SSchTask *pTask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:760,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:763,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:765,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:766,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:768,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:773,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:773,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:774,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:775,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:776,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:779,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pJob
    - rsp
    argTypes:
    - SSchJob*
    - SQueryTableRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 785
    functionName: schSaveJobExecRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - taosArrayAddBatch
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_LOCK
    - taosArrayGetSize
    - taosArrayInit
    - SCH_UNLOCK
    - taosArrayDestroy
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schSaveJobExecRes(SSchJob *pJob, SQueryTableRsp *rsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schGetTaskFromList
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:788,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:790,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pJob
    - taskId
    - pTask
    argTypes:
    - SSchJob*
    - uint64_t
    - SSchTask**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 795
    functionName: schGetTaskInJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_JOB_ELOG
    - schGetTaskFromList
    - SCH_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t schGetTaskInJob(SSchJob *pJob, uint64_t taskId, SSchTask **pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:798,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:800,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:800,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:801,1
    - Dst: SCH_UPDATE_JOB_PHASE_IF_CHANGED
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:804,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:806,1
    - Dst: schLaunchLevelTasks
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 797
    functionDepth: 14
    functionLinenumber: 797
    functionLinenumberEnd: 813
    functionName: schLaunchJobImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_JOB_ELOG
    - SCH_UPDATE_JOB_PHASE_IF_CHANGED
    - taosArrayGetSize
    - schLaunchLevelTasks
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchJobImpl(SSchJob *pJob)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:817,1
    - Dst: qExecStaticExplain
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:817,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:818,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:818,1
    - Dst: SCH_IS_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:823,1
    - Dst: SCH_JOB_GOT_SUB_JOBS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:823,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:823,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:824,1
    - Dst: schLaunchJobImpl
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:824,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:824,1
    - Dst: schLaunchJobImpl
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 815
    functionDepth: 15
    functionLinenumber: 815
    functionLinenumberEnd: 830
    functionName: schLaunchJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - SCH_IS_PARENT_JOB
    - qExecStaticExplain
    - SCH_JOB_GOT_SUB_JOBS
    - SCH_ERR_RET
    - schLaunchJobImpl
    - schSwitchJobStatus
    - taosArrayGetSize
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t schLaunchJob(SSchJob *pJob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schDropTaskInHashList
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 832
    functionDepth: 8
    functionLinenumber: 832
    functionLinenumberEnd: 836
    functionName: schDropJobAllTasks
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - schDropTaskInHashList
    linkageType: ''
    returnType: void
    signature: void schDropJobAllTasks(SSchJob *pJob)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:841,1
    - Dst: schNotifyTaskInHashList
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:841,1
    - Dst: SCH_JOB_GOT_SUB_JOBS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:843,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:848,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:853,1
    - Dst: schNotifyTaskInHashList
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pJob
    - pTask
    - type
    argTypes:
    - SSchJob*
    - SSchTask*
    - ETaskNotifyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 838
    functionDepth: 8
    functionLinenumber: 838
    functionLinenumberEnd: 857
    functionName: schNotifyJobAllTasks
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_ERR_RET
    - schNotifyTaskInHashList
    - SCH_JOB_GOT_SUB_JOBS
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t schNotifyJobAllTasks(SSchJob *pJob, SSchTask *pTask, ETaskNotifyType
      type)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_PARENT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:867,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:869,1
    - Dst: schDropJobAllTasks
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:871,1
    - Dst: SCH_JOB_GOT_SUB_JOBS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:873,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:874,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:877,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:879,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:881,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:885,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:887,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:889,1
    - Dst: schFreeTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:893,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:896,1
    - Dst: schFreeFlowCtrl
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:899,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:901,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:904,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:906,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:907,1
    - Dst: qExplainFreeCtx
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:909,1
    - Dst: destroyQueryExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:911,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:914,1
    - Dst: qDestroyQueryPlan
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:915,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:916,1
    - Dst: nodesReleaseAllocatorWeakRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:917,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:920,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:921,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:922,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:923,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:925,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:925,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:927,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:930,1
    - Dst: schCloseJobRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:932,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:936,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 1
    argNames:
    - job
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 859
    functionDepth: 9
    functionLinenumber: 859
    functionLinenumberEnd: 937
    functionName: schFreeJobImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - SCH_JOB_GOT_SUB_JOBS
    - qError
    - nodesReleaseAllocatorWeakRef
    - taosArrayDestroy
    - schFreeTask
    - SCH_IS_PARENT_JOB
    - schCloseJobRef
    - taosArrayGet
    - tsem_destroy
    - taosArrayGetSize
    - destroyQueryExecRes
    - schFreeFlowCtrl
    - qDebug
    - SCH_JOB_ELOG
    - qDestroyQueryPlan
    - qExplainFreeCtx
    - taosArrayDestroyP
    - taosMemoryFree
    - taosHashCleanup
    - schDropJobAllTasks
    - tstrerror
    - atomic_sub_fetch_32
    linkageType: ''
    returnType: void
    signature: void schFreeJobImpl(void *job)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:942,1
    - Dst: SCH_IS_INSERT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:942,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:943,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:943,1
    - Dst: schChkCurrentOp
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:945,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:946,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:946,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:947,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:949,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:949,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:950,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:953,1
    - Dst: schDumpJobFetchRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:953,1
    - Dst: schChkCurrentOp
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:956,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:957,1
    - Dst: schDumpJobFetchRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:957,1
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:959,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:963,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 939
    functionDepth: 8
    functionLinenumber: 939
    functionLinenumberEnd: 964
    functionName: schJobFetchRows
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - tsem_wait
    - schPostJobRes
    - SCH_ERR_RET
    - qError
    - SCH_IS_INSERT_JOB
    - SCH_IS_EXPLAIN_JOB
    - schLaunchFetchTask
    - SCH_GET_JOB_STATUS_STR
    - schDumpJobFetchRes
    - SCH_RET
    - tstrerror
    - schChkCurrentOp
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schJobFetchRows(SSchJob *pJob)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:969,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:971,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:972,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:976,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:978,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:979,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1011,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1014,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1014,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1014,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1017,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1017,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1018,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1021,1
    - Dst: schValidateAndBuildJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1021,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1023,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1023,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1026,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1027,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1030,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1031,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1032,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1035,1
    - Dst: qDestroyQueryPlan
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1044,1
    - Dst: schFreeJobImpl
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1046,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1049,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 56
    argCount: 5
    argNames:
    - pParent
    - pDag
    - subJobId
    - ppRes
    - pReq
    argTypes:
    - SSchJob*
    - SQueryPlan*
    - int32_t
    - SSchJob**
    - SSchedulerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 966
    functionDepth: 10
    functionLinenumber: 966
    functionLinenumberEnd: 1050
    functionName: schInitSubJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - SCH_JOB_TLOG
    - qDestroyQueryPlan
    - qError
    - SCH_GET_TASK_CAPACITY
    - tsem_init
    - SCH_ERR_JRET
    - qDebug
    - SCH_JOB_ELOG
    - taosHashInit
    - SCH_RET
    - taosGetDefaultHashFunction
    - schValidateAndBuildJob
    - taosMemoryCalloc
    - taosStrdup
    - schFreeJobImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t schInitSubJob(SSchJob* pParent, SQueryPlan* pDag, int32_t subJobId,
      SSchJob** ppRes, SSchedulerReq *pReq)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1056,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1058,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1059,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1067,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1069,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1070,1
    - Dst: nodesMakeAllocatorWeakRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1075,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1077,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1078,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1090,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1092,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1093,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1095,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1097,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1098,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1099,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1103,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1103,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1103,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1106,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1106,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1107,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1110,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1112,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1112,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1113,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1118,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1119,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1122,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1124,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1125,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1130,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1131,1
    - Dst: schInitSubJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1131,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1132,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1137,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1138,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1140,1
    - Dst: schValidateAndBuildJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1140,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1142,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1143,1
    - Dst: qExecExplainBegin
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1143,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1146,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1146,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1149,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1150,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1153,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1154,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1155,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1158,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1162,1
    - Dst: qDestroyQueryPlan
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1169,1
    - Dst: schFreeJobImpl
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1171,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1173,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1175,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1179,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 99
    argCount: 2
    argNames:
    - pJobId
    - pReq
    argTypes:
    - int64_t*
    - SSchedulerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1052
    functionDepth: 11
    functionLinenumber: 1052
    functionLinenumberEnd: 1180
    functionName: schInitJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - qExecExplainBegin
    - SCH_JOB_TLOG
    - taosAddRef
    - qError
    - atomic_add_fetch_64
    - SCH_ERR_JRET
    - atomic_add_fetch_32
    - taosArrayDup
    - taosArraySet
    - qTrace
    - taosRemoveRef
    - taosHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - schValidateAndBuildJob
    - taosMemoryCalloc
    - tsem_init
    - qDebug
    - SCH_JOB_ELOG
    - FOREACH
    - SCH_RET
    - taosArrayInit_s
    - taosStrdup
    - schFreeJobImpl
    - SCH_JOB_DLOG
    - qDestroyQueryPlan
    - schInitSubJob
    - SCH_GET_TASK_CAPACITY
    - SCH_IS_EXPLAIN_JOB
    - nodesMakeAllocatorWeakRef
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t schInitJob(int64_t *pJobId, SSchedulerReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1184,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1186,1
    - Dst: schLaunchJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1186,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1189,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1189,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1190,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1192,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1193,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1197,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pJob
    - pReq
    argTypes:
    - SSchJob*
    - SSchedulerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1182
    functionDepth: 16
    functionLinenumber: 1182
    functionLinenumberEnd: 1200
    functionName: schExecJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - tsem_wait
    - qTrace
    - SCH_ERR_RET
    - qError
    - schLaunchJob
    - SCH_GET_JOB_STATUS_STR
    - tstrerror
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schExecJob(SSchJob *pJob, SSchedulerReq *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pReq
    - errCode
    argTypes:
    - SSchedulerReq*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1212
    functionName: schDirectPostJobRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schDirectPostJobRes(SSchedulerReq *pReq, int32_t errCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1216,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1218,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1220,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1220,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1221,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1224,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1225,1
    - Dst: schUpdateJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pJob
    - rspCode
    argTypes:
    - SSchJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1229
    functionName: schChkResetJobRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_ERR_RET
    - schUpdateJobStatus
    - SCH_LOCK
    - SCH_JOB_ELOG
    - tstrerror
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t schChkResetJobRetry(SSchJob *pJob, int32_t rspCode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1233,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1236,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1237,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1241,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1243,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1244,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1248,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1249,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1257,1
    - Dst: schChkResetJobRetry
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1257,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1259,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1262,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1264,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1265,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1271,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1273,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1275,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1276,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1279,1
    - Dst: schChkUpdateRedirectCtx
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1281,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1283,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1284,1
    - Dst: schResetTaskForRetry
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1287,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1289,1
    - Dst: qClearSubplanExecutionNode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1290,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1291,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1293,1
    - Dst: SCH_RESET_JOB_LEVEL_IDX
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1297,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1299,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 4
    argNames:
    - pJob
    - pTask
    - rspCode
    - inRetry
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1231
    functionDepth: 5
    functionLinenumber: 1231
    functionLinenumberEnd: 1302
    functionName: schResetJobForRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 0
    functionsReached:
    - atomic_val_compare_exchange_8
    - schResetTaskForRetry
    - taosUsleep
    - atomic_add_fetch_64
    - schChkUpdateRedirectCtx
    - SCH_TASK_DLOG
    - taosArrayGet
    - SCH_LOCK_TASK
    - taosArrayGetSize
    - SCH_RESET_JOB_LEVEL_IDX
    - SCH_JOB_ELOG
    - SCH_RET
    - SCH_UNLOCK
    - SCH_JOB_DLOG
    - SCH_UNLOCK_TASK
    - SCH_ERR_RET
    - atomic_load_64
    - SCH_LOCK
    - qClearSubplanExecutionNode
    - schChkResetJobRetry
    linkageType: ''
    returnType: int32_t
    signature: int32_t schResetJobForRetry(SSchJob *pJob, SSchTask *pTask, int32_t
      rspCode, bool *inRetry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1308,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1309,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1311,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1312,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1312,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1314,1
    - Dst: schFailedTaskNeedRetry
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1314,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1315,1
    - Dst: schResetJobForRetry
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1315,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1317,1
    - Dst: schLaunchJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1317,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1319,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1320,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1322,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1325,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1326,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1329,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pMsg
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1304
    functionDepth: 16
    functionLinenumber: 1304
    functionLinenumberEnd: 1333
    functionName: schHandleJobRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_UNLOCK_TASK
    - taosMemoryFreeClear
    - SCH_LOCK_TASK
    - schProcessOnTaskFailure
    - SCH_ERR_JRET
    - atomic_store_8
    - schLaunchJob
    - SCH_TASK_DLOG
    - schResetJobForRetry
    - tstrerror
    - SCH_RET
    - schFailedTaskNeedRetry
    linkageType: ''
    returnType: int32_t
    signature: int32_t schHandleJobRetry(SSchJob *pJob, SSchTask *pTask, SDataBuf
      *pMsg, int32_t rspCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1337,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pJob
    - op
    - sync
    argTypes:
    - SSchJob*
    - int32_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1346
    functionName: schChkCurrentOp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 2
    functionsReached:
    - SCH_UNLOCK
    - SCH_LOCK
    linkageType: ''
    returnType: bool
    signature: bool schChkCurrentOp(SSchJob *pJob, int32_t op, int8_t sync)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1354,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1355,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1357,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1357,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1357,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1358,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1360,1
    - Dst: schDumpJobExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1361,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1366,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1367,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1369,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1369,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1369,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1370,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1372,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1383,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1386,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1386,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1386,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - pJob
    - type
    - pReq
    - errCode
    argTypes:
    - SSchJob*
    - SCH_OP_TYPE
    - SSchedulerReq*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1348
    functionDepth: 3
    functionLinenumber: 1348
    functionLinenumberEnd: 1387
    functionName: schProcessOnOpEnd
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - SCH_JOB_TLOG
    - schHandleJobFailure
    - SCH_LOCK
    - schGetOpStr
    - SCH_JOB_ELOG
    - atomic_val_compare_exchange_32
    - tstrerror
    - SCH_UNLOCK
    - schDumpJobExecRes
    - jobTaskStatusStr
    linkageType: ''
    returnType: void
    signature: void schProcessOnOpEnd(SSchJob *pJob, SCH_OP_TYPE type, SSchedulerReq
      *pReq, int32_t errCode)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_JOB_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1391,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1395,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1396,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1397,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1397,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1398,1
    - Dst: schDirectPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1399,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1400,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1403,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1403,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1406,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1409,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1410,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1411,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1411,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1412,1
    - Dst: schDirectPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1413,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1414,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1417,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1417,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1424,1
    - Dst: SCH_JOB_NEED_FETCH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1426,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1427,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1427,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1428,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1432,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1432,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1433,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1439,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1440,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1444,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1445,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1448,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1449,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1449,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1449,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1450,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 3
    argNames:
    - pJob
    - type
    - pReq
    argTypes:
    - SSchJob*
    - SCH_OP_TYPE
    - SSchedulerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1389
    functionDepth: 3
    functionLinenumber: 1389
    functionLinenumberEnd: 1454
    functionName: schProcessOnOpBegin
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached:
    - schDirectPostJobRes
    - SCH_ERR_RET
    - SCH_LOCK
    - schGetOpStr
    - SCH_JOB_ELOG
    - SCH_GET_JOB_STATUS_STR
    - SCH_GET_JOB_STATUS
    - SCH_JOB_NEED_FETCH
    - qDebug
    - atomic_val_compare_exchange_32
    - schJobNeedToStop
    - SCH_UNLOCK
    - jobTaskStatusStr
    - SCH_JOB_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnOpBegin(SSchJob *pJob, SCH_OP_TYPE type, SSchedulerReq
      *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1458,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1462,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pJob
    - pTask
    - errCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1456
    functionDepth: 3
    functionLinenumber: 1456
    functionLinenumberEnd: 1468
    functionName: schProcessOnCbEnd
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 3
    functionsReached:
    - SCH_UNLOCK_TASK
    - schHandleJobFailure
    - schReleaseJob
    linkageType: ''
    returnType: void
    signature: void schProcessOnCbEnd(SSchJob *pJob, SSchTask *pTask, int32_t errCode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1477,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1479,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1480,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1483,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1484,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1484,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1485,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1489,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1491,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1492,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1495,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1496,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1496,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1497,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1501,1
    - Dst: schGetTaskInJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1501,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1503,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1513,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1516,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1519,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 6
    argNames:
    - job
    - task
    - qId
    - rId
    - sjId
    - tId
    argTypes:
    - SSchJob**
    - SSchTask**
    - uint64_t
    - int64_t
    - int32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1470
    functionDepth: 3
    functionLinenumber: 1470
    functionLinenumberEnd: 1520
    functionName: schProcessOnCbBegin
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 3
    functionsReached:
    - SCH_UNLOCK_TASK
    - taosArrayGetP
    - schReleaseJob
    - SCH_ERR_RET
    - qWarn
    - SCH_LOCK_TASK
    - schGetTaskInJob
    - SCH_ERR_JRET
    - SCH_TASK_DLOG
    - schJobNeedToStop
    - SCH_RET
    - schAcquireJob
    - jobTaskStatusStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t schProcessOnCbBegin(SSchJob **job, SSchTask **task, uint64_t
      qId, int64_t rId, int32_t sjId, uint64_t tId)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pJob
    - type
    argTypes:
    - SSchJob*
    - ESubplanType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1532
    functionName: schSetJobType
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void schSetJobType(SSchJob *pJob, ESubplanType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:32,1
    - Dst: initMetricsManager
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:37,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: MetricsTest::SetUpTestSuite
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - ASSERT_EQ
    - initMetricsManager
    linkageType: ''
    returnType: void
    signature: void SetUpTestSuite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanupMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:42,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: MetricsTest::TearDownTestSuite
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - cleanupMetrics
    linkageType: ''
    returnType: void
    signature: void TearDownTestSuite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: MetricsTest::SetUp
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: MetricsTest::TearDown
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - pMetrics
    - multiplier
    argTypes:
    - SRawWriteMetrics*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 80
    functionName: MetricsTest::PrepareRawWriteMetrics
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void MetricsTest::PrepareRawWriteMetrics(SRawWriteMetrics *pMetrics,
      int32_t multiplier)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pMetrics
    argTypes:
    - SRawDnodeMetrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: MetricsTest::PrepareRawDnodeMetrics
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MetricsTest::PrepareRawDnodeMetrics(SRawDnodeMetrics *pMetrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MetricsTest::PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:92,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:95,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:96,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vgId
    - iterations
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: MetricsTest::SimulateHighLoadMetrics
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - MetricsTest::PrepareRawWriteMetrics
    - snprintf
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void MetricsTest::SimulateHighLoadMetrics(int32_t vgId, int32_t iterations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:102,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:102,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:103,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:107,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vgIds
    - count
    argTypes:
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: MetricsTest::CreateValidVgroupsHash
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - taosHashInit
    - EXPECT_NE
    - taosGetDefaultHashFunction
    - taosHashPut
    linkageType: ''
    returnType: SHashObj
    signature: SHashObj *MetricsTest::CreateValidVgroupsHash(int32_t *vgIds, int32_t
      count)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taos_counter_get_keys_size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:124,1
    - Dst: taos_counter_get_vgroup_ids
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:134,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - vgId
    - clusterId
    - dnodeId
    - dnodeEp
    - dbname
    argTypes:
    - int32_t
    - int64_t
    - int32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 152
    functionName: MetricsTest::CheckVgroupMetricsExist
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - taos_counter_get_vgroup_ids
    - taos_counter_get_keys_size
    linkageType: ''
    returnType: bool
    signature: bool MetricsTest::CheckVgroupMetricsExist(int32_t vgId, int64_t clusterId,
      int32_t dnodeId, const char* dnodeEp, const char* dbname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:155,1
    - Dst: MetricsTest::PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:157,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:160,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:162,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' vgIds'
    - dbPrefix
    argTypes:
    - std::vector<int32_t>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: MetricsTest::AddMetricsForVgroups
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - MetricsTest::PrepareRawWriteMetrics
    - snprintf
    - addWriteMetrics
    - size
    linkageType: ''
    returnType: void
    signature: void MetricsTest::AddMetricsForVgroups(const std::vector<int32_t>&
      vgIds, const char* dbPrefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:170,1
    - Dst: MetricsTest::CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:171,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:173,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' vgIds'
    - shouldExist
    argTypes:
    - std::vector<int32_t>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: MetricsTest::VerifyVgroupMetricsExist
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - snprintf
    - MetricsTest::CheckVgroupMetricsExist
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void MetricsTest::VerifyVgroupMetricsExist(const std::vector<int32_t>&
      vgIds, bool shouldExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:182,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - CheckVgroupMetricsExist
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, InitAndCleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:188,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:195,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:196,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:199,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - PrepareRawWriteMetrics
    - ASSERT_TRUE
    - CheckVgroupMetricsExist
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, AddWriteMetrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:205,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:212,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:213,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:216,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 218
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - PrepareRawWriteMetrics
    - ASSERT_TRUE
    - CheckVgroupMetricsExist
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, UpdateWriteMetrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareRawDnodeMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:222,1
    - Dst: addDnodeMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:225,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - addDnodeMetrics
    - ASSERT_EQ
    - PrepareRawDnodeMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, AddDnodeMetrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:233,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:236,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:237,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:238,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:244,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:245,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 248
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - snprintf
    - PrepareRawWriteMetrics
    - ASSERT_TRUE
    - CheckVgroupMetricsExist
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, MultipleVgroups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanupExpiredMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:254,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - cleanupExpiredMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, CleanupExpiredMetrics_NullParameterHandling)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:261,1
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:263,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:265,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:266,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:267,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:271,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:273,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:274,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:275,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:279,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:279,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:280,1
    - Dst: cleanupExpiredMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:283,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:284,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:287,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:289,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:290,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:291,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 295
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ASSERT_NE
    - std::vector::size
    - snprintf
    - ASSERT_EQ
    - PrepareRawWriteMetrics
    - taosHashInit
    - ASSERT_TRUE
    - taosGetDefaultHashFunction
    - CheckVgroupMetricsExist
    - cleanupExpiredMetrics
    - taosHashCleanup
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, CleanupExpiredMetrics_EmptyValidVgroups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:300,1
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:302,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:304,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:305,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:306,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:310,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:312,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:313,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:314,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:319,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:319,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:320,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:324,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:325,1
    - Dst: cleanupExpiredMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:329,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:330,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:335,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:336,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:337,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:344,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:345,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:346,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 350
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ASSERT_NE
    - std::vector::size
    - snprintf
    - ASSERT_EQ
    - PrepareRawWriteMetrics
    - taosHashInit
    - ASSERT_TRUE
    - taosGetDefaultHashFunction
    - CheckVgroupMetricsExist
    - cleanupExpiredMetrics
    - taosHashCleanup
    - taosHashPut
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, CleanupExpiredMetrics_PartialCleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:355,1
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:357,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:359,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:360,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:361,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:365,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:367,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:368,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:369,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:373,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:373,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:374,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:378,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:379,1
    - Dst: cleanupExpiredMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:383,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:384,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:387,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:389,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:390,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:391,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 395
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - std::vector::size
    - snprintf
    - ASSERT_EQ
    - PrepareRawWriteMetrics
    - taosHashInit
    - ASSERT_TRUE
    - taosGetDefaultHashFunction
    - CheckVgroupMetricsExist
    - cleanupExpiredMetrics
    - taosHashCleanup
    - taosHashPut
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, CleanupExpiredMetrics_AllValidVgroups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:399,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:399,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:400,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:406,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:407,1
    - Dst: cleanupExpiredMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:411,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:412,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 415
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - ASSERT_EQ
    - taosHashInit
    - cleanupExpiredMetrics
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, CleanupExpiredMetrics_EmptyCounters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:422,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:423,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:424,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:429,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:430,1
    - Dst: CreateValidVgroupsHash
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:435,1
    - Dst: cleanupExpiredMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:438,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:439,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:442,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:442,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:443,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:443,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:444,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:444,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:445,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:445,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 448
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ASSERT_EQ
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - ASSERT_TRUE
    - CreateValidVgroupsHash
    - CheckVgroupMetricsExist
    - taosHashCleanup
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, CleanupExpiredMetrics_BasicFunctionality)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimulateHighLoadMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:455,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:459,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:460,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 462
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - CheckVgroupMetricsExist
    - snprintf
    - ASSERT_TRUE
    - SimulateHighLoadMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, HighLoadSimulation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:471,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:477,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:482,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:483,1
    - Dst: join
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:490,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:498,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:499,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 503
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - join
    - ASSERT_EQ
    - std::vector::emplace_back
    - snprintf
    - ASSERT_TRUE
    - CheckVgroupMetricsExist
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, ConcurrentAccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:507,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:508,1
    - Dst: addDnodeMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:511,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:512,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:515,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 517
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ASSERT_EQ
    - CheckVgroupMetricsExist
    - addDnodeMetrics
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, InvalidParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:525,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:527,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:528,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:530,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 533
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - PrepareRawWriteMetrics
    - ASSERT_TRUE
    - CheckVgroupMetricsExist
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, LargeVgIdRange)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:542,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:545,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:550,1
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:552,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:553,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:554,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:559,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:560,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:564,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:564,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:565,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:569,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:570,1
    - Dst: cleanupExpiredMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:574,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:575,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:579,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:580,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:595,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:596,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:600,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 601
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ASSERT_NE
    - std::vector::size
    - ASSERT_EQ
    - taosHashInit
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - ASSERT_TRUE
    - std::vector::push_back
    - CheckVgroupMetricsExist
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - taosHashPut
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, CleanupExpiredMetrics_LargeScale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:608,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:609,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:610,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:613,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:613,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:614,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:618,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:619,1
    - Dst: cleanupExpiredMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:622,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:623,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:626,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:627,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 630
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_NE
    - taosHashInit
    - ASSERT_EQ
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - ASSERT_TRUE
    - taosGetDefaultHashFunction
    - CheckVgroupMetricsExist
    - taosHashCleanup
    - taosHashPut
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, CleanupExpiredMetrics_EdgeCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:637,1
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:639,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:640,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:641,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:645,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:645,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:646,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:649,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:650,1
    - Dst: cleanupExpiredMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:653,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:654,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:657,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:657,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:658,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:658,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:659,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:659,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 663
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ASSERT_NE
    - std::vector::size
    - ASSERT_EQ
    - taosHashInit
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - ASSERT_TRUE
    - taosGetDefaultHashFunction
    - CheckVgroupMetricsExist
    - taosHashCleanup
    - taosHashPut
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, CleanupExpiredMetrics_StressTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrepareRawWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:672,1
    - Dst: addWriteMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:673,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:674,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:678,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:678,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:679,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:685,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:686,1
    - Dst: cleanupExpiredMetrics
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:690,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:691,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:695,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:696,1
    - Dst: CheckVgroupMetricsExist
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:701,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:702,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/metrics/test/metricsTest.cpp:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 706
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/metrics/test/metricsTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - ASSERT_NE
    - taosHashInit
    - ASSERT_EQ
    - PrepareRawWriteMetrics
    - cleanupExpiredMetrics
    - ASSERT_TRUE
    - taosGetDefaultHashFunction
    - CheckVgroupMetricsExist
    - taosHashCleanup
    - taosHashPut
    - addWriteMetrics
    linkageType: ''
    returnType: void
    signature: void TEST_F(MetricsTest, CleanupExpiredMetrics_ConcurrentAccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - counter
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: METRICS_DELETE_COUNTER
    functionSourceFile: /src/tdengine/source/libs/metrics/inc/metricsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: METRICS_DELETE_COUNTER(counter, key)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taos_counter_get_keys_size
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:50,1
    - Dst: taos_counter_get_vgroup_ids
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:55,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:57,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:58,1
    - Dst: uError
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:59,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:65,1
    - Dst: METRICS_DELETE_COUNTER
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:68,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:72,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:73,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - counter
    - pValidVgroups
    - counterName
    argTypes:
    - taos_counter_t*
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: cleanExpiredCounterMetrics
    functionSourceFile: /src/tdengine/source/libs/metrics/src/metrics.c
    functionUses: 0
    functionsReached:
    - uError
    - taosHashGet
    - taos_counter_get_vgroup_ids
    - taosMemoryFree
    - taos_counter_get_keys_size
    - METRICS_DELETE_COUNTER
    linkageType: ''
    returnType: void
    signature: void cleanExpiredCounterMetrics(taos_counter_t *counter, SHashObj *pValidVgroups,
      const char *counterName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_default_init
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:77,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:81,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:82,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:83,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:84,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:85,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:86,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:87,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:88,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:89,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:90,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:91,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:92,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:93,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:94,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:95,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:96,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:98,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:98,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:100,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:100,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:101,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:102,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:104,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:104,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:105,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:106,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:107,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:108,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:109,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:110,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:112,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:112,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:114,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:114,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:115,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:116,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:117,1
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:118,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:122,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:123,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:124,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:125,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:126,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:127,1
    - Dst: taos_collector_registry_must_register_metric
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:128,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 132
    functionName: initMetricsManager
    functionSourceFile: /src/tdengine/source/libs/metrics/src/metrics.c
    functionUses: 1
    functionsReached:
    - taos_collector_registry_default_init
    - taos_collector_registry_must_register_metric
    - taos_counter_new
    - taos_gauge_new
    linkageType: ''
    returnType: int32_t
    signature: int32_t initMetricsManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: cleanupMetrics
    functionSourceFile: /src/tdengine/source/libs/metrics/src/metrics.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanupMetrics()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - counter
    - ','
    - value
    - ','
    - label_values
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: TAOS_COUNTER_ADD
    functionSourceFile: /src/tdengine/source/libs/metrics/src/metrics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAOS_COUNTER_ADD(counter, value, label_values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - gauge
    - ','
    - value
    - ','
    - label_values
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: TAOS_GAUGE_SET
    functionSourceFile: /src/tdengine/source/libs/metrics/src/metrics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAOS_GAUGE_SET(gauge, value, label_values)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:162,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:163,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:164,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:169,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:170,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:171,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:172,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:173,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:174,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:175,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:176,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:177,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:178,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:182,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:183,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:184,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:185,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:186,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:187,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:188,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:189,1
    - Dst: TAOS_COUNTER_ADD
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 6
    argNames:
    - vgId
    - dnodeId
    - clusterId
    - dnodeEp
    - dbname
    - pRawMetrics
    argTypes:
    - int32_t
    - int32_t
    - int64_t
    - char*
    - char*
    - SRawWriteMetrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 194
    functionName: addWriteMetrics
    functionSourceFile: /src/tdengine/source/libs/metrics/src/metrics.c
    functionUses: 16
    functionsReached:
    - snprintf
    - TAOS_COUNTER_ADD
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addWriteMetrics(int32_t vgId, int32_t dnodeId, int64_t clusterId,
      const char *dnodeEp, const char *dbname,\n                        const SRawWriteMetrics
      *pRawMetrics)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:203,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:204,1
    - Dst: TAOS_GAUGE_SET
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:208,1
    - Dst: TAOS_GAUGE_SET
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:209,1
    - Dst: TAOS_GAUGE_SET
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:210,1
    - Dst: TAOS_GAUGE_SET
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - pRawMetrics
    - clusterId
    - dnodeId
    - dnodeEp
    argTypes:
    - SRawDnodeMetrics*
    - int64_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 214
    functionName: addDnodeMetrics
    functionSourceFile: /src/tdengine/source/libs/metrics/src/metrics.c
    functionUses: 2
    functionsReached:
    - snprintf
    - TAOS_GAUGE_SET
    linkageType: ''
    returnType: int32_t
    signature: int32_t addDnodeMetrics(const SRawDnodeMetrics *pRawMetrics, int64_t
      clusterId, int32_t dnodeId, const char *dnodeEp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:219,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:220,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:221,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:222,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:223,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:224,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:225,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:226,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:227,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:228,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:229,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:230,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:231,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:232,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:233,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:234,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:235,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:236,1
    - Dst: cleanExpiredCounterMetrics
      Src: /src/tdengine/source/libs/metrics/src/metrics.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - pValidVgroups
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 239
    functionName: cleanupExpiredMetrics
    functionSourceFile: /src/tdengine/source/libs/metrics/src/metrics.c
    functionUses: 10
    functionsReached:
    - cleanExpiredCounterMetrics
    linkageType: ''
    returnType: int32_t
    signature: int32_t cleanupExpiredMetrics(SHashObj *pValidVgroups)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:24,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:26,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:26,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:30,1
    - Dst: to_string
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:31,1
    - Dst: stoi
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:31,1
    - Dst: stoi
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:31,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:32,1
    - Dst: string::c_str
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:32,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: rewriterTest
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp
    functionUses: 0
    functionsReached:
    - to_string
    - nodeType
    - nodesMakeNode
    - stoi
    - nodesDestroyNode
    - string::c_str
    - taosStrdup
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriterTest(SNode** pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:41,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:42,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:45,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:45,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:46,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:46,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:48,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:48,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:49,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:51,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:51,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:52,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:54,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:54,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:56,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:57,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:58,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:58,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:59,1
    - Dst: string
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:59,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp
    functionUses: 0
    functionsReached:
    - string
    - EXPECT_EQ
    - nodesRewriteExprPostOrder
    - nodesMakeNode
    - nodeType
    - ASSERT_EQ
    - nodesDestroyNode
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void TEST(NodesTest, traverseTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode1
    - pNode2
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: compareValueNode
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareValueNode(SNode* pNode1, SNode* pNode2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:80,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:83,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:84,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:88,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: assert_sort_result
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void assert_sort_result(SNodeList* pList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp
    functionUses: 18
    functionsReached:
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:98,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:98,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:102,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:102,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:106,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:106,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:110,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:110,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:114,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:114,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:118,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:118,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:119,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:119,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:120,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:120,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:121,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:121,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:122,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:122,1
    - Dst: nodesSortList
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:124,1
    - Dst: assert_sort_result
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:126,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 129
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - nodesSortList
    - nodesDestroyList
    - nodesMakeNode
    - ASSERT_EQ
    - assert_sort_result
    linkageType: ''
    returnType: void
    signature: void TEST(NodesTest, sort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:133,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:134,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:137,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:137,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:138,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:138,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:139,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:140,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:140,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:141,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:143,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:143,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:144,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:148,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:149,1
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:149,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:152,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:153,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:154,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:155,1
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:155,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:158,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:159,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:160,1
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:160,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:161,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:162,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:166,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:167,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:168,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:169,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:170,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:171,1
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:171,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:172,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:173,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:174,1
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:174,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:175,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:176,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:180,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:182,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:183,1
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:183,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:184,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:185,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:186,1
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:186,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:187,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:188,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:191,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:192,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:195,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:196,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:197,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:198,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:199,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:200,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:202,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:203,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:204,1
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:204,1
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:205,1
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:205,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:207,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 209
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - strcpy
    - nodesMakeList
    - nodesMakeNode
    - ASSERT_EQ
    - ASSERT_TRUE
    - nodesMatchNode
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListAppend
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void TEST(NodesTest, match)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:212,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesTestMain.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - std::function<void(const SNode*, const SNode*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: NodesCloneTest::registerCheckFunc
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void registerCheckFunc(const std::function<void(const SNode*, const
      SNode*)>& func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:28,1
    - Dst: checkFunc_
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:30,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: NodesCloneTest::run
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - std::unique_ptr::get
    - checkFunc_
    linkageType: ''
    returnType: void
    signature: void run(const SNode* pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerCheckFunc
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:38,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:39,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:39,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:39,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:42,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:42,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:42,1
    - Dst: run
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:47,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:49,1
    - Dst: std::unique_ptr::reset
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:50,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:51,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:53,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - nodeType
    - nodesMakeNode
    - ASSERT_EQ
    - registerCheckFunc
    - std::unique_ptr::get
    - std::unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(NodesCloneTest, tempTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: registerCheckFunc
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:60,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:61,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:61,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:61,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:64,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:65,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:65,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:65,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:66,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:66,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:66,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:68,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:68,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:68,1
    - Dst: run
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:74,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:76,1
    - Dst: std::unique_ptr::reset
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:77,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:78,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:80,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:81,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:82,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - nodeType
    - nodesMakeNode
    - ASSERT_EQ
    - registerCheckFunc
    - std::unique_ptr::get
    - std::unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(NodesCloneTest, joinTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerCheckFunc
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:88,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:89,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:89,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:89,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:92,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:92,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:92,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:93,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:93,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:93,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:94,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:94,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:94,1
    - Dst: run
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:99,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:101,1
    - Dst: std::unique_ptr::reset
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:103,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:104,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:105,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:106,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 109
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - nodeType
    - nodesMakeNode
    - ASSERT_EQ
    - registerCheckFunc
    - std::unique_ptr::get
    - std::unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(NodesCloneTest, stateWindow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerCheckFunc
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:112,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:113,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:113,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:116,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:116,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:116,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:117,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:117,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:117,1
    - Dst: run
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:122,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:124,1
    - Dst: std::unique_ptr::reset
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:125,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:126,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:127,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:128,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - nodeType
    - nodesMakeNode
    - ASSERT_EQ
    - registerCheckFunc
    - std::unique_ptr::get
    - std::unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(NodesCloneTest, sessionWindow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: registerCheckFunc
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:134,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:135,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:135,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:135,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:138,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:138,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:138,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:140,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:140,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:140,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:143,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:143,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:143,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:146,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:146,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:146,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:148,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:149,1
    - Dst: run
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:154,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:156,1
    - Dst: std::unique_ptr::reset
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:157,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:158,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:159,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:160,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:161,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:162,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 167
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - nodeType
    - nodesMakeNode
    - ASSERT_EQ
    - registerCheckFunc
    - std::unique_ptr::get
    - std::unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(NodesCloneTest, intervalWindow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: registerCheckFunc
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:171,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:171,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:171,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:174,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:176,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:176,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:176,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:178,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:178,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:178,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:180,1
    - Dst: run
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:185,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:187,1
    - Dst: std::unique_ptr::reset
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:188,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:189,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:191,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:192,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 197
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - nodeType
    - nodesMakeNode
    - ASSERT_EQ
    - registerCheckFunc
    - std::unique_ptr::get
    - std::unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(NodesCloneTest, fill)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerCheckFunc
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:200,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:201,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:201,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:201,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:204,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:205,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:206,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:207,1
    - Dst: run
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:212,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:214,1
    - Dst: std::unique_ptr::reset
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:215,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:216,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 219
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - nodeType
    - nodesMakeNode
    - ASSERT_EQ
    - registerCheckFunc
    - std::unique_ptr::get
    - std::unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(NodesCloneTest, logicSubplan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerCheckFunc
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:223,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:223,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:223,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:226,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:227,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:228,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:229,1
    - Dst: run
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:234,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:236,1
    - Dst: std::unique_ptr::reset
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:237,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:238,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 241
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - nodeType
    - nodesMakeNode
    - ASSERT_EQ
    - registerCheckFunc
    - std::unique_ptr::get
    - std::unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(NodesCloneTest, physiScan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerCheckFunc
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:244,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:245,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:245,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:245,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:248,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:249,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:250,1
    - Dst: run
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:255,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:257,1
    - Dst: std::unique_ptr::reset
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:258,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:259,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 262
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - nodeType
    - nodesMakeNode
    - ASSERT_EQ
    - registerCheckFunc
    - std::unique_ptr::get
    - std::unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(NodesCloneTest, physiSystemTableScan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerCheckFunc
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:265,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:266,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:266,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:266,1
    - Dst: run
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:273,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:275,1
    - Dst: std::unique_ptr::reset
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:276,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:277,1
    - Dst: std::unique_ptr::get
      Src: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 280
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/nodes/test/nodesCloneTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - nodeType
    - nodesMakeNode
    - ASSERT_EQ
    - registerCheckFunc
    - std::unique_ptr::get
    - std::unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(NodesCloneTest, physiPartition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: nodesFatal
    functionSourceFile: /src/tdengine/source/libs/nodes/inc/nodesUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nodesFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: nodesError
    functionSourceFile: /src/tdengine/source/libs/nodes/inc/nodesUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nodesError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: nodesWarn
    functionSourceFile: /src/tdengine/source/libs/nodes/inc/nodesUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nodesWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: nodesInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/inc/nodesUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nodesInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: nodesDebug
    functionSourceFile: /src/tdengine/source/libs/nodes/inc/nodesUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nodesDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: nodesTrace
    functionSourceFile: /src/tdengine/source/libs/nodes/inc/nodesUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nodesTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: NODES_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/nodes/inc/nodesUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODES_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: NODES_RET
    functionSourceFile: /src/tdengine/source/libs/nodes/inc/nodesUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODES_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: NODES_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/nodes/inc/nodesUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODES_ERR_JRET(c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: walker
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:42,1
    - Dst: dispatcher
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:48,1
    - Dst: walker
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - pNode
    - order
    - walker
    - pContext
    - dispatcher
    argTypes:
    - SNode*
    - ETraversalOrder
    - FNodeWalker
    - void*
    - FNodeDispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: walkNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - dispatcher
    - walker
    linkageType: ''
    returnType: EDealRes
    signature: "EDealRes walkNode(SNode* pNode, ETraversalOrder order, FNodeWalker
      walker, void* pContext,\n                         FNodeDispatcher dispatcher)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:60,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:70,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:75,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:78,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:86,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:88,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:91,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:96,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:99,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:105,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:108,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:116,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:127,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:129,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:132,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:135,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:138,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:143,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:147,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:149,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:152,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:157,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:160,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:166,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:172,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:174,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:177,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:183,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:185,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:188,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:191,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:197,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:199,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:205,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:207,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:213,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:215,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:221,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:223,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:226,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:232,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:237,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 168
    argCount: 4
    argNames:
    - pNode
    - order
    - walker
    - pContext
    argTypes:
    - SNode*
    - ETraversalOrder
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 245
    functionName: dispatchExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    - walkExprs
    - walkExpr
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes dispatchExpr(SNode* pNode, ETraversalOrder order, FNodeWalker
      walker, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pNode
    - order
    - walker
    - pContext
    argTypes:
    - SNode*
    - ETraversalOrder
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: walkExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 1
    functionsReached:
    - walkNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes walkExpr(SNode* pNode, ETraversalOrder order, FNodeWalker
      walker, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pNodeList
    - order
    - walker
    - pContext
    argTypes:
    - SNodeList*
    - ETraversalOrder
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: walkExprs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 1
    functionsReached:
    - walkExpr
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes walkExprs(SNodeList* pNodeList, ETraversalOrder order, FNodeWalker
      walker, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 18
    functionsReached:
    - walkExpr
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pNodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pNode
    - walker
    - pContext
    argTypes:
    - SNode*
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: nodesWalkExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 6
    functionsReached:
    - walkExpr
    linkageType: ''
    returnType: void
    signature: void nodesWalkExpr(SNode* pNode, FNodeWalker walker, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pNodeList
    - walker
    - pContext
    argTypes:
    - SNodeList*
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: nodesWalkExprs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 1
    functionsReached:
    - walkExprs
    linkageType: ''
    returnType: void
    signature: void nodesWalkExprs(SNodeList* pNodeList, FNodeWalker walker, void*
      pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pNode
    - walker
    - pContext
    argTypes:
    - SNode*
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: nodesWalkExprPostOrder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 4
    functionsReached:
    - walkExpr
    linkageType: ''
    returnType: void
    signature: void nodesWalkExprPostOrder(SNode* pNode, FNodeWalker walker, void*
      pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pList
    - walker
    - pContext
    argTypes:
    - SNodeList*
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: nodesWalkExprsPostOrder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - walkExprs
    linkageType: ''
    returnType: void
    signature: void nodesWalkExprsPostOrder(SNodeList* pList, FNodeWalker walker,
      void* pContext)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:284,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:287,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:290,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:295,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:298,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:301,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 305
    functionName: markOpLeftAndRightAsParam
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void markOpLeftAndRightAsParam(SOperatorNode* pOp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:308,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:310,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:311,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:314,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: checkParamIsFunc
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    linkageType: ''
    returnType: void
    signature: void checkParamIsFunc(SFunctionNode* pFunc)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: rewriter
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:333,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:340,1
    - Dst: markOpLeftAndRightAsParam
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:348,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:351,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:356,1
    - Dst: checkParamIsFunc
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:360,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:361,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:370,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:375,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:380,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:383,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:387,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:389,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:392,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:395,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:398,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:404,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:406,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:412,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:414,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:422,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:425,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:428,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:431,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:434,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:439,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:443,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:445,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:448,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:451,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:457,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:460,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:464,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:466,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:472,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:474,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:477,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:483,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:485,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:488,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:491,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:497,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:499,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:505,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:507,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:513,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:515,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:521,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:523,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:529,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:534,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:536,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:542,1
    - Dst: rewriter
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:551,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 202
    argCount: 4
    argNames:
    - pRawNode
    - order
    - rewriter
    - pContext
    argTypes:
    - SNode**
    - ETraversalOrder
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 555
    functionName: rewriteExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 1
    functionsReached:
    - nodeType
    - markOpLeftAndRightAsParam
    - checkParamIsFunc
    - rewriteExpr
    - rewriter
    - rewriteExprs
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteExpr(SNode** pRawNode, ETraversalOrder order, FNodeRewriter
      rewriter, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pNodeList
    - order
    - rewriter
    - pContext
    argTypes:
    - SNodeList*
    - ETraversalOrder
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: rewriteExprs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 1
    functionsReached:
    - rewriteExpr
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteExprs(SNodeList* pNodeList, ETraversalOrder order,
      FNodeRewriter rewriter, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 564
    functionName: FOREACH_FOR_REWRITE
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - rewriteExpr
    linkageType: ''
    returnType: void
    signature: void FOREACH_FOR_REWRITE(pNode, pNodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pNode
    - rewriter
    - pContext
    argTypes:
    - SNode**
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: nodesRewriteExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - rewriteExpr
    linkageType: ''
    returnType: void
    signature: void nodesRewriteExpr(SNode** pNode, FNodeRewriter rewriter, void*
      pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pList
    - rewriter
    - pContext
    argTypes:
    - SNodeList*
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 574
    functionName: nodesRewriteExprs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - rewriteExprs
    linkageType: ''
    returnType: void
    signature: void nodesRewriteExprs(SNodeList* pList, FNodeRewriter rewriter, void*
      pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pNode
    - rewriter
    - pContext
    argTypes:
    - SNode**
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 578
    functionName: nodesRewriteExprPostOrder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 3
    functionsReached:
    - rewriteExpr
    linkageType: ''
    returnType: void
    signature: void nodesRewriteExprPostOrder(SNode** pNode, FNodeRewriter rewriter,
      void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pList
    - rewriter
    - pContext
    argTypes:
    - SNodeList*
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 582
    functionName: nodesRewriteExprsPostOrder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - rewriteExprs
    linkageType: ''
    returnType: void
    signature: void nodesRewriteExprsPostOrder(SNodeList* pList, FNodeRewriter rewriter,
      void* pContext)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:591,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:592,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:594,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:597,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:598,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:601,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:602,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:603,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:604,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:605,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:606,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:610,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:612,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:616,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:618,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - pSelect
    - clause
    - walker
    - pContext
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 625
    functionName: nodesWalkSelectStmtImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesWalkExprs
    - nodesWalkExpr
    linkageType: ''
    returnType: void
    signature: void nodesWalkSelectStmtImpl(SSelectStmt* pSelect, ESqlClause clause,
      FNodeWalker walker, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkSelectStmtImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSelect
    - clause
    - walker
    - pContext
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - FNodeWalker
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 627
    functionDepth: 5
    functionLinenumber: 627
    functionLinenumberEnd: 629
    functionName: nodesWalkSelectStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - nodesWalkSelectStmtImpl
    linkageType: ''
    returnType: void
    signature: void nodesWalkSelectStmt(SSelectStmt* pSelect, ESqlClause clause, FNodeWalker
      walker, void* pContext)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:638,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:639,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:641,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:644,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:647,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:648,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:649,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:650,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:654,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:656,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:660,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:662,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:663,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 4
    argNames:
    - pSelect
    - clause
    - rewriter
    - pContext
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - FNodeRewriter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 669
    functionName: nodesRewriteSelectStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesRewriteExprs
    - nodesRewriteExpr
    linkageType: ''
    returnType: void
    signature: void nodesRewriteSelectStmt(SSelectStmt* pSelect, ESqlClause clause,
      FNodeRewriter rewriter, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: MATCH_SCALAR_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_SCALAR_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: MATCH_STRING
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_STRING(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: MATCH_VARDATA
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VARDATA(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: MATCH_STRING_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_STRING_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: MATCH_VARDATA_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VARDATA_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fldname
    - ','
    - matchFunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: MATCH_OBJECT_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OBJECT_FIELD(fldname, matchFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: MATCH_NODE_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_NODE_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: MATCH_NODE_LIST_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_NODE_LIST_FIELD(fldname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pList
    - pTarget
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: nodesListMatchExists
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMatchNode
    linkageType: ''
    returnType: bool
    signature: bool nodesListMatchExists(const SNodeList* pList, const SNode* pTarget)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 18
    functionsReached:
    - nodesMatchNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMatchExists
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pList
    - pSubList
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: nodesListMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListMatchExists
    linkageType: ''
    returnType: bool
    signature: bool nodesListMatch(const SNodeList* pList, const SNodeList* pSubList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMatchExists
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 18
    functionsReached:
    - nodesListMatchExists
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SColumnNode*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: columnNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool columnNodeMatch(const SColumnNode* pSub, const SColumnNode* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SValueNode*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: valueNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: bool
    signature: 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:108,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:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SOperatorNode*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: operatorNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached:
    - MATCH_NODE_FIELD
    - MATCH_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: bool operatorNodeMatch(const SOperatorNode* pSub, const SOperatorNode*
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:115,1
    - Dst: MATCH_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SLogicConditionNode*
    - SLogicConditionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: logicConditionNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached:
    - MATCH_NODE_LIST_FIELD
    - MATCH_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: bool logicConditionNodeMatch(const SLogicConditionNode* pSub, const
      SLogicConditionNode* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:121,1
    - Dst: MATCH_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:122,1
    - Dst: MATCH_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: functionNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached:
    - MATCH_NODE_LIST_FIELD
    - MATCH_SCALAR_FIELD
    - MATCH_STRING_FIELD
    linkageType: ''
    returnType: bool
    signature: 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:128,1
    - Dst: MATCH_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SWhenThenNode*
    - SWhenThenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: whenThenNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached:
    - MATCH_NODE_FIELD
    linkageType: ''
    returnType: bool
    signature: bool whenThenNodeMatch(const SWhenThenNode* pSub, const SWhenThenNode*
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:134,1
    - Dst: MATCH_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:135,1
    - Dst: MATCH_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SCaseWhenNode*
    - SCaseWhenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: caseWhenNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 0
    functionsReached:
    - MATCH_NODE_FIELD
    - MATCH_NODE_LIST_FIELD
    linkageType: ''
    returnType: bool
    signature: bool caseWhenNodeMatch(const SCaseWhenNode* pSub, const SCaseWhenNode*
      p)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:149,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:149,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:153,1
    - Dst: columnNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:155,1
    - Dst: valueNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:157,1
    - Dst: operatorNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:159,1
    - Dst: logicConditionNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:161,1
    - Dst: functionNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:163,1
    - Dst: whenThenNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:165,1
    - Dst: caseWhenNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 181
    functionName: nodesMatchNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: 3
    functionsReached:
    - logicConditionNodeMatch
    - operatorNodeMatch
    - functionNodeMatch
    - columnNodeMatch
    - valueNodeMatch
    - whenThenNodeMatch
    - nodeType
    - caseWhenNodeMatch
    linkageType: ''
    returnType: bool
    signature: bool nodesMatchNode(const SNode* pSub, const SNode* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: COMPARE_SCALAR_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_SCALAR_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: COMPARE_STRING
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_STRING(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: COMPARE_VARDATA
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_VARDATA(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: COMPARE_BLOBDATA
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_BLOBDATA(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: COMPARE_STRING_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_STRING_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: COMPARE_VARDATA_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_VARDATA_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: COMPARE_BLOBDATA_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_BLOBDATA_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fldname
    - ','
    - equalFunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: COMPARE_OBJECT_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_OBJECT_FIELD(fldname, equalFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: COMPARE_NODE_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_NODE_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: COMPARE_NODE_LIST_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_NODE_LIST_FIELD(fldname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:75,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:75,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: nodeNodeListEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool nodeNodeListEqual(const SNodeList* a, const SNodeList* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: FORBOTH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FORBOTH(na, a, nb, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SDataType
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: dataTypeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dataTypeEqual(SDataType a, SDataType b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:93,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:94,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:95,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SColumnNode*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: columnNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_STRING_FIELD
    linkageType: ''
    returnType: bool
    signature: bool columnNodeEqual(const SColumnNode* a, const SColumnNode* b)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:101,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:102,1
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:116,1
    - Dst: COMPARE_VARDATA_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:122,1
    - Dst: COMPARE_BLOBDATA_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SValueNode*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 134
    functionName: valueNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_STRING_FIELD
    - COMPARE_BLOBDATA_FIELD
    - COMPARE_SCALAR_FIELD
    - COMPARE_VARDATA_FIELD
    - COMPARE_OBJECT_FIELD
    linkageType: ''
    returnType: bool
    signature: bool valueNodeEqual(const SValueNode* a, const SValueNode* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:137,1
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:138,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:139,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SOperatorNode*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: operatorNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_NODE_FIELD
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: bool operatorNodeEqual(const SOperatorNode* a, const SOperatorNode*
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:145,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SLogicConditionNode*
    - SLogicConditionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: logicConditionNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_NODE_LIST_FIELD
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: bool logicConditionNodeEqual(const SLogicConditionNode* a, const SLogicConditionNode*
      b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:151,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:152,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: functionNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_NODE_LIST_FIELD
    - COMPARE_STRING_FIELD
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: 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:167,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SWhenThenNode*
    - SWhenThenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: whenThenNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_NODE_FIELD
    linkageType: ''
    returnType: bool
    signature: bool whenThenNodeEqual(const SWhenThenNode* a, const SWhenThenNode*
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:173,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:174,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SCaseWhenNode*
    - SCaseWhenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: caseWhenNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_NODE_LIST_FIELD
    - COMPARE_NODE_FIELD
    linkageType: ''
    returnType: bool
    signature: bool caseWhenNodeEqual(const SCaseWhenNode* a, const SCaseWhenNode*
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:180,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SGroupingSetNode*
    - SGroupingSetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: groupingSetNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_NODE_LIST_FIELD
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: bool groupingSetNodeEqual(const SGroupingSetNode* a, const SGroupingSetNode*
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:186,1
    - Dst: valueNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SRemoteValueNode*
    - SRemoteValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: remoteValueNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - valueNodeEqual
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: bool remoteValueNodeEqual(const SRemoteValueNode* a, const SRemoteValueNode*
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:191,1
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SRemoteValueListNode*
    - SRemoteValueListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: remoteValueNodeListEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_OBJECT_FIELD
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: bool remoteValueNodeListEqual(const SRemoteValueListNode* a, const
      SRemoteValueListNode* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:197,1
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:198,1
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:199,1
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:200,1
    - Dst: valueNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SRemoteRowNode*
    - SRemoteRowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: remoteRowNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - valueNodeEqual
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: bool remoteRowNodeEqual(const SRemoteRowNode* a, const SRemoteRowNode*
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remoteValueNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SRemoteZeroRowsNode*
    - SRemoteZeroRowsNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: remoteZeroRowsNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - remoteValueNodeEqual
    linkageType: ''
    returnType: bool
    signature: bool remoteZeroRowsNodeEqual(const SRemoteZeroRowsNode* a, const SRemoteZeroRowsNode*
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:209,1
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SRemoteTableNode*
    - SRemoteTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: remoteTableNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: bool remoteTableNodeEqual(const SRemoteTableNode* a, const SRemoteTableNode*
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:215,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:215,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SNodeListNode*
    - SNodeListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: nodeListNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 0
    functionsReached:
    - COMPARE_NODE_LIST_FIELD
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool nodeListNodeEqual(const SNodeListNode* a, const SNodeListNode*
      b)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:233,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:233,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:237,1
    - Dst: columnNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:239,1
    - Dst: valueNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:241,1
    - Dst: operatorNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:243,1
    - Dst: logicConditionNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:245,1
    - Dst: functionNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:247,1
    - Dst: whenThenNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:249,1
    - Dst: caseWhenNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:251,1
    - Dst: groupingSetNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:253,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:255,1
    - Dst: remoteValueNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:264,1
    - Dst: remoteValueNodeListEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:266,1
    - Dst: remoteRowNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:268,1
    - Dst: remoteZeroRowsNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:270,1
    - Dst: remoteTableNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 278
    functionName: nodesEqualNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: 5
    functionsReached:
    - remoteValueNodeEqual
    - valueNodeEqual
    - remoteZeroRowsNodeEqual
    - caseWhenNodeEqual
    - logicConditionNodeEqual
    - nodeListNodeEqual
    - operatorNodeEqual
    - whenThenNodeEqual
    - remoteTableNodeEqual
    - nodeType
    - groupingSetNodeEqual
    - remoteValueNodeListEqual
    - remoteRowNodeEqual
    - columnNodeEqual
    - functionNodeEqual
    linkageType: ''
    returnType: bool
    signature: bool nodesEqualNode(const SNode* a, const SNode* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: COPY_SCALAR_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_SCALAR_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: COPY_CHAR_ARRAY_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_CHAR_ARRAY_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fldname
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: COPY_OBJECT_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_OBJECT_FIELD(fldname, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: COPY_CHAR_POINT_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_CHAR_POINT_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: CLONE_NODE_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLONE_NODE_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fldname
    - ','
    - nodePtrType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: CLONE_NODE_FIELD_EX
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLONE_NODE_FIELD_EX(fldname, nodePtrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: CLONE_NODE_LIST_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLONE_NODE_LIST_FIELD(fldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fldname
    - ','
    - cloneFunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: CLONE_OBJECT_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLONE_OBJECT_FIELD(fldname, cloneFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fldname
    - ','
    - copyFunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: COPY_BASE_OBJECT_FIELD
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_BASE_OBJECT_FIELD(fldname, copyFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_OBJECT_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:103,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:104,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:105,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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:112,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SExprNode*
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: exprNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t exprNodeCopy(const SExprNode* pSrc, SExprNode* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_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:119,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:120,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:121,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:123,1
    - Dst: COPY_SCALAR_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:125,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:127,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:128,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:129,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:131,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:133,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:134,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:135,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:137,1
    - Dst: COPY_SCALAR_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:139,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:140,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:141,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SColumnNode*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 144
    functionName: columnNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t columnNodeCopy(const SColumnNode* pSrc, SColumnNode* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:147,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:148,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:149,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SColumnDefNode*
    - SColumnDefNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: columnDefNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t columnDefNodeCopy(const SColumnDefNode* pSrc, SColumnDefNode*
      pDst)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:155,1
    - Dst: COPY_CHAR_POINT_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:157,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:159,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:160,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:161,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:162,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:163,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:164,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:170,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:177,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:181,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:187,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:193,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:194,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:198,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:202,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:203,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:207,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:211,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:214,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:216,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:220,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:221,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:225,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SValueNode*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 231
    functionName: valueNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - COPY_BASE_OBJECT_FIELD
    - memcpy
    - varDataTLen
    - COPY_SCALAR_FIELD
    - COPY_CHAR_POINT_FIELD
    - getJsonValueLen
    - taosMemCalloc
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 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:234,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:235,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:236,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:237,1
    - Dst: CLONE_NODE_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:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SOperatorNode*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: operatorNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t operatorNodeCopy(const SOperatorNode* pSrc, SOperatorNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_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: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLogicConditionNode*
    - SLogicConditionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: logicConditionNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:251,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:252,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:253,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:254,1
    - Dst: CLONE_NODE_LIST_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:256,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:257,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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:260,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:261,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:262,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 265
    functionName: functionNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t functionNodeCopy(const SFunctionNode* pSrc, SFunctionNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:268,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:269,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:270,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:271,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:272,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:273,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STableNode*
    - STableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: tableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableNodeCopy(const STableNode* pSrc, STableNode* pDst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TABLE_META_FULL_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:279,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:280,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:284,1
    - Dst: tableMetaResetPointers
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: tableMetaClone
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - tableMetaResetPointers
    - TABLE_META_FULL_SIZE
    linkageType: ''
    returnType: STableMeta
    signature: STableMeta * tableMetaClone(const STableMeta* pSrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:290,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:291,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - SVgroupsInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 297
    functionName: vgroupsInfoClone
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - VGROUPS_INFO_SIZE
    - memcpy
    linkageType: ''
    returnType: SVgroupsInfo
    signature: SVgroupsInfo * vgroupsInfoClone(const SVgroupsInfo* pSrc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:302,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:307,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:308,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:309,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:315,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:320,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 328
    functionName: functParamClone
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TARRAY_SIZE
    - memcpy
    - taosArrayGet
    - taosArrayDestroyEx
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: SArray
    signature: SArray * functParamClone(const SArray* pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:332,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:333,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:334,1
    - Dst: COPY_CHAR_ARRAY_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:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SRealTableNode*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: realTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t realTableNodeCopy(const SRealTableNode* pSrc, SRealTableNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:341,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STempTableNode*
    - STempTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: tempTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t tempTableNodeCopy(const STempTableNode* pSrc, STempTableNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:347,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:348,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:349,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:350,1
    - Dst: CLONE_NODE_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:353,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:354,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:355,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:356,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:359,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:360,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SJoinTableNode*
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 363
    functionName: joinTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t joinTableNodeCopy(const SJoinTableNode* pSrc, SJoinTableNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:366,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:367,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:368,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SPlaceHolderTableNode*
    - SPlaceHolderTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: placeHolderTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t placeHolderTableNodeCopy(const SPlaceHolderTableNode* pSrc,
      SPlaceHolderTableNode* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:374,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:375,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STargetNode*
    - STargetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: targetNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t targetNodeCopy(const STargetNode* pSrc, STargetNode* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:381,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SGroupingSetNode*
    - SGroupingSetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: groupingSetNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupingSetNodeCopy(const SGroupingSetNode* pSrc, SGroupingSetNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:387,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:388,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SOrderByExprNode*
    - SOrderByExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: orderByExprNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t orderByExprNodeCopy(const SOrderByExprNode* pSrc, SOrderByExprNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:394,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLimitNode*
    - SLimitNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: limitNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t limitNodeCopy(const SLimitNode* pSrc, SLimitNode* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_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:401,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SStateWindowNode*
    - SStateWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: stateWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:407,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:408,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:409,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SEventWindowNode*
    - SEventWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: eventWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:415,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:416,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SCountWindowNode*
    - SCountWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: countWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t countWindowNodeCopy(const SCountWindowNode* pSrc, SCountWindowNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:422,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:423,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SAnomalyWindowNode*
    - SAnomalyWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: anomalyWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_CHAR_ARRAY_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyWindowNodeCopy(const SAnomalyWindowNode* pSrc, SAnomalyWindowNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSessionWindowNode*
    - SSessionWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: sessionWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t sessionWindowNodeCopy(const SSessionWindowNode* pSrc, SSessionWindowNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_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:436,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:438,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:439,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SIntervalWindowNode*
    - SIntervalWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: intervalWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t intervalWindowNodeCopy(const SIntervalWindowNode* pSrc, SIntervalWindowNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:445,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SNodeListNode*
    - SNodeListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: nodeListNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodeListNodeCopy(const SNodeListNode* pSrc, SNodeListNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:451,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:452,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:453,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:454,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:455,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SFillNode*
    - SFillNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: fillNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:461,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:462,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWhenThenNode*
    - SWhenThenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: whenThenNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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: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
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:471,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SCaseWhenNode*
    - SCaseWhenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: caseWhenNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t caseWhenNodeCopy(const SCaseWhenNode* pSrc, SCaseWhenNode*
      pDst)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SHintNode*
    - SHintNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 486
    functionName: copyHintValue
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyHintValue(const SHintNode* pSrc, SHintNode* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_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: copyHintValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SHintNode*
    - SHintNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: hintNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - copyHintValue
    linkageType: ''
    returnType: int32_t
    signature: 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:495,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:496,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWindowOffsetNode*
    - SWindowOffsetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: windowOffsetCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t windowOffsetCopy(const SWindowOffsetNode* pSrc, SWindowOffsetNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:502,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:503,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:504,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVirtualTableNode*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: virtualTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualTableNodeCopy(const SVirtualTableNode * pSrc, SVirtualTableNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:510,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:511,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:512,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STimeRangeNode*
    - STimeRangeNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: timeRangeNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t timeRangeNodeCopy(const STimeRangeNode* pSrc, STimeRangeNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:518,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SRemoteValueNode*
    - SRemoteValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: remoteValueCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteValueCopy(const SRemoteValueNode* pSrc, SRemoteValueNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:525,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:527,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:528,1
    - Dst: COPY_SCALAR_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:530,1
    - Dst: COPY_SCALAR_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:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SRemoteValueListNode*
    - SRemoteValueListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 534
    functionName: remoteValueListCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteValueListCopy(const SRemoteValueListNode* pSrc, SRemoteValueListNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_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:538,1
    - Dst: COPY_SCALAR_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:540,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:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SRemoteRowNode*
    - SRemoteRowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 544
    functionName: remoteRowCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteRowCopy(const SRemoteRowNode* pSrc, SRemoteRowNode* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:547,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SRemoteZeroRowsNode*
    - SRemoteZeroRowsNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: remoteZeroRowsCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteZeroRowsCopy(const SRemoteZeroRowsNode* pSrc, SRemoteZeroRowsNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:554,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:555,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SRemoteTableNode*
    - SRemoteTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 561
    functionName: remoteTableCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteTableCopy(const SRemoteTableNode* pSrc, SRemoteTableNode*
      pDst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: COPY_CHAR_ARRAY_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:565,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:567,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:573,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SUpdateTagValueNode*
    - SUpdateTagValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 580
    functionName: updateTagValueNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - COPY_CHAR_ARRAY_FIELD
    - taosStrdup
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateTagValueNodeCopy(const SUpdateTagValueNode* pSrc, SUpdateTagValueNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:583,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:584,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SAlterTableUpdateTagValClause*
    - SAlterTableUpdateTagValClause*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 587
    functionName: alterTableUpdateTagValClauseCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterTableUpdateTagValClauseCopy(const SAlterTableUpdateTagValClause*
      pSrc, SAlterTableUpdateTagValClause* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:590,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:591,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:592,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:593,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:594,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:595,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:596,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:597,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:598,1
    - Dst: COPY_SCALAR_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:600,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:601,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:603,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 606
    functionName: logicNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicNodeCopy(const SLogicNode* pSrc, SLogicNode* pDst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:610,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 616
    functionName: timeWindowClone
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    linkageType: ''
    returnType: STimeWindow
    signature: STimeWindow * timeWindowClone(const STimeWindow* pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:619,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:620,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:621,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:622,1
    - Dst: COPY_SCALAR_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:624,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:625,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:626,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:627,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:628,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:629,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:630,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:631,1
    - Dst: CLONE_NODE_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:633,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:634,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:635,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:636,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:637,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:638,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:639,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:640,1
    - Dst: COPY_SCALAR_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: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:643,1
    - Dst: CLONE_NODE_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:645,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:646,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:647,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:648,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:649,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:651,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:652,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:653,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: CLONE_OBJECT_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:661,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:662,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:663,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:664,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SScanLogicNode*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 667
    functionName: logicScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - CLONE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:670,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:671,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:672,1
    - Dst: CLONE_NODE_LIST_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:674,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:675,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:676,1
    - Dst: CLONE_OBJECT_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:678,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVirtualScanLogicNode*
    - SVirtualScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 681
    functionName: logicVirtualScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - CLONE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:684,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:685,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:686,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:687,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:688,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:689,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:690,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:691,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:692,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:693,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:694,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:695,1
    - Dst: CLONE_NODE_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:697,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:698,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:699,1
    - Dst: COPY_SCALAR_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:701,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:702,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:703,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:704,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:705,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:706,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:707,1
    - Dst: COPY_SCALAR_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: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:711,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:712,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:713,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:714,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SJoinLogicNode*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 717
    functionName: logicJoinCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:720,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:721,1
    - Dst: CLONE_NODE_LIST_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:725,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:726,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:727,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:728,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:729,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SAggLogicNode*
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: logicAggCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:735,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:736,1
    - Dst: COPY_CHAR_ARRAY_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:738,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SProjectLogicNode*
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 741
    functionName: logicProjectCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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: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
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:747,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:748,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:749,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:750,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:751,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:752,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:753,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:754,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:755,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:756,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVnodeModifyLogicNode*
    - SVnodeModifyLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 759
    functionName: logicVnodeModifCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - CLONE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:762,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:763,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:764,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:765,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SExchangeLogicNode*
    - SExchangeLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 768
    functionName: logicExchangeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicExchangeCopy(const SExchangeLogicNode* pSrc, SExchangeLogicNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:771,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:772,1
    - Dst: CLONE_NODE_LIST_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_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:775,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:776,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:777,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:778,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:779,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:780,1
    - Dst: COPY_SCALAR_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:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SMergeLogicNode*
    - SMergeLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 784
    functionName: logicMergeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:787,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:788,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:789,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:790,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:791,1
    - Dst: COPY_SCALAR_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:793,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:794,1
    - Dst: COPY_OBJECT_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:796,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:797,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:798,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:799,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:800,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:801,1
    - Dst: CLONE_NODE_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:803,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:804,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: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:807,1
    - Dst: COPY_SCALAR_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
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:810,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:811,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:812,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:813,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:814,1
    - Dst: COPY_SCALAR_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:816,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:817,1
    - Dst: COPY_SCALAR_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:819,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:820,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWindowLogicNode*
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 823
    functionName: logicWindowCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - CLONE_NODE_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:826,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:827,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:828,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:829,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:830,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:831,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:832,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:833,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:834,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SFillLogicNode*
    - SFillLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 837
    functionName: logicFillCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:840,1
    - Dst: CLONE_NODE_LIST_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:842,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:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSortLogicNode*
    - SSortLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 846
    functionName: logicSortCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:849,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:850,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:851,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:852,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:853,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:854,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:855,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SPartitionLogicNode*
    - SPartitionLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 858
    functionName: logicPartitionCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:861,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SIndefRowsFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: logicIndefRowsFuncCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:867,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:868,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:869,1
    - Dst: CLONE_NODE_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:874,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:875,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:876,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SInterpFuncLogicNode*
    - SInterpFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 879
    functionName: logicInterpFuncCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:882,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SForecastFuncLogicNode*
    - SForecastFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: logicForecastFuncCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:888,1
    - Dst: COPY_SCALAR_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:891,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:892,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SGroupCacheLogicNode*
    - SGroupCacheLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 895
    functionName: logicGroupCacheCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicGroupCacheCopy(const SGroupCacheLogicNode* pSrc, SGroupCacheLogicNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:898,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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:901,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:902,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:903,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:904,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:905,1
    - Dst: COPY_SCALAR_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:907,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:910,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:911,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:912,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:913,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:914,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:915,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:916,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:917,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:918,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:919,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:920,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:921,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDynQueryCtrlLogicNode*
    - SDynQueryCtrlLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 924
    functionName: logicDynQueryCtrlCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - CLONE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicDynQueryCtrlCopy(const SDynQueryCtrlLogicNode* pSrc, SDynQueryCtrlLogicNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_OBJECT_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:929,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:930,1
    - Dst: COPY_SCALAR_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLogicSubplan*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 935
    functionName: logicSubplanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicSubplanCopy(const SLogicSubplan* pSrc, SLogicSubplan*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:939,1
    - Dst: CLONE_NODE_LIST_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:941,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:942,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:943,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SPhysiNode*
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 946
    functionName: physiNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:949,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:950,1
    - Dst: CLONE_NODE_LIST_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:952,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:953,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:954,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:955,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SScanPhysiNode*
    - SScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 958
    functionName: physiScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:961,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:962,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:963,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:964,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:965,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:966,1
    - Dst: CLONE_NODE_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:968,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVirtualScanPhysiNode*
    - SVirtualScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 971
    functionName: physiVirtualTableScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiVirtualTableScanCopy(const SVirtualScanPhysiNode* pSrc,
      SVirtualScanPhysiNode* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:974,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STagScanPhysiNode*
    - STagScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 977
    functionName: physiTagScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:980,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:981,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:982,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:983,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:984,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:985,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:986,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:987,1
    - Dst: CLONE_NODE_LIST_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:989,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:990,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:992,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:994,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:996,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:997,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:998,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:999,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1000,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STableScanPhysiNode*
    - STableScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 1003
    functionName: physiTableScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - CLONE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:1006,1
    - Dst: COPY_OBJECT_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
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSystemTableScanPhysiNode*
    - SSystemTableScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1013
    functionName: physiSysTableScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:1016,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1017,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1018,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1019,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1020,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1021,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWindowPhysiNode*
    - SWindowPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1024
    functionName: physiWindowCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiWindowCopy(const SWindowPhysiNode* pSrc, SWindowPhysiNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1027,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1028,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1029,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1030,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1031,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1032,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SIntervalPhysiNode*
    - SIntervalPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1035
    functionName: physiIntervalCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:1038,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSessionWinodwPhysiNode*
    - SSessionWinodwPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1041
    functionName: physiSessionCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiSessionCopy(const SSessionWinodwPhysiNode* pSrc, SSessionWinodwPhysiNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1044,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1045,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1046,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1047,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1048,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SPartitionPhysiNode*
    - SPartitionPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1051
    functionName: physiPartitionCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiPartitionCopy(const SPartitionPhysiNode* pSrc, SPartitionPhysiNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1054,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1055,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1056,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1057,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SProjectPhysiNode*
    - SProjectPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1060
    functionName: physiProjectCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiProjectCopy(const SProjectPhysiNode* pSrc, SProjectPhysiNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDataSinkNode*
    - SDataSinkNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1065
    functionName: dataSinkNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataSinkNodeCopy(const SDataSinkNode* pSrc, SDataSinkNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDataDispatcherNode*
    - SDataDispatcherNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1070
    functionName: physiDispatchCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:1073,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1074,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1075,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1076,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1077,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1078,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1079,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1080,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SQueryInserterNode*
    - SQueryInserterNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1083
    functionName: physiQueryInserterCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:1086,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1087,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1088,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1089,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1090,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDataDeleterNode*
    - SDataDeleterNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1093
    functionName: physiDeleterCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 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:1096,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1097,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1098,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1099,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1100,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1101,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1102,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1103,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1104,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1105,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1106,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1107,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1108,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1109,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1111,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1112,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1113,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1114,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1115,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1116,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSubplan*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1119
    functionName: physiSubplanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - CLONE_NODE_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiSubplanCopy(const SSubplan* pSrc, SSubplan* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1123,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1124,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1125,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1126,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDataBlockDescNode*
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1129
    functionName: dataBlockDescCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataBlockDescCopy(const SDataBlockDescNode* pSrc, SDataBlockDescNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1132,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1133,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1134,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1135,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSlotDescNode*
    - SSlotDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1138
    functionName: slotDescCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t slotDescCopy(const SSlotDescNode* pSrc, SSlotDescNode* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1141,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1142,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1143,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1144,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1145,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1146,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDownstreamSourceNode*
    - SDownstreamSourceNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1149
    functionName: downstreamSourceCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t downstreamSourceCopy(const SDownstreamSourceNode* pSrc, SDownstreamSourceNode*
      pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1152,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1153,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1154,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1155,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1156,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1157,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1158,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1159,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1160,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1161,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1162,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1163,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1166,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1167,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1168,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1169,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1170,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1171,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1172,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1173,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1174,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1175,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1176,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1177,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1178,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1179,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1180,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1181,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1182,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1183,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1184,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1185,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1186,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1187,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1188,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1189,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1190,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1191,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1192,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1193,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1194,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1195,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1196,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1197,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSelectStmt*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1201
    functionName: selectStmtCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t selectStmtCopy(const SSelectStmt* pSrc, SSelectStmt* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1204,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1205,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1206,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1207,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1208,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1209,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1210,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1211,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1212,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1213,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1214,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1215,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSetOperator*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1219
    functionName: setOperatorCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t setOperatorCopy(const SSetOperator* pSrc, SSetOperator* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1222,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1223,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STrueForNode*
    - STrueForNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1227
    functionName: trueForNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 0
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: int32_t trueForNodeCopy(const STrueForNode* pSrc, STrueForNode* pDst)
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1235,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1235,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1240,1
    - Dst: columnNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1242,1
    - Dst: columnDefNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1245,1
    - Dst: valueNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1248,1
    - Dst: operatorNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1251,1
    - Dst: logicConditionNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1254,1
    - Dst: functionNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1257,1
    - Dst: realTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1260,1
    - Dst: tempTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1263,1
    - Dst: joinTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1266,1
    - Dst: placeHolderTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1269,1
    - Dst: groupingSetNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1272,1
    - Dst: orderByExprNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1275,1
    - Dst: limitNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1278,1
    - Dst: stateWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1281,1
    - Dst: eventWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1284,1
    - Dst: countWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1287,1
    - Dst: anomalyWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1290,1
    - Dst: sessionWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1293,1
    - Dst: intervalWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1296,1
    - Dst: nodeListNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1299,1
    - Dst: fillNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1302,1
    - Dst: targetNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1305,1
    - Dst: dataBlockDescCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1308,1
    - Dst: slotDescCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1311,1
    - Dst: downstreamSourceCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1314,1
    - Dst: whenThenNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1320,1
    - Dst: caseWhenNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1323,1
    - Dst: hintNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1326,1
    - Dst: windowOffsetCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1329,1
    - Dst: virtualTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1332,1
    - Dst: timeRangeNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1335,1
    - Dst: remoteValueCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1338,1
    - Dst: remoteValueListCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1341,1
    - Dst: remoteRowCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1344,1
    - Dst: remoteZeroRowsCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1347,1
    - Dst: remoteTableCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1350,1
    - Dst: updateTagValueNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1353,1
    - Dst: alterTableUpdateTagValClauseCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1356,1
    - Dst: trueForNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1359,1
    - Dst: setOperatorCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1362,1
    - Dst: selectStmtCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1365,1
    - Dst: logicScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1368,1
    - Dst: logicJoinCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1371,1
    - Dst: logicAggCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1374,1
    - Dst: logicProjectCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1377,1
    - Dst: logicVnodeModifCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1380,1
    - Dst: logicExchangeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1383,1
    - Dst: logicMergeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1386,1
    - Dst: logicWindowCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1389,1
    - Dst: logicFillCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1392,1
    - Dst: logicSortCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1395,1
    - Dst: logicPartitionCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1398,1
    - Dst: logicIndefRowsFuncCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1401,1
    - Dst: logicInterpFuncCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1404,1
    - Dst: logicForecastFuncCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1407,1
    - Dst: logicForecastFuncCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1410,1
    - Dst: logicGroupCacheCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1413,1
    - Dst: logicDynQueryCtrlCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1416,1
    - Dst: logicVirtualScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1419,1
    - Dst: logicSubplanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1422,1
    - Dst: physiTagScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1425,1
    - Dst: physiTableScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1431,1
    - Dst: physiSysTableScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1434,1
    - Dst: physiIntervalCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1438,1
    - Dst: physiPartitionCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1441,1
    - Dst: physiVirtualTableScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1444,1
    - Dst: physiProjectCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1447,1
    - Dst: physiDispatchCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1450,1
    - Dst: physiQueryInserterCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1453,1
    - Dst: physiDeleterCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1456,1
    - Dst: physiSubplanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1459,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1467,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1468,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1468,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1468,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 239
    argCount: 2
    argNames:
    - pNode
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1229
    functionDepth: 2
    functionLinenumber: 1229
    functionLinenumberEnd: 1473
    functionName: nodesCloneNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 8
    functionsReached:
    - columnDefNodeCopy
    - timeRangeNodeCopy
    - logicProjectCopy
    - logicVnodeModifCopy
    - logicPartitionCopy
    - physiSubplanCopy
    - whenThenNodeCopy
    - logicGroupCacheCopy
    - logicDynQueryCtrlCopy
    - logicVirtualScanCopy
    - anomalyWindowNodeCopy
    - nodeListNodeCopy
    - physiIntervalCopy
    - nodeType
    - logicMergeCopy
    - physiTableScanCopy
    - logicSortCopy
    - downstreamSourceCopy
    - countWindowNodeCopy
    - physiDeleterCopy
    - joinTableNodeCopy
    - eventWindowNodeCopy
    - dataBlockDescCopy
    - caseWhenNodeCopy
    - windowOffsetCopy
    - logicScanCopy
    - logicJoinCopy
    - logicExchangeCopy
    - remoteValueListCopy
    - physiQueryInserterCopy
    - nodesNodeName
    - intervalWindowNodeCopy
    - slotDescCopy
    - remoteRowCopy
    - logicWindowCopy
    - logicSubplanCopy
    - functionNodeCopy
    - remoteValueCopy
    - valueNodeCopy
    - physiProjectCopy
    - placeHolderTableNodeCopy
    - physiDispatchCopy
    - targetNodeCopy
    - logicForecastFuncCopy
    - physiVirtualTableScanCopy
    - hintNodeCopy
    - orderByExprNodeCopy
    - trueForNodeCopy
    - nodesMakeNode
    - virtualTableNodeCopy
    - physiSysTableScanCopy
    - operatorNodeCopy
    - groupingSetNodeCopy
    - nodesDestroyNode
    - selectStmtCopy
    - remoteTableCopy
    - limitNodeCopy
    - physiTagScanCopy
    - nodesError
    - tempTableNodeCopy
    - alterTableUpdateTagValClauseCopy
    - physiPartitionCopy
    - sessionWindowNodeCopy
    - updateTagValueNodeCopy
    - logicConditionNodeCopy
    - remoteZeroRowsCopy
    - fillNodeCopy
    - logicFillCopy
    - logicIndefRowsFuncCopy
    - logicInterpFuncCopy
    - setOperatorCopy
    - logicAggCopy
    - realTableNodeCopy
    - stateWindowNodeCopy
    - columnNodeCopy
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesCloneNode(const SNode* pNode, SNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1484,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1486,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1489,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pList
    - ppList
    argTypes:
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1475
    functionDepth: 3
    functionLinenumber: 1475
    functionLinenumberEnd: 1497
    functionName: nodesCloneList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 1
    functionsReached:
    - nodesDestroyList
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesCloneList(const SNodeList* pList, SNodeList** ppList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1484,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1486,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1489,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1482
    functionDepth: 3
    functionLinenumber: 1482
    functionLinenumberEnd: 1494
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: 18
    functionsReached:
    - nodesDestroyList
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 35
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 1
    argNames:
    - type
    argTypes:
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 96
    functionName: operatorTypeStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *operatorTypeStr(EOperatorType type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - type
    - isNegative
    argTypes:
    - EOperatorType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: operatorTypeStrEx
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c
    functionUses: 0
    functionsReached:
    - operatorTypeStr
    linkageType: ''
    returnType: char
    signature: char *operatorTypeStrEx(EOperatorType type, bool isNegative)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - type
    argTypes:
    - ELogicConditionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: logicConditionTypeStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *logicConditionTypeStr(ELogicConditionType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pNode
    - buf
    - bufSize
    - len
    argTypes:
    - SNode*
    - char*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: nodesNodeToSQL
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c
    functionUses: 0
    functionsReached:
    - nodesNodeToSQLFormat
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesNodeToSQL(SNode *pNode, char *buf, int32_t bufSize, int32_t
      *len)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:137,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:141,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:143,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:147,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:149,1
    - Dst: nodesGetStrValueFromNode
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:156,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:159,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:163,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:165,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:168,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:170,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:174,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:180,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:182,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:182,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:185,1
    - Dst: operatorTypeStrEx
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:185,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:188,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:188,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:191,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:200,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:202,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:204,1
    - Dst: logicConditionTypeStr
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:204,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:206,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:206,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:210,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:219,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:221,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:223,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:225,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:225,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:229,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:239,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:241,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:243,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:246,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:251,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:251,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:255,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:261,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:266,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:271,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:276,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:281,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:286,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:287,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:287,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:288,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:289,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:289,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:294,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:296,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:297,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:297,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:300,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:301,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:302,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:302,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:305,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:306,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:306,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:308,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 135
    argCount: 5
    argNames:
    - pNode
    - buf
    - bufSize
    - len
    - longFormat
    argTypes:
    - SNode*
    - char*
    - int32_t
    - int32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 313
    functionName: nodesNodeToSQLFormat
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c
    functionUses: 2
    functionsReached:
    - nodesGetStrValueFromNode
    - NODES_ERR_RET
    - logicConditionTypeStr
    - tsnprintf
    - operatorTypeStrEx
    - nodesNodeToSQLFormat
    - snprintf
    - FOREACH
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesNodeToSQLFormat(SNode *pNode, char *buf, int32_t bufSize,
      int32_t *len, bool longFormat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: htonll
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htonll(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: ntohll
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ntohll(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pDecoder
    - ','
    - pTlv
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tlvForEach(pDecoder, pTlv, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pEncoder
    argTypes:
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: initTlvEncoder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initTlvEncoder(STlvEncoder* pEncoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pEncoder
    argTypes:
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: clearTlvEncoder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void clearTlvEncoder(STlvEncoder* pEncoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pEncoder
    - pMsg
    - pLen
    argTypes:
    - STlvEncoder*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: endTlvEncode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void endTlvEncode(STlvEncoder* pEncoder, char** pMsg, int32_t* pLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:96,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:97,1
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:104,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:105,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - pEncoder
    - type
    - pValue
    - len
    argTypes:
    - STlvEncoder*
    - int16_t
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: tlvEncodeImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - htonl
    - memcpy
    - TMAX
    - htons
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeImpl(STlvEncoder* pEncoder, int16_t type, const void*
      pValue, int32_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:114,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pEncoder
    - pValue
    - len
    argTypes:
    - STlvEncoder*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: tlvEncodeValueImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueImpl(STlvEncoder* pEncoder, const void* pValue,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: tlvEncodeI8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeI8(STlvEncoder* pEncoder, int16_t type, int8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: tlvEncodeValueI8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueI8(STlvEncoder* pEncoder, int8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:135,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: tlvEncodeI16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeImpl
    - htons
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeI16(STlvEncoder* pEncoder, int16_t type, int16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:140,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: tlvEncodeValueI16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueImpl
    - htons
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueI16(STlvEncoder* pEncoder, int16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:145,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: tlvEncodeI32
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - htonl
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 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:150,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: tlvEncodeValueI32
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueImpl
    - htonl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueI32(STlvEncoder* pEncoder, int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:155,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: tlvEncodeI64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeI64(STlvEncoder* pEncoder, int16_t type, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:160,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: tlvEncodeValueI64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueI64(STlvEncoder* pEncoder, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: tlvEncodeU8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeU8(STlvEncoder* pEncoder, int16_t type, uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: tlvEncodeValueU8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueU8(STlvEncoder* pEncoder, uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:173,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: tlvEncodeU16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeImpl
    - htons
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeU16(STlvEncoder* pEncoder, int16_t type, uint16_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:178,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: tlvEncodeValueU16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueImpl
    - htons
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueU16(STlvEncoder* pEncoder, uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:183,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: tlvEncodeU64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeU64(STlvEncoder* pEncoder, int16_t type, uint64_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:188,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: tlvEncodeValueU64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueU64(STlvEncoder* pEncoder, uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:194,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: tlvEncodeDouble
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeDouble(STlvEncoder* pEncoder, int16_t type, double
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:200,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: tlvEncodeValueDouble
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueDouble(STlvEncoder* pEncoder, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:205,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: tlvEncodeEnum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - htonl
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeEnum(STlvEncoder* pEncoder, int16_t type, int32_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:210,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: tlvEncodeValueEnum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueImpl
    - htonl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueEnum(STlvEncoder* pEncoder, int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: tlvEncodeBool
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeBool(STlvEncoder* pEncoder, int16_t type, int8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tlvEncodeValueBool
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueBool(STlvEncoder* pEncoder, int8_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:226,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pEncoder
    - type
    - pValue
    argTypes:
    - STlvEncoder*
    - int16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: tlvEncodeCStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - strlen
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeCStr(STlvEncoder* pEncoder, int16_t type, const char*
      pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:230,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:231,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pEncoder
    - pValue
    argTypes:
    - STlvEncoder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: tlvEncodeValueCStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueImpl
    - strlen
    - tlvEncodeValueI16
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeValueCStr(STlvEncoder* pEncoder, const char* pValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pEncoder
    - type
    - pValue
    - len
    argTypes:
    - STlvEncoder*
    - int16_t
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: tlvEncodeBinary
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeBinary(STlvEncoder* pEncoder, int16_t type, const
      void* pValue, int32_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:248,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:249,1
    - Dst: func
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:258,1
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:261,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pEncoder
    - type
    - func
    - pObj
    argTypes:
    - STlvEncoder*
    - int16_t
    - FToMsg
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 266
    functionName: tlvEncodeObj
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - htonl
    - TMAX
    - func
    - htons
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvEncodeObj(STlvEncoder* pEncoder, int16_t type, FToMsg func,
      const void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:275,1
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:279,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - pEncoder
    - type
    - func
    - pArray
    - itemSize
    - num
    argTypes:
    - STlvEncoder*
    - int16_t
    - FToMsg
    - void*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: tlvEncodeObjArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - htonl
    - tlvEncodeObj
    - htons
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tlvEncodeObjArray(STlvEncoder* pEncoder, int16_t type, FToMsg
      func, const void* pArray, int32_t itemSize,\n                                 int32_t
      num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:288,1
    - Dst: func
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - pEncoder
    - func
    - pArray
    - itemSize
    - num
    argTypes:
    - STlvEncoder*
    - FToMsg
    - void*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: tlvEncodeValueArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - func
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tlvEncodeValueArray(STlvEncoder* pEncoder, FToMsg func, const
      void* pArray, int32_t itemSize,\n                                   int32_t
      num)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:302,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pTlv
    argTypes:
    - STlvDecoder*
    - STlv**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: tlvGetNextTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - ntohs
    - ntohl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvGetNextTlv(STlvDecoder* pDecoder, STlv** pTlv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pDecoder
    argTypes:
    - STlvDecoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: tlvDecodeEnd
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tlvDecodeEnd(STlvDecoder* pDecoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pTlv
    - pValue
    - len
    argTypes:
    - STlv*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: tlvDecodeImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeImpl(STlv* pTlv, void* pValue, int32_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:324,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pDecoder
    - pValue
    - len
    argTypes:
    - STlvDecoder*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 333
    functionName: tlvDecodeValueImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueImpl(STlvDecoder* pDecoder, void* pValue, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 335
    functionName: tlvDecodeI8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeI8(STlv* pTlv, int8_t* pValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: tlvDecodeValueI8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueI8(STlvDecoder* pDecoder, int8_t* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:342,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: tlvDecodeI16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - ntohs
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeI16(STlv* pTlv, int16_t* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:350,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: tlvDecodeValueI16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - ntohs
    - tlvDecodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueI16(STlvDecoder* pDecoder, int16_t* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:358,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: tlvDecodeI32
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - ntohl
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeI32(STlv* pTlv, int32_t* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:366,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: tlvDecodeValueI32
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueImpl
    - ntohl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueI32(STlvDecoder* pDecoder, int32_t* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:374,1
    - Dst: ntohll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: tlvDecodeI64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - ntohll
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeI64(STlv* pTlv, int64_t* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:382,1
    - Dst: ntohll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:385,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:387,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:388,1
    - Dst: ntohll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: tlvDecodeValueI64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueImpl
    - taosGetInt64Aligned
    - ntohll
    - taosSetInt64Aligned
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueI64(STlvDecoder* pDecoder, int64_t* pValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: tlvDecodeU8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeU8(STlv* pTlv, uint8_t* pValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: tlvDecodeValueU8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueU8(STlvDecoder* pDecoder, uint8_t* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:401,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: tlvDecodeU16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - ntohs
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeU16(STlv* pTlv, uint16_t* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:409,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 414
    functionName: tlvDecodeValueU16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - ntohs
    - tlvDecodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueU16(STlvDecoder* pDecoder, uint16_t* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:417,1
    - Dst: ntohll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: tlvDecodeU64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - ntohll
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeU64(STlv* pTlv, uint64_t* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:425,1
    - Dst: ntohll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: tlvDecodeValueU64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueImpl
    - ntohll
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueU64(STlvDecoder* pDecoder, uint64_t* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: tlvDecodeDouble
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeDouble(STlv* pTlv, double* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: tlvDecodeValueDouble
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueDouble(STlvDecoder* pDecoder, double* pValue)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - value
    - pValue
    - len
    argTypes:
    - int32_t
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 465
    functionName: convertIntegerType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertIntegerType(int32_t value, void* pValue, int16_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:469,1
    - Dst: convertIntegerType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: tlvDecodeBool
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI8
    - convertIntegerType
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeBool(STlv* pTlv, bool* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:478,1
    - Dst: convertIntegerType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: tlvDecodeValueBool
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueI8
    - convertIntegerType
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueBool(STlvDecoder* pDecoder, bool* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:487,1
    - Dst: convertIntegerType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pTlv
    - pValue
    - len
    argTypes:
    - STlv*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 492
    functionName: tlvDecodeEnum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI32
    - convertIntegerType
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeEnum(STlv* pTlv, void* pValue, int16_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:496,1
    - Dst: convertIntegerType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pDecoder
    - pValue
    - len
    argTypes:
    - STlvDecoder*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 501
    functionName: tlvDecodeValueEnum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueI32
    - convertIntegerType
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueEnum(STlvDecoder* pDecoder, void* pValue, int16_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pTlv
    - pValue
    - size
    argTypes:
    - STlv*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: tlvDecodeCStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeCStr(STlv* pTlv, char* pValue, int32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:513,1
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 518
    functionName: tlvDecodeValueCStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueImpl
    - tlvDecodeValueI16
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeValueCStr(STlvDecoder* pDecoder, char* pValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: tlvDecodeCStrP
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - taosStrndup
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeCStrP(STlv* pTlv, char** pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:526,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: tlvDecodeDynBinary
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeDynBinary(STlv* pTlv, void** pValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: tlvDecodeBinary
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeBinary(STlv* pTlv, void* pValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pTlv
    - func
    - pObj
    argTypes:
    - STlv*
    - FToObject
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: tlvDecodeObjFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - func
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeObjFromTlv(STlv* pTlv, FToObject func, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvGetNextTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:546,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pDecoder
    - func
    - pObj
    argTypes:
    - STlvDecoder*
    - FToObject
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: tlvDecodeObj
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvGetNextTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeObj(STlvDecoder* pDecoder, FToObject func, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pDecoder
    - func
    - pArray
    - itemSize
    argTypes:
    - STlvDecoder*
    - FToObject
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 559
    functionName: tlvDecodeObjArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeObjArray(STlvDecoder* pDecoder, FToObject func, void*
      pArray, int32_t itemSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:563,1
    - Dst: func
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - pDecoder
    - func
    - pArray
    - itemSize
    - pNum
    argTypes:
    - STlvDecoder*
    - FToObject
    - void*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 568
    functionName: tlvDecodeValueArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - func
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tlvDecodeValueArray(STlvDecoder* pDecoder, FToObject func,
      void* pArray, int32_t itemSize,\n                                   int32_t*
      pNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pTlv
    - func
    - pArray
    - itemSize
    argTypes:
    - STlv*
    - FToObject
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: tlvDecodeObjArrayFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeObjArrayFromTlv(STlv* pTlv, FToObject func, void*
      pArray, int32_t itemSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeFunc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:576,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pTlv
    - makeFunc
    - toFunc
    - pObj
    argTypes:
    - STlv*
    - FMakeObject
    - FToObject
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: tlvDecodeDynObjFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - makeFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeDynObjFromTlv(STlv* pTlv, FMakeObject makeFunc, FToObject
      toFunc, void** pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvGetNextTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:585,1
    - Dst: tlvDecodeDynObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pDecoder
    - makeFunc
    - toFunc
    - pObj
    argTypes:
    - STlvDecoder*
    - FMakeObject
    - FToObject
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 590
    functionName: tlvDecodeDynObj
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeDynObjFromTlv
    - tlvGetNextTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t tlvDecodeDynObj(STlvDecoder* pDecoder, FMakeObject makeFunc,
      FToObject toFunc, void** pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:597,1
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:599,1
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:602,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 609
    functionName: dataTypeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueI8
    - tlvEncodeValueU8
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataTypeInlineToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:614,1
    - Dst: tlvEncodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:616,1
    - Dst: tlvEncodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:619,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 626
    functionName: dataTypeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeU8
    - tlvEncodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataTypeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:631,1
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:633,1
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:636,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 643
    functionName: msgToDataTypeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueU8
    - tlvDecodeValueI8
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToDataTypeInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:653,1
    - Dst: tlvDecodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:656,1
    - Dst: tlvDecodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:659,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 670
    functionName: msgToDataType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeU8
    - tlvDecodeI8
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToDataType(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:653,1
    - Dst: tlvDecodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:656,1
    - Dst: tlvDecodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:659,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 667
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeU8
    - tlvDecodeI8
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:676,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:678,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:681,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 687
    functionName: exprNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t exprNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:697,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:700,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:703,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:706,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 689
    functionDepth: 3
    functionLinenumber: 689
    functionLinenumberEnd: 714
    functionName: msgToExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToExprNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:697,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:700,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:703,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:706,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 711
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeBool
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: dataTypeInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:721,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:723,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:726,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:729,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:732,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:735,1
    - Dst: tlvEncodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:738,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:741,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:744,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:747,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:750,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:753,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:756,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:759,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:762,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:765,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:768,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:771,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:774,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:777,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:780,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:783,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 718
    functionDepth: 4
    functionLinenumber: 718
    functionLinenumberEnd: 786
    functionName: columnNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - dataTypeInlineToMsg
    - tlvEncodeValueBool
    - tlvEncodeValueI16
    - tlvEncodeValueCStr
    - tlvEncodeValueI64
    - tlvEncodeValueEnum
    - tlvEncodeValueU64
    - tlvEncodeValueI8
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t columnNodeInlineToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 790
    functionName: columnNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t columnNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: msgToDataTypeInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:795,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:797,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:800,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:803,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:806,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:809,1
    - Dst: tlvDecodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:812,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:815,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:818,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:821,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:824,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:827,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:830,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:833,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:836,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:839,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:842,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:845,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:848,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:851,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:854,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:857,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 792
    functionDepth: 3
    functionLinenumber: 792
    functionLinenumberEnd: 860
    functionName: msgToColumnNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToDataTypeInline
    - tlvDecodeValueI64
    - tlvDecodeValueBool
    - tlvDecodeValueEnum
    - tlvDecodeValueCStr
    - tlvDecodeValueU64
    - tlvDecodeValueI8
    - tlvDecodeValueI16
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToColumnNodeInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 878
    functionName: msgToColumnNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToColumnNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 875
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:899,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:906,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:912,1
    - Dst: tlvEncodeDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:916,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:922,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:922,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:925,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:925,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:928,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:931,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:934,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:934,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 942
    functionName: datumToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - tlvEncodeDouble
    - tlvEncodeBinary
    - varDataTLen
    - tlvEncodeI64
    - getJsonValueLen
    - tlvEncodeU64
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t datumToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:947,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:949,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:952,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:955,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:958,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:961,1
    - Dst: IS_VAL_UNSET
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:963,1
    - Dst: datumToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:964,1
    - Dst: tlvEncodeI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:967,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 944
    functionDepth: 4
    functionLinenumber: 944
    functionLinenumberEnd: 971
    functionName: valueNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - IS_VAL_UNSET
    - tlvEncodeCStr
    - tlvEncodeObj
    - tlvEncodeBool
    - tlvEncodeI32
    - tlvEncodeI16
    - datumToMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t valueNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:981,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:985,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:989,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:993,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:997,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1001,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1005,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1009,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1013,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1017,1
    - Dst: tlvDecodeDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1021,1
    - Dst: tlvDecodeDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1025,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1036,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1041,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1043,1
    - Dst: tlvDecodeDynBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1052,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1056,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1061,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1064,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1072,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1077,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1079,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 973
    functionDepth: 3
    functionLinenumber: 973
    functionLinenumberEnd: 1088
    functionName: msgToDatum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - blobDataSetLen
    - tlvDecodeBool
    - tlvDecodeDynBinary
    - tlvDecodeU64
    - tlvDecodeBinary
    - taosMemoryCalloc
    - tlvDecodeDouble
    - tlvDecodeI64
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToDatum(STlv* pTlv, void* pObj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1098,1
    - Dst: tlvDecodeCStrP
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1101,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1104,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1107,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1110,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1113,1
    - Dst: msgToDatum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1116,1
    - Dst: tlvDecodeI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1127
    functionName: msgToValueNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI16
    - tlvDecodeCStrP
    - tlvDecodeBool
    - msgToDatum
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToValueNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1098,1
    - Dst: tlvDecodeCStrP
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1101,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1104,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1107,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1110,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1113,1
    - Dst: msgToDatum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1116,1
    - Dst: tlvDecodeI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1095
    functionDepth: 4
    functionLinenumber: 1095
    functionLinenumberEnd: 1124
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI16
    - tlvDecodeCStrP
    - tlvDecodeBool
    - msgToDatum
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1138,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1135
    functionDepth: 3
    functionLinenumber: 1135
    functionLinenumberEnd: 1149
    functionName: remoteValueNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteValueNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1160,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1152
    functionDepth: 2
    functionLinenumber: 1152
    functionLinenumberEnd: 1176
    functionName: msgToRemoteValueNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToRemoteValueNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1160,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1157
    functionDepth: 2
    functionLinenumber: 1157
    functionLinenumberEnd: 1173
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1187,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1189,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1184
    functionDepth: 3
    functionLinenumber: 1184
    functionLinenumberEnd: 1196
    functionName: remoteValueListNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteValueListNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1207,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1210,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1199
    functionDepth: 2
    functionLinenumber: 1199
    functionLinenumberEnd: 1221
    functionName: msgToRemoteValueListNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToRemoteValueListNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1207,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1210,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1204
    functionDepth: 2
    functionLinenumber: 1204
    functionLinenumberEnd: 1218
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1235,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1237,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1240,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1243,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1246,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1232
    functionDepth: 3
    functionLinenumber: 1232
    functionLinenumberEnd: 1253
    functionName: remoteRowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteRowNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      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: tlvDecodeBool
      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: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1276,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1287
    functionName: msgToRemoteRowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToRemoteRowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      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: tlvDecodeBool
      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: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1276,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1261
    functionDepth: 3
    functionLinenumber: 1261
    functionLinenumberEnd: 1284
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remoteValueNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1289
    functionDepth: 4
    functionLinenumber: 1289
    functionLinenumberEnd: 1291
    functionName: remoteZeroRowsNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - remoteValueNodeToMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteZeroRowsNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msgToRemoteValueNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1294
    functionDepth: 3
    functionLinenumber: 1294
    functionLinenumberEnd: 1296
    functionName: msgToRemoteZeroRowsNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToRemoteValueNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToRemoteZeroRowsNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1307,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1309,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1316
    functionName: remoteTableNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteTableNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1328,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1331,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1320
    functionDepth: 2
    functionLinenumber: 1320
    functionLinenumberEnd: 1342
    functionName: msgToRemoteTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToRemoteTableNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1328,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1331,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1339
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1351,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1353,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1356,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1359,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1348
    functionDepth: 3
    functionLinenumber: 1348
    functionLinenumberEnd: 1366
    functionName: operatorNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    - tlvEncodeEnum
    linkageType: ''
    returnType: int32_t
    signature: int32_t operatorNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1376,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1379,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1382,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1385,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1368
    functionDepth: 3
    functionLinenumber: 1368
    functionLinenumberEnd: 1396
    functionName: msgToOperatorNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - msgToNodeFromTlv
    - tlvDecodeEnum
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToOperatorNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1376,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1379,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1382,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1385,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1373
    functionDepth: 3
    functionLinenumber: 1373
    functionLinenumberEnd: 1393
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - msgToNodeFromTlv
    - tlvDecodeEnum
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1403,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1405,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1400
    functionDepth: 3
    functionLinenumber: 1400
    functionLinenumberEnd: 1412
    functionName: logicConditionNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeEnum
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicConditionNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1422,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1425,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1414
    functionDepth: 3
    functionLinenumber: 1414
    functionLinenumberEnd: 1436
    functionName: msgToLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToLogicConditionNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1422,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1425,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1419
    functionDepth: 3
    functionLinenumber: 1419
    functionLinenumberEnd: 1433
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1456,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1458,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1461,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1464,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1467,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1470,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1473,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1476,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1479,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1482,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1485,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1488,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1453
    functionDepth: 3
    functionLinenumber: 1453
    functionLinenumberEnd: 1492
    functionName: functionNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeCStr
    - tlvEncodeObj
    - tlvEncodeEnum
    - tlvEncodeBool
    - tlvEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t functionNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1502,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1505,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1508,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1511,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1514,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1517,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1520,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1523,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1526,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1529,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1532,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1535,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1494
    functionDepth: 3
    functionLinenumber: 1494
    functionLinenumberEnd: 1542
    functionName: msgToFunctionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeCStr
    - tlvDecodeBool
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToFunctionNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1502,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1505,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1508,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1511,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1514,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1517,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1520,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1523,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1526,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1529,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1532,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1535,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1539
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeCStr
    - tlvDecodeBool
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1549,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1551,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1546
    functionDepth: 3
    functionLinenumber: 1546
    functionLinenumberEnd: 1558
    functionName: orderByExprNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeEnum
    linkageType: ''
    returnType: int32_t
    signature: int32_t orderByExprNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1568,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1571,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1560
    functionDepth: 3
    functionLinenumber: 1560
    functionLinenumberEnd: 1582
    functionName: msgToOrderByExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeEnum
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToOrderByExprNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1568,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1571,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1565
    functionDepth: 3
    functionLinenumber: 1565
    functionLinenumberEnd: 1579
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeEnum
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1589,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1586
    functionDepth: 2
    functionLinenumber: 1586
    functionLinenumberEnd: 1595
    functionName: limitNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t limitNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1605,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1597
    functionDepth: 1
    functionLinenumber: 1597
    functionLinenumberEnd: 1616
    functionName: msgToLimitNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToLimitNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1605,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1613
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1623,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1625,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1628,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1620
    functionDepth: 3
    functionLinenumber: 1620
    functionLinenumberEnd: 1635
    functionName: nameToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeU8
    - tlvEncodeCStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t nameToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1645,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1648,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1651,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1637
    functionDepth: 2
    functionLinenumber: 1637
    functionLinenumberEnd: 1662
    functionName: msgToName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeU8
    - tlvDecodeI32
    - tlvDecodeCStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToName(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1645,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1648,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1651,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1642
    functionDepth: 2
    functionLinenumber: 1642
    functionLinenumberEnd: 1659
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeU8
    - tlvDecodeI32
    - tlvDecodeCStr
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1669,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1666
    functionDepth: 3
    functionLinenumber: 1666
    functionLinenumberEnd: 1675
    functionName: timeWindowToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t timeWindowToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1685,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1677
    functionDepth: 2
    functionLinenumber: 1677
    functionLinenumberEnd: 1696
    functionName: msgToTimeWindow
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToTimeWindow(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1685,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1682
    functionDepth: 2
    functionLinenumber: 1682
    functionLinenumberEnd: 1693
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI64
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1703,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1700
    functionDepth: 2
    functionLinenumber: 1700
    functionLinenumberEnd: 1709
    functionName: nodeListNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodeListNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1719,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1730
    functionName: msgToNodeListNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToNodeListNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1719,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1727
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1737,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1734
    functionDepth: 3
    functionLinenumber: 1734
    functionLinenumberEnd: 1743
    functionName: targetNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueI64
    - tlvEncodeValueI16
    linkageType: ''
    returnType: int32_t
    signature: int32_t targetNodeInlineToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1748,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1745
    functionDepth: 2
    functionLinenumber: 1745
    functionLinenumberEnd: 1754
    functionName: targetNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t targetNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1759,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1756
    functionDepth: 2
    functionLinenumber: 1756
    functionLinenumberEnd: 1765
    functionName: msgToTargetNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueI64
    - tlvDecodeValueI16
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToTargetNodeInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1775,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1767
    functionDepth: 1
    functionLinenumber: 1767
    functionLinenumberEnd: 1786
    functionName: msgToTargetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToTargetNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1775,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1783
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1795,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1797,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1792
    functionDepth: 3
    functionLinenumber: 1792
    functionLinenumberEnd: 1804
    functionName: timeRangeNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t timeRangeNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1814,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1817,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1806
    functionDepth: 3
    functionLinenumber: 1806
    functionLinenumberEnd: 1828
    functionName: msgToTimeRangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToTimeRangeNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1814,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1817,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1811
    functionDepth: 3
    functionLinenumber: 1811
    functionLinenumberEnd: 1825
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeBool
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1835,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1837,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1840,1
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1832
    functionDepth: 3
    functionLinenumber: 1832
    functionLinenumberEnd: 1847
    functionName: dataBlockDescNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueI64
    - tlvEncodeValueU8
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataBlockDescNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1852,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1849
    functionDepth: 2
    functionLinenumber: 1849
    functionLinenumberEnd: 1858
    functionName: dataBlockDescNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataBlockDescNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1863,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1865,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1868,1
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1860
    functionDepth: 2
    functionLinenumber: 1860
    functionLinenumberEnd: 1875
    functionName: msgToDataBlockDescNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueI64
    - tlvDecodeValueI32
    - tlvDecodeValueU8
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToDataBlockDescNodeInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1885,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1877
    functionDepth: 1
    functionLinenumber: 1877
    functionLinenumberEnd: 1896
    functionName: msgToDataBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToDataBlockDescNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1885,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1882
    functionDepth: 1
    functionLinenumber: 1882
    functionLinenumberEnd: 1893
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1903,1
    - Dst: dataTypeInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1905,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1908,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1911,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1900
    functionDepth: 4
    functionLinenumber: 1900
    functionLinenumberEnd: 1918
    functionName: slotDescNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - dataTypeInlineToMsg
    - tlvEncodeValueBool
    - tlvEncodeValueI16
    linkageType: ''
    returnType: int32_t
    signature: int32_t slotDescNodeInlineToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 1922
    functionName: slotDescNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t slotDescNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1927,1
    - Dst: msgToDataTypeInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1929,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1932,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1935,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1924
    functionDepth: 3
    functionLinenumber: 1924
    functionLinenumberEnd: 1942
    functionName: msgToSlotDescNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToDataTypeInline
    - tlvDecodeValueI16
    - tlvDecodeValueBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToSlotDescNodeInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1944
    functionDepth: 1
    functionLinenumber: 1944
    functionLinenumberEnd: 1960
    functionName: msgToSlotDescNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToSlotDescNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1949
    functionDepth: 1
    functionLinenumber: 1949
    functionLinenumberEnd: 1957
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1967,1
    - Dst: tlvEncodeValueU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1964
    functionDepth: 4
    functionLinenumber: 1964
    functionLinenumberEnd: 1973
    functionName: epInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueCStr
    - tlvEncodeValueU16
    linkageType: ''
    returnType: int32_t
    signature: int32_t epInlineToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1978,1
    - Dst: tlvEncodeU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1975
    functionDepth: 3
    functionLinenumber: 1975
    functionLinenumberEnd: 1984
    functionName: epToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeU16
    - tlvEncodeCStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t epToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1989,1
    - Dst: tlvDecodeValueU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1986
    functionDepth: 3
    functionLinenumber: 1986
    functionLinenumberEnd: 1995
    functionName: msgToEpInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueCStr
    - tlvDecodeValueU16
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToEpInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2005,1
    - Dst: tlvDecodeU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1997
    functionDepth: 2
    functionLinenumber: 1997
    functionLinenumberEnd: 2016
    functionName: msgToEp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeU16
    - tlvDecodeCStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToEp(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2005,1
    - Dst: tlvDecodeU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2002
    functionDepth: 2
    functionLinenumber: 2002
    functionLinenumberEnd: 2013
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeU16
    - tlvDecodeCStr
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2023,1
    - Dst: tlvEncodeValueArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2020
    functionDepth: 4
    functionLinenumber: 2020
    functionLinenumberEnd: 2029
    functionName: epSetInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueArray
    - tlvEncodeValueI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t epSetInlineToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2034,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2036,1
    - Dst: tlvEncodeObjArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2039,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2031
    functionDepth: 3
    functionLinenumber: 2031
    functionLinenumberEnd: 2043
    functionName: epSetToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObjArray
    - tlvEncodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t epSetToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2048,1
    - Dst: tlvDecodeValueArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2045
    functionDepth: 3
    functionLinenumber: 2045
    functionLinenumberEnd: 2056
    functionName: msgToEpSetInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueArray
    - tlvDecodeValueI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToEpSetInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2066,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2069,1
    - Dst: tlvDecodeObjArrayFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2072,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2058
    functionDepth: 3
    functionLinenumber: 2058
    functionLinenumberEnd: 2080
    functionName: msgToEpSet
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI8
    - tlvDecodeObjArrayFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToEpSet(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2066,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2069,1
    - Dst: tlvDecodeObjArrayFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2072,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2063
    functionDepth: 3
    functionLinenumber: 2063
    functionLinenumberEnd: 2077
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI8
    - tlvDecodeObjArrayFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2087,1
    - Dst: epSetInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2084
    functionDepth: 5
    functionLinenumber: 2084
    functionLinenumberEnd: 2093
    functionName: queryNodeAddrInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - epSetInlineToMsg
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryNodeAddrInlineToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2098,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2095
    functionDepth: 3
    functionLinenumber: 2095
    functionLinenumberEnd: 2104
    functionName: queryNodeAddrToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryNodeAddrToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2109,1
    - Dst: msgToEpSetInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2106
    functionDepth: 4
    functionLinenumber: 2106
    functionLinenumberEnd: 2115
    functionName: msgToQueryNodeAddrInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToEpSetInline
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToQueryNodeAddrInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2125,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2117
    functionDepth: 2
    functionLinenumber: 2117
    functionLinenumberEnd: 2134
    functionName: msgToQueryNodeAddr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToQueryNodeAddr(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2125,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2122
    functionDepth: 2
    functionLinenumber: 2122
    functionLinenumberEnd: 2131
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: queryNodeAddrInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2141,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2143,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2146,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2149,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2152,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2138
    functionDepth: 6
    functionLinenumber: 2138
    functionLinenumberEnd: 2159
    functionName: downstreamSourceNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - queryNodeAddrInlineToMsg
    - tlvEncodeValueI32
    - tlvEncodeValueU64
    linkageType: ''
    returnType: int32_t
    signature: int32_t downstreamSourceNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2161
    functionDepth: 2
    functionLinenumber: 2161
    functionLinenumberEnd: 2163
    functionName: downstreamSourceNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t downstreamSourceNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msgToQueryNodeAddrInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2168,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2170,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2173,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2176,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2179,1
    - Dst: tlvDecodeEnd
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2181,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2165
    functionDepth: 5
    functionLinenumber: 2165
    functionLinenumberEnd: 2186
    functionName: msgToDownstreamSourceNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToQueryNodeAddrInline
    - tlvDecodeValueU64
    - tlvDecodeEnd
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToDownstreamSourceNodeInlineToMsg(STlvDecoder* pDecoder,
      void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2188
    functionDepth: 1
    functionLinenumber: 2188
    functionLinenumberEnd: 2204
    functionName: msgToDownstreamSourceNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToDownstreamSourceNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2201
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2211,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2213,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2208
    functionDepth: 2
    functionLinenumber: 2208
    functionLinenumberEnd: 2220
    functionName: whenThenNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t whenThenNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2230,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2233,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2244
    functionName: msgToWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToWhenThenNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2230,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2233,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2241
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2251,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2253,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2256,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2248
    functionDepth: 2
    functionLinenumber: 2248
    functionLinenumberEnd: 2263
    functionName: caseWhenNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t caseWhenNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2273,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2276,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2279,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2265
    functionDepth: 1
    functionLinenumber: 2265
    functionLinenumberEnd: 2290
    functionName: msgToCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToCaseWhenNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2273,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2276,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2279,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2270
    functionDepth: 1
    functionLinenumber: 2270
    functionLinenumberEnd: 2287
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2297,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2294
    functionDepth: 2
    functionLinenumber: 2294
    functionLinenumberEnd: 2303
    functionName: windowOffsetNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t windowOffsetNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2313,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2305
    functionDepth: 1
    functionLinenumber: 2305
    functionLinenumberEnd: 2324
    functionName: msgToWindowOffsetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToWindowOffsetNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2313,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2310
    functionDepth: 1
    functionLinenumber: 2310
    functionLinenumberEnd: 2321
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2342,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2344,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2347,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2350,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2353,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2356,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2359,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2362,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2339
    functionDepth: 3
    functionLinenumber: 2339
    functionLinenumberEnd: 2369
    functionName: physiNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeEnum
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2379,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2382,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2385,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2388,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2391,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2394,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2397,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2400,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2403,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2371
    functionDepth: 3
    functionLinenumber: 2371
    functionLinenumberEnd: 2411
    functionName: msgToPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeEnum
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2379,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2382,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2385,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2388,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2391,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2394,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2397,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2400,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2403,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2376
    functionDepth: 3
    functionLinenumber: 2376
    functionLinenumberEnd: 2408
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeEnum
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2428,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2430,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2433,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2436,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2439,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2442,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2445,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2448,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2451,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2425
    functionDepth: 3
    functionLinenumber: 2425
    functionLinenumberEnd: 2455
    functionName: physiScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeU64
    - tlvEncodeBool
    - tlvEncodeObj
    - tlvEncodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiScanNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2465,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2468,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2471,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2474,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2477,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2480,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2483,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2486,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2489,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2457
    functionDepth: 3
    functionLinenumber: 2457
    functionLinenumberEnd: 2496
    functionName: msgToPhysiScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI8
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeU64
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiScanNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2465,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2468,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2471,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2474,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2477,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2480,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2483,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2486,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2489,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2462
    functionDepth: 3
    functionLinenumber: 2462
    functionLinenumberEnd: 2493
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI8
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeU64
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2513,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2516,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2520,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2524,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2528,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2532,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2536,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2540,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2510
    functionDepth: 3
    functionLinenumber: 2510
    functionLinenumberEnd: 2548
    functionName: physiVirtualTableScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI8
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiVirtualTableScanNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2558,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2561,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2564,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2567,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2570,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2573,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2576,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2579,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2582,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2550
    functionDepth: 3
    functionLinenumber: 2550
    functionLinenumberEnd: 2590
    functionName: msgToPhysiVirtualTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeI8
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiVirtualTableScanNode(STlvDecoder* pDecoder, void*
      pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2558,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2561,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2564,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2567,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2570,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2573,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2576,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2579,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2582,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2555
    functionDepth: 3
    functionLinenumber: 2555
    functionLinenumberEnd: 2587
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeI8
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2600,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2597
    functionDepth: 3
    functionLinenumber: 2597
    functionLinenumberEnd: 2606
    functionName: physiTagScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiTagScanNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2616,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2608
    functionDepth: 3
    functionLinenumber: 2608
    functionLinenumberEnd: 2627
    functionName: msgToPhysiTagScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiTagScanNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2616,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2613
    functionDepth: 3
    functionLinenumber: 2613
    functionLinenumberEnd: 2624
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2641,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2643,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2646,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2649,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2652,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2638
    functionDepth: 3
    functionLinenumber: 2638
    functionLinenumberEnd: 2659
    functionName: physiLastRowScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiLastRowScanNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2669,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2672,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2675,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2678,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2681,1
    - Dst: msgToSArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2684,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2661
    functionDepth: 3
    functionLinenumber: 2661
    functionLinenumberEnd: 2693
    functionName: msgToPhysiLastRowScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToSArray
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiLastRowScanNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2669,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2672,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2675,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2678,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2681,1
    - Dst: msgToSArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2684,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2666
    functionDepth: 3
    functionLinenumber: 2666
    functionLinenumberEnd: 2690
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToSArray
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2711,1
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2713,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2716,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2719,1
    - Dst: tlvEncodeValueDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2722,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2725,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2728,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2731,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2734,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2737,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2740,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2743,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2746,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2749,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2752,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2755,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2758,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2761,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2764,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2767,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2770,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2773
      start: 2708
    functionDepth: 3
    functionLinenumber: 2708
    functionLinenumberEnd: 2773
    functionName: physiTableScanNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueBool
    - tlvEncodeValueU8
    - tlvEncodeValueI64
    - tlvEncodeValueDouble
    - tlvEncodeValueI32
    - tlvEncodeValueI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiTableScanNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2778,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2780,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:2786,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2789,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2792,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2795,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2798,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2801,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2804,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2775
    functionDepth: 2
    functionLinenumber: 2775
    functionLinenumberEnd: 2808
    functionName: physiTableScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiTableScanNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2813,1
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2815,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2818,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2821,1
    - Dst: tlvDecodeValueDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2824,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2827,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2830,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2833,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2836,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2839,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2842,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2845,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2848,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2851,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2854,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2857,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2860,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2863,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2866,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2869,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2872,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2810
    functionDepth: 3
    functionLinenumber: 2810
    functionLinenumberEnd: 2875
    functionName: msgToPhysiTableScanNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueI64
    - tlvDecodeValueDouble
    - tlvDecodeValueI8
    - tlvDecodeValueU8
    - tlvDecodeValueI32
    - tlvDecodeValueBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiTableScanNodeInline(STlvDecoder* pDecoder, void*
      pObj)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2885,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2888,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2891,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2894,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2897,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2900,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2903,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2906,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2911,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2914,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2917,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2925
      start: 2877
    functionDepth: 1
    functionLinenumber: 2877
    functionLinenumberEnd: 2925
    functionName: msgToPhysiTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - taosMemoryMalloc
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiTableScanNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2885,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2888,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2891,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2894,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2897,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2900,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2903,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2906,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2911,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2914,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2917,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2882
    functionDepth: 1
    functionLinenumber: 2882
    functionLinenumberEnd: 2922
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - taosMemoryMalloc
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2939,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2941,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2944,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2947,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2950,1
    - Dst: tlvEncodeU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2953,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2936
    functionDepth: 3
    functionLinenumber: 2936
    functionLinenumberEnd: 2957
    functionName: physiSysTableScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeU16
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiSysTableScanNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2967,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2970,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2973,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2976,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2979,1
    - Dst: tlvDecodeU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2982,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2959
    functionDepth: 3
    functionLinenumber: 2959
    functionLinenumberEnd: 2989
    functionName: msgToPhysiSysTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvDecodeU16
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiSysTableScanNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2967,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2970,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2973,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2976,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2979,1
    - Dst: tlvDecodeU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2982,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2986
      start: 2964
    functionDepth: 3
    functionLinenumber: 2964
    functionLinenumberEnd: 2986
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvDecodeU16
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3002,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3004,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3007,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3010,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3013,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3017
      start: 2999
    functionDepth: 3
    functionLinenumber: 2999
    functionLinenumberEnd: 3017
    functionName: physiProjectNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiProjectNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3027,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3030,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3033,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3036,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3039,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3047
      start: 3019
    functionDepth: 3
    functionLinenumber: 3019
    functionLinenumberEnd: 3047
    functionName: msgToPhysiProjectNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiProjectNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3027,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3030,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3033,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3036,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3039,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3024
    functionDepth: 3
    functionLinenumber: 3024
    functionLinenumberEnd: 3044
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3076,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3078,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3081,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3084,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3087,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3090,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3093,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3096,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3099,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3102,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3105,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3108,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3111,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3114,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3117,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3120,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3123,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3126,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3129,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3132,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3135,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3139
      start: 3073
    functionDepth: 3
    functionLinenumber: 3073
    functionLinenumberEnd: 3139
    functionName: physiMergeJoinNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI64
    - tlvEncodeObj
    - tlvEncodeEnum
    - tlvEncodeBool
    - tlvEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiMergeJoinNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3149,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3152,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3155,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3158,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3161,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3164,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3167,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3170,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3173,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3176,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3179,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3182,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3185,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3188,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3191,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3194,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3197,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3200,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3203,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3206,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3209,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3217
      start: 3141
    functionDepth: 3
    functionLinenumber: 3141
    functionLinenumberEnd: 3217
    functionName: msgToPhysiMergeJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiMergeJoinNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3149,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3152,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3155,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3158,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3161,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3164,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3167,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3170,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3173,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3176,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3179,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3182,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3185,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3188,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3191,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3194,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3197,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3200,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3203,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3206,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3209,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 3146
    functionDepth: 3
    functionLinenumber: 3146
    functionLinenumberEnd: 3214
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeI64
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3246,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3248,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3251,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3254,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3257,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3260,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3263,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3266,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3269,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3272,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3275,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3278,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3281,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3284,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3287,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3290,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3293,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3296,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3299,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3302,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3306
      start: 3243
    functionDepth: 3
    functionLinenumber: 3243
    functionLinenumberEnd: 3306
    functionName: physiHashJoinNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeI64
    - tlvEncodeObj
    - tlvEncodeEnum
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiHashJoinNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3317,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3320,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3323,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3326,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3329,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3332,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3335,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3338,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3341,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3344,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3347,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3350,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3353,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3356,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3359,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3362,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3365,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3368,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3371,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3374,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3309
    functionDepth: 3
    functionLinenumber: 3309
    functionLinenumberEnd: 3382
    functionName: msgToPhysiHashJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiHashJoinNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3317,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3320,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3323,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3326,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3329,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3332,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3335,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3338,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3341,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3344,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3347,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3350,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3353,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3356,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3359,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3362,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3365,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3368,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3371,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3374,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3379
      start: 3314
    functionDepth: 3
    functionLinenumber: 3314
    functionLinenumberEnd: 3379
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeI64
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3398,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3400,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3403,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3406,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3409,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3412,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3419
      start: 3395
    functionDepth: 3
    functionLinenumber: 3395
    functionLinenumberEnd: 3419
    functionName: physiAggNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiAggNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3429,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3432,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3435,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3438,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3441,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3444,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3421
    functionDepth: 3
    functionLinenumber: 3421
    functionLinenumberEnd: 3455
    functionName: msgToPhysiAggNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiAggNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3429,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3432,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3435,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3438,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3441,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3444,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3452
      start: 3426
    functionDepth: 3
    functionLinenumber: 3426
    functionLinenumberEnd: 3452
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3472,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3474,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3477,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3480,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3483,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3486,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3489,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3492,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3495,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3499
      start: 3469
    functionDepth: 3
    functionLinenumber: 3469
    functionLinenumberEnd: 3499
    functionName: physiExchangeNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiExchangeNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3509,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3512,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3515,1
    - Dst: msgToSArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3518,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3521,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3524,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3527,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3530,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3533,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3541
      start: 3501
    functionDepth: 3
    functionLinenumber: 3501
    functionLinenumberEnd: 3541
    functionName: msgToPhysiExchangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - msgToSArray
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiExchangeNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3509,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3512,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3515,1
    - Dst: msgToSArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3518,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3521,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3524,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3527,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3530,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3533,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3538
      start: 3506
    functionDepth: 3
    functionLinenumber: 3506
    functionLinenumberEnd: 3538
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - msgToSArray
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3558,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3560,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3563,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3566,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3569,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3572,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3575,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3578,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3585
      start: 3555
    functionDepth: 3
    functionLinenumber: 3555
    functionLinenumberEnd: 3585
    functionName: physiMergeNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiMergeNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3595,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3598,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3601,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3604,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3607,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3610,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3613,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3616,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3619,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3587
    functionDepth: 3
    functionLinenumber: 3587
    functionLinenumberEnd: 3627
    functionName: msgToPhysiMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiMergeNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3595,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3598,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3601,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3604,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3607,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3610,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3613,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3616,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3619,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3624
      start: 3592
    functionDepth: 3
    functionLinenumber: 3592
    functionLinenumberEnd: 3624
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3641,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3643,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3646,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3649,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3652,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3659
      start: 3638
    functionDepth: 3
    functionLinenumber: 3638
    functionLinenumberEnd: 3659
    functionName: physiSortNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiSortNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3669,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3672,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3675,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3678,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3681,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3691
      start: 3661
    functionDepth: 3
    functionLinenumber: 3661
    functionLinenumberEnd: 3691
    functionName: msgToPhysiSortNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiSortNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3669,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3672,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3675,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3678,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3681,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3688
      start: 3666
    functionDepth: 3
    functionLinenumber: 3666
    functionLinenumberEnd: 3688
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3713,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3715,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3718,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3721,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3724,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3727,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3730,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3733,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3736,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3739,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3742,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3745,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3749
      start: 3710
    functionDepth: 3
    functionLinenumber: 3710
    functionLinenumberEnd: 3749
    functionName: physiWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI64
    - tlvEncodeBool
    - tlvEncodeObj
    - tlvEncodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiWindowNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3759,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3762,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3765,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3768,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3771,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3774,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3777,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3780,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3783,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3786,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3789,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3792,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3751
    functionDepth: 3
    functionLinenumber: 3751
    functionLinenumberEnd: 3800
    functionName: msgToPhysiWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeI8
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiWindowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3759,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3762,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3765,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3768,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3771,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3774,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3777,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3780,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3783,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3786,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3789,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3792,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3797
      start: 3756
    functionDepth: 3
    functionLinenumber: 3756
    functionLinenumberEnd: 3797
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeI8
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3807,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3809,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3812,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3815,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3818,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3822
      start: 3804
    functionDepth: 3
    functionLinenumber: 3804
    functionLinenumberEnd: 3822
    functionName: physiIntervalNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueI64
    - tlvEncodeValueI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiIntervalNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3827,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3829,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3836
      start: 3824
    functionDepth: 2
    functionLinenumber: 3824
    functionLinenumberEnd: 3836
    functionName: physiIntervalNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiIntervalNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3841,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3843,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3846,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3849,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3856
      start: 3838
    functionDepth: 2
    functionLinenumber: 3838
    functionLinenumberEnd: 3856
    functionName: msgToPhysiIntervalNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueI64
    - tlvDecodeValueI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiIntervalNodeInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3866,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3869,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3858
    functionDepth: 1
    functionLinenumber: 3858
    functionLinenumberEnd: 3879
    functionName: msgToPhysiIntervalNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiIntervalNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3866,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3869,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3876
      start: 3863
    functionDepth: 1
    functionLinenumber: 3863
    functionLinenumberEnd: 3876
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3898,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3900,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3903,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3906,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3909,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3912,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3915,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3918,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3921,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3924,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3928
      start: 3895
    functionDepth: 3
    functionLinenumber: 3895
    functionLinenumberEnd: 3928
    functionName: physiFillNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeEnum
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiFillNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3938,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3941,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3944,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3947,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3950,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3953,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3956,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3959,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3962,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3965,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3973
      start: 3930
    functionDepth: 3
    functionLinenumber: 3930
    functionLinenumberEnd: 3973
    functionName: msgToPhysiFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiFillNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3938,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3941,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3944,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3947,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3950,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3953,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3956,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3959,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3962,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3965,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3970
      start: 3935
    functionDepth: 3
    functionLinenumber: 3935
    functionLinenumberEnd: 3970
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3980,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3986
      start: 3977
    functionDepth: 3
    functionLinenumber: 3977
    functionLinenumberEnd: 3986
    functionName: physiSessionWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI64
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiSessionWindowNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3996,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3999,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4007
      start: 3988
    functionDepth: 2
    functionLinenumber: 3988
    functionLinenumberEnd: 4007
    functionName: msgToPhysiSessionWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiSessionWindowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3996,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3999,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 3993
    functionDepth: 2
    functionLinenumber: 3993
    functionLinenumberEnd: 4004
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4026,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4028,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4031,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4034,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4037,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4040,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4043,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4046,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4049,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4052,1
    - Dst: tlvEncodeBool
      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: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4062
      start: 4024
    functionDepth: 3
    functionLinenumber: 4024
    functionLinenumberEnd: 4062
    functionName: physiExternalWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeI64
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiExternalWindowNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4072,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4075,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4078,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4081,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4084,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4087,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4090,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4093,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4096,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4099,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4102,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4105,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4112
      start: 4064
    functionDepth: 3
    functionLinenumber: 4064
    functionLinenumberEnd: 4112
    functionName: msgToPhysiExternalWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiExternalWindowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4072,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4075,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4078,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4081,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4084,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4087,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4090,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4093,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4096,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4099,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4102,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4105,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4110
      start: 4069
    functionDepth: 3
    functionLinenumber: 4069
    functionLinenumberEnd: 4110
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvDecodeI64
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4119,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4121,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4124,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4127,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4130,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4137
      start: 4116
    functionDepth: 3
    functionLinenumber: 4116
    functionLinenumberEnd: 4137
    functionName: physiStateWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeI64
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiStateWindowNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4147,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4150,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4153,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4156,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4159,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4169
      start: 4139
    functionDepth: 2
    functionLinenumber: 4139
    functionLinenumberEnd: 4169
    functionName: msgToPhysiStateWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    - msgToNodeFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiStateWindowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4147,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4150,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4153,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4156,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4159,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4166
      start: 4144
    functionDepth: 2
    functionLinenumber: 4144
    functionLinenumberEnd: 4166
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    - msgToNodeFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4176,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4178,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4181,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4184,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4187,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4194
      start: 4173
    functionDepth: 3
    functionLinenumber: 4173
    functionLinenumberEnd: 4194
    functionName: physiEventWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeI64
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiEventWindowNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4204,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4207,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4210,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4213,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4216,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4227
      start: 4196
    functionDepth: 2
    functionLinenumber: 4196
    functionLinenumberEnd: 4227
    functionName: msgToPhysiEventWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    - msgToNodeFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiEventWindowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4204,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4207,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4210,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4213,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4216,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4224
      start: 4201
    functionDepth: 2
    functionLinenumber: 4201
    functionLinenumberEnd: 4224
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    - msgToNodeFromTlv
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4234,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4236,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4243
      start: 4231
    functionDepth: 3
    functionLinenumber: 4231
    functionLinenumberEnd: 4243
    functionName: physiCountWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI64
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiCountWindowNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4253,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4256,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4267
      start: 4245
    functionDepth: 2
    functionLinenumber: 4245
    functionLinenumberEnd: 4267
    functionName: msgToPhysiCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiCountWindowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4253,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4256,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4264
      start: 4250
    functionDepth: 2
    functionLinenumber: 4250
    functionLinenumberEnd: 4264
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4274,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4276,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4283
      start: 4271
    functionDepth: 3
    functionLinenumber: 4271
    functionLinenumberEnd: 4283
    functionName: physiAnomalyWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeCStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiAnomalyWindowNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4293,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4296,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4307
      start: 4285
    functionDepth: 1
    functionLinenumber: 4285
    functionLinenumberEnd: 4307
    functionName: msgToPhysiAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeCStr
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiAnomalyWindowNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4293,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4296,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4304
      start: 4290
    functionDepth: 1
    functionLinenumber: 4290
    functionLinenumberEnd: 4304
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeCStr
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4321,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4323,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4326,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4329,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4332,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4318
    functionDepth: 3
    functionLinenumber: 4318
    functionLinenumberEnd: 4339
    functionName: physiPartitionNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiPartitionNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4349,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4352,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4355,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4358,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4361,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4372
      start: 4341
    functionDepth: 3
    functionLinenumber: 4341
    functionLinenumberEnd: 4372
    functionName: msgToPhysiPartitionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvDecodeI32
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiPartitionNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4349,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4352,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4355,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4358,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4361,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4369
      start: 4346
    functionDepth: 3
    functionLinenumber: 4346
    functionLinenumberEnd: 4369
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvDecodeI32
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4379,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4381,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4388
      start: 4376
    functionDepth: 2
    functionLinenumber: 4376
    functionLinenumberEnd: 4388
    functionName: physiIndefRowsFuncNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiIndefRowsFuncNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4398,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4401,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4412
      start: 4390
    functionDepth: 1
    functionLinenumber: 4390
    functionLinenumberEnd: 4412
    functionName: msgToPhysiIndefRowsFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiIndefRowsFuncNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4398,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4401,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4409
      start: 4395
    functionDepth: 1
    functionLinenumber: 4395
    functionLinenumberEnd: 4409
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4431,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4433,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4436,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4439,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4442,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4445,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4448,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4451,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4454,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4457,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4460,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4464
      start: 4428
    functionDepth: 3
    functionLinenumber: 4428
    functionLinenumberEnd: 4464
    functionName: physiInterpFuncNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI64
    - tlvEncodeObj
    - tlvEncodeEnum
    - tlvEncodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiInterpFuncNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4474,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4477,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4480,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4483,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4486,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4489,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4492,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4495,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4498,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4501,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4504,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4512
      start: 4466
    functionDepth: 3
    functionLinenumber: 4466
    functionLinenumberEnd: 4512
    functionName: msgToPhysiInterpFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeI8
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiInterpFuncNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4474,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4477,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4480,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4483,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4486,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4489,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4492,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4495,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4498,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4501,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4504,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4509
      start: 4471
    functionDepth: 3
    functionLinenumber: 4471
    functionLinenumberEnd: 4509
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeI8
    - msgToNodeListFromTlv
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4523,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4525,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4532
      start: 4520
    functionDepth: 2
    functionLinenumber: 4520
    functionLinenumberEnd: 4532
    functionName: physiForecastFuncNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiForecastFuncNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4542,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4545,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4556
      start: 4534
    functionDepth: 1
    functionLinenumber: 4534
    functionLinenumberEnd: 4556
    functionName: msgToPhysiForecastFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiForecastFuncNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4542,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4545,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4553
      start: 4539
    functionDepth: 1
    functionLinenumber: 4539
    functionLinenumberEnd: 4553
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4563
      start: 4560
    functionDepth: 2
    functionLinenumber: 4560
    functionLinenumberEnd: 4563
    functionName: physicDataSinkNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t physicDataSinkNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4581
      start: 4565
    functionDepth: 1
    functionLinenumber: 4565
    functionLinenumberEnd: 4581
    functionName: msgToPhysicDataSinkNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysicDataSinkNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4578
      start: 4570
    functionDepth: 1
    functionLinenumber: 4570
    functionLinenumberEnd: 4578
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4588,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4593
      start: 4586
    functionDepth: 3
    functionLinenumber: 4586
    functionLinenumberEnd: 4593
    functionName: physiDispatchNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiDispatchNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4603,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4614
      start: 4595
    functionDepth: 3
    functionLinenumber: 4595
    functionLinenumberEnd: 4614
    functionName: msgToPhysiDispatchNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiDispatchNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4603,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4611
      start: 4600
    functionDepth: 3
    functionLinenumber: 4600
    functionLinenumberEnd: 4611
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4631,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4633,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4636,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4639,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4642,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4645,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4648,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4651,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4654,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4658
      start: 4628
    functionDepth: 3
    functionLinenumber: 4628
    functionLinenumberEnd: 4658
    functionName: physiQueryInsertNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeCStr
    - tlvEncodeI8
    - tlvEncodeU64
    - tlvEncodeObj
    - tlvEncodeBool
    - tlvEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiQueryInsertNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4668,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4671,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4674,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4677,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4680,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4683,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4686,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4689,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4692,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4700
      start: 4660
    functionDepth: 3
    functionLinenumber: 4660
    functionLinenumberEnd: 4700
    functionName: msgToPhysiQueryInsertNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI8
    - tlvDecodeCStr
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeU64
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiQueryInsertNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4668,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4671,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4674,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4677,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4680,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4683,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4686,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4689,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4692,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4697
      start: 4665
    functionDepth: 3
    functionLinenumber: 4665
    functionLinenumberEnd: 4697
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI8
    - tlvDecodeCStr
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeObjFromTlv
    - tlvDecodeU64
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4717,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4719,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4722,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4725,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4728,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4731,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4734,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4737,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4740,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4744
      start: 4714
    functionDepth: 3
    functionLinenumber: 4714
    functionLinenumberEnd: 4744
    functionName: physiDeleteNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeU64
    - tlvEncodeObj
    - tlvEncodeCStr
    - tlvEncodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiDeleteNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4754,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4757,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4760,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4763,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4766,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4769,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4772,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4775,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4778,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4786
      start: 4746
    functionDepth: 2
    functionLinenumber: 4746
    functionLinenumberEnd: 4786
    functionName: msgToPhysiDeleteNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeI8
    - tlvDecodeCStr
    - tlvDecodeObjFromTlv
    - tlvDecodeU64
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiDeleteNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4754,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4757,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4760,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4763,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4766,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4769,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4772,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4775,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4778,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4783
      start: 4751
    functionDepth: 2
    functionLinenumber: 4751
    functionLinenumberEnd: 4783
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeI8
    - tlvDecodeCStr
    - tlvDecodeObjFromTlv
    - tlvDecodeU64
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4800,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4802,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4805,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4808,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4811,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4814,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4818
      start: 4797
    functionDepth: 3
    functionLinenumber: 4797
    functionLinenumberEnd: 4818
    functionName: physiGroupCacheNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiGroupCacheNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4828,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4831,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4834,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4837,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4840,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4843,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4851
      start: 4820
    functionDepth: 3
    functionLinenumber: 4820
    functionLinenumberEnd: 4851
    functionName: msgToPhysiGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiGroupCacheNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4828,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4831,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4834,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4837,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4840,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4843,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4848
      start: 4825
    functionDepth: 3
    functionLinenumber: 4825
    functionLinenumberEnd: 4848
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4890,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4892,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4897,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4899,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4902,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4905,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4908,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4911,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4914,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4919,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4921,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4924,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4927,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4930,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4933,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4941,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4943,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4946,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4949,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4952,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4955,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4958,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4961,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4964,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4967,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4970,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4973,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4976,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4985,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 97
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4988
      start: 4887
    functionDepth: 3
    functionLinenumber: 4887
    functionLinenumberEnd: 4988
    functionName: physiDynQueryCtrlNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeBool
    - tlvEncodeCStr
    - tlvEncodeU64
    - tlvEncodeObj
    - tlvEncodeEnum
    - tlvEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiDynQueryCtrlNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4998,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5001,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5004,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5007,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5010,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5013,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5016,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5019,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5022,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5025,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5028,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5031,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5034,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5037,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5040,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5043,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5046,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5049,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5052,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5055,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5058,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5061,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5064,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5067,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5070,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5073,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5076,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5079,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5082,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 94
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5090
      start: 4990
    functionDepth: 3
    functionLinenumber: 4990
    functionLinenumberEnd: 5090
    functionName: msgToPhysiDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeCStr
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - tlvDecodeU64
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToPhysiDynQueryCtrlNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4998,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5001,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5004,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5007,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5010,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5013,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5016,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5019,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5022,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5025,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5028,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5031,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5034,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5037,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5040,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5043,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5046,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5049,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5052,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5055,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5058,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5061,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5064,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5067,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5070,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5073,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5076,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5079,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5082,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5087
      start: 4995
    functionDepth: 3
    functionLinenumber: 4995
    functionLinenumberEnd: 5087
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeCStr
    - msgToNodeListFromTlv
    - tlvDecodeBool
    - tlvDecodeEnum
    - tlvDecodeObjFromTlv
    - tlvDecodeU64
    - tlvDecodeI32
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5099,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5101,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5108
      start: 5096
    functionDepth: 3
    functionLinenumber: 5096
    functionLinenumberEnd: 5108
    functionName: subplanIdInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueI32
    - tlvEncodeValueU64
    linkageType: ''
    returnType: int32_t
    signature: int32_t subplanIdInlineToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5113,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5115,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5122
      start: 5110
    functionDepth: 3
    functionLinenumber: 5110
    functionLinenumberEnd: 5122
    functionName: subplanIdToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeU64
    linkageType: ''
    returnType: int32_t
    signature: int32_t subplanIdToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5127,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5129,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5136
      start: 5124
    functionDepth: 2
    functionLinenumber: 5124
    functionLinenumberEnd: 5136
    functionName: msgToSubplanIdInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueU64
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToSubplanIdInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5146,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5149,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5160
      start: 5138
    functionDepth: 2
    functionLinenumber: 5138
    functionLinenumberEnd: 5160
    functionName: msgToSubplanId
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI32
    - tlvDecodeU64
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToSubplanId(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5146,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5149,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5157
      start: 5143
    functionDepth: 2
    functionLinenumber: 5143
    functionLinenumberEnd: 5157
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeI32
    - tlvDecodeU64
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: subplanIdInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5173,1
    - Dst: tlvEncodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5175,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5178,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5181,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5184,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5187,1
    - Dst: queryNodeAddrInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5190,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5193,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5196,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5199,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5202,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5205,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5208,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5211,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5214
      start: 5170
    functionDepth: 6
    functionLinenumber: 5170
    functionLinenumberEnd: 5214
    functionName: subplanInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueBool
    - tlvEncodeValueCStr
    - tlvEncodeValueEnum
    - tlvEncodeValueI32
    - subplanIdInlineToMsg
    - queryNodeAddrInlineToMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t subplanInlineToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5219,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5221,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5224,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5227,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5234
      start: 5216
    functionDepth: 2
    functionLinenumber: 5216
    functionLinenumberEnd: 5234
    functionName: subplanToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t subplanToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: msgToSubplanIdInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5239,1
    - Dst: tlvDecodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5241,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5244,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5247,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5250,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5253,1
    - Dst: msgToQueryNodeAddrInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5256,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5259,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5262,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5265,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5268,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5271,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5274,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5277,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5280
      start: 5236
    functionDepth: 5
    functionLinenumber: 5236
    functionLinenumberEnd: 5280
    functionName: msgToSubplanInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueBool
    - tlvDecodeValueEnum
    - msgToSubplanIdInline
    - tlvDecodeValueCStr
    - msgToQueryNodeAddrInline
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToSubplanInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5290,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5293,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5296,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5299,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5310
      start: 5282
    functionDepth: 1
    functionLinenumber: 5282
    functionLinenumberEnd: 5310
    functionName: msgToSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToSubplan(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5290,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5293,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5296,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5299,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5307
      start: 5287
    functionDepth: 1
    functionLinenumber: 5287
    functionLinenumberEnd: 5307
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5317,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5323
      start: 5314
    functionDepth: 3
    functionLinenumber: 5314
    functionLinenumberEnd: 5323
    functionName: queryPlanInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeValueI32
    - tlvEncodeValueU64
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryPlanInlineToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5328,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5334
      start: 5325
    functionDepth: 2
    functionLinenumber: 5325
    functionLinenumberEnd: 5334
    functionName: queryPlanToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryPlanToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5339,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5345
      start: 5336
    functionDepth: 2
    functionLinenumber: 5336
    functionLinenumberEnd: 5345
    functionName: msgToQueryPlanInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeValueU64
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToQueryPlanInline(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5355,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5366
      start: 5347
    functionDepth: 1
    functionLinenumber: 5347
    functionLinenumberEnd: 5366
    functionName: msgToQueryPlan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToQueryPlan(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5355,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5363
      start: 5352
    functionDepth: 1
    functionLinenumber: 5352
    functionLinenumberEnd: 5363
    functionName: tlvForEach
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeListFromTlv
    linkageType: ''
    returnType: void
    signature: void tlvForEach(pDecoder, pTlv, code)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5371,1
    - Dst: columnNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5373,1
    - Dst: valueNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5376,1
    - Dst: operatorNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5379,1
    - Dst: logicConditionNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5382,1
    - Dst: functionNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5385,1
    - Dst: orderByExprNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5388,1
    - Dst: limitNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5391,1
    - Dst: nodeListNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5394,1
    - Dst: targetNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5397,1
    - Dst: timeRangeNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5400,1
    - Dst: dataBlockDescNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5403,1
    - Dst: slotDescNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5406,1
    - Dst: downstreamSourceNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5409,1
    - Dst: whenThenNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5414,1
    - Dst: caseWhenNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5417,1
    - Dst: windowOffsetNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5420,1
    - Dst: remoteValueNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5423,1
    - Dst: remoteValueListNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5426,1
    - Dst: remoteRowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5429,1
    - Dst: remoteZeroRowsNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5432,1
    - Dst: remoteTableNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5435,1
    - Dst: physiTagScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5438,1
    - Dst: physiScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5441,1
    - Dst: physiLastRowScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5445,1
    - Dst: physiTableScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5450,1
    - Dst: physiSysTableScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5453,1
    - Dst: physiProjectNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5456,1
    - Dst: physiMergeJoinNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5459,1
    - Dst: physiHashJoinNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5462,1
    - Dst: physiAggNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5465,1
    - Dst: physiExchangeNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5468,1
    - Dst: physiMergeNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5471,1
    - Dst: physiSortNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5475,1
    - Dst: physiIntervalNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5479,1
    - Dst: physiFillNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5482,1
    - Dst: physiSessionWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5485,1
    - Dst: physiExternalWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5490,1
    - Dst: physiStateWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5493,1
    - Dst: physiEventWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5496,1
    - Dst: physiCountWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5499,1
    - Dst: physiAnomalyWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5502,1
    - Dst: physiPartitionNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5505,1
    - Dst: physiIndefRowsFuncNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5508,1
    - Dst: physiInterpFuncNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5511,1
    - Dst: physiForecastFuncNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5515,1
    - Dst: physiDispatchNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5518,1
    - Dst: physiQueryInsertNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5521,1
    - Dst: physiDeleteNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5524,1
    - Dst: physiGroupCacheNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5527,1
    - Dst: physiDynQueryCtrlNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5530,1
    - Dst: physiVirtualTableScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5533,1
    - Dst: subplanToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5536,1
    - Dst: queryPlanToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5539,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5545,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5545,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5545,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 178
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5549
      start: 5368
    functionDepth: 5
    functionLinenumber: 5368
    functionLinenumberEnd: 5549
    functionName: specificNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - physiQueryInsertNodeToMsg
    - subplanToMsg
    - physiMergeJoinNodeToMsg
    - physiIndefRowsFuncNodeToMsg
    - physiAnomalyWindowNodeToMsg
    - physiGroupCacheNodeToMsg
    - physiVirtualTableScanNodeToMsg
    - nodeType
    - physiSortNodeToMsg
    - physiInterpFuncNodeToMsg
    - remoteRowNodeToMsg
    - remoteValueListNodeToMsg
    - windowOffsetNodeToMsg
    - physiForecastFuncNodeToMsg
    - physiAggNodeToMsg
    - physiIntervalNodeToMsg
    - nodeListNodeToMsg
    - caseWhenNodeToMsg
    - physiScanNodeToMsg
    - physiCountWindowNodeToMsg
    - physiLastRowScanNodeToMsg
    - physiPartitionNodeToMsg
    - slotDescNodeToMsg
    - nodesNodeName
    - physiDeleteNodeToMsg
    - physiFillNodeToMsg
    - downstreamSourceNodeToMsg
    - orderByExprNodeToMsg
    - physiEventWindowNodeToMsg
    - physiHashJoinNodeToMsg
    - physiSysTableScanNodeToMsg
    - columnNodeToMsg
    - physiTableScanNodeToMsg
    - dataBlockDescNodeToMsg
    - physiProjectNodeToMsg
    - physiTagScanNodeToMsg
    - timeRangeNodeToMsg
    - targetNodeToMsg
    - physiMergeNodeToMsg
    - queryPlanToMsg
    - nodesError
    - valueNodeToMsg
    - physiExternalWindowNodeToMsg
    - physiStateWindowNodeToMsg
    - remoteTableNodeToMsg
    - operatorNodeToMsg
    - whenThenNodeToMsg
    - physiDispatchNodeToMsg
    - physiExchangeNodeToMsg
    - logicConditionNodeToMsg
    - physiDynQueryCtrlNodeToMsg
    - limitNodeToMsg
    - functionNodeToMsg
    - remoteZeroRowsNodeToMsg
    - remoteValueNodeToMsg
    - physiSessionWindowNodeToMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t specificNodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5553,1
    - Dst: msgToColumnNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5555,1
    - Dst: msgToValueNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5558,1
    - Dst: msgToOperatorNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5561,1
    - Dst: msgToLogicConditionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5564,1
    - Dst: msgToFunctionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5567,1
    - Dst: msgToOrderByExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5570,1
    - Dst: msgToLimitNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5573,1
    - Dst: msgToNodeListNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5576,1
    - Dst: msgToTargetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5579,1
    - Dst: msgToTimeRangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5582,1
    - Dst: msgToDataBlockDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5585,1
    - Dst: msgToSlotDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5588,1
    - Dst: msgToDownstreamSourceNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5591,1
    - Dst: msgToWhenThenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5595,1
    - Dst: msgToCaseWhenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5598,1
    - Dst: msgToWindowOffsetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5601,1
    - Dst: msgToRemoteValueNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5604,1
    - Dst: msgToRemoteValueListNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5607,1
    - Dst: msgToRemoteRowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5610,1
    - Dst: msgToRemoteZeroRowsNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5613,1
    - Dst: msgToRemoteTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5616,1
    - Dst: msgToPhysiTagScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5619,1
    - Dst: msgToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5622,1
    - Dst: msgToPhysiLastRowScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5626,1
    - Dst: msgToPhysiTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5631,1
    - Dst: msgToPhysiSysTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5634,1
    - Dst: msgToPhysiProjectNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5637,1
    - Dst: msgToPhysiMergeJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5640,1
    - Dst: msgToPhysiHashJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5643,1
    - Dst: msgToPhysiAggNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5646,1
    - Dst: msgToPhysiExchangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5649,1
    - Dst: msgToPhysiMergeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5652,1
    - Dst: msgToPhysiSortNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5656,1
    - Dst: msgToPhysiIntervalNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5660,1
    - Dst: msgToPhysiFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5663,1
    - Dst: msgToPhysiSessionWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5666,1
    - Dst: msgToPhysiExternalWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5671,1
    - Dst: msgToPhysiStateWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5674,1
    - Dst: msgToPhysiEventWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5677,1
    - Dst: msgToPhysiCountWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5680,1
    - Dst: msgToPhysiAnomalyWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5683,1
    - Dst: msgToPhysiPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5686,1
    - Dst: msgToPhysiIndefRowsFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5689,1
    - Dst: msgToPhysiInterpFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5692,1
    - Dst: msgToPhysiForecastFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5696,1
    - Dst: msgToPhysiDispatchNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5699,1
    - Dst: msgToPhysiQueryInsertNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5702,1
    - Dst: msgToPhysiDeleteNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5705,1
    - Dst: msgToPhysiGroupCacheNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5708,1
    - Dst: msgToPhysiDynQueryCtrlNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5711,1
    - Dst: msgToPhysiVirtualTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5714,1
    - Dst: msgToSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5717,1
    - Dst: msgToQueryPlan
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5720,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5726,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5726,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5726,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 177
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5729
      start: 5551
    functionDepth: 5
    functionLinenumber: 5551
    functionLinenumberEnd: 5729
    functionName: msgToSpecificNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToPhysiPartitionNode
    - msgToRemoteZeroRowsNode
    - msgToPhysiStateWindowNode
    - nodeType
    - msgToValueNode
    - msgToDownstreamSourceNode
    - msgToRemoteValueNode
    - msgToPhysiScanNode
    - msgToSlotDescNode
    - msgToPhysiProjectNode
    - nodesNodeName
    - msgToPhysiSysTableScanNode
    - msgToRemoteValueListNode
    - msgToPhysiDispatchNode
    - msgToNodeListNode
    - msgToPhysiInterpFuncNode
    - msgToPhysiForecastFuncNode
    - msgToTargetNode
    - msgToPhysiGroupCacheNode
    - msgToOrderByExprNode
    - msgToWindowOffsetNode
    - msgToPhysiTableScanNode
    - msgToPhysiMergeNode
    - msgToPhysiSessionWindowNode
    - msgToDataBlockDescNode
    - msgToPhysiEventWindowNode
    - msgToPhysiCountWindowNode
    - msgToRemoteRowNode
    - msgToPhysiAggNode
    - msgToSubplan
    - msgToFunctionNode
    - msgToLogicConditionNode
    - msgToPhysiExchangeNode
    - msgToPhysiAnomalyWindowNode
    - msgToPhysiQueryInsertNode
    - msgToPhysiVirtualTableScanNode
    - msgToLimitNode
    - msgToPhysiIndefRowsFuncNode
    - msgToCaseWhenNode
    - msgToWhenThenNode
    - msgToPhysiMergeJoinNode
    - msgToPhysiDynQueryCtrlNode
    - msgToRemoteTableNode
    - msgToTimeRangeNode
    - nodesError
    - msgToPhysiIntervalNode
    - msgToPhysiHashJoinNode
    - msgToOperatorNode
    - msgToPhysiExternalWindowNode
    - msgToQueryPlan
    - msgToPhysiSortNode
    - msgToColumnNode
    - msgToPhysiTagScanNode
    - msgToPhysiLastRowScanNode
    - msgToPhysiFillNode
    - msgToPhysiDeleteNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToSpecificNode(STlvDecoder* pDecoder, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5732,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5733
      start: 5731
    functionDepth: 2
    functionLinenumber: 5731
    functionLinenumberEnd: 5733
    functionName: nodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodeToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeDynObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5737
      start: 5735
    functionDepth: 3
    functionLinenumber: 5735
    functionLinenumberEnd: 5737
    functionName: msgToNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvDecodeDynObj
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToNode(STlvDecoder* pDecoder, void** pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msgToNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5742
      start: 5739
    functionDepth: 4
    functionLinenumber: 5739
    functionLinenumberEnd: 5742
    functionName: msgToNodeFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 44
    functionsReached:
    - msgToNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToNodeFromTlv(STlv* pTlv, void** pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5756
      start: 5744
    functionDepth: 3
    functionLinenumber: 5744
    functionLinenumberEnd: 5756
    functionName: nodeListToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - nodeToMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodeListToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5753
      start: 5748
    functionDepth: 3
    functionLinenumber: 5748
    functionLinenumberEnd: 5753
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 19
    functionsReached:
    - nodeToMsg
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5768,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5771,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5774,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5777,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5780
      start: 5764
    functionDepth: 3
    functionLinenumber: 5764
    functionLinenumberEnd: 5780
    functionName: SArrayToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeBinary
    linkageType: ''
    returnType: int32_t
    signature: int32_t SArrayToMsg(const void* pObj, STlvEncoder* pEncoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5786,1
    - Dst: tlvDecodeEnd
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5788,1
    - Dst: msgToNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5790,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5792,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5801
      start: 5783
    functionDepth: 4
    functionLinenumber: 5783
    functionLinenumberEnd: 5801
    functionName: msgToNodeList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - msgToNode
    - nodesMakeList
    - nodesDestroyList
    - nodesListAppend
    - tlvDecodeEnd
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToNodeList(STlvDecoder* pDecoder, void** pObj)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5814,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5817,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5820,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5823,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5830,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5836,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5839,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5848,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5854,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5857,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5861
      start: 5803
    functionDepth: 2
    functionLinenumber: 5803
    functionLinenumberEnd: 5861
    functionName: msgToSArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 4
    functionsReached:
    - taosArrayDestroy
    - tlvForEach
    - taosArrayInit
    - tlvDecodeI32
    - tlvDecodeBinary
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToSArray(STlv* pTlv, void** pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5867
      start: 5864
    functionDepth: 5
    functionLinenumber: 5864
    functionLinenumberEnd: 5867
    functionName: msgToNodeListFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 56
    functionsReached:
    - msgToNodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t msgToNodeListFromTlv(STlv* pTlv, void** pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initTlvEncoder
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5876,1
    - Dst: nodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5878,1
    - Dst: endTlvEncode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5881,1
    - Dst: clearTlvEncoder
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pNode
    - pMsg
    - pLen
    argTypes:
    - SNode*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5887
      start: 5869
    functionDepth: 3
    functionLinenumber: 5869
    functionLinenumberEnd: 5887
    functionName: nodesNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - endTlvEncode
    - clearTlvEncoder
    - initTlvEncoder
    - nodeToMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesNodeToMsg(const SNode* pNode, char** pMsg, int32_t* pLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msgToNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5895,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pMsg
    - len
    - pNode
    argTypes:
    - char*
    - int32_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5903
      start: 5889
    functionDepth: 4
    functionLinenumber: 5889
    functionLinenumberEnd: 5903
    functionName: nodesMsgToNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - msgToNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMsgToNode(const char* pMsg, int32_t len, SNode** pNode)
  - BBCount: 286
    BranchProfiles: []
    Callsites:
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 572
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 605
    functionName: nodesNodeName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 3
    functionsReached:
    - nodesWarn
    linkageType: ''
    returnType: char
    signature: char * nodesNodeName(ENodeType type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:608,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:609,1
    - Dst: tjsonAddItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pJson
    - pName
    - pList
    argTypes:
    - SJson*
    - char*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 622
    functionName: nodeListToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddArrayToObject
    - LIST_LENGTH
    - tjsonAddItem
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodeListToJson(SJson* pJson, const char* pName, const SNodeList*
      pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 619
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 19
    functionsReached:
    - tjsonAddItem
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:625,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:627,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:635,1
    - Dst: makeNodeByJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:637,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pJsonArray
    - pList
    argTypes:
    - SJson*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 646
    functionName: jsonToNodeListImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - tjsonGetArrayItem
    - tjsonGetArraySize
    - makeNodeByJson
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToNodeListImpl(const SJson* pJsonArray, SNodeList** pList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeListImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:649,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pJson
    - pName
    - pList
    argTypes:
    - SJson*
    - char*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: jsonToNodeList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetObjectItem
    - jsonToNodeListImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToNodeList(const SJson* pJson, const char* pName, SNodeList**
      pList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:664,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:666,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:669,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 676
    functionName: tableComInfoToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableComInfoToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:682,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:684,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:687,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 694
    functionName: jsonToTableComInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToTableComInfo(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:705,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:707,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:710,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:713,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 720
    functionName: schemaToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t schemaToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:726,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:728,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:731,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:734,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 741
    functionName: jsonToSchema
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSchema(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:755,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:757,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:760,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:763,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:766,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 770
    functionName: refColToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t refColToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:775,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:777,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:780,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:783,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 790
    functionName: jsonToRefCol
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - tjsonGetSmallIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRefCol(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:795,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:797,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 804
    functionName: schemaExtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t schemaExtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:809,1
    - Dst: tjsonGetUIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:811,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 818
    functionName: jsonToSchemaExt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetUIntValue
    - tjsonGetSmallIntValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSchemaExt(const SJson* pJson, void* pObj)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:836,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:838,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:841,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:844,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:847,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:850,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:853,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:857,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:860,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:863,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:866,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:869,1
    - Dst: TABLE_TOTAL_COL_NUM
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:870,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 874
    functionName: tableMetaToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - tjsonAddArray
    - TABLE_TOTAL_COL_NUM
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableMetaToJson(const void* pObj, SJson* pJson)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:878,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:879,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:880,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:881,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:884,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:886,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:889,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:892,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:895,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:898,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:901,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:904,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:907,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:910,1
    - Dst: TABLE_META_BASE_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:913,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:915,1
    - Dst: TABLE_META_BASE_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:920,1
    - Dst: TABLE_META_SCHEMA_EXT_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:920,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:923,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 930
    functionName: jsonToTableMeta
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - TABLE_META_SCHEMA_EXT_SIZE
    - tjsonGetNumberValue
    - tjsonGetArraySize
    - tjsonGetObjectItem
    - TABLE_META_BASE_SIZE
    - tjsonToArray
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToTableMeta(const SJson* pJson, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:944,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:946,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:949,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:952,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:955,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:958,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:961,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:964,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 968
    functionName: logicPlanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicPlanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:973,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:975,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:978,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:981,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:984,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:987,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:990,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:993,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 997
    functionName: jsonToLogicPlanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicPlanNode(const SJson* pJson, void* pObj)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1019,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1021,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1024,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1027,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1030,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1033,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1036,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1039,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1042,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1045,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1048,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1051,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1054,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1057,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1060,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1063,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1066,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1016
    functionDepth: 3
    functionLinenumber: 1016
    functionLinenumberEnd: 1069
    functionName: logicScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicScanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1075,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1077,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1080,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1083,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1086,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1089,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1092,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1095,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1098,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1101,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1104,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1107,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1110,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1113,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1116,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1119,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1122,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1071
    functionDepth: 4
    functionLinenumber: 1071
    functionLinenumberEnd: 1125
    functionName: jsonToLogicScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetIntValue
    - tjsonGetNumberValue
    - tjsonGetBoolValue
    - jsonToLogicPlanNode
    - tjsonGetUTinyIntValue
    - tjsonGetTinyIntValue
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicScanNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1134,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1136,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1139,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1131
    functionDepth: 3
    functionLinenumber: 1131
    functionLinenumberEnd: 1146
    functionName: logicProjectNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicProjectNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1151,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1153,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1156,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1148
    functionDepth: 4
    functionLinenumber: 1148
    functionLinenumberEnd: 1162
    functionName: jsonToLogicProjectNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetBoolValue
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicProjectNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1171,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:1176,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1168
    functionDepth: 3
    functionLinenumber: 1168
    functionLinenumberEnd: 1183
    functionName: logicVnodeModifyNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - logicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicVnodeModifyNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1188,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1190,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1193,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1185
    functionDepth: 4
    functionLinenumber: 1185
    functionLinenumberEnd: 1200
    functionName: jsonToLogicVnodeModifyNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToLogicPlanNode
    - jsonToNodeObject
    - tjsonGetIntValue
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicVnodeModifyNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1208,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1210,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1217
    functionName: logicExchangeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - logicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicExchangeNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1222,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1224,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1219
    functionDepth: 4
    functionLinenumber: 1219
    functionLinenumberEnd: 1231
    functionName: jsonToLogicExchangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToLogicPlanNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicExchangeNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1242,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1244,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1247,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1250,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1253,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1239
    functionDepth: 3
    functionLinenumber: 1239
    functionLinenumberEnd: 1259
    functionName: logicMergeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicMergeNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1264,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1266,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1269,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1272,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1275,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1261
    functionDepth: 4
    functionLinenumber: 1261
    functionLinenumberEnd: 1281
    functionName: jsonToLogicMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicMergeNode(const SJson* pJson, void* pObj)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1301,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1303,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1306,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1309,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1312,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1315,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1318,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1321,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1324,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1327,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1330,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1333,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1336,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1339,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1342,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1298
    functionDepth: 3
    functionLinenumber: 1298
    functionLinenumberEnd: 1346
    functionName: logicWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1351,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1353,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1356,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1359,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1362,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1365,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1368,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1371,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1374,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1377,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1380,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1383,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1386,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1389,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1392,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1348
    functionDepth: 4
    functionLinenumber: 1348
    functionLinenumberEnd: 1396
    functionName: jsonToLogicWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetBigIntValue
    - jsonToNodeObject
    - tjsonGetNumberValue
    - jsonToLogicPlanNode
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1408,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1410,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1413,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1416,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1419,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1422,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1405
    functionDepth: 3
    functionLinenumber: 1405
    functionLinenumberEnd: 1430
    functionName: logicFillNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - logicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicFillNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1435,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1437,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1440,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1443,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1446,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1449,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1432
    functionDepth: 4
    functionLinenumber: 1432
    functionLinenumberEnd: 1457
    functionName: jsonToLogicFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToLogicPlanNode
    - jsonToNodeObject
    - tjsonGetBigIntValue
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicFillNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1464,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1461
    functionDepth: 3
    functionLinenumber: 1461
    functionLinenumberEnd: 1470
    functionName: logicSortNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicSortNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1475,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1472
    functionDepth: 4
    functionLinenumber: 1472
    functionLinenumberEnd: 1481
    functionName: jsonToLogicSortNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicSortNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1488,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1485
    functionDepth: 3
    functionLinenumber: 1485
    functionLinenumberEnd: 1494
    functionName: logicPartitionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicPartitionNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1499,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1496
    functionDepth: 4
    functionLinenumber: 1496
    functionLinenumberEnd: 1505
    functionName: jsonToLogicPartitionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicPartitionNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1512,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1509
    functionDepth: 3
    functionLinenumber: 1509
    functionLinenumberEnd: 1518
    functionName: logicIndefRowsFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicIndefRowsFuncNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1523,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1520
    functionDepth: 4
    functionLinenumber: 1520
    functionLinenumberEnd: 1529
    functionName: jsonToLogicIndefRowsFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicIndefRowsFuncNode(const SJson* pJson, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1545,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1547,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1550,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1553,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1556,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1559,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1562,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1565,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1568,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1571,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1574,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1578
    functionName: logicInterpFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicInterpFuncNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1583,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1585,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1588,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1591,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1594,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1597,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1600,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1603,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1606,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1609,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1612,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1580
    functionDepth: 4
    functionLinenumber: 1580
    functionLinenumberEnd: 1616
    functionName: jsonToLogicInterpFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetBigIntValue
    - jsonToNodeObject
    - jsonToLogicPlanNode
    - tjsonGetTinyIntValue
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicInterpFuncNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1624,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1621
    functionDepth: 3
    functionLinenumber: 1621
    functionLinenumberEnd: 1630
    functionName: logicForecastFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicForecastFuncNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1635,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1632
    functionDepth: 4
    functionLinenumber: 1632
    functionLinenumberEnd: 1641
    functionName: jsonToLogicForecastFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicForecastFuncNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1646,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1643
    functionDepth: 3
    functionLinenumber: 1643
    functionLinenumberEnd: 1652
    functionName: logicImputationFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicImputationFuncNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1657,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1654
    functionDepth: 4
    functionLinenumber: 1654
    functionLinenumberEnd: 1663
    functionName: jsonToLogicImputationFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicImputationFuncNode(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1673,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1675,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1678,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1681,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1670
    functionDepth: 3
    functionLinenumber: 1670
    functionLinenumberEnd: 1688
    functionName: logicGroupCacheNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicGroupCacheNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1693,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1695,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1698,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1701,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1690
    functionDepth: 4
    functionLinenumber: 1690
    functionLinenumberEnd: 1708
    functionName: jsonToLogicGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetBoolValue
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicGroupCacheNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1719,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1721,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1724,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1727,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1730,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1733,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1716
    functionDepth: 3
    functionLinenumber: 1716
    functionLinenumberEnd: 1737
    functionName: logicDynQueryCtrlNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - logicPlanNodeToJson
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicDynQueryCtrlNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1742,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1744,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1747,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1750,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1753,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1739
    functionDepth: 4
    functionLinenumber: 1739
    functionLinenumberEnd: 1760
    functionName: jsonToLogicDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetBoolValue
    - jsonToLogicPlanNode
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicDynQueryCtrlNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1769,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1771,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1778
    functionName: subplanIdToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t subplanIdToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1783,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1785,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1792
    functionName: jsonToSubplanId
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetUBigIntValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSubplanId(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1800,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1806
    functionName: epToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t epToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1811,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1808
    functionDepth: 1
    functionLinenumber: 1808
    functionLinenumberEnd: 1817
    functionName: jsonToEp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetSmallIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToEp(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1826,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1828,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1835
    functionName: epSetToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t epSetToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1840,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1842,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1849
    functionName: jsonToEpSet
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToArray
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToEpSet(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1860,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1862,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1865,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1868,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1875
    functionName: vgroupInfoToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t vgroupInfoToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1880,1
    - Dst: tjsonGetUIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1882,1
    - Dst: tjsonGetUIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1885,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1888,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1877
    functionDepth: 1
    functionLinenumber: 1877
    functionLinenumberEnd: 1895
    functionName: jsonToVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetUIntValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToVgroupInfo(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1903,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1900
    functionDepth: 1
    functionLinenumber: 1900
    functionLinenumberEnd: 1910
    functionName: vgroupsInfoToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t vgroupsInfoToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1915,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1912
    functionDepth: 1
    functionLinenumber: 1912
    functionLinenumberEnd: 1921
    functionName: jsonToVgroupsInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToArray
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToVgroupsInfo(const SJson* pJson, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1936,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1938,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1941,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1944,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1947,1
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1947,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1950,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1953,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1956,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1959,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1933
    functionDepth: 2
    functionLinenumber: 1933
    functionLinenumberEnd: 1963
    functionName: logicSubplanToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    - VGROUPS_INFO_SIZE
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicSubplanToJson(const void* pObj, SJson* pJson)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1968,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1970,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1973,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1976,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1980,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1983,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1986,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1989,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1992,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1965
    functionDepth: 3
    functionLinenumber: 1965
    functionLinenumberEnd: 1996
    functionName: jsonToLogicSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetIntValue
    - tjsonGetNumberValue
    - tjsonMakeObject
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicSubplan(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2002,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 2000
    functionDepth: 1
    functionLinenumber: 2000
    functionLinenumberEnd: 2003
    functionName: logicPlanToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicPlanToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2008,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2005
    functionDepth: 1
    functionLinenumber: 2005
    functionLinenumberEnd: 2013
    functionName: jsonToLogicPlan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicPlan(const SJson* pJson, void* pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2025,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2027,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2030,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2033,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:2039,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2042,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2022
    functionDepth: 3
    functionLinenumber: 2022
    functionLinenumberEnd: 2045
    functionName: logicJoinNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - logicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicJoinNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2050,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2052,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2055,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2058,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2061,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2064,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2067,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2047
    functionDepth: 4
    functionLinenumber: 2047
    functionLinenumberEnd: 2071
    functionName: jsonToLogicJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToLogicPlanNode
    - jsonToNodeObject
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicJoinNode(const SJson* pJson, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2084,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2086,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2089,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2092,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2095,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2098,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2101,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2081
    functionDepth: 3
    functionLinenumber: 2081
    functionLinenumberEnd: 2107
    functionName: logicVirtualTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - logicPlanNodeToJson
    - nodeListToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicVirtualTableScanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2113,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2115,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2118,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2121,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2124,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2127,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2130,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2109
    functionDepth: 4
    functionLinenumber: 2109
    functionLinenumberEnd: 2136
    functionName: jsonToLogicVirtualTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetNumberValue
    - tjsonGetBoolValue
    - jsonToLogicPlanNode
    - tjsonGetTinyIntValue
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicVirtualTableScanNode(const SJson* pJson, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2151,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2153,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2156,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2159,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2162,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2165,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2168,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2171,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2148
    functionDepth: 2
    functionLinenumber: 2148
    functionLinenumberEnd: 2178
    functionName: physicPlanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physicPlanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2183,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2185,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2188,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2191,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2194,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2197,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2200,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2203,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2180
    functionDepth: 3
    functionLinenumber: 2180
    functionLinenumberEnd: 2210
    functionName: jsonToPhysicPlanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetBoolValue
    - jsonToNodeObject
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysicPlanNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2220,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2222,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2225,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2217
    functionDepth: 1
    functionLinenumber: 2217
    functionLinenumberEnd: 2232
    functionName: nameToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t nameToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2237,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2239,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2242,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2234
    functionDepth: 1
    functionLinenumber: 2234
    functionLinenumberEnd: 2249
    functionName: jsonToName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetIntValue
    - tjsonGetUTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToName(const SJson* pJson, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2263,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2265,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2268,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2271,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2274,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2277,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2280,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2283,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2286,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2260
    functionDepth: 3
    functionLinenumber: 2260
    functionLinenumberEnd: 2290
    functionName: physiScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiScanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2295,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2297,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2300,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2303,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2306,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2309,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2312,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2315,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2292
    functionDepth: 4
    functionLinenumber: 2292
    functionLinenumberEnd: 2322
    functionName: jsonToPhysiScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetBoolValue
    - tjsonGetTinyIntValue
    - tjsonToObject
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiScanNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2329,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2326
    functionDepth: 4
    functionLinenumber: 2326
    functionLinenumberEnd: 2335
    functionName: physiTagScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - physiScanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiTagScanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2340,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2337
    functionDepth: 5
    functionLinenumber: 2337
    functionLinenumberEnd: 2346
    functionName: jsonToPhysiTagScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiTagScanNode(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2355
    functionDepth: 1
    functionLinenumber: 2355
    functionLinenumberEnd: 2360
    functionName: funcTypeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t funcTypeToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2362
    functionDepth: 1
    functionLinenumber: 2362
    functionLinenumberEnd: 2367
    functionName: jsonToFuncType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToFuncType(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2372,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2374,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2377,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2380,1
    - Dst: tjsonAddTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2383,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2369
    functionDepth: 4
    functionLinenumber: 2369
    functionLinenumberEnd: 2390
    functionName: physiLastRowScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - physiScanNodeToJson
    - nodeListToJson
    - tjsonAddTArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiLastRowScanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2395,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2397,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2400,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2403,1
    - Dst: tjsonToTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2406,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2392
    functionDepth: 5
    functionLinenumber: 2392
    functionLinenumberEnd: 2413
    functionName: jsonToPhysiLastRowScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToTArray
    - jsonToNodeList
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiLastRowScanNode(const SJson* pJson, void* pObj)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2449,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2451,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2454,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2457,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2460,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2463,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2466,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2469,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2472,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2475,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2478,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2481,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2484,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2487,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2490,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2493,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2496,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2499,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2502,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2505,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2508,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2511,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2514,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2517,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2520,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2523,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2526,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2529,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2532,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2535,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2538,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 92
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2446
    functionDepth: 4
    functionLinenumber: 2446
    functionLinenumberEnd: 2541
    functionName: physiTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddDoubleToObject
    - tjsonAddObject
    - physiScanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiTableScanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2545,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2548,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2552,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pJson
    - pWin
    argTypes:
    - SJson*
    - STimeWindow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2543
    functionDepth: 1
    functionLinenumber: 2543
    functionLinenumberEnd: 2557
    functionName: jsonToExtTimeWindow
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tjsonGetObjectItem
    - tjsonGetBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToExtTimeWindow(const SJson* pJson, STimeWindow** pWin)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2562,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2564,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2567,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2570,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2573,1
    - Dst: jsonToExtTimeWindow
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2576,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2579,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2582,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2585,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2588,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2591,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2594,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2597,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2600,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2603,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2606,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2609,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2612,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2615,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2618,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2621,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2624,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2627,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2630,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2633,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2636,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2639,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2642,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2645,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2648,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2559
    functionDepth: 5
    functionLinenumber: 2559
    functionLinenumberEnd: 2651
    functionName: jsonToPhysiTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetBigIntValue
    - jsonToNodeObject
    - tjsonGetIntValue
    - tjsonGetDoubleValue
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    - tjsonGetUTinyIntValue
    - jsonToExtTimeWindow
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiTableScanNode(const SJson* pJson, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2664,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2667,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2671,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2675,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2679,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2683,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2687,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2691,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2695,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2661
    functionDepth: 4
    functionLinenumber: 2661
    functionLinenumberEnd: 2699
    functionName: physiVirtualTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - physiScanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiVirtualTableScanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2704,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2706,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2709,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2712,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2715,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2719,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2723,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2727,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2731,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2701
    functionDepth: 5
    functionLinenumber: 2701
    functionLinenumberEnd: 2735
    functionName: jsonToPhysiVirtualTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiVirtualTableScanNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2746,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2748,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2751,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2754,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2757,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2743
    functionDepth: 4
    functionLinenumber: 2743
    functionLinenumberEnd: 2764
    functionName: physiSysTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    - physiScanNodeToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiSysTableScanNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2769,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2771,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2774,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2777,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2780,1
    - Dst: tjsonGetUSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2787
      start: 2766
    functionDepth: 5
    functionLinenumber: 2766
    functionLinenumberEnd: 2787
    functionName: jsonToPhysiSysTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    - tjsonGetUSmallIntValue
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiSysTableScanNode(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2797,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2799,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2802,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2805,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2794
    functionDepth: 3
    functionLinenumber: 2794
    functionLinenumberEnd: 2811
    functionName: physiProjectNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - physicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiProjectNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2816,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2818,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2821,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2824,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2813
    functionDepth: 4
    functionLinenumber: 2813
    functionLinenumberEnd: 2830
    functionName: jsonToPhysiProjectNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiProjectNode(const SJson* pJson, void* pObj)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2865,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:2870,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2873,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2876,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2879,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2882,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2885,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2888,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2891,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2894,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2897,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2900,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2903,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2906,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2909,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2912,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2915,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2918,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2921,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2924,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2928
      start: 2862
    functionDepth: 3
    functionLinenumber: 2862
    functionLinenumberEnd: 2928
    functionName: physiMergeJoinNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiMergeJoinNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2933,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2935,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2938,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2941,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2944,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2947,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2950,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2953,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2956,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2959,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2962,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2965,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2968,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2971,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2974,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2977,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2980,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2983,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2986,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2989,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2992,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2930
    functionDepth: 4
    functionLinenumber: 2930
    functionLinenumberEnd: 2996
    functionName: jsonToPhysiMergeJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - jsonToNodeObject
    - tjsonGetNumberValue
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiMergeJoinNode(const SJson* pJson, void* pObj)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3001,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3003,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3006,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3009,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3012,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3015,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3018,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3021,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3024,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3027,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3030,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3033,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3036,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3039,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3042,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3045,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3048,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3051,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3054,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3057,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 2998
    functionDepth: 3
    functionLinenumber: 2998
    functionLinenumberEnd: 3061
    functionName: physiHashJoinNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiHashJoinNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3066,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3068,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3071,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3074,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3077,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3080,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3083,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3086,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3089,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3092,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3095,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3098,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3101,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3104,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3107,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3110,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3113,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3116,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3119,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3122,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3063
    functionDepth: 4
    functionLinenumber: 3063
    functionLinenumberEnd: 3126
    functionName: jsonToPhysiHashJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetBigIntValue
    - jsonToNodeObject
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiHashJoinNode(const SJson* pJson, void* pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3138,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3140,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3143,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3146,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3149,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3152,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3135
    functionDepth: 3
    functionLinenumber: 3135
    functionLinenumberEnd: 3159
    functionName: physiAggNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - physicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiAggNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3164,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3166,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3169,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3172,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3175,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3178,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3161
    functionDepth: 4
    functionLinenumber: 3161
    functionLinenumberEnd: 3185
    functionName: jsonToPhysiAggNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiAggNode(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3197
    functionDepth: 1
    functionLinenumber: 3197
    functionLinenumberEnd: 3199
    functionName: vgIdToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t vgIdToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3201
    functionDepth: 1
    functionLinenumber: 3201
    functionLinenumberEnd: 3203
    functionName: jsonToVgId
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToVgId(const SJson* pJson, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3208,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3210,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3213,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3216,1
    - Dst: tjsonAddTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3219,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3222,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3225,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3228,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3235
      start: 3205
    functionDepth: 3
    functionLinenumber: 3205
    functionLinenumberEnd: 3235
    functionName: physiExchangeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - nodeListToJson
    - tjsonAddTArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiExchangeNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3240,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3242,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3245,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3248,1
    - Dst: tjsonToTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3251,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3255,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3258,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3261,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3268
      start: 3237
    functionDepth: 4
    functionLinenumber: 3237
    functionLinenumberEnd: 3268
    functionName: jsonToPhysiExchangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetIntValue
    - tjsonGetBoolValue
    - tjsonToTArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiExchangeNode(const SJson* pJson, void* pObj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3283,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3285,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3288,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3291,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3294,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3297,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3300,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3303,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3306,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3313
      start: 3280
    functionDepth: 3
    functionLinenumber: 3280
    functionLinenumberEnd: 3313
    functionName: physiMergeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiMergeNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3318,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3320,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3323,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3326,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3329,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3332,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3335,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3338,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3315
    functionDepth: 4
    functionLinenumber: 3315
    functionLinenumberEnd: 3345
    functionName: jsonToPhysiMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiMergeNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3356,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3358,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3361,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3364,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3367,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3374
      start: 3353
    functionDepth: 3
    functionLinenumber: 3353
    functionLinenumberEnd: 3374
    functionName: physiSortNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - physicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiSortNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3379,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3381,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3384,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3387,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3390,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3397
      start: 3376
    functionDepth: 4
    functionLinenumber: 3376
    functionLinenumberEnd: 3397
    functionName: jsonToPhysiSortNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiSortNode(const SJson* pJson, void* pObj)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3417,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3419,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3422,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3425,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3428,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3431,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3434,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3437,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3440,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3443,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3446,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3449,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3452,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3456
      start: 3414
    functionDepth: 3
    functionLinenumber: 3414
    functionLinenumberEnd: 3456
    functionName: physiWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3461,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3463,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3466,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3469,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3472,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3475,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3478,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3481,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3484,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3487,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3490,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3493,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3496,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3458
    functionDepth: 4
    functionLinenumber: 3458
    functionLinenumberEnd: 3500
    functionName: jsonToPhysiWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetBigIntValue
    - jsonToNodeObject
    - tjsonGetBoolValue
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3513,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3515,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3518,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3521,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3524,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3527,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3530,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3533,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3537
      start: 3510
    functionDepth: 4
    functionLinenumber: 3510
    functionLinenumberEnd: 3537
    functionName: physiIntervalNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physiWindowNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiIntervalNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3542,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3544,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3547,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3550,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3553,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3556,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3559,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3539
    functionDepth: 5
    functionLinenumber: 3539
    functionLinenumberEnd: 3566
    functionName: jsonToPhysiIntervalNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToPhysiWindowNode
    - tjsonGetBigIntValue
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiIntervalNode(const SJson* pJson, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3582,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3584,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3587,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3590,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3593,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3596,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3599,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3602,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3605,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3608,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3611,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3579
    functionDepth: 4
    functionLinenumber: 3579
    functionLinenumberEnd: 3614
    functionName: physiExternalNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physiWindowNodeToJson
    - tjsonAddBoolToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiExternalNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3619,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3621,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3624,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3627,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3630,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3633,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3636,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3639,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3642,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3645,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3648,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3652
      start: 3616
    functionDepth: 5
    functionLinenumber: 3616
    functionLinenumberEnd: 3652
    functionName: jsonToPhysiExternalNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToNodeObject
    - tjsonGetIntValue
    - tjsonGetBoolValue
    - jsonToPhysiWindowNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiExternalNode(const SJson* pJson, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3668,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3670,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3673,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3676,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3679,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3682,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3685,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3688,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3691,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3694,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3697,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3702
      start: 3665
    functionDepth: 3
    functionLinenumber: 3665
    functionLinenumberEnd: 3702
    functionName: physiFillNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiFillNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3707,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3709,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3712,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3715,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3718,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3721,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3724,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3727,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3730,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3733,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3736,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3741
      start: 3704
    functionDepth: 4
    functionLinenumber: 3704
    functionLinenumberEnd: 3741
    functionName: jsonToPhysiFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetBigIntValue
    - jsonToNodeObject
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiFillNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3748,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3754
      start: 3745
    functionDepth: 4
    functionLinenumber: 3745
    functionLinenumberEnd: 3754
    functionName: physiSessionWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physiWindowNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiSessionWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3759,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3765
      start: 3756
    functionDepth: 5
    functionLinenumber: 3756
    functionLinenumberEnd: 3765
    functionName: jsonToPhysiSessionWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToPhysiWindowNode
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiSessionWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3776,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3778,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3781,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3784,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3787,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3794
      start: 3773
    functionDepth: 4
    functionLinenumber: 3773
    functionLinenumberEnd: 3794
    functionName: physiStateWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physiWindowNodeToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiStateWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3799,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3801,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3804,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3807,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3810,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3817
      start: 3796
    functionDepth: 5
    functionLinenumber: 3796
    functionLinenumberEnd: 3817
    functionName: jsonToPhysiStateWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - tjsonGetBigIntValue
    - jsonToPhysiWindowNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiStateWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3828,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3830,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3833,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3836,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3839,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3846
      start: 3825
    functionDepth: 4
    functionLinenumber: 3825
    functionLinenumberEnd: 3846
    functionName: physiEventWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physiWindowNodeToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiEventWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3851,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3853,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3856,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3859,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3862,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3865,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3848
    functionDepth: 5
    functionLinenumber: 3848
    functionLinenumberEnd: 3869
    functionName: jsonToPhysiEventWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - tjsonGetBigIntValue
    - jsonToPhysiWindowNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiEventWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3877,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3879,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3874
    functionDepth: 4
    functionLinenumber: 3874
    functionLinenumberEnd: 3885
    functionName: physiCountWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physiWindowNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiCountWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3890,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3892,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3887
    functionDepth: 5
    functionLinenumber: 3887
    functionLinenumberEnd: 3899
    functionName: jsonToPhysiCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToPhysiWindowNode
    - tjsonGetBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiCountWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3907,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3909,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3915
      start: 3904
    functionDepth: 4
    functionLinenumber: 3904
    functionLinenumberEnd: 3915
    functionName: physiAnomalyWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - physiWindowNodeToJson
    - nodeListToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiAnomalyWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3920,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3922,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3930
      start: 3917
    functionDepth: 5
    functionLinenumber: 3917
    functionLinenumberEnd: 3930
    functionName: jsonToPhysiAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - jsonToNodeList
    - jsonToPhysiWindowNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiAnomalyWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3941,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3943,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3946,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3949,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3952,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3959
      start: 3938
    functionDepth: 3
    functionLinenumber: 3938
    functionLinenumberEnd: 3959
    functionName: physiPartitionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - physicPlanNodeToJson
    - nodeListToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiPartitionNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3964,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3966,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3969,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3972,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3975,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3978,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3982
      start: 3961
    functionDepth: 4
    functionLinenumber: 3961
    functionLinenumberEnd: 3982
    functionName: jsonToPhysiPartitionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiPartitionNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3990,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3992,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3999
      start: 3987
    functionDepth: 3
    functionLinenumber: 3987
    functionLinenumberEnd: 3999
    functionName: physiIndefRowsFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - physicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiIndefRowsFuncNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4004,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4006,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4013
      start: 4001
    functionDepth: 4
    functionLinenumber: 4001
    functionLinenumberEnd: 4013
    functionName: jsonToPhysiIndefRowsFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiIndefRowsFuncNode(const SJson* pJson, void* pObj)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4031,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4033,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4036,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4039,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4042,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4045,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4048,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4051,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:4057,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4060,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4063,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4066,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4070
      start: 4028
    functionDepth: 3
    functionLinenumber: 4028
    functionLinenumberEnd: 4070
    functionName: physiInterpFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiInterpFuncNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4075,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4077,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4080,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4083,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4086,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4089,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4092,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4095,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4098,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4101,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4104,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4107,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4114
      start: 4072
    functionDepth: 4
    functionLinenumber: 4072
    functionLinenumberEnd: 4114
    functionName: jsonToPhysiInterpFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetBigIntValue
    - jsonToNodeObject
    - tjsonGetNumberValue
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiInterpFuncNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4122,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4124,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4131
      start: 4119
    functionDepth: 3
    functionLinenumber: 4119
    functionLinenumberEnd: 4131
    functionName: physiForecastFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - physicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiForecastFuncNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4136,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4138,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4133
    functionDepth: 4
    functionLinenumber: 4133
    functionLinenumberEnd: 4145
    functionName: jsonToPhysiForecastFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiForecastFuncNode(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4152
      start: 4149
    functionDepth: 1
    functionLinenumber: 4149
    functionLinenumberEnd: 4152
    functionName: physicDataSinkNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t physicDataSinkNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4157
      start: 4154
    functionDepth: 1
    functionLinenumber: 4154
    functionLinenumberEnd: 4157
    functionName: jsonToPhysicDataSinkNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysicDataSinkNode(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: physicDataSinkNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4159
      start: 4159
    functionDepth: 2
    functionLinenumber: 4159
    functionLinenumberEnd: 4159
    functionName: physiDispatchNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - physicDataSinkNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiDispatchNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4161
      start: 4161
    functionDepth: 2
    functionLinenumber: 4161
    functionLinenumberEnd: 4161
    functionName: jsonToPhysiDispatchNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToPhysicDataSinkNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiDispatchNode(const SJson* pJson, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: physicDataSinkNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4175,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4177,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4180,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4183,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4186,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4189,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4192,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4195,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4202
      start: 4172
    functionDepth: 2
    functionLinenumber: 4172
    functionLinenumberEnd: 4202
    functionName: physiQueryInsertNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - physicDataSinkNodeToJson
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiQueryInsertNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4207,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4209,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4212,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4215,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4218,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4221,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4224,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4227,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4234
      start: 4204
    functionDepth: 3
    functionLinenumber: 4204
    functionLinenumberEnd: 4234
    functionName: jsonToPhysiQueryInsertNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetStringValue1
    - tjsonGetIntValue
    - tjsonGetBoolValue
    - tjsonGetTinyIntValue
    - jsonToPhysicDataSinkNode
    - tjsonToObject
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiQueryInsertNode(const SJson* pJson, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: physicDataSinkNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4250,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4252,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4255,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4258,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4261,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4264,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4267,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4270,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4273,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4276,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4283
      start: 4247
    functionDepth: 2
    functionLinenumber: 4247
    functionLinenumberEnd: 4283
    functionName: physiDeleteNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - physicDataSinkNodeToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiDeleteNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4288,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4290,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4293,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4296,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4299,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4302,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4305,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4308,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4311,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4314,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4317,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4321
      start: 4285
    functionDepth: 2
    functionLinenumber: 4285
    functionLinenumberEnd: 4321
    functionName: jsonToPhysiDeleteNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - tjsonGetStringValue1
    - jsonToNodeObject
    - tjsonGetTinyIntValue
    - jsonToPhysicDataSinkNode
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiDeleteNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4332,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4334,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4337,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4340,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4343,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4349
      start: 4329
    functionDepth: 3
    functionLinenumber: 4329
    functionLinenumberEnd: 4349
    functionName: physiGroupCacheNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - physicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiGroupCacheNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4354,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4356,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4359,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4362,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4365,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4371
      start: 4351
    functionDepth: 4
    functionLinenumber: 4351
    functionLinenumberEnd: 4371
    functionName: jsonToPhysiGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetBoolValue
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiGroupCacheNode(const SJson* pJson, void* pObj)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4406,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4408,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4413,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4415,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4418,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4421,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4424,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4427,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4430,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4435,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4437,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4440,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4443,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4446,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4449,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4457,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4459,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4462,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4465,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4468,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4471,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4474,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4477,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4480,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4483,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4486,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4489,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4492,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4501,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 97
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4504
      start: 4403
    functionDepth: 3
    functionLinenumber: 4403
    functionLinenumberEnd: 4504
    functionName: physiDynQueryCtrlNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t physiDynQueryCtrlNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4509,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4511,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4516,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4518,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4521,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4524,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4527,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4530,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4533,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4536,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4541,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4543,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4546,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4549,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4552,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4555,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4563,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4565,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4568,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4571,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4575,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4579,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4582,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4585,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4588,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4591,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4594,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4597,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4600,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4609,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 100
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4612
      start: 4506
    functionDepth: 4
    functionLinenumber: 4506
    functionLinenumberEnd: 4612
    functionName: jsonToPhysiDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetStringValue1
    - tjsonGetIntValue
    - tjsonGetNumberValue
    - tjsonGetBoolValue
    - tjsonToObject
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPhysiDynQueryCtrlNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4622,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4624,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4627,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4634
      start: 4619
    functionDepth: 1
    functionLinenumber: 4619
    functionLinenumberEnd: 4634
    functionName: queryNodeAddrToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryNodeAddrToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4639,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4641,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4644,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4651
      start: 4636
    functionDepth: 1
    functionLinenumber: 4636
    functionLinenumberEnd: 4651
    functionName: jsonToQueryNodeAddr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToArray
    - tjsonGetIntValue
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToQueryNodeAddr(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4658,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4664
      start: 4655
    functionDepth: 1
    functionLinenumber: 4655
    functionLinenumberEnd: 4664
    functionName: colIdNameToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t colIdNameToJson(const void* pObj, SJson* pJson)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4672,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4672,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4677,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4686,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4687,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4689,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4693,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4697,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4697,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4698,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4702,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4709
      start: 4670
    functionDepth: 1
    functionLinenumber: 4670
    functionLinenumberEnd: 4709
    functionName: oTableHashToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddArray
    - tjsonAddIntegerToObject
    - tjsonCreateObject
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - tjsonAddArrayToObject
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - tjsonAddItemToArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t oTableHashToJson(const void* pObj, SJson* pJson)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4717,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4717,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4722,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4731,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4732,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4734,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4738,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4742,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4753
      start: 4715
    functionDepth: 1
    functionLinenumber: 4715
    functionLinenumberEnd: 4753
    functionName: vtablesHashToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonCreateObject
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - tjsonAddArrayToObject
    - tjsonAddObject
    - tjsonAddItemToArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtablesHashToJson(const void* pObj, SJson* pJson)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4781,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4783,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4786,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4789,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4792,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4795,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4798,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4801,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4804,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4807,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4810,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4813,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4816,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4819,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4822,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4825,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4828,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4831,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4834,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4837,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4840,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4844
      start: 4778
    functionDepth: 2
    functionLinenumber: 4778
    functionLinenumberEnd: 4844
    functionName: subplanToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t subplanToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4851,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4852,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4857,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4858,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4860,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4862,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4866,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4872
      start: 4846
    functionDepth: 1
    functionLinenumber: 4846
    functionLinenumberEnd: 4872
    functionName: jsonToOtableCols
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tjsonGetStringValue1
    - tjsonGetSmallIntValue
    - tjsonGetArrayItem
    - tjsonGetArraySize
    - taosArrayInit
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToOtableCols(const SJson* pJson, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4877,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4879,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4879,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4883,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4885,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4890,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4893,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4895,1
    - Dst: jsonToOtableCols
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4896,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4898,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4898,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4904
      start: 4874
    functionDepth: 2
    functionLinenumber: 4874
    functionLinenumberEnd: 4904
    functionName: jsonToOtableHash
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tSimpleHashPut
    - tjsonGetIntValue
    - tjsonGetArrayItem
    - tSimpleHashSetFreeFp
    - jsonToOtableCols
    - tjsonGetObjectItem
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToOtableHash(const SJson* pJson, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4909,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4911,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4911,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4915,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4916,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4921,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4924,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4926,1
    - Dst: jsonToOtableHash
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4927,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4929,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4935
      start: 4906
    functionDepth: 3
    functionLinenumber: 4906
    functionLinenumberEnd: 4935
    functionName: jsonToVtablesHash
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tSimpleHashPut
    - tjsonGetIntValue
    - tjsonGetArrayItem
    - tSimpleHashSetFreeFp
    - tjsonGetObjectItem
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - tjsonGetUBigIntValue
    - jsonToOtableHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToVtablesHash(const SJson* pJson, void* pObj)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4940,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4942,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4945,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4948,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4951,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4954,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4957,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4960,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4963,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4966,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4969,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4972,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4975,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4978,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4981,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4984,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4987,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4990,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4993,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4997,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4998,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5000,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5005,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5008,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5012
      start: 4937
    functionDepth: 3
    functionLinenumber: 4937
    functionLinenumberEnd: 5012
    functionName: jsonToSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - nodesListMakeAppend
    - tjsonGetStringValue1
    - jsonToNodeObject
    - tjsonGetIntValue
    - tjsonGetNumberValue
    - nodeType
    - tjsonGetBoolValue
    - FOREACH
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSubplan(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5026,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5028,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5031,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5031,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5034,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5038,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5039,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5040,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5046
      start: 5020
    functionDepth: 1
    functionLinenumber: 5020
    functionLinenumberEnd: 5046
    functionName: planToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tjsonAddIntegerToObject
    - FOREACH
    - snprintf
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t planToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5050,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5052,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5056,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5060,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5063,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5068,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pSubplan
    - level
    - pSubplans
    argTypes:
    - SNode*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5069
      start: 5048
    functionDepth: 1
    functionLinenumber: 5048
    functionLinenumberEnd: 5069
    functionName: pushSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListStrictAppend
    - nodesMakeList
    - LIST_LENGTH
    - nodesMakeNode
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushSubplan(SNode* pSubplan, int32_t level, SNodeList* pSubplans)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pushSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5074,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5079,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5085,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5086,1
    - Dst: buildSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5087,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pSubplan
    - pQueryPlan
    argTypes:
    - SSubplan*
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5095
      start: 5071
    functionDepth: 1
    functionLinenumber: 5071
    functionLinenumberEnd: 5095
    functionName: buildSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 1
    functionsReached:
    - buildSubplan
    - nodeType
    - FOREACH
    - nodesDestroyNode
    - pushSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildSubplan(SSubplan* pSubplan, SQueryPlan* pQueryPlan)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5100,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5103,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5107,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5110,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5114,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5115,1
    - Dst: buildSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5116,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5124,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5126,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5129,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5129,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5135,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5141,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5142,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5146,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5148,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5155
      start: 5097
    functionDepth: 2
    functionLinenumber: 5097
    functionLinenumberEnd: 5155
    functionName: jsonToPlan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesClearList
    - nodesError
    - buildSubplan
    - nodesMakeList
    - nodesNodeName
    - jsonToNodeObject
    - tjsonGetIntValue
    - nodeType
    - FOREACH
    - snprintf
    - nodesDestroyNode
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPlan(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5163,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5165,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5172
      start: 5160
    functionDepth: 3
    functionLinenumber: 5160
    functionLinenumberEnd: 5172
    functionName: logicAggNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicAggNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5177,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5179,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5186
      start: 5174
    functionDepth: 4
    functionLinenumber: 5174
    functionLinenumberEnd: 5186
    functionName: jsonToLogicAggNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicAggNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5196,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5198,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5201,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5208
      start: 5193
    functionDepth: 1
    functionLinenumber: 5193
    functionLinenumberEnd: 5208
    functionName: dataTypeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataTypeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5213,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5215,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5218,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5225
      start: 5210
    functionDepth: 1
    functionLinenumber: 5210
    functionLinenumberEnd: 5225
    functionName: jsonToDataType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    - tjsonGetUTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDataType(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5237,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5239,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5242,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5245,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5248,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5255
      start: 5234
    functionDepth: 1
    functionLinenumber: 5234
    functionLinenumberEnd: 5255
    functionName: exprNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t exprNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5260,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5262,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5265,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5268,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5271,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5278
      start: 5257
    functionDepth: 1
    functionLinenumber: 5257
    functionLinenumberEnd: 5278
    functionName: jsonToExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - tjsonToObject
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToExprNode(const SJson* pJson, void* pObj)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5304,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5306,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5309,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5312,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5315,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5318,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5321,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5324,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5327,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5330,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5333,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5336,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5339,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5342,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5345,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5348,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5351,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5354,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5357,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5360,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5363,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5366
      start: 5301
    functionDepth: 2
    functionLinenumber: 5301
    functionLinenumberEnd: 5366
    functionName: columnNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddBoolToObject
    - exprNodeToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t columnNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5371,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5373,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5376,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5379,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5382,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5385,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5388,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5391,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5394,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5397,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5400,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5403,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5406,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5409,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5412,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5415,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5418,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5421,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5424,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5427,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5430,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5433
      start: 5368
    functionDepth: 2
    functionLinenumber: 5368
    functionLinenumberEnd: 5433
    functionName: jsonToColumnNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToExprNode
    - tjsonGetStringValue1
    - tjsonGetSmallIntValue
    - tjsonGetNumberValue
    - tjsonGetBoolValue
    - tjsonGetTinyIntValue
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToColumnNode(const SJson* pJson, void* pObj)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5452,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5459,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5465,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5469,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5473,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5475,1
    - Dst: taosHexEncode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5477,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5477,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5477,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5479,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5482,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5483,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5489,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5489,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5492,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5494,1
    - Dst: taosHexEncode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5497,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5499,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5502,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5503,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5509,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5509,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5516
      start: 5444
    functionDepth: 1
    functionLinenumber: 5444
    functionLinenumberEnd: 5516
    functionName: datumToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - varDataLen
    - tjsonAddIntegerToObject
    - getJsonValueLen
    - taosHexEncode
    - tjsonAddDoubleToObject
    - taosMemoryFree
    - varDataVal
    - blobDataVal
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t datumToJson(const void* pObj, SJson* pJson)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5521,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5523,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5523,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5526,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5529,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5532,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5535,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5538,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5541,1
    - Dst: datumToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5544,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5548
      start: 5518
    functionDepth: 2
    functionLinenumber: 5518
    functionLinenumberEnd: 5548
    functionName: valueNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - exprNodeToJson
    - tjsonAddIntegerToObject
    - datumToJson
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t valueNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5559,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5563,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5567,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5571,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5575,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5579,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5583,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5587,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5591,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5595,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5599,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5603,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5610,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5615,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5617,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5622,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5624,1
    - Dst: taosHexDecode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5627,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5627,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5629,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5632,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5634,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5634,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5639,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5639,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5640,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5645,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5650,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5655,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5657,1
    - Dst: taosHexDecode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5660,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5662,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5665,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5671,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5676,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5677,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5677,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 126
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5687
      start: 5551
    functionDepth: 1
    functionLinenumber: 5551
    functionLinenumberEnd: 5687
    functionName: jsonToDatum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - tjsonGetStringValue1
    - blobDataSetLen
    - taosHexDecode
    - tjsonGetDoubleValue
    - tjsonGetBoolValue
    - strnlen
    - taosMemoryFree
    - varDataVal
    - blobDataVal
    - tjsonGetUBigIntValue
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDatum(const SJson* pJson, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5692,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5695,1
    - Dst: tjsonDupStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5698,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5701,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5704,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5707,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5710,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5713,1
    - Dst: jsonToDatum
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5716,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5720
      start: 5689
    functionDepth: 2
    functionLinenumber: 5689
    functionLinenumberEnd: 5720
    functionName: jsonToValueNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToExprNode
    - tjsonGetIntValue
    - jsonToDatum
    - tjsonGetBoolValue
    - tjsonDupStringValue
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToValueNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valueNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5730,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5741
      start: 5727
    functionDepth: 3
    functionLinenumber: 5727
    functionLinenumberEnd: 5741
    functionName: remoteValueToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - valueNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteValueToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToValueNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5747,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5758
      start: 5744
    functionDepth: 3
    functionLinenumber: 5744
    functionLinenumberEnd: 5758
    functionName: jsonToRemoteValue
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    - jsonToValueNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRemoteValue(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5768,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5770,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5777
      start: 5765
    functionDepth: 2
    functionLinenumber: 5765
    functionLinenumberEnd: 5777
    functionName: remoteValueListToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - exprNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteValueListToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5784,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5786,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5793
      start: 5781
    functionDepth: 2
    functionLinenumber: 5781
    functionLinenumberEnd: 5793
    functionName: jsonToRemoteValueList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    - jsonToExprNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRemoteValueList(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5803,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5808,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5810,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5817
      start: 5800
    functionDepth: 1
    functionLinenumber: 5800
    functionLinenumberEnd: 5817
    functionName: updateTagValueNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateTagValueNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5822,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5827,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5828,1
    - Dst: tjsonDupStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5830,1
    - Dst: tjsonDupStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5838
      start: 5819
    functionDepth: 1
    functionLinenumber: 5819
    functionLinenumberEnd: 5838
    functionName: jsonToUpdateTagValueNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonDupStringValue
    - jsonToNodeObject
    - tjsonGetObjectItem
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToUpdateTagValueNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: valueNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5849,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5851,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5854,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5857,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5860,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5863,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5867
      start: 5846
    functionDepth: 3
    functionLinenumber: 5846
    functionLinenumberEnd: 5867
    functionName: remoteRowToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - valueNodeToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteRowToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToValueNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5872,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5874,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5877,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5880,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5883,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5886,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5890
      start: 5869
    functionDepth: 3
    functionLinenumber: 5869
    functionLinenumberEnd: 5890
    functionName: jsonToRemoteRow
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetIntValue
    - jsonToValueNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRemoteRow(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remoteValueToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5895
      start: 5893
    functionDepth: 4
    functionLinenumber: 5893
    functionLinenumberEnd: 5895
    functionName: remoteZeroRowsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - remoteValueToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteZeroRowsToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToRemoteValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5899
      start: 5897
    functionDepth: 4
    functionLinenumber: 5897
    functionLinenumberEnd: 5899
    functionName: jsonToRemoteZeroRows
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToRemoteValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRemoteZeroRows(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5907,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5909,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5916
      start: 5904
    functionDepth: 2
    functionLinenumber: 5904
    functionLinenumberEnd: 5916
    functionName: alterTableUpdateTagValClauseToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterTableUpdateTagValClauseToJson(const void* pObj, SJson*
      pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5921,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5923,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5930
      start: 5918
    functionDepth: 3
    functionLinenumber: 5918
    functionLinenumberEnd: 5930
    functionName: jsonToAlterTableUpdateTagValClause
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterTableUpdateTagValClause(const SJson* pJson, void*
      pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5939,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5941,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5948
      start: 5936
    functionDepth: 1
    functionLinenumber: 5936
    functionLinenumberEnd: 5948
    functionName: remoteTableToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteTableToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5953,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5955,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5962
      start: 5950
    functionDepth: 1
    functionLinenumber: 5950
    functionLinenumberEnd: 5962
    functionName: jsonToRemoteTable
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRemoteTable(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      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: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5981,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5988
      start: 5970
    functionDepth: 2
    functionLinenumber: 5970
    functionLinenumberEnd: 5988
    functionName: operatorNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - exprNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t operatorNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5993,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5995,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5998,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6001,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6008
      start: 5990
    functionDepth: 2
    functionLinenumber: 5990
    functionLinenumberEnd: 6008
    functionName: jsonToOperatorNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetNumberValue
    - jsonToNodeObject
    - jsonToExprNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToOperatorNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6016,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6018,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6025
      start: 6013
    functionDepth: 2
    functionLinenumber: 6013
    functionLinenumberEnd: 6025
    functionName: logicConditionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - exprNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t logicConditionNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6030,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6032,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6039
      start: 6027
    functionDepth: 3
    functionLinenumber: 6027
    functionLinenumberEnd: 6039
    functionName: jsonToLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetNumberValue
    - jsonToExprNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLogicConditionNode(const SJson* pJson, void* pObj)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6056,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6058,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6061,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6064,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6067,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6070,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6073,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6076,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6079,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6082,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6085,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6088,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6091
      start: 6053
    functionDepth: 2
    functionLinenumber: 6053
    functionLinenumberEnd: 6091
    functionName: functionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - exprNodeToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t functionNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6096,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6098,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6101,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6104,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6107,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6110,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6113,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6116,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6119,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6122,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6125,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6132
      start: 6093
    functionDepth: 3
    functionLinenumber: 6093
    functionLinenumberEnd: 6132
    functionName: jsonToFunctionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToExprNode
    - tjsonGetStringValue1
    - tjsonGetIntValue
    - tjsonGetNumberValue
    - tjsonGetBoolValue
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToFunctionNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6141,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6143,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6146,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6153
      start: 6138
    functionDepth: 2
    functionLinenumber: 6138
    functionLinenumberEnd: 6153
    functionName: tableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - exprNodeToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6158,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6160,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6163,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6170
      start: 6155
    functionDepth: 2
    functionLinenumber: 6155
    functionLinenumberEnd: 6170
    functionName: jsonToTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - jsonToExprNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToTableNode(const SJson* pJson, void* pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6185,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6187,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6190,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6193,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6196,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6199,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6202,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6205,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6212
      start: 6182
    functionDepth: 1
    functionLinenumber: 6182
    functionLinenumberEnd: 6212
    functionName: tableIndexInfoToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableIndexInfoToJson(const void* pObj, SJson* pJson)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6217,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6219,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6222,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6225,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6228,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6231,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6234,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6237,1
    - Dst: tjsonDupStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6244
      start: 6214
    functionDepth: 1
    functionLinenumber: 6214
    functionLinenumberEnd: 6244
    functionName: jsonToTableIndexInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBigIntValue
    - tjsonGetIntValue
    - tjsonDupStringValue
    - tjsonGetTinyIntValue
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToTableIndexInfo(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6255,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6257,1
    - Dst: TABLE_META_FULL_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6257,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6260,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6263,1
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6263,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6266,1
    - Dst: tjsonAddTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6273
      start: 6252
    functionDepth: 3
    functionLinenumber: 6252
    functionLinenumberEnd: 6273
    functionName: realTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tableNodeToJson
    - TABLE_META_FULL_SIZE
    - tjsonAddIntegerToObject
    - VGROUPS_INFO_SIZE
    - tjsonAddObject
    - tjsonAddTArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t realTableNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6279,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6281,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6284,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6287,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6290,1
    - Dst: tjsonToTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6298
      start: 6275
    functionDepth: 3
    functionLinenumber: 6275
    functionLinenumberEnd: 6298
    functionName: jsonToRealTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToTArray
    - tjsonMakeObject
    - jsonToTableNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRealTableNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6305,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6311
      start: 6302
    functionDepth: 3
    functionLinenumber: 6302
    functionLinenumberEnd: 6311
    functionName: tempTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tableNodeToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t tempTableNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6316,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6322
      start: 6313
    functionDepth: 3
    functionLinenumber: 6313
    functionLinenumberEnd: 6322
    functionName: jsonToTempTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - jsonToTableNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToTempTableNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6333,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6335,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6338,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6341,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6344,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6351
      start: 6330
    functionDepth: 3
    functionLinenumber: 6330
    functionLinenumberEnd: 6351
    functionName: joinTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tableNodeToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t joinTableNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6356,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6358,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6361,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6364,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6367,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6374
      start: 6353
    functionDepth: 3
    functionLinenumber: 6353
    functionLinenumberEnd: 6374
    functionName: jsonToJoinTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - jsonToTableNode
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToJoinTableNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6385,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6387,1
    - Dst: TABLE_META_FULL_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6387,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6390,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6393,1
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6393,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6396,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6403
      start: 6382
    functionDepth: 3
    functionLinenumber: 6382
    functionLinenumberEnd: 6403
    functionName: virtualTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tableNodeToJson
    - TABLE_META_FULL_SIZE
    - tjsonAddIntegerToObject
    - VGROUPS_INFO_SIZE
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualTableNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6409,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6411,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6414,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6417,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6420,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6427
      start: 6405
    functionDepth: 3
    functionLinenumber: 6405
    functionLinenumberEnd: 6427
    functionName: jsonToVirtualTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonMakeObject
    - jsonToTableNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToVirtualTableNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6438,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6440,1
    - Dst: TABLE_META_FULL_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6440,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6443,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6446,1
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6446,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6449,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6455
      start: 6435
    functionDepth: 3
    functionLinenumber: 6435
    functionLinenumberEnd: 6455
    functionName: placeHolderTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tableNodeToJson
    - TABLE_META_FULL_SIZE
    - tjsonAddIntegerToObject
    - VGROUPS_INFO_SIZE
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t placeHolderTableNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6459,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6462,1
    - Dst: tjsonMakeObject
      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: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6472,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6478
      start: 6457
    functionDepth: 3
    functionLinenumber: 6457
    functionLinenumberEnd: 6478
    functionName: jsonToPlaceHolderTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonMakeObject
    - jsonToTableNode
    - tjsonGetIntValue
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPlaceHolderTableNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6485,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6490
      start: 6483
    functionDepth: 1
    functionLinenumber: 6483
    functionLinenumberEnd: 6490
    functionName: slidingWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t slidingWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6494,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6500
      start: 6492
    functionDepth: 1
    functionLinenumber: 6492
    functionLinenumberEnd: 6500
    functionName: jsonToSlidingWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSlidingWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6507,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6512
      start: 6505
    functionDepth: 1
    functionLinenumber: 6505
    functionLinenumberEnd: 6512
    functionName: periodWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t periodWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6516,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6522
      start: 6514
    functionDepth: 1
    functionLinenumber: 6514
    functionLinenumberEnd: 6522
    functionName: jsonToPeriodWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToPeriodWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6532,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6534,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6537,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6540,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6546
      start: 6530
    functionDepth: 2
    functionLinenumber: 6530
    functionLinenumberEnd: 6546
    functionName: streamTriggerNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamTriggerNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6550,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6552,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6555,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6558,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6564
      start: 6548
    functionDepth: 3
    functionLinenumber: 6548
    functionLinenumberEnd: 6564
    functionName: jsonToStreamTriggerNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToStreamTriggerNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6571,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6573,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6579
      start: 6569
    functionDepth: 2
    functionLinenumber: 6569
    functionLinenumberEnd: 6579
    functionName: streamNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - exprNodeToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6583,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6585,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6591
      start: 6581
    functionDepth: 2
    functionLinenumber: 6581
    functionLinenumberEnd: 6591
    functionName: jsonToStreamNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - jsonToExprNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToStreamNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6600,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6602,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6608
      start: 6598
    functionDepth: 1
    functionLinenumber: 6598
    functionLinenumberEnd: 6608
    functionName: streamTagDefNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamTagDefNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6612,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6614,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6620
      start: 6610
    functionDepth: 1
    functionLinenumber: 6610
    functionLinenumberEnd: 6620
    functionName: jsonToStreamTagDefNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonToObject
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToStreamTagDefNode(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6630,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6632,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6635,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6638,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6644
      start: 6628
    functionDepth: 2
    functionLinenumber: 6628
    functionLinenumberEnd: 6644
    functionName: externalWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t externalWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6648,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6650,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6653,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6656,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6662
      start: 6646
    functionDepth: 3
    functionLinenumber: 6646
    functionLinenumberEnd: 6662
    functionName: jsonToExternalWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToExternalWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6670,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6676
      start: 6667
    functionDepth: 2
    functionLinenumber: 6667
    functionLinenumberEnd: 6676
    functionName: groupingSetNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupingSetNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6682,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6688
      start: 6678
    functionDepth: 3
    functionLinenumber: 6678
    functionLinenumberEnd: 6688
    functionName: jsonToGroupingSetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToGroupingSetNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6697,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6699,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6706
      start: 6694
    functionDepth: 1
    functionLinenumber: 6694
    functionLinenumberEnd: 6706
    functionName: orderByExprNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t orderByExprNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6711,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6713,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6720
      start: 6708
    functionDepth: 1
    functionLinenumber: 6708
    functionLinenumberEnd: 6720
    functionName: jsonToOrderByExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToOrderByExprNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6728,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6734
      start: 6725
    functionDepth: 1
    functionLinenumber: 6725
    functionLinenumberEnd: 6734
    functionName: limitNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t limitNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6739,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6745
      start: 6736
    functionDepth: 1
    functionLinenumber: 6736
    functionLinenumberEnd: 6745
    functionName: jsonToLimitNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToLimitNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6753,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6755,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6761
      start: 6751
    functionDepth: 1
    functionLinenumber: 6751
    functionLinenumberEnd: 6761
    functionName: stateWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t stateWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6766,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6768,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6774
      start: 6763
    functionDepth: 1
    functionLinenumber: 6763
    functionLinenumberEnd: 6774
    functionName: jsonToStateWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToStateWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6782,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6787
      start: 6779
    functionDepth: 1
    functionLinenumber: 6779
    functionLinenumberEnd: 6787
    functionName: sessionWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t sessionWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6792,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6797
      start: 6789
    functionDepth: 1
    functionLinenumber: 6789
    functionLinenumberEnd: 6797
    functionName: jsonToSessionWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSessionWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6807,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6809,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6812,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6818
      start: 6804
    functionDepth: 1
    functionLinenumber: 6804
    functionLinenumberEnd: 6818
    functionName: eventWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t eventWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6823,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6825,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6828,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6834
      start: 6820
    functionDepth: 1
    functionLinenumber: 6820
    functionLinenumberEnd: 6834
    functionName: jsonToEventWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToEventWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6843,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6845,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6851
      start: 6840
    functionDepth: 1
    functionLinenumber: 6840
    functionLinenumberEnd: 6851
    functionName: countWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t countWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6856,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6858,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6864
      start: 6853
    functionDepth: 1
    functionLinenumber: 6853
    functionLinenumberEnd: 6864
    functionName: jsonToCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - tjsonGetBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCountWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6873,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6875,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6881
      start: 6870
    functionDepth: 1
    functionLinenumber: 6870
    functionLinenumberEnd: 6881
    functionName: anomalyWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6886,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6888,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6894
      start: 6883
    functionDepth: 1
    functionLinenumber: 6883
    functionLinenumberEnd: 6894
    functionName: jsonToAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAnomalyWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6903,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6905,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6911
      start: 6900
    functionDepth: 1
    functionLinenumber: 6900
    functionLinenumberEnd: 6911
    functionName: trueForNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t trueForNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6917,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6920,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6926
      start: 6913
    functionDepth: 1
    functionLinenumber: 6913
    functionLinenumberEnd: 6926
    functionName: jsonToTrueForNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToTrueForNode(const SJson* pJson, void* pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6939,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6941,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6944,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6947,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6950,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6953,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6956,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6960
      start: 6936
    functionDepth: 1
    functionLinenumber: 6936
    functionLinenumberEnd: 6960
    functionName: intervalWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t intervalWindowNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6965,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6967,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6970,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6973,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6976,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6979,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6986
      start: 6962
    functionDepth: 1
    functionLinenumber: 6962
    functionLinenumberEnd: 6986
    functionName: jsonToIntervalWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - tjsonGetBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToIntervalWindowNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6994,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7000
      start: 6991
    functionDepth: 2
    functionLinenumber: 6991
    functionLinenumberEnd: 7000
    functionName: nodeListNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - exprNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodeListNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7005,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7011
      start: 7002
    functionDepth: 3
    functionLinenumber: 7002
    functionLinenumberEnd: 7011
    functionName: jsonToNodeListNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToExprNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToNodeListNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7023,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7025,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7028,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7031,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7034,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7037,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7042
      start: 7020
    functionDepth: 1
    functionLinenumber: 7020
    functionLinenumberEnd: 7042
    functionName: fillNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7048,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7050,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7053,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7056,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7059,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7062,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7067
      start: 7044
    functionDepth: 1
    functionLinenumber: 7044
    functionLinenumberEnd: 7067
    functionName: jsonToFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - tjsonGetBigIntValue
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToFillNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7076,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7078,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7085
      start: 7073
    functionDepth: 1
    functionLinenumber: 7073
    functionLinenumberEnd: 7085
    functionName: targetNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t targetNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7090,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7092,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7099
      start: 7087
    functionDepth: 1
    functionLinenumber: 7087
    functionLinenumberEnd: 7099
    functionName: jsonToTargetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetSmallIntValue
    - jsonToNodeObject
    - tjsonGetBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToTargetNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7111,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7113,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7116,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7119,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7122,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7129
      start: 7108
    functionDepth: 1
    functionLinenumber: 7108
    functionLinenumberEnd: 7129
    functionName: slotDescNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t slotDescNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7134,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7136,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7139,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7142,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7145,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7152
      start: 7131
    functionDepth: 1
    functionLinenumber: 7131
    functionLinenumberEnd: 7152
    functionName: jsonToSlotDescNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - tjsonToObject
    - tjsonGetSmallIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSlotDescNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7163,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7165,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7168,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7175
      start: 7160
    functionDepth: 1
    functionLinenumber: 7160
    functionLinenumberEnd: 7175
    functionName: columnDefNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t columnDefNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7180,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7182,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7185,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7191
      start: 7177
    functionDepth: 1
    functionLinenumber: 7177
    functionLinenumberEnd: 7191
    functionName: jsonToColumnDefNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - tjsonToObject
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToColumnDefNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7203,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7205,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7208,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7211,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7214,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7221
      start: 7200
    functionDepth: 1
    functionLinenumber: 7200
    functionLinenumberEnd: 7221
    functionName: downstreamSourceNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t downstreamSourceNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7226,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7228,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7231,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7234,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7237,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7244
      start: 7223
    functionDepth: 1
    functionLinenumber: 7223
    functionLinenumberEnd: 7244
    functionName: jsonToDownstreamSourceNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToObject
    - tjsonGetUBigIntValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDownstreamSourceNode(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7251,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7256
      start: 7248
    functionDepth: 1
    functionLinenumber: 7248
    functionLinenumberEnd: 7256
    functionName: windowOffsetNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t windowOffsetNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7261,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7266
      start: 7258
    functionDepth: 1
    functionLinenumber: 7258
    functionLinenumberEnd: 7266
    functionName: jsonToWindowOffsetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToWindowOffsetNode(const SJson* pJson, void* pObj)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7305,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7307,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7310,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7313,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7316,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7319,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7322,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7325,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7328,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7331,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7334,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7337,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7340,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7343,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7346,1
    - Dst: tjsonAddIntegerToObject
      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: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7355,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7358,1
    - Dst: tjsonAddIntegerToObject
      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: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7367,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7370,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7373,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7376,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7379,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7383
      start: 7302
    functionDepth: 2
    functionLinenumber: 7302
    functionLinenumberEnd: 7383
    functionName: databaseOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t databaseOptionsToJson(const void* pObj, SJson* pJson)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7388,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7390,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7393,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7396,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7399,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7402,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7405,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7408,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7411,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7414,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7417,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7420,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7423,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7426,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7429,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7432,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7435,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7438,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7441,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7444,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7445,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7447,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7451,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7452,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7454,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7458,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7459,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7461,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7465,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7466,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7468,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7472,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7475,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7478,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 93
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7482
      start: 7385
    functionDepth: 3
    functionLinenumber: 7385
    functionLinenumberEnd: 7482
    functionName: jsonToDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetStringValue1
    - jsonToNodeObject
    - tjsonGetIntValue
    - tjsonGetObjectItem
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDatabaseOptions(const SJson* pJson, void* pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7495,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7497,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7500,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7503,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7506,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7509,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7516
      start: 7492
    functionDepth: 2
    functionLinenumber: 7492
    functionLinenumberEnd: 7516
    functionName: tableOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - nodeListToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableOptionsToJson(const void* pObj, SJson* pJson)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7521,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7523,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7526,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7529,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7532,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7535,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7542
      start: 7518
    functionDepth: 3
    functionLinenumber: 7518
    functionLinenumberEnd: 7542
    functionName: jsonToTableOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - jsonToNodeList
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToTableOptions(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7549,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7550,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7553
      start: 7547
    functionDepth: 1
    functionLinenumber: 7547
    functionLinenumberEnd: 7553
    functionName: columnOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t columnOptionsToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7558,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7559,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7562
      start: 7555
    functionDepth: 1
    functionLinenumber: 7555
    functionLinenumberEnd: 7562
    functionName: jsonToColumnOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToColumnOptions(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7573,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7575,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7578,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7581,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7588
      start: 7570
    functionDepth: 2
    functionLinenumber: 7570
    functionLinenumberEnd: 7588
    functionName: indexOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t indexOptionsToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7593,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7595,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7598,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7601,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7608
      start: 7590
    functionDepth: 3
    functionLinenumber: 7590
    functionLinenumberEnd: 7608
    functionName: jsonToIndexOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToIndexOptions(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7616,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7622
      start: 7613
    functionDepth: 1
    functionLinenumber: 7613
    functionLinenumberEnd: 7622
    functionName: explainOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddDoubleToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t explainOptionsToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7627,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7633
      start: 7624
    functionDepth: 1
    functionLinenumber: 7624
    functionLinenumberEnd: 7633
    functionName: jsonToExplainOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetDoubleValue
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToExplainOptions(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7647
      start: 7643
    functionDepth: 0
    functionLinenumber: 7643
    functionLinenumberEnd: 7647
    functionName: streamOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamOptionsToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7653
      start: 7649
    functionDepth: 0
    functionLinenumber: 7649
    functionLinenumberEnd: 7653
    functionName: jsonToStreamOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToStreamOptions(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7665
      start: 7660
    functionDepth: 2
    functionLinenumber: 7660
    functionLinenumberEnd: 7665
    functionName: streamNotifyOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamNotifyOptionsToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7673
      start: 7667
    functionDepth: 3
    functionLinenumber: 7667
    functionLinenumberEnd: 7673
    functionName: jsonToStreamNotifyOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToStreamNotifyOptions(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7681,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7683,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7686,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7692
      start: 7679
    functionDepth: 1
    functionLinenumber: 7679
    functionLinenumberEnd: 7692
    functionName: columnReferenceToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t columnReferenceToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7697,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7699,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7702,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7708
      start: 7694
    functionDepth: 1
    functionLinenumber: 7694
    functionLinenumberEnd: 7708
    functionName: jsonToColumnReference
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToColumnReference(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7716,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7718,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7725
      start: 7713
    functionDepth: 2
    functionLinenumber: 7713
    functionLinenumberEnd: 7725
    functionName: whenThenNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - exprNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t whenThenNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7730,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7732,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7739
      start: 7727
    functionDepth: 2
    functionLinenumber: 7727
    functionLinenumberEnd: 7739
    functionName: jsonToWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - jsonToExprNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToWhenThenNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7748,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7750,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7753,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7760
      start: 7745
    functionDepth: 2
    functionLinenumber: 7745
    functionLinenumberEnd: 7760
    functionName: caseWhenNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - exprNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t caseWhenNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7765,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7767,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7770,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7777
      start: 7762
    functionDepth: 3
    functionLinenumber: 7762
    functionLinenumberEnd: 7777
    functionName: jsonToCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    - jsonToExprNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCaseWhenNode(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7788,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7790,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7793,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7796,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7803
      start: 7785
    functionDepth: 2
    functionLinenumber: 7785
    functionLinenumberEnd: 7803
    functionName: dataBlockDescNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataBlockDescNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7808,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7810,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7813,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7816,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7823
      start: 7805
    functionDepth: 3
    functionLinenumber: 7805
    functionLinenumberEnd: 7823
    functionName: jsonToDataBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetIntValue
    - tjsonGetBigIntValue
    - tjsonGetUTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDataBlockDescNode(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7835,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7837,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7840,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7843,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7846,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7853
      start: 7832
    functionDepth: 2
    functionLinenumber: 7832
    functionLinenumberEnd: 7853
    functionName: setOperatorToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t setOperatorToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7859,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7861,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7864,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7867,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7870,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7877
      start: 7855
    functionDepth: 3
    functionLinenumber: 7855
    functionLinenumberEnd: 7877
    functionName: jsonToSetOperator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSetOperator(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7886,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7888,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7894
      start: 7883
    functionDepth: 1
    functionLinenumber: 7883
    functionLinenumberEnd: 7894
    functionName: timeRangeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t timeRangeNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7899,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7901,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7907
      start: 7896
    functionDepth: 1
    functionLinenumber: 7896
    functionLinenumberEnd: 7907
    functionName: jsonToTimeRangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToTimeRangeNode(const SJson* pJson, void* pObj)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7933,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7935,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7938,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7941,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7944,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7947,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7950,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7953,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7956,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7959,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7962,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7965,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7968,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7971,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7974,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7977,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7980,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7983,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7986
      start: 7930
    functionDepth: 2
    functionLinenumber: 7930
    functionLinenumberEnd: 7986
    functionName: selectStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    - nodeListToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t selectStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7991,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7993,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7996,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7999,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8002,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8005,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8008,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8011,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8014,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8017,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8020,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8023,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8026,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8029,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8032,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8035,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8038,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8041,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8045
      start: 7988
    functionDepth: 3
    functionLinenumber: 7988
    functionLinenumberEnd: 8045
    functionName: jsonToSelectStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetBoolValue
    - jsonToNodeObject
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSelectStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8054,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8056,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8063
      start: 8051
    functionDepth: 1
    functionLinenumber: 8051
    functionLinenumberEnd: 8063
    functionName: vnodeModifyStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t vnodeModifyStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8069,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8071,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8078
      start: 8065
    functionDepth: 1
    functionLinenumber: 8065
    functionLinenumberEnd: 8078
    functionName: jsonToVnodeModifyStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToVnodeModifyStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8087,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8089,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8096
      start: 8084
    functionDepth: 1
    functionLinenumber: 8084
    functionLinenumberEnd: 8096
    functionName: createDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8101,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8103,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8110
      start: 8098
    functionDepth: 1
    functionLinenumber: 8098
    functionLinenumberEnd: 8110
    functionName: jsonToCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateDatabaseStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8118,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8124
      start: 8115
    functionDepth: 1
    functionLinenumber: 8115
    functionLinenumberEnd: 8124
    functionName: alterDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8129,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8135
      start: 8126
    functionDepth: 1
    functionLinenumber: 8126
    functionLinenumberEnd: 8135
    functionName: jsonToAlterDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterDatabaseStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8143,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8149
      start: 8140
    functionDepth: 1
    functionLinenumber: 8140
    functionLinenumberEnd: 8149
    functionName: trimDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t trimDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8154,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8160
      start: 8151
    functionDepth: 1
    functionLinenumber: 8151
    functionLinenumberEnd: 8160
    functionName: jsonToTrimDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToTrimDatabaseStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8170
      start: 8164
    functionDepth: 1
    functionLinenumber: 8164
    functionLinenumberEnd: 8170
    functionName: ssMigrateDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t ssMigrateDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8178
      start: 8172
    functionDepth: 1
    functionLinenumber: 8172
    functionLinenumberEnd: 8178
    functionName: jsonToSsMigrateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSsMigrateDatabaseStmt(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8189,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8191,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8194,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8201
      start: 8186
    functionDepth: 1
    functionLinenumber: 8186
    functionLinenumberEnd: 8201
    functionName: createMountStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createMountStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8206,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8208,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8211,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8218
      start: 8203
    functionDepth: 1
    functionLinenumber: 8203
    functionLinenumberEnd: 8218
    functionName: jsonToCreateMountStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateMountStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8223,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8228
      start: 8220
    functionDepth: 1
    functionLinenumber: 8220
    functionLinenumberEnd: 8228
    functionName: dropMountStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropMountStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8233,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8238
      start: 8230
    functionDepth: 1
    functionLinenumber: 8230
    functionLinenumberEnd: 8238
    functionName: jsonToDropMountStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropMountStmt(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8250,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8252,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8255,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8258,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8261,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8268
      start: 8247
    functionDepth: 2
    functionLinenumber: 8247
    functionLinenumberEnd: 8268
    functionName: createTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    - nodeListToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8273,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8275,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8278,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8281,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8284,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8291
      start: 8270
    functionDepth: 3
    functionLinenumber: 8270
    functionLinenumberEnd: 8291
    functionName: jsonToCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - jsonToNodeObject
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateTableStmt(const SJson* pJson, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8305,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8307,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8310,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8313,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8316,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8319,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8322,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8329
      start: 8302
    functionDepth: 2
    functionLinenumber: 8302
    functionLinenumberEnd: 8329
    functionName: createSubTableClauseToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    - nodeListToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSubTableClauseToJson(const void* pObj, SJson* pJson)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8334,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8336,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8339,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8342,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8346,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8349,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8352,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8359
      start: 8331
    functionDepth: 3
    functionLinenumber: 8331
    functionLinenumberEnd: 8359
    functionName: jsonToCreateSubTableClause
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - jsonToNodeObject
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateSubTableClause(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8366
      start: 8363
    functionDepth: 2
    functionLinenumber: 8363
    functionLinenumberEnd: 8366
    functionName: createMultiTablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t createMultiTablesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8371
      start: 8368
    functionDepth: 3
    functionLinenumber: 8368
    functionLinenumberEnd: 8371
    functionName: jsonToCreateMultiTablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateMultiTablesStmt(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8381,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8383,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8386,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8392
      start: 8378
    functionDepth: 2
    functionLinenumber: 8378
    functionLinenumberEnd: 8392
    functionName: createVTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - nodeListToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createVTableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8397,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8399,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8402,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8408
      start: 8394
    functionDepth: 3
    functionLinenumber: 8394
    functionLinenumberEnd: 8408
    functionName: jsonToCreateVTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateVTableStmt(const SJson* pJson, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8425,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8427,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8430,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8433,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8436,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8439,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8442,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8445,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8448,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8451,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8454,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8457
      start: 8422
    functionDepth: 2
    functionLinenumber: 8422
    functionLinenumberEnd: 8457
    functionName: createVSubTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - nodeListToJson
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createVSubTableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8462,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8464,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8467,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8470,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8474,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8477,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8480,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8483,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8486,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8489,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8492,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8496
      start: 8459
    functionDepth: 3
    functionLinenumber: 8459
    functionLinenumberEnd: 8496
    functionName: jsonToCreateVSubTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateVSubTableStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8505,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8507,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8514
      start: 8502
    functionDepth: 1
    functionLinenumber: 8502
    functionLinenumberEnd: 8514
    functionName: dropTableClauseToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropTableClauseToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8519,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8521,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8528
      start: 8516
    functionDepth: 1
    functionLinenumber: 8516
    functionLinenumberEnd: 8528
    functionName: jsonToDropTableClause
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropTableClause(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8535
      start: 8532
    functionDepth: 2
    functionLinenumber: 8532
    functionLinenumberEnd: 8535
    functionName: dropTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropTableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8540
      start: 8537
    functionDepth: 3
    functionLinenumber: 8537
    functionLinenumberEnd: 8540
    functionName: jsonToDropTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropTableStmt(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8550,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8552,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8555,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8562
      start: 8547
    functionDepth: 1
    functionLinenumber: 8547
    functionLinenumberEnd: 8562
    functionName: dropStableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropStableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8567,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8569,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8572,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8579
      start: 8564
    functionDepth: 1
    functionLinenumber: 8564
    functionLinenumberEnd: 8579
    functionName: jsonToDropStableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropStableStmt(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8589,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8591,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8594,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8601
      start: 8586
    functionDepth: 1
    functionLinenumber: 8586
    functionLinenumberEnd: 8601
    functionName: dropVtableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropVtableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8606,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8608,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8611,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8618
      start: 8603
    functionDepth: 1
    functionLinenumber: 8603
    functionLinenumberEnd: 8618
    functionName: jsonToDropVtableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropVtableStmt(const SJson* pJson, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8632,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8634,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8637,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8640,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8643,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8646,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8649,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8652,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8656
      start: 8629
    functionDepth: 1
    functionLinenumber: 8629
    functionLinenumberEnd: 8656
    functionName: alterTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterTableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8661,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8663,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8666,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8669,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8672,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8675,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8678,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8681,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8685
      start: 8658
    functionDepth: 1
    functionLinenumber: 8658
    functionLinenumberEnd: 8685
    functionName: jsonToAlterTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonToObject
    - jsonToNodeObject
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterTableStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alterTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8687
      start: 8687
    functionDepth: 2
    functionLinenumber: 8687
    functionLinenumberEnd: 8687
    functionName: alterStableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - alterTableStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterStableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToAlterTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8689
      start: 8689
    functionDepth: 2
    functionLinenumber: 8689
    functionLinenumberEnd: 8689
    functionName: jsonToAlterStableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToAlterTableStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterStableStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8698,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8700,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8707
      start: 8695
    functionDepth: 1
    functionLinenumber: 8695
    functionLinenumberEnd: 8707
    functionName: createUserStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createUserStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8712,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8714,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8717,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8720,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8727
      start: 8709
    functionDepth: 1
    functionLinenumber: 8709
    functionLinenumberEnd: 8727
    functionName: createEncryptAlgrStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createEncryptAlgrStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8732,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8734,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8741
      start: 8729
    functionDepth: 1
    functionLinenumber: 8729
    functionLinenumberEnd: 8741
    functionName: jsonToCreateUserStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateUserStmt(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8746,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8748,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8751,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8754,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8761
      start: 8743
    functionDepth: 1
    functionLinenumber: 8743
    functionLinenumberEnd: 8761
    functionName: jsonToCreateEncryptAlgrStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateEncryptAlgrStmt(const SJson* pJson, void* pObj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8772,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8775,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8778,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8781,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8784,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8787,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8791
      start: 8770
    functionDepth: 1
    functionLinenumber: 8770
    functionLinenumberEnd: 8791
    functionName: alterUserStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterUserStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8795,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8798,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8801,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8804,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8807,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8814
      start: 8793
    functionDepth: 1
    functionLinenumber: 8793
    functionLinenumberEnd: 8814
    functionName: jsonToAlterUserStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterUserStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8821
      start: 8818
    functionDepth: 1
    functionLinenumber: 8818
    functionLinenumberEnd: 8821
    functionName: dropUserStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropUserStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8826
      start: 8823
    functionDepth: 1
    functionLinenumber: 8823
    functionLinenumberEnd: 8826
    functionName: jsonToDropUserStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropUserStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8833,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8838
      start: 8830
    functionDepth: 1
    functionLinenumber: 8830
    functionLinenumberEnd: 8838
    functionName: createRoleStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createRoleStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8843,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8848
      start: 8840
    functionDepth: 1
    functionLinenumber: 8840
    functionLinenumberEnd: 8848
    functionName: jsonToCreateRoleStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateRoleStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8853,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8858
      start: 8850
    functionDepth: 1
    functionLinenumber: 8850
    functionLinenumberEnd: 8858
    functionName: dropRoleStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropRoleStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8863,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8868
      start: 8860
    functionDepth: 1
    functionLinenumber: 8860
    functionLinenumberEnd: 8868
    functionName: jsonToDropRoleStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropRoleStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8873,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8878
      start: 8870
    functionDepth: 1
    functionLinenumber: 8870
    functionLinenumberEnd: 8878
    functionName: alterRoleStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterRoleStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8883,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8888
      start: 8880
    functionDepth: 1
    functionLinenumber: 8880
    functionLinenumberEnd: 8888
    functionName: jsonToAlterRoleStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetUTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterRoleStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8895
      start: 8892
    functionDepth: 1
    functionLinenumber: 8892
    functionLinenumberEnd: 8895
    functionName: dropEncryptAlgrStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropEncryptAlgrStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8900
      start: 8897
    functionDepth: 1
    functionLinenumber: 8897
    functionLinenumberEnd: 8900
    functionName: jsonToDropEncryptAlgrStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropEncryptAlgrStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8907
      start: 8904
    functionDepth: 1
    functionLinenumber: 8904
    functionLinenumberEnd: 8907
    functionName: useDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t useDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8912
      start: 8909
    functionDepth: 1
    functionLinenumber: 8909
    functionLinenumberEnd: 8912
    functionName: jsonToUseDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToUseDatabaseStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8920,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8926
      start: 8917
    functionDepth: 1
    functionLinenumber: 8917
    functionLinenumberEnd: 8926
    functionName: createDnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8931,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8937
      start: 8928
    functionDepth: 1
    functionLinenumber: 8928
    functionLinenumberEnd: 8937
    functionName: jsonToCreateDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateDnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8946,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8948,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8955
      start: 8943
    functionDepth: 1
    functionLinenumber: 8943
    functionLinenumberEnd: 8955
    functionName: alterDnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterDnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8960,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8962,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8969
      start: 8957
    functionDepth: 1
    functionLinenumber: 8957
    functionLinenumberEnd: 8969
    functionName: jsonToAlterDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterDnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8983,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8985,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8988,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8991,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8994,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8997,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9000,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9003,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9007
      start: 8980
    functionDepth: 2
    functionLinenumber: 8980
    functionLinenumberEnd: 9007
    functionName: createIndexStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t createIndexStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9013,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9015,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9018,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9021,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9024,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9027,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9030,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9033,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9037
      start: 9009
    functionDepth: 3
    functionLinenumber: 9009
    functionLinenumberEnd: 9037
    functionName: jsonToCreateIndexStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetStringValue1
    - jsonToNodeObject
    - tjsonGetNumberValue
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateIndexStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9046,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9048,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9055
      start: 9043
    functionDepth: 1
    functionLinenumber: 9043
    functionLinenumberEnd: 9055
    functionName: dropIndexStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropIndexStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9060,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9062,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9069
      start: 9057
    functionDepth: 1
    functionLinenumber: 9057
    functionLinenumberEnd: 9069
    functionName: jsonToDropIndexStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropIndexStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9076
      start: 9073
    functionDepth: 1
    functionLinenumber: 9073
    functionLinenumberEnd: 9076
    functionName: createComponentNodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createComponentNodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9081
      start: 9078
    functionDepth: 1
    functionLinenumber: 9078
    functionLinenumberEnd: 9081
    functionName: jsonToCreateComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateComponentNodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9088
      start: 9085
    functionDepth: 1
    functionLinenumber: 9085
    functionLinenumberEnd: 9088
    functionName: dropComponentNodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropComponentNodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9093
      start: 9090
    functionDepth: 1
    functionLinenumber: 9090
    functionLinenumberEnd: 9093
    functionName: jsonToDropComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropComponentNodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9097
      start: 9095
    functionDepth: 2
    functionLinenumber: 9095
    functionLinenumberEnd: 9097
    functionName: createQnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - createComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t createQnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToCreateComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9101
      start: 9099
    functionDepth: 2
    functionLinenumber: 9099
    functionLinenumberEnd: 9101
    functionName: jsonToCreateQnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToCreateComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateQnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9103
      start: 9103
    functionDepth: 2
    functionLinenumber: 9103
    functionLinenumberEnd: 9103
    functionName: dropQnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - dropComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropQnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToDropComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9105
      start: 9105
    functionDepth: 2
    functionLinenumber: 9105
    functionLinenumberEnd: 9105
    functionName: jsonToDropQnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToDropComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropQnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9113
      start: 9110
    functionDepth: 1
    functionLinenumber: 9110
    functionLinenumberEnd: 9113
    functionName: createAnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createAnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9118
      start: 9115
    functionDepth: 1
    functionLinenumber: 9115
    functionLinenumberEnd: 9118
    functionName: jsonToCreateAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateAnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9123
      start: 9120
    functionDepth: 1
    functionLinenumber: 9120
    functionLinenumberEnd: 9123
    functionName: updateAnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateAnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9128
      start: 9125
    functionDepth: 1
    functionLinenumber: 9125
    functionLinenumberEnd: 9128
    functionName: jsonToUpdateAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToUpdateAnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9133
      start: 9130
    functionDepth: 1
    functionLinenumber: 9130
    functionLinenumberEnd: 9133
    functionName: dropAnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropAnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9138
      start: 9135
    functionDepth: 1
    functionLinenumber: 9135
    functionLinenumberEnd: 9138
    functionName: jsonToDropAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropAnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9146
      start: 9143
    functionDepth: 1
    functionLinenumber: 9143
    functionLinenumberEnd: 9146
    functionName: createXnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createXnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9153
      start: 9149
    functionDepth: 1
    functionLinenumber: 9149
    functionLinenumberEnd: 9153
    functionName: createXnodeTaskStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createXnodeTaskStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9159
      start: 9155
    functionDepth: 1
    functionLinenumber: 9155
    functionLinenumberEnd: 9159
    functionName: jsonToCreateXnodeTaskStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateXnodeTaskStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9165
      start: 9161
    functionDepth: 1
    functionLinenumber: 9161
    functionLinenumberEnd: 9165
    functionName: dropXnodeTaskStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropXnodeTaskStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9170
      start: 9166
    functionDepth: 1
    functionLinenumber: 9166
    functionLinenumberEnd: 9170
    functionName: jsonToDropXnodeTaskStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropXnodeTaskStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9178
      start: 9174
    functionDepth: 1
    functionLinenumber: 9174
    functionLinenumberEnd: 9178
    functionName: createXnodeJobStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createXnodeJobStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9184
      start: 9180
    functionDepth: 1
    functionLinenumber: 9180
    functionLinenumberEnd: 9184
    functionName: jsonToCreateXnodeJobStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateXnodeJobStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9190
      start: 9186
    functionDepth: 1
    functionLinenumber: 9186
    functionLinenumberEnd: 9190
    functionName: dropXnodeJobStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropXnodeJobStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9195
      start: 9191
    functionDepth: 1
    functionLinenumber: 9191
    functionLinenumberEnd: 9195
    functionName: jsonToDropXnodeJobStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropXnodeJobStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9200
      start: 9197
    functionDepth: 1
    functionLinenumber: 9197
    functionLinenumberEnd: 9200
    functionName: jsonToCreateXnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateXnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9205
      start: 9202
    functionDepth: 1
    functionLinenumber: 9202
    functionLinenumberEnd: 9205
    functionName: alterXnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterXnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9210
      start: 9207
    functionDepth: 1
    functionLinenumber: 9207
    functionLinenumberEnd: 9210
    functionName: jsonToUpdateXnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToUpdateXnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9215
      start: 9212
    functionDepth: 1
    functionLinenumber: 9212
    functionLinenumberEnd: 9215
    functionName: dropXnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropXnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9220
      start: 9217
    functionDepth: 1
    functionLinenumber: 9217
    functionLinenumberEnd: 9220
    functionName: jsonToDropXnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropXnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9227
      start: 9224
    functionDepth: 1
    functionLinenumber: 9224
    functionLinenumberEnd: 9227
    functionName: createBnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createBnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9232
      start: 9229
    functionDepth: 1
    functionLinenumber: 9229
    functionLinenumberEnd: 9232
    functionName: jsonToCreateBnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateBnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9237
      start: 9234
    functionDepth: 1
    functionLinenumber: 9234
    functionLinenumberEnd: 9237
    functionName: dropBnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropBnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9242
      start: 9239
    functionDepth: 1
    functionLinenumber: 9239
    functionLinenumberEnd: 9242
    functionName: jsonToDropBnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropBnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9246
      start: 9244
    functionDepth: 2
    functionLinenumber: 9244
    functionLinenumberEnd: 9246
    functionName: createSnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - createComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToCreateComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9250
      start: 9248
    functionDepth: 2
    functionLinenumber: 9248
    functionLinenumberEnd: 9250
    functionName: jsonToCreateSnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToCreateComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateSnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9252
      start: 9252
    functionDepth: 2
    functionLinenumber: 9252
    functionLinenumberEnd: 9252
    functionName: dropSnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - dropComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropSnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToDropComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9254
      start: 9254
    functionDepth: 2
    functionLinenumber: 9254
    functionLinenumberEnd: 9254
    functionName: jsonToDropSnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToDropComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropSnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9258
      start: 9256
    functionDepth: 2
    functionLinenumber: 9256
    functionLinenumberEnd: 9258
    functionName: createMnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - createComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t createMnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToCreateComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9262
      start: 9260
    functionDepth: 2
    functionLinenumber: 9260
    functionLinenumberEnd: 9262
    functionName: jsonToCreateMnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToCreateComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateMnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9264
      start: 9264
    functionDepth: 2
    functionLinenumber: 9264
    functionLinenumberEnd: 9264
    functionName: dropMnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - dropComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropMnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToDropComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9266
      start: 9266
    functionDepth: 2
    functionLinenumber: 9266
    functionLinenumberEnd: 9266
    functionName: jsonToDropMnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToDropComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropMnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9277,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9279,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9282,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9285,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9292
      start: 9274
    functionDepth: 1
    functionLinenumber: 9274
    functionLinenumberEnd: 9292
    functionName: dropDnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropDnodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9297,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9299,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9302,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9305,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9312
      start: 9294
    functionDepth: 1
    functionLinenumber: 9294
    functionLinenumberEnd: 9312
    functionName: jsonToDropDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropDnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9320,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9325
      start: 9317
    functionDepth: 1
    functionLinenumber: 9317
    functionLinenumberEnd: 9325
    functionName: restoreComponentNodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t restoreComponentNodeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9332,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9334,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9340
      start: 9327
    functionDepth: 1
    functionLinenumber: 9327
    functionLinenumberEnd: 9340
    functionName: jsonToRestoreComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetObjectItem
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRestoreComponentNodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToRestoreComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9344
      start: 9342
    functionDepth: 2
    functionLinenumber: 9342
    functionLinenumberEnd: 9344
    functionName: jsonToRestoreDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToRestoreComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRestoreDnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToRestoreComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9347
      start: 9345
    functionDepth: 2
    functionLinenumber: 9345
    functionLinenumberEnd: 9347
    functionName: jsonToRestoreQnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToRestoreComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRestoreQnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToRestoreComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9350
      start: 9348
    functionDepth: 2
    functionLinenumber: 9348
    functionLinenumberEnd: 9350
    functionName: jsonToRestoreMnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToRestoreComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRestoreMnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToRestoreComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9353
      start: 9351
    functionDepth: 2
    functionLinenumber: 9351
    functionLinenumberEnd: 9353
    functionName: jsonToRestoreVnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToRestoreComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRestoreVnodeStmt(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9363,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9365,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9368,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9375
      start: 9360
    functionDepth: 1
    functionLinenumber: 9360
    functionLinenumberEnd: 9375
    functionName: createTopicStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTopicStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9380,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9382,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9385,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9392
      start: 9377
    functionDepth: 1
    functionLinenumber: 9377
    functionLinenumberEnd: 9392
    functionName: jsonToCreateTopicStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateTopicStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9400,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9406
      start: 9397
    functionDepth: 1
    functionLinenumber: 9397
    functionLinenumberEnd: 9406
    functionName: dropTopicStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropTopicStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9411,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9417
      start: 9408
    functionDepth: 1
    functionLinenumber: 9408
    functionLinenumberEnd: 9417
    functionName: jsonToDropTopicStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropTopicStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9426,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9428,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9435
      start: 9423
    functionDepth: 1
    functionLinenumber: 9423
    functionLinenumberEnd: 9435
    functionName: dropConsumerGroupStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropConsumerGroupStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9440,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9442,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9449
      start: 9437
    functionDepth: 1
    functionLinenumber: 9437
    functionLinenumberEnd: 9449
    functionName: jsonToDropConsumerGroupStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropConsumerGroupStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9457,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9463
      start: 9454
    functionDepth: 1
    functionLinenumber: 9454
    functionLinenumberEnd: 9463
    functionName: alterClusterStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterClusterStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9468,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9474
      start: 9465
    functionDepth: 1
    functionLinenumber: 9465
    functionLinenumberEnd: 9474
    functionName: jsonToAlterClusterStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterClusterStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9482,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9488
      start: 9479
    functionDepth: 1
    functionLinenumber: 9479
    functionLinenumberEnd: 9488
    functionName: alterLocalStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterLocalStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9493,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9499
      start: 9490
    functionDepth: 1
    functionLinenumber: 9490
    functionLinenumberEnd: 9499
    functionName: jsonToAlterLocalStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterLocalStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9507,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9513
      start: 9504
    functionDepth: 1
    functionLinenumber: 9504
    functionLinenumberEnd: 9513
    functionName: alterEncryptKeyStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterEncryptKeyStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9518,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9524
      start: 9515
    functionDepth: 1
    functionLinenumber: 9515
    functionLinenumberEnd: 9524
    functionName: jsonToAlterEncryptKeyStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterEncryptKeyStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9532,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9538
      start: 9529
    functionDepth: 1
    functionLinenumber: 9529
    functionLinenumberEnd: 9538
    functionName: alterKeyExpirationStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t alterKeyExpirationStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9543,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9549
      start: 9540
    functionDepth: 1
    functionLinenumber: 9540
    functionLinenumberEnd: 9549
    functionName: jsonToAlterKeyExpirationStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToAlterKeyExpirationStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9558,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9560,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9567
      start: 9555
    functionDepth: 1
    functionLinenumber: 9555
    functionLinenumberEnd: 9567
    functionName: explainStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t explainStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9572,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9574,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9581
      start: 9569
    functionDepth: 1
    functionLinenumber: 9569
    functionLinenumberEnd: 9581
    functionName: jsonToExplainStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToExplainStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9589,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9595
      start: 9586
    functionDepth: 1
    functionLinenumber: 9586
    functionLinenumberEnd: 9595
    functionName: describeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t describeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9600,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9606
      start: 9597
    functionDepth: 1
    functionLinenumber: 9597
    functionLinenumberEnd: 9606
    functionName: jsonToDescribeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDescribeStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9614
      start: 9611
    functionDepth: 1
    functionLinenumber: 9611
    functionLinenumberEnd: 9614
    functionName: compactDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t compactDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9619
      start: 9616
    functionDepth: 1
    functionLinenumber: 9616
    functionLinenumberEnd: 9619
    functionName: jsonToCompactDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCompactDatabaseStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9624
      start: 9621
    functionDepth: 1
    functionLinenumber: 9621
    functionLinenumberEnd: 9624
    functionName: rollupDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t rollupDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9629
      start: 9626
    functionDepth: 1
    functionLinenumber: 9626
    functionLinenumberEnd: 9629
    functionName: jsonToRollupDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRollupDatabaseStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9634
      start: 9631
    functionDepth: 1
    functionLinenumber: 9631
    functionLinenumberEnd: 9634
    functionName: scanDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t scanDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9639
      start: 9636
    functionDepth: 1
    functionLinenumber: 9636
    functionLinenumberEnd: 9639
    functionName: jsonToScanDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToScanDatabaseStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9644
      start: 9641
    functionDepth: 0
    functionLinenumber: 9641
    functionLinenumberEnd: 9644
    functionName: compactVgroupsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t compactVgroupsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9649
      start: 9646
    functionDepth: 0
    functionLinenumber: 9646
    functionLinenumberEnd: 9649
    functionName: jsonToCompactVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCompactVgroupsStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9654
      start: 9651
    functionDepth: 0
    functionLinenumber: 9651
    functionLinenumberEnd: 9654
    functionName: rollupVgroupsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t rollupVgroupsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9659
      start: 9656
    functionDepth: 0
    functionLinenumber: 9656
    functionLinenumberEnd: 9659
    functionName: jsonToRollupVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRollupVgroupsStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9664
      start: 9661
    functionDepth: 0
    functionLinenumber: 9661
    functionLinenumberEnd: 9664
    functionName: scanVgroupsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t scanVgroupsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9669
      start: 9666
    functionDepth: 0
    functionLinenumber: 9666
    functionLinenumberEnd: 9669
    functionName: jsonToScanVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToScanVgroupsStmt(const SJson* pJson, void* pObj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9686,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9688,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9691,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9694,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9697,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9700,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9703,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9706,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9709,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9712,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9715,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9718
      start: 9683
    functionDepth: 2
    functionLinenumber: 9683
    functionLinenumberEnd: 9718
    functionName: createStreamStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9724,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9726,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9730,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9733,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9737,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9740,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9743,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9746,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9749,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9752,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9755,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9758
      start: 9720
    functionDepth: 3
    functionLinenumber: 9720
    functionLinenumberEnd: 9758
    functionName: jsonToCreateStreamStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetStringValue1
    - jsonToNodeObject
    - tjsonGetBoolValue
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateStreamStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9766,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9772
      start: 9763
    functionDepth: 2
    functionLinenumber: 9763
    functionLinenumberEnd: 9772
    functionName: dropStreamStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropStreamStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9777,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9783
      start: 9774
    functionDepth: 3
    functionLinenumber: 9774
    functionLinenumberEnd: 9783
    functionName: jsonToDropStreamStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropStreamStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9791,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9797
      start: 9788
    functionDepth: 1
    functionLinenumber: 9788
    functionLinenumberEnd: 9797
    functionName: mergeVgroupStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeVgroupStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9802,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9808
      start: 9799
    functionDepth: 1
    functionLinenumber: 9799
    functionLinenumberEnd: 9808
    functionName: jsonToMergeVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToMergeVgroupStmt(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9819,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9821,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9824,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9827,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9834
      start: 9816
    functionDepth: 2
    functionLinenumber: 9816
    functionLinenumberEnd: 9834
    functionName: redistributeVgroupStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t redistributeVgroupStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9839,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9841,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9844,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9847,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9854
      start: 9836
    functionDepth: 3
    functionLinenumber: 9836
    functionLinenumberEnd: 9854
    functionName: jsonToRedistributeVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRedistributeVgroupStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9861,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9867
      start: 9859
    functionDepth: 1
    functionLinenumber: 9859
    functionLinenumberEnd: 9867
    functionName: splitVgroupStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t splitVgroupStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9871,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9877
      start: 9869
    functionDepth: 1
    functionLinenumber: 9869
    functionLinenumberEnd: 9877
    functionName: jsonToSplitVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSplitVgroupStmt(const SJson* pJson, void* pObj)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9886,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9888,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9892,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9896,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9904,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9911,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9913,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9918
      start: 9883
    functionDepth: 1
    functionLinenumber: 9883
    functionLinenumberEnd: 9918
    functionName: grantStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - snprintf
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t grantStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9923,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9925,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9928,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9931,1
    - Dst: tjsonGetStringValue2
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9936,1
    - Dst: strsplit
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9939,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9941,1
    - Dst: taosStr2Uint64
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9947,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9948,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9956,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9959,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9964
      start: 9920
    functionDepth: 1
    functionLinenumber: 9920
    functionLinenumberEnd: 9964
    functionName: jsonToGrantStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesError
    - tjsonGetStringValue1
    - tjsonGetNumberValue
    - strsplit
    - taosMemoryFree
    - tjsonGetStringValue2
    - taosStr2Uint64
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToGrantStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: grantStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9966
      start: 9966
    functionDepth: 2
    functionLinenumber: 9966
    functionLinenumberEnd: 9966
    functionName: revokeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - grantStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t revokeStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToGrantStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9968
      start: 9968
    functionDepth: 2
    functionLinenumber: 9968
    functionLinenumberEnd: 9968
    functionName: jsonToRevokeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToGrantStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToRevokeStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9977,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9979,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9986
      start: 9974
    functionDepth: 1
    functionLinenumber: 9974
    functionLinenumberEnd: 9986
    functionName: showStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t showStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9991,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9993,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10000
      start: 9988
    functionDepth: 1
    functionLinenumber: 9988
    functionLinenumberEnd: 10000
    functionName: jsonToShowStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10002
      start: 10002
    functionDepth: 2
    functionLinenumber: 10002
    functionLinenumberEnd: 10002
    functionName: showDnodesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showDnodesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10004
      start: 10004
    functionDepth: 2
    functionLinenumber: 10004
    functionLinenumberEnd: 10004
    functionName: jsonToShowDnodesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowDnodesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10006
      start: 10006
    functionDepth: 2
    functionLinenumber: 10006
    functionLinenumberEnd: 10006
    functionName: showMnodesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showMnodesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10008
      start: 10008
    functionDepth: 2
    functionLinenumber: 10008
    functionLinenumberEnd: 10008
    functionName: jsonToShowMnodesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowMnodesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10010
      start: 10010
    functionDepth: 2
    functionLinenumber: 10010
    functionLinenumberEnd: 10010
    functionName: showQnodesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showQnodesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10012
      start: 10012
    functionDepth: 2
    functionLinenumber: 10012
    functionLinenumberEnd: 10012
    functionName: jsonToShowQnodesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowQnodesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10014
      start: 10014
    functionDepth: 2
    functionLinenumber: 10014
    functionLinenumberEnd: 10014
    functionName: showAnodesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showAnodesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10016
      start: 10016
    functionDepth: 2
    functionLinenumber: 10016
    functionLinenumberEnd: 10016
    functionName: jsonToShowAnodesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowAnodesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10018
      start: 10018
    functionDepth: 2
    functionLinenumber: 10018
    functionLinenumberEnd: 10018
    functionName: showXnodesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showXnodesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10020
      start: 10020
    functionDepth: 2
    functionLinenumber: 10020
    functionLinenumberEnd: 10020
    functionName: jsonToShowXnodesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowXnodesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10022
      start: 10022
    functionDepth: 2
    functionLinenumber: 10022
    functionLinenumberEnd: 10022
    functionName: showAnodesFullStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showAnodesFullStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10024
      start: 10024
    functionDepth: 2
    functionLinenumber: 10024
    functionLinenumberEnd: 10024
    functionName: jsonToShowAnodesFullStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowAnodesFullStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10026
      start: 10026
    functionDepth: 2
    functionLinenumber: 10026
    functionLinenumberEnd: 10026
    functionName: showArbGroupsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showArbGroupsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10028
      start: 10028
    functionDepth: 2
    functionLinenumber: 10028
    functionLinenumberEnd: 10028
    functionName: jsonToShowArbGroupsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowArbGroupsStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10030
      start: 10030
    functionDepth: 2
    functionLinenumber: 10030
    functionLinenumberEnd: 10030
    functionName: showClusterStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showClusterStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10032
      start: 10032
    functionDepth: 2
    functionLinenumber: 10032
    functionLinenumberEnd: 10032
    functionName: jsonToShowClusterStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowClusterStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10034
      start: 10034
    functionDepth: 2
    functionLinenumber: 10034
    functionLinenumberEnd: 10034
    functionName: showDatabasesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showDatabasesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10036
      start: 10036
    functionDepth: 2
    functionLinenumber: 10036
    functionLinenumberEnd: 10036
    functionName: jsonToShowDatabasesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowDatabasesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10038
      start: 10038
    functionDepth: 2
    functionLinenumber: 10038
    functionLinenumberEnd: 10038
    functionName: showFunctionsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showFunctionsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10040
      start: 10040
    functionDepth: 2
    functionLinenumber: 10040
    functionLinenumberEnd: 10040
    functionName: jsonToShowFunctionsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowFunctionsStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10042
      start: 10042
    functionDepth: 2
    functionLinenumber: 10042
    functionLinenumberEnd: 10042
    functionName: showIndexesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showIndexesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10044
      start: 10044
    functionDepth: 2
    functionLinenumber: 10044
    functionLinenumberEnd: 10044
    functionName: jsonToShowIndexesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowIndexesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10046
      start: 10046
    functionDepth: 2
    functionLinenumber: 10046
    functionLinenumberEnd: 10046
    functionName: showStablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showStablesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10048
      start: 10048
    functionDepth: 2
    functionLinenumber: 10048
    functionLinenumberEnd: 10048
    functionName: jsonToShowStablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowStablesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10050
      start: 10050
    functionDepth: 2
    functionLinenumber: 10050
    functionLinenumberEnd: 10050
    functionName: showStreamsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showStreamsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10052
      start: 10052
    functionDepth: 2
    functionLinenumber: 10052
    functionLinenumberEnd: 10052
    functionName: jsonToShowStreamsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowStreamsStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10054
      start: 10054
    functionDepth: 2
    functionLinenumber: 10054
    functionLinenumberEnd: 10054
    functionName: showTablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showTablesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10056
      start: 10056
    functionDepth: 2
    functionLinenumber: 10056
    functionLinenumberEnd: 10056
    functionName: jsonToShowTablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowTablesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10058
      start: 10058
    functionDepth: 2
    functionLinenumber: 10058
    functionLinenumberEnd: 10058
    functionName: showTagsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showTagsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10060
      start: 10060
    functionDepth: 2
    functionLinenumber: 10060
    functionLinenumberEnd: 10060
    functionName: jsonToShowTagsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowTagsStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10062
      start: 10062
    functionDepth: 2
    functionLinenumber: 10062
    functionLinenumberEnd: 10062
    functionName: showUsersStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showUsersStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10064
      start: 10064
    functionDepth: 2
    functionLinenumber: 10064
    functionLinenumberEnd: 10064
    functionName: jsonToShowUsersStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowUsersStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10066
      start: 10066
    functionDepth: 2
    functionLinenumber: 10066
    functionLinenumberEnd: 10066
    functionName: showRolesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showRolesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10068
      start: 10068
    functionDepth: 2
    functionLinenumber: 10068
    functionLinenumberEnd: 10068
    functionName: jsonToShowRolesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowRolesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10070
      start: 10070
    functionDepth: 2
    functionLinenumber: 10070
    functionLinenumberEnd: 10070
    functionName: showVgroupsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showVgroupsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10072
      start: 10072
    functionDepth: 2
    functionLinenumber: 10072
    functionLinenumberEnd: 10072
    functionName: jsonToShowVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowVgroupsStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10074
      start: 10074
    functionDepth: 2
    functionLinenumber: 10074
    functionLinenumberEnd: 10074
    functionName: showConsumersStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showConsumersStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10076
      start: 10076
    functionDepth: 2
    functionLinenumber: 10076
    functionLinenumberEnd: 10076
    functionName: jsonToShowConsumersStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowConsumersStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10078
      start: 10078
    functionDepth: 2
    functionLinenumber: 10078
    functionLinenumberEnd: 10078
    functionName: showVariablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showVariablesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10080
      start: 10080
    functionDepth: 2
    functionLinenumber: 10080
    functionLinenumberEnd: 10080
    functionName: jsonToShowVariablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowVariablesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10082
      start: 10082
    functionDepth: 2
    functionLinenumber: 10082
    functionLinenumberEnd: 10082
    functionName: showGrantsFullStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showGrantsFullStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10084
      start: 10084
    functionDepth: 2
    functionLinenumber: 10084
    functionLinenumberEnd: 10084
    functionName: jsonToShowGrantsFullStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowGrantsFullStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10086
      start: 10086
    functionDepth: 2
    functionLinenumber: 10086
    functionLinenumberEnd: 10086
    functionName: showGrantsLogsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showGrantsLogsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10088
      start: 10088
    functionDepth: 2
    functionLinenumber: 10088
    functionLinenumberEnd: 10088
    functionName: showClusterMachinesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showClusterMachinesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10090
      start: 10090
    functionDepth: 2
    functionLinenumber: 10090
    functionLinenumberEnd: 10090
    functionName: showEncryptionsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showEncryptionsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10092
      start: 10092
    functionDepth: 2
    functionLinenumber: 10092
    functionLinenumberEnd: 10092
    functionName: jsonToShowGrantsLogsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowGrantsLogsStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10094
      start: 10094
    functionDepth: 2
    functionLinenumber: 10094
    functionLinenumberEnd: 10094
    functionName: jsonToShowClusterMachinesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowClusterMachinesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10096
      start: 10096
    functionDepth: 2
    functionLinenumber: 10096
    functionLinenumberEnd: 10096
    functionName: jsonToShowEncryptionsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowEncryptionsStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10098
      start: 10098
    functionDepth: 2
    functionLinenumber: 10098
    functionLinenumberEnd: 10098
    functionName: showUsageStmtStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showUsageStmtStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10099
      start: 10099
    functionDepth: 2
    functionLinenumber: 10099
    functionLinenumberEnd: 10099
    functionName: jsonToShowUsageStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowUsageStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10100
      start: 10100
    functionDepth: 2
    functionLinenumber: 10100
    functionLinenumberEnd: 10100
    functionName: showMountsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showMountsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10101
      start: 10101
    functionDepth: 2
    functionLinenumber: 10101
    functionLinenumberEnd: 10101
    functionName: jsonToShowMountsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowMountsStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10102
      start: 10102
    functionDepth: 2
    functionLinenumber: 10102
    functionLinenumberEnd: 10102
    functionName: showRsmasStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showRsmasStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10103
      start: 10103
    functionDepth: 2
    functionLinenumber: 10103
    functionLinenumberEnd: 10103
    functionName: jsonToShowRsmasStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowRsmasStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10111,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10117
      start: 10108
    functionDepth: 1
    functionLinenumber: 10108
    functionLinenumberEnd: 10117
    functionName: showDnodeVariablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t showDnodeVariablesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10122,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10128
      start: 10119
    functionDepth: 1
    functionLinenumber: 10119
    functionLinenumberEnd: 10128
    functionName: jsonToShowDnodeVariablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowDnodeVariablesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10130
      start: 10130
    functionDepth: 2
    functionLinenumber: 10130
    functionLinenumberEnd: 10130
    functionName: showTransactionsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showTransactionsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10132
      start: 10132
    functionDepth: 2
    functionLinenumber: 10132
    functionLinenumberEnd: 10132
    functionName: jsonToShowTransactionsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowTransactionsStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10134
      start: 10134
    functionDepth: 2
    functionLinenumber: 10134
    functionLinenumberEnd: 10134
    functionName: showSubscriptionsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showSubscriptionsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10136
      start: 10136
    functionDepth: 2
    functionLinenumber: 10136
    functionLinenumberEnd: 10136
    functionName: jsonToShowSubscriptionsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowSubscriptionsStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10144,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10150
      start: 10141
    functionDepth: 1
    functionLinenumber: 10141
    functionLinenumberEnd: 10150
    functionName: showVnodesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t showVnodesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10155,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10161
      start: 10152
    functionDepth: 1
    functionLinenumber: 10152
    functionLinenumberEnd: 10161
    functionName: jsonToShowVnodesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowVnodesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10163
      start: 10163
    functionDepth: 2
    functionLinenumber: 10163
    functionLinenumberEnd: 10163
    functionName: showUserPrivilegesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showUserPrivilegesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10165
      start: 10165
    functionDepth: 2
    functionLinenumber: 10165
    functionLinenumberEnd: 10165
    functionName: jsonToShowUserPrivilegesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowUserPrivilegesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10167
      start: 10167
    functionDepth: 2
    functionLinenumber: 10167
    functionLinenumberEnd: 10167
    functionName: showRolePrivilegesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showRolePrivilegesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10169
      start: 10169
    functionDepth: 2
    functionLinenumber: 10169
    functionLinenumberEnd: 10169
    functionName: jsonToShowRolePrivilegesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowRolePrivilegesStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10176
      start: 10173
    functionDepth: 1
    functionLinenumber: 10173
    functionLinenumberEnd: 10176
    functionName: showCreateDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t showCreateDatabaseStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10181
      start: 10178
    functionDepth: 1
    functionLinenumber: 10178
    functionLinenumberEnd: 10181
    functionName: jsonToShowCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowCreateDatabaseStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10189,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10195
      start: 10186
    functionDepth: 1
    functionLinenumber: 10186
    functionLinenumberEnd: 10195
    functionName: showCreateTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t showCreateTableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10200,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10206
      start: 10197
    functionDepth: 1
    functionLinenumber: 10197
    functionLinenumberEnd: 10206
    functionName: jsonToShowCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowCreateTableStmt(const SJson* pJson, void* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showCreateTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10210
      start: 10208
    functionDepth: 2
    functionLinenumber: 10208
    functionLinenumberEnd: 10210
    functionName: showCreateStableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showCreateTableStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showCreateStableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowCreateTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10214
      start: 10212
    functionDepth: 2
    functionLinenumber: 10212
    functionLinenumberEnd: 10214
    functionName: jsonToShowCreateStableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowCreateTableStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowCreateStableStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10222,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10228
      start: 10219
    functionDepth: 1
    functionLinenumber: 10219
    functionLinenumberEnd: 10228
    functionName: showCreateViewStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t showCreateViewStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10233,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10239
      start: 10230
    functionDepth: 1
    functionLinenumber: 10230
    functionLinenumberEnd: 10239
    functionName: jsonToShowCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowCreateViewStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10247,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10253
      start: 10244
    functionDepth: 1
    functionLinenumber: 10244
    functionLinenumberEnd: 10253
    functionName: showCreateStreamStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t showCreateStreamStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10258,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10264
      start: 10255
    functionDepth: 1
    functionLinenumber: 10255
    functionLinenumberEnd: 10264
    functionName: jsonToShowCreateStreamStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowCreateStreamStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10272,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10278
      start: 10269
    functionDepth: 1
    functionLinenumber: 10269
    functionLinenumberEnd: 10278
    functionName: showTableDistributedStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t showTableDistributedStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10283,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10289
      start: 10280
    functionDepth: 1
    functionLinenumber: 10280
    functionLinenumberEnd: 10289
    functionName: showValidateVTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t showValidateVTableStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10294,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10300
      start: 10291
    functionDepth: 1
    functionLinenumber: 10291
    functionLinenumberEnd: 10300
    functionName: jsonToShowTableDistributedStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowTableDistributedStmt(const SJson* pJson, void* pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10304,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10309
      start: 10301
    functionDepth: 1
    functionLinenumber: 10301
    functionLinenumberEnd: 10309
    functionName: jsonToShowValidateVirtualTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowValidateVirtualTableStmt(const SJson* pJson, void*
      pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10311
      start: 10311
    functionDepth: 2
    functionLinenumber: 10311
    functionLinenumberEnd: 10311
    functionName: showLocalVariablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showLocalVariablesStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10313
      start: 10313
    functionDepth: 2
    functionLinenumber: 10313
    functionLinenumberEnd: 10313
    functionName: jsonToShowLocalVariablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowLocalVariablesStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10322,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10324,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10331
      start: 10319
    functionDepth: 2
    functionLinenumber: 10319
    functionLinenumberEnd: 10331
    functionName: showTableTagsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t showTableTagsStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10336,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10338,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10345
      start: 10333
    functionDepth: 3
    functionLinenumber: 10333
    functionLinenumberEnd: 10345
    functionName: jsonToShowTableTagsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToShowTableTagsStmt(const SJson* pJson, void* pObj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10359,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10361,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10364,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10367,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10370,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10373,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10376,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10383
      start: 10356
    functionDepth: 1
    functionLinenumber: 10356
    functionLinenumberEnd: 10383
    functionName: deleteStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t deleteStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10388,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10390,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10393,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10396,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10399,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10402,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10405,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10412
      start: 10385
    functionDepth: 1
    functionLinenumber: 10385
    functionLinenumberEnd: 10412
    functionName: jsonToDeleteStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeObject
    - tjsonGetBigIntValue
    - tjsonGetUTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDeleteStmt(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10422,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10424,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10427,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10434
      start: 10419
    functionDepth: 2
    functionLinenumber: 10419
    functionLinenumberEnd: 10434
    functionName: insertStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t insertStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10439,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10441,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10444,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10451
      start: 10436
    functionDepth: 3
    functionLinenumber: 10436
    functionLinenumberEnd: 10451
    functionName: jsonToInsertStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetUTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToInsertStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10460,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10462,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10468
      start: 10458
    functionDepth: 2
    functionLinenumber: 10458
    functionLinenumberEnd: 10468
    functionName: tsmaOptionToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsmaOptionToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10472,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10474,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10480
      start: 10470
    functionDepth: 3
    functionLinenumber: 10470
    functionLinenumberEnd: 10480
    functionName: jsonToTSMAOption
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    - tjsonGetUTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToTSMAOption(const SJson* pJson, void* pObj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10490,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10492,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10495,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10498,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10504
      start: 10488
    functionDepth: 1
    functionLinenumber: 10488
    functionLinenumberEnd: 10504
    functionName: createTSMAStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTSMAStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10508,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10510,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10513,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10516,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10522
      start: 10506
    functionDepth: 1
    functionLinenumber: 10506
    functionLinenumberEnd: 10522
    functionName: jsonToCreateTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToCreateTSMAStmt(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10530,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10532,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10538
      start: 10528
    functionDepth: 1
    functionLinenumber: 10528
    functionLinenumberEnd: 10538
    functionName: dropTSMAStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropTSMAStmtToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10542,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10544,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10550
      start: 10540
    functionDepth: 1
    functionLinenumber: 10540
    functionLinenumberEnd: 10550
    functionName: jsonToDropTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonGetStringValue1
    - tjsonGetBoolValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToDropTSMAStmt(const SJson* pJson, void* pObj)
  - BBCount: 255
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10553,1
    - Dst: columnNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10555,1
    - Dst: valueNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10557,1
    - Dst: operatorNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10559,1
    - Dst: logicConditionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10561,1
    - Dst: functionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10563,1
    - Dst: realTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10565,1
    - Dst: tempTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10567,1
    - Dst: joinTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10569,1
    - Dst: virtualTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10571,1
    - Dst: placeHolderTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10573,1
    - Dst: slidingWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10575,1
    - Dst: periodWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10577,1
    - Dst: streamTriggerNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10579,1
    - Dst: streamNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10581,1
    - Dst: streamTagDefNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10583,1
    - Dst: externalWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10585,1
    - Dst: groupingSetNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10587,1
    - Dst: orderByExprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10589,1
    - Dst: limitNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10591,1
    - Dst: stateWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10593,1
    - Dst: sessionWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10595,1
    - Dst: intervalWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10597,1
    - Dst: nodeListNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10599,1
    - Dst: fillNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10601,1
    - Dst: targetNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10605,1
    - Dst: dataBlockDescNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10607,1
    - Dst: slotDescNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10609,1
    - Dst: columnDefNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10611,1
    - Dst: downstreamSourceNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10613,1
    - Dst: databaseOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10615,1
    - Dst: tableOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10617,1
    - Dst: columnOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10619,1
    - Dst: indexOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10621,1
    - Dst: explainOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10623,1
    - Dst: streamOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10625,1
    - Dst: columnReferenceToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10629,1
    - Dst: whenThenNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10631,1
    - Dst: caseWhenNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10633,1
    - Dst: eventWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10635,1
    - Dst: windowOffsetNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10637,1
    - Dst: countWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10639,1
    - Dst: anomalyWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10641,1
    - Dst: streamNotifyOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10643,1
    - Dst: remoteValueToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10645,1
    - Dst: remoteValueListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10647,1
    - Dst: remoteRowToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10649,1
    - Dst: remoteZeroRowsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10651,1
    - Dst: remoteTableToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10653,1
    - Dst: updateTagValueNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10655,1
    - Dst: alterTableUpdateTagValClauseToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10657,1
    - Dst: trueForNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10659,1
    - Dst: setOperatorToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10661,1
    - Dst: timeRangeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10663,1
    - Dst: selectStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10665,1
    - Dst: vnodeModifyStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10667,1
    - Dst: createDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10669,1
    - Dst: alterDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10671,1
    - Dst: trimDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10673,1
    - Dst: ssMigrateDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10675,1
    - Dst: createTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10677,1
    - Dst: createSubTableClauseToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10679,1
    - Dst: createVTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10681,1
    - Dst: createVSubTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10683,1
    - Dst: createMultiTablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10685,1
    - Dst: dropTableClauseToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10687,1
    - Dst: dropTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10689,1
    - Dst: dropStableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10691,1
    - Dst: dropVtableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10693,1
    - Dst: alterTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10695,1
    - Dst: alterStableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10697,1
    - Dst: createUserStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10699,1
    - Dst: createEncryptAlgrStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10701,1
    - Dst: dropEncryptAlgrStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10703,1
    - Dst: alterUserStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10705,1
    - Dst: dropUserStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10707,1
    - Dst: createRoleStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10709,1
    - Dst: dropRoleStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10711,1
    - Dst: alterRoleStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10713,1
    - Dst: useDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10715,1
    - Dst: createDnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10717,1
    - Dst: dropDnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10719,1
    - Dst: alterDnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10721,1
    - Dst: alterDnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10723,1
    - Dst: alterEncryptKeyStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10725,1
    - Dst: alterKeyExpirationStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10727,1
    - Dst: createIndexStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10729,1
    - Dst: dropIndexStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10731,1
    - Dst: createQnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10733,1
    - Dst: dropQnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10735,1
    - Dst: createAnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10737,1
    - Dst: dropAnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10739,1
    - Dst: updateAnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10741,1
    - Dst: createBnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10743,1
    - Dst: dropBnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10745,1
    - Dst: createSnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10747,1
    - Dst: dropSnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10749,1
    - Dst: createMnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10751,1
    - Dst: dropMnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10753,1
    - Dst: createTopicStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10755,1
    - Dst: dropTopicStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10757,1
    - Dst: dropConsumerGroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10759,1
    - Dst: alterLocalStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10761,1
    - Dst: explainStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10763,1
    - Dst: describeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10765,1
    - Dst: compactDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10767,1
    - Dst: rollupDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10769,1
    - Dst: scanDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10771,1
    - Dst: compactVgroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10773,1
    - Dst: rollupVgroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10775,1
    - Dst: scanVgroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10777,1
    - Dst: createStreamStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10779,1
    - Dst: dropStreamStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10781,1
    - Dst: mergeVgroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10795,1
    - Dst: redistributeVgroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10797,1
    - Dst: splitVgroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10799,1
    - Dst: grantStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10801,1
    - Dst: revokeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10803,1
    - Dst: alterClusterStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10805,1
    - Dst: createDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10807,1
    - Dst: createDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10809,1
    - Dst: showDnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10811,1
    - Dst: showMnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10813,1
    - Dst: showQnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10815,1
    - Dst: showAnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10817,1
    - Dst: showAnodesFullStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10819,1
    - Dst: showXnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10821,1
    - Dst: showXnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10823,1
    - Dst: showXnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10825,1
    - Dst: showXnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10827,1
    - Dst: showArbGroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10829,1
    - Dst: showClusterStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10831,1
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10833,1
    - Dst: showDatabasesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10835,1
    - Dst: showFunctionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10837,1
    - Dst: showIndexesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10839,1
    - Dst: showStablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10841,1
    - Dst: showStreamsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10843,1
    - Dst: showTablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10846,1
    - Dst: showTagsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10848,1
    - Dst: showUsersStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10851,1
    - Dst: showRolesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10853,1
    - Dst: showVgroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10855,1
    - Dst: showConsumersStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10857,1
    - Dst: showVariablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10859,1
    - Dst: showGrantsFullStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10861,1
    - Dst: showGrantsLogsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10863,1
    - Dst: showClusterMachinesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10865,1
    - Dst: showEncryptionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10867,1
    - Dst: showDnodeVariablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10869,1
    - Dst: showTransactionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10871,1
    - Dst: showSubscriptionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10873,1
    - Dst: showVnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10875,1
    - Dst: showUserPrivilegesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10877,1
    - Dst: showRolePrivilegesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10879,1
    - Dst: showRolePrivilegesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10881,1
    - Dst: showCreateDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10883,1
    - Dst: showCreateTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10886,1
    - Dst: showCreateStableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10888,1
    - Dst: showCreateViewStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10890,1
    - Dst: showCreateStreamStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10892,1
    - Dst: showTableDistributedStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10894,1
    - Dst: showValidateVTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10896,1
    - Dst: showLocalVariablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10898,1
    - Dst: showTableTagsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10900,1
    - Dst: showUsageStmtStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10902,1
    - Dst: showMountsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10904,1
    - Dst: showRsmasStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10906,1
    - Dst: showRsmasStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10908,1
    - Dst: showRsmasStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10910,1
    - Dst: showRsmasStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10912,1
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10914,1
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10916,1
    - Dst: deleteStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10918,1
    - Dst: insertStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10920,1
    - Dst: logicScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10922,1
    - Dst: logicJoinNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10924,1
    - Dst: logicVirtualTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10926,1
    - Dst: logicAggNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10928,1
    - Dst: logicProjectNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10930,1
    - Dst: logicVnodeModifyNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10932,1
    - Dst: logicExchangeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10934,1
    - Dst: logicMergeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10936,1
    - Dst: logicWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10938,1
    - Dst: logicFillNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10940,1
    - Dst: logicSortNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10942,1
    - Dst: logicPartitionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10944,1
    - Dst: logicIndefRowsFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10946,1
    - Dst: logicInterpFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10948,1
    - Dst: logicForecastFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10950,1
    - Dst: logicImputationFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10952,1
    - Dst: logicGroupCacheNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10954,1
    - Dst: logicDynQueryCtrlNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10956,1
    - Dst: logicSubplanToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10958,1
    - Dst: logicPlanToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10960,1
    - Dst: physiTagScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10962,1
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10964,1
    - Dst: physiLastRowScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10967,1
    - Dst: physiTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10971,1
    - Dst: physiVirtualTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10973,1
    - Dst: physiSysTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10975,1
    - Dst: physiProjectNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10977,1
    - Dst: physiMergeJoinNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10979,1
    - Dst: physiHashJoinNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10981,1
    - Dst: physiAggNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10983,1
    - Dst: physiExchangeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10985,1
    - Dst: physiMergeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10987,1
    - Dst: physiSortNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10990,1
    - Dst: physiIntervalNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10993,1
    - Dst: physiExternalNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10997,1
    - Dst: physiFillNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:10999,1
    - Dst: physiSessionWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11001,1
    - Dst: physiStateWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11003,1
    - Dst: physiEventWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11005,1
    - Dst: physiCountWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11007,1
    - Dst: physiAnomalyWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11009,1
    - Dst: physiPartitionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11011,1
    - Dst: physiIndefRowsFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11013,1
    - Dst: physiInterpFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11015,1
    - Dst: physiForecastFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11017,1
    - Dst: physiForecastFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11019,1
    - Dst: physiDispatchNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11021,1
    - Dst: physiQueryInsertNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11025,1
    - Dst: physiDeleteNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11027,1
    - Dst: physiGroupCacheNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11029,1
    - Dst: physiDynQueryCtrlNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11031,1
    - Dst: subplanToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11033,1
    - Dst: planToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11035,1
    - Dst: createXnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11038,1
    - Dst: dropXnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11040,1
    - Dst: alterXnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11042,1
    - Dst: createXnodeTaskStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11044,1
    - Dst: dropXnodeTaskStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11046,1
    - Dst: createXnodeJobStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11048,1
    - Dst: dropXnodeJobStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11050,1
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11054,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11054,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 503
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11056
      start: 10552
    functionDepth: 5
    functionLinenumber: 10552
    functionLinenumberEnd: 11056
    functionName: specificNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - createXnodeStmtToJson
    - dataBlockDescNodeToJson
    - compactDatabaseStmtToJson
    - showStreamsStmtToJson
    - createMultiTablesStmtToJson
    - dropRoleStmtToJson
    - showRsmasStmtToJson
    - showStmtToJson
    - fillNodeToJson
    - showIndexesStmtToJson
    - physiIndefRowsFuncNodeToJson
    - anomalyWindowNodeToJson
    - updateTagValueNodeToJson
    - physiDispatchNodeToJson
    - sessionWindowNodeToJson
    - physiLastRowScanNodeToJson
    - createXnodeTaskStmtToJson
    - splitVgroupStmtToJson
    - dropConsumerGroupStmtToJson
    - logicJoinNodeToJson
    - subplanToJson
    - windowOffsetNodeToJson
    - physiProjectNodeToJson
    - functionNodeToJson
    - createBnodeStmtToJson
    - showValidateVTableStmtToJson
    - physiAnomalyWindowNodeToJson
    - showXnodesStmtToJson
    - eventWindowNodeToJson
    - createEncryptAlgrStmtToJson
    - physiVirtualTableScanNodeToJson
    - streamTagDefNodeToJson
    - remoteZeroRowsToJson
    - showAnodesStmtToJson
    - logicSortNodeToJson
    - alterTableUpdateTagValClauseToJson
    - dropUserStmtToJson
    - createIndexStmtToJson
    - alterKeyExpirationStmtToJson
    - physiTableScanNodeToJson
    - limitNodeToJson
    - alterStableStmtToJson
    - logicInterpFuncNodeToJson
    - logicProjectNodeToJson
    - streamNotifyOptionsToJson
    - remoteTableToJson
    - updateAnodeStmtToJson
    - showGrantsFullStmtToJson
    - createUserStmtToJson
    - tableOptionsToJson
    - planToJson
    - revokeStmtToJson
    - logicWindowNodeToJson
    - logicPlanToJson
    - showVnodesStmtToJson
    - showRolePrivilegesStmtToJson
    - dropXnodeJobStmtToJson
    - physiSessionWindowNodeToJson
    - logicFillNodeToJson
    - streamOptionsToJson
    - nodeType
    - dropBnodeStmtToJson
    - dropIndexStmtToJson
    - selectStmtToJson
    - alterRoleStmtToJson
    - physiScanNodeToJson
    - showCreateTableStmtToJson
    - createDatabaseStmtToJson
    - physiPartitionNodeToJson
    - slotDescNodeToJson
    - countWindowNodeToJson
    - showFunctionsStmtToJson
    - logicVnodeModifyNodeToJson
    - explainOptionsToJson
    - alterTableStmtToJson
    - createSnodeStmtToJson
    - joinTableNodeToJson
    - columnReferenceToJson
    - remoteValueToJson
    - showTableDistributedStmtToJson
    - createMnodeStmtToJson
    - createQnodeStmtToJson
    - logicPartitionNodeToJson
    - dropMnodeStmtToJson
    - alterLocalStmtToJson
    - alterClusterStmtToJson
    - logicDynQueryCtrlNodeToJson
    - dropVtableStmtToJson
    - physiInterpFuncNodeToJson
    - physiDynQueryCtrlNodeToJson
    - stateWindowNodeToJson
    - targetNodeToJson
    - physiMergeNodeToJson
    - trueForNodeToJson
    - createXnodeJobStmtToJson
    - vnodeModifyStmtToJson
    - indexOptionsToJson
    - physiIntervalNodeToJson
    - whenThenNodeToJson
    - dropTableStmtToJson
    - showMnodesStmtToJson
    - showGrantsLogsStmtToJson
    - showLocalVariablesStmtToJson
    - dropStreamStmtToJson
    - createRoleStmtToJson
    - showDnodeVariablesStmtToJson
    - showUserPrivilegesStmtToJson
    - showCreateDatabaseStmtToJson
    - deleteStmtToJson
    - intervalWindowNodeToJson
    - remoteRowToJson
    - ssMigrateDatabaseStmtToJson
    - logicExchangeNodeToJson
    - physiHashJoinNodeToJson
    - createStreamStmtToJson
    - showAnodesFullStmtToJson
    - dropSnodeStmtToJson
    - showCreateStreamStmtToJson
    - alterDnodeStmtToJson
    - insertStmtToJson
    - physiAggNodeToJson
    - alterDatabaseStmtToJson
    - dropXnodeStmtToJson
    - remoteValueListToJson
    - showQnodesStmtToJson
    - createDnodeStmtToJson
    - logicIndefRowsFuncNodeToJson
    - logicMergeNodeToJson
    - showCreateViewStmtToJson
    - valueNodeToJson
    - orderByExprNodeToJson
    - showEncryptionsStmtToJson
    - dropDnodeStmtToJson
    - streamNodeToJson
    - physiSysTableScanNodeToJson
    - alterXnodeStmtToJson
    - nodesNodeName
    - showDatabasesStmtToJson
    - physiForecastFuncNodeToJson
    - logicImputationFuncNodeToJson
    - compactVgroupsStmtToJson
    - timeRangeNodeToJson
    - externalWindowNodeToJson
    - createVTableStmtToJson
    - logicVirtualTableScanNodeToJson
    - describeStmtToJson
    - grantStmtToJson
    - groupingSetNodeToJson
    - physiCountWindowNodeToJson
    - showVariablesStmtToJson
    - nodeListNodeToJson
    - dropStableStmtToJson
    - operatorNodeToJson
    - useDatabaseStmtToJson
    - showVgroupsStmtToJson
    - physiQueryInsertNodeToJson
    - logicScanNodeToJson
    - trimDatabaseStmtToJson
    - alterEncryptKeyStmtToJson
    - scanVgroupsStmtToJson
    - showRolesStmtToJson
    - physiGroupCacheNodeToJson
    - physiMergeJoinNodeToJson
    - showSubscriptionsStmtToJson
    - downstreamSourceNodeToJson
    - createTopicStmtToJson
    - mergeVgroupStmtToJson
    - showTransactionsStmtToJson
    - columnOptionsToJson
    - logicSubplanToJson
    - dropXnodeTaskStmtToJson
    - scanDatabaseStmtToJson
    - physiSortNodeToJson
    - dropTableClauseToJson
    - showUsageStmtStmtToJson
    - showCreateStableStmtToJson
    - showTablesStmtToJson
    - rollupDatabaseStmtToJson
    - setOperatorToJson
    - slidingWindowNodeToJson
    - dropTopicStmtToJson
    - showStablesStmtToJson
    - physiStateWindowNodeToJson
    - showClusterStmtToJson
    - periodWindowNodeToJson
    - alterUserStmtToJson
    - physiTagScanNodeToJson
    - showUsersStmtToJson
    - logicAggNodeToJson
    - physiExchangeNodeToJson
    - columnDefNodeToJson
    - showTagsStmtToJson
    - placeHolderTableNodeToJson
    - showArbGroupsStmtToJson
    - showTableTagsStmtToJson
    - showClusterMachinesStmtToJson
    - streamTriggerNodeToJson
    - physiDeleteNodeToJson
    - dropEncryptAlgrStmtToJson
    - physiFillNodeToJson
    - createVSubTableStmtToJson
    - createSubTableClauseToJson
    - dropAnodeStmtToJson
    - physiExternalNodeToJson
    - virtualTableNodeToJson
    - caseWhenNodeToJson
    - createTableStmtToJson
    - columnNodeToJson
    - tempTableNodeToJson
    - showConsumersStmtToJson
    - explainStmtToJson
    - dropQnodeStmtToJson
    - physiEventWindowNodeToJson
    - nodesWarn
    - createAnodeStmtToJson
    - redistributeVgroupStmtToJson
    - databaseOptionsToJson
    - rollupVgroupsStmtToJson
    - showMountsStmtToJson
    - logicConditionNodeToJson
    - logicForecastFuncNodeToJson
    - logicGroupCacheNodeToJson
    - realTableNodeToJson
    - showDnodesStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t specificNodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 245
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11059,1
    - Dst: jsonToColumnNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11061,1
    - Dst: jsonToValueNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11063,1
    - Dst: jsonToOperatorNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11065,1
    - Dst: jsonToLogicConditionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11067,1
    - Dst: jsonToFunctionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11069,1
    - Dst: jsonToRealTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11071,1
    - Dst: jsonToTempTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11073,1
    - Dst: jsonToJoinTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11075,1
    - Dst: jsonToVirtualTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11077,1
    - Dst: jsonToPlaceHolderTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11079,1
    - Dst: jsonToSlidingWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11081,1
    - Dst: jsonToPeriodWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11083,1
    - Dst: jsonToStreamTriggerNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11085,1
    - Dst: jsonToStreamNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11087,1
    - Dst: jsonToStreamTagDefNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11089,1
    - Dst: jsonToExternalWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11091,1
    - Dst: jsonToGroupingSetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11093,1
    - Dst: jsonToOrderByExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11095,1
    - Dst: jsonToLimitNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11097,1
    - Dst: jsonToStateWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11099,1
    - Dst: jsonToSessionWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11101,1
    - Dst: jsonToIntervalWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11103,1
    - Dst: jsonToNodeListNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11105,1
    - Dst: jsonToFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11107,1
    - Dst: jsonToTargetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11109,1
    - Dst: jsonToDataBlockDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11111,1
    - Dst: jsonToSlotDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11113,1
    - Dst: jsonToColumnDefNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11115,1
    - Dst: jsonToDownstreamSourceNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11117,1
    - Dst: jsonToDatabaseOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11119,1
    - Dst: jsonToTableOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11121,1
    - Dst: jsonToColumnOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11123,1
    - Dst: jsonToIndexOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11125,1
    - Dst: jsonToExplainOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11127,1
    - Dst: jsonToStreamOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11129,1
    - Dst: jsonToColumnReference
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11133,1
    - Dst: jsonToWhenThenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11135,1
    - Dst: jsonToCaseWhenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11137,1
    - Dst: jsonToEventWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11139,1
    - Dst: jsonToWindowOffsetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11141,1
    - Dst: jsonToCountWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11143,1
    - Dst: jsonToAnomalyWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11145,1
    - Dst: jsonToStreamNotifyOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11147,1
    - Dst: jsonToRemoteValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11149,1
    - Dst: jsonToRemoteValueList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11151,1
    - Dst: jsonToRemoteRow
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11153,1
    - Dst: jsonToRemoteZeroRows
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11155,1
    - Dst: jsonToRemoteTable
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11157,1
    - Dst: jsonToUpdateTagValueNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11159,1
    - Dst: jsonToAlterTableUpdateTagValClause
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11161,1
    - Dst: jsonToTrueForNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11163,1
    - Dst: jsonToSetOperator
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11165,1
    - Dst: jsonToTimeRangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11167,1
    - Dst: jsonToSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11169,1
    - Dst: jsonToVnodeModifyStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11171,1
    - Dst: jsonToCreateDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11173,1
    - Dst: jsonToAlterDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11175,1
    - Dst: jsonToTrimDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11177,1
    - Dst: jsonToSsMigrateDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11179,1
    - Dst: jsonToCreateTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11181,1
    - Dst: jsonToCreateSubTableClause
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11183,1
    - Dst: jsonToCreateVTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11185,1
    - Dst: jsonToCreateVSubTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11187,1
    - Dst: jsonToCreateMultiTablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11189,1
    - Dst: jsonToDropTableClause
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11191,1
    - Dst: jsonToDropTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11193,1
    - Dst: jsonToDropStableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11195,1
    - Dst: jsonToDropVtableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11197,1
    - Dst: jsonToAlterTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11199,1
    - Dst: jsonToAlterStableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11201,1
    - Dst: jsonToCreateUserStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11203,1
    - Dst: jsonToCreateEncryptAlgrStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11205,1
    - Dst: jsonToDropEncryptAlgrStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11207,1
    - Dst: jsonToAlterUserStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11209,1
    - Dst: jsonToDropUserStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11211,1
    - Dst: jsonToCreateRoleStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11213,1
    - Dst: jsonToDropRoleStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11215,1
    - Dst: jsonToAlterRoleStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11217,1
    - Dst: jsonToUseDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11219,1
    - Dst: jsonToCreateDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11221,1
    - Dst: jsonToDropDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11223,1
    - Dst: jsonToAlterDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11225,1
    - Dst: jsonToAlterDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11227,1
    - Dst: jsonToAlterEncryptKeyStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11229,1
    - Dst: jsonToAlterKeyExpirationStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11231,1
    - Dst: jsonToCreateIndexStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11233,1
    - Dst: jsonToDropIndexStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11235,1
    - Dst: jsonToCreateQnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11237,1
    - Dst: jsonToDropQnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11239,1
    - Dst: jsonToCreateSnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11241,1
    - Dst: jsonToDropSnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11243,1
    - Dst: jsonToCreateMnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11245,1
    - Dst: jsonToDropMnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11247,1
    - Dst: jsonToCreateTopicStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11249,1
    - Dst: jsonToDropTopicStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11251,1
    - Dst: jsonToDropConsumerGroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11253,1
    - Dst: jsonToAlterLocalStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11255,1
    - Dst: jsonToExplainStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11257,1
    - Dst: jsonToDescribeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11259,1
    - Dst: jsonToCompactDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11261,1
    - Dst: jsonToRollupDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11263,1
    - Dst: jsonToScanDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11265,1
    - Dst: jsonToCompactVgroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11267,1
    - Dst: jsonToRollupVgroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11269,1
    - Dst: jsonToScanVgroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11271,1
    - Dst: jsonToCreateStreamStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11273,1
    - Dst: jsonToDropStreamStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11275,1
    - Dst: jsonToMergeVgroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11289,1
    - Dst: jsonToRedistributeVgroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11291,1
    - Dst: jsonToSplitVgroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11293,1
    - Dst: jsonToGrantStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11295,1
    - Dst: jsonToRevokeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11297,1
    - Dst: jsonToAlterClusterStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11299,1
    - Dst: jsonToShowDnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11301,1
    - Dst: jsonToShowMnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11303,1
    - Dst: jsonToShowQnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11305,1
    - Dst: jsonToShowAnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11307,1
    - Dst: jsonToShowAnodesFullStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11309,1
    - Dst: jsonToShowArbGroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11311,1
    - Dst: jsonToShowClusterStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11313,1
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11315,1
    - Dst: jsonToShowDatabasesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11317,1
    - Dst: jsonToShowFunctionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11319,1
    - Dst: jsonToShowIndexesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11321,1
    - Dst: jsonToShowStablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11323,1
    - Dst: jsonToShowStreamsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11325,1
    - Dst: jsonToShowTablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11328,1
    - Dst: jsonToShowTagsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11330,1
    - Dst: jsonToShowUsersStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11333,1
    - Dst: jsonToShowRolesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11335,1
    - Dst: jsonToShowVgroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11337,1
    - Dst: jsonToShowConsumersStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11339,1
    - Dst: jsonToShowVariablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11341,1
    - Dst: jsonToShowGrantsFullStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11343,1
    - Dst: jsonToShowGrantsLogsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11345,1
    - Dst: jsonToShowClusterMachinesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11347,1
    - Dst: jsonToShowEncryptionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11349,1
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11351,1
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11353,1
    - Dst: jsonToShowDnodeVariablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11355,1
    - Dst: jsonToShowTransactionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11357,1
    - Dst: jsonToShowSubscriptionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11359,1
    - Dst: jsonToShowVnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11361,1
    - Dst: jsonToShowUserPrivilegesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11363,1
    - Dst: jsonToShowRolePrivilegesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11365,1
    - Dst: jsonToShowRolePrivilegesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11367,1
    - Dst: jsonToShowCreateDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11369,1
    - Dst: jsonToShowCreateTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11372,1
    - Dst: jsonToShowCreateStableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11374,1
    - Dst: jsonToShowCreateViewStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11376,1
    - Dst: jsonToShowCreateStreamStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11378,1
    - Dst: jsonToShowTableDistributedStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11380,1
    - Dst: jsonToShowValidateVirtualTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11382,1
    - Dst: jsonToShowLocalVariablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11384,1
    - Dst: jsonToShowTableTagsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11386,1
    - Dst: jsonToShowUsageStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11388,1
    - Dst: jsonToShowMountsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11390,1
    - Dst: jsonToShowRsmasStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11392,1
    - Dst: jsonToShowRsmasStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11394,1
    - Dst: jsonToShowRsmasStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11396,1
    - Dst: jsonToShowRsmasStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11398,1
    - Dst: jsonToDeleteStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11400,1
    - Dst: jsonToInsertStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11402,1
    - Dst: jsonToRestoreDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11404,1
    - Dst: jsonToRestoreQnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11406,1
    - Dst: jsonToRestoreMnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11408,1
    - Dst: jsonToRestoreVnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11410,1
    - Dst: jsonToLogicScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11412,1
    - Dst: jsonToLogicJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11414,1
    - Dst: jsonToLogicVirtualTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11416,1
    - Dst: jsonToLogicAggNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11418,1
    - Dst: jsonToLogicProjectNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11420,1
    - Dst: jsonToLogicVnodeModifyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11422,1
    - Dst: jsonToLogicExchangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11424,1
    - Dst: jsonToLogicMergeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11426,1
    - Dst: jsonToLogicWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11428,1
    - Dst: jsonToLogicFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11430,1
    - Dst: jsonToLogicSortNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11432,1
    - Dst: jsonToLogicPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11434,1
    - Dst: jsonToLogicIndefRowsFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11436,1
    - Dst: jsonToLogicInterpFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11438,1
    - Dst: jsonToLogicImputationFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11440,1
    - Dst: jsonToLogicForecastFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11442,1
    - Dst: jsonToLogicGroupCacheNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11444,1
    - Dst: jsonToLogicDynQueryCtrlNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11446,1
    - Dst: jsonToLogicSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11448,1
    - Dst: jsonToLogicPlan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11450,1
    - Dst: jsonToPhysiTagScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11452,1
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11455,1
    - Dst: jsonToPhysiLastRowScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11457,1
    - Dst: jsonToPhysiTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11461,1
    - Dst: jsonToPhysiVirtualTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11463,1
    - Dst: jsonToPhysiSysTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11465,1
    - Dst: jsonToPhysiProjectNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11467,1
    - Dst: jsonToPhysiMergeJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11469,1
    - Dst: jsonToPhysiHashJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11471,1
    - Dst: jsonToPhysiAggNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11473,1
    - Dst: jsonToPhysiExchangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11475,1
    - Dst: jsonToPhysiMergeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11477,1
    - Dst: jsonToPhysiSortNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11480,1
    - Dst: jsonToPhysiIntervalNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11483,1
    - Dst: jsonToPhysiExternalNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11487,1
    - Dst: jsonToPhysiFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11489,1
    - Dst: jsonToPhysiSessionWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11491,1
    - Dst: jsonToPhysiStateWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11493,1
    - Dst: jsonToPhysiEventWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11495,1
    - Dst: jsonToPhysiCountWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11497,1
    - Dst: jsonToPhysiAnomalyWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11499,1
    - Dst: jsonToPhysiPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11501,1
    - Dst: jsonToPhysiIndefRowsFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11503,1
    - Dst: jsonToPhysiInterpFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11505,1
    - Dst: jsonToPhysiForecastFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11508,1
    - Dst: jsonToPhysiDispatchNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11510,1
    - Dst: jsonToPhysiQueryInsertNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11512,1
    - Dst: jsonToPhysiDeleteNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11514,1
    - Dst: jsonToPhysiGroupCacheNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11516,1
    - Dst: jsonToPhysiDynQueryCtrlNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11518,1
    - Dst: jsonToSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11520,1
    - Dst: jsonToPlan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11522,1
    - Dst: jsonToShowXnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11524,1
    - Dst: jsonToShowXnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11526,1
    - Dst: jsonToShowXnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11528,1
    - Dst: jsonToShowXnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11530,1
    - Dst: jsonToCreateXnodeJobStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11532,1
    - Dst: jsonToDropXnodeJobStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11534,1
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11538,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11538,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 482
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11540
      start: 11058
    functionDepth: 6
    functionLinenumber: 11058
    functionLinenumberEnd: 11540
    functionName: jsonToSpecificNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - jsonToTimeRangeNode
    - jsonToDropStableStmt
    - jsonToCreateUserStmt
    - jsonToRestoreMnodeStmt
    - jsonToAnomalyWindowNode
    - jsonToShowGrantsLogsStmt
    - jsonToLogicPlan
    - jsonToRollupDatabaseStmt
    - jsonToCreateTopicStmt
    - jsonToShowGrantsFullStmt
    - jsonToScanDatabaseStmt
    - jsonToIndexOptions
    - jsonToPhysiExternalNode
    - jsonToShowTableDistributedStmt
    - jsonToCreateVTableStmt
    - jsonToEventWindowNode
    - jsonToSubplan
    - jsonToExplainStmt
    - jsonToLogicJoinNode
    - jsonToLogicAggNode
    - jsonToShowLocalVariablesStmt
    - jsonToDropEncryptAlgrStmt
    - jsonToShowUsageStmt
    - jsonToLogicWindowNode
    - jsonToShowStablesStmt
    - jsonToOrderByExprNode
    - jsonToShowTagsStmt
    - jsonToDatabaseOptions
    - jsonToValueNode
    - jsonToCreateQnodeStmt
    - jsonToShowSubscriptionsStmt
    - jsonToLogicGroupCacheNode
    - jsonToPhysiDeleteNode
    - jsonToCreateDatabaseStmt
    - jsonToRemoteValueList
    - jsonToShowCreateDatabaseStmt
    - jsonToRestoreVnodeStmt
    - jsonToShowStmt
    - jsonToCreateVSubTableStmt
    - jsonToWhenThenNode
    - jsonToShowValidateVirtualTableStmt
    - jsonToShowMountsStmt
    - jsonToPlan
    - jsonToPhysiDispatchNode
    - jsonToSelectStmt
    - jsonToShowTablesStmt
    - jsonToRemoteZeroRows
    - jsonToLogicSortNode
    - jsonToFunctionNode
    - jsonToScanVgroupsStmt
    - jsonToShowQnodesStmt
    - jsonToLimitNode
    - jsonToShowRsmasStmt
    - jsonToLogicPartitionNode
    - jsonToPhysiMergeNode
    - jsonToPhysiIntervalNode
    - nodeType
    - jsonToPhysiCountWindowNode
    - jsonToExternalWindowNode
    - jsonToPhysiPartitionNode
    - jsonToGroupingSetNode
    - jsonToPhysiMergeJoinNode
    - jsonToPhysiTableScanNode
    - jsonToPhysiExchangeNode
    - jsonToLogicSubplan
    - jsonToColumnOptions
    - jsonToJoinTableNode
    - jsonToShowVnodesStmt
    - jsonToAlterDatabaseStmt
    - jsonToLogicImputationFuncNode
    - jsonToDropRoleStmt
    - jsonToTrimDatabaseStmt
    - jsonToTrueForNode
    - jsonToTableOptions
    - jsonToPlaceHolderTableNode
    - jsonToCreateSubTableClause
    - jsonToLogicConditionNode
    - jsonToVirtualTableNode
    - jsonToCreateTableStmt
    - jsonToPhysiInterpFuncNode
    - jsonToMergeVgroupStmt
    - jsonToCompactDatabaseStmt
    - jsonToShowIndexesStmt
    - jsonToLogicScanNode
    - jsonToLogicInterpFuncNode
    - jsonToRemoteRow
    - jsonToTargetNode
    - jsonToPhysiStateWindowNode
    - jsonToStreamTagDefNode
    - jsonToLogicExchangeNode
    - jsonToShowVariablesStmt
    - jsonToIntervalWindowNode
    - jsonToDropVtableStmt
    - jsonToTempTableNode
    - jsonToCreateIndexStmt
    - jsonToFillNode
    - jsonToAlterLocalStmt
    - jsonToPhysiSysTableScanNode
    - jsonToCreateStreamStmt
    - jsonToAlterUserStmt
    - jsonToPhysiFillNode
    - jsonToRemoteValue
    - jsonToDeleteStmt
    - jsonToDropDnodeStmt
    - jsonToDropSnodeStmt
    - jsonToUseDatabaseStmt
    - jsonToShowClusterStmt
    - jsonToShowTransactionsStmt
    - jsonToDropTopicStmt
    - jsonToStreamOptions
    - jsonToShowStreamsStmt
    - jsonToAlterKeyExpirationStmt
    - jsonToShowEncryptionsStmt
    - jsonToPhysiScanNode
    - jsonToDropUserStmt
    - jsonToShowUserPrivilegesStmt
    - jsonToCreateSnodeStmt
    - jsonToInsertStmt
    - jsonToPhysiTagScanNode
    - nodesNodeName
    - jsonToDropTableClause
    - jsonToDropQnodeStmt
    - jsonToDropMnodeStmt
    - jsonToUpdateTagValueNode
    - jsonToColumnDefNode
    - jsonToStreamNotifyOptions
    - jsonToLogicForecastFuncNode
    - jsonToPhysiDynQueryCtrlNode
    - jsonToSessionWindowNode
    - jsonToPhysiLastRowScanNode
    - jsonToAlterClusterStmt
    - jsonToDownstreamSourceNode
    - jsonToSlidingWindowNode
    - jsonToShowCreateStreamStmt
    - jsonToAlterEncryptKeyStmt
    - jsonToShowUsersStmt
    - jsonToPeriodWindowNode
    - jsonToPhysiEventWindowNode
    - jsonToGrantStmt
    - jsonToPhysiQueryInsertNode
    - jsonToPhysiAnomalyWindowNode
    - jsonToRemoteTable
    - jsonToColumnNode
    - jsonToDescribeStmt
    - jsonToPhysiIndefRowsFuncNode
    - jsonToPhysiGroupCacheNode
    - jsonToShowAnodesStmt
    - jsonToShowFunctionsStmt
    - jsonToRestoreDnodeStmt
    - jsonToCountWindowNode
    - jsonToShowClusterMachinesStmt
    - jsonToRestoreQnodeStmt
    - jsonToPhysiSortNode
    - jsonToShowMnodesStmt
    - jsonToPhysiHashJoinNode
    - jsonToShowConsumersStmt
    - jsonToLogicFillNode
    - jsonToVnodeModifyStmt
    - jsonToLogicProjectNode
    - jsonToAlterStableStmt
    - jsonToExplainOptions
    - jsonToSplitVgroupStmt
    - jsonToShowRolesStmt
    - jsonToWindowOffsetNode
    - jsonToPhysiVirtualTableScanNode
    - jsonToAlterRoleStmt
    - jsonToCaseWhenNode
    - jsonToCreateMnodeStmt
    - jsonToShowTableTagsStmt
    - jsonToRevokeStmt
    - jsonToCreateEncryptAlgrStmt
    - jsonToRealTableNode
    - jsonToLogicVirtualTableScanNode
    - jsonToOperatorNode
    - jsonToRedistributeVgroupStmt
    - jsonToNodeListNode
    - jsonToDropConsumerGroupStmt
    - jsonToPhysiSessionWindowNode
    - jsonToShowRolePrivilegesStmt
    - jsonToLogicIndefRowsFuncNode
    - jsonToCreateMultiTablesStmt
    - jsonToCreateRoleStmt
    - jsonToAlterTableStmt
    - jsonToRollupVgroupsStmt
    - jsonToStateWindowNode
    - jsonToLogicVnodeModifyNode
    - jsonToAlterDnodeStmt
    - jsonToShowXnodesStmt
    - jsonToDropStreamStmt
    - jsonToPhysiForecastFuncNode
    - jsonToPhysiAggNode
    - jsonToShowAnodesFullStmt
    - jsonToShowVgroupsStmt
    - jsonToCompactVgroupsStmt
    - jsonToStreamTriggerNode
    - jsonToShowDnodeVariablesStmt
    - jsonToSsMigrateDatabaseStmt
    - jsonToStreamNode
    - jsonToShowCreateStableStmt
    - jsonToCreateDnodeStmt
    - jsonToShowDatabasesStmt
    - jsonToAlterTableUpdateTagValClause
    - jsonToDropTableStmt
    - jsonToLogicMergeNode
    - jsonToSetOperator
    - jsonToLogicDynQueryCtrlNode
    - jsonToDataBlockDescNode
    - jsonToShowCreateTableStmt
    - jsonToColumnReference
    - nodesWarn
    - jsonToCreateXnodeJobStmt
    - jsonToShowDnodesStmt
    - jsonToSlotDescNode
    - jsonToDropXnodeJobStmt
    - jsonToShowArbGroupsStmt
    - jsonToShowCreateViewStmt
    - jsonToDropIndexStmt
    - jsonToPhysiProjectNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToSpecificNode(const SJson* pJson, void* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11548,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11550,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11550,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11553,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11553,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11555,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11560
      start: 11545
    functionDepth: 2
    functionLinenumber: 11545
    functionLinenumberEnd: 11560
    functionName: nodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesError
    - tjsonAddStringToObject
    - nodesNodeName
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodeToJson(const void* pObj, SJson* pJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11566,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11568,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11568,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11570,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11575
      start: 11562
    functionDepth: 2
    functionLinenumber: 11562
    functionLinenumberEnd: 11575
    functionName: jsonToNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - nodesNodeName
    - tjsonToObject
    - nodesError
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToNode(const SJson* pJson, void* pObj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11579,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11581,1
    - Dst: jsonToNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pJson
    - pNode
    argTypes:
    - SJson*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11589
      start: 11577
    functionDepth: 3
    functionLinenumber: 11577
    functionLinenumberEnd: 11589
    functionName: makeNodeByJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    - tjsonGetIntValue
    - jsonToNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t makeNodeByJson(const SJson* pJson, SNode** pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11592,1
    - Dst: makeNodeByJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pJson
    - pName
    - pNode
    argTypes:
    - SJson*
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11597
      start: 11591
    functionDepth: 4
    functionLinenumber: 11591
    functionLinenumberEnd: 11597
    functionName: jsonToNodeObject
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 70
    functionsReached:
    - tjsonGetObjectItem
    - makeNodeByJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t jsonToNodeObject(const SJson* pJson, const char* pName, SNode**
      pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11605,1
    - Dst: nodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11610,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11616,1
    - Dst: tjsonToUnformattedString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11616,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11617,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - pNode
    - format
    - pStr
    - pLen
    argTypes:
    - SNode*
    - bool
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11624
      start: 11599
    functionDepth: 3
    functionLinenumber: 11599
    functionLinenumberEnd: 11624
    functionName: nodesNodeToString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonToUnformattedString
    - tjsonToString
    - tjsonDelete
    - nodeToJson
    - tjsonCreateObject
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesNodeToString(const SNode* pNode, bool format, char** pStr,
      int32_t* pLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonParse
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11630,1
    - Dst: makeNodeByJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11634,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11635,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pStr
    - pNode
    argTypes:
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11643
      start: 11626
    functionDepth: 4
    functionLinenumber: 11626
    functionLinenumberEnd: 11643
    functionName: nodesStringToNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 5
    functionsReached:
    - tjsonParse
    - nodesDestroyNode
    - tjsonDelete
    - makeNodeByJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesStringToNode(const char* pStr, SNode** pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11651,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11655,1
    - Dst: tjsonAddItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11662,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11669,1
    - Dst: tjsonToUnformattedString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11669,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11670,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - pList
    - format
    - pStr
    - pLen
    argTypes:
    - SNodeList*
    - bool
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11674
      start: 11645
    functionDepth: 1
    functionLinenumber: 11645
    functionLinenumberEnd: 11674
    functionName: nodesListToString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 0
    functionsReached:
    - tjsonCreateArray
    - LIST_LENGTH
    - tjsonToString
    - tjsonToUnformattedString
    - tjsonDelete
    - strlen
    - tjsonAddItem
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesListToString(const SNodeList* pList, bool format, char**
      pStr, int32_t* pLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11667
      start: 11661
    functionDepth: 1
    functionLinenumber: 11661
    functionLinenumberEnd: 11667
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 23
    functionsReached:
    - tjsonAddItem
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonParse
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11680,1
    - Dst: jsonToNodeListImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11684,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11685,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:11687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pStr
    - pList
    argTypes:
    - char*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11693
      start: 11676
    functionDepth: 2
    functionLinenumber: 11676
    functionLinenumberEnd: 11693
    functionName: nodesStringToList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: 3
    functionsReached:
    - tjsonParse
    - nodesDestroyList
    - jsonToNodeListImpl
    - tjsonDelete
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesStringToList(const char* pStr, SNodeList** pList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - EJoinType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: getJoinTypeString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getJoinTypeString(EJoinType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - EJoinSubType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: getJoinSTypeString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getJoinSTypeString(EJoinSubType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - stype
    argTypes:
    - EJoinType
    - EJoinSubType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: getFullJoinTypeString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getFullJoinTypeString(EJoinType type, EJoinSubType stype)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:78,1
    - Dst: TSWAP
      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: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:86,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:88,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:91,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:94,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:102,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:110,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - ppDst
    - ppSrc
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 119
    functionName: mergeJoinConds
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - TSWAP
    - nodesListStrictAppend
    - nodeType
    - nodesMakeNode
    - nodesDestroyNode
    - nodesListStrictAppendList
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeJoinConds(SNode** ppDst, SNode** ppSrc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pAllocator
    - pOutChunk
    argTypes:
    - SNodeAllocator*
    - SNodeMemChunk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: callocNodeChunk
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t callocNodeChunk(SNodeAllocator* pAllocator, SNodeMemChunk**
      pOutChunk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:145,1
    - Dst: callocNodeChunk
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:155,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - size
    - pOut
    argTypes:
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 166
    functionName: nodesCallocImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemFreeClear
    - callocNodeChunk
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesCallocImpl(int32_t size, void** pOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesCallocImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - num
    - size
    - pOut
    argTypes:
    - int32_t
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: nodesCalloc
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesCallocImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesCalloc(int32_t num, int32_t size, void** pOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: nodesFree
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void nodesFree(void* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:194,1
    - Dst: callocNodeChunk
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:199,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:201,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:204,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - chunkSize
    - pAllocator
    argTypes:
    - int32_t
    - SNodeAllocator**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: createNodeAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - callocNodeChunk
    - taosMemoryFreeClear
    - taosThreadMutexInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createNodeAllocator(int32_t chunkSize, SNodeAllocator** pAllocator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesDebug
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:217,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:223,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:226,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 228
    functionName: destroyNodeAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDebug
    - taosMemoryFree
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: void destroyNodeAllocator(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:232,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:236,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: nodesInitAllocatorSet
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosOpenRef
    - nodesError
    - nodesWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesInitAllocatorSet()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:247,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:251,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:253,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:256,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: nodesDestroyAllocatorSet
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosRemoveRef
    - taosCloseRef
    - taosIterateRef
    - nodesError
    linkageType: ''
    returnType: void
    signature: void nodesDestroyAllocatorSet()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createNodeAllocator
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:264,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - queryId
    - chunkSize
    - pAllocatorId
    argTypes:
    - int64_t
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: nodesCreateAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosAddRef
    - createNodeAllocator
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesCreateAllocator(int64_t queryId, int32_t chunkSize, int64_t*
      pAllocatorId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: nodesSimAcquireAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesSimAcquireAllocator(int64_t allocatorId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: nodesSimReleaseAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosReleaseRef
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesSimReleaseAllocator(int64_t allocatorId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:301,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: nodesAcquireAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesAcquireAllocator(int64_t allocatorId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:316,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:324,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: nodesReleaseAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosReleaseRef
    - nodesError
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesReleaseAllocator(int64_t allocatorId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:333,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: nodesMakeAllocatorWeakRef
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached:
    - taosAcquireRef
    - nodesError
    linkageType: ''
    returnType: int64_t
    signature: int64_t nodesMakeAllocatorWeakRef(int64_t allocatorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 341
    functionName: nodesReleaseAllocatorWeakRef
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached:
    - taosReleaseRef
    linkageType: ''
    returnType: int64_t
    signature: int64_t nodesReleaseAllocatorWeakRef(int64_t allocatorId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:348,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: nodesDestroyAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosRemoveRef
    - nodesError
    linkageType: ''
    returnType: void
    signature: void nodesDestroyAllocator(int64_t allocatorId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:357,1
    - Dst: setNodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - type
    - size
    - ppNode
    argTypes:
    - ENodeType
    - int32_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 363
    functionName: makeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - setNodeType
    - nodesCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t makeNode(ENodeType type, int32_t size, SNode** ppNode)
  - BBCount: 343
    BranchProfiles: []
    Callsites:
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:370,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:376,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:382,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:388,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:394,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:400,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:406,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:412,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:415,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:421,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:427,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:433,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:439,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:445,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:451,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:457,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:463,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:469,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:475,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:481,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:487,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:493,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:499,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:505,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:511,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:517,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:523,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:529,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:535,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:541,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:547,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:550,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:553,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:556,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:559,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:562,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:565,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:568,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:571,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:574,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:577,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:580,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:583,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:586,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:589,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:592,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:595,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:598,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:601,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:604,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:607,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:615,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:621,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:627,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:633,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:639,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:645,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:651,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:657,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:663,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:669,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:672,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:675,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:678,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:681,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:684,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:687,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:690,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:693,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:696,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:699,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:705,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:711,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:714,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:717,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:720,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:723,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:726,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:729,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:735,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:738,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:741,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:744,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:747,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:750,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:753,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:756,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:759,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:762,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:765,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:768,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:771,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:778,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:784,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:790,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:796,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:802,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:808,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:811,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:819,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:822,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:825,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:882,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:885,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:888,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:891,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:900,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:903,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:906,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:909,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:912,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:918,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:921,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:924,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:927,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:930,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:936,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:939,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:947,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:950,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:953,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:956,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:962,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:968,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:971,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:977,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:983,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:989,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:995,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:1001,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:1007,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1010,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1013,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1016,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1019,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1022,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1025,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1028,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1031,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1034,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1037,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1040,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1043,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1046,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1049,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1052,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1055,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1058,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1061,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1064,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1067,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1070,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1073,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1076,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1079,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1082,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1085,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1088,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1091,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1094,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1097,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1100,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1103,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1106,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1109,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1112,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1115,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1118,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1121,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1124,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1127,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1130,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1133,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1136,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1139,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1142,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1145,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1148,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1151,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1154,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1157,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1162,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1168,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1171,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1174,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1177,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1180,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1183,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1186,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1189,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1192,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1195,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1198,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1201,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1204,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1207,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1210,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1213,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1216,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1219,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1222,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1225,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1228,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1231,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1234,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1237,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1245,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1245,1
    CyclomaticComplexity: 268
    EdgeCount: 268
    ICount: 880
    argCount: 2
    argNames:
    - type
    - ppNodeOut
    argTypes:
    - ENodeType
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 1249
    functionName: nodesMakeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 75
    functionsReached:
    - makeNode
    - nodesNodeName
    - nodesError
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMakeNode(ENodeType type, SNode** ppNodeOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1252,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1254,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1255,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1256,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1259
    functionName: destroyVgDataBlockArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - taosMemoryFreeClear
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyVgDataBlockArray(SArray* pArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1262,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1263,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1264,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1265,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1266,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1268
    functionName: destroyLogicNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void destroyLogicNode(SLogicNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1271,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1272,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:1274,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1276
    functionName: destroyPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void destroyPhysiNode(SPhysiNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1279,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1280,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1281,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:1283,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SWindowPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1285
    functionName: destroyWinodwPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - destroyPhysiNode
    - nodesDestroyList
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void destroyWinodwPhysiNode(SWindowPhysiNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1288,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1289,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1290,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPartitionPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1287
    functionDepth: 2
    functionLinenumber: 1287
    functionLinenumberEnd: 1292
    functionName: destroyPartitionPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - destroyPhysiNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: void destroyPartitionPhysiNode(SPartitionPhysiNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1295,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1296,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1294
    functionDepth: 2
    functionLinenumber: 1294
    functionLinenumberEnd: 1298
    functionName: destroyScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - destroyPhysiNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: void destroyScanPhysiNode(SScanPhysiNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SDataSinkNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1300
    functionName: destroyDataSinkNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void destroyDataSinkNode(SDataSinkNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pExpr
    argTypes:
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1302
    functionName: destroyExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyExprNode(SExprNode* pExpr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1308,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1309,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1310,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1311,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1312,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1313,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1314,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1316
    functionName: destroyTableCfg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyTableCfg(STableCfg* pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pIndex
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1318
    functionName: destroySmaIndex
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroySmaIndex(void* pIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pValue
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1320
    functionName: destroyFuncParam
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyFuncParam(void* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - EHintOption
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1329
    functionName: destroyHintValue
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyHintValue(EHintOption option, void* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1338
    functionName: destroySSDataBlock
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroySSDataBlock(void* param)
  - BBCount: 347
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1345,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1347,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1354,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1355,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1356,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1357,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1363,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1365,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1366,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1373,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1380,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1381,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1382,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1387,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1392,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1393,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1394,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1398,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1399,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1402,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1403,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1407,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1408,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1409,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1410,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1411,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1416,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1417,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1418,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1422,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1426,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1427,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1432,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1433,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1438,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1443,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1444,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:1446,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1451,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1452,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1453,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1454,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1455,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1456,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1460,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1463,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1467,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1468,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1473,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1474,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1475,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:1477,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1482,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1483,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1488,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1489,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1490,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1491,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1492,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1493,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1498,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1499,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1504,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1505,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1509,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1513,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1514,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1519,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1520,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1521,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1522,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1526,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1529,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1532,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1535,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:1546,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1547,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1548,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1549,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1550,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1551,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1552,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1553,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1558,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1559,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1560,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1561,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1562,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1563,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1572,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1573,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1574,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1575,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1576,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1583,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1584,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1585,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1586,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:1592,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1593,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1598,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1599,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1600,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1601,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1602,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1603,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1608,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1609,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1617,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1618,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1619,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1624,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1625,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1626,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1627,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1632,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1633,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1634,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1635,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1640,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1641,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1646,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1651,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1652,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1657,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1658,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1659,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1660,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1661,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1662,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1663,1
    - Dst: destroyHintValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1668,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1673,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1674,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1675,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1680,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1681,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1686,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1687,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1692,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1693,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1698,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1703,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1704,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:1706,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1707,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1708,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1713,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1714,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1715,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1716,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:1718,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1719,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1720,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1721,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1722,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1723,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1724,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1725,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1726,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1727,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1728,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:1730,1
    - Dst: destroyVgDataBlockArray
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1735,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1736,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1737,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1738,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1739,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1740,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1741,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1742,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1743,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1744,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1745,1
    - Dst: SVnodeModifyOpStmt*::freeHashFunc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1747,1
    - Dst: SVnodeModifyOpStmt*::freeArrayFunc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1750,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1752,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1753,1
    - Dst: SVnodeModifyOpStmt*::freeStbRowsCxtFunc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1755,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1757,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1759,1
    - Dst: SVnodeModifyOpStmt*::destroyParseFileCxt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1762,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1765,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1767,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1773,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1774,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1781,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1782,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1792,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1793,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1794,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1799,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1800,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1801,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1806,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1811,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1812,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1813,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1814,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1815,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1816,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1821,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1825,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1830,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1839,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1840,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1841,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1842,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1851,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1852,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1857,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1862,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1863,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1864,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1872,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1877,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1894,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1908,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1909,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1910,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:1912,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1917,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1918,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1932,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1933,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1941,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1942,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1946,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1952,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1953,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1958,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1959,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1964,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1965,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1970,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1971,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1972,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1973,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1978,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1979,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1980,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1981,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1986,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1987,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1988,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1989,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1998,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1999,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2000,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2001,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2002,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:2023,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2029,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2032,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2092,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2093,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2094,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2099,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2100,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2101,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2105,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2106,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2114,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2119,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2128,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2132,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2137,1
    - Dst: destroyTableCfg
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2138,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2151,1
    - Dst: destroyTableCfg
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2152,1
    - Dst: tFreeRsmaInfoRsp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2157,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2158,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2163,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2167,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2168,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2169,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2170,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2171,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2172,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2177,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2178,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2179,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2184,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2185,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2186,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2187,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2189,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2190,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2192,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2193,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2194,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2195,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2196,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2197,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2207,1
    - Dst: tFreeSCMCreateViewReq
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2208,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2209,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2216,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2221,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2226,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2227,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2228,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2229,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2230,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2231,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2232,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2233,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2234,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2235,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2236,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2237,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2238,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2239,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2240,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2241,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2246,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2247,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2248,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2249,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2250,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2251,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2252,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2253,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2254,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2255,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2256,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2257,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2258,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2259,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2264,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2265,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2266,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2267,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2272,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2273,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2274,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2279,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2280,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2285,1
    - Dst: destroyVgDataBlockArray
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2286,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2288,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2289,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2290,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2291,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2292,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2296,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2300,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2301,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2302,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2307,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2308,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2309,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2310,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2311,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2312,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2313,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2314,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2315,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2316,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2321,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2322,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2323,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2324,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2325,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2326,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2327,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2328,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2333,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2334,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2339,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2340,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2341,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2342,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2343,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2348,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2349,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2354,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2355,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2356,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2357,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2358,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2363,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2364,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2369,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2370,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2375,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2376,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2381,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2387,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2388,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2394,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2395,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2396,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2397,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2401,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2406,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2410,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2411,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2412,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2413,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2414,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2421,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2422,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2423,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2429,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2430,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2431,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2432,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2440,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2441,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2442,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2443,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2444,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2445,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2446,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2447,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2448,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2453,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2454,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2459,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2460,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2461,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2462,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2463,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2464,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2465,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2466,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2467,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2468,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2469,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2470,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2475,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2476,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2477,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2478,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2479,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2480,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2481,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2482,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2483,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2484,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2485,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2487,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2488,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2489,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2495,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2496,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2497,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2498,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2503,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2504,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2505,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2510,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2511,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2512,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2518,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2519,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2520,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2521,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2527,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2531,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2532,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2533,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2534,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2535,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2536,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2537,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2538,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2542,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2546,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2547,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2552,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2553,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2554,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2559,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2564,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2565,1
    - Dst: destroyPartitionPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2569,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2574,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2575,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2576,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2581,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2582,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2583,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2584,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2585,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2586,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2592,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2593,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2594,1
    - Dst: destroyDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2598,1
    - Dst: destroyDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2602,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2603,1
    - Dst: destroyDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2608,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2609,1
    - Dst: destroyDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2614,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2615,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2616,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2617,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2622,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2623,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2631,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2632,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2635,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2637,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2643,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2644,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2645,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2650,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2651,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2652,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2653,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2654,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2655,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2656,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2657,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2661,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2662,1
    - Dst: xFreeTaskSource
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2665,1
    - Dst: xFreeTaskSink
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2668,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2673,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2675,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2681,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2682,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2683,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2684,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2685,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2690,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2691,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2692,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2697,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2702,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2707,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2712,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2717,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2722,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2723,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2724,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2725,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2730,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2735,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2740,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2741,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2746,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2751,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2752,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2757,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2763,1
    CyclomaticComplexity: 234
    EdgeCount: 234
    ICount: 1271
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 1340
    functionDepth: 3
    functionLinenumber: 1340
    functionLinenumberEnd: 2765
    functionName: nodesDestroyNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 112
    functionsReached:
    - SVnodeModifyOpStmt*::destroyParseFileCxt
    - taosCloseFile
    - taosMemoryFreeClear
    - nodesDestroyList
    - SVnodeModifyOpStmt*::freeHashFunc
    - destroyExprNode
    - nodeType
    - taosArrayDestroy
    - destroyPartitionPhysiNode
    - nodesClearList
    - destroyTableCfg
    - tdDestroySVCreateTbReq
    - xFreeTaskSource
    - nodesFree
    - xFreeCowStr
    - destroyVgDataBlockArray
    - destroyHintValue
    - destroyLogicNode
    - destroyWinodwPhysiNode
    - tSimpleHashCleanup
    - tFreeSCMCreateViewReq
    - destroyDataSinkNode
    - nodesDestroyNode
    - taosMemFreeClear
    - destroyPhysiNode
    - taosArrayDestroyEx
    - nodesError
    - xFreeTaskSink
    - SVnodeModifyOpStmt*::freeStbRowsCxtFunc
    - tFreeRsmaInfoRsp
    - taosArrayDestroyP
    - ERASE_NODE
    - WHERE_EACH
    - taosMemoryFree
    - taosHashCleanup
    - destroyScanPhysiNode
    - IS_VAR_DATA_TYPE
    - SVnodeModifyOpStmt*::freeArrayFunc
    linkageType: ''
    returnType: void
    signature: void nodesDestroyNode(SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ppListOut
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2774
      start: 2767
    functionDepth: 3
    functionLinenumber: 2767
    functionLinenumberEnd: 2774
    functionName: nodesMakeList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 31
    functionsReached:
    - nodesCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMakeList(SNodeList** ppListOut)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2796
      start: 2776
    functionDepth: 3
    functionLinenumber: 2776
    functionLinenumberEnd: 2796
    functionName: nodesListAppend
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 29
    functionsReached:
    - nodesCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesListAppend(SNodeList* pList, SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2802,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2798
    functionDepth: 4
    functionLinenumber: 2798
    functionLinenumberEnd: 2807
    functionName: nodesListStrictAppend
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 2
    functionsReached:
    - nodesDestroyNode
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesListStrictAppend(SNodeList* pList, SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2811,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2809
    functionDepth: 4
    functionLinenumber: 2809
    functionLinenumberEnd: 2817
    functionName: nodesListMakeAppend
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 3
    functionsReached:
    - nodesMakeList
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesListMakeAppend(SNodeList** pList, SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2821,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2823,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2819
    functionDepth: 5
    functionLinenumber: 2819
    functionLinenumberEnd: 2828
    functionName: nodesListMakeStrictAppend
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 5
    functionsReached:
    - nodesMakeList
    - nodesListStrictAppend
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesListMakeStrictAppend(SNodeList** pList, SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pTarget
    - pSrc
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2830
    functionDepth: 1
    functionLinenumber: 2830
    functionLinenumberEnd: 2848
    functionName: nodesListAppendList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesListAppendList(SNodeList* pTarget, SNodeList* pSrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2854,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTarget
    - pSrc
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2850
    functionDepth: 2
    functionLinenumber: 2850
    functionLinenumberEnd: 2859
    functionName: nodesListStrictAppendList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached:
    - nodesDestroyList
    - nodesListAppendList
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesListStrictAppendList(SNodeList* pTarget, SNodeList* pSrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2863,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTarget
    - pSrc
    argTypes:
    - SNodeList**
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2861
    functionDepth: 4
    functionLinenumber: 2861
    functionLinenumberEnd: 2869
    functionName: nodesListMakeStrictAppendList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesListStrictAppendList
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesListMakeStrictAppendList(SNodeList** pTarget, SNodeList*
      pSrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2873,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2871
    functionDepth: 4
    functionLinenumber: 2871
    functionLinenumberEnd: 2879
    functionName: nodesListMakePushFront
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesListPushFront
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesListMakePushFront(SNodeList** pList, SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2881
    functionDepth: 3
    functionLinenumber: 2881
    functionLinenumberEnd: 2899
    functionName: nodesListPushFront
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached:
    - nodesCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesListPushFront(SNodeList* pList, SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2914,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pList
    - pCell
    argTypes:
    - SNodeList*
    - SListCell*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2902
    functionDepth: 4
    functionLinenumber: 2902
    functionLinenumberEnd: 2918
    functionName: nodesListErase
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesFree
    linkageType: ''
    returnType: SListCell
    signature: SListCell * nodesListErase(SNodeList* pList, SListCell* pCell)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2935,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pTarget
    - pPos
    - pSrc
    argTypes:
    - SNodeList*
    - SListCell*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2920
    functionDepth: 1
    functionLinenumber: 2920
    functionLinenumberEnd: 2936
    functionName: nodesListInsertList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesFree
    linkageType: ''
    returnType: void
    signature: void nodesListInsertList(SNodeList* pTarget, SListCell* pPos, SNodeList*
      pSrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pTarget
    - pPos
    - pSrc
    argTypes:
    - SNodeList*
    - SListCell*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2938
    functionDepth: 1
    functionLinenumber: 2938
    functionLinenumberEnd: 2956
    functionName: nodesListInsertListAfterPos
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesFree
    linkageType: ''
    returnType: void
    signature: void nodesListInsertListAfterPos(SNodeList* pTarget, SListCell* pPos,
      SNodeList* pSrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pList
    - index
    argTypes:
    - SNodeList*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2958
    functionDepth: 0
    functionLinenumber: 2958
    functionLinenumberEnd: 2966
    functionName: nodesListGetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: SNode
    signature: SNode * nodesListGetNode(SNodeList* pList, int32_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2964
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2964
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pList
    - index
    argTypes:
    - SNodeList*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2969
    functionDepth: 0
    functionLinenumber: 2969
    functionLinenumberEnd: 2977
    functionName: nodesListGetCell
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SListCell
    signature: SListCell * nodesListGetCell(SNodeList* pList, int32_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2971
    functionDepth: 0
    functionLinenumber: 2971
    functionLinenumberEnd: 2975
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2986,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2979
    functionDepth: 5
    functionLinenumber: 2979
    functionLinenumberEnd: 2989
    functionName: nodesDestroyList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 20
    functionsReached:
    - nodesFree
    - nodesListErase
    linkageType: ''
    returnType: void
    signature: void nodesDestroyList(SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3000,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 2991
    functionDepth: 1
    functionLinenumber: 2991
    functionLinenumberEnd: 3003
    functionName: nodesClearList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 2
    functionsReached:
    - nodesFree
    linkageType: ''
    returnType: void
    signature: void nodesClearList(SNodeList* pList)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3035
      start: 3005
    functionDepth: 0
    functionLinenumber: 3005
    functionLinenumberEnd: 3035
    functionName: nodesGetValueFromNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * nodesGetValueFromNode(SValueNode* pNode)
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 2
    argNames:
    - pNode
    - value
    argTypes:
    - SValueNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3110
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3110
    functionName: nodesSetValueNodeValue
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesSetValueNodeValue(SValueNode* pNode, void* value)
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 3
    argNames:
    - pNode
    - value
    - needFree
    argTypes:
    - SValueNode*
    - void*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 3113
    functionDepth: 0
    functionLinenumber: 3113
    functionLinenumberEnd: 3190
    functionName: nodesSetValueNodeValueExt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesSetValueNodeValueExt(SValueNode* pNode, void* value, bool*
      needFree)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3196,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3199,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3204,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3212,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3217,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3224,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3229,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3234,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3239,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3249,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3250,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3255,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3255,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3259,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3260,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3265,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3273
      start: 3193
    functionDepth: 1
    functionLinenumber: 3193
    functionLinenumberEnd: 3273
    functionName: nodesGetStrValueFromNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached:
    - tstrdup
    - taosMemoryMalloc
    - blobDataLen
    - varDataLen
    - snprintf
    - varDataVal
    - blobDataVal
    linkageType: ''
    returnType: char
    signature: char * nodesGetStrValueFromNode(SValueNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3275
    functionDepth: 1
    functionLinenumber: 3275
    functionLinenumberEnd: 3281
    functionName: nodesIsExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool nodesIsExprNode(const SNode* pNode)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3299
      start: 3283
    functionDepth: 0
    functionLinenumber: 3283
    functionLinenumberEnd: 3299
    functionName: nodesIsUnaryOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nodesIsUnaryOp(const SOperatorNode* pOp)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3313
      start: 3301
    functionDepth: 0
    functionLinenumber: 3301
    functionLinenumberEnd: 3313
    functionName: nodesIsArithmeticOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nodesIsArithmeticOp(const SOperatorNode* pOp)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3315
    functionDepth: 0
    functionLinenumber: 3315
    functionLinenumberEnd: 3326
    functionName: nodesIsBasicArithmeticOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nodesIsBasicArithmeticOp(const SOperatorNode* pOp)
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3328
    functionDepth: 0
    functionLinenumber: 3328
    functionLinenumberEnd: 3358
    functionName: nodesIsComparisonOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nodesIsComparisonOp(const SOperatorNode* pOp)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3369
    functionName: nodesIsJsonOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nodesIsJsonOp(const SOperatorNode* pOp)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3371
    functionDepth: 0
    functionLinenumber: 3371
    functionLinenumberEnd: 3382
    functionName: nodesIsRegularOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nodesIsRegularOp(const SOperatorNode* pOp)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3384
    functionDepth: 0
    functionLinenumber: 3384
    functionLinenumberEnd: 3393
    functionName: nodesIsMatchRegularOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nodesIsMatchRegularOp(const SOperatorNode* pOp)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3395
    functionDepth: 0
    functionLinenumber: 3395
    functionLinenumberEnd: 3404
    functionName: nodesIsBitwiseOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool nodesIsBitwiseOp(const SOperatorNode* pOp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3419,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3421,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3424,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3424,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3425,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3427,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3430,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3432,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3436,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pNode
    argTypes:
    - SCollectColumnsCxt*
    - SColumnNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3448
      start: 3415
    functionDepth: 5
    functionLinenumber: 3415
    functionLinenumberEnd: 3448
    functionName: doCollect
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - nodesListStrictAppend
    - taosHashGet
    - taosHashPut
    - snprintf
    - strlen
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doCollect(SCollectColumnsCxt* pCxt, SColumnNode* pCol, SNode*
      pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - collectType
    - colType
    argTypes:
    - ECollectColType
    - EColumnType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3450
    functionDepth: 0
    functionLinenumber: 3450
    functionLinenumberEnd: 3455
    functionName: isCollectType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCollectType(ECollectColType collectType, EColumnType colType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3459,1
    - Dst: isCollectType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3461,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3461,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3462,1
    - Dst: doCollect
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3467
      start: 3457
    functionDepth: 6
    functionLinenumber: 3457
    functionLinenumberEnd: 3467
    functionName: collectColumns
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    - isCollectType
    - strcmp
    - doCollect
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectColumns(SNode* pNode, void* pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3471,1
    - Dst: isCollectType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3473,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3473,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3476,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3476,1
    - Dst: doCollect
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3481
      start: 3469
    functionDepth: 6
    functionLinenumber: 3469
    functionLinenumberEnd: 3481
    functionName: collectColumnsExt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - doCollect
    - nodeType
    - isCollectType
    - strlen
    - strcmp
    - tSimpleHashGet
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectColumnsExt(SNode* pNode, void* pContext)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3490,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3500,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3500,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3505,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3506,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3508,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3511,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - pSelect
    - clause
    - pTableAlias
    - type
    - pCols
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - char*
    - ECollectColType
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3518
      start: 3483
    functionDepth: 6
    functionLinenumber: 3483
    functionLinenumberEnd: 3518
    functionName: nodesCollectColumns
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesWalkSelectStmt
    - nodesMakeList
    - nodesDestroyList
    - LIST_LENGTH
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: "int32_t nodesCollectColumns(SSelectStmt* pSelect, ESqlClause clause,
      const char* pTableAlias, ECollectColType type,\n                            SNodeList**
      pCols)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3528,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3540,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3540,1
    - Dst: nodesWalkSelectStmtImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3545,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3546,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3548,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3551,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - pSelect
    - clause
    - pMultiTableAlias
    - type
    - pCols
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - SSHashObj*
    - ECollectColType
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3520
    functionDepth: 6
    functionLinenumber: 3520
    functionLinenumberEnd: 3558
    functionName: nodesCollectColumnsExt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - LIST_LENGTH
    - nodesWalkSelectStmtImpl
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: "int32_t nodesCollectColumnsExt(SSelectStmt* pSelect, ESqlClause clause,
      SSHashObj* pMultiTableAlias,\n                               ECollectColType
      type, SNodeList** pCols)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3567,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3578,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3578,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3585,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3591,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3593,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3596,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3599,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - pNodes
    - numNodes
    - pTableAlias
    - type
    - pCols
    argTypes:
    - SNode**
    - int32_t
    - char*
    - ECollectColType
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3603
      start: 3560
    functionDepth: 6
    functionLinenumber: 3560
    functionLinenumberEnd: 3603
    functionName: nodesCollectColumnsFromMultiNodes
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - LIST_LENGTH
    - nodesWalkExpr
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: "int32_t nodesCollectColumnsFromMultiNodes(SNode** pNodes, int32_t
      numNodes, const char* pTableAlias,\n                                          ECollectColType
      type, SNodeList** pCols)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesCollectColumnsFromMultiNodes
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - node
    - pTableAlias
    - type
    - pCols
    argTypes:
    - SNode*
    - char*
    - ECollectColType
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3607
      start: 3605
    functionDepth: 7
    functionLinenumber: 3605
    functionLinenumberEnd: 3607
    functionName: nodesCollectColumnsFromNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 2
    functionsReached:
    - nodesCollectColumnsFromMultiNodes
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesCollectColumnsFromNode(SNode* node, const char* pTableAlias,
      ECollectColType type, SNodeList** pCols)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3618,1
    - Dst: SCollectFuncsCxt*::classifier
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3618,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3621,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3622,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3629,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3630,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3637,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3639,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3616
    functionDepth: 5
    functionLinenumber: 3616
    functionLinenumberEnd: 3645
    functionName: collectFuncs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - SCollectFuncsCxt*::classifier
    - nodesListStrictAppend
    - nodeType
    - FOREACH
    - nodesEqualNode
    - nodesCloneNode
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectFuncs(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3649,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pKey
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3647
    functionDepth: 1
    functionLinenumber: 3647
    functionLinenumberEnd: 3650
    functionName: funcNodeHash
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - strlen
    - MurmurHash3_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t funcNodeHash(const char* pKey, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3652
    functionDepth: 5
    functionLinenumber: 3652
    functionLinenumberEnd: 3657
    functionName: funcNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: 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:3668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - pSelect
    - clause
    - tableAlias
    - classifier
    - pFuncs
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - char*
    - FFuncClassifier
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3670
      start: 3659
    functionDepth: 6
    functionLinenumber: 3659
    functionLinenumberEnd: 3670
    functionName: nodesCollectSelectFuncs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t nodesCollectSelectFuncs(SSelectStmt* pSelect, ESqlClause clause,
      char* tableAlias, FFuncClassifier classifier,\n                                SNodeList*
      pFuncs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3679,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3692,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3694,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3697,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3700,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - pSelect
    - clause
    - tableAlias
    - classifier
    - pFuncs
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - char*
    - FFuncClassifier
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3704
      start: 3672
    functionDepth: 6
    functionLinenumber: 3672
    functionLinenumberEnd: 3704
    functionName: nodesCollectFuncs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - LIST_LENGTH
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t nodesCollectFuncs(SSelectStmt* pSelect, ESqlClause clause,
      char* tableAlias, FFuncClassifier classifier,\n                          SNodeList**
      pFuncs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3714,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3716,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3723
      start: 3712
    functionDepth: 5
    functionLinenumber: 3712
    functionLinenumberEnd: 3723
    functionName: collectSpecialNodes
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListStrictAppend
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectSpecialNodes(SNode* pNode, void* pContext)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3731,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3739,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3741,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3744,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3747,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - pSelect
    - clause
    - type
    - ppNodes
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - ENodeType
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3751
      start: 3725
    functionDepth: 6
    functionLinenumber: 3725
    functionLinenumberEnd: 3751
    functionName: nodesCollectSpecialNodes
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - LIST_LENGTH
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesCollectSpecialNodes(SSelectStmt* pSelect, ESqlClause clause,
      ENodeType type, SNodeList** ppNodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3759
      start: 3753
    functionDepth: 1
    functionLinenumber: 3753
    functionLinenumberEnd: 3759
    functionName: hasColumn
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes hasColumn(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3765
      start: 3761
    functionDepth: 3
    functionLinenumber: 3761
    functionLinenumberEnd: 3765
    functionName: nodesExprHasColumn
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprPostOrder
    linkageType: ''
    returnType: bool
    signature: bool nodesExprHasColumn(SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprsPostOrder
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3771
      start: 3767
    functionDepth: 4
    functionLinenumber: 3767
    functionLinenumberEnd: 3771
    functionName: nodesExprsHasColumn
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprsPostOrder
    linkageType: ''
    returnType: bool
    signature: bool nodesExprsHasColumn(SNodeList* pList)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - mode
    argTypes:
    - EFillMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3794
      start: 3773
    functionDepth: 0
    functionLinenumber: 3773
    functionLinenumberEnd: 3794
    functionName: nodesGetFillModeString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * nodesGetFillModeString(EFillMode mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3796
    functionDepth: 0
    functionLinenumber: 3796
    functionLinenumberEnd: 3802
    functionName: nodesGetNameFromColumnNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * nodesGetNameFromColumnNode(SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pSlots
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3823
      start: 3804
    functionDepth: 0
    functionLinenumber: 3804
    functionLinenumberEnd: 3823
    functionName: nodesGetOutputNumFromSlotList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesGetOutputNumFromSlotList(SNodeList* pSlots)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3820
      start: 3811
    functionDepth: 0
    functionLinenumber: 3811
    functionLinenumberEnd: 3820
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pSlots)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3864,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3866,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3866,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3872,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3873,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3875,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3884,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3889,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3892,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3893,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3895,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3895,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 2
    argNames:
    - pNode
    - pVal
    argTypes:
    - SValueNode*
    - SVariant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3904
      start: 3825
    functionDepth: 1
    functionLinenumber: 3825
    functionLinenumberEnd: 3904
    functionName: nodesValueNodeToVariant
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - blobDataLen
    - varDataTLen
    - memcpy
    - getJsonValueLen
    - blobDataVal
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesValueNodeToVariant(const SValueNode* pNode, SVariant*
      pVal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3911,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3912,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3913,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SNode**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3929
      start: 3906
    functionDepth: 5
    functionLinenumber: 3906
    functionLinenumberEnd: 3929
    functionName: nodesMergeConds
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodesClearList
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMergeConds(SNode** pDst, SNodeList** pSrc)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - order
    argTypes:
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3945
      start: 3931
    functionDepth: 0
    functionLinenumber: 3931
    functionLinenumberEnd: 3945
    functionName: dataOrderStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * dataOrderStr(EDataOrderLevel order)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3948,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3950,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - literal
    - ppValNode
    argTypes:
    - char*
    - SValueNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3947
    functionDepth: 5
    functionLinenumber: 3947
    functionLinenumberEnd: 3962
    functionName: nodesMakeDurationValueNodeFromString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - strlen
    - tstrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMakeDurationValueNodeFromString(char* literal, SValueNode**
      ppValNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3965,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3967,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3971,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3973,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3976,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3977,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3977,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3979,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3981,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - literal
    - ppValNode
    argTypes:
    - char*
    - SValueNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3990
      start: 3964
    functionDepth: 5
    functionLinenumber: 3964
    functionLinenumberEnd: 3990
    functionName: nodesMakeValueNodeFromString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - tstrdup
    - taosMemoryMalloc
    - memcpy
    - nodesMakeNode
    - taosMemoryFree
    - varDataVal
    - strlen
    - nodesDestroyNode
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMakeValueNodeFromString(char* literal, SValueNode** ppValNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3994,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3998,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - b
    - ppValNode
    argTypes:
    - bool
    - SValueNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4008
      start: 3992
    functionDepth: 5
    functionLinenumber: 3992
    functionLinenumberEnd: 4008
    functionName: nodesMakeValueNodeFromBool
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesSetValueNodeValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMakeValueNodeFromBool(bool b, SValueNode** ppValNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4012,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4016,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - value
    - ppNode
    argTypes:
    - int32_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4026
      start: 4010
    functionDepth: 5
    functionLinenumber: 4010
    functionLinenumberEnd: 4026
    functionName: nodesMakeValueNodeFromInt32
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesSetValueNodeValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMakeValueNodeFromInt32(int32_t value, SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4030,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4034,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - value
    - ppNode
    argTypes:
    - int64_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4044
      start: 4028
    functionDepth: 5
    functionLinenumber: 4028
    functionLinenumberEnd: 4044
    functionName: nodesMakeValueNodeFromInt64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesSetValueNodeValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMakeValueNodeFromInt64(int64_t value, SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4048,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4052,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - value
    - ppNode
    argTypes:
    - int64_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4062
      start: 4046
    functionDepth: 5
    functionLinenumber: 4046
    functionLinenumberEnd: 4062
    functionName: nodesMakeValueNodeFromTimestamp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesSetValueNodeValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMakeValueNodeFromTimestamp(int64_t value, SNode** ppNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4065,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4067
      start: 4064
    functionDepth: 1
    functionLinenumber: 4064
    functionLinenumberEnd: 4067
    functionName: nodesIsStar
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool nodesIsStar(SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4070,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4072
      start: 4069
    functionDepth: 1
    functionLinenumber: 4069
    functionLinenumberEnd: 4072
    functionName: nodesIsTableStar
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool nodesIsTableStar(SNode* pNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: comp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4109,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4139
      start: 4074
    functionDepth: 0
    functionLinenumber: 4074
    functionLinenumberEnd: 4139
    functionName: nodesSortList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 1
    functionsReached:
    - comp
    linkageType: ''
    returnType: void
    signature: void nodesSortList(SNodeList** pList, int32_t (*comp)(SNode* pNode1,
      SNode* pNode2))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4149
      start: 4141
    functionDepth: 5
    functionLinenumber: 4141
    functionLinenumberEnd: 4149
    functionName: nodesListFindNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: SNode
    signature: SNode * nodesListFindNode(SNodeList* pList, SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4147
      start: 4143
    functionDepth: 5
    functionLinenumber: 4143
    functionLinenumberEnd: 4147
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 24
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFound, pList)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4152,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4153,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4154,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4155,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4156,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4157,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4158,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4163,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4166,1
    - Dst: nodesListFindNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4167,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4169,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4170,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4176,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4182
      start: 4151
    functionDepth: 6
    functionLinenumber: 4151
    functionLinenumberEnd: 4182
    functionName: nodesListDeduplicate
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListErase
    - nodesMakeList
    - nodesListStrictAppend
    - LIST_LENGTH
    - nodesDestroyList
    - FOREACH
    - nodesEqualNode
    - nodesListFindNode
    - nodesCloneNode
    - nodesListGetCell
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesListDeduplicate(SNodeList** ppList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pNode
    - num
    argTypes:
    - SExprNode*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4187
      start: 4184
    functionDepth: 1
    functionLinenumber: 4184
    functionLinenumberEnd: 4187
    functionName: rewriteExprAliasName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: void rewriteExprAliasName(SExprNode* pNode, int64_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pExpr
    argTypes:
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4189
      start: 4189
    functionDepth: 0
    functionLinenumber: 4189
    functionLinenumberEnd: 4189
    functionName: isRelatedToOtherExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRelatedToOtherExpr(SExprNode* pExpr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4203
      start: 4195
    functionDepth: 1
    functionLinenumber: 4195
    functionLinenumberEnd: 4203
    functionName: nodeContainsCol
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes nodeContainsCol(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4214
      start: 4205
    functionDepth: 3
    functionLinenumber: 4205
    functionLinenumberEnd: 4214
    functionName: nodesContainsColumn
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool nodesContainsColumn(SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4218,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4225,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4228,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4216
    functionDepth: 5
    functionLinenumber: 4216
    functionLinenumberEnd: 4236
    functionName: mergeNodeToLogic
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeNodeToLogic(SNode** pDst, SNode** pSrc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4240,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4245,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4247,1
    - Dst: mergeNodeToLogic
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCond
    - pAdditionalCond
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4256
      start: 4238
    functionDepth: 6
    functionLinenumber: 4238
    functionLinenumberEnd: 4256
    functionName: nodesMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    - mergeNodeToLogic
    - nodesListAppend
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t nodesMergeNode(SNode** pCond, SNode** pAdditionalCond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4266
      start: 4258
    functionDepth: 1
    functionLinenumber: 4258
    functionLinenumberEnd: 4266
    functionName: tFreeStreamVtbColName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeStreamVtbColName(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4275
      start: 4268
    functionDepth: 1
    functionLinenumber: 4268
    functionLinenumberEnd: 4275
    functionName: tFreeStreamVtbOtbInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tFreeStreamVtbOtbInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4284
      start: 4277
    functionDepth: 1
    functionLinenumber: 4277
    functionLinenumberEnd: 4284
    functionName: tFreeStreamVtbVtbInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void tFreeStreamVtbVtbInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4293
      start: 4286
    functionDepth: 1
    functionLinenumber: 4286
    functionLinenumberEnd: 4293
    functionName: tFreeStreamVtbDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void tFreeStreamVtbDbVgInfo(void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4311
      start: 4296
    functionDepth: 1
    functionLinenumber: 4296
    functionLinenumberEnd: 4311
    functionName: nodesIsScalarSubQuery
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool nodesIsScalarSubQuery(SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4328
      start: 4313
    functionDepth: 1
    functionLinenumber: 4313
    functionLinenumberEnd: 4328
    functionName: nodesGetSubSql
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: char
    signature: char * nodesGetSubSql(SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - pType
    argTypes:
    - SNode*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4348
      start: 4330
    functionDepth: 1
    functionLinenumber: 4330
    functionLinenumberEnd: 4348
    functionName: nodesGetSubQType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void nodesGetSubQType(SNode* pNode, int32_t* pType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4352,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4357,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4359,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:4361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pStmtName
    - pExpr
    argTypes:
    - char*
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4364
      start: 4350
    functionDepth: 5
    functionLinenumber: 4350
    functionLinenumberEnd: 4364
    functionName: createColumnByExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - snprintf
    linkageType: ''
    returnType: SColumnNode
    signature: SColumnNode * createColumnByExpr(const char* pStmtName, SExprNode*
      pExpr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:34,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - record
    argTypes:
    - SAuditRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: auditDeleteRecord
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE auditDeleteRecord(SAuditRecord *record)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:42,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:44,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:45,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:48,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:49,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SAuditCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: auditInit
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockInit
    - taosArrayDestroyP
    - taosThreadMutexInit
    - taosArrayInit
    - taosThreadRwlockDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t auditInit(const SAuditCfg *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dnodeId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: auditSetDnodeId
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void auditSetDnodeId(int32_t dnodeId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:60,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:61,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:62,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:64,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: auditCleanup
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyP
    - taosThreadMutexDestroy
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosThreadRwlockDestroy
    linkageType: ''
    returnType: void
    signature: void auditCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auditRecordImp
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    - duration
    - affectedRows
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    - double
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: auditRecord
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 0
    functionsReached:
    - auditRecordImp
    linkageType: ''
    returnType: void
    signature: "void auditRecord(SRpcMsg *pReq, int64_t clusterId, char *operation,
      char *target1, char *target2, \n                char *detail, int32_t len, double
      duration, int64_t affectedRows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auditAddRecordImp
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    - duration
    - affectedRows
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    - double
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: auditAddRecord
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 0
    functionsReached:
    - auditAddRecordImp
    linkageType: ''
    returnType: void
    signature: "void auditAddRecord(SRpcMsg *pReq, int64_t clusterId, char *operation,
      char *target1, char *target2, \n                char *detail, int32_t len, double
      duration, int64_t affectedRows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auditSendRecordsInBatchImp
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: auditSendRecordsInBatch
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 0
    functionsReached:
    - auditSendRecordsInBatchImp
    linkageType: ''
    returnType: void
    signature: void auditSendRecordsInBatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    - duration
    - affectedRows
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    - double
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: auditRecordImp
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void auditRecordImp(SRpcMsg *pReq, int64_t clusterId, char *operation,
      char *target1, char *target2, \n                    char *detail, int32_t len,
      double duration, int64_t affectedRows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    - duration
    - affectedRows
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    - double
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: auditAddRecordImp
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void auditAddRecordImp(SRpcMsg *pReq, int64_t clusterId, char *operation,
      char *target1, char *target2, char *detail,\n                       int32_t
      len, double duration, int64_t affectedRows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: auditSendRecordsInBatchImp
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void auditSendRecordsInBatchImp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:109,1
    - Dst: tSerializeSCreateDbReq
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:129,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:130,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:131,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:132,1
    - Dst: tSerializeSCreateDbReq
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:133,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:134,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:142,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:142,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - shandle
    - pEpSet
    argTypes:
    - void*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 145
    functionName: sendCreateDbMsg
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - TAOS_STRCPY
    - ASSERT
    - ASSERT_EQ
    - rpcSendRecv
    - tSerializeSCreateDbReq
    linkageType: ''
    returnType: void
    signature: void sendCreateDbMsg(void *shandle, SEpSet *pEpSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:159,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:161,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:162,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:163,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:164,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:166,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:167,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 170
    functionName: ctgTestInitLogFile
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgdEnableDebug
    - TAOS_STRCPY
    - taosInitLog
    - ASSERT
    - printf
    linkageType: ''
    returnType: void
    signature: void ctgTestInitLogFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vgVersion
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: ctgTestGetVgNumFromVgVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestGetVgNumFromVgVersion(int32_t vgVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:178,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:179,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:182,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:183,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:186,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:188,1
    - Dst: SET_META_TYPE_BOTH_TABLE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:189,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:191,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:192,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:200,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:201,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:220,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:226,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - output
    argTypes:
    - STableMetaOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 233
    functionName: ctgTestBuildCTableMetaOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - ASSERT
    - SET_META_TYPE_BOTH_TABLE
    - tNameGetFullDbName
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void ctgTestBuildCTableMetaOutput(STableMetaOutput *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:239,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:240,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:249,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:249,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:250,1
    - Dst: ctgTestGetVgNumFromVgVersion
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:252,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:263,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:267,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - pdbVgroup
    argTypes:
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 271
    functionName: ctgTestBuildDBVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - ASSERT
    - taosHashInit
    - taosMemoryCalloc
    - taosGetDefaultHashFunction
    - taosHashPut
    - ctgTestGetVgNumFromVgVersion
    linkageType: ''
    returnType: void
    signature: void ctgTestBuildDBVgroup(SDBVgInfo **pdbVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:274,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:275,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:276,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:287,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:288,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:295,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:301,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - rspMsg
    argTypes:
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 310
    functionName: ctgTestBuildSTableMetaRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - sprintf
    - TAOS_STRCPY
    - taosMemoryCalloc
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void ctgTestBuildSTableMetaRsp(STableMetaRsp *rspMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:313,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:316,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:322,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:323,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:332,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:339,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:344,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:344,1
    - Dst: tSerializeSUseDbRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:347,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:348,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:349,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:350,1
    - Dst: tSerializeSUseDbRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:351,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:352,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 361
    functionName: ctgTestRspDbVgroups
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - htonl
    - taosArrayPush
    - tSerializeSUseDbRsp
    - TAOS_STRCPY
    - rpcMallocCont
    - ASSERT
    - taosArrayInit
    - taosArrayDestroy
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspDbVgroups(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:364,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:367,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:368,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:378,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:379,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:381,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:382,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:389,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:395,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:397,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:398,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:399,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:400,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:401,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:402,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 411
    functionName: ctgTestRspTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - TAOS_STRCPY
    - tFreeSTableMetaRsp
    - tSerializeSTableMetaRsp
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspTableMeta(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: ctgTestRspTableMetaNotExist
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspTableMetaNotExist(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:420,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:423,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:424,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:425,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:435,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:436,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:438,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:439,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:446,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:452,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:458,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:460,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:461,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:462,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:463,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:464,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:465,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 475
    functionName: ctgTestRspCTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - TAOS_STRCPY
    - tFreeSTableMetaRsp
    - tSerializeSTableMetaRsp
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspCTableMeta(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:478,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:481,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:482,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:483,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:493,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:494,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:496,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:497,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:504,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:510,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:516,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:518,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:519,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:520,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:521,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:522,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:523,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 532
    functionName: ctgTestRspSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - TAOS_STRCPY
    - tFreeSTableMetaRsp
    - tSerializeSTableMetaRsp
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspSTableMeta(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:535,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:540,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:541,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:542,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:552,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:553,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:555,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:556,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:563,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:569,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:575,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:579,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:580,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:581,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:582,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:583,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:584,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 593
    functionName: ctgTestRspMultiSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - TAOS_STRCPY
    - tFreeSTableMetaRsp
    - sprintf
    - tSerializeSTableMetaRsp
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspMultiSTableMeta(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: ctgTestRspErrIndexInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspErrIndexInfo(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:604,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:607,1
    - Dst: tSerializeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:612,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:613,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:614,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:615,1
    - Dst: tSerializeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:616,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 622
    functionName: ctgTestRspUserAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - tSerializeSGetUserAuthRsp
    - rpcMallocCont
    - TAOS_STRCPY
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspUserAuth(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:625,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:630,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:633,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:634,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:636,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:637,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:644,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:650,1
    - Dst: tSerializeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:652,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:653,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:654,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:655,1
    - Dst: tSerializeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:656,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:657,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 624
    functionDepth: 3
    functionLinenumber: 624
    functionLinenumberEnd: 664
    functionName: ctgTestRspTableCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - TAOS_STRCPY
    - ASSERT
    - tFreeSTableCfgRsp
    - tSerializeSTableCfgRsp
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspTableCfg(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:667,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:672,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:674,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:675,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:680,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:681,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:681,1
    - Dst: tSerializeSTableIndexRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:684,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:685,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:686,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:687,1
    - Dst: tSerializeSTableIndexRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:688,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:689,1
    - Dst: tFreeSTableIndexRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 666
    functionDepth: 3
    functionLinenumber: 666
    functionLinenumberEnd: 696
    functionName: ctgTestRspTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - rpcMallocCont
    - TAOS_STRCPY
    - ASSERT
    - tSerializeSTableIndexRsp
    - tFreeSTableIndexRsp
    - taosArrayInit
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspTableIndex(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:699,1
    - Dst: tSerializeSDbCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:706,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:707,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:708,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:709,1
    - Dst: tSerializeSDbCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:710,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 716
    functionName: ctgTestRspDBCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - tSerializeSDbCfgRsp
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspDBCfg(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:719,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:722,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:727,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:727,1
    - Dst: tSerializeSQnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:730,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:731,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:732,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:733,1
    - Dst: tSerializeSQnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:734,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:735,1
    - Dst: tFreeSQnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 742
    functionName: ctgTestRspQnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - rpcMallocCont
    - ASSERT
    - tFreeSQnodeListRsp
    - taosArrayInit
    - tSerializeSQnodeListRsp
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspQnodeList(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:745,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:749,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:750,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:752,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:755,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:755,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:758,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:759,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:759,1
    - Dst: tSerializeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:761,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:762,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:763,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:764,1
    - Dst: tSerializeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:765,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:766,1
    - Dst: tFreeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 744
    functionDepth: 3
    functionLinenumber: 744
    functionLinenumberEnd: 773
    functionName: ctgTestRspUdfInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - tSerializeSRetrieveFuncRsp
    - taosArrayPush
    - rpcMallocCont
    - TAOS_STRCPY
    - ASSERT
    - taosGetTimestampMs
    - tFreeSRetrieveFuncRsp
    - taosArrayInit
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspUdfInfo(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:776,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:779,1
    - Dst: tSerializeSServerVerRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:781,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:782,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:783,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:784,1
    - Dst: tSerializeSServerVerRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:785,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 791
    functionName: ctgTestRspSvrVer
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - TAOS_STRCPY
    - ASSERT
    - tSerializeSServerVerRsp
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspSvrVer(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:794,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:797,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:798,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:801,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:804,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:804,1
    - Dst: tSerializeSDnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:806,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:807,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:808,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:809,1
    - Dst: tSerializeSDnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:810,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:811,1
    - Dst: tFreeSDnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 818
    functionName: ctgTestRspDndeList
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - rpcMallocCont
    - tFreeSDnodeListRsp
    - ASSERT
    - tstrncpy
    - taosArrayInit
    - tSerializeSDnodeListRsp
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspDndeList(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:823,1
    - Dst: ctgTestRspTableCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:827,1
    - Dst: ctgTestRspTableIndex
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:830,1
    - Dst: ctgTestRspDBCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:833,1
    - Dst: ctgTestRspQnodeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:836,1
    - Dst: ctgTestRspUdfInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:839,1
    - Dst: ctgTestRspSvrVer
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:842,1
    - Dst: ctgTestRspDndeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:845,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 820
    functionDepth: 4
    functionLinenumber: 820
    functionLinenumberEnd: 852
    functionName: ctgTestRspAuto
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestRspQnodeList
    - ctgTestRspTableCfg
    - ctgTestRspDbVgroups
    - ctgTestRspTableIndex
    - ctgTestRspSvrVer
    - ctgTestRspDndeList
    - ctgTestRspUdfInfo
    - ctgTestRspDBCfg
    linkageType: ''
    returnType: void
    signature: void ctgTestRspAuto(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg, SRpcMsg
      *pRsp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:857,1
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:857,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:860,1
    - Dst: ctgTestRspTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:860,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:863,1
    - Dst: ctgTestRspCTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:863,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:866,1
    - Dst: ctgTestRspSTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:866,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:869,1
    - Dst: ctgTestRspMultiSTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:869,1
    - Dst: ctgTestRspErrIndexInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:872,1
    - Dst: ctgTestRspUserAuth
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:875,1
    - Dst: ctgTestRspTableCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:878,1
    - Dst: ctgTestRspTableMetaNotExist
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:881,1
    - Dst: ctgTestRspTableIndex
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:884,1
    - Dst: ctgTestRspDBCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:887,1
    - Dst: ctgTestRspQnodeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:890,1
    - Dst: ctgTestRspUdfInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:893,1
    - Dst: ctgTestRspSvrVer
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:896,1
    - Dst: ctgTestRspDndeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:899,1
    - Dst: ctgTestRspAuto
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:902,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 854
    functionDepth: 5
    functionLinenumber: 854
    functionLinenumberEnd: 909
    functionName: ctgTestRspByIdx
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestRspMultiSTableMeta
    - ctgTestRspTableMetaNotExist
    - ctgTestRspQnodeList
    - ctgTestRspSTableMeta
    - ctgTestRspCTableMeta
    - ASSERT
    - ctgTestRspTableMeta
    - ctgTestRspTableCfg
    - ctgTestRspDbVgroups
    - ctgTestRspDBCfg
    - ctgTestRspTableIndex
    - ctgTestRspAuto
    - ctgTestRspSvrVer
    - ctgTestRspDndeList
    - ctgTestRspUdfInfo
    - ctgTestRspUserAuth
    - ctgTestRspErrIndexInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspByIdx(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:912,1
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:912,1
    - Dst: ctgTestSetRspTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 911
    functionDepth: 4
    functionLinenumber: 911
    functionLinenumberEnd: 917
    functionName: ctgTestRspDbVgroupsAndNormalMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestRspDbVgroups
    - ASSERT
    - ctgTestSetRspTableMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspDbVgroupsAndNormalMeta(void *shandle, SEpSet *pEpSet,
      SRpcMsg *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:920,1
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:920,1
    - Dst: ctgTestSetRspCTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 919
    functionDepth: 4
    functionLinenumber: 919
    functionLinenumberEnd: 925
    functionName: ctgTestRspDbVgroupsAndChildMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestRspDbVgroups
    - ASSERT
    - ctgTestSetRspCTableMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspDbVgroupsAndChildMeta(void *shandle, SEpSet *pEpSet,
      SRpcMsg *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:928,1
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:928,1
    - Dst: ctgTestSetRspSTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 927
    functionDepth: 4
    functionLinenumber: 927
    functionLinenumberEnd: 933
    functionName: ctgTestRspDbVgroupsAndSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestSetRspSTableMeta
    - ctgTestRspDbVgroups
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspDbVgroupsAndSuperMeta(void *shandle, SEpSet *pEpSet,
      SRpcMsg *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:936,1
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:936,1
    - Dst: ctgTestSetRspMultiSTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 935
    functionDepth: 4
    functionLinenumber: 935
    functionLinenumberEnd: 941
    functionName: ctgTestRspDbVgroupsAndMultiSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestSetRspMultiSTableMeta
    - ctgTestRspDbVgroups
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspDbVgroupsAndMultiSuperMeta(void *shandle, SEpSet
      *pEpSet, SRpcMsg *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:945,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:946,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:949,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:951,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:952,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:957,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:958,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 964
    functionName: ctgTestSetRspDbVgroups
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspDbVgroups()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:968,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:969,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:972,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:974,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:975,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:980,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:981,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 987
    functionName: ctgTestSetRspTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspTableMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:991,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:992,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:995,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:997,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:998,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1003,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1004,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1010
    functionName: ctgTestSetRspCTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspCTableMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1014,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1015,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1018,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1020,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1021,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1026,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1027,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1033
    functionName: ctgTestSetRspSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspSTableMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1037,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1038,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1041,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1043,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1044,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1049,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1050,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1056
    functionName: ctgTestSetRspMultiSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspMultiSTableMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1060,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1061,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1064,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1066,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1067,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1072,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1073,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1079
    functionName: ctgTestSetRspByIdx
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspByIdx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1083,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1084,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1087,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1089,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1090,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1095,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1096,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1102
    functionName: ctgTestSetRspDbVgroupsAndNormalMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspDbVgroupsAndNormalMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1106,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1107,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1110,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1112,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1113,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1118,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1119,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1125
    functionName: ctgTestSetRspDbVgroupsAndChildMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspDbVgroupsAndChildMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1129,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1130,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1133,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1135,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1136,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1141,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1142,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1148
    functionName: ctgTestSetRspDbVgroupsAndSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspDbVgroupsAndSuperMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1152,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1153,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1156,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1158,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1159,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1164,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1165,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1171
    functionName: ctgTestSetRspDbVgroupsAndMultiSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspDbVgroupsAndMultiSuperMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:109,1
    - Dst: tSerializeSCreateDbReq
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:129,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:130,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:131,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:132,1
    - Dst: tSerializeSCreateDbReq
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:133,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:134,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:142,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:142,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - shandle
    - pEpSet
    argTypes:
    - void*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 145
    functionName: sendCreateDbMsg
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - TAOS_STRCPY
    - ASSERT
    - ASSERT_EQ
    - rpcSendRecv
    - tSerializeSCreateDbReq
    linkageType: ''
    returnType: void
    signature: void sendCreateDbMsg(void *shandle, SEpSet *pEpSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:159,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:161,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:162,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:163,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:164,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:166,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:167,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 170
    functionName: ctgTestInitLogFile
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgdEnableDebug
    - TAOS_STRCPY
    - taosInitLog
    - ASSERT
    - printf
    linkageType: ''
    returnType: void
    signature: void ctgTestInitLogFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vgVersion
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: ctgTestGetVgNumFromVgVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestGetVgNumFromVgVersion(int32_t vgVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:178,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:179,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:182,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:183,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:186,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:188,1
    - Dst: SET_META_TYPE_BOTH_TABLE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:189,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:191,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:192,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:200,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:201,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:220,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:226,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - output
    argTypes:
    - STableMetaOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 233
    functionName: ctgTestBuildCTableMetaOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - ASSERT
    - SET_META_TYPE_BOTH_TABLE
    - tNameGetFullDbName
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void ctgTestBuildCTableMetaOutput(STableMetaOutput *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:239,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:240,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:249,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:249,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:250,1
    - Dst: ctgTestGetVgNumFromVgVersion
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:252,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:263,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:267,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - pdbVgroup
    argTypes:
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 271
    functionName: ctgTestBuildDBVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - ASSERT
    - taosHashInit
    - taosMemoryCalloc
    - taosGetDefaultHashFunction
    - taosHashPut
    - ctgTestGetVgNumFromVgVersion
    linkageType: ''
    returnType: void
    signature: void ctgTestBuildDBVgroup(SDBVgInfo **pdbVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:274,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:275,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:276,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:287,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:288,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:295,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:301,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - rspMsg
    argTypes:
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 310
    functionName: ctgTestBuildSTableMetaRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - sprintf
    - TAOS_STRCPY
    - taosMemoryCalloc
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void ctgTestBuildSTableMetaRsp(STableMetaRsp *rspMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:313,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:316,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:322,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:323,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:332,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:339,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:344,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:344,1
    - Dst: tSerializeSUseDbRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:347,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:348,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:349,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:350,1
    - Dst: tSerializeSUseDbRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:351,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:352,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 361
    functionName: ctgTestRspDbVgroups
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 6
    functionsReached:
    - htonl
    - taosArrayPush
    - tSerializeSUseDbRsp
    - TAOS_STRCPY
    - rpcMallocCont
    - ASSERT
    - taosArrayInit
    - taosArrayDestroy
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspDbVgroups(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:364,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:367,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:368,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:378,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:379,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:381,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:382,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:389,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:395,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:397,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:398,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:399,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:400,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:401,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:402,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 411
    functionName: ctgTestRspTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - TAOS_STRCPY
    - tFreeSTableMetaRsp
    - tSerializeSTableMetaRsp
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspTableMeta(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: ctgTestRspTableMetaNotExist
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspTableMetaNotExist(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:420,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:423,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:424,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:425,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:435,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:436,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:438,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:439,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:446,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:452,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:458,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:460,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:461,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:462,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:463,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:464,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:465,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 475
    functionName: ctgTestRspCTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - TAOS_STRCPY
    - tFreeSTableMetaRsp
    - tSerializeSTableMetaRsp
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspCTableMeta(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:478,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:481,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:482,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:483,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:493,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:494,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:496,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:497,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:504,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:510,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:516,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:518,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:519,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:520,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:521,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:522,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:523,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 532
    functionName: ctgTestRspSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - TAOS_STRCPY
    - tFreeSTableMetaRsp
    - tSerializeSTableMetaRsp
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspSTableMeta(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:535,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:540,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:541,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:542,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:552,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:553,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:555,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:556,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:563,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:569,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:575,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:579,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:580,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:581,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:582,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:583,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:584,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 593
    functionName: ctgTestRspMultiSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - TAOS_STRCPY
    - tFreeSTableMetaRsp
    - sprintf
    - tSerializeSTableMetaRsp
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspMultiSTableMeta(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: ctgTestRspErrIndexInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspErrIndexInfo(void *shandle, SEpSet *pEpSet, SRpcMsg
      *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:604,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:607,1
    - Dst: tSerializeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:612,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:613,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:614,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:615,1
    - Dst: tSerializeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:616,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 622
    functionName: ctgTestRspUserAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - tSerializeSGetUserAuthRsp
    - rpcMallocCont
    - TAOS_STRCPY
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspUserAuth(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:625,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:630,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:633,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:634,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:636,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:637,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:644,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:650,1
    - Dst: tSerializeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:652,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:653,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:654,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:655,1
    - Dst: tSerializeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:656,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:657,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 624
    functionDepth: 3
    functionLinenumber: 624
    functionLinenumberEnd: 664
    functionName: ctgTestRspTableCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - TAOS_STRCPY
    - ASSERT
    - tFreeSTableCfgRsp
    - tSerializeSTableCfgRsp
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspTableCfg(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:667,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:672,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:674,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:675,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:680,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:681,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:681,1
    - Dst: tSerializeSTableIndexRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:684,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:685,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:686,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:687,1
    - Dst: tSerializeSTableIndexRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:688,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:689,1
    - Dst: tFreeSTableIndexRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 666
    functionDepth: 3
    functionLinenumber: 666
    functionLinenumberEnd: 696
    functionName: ctgTestRspTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - rpcMallocCont
    - TAOS_STRCPY
    - ASSERT
    - tSerializeSTableIndexRsp
    - tFreeSTableIndexRsp
    - taosArrayInit
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspTableIndex(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:699,1
    - Dst: tSerializeSDbCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:706,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:707,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:708,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:709,1
    - Dst: tSerializeSDbCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:710,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 716
    functionName: ctgTestRspDBCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - tSerializeSDbCfgRsp
    - ASSERT
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspDBCfg(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:719,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:722,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:727,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:727,1
    - Dst: tSerializeSQnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:730,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:731,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:732,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:733,1
    - Dst: tSerializeSQnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:734,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:735,1
    - Dst: tFreeSQnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 742
    functionName: ctgTestRspQnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - rpcMallocCont
    - ASSERT
    - tFreeSQnodeListRsp
    - taosArrayInit
    - tSerializeSQnodeListRsp
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspQnodeList(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:745,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:749,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:750,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:752,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:755,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:755,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:758,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:759,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:759,1
    - Dst: tSerializeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:761,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:762,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:763,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:764,1
    - Dst: tSerializeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:765,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:766,1
    - Dst: tFreeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 744
    functionDepth: 3
    functionLinenumber: 744
    functionLinenumberEnd: 773
    functionName: ctgTestRspUdfInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - tSerializeSRetrieveFuncRsp
    - taosArrayPush
    - rpcMallocCont
    - TAOS_STRCPY
    - ASSERT
    - taosGetTimestampMs
    - tFreeSRetrieveFuncRsp
    - taosArrayInit
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspUdfInfo(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:776,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:779,1
    - Dst: tSerializeSServerVerRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:781,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:782,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:783,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:784,1
    - Dst: tSerializeSServerVerRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:785,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 791
    functionName: ctgTestRspSvrVer
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - TAOS_STRCPY
    - ASSERT
    - tSerializeSServerVerRsp
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspSvrVer(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:794,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:797,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:798,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:801,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:804,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:804,1
    - Dst: tSerializeSDnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:806,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:807,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:808,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:809,1
    - Dst: tSerializeSDnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:810,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:811,1
    - Dst: tFreeSDnodeListRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 818
    functionName: ctgTestRspDndeList
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - rpcMallocCont
    - tFreeSDnodeListRsp
    - ASSERT
    - tstrncpy
    - taosArrayInit
    - tSerializeSDnodeListRsp
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void ctgTestRspDndeList(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:823,1
    - Dst: ctgTestRspTableCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:827,1
    - Dst: ctgTestRspTableIndex
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:830,1
    - Dst: ctgTestRspDBCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:833,1
    - Dst: ctgTestRspQnodeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:836,1
    - Dst: ctgTestRspUdfInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:839,1
    - Dst: ctgTestRspSvrVer
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:842,1
    - Dst: ctgTestRspDndeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:845,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 820
    functionDepth: 4
    functionLinenumber: 820
    functionLinenumberEnd: 852
    functionName: ctgTestRspAuto
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 1
    functionsReached:
    - ctgTestRspQnodeList
    - ctgTestRspTableCfg
    - ctgTestRspDbVgroups
    - ctgTestRspTableIndex
    - ctgTestRspSvrVer
    - ctgTestRspDndeList
    - ctgTestRspUdfInfo
    - ctgTestRspDBCfg
    linkageType: ''
    returnType: void
    signature: void ctgTestRspAuto(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg, SRpcMsg
      *pRsp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:857,1
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:857,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:860,1
    - Dst: ctgTestRspTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:860,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:863,1
    - Dst: ctgTestRspCTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:863,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:866,1
    - Dst: ctgTestRspSTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:866,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:869,1
    - Dst: ctgTestRspMultiSTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:869,1
    - Dst: ctgTestRspErrIndexInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:872,1
    - Dst: ctgTestRspUserAuth
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:875,1
    - Dst: ctgTestRspTableCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:878,1
    - Dst: ctgTestRspTableMetaNotExist
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:881,1
    - Dst: ctgTestRspTableIndex
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:884,1
    - Dst: ctgTestRspDBCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:887,1
    - Dst: ctgTestRspQnodeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:890,1
    - Dst: ctgTestRspUdfInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:893,1
    - Dst: ctgTestRspSvrVer
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:896,1
    - Dst: ctgTestRspDndeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:899,1
    - Dst: ctgTestRspAuto
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:902,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 854
    functionDepth: 5
    functionLinenumber: 854
    functionLinenumberEnd: 909
    functionName: ctgTestRspByIdx
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestRspMultiSTableMeta
    - ctgTestRspTableMetaNotExist
    - ctgTestRspQnodeList
    - ctgTestRspSTableMeta
    - ctgTestRspCTableMeta
    - ASSERT
    - ctgTestRspTableMeta
    - ctgTestRspTableCfg
    - ctgTestRspDbVgroups
    - ctgTestRspDBCfg
    - ctgTestRspTableIndex
    - ctgTestRspAuto
    - ctgTestRspSvrVer
    - ctgTestRspDndeList
    - ctgTestRspUdfInfo
    - ctgTestRspUserAuth
    - ctgTestRspErrIndexInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspByIdx(void *shandle, SEpSet *pEpSet, SRpcMsg *pMsg,
      SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:912,1
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:912,1
    - Dst: ctgTestSetRspTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 911
    functionDepth: 4
    functionLinenumber: 911
    functionLinenumberEnd: 917
    functionName: ctgTestRspDbVgroupsAndNormalMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestRspDbVgroups
    - ASSERT
    - ctgTestSetRspTableMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspDbVgroupsAndNormalMeta(void *shandle, SEpSet *pEpSet,
      SRpcMsg *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:920,1
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:920,1
    - Dst: ctgTestSetRspCTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 919
    functionDepth: 4
    functionLinenumber: 919
    functionLinenumberEnd: 925
    functionName: ctgTestRspDbVgroupsAndChildMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestRspDbVgroups
    - ASSERT
    - ctgTestSetRspCTableMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspDbVgroupsAndChildMeta(void *shandle, SEpSet *pEpSet,
      SRpcMsg *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:928,1
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:928,1
    - Dst: ctgTestSetRspSTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 927
    functionDepth: 4
    functionLinenumber: 927
    functionLinenumberEnd: 933
    functionName: ctgTestRspDbVgroupsAndSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestSetRspSTableMeta
    - ctgTestRspDbVgroups
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspDbVgroupsAndSuperMeta(void *shandle, SEpSet *pEpSet,
      SRpcMsg *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:936,1
    - Dst: ctgTestRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:936,1
    - Dst: ctgTestSetRspMultiSTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 935
    functionDepth: 4
    functionLinenumber: 935
    functionLinenumberEnd: 941
    functionName: ctgTestRspDbVgroupsAndMultiSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestSetRspMultiSTableMeta
    - ctgTestRspDbVgroups
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTestRspDbVgroupsAndMultiSuperMeta(void *shandle, SEpSet
      *pEpSet, SRpcMsg *pMsg, SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:945,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:946,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:949,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:951,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:952,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:957,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:958,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 964
    functionName: ctgTestSetRspDbVgroups
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspDbVgroups()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:968,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:969,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:972,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:974,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:975,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:980,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:981,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 987
    functionName: ctgTestSetRspTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspTableMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:991,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:992,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:995,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:997,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:998,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1003,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1004,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1010
    functionName: ctgTestSetRspCTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspCTableMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1014,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1015,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1018,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1020,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1021,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1026,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1027,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1033
    functionName: ctgTestSetRspSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspSTableMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1037,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1038,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1041,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1043,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1044,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1049,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1050,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1056
    functionName: ctgTestSetRspMultiSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 2
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspMultiSTableMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1060,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1061,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1064,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1066,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1067,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1072,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1073,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1079
    functionName: ctgTestSetRspByIdx
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspByIdx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1083,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1084,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1087,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1089,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1090,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1095,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1096,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1102
    functionName: ctgTestSetRspDbVgroupsAndNormalMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspDbVgroupsAndNormalMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1106,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1107,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1110,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1112,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1113,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1118,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1119,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1125
    functionName: ctgTestSetRspDbVgroupsAndChildMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspDbVgroupsAndChildMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1129,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1130,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1133,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1135,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1136,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1141,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1142,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1148
    functionName: ctgTestSetRspDbVgroupsAndSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspDbVgroupsAndSuperMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1152,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1153,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1156,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1158,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1159,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1164,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1165,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1171
    functionName: ctgTestSetRspDbVgroupsAndMultiSuperMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void ctgTestSetRspDbVgroupsAndMultiSuperMeta()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetDBVgList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1184,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1186,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1187,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1191,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1195,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1195,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1203
    functionName: ctgTestGetDbVgroupThread
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosUsleep
    - taosRand
    - printf
    - catalogGetDBVgList
    - taosArrayDestroy
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *ctgTestGetDbVgroupThread(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestBuildDBVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1212,1
    - Dst: catalogUpdateDBVgInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1213,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1215,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1219,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1219,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1205
    functionDepth: 2
    functionLinenumber: 1205
    functionLinenumberEnd: 1227
    functionName: ctgTestSetSameDbVgroupThread
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestBuildDBVgroup
    - taosUsleep
    - taosRand
    - printf
    - catalogUpdateDBVgInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *ctgTestSetSameDbVgroupThread(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestBuildDBVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1236,1
    - Dst: catalogUpdateDBVgInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1237,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1239,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1243,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1243,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1229
    functionDepth: 2
    functionLinenumber: 1229
    functionLinenumberEnd: 1251
    functionName: ctgTestSetDiffDbVgroupThread
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestBuildDBVgroup
    - taosUsleep
    - taosRand
    - printf
    - catalogUpdateDBVgInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *ctgTestSetDiffDbVgroupThread(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1261,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1262,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1269,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1271,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1274,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1277,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1277,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1286
    functionName: ctgTestGetCtableMetaThread
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - taosUsleep
    - taosRand
    - printf
    - TD_ALWAYS_ASSERT
    - ctgReadTbMetaFromCache
    linkageType: ''
    returnType: void
    signature: void *ctgTestGetCtableMetaThread(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1300,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1301,1
    - Dst: ctgTestBuildCTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1302,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1304,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1305,1
    - Dst: ctgOpUpdateTbMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1310,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1312,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1316,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1316,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1324
    functionName: ctgTestSetCtableMetaThread
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosUsleep
    - ASSERT
    - ctgTestBuildCTableMetaOutput
    - taosRand
    - ctgOpUpdateTbMeta
    - printf
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *ctgTestSetCtableMetaThread(void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1328,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1329,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1333,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1335,1
    - Dst: taos_print_row
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1336,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - result
    - rows
    argTypes:
    - TAOS_RES*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1339
    functionName: ctgTestFetchRows
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_fetch_fields
    - taos_fetch_row
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void ctgTestFetchRows(TAOS_RES *result, int32_t *rows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1342,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1343,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1344,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1345,1
    - Dst: ctgTestFetchRows
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1348,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - taos
    - sql
    - fetch
    - rows
    argTypes:
    - TAOS*
    - char*
    - bool
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1341
    functionDepth: 2
    functionLinenumber: 1341
    functionLinenumberEnd: 1352
    functionName: ctgTestExecQuery
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taos_query
    - ctgTestFetchRows
    - ASSERT
    - taos_free_result
    - ASSERT_EQ
    - taos_errno
    linkageType: ''
    returnType: void
    signature: void ctgTestExecQuery(TAOS *taos, char *sql, bool fetch, int32_t *rows)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1360,1
    - Dst: ctgTestSetRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1362,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1364,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1368,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1369,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1371,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1372,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1375,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1376,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1378,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1379,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1380,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1381,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1385,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1385,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1387,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1393,1
    - Dst: catalogGetCachedTableHashVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1395,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1396,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1397,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1398,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1399,1
    - Dst: ctgTestSetRspTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1401,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1404,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1405,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1406,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1407,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1408,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1409,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1410,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1411,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1412,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1413,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1414,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1416,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1419,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1421,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1428,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1429,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1430,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1431,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1432,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1433,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1434,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1435,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1436,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1437,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1439,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1442,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1443,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1444,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1445,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1446,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1447,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1448,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1449,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1450,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1451,1
    - Dst: catalogGetExpiredDBs
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1459,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1460,1
    - Dst: catalogGetExpiredSTables
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1461,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1462,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1465,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1466,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1469,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1473,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1474,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1477,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1482,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1485,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1486,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1488,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1489
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - catalogGetCachedTableMeta
    - TAOS_STRCPY
    - catalogGetTableHashVgroup
    - catalogDestroy
    - ASSERT_EQ
    - ctgTestSetRspTableMeta
    - ASSERT
    - ctgTestSetRspDbVgroups
    - taosSsleep
    - catalogGetCachedTableHashVgroup
    - ctgdGetClusterCacheNum
    - printf
    - catalogGetTableMeta
    - catalogGetExpiredSTables
    - taosMsleep
    - ctgdGetStatNum
    - TAOS_MEMSET
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - taosMemoryFree
    - ctgTestInitLogFile
    - catalogGetExpiredDBs
    - catalogInit
    linkageType: ''
    returnType: void
    signature: void TEST(tableMeta, normalTable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1497,1
    - Dst: ctgTestSetRspDbVgroupsAndChildMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1499,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1501,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1504,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1505,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1507,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1508,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1511,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1512,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1515,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1516,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1517,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1518,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1519,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1520,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1521,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1522,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1523,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1524,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1526,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1529,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1531,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1539,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1540,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1541,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1542,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1543,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1544,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1545,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1546,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1547,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1549,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1551,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1552,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1553,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1554,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1555,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1556,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1557,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1558,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1559,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1560,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1561,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1563,1
    - Dst: catalogGetExpiredDBs
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1571,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1572,1
    - Dst: catalogGetExpiredSTables
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1573,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1574,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1577,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1578,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1581,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1585,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1586,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1589,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1594,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1597,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1598,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1600,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1491
    functionDepth: 2
    functionLinenumber: 1491
    functionLinenumberEnd: 1601
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - catalogDestroy
    - ctgTestSetRspDbVgroupsAndChildMeta
    - catalogGetHandle
    - ctgdGetClusterCacheNum
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetTableMeta
    - taosMemoryFree
    - catalogGetExpiredDBs
    - catalogGetExpiredSTables
    - printf
    - taosMsleep
    - ctgTestInitLogFile
    - taosSsleep
    - catalogInit
    linkageType: ''
    returnType: void
    signature: void TEST(tableMeta, childTableCase)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestSetRspDbVgroupsAndSuperMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1609,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1611,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1613,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1614,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1617,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1618,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1621,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1622,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1625,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1626,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1627,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1628,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1629,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1630,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1631,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1633,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1634,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1635,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1636,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1638,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1641,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1643,1
    - Dst: catalogGetCachedSTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1650,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1651,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1652,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1653,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1654,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1655,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1656,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1657,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1658,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1659,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1660,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1661,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1662,1
    - Dst: ctgTestSetRspCTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1664,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1668,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1669,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1670,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1671,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1672,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1673,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1674,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1675,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1676,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1677,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1678,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1679,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1681,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1684,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1686,1
    - Dst: catalogRefreshGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1693,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1694,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1695,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1696,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1697,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1698,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1699,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1700,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1701,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1702,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1704,1
    - Dst: catalogGetExpiredDBs
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1712,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1713,1
    - Dst: catalogGetExpiredSTables
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1714,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1715,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1718,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1719,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1722,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1728,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1731,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1736,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1739,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1740,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1742,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1603
    functionDepth: 2
    functionLinenumber: 1603
    functionLinenumberEnd: 1743
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestSetRspDbVgroupsAndSuperMeta
    - TAOS_STRCPY
    - catalogGetCachedSTableMeta
    - catalogDestroy
    - ctgTestSetRspCTableMeta
    - catalogGetHandle
    - ctgdGetClusterCacheNum
    - catalogRefreshGetTableMeta
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetTableMeta
    - taosMemoryFree
    - catalogGetExpiredDBs
    - catalogGetExpiredSTables
    - printf
    - taosMsleep
    - taosSsleep
    - catalogInit
    linkageType: ''
    returnType: void
    signature: void TEST(tableMeta, superTableCase)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1751,1
    - Dst: ctgTestSetRspDbVgroupsAndSuperMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1753,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1755,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1757,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1758,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1761,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1762,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1765,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1766,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1769,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1770,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1771,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1772,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1773,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1774,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1775,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1776,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1777,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1778,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1779,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1780,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1782,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1785,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1787,1
    - Dst: catalogRemoveStbMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1793,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1794,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1797,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1798,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1800,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1806,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1806,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1807,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1807,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1808,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1808,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1809,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1809,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1810,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1810,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1812,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1745
    functionDepth: 2
    functionLinenumber: 1745
    functionLinenumberEnd: 1813
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestSetRspDbVgroupsAndSuperMeta
    - TAOS_STRCPY
    - catalogDestroy
    - catalogGetHandle
    - ctgdGetClusterCacheNum
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetTableMeta
    - taosMemoryFree
    - catalogRemoveStbMeta
    - taosMsleep
    - ctgTestInitLogFile
    - catalogInit
    linkageType: ''
    returnType: void
    signature: void TEST(tableMeta, rmStbMeta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1821,1
    - Dst: ctgTestSetRspDbVgroupsAndSuperMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1823,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1825,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1827,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1828,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1831,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1832,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1835,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1836,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1839,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1840,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1841,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1842,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1843,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1844,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1845,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1846,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1847,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1848,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1849,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1850,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1853,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1855,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1861,1
    - Dst: ctgTestBuildSTableMetaRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1864,1
    - Dst: catalogUpdateTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1866,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1867,1
    - Dst: catalogAsyncUpdateTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1868,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1869,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1870,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1874,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1874,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1876,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1882,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1882,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1883,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1883,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1884,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1884,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1885,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1885,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1886,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1886,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1888,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1889,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1890,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1891,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1892,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1893,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1894,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1895,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1896,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1897,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1898,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1899,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1901,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1815
    functionDepth: 2
    functionLinenumber: 1815
    functionLinenumberEnd: 1904
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgTestSetRspDbVgroupsAndSuperMeta
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - catalogDestroy
    - catalogGetHandle
    - ctgdGetClusterCacheNum
    - ctgTestBuildSTableMetaRsp
    - ASSERT
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetTableMeta
    - taosMsleep
    - ctgTestInitLogFile
    - ctgdGetStatNum
    - catalogInit
    - catalogAsyncUpdateTableMeta
    - catalogUpdateTableMeta
    linkageType: ''
    returnType: void
    signature: void TEST(tableMeta, updateStbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1913,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1915,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1919,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1921,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1923,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1924,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1926,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1927,1
    - Dst: catalogGetIndexMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1930,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1931,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1906
    functionDepth: 2
    functionLinenumber: 1906
    functionLinenumberEnd: 1934
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - catalogGetIndexMeta
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - ASSERT_TRUE
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(getIndexInfo, notExists)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1943,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1945,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1951,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1953,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1955,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1956,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1960,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1961,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1964,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1965,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1967,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1968,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1969,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1970,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1974,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1974,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1978,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1982,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1983,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1984,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1985,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1986,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1987,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1988,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1989,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1990,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1991,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1992,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1993,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1995,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1996,1
    - Dst: catalogRefreshGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:1999,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2000,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2001,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2002,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2003,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2004,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2005,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2006,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2007,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2008,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2009,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2010,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1936
    functionDepth: 2
    functionLinenumber: 1936
    functionLinenumberEnd: 2013
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - catalogGetTableHashVgroup
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - ASSERT
    - ctgdGetClusterCacheNum
    - catalogRefreshGetTableMeta
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetTableMeta
    - taosMsleep
    - ctgTestInitLogFile
    - ctgdGetStatNum
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(refreshGetMeta, normal2normal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2022,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2024,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2030,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2032,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2034,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2035,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2039,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2040,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2043,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2044,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2046,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2047,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2048,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2049,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2053,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2053,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2057,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2061,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2062,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2063,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2064,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2065,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2066,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2067,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2068,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2069,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2070,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2071,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2072,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2074,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2075,1
    - Dst: catalogRefreshGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2078,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2079,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2080,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2015
    functionDepth: 2
    functionLinenumber: 2015
    functionLinenumberEnd: 2083
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - catalogGetTableHashVgroup
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - ASSERT
    - ctgdGetClusterCacheNum
    - catalogRefreshGetTableMeta
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetTableMeta
    - ASSERT_TRUE
    - taosMsleep
    - ctgTestInitLogFile
    - ctgdGetStatNum
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(refreshGetMeta, normal2notexist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2092,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2094,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2101,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2103,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2105,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2106,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2110,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2111,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2114,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2115,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2119,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2120,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2121,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2122,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2126,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2126,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2130,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2134,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2135,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2136,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2137,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2138,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2139,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2140,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2141,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2142,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2143,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2144,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2145,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2147,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2148,1
    - Dst: catalogRefreshGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2151,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2152,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2153,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2154,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2155,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2156,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2157,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2158,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2159,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2160,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2161,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2085
    functionDepth: 2
    functionLinenumber: 2085
    functionLinenumberEnd: 2166
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - catalogGetTableHashVgroup
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - ASSERT
    - ctgdGetClusterCacheNum
    - catalogRefreshGetTableMeta
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetTableMeta
    - taosMsleep
    - ctgTestInitLogFile
    - ctgdGetStatNum
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(refreshGetMeta, normal2child)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2175,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2177,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2185,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2187,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2189,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2190,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2194,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2195,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2198,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2199,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2203,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2204,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2205,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2206,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2210,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2210,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2214,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2218,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2219,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2220,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2221,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2222,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2223,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2224,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2225,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2226,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2227,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2228,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2229,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2230,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2232,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2233,1
    - Dst: catalogRefreshGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2237,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2238,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2239,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2240,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2241,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2242,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2243,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2244,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2245,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2246,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2247,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2168
    functionDepth: 2
    functionLinenumber: 2168
    functionLinenumberEnd: 2252
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - catalogGetTableHashVgroup
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - ASSERT
    - ctgdGetClusterCacheNum
    - catalogRefreshGetTableMeta
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetTableMeta
    - taosMsleep
    - ctgTestInitLogFile
    - ctgdGetStatNum
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(refreshGetMeta, stable2child)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2261,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2263,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2271,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2273,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2275,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2276,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2280,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2281,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2284,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2285,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2288,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2289,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2290,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2291,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2295,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2295,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2299,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2303,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2304,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2305,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2306,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2307,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2308,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2309,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2310,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2311,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2312,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2313,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2314,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2315,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2317,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2318,1
    - Dst: catalogRefreshGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2321,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2322,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2323,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2324,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2325,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2326,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2327,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2328,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2329,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2330,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2331,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2332,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2333,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2338
      start: 2254
    functionDepth: 2
    functionLinenumber: 2254
    functionLinenumberEnd: 2338
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - catalogGetTableHashVgroup
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - ASSERT
    - ctgdGetClusterCacheNum
    - catalogRefreshGetTableMeta
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetTableMeta
    - taosMsleep
    - ctgTestInitLogFile
    - ctgdGetStatNum
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(refreshGetMeta, stable2stable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2347,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2349,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2357,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2359,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2361,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2362,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2366,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2367,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2370,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2371,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2375,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2376,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2377,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2378,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2382,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2382,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2386,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2390,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2391,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2392,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2393,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2394,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2395,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2396,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2397,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2398,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2399,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2400,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2402,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2403,1
    - Dst: catalogRefreshGetTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2407,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2408,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2409,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2410,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2411,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2412,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2413,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2414,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2415,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2416,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2417,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2418,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2419,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2340
    functionDepth: 2
    functionLinenumber: 2340
    functionLinenumberEnd: 2424
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_STRCPY
    - catalogGetTableHashVgroup
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - ASSERT
    - ctgdGetClusterCacheNum
    - catalogRefreshGetTableMeta
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetTableMeta
    - taosMsleep
    - ctgTestInitLogFile
    - ctgdGetStatNum
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(refreshGetMeta, child2stable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2433,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2435,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2441,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2443,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2445,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2446,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2450,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2451,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2454,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2455,1
    - Dst: catalogGetTableDistVgInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2457,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2458,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2426
    functionDepth: 2
    functionLinenumber: 2426
    functionLinenumberEnd: 2461
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogGetTableDistVgInfo
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - ASSERT_TRUE
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(tableDistVgroup, normalTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2470,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2472,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2479,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2481,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2485,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2486,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2488,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2489,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2492,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2493,1
    - Dst: catalogGetTableDistVgInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2495,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2496,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2499
      start: 2463
    functionDepth: 2
    functionLinenumber: 2463
    functionLinenumberEnd: 2499
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogGetTableDistVgInfo
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - ASSERT_TRUE
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(tableDistVgroup, childTableCase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2508,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2510,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2517,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2519,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2521,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2522,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2525,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2526,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2529,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2530,1
    - Dst: catalogGetTableDistVgInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2532,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2533,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2534,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2534,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2535,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2536,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2537,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2539,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2540,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2541,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2542,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2543,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2545,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2501
    functionDepth: 2
    functionLinenumber: 2501
    functionLinenumberEnd: 2548
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogGetTableDistVgInfo
    - taosArrayGet
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - taosArrayDestroy
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - taosArrayGetSize
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(tableDistVgroup, superTableCase)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2559,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2561,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2566,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2568,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2572,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2573,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2575,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2576,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2579,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2580,1
    - Dst: catalogGetDBVgList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2582,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2583,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2584,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2584,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2586,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2590,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2590,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2594,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2597,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2598,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2599,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2600,1
    - Dst: catalogGetTableDistVgInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2602,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2603,1
    - Dst: catalogGetDBVgVersion
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2609,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2610,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2611,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2612,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2613,1
    - Dst: ctgTestBuildDBVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2615,1
    - Dst: catalogUpdateDBVgInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2616,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2617,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2621,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2621,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2623,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2629,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2630,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2631,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2632,1
    - Dst: catalogGetTableDistVgInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2634,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2635,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2550
    functionDepth: 2
    functionLinenumber: 2550
    functionLinenumberEnd: 2638
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogGetTableHashVgroup
    - catalogDestroy
    - ASSERT_EQ
    - catalogUpdateDBVgInfo
    - taosArrayDestroy
    - catalogGetTableDistVgInfo
    - ASSERT
    - taosArrayGetSize
    - ASSERT_TRUE
    - catalogGetDBVgList
    - catalogGetDBVgVersion
    - ctgTestSetRspByIdx
    - taosMsleep
    - ctgdGetStatNum
    - TAOS_MEMSET
    - ctgTestBuildDBVgroup
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ctgTestInitLogFile
    - catalogInit
    linkageType: ''
    returnType: void
    signature: void TEST(dbVgroup, getSetDbVgroupCase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2650,1
    - Dst: ctgTestSetRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2652,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2654,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2658,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2659,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2661,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2662,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2665,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2666,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2669,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2672,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2674,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2675,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2679,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2681,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2687,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2640
    functionDepth: 2
    functionLinenumber: 2640
    functionLinenumberEnd: 2690
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogDestroy
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - ctgTestSetRspDbVgroups
    - taosThreadCreate
    - ctgTestInitLogFile
    - taosSsleep
    - catalogInit
    - taosThreadAttrInit
    linkageType: ''
    returnType: void
    signature: void TEST(multiThread, getSetRmSameDbVgroup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2702,1
    - Dst: ctgTestSetRspDbVgroups
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2704,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2706,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2710,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2711,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2713,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2714,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2717,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2718,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2721,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2724,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2726,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2727,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2731,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2733,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2739,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2692
    functionDepth: 2
    functionLinenumber: 2692
    functionLinenumberEnd: 2742
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogDestroy
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - ctgTestSetRspDbVgroups
    - taosThreadCreate
    - ctgTestInitLogFile
    - taosSsleep
    - catalogInit
    - taosThreadAttrInit
    linkageType: ''
    returnType: void
    signature: void TEST(multiThread, getSetRmDiffDbVgroup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2754,1
    - Dst: ctgTestSetRspDbVgroupsAndChildMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2756,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2758,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2762,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2763,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2765,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2766,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2769,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2770,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2773,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2776,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2777,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2778,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2782,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2784,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2790,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2793
      start: 2744
    functionDepth: 2
    functionLinenumber: 2744
    functionLinenumberEnd: 2793
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogDestroy
    - ctgTestSetRspDbVgroupsAndChildMeta
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - taosThreadCreate
    - ctgTestInitLogFile
    - taosSsleep
    - catalogInit
    - taosThreadAttrInit
    linkageType: ''
    returnType: void
    signature: void TEST(multiThread, ctableMeta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2808,1
    - Dst: ctgTestSetRspDbVgroupsAndMultiSuperMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2810,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2812,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2814,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2815,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2817,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2818,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2821,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2824,1
    - Dst: catalogGetSTableMeta
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2827,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2828,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2829,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2830,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2831,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2832,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2833,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2834,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2835,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2836,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2837,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2838,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2840,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2842,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2843,1
    - Dst: catalogGetExpiredDBs
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2846,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2847,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2848,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2850,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2851,1
    - Dst: catalogGetExpiredSTables
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2855,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2856,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2857,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2860,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2863,1
    - Dst: printf
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2866,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2868,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2871,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2795
    functionDepth: 2
    functionLinenumber: 2795
    functionLinenumberEnd: 2872
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogGetSTableMeta
    - catalogDestroy
    - ctgTestSetRspDbVgroupsAndMultiSuperMeta
    - sprintf
    - catalogGetHandle
    - ctgdGetClusterCacheNum
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - printf
    - taosMemoryFree
    - catalogGetExpiredDBs
    - catalogGetExpiredSTables
    - taosMsleep
    - ctgTestInitLogFile
    - taosSsleep
    - catalogInit
    linkageType: ''
    returnType: void
    signature: void TEST(rentTest, allRent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2879,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2881,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2885,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2887,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2889,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2890,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2892,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2893,1
    - Dst: catalogRefreshDBVgInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2895,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2896,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2874
    functionDepth: 2
    functionLinenumber: 2874
    functionLinenumberEnd: 2899
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    - catalogRefreshDBVgInfo
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogRefreshDBVgInfo_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2906,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2908,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2912,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2914,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2916,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2917,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2919,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2920,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2924,1
    - Dst: toName
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2925,1
    - Dst: catalogChkAuthFromCache
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2929,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2930,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2931,1
    - Dst: catalogChkAuth
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2933,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2934,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2935,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2939,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2939,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2941,1
    - Dst: catalogChkAuthFromCache
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2947,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2948,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2949,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2950,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2901
    functionDepth: 2
    functionLinenumber: 2901
    functionLinenumberEnd: 2953
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - toName
    - ASSERT
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogChkAuthFromCache
    - taosMsleep
    - catalogChkAuth
    - ctgTestInitLogFile
    - ctgdGetStatNum
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogChkAuth_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2960,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2962,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2967,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2969,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2971,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2972,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2974,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2975,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2978,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2979,1
    - Dst: catalogRefreshGetTableCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2982,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2983,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2984,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2985,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2987,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2988,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2955
    functionDepth: 2
    functionLinenumber: 2955
    functionLinenumberEnd: 2991
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - catalogRefreshGetTableCfg
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - taosMemoryFree
    - ASSERT_TRUE
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    - tFreeSTableCfgRsp
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogRefreshGetTableCfg_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:2998,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3000,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3004,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3006,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3008,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3009,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3011,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3012,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3015,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3016,1
    - Dst: catalogGetTableIndex
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3019,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3020,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3021,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3022,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3022,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3024,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3027
      start: 2993
    functionDepth: 2
    functionLinenumber: 2993
    functionLinenumberEnd: 3027
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - catalogGetTableIndex
    - taosArrayDestroyEx
    - TAOS_STRCPY
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - taosArrayGetSize
    - ASSERT_TRUE
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogGetTableIndex_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3035,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3037,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3041,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3043,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3045,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3046,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3048,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3049,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3052,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3053,1
    - Dst: catalogGetDBCfg
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3056,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3057,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3058,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3030
    functionDepth: 2
    functionLinenumber: 3030
    functionLinenumberEnd: 3061
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetDBCfg
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogGetDBCfg_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3068,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3070,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3074,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3076,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3078,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3079,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3081,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3082,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3084,1
    - Dst: catalogGetQnodeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3085,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3086,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3087,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3087,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3090,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3091,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3095
      start: 3063
    functionDepth: 2
    functionLinenumber: 3063
    functionLinenumberEnd: 3095
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - catalogGetQnodeList
    - taosArrayGet
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - taosArrayGetSize
    - taosArrayInit
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogGetQnodeList_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3102,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3104,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3108,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3110,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3112,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3113,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3115,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3116,1
    - Dst: catalogGetUdfInfo
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3119,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3120,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3121,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3097
    functionDepth: 2
    functionLinenumber: 3097
    functionLinenumberEnd: 3124
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - catalogGetUdfInfo
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogGetUdfInfo_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3131,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3133,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3137,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3139,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3141,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3142,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3144,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3145,1
    - Dst: catalogGetServerVersion
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3148,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3149,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3150,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3150,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3153
      start: 3126
    functionDepth: 2
    functionLinenumber: 3126
    functionLinenumberEnd: 3153
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - ASSERT_TRUE
    - ctgTestInitLogFile
    - catalogGetServerVersion
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogGetServerVersion_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3160,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3162,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3166,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3168,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3170,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3171,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3173,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3174,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3177,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3178,1
    - Dst: catalogUpdateTableIndex
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3181,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3182,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3155
    functionDepth: 2
    functionLinenumber: 3155
    functionLinenumberEnd: 3185
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCPY
    - catalogUpdateTableIndex
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogUpdateTableIndex_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgTestInitLogFile
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3192,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3194,1
    - Dst: ctgTestSetRspByIdx
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3198,1
    - Dst: initQueryModuleMsgHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3200,1
    - Dst: catalogInit
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3202,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3203,1
    - Dst: catalogGetHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3205,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3206,1
    - Dst: catalogGetDnodeList
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3209,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3210,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3211,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3211,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3213,1
    - Dst: catalogDestroy
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3216
      start: 3187
    functionDepth: 2
    functionLinenumber: 3187
    functionLinenumberEnd: 3216
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - catalogDestroy
    - ctgTestSetRspByIdx
    - catalogGetHandle
    - taosArrayDestroy
    - initQueryModuleMsgHandle
    - ASSERT_EQ
    - catalogGetDnodeList
    - taosArrayGetSize
    - ctgTestInitLogFile
    - catalogInit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void TEST(apiTest, catalogGetDnodeList_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3222,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3223,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3225,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3226,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3227,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3228,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3230,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3231,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3232,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3233,1
    - Dst: ctgdGetOneHandle
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3235,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3238,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3240,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3247,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3249,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3251,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3253,1
    - Dst: ctgdGetStatNum
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3254,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3256,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3258,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3259,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3261,1
    - Dst: ctgTestExecQuery
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3263,1
    - Dst: taos_close
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3266
      start: 3219
    functionDepth: 3
    functionLinenumber: 3219
    functionLinenumberEnd: 3266
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - ctgdEnableDebug
    - taos_close
    - taos_connect
    - ctgdGetOneHandle
    - ctgdGetClusterCacheNum
    - ctgTestExecQuery
    - ASSERT_EQ
    - ASSERT_TRUE
    - taosMsleep
    - ctgdGetStatNum
    linkageType: ''
    returnType: void
    signature: void TEST(intTest, autoCreateTableTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3271,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/catalog/test/catalogTests.cpp:3272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3273
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3273
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/catalog/test/catalogTests.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 710
    functionName: CTG_AUTH_READ
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_AUTH_READ(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    functionName: CTG_AUTH_WRITE
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_AUTH_WRITE(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 713
    functionName: CTG_QUEUE_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_QUEUE_INC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    functionName: CTG_QUEUE_DEC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_QUEUE_DEC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _item
    - ','
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 716
    functionName: CTG_STAT_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_STAT_INC(_item, _n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _item
    - ','
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 717
    functionName: CTG_STAT_DEC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_STAT_DEC(_item, _n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 718
    functionName: CTG_STAT_GET
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_STAT_GET(_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 720
    functionName: CTG_STAT_API_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_STAT_API_INC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 721
    functionName: CTG_STAT_RT_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_STAT_RT_INC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 722
    functionName: CTG_STAT_NUM_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_STAT_NUM_INC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 723
    functionName: CTG_STAT_NUM_DEC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_STAT_NUM_DEC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 724
    functionName: CTG_STAT_HIT_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_STAT_HIT_INC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 725
    functionName: CTG_STAT_HIT_DEC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_STAT_HIT_DEC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 726
    functionName: CTG_STAT_NHIT_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_STAT_NHIT_INC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 727
    functionName: CTG_STAT_NHIT_DEC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_STAT_NHIT_DEC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 729
    functionName: CTG_CACHE_NUM_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_CACHE_NUM_INC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 730
    functionName: CTG_CACHE_NUM_DEC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_CACHE_NUM_DEC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 731
    functionName: CTG_CACHE_HIT_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_CACHE_HIT_INC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 732
    functionName: CTG_CACHE_NHIT_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_CACHE_NHIT_INC(item, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 734
    functionName: CTG_DB_NUM_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_DB_NUM_INC(_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 735
    functionName: CTG_DB_NUM_DEC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_DB_NUM_DEC(_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 736
    functionName: CTG_DB_NUM_SET
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_DB_NUM_SET(_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 737
    functionName: CTG_DB_NUM_RESET
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_DB_NUM_RESET(_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 758
    functionName: CTG_META_NUM_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_META_NUM_INC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 779
    functionName: CTG_META_NUM_DEC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_META_NUM_DEC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 800
    functionName: CTG_META_HIT_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_META_HIT_INC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 802
    functionName: CTG_META_NHIT_INC
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_META_NHIT_INC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 804
    functionName: CTG_IS_META_NULL
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_IS_META_NULL(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 805
    functionName: CTG_IS_META_CTABLE
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_IS_META_CTABLE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 806
    functionName: CTG_IS_META_VCTABLE
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_IS_META_VCTABLE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 807
    functionName: CTG_IS_META_TABLE
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_IS_META_TABLE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 808
    functionName: CTG_IS_META_BOTH
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_IS_META_BOTH(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 809
    functionName: CTG_IS_META_VBOTH
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_IS_META_VBOTH(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _flag
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 819
    functionName: CTG_FLAG_SET
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_FLAG_SET(_flag, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 821
    functionName: CTG_FLAG_IS_STB
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_FLAG_IS_STB(_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 822
    functionName: CTG_FLAG_IS_NOT_STB
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_FLAG_IS_NOT_STB(_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 823
    functionName: CTG_FLAG_IS_UNKNOWN_STB
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_FLAG_IS_UNKNOWN_STB(_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 824
    functionName: CTG_FLAG_IS_SYS_DB
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_FLAG_IS_SYS_DB(_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 825
    functionName: CTG_FLAG_IS_FORCE_UPDATE
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_FLAG_IS_FORCE_UPDATE(_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 826
    functionName: CTG_FLAG_SET_SYS_DB
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_FLAG_SET_SYS_DB(_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _flag
    - ','
    - tbType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: CTG_FLAG_SET_STB
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_FLAG_SET_STB(_flag, tbType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _isStb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 834
    functionName: CTG_FLAG_MAKE_STB
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_FLAG_MAKE_STB(_isStb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _flag
    - ','
    - tbType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: CTG_FLAG_MATCH_STB
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_FLAG_MATCH_STB(_flag, tbType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _taskType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 842
    functionName: CTG_IS_BATCH_TASK
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_IS_BATCH_TASK(_taskType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _task
    - ','
    - _id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 845
    functionName: CTG_GET_TASK_MSGCTX
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_GET_TASK_MSGCTX(_task, _id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pMeta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 848
    functionName: CTG_META_SIZE
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_META_SIZE(pMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 850
    functionName: CTG_TABLE_NOT_EXIST
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_TABLE_NOT_EXIST(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 852
    functionName: CTG_DB_NOT_EXIST
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_DB_NOT_EXIST(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _csize
    - ','
    - _maxsize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 854
    functionName: CTG_CACHE_OVERFLOW
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_CACHE_OVERFLOW(_csize, _maxsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _csize
    - ','
    - _maxsize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 855
    functionName: CTG_CACHE_LOW
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_CACHE_LOW(_csize, _maxsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 857
    functionName: ctgFatal
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgFatal(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 858
    functionName: ctgError
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgError(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 859
    functionName: ctgWarn
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgWarn(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 860
    functionName: ctgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgInfo(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 861
    functionName: ctgDebug
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgDebug(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 862
    functionName: ctgTrace
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgTrace(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 864
    functionName: ctgTaskFatal
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgTaskFatal(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 865
    functionName: ctgTaskError
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgTaskError(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 866
    functionName: ctgTaskWarn
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgTaskWarn(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 867
    functionName: ctgTaskInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgTaskInfo(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 868
    functionName: ctgTaskDebug
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgTaskDebug(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 869
    functionName: ctgTaskTrace
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctgTaskTrace(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 876
    functionName: CTG_LOCK_DEBUG
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_LOCK_DEBUG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 882
    functionName: CTG_CACHE_DEBUG
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_CACHE_DEBUG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 888
    functionName: CTG_API_DEBUG
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_API_DEBUG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - _lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 919
    functionName: CTG_LOCK
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_LOCK(type, _lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - _lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 948
    functionName: CTG_UNLOCK
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_UNLOCK(type, _lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 957
    functionName: CTG_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 965
    functionName: CTG_RET
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 973
    functionName: CTG_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_ERR_JRET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 981
    functionName: CTG_API_LEAVE
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_API_LEAVE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 988
    functionName: CTG_API_NLEAVE
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_API_NLEAVE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 997
    functionName: CTG_API_ENTER
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_API_ENTER()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1006
    functionName: CTG_API_NENTER
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_API_NENTER()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1015
    functionName: CTG_API_JENTER
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_API_JENTER()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1022
    functionName: CTG_API_LEAVE_NOLOCK
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_API_LEAVE_NOLOCK(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1030
    functionName: CTG_API_ENTER_NOLOCK
    functionSourceFile: /src/tdengine/source/libs/catalog/inc/catalogInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTG_API_ENTER_NOLOCK()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:30,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:32,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:33,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - mgmt
    - rentSec
    - type
    - size
    argTypes:
    - SCtgRentMgmt*
    - uint32_t
    - int8_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: ctgMetaRentInit
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - qDebug
    - qError
    - taosMemoryCalloc
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgMetaRentInit(SCtgRentMgmt *mgmt, uint32_t rentSec, int8_t
      type, int32_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:44,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:49,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:51,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:53,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:55,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:59,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:60,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:61,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:67,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:71,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - mgmt
    - meta
    - id
    - size
    argTypes:
    - SCtgRentMgmt*
    - void*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 73
    functionName: ctgMetaRentAdd
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_RET
    - CTG_LOCK
    - qError
    - CTG_UNLOCK
    - qDebug
    - taosArrayInit
    - abs
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgMetaRentAdd(SCtgRentMgmt *mgmt, void *meta, int64_t id,
      int32_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:77,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:82,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:84,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:85,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:89,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:90,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:91,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:93,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:94,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:97,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:99,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:100,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:101,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:104,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:106,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:110,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:113,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:115,1
    - Dst: ctgMetaRentAdd
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:115,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 6
    argNames:
    - mgmt
    - meta
    - id
    - size
    - sortCompare
    - searchCompare
    argTypes:
    - SCtgRentMgmt*
    - void*
    - int64_t
    - int32_t
    - __compar_fn_t
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 119
    functionName: ctgMetaRentUpdate
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - taosArraySort
    - CTG_LOCK
    - ctgMetaRentAdd
    - CTG_UNLOCK
    - qDebug
    - TAOS_MEMCPY
    - taosArraySearch
    - taosArrayGetSize
    - abs
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgMetaRentUpdate(SCtgRentMgmt *mgmt, void *meta, int64_t
      id, int32_t size, __compar_fn_t sortCompare,\n                          __compar_fn_t
      searchCompare)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:122,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:127,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:129,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:130,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:134,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:136,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:139,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:141,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:142,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:145,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:148,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:152,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - mgmt
    - id
    - sortCompare
    - searchCompare
    argTypes:
    - SCtgRentMgmt*
    - int64_t
    - __compar_fn_t
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 155
    functionName: ctgMetaRentRemove
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - taosArraySort
    - CTG_LOCK
    - qError
    - CTG_UNLOCK
    - qDebug
    - taosArrayRemove
    - taosArraySearchIdx
    - abs
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgMetaRentRemove(SCtgRentMgmt *mgmt, int64_t id, __compar_fn_t
      sortCompare, __compar_fn_t searchCompare)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_16
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:158,1
    - Dst: atomic_store_16
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:161,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:167,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:169,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:174,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:176,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:182,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:184,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:185,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:188,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:190,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:191,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:194,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:198,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:202,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - mgmt
    - res
    - num
    - size
    argTypes:
    - SCtgRentMgmt*
    - void**
    - uint32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 205
    functionName: ctgMetaRentGetImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryMalloc
    - atomic_add_fetch_16
    - taosArrayGet
    - qError
    - qDebug
    - TAOS_MEMCPY
    - taosArrayGetSize
    - atomic_store_16
    - CTG_UNLOCK
    - CTG_LOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgMetaRentGetImpl(SCtgRentMgmt *mgmt, void **res, uint32_t
      *num, int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:209,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:210,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:214,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:218,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:225,1
    - Dst: ctgMetaRentGetImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - mgmt
    - res
    - num
    - size
    argTypes:
    - SCtgRentMgmt*
    - void**
    - uint32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: ctgMetaRentGet
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - ctgMetaRentGetImpl
    - CTG_ERR_RET
    - atomic_load_64
    - atomic_val_compare_exchange_64
    - qDebug
    - taosGetTimestampMs
    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:236,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:238,1
    - Dst: taosGetUInt64Aligned
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:239,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:241,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:243,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 248
    functionName: ctgRemoveStbRent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - ctgDebug
    - taosGetUInt64Aligned
    - taosHashGetKey
    - ctgMetaRentRemove
    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:255,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:260,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:261,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: ctgRemoveViewRent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - ctgMetaRentRemove
    - ctgDebug
    linkageType: ''
    returnType: void
    signature: void ctgRemoveViewRent(SCatalog *pCtg, SCtgDBCache *dbCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:271,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:275,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:278,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:279,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:280,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:283,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 287
    functionName: ctgRemoveTSMARent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - ctgDebug
    - ctgMetaRentRemove
    - CTG_UNLOCK
    - CTG_LOCK
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void ctgRemoveTSMARent(SCatalog *pCtg, SCtgDBCache *dbCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:301,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:302,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:304,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:304,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - pCtg
    - dbFName
    - tbName
    - dbId
    - suid
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - char*
    - uint64_t
    - uint64_t
    - SCtgTbCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 311
    functionName: ctgUpdateRentStbVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - tstrncpy
    - CTG_ERR_RET
    - ctgMetaRentUpdate
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgUpdateRentStbVersion(SCatalog *pCtg, char *dbFName, char
      *tbName, uint64_t dbId, uint64_t suid,\n                                SCtgTbCache
      *pCache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:319,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:320,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:322,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:322,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - pCtg
    - dbFName
    - viewName
    - dbId
    - viewId
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - char*
    - uint64_t
    - uint64_t
    - SCtgViewCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 328
    functionName: ctgUpdateRentViewVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - tstrncpy
    - CTG_ERR_RET
    - ctgMetaRentUpdate
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgUpdateRentViewVersion(SCatalog *pCtg, char *dbFName, char
      *viewName, uint64_t dbId, uint64_t viewId,\n                                SCtgViewCache
      *pCache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:333,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:335,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:337,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:337,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - STSMACache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 344
    functionName: ctgUpdateRentTSMAVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - tstrncpy
    - CTG_ERR_RET
    - ctgMetaRentUpdate
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateRentTSMAVersion(SCatalog *pCtg, char *dbFName, const
      STSMACache *pCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:65,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:68,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:70,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:77,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - inCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 87
    functionName: ctgRLockVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - ctgDebug
    - CTG_LOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgRLockVgInfo(SCatalog *pCtg, SCtgDBCache *dbCache, bool *inCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:90,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:93,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:94,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: ctgWLockVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - ctgDebug
    - CTG_LOCK
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgWLockVgInfo(SCatalog *pCtg, SCtgDBCache *dbCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ctgRLockDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_LOCK
    linkageType: ''
    returnType: void
    signature: void ctgRLockDbCfgInfo(SCtgDBCache *dbCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: ctgWLockDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_LOCK
    linkageType: ''
    returnType: void
    signature: void ctgWLockDbCfgInfo(SCtgDBCache *dbCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: ctgRUnlockVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    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:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ctgWUnlockVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ctgRUnlockDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: void ctgRUnlockDbCfgInfo(SCtgDBCache *dbCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: ctgWUnlockDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: void ctgWUnlockDbCfgInfo(SCtgDBCache *dbCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:111,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: ctgReleaseDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - taosHashRelease
    linkageType: ''
    returnType: void
    signature: void ctgReleaseDBCache(SCatalog *pCtg, SCtgDBCache *dbCache)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:116,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:117,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:124,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:124,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:126,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:126,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:131,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:132,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:137,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:142,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:146,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:147,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - pCache
    - acquire
    argTypes:
    - SCatalog*
    - char*
    - SCtgDBCache**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 155
    functionName: ctgAcquireDBCacheImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - ctgReleaseDBCache
    - taosHashGet
    - ctgTrace
    - taosHashAcquire
    - strchr
    - CTG_CACHE_NHIT_INC
    - strlen
    - CTG_CACHE_HIT_INC
    - CTG_LOCK
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgAcquireDBCacheImpl(SCatalog *pCtg, const char *dbFName,
      SCtgDBCache **pCache, bool acquire)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:158,1
    - Dst: ctgAcquireDBCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - SCtgDBCache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: ctgAcquireDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgAcquireDBCacheImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgAcquireDBCache(SCatalog *pCtg, const char *dbFName, SCtgDBCache
      **pCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:162,1
    - Dst: ctgAcquireDBCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - SCtgDBCache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: ctgGetDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgAcquireDBCacheImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetDBCache(SCatalog *pCtg, const char *dbFName, SCtgDBCache
      **pCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:166,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: ctgReleaseVgInfoToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    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:172,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:173,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - pCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - SCtgTbCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: ctgReleaseTbMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - taosHashRelease
    - ctgReleaseDBCache
    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:183,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:184,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - pCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - SCtgViewCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: ctgReleaseViewMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - taosHashRelease
    - ctgReleaseDBCache
    linkageType: ''
    returnType: void
    signature: void ctgReleaseViewMetaToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      SCtgViewCache *pCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:195,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:196,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - pCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - SCtgTbCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: ctgReleaseTbIndexToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - taosHashRelease
    - ctgReleaseDBCache
    linkageType: ''
    returnType: void
    signature: void ctgReleaseTbIndexToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      SCtgTbCache *pCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:206,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:207,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:211,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - pCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - SCtgTbCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: ctgReleaseVgMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - taosHashRelease
    - ctgReleaseDBCache
    - ctgRUnlockVgInfo
    linkageType: ''
    returnType: void
    signature: void ctgReleaseVgMetaToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      SCtgTbCache *pCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:218,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:219,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - pCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - SCtgTSMACache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: ctgReleaseTSMAToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - taosHashRelease
    - ctgReleaseDBCache
    linkageType: ''
    returnType: void
    signature: void ctgReleaseTSMAToCache(SCatalog* pCtg, SCtgDBCache* dbCache, SCtgTSMACache*
      pCache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:230,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:230,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:232,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:237,1
    - Dst: ctgRLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:237,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:239,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:245,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:247,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:254,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - SCtgDBCache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 262
    functionName: ctgAcquireVgInfoFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - ctgReleaseDBCache
    - ctgRLockVgInfo
    - ctgTrace
    - CTG_CACHE_NHIT_INC
    - ctgAcquireDBCache
    - CTG_CACHE_HIT_INC
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgAcquireVgInfoFromCache(SCatalog *pCtg, const char *dbFName,
      SCtgDBCache **pCache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:269,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:269,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:271,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:275,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:275,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:277,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:281,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:283,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:290,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:292,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:298,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - tbName
    - pDb
    - pTb
    argTypes:
    - SCatalog*
    - char*
    - char*
    - SCtgDBCache**
    - SCtgTbCache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 303
    functionName: ctgAcquireTbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - CTG_LOCK
    - ctgReleaseTbMetaToCache
    - CTG_META_NHIT_INC
    - ctgTrace
    - taosHashAcquire
    - ctgAcquireDBCache
    - CTG_META_HIT_INC
    - strlen
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgAcquireTbMetaFromCache(SCatalog *pCtg, const char *dbFName,
      const char *tbName, SCtgDBCache **pDb, SCtgTbCache **pTb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:312,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:312,1
    - Dst: ctgDebug
      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:315,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:319,1
    - Dst: ctgRLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:319,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:321,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:322,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:328,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:330,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:332,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:332,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:334,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:335,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:339,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:341,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:342,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:348,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:350,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:357,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:358,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:362,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:366,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - tbName
    - pDb
    - pTb
    argTypes:
    - SCatalog*
    - char*
    - char*
    - SCtgDBCache**
    - SCtgTbCache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 373
    functionName: ctgAcquireVgMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - ctgReleaseDBCache
    - CTG_LOCK
    - ctgRLockVgInfo
    - CTG_META_NHIT_INC
    - ctgTrace
    - CTG_UNLOCK
    - ctgRUnlockVgInfo
    - taosHashRelease
    - CTG_CACHE_NHIT_INC
    - taosHashAcquire
    - ctgAcquireDBCache
    - CTG_META_HIT_INC
    - strlen
    - CTG_CACHE_HIT_INC
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgAcquireVgMetaFromCache(SCatalog *pCtg, const char *dbFName,
      const char *tbName, SCtgDBCache **pDb,\n                                  SCtgTbCache
      **pTb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:431,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:433,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:437,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:437,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:439,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:440,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:444,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:446,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:448,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:454,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:456,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:462,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 5
    argNames:
    - dbCache
    - pCtg
    - dbFName
    - suid
    - pTb
    argTypes:
    - SCtgDBCache*
    - SCatalog*
    - char*
    - uint64_t
    - SCtgTbCache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 469
    functionName: ctgAcquireStbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - ctgReleaseTbMetaToCache
    - CTG_META_NHIT_INC
    - ctgTrace
    - taosHashRelease
    - taosHashAcquire
    - CTG_META_HIT_INC
    - strlen
    - CTG_LOCK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgAcquireStbMetaFromCache(SCtgDBCache *dbCache, SCatalog
      *pCtg, char *dbFName, uint64_t suid,\n                                   SCtgTbCache
      **pTb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:476,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:476,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:478,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:483,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:483,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:485,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:489,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:491,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:498,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:500,1
    - Dst: ctgReleaseTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:506,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - tbName
    - pDb
    - pTb
    argTypes:
    - SCatalog*
    - char*
    - char*
    - SCtgDBCache**
    - SCtgTbCache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 511
    functionName: ctgAcquireTbIndexFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - CTG_LOCK
    - ctgReleaseTbIndexToCache
    - taosHashAcquire
    - CTG_CACHE_NHIT_INC
    - ctgAcquireDBCache
    - strlen
    - CTG_CACHE_HIT_INC
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgAcquireTbIndexFromCache(SCatalog *pCtg, char *dbFName, char
      *tbName, SCtgDBCache **pDb, SCtgTbCache **pTb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:517,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:517,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:519,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - tbName
    - exist
    argTypes:
    - SCatalog*
    - char*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 513
    functionDepth: 5
    functionLinenumber: 513
    functionLinenumberEnd: 529
    functionName: ctgTbMetaExistInCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgAcquireTbMetaFromCache
    - CTG_ERR_RET
    - ctgReleaseTbMetaToCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTbMetaExistInCache(SCatalog *pCtg, const char *dbFName,
      const char *tbName, int32_t *exist)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:542,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:543,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:545,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:553,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:556,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:559,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:561,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:563,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:565,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:567,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:568,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:571,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:575,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:576,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:579,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:582,1
    - Dst: ctgAcquireStbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:582,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:584,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:585,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:587,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:595,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:596,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:597,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:598,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:601,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:603,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:606,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:608,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:609,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:612,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:613,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:615,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:622,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:629,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 6
    argNames:
    - pCtg
    - ctx
    - pDb
    - pTb
    - pTableMeta
    - dbFName
    argTypes:
    - SCatalog*
    - SCtgTbMetaCtx*
    - SCtgDBCache**
    - SCtgTbCache**
    - STableMeta**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 631
    functionName: ctgCopyTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - hasRefCol
    - taosMemoryMalloc
    - CTG_ERR_RET
    - cloneTableMeta
    - taosMemoryFreeClear
    - CTG_META_SIZE
    - withExtSchema
    - ctgAcquireStbMetaFromCache
    - TAOS_MEMCPY
    - taosHashRelease
    - CTG_UNLOCK
    - ctgError
    - taosMemoryCalloc
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgCopyTbMeta(SCatalog *pCtg, SCtgTbMetaCtx *ctx, SCtgDBCache
      **pDb, SCtgTbCache **pTb, STableMeta **pTableMeta,\n                      char
      *dbFName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:638,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:644,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:645,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:647,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:650,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:650,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:652,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:656,1
    - Dst: ctgCopyTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:656,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:658,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:660,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:666,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:667,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - pCtg
    - ctx
    - pTableMeta
    argTypes:
    - SCatalog*
    - SCtgTbMetaCtx*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 671
    functionName: ctgReadTbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 1
    functionsReached:
    - ctgAcquireTbMetaFromCache
    - ctgDebug
    - taosMemoryFreeClear
    - ctgReleaseTbMetaToCache
    - ctgCopyTbMeta
    - tstrncpy
    - CTG_FLAG_IS_SYS_DB
    - CTG_RET
    - ctgError
    - tNameGetFullDbName
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgReadTbMetaFromCache(SCatalog *pCtg, SCtgTbMetaCtx *ctx,
      STableMeta **pTableMeta)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:681,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:683,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:683,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:685,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:692,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:698,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:701,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:709,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:710,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:713,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:715,1
    - Dst: ctgAcquireStbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:715,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:718,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:724,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:725,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:726,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:730,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:732,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:738,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:740,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 673
    functionDepth: 5
    functionLinenumber: 673
    functionLinenumberEnd: 744
    functionName: ctgReadTbVerFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgAcquireTbMetaFromCache
    - ctgDebug
    - hasRefCol
    - CTG_ERR_RET
    - ctgReleaseTbMetaToCache
    - ctgAcquireStbMetaFromCache
    - taosHashGetKey
    - taosHashRelease
    - CTG_UNLOCK
    - ctgError
    - tNameGetFullDbName
    - 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,\n                              uint64_t
      *suid, char *stbName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:749,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:749,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:751,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:756,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - tbName
    - tbType
    argTypes:
    - SCatalog*
    - char*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 746
    functionDepth: 5
    functionLinenumber: 746
    functionLinenumberEnd: 761
    functionName: ctgReadTbTypeFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgAcquireTbMetaFromCache
    - ctgDebug
    - CTG_ERR_RET
    - ctgReleaseTbMetaToCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgReadTbTypeFromCache(SCatalog *pCtg, char *dbFName, char
      *tbName, int32_t *tbType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:766,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:766,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:768,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:774,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - tbName
    - tbType
    - suid
    argTypes:
    - SCatalog*
    - char*
    - char*
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 763
    functionDepth: 5
    functionLinenumber: 763
    functionLinenumberEnd: 779
    functionName: ctgReadTbTypeSuidFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgAcquireTbMetaFromCache
    - ctgDebug
    - CTG_ERR_RET
    - ctgReleaseTbMetaToCache
    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:788,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:792,1
    - Dst: ctgAcquireTbIndexFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:792,1
    - Dst: ctgReleaseTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:794,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:798,1
    - Dst: ctgCloneTableIndex
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:798,1
    - Dst: ctgReleaseTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:802,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 783
    functionDepth: 5
    functionLinenumber: 783
    functionLinenumberEnd: 805
    functionName: ctgReadTbIndexFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - ctgCloneTableIndex
    - ctgAcquireTbIndexFromCache
    - ctgReleaseTbIndexToCache
    - CTG_RET
    - tNameGetFullDbName
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgReadTbIndexFromCache(SCatalog *pCtg, SName *pTableName,
      SArray **pRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:811,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:811,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:813,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:815,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:819,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:823,1
    - Dst: ctgCloneDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:823,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:825,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:826,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:827,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:830,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:836,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - pDbCfg
    argTypes:
    - SCatalog*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 807
    functionDepth: 4
    functionLinenumber: 807
    functionLinenumberEnd: 841
    functionName: ctgReadDBCfgFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - ctgReleaseDBCache
    - CTG_ERR_RET
    - ctgTrace
    - TAOS_MEMCPY
    - CTG_CACHE_NHIT_INC
    - taosMemoryFree
    - ctgAcquireDBCache
    - CTG_UNLOCK
    - CTG_CACHE_HIT_INC
    - CTG_LOCK
    - ctgCloneDbCfgInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgReadDBCfgFromCache(SCatalog *pCtg, const char* dbFName,
      SDbCfgInfo* pDbCfg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:848,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:848,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:850,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:854,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:856,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:857,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:861,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:866,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - suid
    - stbName
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 843
    functionDepth: 4
    functionLinenumber: 843
    functionLinenumberEnd: 870
    functionName: ctgGetCachedStbNameFromSuid
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - ctgReleaseDBCache
    - CTG_ERR_RET
    - taosHashRelease
    - taosHashAcquire
    - ctgAcquireDBCache
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetCachedStbNameFromSuid(SCatalog* pCtg, char* dbFName,
      uint64_t suid, char **stbName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:876,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:876,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:878,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:884,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:885,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:892,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:893,1
    - Dst: ctgChkSetAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:894,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:895,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:896,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:902,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:907,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 5
    argNames:
    - pCtg
    - pReq
    - tbNotExists
    - inCache
    - pRes
    argTypes:
    - SCatalog*
    - SUserAuthInfo*
    - bool
    - bool*
    - SCtgAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 911
    functionName: ctgChkAuthFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - CTG_RET
    - ctgDebug
    - taosHashGet
    - ctgChkSetAuthRes
    - ctgTrace
    - CTG_UNLOCK
    - TAOS_MEMCPY
    - CTG_CACHE_NHIT_INC
    - strlen
    - CTG_CACHE_HIT_INC
    - CTG_LOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkAuthFromCache(SCatalog *pCtg, SUserAuthInfo *pReq, bool
      tbNotExists, bool *inCache, SCtgAuthRsp *pRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:916,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:916,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:923,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:925,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:926,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:927,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:929,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - pCtg
    - user
    - inCache
    - pRes
    argTypes:
    - SCatalog*
    - char*
    - bool*
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 937
    functionName: ctgGetUserAuthFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - taosHashGet
    - CTG_UNLOCK
    - TAOS_MEMCPY
    - CTG_CACHE_NHIT_INC
    - strlen
    - CTG_CACHE_HIT_INC
    - CTG_LOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetUserAuthFromCache(SCatalog *pCtg, const char *user, bool
      *inCache, SGetUserAuthRsp *pRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_QUEUE_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:945,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - op
    argTypes:
    - SCtgCacheOperation**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 950
    functionName: ctgDequeue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_QUEUE_DEC
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void ctgDequeue(SCtgCacheOperation **op)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:954,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:956,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:957,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:958,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:959,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:967,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:969,1
    - Dst: ctgFreeQNode
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:970,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:971,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:975,1
    - Dst: ctgFreeQNode
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:978,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:980,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:988,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:993,1
    - Dst: CTG_QUEUE_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:995,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:996,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:998,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1000,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1001,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1006,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1008,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1010,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1012,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1012,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1013,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1019,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1019,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 3
    argNames:
    - pCtg
    - operation
    - enqueued
    argTypes:
    - SCatalog*
    - SCtgCacheOperation*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 1022
    functionName: ctgEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - ctgDebug
    - CTG_QUEUE_INC
    - tsem_post
    - taosMemoryFreeClear
    - CTG_LOCK
    - tsem_wait
    - qError
    - tsem_init
    - tsem_destroy
    - CTG_UNLOCK
    - taosMemoryFree
    - TAOS_UNUSED
    - CTG_STAT_RT_INC
    - CTG_RET
    - taosMemoryCalloc
    - ctgFreeQNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgEnqueue(SCatalog *pCtg, SCtgCacheOperation *operation, bool
      *enqueued)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1026,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1028,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1029,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1035,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1037,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1038,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1039,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1042,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1043,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1048,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1053,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1053,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - dbId
    argTypes:
    - SCatalog*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1024
    functionDepth: 2
    functionLinenumber: 1024
    functionLinenumberEnd: 1060
    functionName: ctgDropDbCacheEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - tstrncpy
    - taosMemoryFree
    - strchr
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDropDbCacheEnqueue(SCatalog *pCtg, const char *dbFName,
      int64_t dbId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1064,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1066,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1067,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1073,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1075,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1076,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1077,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1080,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1081,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1086,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1090,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1090,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1096,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1097
    functionName: ctgDropDbVgroupEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - tstrncpy
    - taosMemoryFree
    - strchr
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDropDbVgroupEnqueue(SCatalog *pCtg, const char *dbFName,
      bool syncOp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1102,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1104,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1105,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1111,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1113,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1114,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1115,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1119,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1121,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1130,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1130,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 6
    argNames:
    - pCtg
    - dbFName
    - dbId
    - stbName
    - suid
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - int64_t
    - char*
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1099
    functionDepth: 2
    functionLinenumber: 1099
    functionLinenumberEnd: 1137
    functionName: ctgDropStbMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - tstrncpy
    - taosMemoryFree
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgDropStbMetaEnqueue(SCatalog *pCtg, const char *dbFName,
      int64_t dbId, const char *stbName, uint64_t suid,\n                              bool
      syncOp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1141,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1143,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1144,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1150,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1152,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1153,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1154,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1158,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1159,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1164,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1164,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - tbName
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - int64_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1139
    functionDepth: 2
    functionLinenumber: 1139
    functionLinenumberEnd: 1171
    functionName: ctgDropTbMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - tstrncpy
    - taosMemoryFree
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDropTbMetaEnqueue(SCatalog *pCtg, const char *dbFName, int64_t
      dbId, const char *tbName, bool syncOp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1175,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1177,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1178,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1184,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1186,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1187,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1188,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1189,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1192,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1193,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1197,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1199,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1200,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1201,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1202,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1205,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1212,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1212,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1218,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - dbInfo
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - int64_t
    - SDBVgInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1173
    functionDepth: 2
    functionLinenumber: 1173
    functionLinenumberEnd: 1220
    functionName: ctgUpdateVgroupEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - freeVgInfo
    - CTG_ERR_RET
    - ctgMakeVgArray
    - tstrncpy
    - taosMemoryFree
    - strchr
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateVgroupEnqueue(SCatalog *pCtg, const char *dbFName,
      int64_t dbId, SDBVgInfo *dbInfo, bool syncOp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1225,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1227,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1228,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1234,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1236,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1237,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1238,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1239,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1242,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1243,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1247,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1254,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1254,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1260,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - cfgInfo
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - int64_t
    - SDbCfgInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1223
    functionDepth: 2
    functionLinenumber: 1223
    functionLinenumberEnd: 1262
    functionName: ctgUpdateDbCfgEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - freeDbCfgInfo
    - tstrncpy
    - taosMemoryFree
    - strchr
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateDbCfgEnqueue(SCatalog *pCtg, const char *dbFName,
      int64_t dbId, SDbCfgInfo *cfgInfo, bool syncOp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1267,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1269,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1270,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1276,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1278,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1279,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1280,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1283,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1284,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1285,1
    - Dst: TAOS_MEMMOVE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1286,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1294,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1294,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1301,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1302,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1303,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - pCtg
    - output
    - syncOp
    argTypes:
    - SCatalog*
    - STableMetaOutput*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1265
    functionDepth: 2
    functionLinenumber: 1265
    functionLinenumberEnd: 1307
    functionName: ctgUpdateTbMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - TAOS_MEMMOVE
    - taosMemoryFree
    - strchr
    - strlen
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateTbMetaEnqueue(SCatalog *pCtg, STableMetaOutput *output,
      bool syncOp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1311,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1313,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1314,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1319,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1322,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1323,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1327,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1333,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1333,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - vgId
    - pEpSet
    argTypes:
    - SCatalog*
    - char*
    - int32_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1340
    functionName: ctgUpdateVgEpsetEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - tstrncpy
    - taosMemoryFree
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateVgEpsetEnqueue(SCatalog *pCtg, char *dbFName, int32_t
      vgId, SEpSet *pEpSet)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1345,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1347,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1348,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1354,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1356,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1357,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1358,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1366,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1379,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - pCtg
    - pAuth
    - syncOp
    argTypes:
    - SCatalog*
    - SGetUserAuthRsp*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1383
    functionName: ctgUpdateUserEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tFreeSGetUserAuthRsp
    - taosMemoryFree
    - taosMemoryCalloc
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateUserEnqueue(SCatalog *pCtg, SGetUserAuthRsp *pAuth,
      bool syncOp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1387,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1389,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1390,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1396,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1398,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1399,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1400,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1408,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1408,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1415,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1416,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - pCtg
    - pIndex
    - syncOp
    argTypes:
    - SCatalog*
    - STableIndex**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1385
    functionDepth: 2
    functionLinenumber: 1385
    functionLinenumberEnd: 1419
    functionName: ctgUpdateTbIndexEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - taosArrayDestroyEx
    - CTG_ERR_RET
    - taosMemoryFreeClear
    - taosMemoryFree
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateTbIndexEnqueue(SCatalog *pCtg, STableIndex **pIndex,
      bool syncOp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1423,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1425,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1426,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1432,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1435,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1436,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1440,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1441,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1445,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1445,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pCtg
    - pName
    - syncOp
    argTypes:
    - SCatalog*
    - SName*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1421
    functionDepth: 2
    functionLinenumber: 1421
    functionLinenumberEnd: 1452
    functionName: ctgDropTbIndexEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - tstrncpy
    - taosMemoryFree
    - CTG_RET
    - ctgError
    - tNameGetFullDbName
    - taosMemoryCalloc
    - ctgEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDropTbIndexEnqueue(SCatalog *pCtg, SName *pName, bool syncOp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1456,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1458,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1459,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1467,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1469,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1470,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1471,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1479,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1479,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 5
    argNames:
    - pCtg
    - clearMeta
    - freeCtg
    - stopQueue
    - syncOp
    argTypes:
    - SCatalog*
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1454
    functionDepth: 2
    functionLinenumber: 1454
    functionLinenumberEnd: 1486
    functionName: ctgClearCacheEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - taosMemoryFree
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgClearCacheEnqueue(SCatalog *pCtg, bool clearMeta, bool freeCtg,
      bool stopQueue, bool syncOp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1490,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1492,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1493,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1499,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1501,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1502,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1503,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1506,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1507,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1508,1
    - Dst: TAOS_MEMMOVE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1509,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1517,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1517,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1525,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1526,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pCtg
    - pRsp
    - syncOp
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1530
    functionName: ctgUpdateViewMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - CTG_RET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - tFreeSViewMetaRsp
    - TAOS_MEMMOVE
    - taosMemoryFree
    - strchr
    - strlen
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    - IS_SYS_DBNAME
    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:1534,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1536,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1537,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1543,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1545,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1546,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1547,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1551,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1552,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1558,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1558,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 6
    argNames:
    - pCtg
    - dbFName
    - dbId
    - viewName
    - viewId
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - char*
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1532
    functionDepth: 2
    functionLinenumber: 1532
    functionLinenumberEnd: 1565
    functionName: ctgDropViewMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - tstrncpy
    - taosMemoryFree
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1569,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1571,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1572,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1578,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1580,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1581,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1582,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1592,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1592,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - pCtg
    - pTsma
    - tsmaVersion
    - syncOp
    argTypes:
    - SCatalog*
    - STSMACache**
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1567
    functionDepth: 2
    functionLinenumber: 1567
    functionLinenumberEnd: 1600
    functionName: ctgUpdateTbTSMAEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - CTG_ERR_RET
    - taosMemoryFree
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateTbTSMAEnqueue(SCatalog *pCtg, STSMACache **pTsma,
      int32_t tsmaVersion, bool syncOp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1604,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1606,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1607,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1613,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1615,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1616,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1617,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1624,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1625,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1626,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1629,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1629,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - pCtg
    - pTsma
    - syncOp
    argTypes:
    - SCatalog*
    - STSMACache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1602
    functionDepth: 2
    functionLinenumber: 1602
    functionLinenumberEnd: 1636
    functionName: ctgDropTbTSMAEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - tstrncpy
    - taosMemoryFree
    - taosMemoryCalloc
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgEnqueue
    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:1640,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1642,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1643,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1646,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1648,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1649,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1650,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1660,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1661,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - pCtg
    - pCache
    - syncOp
    - ppOp
    argTypes:
    - SCatalog*
    - STSMACache*
    - bool
    - SCtgCacheOperation**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1639
    functionDepth: 1
    functionLinenumber: 1639
    functionLinenumberEnd: 1668
    functionName: createDropAllTbTsmaCtgCacheOp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - tstrncpy
    - taosMemoryFree
    - ctgError
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDropAllTbTsmaCtgCacheOp(SCatalog* pCtg, const STSMACache*
      pCache, bool syncOp, SCtgCacheOperation** ppOp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1671,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1678,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1680,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1680,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1685,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1685,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1690,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1692,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1696,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1698,1
    - Dst: createDropAllTbTsmaCtgCacheOp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1702,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1704,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1705,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1707,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1710,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1712,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1712,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1719,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1725,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1726,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1729,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - pCtg
    - pName
    - syncOp
    argTypes:
    - SCatalog*
    - SName*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1670
    functionDepth: 4
    functionLinenumber: 1670
    functionLinenumberEnd: 1730
    functionName: ctgDropTSMAForTbEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgDebug
    - ctgReleaseDBCache
    - CTG_LOCK
    - CTG_UNLOCK
    - createDropAllTbTsmaCtgCacheOp
    - taosHashAcquire
    - taosHashRelease
    - ctgAcquireDBCache
    - ctgEnqueue
    - taosMemoryFree
    - strlen
    - ctgError
    - tNameGetFullDbName
    - CTG_ERR_JRET
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDropTSMAForTbEnqueue(SCatalog *pCtg, SName *pName, bool
      syncOp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1734,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1736,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1737,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1743,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1745,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1746,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1747,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1754,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1758,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1758,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 5
    argNames:
    - pCtg
    - tsmaVersion
    - dbFName
    - dbId
    - syncOp
    argTypes:
    - SCatalog*
    - int32_t
    - char*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1732
    functionDepth: 2
    functionLinenumber: 1732
    functionLinenumberEnd: 1765
    functionName: ctgUpdateDbTsmaVersionEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryMalloc
    - memcpy
    - CTG_ERR_RET
    - taosMemoryFree
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateDbTsmaVersionEnqueue(SCatalog* pCtg, int32_t tsmaVersion,
      const char* dbFName, int64_t dbId, bool syncOp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1774,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1774,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1777,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1778,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1781,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1781,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: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1788,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1788,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1791,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1792,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1795,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1795,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1798,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1799,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1802,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1802,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1804,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1805,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1809,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1810,1
    - Dst: CTG_CACHE_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1813,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1816,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1818,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1820,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1821,1
    - Dst: ctgMetaRentAdd
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1821,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1823,1
    - Dst: ctgFreeDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1830,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1832,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - dbId
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1768
    functionDepth: 2
    functionLinenumber: 1768
    functionLinenumberEnd: 1833
    functionName: ctgAddNewDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgDebug
    - CTG_ERR_RET
    - ctgMetaRentAdd
    - ctgFreeDbCache
    - CTG_CACHE_NUM_INC
    - taosHashInit
    - tstrncpy
    - taosGetDefaultHashFunction
    - HASH_NODE_EXIST
    - strlen
    - ctgError
    - taosHashPut
    - CTG_ERR_JRET
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgAddNewDBCache(SCatalog *pCtg, const char *dbFName, uint64_t
      dbId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1838,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1840,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1842,1
    - Dst: ctgRemoveStbRent
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1843,1
    - Dst: ctgRemoveViewRent
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1844,1
    - Dst: ctgRemoveTSMARent
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1845,1
    - Dst: ctgFreeDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1846,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1848,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1850,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1850,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1851,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1853,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1853,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1854,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1855,1
    - Dst: CTG_CACHE_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1858,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - dbFName
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1835
    functionDepth: 3
    functionLinenumber: 1835
    functionLinenumberEnd: 1862
    functionName: ctgRemoveDBFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - strlen
    - CTG_CACHE_NUM_DEC
    - ctgDebug
    - CTG_ERR_RET
    - ctgRemoveStbRent
    - ctgFreeDbCache
    - taosHashRemove
    - ctgRemoveTSMARent
    - ctgRemoveViewRent
    - atomic_store_8
    - ctgMetaRentRemove
    - ctgInfo
    - CTG_UNLOCK
    - CTG_LOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgRemoveDBFromCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      const char *dbFName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1867,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1867,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1893,1
    - Dst: ctgRemoveDBFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1893,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1896,1
    - Dst: ctgAddNewDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1896,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1898,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - dbId
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - SCtgDBCache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1864
    functionDepth: 4
    functionLinenumber: 1864
    functionLinenumberEnd: 1903
    functionName: ctgGetAddDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgGetDBCache
    - ctgAddNewDBCache
    - ctgRemoveDBFromCache
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetAddDBCache(SCatalog *pCtg, const char *dbFName, uint64_t
      dbId, SCtgDBCache **pCache)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1908,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1909,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1910,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1914,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1914,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1923,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1924,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1929,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1931,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1932,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1933,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1935,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1936,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1945,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1945,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1946,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1947,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1948,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1951,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1951,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1951,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1953,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1953,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1955,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1958,1
    - Dst: CTG_META_NUM_DEC
      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:1963,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1963,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1963,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1965,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1968,1
    - Dst: CTG_META_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1971,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1973,1
    - Dst: ctgdShowTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1974,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1980,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1980,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1981,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1982,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1985,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1985,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1987,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1990,1
    - Dst: ctgUpdateRentStbVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1990,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 6
    argNames:
    - pCtg
    - dbCache
    - dbFName
    - dbId
    - tbName
    - meta
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - char*
    - uint64_t
    - char*
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1905
    functionDepth: 4
    functionLinenumber: 1905
    functionLinenumberEnd: 1993
    functionName: ctgWriteTbMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgUpdateRentStbVersion
    - ctgDebug
    - CTG_ERR_RET
    - CTG_META_NUM_INC
    - taosHashRemove
    - atomic_sub_fetch_64
    - taosHashGet
    - atomic_add_fetch_64
    - ctgdShowTableMeta
    - CTG_UNLOCK
    - taosMemoryFree
    - ctgGetTbMetaCacheSize
    - strlen
    - ctgError
    - taosHashPut
    - CTG_LOCK
    - CTG_META_NUM_DEC
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgWriteTbMetaToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      char *dbFName, uint64_t dbId, char *tbName,\n                              STableMeta
      *meta)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeSTableIndex
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1997,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1998,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1999,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2000,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2005,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2005,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2010,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2010,1
    - Dst: ctgFreeSTableIndex
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2011,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2012,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2013,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2014,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2017,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2017,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2017,1
    - Dst: CTG_DB_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2019,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2022,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2023,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2026,1
    - Dst: ctgUpdateRentStbVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2026,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2032,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2035,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2035,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2039,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2040,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2044,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2046,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2046,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2050,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2051,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2054,1
    - Dst: ctgUpdateRentStbVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 5
    argNames:
    - pCtg
    - dbCache
    - dbFName
    - tbName
    - index
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - char*
    - char*
    - STableIndex**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 1995
    functionDepth: 4
    functionLinenumber: 1995
    functionLinenumberEnd: 2058
    functionName: ctgWriteTbIndexToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgUpdateRentStbVersion
    - ctgDebug
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - CTG_ERR_RET
    - CTG_DB_NUM_INC
    - ctgFreeSTableIndex
    - atomic_sub_fetch_64
    - taosHashGet
    - atomic_add_fetch_64
    - ctgGetTbIndexCacheSize
    - CTG_UNLOCK
    - taosArrayGetSize
    - strlen
    - ctgError
    - taosHashPut
    - CTG_LOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgWriteTbIndexToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      char *dbFName, char *tbName, STableIndex **index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgWarn
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2063,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2064,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2067,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2067,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2072,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2072,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2073,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2074,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2077,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2077,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2077,1
    - Dst: CTG_DB_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2079,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2081,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2084,1
    - Dst: ctgUpdateRentViewVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2084,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2089,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2092,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2092,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2093,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2094,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2098,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2100,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2100,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2102,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2105,1
    - Dst: ctgUpdateRentViewVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2105,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2112,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2113,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 5
    argNames:
    - pCtg
    - dbCache
    - dbFName
    - viewName
    - pMeta
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - char*
    - char*
    - SViewMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2060
    functionDepth: 4
    functionLinenumber: 2060
    functionLinenumberEnd: 2117
    functionName: ctgWriteViewMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgDebug
    - ctgWarn
    - CTG_DB_NUM_INC
    - CTG_ERR_RET
    - CTG_LOCK
    - atomic_sub_fetch_64
    - taosHashGet
    - atomic_add_fetch_64
    - ctgGetViewMetaCacheSize
    - ctgFreeSViewMeta
    - CTG_UNLOCK
    - taosMemoryFree
    - ctgUpdateRentViewVersion
    - strlen
    - ctgError
    - taosHashPut
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgWriteViewMetaToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      char *dbFName, char *viewName, SViewMeta *pMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2123,1
    - Dst: ctgCloneMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2123,1
    - Dst: ctgUpdateTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2124,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2126,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2132,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCtg
    - pOut
    - syncReq
    argTypes:
    - SCatalog*
    - STableMetaOutput*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2119
    functionDepth: 3
    functionLinenumber: 2119
    functionLinenumberEnd: 2134
    functionName: ctgUpdateTbMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - ctgCloneMetaOutput
    - ctgFreeSTableMetaOutput
    - CTG_RET
    - ctgUpdateTbMetaEnqueue
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateTbMetaToCache(SCatalog *pCtg, STableMetaOutput *pOut,
      bool syncReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2137,1
    - Dst: ctgUpdateViewMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCtg
    - pRsp
    - syncReq
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2136
    functionDepth: 3
    functionLinenumber: 2136
    functionLinenumberEnd: 2138
    functionName: ctgUpdateViewMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgUpdateViewMetaEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateViewMetaToCache(SCatalog *pCtg, SViewMetaRsp *pRsp,
      bool syncReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2144,1
    - Dst: ctgClearHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2149,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2141
    functionDepth: 1
    functionLinenumber: 2141
    functionLinenumberEnd: 2154
    functionName: ctgClearAllHandles
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgClearHandle
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void ctgClearAllHandles(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2159,1
    - Dst: ctgFreeHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2164,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2167,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2156
    functionDepth: 1
    functionLinenumber: 2156
    functionLinenumberEnd: 2171
    functionName: ctgFreeAllHandles
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosHashClear
    - taosHashIterate
    - ctgFreeHandle
    linkageType: ''
    returnType: void
    signature: void ctgFreeAllHandles(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2184
    functionName: ctgVgInfoIdCompId
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgVgInfoIdCompId(void const *lp, void const *rp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2192,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2193,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2199,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2199,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2202,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2204,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2207,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2208,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2211,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2211,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2212,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2213,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2216,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2216,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2216,1
    - Dst: CTG_DB_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2218,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2219,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2221,1
    - Dst: ctgUpdateRentTSMAVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2221,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2227,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2232,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2234,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2235,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2239,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2244,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2245,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2246,1
    - Dst: tFreeTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2248,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2249,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2255,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2257,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2258,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2263,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2268,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2268,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2270,1
    - Dst: ctgUpdateRentTSMAVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2270,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2272,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2275,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2279,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 5
    argNames:
    - pCtg
    - dbCache
    - dbFName
    - tbName
    - ppTsmaCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - char*
    - char*
    - STSMACache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2189
    functionDepth: 4
    functionLinenumber: 2189
    functionLinenumberEnd: 2280
    functionName: ctgWriteTbTSMAToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - CTG_DB_NUM_INC
    - atomic_add_fetch_64
    - CTG_ERR_JRET
    - taosArrayGetP
    - CTG_UNLOCK
    - ctgError
    - CTG_LOCK
    - ctgGetTbTSMACacheSize
    - ctgDebug
    - CTG_RET
    - atomic_sub_fetch_64
    - taosArrayRemove
    - ctgUpdateRentTSMAVersion
    - CTG_ERR_RET
    - taosHashGet
    - tFreeTableTSMAInfo
    - taosArrayInit
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgWriteTbTSMAToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      char *dbFName, char *tbName,\n                              STSMACache **ppTsmaCache)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2294,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2294,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2295,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2296,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2297,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2305,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2305,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2307,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2308,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2313,1
    - Dst: ctgWLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2313,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2319,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2321,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2328,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2330,1
    - Dst: ctgGetDbVgroupCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2335,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2336,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2338,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2340,1
    - Dst: CTG_DB_NUM_RESET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2341,1
    - Dst: CTG_DB_NUM_SET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2351,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2353,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2356,1
    - Dst: ctgGetDbVgroupCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2358,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2359,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2360,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2365,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2366,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2366,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2372,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2373,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2375,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2283
    functionDepth: 5
    functionLinenumber: 2283
    functionLinenumberEnd: 2376
    functionName: ctgOpUpdateVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - atomic_add_fetch_64
    - ctgGetDbVgroupCacheSize
    - ctgMetaRentUpdate
    - CTG_DB_NUM_RESET
    - CTG_ERR_JRET
    - taosHashGetSize
    - ctgWUnlockVgInfo
    - ctgTrace
    - ctgGetAddDBCache
    - ctgWLockVgInfo
    - ctgDebug
    - freeVgInfo
    - atomic_sub_fetch_64
    - tstrncpy
    - ctgInfo
    - IS_SYS_DBNAME
    - CTG_RET
    - CTG_DB_NUM_SET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpUpdateVgroup(SCtgCacheOperation *operation)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2390,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2391,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2395,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2395,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2397,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2398,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2403,1
    - Dst: ctgWLockDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2420,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2422,1
    - Dst: ctgWUnlockDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2426,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2428,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2436,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2439,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2441,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2443,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2445,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2449,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2449,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2455,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2456,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2378
    functionDepth: 5
    functionLinenumber: 2378
    functionLinenumberEnd: 2459
    functionName: ctgOpUpdateDbCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgDebug
    - taosHashIterate
    - ctgWUnlockDbCfgInfo
    - taosMemoryFreeClear
    - CTG_LOCK
    - ctgWLockDbCfgInfo
    - freeDbCfgInfo
    - ctgMetaRentUpdate
    - ctgGetAddDBCache
    - tstrncpy
    - ctgInfo
    - CTG_UNLOCK
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpUpdateDbCfg(SCtgCacheOperation *operation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2472,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2472,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2478,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2483,1
    - Dst: ctgRemoveDBFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2483,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2487,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2489,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2462
    functionDepth: 4
    functionLinenumber: 2462
    functionLinenumberEnd: 2490
    functionName: ctgOpDropDbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgGetDBCache
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - ctgRemoveDBFromCache
    - ctgInfo
    - CTG_RET
    - CTG_ERR_JRET
    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:2502,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2502,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2507,1
    - Dst: ctgWLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2507,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2509,1
    - Dst: ctgGetDbVgroupCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2509,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2511,1
    - Dst: CTG_DB_NUM_RESET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2514,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2515,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2517,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2521,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2492
    functionDepth: 4
    functionLinenumber: 2492
    functionLinenumberEnd: 2524
    functionName: ctgOpDropDbVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgGetDBCache
    - ctgDebug
    - taosMemoryFreeClear
    - freeVgInfo
    - CTG_ERR_RET
    - atomic_sub_fetch_64
    - ctgGetDbVgroupCacheSize
    - ctgWUnlockVgInfo
    - ctgWLockVgInfo
    - CTG_DB_NUM_RESET
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpDropDbVgroup(SCtgCacheOperation *operation)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTG_IS_META_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2537,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2537,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2538,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2539,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2542,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2543,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2545,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2546,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2549,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2549,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2551,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2552,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2555,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2555,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2555,1
    - Dst: ctgWriteTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2556,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2558,1
    - Dst: CTG_IS_META_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2561,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2561,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2562,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2564,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2566,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2567,1
    - Dst: ctgWriteTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2567,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2571,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2571,1
    - Dst: ctgWriteTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2572,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2574,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2579,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2580,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2581,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2583,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2585,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2526
    functionDepth: 5
    functionLinenumber: 2526
    functionLinenumberEnd: 2586
    functionName: ctgOpUpdateTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 1
    functionsReached:
    - CTG_RET
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - ctgWriteTbMetaToCache
    - CTG_IS_META_TABLE
    - ctgGetAddDBCache
    - TAOS_MEMCPY
    - ctgInfo
    - CTG_IS_META_VCTABLE
    - CTG_IS_META_CTABLE
    - CTG_IS_META_BOTH
    - ctgError
    - CTG_ERR_JRET
    - CTG_IS_META_VBOTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpUpdateTbMeta(SCtgCacheOperation *operation)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2599,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2599,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2605,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2611,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2614,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2617,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2618,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2619,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2622,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2625,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2629,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2629,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2631,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2636,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2637,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2637,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2638,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2640,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2640,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2641,1
    - Dst: CTG_META_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2643,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2644,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2644,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2647,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2649,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2649,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2651,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2655,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2657,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2588
    functionDepth: 4
    functionLinenumber: 2588
    functionLinenumberEnd: 2658
    functionName: ctgOpDropStbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgGetDBCache
    - ctgDebug
    - taosMemoryFreeClear
    - CTG_RET
    - taosHashRemove
    - ctgFreeTbCacheImpl
    - atomic_sub_fetch_64
    - taosHashGet
    - ctgGetTbIndexCacheSize
    - ctgMetaRentRemove
    - tstrncpy
    - ctgGetTbMetaCacheSize
    - ctgInfo
    - strlen
    - ctgError
    - CTG_ERR_JRET
    - CTG_META_NUM_DEC
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpDropStbMeta(SCtgCacheOperation *operation)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2671,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2671,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2677,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2682,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2682,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2684,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2689,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2689,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2690,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2691,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2693,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2693,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2694,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2695,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2697,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2697,1
    - Dst: CTG_META_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2698,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2701,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2705,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2707,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2660
    functionDepth: 4
    functionLinenumber: 2660
    functionLinenumberEnd: 2708
    functionName: ctgOpDropTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgGetDBCache
    - ctgDebug
    - taosMemoryFreeClear
    - CTG_RET
    - ctgFreeTbCacheImpl
    - taosHashRemove
    - atomic_sub_fetch_64
    - taosHashGet
    - ctgGetTbIndexCacheSize
    - ctgGetTbMetaCacheSize
    - strlen
    - ctgError
    - CTG_ERR_JRET
    - CTG_META_NUM_DEC
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpDropTbMeta(SCtgCacheOperation *operation)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2719,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2719,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2727,1
    - Dst: ctgGetUserCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2728,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2730,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2730,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2731,1
    - Dst: CTG_ERR_JRET
      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: CTG_CACHE_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2737,1
    - Dst: ctgRemoveCacheUser
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2741,1
    - Dst: CTG_CACHE_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2742,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2747,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2750,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2752,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2761,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2763,1
    - Dst: ctgGetUserCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2763,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2767,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2769,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2771,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2772
      start: 2710
    functionDepth: 1
    functionLinenumber: 2710
    functionLinenumberEnd: 2772
    functionName: ctgOpUpdateUser
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgGetUserCacheSize
    - CTG_CACHE_NUM_DEC
    - CTG_RET
    - taosMemoryFreeClear
    - CTG_LOCK
    - CTG_CACHE_NUM_INC
    - taosHashGet
    - ctgRemoveCacheUser
    - CTG_UNLOCK
    - TAOS_MEMCPY
    - atomic_store_64
    - strlen
    - ctgError
    - taosHashPut
    - CTG_ERR_JRET
    - tFreeSGetUserAuthRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpUpdateUser(SCtgCacheOperation *operation)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2784,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2784,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2786,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2790,1
    - Dst: ctgWLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2790,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2794,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2798,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2800,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2804,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2806,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2812,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2822,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2825,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2827,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2774
    functionDepth: 4
    functionLinenumber: 2774
    functionLinenumberEnd: 2828
    functionName: ctgOpUpdateEpset
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgGetDBCache
    - ctgDebug
    - taosMemoryFreeClear
    - taosHashGet
    - ctgWUnlockVgInfo
    - taosArraySearch
    - ctgWLockVgInfo
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpUpdateEpset(SCtgCacheOperation *operation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2841,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2841,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2843,1
    - Dst: ctgWriteTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2843,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2848,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2849,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2852,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2830
    functionDepth: 5
    functionLinenumber: 2830
    functionLinenumberEnd: 2855
    functionName: ctgOpUpdateTbIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - ctgWriteTbIndexToCache
    - ctgGetAddDBCache
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpUpdateTbIndex(SCtgCacheOperation *operation)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2867,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2867,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2872,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2874,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2876,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2877,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2880,1
    - Dst: ctgWriteTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2880,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2885,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2886,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2889,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2892
      start: 2857
    functionDepth: 5
    functionLinenumber: 2857
    functionLinenumberEnd: 2892
    functionName: ctgOpDropTbIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgGetDBCache
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - ctgWriteTbIndexToCache
    - tstrncpy
    - taosMemoryCalloc
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpDropTbIndex(SCtgCacheOperation *operation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2903,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2909,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2909,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2911,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2912,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2915,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2917,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2920,1
    - Dst: dupViewMetaFromRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2920,1
    - Dst: ctgWriteViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2922,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2927,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2928,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2929,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2930,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2933
      start: 2895
    functionDepth: 5
    functionLinenumber: 2895
    functionLinenumberEnd: 2933
    functionName: ctgOpUpdateViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - taosMemoryFreeClear
    - tFreeSViewMetaRsp
    - dupViewMetaFromRsp
    - ctgWriteViewMetaToCache
    - ctgGetAddDBCache
    - ctgInfo
    - taosMemoryFree
    - taosMemoryCalloc
    - ctgFreeSViewMeta
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpUpdateViewMeta(SCtgCacheOperation *operation)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2946,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2946,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2952,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2957,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2957,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2959,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2965,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2969,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2969,1
    - Dst: ctgFreeViewCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2970,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2972,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2972,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2973,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2974,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2976,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2976,1
    - Dst: CTG_DB_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2977,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2980,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2982,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2982,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2984,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2988,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2990,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2935
    functionDepth: 4
    functionLinenumber: 2935
    functionLinenumberEnd: 2991
    functionName: ctgOpDropViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgGetDBCache
    - ctgDebug
    - taosMemoryFreeClear
    - CTG_RET
    - taosHashRemove
    - atomic_sub_fetch_64
    - taosHashGet
    - ctgGetViewMetaCacheSize
    - CTG_DB_NUM_DEC
    - ctgMetaRentRemove
    - strlen
    - ctgError
    - CTG_ERR_JRET
    - ctgFreeViewCacheImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpDropViewMeta(SCtgCacheOperation *operation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2998,1
    - Dst: ctgFreeHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3002,1
    - Dst: ctgClearHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3004,1
    - Dst: ctgFreeAllHandles
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3007,1
    - Dst: ctgClearAllHandles
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3009,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 2994
    functionDepth: 2
    functionLinenumber: 2994
    functionLinenumberEnd: 3013
    functionName: ctgClearFreeCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgFreeAllHandles
    - ctgFreeHandle
    - CTG_UNLOCK
    - ctgClearHandle
    - ctgClearAllHandles
    - CTG_LOCK
    linkageType: ''
    returnType: void
    signature: void ctgClearFreeCache(SCtgCacheOperation *operation)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ctgClearHandleMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3024,1
    - Dst: ctgClearAllHandleMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3026,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3029,1
    - Dst: ctgGetGlobalCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3031,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3032,1
    - Dst: CTG_CACHE_LOW
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3034,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3035,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3036,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3037,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3043,1
    - Dst: ctgClearFreeCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3044,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3045,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3046,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3051,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3053,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3053,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3054,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3055,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 3015
    functionDepth: 3
    functionLinenumber: 3015
    functionLinenumberEnd: 3058
    functionName: ctgClearMetaCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgClearFreeCache
    - ctgClearCacheEnqueue
    - ctgGetGlobalCacheSize
    - taosTmrReset
    - ctgClearHandleMeta
    - qError
    - atomic_load_32
    - qDebug
    - CTG_CACHE_LOW
    - ctgClearAllHandleMeta
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void ctgClearMetaCache(SCtgCacheOperation *operation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgClearMetaCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3065,1
    - Dst: ctgClearFreeCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3067,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3072,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3075
      start: 3060
    functionDepth: 4
    functionLinenumber: 3060
    functionLinenumberEnd: 3075
    functionName: ctgOpClearCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgClearMetaCache
    - taosMemoryFreeClear
    - CTG_RET
    - ctgClearFreeCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpClearCache(SCtgCacheOperation *operation)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3088,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3088,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3093,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3093,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3101,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3104,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3106,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3110,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3111,1
    - Dst: CTG_DB_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3113,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3116,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3120,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3121,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3123,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3123,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3126,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3128,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3130,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3132,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3137,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3142,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3144,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3153,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3154,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3156,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3157,1
    - Dst: CTG_DB_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3159,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3165,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3168,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3172,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3174,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3175
      start: 3078
    functionDepth: 4
    functionLinenumber: 3078
    functionLinenumberEnd: 3175
    functionName: ctgOpDropTbTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - CTG_DB_NUM_DEC
    - CTG_ERR_JRET
    - taosArrayGetP
    - ctgGetDBCache
    - ctgMetaRentRemove
    - CTG_UNLOCK
    - ctgError
    - CTG_LOCK
    - ctgGetTbTSMACacheSize
    - ctgDebug
    - CTG_RET
    - taosHashRemove
    - atomic_sub_fetch_64
    - taosArrayRemove
    - taosHashGet
    - taosArrayDestroyP
    - tFreeAndClearTableTSMAInfo
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpDropTbTSMA(SCtgCacheOperation *operation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3186,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3196,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3196,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pDbCache
    - pMsg
    argTypes:
    - SCtgDBCache*
    - SCtgUpdateTbTSMAMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3177
    functionDepth: 3
    functionLinenumber: 3177
    functionLinenumberEnd: 3201
    functionName: ctgOpUpdateDbRentForTsmaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - tstrncpy
    - CTG_ERR_JRET
    - ctgMetaRentUpdate
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpUpdateDbRentForTsmaVersion(SCtgDBCache* pDbCache, SCtgUpdateTbTSMAMsg*
      pMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3214,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3214,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3215,1
    - Dst: ctgWriteTbTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3215,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3216,1
    - Dst: ctgOpUpdateDbRentForTsmaVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3216,1
    - Dst: tFreeTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3221,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:3225,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3203
    functionDepth: 5
    functionLinenumber: 3203
    functionLinenumberEnd: 3228
    functionName: ctgOpUpdateTbTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ctgWriteTbTSMAToCache
    - tFreeTableTSMAInfo
    - ctgGetAddDBCache
    - ctgOpUpdateDbRentForTsmaVersion
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpUpdateTbTSMA(SCtgCacheOperation *operation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3238,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3238,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3239,1
    - Dst: ctgOpUpdateDbRentForTsmaVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3239,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3242,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3244
      start: 3230
    functionDepth: 5
    functionLinenumber: 3230
    functionLinenumberEnd: 3244
    functionName: ctgOpUpdateDbTsmaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ctgGetAddDBCache
    - ctgOpUpdateDbRentForTsmaVersion
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgOpUpdateDbTsmaVersion(SCtgCacheOperation *pOper)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3255,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3256,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3261,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3262,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3263,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:3276,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3281,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3282,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3288,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3289,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3291,1
    - Dst: tFreeTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3297,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3298,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3303,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 1
    argNames:
    - op
    argTypes:
    - SCtgCacheOperation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3247
    functionDepth: 1
    functionLinenumber: 3247
    functionLinenumberEnd: 3307
    functionName: ctgFreeCacheOperationData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - freeVgInfo
    - taosArrayDestroyEx
    - qError
    - tFreeTableTSMAInfo
    - tFreeSGetUserAuthRsp
    linkageType: ''
    returnType: void
    signature: void ctgFreeCacheOperationData(SCtgCacheOperation *op)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3323,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3326,1
    - Dst: ctgFreeCacheOperationData
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3328,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3329,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3333,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3335,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3335,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3338,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3343,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3349,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3309
    functionDepth: 2
    functionLinenumber: 3309
    functionLinenumberEnd: 3357
    functionName: ctgCleanupCacheQueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - taosMemoryFreeClear
    - tsem_post
    - qError
    - taosUsleep
    - ctgFreeCacheOperationData
    - taosMemoryFree
    - tstrerror
    - CTG_STAT_RT_INC
    linkageType: ''
    returnType: void
    signature: void ctgCleanupCacheQueue(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3360,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3363,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3366,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3367,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3370,1
    - Dst: ctgCleanupCacheQueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3371,1
    - Dst: ctgDequeue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3376,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3379,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3384,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3386,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3386,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3389,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3392,1
    - Dst: ctgdShowCacheInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3394,1
    - Dst: ctgdShowStatInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3395,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3401
      start: 3359
    functionDepth: 3
    functionLinenumber: 3359
    functionLinenumberEnd: 3401
    functionName: ctgUpdateThreadFunc
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - taosMemoryFreeClear
    - tsem_post
    - tsem_wait
    - atomic_load_8
    - qError
    - ctgdShowCacheInfo
    - qInfo
    - ctgdShowStatInfo
    - ctgDequeue
    - setThreadName
    - ctgCleanupCacheQueue
    - tstrerror
    - CTG_STAT_RT_INC
    - ctgError
    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:3406,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3406,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3407,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3407,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3409,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3409,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3412,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3413,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3414,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3417,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3422,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3427
      start: 3403
    functionDepth: 1
    functionLinenumber: 3403
    functionLinenumberEnd: 3427
    functionName: ctgStartUpdateThread
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrDestroy
    - CTG_ERR_RET
    - taosThreadAttrSetStackSize
    - taosThreadAttrSetDetachState
    - taosThreadCreate
    - CTG_ERR_JRET
    - taosThreadAttrInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgStartUpdateThread()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3430,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3431,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3434,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3434,1
    - Dst: CTG_FLAG_MATCH_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3437,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3438,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3438,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3442,1
    - Dst: CTG_FLAG_IS_UNKNOWN_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3446,1
    - Dst: CTG_FLAG_SET_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pCtg
    - ctx
    - pTableMeta
    argTypes:
    - SCatalog*
    - SCtgTbMetaCtx*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3429
    functionDepth: 6
    functionLinenumber: 3429
    functionLinenumberEnd: 3451
    functionName: ctgGetTbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - CTG_FLAG_IS_UNKNOWN_STB
    - CTG_FLAG_SET_STB
    - CTG_FLAG_MATCH_STB
    - CTG_FLAG_IS_FORCE_UPDATE
    - CTG_FLAG_SET_SYS_DB
    - CTG_FLAG_IS_SYS_DB
    - IS_SYS_DBNAME
    - ctgReadTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbMetaFromCache(SCatalog *pCtg, SCtgTbMetaCtx *ctx, STableMeta
      **pTableMeta)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3455,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3456,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3460,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3465,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3466,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3470,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3470,1
    - Dst: CTG_FLAG_MATCH_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3474,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3475,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3475,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3478,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3484,1
    - Dst: CTG_FLAG_IS_UNKNOWN_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3487,1
    - Dst: CTG_FLAG_SET_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3488,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3496,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3499,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3503,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - ctx
    - pResList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbMetasCtx*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3507
      start: 3454
    functionDepth: 6
    functionLinenumber: 3454
    functionLinenumberEnd: 3507
    functionName: ctgGetTbMetaBFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - taosArrayGet
    - CTG_FLAG_IS_UNKNOWN_STB
    - CTG_FLAG_SET_STB
    - TSWAP
    - CTG_FLAG_MATCH_STB
    - CTG_FLAG_IS_FORCE_UPDATE
    - CTG_FLAG_SET_SYS_DB
    - taosArrayGetSize
    - CTG_FLAG_IS_SYS_DB
    - taosArrayInit
    - IS_SYS_DBNAME
    - ctgReadTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbMetaBFromCache(SCatalog* pCtg, SRequestConnInfo *pConn,
      SCtgTbMetasCtx* ctx, SArray** pResList)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3512,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3519,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3521,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3521,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3525,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3526,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3527,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3529,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3534,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3534,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3537,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3539,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3539,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3540,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3541,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3549,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3551,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3551,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3552,1
    - Dst: CTG_FLAG_SET_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3557,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3560,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3560,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3562,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3563,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3563,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3564,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3565,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3568,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3573,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3575,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3576,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3578,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3580,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3580,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3581,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3582,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3585,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3592,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3604,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3606,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3607,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3610,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3611,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3613,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3616,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3617,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3626,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3628,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3629,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3630,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3633,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3635,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3636,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3638,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3641,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3642,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3650,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3653,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3655,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3656,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3659,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3662,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:3665,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3666,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3668,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3671,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3673,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3674,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3676,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3679,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3681,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3682,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3682,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3683,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3684,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3686,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3688,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3692,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3692,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3694,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3695,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3697,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3697,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3698,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3699,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3701,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3703,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3708,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3710,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3712,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3713,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3714,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3716,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3716,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3717,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3718,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3721,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3723,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3729,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3730,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3732,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3735,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3735,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3736,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3737,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3740,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3742,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3747,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3750,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3751,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3753,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3754,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3755,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3758,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3759,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3761,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3769,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3774,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3776,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3777,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3779,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3782,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3783,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3791,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3792,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 199
    argCount: 8
    argNames:
    - pCtg
    - pConn
    - ctx
    - dbIdx
    - fetchIdx
    - baseResIdx
    - pList
    - autoCreate
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbMetasCtx*
    - int32_t
    - int32_t*
    - int32_t
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3510
    functionDepth: 4
    functionLinenumber: 3510
    functionLinenumberEnd: 3795
    functionName: ctgGetTbMetasFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - hasRefCol
    - taosMemoryFreeClear
    - cloneTableMeta
    - CTG_FLAG_SET_STB
    - TAOS_MEMCPY
    - CTG_META_HIT_INC
    - CTG_ERR_JRET
    - CTG_META_SIZE
    - withExtSchema
    - taosArrayGet
    - ctgReleaseDBCache
    - ctgReleaseTbMetaToCache
    - CTG_META_NHIT_INC
    - ctgTrace
    - taosArrayGetSize
    - CTG_UNLOCK
    - ctgError
    - CTG_LOCK
    - taosMemoryCalloc
    - ctgDebug
    - taosHashRelease
    - tstrncpy
    - ctgAcquireDBCache
    - IS_SYS_DBNAME
    - taosMemoryMalloc
    - CTG_ERR_RET
    - ctgAddFetch
    - taosHashAcquire
    - CTG_FLAG_SET_SYS_DB
    - strlen
    - tNameGetFullDbName
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetTbMetasFromCache(SCatalog *pCtg, SRequestConnInfo *pConn,
      SCtgTbMetasCtx *ctx, int32_t dbIdx,\n                               int32_t
      *fetchIdx, int32_t baseResIdx, SArray *pList, bool autoCreate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3804,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3804,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3808,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3811,1
    - Dst: ctgDropStbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3811,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3813,1
    - Dst: ctgDropTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3813,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3814,1
    - Dst: ctgDropStbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3814,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3816,1
    - Dst: ctgDropTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3816,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3819,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3822,1
    - Dst: ctgDropTSMAForTbEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3822,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3826,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - syncReq
    - related
    argTypes:
    - SCatalog*
    - SName*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3829
      start: 3797
    functionDepth: 6
    functionLinenumber: 3797
    functionLinenumberEnd: 3829
    functionName: ctgRemoveTbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - taosMemoryFreeClear
    - ctgDropStbMetaEnqueue
    - ctgDropTbMetaEnqueue
    - CTG_RET
    - tNameGetFullDbName
    - CTG_ERR_JRET
    - ctgDropTSMAForTbEnqueue
    - ctgReadTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgRemoveTbMetaFromCache(SCatalog *pCtg, SName *pTableName,
      bool syncReq, bool related)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3833,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3839,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3841,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3841,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3842,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3845,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3846,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3847,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3849,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3852,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3854,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3854,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3855,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 7
    argNames:
    - pCtg
    - pConn
    - ctx
    - dbIdx
    - fetchIdx
    - baseResIdx
    - pList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbNamesCtx*
    - int32_t
    - int32_t*
    - int32_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3862
      start: 3831
    functionDepth: 1
    functionLinenumber: 3831
    functionLinenumberEnd: 3862
    functionName: ctgGetTbNamesFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - taosArrayGet
    - ctgAddFetch
    - tstrncpy
    - taosArrayGetSize
    - CTG_FLAG_SET_SYS_DB
    - ctgError
    - tNameGetFullDbName
    - CTG_ERR_JRET
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetTbNamesFromCache(SCatalog *pCtg, SRequestConnInfo *pConn,
      SCtgTbNamesCtx *ctx, int32_t dbIdx,\n                               int32_t
      *fetchIdx, int32_t baseResIdx, SArray *pList)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3865,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3866,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3867,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3873,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3875,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3875,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3882,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3884,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3886,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3886,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3891,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3895,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3898,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3864
    functionDepth: 5
    functionLinenumber: 3864
    functionLinenumberEnd: 3899
    functionName: ctgGetTbHashVgroupFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - ctgGetVgInfoFromHashValue
    - ctgReleaseVgInfoToCache
    - CTG_RET
    - ctgError
    - tNameGetFullDbName
    - taosMemoryCalloc
    - IS_SYS_DBNAME
    - ctgAcquireVgInfoFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbHashVgroupFromCache(SCatalog *pCtg, const SName *pTableName,
      SVgroupInfo **pVgroup)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3904,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3910,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3912,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3912,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3916,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3917,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3918,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3920,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3925,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3925,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3928,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3930,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3930,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3931,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3932,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3940,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3942,1
    - Dst: taosArrayGetSize
      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: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3946,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3946,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3948,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3949,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3949,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3950,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3951,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3953,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3958,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3960,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3961,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3962,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3963,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3963,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3964,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3965,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3967,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3972,1
    - Dst: taosMemoryCalloc
      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: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3978,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3981,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3982,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3983,1
    - Dst: ctgReleaseViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3985,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3987,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3988,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3989,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3990,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3992,1
    - Dst: ctgReleaseViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3994,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3995,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3996,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3997,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3999,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4001,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4002,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4004,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4007,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4008,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4014,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 86
    argCount: 7
    argNames:
    - pCtg
    - pConn
    - ctx
    - dbIdx
    - fetchIdx
    - baseResIdx
    - pList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgViewsCtx*
    - int32_t
    - int32_t*
    - int32_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4017
      start: 3902
    functionDepth: 4
    functionLinenumber: 3902
    functionLinenumberEnd: 4017
    functionName: ctgGetViewsFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrdup
    - TAOS_MEMCPY
    - CTG_CACHE_NHIT_INC
    - ctgFreeSViewMeta
    - CTG_ERR_JRET
    - ctgReleaseDBCache
    - taosArrayGet
    - ctgReleaseViewMetaToCache
    - taosArrayGetSize
    - CTG_UNLOCK
    - ctgError
    - CTG_CACHE_HIT_INC
    - CTG_LOCK
    - taosMemoryCalloc
    - ctgDebug
    - taosHashRelease
    - tstrncpy
    - ctgAcquireDBCache
    - IS_SYS_DBNAME
    - taosMemoryMalloc
    - CTG_ERR_RET
    - ctgAddFetch
    - taosHashAcquire
    - taosMemoryFree
    - CTG_FLAG_SET_SYS_DB
    - strlen
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetViewsFromCache(SCatalog *pCtg, SRequestConnInfo *pConn,
      SCtgViewsCtx *ctx, int32_t dbIdx,\n                               int32_t *fetchIdx,
      int32_t baseResIdx, SArray *pList)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4028,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4030,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4032,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4032,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4036,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4039,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4042,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4042,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4044,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4046,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4046,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4047,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4048,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4057,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4059,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4059,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4060,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4063,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4063,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4065,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4066,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4066,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4067,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4068,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4074,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4076,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4077,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4079,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4079,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4080,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4081,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4084,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4090,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4092,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4097,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4099,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4099,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4099,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4100,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4102,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4104,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4104,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4105,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4106,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4114,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4114,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4116,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:4118,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4122,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4124,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4125,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4126,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4128,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4129,1
    - Dst: hasOutOfDateTSMACache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4133,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4134,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4136,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4138,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4138,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4139,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4140,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4141,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4144,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4145,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4147,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4148,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4152,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4154,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4156,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4157,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4160,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4162,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4163,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4164,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4170,1
    - Dst: tCloneTbTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4171,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4173,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4174,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4175,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4176,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4179,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4180,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4181,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4182,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4183,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4187,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4188,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4189,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4190,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4196,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4198,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 131
    argCount: 6
    argNames:
    - pCtg
    - pCtx
    - dbIdx
    - fetchIdx
    - baseResIdx
    - pList
    argTypes:
    - SCatalog*
    - SCtgTbTSMACtx*
    - int32_t
    - int32_t*
    - int32_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4199
      start: 4019
    functionDepth: 4
    functionLinenumber: 4019
    functionLinenumberEnd: 4199
    functionName: ctgGetTbTSMAFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - TMIN
    - tFreeTableTSMAInfoRsp
    - snprintf
    - CTG_CACHE_NHIT_INC
    - CTG_ERR_JRET
    - taosArrayGetP
    - hasOutOfDateTSMACache
    - ctgReleaseDBCache
    - taosArrayGet
    - ctgTrace
    - taosArrayGetSize
    - CTG_UNLOCK
    - ctgError
    - CTG_CACHE_HIT_INC
    - CTG_LOCK
    - taosMemoryCalloc
    - CTG_RET
    - ctgDebug
    - ctgAddTSMAFetch
    - taosHashRelease
    - ctgAcquireDBCache
    - tCloneTbTSMAInfo
    - IS_SYS_DBNAME
    - CTG_ERR_RET
    - taosHashAcquire
    - taosArrayInit
    - ctgReleaseTSMAToCache
    - strlen
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetTbTSMAFromCache(SCatalog* pCtg, SCtgTbTSMACtx* pCtx,
      int32_t dbIdx, int32_t* fetchIdx, int32_t baseResIdx,\n                              SArray*
      pList)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4209,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4211,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4211,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4213,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4214,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4217,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4222,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4225,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4227,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4231,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4233,1
    - Dst: tCloneTbTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4234,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4238,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4244,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4247,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4250,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4252,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4253,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4257,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4259,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4260,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4263,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4264,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4265,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4268,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4269,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4275,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4277,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - pCtg
    - pCtx
    - pTsmaName
    argTypes:
    - SCatalog*
    - SCtgTbTSMACtx*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4278
      start: 4201
    functionDepth: 4
    functionLinenumber: 4201
    functionLinenumberEnd: 4278
    functionName: ctgGetTSMAFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashCancelIterate
    - CTG_CACHE_NHIT_INC
    - CTG_ERR_JRET
    - taosArrayGetP
    - ctgReleaseDBCache
    - ctgTrace
    - CTG_UNLOCK
    - ctgError
    - taosMemoryCalloc
    - CTG_LOCK
    - memcmp
    - ctgAcquireDBCache
    - tCloneTbTSMAInfo
    - taosHashIterate
    - CTG_ERR_RET
    - tFreeAndClearTableTSMAInfo
    - taosArrayInit
    - CTG_RET
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTSMAFromCache(SCatalog* pCtg, SCtgTbTSMACtx* pCtx, SName*
      pTsmaName)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:27,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:29,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:29,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:31,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:37,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:38,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:40,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:44,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:47,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:56,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:60,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:63,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:64,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:66,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:67,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:68,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:70,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:71,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:75,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:78,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:79,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:81,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:82,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:85,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:88,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:89,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:91,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:92,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:95,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:98,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:99,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:101,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:102,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:105,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:109,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:111,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:112,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:115,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:118,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:119,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:121,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:122,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:125,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:128,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:129,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:131,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:132,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:135,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 3
    argNames:
    - pResult
    - param
    - code
    argTypes:
    - SMetaData*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 137
    functionName: ctgdUserCallback
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qDebug
    - taosMemoryFree
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void ctgdUserCallback(SMetaData *pResult, void *param, int32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:156,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:158,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:160,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:161,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:163,1
    - Dst: tNameFromString
      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: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:174,1
    - Dst: tNameFromString
      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:177,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:179,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:180,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:182,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:183,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:185,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:186,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:188,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:189,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:190,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:191,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:193,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:194,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:196,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:198,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:200,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:202,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:203,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:205,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:207,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:209,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:211,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:216,1
    - Dst: catalogAsyncGetAllMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:216,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: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: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:225,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - reqId
    - forceUpdate
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 228
    functionName: ctgdLaunchAsyncCall
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tNameFromString
    - CTG_ERR_JRET
    - tstrncpy
    - taosArrayInit
    - catalogAsyncGetAllMeta
    - CTG_RET
    - taosArrayDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgdLaunchAsyncCall(SCatalog *pCtg, SRequestConnInfo *pConn,
      uint64_t reqId, bool forceUpdate)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:232,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:234,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:238,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:240,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:244,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:246,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:250,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:252,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:256,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:258,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:262,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:265,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:271,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:274,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - option
    - enable
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 282
    functionName: ctgdEnableDebug
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 3
    functionsReached:
    - qDebug
    - taosHashIterate
    - qError
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgdEnableDebug(char *option, bool enable)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:286,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:289,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:290,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:293,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:295,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:304,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:329,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:330,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:334,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:335,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:338,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:340,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:342,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:344,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 345
    functionName: ctgdHandleDbgCommand
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgdEnableDebug
    - taosStr2Int32
    - taosMemoryFree
    - strlen
    - isspace
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgdHandleDbgCommand(char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:350,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SCatalog**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: ctgdGetOneHandle
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 1
    functionsReached:
    - taosHashIterate
    - taosHashCancelIterate
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgdGetOneHandle(SCatalog **pHandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:365,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:366,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - option
    - res
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 373
    functionName: ctgdGetStatNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 11
    functionsReached:
    - atomic_load_64
    - qError
    - strcasecmp
    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:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: ctgdGetTbMetaNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 0
    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:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: ctgdGetViewNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 0
    functionsReached:
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgdGetViewNum(SCtgDBCache *dbCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: ctgdGetStbNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 0
    functionsReached:
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgdGetStbNum(SCtgDBCache *dbCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - rent
    argTypes:
    - SCtgRentMgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 399
    functionName: ctgdGetRentNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgdGetRentNum(SCtgRentMgmt *rent)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:408,1
    - Dst: ctgdGetRentNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:410,1
    - Dst: ctgdGetRentNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:412,1
    - Dst: ctgdGetRentNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:414,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:421,1
    - Dst: ctgdGetTbMetaNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:426,1
    - Dst: ctgdGetStbNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:429,1
    - Dst: ctgdGetViewNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:432,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:435,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:438,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - pCtg
    - type
    argTypes:
    - SCatalog*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 442
    functionName: ctgdGetClusterCacheNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 13
    functionsReached:
    - taosHashIterate
    - ctgdGetViewNum
    - taosHashGetSize
    - ctgdGetStbNum
    - ctgError
    - ctgdGetTbMetaNum
    - ctgdGetRentNum
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgdGetClusterCacheNum(SCatalog *pCtg, int32_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:452,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:456,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pCtg
    - tbName
    - p
    argTypes:
    - SCatalog*
    - char*
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 467
    functionName: ctgdShowTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 1
    functionsReached:
    - ctgDebug
    linkageType: ''
    returnType: void
    signature: void ctgdShowTableMeta(SCatalog *pCtg, const char *tbName, STableMeta
      *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:476,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:483,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:485,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:488,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:489,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:504,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:508,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: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:528,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:535,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:551,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:554,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - pCtg
    - dbHash
    argTypes:
    - SCatalog*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 556
    functionName: ctgdShowDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - ctgDebug
    - taosHashGetSize
    - taosHashGetKey
    - CTG_UNLOCK
    - CTG_LOCK
    linkageType: ''
    returnType: void
    signature: void ctgdShowDBCache(SCatalog *pCtg, SHashObj *dbHash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:563,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:564,1
    - Dst: ctgdGetClusterCacheNum
      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: ctgdGetClusterCacheNum
      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: ctgdShowDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:569,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 572
    functionName: ctgdShowClusterCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 0
    functionsReached:
    - ctgdShowDBCache
    - ctgDebug
    - ctgdGetClusterCacheNum
    linkageType: ''
    returnType: void
    signature: void ctgdShowClusterCache(SCatalog *pCtg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:579,1
    - Dst: ctgGetGlobalCacheStat
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:584,1
    - Dst: ctgGetGlobalCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:585,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:587,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:588,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:590,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:592,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:593,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 596
    functionName: ctgdShowStatInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 1
    functionsReached:
    - ctgGetGlobalCacheSize
    - CTG_API_LEAVE
    - qDebug
    - CTG_API_ENTER
    - 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:604,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:606,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:606,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:609,1
    - Dst: ctgdShowClusterCache
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:614,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:617,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 599
    functionDepth: 4
    functionLinenumber: 599
    functionLinenumberEnd: 621
    functionName: ctgdShowCacheInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: 1
    functionsReached:
    - taosHashIterate
    - ctgdShowClusterCache
    - taosHashGetSize
    - CTG_API_LEAVE
    - qDebug
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgdShowCacheInfo(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:29,1
    - Dst: tDeserializeSBatchRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:37,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:39,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:40,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:43,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:47,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:51,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:52,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:54,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:54,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:56,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:57,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:61,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:63,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:63,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:64,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:67,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:69,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:69,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:70,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:73,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:75,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:75,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:76,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:80,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:83,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:110,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:112,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:113,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:118,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:119,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:125,1
    - Dst: ctgLaunchBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:125,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:129,1
    - Dst: ctgFreeBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:131,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:132,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 72
    argCount: 4
    argNames:
    - pJob
    - cbParam
    - pMsg
    - rspCode
    argTypes:
    - SCtgJob*
    - SCtgTaskCallbackParam*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 133
    functionName: ctgHandleBatchRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - tDeserializeSBatchRsp
    - ctgDebug
    - ctgLaunchBatchs
    - taosArrayDestroyEx
    - CTG_ERR_RET
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - ctgFreeBatchs
    - taosHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleBatchRsp(SCtgJob* pJob, SCtgTaskCallbackParam* cbParam,
      SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:141,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:141,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:142,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:145,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:147,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:148,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:151,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:151,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:156,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:156,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:157,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:160,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:162,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:162,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:163,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:166,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:166,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:171,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:171,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:172,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:175,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:177,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:177,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:178,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:181,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:186,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:186,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:187,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:190,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:192,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:193,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:196,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:201,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:201,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:202,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:205,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:207,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:207,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:208,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:211,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:216,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:216,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:217,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:220,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:222,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:222,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:223,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:226,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:231,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:231,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:232,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:235,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:237,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:237,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:238,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:241,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:246,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:246,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:247,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:250,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:252,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:252,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:253,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:256,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:261,1
    - Dst: SET_META_TYPE_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:262,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:263,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:267,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:267,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:268,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:271,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:273,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:273,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:274,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:277,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:282,1
    - Dst: SET_META_TYPE_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:283,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:284,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:288,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:288,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:289,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:292,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:294,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:294,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:295,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:298,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:303,1
    - Dst: SET_META_TYPE_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:304,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:305,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:309,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:309,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:310,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:313,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:315,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:315,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:316,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:319,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:324,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:324,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:325,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:328,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:330,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:330,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:331,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:334,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:339,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:339,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:340,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:343,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:345,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:345,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:346,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:349,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:354,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:354,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:355,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:358,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:360,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:360,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:361,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:364,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:370,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:370,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:372,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:372,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:374,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:377,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:379,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:379,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:380,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:383,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:390,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:390,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:392,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:395,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:397,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:397,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:398,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:401,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:406,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:408,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:410,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:410,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:411,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:417,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:419,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:421,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:421,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:422,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:428,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:430,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:432,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:433,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:439,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:439,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:440,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:443,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:443,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 274
    argCount: 6
    argNames:
    - out
    - reqType
    - msg
    - msgSize
    - rspCode
    - target
    argTypes:
    - void*
    - int32_t
    - char*
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 448
    functionName: ctgProcessRspMsg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - CTG_ERR_RET
    - CTG_TABLE_NOT_EXIST
    - TMSG_INDEX
    - qError
    - SET_META_TYPE_NULL
    - qDebug
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t
      msgSize, int32_t rspCode, char* target)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_JENTER
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:455,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:457,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:459,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:466,1
    - Dst: ctgHandleBatchRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:466,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:468,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:470,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:470,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:471,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:474,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:476,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:476,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:477,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:480,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:481,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:485,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:485,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:487,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:488,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:491,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:493,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:494,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:504,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:507,1
    - Dst: ctgLaunchBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:507,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:513,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:514,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:517,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:519,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:519,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:523,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - param
    - pMsg
    - rspCode
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 524
    functionName: ctgHandleMsgCallback
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - ctgLaunchBatchs
    - CTG_API_JENTER
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - ctgHandleBatchRsp
    - taosReleaseRef
    - taosAcquireRef
    - qError
    - CTG_API_LEAVE
    - qDebug
    - taosHashInit
    - taosMemoryFree
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - tstrerror
    - ctgError
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleMsgCallback(void* param, SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:529,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:531,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:532,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:535,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:537,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:538,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:539,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:559,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:560,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 6
    argNames:
    - pJob
    - pTaskId
    - batchId
    - pMsgIdx
    - msgType
    - pMsgSendInfo
    argTypes:
    - SCtgJob*
    - SArray*
    - int32_t
    - SArray*
    - int32_t
    - SMsgSendInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 563
    functionName: ctgMakeMsgSendInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - qError
    - taosMemoryFree
    - destroySendMsgInfo
    - taosMemoryCalloc
    - CTG_RET
    - taosArrayDestroy
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgMakeMsgSendInfo(SCtgJob* pJob, SArray* pTaskId, int32_t
      batchId, SArray* pMsgIdx, int32_t msgType,\n                           SMsgSendInfo**
      pMsgSendInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:569,1
    - Dst: ctgMakeMsgSendInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:569,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:571,1
    - Dst: ctgUpdateSendTargetInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:571,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:581,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:584,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:584,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:585,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:588,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:588,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:595,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 599
    functionName: ctgAsyncSendMsg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - ctgDebug
    - ctgMakeMsgSendInfo
    - asyncSendMsgToServer
    - ctgUpdateSendTargetInfo
    - destroySendMsgInfo
    - tstrerror
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgAsyncSendMsg(SCatalog* pCtg, SRequestConnInfo* pConn, SCtgJob*
      pJob, SArray* pTaskId, int32_t batchId,\n                        SArray* pMsgIdx,
      char* dbFName, int32_t vgId, int32_t msgType, void** msg, uint32_t msgSize)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:609,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:611,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:612,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:616,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:618,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:619,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:620,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:622,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:623,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:624,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:625,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:634,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:635,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:638,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:639,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:641,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:642,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:654,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:655,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:655,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:658,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:659,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:660,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:662,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:662,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:663,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:667,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:668,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:668,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:675,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:677,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:678,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:679,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:681,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:683,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:683,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:684,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:686,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:688,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:688,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:689,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:693,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:694,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:697,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:701,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:703,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:704,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:707,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:708,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:717,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:718,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:721,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:722,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:724,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:725,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:738,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:738,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:741,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:742,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:743,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:745,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:745,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:746,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:750,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:751,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:751,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:758,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:760,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:761,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:762,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:764,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:766,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:766,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:769,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:771,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:771,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:772,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:775,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:776,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:779,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:782,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:783,1
    - Dst: ctgFreeBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:789,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:790,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 142
    argCount: 7
    argNames:
    - pCtg
    - vgId
    - pConn
    - tReq
    - msgType
    - msg
    - msgSize
    argTypes:
    - SCatalog*
    - int32_t
    - SRequestConnInfo*
    - SCtgTaskReq*
    - int32_t
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 793
    functionName: ctgAddBatch
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - taosArrayPush
    - CTG_GET_TASK_MSGCTX
    - taosArrayGet
    - ctgFreeBatch
    - taosHashGet
    - taosArrayDestroy
    - taosHashPut
    - ctgGetFetchName
    - qDebug
    - atomic_add_fetch_32
    - taosArrayGetSize
    - taosArrayInit
    - taosMemoryFree
    - ctgError
    - tNameGetFullDbName
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgAddBatch(SCatalog* pCtg, int32_t vgId, SRequestConnInfo*
      pConn, SCtgTaskReq* tReq, int32_t msgType,\n                    void* msg, uint32_t
      msgSize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:796,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:798,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:799,1
    - Dst: tSerializeSBatchReq
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:807,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:809,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:810,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:813,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:815,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:816,1
    - Dst: tSerializeSBatchReq
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:818,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:820,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:821,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:822,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - pBatch
    - vgId
    - msg
    - pSize
    argTypes:
    - SCtgBatch*
    - int32_t
    - void**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 830
    functionName: ctgBuildBatchReqMsg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - tSerializeSBatchReq
    - qTrace
    - qError
    - taosMemoryFree
    - taosArrayGetSize
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgBuildBatchReqMsg(SCtgBatch* pBatch, int32_t vgId, void**
      msg, int32_t* pSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:835,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:838,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:842,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:845,1
    - Dst: ctgBuildBatchReqMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:845,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:846,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:849,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:851,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:859,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:862,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pCtg
    - pJob
    - pBatchs
    argTypes:
    - SCatalog*
    - SCtgJob*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 832
    functionDepth: 3
    functionLinenumber: 832
    functionLinenumberEnd: 866
    functionName: ctgLaunchBatchs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 2
    functionsReached:
    - taosHashIterate
    - ctgAsyncSendMsg
    - taosHashCancelIterate
    - ctgBuildBatchReqMsg
    - taosHashGetKey
    - qDebug
    - taosMemoryFree
    - CTG_RET
    - CTG_ERR_JRET
    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:875,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:877,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:879,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:879,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:880,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:884,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:886,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:889,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:889,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:889,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:895,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:895,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:897,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:899,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:901,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:902,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:903,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:906,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:906,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:917,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:917,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:919,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:919,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray*
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 868
    functionDepth: 6
    functionLinenumber: 868
    functionLinenumberEnd: 924
    functionName: ctgGetQnodeListFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - rpcSendRecv
    - CTG_RET
    - ctgError
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetQnodeListFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, SArray* out, SCtgTask* pTask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:933,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:935,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:937,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:937,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:938,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:942,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:942,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:942,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:948,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:948,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:950,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:952,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:954,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:955,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:956,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:959,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:959,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:970,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:970,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:972,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:972,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray**
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 926
    functionDepth: 6
    functionLinenumber: 926
    functionLinenumberEnd: 977
    functionName: ctgGetDnodeListFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - rpcSendRecv
    - CTG_RET
    - ctgError
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetDnodeListFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, SArray** out, SCtgTask* pTask)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:988,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:990,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:992,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:992,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:993,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:997,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:999,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1002,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1002,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1002,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1005,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1005,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1007,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1009,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1011,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1012,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1013,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1016,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1016,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1027,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1027,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1029,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1029,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - input
    - out
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SBuildUseDBInput*
    - SUseDbOutput*
    - SCtgTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 979
    functionDepth: 6
    functionLinenumber: 979
    functionLinenumberEnd: 1034
    functionName: ctgGetDBVgInfoFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - rpcSendRecv
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetDBVgInfoFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, SBuildUseDBInput* input, SUseDbOutput* out,\n                                SCtgTaskReq*
      tReq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1046,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1048,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1050,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1050,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1051,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1061,1
    - Dst: rpcSendRecvWithTimeout
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1061,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1063,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - name
    - out
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SRsmaMetaOutput*
    - SCtgTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1036
    functionDepth: 6
    functionLinenumber: 1036
    functionLinenumberEnd: 1068
    functionName: ctgGetRsmaMetaFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcSendRecvWithTimeout
    - ctgDebug
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - TMSG_INDEX
    - tstrerror
    - ctgError
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetRsmaMetaFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const char* name, SRsmaMetaOutput* out,\n                                SCtgTaskReq*
      tReq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1076,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1078,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1080,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1080,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1081,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1091,1
    - Dst: rpcSendRecvWithTimeout
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1091,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1094,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1094,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1095,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1096,1
    - Dst: tDeserializeGetStreamCreateSqlRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1099,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - streamFName
    - out
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SGetStreamCreateSqlRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1070
    functionDepth: 6
    functionLinenumber: 1070
    functionLinenumberEnd: 1103
    functionName: ctgGetStreamCreateSqlFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcSendRecvWithTimeout
    - ctgDebug
    - CTG_ERR_RET
    - TMSG_INDEX
    - tDeserializeGetStreamCreateSqlRsp
    - tstrerror
    - ctgError
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetStreamCreateSqlFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const char* streamFName,\n                                       SGetStreamCreateSqlRsp*
      out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1113,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1115,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1117,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1117,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1118,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1122,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1124,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1127,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1127,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1127,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1133,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1133,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1135,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1137,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1139,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1140,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1141,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1144,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1144,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1155,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1155,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1157,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1157,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - dbFName
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SDbCfgInfo*
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1105
    functionDepth: 6
    functionLinenumber: 1105
    functionLinenumberEnd: 1162
    functionName: ctgGetDBCfgFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - rpcSendRecv
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetDBCfgFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName, SDbCfgInfo* out,\n                             SCtgTask*
      pTask)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1172,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1174,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1176,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1176,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1177,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1181,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1183,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1186,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1186,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1186,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1192,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1192,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1194,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1196,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1198,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1199,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1200,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1203,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1203,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1214,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1214,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1216,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1216,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - indexName
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SIndexInfo*
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1164
    functionDepth: 6
    functionLinenumber: 1164
    functionLinenumberEnd: 1221
    functionName: ctgGetIndexInfoFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - rpcSendRecv
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetIndexInfoFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const char* indexName, SIndexInfo* out,\n                                 SCtgTask*
      pTask)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1232,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1234,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1236,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1238,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1241,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1243,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1243,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1244,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1248,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1250,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1253,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1253,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1253,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1259,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1259,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1261,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1263,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1265,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1266,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1267,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1270,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1270,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1281,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1281,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1283,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1283,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - name
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableIndex*
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1223
    functionDepth: 6
    functionLinenumber: 1223
    functionLinenumberEnd: 1288
    functionName: ctgGetTbIndexFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgError
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - rpcSendRecv
    - CTG_RET
    - tNameExtractFullName
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetTbIndexFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      SName* name, STableIndex* out,\n                               SCtgTask* pTask)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1298,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1300,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1302,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1302,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1303,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1307,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1309,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1312,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1312,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1312,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1318,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1318,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1320,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1322,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1324,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1325,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1326,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1329,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1329,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1340,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1340,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1342,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1342,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - funcName
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SFuncInfo*
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1290
    functionDepth: 6
    functionLinenumber: 1290
    functionLinenumberEnd: 1347
    functionName: ctgGetUdfInfoFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - rpcSendRecv
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetUdfInfoFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* funcName, SFuncInfo* out,\n                               SCtgTask*
      pTask)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1357,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1359,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1361,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1361,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1362,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1366,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1368,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1371,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1371,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1371,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1377,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1377,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1379,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1381,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1383,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1384,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1385,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1388,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1388,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1399,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1399,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1401,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1401,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - user
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SGetUserAuthRsp*
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1349
    functionDepth: 6
    functionLinenumber: 1349
    functionLinenumberEnd: 1406
    functionName: ctgGetUserDbAuthFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - rpcSendRecv
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetUserDbAuthFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const char* user, SGetUserAuthRsp* out,\n                                  SCtgTask*
      pTask)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1417,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1421,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1423,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1425,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1425,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1426,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1430,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1432,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1435,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1435,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1435,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1438,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1438,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1440,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1442,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1444,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1445,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1446,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1449,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1449,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1460,1
    - Dst: rpcSendRecvWithTimeout
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1460,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1462,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1462,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - dbFName
    - tbName
    - out
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - char*
    - STableMetaOutput*
    - SCtgTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1408
    functionDepth: 6
    functionLinenumber: 1408
    functionLinenumberEnd: 1467
    functionName: ctgGetTbMetaFromMnodeImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - rpcSendRecvWithTimeout
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - snprintf
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetTbMetaFromMnodeImpl(SCatalog* pCtg, SRequestConnInfo*
      pConn, const char* dbFName, const char* tbName,\n                                  STableMetaOutput*
      out, SCtgTaskReq* tReq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1472,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pTableName
    - out
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMetaOutput*
    - SCtgTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1469
    functionDepth: 7
    functionLinenumber: 1469
    functionLinenumberEnd: 1475
    functionName: ctgGetTbMetaFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - tNameGetFullDbName
    - ctgGetTbMetaFromMnodeImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetTbMetaFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, STableMetaOutput* out,\n                              SCtgTaskReq*
      tReq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1482,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1485,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1490,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1497,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1501,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1503,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1503,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1504,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1508,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1510,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1518,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1518,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1518,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1521,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1521,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1525,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1526,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1528,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1530,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1531,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1532,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1535,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1535,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1546,1
    - Dst: rpcSendRecvWithTimeout
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1546,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1548,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1548,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - pTableName
    - vgroupInfo
    - out
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SVgroupInfo*
    - STableMetaOutput*
    - SCtgTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1477
    functionDepth: 6
    functionLinenumber: 1477
    functionLinenumberEnd: 1553
    functionName: ctgGetTbMetaFromVnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgUpdateMsgCtx
    - snprintf
    - ctgAddBatch
    - taosArrayDestroy
    - TMSG_INDEX
    - ctgError
    - taosMemoryCalloc
    - rpcFreeCont
    - ctgDebug
    - CTG_GET_TASK_MSGCTX
    - rpcSendRecvWithTimeout
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - ctgAsyncSendMsg
    - tNameGetTableName
    - taosArrayInit
    - tstrerror
    - CTG_RET
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetTbMetaFromVnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, SVgroupInfo* vgroupInfo,\n                              STableMetaOutput*
      out, SCtgTaskReq* tReq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1564,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1567,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1569,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1569,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1571,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1575,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1578,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1580,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1580,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1581,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1585,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1585,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1585,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1595,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1595,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1599,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1600,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1602,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1604,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1605,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1606,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1609,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1609,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1621,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1621,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1623,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1623,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1625,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - pTableName
    - vgroupInfo
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SVgroupInfo*
    - STableCfg**
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1555
    functionDepth: 6
    functionLinenumber: 1555
    functionLinenumberEnd: 1628
    functionName: ctgGetTableCfgFromVnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - tNameExtractFullName
    - CTG_RET
    - ctgError
    - tNameGetFullDbName
    - rpcSendRecv
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetTableCfgFromVnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName,\n                                SVgroupInfo*
      vgroupInfo, STableCfg** out, SCtgTask* pTask)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1639,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1642,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1644,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1644,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1646,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1649,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1651,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1653,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1653,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1654,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1658,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1658,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1658,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1664,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1664,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1666,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1668,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1670,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1671,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1672,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1675,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1675,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1686,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1686,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1688,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1688,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pTableName
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableCfg**
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1630
    functionDepth: 6
    functionLinenumber: 1630
    functionLinenumberEnd: 1693
    functionName: ctgGetTableCfgFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - tNameExtractFullName
    - CTG_RET
    - ctgError
    - tNameGetFullDbName
    - rpcSendRecv
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetTableCfgFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName, STableCfg** out,\n                                SCtgTask*
      pTask)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1702,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1704,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1706,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1706,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1707,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1711,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1711,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1711,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1717,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1717,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1719,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1721,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1723,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1724,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1725,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1728,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1728,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1739,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1739,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1741,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1741,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char**
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1695
    functionDepth: 6
    functionLinenumber: 1695
    functionLinenumberEnd: 1746
    functionName: ctgGetSvrVerFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgProcessRspMsg
    - ctgUpdateMsgCtx
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - qDebug
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - rpcSendRecv
    - CTG_RET
    - ctgError
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetSvrVerFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      char** out, SCtgTask* pTask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1757,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1759,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1759,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1761,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1764,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1766,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1768,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1768,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1769,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1773,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1775,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1778,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1778,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1778,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1781,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1781,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1783,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1785,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1787,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1788,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1789,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1792,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1792,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1803,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1803,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1805,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1805,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1807,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pName
    - out
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SViewMetaOutput*
    - SCtgTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1748
    functionDepth: 6
    functionLinenumber: 1748
    functionLinenumberEnd: 1810
    functionName: ctgGetViewInfoFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - tNameExtractFullName
    - CTG_RET
    - ctgError
    - rpcSendRecv
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetViewInfoFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, SName* pName, SViewMetaOutput* out,\n                                SCtgTaskReq*
      tReq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1820,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1822,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1822,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1824,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1827,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1829,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1831,1
    - Dst: tstrerror
      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: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1836,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1838,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1841,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1841,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1841,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1844,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1844,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1846,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1848,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1850,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1851,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1852,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1855,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1855,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1866,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1866,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1868,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1868,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - name
    - out
    - tReq
    - reqType
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableTSMAInfoRsp*
    - SCtgTaskReq*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1812
    functionDepth: 6
    functionLinenumber: 1812
    functionLinenumberEnd: 1873
    functionName: ctgGetTbTSMAFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - ctgUpdateMsgCtx
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - tNameExtractFullName
    - CTG_RET
    - ctgError
    - rpcSendRecv
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetTbTSMAFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* name, STableTSMAInfoRsp* out,\n                              SCtgTaskReq*
      tReq, int32_t reqType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1881,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1883,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1883,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1885,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: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1894,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1895,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1899,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1901,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1903,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1903,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1903,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1906,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1906,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1909,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1910,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1912,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1914,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1915,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1916,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1919,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1920,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1931,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1931,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1933,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1933,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1935,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 7
    argNames:
    - pCtg
    - pConn
    - pTbName
    - out
    - tReq
    - bInput
    - nodeId
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SStreamProgressRsp*
    - SCtgTaskReq*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1875
    functionDepth: 6
    functionLinenumber: 1875
    functionLinenumberEnd: 1938
    functionName: ctgGetStreamProgressFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgProcessRspMsg
    - ctgUpdateMsgCtx
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - TMSG_INDEX
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - ctgAddBatch
    - taosArrayInit
    - tstrerror
    - tNameExtractFullName
    - CTG_RET
    - ctgError
    - tNameGetFullDbName
    - taosMemoryCalloc
    - rpcSendRecv
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetStreamProgressFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTbName,\n                                      SStreamProgressRsp*
      out, SCtgTaskReq* tReq, void* bInput, int32_t nodeId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1946,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1952,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1954,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1955,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - suid
    - vgroupInfo
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - int64_t
    - SVgroupInfo*
    - SCtgTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1940
    functionDepth: 2
    functionLinenumber: 1940
    functionLinenumberEnd: 1964
    functionName: ctgGetVStbRefDbsFromVnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - CTG_ERR_RET
    - TMSG_INDEX
    - ctgAddBatch
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetVStbRefDbsFromVnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, int64_t suid, SVgroupInfo* vgroupInfo, SCtgTaskReq* tReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:27,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:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SViewMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: ctgFreeSViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 3
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeSViewMeta(SViewMeta* pMeta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:38,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:39,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: ctgFreeMsgSendParam
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeMsgSendParam(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: ctgFreeBatchMsg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeBatchMsg(void* msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:57,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pBatch
    argTypes:
    - SCtgBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: ctgFreeBatch
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void ctgFreeBatch(SCtgBatch* pBatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:62,1
    - Dst: ctgFreeBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:66,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:68,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pBatchs
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: ctgFreeBatchs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosHashCleanup
    - taosHashIterate
    - ctgFreeBatch
    linkageType: ''
    returnType: void
    signature: void ctgFreeBatchs(SHashObj* pBatchs)
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - type
    argTypes:
    - CTG_TASK_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 123
    functionName: ctgTaskTypeStr
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ctgTaskTypeStr(CTG_TASK_TYPE type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:131,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:132,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - SCtgQNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: ctgFreeQNode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeQNode(SCtgQNode* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: ctgFreeSTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void ctgFreeSTableIndex(void* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:149,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:158,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:161,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:164,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:167,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:176,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:179,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:182,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:185,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:188,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:191,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:194,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:197,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:200,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:203,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:206,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:209,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 213
    functionName: ctgFreeSMetaData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void ctgFreeSMetaData(SMetaData* pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - userCache
    argTypes:
    - SCtgUserAuth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: ctgFreeSCtgUserAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - tFreeSGetUserAuthRsp
    linkageType: ''
    returnType: void
    signature: void ctgFreeSCtgUserAuth(SCtgUserAuth* userCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:225,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - SCtgRentMgmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: ctgFreeMetaRent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void ctgFreeMetaRent(SCtgRentMgmt* mgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:239,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: ctgFreeStbMetaCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGetSize
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void ctgFreeStbMetaCache(SCtgDBCache* dbCache)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:247,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:249,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:251,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:257,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:259,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:260,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pCache
    - lock
    argTypes:
    - SCtgTbCache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: ctgFreeTbCacheImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - CTG_UNLOCK
    - taosMemoryFreeClear
    - CTG_LOCK
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void ctgFreeTbCacheImpl(SCtgTbCache* pCache, bool lock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:269,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:272,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:273,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCache
    - lock
    argTypes:
    - SCtgViewCache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: ctgFreeViewCacheImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - ctgFreeSViewMeta
    - taosMemoryFreeClear
    - CTG_LOCK
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: void ctgFreeViewCacheImpl(SCtgViewCache* pCache, bool lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:285,1
    - Dst: ctgFreeViewCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:287,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:288,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: ctgFreeViewCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashCleanup
    - taosHashIterate
    - ctgFreeViewCacheImpl
    linkageType: ''
    returnType: void
    signature: void ctgFreeViewCache(SCtgDBCache* dbCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:299,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:301,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:302,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: ctgFreeTbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - ctgFreeTbCacheImpl
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void ctgFreeTbCache(SCtgDBCache* dbCache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:310,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:313,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCache
    - lock
    argTypes:
    - SCtgTSMACache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: ctgFreeTSMACacheImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyP
    - CTG_UNLOCK
    - CTG_LOCK
    linkageType: ''
    returnType: void
    signature: void ctgFreeTSMACacheImpl(SCtgTSMACache* pCache, bool lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:324,1
    - Dst: ctgFreeTSMACacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:326,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:327,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: ctgFreeTSMACache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCleanup
    - ctgFreeTSMACacheImpl
    linkageType: ''
    returnType: void
    signature: void ctgFreeTSMACache(SCtgDBCache* dbCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 333
    functionName: ctgFreeVgInfoCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - freeVgInfo
    linkageType: ''
    returnType: void
    signature: void ctgFreeVgInfoCache(SCtgDBCache* dbCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: ctgFreeCfgInfoCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - freeDbCfgInfo
    linkageType: ''
    returnType: void
    signature: void ctgFreeCfgInfoCache(SCtgDBCache* dbCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeVgInfoCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:341,1
    - Dst: ctgFreeCfgInfoCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:342,1
    - Dst: ctgFreeStbMetaCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:343,1
    - Dst: ctgFreeTbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:344,1
    - Dst: ctgFreeViewCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:345,1
    - Dst: ctgFreeTSMACache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: ctgFreeDbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - ctgFreeStbMetaCache
    - ctgFreeViewCache
    - ctgFreeCfgInfoCache
    - ctgFreeVgInfoCache
    - ctgFreeTbCache
    - ctgFreeTSMACache
    linkageType: ''
    returnType: void
    signature: void ctgFreeDbCache(SCtgDBCache* dbCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:354,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:356,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:359,1
    - Dst: ctgFreeDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:360,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:362,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pDbCache
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 366
    functionName: ctgFreeInstDbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - ctgFreeDbCache
    - taosHashGetSize
    - atomic_store_8
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void ctgFreeInstDbCache(SHashObj* pDbCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:373,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:375,1
    - Dst: ctgFreeSCtgUserAuth
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:378,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:380,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pUserCache
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 384
    functionName: ctgFreeInstUserCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashGetSize
    - taosHashCleanup
    - ctgFreeSCtgUserAuth
    linkageType: ''
    returnType: void
    signature: void ctgFreeInstUserCache(SHashObj* pUserCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:387,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:388,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:389,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:390,1
    - Dst: ctgFreeInstDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:392,1
    - Dst: ctgFreeInstUserCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:393,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 5
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: ctgFreeHandleImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgFreeInstDbCache
    - ctgFreeInstUserCache
    - taosMemoryFree
    - ctgFreeMetaRent
    linkageType: ''
    returnType: void
    signature: void ctgFreeHandleImpl(SCatalog* pCtg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:399,1
    - Dst: ctgFreeSCtgUserAuth
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:400,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:401,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:403,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pCtg
    - pUser
    - user
    argTypes:
    - SCatalog*
    - SCtgUserAuth*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: ctgRemoveCacheUser
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - taosHashRemove
    - ctgFreeSCtgUserAuth
    - CTG_UNLOCK
    - CTG_LOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgRemoveCacheUser(SCatalog* pCtg, SCtgUserAuth* pUser, const
      char* user)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:417,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:418,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:419,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:420,1
    - Dst: ctgFreeInstDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:422,1
    - Dst: ctgFreeInstUserCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:423,1
    - Dst: CTG_STAT_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:425,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:427,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 430
    functionName: ctgFreeHandle
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - ctgFreeInstUserCache
    - ctgFreeMetaRent
    - ctgFreeInstDbCache
    - taosMemoryFree
    - ctgInfo
    - CTG_STAT_NUM_DEC
    linkageType: ''
    returnType: void
    signature: void ctgFreeHandle(SCatalog* pCtg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:435,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:439,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:442,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:445,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:449,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:451,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:452,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:456,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:456,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:457,1
    - Dst: CTG_META_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:462,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:465,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:468,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:472,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:475,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - pCtg
    - pClearedSize
    - pCleardNum
    - roundDone
    argTypes:
    - SCatalog*
    - int64_t*
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 483
    functionName: ctgClearHandleMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosHashIterate
    - taosHashCancelIterate
    - taosHashRemove
    - ctgFreeTbCacheImpl
    - qError
    - atomic_sub_fetch_64
    - ctgGetTbIndexCacheSize
    - taosHashGetKey
    - ctgGetTbMetaCacheSize
    - tstrerror
    - 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: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:488,1
    - Dst: ctgClearHandleMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:493,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:495,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - clearedSize
    - clearedNum
    - roundDone
    argTypes:
    - int64_t*
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 502
    functionName: ctgClearAllHandleMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - ctgClearHandleMeta
    - taosHashIterate
    - taosHashCancelIterate
    linkageType: ''
    returnType: void
    signature: void ctgClearAllHandleMeta(int64_t* clearedSize, int64_t* clearedNum,
      bool* roundDone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:511,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:512,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:513,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:514,1
    - Dst: ctgFreeInstDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:516,1
    - Dst: ctgFreeInstUserCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:517,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:519,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:520,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:521,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:522,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:524,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:524,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:527,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:530,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:530,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:533,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:536,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:538,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 504
    functionDepth: 5
    functionLinenumber: 504
    functionLinenumberEnd: 541
    functionName: ctgClearHandle
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - ctgFreeInstUserCache
    - ctgFreeMetaRent
    - qError
    - ctgFreeInstDbCache
    - taosHashInit
    - ctgInfo
    - ctgMetaRentInit
    - taosGetDefaultHashFunction
    - CTG_STAT_RT_INC
    - ctgError
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void ctgClearHandle(SCatalog* pCtg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:549,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SUseDbOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 553
    functionName: ctgFreeSUseDbOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - freeVgInfo
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeSUseDbOutput(SUseDbOutput* pOutput)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:556,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:564,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:565,1
    - Dst: ctgFreeSUseDbOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:570,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:576,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:581,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:589,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:590,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:591,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:597,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:598,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:605,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:606,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:611,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:612,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:613,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:618,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:619,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:626,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:627,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:629,1
    - Dst: tFreeTableTSMAInfoRsp
      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: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:643,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:648,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:652,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 89
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SCtgMsgCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 655
    functionName: ctgFreeMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - tFreeSViewMetaRsp
    - qError
    - tFreeTableTSMAInfoRsp
    - taosMemoryFree
    - taosArrayDestroy
    - ctgFreeSUseDbOutput
    - tFreeSGetUserAuthRsp
    - tFreeSTableCfgRsp
    linkageType: ''
    returnType: void
    signature: void ctgFreeMsgCtx(SCtgMsgCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:658,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SCtgMsgCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: ctgFreeTbMetasMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgFreeSTableMetaOutput
    - ctgFreeMsgCtx
    linkageType: ''
    returnType: void
    signature: void ctgFreeTbMetasMsgCtx(SCtgMsgCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:670,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:671,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - STableMetaOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: ctgFreeSTableMetaOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeSTableMetaOutput(STableMetaOutput* pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:677,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:681,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:685,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:688,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 690
    functionName: ctgResetTbMetaTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgFreeSTableMetaOutput
    - taosMemoryFreeClear
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void ctgResetTbMetaTask(SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - meta
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 699
    functionName: ctgFreeBatchMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void ctgFreeBatchMeta(void* meta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hash
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: ctgFreeBatchHash
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void ctgFreeBatchHash(void* hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:718,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - res
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 721
    functionName: ctgFreeViewMetaRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgFreeSViewMeta
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void ctgFreeViewMetaRes(void* res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:731,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - res
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 735
    functionName: ctgFreeTbTSMARes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - tFreeTableTSMAInfoRsp
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeTbTSMARes(void* res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 747
    functionName: ctgFreeJsonTagVal
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeJsonTagVal(void* val)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:754,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:761,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:762,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:767,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:774,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:775,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:783,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:786,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:788,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:798,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:802,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:803,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:805,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:812,1
    - Dst: ctgFreeBatchMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:814,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:814,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:821,1
    - Dst: ctgFreeBatchHash
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:823,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:823,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:830,1
    - Dst: ctgFreeViewMetaRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:832,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:832,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:840,1
    - Dst: ctgFreeTbTSMARes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:842,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:849,1
    - Dst: ctgFreeBatchMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:851,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:851,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:858,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:862,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 102
    argCount: 2
    argNames:
    - type
    - pRes
    argTypes:
    - CTG_TASK_TYPE
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 865
    functionName: ctgFreeTaskRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - taosArrayGet
    - ctgFreeBatchHash
    - ctgFreeViewMetaRes
    - qError
    - ctgFreeBatchMeta
    - taosArrayGetSize
    - ctgFreeTbTSMARes
    - taosArrayDestroy
    - nodesDestroyNode
    - tFreeSTableCfgRsp
    linkageType: ''
    returnType: void
    signature: void ctgFreeTaskRes(CTG_TASK_TYPE type, void** pRes)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:871,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:878,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:885,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:886,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:891,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:898,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:899,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:910,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:914,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:919,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:924,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:932,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 2
    argNames:
    - type
    - pRes
    argTypes:
    - CTG_TASK_TYPE
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 935
    functionName: ctgFreeSubTaskRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - freeVgInfo
    - taosArrayDestroyEx
    - qError
    - taosArrayDestroy
    - tFreeSTableCfgRsp
    linkageType: ''
    returnType: void
    signature: void ctgFreeSubTaskRes(CTG_TASK_TYPE type, void** pRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeSubTaskRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pRes
    argTypes:
    - SCtgSubRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 945
    functionName: ctgClearSubTaskRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgFreeSubTaskRes
    linkageType: ''
    returnType: void
    signature: void ctgClearSubTaskRes(SCtgSubRes* pRes)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:951,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:953,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:956,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:961,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:962,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:965,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:968,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:971,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:976,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:977,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:982,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:983,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:986,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:988,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:993,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:994,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:999,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1000,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1001,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1006,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:1008,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1018,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1023,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1024,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1027,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1029,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1035,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1036,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1037,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1038,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1043,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1044,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1047,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1050,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1053,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1059,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1063,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1065,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1066,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1070,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 103
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 1073
    functionName: ctgFreeTaskCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - qError
    - ctgFreeSTableMetaOutput
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void ctgFreeTaskCtx(SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1076,1
    - Dst: ctgFreeTaskRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1078,1
    - Dst: ctgFreeTaskCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1080,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1082,1
    - Dst: ctgClearSubTaskRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTask
    - freeRes
    argTypes:
    - SCtgTask*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1075
    functionDepth: 5
    functionLinenumber: 1075
    functionLinenumberEnd: 1084
    functionName: ctgFreeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgFreeMsgCtx
    - ctgClearSubTaskRes
    - taosArrayDestroy
    - ctgFreeTaskRes
    - ctgFreeTaskCtx
    linkageType: ''
    returnType: void
    signature: void ctgFreeTask(SCtgTask* pTask, bool freeRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1091,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1093,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1094,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pArray
    - freeRes
    argTypes:
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1086
    functionDepth: 6
    functionLinenumber: 1086
    functionLinenumberEnd: 1098
    functionName: ctgFreeTasks
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosArrayGetSize
    - ctgFreeTask
    linkageType: ''
    returnType: void
    signature: void ctgFreeTasks(SArray* pArray, bool freeRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeTasks
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1110,1
    - Dst: ctgFreeBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1111,1
    - Dst: ctgFreeSMetaData
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1113,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1115,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - job
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1100
    functionDepth: 7
    functionLinenumber: 1100
    functionLinenumberEnd: 1118
    functionName: ctgFreeJob
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - qTrace
    - taosMemoryFree
    - ctgFreeSMetaData
    - ctgFreeBatchs
    - ctgFreeTasks
    linkageType: ''
    returnType: void
    signature: void ctgFreeJob(void* job)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1121,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1126,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - pCtx
    - reqType
    - out
    - target
    argTypes:
    - SCtgMsgCtx*
    - int32_t
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1120
    functionDepth: 3
    functionLinenumber: 1120
    functionLinenumberEnd: 1135
    functionName: ctgUpdateMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 16
    functionsReached:
    - ctgFreeMsgCtx
    - CTG_ERR_RET
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateMsgCtx(SCtgMsgCtx* pCtx, int32_t reqType, void* out,
      char* target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1143,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1145,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1149,1
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1150,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pCtxs
    - reqType
    - out
    - target
    argTypes:
    - SArray*
    - int32_t
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1137
    functionDepth: 3
    functionLinenumber: 1137
    functionLinenumberEnd: 1155
    functionName: ctgAddMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgFreeMsgCtx
    - CTG_ERR_RET
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgAddMsgCtx(SArray* pCtxs, int32_t reqType, void* out, char*
      target)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hashMethod
    - fp
    argTypes:
    - int8_t
    - tableNameHashFp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1165
    functionName: ctgGetHashFunction
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetHashFunction(int8_t hashMethod, tableNameHashFp* fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1178
    functionName: ctgVgInfoIdComp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgVgInfoIdComp(void const *lp, void const *rp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1185,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1187,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1188,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1190,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1192,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1193,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1196,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1200,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1201,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1202,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1203,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1206,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1209,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1210,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1212,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1216,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1223,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - pCtg
    - vgHash
    - pList
    - dbFName
    argTypes:
    - SCatalog*
    - SHashObj*
    - SArray**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1227
    functionName: ctgGenerateVgList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tNameFromString
    - taosHashIterate
    - ctgDebug
    - CTG_ERR_RET
    - taosHashCancelIterate
    - taosArraySort
    - taosHashGetSize
    - taosArrayDestroy
    - taosArrayInit
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGenerateVgList(SCatalog* pCtg, SHashObj* vgHash, SArray**
      pList, const char* dbFName)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1239
    functionName: ctgVgInfoComp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ctgVgInfoComp(const void* lp, const void* rp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1252
    functionName: ctgHashValueComp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHashValueComp(void const* lp, void const* rp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1257,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1257,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1259,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1261,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1263,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1266,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1273,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1274,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1279,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1281,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1281,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1283,1
    - Dst: tTrimMountPrefix
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1285,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1286,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1286,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1289,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1306,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1307,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1308,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1313,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - pCtg
    - pMgmtEps
    - dbInfo
    - pTableName
    - pVgroup
    argTypes:
    - SCatalog*
    - SEpSet*
    - SDBVgInfo*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1318
    functionName: ctgGetVgInfoFromHashValue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - CTG_RET
    - taosGetTbHashVal
    - CTG_ERR_RET
    - ctgMakeVgArray
    - ctgTrace
    - TAOS_MEMCPY
    - taosArraySearch
    - tTrimMountPrefix
    - taosArrayGetSize
    - tstrerror
    - tNameExtractFullName
    - strlen
    - ctgError
    - tNameGetFullDbName
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetVgInfoFromHashValue(SCatalog* pCtg, SEpSet* pMgmtEps,
      SDBVgInfo* dbInfo, const SName* pTableName,\n                                  SVgroupInfo*
      pVgroup)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1327,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1327,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1329,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1331,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1332,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1336,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1340,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1342,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1345,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1347,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1351,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1353,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1353,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1354,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1356,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1358,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1359,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1360,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1366,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1367,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1375,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1377,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1378,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1383,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1385,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1388,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1390,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1390,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1391,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1394,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1396,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1400,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1402,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1402,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1403,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1405,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1407,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1408,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1409,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1415,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1416,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1425,1
    - Dst: tTrimMountPrefix
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1426,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1427,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1432,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1434,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1434,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1435,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1438,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1439,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1440,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1440,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1443,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1445,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1446,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1447,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1450,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1452,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1457,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1462,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1464,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1464,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1465,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1467,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1469,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1470,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1471,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1477,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1478,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1483,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 107
    argCount: 8
    argNames:
    - pCtg
    - pMgmgEpSet
    - tReq
    - dbInfo
    - pCtx
    - dbFName
    - pNames
    - update
    argTypes:
    - SCatalog*
    - SEpSet*
    - SCtgTaskReq*
    - SDBVgInfo*
    - SCtgTbHashsCtx*
    - char*
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1484
    functionName: ctgGetVgInfosFromHashValue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosGetTbHashVal
    - TAOS_MEMCPY
    - snprintf
    - taosArrayGet
    - ctgMakeVgArray
    - ctgTrace
    - taosArraySearch
    - tTrimMountPrefix
    - taosArrayGetSize
    - strlen
    - ctgError
    - ctgDebug
    - tstrncpy
    - strchr
    - IS_SYS_DBNAME
    - taosMemoryMalloc
    - CTG_ERR_RET
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetVgInfosFromHashValue(SCatalog* pCtg, SEpSet* pMgmgEpSet,
      SCtgTaskReq* tReq, SDBVgInfo* dbInfo,\n                                   SCtgTbHashsCtx*
      pCtx, char* dbFName, SArray* pNames, bool update)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1489,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1489,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1491,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1493,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1494,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1499,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1500,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1503,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1504,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1504,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1507,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1509,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1510,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1511,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1516,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - pCtg
    - dbInfo
    - dbFName
    - pTbs
    - tbNum
    - vgId
    argTypes:
    - SCatalog*
    - SDBVgInfo*
    - char*
    - char*[]
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1520
    functionName: ctgGetVgIdsFromHashValue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - taosGetTbHashVal
    - ctgDebug
    - CTG_ERR_RET
    - ctgMakeVgArray
    - snprintf
    - taosArraySearch
    - taosArrayGetSize
    - strlen
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetVgIdsFromHashValue(SCatalog* pCtg, SDBVgInfo* dbInfo,
      char* dbFName, const char* pTbs[], int32_t tbNum,\n                                 int32_t*
      vgId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1530
    functionName: ctgStbVersionSearchCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgStbVersionSearchCompare(const void* key1, const void* key2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1540
    functionName: ctgDbCacheInfoSearchCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDbCacheInfoSearchCompare(const void* key1, const void* key2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1550
    functionName: ctgViewVersionSearchCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgViewVersionSearchCompare(const void* key1, const void* key2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1560
    functionName: ctgTSMAVersionSearchCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTSMAVersionSearchCompare(const void* key1, const void* key2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1570
    functionName: ctgStbVersionSortCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgStbVersionSortCompare(const void* key1, const void* key2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1580
    functionName: ctgDbCacheInfoSortCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDbCacheInfoSortCompare(const void* key1, const void* key2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1590
    functionName: ctgViewVersionSortCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgViewVersionSortCompare(const void* key1, const void* key2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1600
    functionName: ctgTSMAVersionSortCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    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:1608,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1609,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1612,1
    - Dst: ctgMakeVgArraySortBy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - dbInfo
    - dbName
    - isFullName
    argTypes:
    - SDBVgInfo*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1615
    functionName: ctgMakeVgArray
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 4
    functionsReached:
    - ctgMakeVgArraySortBy
    - tNameFromString
    - CTG_ERR_RET
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgMakeVgArray(SDBVgInfo* dbInfo, const char* dbName, bool
      isFullName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1623,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1624,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1626,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1629,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1631,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1632,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1633,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1636,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - dbInfo
    - sort_func
    argTypes:
    - SDBVgInfo*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1643
    functionName: ctgMakeVgArraySortBy
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - CTG_ERR_RET
    - taosHashCancelIterate
    - taosArraySort
    - taosHashGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgMakeVgArraySortBy(SDBVgInfo* dbInfo, __compar_fn_t sort_func)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1646,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1646,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1648,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1650,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1651,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1654,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1656,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1657,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1657,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1659,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1660,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1661,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1665,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1667,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1669,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1670,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1671,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1672,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1673,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1674,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1677,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1681,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1683,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1684,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1685,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - SDBVgInfo*
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1690
    functionName: ctgCloneVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - taosHashCancelIterate
    - qError
    - taosHashGetSize
    - ctgMakeVgArray
    - taosHashGetKey
    - TAOS_MEMCPY
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - taosArrayDup
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneVgInfo(SDBVgInfo* src, SDBVgInfo** dst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1693,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1695,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1696,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1699,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1704,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1707,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1709,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1710,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1711,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1714,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1715,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1717,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1724,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1726,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1727,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1728,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - output
    - pOutput
    argTypes:
    - STableMetaOutput*
    - STableMetaOutput**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1733
    functionName: ctgCloneMetaOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - hasRefCol
    - CTG_ERR_RET
    - taosMemoryFreeClear
    - cloneTableMeta
    - qError
    - TAOS_MEMCPY
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneMetaOutput(STableMetaOutput* output, STableMetaOutput**
      pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1741,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1742,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1744,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1748,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1750,1
    - Dst: taosArrayGetSize
      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: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1753,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1755,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1757,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pIndex
    - pRes
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1764
    functionName: ctgCloneTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - taosArrayInit
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneTableIndex(SArray* pIndex, SArray** pRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1771,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1773,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - pMsgSendInfo
    - msgType
    - dbFName
    - vgId
    argTypes:
    - SMsgSendInfo*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1782
    functionName: ctgUpdateSendTargetInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - CTG_ERR_RET
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateSendTargetInfo(SMsgSendInfo* pMsgSendInfo, int32_t
      msgType, char* dbFName, int32_t vgId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1790,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1792,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1794,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1794,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1795,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1802
    functionName: ctgGetTablesReqNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - qError
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTablesReqNum(SArray* pList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1806,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1808,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:1820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - pFetchs
    - dbIdx
    - tbIdx
    - fetchIdx
    - resIdx
    - flag
    argTypes:
    - SArray**
    - int32_t
    - int32_t
    - int32_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1824
    functionName: ctgAddFetch
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 3
    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: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1827,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1829,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1829,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1833,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1835,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pNames
    - pFetch
    - ppName
    argTypes:
    - SArray*
    - SCtgFetch*
    - SName**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1840
    functionName: ctgGetFetchName
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - qError
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetFetchName(SArray* pNames, SCtgFetch* pFetch, SName**
      ppName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1854
    functionName: ctgCloneDbVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneDbVgroup(void* pSrc, void** ppDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1856
    functionName: ctgFreeDbVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void ctgFreeDbVgroup(void* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1859,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1864,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1866,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - SDbCfgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1858
    functionDepth: 1
    functionLinenumber: 1858
    functionLinenumberEnd: 1876
    functionName: ctgCloneDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - TAOS_MEMCPY
    - taosArrayDup
    - taosMemoryMalloc
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneDbCfgInfo(void* pSrc, SDbCfgInfo** ppDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1878
    functionDepth: 1
    functionLinenumber: 1878
    functionLinenumberEnd: 1881
    functionName: ctgFreeDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - freeDbCfgInfo
    linkageType: ''
    returnType: void
    signature: void ctgFreeDbCfgInfo(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1885,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1896
    functionName: ctgCloneDbInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - TAOS_MEMCPY
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneDbInfo(void* pSrc, void** ppDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1898
    functionName: ctgFreeDbInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeDbInfo(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1926
    functionName: ctgFreeTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeTableMeta(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1930,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1939
    functionName: ctgCloneVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneVgroupInfo(void* pSrc, void** ppDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1941
    functionName: ctgFreeVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeVgroupInfo(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1943
    functionDepth: 1
    functionLinenumber: 1943
    functionLinenumberEnd: 1949
    functionName: ctgCloneTableIndexs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneTableIndexs(void* pSrc, void** ppDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1951
    functionName: ctgFreeTableIndexs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void ctgFreeTableIndexs(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1955,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1964
    functionName: ctgCloneFuncInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneFuncInfo(void* pSrc, void** ppDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1966
    functionName: ctgFreeFuncInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeFuncInfo(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1970,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1979
    functionName: ctgCloneIndexInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneIndexInfo(void* pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1981
    functionName: ctgFreeIndexInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeIndexInfo(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1994
    functionName: ctgCloneUserAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneUserAuth(void* pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 1996
    functionName: ctgFreeUserAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeUserAuth(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1998
    functionDepth: 1
    functionLinenumber: 1998
    functionLinenumberEnd: 2004
    functionName: ctgCloneQnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneQnodeList(void* pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 2006
    functionDepth: 1
    functionLinenumber: 2006
    functionLinenumberEnd: 2006
    functionName: ctgFreeQnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void ctgFreeQnodeList(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2017
    functionName: ctgFreeTableCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeTableCfg(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2019
    functionDepth: 1
    functionLinenumber: 2019
    functionLinenumberEnd: 2025
    functionName: ctgCloneDnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneDnodeList(void* pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2027
    functionName: ctgFreeDnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void ctgFreeDnodeList(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2032,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2036,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2037,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2038,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2047
    functionName: ctgCloneViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - tstrdup
    - taosMemoryMalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneViewMeta(void* pSrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2054,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2055,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2056,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2058
    functionName: ctgFreeViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeViewMeta(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2061,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2060
    functionDepth: 1
    functionLinenumber: 2060
    functionLinenumberEnd: 2063
    functionName: ctgFreeTbTSMAInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - tFreeTableTSMAInfoRsp
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ctgFreeTbTSMAInfo(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2065
    functionDepth: 1
    functionLinenumber: 2065
    functionLinenumberEnd: 2070
    functionName: ctgFreeVStbRefDbs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void ctgFreeVStbRefDbs(void* p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2082,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2084,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2084,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2086,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2089,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2092,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2094,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2094,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2096,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2097,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2097,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2109,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2109,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2113,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2121,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2121,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2130,1
    - Dst: ctgGetCachedStbNameFromSuid
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2130,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2134,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2141,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2145,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2152,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2154,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2073
    functionDepth: 5
    functionLinenumber: 2073
    functionLinenumberEnd: 2155
    functionName: ctgChkSetTbAuthRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - catalogGetCachedTableMeta
    - taosMemoryFreeClear
    - ctgDebug
    - CTG_ERR_RET
    - ctgGetCachedStbNameFromSuid
    - nodesStringToNode
    - taosHashGet
    - ctgGetTbMeta
    - snprintf
    - taosMemoryFree
    - tstrerror
    - tNameExtractFullName
    - strlen
    - ctgError
    - tNameGetFullDbName
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkSetTbAuthRes(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2163,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2169,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2169,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2176,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2178,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2178,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2180,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2183,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2184,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2190,1
    - Dst: privHasObjPrivilege
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2192,1
    - Dst: privGetConstraintTblPrivileges
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2199,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2202,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2202,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2216,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2216,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2220,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2228,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2228,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2238,1
    - Dst: ctgGetCachedStbNameFromSuid
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2238,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2242,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2250,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2254,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2255,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2258,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2259,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2261,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 71
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2158
    functionDepth: 5
    functionLinenumber: 2158
    functionLinenumberEnd: 2262
    functionName: ctgChkSetTbAuthRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - catalogGetCachedTableMeta
    - taosMemoryFreeClear
    - ctgDebug
    - CTG_ERR_RET
    - privHasObjPrivilege
    - ctgGetCachedStbNameFromSuid
    - nodesStringToNode
    - taosHashGetSize
    - ctgGetTbMeta
    - snprintf
    - privGetConstraintTblPrivileges
    - taosMemoryFree
    - tstrerror
    - tNameExtractFullName
    - CTG_RET
    - ctgError
    - tNameGetFullDbName
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkSetTbAuthRsp(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2282,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2288,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2288,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2295,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2297,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2297,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2299,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2302,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2303,1
    - Dst: privGetConstraintTblPrivileges
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2313,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2316,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2316,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2318,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2319,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2320,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2332,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2332,1
    - Dst: privHasObjPrivilege
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2337,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2344,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2352,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2352,1
    - Dst: privInfoGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2362,1
    - Dst: privInfoGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2364,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2376,1
    - Dst: privHasObjPrivilege
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2379,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2386,1
    - Dst: privHasObjPrivilege
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2390,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2403,1
    - Dst: ctgGetCachedStbNameFromSuid
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2403,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2408,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2412,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2417,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2419,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2421,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2425,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2426,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2427,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2430,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2431,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2433,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 125
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2277
    functionDepth: 5
    functionLinenumber: 2277
    functionLinenumberEnd: 2434
    functionName: ctgChkSetTbAuthRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - catalogGetCachedTableMeta
    - ctgGetCachedStbNameFromSuid
    - taosMemoryFreeClear
    - privInfoGet
    - nodesStringToNode
    - snprintf
    - taosArrayDup
    - CTG_ERR_JRET
    - taosHashGetSize
    - PRIV_HAS
    - privGetConstraintTblPrivileges
    - taosArrayGetSize
    - tNameExtractFullName
    - ctgError
    - ctgDebug
    - privHasObjPrivilege
    - tNameGetFullDbName
    - CTG_ERR_RET
    - taosMemoryFree
    - tstrerror
    - CTG_RET
    - ctgGetTbMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkSetTbAuthRsp(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2443,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2444,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2444,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2446,1
    - Dst: privHasObjPrivilege
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2449,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2437
    functionDepth: 1
    functionLinenumber: 2437
    functionLinenumberEnd: 2459
    functionName: ctgChkSetCommonAuthRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - privHasObjPrivilege
    - tstrerror
    - tNameExtractFullName
    - CTG_RET
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkSetCommonAuthRsp(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2479,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2481,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2493,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2493,1
    - Dst: privInfoGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2499,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2505,1
    - Dst: privObjGetLevel
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2513,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2518,1
    - Dst: privInfoGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2521,1
    - Dst: privHasObjPrivilege
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2522,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2531,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2531,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2542,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2542,1
    - Dst: privHasObjPrivilege
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2543,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2551,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2551,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2565,1
    - Dst: ctgChkSetTbAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2565,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2573,1
    - Dst: ctgChkSetTbAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2573,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2581,1
    - Dst: ctgChkSetTbAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2581,1
    - Dst: ctgChkSetTbAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2593,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2600,1
    - Dst: ctgChkSetCommonAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2600,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2606,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2612,1
    - Dst: ctgChkSetCommonAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2612,1
    - Dst: privHasObjPrivilege
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2621,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2631,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2638,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2640,1
    - Dst: ctgChkSetTbAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2640,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2646,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2646,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2654,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2656,1
    - Dst: ctgChkSetTbAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2656,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2662,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2662,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2670,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2670,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2671,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2671,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2672,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2672,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 190
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2461
    functionDepth: 6
    functionLinenumber: 2461
    functionLinenumberEnd: 2684
    functionName: ctgChkSetBasicAuthRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - CTG_ERR_RET
    - privInfoGet
    - privHasObjPrivilege
    - privObjGetLevel
    - ctgChkSetTbAuthRsp
    - taosHashGet
    - taosHashGetSize
    - ctgChkSetTbAuthRes
    - PRIV_HAS
    - ctgChkSetCommonAuthRsp
    - strlen
    - ctgError
    - tNameGetFullDbName
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkSetBasicAuthRes(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2688,1
    - Dst: ctgChkSetViewAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2688,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2693,1
    - Dst: ctgChkSetBasicAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2686
    functionDepth: 7
    functionLinenumber: 2686
    functionLinenumberEnd: 2694
    functionName: ctgChkSetAuthRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - ctgChkSetBasicAuthRes
    - CTG_RET
    - ctgChkSetViewAuthRes
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkSetAuthRes(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2702,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2703,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2708,1
    - Dst: copyFunc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2709,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pSrc
    - copyFunc
    - pDst
    argTypes:
    - SArray*
    - __array_item_dup_fn_t
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2697
    functionDepth: 1
    functionLinenumber: 2697
    functionLinenumberEnd: 2717
    functionName: ctgCloneMetaDataArray
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - copyFunc
    - taosArrayPush
    - taosArrayGet
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneMetaDataArray(SArray* pSrc, __array_item_dup_fn_t copyFunc,
      SArray** pDst)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2720,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2725,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2727,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2730,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2733,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2736,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2739,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2742,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2745,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2748,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2751,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2754,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2757,1
    - Dst: catalogFreeMetaData
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2761,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2766
      start: 2719
    functionDepth: 2
    functionLinenumber: 2719
    functionLinenumberEnd: 2766
    functionName: catalogCloneMetaData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - catalogFreeMetaData
    - taosMemoryCalloc
    - ctgCloneMetaDataArray
    linkageType: ''
    returnType: SMetaData
    signature: SMetaData * catalogCloneMetaData(SMetaData* pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2774,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2775,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2776,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2777,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2778,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2779,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2780,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2781,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2782,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2783,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2784,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2785,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2786,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2787,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2788,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2789,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2769
    functionDepth: 1
    functionLinenumber: 2769
    functionLinenumberEnd: 2791
    functionName: ctgDestroySMetaData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void ctgDestroySMetaData(SMetaData* pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pIndex
    argTypes:
    - STableIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2799
    functionName: ctgGetTbIndexCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ctgGetTbIndexCacheSize(STableIndex* pIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2806,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SViewMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2801
    functionDepth: 0
    functionLinenumber: 2801
    functionLinenumberEnd: 2807
    functionName: ctgGetViewMetaCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - strlen
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ctgGetViewMetaCacheSize(SViewMeta* pMeta)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2826
    functionName: ctgGetTbMetaCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE ctgGetTbMetaCacheSize(STableMeta* pMeta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2833,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pVg
    argTypes:
    - SDBVgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2828
    functionDepth: 1
    functionLinenumber: 2828
    functionLinenumberEnd: 2835
    functionName: ctgGetDbVgroupCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - taosHashGetSize
    - taosArrayGetSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ctgGetDbVgroupCacheSize(SDBVgInfo* pVg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2839,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2842,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2844,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pHash
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2837
    functionDepth: 1
    functionLinenumber: 2837
    functionLinenumberEnd: 2850
    functionName: tGetHashKvSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGetKey
    - taosHashIterate
    - taosHashGetSize
    - taosHashGetValueSize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t tGetHashKvSize(SHashObj* pHash)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2854,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2857,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2859,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2861,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2868,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2871,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - pHash
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2852
    functionDepth: 1
    functionLinenumber: 2852
    functionLinenumberEnd: 2879
    functionName: tGetPrivTblPoliciesSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashGetValueSize
    - taosHashGetSize
    - taosHashGetKey
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t tGetPrivTblPoliciesSize(SHashObj* pHash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2888,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2891,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2892,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2894,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2897,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2900,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2901,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2903,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2906,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2909,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2910,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2912,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2915,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2918,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2919,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2921,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2924,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2927,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2928,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2930,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2933,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2936,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2937,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2939,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2942,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2945,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2946,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2948,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2951,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2954,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2955,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2957,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2960,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2963,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2964,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2966,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2969,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2972,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2975,1
    - Dst: tGetHashKvSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2978,1
    - Dst: tGetPrivTblPoliciesSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2979,1
    - Dst: tGetPrivTblPoliciesSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2980,1
    - Dst: tGetPrivTblPoliciesSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2981,1
    - Dst: tGetHashKvSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2982,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 1
    argNames:
    - pAuth
    argTypes:
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2881
    functionDepth: 2
    functionLinenumber: 2881
    functionLinenumberEnd: 2985
    functionName: ctgGetUserCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - taosHashIterate
    - tGetPrivTblPoliciesSize
    - tGetHashKvSize
    - taosHashGetKey
    - strlen
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ctgGetUserCacheSize(SGetUserAuthRsp* pAuth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2990,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2993,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2994,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2996,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2999,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3002,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3003,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 2987
    functionDepth: 1
    functionLinenumber: 2987
    functionLinenumberEnd: 3013
    functionName: ctgGetClusterCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGetKey
    - taosHashIterate
    - atomic_load_64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ctgGetClusterCacheSize(SCatalog* pCtg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3025,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3037,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3015
    functionDepth: 1
    functionLinenumber: 3015
    functionLinenumberEnd: 3039
    functionName: ctgGetClusterCacheStat
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void ctgGetClusterCacheStat(SCatalog* pCtg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3051
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3051
    functionName: ctgSummaryClusterCacheStat
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctgSummaryClusterCacheStat(SCatalog* pCtg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3065,1
    - Dst: ctgGetClusterCacheStat
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3070,1
    - Dst: ctgSummaryClusterCacheStat
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3071,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3074,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3077,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pStat
    argTypes:
    - SCtgCacheStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3053
    functionDepth: 2
    functionLinenumber: 3053
    functionLinenumberEnd: 3078
    functionName: ctgGetGlobalCacheStat
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - ctgGetClusterCacheStat
    - taosHashIterate
    - TAOS_MEMCPY
    - ctgSummaryClusterCacheStat
    linkageType: ''
    returnType: void
    signature: void ctgGetGlobalCacheStat(SCtgCacheStat* pStat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3084,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3087,1
    - Dst: ctgGetClusterCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3092,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pSize
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3097
      start: 3080
    functionDepth: 2
    functionLinenumber: 3080
    functionLinenumberEnd: 3097
    functionName: ctgGetGlobalCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached:
    - taosHashGetKey
    - taosHashIterate
    - ctgGetClusterCacheSize
    linkageType: ''
    returnType: void
    signature: void ctgGetGlobalCacheSize(uint64_t* pSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3101,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3103,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3105,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3105,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3106,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3109,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3111,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3114,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pTask
    - pCtx
    argTypes:
    - SCtgTask*
    - SCtgViewsCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3099
    functionDepth: 1
    functionLinenumber: 3099
    functionLinenumberEnd: 3121
    functionName: ctgBuildViewNullRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgDebug
    - CTG_ERR_RET
    - taosArrayGet
    - qError
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgBuildViewNullRes(SCtgTask* pTask, SCtgViewsCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3124,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3126,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3128,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3130,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3138,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3140,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - pRsp
    - pViewMeta
    argTypes:
    - SViewMetaRsp*
    - SViewMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3146
      start: 3123
    functionDepth: 1
    functionLinenumber: 3123
    functionLinenumberEnd: 3146
    functionName: dupViewMetaFromRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - tstrdup
    - TAOS_MEMCPY
    - taosMemoryMalloc
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t dupViewMetaFromRsp(SViewMetaRsp* pRsp, SViewMeta* pViewMeta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3149,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3151,1
    - Dst: cloneDbVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3154,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3156,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ppOut
    - vgInfo
    argTypes:
    - SUseDbOutput**
    - SDBVgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3161
      start: 3148
    functionDepth: 1
    functionLinenumber: 3148
    functionLinenumberEnd: 3161
    functionName: ctgBuildUseDbOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - CTG_RET
    - cloneDbVgInfo
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgBuildUseDbOutput(SUseDbOutput** ppOut, SDBVgInfo* vgInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pTsmaInfo
    argTypes:
    - STableTSMAInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3182
      start: 3163
    functionDepth: 0
    functionLinenumber: 3163
    functionLinenumberEnd: 3182
    functionName: ctgGetTbTSMACacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ctgGetTbTSMACacheSize(STableTSMAInfo* pTsmaInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3189,1
    - Dst: isCtgTSMACacheOutOfDate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pTsmas
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3184
    functionDepth: 1
    functionLinenumber: 3184
    functionLinenumberEnd: 3199
    functionName: hasOutOfDateTSMACache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - isCtgTSMACacheOutOfDate
    - taosArrayGetP
    linkageType: ''
    returnType: bool
    signature: bool hasOutOfDateTSMACache(SArray* pTsmas)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3202,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pTsmaCache
    argTypes:
    - STSMACache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3201
    functionDepth: 1
    functionLinenumber: 3201
    functionLinenumberEnd: 3212
    functionName: isCtgTSMACacheOutOfDate
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    functionsReached:
    - qDebug
    - taosGetTimestampMs
    linkageType: ''
    returnType: bool
    signature: bool isCtgTSMACacheOutOfDate(STSMACache* pTsmaCache)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3217,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3219,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3235,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:3236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3214
    functionDepth: 1
    functionLinenumber: 3214
    functionLinenumberEnd: 3240
    functionName: ctgAddTSMAFetch
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: 1
    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,\n                        CTG_TSMA_FETCH_TYPE
      fetchType, const SName* sourceTbName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:29,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:29,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:47,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:47,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:50,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:50,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:52,1
    - Dst: ctgCloneVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:52,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:54,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:54,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:60,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - dbFName
    - dbCache
    - pInfo
    - exists
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SCtgDBCache**
    - SDBVgInfo**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 25
    functionDepth: 7
    functionLinenumber: 25
    functionLinenumberEnd: 64
    functionName: ctgGetDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - ctgGetDBVgInfoFromMnode
    - tListLen
    - ctgUpdateVgroupEnqueue
    - tstrncpy
    - ctgCloneVgInfo
    - CTG_RET
    - CTG_ERR_JRET
    - ctgAcquireVgInfoFromCache
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgGetDBVgInfo(SCatalog* pCtg, SRequestConnInfo* pConn, const
      char* dbFName, SCtgDBCache** dbCache,\n                       SDBVgInfo** pInfo,
      bool* exists)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:70,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:70,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:74,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:74,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:79,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:85,1
    - Dst: CTG_DB_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:87,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:88,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:89,1
    - Dst: ctgDropDbCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:89,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:92,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:95,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - dbFName
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 7
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: ctgRefreshDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - CTG_ERR_RET
    - ctgDropDbCacheEnqueue
    - tListLen
    - ctgReleaseVgInfoToCache
    - ctgGetDBVgInfoFromMnode
    - ctgUpdateVgroupEnqueue
    - tstrncpy
    - CTG_DB_NOT_EXIST
    - ctgAcquireVgInfoFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgRefreshDBVgInfo(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:105,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:106,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:106,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:110,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:112,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:113,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:116,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:117,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:117,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:119,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:119,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:120,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:121,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:121,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:124,1
    - Dst: ctgGetTbMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:124,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:126,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:127,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:127,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:130,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:130,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:133,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:133,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:135,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:136,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:136,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:138,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:140,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:140,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:141,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:141,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:143,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:144,1
    - Dst: ctgTbMetaExistInCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:144,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:148,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:148,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:150,1
    - Dst: SET_META_TYPE_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:151,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:154,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:158,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:160,1
    - Dst: SET_META_TYPE_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:161,1
    - Dst: SET_META_TYPE_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:163,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:169,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:170,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:170,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:171,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:171,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:172,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:175,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:176,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:178,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:179,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:183,1
    - Dst: ctgCloneMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:183,1
    - Dst: ctgUpdateTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:186,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:188,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:195,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:196,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:197,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:200,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 73
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - ctx
    - pOutput
    - syncReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbMetaCtx*
    - STableMetaOutput**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 100
    functionDepth: 8
    functionLinenumber: 100
    functionLinenumberEnd: 201
    functionName: ctgRefreshTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ctgGetTbHashVgroup
    - ctgCloneMetaOutput
    - ctgGetTbMetaFromVnode
    - ctgUpdateTbMetaEnqueue
    - CTG_ERR_JRET
    - SET_META_TYPE_CTABLE
    - CTG_FLAG_IS_STB
    - SET_META_TYPE_VCTABLE
    - ctgError
    - taosMemoryCalloc
    - ctgDebug
    - ctgRemoveTbMetaFromCache
    - ctgGetTbMetaFromMnode
    - ctgGetTbMetaFromMnodeImpl
    - SET_META_TYPE_NULL
    - CTG_IS_META_BOTH
    - CTG_IS_META_VBOTH
    - ctgTbMetaExistInCache
    - CTG_ERR_RET
    - CTG_IS_META_NULL
    - tNameGetTableName
    - CTG_FLAG_IS_FORCE_UPDATE
    - CTG_FLAG_IS_SYS_DB
    - CTG_RET
    - CTG_IS_META_TABLE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgRefreshTbMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      SCtgTbMetaCtx* ctx, STableMetaOutput** pOutput,\n                         bool
      syncReq)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:208,1
    - Dst: ctgGetTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:208,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:214,1
    - Dst: ctgRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:214,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:216,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:221,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:222,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:228,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:232,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:234,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:237,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:238,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:239,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:246,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:249,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:254,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:255,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:256,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:261,1
    - Dst: CTG_IS_META_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:266,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:266,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:267,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:268,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:269,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:270,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:276,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:281,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:281,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:283,1
    - Dst: CTG_IS_META_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:286,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:287,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:288,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:291,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:293,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:296,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:297,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:298,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:305,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:308,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:317,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:318,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:325,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:327,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:328,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:330,1
    - Dst: ctgDropStbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:334,1
    - Dst: ctgDropTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:336,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:340,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:343,1
    - Dst: ctgdShowTableMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:344,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:347,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 118
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - ctx
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbMetaCtx*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 203
    functionDepth: 9
    functionLinenumber: 203
    functionLinenumberEnd: 348
    functionName: ctgGetTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 3
    functionsReached:
    - taosMemoryFreeClear
    - ctgdShowTableMeta
    - TAOS_MEMCPY
    - CTG_IS_META_CTABLE
    - CTG_IS_META_VCTABLE
    - CTG_ERR_JRET
    - ctgRefreshTbMeta
    - CTG_META_SIZE
    - withExtSchema
    - CTG_TABLE_NOT_EXIST
    - ctgDropStbMetaEnqueue
    - ctgError
    - ctgDebug
    - QUERY_CHECK_NULL
    - ctgDropTbMetaEnqueue
    - tstrncpy
    - ctgGetTbMetaFromCache
    - CTG_IS_META_BOTH
    - CTG_IS_META_VBOTH
    - CTG_ERR_RET
    - CTG_FLAG_IS_SYS_DB
    - CTG_RET
    - CTG_IS_META_TABLE
    - tNameGetFullDbName
    - taosMemoryRealloc
    - ctgReadTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbMeta(SCatalog* pCtg, SRequestConnInfo* pConn, SCtgTbMetaCtx*
      ctx, STableMeta** pTableMeta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:351,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:353,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:354,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:359,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:364,1
    - Dst: SET_META_TYPE_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:366,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:368,1
    - Dst: queryCreateCTableMetaFromMsg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:368,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:370,1
    - Dst: SET_META_TYPE_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:372,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:374,1
    - Dst: queryCreateVCTableMetaFromMsg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:374,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:376,1
    - Dst: SET_META_TYPE_TABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:378,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:380,1
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:380,1
    - Dst: ctgUpdateTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:383,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:385,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:392,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:393,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:394,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pCtg
    - rspMsg
    - syncOp
    argTypes:
    - SCatalog*
    - STableMetaRsp*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 398
    functionName: ctgUpdateTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - SET_META_TYPE_CTABLE
    - CTG_ERR_JRET
    - taosMemoryFreeClear
    - CTG_RET
    - CTG_ERR_RET
    - queryCreateTableMetaFromMsg
    - SET_META_TYPE_TABLE
    - tstrncpy
    - queryCreateVCTableMetaFromMsg
    - SET_META_TYPE_VCTABLE
    - queryCreateCTableMetaFromMsg
    - ctgError
    - taosMemoryCalloc
    - ctgUpdateTbMetaEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgUpdateTbMeta(SCatalog* pCtg, STableMetaRsp* rspMsg, bool
      syncOp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:406,1
    - Dst: ctgChkAuthFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:406,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:429,1
    - Dst: ctgGetUserDbAuthFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:429,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:431,1
    - Dst: ctgChkSetAuthRes
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:431,1
    - Dst: ctgUpdateUserEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:435,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pReq
    - pRes
    - pRsp
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SUserAuthInfo*
    - SUserAuthRes*
    - SUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 400
    functionDepth: 8
    functionLinenumber: 400
    functionLinenumberEnd: 438
    functionName: ctgChkAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - ctgChkAuthFromCache
    - ctgGetUserDbAuthFromMnode
    - ctgChkSetAuthRes
    - CTG_RET
    - CTG_ERR_JRET
    - ctgUpdateUserEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgChkAuth(SCatalog* pCtg, SRequestConnInfo* pConn, SUserAuthInfo
      *pReq, SUserAuthRes* pRes, SUserAuthRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:442,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:443,1
    - Dst: ctgReadTbTypeFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:443,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:452,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:452,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - tbType
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 440
    functionDepth: 10
    functionLinenumber: 440
    functionLinenumberEnd: 458
    functionName: ctgGetTbType
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgReadTbTypeFromCache
    - CTG_ERR_RET
    - ctgGetTbMeta
    - taosMemoryFree
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbType(SCatalog* pCtg, SRequestConnInfo* pConn, SName*
      pTableName, int32_t* tbType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:461,1
    - Dst: ctgReadTbIndexFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:461,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:466,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:468,1
    - Dst: ctgGetTbIndexFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:471,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:476,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:479,1
    - Dst: ctgCloneTableIndex
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:479,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:483,1
    - Dst: ctgUpdateTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:483,1
    - Dst: tFreeSTableIndexRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:489,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:490,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:492,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 460
    functionDepth: 7
    functionLinenumber: 460
    functionLinenumberEnd: 496
    functionName: ctgGetTbIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - taosArrayDestroyEx
    - ctgGetTbIndexFromMnode
    - CTG_ERR_RET
    - ctgCloneTableIndex
    - tFreeSTableIndexRsp
    - taosMemoryFree
    - taosMemoryCalloc
    - ctgReadTbIndexFromCache
    - ctgUpdateTbIndexEnqueue
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbIndex(SCatalog* pCtg, SRequestConnInfo* pConn, SName*
      pTableName, SArray** pRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:500,1
    - Dst: ctgGetTbType
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:500,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:503,1
    - Dst: ctgGetTableCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:503,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:506,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:506,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:507,1
    - Dst: ctgGetTableCfgFromVnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:507,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableCfg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 498
    functionDepth: 11
    functionLinenumber: 498
    functionLinenumberEnd: 511
    functionName: ctgGetTbCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - ctgGetTbType
    - ctgGetTbHashVgroup
    - ctgGetTableCfgFromVnode
    - ctgGetTableCfgFromMnode
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbCfg(SCatalog* pCtg, SRequestConnInfo* pConn, SName*
      pTableName, STableCfg** pCfg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:519,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:519,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:520,1
    - Dst: ctgGetTableCfgFromVnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:520,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:523,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:524,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:530,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:531,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:533,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:537,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:539,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:540,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:546,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:547,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:548,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:549,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:550,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:553,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:553,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:560,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 514
    functionDepth: 7
    functionLinenumber: 514
    functionLinenumberEnd: 563
    functionName: ctgGetTbTag
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - parseTagDatatoJson
    - taosArrayPush
    - CTG_RET
    - CTG_ERR_RET
    - ctgGetTbHashVgroup
    - taosArrayDestroy
    - tFreeSTableCfgRsp
    - ctgGetTableCfgFromVnode
    - taosMemoryFree
    - taosArrayInit
    - strlen
    - ctgError
    - CTG_ERR_JRET
    - tTagIsJson
    - tTagToValArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbTag(SCatalog* pCtg, SRequestConnInfo* pConn, SName*
      pTableName, SArray** pRes)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:579,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:579,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:582,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:585,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:585,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:594,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:594,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:597,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:598,1
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:602,1
    - Dst: ctgWarn
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:603,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:603,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:604,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:607,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:609,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:610,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:613,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:614,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:614,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:615,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:626,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:627,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:630,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:633,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:637,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 566
    functionDepth: 10
    functionLinenumber: 566
    functionLinenumberEnd: 642
    functionName: ctgGetTbDistVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgGetDBVgInfo
    - tNameGetFullDbName
    - ctgWarn
    - ctgReleaseDBCache
    - taosMemoryFreeClear
    - freeVgInfo
    - ctgRUnlockVgInfo
    - taosHashGetDup
    - tNameGetTableName
    - taosArrayDestroy
    - ctgGenerateVgList
    - taosArrayInit
    - CTG_RET
    - ctgError
    - ctgGetTbMeta
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbDistVgInfo(SCatalog* pCtg, SRequestConnInfo* pConn,
      SName* pTableName, SArray** pVgList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:645,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:646,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:647,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:653,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:656,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:656,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:659,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:663,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:663,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:668,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:669,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:673,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgroup
    - exists
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SVgroupInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 644
    functionDepth: 8
    functionLinenumber: 644
    functionLinenumberEnd: 677
    functionName: ctgGetTbHashVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 3
    functionsReached:
    - ctgDebug
    - ctgGetDBVgInfo
    - ctgReleaseDBCache
    - CTG_ERR_RET
    - freeVgInfo
    - ctgGetVgInfoFromHashValue
    - ctgRUnlockVgInfo
    - CTG_RET
    - ctgError
    - tNameGetFullDbName
    - CTG_ERR_JRET
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbHashVgroup(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, SVgroupInfo* pVgroup, bool* exists)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:680,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:681,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:682,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:688,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:691,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:691,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:693,1
    - Dst: ctgGetVgIdsFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:693,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:698,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:699,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:703,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 7
    argNames:
    - pCtg
    - pConn
    - acctId
    - pDb
    - pTbs
    - tbNum
    - vgId
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - int32_t
    - char*
    - char*[]
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 679
    functionDepth: 8
    functionLinenumber: 679
    functionLinenumberEnd: 707
    functionName: ctgGetTbsHashVgId
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetVgIdsFromHashValue
    - ctgGetDBVgInfo
    - ctgReleaseDBCache
    - CTG_ERR_RET
    - freeVgInfo
    - ctgRUnlockVgInfo
    - snprintf
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - IS_SYS_DBNAME
    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: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:713,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:717,1
    - Dst: ctgAcquireVgMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:717,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:724,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:724,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:726,1
    - Dst: ctgCopyTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:731,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:733,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:735,1
    - Dst: ctgReleaseVgMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:739,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 710
    functionDepth: 5
    functionLinenumber: 710
    functionLinenumberEnd: 742
    functionName: ctgGetCachedTbVgMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - ctgReleaseTbMetaToCache
    - ctgGetVgInfoFromHashValue
    - ctgCopyTbMeta
    - ctgAcquireVgMetaFromCache
    - ctgRUnlockVgInfo
    - ctgReleaseVgMetaToCache
    - CTG_RET
    - tNameGetFullDbName
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetCachedTbVgMeta(SCatalog* pCtg, const SName* pTableName,
      SVgroupInfo* pVgroup, STableMeta** pTableMeta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:749,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:756,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:756,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - related
    argTypes:
    - SCatalog*
    - SName*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 745
    functionDepth: 7
    functionLinenumber: 745
    functionLinenumberEnd: 761
    functionName: ctgRemoveTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgRemoveTbMetaFromCache
    - CTG_ERR_JRET
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgRemoveTbMeta(SCatalog* pCtg, SName* pTableName, bool related)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:768,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:775,1
    - Dst: ctgDropViewMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:775,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - viewName
    - viewId
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 764
    functionDepth: 3
    functionLinenumber: 764
    functionLinenumberEnd: 780
    functionName: ctgRemoveViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - CTG_ERR_JRET
    - CTG_ERR_RET
    - ctgDropViewMetaEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgRemoveViewMeta(SCatalog* pCtg, const char* dbFName, uint64_t
      dbId, const char* viewName, uint64_t viewId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_NENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:784,1
    - Dst: ctgdShowCacheInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:786,1
    - Dst: ctgdShowStatInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:787,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:789,1
    - Dst: ctgGetGlobalCacheSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:792,1
    - Dst: CTG_CACHE_OVERFLOW
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:793,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:795,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:798,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:800,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:800,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:801,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:802,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:810,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:811,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:812,1
    - Dst: CTG_API_NLEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 783
    functionDepth: 5
    functionLinenumber: 783
    functionLinenumberEnd: 818
    functionName: ctgProcessTimerEvent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgClearCacheEnqueue
    - ctgGetGlobalCacheSize
    - taosTmrReset
    - qTrace
    - CTG_API_NLEAVE
    - qError
    - atomic_load_32
    - ctgdShowCacheInfo
    - qDebug
    - ctgdShowStatInfo
    - CTG_API_NENTER
    - tstrerror
    - CTG_CACHE_OVERFLOW
    linkageType: ''
    returnType: void
    signature: void ctgProcessTimerEvent(void *param, void *tmrId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:821,1
    - Dst: ctgReadDBCfgFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:821,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:824,1
    - Dst: ctgGetDBCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:824,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:826,1
    - Dst: ctgCloneDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:826,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:828,1
    - Dst: ctgUpdateDbCfgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - pDbCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 820
    functionDepth: 7
    functionLinenumber: 820
    functionLinenumberEnd: 832
    functionName: ctgGetDBCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgReadDBCfgFromCache
    - CTG_ERR_RET
    - ctgGetDBCfgFromMnode
    - ctgUpdateDbCfgEnqueue
    - ctgCloneDbCfgInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetDBCfg(SCatalog* pCtg, SRequestConnInfo* pConn, const
      char* dbFName, SDbCfgInfo* pDbCfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:837,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:843,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:849,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:849,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:849,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:857,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:859,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - ppRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 835
    functionDepth: 7
    functionLinenumber: 835
    functionLinenumberEnd: 860
    functionName: ctgGetTbTsmas
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - ctgGetTbTSMAFromMnode
    - tFreeTableTSMAInfoRsp
    - ctgUpdateTbTSMAEnqueue
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbTsmas(SCatalog* pCtg, SRequestConnInfo* pConn, SName*
      pTableName, SArray** ppRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:865,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:871,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:873,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:874,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:880,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTsmaName
    - pTsma
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableTSMAInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 863
    functionDepth: 7
    functionLinenumber: 863
    functionLinenumberEnd: 883
    functionName: ctgGetTsma
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetTbTSMAFromMnode
    - tFreeTableTSMAInfoRsp
    - CTG_RET
    - taosArrayDestroy
    - CTG_ERR_JRET
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTsma(SCatalog* pCtg, SRequestConnInfo* pConn, const SName*
      pTsmaName, STableTSMAInfo** pTsma)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:887,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:889,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:890,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:893,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:896,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:940,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:940,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:943,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:944,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:947,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:948,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:948,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:949,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:952,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:954,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:955,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:959,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:961,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:961,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:962,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:965,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:967,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:967,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:968,1
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:971,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:973,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:974,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:977,1
    - Dst: ctgStartUpdateThread
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:977,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:979,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - SCatalogCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 983
    functionName: catalogInit
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 30
    functionsReached:
    - ctgStartUpdateThread
    - taosTmrStart
    - CTG_ERR_RET
    - qError
    - tsem_init
    - qInfo
    - TAOS_MEMCPY
    - taosHashInit
    - taosOpenRef
    - taosTmrInit
    - taosGetDefaultHashFunction
    - tstrerror
    - taosMemoryCalloc
    - TAOS_MEMSET
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogInit(SCatalogCfg* cfg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:987,1
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:990,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:993,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:994,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1001,1
    - Dst: CTG_STAT_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1005,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1006,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1007,1
    - Dst: CTG_STAT_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1010,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1012,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1014,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1015,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1020,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1020,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1021,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1021,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1022,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1022,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1023,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1023,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1025,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1025,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1028,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1029,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1032,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1033,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1035,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1036,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1039,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1041,1
    - Dst: ctgFreeHandleImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1042,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1046,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1047,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1050,1
    - Dst: CTG_STAT_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1057,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1059,1
    - Dst: ctgFreeHandleImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1063,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1065,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - clusterId
    - catalogHandle
    argTypes:
    - int64_t
    - SCatalog**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 985
    functionDepth: 6
    functionLinenumber: 985
    functionLinenumberEnd: 1066
    functionName: catalogGetHandle
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 30
    functionsReached:
    - CTG_ERR_JRET
    - CTG_ERR_RET
    - qTrace
    - qError
    - taosHashGet
    - CTG_STAT_HIT_INC
    - CTG_API_LEAVE
    - taosHashPut
    - qDebug
    - taosHashInit
    - CTG_STAT_NUM_INC
    - ctgMetaRentInit
    - taosGetDefaultHashFunction
    - HASH_NODE_EXIST
    - ctgFreeHandleImpl
    - CTG_API_ENTER
    - taosMemoryCalloc
    - CTG_STAT_NHIT_INC
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetHandle(int64_t clusterId, SCatalog** catalogHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1069,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1072,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1078,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1078,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1081,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1088,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1090,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1092,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1096,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - pCtg
    - dbFName
    - version
    - dbId
    - tableNum
    - pStateTs
    argTypes:
    - SCatalog*
    - char*
    - int32_t*
    - int64_t*
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1068
    functionDepth: 5
    functionLinenumber: 1068
    functionLinenumberEnd: 1097
    functionName: catalogGetDBVgVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgDebug
    - ctgReleaseVgInfoToCache
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - ctgAcquireVgInfoFromCache
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1100,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1103,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1111,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1111,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1118,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1118,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1126,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1127,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1131,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - vgroupList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1099
    functionDepth: 8
    functionLinenumber: 1099
    functionLinenumberEnd: 1135
    functionName: catalogGetDBVgList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 2
    functionsReached:
    - ctgGetDBVgInfo
    - ctgReleaseDBCache
    - freeVgInfo
    - ctgRUnlockVgInfo
    - CTG_API_LEAVE
    - ctgGenerateVgList
    - CTG_API_ENTER
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetDBVgList(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName, SArray** vgroupList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1138,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1141,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1147,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1147,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1156,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1158,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1159,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1162,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1164,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1169,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1177,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1185,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1186,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1188,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - pInfo
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - TAOS_DB_ROUTE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1137
    functionDepth: 8
    functionLinenumber: 1137
    functionLinenumberEnd: 1192
    functionName: catalogGetDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - ctgGetDBVgInfo
    - ctgReleaseDBCache
    - freeVgInfo
    - taosHashGetSize
    - ctgRUnlockVgInfo
    - CTG_API_LEAVE
    - taosMemoryCalloc
    - ctgError
    - CTG_API_ENTER
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetDBVgInfo(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName, TAOS_DB_ROUTE_INFO* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1195,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1200,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1201,1
    - Dst: ctgUpdateVgroupEnqueue
      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: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - dbId
    - dbInfo
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - SDBVgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1209
    functionName: catalogUpdateDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 3
    functionsReached:
    - freeVgInfo
    - CTG_API_LEAVE
    - ctgUpdateVgroupEnqueue
    - CTG_API_ENTER
    - CTG_ERR_JRET
    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:1212,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1217,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1218,1
    - Dst: ctgUpdateDbCfgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1221,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - dbId
    - cfgInfo
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1211
    functionDepth: 3
    functionLinenumber: 1211
    functionLinenumberEnd: 1226
    functionName: catalogUpdateDbCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - freeDbCfgInfo
    - CTG_API_LEAVE
    - ctgUpdateDbCfgEnqueue
    - CTG_API_ENTER
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogUpdateDbCfg(SCatalog* pCtg, const char* dbFName, uint64_t
      dbId, SDbCfgInfo* cfgInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1229,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1234,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1238,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1241,1
    - Dst: ctgDropDbCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1241,1
    - Dst: CTG_API_LEAVE
      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: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - dbId
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1228
    functionDepth: 3
    functionLinenumber: 1228
    functionLinenumberEnd: 1248
    functionName: catalogRemoveDB
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgDropDbCacheEnqueue
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogRemoveDB(SCatalog* pCtg, const char* dbFName, uint64_t
      dbId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1251,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1256,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1259,1
    - Dst: ctgUpdateVgEpsetEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1259,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - vgId
    - epSet
    argTypes:
    - SCatalog*
    - char*
    - int32_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1250
    functionDepth: 3
    functionLinenumber: 1250
    functionLinenumberEnd: 1264
    functionName: catalogUpdateVgEpSet
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgUpdateVgEpsetEnqueue
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogUpdateVgEpSet(SCatalog* pCtg, const char* dbFName, int32_t
      vgId, SEpSet* epSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1267,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1272,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1275,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1277,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1280,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1282,1
    - Dst: ctgUpdateTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1282,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCtg
    - pRsp
    argTypes:
    - SCatalog*
    - STableIndexRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1266
    functionDepth: 3
    functionLinenumber: 1266
    functionLinenumberEnd: 1287
    functionName: catalogUpdateTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_LEAVE
    - TAOS_MEMCPY
    - taosMemoryCalloc
    - ctgUpdateTbIndexEnqueue
    - CTG_API_ENTER
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogUpdateTableIndex(SCatalog* pCtg, STableIndexRsp* pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1290,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1292,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCtg
    - pTableName
    argTypes:
    - SCatalog*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1289
    functionDepth: 8
    functionLinenumber: 1289
    functionLinenumberEnd: 1293
    functionName: catalogRemoveTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgRemoveTbMeta
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogRemoveTableMeta(SCatalog* pCtg, SName* pTableName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1296,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1298,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCtg
    - pTableName
    argTypes:
    - SCatalog*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1295
    functionDepth: 8
    functionLinenumber: 1295
    functionLinenumberEnd: 1299
    functionName: catalogRemoveTableRelatedMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgRemoveTbMeta
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogRemoveTableRelatedMeta(SCatalog* pCtg, SName* pTableName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1303,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1308,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1312,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1315,1
    - Dst: ctgDropStbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1315,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1317,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - stbName
    - suid
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1302
    functionDepth: 3
    functionLinenumber: 1302
    functionLinenumberEnd: 1322
    functionName: catalogRemoveStbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgDropStbMetaEnqueue
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogRemoveStbMeta(SCatalog* pCtg, const char* dbFName, uint64_t
      dbId, const char* stbName, uint64_t suid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1325,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1331,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1324
    functionDepth: 10
    functionLinenumber: 1324
    functionLinenumberEnd: 1332
    functionName: catalogGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 11
    functionsReached:
    - ctgGetTbMeta
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetTableMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, STableMeta** pTableMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1335,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1341,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1334
    functionDepth: 10
    functionLinenumber: 1334
    functionLinenumberEnd: 1342
    functionName: catalogGetCachedTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 4
    functionsReached:
    - ctgGetTbMeta
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetCachedTableMeta(SCatalog* pCtg, const SName* pTableName,
      STableMeta** pTableMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1347,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1353,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1345
    functionDepth: 10
    functionLinenumber: 1345
    functionLinenumberEnd: 1354
    functionName: catalogGetSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgGetTbMeta
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t catalogGetSTableMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName,\n                             STableMeta** pTableMeta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1357,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1363,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1356
    functionDepth: 10
    functionLinenumber: 1356
    functionLinenumberEnd: 1364
    functionName: catalogGetCachedSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgGetTbMeta
    - CTG_API_ENTER
    - CTG_API_LEAVE
    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:1368,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1371,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1375,1
    - Dst: ctgUpdateTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1375,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1367
    functionDepth: 4
    functionLinenumber: 1367
    functionLinenumberEnd: 1380
    functionName: catalogUpdateTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgUpdateTbMeta
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    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:1383,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1386,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1390,1
    - Dst: ctgUpdateTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1390,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1382
    functionDepth: 4
    functionLinenumber: 1382
    functionLinenumberEnd: 1395
    functionName: catalogAsyncUpdateTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgUpdateTbMeta
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogAsyncUpdateTableMeta(SCatalog* pCtg, STableMetaRsp*
      pMsg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1399,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1402,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1410,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1412,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1414,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1415,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1422,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1423,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1424,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1427,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1434,1
    - Dst: ctgReadTbVerFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1434,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1439,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1440,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1440,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1444,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1444,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1450,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1450,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1454,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1462,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pTables
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1398
    functionDepth: 8
    functionLinenumber: 1398
    functionLinenumberEnd: 1463
    functionName: catalogChkTbMetaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgRemoveTbMeta
    - tNameFromString
    - taosArrayGet
    - ctgReadTbVerFromCache
    - CTG_API_LEAVE
    - tstrncpy
    - taosArrayGetSize
    - ctgError
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogChkTbMetaVersion(SCatalog* pCtg, SRequestConnInfo* pConn,
      SArray* pTables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      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: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1472,1
    - Dst: ctgRefreshDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - dbFName
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1465
    functionDepth: 8
    functionLinenumber: 1465
    functionLinenumberEnd: 1473
    functionName: catalogRefreshDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - ctgRefreshDBVgInfo
    - CTG_API_LEAVE
    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:1476,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1479,1
    - Dst: CTG_FLAG_MAKE_STB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1484,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1485,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1486,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1489,1
    - Dst: ctgRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - isSTable
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1475
    functionDepth: 9
    functionLinenumber: 1475
    functionLinenumberEnd: 1490
    functionName: catalogRefreshTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_FLAG_MAKE_STB
    - CTG_API_LEAVE
    - CTG_FLAG_SET_SYS_DB
    - CTG_API_ENTER
    - IS_SYS_DBNAME
    - ctgRefreshTbMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogRefreshTableMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, int32_t isSTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1494,1
    - Dst: CTG_FLAG_MAKE_STB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1498,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1500,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pTableMeta
    - isSTable
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1492
    functionDepth: 10
    functionLinenumber: 1492
    functionLinenumberEnd: 1501
    functionName: catalogRefreshGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 7
    functionsReached:
    - ctgGetTbMeta
    - CTG_FLAG_MAKE_STB
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t catalogRefreshGetTableMeta(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName,\n                                   STableMeta**
      pTableMeta, int32_t isSTable)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1504,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1507,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1510,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1511,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1512,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1515,1
    - Dst: ctgGetTbDistVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1503
    functionDepth: 11
    functionLinenumber: 1503
    functionLinenumberEnd: 1516
    functionName: catalogGetTableDistVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 4
    functionsReached:
    - ctgGetTbDistVgInfo
    - CTG_API_LEAVE
    - ctgError
    - 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:1520,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1522,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgroup
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1518
    functionDepth: 9
    functionLinenumber: 1518
    functionLinenumberEnd: 1523
    functionName: catalogGetTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 8
    functionsReached:
    - CTG_API_ENTER
    - ctgGetTbHashVgroup
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t catalogGetTableHashVgroup(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName,\n                                  SVgroupInfo*
      pVgroup)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1527,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1529,1
    - Dst: ctgGetTbsHashVgId
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - pCtg
    - pConn
    - acctId
    - pDb
    - pTableName
    - tableNum
    - vgId
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - int32_t
    - char*
    - char*[]
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1525
    functionDepth: 9
    functionLinenumber: 1525
    functionLinenumberEnd: 1530
    functionName: catalogGetTablesHashVgId
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetTbsHashVgId
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t catalogGetTablesHashVgId(SCatalog* pCtg, SRequestConnInfo*
      pConn, int32_t acctId, const char* pDb, const char* pTableName[],\n                                  int32_t
      tableNum, int32_t *vgId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1533,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1535,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    - exists
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1532
    functionDepth: 9
    functionLinenumber: 1532
    functionLinenumberEnd: 1536
    functionName: catalogGetCachedTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - ctgGetTbHashVgroup
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetCachedTableHashVgroup(SCatalog* pCtg, const SName*
      pTableName,           SVgroupInfo* pVgroup, bool* exists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1539,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1541,1
    - Dst: ctgGetCachedTbVgMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1538
    functionDepth: 6
    functionLinenumber: 1538
    functionLinenumberEnd: 1542
    functionName: catalogGetCachedTableVgMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetCachedTbVgMeta
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetCachedTableVgMeta(SCatalog* pCtg, const SName* pTableName,          SVgroupInfo*
      pVgroup, STableMeta** pTableMeta)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1546,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1549,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1556,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1558,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1559,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1562,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1564,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1565,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1569,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1575,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1575,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1577,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1578,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1579,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1580,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1586,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1587,1
    - Dst: ctgGetQnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1587,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1590,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1595,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1597,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1598,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1601,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1605,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pReq
    - pRsp
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1545
    functionDepth: 10
    functionLinenumber: 1545
    functionLinenumberEnd: 1606
    functionName: catalogGetAllMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayGet
    - ctgGetQnodeListFromMnode
    - CTG_API_LEAVE
    - ctgGetTbMeta
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayInit
    - ctgError
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetAllMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SCatalogReq* pReq, SMetaData* pRsp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1611,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1614,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1619,1
    - Dst: ctgInitJob
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1619,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1621,1
    - Dst: ctgLaunchJob
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1621,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1629,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1631,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1631,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1635,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1637,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1637,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1642,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - pReq
    - fp
    - param
    - jobId
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCatalogReq*
    - catalogCallback
    - void*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1643
    functionName: catalogAsyncGetAllMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - taosReleaseRef
    - qError
    - ctgLaunchJob
    - CTG_API_LEAVE
    - taosRemoveRef
    - tstrerror
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - ctgInitJob
    linkageType: ''
    returnType: int32_t
    signature: "int32_t catalogAsyncGetAllMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SCatalogReq* pReq, catalogCallback fp,\n                               void*
      param, int64_t* jobId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1646,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1650,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1653,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1654,1
    - Dst: ctgGetQnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1654,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pQnodeList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1645
    functionDepth: 7
    functionLinenumber: 1645
    functionLinenumberEnd: 1659
    functionName: catalogGetQnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgGetQnodeListFromMnode
    - CTG_API_LEAVE
    - CTG_CACHE_NHIT_INC
    - CTG_API_ENTER
    - CTG_ERR_JRET
    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:1666,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1669,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1670,1
    - Dst: ctgGetDnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1670,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pDnodeList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1661
    functionDepth: 7
    functionLinenumber: 1661
    functionLinenumberEnd: 1675
    functionName: catalogGetDnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_LEAVE
    - ctgGetDnodeListFromMnode
    - CTG_CACHE_NHIT_INC
    - CTG_API_ENTER
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetDnodeList(SCatalog* pCtg, SRequestConnInfo* pConn,
      SArray** pDnodeList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1678,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1681,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1684,1
    - Dst: ctgMetaRentGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - stables
    - num
    argTypes:
    - SCatalog*
    - SSTableVersion**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1677
    functionDepth: 3
    functionLinenumber: 1677
    functionLinenumberEnd: 1685
    functionName: catalogGetExpiredSTables
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 4
    functionsReached:
    - CTG_API_ENTER
    - ctgMetaRentGet
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetExpiredSTables(SCatalog* pCtg, SSTableVersion** stables,
      uint32_t* num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1688,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1691,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1694,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1696,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1699,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1700,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1702,1
    - Dst: ctgMetaRentGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - pCtg
    - views
    - num
    - dynViewVersion
    argTypes:
    - SCatalog*
    - SViewVersion**
    - uint32_t*
    - SDynViewVersion**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1687
    functionDepth: 3
    functionLinenumber: 1687
    functionLinenumberEnd: 1703
    functionName: catalogGetExpiredViews
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - atomic_load_64
    - 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:1707,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1710,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:1713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - dbs
    - num
    argTypes:
    - SCatalog*
    - SDbCacheInfo**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1706
    functionDepth: 3
    functionLinenumber: 1706
    functionLinenumberEnd: 1714
    functionName: catalogGetExpiredDBs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 4
    functionsReached:
    - CTG_API_ENTER
    - ctgMetaRentGet
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetExpiredDBs(SCatalog* pCtg, SDbCacheInfo** dbs, uint32_t*
      num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1717,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1720,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1723,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1725,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1728,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1730,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1731,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1735,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1738,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1739,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1744,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1748,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1751,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - pCtg
    - users
    - num
    argTypes:
    - SCatalog*
    - SUserAuthVersion**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1752
    functionName: catalogGetExpiredUsers
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - TAOS_STRNCPY
    - taosHashCancelIterate
    - taosHashGetSize
    - CTG_API_LEAVE
    - taosHashGetKey
    - ctgError
    - CTG_API_ENTER
    - taosMemoryCalloc
    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:1755,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1758,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1761,1
    - Dst: ctgMetaRentGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - tsmas
    - num
    argTypes:
    - SCatalog*
    - STSMAVersion**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1754
    functionDepth: 3
    functionLinenumber: 1754
    functionLinenumberEnd: 1762
    functionName: catalogGetExpiredTsmas
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - ctgMetaRentGet
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetExpiredTsmas(SCatalog* pCtg, STSMAVersion** tsmas,
      uint32_t* num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1765,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1768,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1771,1
    - Dst: ctgGetDBCfg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - pDbCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1764
    functionDepth: 8
    functionLinenumber: 1764
    functionLinenumberEnd: 1772
    functionName: catalogGetDBCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - ctgGetDBCfg
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetDBCfg(SCatalog* pCtg, SRequestConnInfo* pConn, const
      char* dbFName, SDbCfgInfo* pDbCfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1775,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1778,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1781,1
    - Dst: ctgGetIndexInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - indexName
    - pInfo
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SIndexInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1774
    functionDepth: 7
    functionLinenumber: 1774
    functionLinenumberEnd: 1782
    functionName: catalogGetIndexMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgGetIndexInfoFromMnode
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetIndexMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* indexName, SIndexInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1785,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1788,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1792,1
    - Dst: ctgGetTbIndex
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1792,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1784
    functionDepth: 8
    functionLinenumber: 1784
    functionLinenumberEnd: 1797
    functionName: catalogGetTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - ctgGetTbIndex
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetTableIndex(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:1801,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1804,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1808,1
    - Dst: ctgGetTbTag
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1808,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1800
    functionDepth: 8
    functionLinenumber: 1800
    functionLinenumberEnd: 1813
    functionName: catalogGetTableTag
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetTbTag
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetTableTag(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:1817,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1820,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1824,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1824,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1826,1
    - Dst: ctgGetTbCfg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1826,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableCfg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1816
    functionDepth: 12
    functionLinenumber: 1816
    functionLinenumberEnd: 1831
    functionName: catalogRefreshGetTableCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgRemoveTbMeta
    - ctgGetTbCfg
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogRefreshGetTableCfg(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName, STableCfg** pCfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1834,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1837,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1840,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1843,1
    - Dst: ctgGetUdfInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1843,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - funcName
    - pInfo
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1833
    functionDepth: 7
    functionLinenumber: 1833
    functionLinenumberEnd: 1848
    functionName: catalogGetUdfInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgGetUdfInfoFromMnode
    - CTG_API_LEAVE
    - CTG_CACHE_NHIT_INC
    - CTG_API_ENTER
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetUdfInfo(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* funcName, SFuncInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1851,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1854,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1858,1
    - Dst: ctgChkAuth
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1858,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1862,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pAuth
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SUserAuthInfo*
    - SUserAuthRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1850
    functionDepth: 9
    functionLinenumber: 1850
    functionLinenumberEnd: 1863
    functionName: catalogChkAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - ctgChkAuth
    - CTG_API_LEAVE
    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:1866,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1869,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1873,1
    - Dst: ctgChkAuth
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1873,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pAuth
    - pRes
    - pRsp
    argTypes:
    - SCatalog*
    - SUserAuthInfo*
    - SUserAuthRes*
    - SUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1865
    functionDepth: 9
    functionLinenumber: 1865
    functionLinenumberEnd: 1878
    functionName: catalogChkAuthFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - ctgChkAuth
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogChkAuthFromCache(SCatalog* pCtg, SUserAuthInfo *pAuth,
      SUserAuthRes* pRes, SUserAuthRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1884,1
    - Dst: ctgGetUserAuthFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1884,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1890,1
    - Dst: ctgGetUserDbAuthFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1890,1
    - Dst: ctgUpdateUserEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1892,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - user
    - pRsp
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1880
    functionDepth: 7
    functionLinenumber: 1880
    functionLinenumberEnd: 1895
    functionName: ctgGetUserAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - CTG_RET
    - ctgGetUserDbAuthFromMnode
    - ctgGetUserAuthFromCache
    - ctgUpdateUserEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetUserAuth(SCatalog* pCtg, SRequestConnInfo* pConn, const
      char* user, SGetUserAuthRsp* pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1902,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1905,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1909,1
    - Dst: ctgGetUserAuth
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1909,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - user
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1901
    functionDepth: 8
    functionLinenumber: 1901
    functionLinenumberEnd: 1914
    functionName: catalogGetUserAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetUserAuth
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetUserAuth(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* user, SGetUserAuthRsp* pRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1917,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1920,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1923,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1926,1
    - Dst: ctgGetSvrVerFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1926,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pVersion
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1916
    functionDepth: 7
    functionLinenumber: 1916
    functionLinenumberEnd: 1931
    functionName: catalogGetServerVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgGetSvrVerFromMnode
    - CTG_API_LEAVE
    - CTG_CACHE_NHIT_INC
    - CTG_API_ENTER
    - CTG_ERR_JRET
    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:1934,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1937,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1940,1
    - Dst: ctgUpdateUserEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCtg
    - pAuth
    argTypes:
    - SCatalog*
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1933
    functionDepth: 3
    functionLinenumber: 1933
    functionLinenumberEnd: 1941
    functionName: catalogUpdateUserAuthInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - ctgUpdateUserEnqueue
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogUpdateUserAuthInfo(SCatalog* pCtg, SGetUserAuthRsp*
      pAuth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgDestroySMetaData
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1943
    functionDepth: 2
    functionLinenumber: 1943
    functionLinenumberEnd: 1945
    functionName: catalogFreeMetaData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 1
    functionsReached:
    - ctgDestroySMetaData
    linkageType: ''
    returnType: void
    signature: void catalogFreeMetaData(SMetaData * pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1948,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1950,1
    - Dst: ctgRemoveViewMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - viewName
    - viewId
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1947
    functionDepth: 4
    functionLinenumber: 1947
    functionLinenumberEnd: 1951
    functionName: catalogRemoveViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - ctgRemoveViewMeta
    - CTG_API_LEAVE
    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:1955,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1958,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1961,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1962,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1964,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1965,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCtg
    - pVer
    argTypes:
    - SCatalog*
    - SDynViewVersion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1968
    functionName: catalogUpdateDynViewVer
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - atomic_store_64
    - ctgDebug
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogUpdateDynViewVer(SCatalog* pCtg, SDynViewVersion* pVer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1971,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1974,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1975,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1979,1
    - Dst: ctgUpdateViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1979,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1970
    functionDepth: 4
    functionLinenumber: 1970
    functionLinenumberEnd: 1984
    functionName: catalogUpdateViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgUpdateViewMetaToCache
    - tFreeSViewMetaRsp
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogUpdateViewMeta(SCatalog* pCtg, SViewMetaRsp* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1988,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1991,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1995,1
    - Dst: ctgUpdateViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1995,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1987
    functionDepth: 4
    functionLinenumber: 1987
    functionLinenumberEnd: 2000
    functionName: catalogAsyncUpdateViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgUpdateViewMetaToCache
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogAsyncUpdateViewMeta(SCatalog* pCtg, SViewMetaRsp* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2004,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pViewName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 2003
    functionDepth: 1
    functionLinenumber: 2003
    functionLinenumberEnd: 2007
    functionName: catalogGetViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetViewMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pViewName, STableMeta** pTableMeta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2010,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2012,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2016,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2016,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCtg
    - ppTsma
    - tsmaVersion
    argTypes:
    - SCatalog*
    - STableTSMAInfo**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2009
    functionDepth: 3
    functionLinenumber: 2009
    functionLinenumberEnd: 2021
    functionName: catalogAsyncUpdateTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - ctgUpdateTbTSMAEnqueue
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogAsyncUpdateTSMA(SCatalog* pCtg, STableTSMAInfo** ppTsma,
      int32_t tsmaVersion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2024,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2026,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2030,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2030,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtg
    - pTsma
    argTypes:
    - SCatalog*
    - STableTSMAInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2023
    functionDepth: 3
    functionLinenumber: 2023
    functionLinenumberEnd: 2035
    functionName: catalogUpdateTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - ctgUpdateTbTSMAEnqueue
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogUpdateTSMA(SCatalog* pCtg, STableTSMAInfo** pTsma)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2038,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2042,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2049,1
    - Dst: ctgDropTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2049,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2053,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pCtg
    - pTsma
    argTypes:
    - SCatalog*
    - STableTSMAInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2037
    functionDepth: 3
    functionLinenumber: 2037
    functionLinenumberEnd: 2054
    functionName: catalogRemoveTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgDropTbTSMAEnqueue
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogRemoveTSMA(SCatalog* pCtg, const STableTSMAInfo* pTsma)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2057,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2060,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2064,1
    - Dst: ctgGetTbTsmas
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2064,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2068,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2056
    functionDepth: 8
    functionLinenumber: 2056
    functionLinenumberEnd: 2069
    functionName: catalogGetTableTsmas
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - ctgGetTbTsmas
    - CTG_API_LEAVE
    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:2073,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2076,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2080,1
    - Dst: ctgGetTsma
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2080,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTsmaName
    - pTsma
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableTSMAInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2072
    functionDepth: 8
    functionLinenumber: 2072
    functionLinenumberEnd: 2085
    functionName: catalogGetTsma
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgGetTsma
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetTsma(SCatalog* pCtg, SRequestConnInfo* pConn, const
      SName* pTsmaName, STableTSMAInfo** pTsma)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2088,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2091,1
    - Dst: ctgGetRsmaMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2096,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2100,1
    - Dst: tFreeRsmaInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2110,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - name
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SRsmaInfoRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2087
    functionDepth: 7
    functionLinenumber: 2087
    functionLinenumberEnd: 2114
    functionName: catalogGetRsma
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tFreeRsmaInfoRsp
    - ctgGetRsmaMetaFromMnode
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetRsma(SCatalog* pCtg, SRequestConnInfo* pConn, const
      char* name, SRsmaInfoRsp** pRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2117,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2120,1
    - Dst: ctgGetStreamCreateSqlFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2124,1
    - Dst: tFreeGetStreamCreateSqlRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2126,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2127,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - streamFName
    - ppSQL
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2116
    functionDepth: 7
    functionLinenumber: 2116
    functionLinenumberEnd: 2134
    functionName: catalogGetStreamCreateSQL
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - ctgGetStreamCreateSqlFromMnode
    - tFreeGetStreamCreateSqlRsp
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetStreamCreateSQL(SCatalog* pCtg, SRequestConnInfo*
      pConn, const char* streamFName, char** ppSQL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2137,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2139,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2142,1
    - Dst: ctgUpdateDbTsmaVersionEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2142,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - tsmaVersion
    - dbFName
    - dbId
    argTypes:
    - SCatalog*
    - int32_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2136
    functionDepth: 3
    functionLinenumber: 2136
    functionLinenumberEnd: 2146
    functionName: catalogAsyncUpdateDbTsmaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - CTG_API_ENTER
    - CTG_ERR_JRET
    - ctgUpdateDbTsmaVersionEnqueue
    - CTG_API_LEAVE
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogAsyncUpdateDbTsmaVersion(SCatalog* pCtg, int32_t tsmaVersion,
      const char* dbFName, int64_t dbId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER_NOLOCK
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2149,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2151,1
    - Dst: CTG_API_LEAVE_NOLOCK
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2154,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2157,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2159,1
    - Dst: CTG_API_LEAVE_NOLOCK
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2148
    functionDepth: 3
    functionLinenumber: 2148
    functionLinenumberEnd: 2162
    functionName: catalogClearCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 0
    functionsReached:
    - ctgClearCacheEnqueue
    - CTG_API_ENTER_NOLOCK
    - CTG_API_LEAVE_NOLOCK
    - qInfo
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogClearCache(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2165,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2167,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2172,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2182,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2185,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2189,1
    - Dst: taosCheckCurrentInDll
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2191,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2192,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2193,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2196,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2164
    functionDepth: 3
    functionLinenumber: 2164
    functionLinenumberEnd: 2200
    functionName: catalogDestroy
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: 30
    functionsReached:
    - ctgClearCacheEnqueue
    - atomic_load_8
    - qInfo
    - qDebug
    - atomic_store_8
    - taosCheckCurrentInDll
    - taosHashCleanup
    - taosTmrCleanUp
    - taosTmrStop
    - taosThreadJoin
    linkageType: ''
    returnType: void
    signature: void catalogDestroy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:33,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:35,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:37,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pJob
    - type
    - done
    argTypes:
    - SCtgJob*
    - CTG_TASK_TYPE
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: ctgIsTaskDone
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_UNLOCK
    - taosArrayGet
    - CTG_LOCK
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void ctgIsTaskDone(SCtgJob* pJob, CTG_TASK_TYPE type, bool* done)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:60,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:62,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:66,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:68,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:69,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:72,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:75,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:76,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:77,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:80,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 51
    functionDepth: 6
    functionLinenumber: 51
    functionLinenumberEnd: 84
    functionName: ctgInitGetTbMetaTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - TAOS_MEMCPY
    - taosMemoryFree
    - ctgFreeTask
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetTbMetaTask(SCtgJob* pJob, int32_t taskIdx, void*
      param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:93,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:95,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:100,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:102,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:104,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:105,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:108,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:109,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:110,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:113,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:114,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 117
    functionName: ctgInitGetTbMetasTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qError
    - qDebug
    - taosArrayGetSize
    - ctgFreeTask
    - taosArrayInit
    - taosMemoryCalloc
    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:127,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:129,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:134,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:136,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:137,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:138,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:141,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 145
    functionName: ctgInitGetDbVgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - taosMemoryCalloc
    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:155,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:157,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:162,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:164,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:165,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:166,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:169,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 6
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: ctgInitGetDbCfgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetDbCfgTask(SCtgJob* pJob, int32_t taskIdx, void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:183,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:185,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:190,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:192,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:193,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:194,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:197,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 175
    functionDepth: 6
    functionLinenumber: 175
    functionLinenumberEnd: 201
    functionName: ctgInitGetDbInfoTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - taosMemoryCalloc
    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:211,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:213,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:217,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:219,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:220,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:223,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:224,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:226,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:227,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:228,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:231,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 203
    functionDepth: 6
    functionLinenumber: 203
    functionLinenumberEnd: 235
    functionName: ctgInitGetTbHashTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - TAOS_MEMCPY
    - taosMemoryFree
    - ctgFreeTask
    - tNameGetFullDbName
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetTbHashTask(SCtgJob* pJob, int32_t taskIdx, void*
      param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:244,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:246,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:251,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:253,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:255,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:256,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:259,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:260,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:261,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:264,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:265,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 237
    functionDepth: 6
    functionLinenumber: 237
    functionLinenumberEnd: 268
    functionName: ctgInitGetTbHashsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qError
    - qDebug
    - taosArrayGetSize
    - ctgFreeTask
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetTbHashsTask(SCtgJob* pJob, int32_t taskIdx, void*
      param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:278,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:279,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:280,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:283,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 270
    functionDepth: 6
    functionLinenumber: 270
    functionLinenumberEnd: 287
    functionName: ctgInitGetQnodeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - ctgFreeTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetQnodeTask(SCtgJob* pJob, int32_t taskIdx, void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:297,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:298,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:299,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:302,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 289
    functionDepth: 6
    functionLinenumber: 289
    functionLinenumberEnd: 306
    functionName: ctgInitGetDnodeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - ctgFreeTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetDnodeTask(SCtgJob* pJob, int32_t taskIdx, void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:316,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:318,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:323,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:325,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:326,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:327,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:330,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 308
    functionDepth: 6
    functionLinenumber: 308
    functionLinenumberEnd: 334
    functionName: ctgInitGetIndexTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - tstrncpy
    - ctgFreeTask
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetIndexTask(SCtgJob* pJob, int32_t taskIdx, void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:344,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:346,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:351,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:353,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:354,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:355,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:358,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 336
    functionDepth: 6
    functionLinenumber: 336
    functionLinenumberEnd: 362
    functionName: ctgInitGetUdfTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - tstrncpy
    - ctgFreeTask
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetUdfTask(SCtgJob* pJob, int32_t taskIdx, void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:372,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:374,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:379,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:382,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:383,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:384,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:387,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 364
    functionDepth: 6
    functionLinenumber: 364
    functionLinenumberEnd: 391
    functionName: ctgInitGetUserTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetUserTask(SCtgJob* pJob, int32_t taskIdx, void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:400,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:401,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:402,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:405,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 393
    functionDepth: 6
    functionLinenumber: 393
    functionLinenumberEnd: 409
    functionName: ctgInitGetSvrVerTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - ctgFreeTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetSvrVerTask(SCtgJob* pJob, int32_t taskIdx, void*
      param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:419,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:421,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:425,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:427,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:428,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:431,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:433,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:434,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:435,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:438,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 411
    functionDepth: 6
    functionLinenumber: 411
    functionLinenumberEnd: 442
    functionName: ctgInitGetTbIndexTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - TAOS_MEMCPY
    - taosMemoryFree
    - ctgFreeTask
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetTbIndexTask(SCtgJob* pJob, int32_t taskIdx, void*
      param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:452,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:454,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:458,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:460,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:461,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:464,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:466,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:467,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:468,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:471,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 444
    functionDepth: 6
    functionLinenumber: 444
    functionLinenumberEnd: 475
    functionName: ctgInitGetTbCfgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - TAOS_MEMCPY
    - taosMemoryFree
    - ctgFreeTask
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetTbCfgTask(SCtgJob* pJob, int32_t taskIdx, void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:485,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:487,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:491,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:493,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:494,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:497,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:499,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:500,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:501,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:504,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 477
    functionDepth: 6
    functionLinenumber: 477
    functionLinenumberEnd: 508
    functionName: ctgInitGetTbTagTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qDebug
    - TAOS_MEMCPY
    - taosMemoryFree
    - ctgFreeTask
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetTbTagTask(SCtgJob* pJob, int32_t taskIdx, void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:517,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:519,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:525,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:527,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:529,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:530,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:533,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:534,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:535,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:538,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:539,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 510
    functionDepth: 6
    functionLinenumber: 510
    functionLinenumberEnd: 542
    functionName: ctgInitGetViewsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - ctgTaskTypeStr
    - qError
    - qDebug
    - taosArrayGetSize
    - ctgFreeTask
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetViewsTask(SCtgJob* pJob, int32_t taskIdx, void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:550,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:552,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:557,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:559,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:561,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:562,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:565,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:566,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 544
    functionDepth: 6
    functionLinenumber: 544
    functionLinenumberEnd: 571
    functionName: ctgInitGetTbTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - qError
    - ctgFreeTask
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetTbTSMATask(SCtgJob* pJob, int32_t taskId, void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:579,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:581,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:585,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:587,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:589,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:590,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:593,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:594,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 573
    functionDepth: 6
    functionLinenumber: 573
    functionLinenumberEnd: 599
    functionName: ctgInitGetTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - qError
    - ctgFreeTask
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetTSMATask(SCtgJob* pJob, int32_t taskId, void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:607,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:609,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:612,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:614,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:616,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:618,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:619,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:622,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:623,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 601
    functionDepth: 6
    functionLinenumber: 601
    functionLinenumberEnd: 628
    functionName: ctgInitGetTbNamesTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosInitRWLatch
    - CTG_ERR_RET
    - qError
    - taosArrayInit
    - ctgFreeTask
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetTbNamesTask(SCtgJob* pJob, int32_t taskId, void*
      param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:636,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:638,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:644,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:645,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 630
    functionDepth: 6
    functionLinenumber: 630
    functionLinenumberEnd: 650
    functionName: ctgInitGetVStbRefDbsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryCalloc
    - CTG_ERR_RET
    - ctgFreeTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitGetVStbRefDbsTask(SCtgJob* pJob, int32_t taskId, void*
      param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:654,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:656,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:658,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:659,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:662,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:664,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:665,1
    - Dst: ctgDropViewMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCtg
    - pReq
    argTypes:
    - SCatalog*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 670
    functionName: ctgHandleForceUpdateView
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - ctgDropViewMetaEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleForceUpdateView(SCatalog* pCtg, const SCatalogReq*
      pReq)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:674,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:674,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:675,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:675,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:677,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:678,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:683,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:685,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:686,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:688,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:688,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:688,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:692,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:694,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:695,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:697,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:697,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:697,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:701,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:703,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:704,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:706,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:706,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:706,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:709,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:711,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:713,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:714,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:716,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:716,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:716,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:718,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:720,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:722,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:723,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:725,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:725,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:729,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:734,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:737,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:737,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:737,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:739,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:741,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:743,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:744,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:746,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:746,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:750,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:752,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:754,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:755,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:757,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:757,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:761,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:763,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:764,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:768,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:769,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:769,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:769,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:770,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:770,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:774,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:776,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:777,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:781,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:782,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:782,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:782,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:783,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:783,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:787,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:789,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:790,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:794,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:795,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:795,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:795,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:796,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:796,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:799,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:801,1
    - Dst: ctgDropDbVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:801,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:802,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:805,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:811,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:813,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:814,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:816,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:816,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:819,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:821,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:822,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:824,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:824,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:827,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:829,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:829,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:830,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:833,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:837,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:839,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:840,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:842,1
    - Dst: ctgDropTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:842,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:846,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:848,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:849,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:852,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:853,1
    - Dst: ctgDropTSMAForTbEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:853,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:858,1
    - Dst: ctgHandleForceUpdateView
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:858,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:862,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:863,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 139
    argCount: 4
    argNames:
    - pCtg
    - taskNum
    - pJob
    - pReq
    argTypes:
    - SCatalog*
    - int32_t
    - SCtgJob*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 672
    functionDepth: 8
    functionLinenumber: 672
    functionLinenumberEnd: 866
    functionName: ctgHandleForceUpdate
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgRemoveTbMeta
    - taosHashIterate
    - tNameGetFullDbName
    - ctgHandleForceUpdateView
    - CTG_ERR_RET
    - taosArrayGet
    - ctgDropTbIndexEnqueue
    - qError
    - taosHashInit
    - taosHashCleanup
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - ctgDropDbVgroupEnqueue
    - strlen
    - taosHashPut
    - CTG_ERR_JRET
    - ctgDropTSMAForTbEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleForceUpdate(SCatalog* pCtg, int32_t taskNum, SCtgJob*
      pJob, const SCatalogReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:870,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:872,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:873,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pJob
    - type
    - param
    - taskId
    argTypes:
    - SCtgJob*
    - CTG_TASK_TYPE
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 884
    functionName: ctgInitTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - atomic_fetch_add_32
    - CTG_LOCK
    - CTG_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgInitTask(SCtgJob* pJob, CTG_TASK_TYPE type, void* param,
      int32_t* taskId)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:889,1
    - Dst: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:891,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:892,1
    - Dst: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:893,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:894,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:899,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:900,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:901,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:902,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:903,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:904,1
    - Dst: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:905,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:906,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:907,1
    - Dst: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:908,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:909,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:924,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:926,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:927,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:962,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:962,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:964,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:965,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:969,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:971,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:972,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:976,1
    - Dst: ctgHandleForceUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:976,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:980,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:982,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:983,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:985,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:985,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:989,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:991,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:992,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:994,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:998,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1000,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1001,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1003,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1003,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1008,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1009,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1009,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1013,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1013,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1019,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1020,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1020,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1024,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1024,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1029,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1031,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1032,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1034,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1034,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1038,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1040,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1041,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1043,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1043,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1047,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1049,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1050,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1052,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1052,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1056,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1058,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1059,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1061,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1061,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1065,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1067,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1068,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1070,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1070,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1074,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1076,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1077,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1079,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1079,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1084,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1084,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1087,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1087,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1090,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1090,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1093,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1093,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1096,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1096,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1099,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1099,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1102,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1102,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1106,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1108,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1109,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1111,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1111,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1114,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1116,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1116,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1117,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1120,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1122,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1122,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1123,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1126,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1127,1
    - Dst: ctgFreeJob
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1134,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1137,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 164
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - job
    - pReq
    - fp
    - param
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgJob**
    - SCatalogReq*
    - catalogCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 886
    functionDepth: 9
    functionLinenumber: 886
    functionLinenumberEnd: 1138
    functionName: ctgInitJob
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 1
    functionsReached:
    - taosAddRef
    - taosGetTimestampUs
    - qError
    - taosAcquireRef
    - CTG_ERR_JRET
    - taosArrayGet
    - taosHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - ctgError
    - ctgHandleForceUpdate
    - taosMemoryCalloc
    - qDebug
    - ctgFreeJob
    - ctgGetTablesReqNum
    - CTG_ERR_RET
    - ctgInitTask
    - taosArrayInit
    - tstrerror
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ctgInitJob(SCatalog* pCtg, SRequestConnInfo* pConn, SCtgJob**
      job, const SCatalogReq* pReq, catalogCallback fp,\n                   void*
      param)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1147,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1149,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1154,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1159
    functionName: ctgDumpTbMetaRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpTbMetaRes(SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1171
    functionName: ctgDumpTbMetasRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpTbMetasRes(SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1183
    functionName: ctgDumpTbNamesRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpTbNamesRes(SCtgTask* pTask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1192,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1194,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1199,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1204
    functionName: ctgDumpDbVgRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    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:1213,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1220,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1225
    functionName: ctgDumpTbHashRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpTbHashRes(SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1237
    functionName: ctgDumpTbHashsRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpTbHashsRes(SCtgTask* pTask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1246,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1248,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1251,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1252,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1256,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1261,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1266
    functionName: ctgDumpTbIndexRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - atomic_val_compare_exchange_ptr
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpTbIndexRes(SCtgTask* pTask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1275,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1277,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1280,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1281,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1285,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1290,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1295
    functionName: ctgDumpTbCfgRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - atomic_val_compare_exchange_ptr
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpTbCfgRes(SCtgTask* pTask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1304,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1306,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1309,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1310,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1314,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1319,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1324
    functionName: ctgDumpTbTagRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - atomic_val_compare_exchange_ptr
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpTbTagRes(SCtgTask* pTask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1333,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1335,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1340,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1345
    functionName: ctgDumpIndexRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpIndexRes(SCtgTask* pTask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1354,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1356,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1361,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1366
    functionName: ctgDumpQnodeRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpQnodeRes(SCtgTask* pTask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1375,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1377,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1382,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1387
    functionName: ctgDumpDnodeRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    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:1396,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1398,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1403,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1408
    functionName: ctgDumpDbCfgRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    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:1417,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1419,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1424,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1429
    functionName: ctgDumpDbInfoRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    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:1438,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1440,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1445,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1450
    functionName: ctgDumpUdfRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpUdfRes(SCtgTask* pTask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1459,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1461,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1466,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1471
    functionName: ctgDumpUserRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpUserRes(SCtgTask* pTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1480,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1490
    functionName: ctgDumpSvrVer
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpSvrVer(SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1502
    functionName: ctgDumpViewsRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpViewsRes(SCtgTask* pTask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1514,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1516,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1519,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1520,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1524,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1529,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1534
    functionName: ctgDumpVStbRefDbsRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - atomic_val_compare_exchange_ptr
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpVStbRefDbsRes(SCtgTask* pTask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1539,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1541,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1543,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1544,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1546,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1547,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1558,1
    - Dst: SCtgTask*::subRes::fp
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1562,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1565,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1567,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1568,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1574,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1577
    functionName: ctgCallSubCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - CTG_RET
    - CTG_GET_TASK_MSGCTX
    - ctgTaskTypeStr
    - qError
    - qDebug
    - taosArrayGetSize
    - tstrerror
    - CTG_UNLOCK
    - SCtgTask*::subRes::fp
    - CTG_LOCK
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCallSubCb(SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1582,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1582,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1586,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1589,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1591,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1596
    functionName: ctgCallUserCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - qDebug
    - taosRemoveRef
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCallUserCb(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEED_CLIENT_REFRESH_VG_ERROR
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1599,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1601,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1602,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SCtgJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1604
    functionName: ctgUpdateJobErrCode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - qDebug
    - NEED_CLIENT_REFRESH_VG_ERROR
    - atomic_store_32
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void ctgUpdateJobErrCode(SCtgJob* pJob, int32_t errCode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1614,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1615,1
    - Dst: ctgCallSubCb
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1622,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1624,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1625,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1626,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1627,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1627,1
    - Dst: ctgUpdateJobErrCode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1629,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1633,1
    - Dst: ctgMakeAsyncRes
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1633,1
    - Dst: ctgUpdateJobErrCode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1637,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1639,1
    - Dst: ctgCallUserCb
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1641,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pTask
    - rspCode
    argTypes:
    - SCtgTask*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1606
    functionDepth: 2
    functionLinenumber: 1606
    functionLinenumberEnd: 1648
    functionName: ctgHandleTaskEnd
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgCallSubCb
    - taosAsyncExec
    - ctgTaskTypeStr
    - ctgUpdateJobErrCode
    - qDebug
    - ctgCallUserCb
    - atomic_add_fetch_32
    - taosArrayGetSize
    - tstrerror
    - CTG_RET
    - CTG_ERR_JRET
    - ctgMakeAsyncRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleTaskEnd(SCtgTask* pTask, int32_t rspCode)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1656,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1663,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1664,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1667,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1667,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1674,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1674,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1676,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1676,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1679,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1679,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1686,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1687,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1689,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1691,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1691,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1694,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1694,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1696,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1696,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1699,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1699,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1701,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1706,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1706,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1709,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1709,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1715,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1715,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1716,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1718,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1722,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1724,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1732,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1733,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1733,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1734,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1735,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1738,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1742,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1743,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1743,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1745,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1747,1
    - Dst: ctgGetTbMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1747,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1748,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1748,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1750,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1752,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1757,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1758,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1758,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1765,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1766,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1766,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1772,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1773,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1778,1
    - Dst: ctgUpdateTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1778,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1780,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1781,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1784,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1788,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1790,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1793,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1795,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1798,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1800,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1803,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1808,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1810,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1812,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1814,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1817,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1825,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1848,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1853,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1857,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1858,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1861,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1867,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 136
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1650
    functionDepth: 8
    functionLinenumber: 1650
    functionLinenumberEnd: 1868
    functionName: ctgHandleGetTbMetaRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ctgGetVgInfoFromHashValue
    - ctgTaskError
    - TAOS_MEMCPY
    - ctgHandleTaskEnd
    - ctgGetTbMetaFromVnode
    - CTG_ERR_JRET
    - ctgAcquireVgInfoFromCache
    - CTG_META_SIZE
    - withExtSchema
    - CTG_FLAG_IS_STB
    - ctgReleaseVgInfoToCache
    - ctgError
    - ctgDebug
    - ctgRemoveTbMetaFromCache
    - ctgGetTbMetaFromMnode
    - CTG_GET_TASK_MSGCTX
    - TSWAP
    - ctgGetTbMetaFromMnodeImpl
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - ctgUpdateTbMetaToCache
    - tstrncpy
    - CTG_IS_META_BOTH
    - CTG_IS_META_VBOTH
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_IS_META_NULL
    - tNameGetTableName
    - CTG_FLAG_IS_FORCE_UPDATE
    - tstrerror
    - CTG_RET
    - CTG_IS_META_TABLE
    - tNameGetFullDbName
    - taosMemoryRealloc
    - ctgReadTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTbMetaRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1876,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1881,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1882,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1885,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1887,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1887,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1888,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1894,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1894,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1896,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1896,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1903,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1903,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1905,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1905,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1908,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1908,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1915,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1916,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1918,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1920,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1920,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1923,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1923,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1925,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1925,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1928,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1928,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1930,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1935,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1935,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1938,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1938,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1944,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1944,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1945,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1947,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1951,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1953,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1961,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1962,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1962,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1963,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1964,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1967,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1971,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1972,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1972,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1974,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1976,1
    - Dst: ctgGetTbMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1976,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1977,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1977,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1979,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1981,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1981,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1987,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1987,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1989,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1989,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1991,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1993,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1993,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1994,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1995,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2000,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2001,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2001,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2007,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2008,1
    - Dst: ctgUpdateTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2013,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2015,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2016,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2019,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2022,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2024,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2027,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2029,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:2033,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2035,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2037,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2039,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2041,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2045,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2067,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2069,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2070,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2071,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2078,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2079,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2086,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2090,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2092,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2093,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2097,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2098,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2099,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2100,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2107,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2113,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 154
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 1870
    functionDepth: 8
    functionLinenumber: 1870
    functionLinenumberEnd: 2114
    functionName: ctgHandleGetTbMetasRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ctgGetVgInfoFromHashValue
    - ctgTaskError
    - TAOS_MEMCPY
    - ctgHandleTaskEnd
    - ctgGetTbMetaFromVnode
    - CTG_ERR_JRET
    - ctgAcquireVgInfoFromCache
    - CTG_META_SIZE
    - withExtSchema
    - taosArrayGet
    - CTG_FLAG_IS_STB
    - ctgReleaseVgInfoToCache
    - ctgTaskDebug
    - taosArrayGetSize
    - ctgError
    - ctgRemoveTbMetaFromCache
    - ctgGetTbMetaFromMnode
    - CTG_GET_TASK_MSGCTX
    - TSWAP
    - ctgGetTbMetaFromMnodeImpl
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - ctgUpdateTbMetaToCache
    - tstrncpy
    - CTG_IS_META_BOTH
    - CTG_IS_META_VBOTH
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_IS_META_NULL
    - tNameGetTableName
    - ctgGetFetchName
    - CTG_FLAG_IS_FORCE_UPDATE
    - atomic_sub_fetch_32
    - tstrerror
    - CTG_RET
    - CTG_IS_META_TABLE
    - tNameGetFullDbName
    - taosMemoryRealloc
    - ctgReadTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTbMetasRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2122,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2128,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2129,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2132,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2134,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2134,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2135,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2141,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2141,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2144,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2148,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2148,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2153,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2153,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2155,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2156,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2158,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2159,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2160,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2163,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2165,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2166,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2167,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2169,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2170,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2172,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2173,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2175,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2176,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2179,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2186,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2187,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2189,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2191,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2191,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2194,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2194,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2196,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2196,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2199,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2199,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2201,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2206,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2206,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2209,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2209,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2215,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2215,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2216,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2218,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2222,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2224,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2232,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2233,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2233,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2234,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2240,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2241,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2245,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2246,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2249,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2252,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2254,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2257,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2259,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2261,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2263,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2265,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2267,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2269,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2271,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2275,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2278,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2280,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2281,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2282,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2288,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2291,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2292,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2295,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2296,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2302,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2306,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2308,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2309,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2311,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2312,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2322,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2323,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2329,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2336,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2339,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 161
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2116
    functionDepth: 7
    functionLinenumber: 2116
    functionLinenumberEnd: 2340
    functionName: ctgHandleGetTbNamesRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - ctgGetVgInfoFromHashValue
    - ctgTaskError
    - TAOS_MEMCPY
    - ctgHandleTaskEnd
    - atomic_add_fetch_32
    - ctgGetTbMetaFromVnode
    - taosArrayDestroy
    - CTG_ERR_JRET
    - ctgAcquireVgInfoFromCache
    - CTG_META_SIZE
    - withExtSchema
    - taosArrayGet
    - CTG_FLAG_IS_STB
    - ctgReleaseVgInfoToCache
    - ctgTaskDebug
    - ctgMakeVgArray
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - ctgError
    - taosWLockLatch
    - ctgRemoveTbMetaFromCache
    - CTG_GET_TASK_MSGCTX
    - TSWAP
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - tstrncpy
    - taosWUnLockLatch
    - CTG_IS_META_BOTH
    - CTG_IS_META_VBOTH
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - CTG_IS_META_NULL
    - tNameGetTableName
    - ctgGetFetchName
    - atomic_sub_fetch_32
    - tstrerror
    - CTG_RET
    - tNameGetFullDbName
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTbNamesRsp(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:2349,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2349,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2356,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2356,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2358,1
    - Dst: cloneDbVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2358,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2359,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2359,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2364,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2365,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2370,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2342
    functionDepth: 3
    functionLinenumber: 2342
    functionLinenumberEnd: 2376
    functionName: ctgHandleGetDbVgRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - ctgError
    - ctgHandleTaskEnd
    - ctgUpdateVgroupEnqueue
    - ctgGenerateVgList
    - CTG_RET
    - cloneDbVgInfo
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetDbVgRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2385,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2385,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2391,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2393,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2396,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2396,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2399,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2399,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2405,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2406,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2411,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2378
    functionDepth: 3
    functionLinenumber: 2378
    functionLinenumberEnd: 2417
    functionName: ctgHandleGetTbHashRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - taosMemoryMalloc
    - ctgGetVgInfoFromHashValue
    - ctgHandleTaskEnd
    - ctgUpdateVgroupEnqueue
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTbHashRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2425,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2427,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2428,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2431,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2433,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2433,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2434,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2437,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2437,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2443,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2445,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2446,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2447,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2450,1
    - Dst: ctgGetVgInfosFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2450,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2453,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2453,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2459,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2460,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2463,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2464,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2471,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2473,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2474,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2476,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2478,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2480,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2481,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2488,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2489,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2496,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2502,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2419
    functionDepth: 3
    functionLinenumber: 2419
    functionLinenumberEnd: 2503
    functionName: ctgHandleGetTbHashsRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - TSWAP
    - ctgHandleTaskEnd
    - ctgUpdateVgroupEnqueue
    - taosArrayGetSize
    - atomic_sub_fetch_32
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgGetVgInfosFromHashValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTbHashsRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2510,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2510,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2514,1
    - Dst: ctgCloneTableIndex
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2514,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2517,1
    - Dst: ctgUpdateTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2517,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2525,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2531
      start: 2505
    functionDepth: 3
    functionLinenumber: 2505
    functionLinenumberEnd: 2531
    functionName: ctgHandleGetTbIndexRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgProcessRspMsg
    - ctgCloneTableIndex
    - ctgHandleTaskEnd
    - ctgUpdateTbIndexEnqueue
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTbIndexRsp(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:2538,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2538,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2540,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2544,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2533
    functionDepth: 3
    functionLinenumber: 2533
    functionLinenumberEnd: 2550
    functionName: ctgHandleGetTbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - TSWAP
    - ctgHandleTaskEnd
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTbCfgRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2558,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2558,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2562,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2563,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2569,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2570,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2572,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2576,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2578,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2579,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2585,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2587,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2588,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2589,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2592,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2592,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2599,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2552
    functionDepth: 3
    functionLinenumber: 2552
    functionLinenumberEnd: 2605
    functionName: ctgHandleGetTbTagRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - parseTagDatatoJson
    - taosArrayPush
    - ctgProcessRspMsg
    - CTG_RET
    - taosArrayDestroy
    - ctgHandleTaskEnd
    - taosMemoryFree
    - taosArrayInit
    - strlen
    - ctgError
    - CTG_ERR_JRET
    - tTagIsJson
    - tTagToValArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTbTagRsp(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:2613,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2613,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2616,1
    - Dst: ctgCloneDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2616,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2618,1
    - Dst: ctgUpdateDbCfgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2618,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2620,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2624,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2607
    functionDepth: 3
    functionLinenumber: 2607
    functionLinenumberEnd: 2630
    functionName: ctgHandleGetDbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - TSWAP
    - ctgHandleTaskEnd
    - ctgUpdateDbCfgEnqueue
    - CTG_RET
    - CTG_ERR_JRET
    - ctgCloneDbCfgInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetDbCfgRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2632
    functionDepth: 1
    functionLinenumber: 2632
    functionLinenumberEnd: 2634
    functionName: ctgHandleGetDbInfoRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    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:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2640,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2640,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2642,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2646,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2636
    functionDepth: 3
    functionLinenumber: 2636
    functionLinenumberEnd: 2652
    functionName: ctgHandleGetQnodeRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - TSWAP
    - ctgHandleTaskEnd
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetQnodeRsp(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:2659,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2659,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2661,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2665,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2654
    functionDepth: 3
    functionLinenumber: 2654
    functionLinenumberEnd: 2671
    functionName: ctgHandleGetDnodeRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - TSWAP
    - ctgHandleTaskEnd
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetDnodeRsp(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:2677,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2677,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2679,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2683,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2673
    functionDepth: 3
    functionLinenumber: 2673
    functionLinenumberEnd: 2689
    functionName: ctgHandleGetIndexRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - TSWAP
    - ctgHandleTaskEnd
    - CTG_RET
    - CTG_ERR_JRET
    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:2695,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2695,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2697,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2701,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2691
    functionDepth: 3
    functionLinenumber: 2691
    functionLinenumberEnd: 2707
    functionName: ctgHandleGetUdfRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - TSWAP
    - ctgHandleTaskEnd
    - CTG_RET
    - CTG_ERR_JRET
    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:2716,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2716,1
    - Dst: ctgUpdateUserEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2718,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2719,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2721,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2727,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2709
    functionDepth: 3
    functionLinenumber: 2709
    functionLinenumberEnd: 2733
    functionName: ctgHandleGetUserRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - taosMemoryFreeClear
    - ctgHandleTaskEnd
    - CTG_RET
    - CTG_ERR_JRET
    - ctgUpdateUserEnqueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetUserRsp(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:2740,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2740,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2742,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2746,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2735
    functionDepth: 3
    functionLinenumber: 2735
    functionLinenumberEnd: 2752
    functionName: ctgHandleGetSvrVerRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - TSWAP
    - ctgHandleTaskEnd
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetSvrVerRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2759,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2761,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2765,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2766,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2770,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2770,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2771,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2778,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2778,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2780,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2780,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2783,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2785,1
    - Dst: dupViewMetaFromRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2788,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2790,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2791,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2792,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2795,1
    - Dst: ctgUpdateViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2796,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2797,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2800,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2802,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2803,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2804,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2809,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2810,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2817,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2819,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2820,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2825,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2826,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2828,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2829,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2831,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2832,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2839,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2845,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2846
      start: 2754
    functionDepth: 4
    functionLinenumber: 2754
    functionLinenumberEnd: 2846
    functionName: ctgHandleGetViewsRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgUpdateViewMetaToCache
    - taosMemoryFreeClear
    - ctgTaskError
    - ctgHandleTaskEnd
    - ctgFreeSViewMeta
    - dupViewMetaFromRsp
    - CTG_ERR_JRET
    - taosArrayGet
    - ctgTaskDebug
    - taosArrayGetSize
    - ctgError
    - taosMemoryCalloc
    - ctgDebug
    - CTG_GET_TASK_MSGCTX
    - TSWAP
    - ctgProcessRspMsg
    - ctgGetFetchName
    - taosMemoryFree
    - atomic_sub_fetch_32
    - tstrerror
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetViewsRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2855,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2858,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2859,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2860,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2863,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2865,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:2866,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2869,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2871,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2871,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2872,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2875,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2876,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2878,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2878,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2879,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2882,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2892,1
    - Dst: ctgGetStreamProgressFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2892,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2899,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - tReq
    - pTsmas
    argTypes:
    - SCtgTaskReq*
    - STableTSMAInfoRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2848
    functionDepth: 7
    functionLinenumber: 2848
    functionLinenumberEnd: 2900
    functionName: ctgTsmaFetchStreamProgress
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayGet
    - taosGetTimestampMs
    - taosArrayGetSize
    - CTG_RET
    - ctgError
    - ctgGetStreamProgressFromMnode
    - CTG_ERR_JRET
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgTsmaFetchStreamProgress(SCtgTaskReq* tReq, const STableTSMAInfoRsp*
      pTsmas)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2908,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2910,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2911,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2914,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2916,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2916,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2917,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2920,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2922,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2922,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2923,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2927,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2927,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2932,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2933,1
    - Dst: ctgUpdateTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2933,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2939,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2941,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2941,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2942,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2948,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2949,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2954,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2956,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2958,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2958,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2959,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2963,1
    - Dst: ctgTbMetaExistInCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2963,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2965,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2966,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2966,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2972,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2973,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2982,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2983,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2987,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2992,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2993
      start: 2902
    functionDepth: 7
    functionLinenumber: 2902
    functionLinenumberEnd: 2993
    functionName: ctgHandleGetTSMARsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - TSWAP
    - ctgGetTbMetaFromMnodeImpl
    - CTG_IS_META_NULL
    - ctgTaskError
    - ctgUpdateTbMetaToCache
    - ctgHandleTaskEnd
    - taosArrayGetSize
    - tstrerror
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - taosArrayGetP
    - ctgTbMetaExistInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTSMARsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3007,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3009,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3010,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3013,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3015,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3016,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3017,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3020,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3022,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3022,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3023,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3026,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3028,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3028,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3029,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3032,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3034,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3034,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3035,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3039,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3039,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3048,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3050,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:3053,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3054,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3063,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3063,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3069,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3071,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3071,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3072,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3079,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3080,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3083,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3086,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3088,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3089,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3090,1
    - Dst: tCloneTbTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3090,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3091,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3091,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3094,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3095,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3109,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3109,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3112,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3112,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3118,1
    - Dst: ctgTsmaFetchStreamProgress
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3118,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3123,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3124,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3135,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3136,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3137,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3138,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3143,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3146,1
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3146,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3151,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3152,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3158,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3161,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3165,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3169,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3171,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3171,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3178,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3179,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3189,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3191,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3192,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3198,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3204,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 140
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 2995
    functionDepth: 8
    functionLinenumber: 2995
    functionLinenumberEnd: 3205
    functionName: ctgHandleGetTbTSMARsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgGetVgInfoFromHashValue
    - ctgTaskError
    - ctgHandleTaskEnd
    - snprintf
    - atomic_add_fetch_32
    - ctgGetTbMetaFromVnode
    - ctgTsmaFetchStreamProgress
    - CTG_ERR_JRET
    - taosArrayGetP
    - taosArrayGet
    - ctgReleaseVgInfoToCache
    - taosGetTimestampMs
    - taosArrayGetSize
    - ctgUpdateTbTSMAEnqueue
    - ctgError
    - ctgRemoveTbMetaFromCache
    - CTG_GET_TASK_MSGCTX
    - TSWAP
    - qDebug
    - tCloneTbTSMAInfo
    - ctgProcessRspMsg
    - CTG_ERR_RET
    - TMAX
    - ctgGetTbTSMAFromMnode
    - CTG_IS_META_NULL
    - tFreeAndClearTableTSMAInfo
    - atomic_sub_fetch_32
    - taosHashCleanup
    - tstrerror
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetTbTSMARsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3213,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3215,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3217,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3222,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3227,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
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3239
      start: 3207
    functionDepth: 3
    functionLinenumber: 3207
    functionLinenumberEnd: 3239
    functionName: ctgHandleGetVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_32
    - ctgProcessRspMsg
    - taosArrayGet
    - TSWAP
    - ctgHandleTaskEnd
    - atomic_add_fetch_32
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgHandleGetVStbRefDbsRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3247,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3248,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3248,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3250,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3250,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3253,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3254,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3254,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3257,1
    - Dst: ctgGetTbMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3257,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3262,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3264,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3264,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3267,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3267,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3269,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3269,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3272,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3272,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3276,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3276,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3279,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3279,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3285,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - tReq
    - flag
    - pName
    - vgId
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SName*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3289
      start: 3241
    functionDepth: 8
    functionLinenumber: 3241
    functionLinenumberEnd: 3289
    functionName: ctgAsyncRefreshTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - ctgGetTbMetaFromMnode
    - CTG_ERR_RET
    - CTG_FLAG_IS_STB
    - ctgGetTbMetaFromMnodeImpl
    - ctgGetVgInfoFromHashValue
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - ctgReleaseVgInfoToCache
    - tNameGetTableName
    - tstrncpy
    - CTG_FLAG_IS_SYS_DB
    - CTG_RET
    - ctgGetTbMetaFromVnode
    - tNameGetFullDbName
    - CTG_ERR_JRET
    - ctgAcquireVgInfoFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgAsyncRefreshTbMeta(SCtgTaskReq* tReq, int32_t flag, SName*
      pName, int32_t* vgId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3295,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3297,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3298,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3305,1
    - Dst: ctgGetTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3305,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3307,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3307,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3315,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3291
    functionDepth: 9
    functionLinenumber: 3291
    functionLinenumberEnd: 3318
    functionName: ctgLaunchGetTbMetaTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgHandleTaskEnd
    - ctgGetTbMetaFromCache
    - ctgAsyncRefreshTbMeta
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetTbMetaTask(SCtgTask* pTask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3328,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3332,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3334,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3335,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3339,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3340,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3341,1
    - Dst: ctgGetTbMetasFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3341,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3343,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3346,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3348,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3350,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3350,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3354,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3356,1
    - Dst: CTG_ERR_RET
      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: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3363,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:3367,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3367,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3369,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3371,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3372,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3383,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3387
      start: 3320
    functionDepth: 9
    functionLinenumber: 3320
    functionLinenumberEnd: 3387
    functionName: ctgLaunchGetTbMetasTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - CTG_ERR_RET
    - taosArrayGet
    - TSWAP
    - CTG_GET_TASK_MSGCTX
    - ctgGetTbMetasFromCache
    - ctgHandleTaskEnd
    - ctgGetFetchName
    - taosArrayGetSize
    - ctgAsyncRefreshTbMeta
    - taosArrayInit_s
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetTbMetasTask(SCtgTask* pTask)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3396,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3398,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3399,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3406,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3406,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3410,1
    - Dst: ctgBuildUseDbOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3410,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3413,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3413,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3415,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3418,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3418,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3422,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3422,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3428,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3428,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3434,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3389
    functionDepth: 7
    functionLinenumber: 3389
    functionLinenumberEnd: 3438
    functionName: ctgLaunchGetDbVgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgReleaseVgInfoToCache
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - ctgHandleTaskEnd
    - tstrncpy
    - ctgGenerateVgList
    - CTG_RET
    - ctgError
    - ctgBuildUseDbOutput
    - CTG_ERR_JRET
    - ctgAcquireVgInfoFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetDbVgTask(SCtgTask* pTask)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3447,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3449,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3450,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3457,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3457,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3459,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3461,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3463,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3463,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3466,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3469,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3469,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3473,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3473,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3479,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3479,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3485,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3489
      start: 3440
    functionDepth: 7
    functionLinenumber: 3440
    functionLinenumberEnd: 3489
    functionName: ctgLaunchGetTbHashTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgGetVgInfoFromHashValue
    - ctgReleaseVgInfoToCache
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - ctgHandleTaskEnd
    - tstrncpy
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgAcquireVgInfoFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetTbHashTask(SCtgTask* pTask)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3497,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3503,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3505,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3506,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3509,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3509,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3515,1
    - Dst: ctgGetVgInfosFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3515,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3518,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3521,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3523,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3523,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3525,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3526,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3528,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3529,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3535,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3537,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3539,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3539,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3543,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3545,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3546,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3550,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3552,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3553,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3556,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3558,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3559,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3562,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3564,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3565,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3573,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3573,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3580,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3580,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3586,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3590
      start: 3491
    functionDepth: 7
    functionLinenumber: 3491
    functionLinenumberEnd: 3590
    functionName: ctgLaunchGetTbHashsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayGet
    - TSWAP
    - CTG_GET_TASK_MSGCTX
    - ctgReleaseVgInfoToCache
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - ctgGetVgInfosFromHashValue
    - ctgAddFetch
    - ctgHandleTaskEnd
    - tstrncpy
    - taosArrayGetSize
    - taosArrayInit_s
    - ctgError
    - CTG_ERR_JRET
    - ctgAcquireVgInfoFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetTbHashsTask(SCtgTask* pTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3599,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3601,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3602,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3609,1
    - Dst: ctgReadTbIndexFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3609,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3613,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3613,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3617,1
    - Dst: ctgGetTbIndexFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3619
      start: 3592
    functionDepth: 7
    functionLinenumber: 3592
    functionLinenumberEnd: 3619
    functionName: ctgLaunchGetTbIndexTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgGetTbIndexFromMnode
    - ctgHandleTaskEnd
    - ctgReadTbIndexFromCache
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetTbIndexTask(SCtgTask* pTask)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3629,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3631,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3633,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3634,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3641,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3644,1
    - Dst: ctgReadTbTypeFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3644,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3649,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3649,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3655,1
    - Dst: ctgGetTableCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3655,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3658,1
    - Dst: ctgGetTbHashVgroupFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3658,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3660,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3660,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3665,1
    - Dst: ctgGetTableCfgFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3665,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3673,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3679,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3680
      start: 3621
    functionDepth: 7
    functionLinenumber: 3621
    functionLinenumberEnd: 3680
    functionName: ctgLaunchGetTbCfgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgReadTbTypeFromCache
    - ctgLaunchSubTask
    - ctgHandleTaskEnd
    - CTG_CACHE_NHIT_INC
    - ctgGetTableCfgFromMnode
    - ctgGetTableCfgFromVnode
    - ctgGetTbHashVgroupFromCache
    - CTG_RET
    - ctgError
    - tNameGetFullDbName
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetTbCfgTask(SCtgTask* pTask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3690,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3692,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3694,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3695,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3703,1
    - Dst: ctgGetTbHashVgroupFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3703,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3705,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3705,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3710,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3712,1
    - Dst: ctgGetTableCfgFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3712,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3719,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3725,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3726
      start: 3682
    functionDepth: 7
    functionLinenumber: 3682
    functionLinenumberEnd: 3726
    functionName: ctgLaunchGetTbTagTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgLaunchSubTask
    - ctgHandleTaskEnd
    - CTG_CACHE_NHIT_INC
    - ctgGetTableCfgFromVnode
    - ctgGetTbHashVgroupFromCache
    - CTG_RET
    - ctgError
    - tNameGetFullDbName
    - CTG_ERR_JRET
    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:3732,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3734,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3735,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3742,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3743,1
    - Dst: ctgGetQnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3746
      start: 3728
    functionDepth: 7
    functionLinenumber: 3728
    functionLinenumberEnd: 3746
    functionName: ctgLaunchGetQnodeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgGetQnodeListFromMnode
    - CTG_CACHE_NHIT_INC
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetQnodeTask(SCtgTask* pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3752,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3754,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3755,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3762,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3763,1
    - Dst: ctgGetDnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3766
      start: 3748
    functionDepth: 7
    functionLinenumber: 3748
    functionLinenumberEnd: 3766
    functionName: ctgLaunchGetDnodeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgGetDnodeListFromMnode
    - CTG_CACHE_NHIT_INC
    - ctgError
    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:3773,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3775,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3776,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3784,1
    - Dst: ctgReadDBCfgFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3784,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3787,1
    - Dst: ctgGetDBCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3787,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3789,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3791,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3794,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3795,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3799
      start: 3768
    functionDepth: 7
    functionLinenumber: 3768
    functionLinenumberEnd: 3799
    functionName: ctgLaunchGetDbCfgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgReadDBCfgFromCache
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgGetDBCfgFromMnode
    - TAOS_MEMCPY
    - ctgHandleTaskEnd
    - ctgError
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetDbCfgTask(SCtgTask* pTask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3807,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3809,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3810,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3817,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3819,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3823,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3823,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3830,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3832,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3837,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3840,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3840,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3801
    functionDepth: 5
    functionLinenumber: 3801
    functionLinenumberEnd: 3845
    functionName: ctgLaunchGetDbInfoTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_JRET
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgReleaseVgInfoToCache
    - ctgHandleTaskEnd
    - CTG_CACHE_NHIT_INC
    - CTG_RET
    - ctgError
    - CTG_CACHE_HIT_INC
    - taosMemoryCalloc
    - ctgAcquireVgInfoFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetDbInfoTask(SCtgTask* pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3852,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3854,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3855,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3862,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3864,1
    - Dst: ctgGetIndexInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3867
      start: 3847
    functionDepth: 7
    functionLinenumber: 3847
    functionLinenumberEnd: 3867
    functionName: ctgLaunchGetIndexTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgGetIndexInfoFromMnode
    - CTG_CACHE_NHIT_INC
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetIndexTask(SCtgTask* pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3874,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3876,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3877,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3884,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3886,1
    - Dst: ctgGetUdfInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3889
      start: 3869
    functionDepth: 7
    functionLinenumber: 3869
    functionLinenumberEnd: 3889
    functionName: ctgLaunchGetUdfTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgGetUdfInfoFromMnode
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - CTG_CACHE_NHIT_INC
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetUdfTask(SCtgTask* pTask)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3900,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3902,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3903,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3910,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3912,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3916,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3920,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3924,1
    - Dst: ctgChkAuthFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3924,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3928,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3931,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3931,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3935,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3941,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3941,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3943,1
    - Dst: ctgGetUserDbAuthFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3943,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3950,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3953,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3959,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3960
      start: 3891
    functionDepth: 7
    functionLinenumber: 3891
    functionLinenumberEnd: 3960
    functionName: ctgLaunchGetUserTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - CTG_TABLE_NOT_EXIST
    - CTG_GET_TASK_MSGCTX
    - ctgChkAuthFromCache
    - CTG_ERR_RET
    - ctgGetUserDbAuthFromMnode
    - ctgTaskDebug
    - ctgLaunchSubTask
    - ctgHandleTaskEnd
    - taosMemoryCalloc
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetUserTask(SCtgTask* pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3966,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3968,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3969,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3976,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3978,1
    - Dst: ctgGetSvrVerFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3981
      start: 3962
    functionDepth: 7
    functionLinenumber: 3962
    functionLinenumberEnd: 3981
    functionName: ctgLaunchGetSvrVerTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgGetSvrVerFromMnode
    - CTG_CACHE_NHIT_INC
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetSvrVerTask(SCtgTask* pTask)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ctgIsTaskDone
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3991,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3993,1
    - Dst: ctgBuildViewNullRes
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3993,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3994,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3996,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3996,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4000,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4004,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4006,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4007,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4010,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4010,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4011,1
    - Dst: ctgGetViewsFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4011,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4012,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4015,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4017,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4019,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4019,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4023,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4025,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4026,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4030,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4032,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4033,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4036,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4036,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4038,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4040,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4041,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4051,1
    - Dst: ctgGetViewInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4051,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4055
      start: 3983
    functionDepth: 7
    functionLinenumber: 3983
    functionLinenumberEnd: 4055
    functionName: ctgLaunchGetViewsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgIsTaskDone
    - ctgDebug
    - CTG_ERR_RET
    - taosArrayGet
    - TSWAP
    - ctgGetViewsFromCache
    - CTG_GET_TASK_MSGCTX
    - ctgBuildViewNullRes
    - ctgGetViewInfoFromMnode
    - ctgHandleTaskEnd
    - ctgGetFetchName
    - taosArrayGetSize
    - taosArrayInit_s
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetViewsTask(SCtgTask* pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4065,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4067,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4068,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4069,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4072,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4074,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4077,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4077,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4080,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - pReq
    - pFetch
    argTypes:
    - SCtgTaskReq*
    - SCtgTSMAFetch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4086
      start: 4057
    functionDepth: 7
    functionLinenumber: 4057
    functionLinenumberEnd: 4086
    functionName: ctgAsyncRefreshTbTsma
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayGet
    - ctgReleaseVgInfoToCache
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - tstrncpy
    - taosArrayGetSize
    - ctgError
    - CTG_ERR_JRET
    - ctgAcquireVgInfoFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgAsyncRefreshTbTsma(SCtgTaskReq* pReq, const SCtgTSMAFetch*
      pFetch)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4095,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4099,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4101,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4102,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4105,1
    - Dst: ctgGetTbTSMAFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4105,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4106,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4109,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4111,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4112,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4112,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4116,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4118,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4119,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4123,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4125,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4126,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4129,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4131,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4131,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4132,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4135,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4137,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4137,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4138,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4141,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4143,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4144,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4157,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4157,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4161,1
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4162,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4166,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4167,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4173
      start: 4088
    functionDepth: 9
    functionLinenumber: 4088
    functionLinenumberEnd: 4173
    functionName: ctgLaunchGetTbTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_ERR_RET
    - taosArrayGet
    - TSWAP
    - CTG_GET_TASK_MSGCTX
    - ctgGetTbTSMAFromMnode
    - ctgAsyncRefreshTbMeta
    - ctgHandleTaskEnd
    - taosArrayGetSize
    - ctgGetTbTSMAFromCache
    - taosArrayInit_s
    - ctgError
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetTbTSMATask(SCtgTask* pTask)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4183,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4185,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4185,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4186,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4189,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4191,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4191,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4192,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4195,1
    - Dst: ctgGetTSMAFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4195,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4198,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4200,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4201,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4209,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4210,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:4214,1
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4214,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4216,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4218,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4218,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4219,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4224,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4226,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4226,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4227,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4230,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4233,1
    - Dst: ctgTbMetaExistInCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4233,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4236,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4238,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4238,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4240,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4240,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4247
      start: 4175
    functionDepth: 7
    functionLinenumber: 4175
    functionLinenumberEnd: 4247
    functionName: ctgLaunchGetTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - TSWAP
    - ctgGetTbTSMAFromMnode
    - ctgGetTbMetaFromMnodeImpl
    - ctgGetTSMAFromCache
    - ctgHandleTaskEnd
    - taosArrayGetSize
    - CTG_RET
    - ctgError
    - taosArrayGetP
    - ctgTbMetaExistInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetTSMATask(SCtgTask* pTask)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4256,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4260,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4262,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4263,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4266,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4266,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4267,1
    - Dst: ctgGetTbNamesFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4267,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4268,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4271,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4273,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4275,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4275,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4279,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4281,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4282,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4286,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4288,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4289,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4292,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4292,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4294,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4296,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4297,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4307,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4311
      start: 4249
    functionDepth: 9
    functionLinenumber: 4249
    functionLinenumberEnd: 4311
    functionName: ctgLaunchGetTbNamesTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgDebug
    - CTG_ERR_RET
    - ctgGetTbNamesFromCache
    - TSWAP
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - ctgHandleTaskEnd
    - ctgGetFetchName
    - taosArrayGetSize
    - ctgAsyncRefreshTbMeta
    - TARRAY_GET_ELEM
    - ctgError
    - taosArrayInit_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetTbNamesTask(SCtgTask* pTask)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4321,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4323,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4324,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4332,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4334,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4335,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4338,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4338,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4341,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4346,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4346,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4351,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4351,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4357,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4357,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4362,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4362,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:4364,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4371,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4372,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4374,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4375,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4379,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4380,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4385,1
    - Dst: ctgGetVStbRefDbsFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4385,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4387,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4388,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4389,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4394,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4402,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4406,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4412,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4413
      start: 4313
    functionDepth: 6
    functionLinenumber: 4313
    functionLinenumberEnd: 4413
    functionName: ctgLaunchGetVStbRefDbsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ctgHandleTaskEnd
    - CTG_ERR_JRET
    - ctgAcquireVgInfoFromCache
    - taosArrayGet
    - ctgGetVStbRefDbsFromVnode
    - ctgReleaseVgInfoToCache
    - taosArrayGetSize
    - ctgError
    - tNameExtractFullName
    - ctgDebug
    - CTG_GET_TASK_MSGCTX
    - ctgLaunchSubTask
    - taosMemoryMalloc
    - CTG_ERR_RET
    - taosArrayInit
    - CTG_RET
    - tNameGetFullDbName
    - ctgReadTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchGetVStbRefDbsTask(SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4423
      start: 4415
    functionDepth: 0
    functionLinenumber: 4415
    functionLinenumberEnd: 4423
    functionName: ctgDumpTbTSMARes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpTbTSMARes(SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4433
      start: 4425
    functionDepth: 0
    functionLinenumber: 4425
    functionLinenumberEnd: 4433
    functionName: ctgDumpTSMARes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgDumpTSMARes(SCtgTask* pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgResetTbMetaTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4436,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4438,1
    - Dst: ctgLaunchGetTbMetaTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4441
      start: 4435
    functionDepth: 10
    functionLinenumber: 4435
    functionLinenumberEnd: 4441
    functionName: ctgRelaunchGetTbMetaTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgLaunchGetTbMetaTask
    - CTG_ERR_RET
    - ctgResetTbMetaTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgRelaunchGetTbMetaTask(SCtgTask* pTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4446,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4454,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4456,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4459,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4460,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4463,1
    - Dst: ctgLaunchGetTbCfgTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4463,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4467,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4468
      start: 4443
    functionDepth: 8
    functionLinenumber: 4443
    functionLinenumberEnd: 4468
    functionName: ctgGetTbCfgCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgLaunchGetTbCfgTask
    - ctgGetVgInfoFromHashValue
    - ctgHandleTaskEnd
    - taosMemoryCalloc
    - CTG_RET
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbCfgCb(SCtgTask* pTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4473,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4477,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4481,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4483,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4489,1
    - Dst: ctgLaunchGetVStbRefDbsTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4489,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4493,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4494
      start: 4470
    functionDepth: 7
    functionLinenumber: 4470
    functionLinenumberEnd: 4494
    functionName: ctgGetVStbRefDbsCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - TSWAP
    - ctgHandleTaskEnd
    - ctgLaunchGetVStbRefDbsTask
    - CTG_RET
    - taosArrayDup
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetVStbRefDbsCb(SCtgTask* pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4499,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4505,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4507,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4510,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4511,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4514,1
    - Dst: ctgLaunchGetTbTagTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4514,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4518,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4519
      start: 4496
    functionDepth: 8
    functionLinenumber: 4496
    functionLinenumberEnd: 4519
    functionName: ctgGetTbTagCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - ctgGetVgInfoFromHashValue
    - ctgHandleTaskEnd
    - taosMemoryCalloc
    - ctgLaunchGetTbTagTask
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetTbTagCb(SCtgTask* pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4527,1
    - Dst: ctgLaunchGetUserTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4527,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4531,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4532
      start: 4521
    functionDepth: 8
    functionLinenumber: 4521
    functionLinenumberEnd: 4532
    functionName: ctgGetUserCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - ctgHandleTaskEnd
    - CTG_RET
    - ctgLaunchGetUserTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgGetUserCb(SCtgTask* pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pTask
    - param
    - equal
    argTypes:
    - SCtgTask*
    - void*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4540
      start: 4534
    functionDepth: 0
    functionLinenumber: 4534
    functionLinenumberEnd: 4540
    functionName: ctgCompDbVgTasks
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCompDbVgTasks(SCtgTask* pTask, void* param, bool* equal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameTbNameEqual
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pTask
    - param
    - equal
    argTypes:
    - SCtgTask*
    - void*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4552
      start: 4542
    functionDepth: 1
    functionLinenumber: 4542
    functionLinenumberEnd: 4552
    functionName: ctgCompTbMetaTasks
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - tNameTbNameEqual
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCompTbMetaTasks(SCtgTask* pTask, void* param, bool* equal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4557,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTask
    - pRes
    argTypes:
    - SCtgTask*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4558
      start: 4554
    functionDepth: 1
    functionLinenumber: 4554
    functionLinenumberEnd: 4558
    functionName: ctgCloneTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - cloneTableMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneTbMeta(SCtgTask* pTask, void** pRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4563,1
    - Dst: cloneDbVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTask
    - pRes
    argTypes:
    - SCtgTask*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4564
      start: 4560
    functionDepth: 1
    functionLinenumber: 4560
    functionLinenumberEnd: 4564
    functionName: ctgCloneDbVg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - cloneDbVgInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgCloneDbVg(SCtgTask* pTask, void** pRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4593,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4596,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SCtgJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4601
      start: 4591
    functionDepth: 1
    functionLinenumber: 4591
    functionLinenumberEnd: 4601
    functionName: ctgMakeAsyncRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 1
    functionsReached:
    - CTG_ERR_RET
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgMakeAsyncRes(SCtgJob* pJob)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4608,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4610,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4612,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4614,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4615,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4622,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4630,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - pJob
    - type
    - param
    - taskId
    argTypes:
    - SCtgJob*
    - CTG_TASK_TYPE
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4636
      start: 4603
    functionDepth: 1
    functionLinenumber: 4603
    functionLinenumberEnd: 4636
    functionName: ctgSearchExistingTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - CTG_RET
    - taosArrayGet
    - CTG_LOCK
    - qError
    - taosArrayGetSize
    - CTG_UNLOCK
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgSearchExistingTask(SCtgJob* pJob, CTG_TASK_TYPE type, void*
      param, int32_t* taskId)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4641,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4644,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4645,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4647,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4648,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4651,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4653,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4654,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4659,1
    - Dst: SCtgTask*::subRes::fp
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4659,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4662,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4664,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4668,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4669,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4675,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - pSub
    - pTask
    argTypes:
    - SCtgTask*
    - SCtgTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4678
      start: 4638
    functionDepth: 1
    functionLinenumber: 4638
    functionLinenumberEnd: 4678
    functionName: ctgSetSubTaskCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - CTG_RET
    - CTG_GET_TASK_MSGCTX
    - CTG_LOCK
    - qError
    - taosArrayInit
    - CTG_UNLOCK
    - SCtgTask*::subRes::fp
    - CTG_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgSetSubTaskCb(SCtgTask* pSub, SCtgTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4681,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pJob
    - taskId
    argTypes:
    - SCtgJob*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4691
      start: 4680
    functionDepth: 1
    functionLinenumber: 4680
    functionLinenumberEnd: 4691
    functionName: ctgGetTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: SCtgTask
    signature: SCtgTask * ctgGetTask(SCtgJob* pJob, int32_t taskId)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ctgClearSubTaskRes
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4699,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4703,1
    - Dst: ctgSearchExistingTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4703,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4705,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4705,1
    - Dst: ctgGetTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4707,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4710,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4712,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4712,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4713,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4720,1
    - Dst: ctgSetSubTaskCb
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4720,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4723,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4725,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4726,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4729,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4731,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4732,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4737,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - ppTask
    - type
    - fp
    - param
    argTypes:
    - SCtgTask**
    - CTG_TASK_TYPE
    - ctgSubTaskCbFp
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4742
      start: 4693
    functionDepth: 3
    functionLinenumber: 4693
    functionLinenumberEnd: 4742
    functionName: ctgLaunchSubTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 4
    functionsReached:
    - ctgSetSubTaskCb
    - ctgSearchExistingTask
    - CTG_ERR_RET
    - taosArrayGet
    - CTG_GET_TASK_MSGCTX
    - qError
    - ctgInitTask
    - ctgGetTask
    - ctgClearSubTaskRes
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchSubTask(SCtgTask** ppTask, CTG_TASK_TYPE type, ctgSubTaskCbFp
      fp, void* param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4745,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4748,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4750,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4751,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4754,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4756,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4758,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4760,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4762,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4765,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4769,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4770,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4772,1
    - Dst: ctgCallUserCb
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4774,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4775,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4779,1
    - Dst: ctgLaunchBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SCtgJob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4784
      start: 4744
    functionDepth: 4
    functionLinenumber: 4744
    functionLinenumberEnd: 4784
    functionName: ctgLaunchJob
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: 1
    functionsReached:
    - ctgLaunchBatchs
    - CTG_ERR_RET
    - taosArrayGet
    - taosAsyncExec
    - qError
    - qDebug
    - ctgCallUserCb
    - taosArrayGetSize
    - atomic_val_compare_exchange_32
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t ctgLaunchJob(SCtgJob* pJob)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makeOneScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:22,1
    - Dst: geomRelationFunc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:23,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:24,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:29,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:34,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:37,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:41,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - geomRelationFunc
    - pInput
    - rowNum
    - expectedCode
    - expectedResult
    argTypes:
    - FScalarExecProcess
    - SScalarParam*
    - int32_t
    - int32_t
    - int8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: callGeomRelationFuncAndCompareResult
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - geomRelationFunc
    - destroyScalarParam
    - ASSERT_EQ
    - makeOneScalarParam
    - colDataIsNull_s
    linkageType: ''
    returnType: void
    signature: "void callGeomRelationFuncAndCompareResult(FScalarExecProcess geomRelationFunc,\n
      \                                         SScalarParam *pInput, int32_t rowNum,\n
      \                                         int32_t expectedCode, int8_t expectedResult[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:66,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:67,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:68,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:69,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:70,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:71,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:75,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:76,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:77,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:78,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:79,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:80,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:84,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:85,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:86,1
    - Dst: callGeomRelationFuncAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:87,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:90,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:91,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:92,1
    - Dst: callGeomRelationFuncAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:93,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:96,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:97,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:98,1
    - Dst: callGeomRelationFuncAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:99,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:102,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:103,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:104,1
    - Dst: callGeomRelationFuncAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:105,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:108,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:109,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:110,1
    - Dst: callGeomRelationFuncAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:111,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:114,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:117,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:118,1
    - Dst: callGeomRelationFuncAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:119,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:122,1
    - Dst: setScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:123,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:124,1
    - Dst: callGeomRelationFuncAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:126,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:129,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:130,1
    - Dst: setScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:131,1
    - Dst: callGeomRelationFuncAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:132,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:135,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:137,1
    - Dst: setScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:138,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:139,1
    - Dst: callGeomRelationFuncAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:140,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:143,1
    - Dst: setScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:145,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:146,1
    - Dst: callGeomRelationFuncAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:147,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:150,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:151,1
    - Dst: callGeomFromTextWrapper5
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:152,1
    - Dst: setScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:153,1
    - Dst: callGeomRelationFuncAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 60
    argCount: 2
    argNames:
    - geomRelationFunc
    - expectedResults
    argTypes:
    - FScalarExecProcess
    - int8_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 155
    functionName: geomRelationFuncTest
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - callGeomRelationFuncAndCompareResult
    - STR_TO_VARSTR
    - setScalarParam
    - taosMemoryCalloc
    - callGeomFromTextWrapper5
    linkageType: ''
    returnType: void
    signature: void geomRelationFuncTest(FScalarExecProcess geomRelationFunc, int8_t
      expectedResults[6][6])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFuncTest
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: geomRelationFuncTestIntersectsFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomRelationFuncTest
    linkageType: ''
    returnType: void
    signature: void geomRelationFuncTestIntersectsFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFuncTest
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: geomRelationFuncTestEqualsFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomRelationFuncTest
    linkageType: ''
    returnType: void
    signature: void geomRelationFuncTestEqualsFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFuncTest
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: geomRelationFuncTestTouchesFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomRelationFuncTest
    linkageType: ''
    returnType: void
    signature: void geomRelationFuncTestTouchesFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFuncTest
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: geomRelationFuncTestCoversFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomRelationFuncTest
    linkageType: ''
    returnType: void
    signature: void geomRelationFuncTestCoversFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFuncTest
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: geomRelationFuncTestContainsFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomRelationFuncTest
    linkageType: ''
    returnType: void
    signature: void geomRelationFuncTestContainsFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFuncTest
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: geomRelationFuncTestContainsProperlyFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomRelationFuncTest
    linkageType: ''
    returnType: void
    signature: void geomRelationFuncTestContainsProperlyFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFuncTestIntersectsFunction
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:242,1
    - Dst: geomRelationFuncTestEqualsFunction
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:243,1
    - Dst: geomRelationFuncTestTouchesFunction
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:244,1
    - Dst: geomRelationFuncTestCoversFunction
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:245,1
    - Dst: geomRelationFuncTestContainsFunction
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:246,1
    - Dst: geomRelationFuncTestContainsProperlyFunction
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: geomRelationFuncTestImpl
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomRelationFuncTestIntersectsFunction
    - geomRelationFuncTestCoversFunction
    - geomRelationFuncTestEqualsFunction
    - geomRelationFuncTestContainsProperlyFunction
    - geomRelationFuncTestContainsFunction
    - geomRelationFuncTestTouchesFunction
    linkageType: ''
    returnType: void
    signature: void geomRelationFuncTestImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFuncTestImpl
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: geomRelationFuncTestFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomRelationFuncTestImpl
    linkageType: ''
    returnType: void
    signature: void *geomRelationFuncTestFunc(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:257,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:257,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:258,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: geomRelationFuncTestInThread
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - taosThreadCreate
    - ASSERT_EQ
    - taosThreadJoin
    linkageType: ''
    returnType: void
    signature: void geomRelationFuncTestInThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFuncTestImpl
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:262,1
    - Dst: geomRelationFuncTestInThread
      Src: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomRelationFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomRelationFuncTestInThread
    - geomRelationFuncTestImpl
    linkageType: ''
    returnType: void
    signature: void TEST(threadGeomRelationFuncTest, threadGeomRelationFuncTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - info
    - colId
    - type
    - bytes
    argTypes:
    - SColumnInfo*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: setColumnInfo
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void setColumnInfo(SColumnInfo *info, int32_t colId, int32_t type,
      int32_t bytes)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:69,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:74,1
    - Dst: setColumnInfo
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:77,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:78,1
    - Dst: tdValTypeIsNull
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:82,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:83,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:87,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 5
    argNames:
    - sclParam
    - type
    - valueArray
    - valTypeArray
    - rowNum
    argTypes:
    - SScalarParam*
    - int32_t
    - void*
    - TDRowValT[]
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 91
    functionName: setScalarParam
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp
    functionUses: 1
    functionsReached:
    - colDataSetNULL
    - colInfoDataEnsureCapacity
    - setColumnInfo
    - tdValTypeIsNull
    - colDataSetVal
    - ASSERT_TRUE
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void setScalarParam(SScalarParam *sclParam, int32_t type, void *valueArray,
      TDRowValT valTypeArray[], int32_t rowNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:95,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:96,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sclParam
    - colNum
    argTypes:
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: destroyScalarParam
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyScalarParam(SScalarParam *sclParam, int32_t colNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:102,1
    - Dst: setScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pSclParam
    - type
    - valueArray
    - valTypeArray
    - rowNum
    argTypes:
    - SScalarParam**
    - int32_t
    - void*
    - TDRowValT[]
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: makeOneScalarParam
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp
    functionUses: 1
    functionsReached:
    - setScalarParam
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void makeOneScalarParam(SScalarParam **pSclParam, int32_t type, void
      *valueArray, TDRowValT valTypeArray[], int32_t rowNum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:107,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:107,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:110,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:110,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:114,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:114,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:114,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - varData1
    - varData2
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: compareVarData
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp
    functionUses: 0
    functionsReached:
    - varDataVal
    - memcmp
    - varDataLen
    linkageType: ''
    returnType: bool
    signature: bool compareVarData(unsigned char *varData1, unsigned char *varData2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:119,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:120,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:121,1
    - Dst: compareVarData
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:124,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:124,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:125,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - columnData1
    - columnData2
    - rowNum
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: compareVarDataColumn
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomFuncTestUtil.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - colDataIsNull_s
    - compareVarData
    - colDataGetData
    linkageType: ''
    returnType: void
    signature: void compareVarDataColumn(SColumnInfoData *columnData1, SColumnInfoData
      *columnData2, int32_t rowNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTest.cpp:21,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTest.cpp:21,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTest.cpp:22,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/geometry/test/geomFuncTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomFuncTest.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - taosGetTimestampSec
    - RUN_ALL_TESTS
    - taosSeedRand
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeOneScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:21,1
    - Dst: makeOneScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:22,1
    - Dst: geomFromTextFunction
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:24,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - inputType
    - strArray
    - valTypeArray
    - rowNum
    - pInputGeomFromText
    - pOutputGeomFromText
    - expectedCode
    argTypes:
    - int32_t
    - void*
    - TDRowValT[]
    - int32_t
    - SScalarParam**
    - SScalarParam**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: callGeomFromText
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - makeOneScalarParam
    - ASSERT_EQ
    - geomFromTextFunction
    linkageType: ''
    returnType: void
    signature: "void callGeomFromText(int32_t inputType, void *strArray, TDRowValT
      valTypeArray[], int32_t rowNum,\n                      SScalarParam **pInputGeomFromText,
      SScalarParam **pOutputGeomFromText,\n                      int32_t expectedCode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callGeomFromText
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:30,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - inputType
    - strArray
    - valTypeArray
    - rowNum
    - pOutputGeomFromText
    argTypes:
    - int32_t
    - void*
    - TDRowValT[]
    - int32_t
    - SScalarParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: callGeomFromTextWrapper1
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - destroyScalarParam
    - callGeomFromText
    linkageType: ''
    returnType: void
    signature: void callGeomFromTextWrapper1(int32_t inputType, void *strArray, TDRowValT
      valTypeArray[], int32_t rowNum, SScalarParam **pOutputGeomFromText)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callGeomFromTextWrapper1
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - strArray
    - valTypeArray
    - rowNum
    - pOutputGeomFromText
    argTypes:
    - void*
    - TDRowValT[]
    - int32_t
    - SScalarParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: callGeomFromTextWrapper2
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - callGeomFromTextWrapper1
    linkageType: ''
    returnType: void
    signature: void callGeomFromTextWrapper2(void *strArray, TDRowValT valTypeArray[],
      int32_t rowNum, SScalarParam **pOutputGeomFromText)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callGeomFromText
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:42,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:44,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - inputType
    - strArray
    - valTypeArray
    - rowNum
    - expectedCode
    argTypes:
    - int32_t
    - void*
    - TDRowValT[]
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: callGeomFromTextWrapper3
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - destroyScalarParam
    - callGeomFromText
    linkageType: ''
    returnType: void
    signature: void callGeomFromTextWrapper3(int32_t inputType, void *strArray, TDRowValT
      valTypeArray[], int32_t rowNum, int32_t expectedCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callGeomFromTextWrapper3
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - strArray
    - valTypeArray
    - rowNum
    - expectedCode
    argTypes:
    - void*
    - TDRowValT[]
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: callGeomFromTextWrapper4
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - callGeomFromTextWrapper3
    linkageType: ''
    returnType: void
    signature: void callGeomFromTextWrapper4(void *strArray, TDRowValT valTypeArray[],
      int32_t rowNum, int32_t expectedCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeOneScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:54,1
    - Dst: setScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:56,1
    - Dst: geomFromTextFunction
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:58,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:59,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - strArray
    - valTypeArray
    - rowNum
    - pOutputGeomFromText
    argTypes:
    - void*
    - TDRowValT[]
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: callGeomFromTextWrapper5
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 1
    functionsReached:
    - destroyScalarParam
    - ASSERT_EQ
    - setScalarParam
    - makeOneScalarParam
    - geomFromTextFunction
    linkageType: ''
    returnType: void
    signature: void callGeomFromTextWrapper5(void *strArray, TDRowValT valTypeArray[],
      int32_t rowNum, SScalarParam *pOutputGeomFromText)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeOneScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:67,1
    - Dst: makeOneScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:68,1
    - Dst: geomFromTextFunction
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:70,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - inputType
    - strArray
    - valTypeArray
    - rowNum
    - pInputAsText
    - pOutputAsText
    - expectedCode
    argTypes:
    - int32_t
    - void*
    - TDRowValT[]
    - int32_t
    - SScalarParam**
    - SScalarParam**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: callAsText
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - makeOneScalarParam
    - ASSERT_EQ
    - geomFromTextFunction
    linkageType: ''
    returnType: void
    signature: "void callAsText(int32_t inputType, void *strArray, TDRowValT valTypeArray[],
      int32_t rowNum,\n                SScalarParam **pInputAsText, SScalarParam **pOutputAsText,\n
      \               int32_t expectedCode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callAsText
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:76,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - inputType
    - strArray
    - valTypeArray
    - rowNum
    - pOutputAsText
    argTypes:
    - int32_t
    - void*
    - TDRowValT[]
    - int32_t
    - SScalarParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: callAsTextWrapper1
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - destroyScalarParam
    - callAsText
    linkageType: ''
    returnType: void
    signature: void callAsTextWrapper1(int32_t inputType, void *strArray, TDRowValT
      valTypeArray[], int32_t rowNum, SScalarParam **pOutputAsText)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callAsText
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:84,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:86,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - inputType
    - strArray
    - valTypeArray
    - rowNum
    - expectedCode
    argTypes:
    - int32_t
    - void*
    - TDRowValT[]
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: callAsTextWrapper2
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - destroyScalarParam
    - callAsText
    linkageType: ''
    returnType: void
    signature: void callAsTextWrapper2(int32_t inputType, void *strArray, TDRowValT
      valTypeArray[], int32_t rowNum, int32_t expectedCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:96,1
    - Dst: setScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:97,1
    - Dst: setScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:98,1
    - Dst: makeOneScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:101,1
    - Dst: makePointFunction
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:103,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:104,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:106,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:107,1
    - Dst: compareVarDataColumn
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:109,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:111,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 10
    argNames:
    - type1
    - valueArray1
    - valTypeArray1
    - isConstant1
    - type2
    - valueArray2
    - valTypeArray2
    - isConstant2
    - pExpectedResult
    - rowNum
    argTypes:
    - int32_t
    - void*
    - TDRowValT[]
    - bool
    - int32_t
    - void*
    - TDRowValT[]
    - bool
    - SScalarParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 113
    functionName: callMakePointAndCompareResult
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - compareVarDataColumn
    - destroyScalarParam
    - makePointFunction
    - ASSERT_EQ
    - setScalarParam
    - makeOneScalarParam
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: "void callMakePointAndCompareResult(int32_t type1, void *valueArray1,
      TDRowValT valTypeArray1[], bool isConstant1,\n                                   int32_t
      type2, void *valueArray2, TDRowValT valTypeArray2[], bool isConstant2,\n                                   SScalarParam
      *pExpectedResult, int32_t rowNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:125,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:126,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:127,1
    - Dst: callGeomFromTextWrapper2
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:128,1
    - Dst: callMakePointAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:133,1
    - Dst: callMakePointAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:140,1
    - Dst: callMakePointAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:147,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 152
    functionName: geomIoFuncTestMakePointFunctionTwoColumns
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - callGeomFromTextWrapper2
    - callMakePointAndCompareResult
    - STR_TO_VARSTR
    - destroyScalarParam
    linkageType: ''
    returnType: void
    signature: void geomIoFuncTestMakePointFunctionTwoColumns()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:161,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:162,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:163,1
    - Dst: callGeomFromTextWrapper2
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:164,1
    - Dst: callMakePointAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:169,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:173,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:176,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:177,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:178,1
    - Dst: callGeomFromTextWrapper2
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:179,1
    - Dst: callMakePointAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:184,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 154
    functionDepth: 6
    functionLinenumber: 154
    functionLinenumberEnd: 189
    functionName: geomIoFuncTestMakePointFunctionConstant
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - callGeomFromTextWrapper2
    - callMakePointAndCompareResult
    - STR_TO_VARSTR
    - destroyScalarParam
    linkageType: ''
    returnType: void
    signature: void geomIoFuncTestMakePointFunctionConstant()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callGeomFromTextWrapper2
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:199,1
    - Dst: callMakePointAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:203,1
    - Dst: callMakePointAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:207,1
    - Dst: callMakePointAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:214,1
    - Dst: callMakePointAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:218,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:222,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:225,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:226,1
    - Dst: callGeomFromTextWrapper2
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:228,1
    - Dst: callMakePointAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:233,1
    - Dst: callMakePointAndCompareResult
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:240,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 191
    functionDepth: 6
    functionLinenumber: 191
    functionLinenumberEnd: 245
    functionName: geomIoFuncTestMakePointFunctionWithNull
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - destroyScalarParam
    - callMakePointAndCompareResult
    - callGeomFromTextWrapper2
    - STR_TO_VARSTR
    linkageType: ''
    returnType: void
    signature: void geomIoFuncTestMakePointFunctionWithNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:258,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:259,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:260,1
    - Dst: callGeomFromText
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:262,1
    - Dst: makeOneScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:264,1
    - Dst: asTextFunction
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:265,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:266,1
    - Dst: compareVarDataColumn
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:268,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:270,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:271,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:272,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:275,1
    - Dst: callGeomFromTextWrapper4
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:276,1
    - Dst: callGeomFromTextWrapper1
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:279,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:280,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:280,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:281,1
    - Dst: callGeomFromTextWrapper3
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:285,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:288,1
    - Dst: callGeomFromTextWrapper4
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:289,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:290,1
    - Dst: callGeomFromTextWrapper4
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:291,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:292,1
    - Dst: callGeomFromTextWrapper4
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 247
    functionDepth: 6
    functionLinenumber: 247
    functionLinenumberEnd: 294
    functionName: geomIoFuncTestGeomFromTextFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - callGeomFromTextWrapper1
    - compareVarDataColumn
    - callGeomFromText
    - destroyScalarParam
    - callGeomFromTextWrapper4
    - STR_TO_VARSTR
    - ASSERT_EQ
    - asTextFunction
    - callGeomFromTextWrapper3
    - makeOneScalarParam
    - colDataIsNull_s
    linkageType: ''
    returnType: void
    signature: void geomIoFuncTestGeomFromTextFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:303,1
    - Dst: callAsTextWrapper1
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:305,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:306,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:306,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:307,1
    - Dst: callAsTextWrapper1
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:310,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:311,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:311,1
    - Dst: destroyScalarParam
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:312,1
    - Dst: callAsTextWrapper2
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:316,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:319,1
    - Dst: callAsTextWrapper2
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 296
    functionDepth: 5
    functionLinenumber: 296
    functionLinenumberEnd: 321
    functionName: geomIoFuncTestAsTextFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - callAsTextWrapper1
    - destroyScalarParam
    - STR_TO_VARSTR
    - ASSERT_EQ
    - callAsTextWrapper2
    - colDataIsNull_s
    linkageType: ''
    returnType: void
    signature: void geomIoFuncTestAsTextFunction()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomIoFuncTestMakePointFunctionTwoColumns
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:324,1
    - Dst: geomIoFuncTestMakePointFunctionConstant
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:325,1
    - Dst: geomIoFuncTestMakePointFunctionWithNull
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:326,1
    - Dst: geomIoFuncTestGeomFromTextFunction
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:327,1
    - Dst: geomIoFuncTestAsTextFunction
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 7
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: geomIoFuncTestImpl
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomIoFuncTestMakePointFunctionTwoColumns
    - geomIoFuncTestAsTextFunction
    - geomIoFuncTestMakePointFunctionConstant
    - geomIoFuncTestGeomFromTextFunction
    - geomIoFuncTestMakePointFunctionWithNull
    linkageType: ''
    returnType: void
    signature: void geomIoFuncTestImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomIoFuncTestImpl
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 8
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: geomIoFuncTestFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomIoFuncTestImpl
    linkageType: ''
    returnType: void
    signature: void *geomIoFuncTestFunc(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:338,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:338,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:339,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: geomIoFuncTestInThread
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - taosThreadCreate
    - ASSERT_EQ
    - taosThreadJoin
    linkageType: ''
    returnType: void
    signature: void geomIoFuncTestInThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomIoFuncTestImpl
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:343,1
    - Dst: geomIoFuncTestInThread
      Src: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 8
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/geometry/test/geomIoFuncTest.cpp
    functionUses: 0
    functionsReached:
    - geomIoFuncTestImpl
    - geomIoFuncTestInThread
    linkageType: ''
    returnType: void
    signature: void TEST(threadGeomFuncTest, threadFuncTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doMakePoint
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:40,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:45,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:51,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:51,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:52,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - x
    - y
    - output
    argTypes:
    - double
    - double
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 59
    functionName: doMakePointFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - geosFreeBuffer
    - taosMemoryCalloc
    - varDataVal
    - doMakePoint
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t doMakePointFunc(double x, double y, unsigned char **output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:66,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:76,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:76,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:81,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:81,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:81,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:83,1
    - Dst: doGeomFromText
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:83,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:85,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:91,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:91,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:92,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:96,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 100
    functionName: doGeomFromTextFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TAOS_CHECK_GOTO
    - geosFreeBuffer
    - varDataLen
    - doGeomFromText
    - varDataVal
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGeomFromTextFunc(const char *input, unsigned char **output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:107,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:113,1
    - Dst: doAsText
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:113,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:113,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:113,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:115,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:116,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:122,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:122,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:123,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - unsigned char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: doAsTextFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TAOS_CHECK_GOTO
    - doAsText
    - geosFreeBuffer
    - varDataLen
    - varDataVal
    - strlen
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t doAsTextFunc(unsigned char *input, char **output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:138,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:138,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:139,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:139,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: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:146,1
    - Dst: doMakePointFunc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:146,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:147,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:147,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:147,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - pInputData
    - iLeft
    - iRight
    - pOutputData
    argTypes:
    - SColumnInfoData*[]
    - int32_t
    - int32_t
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 155
    functionName: executeMakePointFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - getVectorDoubleValueFn
    - TMAX
    - colDataSetVal
    - taosMemoryFree
    - doMakePointFunc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t executeMakePointFunc(SColumnInfoData *pInputData[], int32_t
      iLeft, int32_t iRight,\n                             SColumnInfoData *pOutputData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:160,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:164,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:167,1
    - Dst: doGeomFromTextFunc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:167,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:170,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:172,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:172,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pInputData
    - i
    - pOutputData
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: executeGeomFromTextFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GOTO
    - doGeomFromTextFunc
    - colDataGetData
    - varDataLen
    - colDataSetVal
    - taosMemoryFree
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t executeGeomFromTextFunc(SColumnInfoData *pInputData, int32_t
      i, SColumnInfoData *pOutputData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:185,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:188,1
    - Dst: doAsTextFunc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:188,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:189,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:189,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pInputData
    - i
    - pOutputData
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: executeAsTextFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - TAOS_CHECK_GOTO
    - colDataSetVal
    - taosMemoryFree
    - doAsTextFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t executeAsTextFunc(SColumnInfoData *pInputData, int32_t i, SColumnInfoData
      *pOutputData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:207,1
    - Dst: doRelationFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:207,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - i
    - swapped
    - pOutputData
    - doRelationFn
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - int32_t
    - bool
    - SColumnInfoData*
    - _geomDoRelationFunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: executeRelationFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - doRelationFn
    - TAOS_CHECK_RETURN
    - colDataSetVal
    linkageType: ''
    returnType: int32_t
    signature: "int32_t executeRelationFunc(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1,\n                            const GEOSGeometry *geom2, int32_t
      i, bool swapped, SColumnInfoData *pOutputData,\n                            _geomDoRelationFunc_t
      doRelationFn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:215,1
    - Dst: initCtxFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:215,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:221,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:221,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:222,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:225,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:226,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:230,1
    - Dst: executeOneParamFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:230,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - pInput
    - pOutput
    - initCtxFn
    - executeOneParamFn
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - _geomInitCtxFunc_t
    - _geomExecuteOneParamFunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: geomOneParamFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - TAOS_CHECK_RETURN
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - TAOS_RETURN
    - executeOneParamFn
    - initCtxFn
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t geomOneParamFunction(SScalarParam *pInput, SScalarParam *pOutput,
      _geomInitCtxFunc_t initCtxFn,\n                             _geomExecuteOneParamFunc_t
      executeOneParamFn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:239,1
    - Dst: initCtxFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:239,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:246,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:246,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:246,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:246,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:249,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:253,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:254,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:255,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:263,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:264,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:265,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:269,1
    - Dst: executeTwoParamsFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:269,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:273,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - pInput
    - pOutput
    - initCtxFn
    - executeTwoParamsFn
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - _geomInitCtxFunc_t
    - _geomExecuteTwoParamsFunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 274
    functionName: geomTwoParamsFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - executeTwoParamsFn
    - IS_NULL_TYPE
    - colDataSetNULL
    - TAOS_CHECK_RETURN
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - TMAX
    - TAOS_RETURN
    - initCtxFn
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t geomTwoParamsFunction(SScalarParam *pInput, SScalarParam *pOutput,
      _geomInitCtxFunc_t initCtxFn,\n                              _geomExecuteTwoParamsFunc_t
      executeTwoParamsFn)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:280,1
    - Dst: initCtxRelationFunc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:280,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:283,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:283,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:283,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:283,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:286,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:291,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:292,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:293,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:294,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:319,1
    - Dst: readGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:319,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:319,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:322,1
    - Dst: readGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:322,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:322,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:326,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:326,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:327,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:332,1
    - Dst: readGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:332,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:332,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:335,1
    - Dst: readGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:335,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:335,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:338,1
    - Dst: executeRelationFunc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:338,1
    - Dst: destroyGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:342,1
    - Dst: destroyGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:345,1
    - Dst: destroyGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:352,1
    - Dst: destroyGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:353,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:355,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 4
    argNames:
    - pInput
    - pOutput
    - swapAllowed
    - doRelationFn
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - bool
    - _geomDoRelationFunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 356
    functionName: geomRelationFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataSetNULL
    - executeRelationFunc
    - TAOS_CHECK_RETURN
    - GET_PARAM_TYPE
    - colDataSetNNULL
    - TMAX
    - TAOS_CHECK_GOTO
    - colDataGetData
    - destroyGeometry
    - readGeometry
    - TAOS_RETURN
    - initCtxRelationFunc
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t geomRelationFunction(SScalarParam *pInput, SScalarParam *pOutput,
      bool swapAllowed,\n                             _geomDoRelationFunc_t doRelationFn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomTwoParamsFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: makePointFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 1
    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:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: geomFromTextFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 3
    functionsReached:
    - geomOneParamFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t geomFromTextFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomOneParamFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: asTextFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 1
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: intersectsFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    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:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: equalsFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - geomRelationFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t equalsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: touchesFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    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:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: coversFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - geomRelationFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t coversFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: containsFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - geomRelationFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t containsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: containsProperlyFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: 0
    functionsReached:
    - geomRelationFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t containsProperlyFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acquireThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:27,1
    - Dst: GEOSFree_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: geosFreeBuffer
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 5
    functionsReached:
    - GEOSFree_r
    - acquireThreadLocalGeosCtx
    linkageType: ''
    returnType: void
    signature: void geosFreeBuffer(void *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - errMsg
    - userData
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: geosErrMsgeHandler
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 0
    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:41,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:41,1
    - Dst: GEOS_init_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:44,1
    - Dst: GEOSContext_setErrorMessageHandler_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:49,1
    - Dst: GEOSWKBWriter_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 60
    functionName: initCtxMakePoint
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 0
    functionsReached:
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - GEOSWKBWriter_create_r
    - GEOS_init_r
    - GEOSContext_setErrorMessageHandler_r
    linkageType: ''
    returnType: int32_t
    signature: int32_t initCtxMakePoint()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:68,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:68,1
    - Dst: GEOSGeom_createPointFromXY_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:73,1
    - Dst: GEOSWKBWriter_write_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:79,1
    - Dst: GEOSGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - x
    - y
    - outputGeom
    - size
    argTypes:
    - double
    - double
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 94
    functionName: doMakePoint
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 1
    functionsReached:
    - GEOSWKBWriter_write_r
    - getThreadLocalGeosCtx
    - GEOSGeom_destroy_r
    - TAOS_CHECK_RETURN
    - GEOSGeom_createPointFromXY_r
    linkageType: ''
    returnType: int32_t
    signature: int32_t doMakePoint(double x, double y, unsigned char **outputGeom,
      size_t *size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:98,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:103,1
    - Dst: doRegComp
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:160,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ppRegex
    - ppMatchData
    argTypes:
    - pcre2_code**
    - pcre2_match_data**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 169
    functionName: initWktRegex
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - snprintf
    - taosMemoryCalloc
    - doRegComp
    linkageType: ''
    returnType: int32_t
    signature: int32_t initWktRegex(pcre2_code **ppRegex, pcre2_match_data **ppMatchData)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:175,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:175,1
    - Dst: GEOS_init_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:178,1
    - Dst: GEOSContext_setErrorMessageHandler_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:183,1
    - Dst: GEOSWKTReader_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:187,1
    - Dst: GEOSWKBWriter_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:194,1
    - Dst: initWktRegex
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: initCtxGeomFromText
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 1
    functionsReached:
    - initWktRegex
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - GEOSWKTReader_create_r
    - GEOSWKBWriter_create_r
    - GEOS_init_r
    - GEOSContext_setErrorMessageHandler_r
    linkageType: ''
    returnType: int32_t
    signature: int32_t initCtxGeomFromText()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:213,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:213,1
    - Dst: doRegExec
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:218,1
    - Dst: GEOSWKTReader_read_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:223,1
    - Dst: GEOSWKBWriter_write_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:229,1
    - Dst: GEOSGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - inputWKT
    - outputGeom
    - size
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 244
    functionName: doGeomFromText
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 2
    functionsReached:
    - GEOSWKBWriter_write_r
    - getThreadLocalGeosCtx
    - GEOSGeom_destroy_r
    - TAOS_CHECK_RETURN
    - GEOSWKTReader_read_r
    - doRegExec
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGeomFromText(const char *inputWKT, unsigned char **outputGeom,
      size_t *size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:250,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:250,1
    - Dst: GEOS_init_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:253,1
    - Dst: GEOSContext_setErrorMessageHandler_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:258,1
    - Dst: GEOSWKBReader_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:262,1
    - Dst: GEOSWKTWriter_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:269,1
    - Dst: GEOSWKTWriter_setRoundingPrecision_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:272,1
    - Dst: GEOSWKTWriter_setTrim_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 280
    functionName: initCtxAsText
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 1
    functionsReached:
    - GEOSWKTWriter_setTrim_r
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - GEOSWKTWriter_create_r
    - GEOS_init_r
    - GEOSWKTWriter_setRoundingPrecision_r
    - GEOSContext_setErrorMessageHandler_r
    - GEOSWKBReader_create_r
    linkageType: ''
    returnType: int32_t
    signature: int32_t initCtxAsText()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:288,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:288,1
    - Dst: GEOSWKBReader_read_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:293,1
    - Dst: GEOSWKTWriter_write_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:299,1
    - Dst: GEOSGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - inputGeom
    - size
    - outputWKT
    argTypes:
    - unsigned char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 315
    functionName: doAsText
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 2
    functionsReached:
    - GEOSGeom_destroy_r
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - GEOSWKTWriter_write_r
    - GEOSWKBReader_read_r
    linkageType: ''
    returnType: int32_t
    signature: int32_t doAsText(const unsigned char *inputGeom, size_t size, char
      **outputWKT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:322,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:322,1
    - Dst: GEOSWKBReader_read_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:324,1
    - Dst: GEOSGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - wkb
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 335
    functionName: checkWKB
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy_r
    - getThreadLocalGeosCtx
    - GEOSWKBReader_read_r
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkWKB(const unsigned char *wkb, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:341,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:341,1
    - Dst: GEOS_init_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:344,1
    - Dst: GEOSContext_setErrorMessageHandler_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:349,1
    - Dst: GEOSWKBReader_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 360
    functionName: initCtxRelationFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 1
    functionsReached:
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - GEOS_init_r
    - GEOSContext_setErrorMessageHandler_r
    - GEOSWKBReader_create_r
    linkageType: ''
    returnType: int32_t
    signature: int32_t initCtxRelationFunc()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:368,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:368,1
    - Dst: relationFn
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:375,1
    - Dst: swappedRelationFn
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:380,1
    - Dst: preparedRelationFn
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:387,1
    - Dst: swappedPreparedRelationFn
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 397
    functionName: doGeosRelation
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 0
    functionsReached:
    - preparedRelationFn
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - swappedPreparedRelationFn
    - swappedRelationFn
    - relationFn
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doGeosRelation(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2,\n                       bool swapped,
      char *res, _geosRelationFunc_t relationFn, _geosRelationFunc_t swappedRelationFn,\n
      \                      _geosPreparedRelationFunc_t preparedRelationFn,\n                       _geosPreparedRelationFunc_t
      swappedPreparedRelationFn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: doIntersects
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 0
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doIntersects(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2,\n                     bool swapped,
      char *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: doEquals
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 0
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doEquals(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2,\n                 bool swapped, char
      *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: doTouches
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 0
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doTouches(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2,\n                  bool swapped,
      char *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: doCovers
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 0
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doCovers(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2,\n                 bool swapped, char
      *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: doContains
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 0
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doContains(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2,\n                   bool swapped,
      char *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 432
    functionName: doContainsProperly
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 0
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doContainsProperly(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1,\n                           const GEOSGeometry *geom2, bool
      swapped, char *res)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:448,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:453,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:453,1
    - Dst: GEOSWKBReader_read_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:454,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:454,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:454,1
    - Dst: GEOSPrepare_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - input
    - outputGeom
    - outputPreparedGeom
    argTypes:
    - unsigned char*
    - GEOSGeometry**
    - GEOSPreparedGeometry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 467
    functionName: readGeometry
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 1
    functionsReached:
    - getThreadLocalGeosCtx
    - GEOSPrepare_r
    - TAOS_CHECK_RETURN
    - varDataLen
    - GEOSWKBReader_read_r
    - varDataVal
    linkageType: ''
    returnType: int32_t
    signature: "int32_t readGeometry(const unsigned char *input, GEOSGeometry **outputGeom,\n
      \                    const GEOSPreparedGeometry **outputPreparedGeom)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: acquireThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:470,1
    - Dst: GEOSPreparedGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:474,1
    - Dst: GEOSGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - geom
    - preparedGeom
    argTypes:
    - GEOSGeometry**
    - GEOSPreparedGeometry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 482
    functionName: destroyGeometry
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: 1
    functionsReached:
    - GEOSPreparedGeom_destroy_r
    - GEOSGeom_destroy_r
    - acquireThreadLocalGeosCtx
    linkageType: ''
    returnType: void
    signature: void destroyGeometry(GEOSGeometry **geom, const GEOSPreparedGeometry
      **preparedGeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: TfsTest::SetUpTestSuite
    functionSourceFile: /src/tdengine/source/libs/tfs/test/tfsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUpTestSuite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: TfsTest::SetUpTestSuite
    functionSourceFile: /src/tdengine/source/libs/tfs/test/tfsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUpTestSuite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: TfsTest::TearDownTestSuite
    functionSourceFile: /src/tdengine/source/libs/tfs/test/tfsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDownTestSuite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: TfsTest::SetUp
    functionSourceFile: /src/tdengine/source/libs/tfs/test/tfsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: TfsTest::TearDown
    functionSourceFile: /src/tdengine/source/libs/tfs/test/tfsTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:792,1
    - Dst: tfsNewDisk
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:792,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:793,1
    - Dst: tfsNewDisk
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:793,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:796,1
    - Dst: tfsUpdateDiskSize
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:796,1
    - Dst: tfsInitTier
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:800,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:807,1
    - Dst: tfsAllocDiskOnTier
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:807,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:810,1
    - Dst: tfsAllocDiskOnTier
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:810,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:814,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:815,1
    - Dst: tfsMountDiskToTier
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:815,1
    - Dst: tfsDestroyTier
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:816,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:820,1
    - Dst: tfsOpen
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:820,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:821,1
    - Dst: tfsOpen
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:821,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:822,1
    - Dst: tfsOpen
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:822,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:823,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:827,1
    - Dst: tfsDiskSpaceAvailable
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:827,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:831,1
    - Dst: tfsDiskSpaceAvailable
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:831,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:833,1
    - Dst: tfsDiskSpaceAvailable
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:833,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:835,1
    - Dst: tfsDiskSpaceSufficient
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:835,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:836,1
    - Dst: tfsDiskSpaceSufficient
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:836,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:837,1
    - Dst: tfsDiskSpaceSufficient
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:837,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:838,1
    - Dst: tfsDiskSpaceSufficient
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:838,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:840,1
    - Dst: tfsGetDisksAtLevel
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:840,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:841,1
    - Dst: tfsGetDisksAtLevel
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:841,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:843,1
    - Dst: tfsGetLevel
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:843,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:846,1
    - Dst: taosThreadSpinInit
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:846,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:851,1
    - Dst: tfsAllocDisk
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:851,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:854,1
    - Dst: tfsAllocDisk
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:854,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:858,1
    - Dst: tfsMkdirAt
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:858,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:860,1
    - Dst: tfsMkdirRecurAt
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:860,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:863,1
    - Dst: tfsRmdir
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:863,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:865,1
    - Dst: tfsSearch
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:865,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:866,1
    - Dst: tfsSearch
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:866,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:869,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:869,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:871,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:871,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:874,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:874,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:876,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:876,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:879,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:879,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:881,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:881,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:884,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:884,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:887,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:888,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:888,1
    - Dst: taosCreateFile
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:890,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:891,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:892,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:892,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:893,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:893,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:894,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:894,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:897,1
    - Dst: taosThreadSpinDestroy
      Src: /src/tdengine/source/libs/tfs/test/tfsTest.cpp:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 899
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/tfs/test/tfsTest.cpp
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosMemoryFreeClear
    - tfsCheckAndFormatCfg
    - taosCreateFile
    - tfsSearch
    - tfsAllocDiskOnTier
    - tfsDiskSpaceSufficient
    - tfsGetDisksAtLevel
    - tfsMkdirAt
    - tfsOpen
    - tfsNewDisk
    - tfsDiskSpaceAvailable
    - taosRemoveFile
    - tfsDestroyTier
    - tstrncpy
    - tfsInitTier
    - tfsMkdirRecurAt
    - taosThreadSpinInit
    - EXPECT_EQ
    - taosThreadSpinDestroy
    - tfsGetLevel
    - tfsRmdir
    - EXPECT_NE
    - tfsUpdateDiskSize
    - tfsMountDiskToTier
    - tfsAllocDisk
    linkageType: ''
    returnType: void
    signature: void TEST_F(TfsTest, DISABLED_06_Misc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: fFatal
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: fError
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: fWarn
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: fInfo
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: fDebug
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: fTrace
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pTier
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: tfsLockTier
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tfsLockTier(pTier)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pTier
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: tfsUnLockTier
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tfsUnLockTier(pTier)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pTfs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: tfsLock
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tfsLock(pTfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pTfs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: tfsUnLock
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tfsUnLock(pTfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pTfs
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: TFS_TIER_AT
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TFS_TIER_AT(pTfs, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pTfs
    - ','
    - did
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: TFS_DISK_AT
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TFS_DISK_AT(pTfs, did)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pTfs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: TFS_PRIMARY_DISK
    functionSourceFile: /src/tdengine/source/libs/tfs/inc/tfsInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TFS_PRIMARY_DISK(pTfs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:33,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:36,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:38,1
    - Dst: taosThreadSpinInit
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:41,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:42,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:42,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:47,1
    - Dst: tfsInitTier
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:47,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:50,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:50,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:52,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:56,1
    - Dst: tfsMount
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:56,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:59,1
    - Dst: tfsCheck
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:59,1
    - Dst: tfsUpdateSize
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:61,1
    - Dst: tfsPosNextId
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:63,1
    - Dst: tfsClose
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:68,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - pCfg
    - ndisk
    - ppTfs
    argTypes:
    - SDiskCfg*
    - int32_t
    - STfs**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 73
    functionName: tfsOpen
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - TAOS_CHECK_GOTO
    - tfsMount
    - tfsCheck
    - tfsUpdateSize
    - tfsPosNextId
    - taosHashInit
    - TAOS_RETURN
    - tfsInitTier
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - tfsClose
    - taosThreadSpinInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsOpen(SDiskCfg *pCfg, int32_t ndisk, STfs **ppTfs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfsDestroyTier
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:79,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:82,1
    - Dst: taosThreadSpinDestroy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:83,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: tfsClose
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - taosThreadSpinDestroy
    - tfsDestroyTier
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void tfsClose(STfs *pTfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfsUpdateTierSize
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:92,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:98,1
    - Dst: tfsLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:98,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:100,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: tfsUpdateSize
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - tfsUpdateTierSize
    - tfsUnLock
    - TAOS_UNUSED
    - tfsLock
    linkageType: ''
    returnType: void
    signature: void tfsUpdateSize(STfs *pTfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:104,1
    - Dst: tfsLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:104,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:106,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: tfsGetSize
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - tfsUnLock
    - TAOS_UNUSED
    - tfsLock
    linkageType: ''
    returnType: SDiskSize
    signature: SDiskSize tfsGetSize(STfs *pTfs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:115,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:118,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pTfs
    - level
    argTypes:
    - STfs*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: tfsDiskSpaceAvailable
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - fError
    - TFS_TIER_AT
    - TFS_DISK_AT
    linkageType: ''
    returnType: bool
    signature: bool tfsDiskSpaceAvailable(STfs *pTfs, int32_t level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:135,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pTfs
    - level
    - disk
    argTypes:
    - STfs*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: tfsDiskSpaceSufficient
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TFS_TIER_AT
    - TFS_DISK_AT
    linkageType: ''
    returnType: bool
    signature: bool tfsDiskSpaceSufficient(STfs *pTfs, int32_t level, int32_t disk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:146,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pTfs
    - level
    argTypes:
    - STfs*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: tfsGetDisksAtLevel
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TFS_TIER_AT
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsGetDisksAtLevel(STfs *pTfs, int32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: tfsGetLevel
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsGetLevel(STfs *pTfs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tfsAllocDiskAtLevel
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:161,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:162,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - pTfs
    - expLevel
    - label
    - pDiskId
    argTypes:
    - STfs*
    - int32_t
    - char*
    - SDiskID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: tfsAllocDisk
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TAOS_RETURN
    - tfsAllocDiskAtLevel
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsAllocDisk(STfs *pTfs, int32_t expLevel, const char *label,
      SDiskID *pDiskId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:171,1
    - Dst: tfsAllocDiskOnTier
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:177,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:179,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pTfs
    - level
    - label
    - pDiskId
    argTypes:
    - STfs*
    - int32_t
    - char*
    - SDiskID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: tfsAllocDiskAtLevel
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TAOS_RETURN
    - tfsAllocDiskOnTier
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsAllocDiskAtLevel(STfs *pTfs, int32_t level, const char *label,
      SDiskID *pDiskId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_PRIMARY_DISK
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: tfsGetPrimaryPath
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - TFS_PRIMARY_DISK
    linkageType: ''
    returnType: char
    signature: char *tfsGetPrimaryPath(STfs *pTfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTfs
    - diskId
    argTypes:
    - STfs*
    - SDiskID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: tfsGetDiskPath
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - TFS_DISK_AT
    linkageType: ''
    returnType: char
    signature: char *tfsGetDiskPath(STfs *pTfs, SDiskID diskId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:190,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:194,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:197,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pTfs
    - pFile
    - diskId
    - rname
    argTypes:
    - STfs*
    - STfsFile*
    - SDiskID
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: tfsInitFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - snprintf
    - tstrncpy
    - TFS_DISK_AT
    linkageType: ''
    returnType: void
    signature: void tfsInitFile(STfs *pTfs, STfsFile *pFile, SDiskID diskId, const
      char *rname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:207,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:208,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:209,1
    - Dst: taosRealPath
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:209,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:210,1
    - Dst: taosRealPath
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:210,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pFile1
    - pFile2
    argTypes:
    - STfsFile*
    - STfsFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: tfsIsSameFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosRealPath
    - strncmp
    - tstrncpy
    - TAOS_UNUSED
    linkageType: ''
    returnType: bool
    signature: bool tfsIsSameFile(const STfsFile *pFile1, const STfsFile *pFile2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeVariantI32
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:218,1
    - Dst: taosEncodeVariantI32
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:219,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - pFile
    argTypes:
    - void**
    - STfsFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: tfsEncodeFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosEncodeVariantI32
    - taosEncodeString
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsEncodeFile(void **buf, STfsFile *pFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeVariantI32
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:229,1
    - Dst: taosDecodeVariantI32
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:230,1
    - Dst: taosDecodeString
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:231,1
    - Dst: tfsInitFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:233,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pTfs
    - buf
    - pFile
    argTypes:
    - STfs*
    - void*
    - STfsFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: tfsDecodeFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosDecodeString
    - tfsInitFile
    - taosDecodeVariantI32
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void *tfsDecodeFile(STfs *pTfs, void *buf, STfsFile *pFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:242,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:243,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFile
    - dest
    argTypes:
    - STfsFile*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: tfsBasename
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosDirEntryBaseName
    linkageType: ''
    returnType: void
    signature: void tfsBasename(const STfsFile *pFile, char *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:249,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:250,1
    - Dst: taosDirName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFile
    - dest
    argTypes:
    - STfsFile*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: tfsDirname
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosDirName
    linkageType: ''
    returnType: void
    signature: void tfsDirname(const STfsFile *pFile, char *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:254,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pTfs
    - diskId
    - rname
    - aname
    argTypes:
    - STfs*
    - SDiskID
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: tfsAbsoluteName
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - snprintf
    - TFS_DISK_AT
    linkageType: ''
    returnType: void
    signature: void tfsAbsoluteName(STfs *pTfs, SDiskID diskId, const char *rname,
      char *aname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFile
    argTypes:
    - STfsFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: tfsRemoveFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsRemoveFile(const STfsFile *pFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCopyFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFile1
    - pFile2
    argTypes:
    - STfsFile*
    - STfsFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: tfsCopyFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosCopyFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsCopyFile(const STfsFile *pFile1, const STfsFile *pFile2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:266,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:270,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:272,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:273,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:274,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:274,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pTfs
    - rname
    - diskId
    argTypes:
    - STfs*
    - char*
    - SDiskID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 278
    functionName: tfsMkdirAt
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - snprintf
    - taosMkDir
    - TAOS_RETURN
    - TFS_DISK_AT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsMkdirAt(STfs *pTfs, const char *rname, SDiskID diskId)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tfsMkdirAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:285,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:288,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:289,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:299,1
    - Dst: taosDirName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:299,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:300,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:303,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:303,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:304,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:306,1
    - Dst: tfsMkdirRecurAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:306,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:307,1
    - Dst: tfsMkdirAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:307,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:309,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:312,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:317,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:317,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:319,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:320,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - pTfs
    - rname
    - diskId
    argTypes:
    - STfs*
    - char*
    - SDiskID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 322
    functionName: tfsMkdirRecurAt
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 2
    functionsReached:
    - tfsMkdirAt
    - TAOS_CHECK_GOTO
    - taosDirName
    - taosMemoryFree
    - TAOS_RETURN
    - tstrerror
    - strlen
    - tfsMkdirRecurAt
    - fError
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsMkdirRecurAt(STfs *pTfs, const char *rname, SDiskID diskId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:326,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:329,1
    - Dst: tfsMkdirRecurAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:329,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTfs
    - rname
    argTypes:
    - STfs*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: tfsMkdirRecur
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    - tfsMkdirRecurAt
    - TFS_TIER_AT
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsMkdirRecur(STfs *pTfs, const char *rname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:338,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:341,1
    - Dst: tfsMkdirAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:341,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTfs
    - rname
    argTypes:
    - STfs*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionName: tfsMkdir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    - tfsMkdirAt
    - TFS_TIER_AT
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsMkdir(STfs *pTfs, const char *rname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:349,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:352,1
    - Dst: taosDirExist
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pTfs
    - rname
    - diskId
    argTypes:
    - STfs*
    - char*
    - SDiskID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: tfsDirExistAt
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosDirExist
    - snprintf
    - TFS_DISK_AT
    linkageType: ''
    returnType: bool
    signature: bool tfsDirExistAt(STfs *pTfs, const char *rname, SDiskID diskId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:358,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:364,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:367,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:368,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:369,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pTfs
    - rname
    argTypes:
    - STfs*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 374
    functionName: tfsRmdir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - uInfo
    - TFS_TIER_AT
    - taosRemoveDir
    - snprintf
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsRmdir(STfs *pTfs, const char *rname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:382,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:384,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:385,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:387,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:391,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:391,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:392,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pTfs
    - diskId
    - orname
    - nrname
    argTypes:
    - STfs*
    - SDiskID
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 396
    functionName: tfsRenameAt
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - TFS_TIER_AT
    - snprintf
    - TAOS_RETURN
    - taosRenameFile
    - tstrerror
    - fError
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsRenameAt(STfs *pTfs, SDiskID diskId, const char *orname,
      const char *nrname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:400,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:407,1
    - Dst: tfsRenameAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:407,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:412,1
    - Dst: tfsRenameAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pTfs
    - diskPrimary
    - orname
    - nrname
    argTypes:
    - STfs*
    - int32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: tfsRename
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    - tfsRenameAt
    - TFS_TIER_AT
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsRename(STfs *pTfs, int32_t diskPrimary, const char *orname,
      const char *nrname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:420,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:424,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pTfs
    - level
    - fname
    argTypes:
    - STfs*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 430
    functionName: tfsSearch
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - snprintf
    - taosCheckExistFile
    - TFS_TIER_AT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsSearch(STfs *pTfs, int32_t level, const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:434,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:436,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:440,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:442,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:444,1
    - Dst: tfsOpendirImpl
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:444,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:448,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pTfs
    - rname
    - ppDir
    argTypes:
    - STfs*
    - char*
    - STfsDir**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 452
    functionName: tfsOpendir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_CHECK_GOTO
    - tfsOpendirImpl
    - tstrncpy
    - TAOS_RETURN
    - taosMemoryCalloc
    - TFS_DISK_AT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsOpendir(STfs *pTfs, const char *rname, STfsDir **ppDir)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:460,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:463,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:464,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:464,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:467,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:469,1
    - Dst: tfsInitFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:472,1
    - Dst: tfsOpendirImpl
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:476,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - pTfsDir
    argTypes:
    - STfsDir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 485
    functionName: tfsReaddir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosGetDirEntryName
    - taosReadDir
    - tfsInitFile
    - tfsOpendirImpl
    - snprintf
    - strcmp
    linkageType: ''
    returnType: STfsFile
    signature: STfsFile *tfsReaddir(STfsDir *pTfsDir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:490,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:490,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pTfsDir
    argTypes:
    - STfsDir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 495
    functionName: tfsClosedir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - taosCloseDir
    linkageType: ''
    returnType: void
    signature: void tfsClosedir(STfsDir *pTfsDir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:501,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:501,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:506,1
    - Dst: tfsMountDiskToTier
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:506,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:506,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:509,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:509,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:511,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:519,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:519,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pTfs
    - pCfg
    argTypes:
    - STfs*
    - SDiskCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 522
    functionName: tfsMount
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TFS_TIER_AT
    - TAOS_CHECK_GOTO
    - fError
    - tfsCheckAndFormatCfg
    - strnlen
    - tfsMountDiskToTier
    - TAOS_RETURN
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsMount(STfs *pTfs, SDiskCfg *pCfg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:529,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:530,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:534,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:535,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:539,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:540,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:545,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:546,1
    - Dst: TFS_PRIMARY_DISK
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:549,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:550,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:551,1
    - Dst: tfsFormatDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:555,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:556,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:556,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:557,1
    - Dst: tfsGetDiskByName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:561,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:562,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:562,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:563,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:566,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:567,1
    - Dst: taosCheckAccessFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:571,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:572,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:573,1
    - Dst: taosCheckAccessFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:576,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:577,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:578,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:582,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:583,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:584,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:587,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:589,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - pTfs
    - pCfg
    argTypes:
    - STfs*
    - SDiskCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 590
    functionName: tfsCheckAndFormatCfg
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 2
    functionsReached:
    - tfsGetDiskByName
    - taosCheckAccessFile
    - tfsFormatDir
    - tstrncpy
    - TAOS_RETURN
    - taosIsDir
    - tstrerror
    - fError
    - TFS_PRIMARY_DISK
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsCheckAndFormatCfg(STfs *pTfs, SDiskCfg *pCfg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wordexp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:599,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:601,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:604,1
    - Dst: taosRealPath
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:604,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:606,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:608,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:611,1
    - Dst: wordfree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:614,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:616,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:616,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:619,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:621,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - idir
    - odir
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 624
    functionName: tfsFormatDir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - wordexp
    - wordfree
    - tstrncpy
    - taosRealPath
    - TAOS_RETURN
    - tstrerror
    - strlen
    - TAOS_CHECK_EXIT
    - fError
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsFormatDir(char *idir, char *odir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TFS_PRIMARY_DISK
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:627,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:628,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:629,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:633,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:634,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:635,1
    - Dst: tfsUpdateTierSize
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:639,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:639,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:640,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:641,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:642,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 648
    functionName: tfsCheck
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TFS_TIER_AT
    - tfsUpdateTierSize
    - TAOS_RETURN
    - fError
    - TFS_PRIMARY_DISK
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsCheck(STfs *pTfs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:651,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:651,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:653,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:657,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pTfs
    - dir
    - ppDisk
    argTypes:
    - STfs*
    - char*
    - STfsDisk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 660
    functionName: tfsGetDiskByName
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - strnlen
    - taosHashGet
    - TAOS_RETURN
    - TFS_DISK_AT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsGetDiskByName(STfs *pTfs, const char *dir, STfsDisk **ppDisk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:668,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:669,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:669,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:670,1
    - Dst: tfsNextDisk
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:676,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:677,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:683,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:685,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:687,1
    - Dst: fWarn
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:689,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:689,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:689,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pTfs
    - pTfsDir
    argTypes:
    - STfs*
    - STfsDir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 693
    functionName: tfsOpendirImpl
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 2
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - fWarn
    - snprintf
    - TAOS_RETURN
    - tstrerror
    - taosOpenDir
    - fError
    - tfsNextDisk
    - taosCloseDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsOpendirImpl(STfs *pTfs, STfsDir *pTfsDir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:703,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:704,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pTfs
    - pIter
    argTypes:
    - STfs*
    - SDiskIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 716
    functionName: tfsNextDisk
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 1
    functionsReached:
    - TFS_TIER_AT
    - TFS_DISK_AT
    linkageType: ''
    returnType: STfsDisk
    signature: STfsDisk *tfsNextDisk(STfs *pTfs, SDiskIter *pIter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:719,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:721,1
    - Dst: tfsUpdateSize
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:724,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:726,1
    - Dst: tfsLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:726,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:734,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:735,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:736,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:736,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:737,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:739,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:743,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:743,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pTfs
    - pInfo
    argTypes:
    - STfs*
    - SMonDiskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 746
    functionName: tfsGetMonitorInfo
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tfsUnLock
    - tfsUpdateSize
    - tstrncpy
    - TAOS_UNUSED
    - TAOS_RETURN
    - taosArrayInit
    - taosArrayDestroy
    - tfsLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsGetMonitorInfo(STfs *pTfs, SMonDiskInfo *pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:749,1
    - Dst: tfsLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:749,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:754,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:756,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:756,1
    - Dst: fInfo
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:757,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:758,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:762,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:762,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:763,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pTfs
    - dir
    - disable
    argTypes:
    - STfs*
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 765
    functionName: tfsUpdateDiskDisable
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: 0
    functionsReached:
    - tfsUnLock
    - fInfo
    - TAOS_UNUSED
    - TAOS_RETURN
    - fError
    - strcmp
    - tfsLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsUpdateDiskDisable(STfs *pTfs, const char *dir, int8_t disable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nextid
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: tfsDiskCursorNew
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SDiskCursor
    signature: SDiskCursor *tfsDiskCursorNew(int32_t nextid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: tfsDiskCursorFree
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tfsDiskCursorFree(void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:42,1
    - Dst: taosThreadSpinInit
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:44,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:45,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:45,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:49,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:49,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:51,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pTier
    - level
    argTypes:
    - STfsTier*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: tfsInitTier
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: 2
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosHashInit
    - memset
    - taosHashSetFreeFp
    - TAOS_RETURN
    - taosGetDefaultHashFunction
    - taosThreadSpinInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsInitTier(STfsTier *pTier, int32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:58,1
    - Dst: tfsFreeDisk
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:61,1
    - Dst: taosThreadSpinDestroy
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pTier
    argTypes:
    - STfsTier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: tfsDestroyTier
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: 2
    functionsReached:
    - taosThreadSpinDestroy
    - taosHashCleanup
    - tfsFreeDisk
    linkageType: ''
    returnType: void
    signature: void tfsDestroyTier(STfsTier *pTier)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:75,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:93,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:96,1
    - Dst: tfsNewDisk
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:96,1
    - Dst: tfsFreeDisk
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:103,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:104,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:104,1
    - Dst: fDebug
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:108,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pTier
    - pCfg
    - ppDisk
    argTypes:
    - STfsTier*
    - SDiskCfg*
    - STfsDisk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 112
    functionName: tfsMountDiskToTier
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: 2
    functionsReached:
    - TAOS_CHECK_GOTO
    - tfsNewDisk
    - TAOS_RETURN
    - tstrerror
    - fDebug
    - fError
    - tfsFreeDisk
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsMountDiskToTier(STfsTier *pTier, SDiskCfg *pCfg, STfsDisk
      **ppDisk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:118,1
    - Dst: tfsLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:118,1
    - Dst: tfsUpdateDiskSize
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:123,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:134,1
    - Dst: tfsUnLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pTier
    argTypes:
    - STfsTier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: tfsUpdateTierSize
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: 2
    functionsReached:
    - tfsUnLockTier
    - tfsUpdateDiskSize
    - TAOS_UNUSED
    - tfsLockTier
    linkageType: ''
    returnType: void
    signature: void tfsUpdateTierSize(STfsTier *pTier)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:139,1
    - Dst: tfsLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:139,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:142,1
    - Dst: tfsUnLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:142,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:143,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:148,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:148,1
    - Dst: tfsDiskCursorNew
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:153,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:155,1
    - Dst: tfsUnLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:155,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:156,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:159,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:159,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:161,1
    - Dst: tfsUnLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:161,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:162,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:176,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:182,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:193,1
    - Dst: tfsUnLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:193,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:195,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - pTier
    - label
    argTypes:
    - STfsTier*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 198
    functionName: tfsAllocDiskOnTier
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: 2
    functionsReached:
    - uInfo
    - tfsDiskCursorNew
    - tfsUnLockTier
    - tfsLockTier
    - uTrace
    - taosHashGet
    - TAOS_RETURN
    - TAOS_UNUSED
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsAllocDiskOnTier(STfsTier *pTier, const char *label)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pTier
    argTypes:
    - STfsTier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: tfsPosNextId
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tfsPosNextId(STfsTier *pTier)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:24,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:25,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:28,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:29,1
    - Dst: taosGetDiskSize
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:35,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:37,1
    - Dst: tfsFreeDisk
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:41,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:42,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:42,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - level
    - id
    - disable
    - path
    - ppDisk
    argTypes:
    - int32_t
    - int32_t
    - int8_t
    - char*
    - STfsDisk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 47
    functionName: tfsNewDisk
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsDisk.c
    functionUses: 2
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosStrdup
    - taosGetDiskSize
    - tstrerror
    - TAOS_RETURN
    - fError
    - taosMemoryCalloc
    - tfsFreeDisk
    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:51,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pDisk
    argTypes:
    - STfsDisk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: tfsFreeDisk
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsDisk.c
    functionUses: 3
    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:59,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:61,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:62,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pDisk
    argTypes:
    - STfsDisk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: tfsUpdateDiskSize
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsDisk.c
    functionUses: 2
    functionsReached:
    - fError
    - TAOS_RETURN
    - taosGetDiskSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t tfsUpdateDiskSize(STfsDisk *pDisk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getForwardStepsInBlock
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:53,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - getForwardStepsInBlock
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, windowFunctionTest)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SDummyInputInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:69,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:76,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:77,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:79,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:80,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:81,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:83,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:84,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:97,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:106,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:106,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:113,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:116,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:116,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 131
    functionName: getDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SDummyInputInfo*>
    - blockDataCleanup
    - blockDataEnsureCapacity
    - createColumnInfoData
    - ASSERT
    - taosRand
    - colDataSetVal
    - createDataBlock
    - static_cast<SColumnInfoData*>
    - TARRAY_GET_ELEM
    - reinterpret_cast<const char*>
    - blockDataAppendColInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDummyBlock(SOperatorInfo* pOperator, SSDataBlock** pResBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SDummyInputInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:134,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:143,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:144,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:146,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:147,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:148,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:150,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:151,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:152,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:154,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:155,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:157,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:167,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:167,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:170,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:170,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:171,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:173,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:173,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:179,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:182,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:182,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:183,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 200
    functionName: get2ColsDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SDummyInputInfo*>
    - blockDataCleanup
    - blockDataEnsureCapacity
    - createColumnInfoData
    - ASSERT
    - blockDataUpdateTsWindow
    - colDataSetVal
    - taosRand
    - createDataBlock
    - static_cast<SColumnInfoData*>
    - TARRAY_GET_ELEM
    - reinterpret_cast<const char*>
    - blockDataAppendColInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t get2ColsDummyBlock(SOperatorInfo* pOperator, SSDataBlock**
      pResBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SOperatorInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:204,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:204,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:205,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:214,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - startVal
    - numOfBlocks
    - rowsPerPage
    - type
    - numOfCols
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: createDummyOperator
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SOperatorInfo*>
    - taosMemoryCalloc
    - ASSERT
    linkageType: ''
    returnType: SOperatorInfo
    signature: "SOperatorInfo * createDummyOperator(int32_t startVal, int32_t numOfBlocks,
      int32_t rowsPerPage, int32_t type,\n                                   int32_t
      numOfCols)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getForwardStepsInBlock
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:53,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - getForwardStepsInBlock
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, windowFunctionTest)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SDummyInputInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:69,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:76,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:77,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:79,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:80,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:81,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:83,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:84,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:97,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:106,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:106,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:113,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:116,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:116,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 131
    functionName: getDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SDummyInputInfo*>
    - blockDataCleanup
    - blockDataEnsureCapacity
    - createColumnInfoData
    - ASSERT
    - taosRand
    - colDataSetVal
    - createDataBlock
    - static_cast<SColumnInfoData*>
    - TARRAY_GET_ELEM
    - reinterpret_cast<const char*>
    - blockDataAppendColInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDummyBlock(SOperatorInfo* pOperator, SSDataBlock** pResBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SDummyInputInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:134,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:143,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:144,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:146,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:147,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:148,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:150,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:151,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:152,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:154,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:155,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:157,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:167,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:167,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:170,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:170,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:171,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:173,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:173,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:179,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:182,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:182,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:183,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 200
    functionName: get2ColsDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SDummyInputInfo*>
    - blockDataCleanup
    - blockDataEnsureCapacity
    - createColumnInfoData
    - ASSERT
    - blockDataUpdateTsWindow
    - colDataSetVal
    - taosRand
    - createDataBlock
    - static_cast<SColumnInfoData*>
    - TARRAY_GET_ELEM
    - reinterpret_cast<const char*>
    - blockDataAppendColInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t get2ColsDummyBlock(SOperatorInfo* pOperator, SSDataBlock**
      pResBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SOperatorInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:204,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:204,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:205,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:214,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - startVal
    - numOfBlocks
    - rowsPerPage
    - type
    - numOfCols
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: createDummyOperator
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SOperatorInfo*>
    - taosMemoryCalloc
    - ASSERT
    linkageType: ''
    returnType: SOperatorInfo
    signature: "SOperatorInfo * createDummyOperator(int32_t startVal, int32_t numOfBlocks,
      int32_t rowsPerPage, int32_t type,\n                                   int32_t
      numOfCols)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:227,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:950,1
    - Dst: reinterpret_cast<void*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:950,1
    - Dst: qStringToSubplan
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:953,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:954,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:956,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 959
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - ASSERT_EQ
    - qStringToSubplan
    - qCreateExecTask
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, build_executor_tree_Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:963,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:967,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:969,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:970,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:970,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:971,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:972,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:974,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:974,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:975,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:976,1
    - Dst: createSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:978,1
    - Dst: createDummyOperator
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:978,1
    - Dst: SOperatorInfo*::getNextFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:981,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:983,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:983,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:984,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:984,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:986,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:987,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 989
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - colDataGetData
    - createDummyOperator
    - printf
    - createSortOperatorInfo
    - SOperatorInfo*::getNextFn
    - taosArrayInit
    - varDataVal
    - static_cast<SColumnInfoData*>
    - createSchema
    - taosMemoryCalloc
    - static_cast<SExprInfo*>
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, inMem_sort_Test)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1009
    functionName: cmp
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 193
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t cmp(const void* p1, const void* p2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<su*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1014,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1014,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1016,1
    - Dst: static_cast<char*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1017,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1017,1
    - Dst: qsort
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1021,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1029,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1029,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1031,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1036,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1038,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1039,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1039,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1040,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1041,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1043,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1043,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1044,1
    - Dst: createSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1047,1
    - Dst: createDummyOperator
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1047,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1054,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1058,1
    - Dst: SOperatorInfo*::getNextFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1059,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1061,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1063,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1070,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1070,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1074,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1079,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1080,1
    - Dst: SOperatorInfo*::closeFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1082,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1083,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1084,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1085,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1086,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1087
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - static_cast<char*>
    - taosGetTimestampUs
    - static_cast<SColumnInfoData*>
    - taosArrayDestroy
    - createSchema
    - taosArrayGet
    - SOperatorInfo*::closeFn
    - taosRand
    - taosGetTimestampSec
    - createSortOperatorInfo
    - taosMemoryCalloc
    - taosSeedRand
    - createDummyOperator
    - printf
    - static_cast<su*>
    - static_cast<SExprInfo*>
    - taosMemoryMalloc
    - qsort
    - SOperatorInfo*::getNextFn
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, external_sort_Test)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1090,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1090,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1092,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1097,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1099,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1100,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1100,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1101,1
    - Dst: static_cast<SColumn*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1102,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1102,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1107,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1109,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1109,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1110,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1114,1
    - Dst: createDummyOperator
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1116,1
    - Dst: createSortedMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1119,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1126,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1130,1
    - Dst: SOperatorInfo*::getNextFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1131,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1133,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1135,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1142,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1142,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1146,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1151,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1152,1
    - Dst: SOperatorInfo*::closeFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1154,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1155,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1156,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1157,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1089
    functionDepth: 2
    functionLinenumber: 1089
    functionLinenumberEnd: 1159
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayGet
    - taosSeedRand
    - createSortedMergeOperatorInfo
    - createDummyOperator
    - taosGetTimestampUs
    - SOperatorInfo*::closeFn
    - printf
    - taosGetTimestampSec
    - SOperatorInfo*::getNextFn
    - taosArrayInit
    - static_cast<SColumnInfoData*>
    - taosArrayDestroy
    - createSchema
    - taosMemoryCalloc
    - static_cast<SExprInfo*>
    - static_cast<SColumn*>
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, sorted_merge_Test)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1162,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1162,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1164,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1169,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1171,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1172,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1172,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1173,1
    - Dst: static_cast<SColumn*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1174,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1174,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1179,1
    - Dst: static_cast<SExprInfo*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1181,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1181,1
    - Dst: createSchema
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1182,1
    - Dst: static_cast<SColumn*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1183,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1183,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1188,1
    - Dst: createDummyOperator
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1190,1
    - Dst: createIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1197,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1204,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1208,1
    - Dst: SOperatorInfo*::getNextFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1209,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1211,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1213,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1220,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1220,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1224,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1229,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1230,1
    - Dst: SOperatorInfo*::closeFn
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1232,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1233,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1234,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1235,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1237
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayGet
    - taosSeedRand
    - createDummyOperator
    - taosGetTimestampUs
    - SOperatorInfo*::closeFn
    - printf
    - createIntervalOperatorInfo
    - taosGetTimestampSec
    - SOperatorInfo*::getNextFn
    - taosArrayInit
    - static_cast<SColumnInfoData*>
    - taosArrayDestroy
    - createSchema
    - taosMemoryCalloc
    - static_cast<SExprInfo*>
    - static_cast<SColumn*>
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, time_interval_Operator_Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1242,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1245,1
    - Dst: streamCalcOutputTbName
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1245,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/libs/executor/test/executorTests.cpp:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1240
    functionDepth: 6
    functionLinenumber: 1240
    functionLinenumberEnd: 1247
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/executorTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_STREQ
    - ASSERT_EQ
    - streamCalcOutputTbName
    - nodesMakeValueNodeFromInt64
    linkageType: ''
    returnType: void
    signature: void TEST(streamExecutor, calcOutputTbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - interval
    - sliding
    - offset
    - intervalUnit
    - slidingUnit
    - offsetUnit
    - precision
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - char
    - char
    - char
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: createInterval
    functionSourceFile: /src/tdengine/source/libs/executor/test/timewindowTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SInterval
    signature: "SInterval createInterval(int64_t interval, int64_t sliding, int64_t
      offset, char intervalUnit, char slidingUnit,\n                         char
      offsetUnit, int8_t precision)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:50,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:50,1
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:52,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:52,1
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:53,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:53,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pWindow
    - precision
    - ts
    argTypes:
    - STimeWindow*
    - int8_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: printTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/test/timewindowTest.cpp
    functionUses: 0
    functionsReached:
    - tListLen
    - printf
    - taosFormatUtcTime
    linkageType: ''
    returnType: void
    signature: void printTimeWindow(STimeWindow* pWindow, int8_t precision, int64_t
      ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - interval
    - sliding
    - offset
    - intervalUnit
    - slidingUnit
    - offsetUnit
    - precision
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - char
    - char
    - char
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: createInterval
    functionSourceFile: /src/tdengine/source/libs/executor/test/timewindowTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SInterval
    signature: "SInterval createInterval(int64_t interval, int64_t sliding, int64_t
      offset, char intervalUnit, char slidingUnit,\n                         char
      offsetUnit, int8_t precision)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:50,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:50,1
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:52,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:52,1
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:53,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:53,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pWindow
    - precision
    - ts
    argTypes:
    - STimeWindow*
    - int8_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: printTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/test/timewindowTest.cpp
    functionUses: 0
    functionsReached:
    - tListLen
    - printf
    - taosFormatUtcTime
    linkageType: ''
    returnType: void
    signature: void printTimeWindow(STimeWindow* pWindow, int8_t precision, int64_t
      ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: osSetTimezone
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:61,1
    - Dst: createInterval
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:65,1
    - Dst: getInitialStartTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:70,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:71,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:73,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:74,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:75,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:77,1
    - Dst: createInterval
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:79,1
    - Dst: getInitialStartTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:80,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:81,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:83,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:84,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:85,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:87,1
    - Dst: createInterval
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:88,1
    - Dst: getInitialStartTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:89,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:90,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:92,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:93,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:94,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:96,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:97,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:99,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:100,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:102,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:103,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:105,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:106,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:108,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:109,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:111,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:112,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:114,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:115,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:117,1
    - Dst: createInterval
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:118,1
    - Dst: getInitialStartTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:120,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:121,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:123,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:125,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:126,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:128,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:129,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:131,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:132,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:134,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:135,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:137,1
    - Dst: createInterval
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:138,1
    - Dst: getInitialStartTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:141,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:142,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:144,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:145,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:146,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:148,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:149,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:151,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:152,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:154,1
    - Dst: createInterval
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:155,1
    - Dst: getInitialStartTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:156,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 160
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/timewindowTest.cpp
    functionUses: 0
    functionsReached:
    - createInterval
    - osSetTimezone
    - printf
    - printTimeWindow
    - getInitialStartTimeWindow
    - getNextTimeWindow
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, timewindow_gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: osSetTimezone
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:163,1
    - Dst: createInterval
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:167,1
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:169,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:170,1
    - Dst: ASSERT_GE
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:171,1
    - Dst: getInitialStartTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:175,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:176,1
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:177,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:178,1
    - Dst: getInitialStartTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:182,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:183,1
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:184,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:185,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:187,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 189
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/timewindowTest.cpp
    functionUses: 0
    functionsReached:
    - getAlignQueryTimeWindow
    - createInterval
    - osSetTimezone
    - ASSERT_GE
    - printf
    - ASSERT_EQ
    - printTimeWindow
    - getInitialStartTimeWindow
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, timewindow_natural)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: osSetTimezone
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:193,1
    - Dst: createInterval
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:196,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:200,1
    - Dst: printTimeWindow
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:201,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:202,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:203,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/timewindowTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/timewindowTest.cpp
    functionUses: 0
    functionsReached:
    - getActiveTimeWindow
    - createInterval
    - osSetTimezone
    - printf
    - ASSERT_EQ
    - printTimeWindow
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, timewindow_active)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:228,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:238,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:244,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:247,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:250,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:254,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - value
    - type
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 255
    functionName: printResRow
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void printResRow(char* value, int32_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:261,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:266,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 269
    functionName: pushResRow
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - tSimpleHashPut
    - TD_ALWAYS_ASSERT
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: void pushResRow(char* buf, int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:272,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:276,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: rmResRow
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - tSimpleHashRemove
    - TD_ALWAYS_ASSERT
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: void rmResRow()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:292,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:293,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:295,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:297,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:298,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:298,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:301,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:301,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:304,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:310,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:318,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:319,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:319,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:320,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - ppDst
    - ppSrc
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 283
    functionDepth: 5
    functionLinenumber: 283
    functionLinenumberEnd: 326
    functionName: jtMergeEqCond
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TSWAP
    - nodesListStrictAppend
    - nodesMakeList
    - nodeType
    - nodesMakeNode
    - nodesDestroyNode
    - TD_ALWAYS_ASSERT
    - nodesListStrictAppendList
    linkageType: ''
    returnType: int32_t
    signature: int32_t jtMergeEqCond(SNode** ppDst, SNode** ppSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:331,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - ppRes
    argTypes:
    - int32_t
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: createDummyDownstreamOperators
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void createDummyDownstreamOperators(int32_t num, SOperatorInfo** ppRes)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:340,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:358,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:377,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:394,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:396,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:397,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:406,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:406,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:421,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:423,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:424,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:433,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:433,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:438,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:439,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 338
    functionDepth: 6
    functionLinenumber: 338
    functionLinenumberEnd: 440
    functionName: createTargetSlotList
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - taosRand
    - nodesMakeNode
    - TD_ALWAYS_ASSERT
    - taosMemoryRealloc
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void createTargetSlotList(SSortMergeJoinPhysiNode* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:445,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:449,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:451,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:465,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:466,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:472,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:472,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:475,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:481,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 442
    functionDepth: 6
    functionLinenumber: 442
    functionLinenumberEnd: 484
    functionName: createColEqCondStart
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - taosRand
    - nodesMakeNode
    - TD_ALWAYS_ASSERT
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void createColEqCondStart(SSortMergeJoinPhysiNode* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:489,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:493,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 502
    functionName: createColOnCondStart
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_MEMSET
    - taosRand
    linkageType: ''
    returnType: void
    signature: void createColOnCondStart(SSortMergeJoinPhysiNode* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - srcIdx
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: getDstSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDstSlotId(int32_t srcIdx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:522,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:523,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:532,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:533,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:535,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:540,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:541,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:543,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:548,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:549,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:557,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:557,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 515
    functionDepth: 6
    functionLinenumber: 515
    functionLinenumberEnd: 568
    functionName: createColEqCondEnd
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesListMakeStrictAppend
    - TD_ALWAYS_ASSERT
    - getDstSlotId
    linkageType: ''
    returnType: void
    signature: void createColEqCondEnd(SSortMergeJoinPhysiNode* p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:577,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:578,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:587,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:588,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:590,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:595,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:596,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:598,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:603,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:604,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:612,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:612,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:625,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:626,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:627,1
    - Dst: jtMergeEqCond
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 570
    functionDepth: 6
    functionLinenumber: 570
    functionLinenumberEnd: 628
    functionName: createColOnCondEnd
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - getDstSlotId
    - jtMergeEqCond
    - nodesMakeNode
    - nodesCloneNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void createColOnCondEnd(SSortMergeJoinPhysiNode* p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:638,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:639,1
    - Dst: createColEqCondStart
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:642,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:644,1
    - Dst: createColOnCondStart
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:647,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:649,1
    - Dst: createColEqCondStart
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:652,1
    - Dst: createColOnCondStart
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - p
    - cond
    argTypes:
    - SSortMergeJoinPhysiNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 632
    functionDepth: 7
    functionLinenumber: 632
    functionLinenumberEnd: 658
    functionName: createColCond
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - createColEqCondStart
    - createColOnCondStart
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void createColCond(SSortMergeJoinPhysiNode* p, int32_t cond)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 671
    functionName: getFilterValue
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * getFilterValue(int32_t type)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:678,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:679,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:685,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:688,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:693,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:696,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:700,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:703,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:706,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:711,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:712,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:714,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:723,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 2
    argNames:
    - p
    - filter
    argTypes:
    - SSortMergeJoinPhysiNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 730
    functionName: createFilterStart
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_MEMSET
    - taosRand
    linkageType: ''
    returnType: void
    signature: void createFilterStart(SSortMergeJoinPhysiNode* p, bool filter)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:739,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:740,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:749,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:750,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:752,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:755,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:758,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:759,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:762,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:762,1
    - Dst: getFilterValue
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:762,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:765,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:766,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:774,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:774,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:785,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:786,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:788,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:791,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:794,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:795,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:798,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:798,1
    - Dst: getFilterValue
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:798,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:801,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:802,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:810,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:810,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 69
    argCount: 2
    argNames:
    - p
    - filter
    argTypes:
    - SSortMergeJoinPhysiNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 732
    functionDepth: 6
    functionLinenumber: 732
    functionLinenumberEnd: 821
    functionName: createFilterEnd
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - getDstSlotId
    - nodesSetValueNodeValue
    - sprintf
    - nodesMakeNode
    - getFilterValue
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void createFilterEnd(SSortMergeJoinPhysiNode* p, bool filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 831
    functionName: updateColRowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateColRowInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:835,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:836,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:842,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:843,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:849,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SDataBlockDescNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 833
    functionDepth: 6
    functionLinenumber: 833
    functionLinenumberEnd: 853
    functionName: createBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesListMakeStrictAppend
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void createBlockDescNode(SDataBlockDescNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:857,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:858,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:863,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:865,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:866,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:867,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:868,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:880,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:881,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:883,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:884,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:886,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:887,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:890,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:890,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:890,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:893,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:893,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:893,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:895,1
    - Dst: createColCond
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:915,1
    - Dst: createFilterStart
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:916,1
    - Dst: createTargetSlotList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:917,1
    - Dst: createColEqCondEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:918,1
    - Dst: createColOnCondEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:919,1
    - Dst: createFilterEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:920,1
    - Dst: updateColRowInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:921,1
    - Dst: createBlockDescNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:922,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 59
    argCount: 1
    argNames:
    - param
    argTypes:
    - SJoinTestParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 855
    functionDepth: 8
    functionLinenumber: 855
    functionLinenumberEnd: 925
    functionName: createDummySortMergeJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - createFilterEnd
    - TSWAP
    - createFilterStart
    - createColOnCondEnd
    - taosRand
    - nodesMakeNode
    - createColCond
    - updateColRowInfo
    - createColEqCondEnd
    - TD_ALWAYS_ASSERT
    - createTargetSlotList
    - createBlockDescNode
    linkageType: ''
    returnType: SSortMergeJoinPhysiNode
    signature: SSortMergeJoinPhysiNode * createDummySortMergeJoinPhysiNode(SJoinTestParam*
      param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:928,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - taskId
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 933
    functionName: createDummyTaskInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryCalloc
    linkageType: ''
    returnType: SExecTaskInfo
    signature: SExecTaskInfo * createDummyTaskInfo(char* taskId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:937,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:938,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:947,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:949,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - blkId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 953
    functionName: createDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - createDataBlock
    - createColumnInfoData
    - TD_ALWAYS_ASSERT
    - blockDataAppendColInfo
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * createDummyBlock(int32_t blkId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:956,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:965,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:969,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:969,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:971,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:976,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:981,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:984,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:989,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - leftInRow
    - rightOffset
    - rightRows
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 991
    functionName: appendAsofLeftEachResGrps
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - pushResRow
    - TMIN
    - TAOS_MEMCPY
    - taosArrayGetSize
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void appendAsofLeftEachResGrps(char* leftInRow, int32_t rightOffset,
      int32_t rightRows)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:995,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1004,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1015,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - leftInRow
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 1016
    functionName: appendLeftNonMatchGrp
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - pushResRow
    - TAOS_MEMCPY
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void appendLeftNonMatchGrp(char* leftInRow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1019,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1020,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1024,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1025,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1026,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1030,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1032,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1033,1
    - Dst: appendAsofLeftEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1034,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1037,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1018
    functionDepth: 3
    functionLinenumber: 1018
    functionLinenumberEnd: 1038
    functionName: appendAllAsofResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - appendLeftNonMatchGrp
    - appendAsofLeftEachResGrps
    - taosArrayGetSize
    - taosArrayClear
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void appendAllAsofResRows()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1041,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1048,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1051,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1052,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1056,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1057,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1063,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1064,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1065,1
    - Dst: appendAsofLeftEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1072,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1083,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1088,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1089,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1090,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 1
    argNames:
    - forceOut
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1091
    functionName: chkAppendAsofForwardGrpResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayPopFrontBatch
    - appendLeftNonMatchGrp
    - appendAsofLeftEachResGrps
    - taosArrayGetSize
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void chkAppendAsofForwardGrpResRows(bool forceOut)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1097,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1102,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1111,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1118,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1123,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1124,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1129,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1132,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - leftInRow
    - rightOffset
    - rightRows
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1139
    functionName: appendWinEachResGrps
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - pushResRow
    - TAOS_MEMCPY
    - appendLeftNonMatchGrp
    - TD_ALWAYS_ASSERT
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void appendWinEachResGrps(char* leftInRow, int32_t rightOffset, int32_t
      rightRows)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1142,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1149,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1152,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1153,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1161,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1162,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1168,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1169,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1170,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1177,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1187,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1199,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1201,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1206,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1207,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1208,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 1
    argNames:
    - forceOut
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1141
    functionDepth: 4
    functionLinenumber: 1141
    functionLinenumberEnd: 1209
    functionName: chkAppendWinResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayPopFrontBatch
    - appendWinEachResGrps
    - appendLeftNonMatchGrp
    - taosArrayGetSize
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void chkAppendWinResRows(bool forceOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1213,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1218,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1220
    functionName: trimForAsofJlimit
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    - taosArrayPopFrontBatch
    linkageType: ''
    returnType: void
    signature: void trimForAsofJlimit()
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1228,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1229,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1230,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1230,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1231,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1231,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1275,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1277,1
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1282,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1283,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1284,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1284,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1285,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1285,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1293,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1295,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1312,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1313,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1313,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1313,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1327,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1338,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1339,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1340,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1340,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1347,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1356,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1362,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1362,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1365,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1365,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1376,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1386,1
    - Dst: trimForAsofJlimit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1388,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1391,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1394,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 142
    argCount: 3
    argNames:
    - ppBlk
    - blkId
    - grpRows
    argTypes:
    - SSDataBlock**
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1222
    functionDepth: 5
    functionLinenumber: 1222
    functionLinenumberEnd: 1398
    functionName: createGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - createDummyBlock
    - blockDataEnsureCapacity
    - TMAX
    - pushResRow
    - chkAppendAsofForwardGrpResRows
    - chkAppendWinResRows
    - taosRand
    - colDataSetVal
    - TAOS_MEMCPY
    - appendAllAsofResRows
    - TD_ALWAYS_ASSERT
    - trimForAsofJlimit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void createGrpRows(SSDataBlock** ppBlk, int32_t blkId, int32_t grpRows)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1405,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1406,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1408,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1412,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1412,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1416,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1416,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1416,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1418,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1418,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1421,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1421,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1425,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1427,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1427,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - pBlk
    - tbOffset
    - rowIdx
    - vRange
    argTypes:
    - SSDataBlock*
    - int64_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1435
    functionName: createRowData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosArrayGet
    - colDataSetVal
    - taosRand
    linkageType: ''
    returnType: void
    signature: void createRowData(SSDataBlock* pBlk, int64_t tbOffset, int32_t rowIdx,
      int32_t vRange)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1442,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1443,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1446,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1449,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1452,1
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1455,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1456,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1457,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1457,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1458,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1458,1
    - Dst: createRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1464,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1467,1
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1470,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1471,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1472,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1472,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1473,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1473,1
    - Dst: createRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1479,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - ppLeft
    - ppRight
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - SSDataBlock**
    - SSDataBlock**
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1437
    functionDepth: 2
    functionLinenumber: 1437
    functionLinenumberEnd: 1482
    functionName: makeAppendBlkData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - createDummyBlock
    - TMAX
    - blockDataEnsureCapacity
    - createRowData
    - TD_ALWAYS_ASSERT
    - taosMemoryRealloc
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void makeAppendBlkData(SSDataBlock** ppLeft, SSDataBlock** ppRight,
      int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1486,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1493,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1505,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - lrow
    - tableOffset
    - peerOffset
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1484
    functionDepth: 2
    functionLinenumber: 1484
    functionLinenumberEnd: 1506
    functionName: putNMatchRowToRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - pushResRow
    - TAOS_MEMCPY
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void putNMatchRowToRes(char* lrow, int32_t tableOffset, int32_t peerOffset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1510,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1518,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1530,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - lrow
    - rrow
    - cols
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1508
    functionDepth: 2
    functionLinenumber: 1508
    functionLinenumberEnd: 1538
    functionName: putMatchRowToRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - pushResRow
    - TAOS_MEMCPY
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void putMatchRowToRes(char* lrow, char* rrow, int32_t cols)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1645,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 84
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1650
    functionName: innerJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - putMatchRowToRes
    linkageType: ''
    returnType: void
    signature: void innerJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1705,1
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1767,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1772,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 96
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1654
    functionDepth: 3
    functionLinenumber: 1654
    functionLinenumberEnd: 1777
    functionName: leftJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - putMatchRowToRes
    - putNMatchRowToRes
    linkageType: ''
    returnType: void
    signature: void leftJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1890,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 88
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1781
    functionDepth: 3
    functionLinenumber: 1781
    functionLinenumberEnd: 1895
    functionName: semiJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - putMatchRowToRes
    linkageType: ''
    returnType: void
    signature: void semiJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1906,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1952,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2006,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 86
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1900
    functionDepth: 3
    functionLinenumber: 1900
    functionLinenumberEnd: 2011
    functionName: antiJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - putNMatchRowToRes
    linkageType: ''
    returnType: void
    signature: void antiJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2022,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2059,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2059,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2061,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2061,1
    - Dst: trimForAsofJlimit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2066,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 3
    argNames:
    - rowsNum
    - tbOffset
    - leftTable
    argTypes:
    - int32_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2013
    functionDepth: 2
    functionLinenumber: 2013
    functionLinenumberEnd: 2068
    functionName: addAsofEqInRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TMIN
    - TD_ALWAYS_ASSERT
    - trimForAsofJlimit
    linkageType: ''
    returnType: void
    signature: void addAsofEqInRows(int32_t rowsNum, int64_t tbOffset, bool leftTable)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2076,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2077,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2078,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2081,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2082,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2083,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2087,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2088,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2089,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2092,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2093,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2094,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2095,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2096,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2097,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2098,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2099,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2100,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2111,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2112,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2113,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2116,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2117,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2118,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2122,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2123,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2124,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2127,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2128,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2129,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2130,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2131,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2132,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2133,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2134,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2135,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2070
    functionDepth: 4
    functionLinenumber: 2070
    functionLinenumberEnd: 2140
    functionName: asofJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - addAsofEqInRows
    - appendAllAsofResRows
    - chkAppendAsofForwardGrpResRows
    linkageType: ''
    returnType: void
    signature: void asofJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2185,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2185,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2187,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2187,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - rowsNum
    - tbOffset
    - leftTable
    argTypes:
    - int32_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2190
    functionName: addWinEqInRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void addWinEqInRows(int32_t rowsNum, int64_t tbOffset, bool leftTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addWinEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2196,1
    - Dst: addWinEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2197,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2193
    functionDepth: 5
    functionLinenumber: 2193
    functionLinenumberEnd: 2199
    functionName: winJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - chkAppendWinResRows
    - addWinEqInRows
    linkageType: ''
    returnType: void
    signature: void winJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2209,1
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2298,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2304,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2312,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 89
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2203
    functionDepth: 3
    functionLinenumber: 2203
    functionLinenumberEnd: 2316
    functionName: fullJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - putMatchRowToRes
    - putNMatchRowToRes
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void fullJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: innerJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2322,1
    - Dst: leftJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2327,1
    - Dst: semiJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2330,1
    - Dst: antiJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2333,1
    - Dst: asofJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2336,1
    - Dst: winJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2339,1
    - Dst: fullJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2347,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2319
    functionDepth: 6
    functionLinenumber: 2319
    functionLinenumberEnd: 2352
    functionName: appendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - fullJoinAppendEqGrpRes
    - innerJoinAppendEqGrpRes
    - winJoinAppendEqGrpRes
    - semiJoinAppendEqGrpRes
    - antiJoinAppendEqGrpRes
    - asofJoinAppendEqGrpRes
    - leftJoinAppendEqGrpRes
    linkageType: ''
    returnType: void
    signature: void appendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2366,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2367,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2368,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2368,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2369,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2369,1
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2377,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2378,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2379,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2379,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2380,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2380,1
    - Dst: makeAppendBlkData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2388,1
    - Dst: appendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2390,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - ppLeft
    - ppRight
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - SSDataBlock**
    - SSDataBlock**
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2354
    functionDepth: 7
    functionLinenumber: 2354
    functionLinenumberEnd: 2391
    functionName: createTsEqGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - createDummyBlock
    - blockDataEnsureCapacity
    - TD_ALWAYS_ASSERT
    - makeAppendBlkData
    - appendEqGrpRes
    linkageType: ''
    returnType: void
    signature: void createTsEqGrpRows(SSDataBlock** ppLeft, SSDataBlock** ppRight,
      int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2394,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2395,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2397,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2398,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2399,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2402,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2403,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2393
    functionDepth: 5
    functionLinenumber: 2393
    functionLinenumberEnd: 2406
    functionName: forceFlushResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - chkAppendWinResRows
    - chkAppendAsofForwardGrpResRows
    - taosArrayGetSize
    - taosArrayClear
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void forceFlushResRows()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2412,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2413,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2415,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2416,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2428,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2431,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2432,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2450,1
    - Dst: forceFlushResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2451,1
    - Dst: createGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2459,1
    - Dst: createGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2463,1
    - Dst: createTsEqGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2467,1
    - Dst: forceFlushResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2474,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2408
    functionDepth: 8
    functionLinenumber: 2408
    functionLinenumberEnd: 2475
    functionName: createBothBlkRowsData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - forceFlushResRows
    - TMAX
    - TMIN
    - createGrpRows
    - createTsEqGrpRows
    - taosRand
    linkageType: ''
    returnType: void
    signature: void createBothBlkRowsData(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2484,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2487,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2488,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2491,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2492,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2493,1
    - Dst: createBothBlkRowsData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - leftMaxRows
    - leftMaxGrpRows
    - rightMaxRows
    - rightMaxGrpRows
    - blkRows
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2477
    functionDepth: 9
    functionLinenumber: 2477
    functionLinenumberEnd: 2496
    functionName: createDummyBlkList
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - createBothBlkRowsData
    - TMAX
    - taosArrayClear
    - TD_ALWAYS_ASSERT
    - taosMemoryRealloc
    linkageType: ''
    returnType: void
    signature: void createDummyBlkList(int32_t leftMaxRows, int32_t leftMaxGrpRows,
      int32_t rightMaxRows, int32_t rightMaxGrpRows, int32_t blkRows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2498
    functionDepth: 1
    functionLinenumber: 2498
    functionLinenumberEnd: 2502
    functionName: rerunBlockedHere
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosSsleep
    linkageType: ''
    returnType: void
    signature: void rerunBlockedHere()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2508,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2511,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2514,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2522
    functionName: getDummyInputBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getDummyInputBlock(struct SOperatorInfo* pOperator, int32_t
      idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2527,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2530,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2532,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2534,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2540,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2525
    functionDepth: 1
    functionLinenumber: 2525
    functionLinenumberEnd: 2546
    functionName: joinTestReplaceRetrieveFp
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void joinTestReplaceRetrieveFp()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2551,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2555,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2559,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2561,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - title
    - left
    - colList
    - filter
    - opStr
    argTypes:
    - char*
    - bool
    - int32_t*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2566
    functionName: printColList
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void printColList(char* title, bool left, int32_t* colList, bool filter,
      char* opStr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2570,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2573,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2574,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2575,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2576,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2577,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2582,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2582,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2585,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2585,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2588,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pBlk
    - rowIdx
    argTypes:
    - SSDataBlock*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2568
    functionDepth: 1
    functionLinenumber: 2568
    functionLinenumberEnd: 2594
    functionName: printInputRowData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - JT_PRINTF
    - taosArrayGet
    - colDataGetData
    - colDataIsNull_s
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void printInputRowData(SSDataBlock* pBlk, int32_t* rowIdx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2599,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2601,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2603,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2604,1
    - Dst: printInputRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2606,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2610,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2616,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2619,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2621,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2622,1
    - Dst: printInputRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2624,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2628,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2635,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2596
    functionDepth: 2
    functionLinenumber: 2596
    functionLinenumberEnd: 2639
    functionName: printInputData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - JT_PRINTF
    - printInputRowData
    - taosArrayGetSize
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void printInputData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2643,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2646,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - inputStat
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2641
    functionDepth: 1
    functionLinenumber: 2641
    functionLinenumberEnd: 2652
    functionName: getInputStatStr
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TAOS_STRCAT
    linkageType: ''
    returnType: char
    signature: char * getInputStatStr(char* inputStat)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2654
    functionDepth: 0
    functionLinenumber: 2654
    functionLinenumberEnd: 2669
    functionName: getAsofOpStr
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getAsofOpStr()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2677,1
    - Dst: getInputStatStr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2681,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2684,1
    - Dst: getAsofOpStr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2684,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2686,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2689,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2691,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2691,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2698,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2699,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2703,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2704,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2708,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2709,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2713,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2714,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2717,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2721,1
    - Dst: printInputData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2725,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2671
    functionDepth: 3
    functionLinenumber: 2671
    functionLinenumberEnd: 2727
    functionName: printBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - JT_PRINTF
    - printInputData
    - getInputStatStr
    - getAsofOpStr
    - taosArrayGetSize
    - printColList
    linkageType: ''
    returnType: void
    signature: void printBasicInfo(char* caseName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2734,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2736
    functionName: printOutputInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void printOutputInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2743,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2738
    functionDepth: 0
    functionLinenumber: 2738
    functionLinenumberEnd: 2752
    functionName: printActualResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - JT_PRINTF
    - taosGetTimestampUs
    linkageType: ''
    returnType: void
    signature: void printActualResInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2758
    functionName: printStatInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void printStatInfo(char* caseName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2765,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2766,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2770,1
    - Dst: printActualResInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2775,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2760
    functionDepth: 1
    functionLinenumber: 2760
    functionLinenumberEnd: 2778
    functionName: checkJoinDone
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - JT_PRINTF
    - printActualResInfo
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - printResRow
    linkageType: ''
    returnType: void
    signature: void checkJoinDone(char* caseName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2788,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2789,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2793,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2796,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2800,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2803,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - pBlock
    - r
    - ignoreTbCols
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2780
    functionDepth: 1
    functionLinenumber: 2780
    functionLinenumberEnd: 2810
    functionName: putRowToResColBuf
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - colDataIsNull_s
    - TD_ALWAYS_ASSERT
    - taosArrayGet
    - colDataGetData
    linkageType: ''
    returnType: void
    signature: void putRowToResColBuf(SSDataBlock* pBlock, int32_t r, bool ignoreTbCols)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2828,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2830,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2832,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2834,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2835,1
    - Dst: rmResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2841,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2843,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2844,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2812
    functionDepth: 2
    functionLinenumber: 2812
    functionLinenumberEnd: 2848
    functionName: checkJoinRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - rmResRow
    - putRowToResColBuf
    - printResRow
    - TAOS_MEMSET
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: void checkJoinRes(SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2855,1
    - Dst: createDummyDownstreamOperators
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2859,1
    - Dst: createMergeJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2861,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - dsNum
    - pNode
    - pTask
    argTypes:
    - int32_t
    - SSortMergeJoinPhysiNode*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2850
    functionDepth: 2
    functionLinenumber: 2850
    functionLinenumberEnd: 2863
    functionName: resetForJoinRerun
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - createDummyDownstreamOperators
    - createMergeJoinOperatorInfo
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void resetForJoinRerun(int32_t dsNum, SSortMergeJoinPhysiNode* pNode,
      SExecTaskInfo* pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - contLoop
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2865
    functionDepth: 1
    functionLinenumber: 2865
    functionLinenumberEnd: 2880
    functionName: handleJoinDone
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - destroyOperator
    linkageType: ''
    returnType: void
    signature: void handleJoinDone(bool* contLoop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2889,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2891,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2883
    functionDepth: 1
    functionLinenumber: 2883
    functionLinenumberEnd: 2894
    functionName: jtInitLogFile
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - JT_PRINTF
    - TAOS_STRCPY
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: void jtInitLogFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2899,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2900,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2901,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2902,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2902,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2903,1
    - Dst: joinTestReplaceRetrieveFp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2905,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2908,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2909,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2918,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2919,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2921,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2922,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2923,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2924,1
    - Dst: jtInitLogFile
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2926,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2898
    functionDepth: 2
    functionLinenumber: 2898
    functionLinenumberEnd: 2927
    functionName: initJoinTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - joinTestReplaceRetrieveFp
    - tSimpleHashInit
    - taosArrayInit
    - taosGetDefaultHashFunction
    - jtInitLogFile
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void initJoinTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2932,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2933,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2934,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2934,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2937,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2939,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2940,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2941,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2943,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2945,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2947,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2948,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2949,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2951,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2929
    functionDepth: 1
    functionLinenumber: 2929
    functionLinenumberEnd: 2957
    functionName: handleTestDone
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tSimpleHashClear
    - TAOS_MEMCPY
    - taosArrayGetSize
    - taosArrayClear
    - blockDataDestroy
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void handleTestDone()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createDummySortMergeJoinPhysiNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2962,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2963,1
    - Dst: createDummyBlkList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2964,1
    - Dst: rerunBlockedHere
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2967,1
    - Dst: resetForJoinRerun
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2968,1
    - Dst: printBasicInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2969,1
    - Dst: printOutputInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2970,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2972,1
    - Dst: pJoinOp::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2975,1
    - Dst: checkJoinDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2977,1
    - Dst: checkJoinRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2980,1
    - Dst: handleJoinDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2984,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2987,1
    - Dst: handleTestDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - caseName
    - param
    argTypes:
    - char*
    - SJoinTestParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2959
    functionDepth: 10
    functionLinenumber: 2959
    functionLinenumberEnd: 2989
    functionName: runSingleTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - checkJoinRes
    - printBasicInfo
    - createDummyBlkList
    - checkJoinDone
    - taosGetTimestampUs
    - handleJoinDone
    - handleTestDone
    - rerunBlockedHere
    - printOutputInfo
    - pJoinOp::fpSet::getNextFn
    - nodesDestroyNode
    - TD_ALWAYS_ASSERT
    - createDummySortMergeJoinPhysiNode
    - resetForJoinRerun
    linkageType: ''
    returnType: void
    signature: void runSingleTest(char* caseName, SJoinTestParam* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2991
    functionDepth: 1
    functionLinenumber: 2991
    functionLinenumberEnd: 2994
    functionName: handleCaseEnd
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void handleCaseEnd()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:228,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:238,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:244,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:247,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:250,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:254,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - value
    - type
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 255
    functionName: printResRow
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 2
    functionsReached:
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void printResRow(char* value, int32_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:261,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:266,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 269
    functionName: pushResRow
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 6
    functionsReached:
    - tSimpleHashPut
    - TD_ALWAYS_ASSERT
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: void pushResRow(char* buf, int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:272,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:276,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: rmResRow
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - tSimpleHashRemove
    - TD_ALWAYS_ASSERT
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: void rmResRow()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:292,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:293,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:295,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:297,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:298,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:298,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:301,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:301,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:304,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:310,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:318,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:319,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:319,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:320,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - ppDst
    - ppSrc
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 283
    functionDepth: 5
    functionLinenumber: 283
    functionLinenumberEnd: 326
    functionName: jtMergeEqCond
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - TSWAP
    - nodesListStrictAppend
    - nodesMakeList
    - nodeType
    - nodesMakeNode
    - nodesDestroyNode
    - TD_ALWAYS_ASSERT
    - nodesListStrictAppendList
    linkageType: ''
    returnType: int32_t
    signature: int32_t jtMergeEqCond(SNode** ppDst, SNode** ppSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:331,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - ppRes
    argTypes:
    - int32_t
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: createDummyDownstreamOperators
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void createDummyDownstreamOperators(int32_t num, SOperatorInfo** ppRes)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:340,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:358,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:377,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:394,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:396,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:397,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:406,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:406,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:421,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:423,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:424,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:433,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:433,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:438,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:439,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 338
    functionDepth: 6
    functionLinenumber: 338
    functionLinenumberEnd: 440
    functionName: createTargetSlotList
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - nodesListMakeStrictAppend
    - taosRand
    - nodesMakeNode
    - TD_ALWAYS_ASSERT
    - taosMemoryRealloc
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void createTargetSlotList(SSortMergeJoinPhysiNode* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:445,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:449,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:451,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:465,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:466,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:472,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:472,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:475,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:481,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 442
    functionDepth: 6
    functionLinenumber: 442
    functionLinenumberEnd: 484
    functionName: createColEqCondStart
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - nodesListMakeStrictAppend
    - taosRand
    - nodesMakeNode
    - TD_ALWAYS_ASSERT
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void createColEqCondStart(SSortMergeJoinPhysiNode* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:489,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:493,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 502
    functionName: createColOnCondStart
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - TAOS_MEMSET
    - taosRand
    linkageType: ''
    returnType: void
    signature: void createColOnCondStart(SSortMergeJoinPhysiNode* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - srcIdx
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: getDstSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDstSlotId(int32_t srcIdx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:522,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:523,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:532,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:533,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:535,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:540,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:541,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:543,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:548,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:549,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:557,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:557,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 515
    functionDepth: 6
    functionLinenumber: 515
    functionLinenumberEnd: 568
    functionName: createColEqCondEnd
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    - nodesListMakeStrictAppend
    - TD_ALWAYS_ASSERT
    - getDstSlotId
    linkageType: ''
    returnType: void
    signature: void createColEqCondEnd(SSortMergeJoinPhysiNode* p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:577,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:578,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:587,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:588,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:590,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:595,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:596,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:598,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:603,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:604,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:612,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:612,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:625,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:626,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:627,1
    - Dst: jtMergeEqCond
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 570
    functionDepth: 6
    functionLinenumber: 570
    functionLinenumberEnd: 628
    functionName: createColOnCondEnd
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - nodesListMakeStrictAppend
    - getDstSlotId
    - jtMergeEqCond
    - nodesMakeNode
    - nodesCloneNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void createColOnCondEnd(SSortMergeJoinPhysiNode* p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:638,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:639,1
    - Dst: createColEqCondStart
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:642,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:644,1
    - Dst: createColOnCondStart
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:647,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:649,1
    - Dst: createColEqCondStart
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:652,1
    - Dst: createColOnCondStart
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - p
    - cond
    argTypes:
    - SSortMergeJoinPhysiNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 632
    functionDepth: 7
    functionLinenumber: 632
    functionLinenumberEnd: 658
    functionName: createColCond
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - createColEqCondStart
    - createColOnCondStart
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void createColCond(SSortMergeJoinPhysiNode* p, int32_t cond)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 671
    functionName: getFilterValue
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * getFilterValue(int32_t type)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:678,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:679,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:685,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:688,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:693,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:696,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:700,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:703,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:706,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:711,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:712,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:714,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:723,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 2
    argNames:
    - p
    - filter
    argTypes:
    - SSortMergeJoinPhysiNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 730
    functionName: createFilterStart
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - TAOS_MEMSET
    - taosRand
    linkageType: ''
    returnType: void
    signature: void createFilterStart(SSortMergeJoinPhysiNode* p, bool filter)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:739,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:740,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:749,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:750,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:752,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:755,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:758,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:759,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:762,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:762,1
    - Dst: getFilterValue
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:762,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:765,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:766,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:774,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:774,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:785,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:786,1
    - Dst: getDstSlotId
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:788,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:791,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:794,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:795,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:798,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:798,1
    - Dst: getFilterValue
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:798,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:801,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:802,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:810,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:810,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 69
    argCount: 2
    argNames:
    - p
    - filter
    argTypes:
    - SSortMergeJoinPhysiNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 732
    functionDepth: 6
    functionLinenumber: 732
    functionLinenumberEnd: 821
    functionName: createFilterEnd
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - nodesListMakeStrictAppend
    - getDstSlotId
    - nodesSetValueNodeValue
    - sprintf
    - nodesMakeNode
    - getFilterValue
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void createFilterEnd(SSortMergeJoinPhysiNode* p, bool filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 831
    functionName: updateColRowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateColRowInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:835,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:836,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:842,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:843,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:849,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SDataBlockDescNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 833
    functionDepth: 6
    functionLinenumber: 833
    functionLinenumberEnd: 853
    functionName: createBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    - nodesListMakeStrictAppend
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void createBlockDescNode(SDataBlockDescNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:857,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:858,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:863,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:865,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:866,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:867,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:868,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:880,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:881,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:883,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:884,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:886,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:887,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:890,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:890,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:890,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:893,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:893,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:893,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:895,1
    - Dst: createColCond
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:915,1
    - Dst: createFilterStart
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:916,1
    - Dst: createTargetSlotList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:917,1
    - Dst: createColEqCondEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:918,1
    - Dst: createColOnCondEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:919,1
    - Dst: createFilterEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:920,1
    - Dst: updateColRowInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:921,1
    - Dst: createBlockDescNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:922,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 59
    argCount: 1
    argNames:
    - param
    argTypes:
    - SJoinTestParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 855
    functionDepth: 8
    functionLinenumber: 855
    functionLinenumberEnd: 925
    functionName: createDummySortMergeJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - createFilterEnd
    - TSWAP
    - createFilterStart
    - createColOnCondEnd
    - taosRand
    - nodesMakeNode
    - createColCond
    - updateColRowInfo
    - createColEqCondEnd
    - TD_ALWAYS_ASSERT
    - createTargetSlotList
    - createBlockDescNode
    linkageType: ''
    returnType: SSortMergeJoinPhysiNode
    signature: SSortMergeJoinPhysiNode * createDummySortMergeJoinPhysiNode(SJoinTestParam*
      param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:928,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - taskId
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 933
    functionName: createDummyTaskInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryCalloc
    linkageType: ''
    returnType: SExecTaskInfo
    signature: SExecTaskInfo * createDummyTaskInfo(char* taskId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:937,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:938,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:947,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:949,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - blkId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 953
    functionName: createDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 3
    functionsReached:
    - createDataBlock
    - createColumnInfoData
    - TD_ALWAYS_ASSERT
    - blockDataAppendColInfo
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * createDummyBlock(int32_t blkId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:956,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:965,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:969,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:969,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:971,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:976,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:981,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:984,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:989,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - leftInRow
    - rightOffset
    - rightRows
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 991
    functionName: appendAsofLeftEachResGrps
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 2
    functionsReached:
    - taosArrayGet
    - pushResRow
    - TMIN
    - TAOS_MEMCPY
    - taosArrayGetSize
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void appendAsofLeftEachResGrps(char* leftInRow, int32_t rightOffset,
      int32_t rightRows)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:995,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1004,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1015,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - leftInRow
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 1016
    functionName: appendLeftNonMatchGrp
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 4
    functionsReached:
    - pushResRow
    - TAOS_MEMCPY
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void appendLeftNonMatchGrp(char* leftInRow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1019,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1020,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1024,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1025,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1026,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1030,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1032,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1033,1
    - Dst: appendAsofLeftEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1034,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1037,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1018
    functionDepth: 3
    functionLinenumber: 1018
    functionLinenumberEnd: 1038
    functionName: appendAllAsofResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 2
    functionsReached:
    - taosArrayGet
    - appendLeftNonMatchGrp
    - appendAsofLeftEachResGrps
    - taosArrayGetSize
    - taosArrayClear
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void appendAllAsofResRows()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1041,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1048,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1051,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1052,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1056,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1057,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1063,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1064,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1065,1
    - Dst: appendAsofLeftEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1072,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1083,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1088,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1089,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1090,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 1
    argNames:
    - forceOut
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1091
    functionName: chkAppendAsofForwardGrpResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 3
    functionsReached:
    - taosArrayGet
    - taosArrayPopFrontBatch
    - appendLeftNonMatchGrp
    - appendAsofLeftEachResGrps
    - taosArrayGetSize
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void chkAppendAsofForwardGrpResRows(bool forceOut)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1097,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1102,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1111,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1118,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1123,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1124,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1129,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1132,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - leftInRow
    - rightOffset
    - rightRows
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1139
    functionName: appendWinEachResGrps
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - pushResRow
    - TAOS_MEMCPY
    - appendLeftNonMatchGrp
    - TD_ALWAYS_ASSERT
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void appendWinEachResGrps(char* leftInRow, int32_t rightOffset, int32_t
      rightRows)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1142,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1149,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1152,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1153,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1161,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1162,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1168,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1169,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1170,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1177,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1187,1
    - Dst: appendWinEachResGrps
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1199,1
    - Dst: appendLeftNonMatchGrp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1201,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1206,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1207,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1208,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 1
    argNames:
    - forceOut
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1141
    functionDepth: 4
    functionLinenumber: 1141
    functionLinenumberEnd: 1209
    functionName: chkAppendWinResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 3
    functionsReached:
    - taosArrayGet
    - taosArrayPopFrontBatch
    - appendWinEachResGrps
    - appendLeftNonMatchGrp
    - taosArrayGetSize
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void chkAppendWinResRows(bool forceOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1213,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1218,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1220
    functionName: trimForAsofJlimit
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 2
    functionsReached:
    - taosArrayGetSize
    - taosArrayPopFrontBatch
    linkageType: ''
    returnType: void
    signature: void trimForAsofJlimit()
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1228,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1229,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1230,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1230,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1231,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1231,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1275,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1277,1
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1282,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1283,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1284,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1284,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1285,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1285,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1293,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1295,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1312,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1313,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1313,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1313,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1327,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1338,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1339,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1340,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1340,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1347,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1356,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1362,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1362,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1365,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1365,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1376,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1386,1
    - Dst: trimForAsofJlimit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1388,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1391,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1394,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 142
    argCount: 3
    argNames:
    - ppBlk
    - blkId
    - grpRows
    argTypes:
    - SSDataBlock**
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1222
    functionDepth: 5
    functionLinenumber: 1222
    functionLinenumberEnd: 1398
    functionName: createGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - createDummyBlock
    - blockDataEnsureCapacity
    - TMAX
    - pushResRow
    - chkAppendAsofForwardGrpResRows
    - chkAppendWinResRows
    - taosRand
    - colDataSetVal
    - TAOS_MEMCPY
    - appendAllAsofResRows
    - TD_ALWAYS_ASSERT
    - trimForAsofJlimit
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void createGrpRows(SSDataBlock** ppBlk, int32_t blkId, int32_t grpRows)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1405,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1406,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1408,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1412,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1412,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1416,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1416,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1416,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1418,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1418,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1421,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1421,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1425,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1427,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1427,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - pBlk
    - tbOffset
    - rowIdx
    - vRange
    argTypes:
    - SSDataBlock*
    - int64_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1435
    functionName: createRowData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosArrayGet
    - colDataSetVal
    - taosRand
    linkageType: ''
    returnType: void
    signature: void createRowData(SSDataBlock* pBlk, int64_t tbOffset, int32_t rowIdx,
      int32_t vRange)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1442,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1443,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1446,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1449,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1452,1
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1455,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1456,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1457,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1457,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1458,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1458,1
    - Dst: createRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1464,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1467,1
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1470,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1471,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1472,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1472,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1473,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1473,1
    - Dst: createRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1479,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - ppLeft
    - ppRight
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - SSDataBlock**
    - SSDataBlock**
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1437
    functionDepth: 2
    functionLinenumber: 1437
    functionLinenumberEnd: 1482
    functionName: makeAppendBlkData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - createDummyBlock
    - TMAX
    - blockDataEnsureCapacity
    - createRowData
    - TD_ALWAYS_ASSERT
    - taosMemoryRealloc
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void makeAppendBlkData(SSDataBlock** ppLeft, SSDataBlock** ppRight,
      int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1486,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1493,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1505,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - lrow
    - tableOffset
    - peerOffset
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1484
    functionDepth: 2
    functionLinenumber: 1484
    functionLinenumberEnd: 1506
    functionName: putNMatchRowToRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 3
    functionsReached:
    - pushResRow
    - TAOS_MEMCPY
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void putNMatchRowToRes(char* lrow, int32_t tableOffset, int32_t peerOffset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1510,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1518,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1530,1
    - Dst: pushResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - lrow
    - rrow
    - cols
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1508
    functionDepth: 2
    functionLinenumber: 1508
    functionLinenumberEnd: 1538
    functionName: putMatchRowToRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 4
    functionsReached:
    - pushResRow
    - TAOS_MEMCPY
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void putMatchRowToRes(char* lrow, char* rrow, int32_t cols)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1645,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 84
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1650
    functionName: innerJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - putMatchRowToRes
    linkageType: ''
    returnType: void
    signature: void innerJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1705,1
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1767,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1772,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 96
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1654
    functionDepth: 3
    functionLinenumber: 1654
    functionLinenumberEnd: 1777
    functionName: leftJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - putMatchRowToRes
    - putNMatchRowToRes
    linkageType: ''
    returnType: void
    signature: void leftJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1890,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 88
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1781
    functionDepth: 3
    functionLinenumber: 1781
    functionLinenumberEnd: 1895
    functionName: semiJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - putMatchRowToRes
    linkageType: ''
    returnType: void
    signature: void semiJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1906,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:1952,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2006,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 86
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1900
    functionDepth: 3
    functionLinenumber: 1900
    functionLinenumberEnd: 2011
    functionName: antiJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - TD_ALWAYS_ASSERT
    - putNMatchRowToRes
    linkageType: ''
    returnType: void
    signature: void antiJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2022,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2059,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2059,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2061,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2061,1
    - Dst: trimForAsofJlimit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2066,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 3
    argNames:
    - rowsNum
    - tbOffset
    - leftTable
    argTypes:
    - int32_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2013
    functionDepth: 2
    functionLinenumber: 2013
    functionLinenumberEnd: 2068
    functionName: addAsofEqInRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - TMIN
    - TD_ALWAYS_ASSERT
    - trimForAsofJlimit
    linkageType: ''
    returnType: void
    signature: void addAsofEqInRows(int32_t rowsNum, int64_t tbOffset, bool leftTable)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2076,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2077,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2078,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2081,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2082,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2083,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2087,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2088,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2089,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2092,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2093,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2094,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2095,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2096,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2097,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2098,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2099,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2100,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2111,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2112,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2113,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2116,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2117,1
    - Dst: appendAllAsofResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2118,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2122,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2123,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2124,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2127,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2128,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2129,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2130,1
    - Dst: addAsofEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2131,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2132,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2133,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2134,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2135,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2070
    functionDepth: 4
    functionLinenumber: 2070
    functionLinenumberEnd: 2140
    functionName: asofJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayClear
    - addAsofEqInRows
    - appendAllAsofResRows
    - chkAppendAsofForwardGrpResRows
    linkageType: ''
    returnType: void
    signature: void asofJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2185,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2185,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2187,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2187,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - rowsNum
    - tbOffset
    - leftTable
    argTypes:
    - int32_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2190
    functionName: addWinEqInRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void addWinEqInRows(int32_t rowsNum, int64_t tbOffset, bool leftTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addWinEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2196,1
    - Dst: addWinEqInRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2197,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2193
    functionDepth: 5
    functionLinenumber: 2193
    functionLinenumberEnd: 2199
    functionName: winJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - chkAppendWinResRows
    - addWinEqInRows
    linkageType: ''
    returnType: void
    signature: void winJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2209,1
    - Dst: putMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2298,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2304,1
    - Dst: putNMatchRowToRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2312,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 89
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2203
    functionDepth: 3
    functionLinenumber: 2203
    functionLinenumberEnd: 2316
    functionName: fullJoinAppendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - putMatchRowToRes
    - putNMatchRowToRes
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void fullJoinAppendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: innerJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2322,1
    - Dst: leftJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2327,1
    - Dst: semiJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2330,1
    - Dst: antiJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2333,1
    - Dst: asofJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2336,1
    - Dst: winJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2339,1
    - Dst: fullJoinAppendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2347,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2319
    functionDepth: 6
    functionLinenumber: 2319
    functionLinenumberEnd: 2352
    functionName: appendEqGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - fullJoinAppendEqGrpRes
    - innerJoinAppendEqGrpRes
    - winJoinAppendEqGrpRes
    - semiJoinAppendEqGrpRes
    - antiJoinAppendEqGrpRes
    - asofJoinAppendEqGrpRes
    - leftJoinAppendEqGrpRes
    linkageType: ''
    returnType: void
    signature: void appendEqGrpRes(int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2366,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2367,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2368,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2368,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2369,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2369,1
    - Dst: createDummyBlock
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2377,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2378,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2379,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2379,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2380,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2380,1
    - Dst: makeAppendBlkData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2388,1
    - Dst: appendEqGrpRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2390,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - ppLeft
    - ppRight
    - leftGrpRows
    - rightGrpRows
    argTypes:
    - SSDataBlock**
    - SSDataBlock**
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2354
    functionDepth: 7
    functionLinenumber: 2354
    functionLinenumberEnd: 2391
    functionName: createTsEqGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - createDummyBlock
    - blockDataEnsureCapacity
    - TD_ALWAYS_ASSERT
    - makeAppendBlkData
    - appendEqGrpRes
    linkageType: ''
    returnType: void
    signature: void createTsEqGrpRows(SSDataBlock** ppLeft, SSDataBlock** ppRight,
      int32_t leftGrpRows, int32_t rightGrpRows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2394,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2395,1
    - Dst: chkAppendAsofForwardGrpResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2397,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2398,1
    - Dst: chkAppendWinResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2399,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2402,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2403,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2393
    functionDepth: 5
    functionLinenumber: 2393
    functionLinenumberEnd: 2406
    functionName: forceFlushResRows
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - chkAppendWinResRows
    - chkAppendAsofForwardGrpResRows
    - taosArrayGetSize
    - taosArrayClear
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void forceFlushResRows()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2412,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2413,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2415,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2416,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2428,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2431,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2432,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2450,1
    - Dst: forceFlushResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2451,1
    - Dst: createGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2459,1
    - Dst: createGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2463,1
    - Dst: createTsEqGrpRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2467,1
    - Dst: forceFlushResRows
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2474,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2408
    functionDepth: 8
    functionLinenumber: 2408
    functionLinenumberEnd: 2475
    functionName: createBothBlkRowsData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - forceFlushResRows
    - TMAX
    - TMIN
    - createGrpRows
    - createTsEqGrpRows
    - taosRand
    linkageType: ''
    returnType: void
    signature: void createBothBlkRowsData(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2484,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2487,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2488,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2491,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2492,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2493,1
    - Dst: createBothBlkRowsData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - leftMaxRows
    - leftMaxGrpRows
    - rightMaxRows
    - rightMaxGrpRows
    - blkRows
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2477
    functionDepth: 9
    functionLinenumber: 2477
    functionLinenumberEnd: 2496
    functionName: createDummyBlkList
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - createBothBlkRowsData
    - TMAX
    - taosArrayClear
    - TD_ALWAYS_ASSERT
    - taosMemoryRealloc
    linkageType: ''
    returnType: void
    signature: void createDummyBlkList(int32_t leftMaxRows, int32_t leftMaxGrpRows,
      int32_t rightMaxRows, int32_t rightMaxGrpRows, int32_t blkRows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2498
    functionDepth: 1
    functionLinenumber: 2498
    functionLinenumberEnd: 2502
    functionName: rerunBlockedHere
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosSsleep
    linkageType: ''
    returnType: void
    signature: void rerunBlockedHere()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2508,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2511,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2514,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2522
    functionName: getDummyInputBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getDummyInputBlock(struct SOperatorInfo* pOperator, int32_t
      idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2527,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2530,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2532,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2534,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2540,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2525
    functionDepth: 1
    functionLinenumber: 2525
    functionLinenumberEnd: 2546
    functionName: joinTestReplaceRetrieveFp
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void joinTestReplaceRetrieveFp()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2551,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2555,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2559,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2561,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - title
    - left
    - colList
    - filter
    - opStr
    argTypes:
    - char*
    - bool
    - int32_t*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2566
    functionName: printColList
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void printColList(char* title, bool left, int32_t* colList, bool filter,
      char* opStr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2570,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2573,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2574,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2575,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2576,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2577,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2582,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2582,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2585,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2585,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2588,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pBlk
    - rowIdx
    argTypes:
    - SSDataBlock*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2568
    functionDepth: 1
    functionLinenumber: 2568
    functionLinenumberEnd: 2594
    functionName: printInputRowData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - JT_PRINTF
    - taosArrayGet
    - colDataGetData
    - colDataIsNull_s
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void printInputRowData(SSDataBlock* pBlk, int32_t* rowIdx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2599,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2600,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2601,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2603,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2604,1
    - Dst: printInputRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2606,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2610,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2616,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2619,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2621,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2622,1
    - Dst: printInputRowData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2624,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2628,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2635,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2596
    functionDepth: 2
    functionLinenumber: 2596
    functionLinenumberEnd: 2639
    functionName: printInputData
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - JT_PRINTF
    - printInputRowData
    - taosArrayGetSize
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void printInputData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2643,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2646,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - inputStat
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2641
    functionDepth: 1
    functionLinenumber: 2641
    functionLinenumberEnd: 2652
    functionName: getInputStatStr
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - TAOS_STRCAT
    linkageType: ''
    returnType: char
    signature: char * getInputStatStr(char* inputStat)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2654
    functionDepth: 0
    functionLinenumber: 2654
    functionLinenumberEnd: 2669
    functionName: getAsofOpStr
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getAsofOpStr()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2677,1
    - Dst: getInputStatStr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2681,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2684,1
    - Dst: getAsofOpStr
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2684,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2686,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2689,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2691,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2691,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2698,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2699,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2703,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2704,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2708,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2709,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2713,1
    - Dst: printColList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2714,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2717,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2721,1
    - Dst: printInputData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2725,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2671
    functionDepth: 3
    functionLinenumber: 2671
    functionLinenumberEnd: 2727
    functionName: printBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - JT_PRINTF
    - printInputData
    - getInputStatStr
    - getAsofOpStr
    - taosArrayGetSize
    - printColList
    linkageType: ''
    returnType: void
    signature: void printBasicInfo(char* caseName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2734,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2736
    functionName: printOutputInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void printOutputInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2743,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2738
    functionDepth: 0
    functionLinenumber: 2738
    functionLinenumberEnd: 2752
    functionName: printActualResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - JT_PRINTF
    - taosGetTimestampUs
    linkageType: ''
    returnType: void
    signature: void printActualResInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2758
    functionName: printStatInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - JT_PRINTF
    linkageType: ''
    returnType: void
    signature: void printStatInfo(char* caseName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2765,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2766,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2770,1
    - Dst: printActualResInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2775,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - caseName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2760
    functionDepth: 1
    functionLinenumber: 2760
    functionLinenumberEnd: 2778
    functionName: checkJoinDone
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - JT_PRINTF
    - printActualResInfo
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - printResRow
    linkageType: ''
    returnType: void
    signature: void checkJoinDone(char* caseName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2788,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2789,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2793,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2796,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2800,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2803,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - pBlock
    - r
    - ignoreTbCols
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2780
    functionDepth: 1
    functionLinenumber: 2780
    functionLinenumberEnd: 2810
    functionName: putRowToResColBuf
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - colDataIsNull_s
    - TD_ALWAYS_ASSERT
    - taosArrayGet
    - colDataGetData
    linkageType: ''
    returnType: void
    signature: void putRowToResColBuf(SSDataBlock* pBlock, int32_t r, bool ignoreTbCols)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2828,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2830,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2832,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2834,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2835,1
    - Dst: rmResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2841,1
    - Dst: putRowToResColBuf
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2843,1
    - Dst: printResRow
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2844,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2812
    functionDepth: 2
    functionLinenumber: 2812
    functionLinenumberEnd: 2848
    functionName: checkJoinRes
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - rmResRow
    - putRowToResColBuf
    - printResRow
    - TAOS_MEMSET
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: void checkJoinRes(SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2855,1
    - Dst: createDummyDownstreamOperators
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2859,1
    - Dst: createMergeJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2861,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - dsNum
    - pNode
    - pTask
    argTypes:
    - int32_t
    - SSortMergeJoinPhysiNode*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2850
    functionDepth: 2
    functionLinenumber: 2850
    functionLinenumberEnd: 2863
    functionName: resetForJoinRerun
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - ASSERT_TRUE
    - createDummyDownstreamOperators
    - createMergeJoinOperatorInfo
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: void resetForJoinRerun(int32_t dsNum, SSortMergeJoinPhysiNode* pNode,
      SExecTaskInfo* pTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - contLoop
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2865
    functionDepth: 1
    functionLinenumber: 2865
    functionLinenumberEnd: 2880
    functionName: handleJoinDone
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - destroyOperator
    linkageType: ''
    returnType: void
    signature: void handleJoinDone(bool* contLoop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2889,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2891,1
    - Dst: JT_PRINTF
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2883
    functionDepth: 1
    functionLinenumber: 2883
    functionLinenumberEnd: 2894
    functionName: jtInitLogFile
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - JT_PRINTF
    - TAOS_STRCPY
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: void jtInitLogFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2899,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2900,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2901,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2902,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2902,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2903,1
    - Dst: joinTestReplaceRetrieveFp
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2905,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2908,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2909,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2918,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2919,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2921,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2922,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2923,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2924,1
    - Dst: jtInitLogFile
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2926,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2898
    functionDepth: 2
    functionLinenumber: 2898
    functionLinenumberEnd: 2927
    functionName: initJoinTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - joinTestReplaceRetrieveFp
    - tSimpleHashInit
    - taosArrayInit
    - taosGetDefaultHashFunction
    - jtInitLogFile
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void initJoinTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2932,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2933,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2934,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2934,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2937,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2939,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2940,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2941,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2943,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2945,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2947,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2948,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2949,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2951,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2929
    functionDepth: 1
    functionLinenumber: 2929
    functionLinenumberEnd: 2957
    functionName: handleTestDone
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tSimpleHashClear
    - TAOS_MEMCPY
    - taosArrayGetSize
    - taosArrayClear
    - blockDataDestroy
    - TD_ALWAYS_ASSERT
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void handleTestDone()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createDummySortMergeJoinPhysiNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2962,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2963,1
    - Dst: createDummyBlkList
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2964,1
    - Dst: rerunBlockedHere
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2967,1
    - Dst: resetForJoinRerun
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2968,1
    - Dst: printBasicInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2969,1
    - Dst: printOutputInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2970,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2972,1
    - Dst: pJoinOp::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2975,1
    - Dst: checkJoinDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2977,1
    - Dst: checkJoinRes
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2980,1
    - Dst: handleJoinDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2984,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2987,1
    - Dst: handleTestDone
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - caseName
    - param
    argTypes:
    - char*
    - SJoinTestParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2959
    functionDepth: 10
    functionLinenumber: 2959
    functionLinenumberEnd: 2989
    functionName: runSingleTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - checkJoinRes
    - printBasicInfo
    - createDummyBlkList
    - checkJoinDone
    - taosGetTimestampUs
    - handleJoinDone
    - handleTestDone
    - rerunBlockedHere
    - printOutputInfo
    - pJoinOp::fpSet::getNextFn
    - nodesDestroyNode
    - TD_ALWAYS_ASSERT
    - createDummySortMergeJoinPhysiNode
    - resetForJoinRerun
    linkageType: ''
    returnType: void
    signature: void runSingleTest(char* caseName, SJoinTestParam* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:2992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2991
    functionDepth: 1
    functionLinenumber: 2991
    functionLinenumberEnd: 2994
    functionName: handleCaseEnd
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void handleCaseEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3003,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3004,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3016,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3019,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3022,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 3000
    functionDepth: 11
    functionLinenumber: 3000
    functionLinenumberEnd: 3024
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(innerJoin, noCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3031,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3032,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3044,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3047,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3050,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3052
      start: 3028
    functionDepth: 11
    functionLinenumber: 3028
    functionLinenumberEnd: 3052
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(innerJoin, eqCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3059,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3060,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3072,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3075,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3078,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3056
    functionDepth: 11
    functionLinenumber: 3056
    functionLinenumberEnd: 3080
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(innerJoin, onCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3087,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3088,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3100,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3103,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3106,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 3084
    functionDepth: 11
    functionLinenumber: 3084
    functionLinenumberEnd: 3108
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(innerJoin, fullCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3118,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3119,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3129,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3131,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3133,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3135,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3138,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3140
      start: 3115
    functionDepth: 11
    functionLinenumber: 3115
    functionLinenumberEnd: 3140
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - runSingleTest
    - taosMemoryFree
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftOuterJoin, noCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3147,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3148,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3160,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3163,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3166,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3168
      start: 3144
    functionDepth: 11
    functionLinenumber: 3144
    functionLinenumberEnd: 3168
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftOuterJoin, eqCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3175,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3176,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3188,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3191,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3194,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3196
      start: 3172
    functionDepth: 11
    functionLinenumber: 3172
    functionLinenumberEnd: 3196
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftOuterJoin, onCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3203,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3204,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3216,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3219,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3222,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3224
      start: 3200
    functionDepth: 11
    functionLinenumber: 3200
    functionLinenumberEnd: 3224
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftOuterJoin, fullCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3233,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3234,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3246,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3249,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3252,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3254
      start: 3230
    functionDepth: 11
    functionLinenumber: 3230
    functionLinenumberEnd: 3254
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(fullOuterJoin, noCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3261,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3262,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3274,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3277,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3280,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3281,1
    - Dst: handleCaseEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3258
    functionDepth: 11
    functionLinenumber: 3258
    functionLinenumberEnd: 3283
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - handleCaseEnd
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(fullOuterJoin, eqCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3290,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3291,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3303,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3306,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3309,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3287
    functionDepth: 11
    functionLinenumber: 3287
    functionLinenumberEnd: 3311
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(fullOuterJoin, onCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3318,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3319,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3331,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3334,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3337,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3339
      start: 3315
    functionDepth: 11
    functionLinenumber: 3315
    functionLinenumberEnd: 3339
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(fullOuterJoin, fullCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3348,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3349,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3361,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3364,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3367,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3345
    functionDepth: 11
    functionLinenumber: 3345
    functionLinenumberEnd: 3369
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftSemiJoin, noCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3376,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3377,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3389,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3392,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3395,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3396,1
    - Dst: handleCaseEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3373
    functionDepth: 11
    functionLinenumber: 3373
    functionLinenumberEnd: 3398
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - handleCaseEnd
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftSemiJoin, eqCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3405,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3406,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3418,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3421,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3424,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3426
      start: 3402
    functionDepth: 11
    functionLinenumber: 3402
    functionLinenumberEnd: 3426
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftSemiJoin, onCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3433,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3434,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3446,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3449,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3452,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3430
    functionDepth: 11
    functionLinenumber: 3430
    functionLinenumberEnd: 3454
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftSemiJoin, fullCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3463,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3464,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3476,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3479,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3482,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3460
    functionDepth: 11
    functionLinenumber: 3460
    functionLinenumberEnd: 3484
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftAntiJoin, noCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3491,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3492,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3504,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3507,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3510,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3511,1
    - Dst: handleCaseEnd
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3513
      start: 3488
    functionDepth: 11
    functionLinenumber: 3488
    functionLinenumberEnd: 3513
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - handleCaseEnd
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftAntiJoin, eqCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3520,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3521,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3533,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3536,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3541
      start: 3517
    functionDepth: 11
    functionLinenumber: 3517
    functionLinenumberEnd: 3541
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftAntiJoin, onCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3548,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3549,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3561,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3564,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3567,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3569
      start: 3545
    functionDepth: 11
    functionLinenumber: 3545
    functionLinenumberEnd: 3569
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - runSingleTest
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftAntiJoin, fullCondTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3578,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3579,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3590,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3590,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3592,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3594,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3596,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3598,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3601,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3603
      start: 3575
    functionDepth: 11
    functionLinenumber: 3575
    functionLinenumberEnd: 3603
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - runSingleTest
    - taosMemoryFree
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftAsofJoin, noCondGreaterThanTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3610,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3611,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3622,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3622,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3624,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3626,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3628,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3630,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3633,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3635
      start: 3607
    functionDepth: 11
    functionLinenumber: 3607
    functionLinenumberEnd: 3635
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - runSingleTest
    - taosMemoryFree
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftAsofJoin, noCondGreaterEqTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3642,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3643,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3654,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3654,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3656,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3658,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3660,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3662,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3665,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3667
      start: 3639
    functionDepth: 11
    functionLinenumber: 3639
    functionLinenumberEnd: 3667
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - runSingleTest
    - taosMemoryFree
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftAsofJoin, noCondEqTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3674,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3675,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3686,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3686,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3688,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3690,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3692,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3694,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3697,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3699
      start: 3671
    functionDepth: 11
    functionLinenumber: 3671
    functionLinenumberEnd: 3699
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - runSingleTest
    - taosMemoryFree
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftAsofJoin, noCondLowerThanTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3707,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3708,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3719,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3719,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3721,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3723,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3725,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3727,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3730,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3732
      start: 3704
    functionDepth: 11
    functionLinenumber: 3704
    functionLinenumberEnd: 3732
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - runSingleTest
    - taosMemoryFree
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftAsofJoin, noCondLowerEqTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDummyTaskInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3743,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3744,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3754,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3754,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3756,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3758,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3760,1
    - Dst: runSingleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3762,1
    - Dst: printStatInfo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3765,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3767
      start: 3740
    functionDepth: 11
    functionLinenumber: 3740
    functionLinenumberEnd: 3767
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - runSingleTest
    - taosMemoryFree
    - printStatInfo
    - createDummyTaskInfo
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST(leftWinJoin, noCondProjectionTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3781,1
    - Dst: hInnerJoinDo
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3786
      start: 3774
    functionDepth: 1
    functionLinenumber: 3774
    functionLinenumberEnd: 3786
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - hInnerJoinDo
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST(functionsTest, branch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3791,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3791,1
    - Dst: initJoinTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3792,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3793,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/executor/test/joinTests.cpp:3794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3790
    functionDepth: 3
    functionLinenumber: 3790
    functionLinenumberEnd: 3795
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/executor/test/joinTests.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - taosSeedRand
    - taosGetTimestampSec
    - RUN_ALL_TESTS
    - initJoinTest
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: QPT_PHYSIC_NODE_NUM
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_PHYSIC_NODE_NUM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: QPT_LOW_PROB
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_LOW_PROB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: QPT_MID_PROB
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_MID_PROB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: QPT_HIGH_PROB
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_HIGH_PROB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: QPT_CORRECT_HIGH_PROB
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_CORRECT_HIGH_PROB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: QPT_NCORRECT_LOW_PROB
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_NCORRECT_LOW_PROB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: QPT_VALID_DESC
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_VALID_DESC(_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: qptGetSpecificPlanIndex
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetSpecificPlanIndex(int32_t type)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:357,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - colType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 364
    functionName: qptGetColumnRandLen
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetColumnRandLen(int32_t colType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:369,1
    - Dst: qptGetColumnRandLen
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:371,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:381,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:382,1
    - Dst: qptGetColumnRandLen
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pCol
    - idx
    - colType
    argTypes:
    - SQPTCol*
    - int32_t
    - EColumnType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 389
    functionName: qptInitSingleTableCol
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - sprintf
    - qptGetColumnRandLen
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qptInitSingleTableCol(SQPTCol* pCol, int32_t idx, EColumnType
      colType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 452
    functionName: qptPrintBeginInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void qptPrintBeginInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:459,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: qptPrintEndInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void qptPrintEndInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: qptPrintStatInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void qptPrintStatInfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 480
    functionName: qptGetDynamicOp
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_NCORRECT_LOW_PROB
    linkageType: ''
    returnType: bool
    signature: bool qptGetDynamicOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: qptGetCurrTsOrder
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    linkageType: ''
    returnType: EOrder
    signature: EOrder qptGetCurrTsOrder()
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:487,1
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:489,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:493,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:498,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:498,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:504,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:504,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:506,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:507,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:512,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:512,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:514,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:515,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:516,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:520,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:520,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:522,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:523,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:524,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:528,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:528,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:530,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:531,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:532,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:537,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:537,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:539,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:540,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:541,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:545,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:545,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:547,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:548,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:549,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:553,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:553,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:555,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:556,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:557,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:567,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:569,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:570,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:571,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:572,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:572,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:576,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:578,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:579,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:580,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:580,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:581,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:582,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:583,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:583,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:583,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:585,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:586,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:591,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:591,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:593,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:594,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:595,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:599,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:599,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:601,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:602,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:603,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:607,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:607,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:609,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:610,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:611,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:615,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:615,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:617,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:618,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:619,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:623,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:625,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:626,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:627,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:627,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 141
    argCount: 3
    argNames:
    - pType
    - pLen
    - ppVal
    argTypes:
    - uint8_t*
    - int32_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 631
    functionName: qptGetRandValue
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - memset
    - taosMemoryFree
    - taosMemoryCalloc
    - varDataVal
    - taosMbsToUcs4
    - TD_ALWAYS_ASSERT
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void qptGetRandValue(uint8_t* pType, int32_t* pLen, void** ppVal)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:647,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - pType
    - pVal
    argTypes:
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 663
    functionName: qptFreeRandValue
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void qptFreeRandValue(int32_t* pType, void* pVal)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 679
    functionName: qptGetRandRealTableType
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qptGetRandRealTableType(int8_t* tableType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:682,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:683,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pInput
    argTypes:
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 687
    functionName: qptGetInputSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetInputSlotId(SDataBlockDescNode* pInput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:690,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:691,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 695
    functionName: qptGetRandNullOrder
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_NCORRECT_LOW_PROB
    - taosRand
    linkageType: ''
    returnType: ENullOrder
    signature: ENullOrder qptGetRandNullOrder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: qptGetRandTimestampUnit
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    linkageType: ''
    returnType: int8_t
    signature: int8_t qptGetRandTimestampUnit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:705,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 710
    functionName: qptGetInputPrimaryTsSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetInputPrimaryTsSlotId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:715,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:715,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: qptGetRandSubplanMsgType
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetRandSubplanMsgType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:719,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - size
    - pOut
    argTypes:
    - int32_t
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 723
    functionName: qptNodesCalloc
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void qptNodesCalloc(int32_t num, int32_t size, void** pOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: qptNodesFree
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void qptNodesFree(void* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:731,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:732,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 736
    functionName: qptGetRandFillMode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: EFillMode
    signature: EFillMode qptGetRandFillMode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:740,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:741,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:742,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:746,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 748
    functionName: qptGetRandTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qptGetRandTimeWindow(STimeWindow* pWindow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:751,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:752,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:758,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 772
    functionName: qptGetSubplanNum
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_NCORRECT_LOW_PROB
    - nodeType
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetSubplanNum(SNodeList* pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 769
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 25
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qptNodesCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 789
    functionName: qptNodesListAppend
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptNodesCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptNodesListAppend(SNodeList* pList, SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qptNodesListAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:792,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 791
    functionDepth: 4
    functionLinenumber: 791
    functionLinenumberEnd: 797
    functionName: qptNodesListStrictAppend
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptNodesListAppend
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptNodesListStrictAppend(SNodeList* pList, SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:801,1
    - Dst: qptNodesListStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 799
    functionDepth: 5
    functionLinenumber: 799
    functionLinenumberEnd: 807
    functionName: qptNodesListMakeStrictAppend
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - qptNodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptNodesListMakeStrictAppend(SNodeList** pList, SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:811,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 809
    functionDepth: 5
    functionLinenumber: 809
    functionLinenumberEnd: 813
    functionName: qptMakeRandNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosRand
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeRandNode(SNode** ppNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:818,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:819,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:827,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:827,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:828,1
    - Dst: qptInitSingleTableCol
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:832,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:832,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:832,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:834,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:836,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:836,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:838,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:849,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:850,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:851,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:852,1
    - Dst: qptGetRandValue
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:861,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:863,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:864,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:865,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:866,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:867,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:873,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:878,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:883,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:888,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:892,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:893,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:896,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 70
    argCount: 1
    argNames:
    - colIdx
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 817
    functionDepth: 6
    functionLinenumber: 817
    functionLinenumberEnd: 901
    functionName: qptMakeColumnFromTable
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - qptGetRandValue
    - strcpy
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    - qptInitSingleTableCol
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeColumnFromTable(int32_t colIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:905,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:906,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:909,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:909,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:910,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:913,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 904
    functionDepth: 6
    functionLinenumber: 904
    functionLinenumberEnd: 918
    functionName: qptMakeWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - qptMakeExprNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeWhenThenNode(SNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:922,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:923,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:926,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:926,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:927,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:934,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:938,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:941,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:941,1
    - Dst: qptMakeWhenThenNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:944,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 921
    functionDepth: 7
    functionLinenumber: 921
    functionLinenumberEnd: 949
    functionName: qptMakeCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeWhenThenNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - qptMakeExprNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeCaseWhenNode(SNode** ppNode)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:953,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:954,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:957,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:958,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:958,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:961,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:988,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:989,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:990,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:993,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:996,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1010,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1011,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1014,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1017,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1023,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1026,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 952
    functionDepth: 6
    functionLinenumber: 952
    functionLinenumberEnd: 1032
    functionName: qptMakeOperatorNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - qptMakeExprNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeOperatorNode(SNode** ppNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1035,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1036,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1041,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1043,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1044,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1048,1
    - Dst: qptMakeColumnFromTable
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1056,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1066,1
    - Dst: qptGetRandValue
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1067,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1068,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1069,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1034
    functionDepth: 7
    functionLinenumber: 1034
    functionLinenumberEnd: 1075
    functionName: qptMakeColumnNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - qptGetRandValue
    - qptMakeColumnFromTable
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeColumnNode(SNode** ppNode)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1080,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1084,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1089,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1094,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1099,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1104,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1109,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1114,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1124,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1129,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1134,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1139,1
    - Dst: QPT_MID_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1147,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1161,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 87
    argCount: 2
    argNames:
    - pNode
    - value
    argTypes:
    - SValueNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1164
    functionName: qptNodesSetValueNodeValue
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_MID_PROB
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void qptNodesSetValueNodeValue(SValueNode* pNode, void* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1168,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1169,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1173,1
    - Dst: qptGetRandValue
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1177,1
    - Dst: qptNodesSetValueNodeValue
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - valType
    - ppNode
    argTypes:
    - uint8_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1167
    functionDepth: 6
    functionLinenumber: 1167
    functionLinenumberEnd: 1187
    functionName: qptMakeValueNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptGetRandValue
    - qptNodesSetValueNodeValue
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeValueNode(uint8_t valType, SNode** ppNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1190,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1191,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1195,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1197,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1198,1
    - Dst: fmGetFuncName
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1199,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1200,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1202,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1204,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1206,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1210,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1215,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1218,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1221,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1189
    functionDepth: 6
    functionLinenumber: 1189
    functionLinenumberEnd: 1229
    functionName: qptMakeFunctionNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - fmGetFuncName
    - qptMakeRandNode
    - qptMakeExprNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeFunctionNode(SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1235,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1236,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1240,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1242,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1243,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1243,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1245,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1250,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1250,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1250,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1253,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1234
    functionDepth: 6
    functionLinenumber: 1234
    functionLinenumberEnd: 1260
    functionName: qptMakeLogicCondNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - qptMakeExprNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeLogicCondNode(SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1263,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1264,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1273,1
    - Dst: qptMakeNodeList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - nodeType
    - ppNode
    argTypes:
    - QPT_NODE_TYPE
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1262
    functionDepth: 6
    functionLinenumber: 1262
    functionLinenumberEnd: 1282
    functionName: qptMakeNodeListNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeNodeList
    - qptMakeRandNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeNodeListNode(QPT_NODE_TYPE nodeType, SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1285,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1286,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1290,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1290,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1284
    functionDepth: 6
    functionLinenumber: 1284
    functionLinenumberEnd: 1299
    functionName: qptMakeTempTableNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeTempTableNode(SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1302,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1303,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1307,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1307,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1301
    functionDepth: 6
    functionLinenumber: 1301
    functionLinenumberEnd: 1316
    functionName: qptMakeJoinTableNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeJoinTableNode(SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1319,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1320,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1324,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1324,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1318
    functionDepth: 6
    functionLinenumber: 1318
    functionLinenumberEnd: 1333
    functionName: qptMakeRealTableNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeRealTableNode(SNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1338,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1339,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1342,1
    - Dst: qptMakeTempTableNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1344,1
    - Dst: qptMakeJoinTableNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1346,1
    - Dst: qptMakeRealTableNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1337
    functionDepth: 7
    functionLinenumber: 1337
    functionLinenumberEnd: 1353
    functionName: qptMakeNonRealTableNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeJoinTableNode
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - qptMakeRealTableNode
    - qptMakeTempTableNode
    - qptMakeRandNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeNonRealTableNode(SNode** ppNode)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1361,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1362,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1370,1
    - Dst: qptMakeColumnNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1372,1
    - Dst: qptMakeValueNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1375,1
    - Dst: qptMakeFunctionNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1378,1
    - Dst: qptMakeLogicCondNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1381,1
    - Dst: qptMakeNodeListNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1384,1
    - Dst: qptMakeOperatorNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1387,1
    - Dst: qptMakeNonRealTableNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1390,1
    - Dst: qptMakeCaseWhenNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1393,1
    - Dst: qptMakeWhenThenNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1396,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1399,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1355
    functionDepth: 8
    functionLinenumber: 1355
    functionLinenumberEnd: 1404
    functionName: qptMakeExprNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 5
    functionsReached:
    - qptMakeNodeListNode
    - qptMakeColumnNode
    - qptMakeLogicCondNode
    - qptMakeValueNode
    - qptMakeWhenThenNode
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - qptMakeFunctionNode
    - qptMakeCaseWhenNode
    - qptMakeRandNode
    - qptMakeNonRealTableNode
    - qptMakeOperatorNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeExprNode(SNode** ppNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1410,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1411,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1414,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1414,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1415,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1420,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1421,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1422,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1425,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1425,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1427,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1428,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1429,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1432,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1432,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1435,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1436,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1437,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1438,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1407
    functionDepth: 6
    functionLinenumber: 1407
    functionLinenumberEnd: 1448
    functionName: qptMakeLimitNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeLimitNode(SNode** ppNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1452,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1453,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1457,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1457,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1458,1
    - Dst: qptMakeValueNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1461,1
    - Dst: qptMakeValueNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1451
    functionDepth: 7
    functionLinenumber: 1451
    functionLinenumberEnd: 1467
    functionName: qptMakeWindowOffsetNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeValueNode
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeWindowOffsetNode(SNode** ppNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1471
    functionName: qptSaveMakeNodeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qptSaveMakeNodeCtx()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1475
    functionName: qptRestoreMakeNodeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qptRestoreMakeNodeCtx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1482
    functionName: qptResetTableCols
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void qptResetTableCols()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: QPT_PHYSIC_NODE_NUM
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_PHYSIC_NODE_NUM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: QPT_LOW_PROB
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_LOW_PROB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: QPT_MID_PROB
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_MID_PROB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: QPT_HIGH_PROB
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_HIGH_PROB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: QPT_CORRECT_HIGH_PROB
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_CORRECT_HIGH_PROB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: QPT_NCORRECT_LOW_PROB
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_NCORRECT_LOW_PROB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: QPT_VALID_DESC
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPT_VALID_DESC(_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: qptGetSpecificPlanIndex
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetSpecificPlanIndex(int32_t type)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:357,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - colType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 364
    functionName: qptGetColumnRandLen
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetColumnRandLen(int32_t colType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:369,1
    - Dst: qptGetColumnRandLen
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:371,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:381,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:382,1
    - Dst: qptGetColumnRandLen
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pCol
    - idx
    - colType
    argTypes:
    - SQPTCol*
    - int32_t
    - EColumnType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 389
    functionName: qptInitSingleTableCol
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - sprintf
    - qptGetColumnRandLen
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qptInitSingleTableCol(SQPTCol* pCol, int32_t idx, EColumnType
      colType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 452
    functionName: qptPrintBeginInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void qptPrintBeginInfo()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:459,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: qptPrintEndInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void qptPrintEndInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: qptPrintStatInfo
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void qptPrintStatInfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 480
    functionName: qptGetDynamicOp
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_NCORRECT_LOW_PROB
    linkageType: ''
    returnType: bool
    signature: bool qptGetDynamicOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: qptGetCurrTsOrder
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    linkageType: ''
    returnType: EOrder
    signature: EOrder qptGetCurrTsOrder()
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:487,1
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:489,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:493,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:498,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:498,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:504,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:504,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:506,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:507,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:512,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:512,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:514,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:515,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:516,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:520,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:520,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:522,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:523,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:524,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:528,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:528,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:530,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:531,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:532,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:537,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:537,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:539,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:540,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:541,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:545,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:545,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:547,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:548,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:549,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:553,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:553,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:555,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:556,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:557,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:567,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:569,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:570,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:571,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:572,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:572,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:576,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:578,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:579,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:580,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:580,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:581,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:582,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:583,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:583,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:583,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:585,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:586,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:591,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:591,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:593,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:594,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:595,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:599,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:599,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:601,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:602,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:603,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:607,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:607,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:609,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:610,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:611,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:615,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:615,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:617,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:618,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:619,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:623,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:625,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:626,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:627,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:627,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 141
    argCount: 3
    argNames:
    - pType
    - pLen
    - ppVal
    argTypes:
    - uint8_t*
    - int32_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 631
    functionName: qptGetRandValue
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 3
    functionsReached:
    - taosMemoryMalloc
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - memset
    - taosMemoryFree
    - taosMemoryCalloc
    - varDataVal
    - taosMbsToUcs4
    - TD_ALWAYS_ASSERT
    - varDataSetLen
    linkageType: ''
    returnType: void
    signature: void qptGetRandValue(uint8_t* pType, int32_t* pLen, void** ppVal)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:647,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - pType
    - pVal
    argTypes:
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 663
    functionName: qptFreeRandValue
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void qptFreeRandValue(int32_t* pType, void* pVal)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 679
    functionName: qptGetRandRealTableType
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qptGetRandRealTableType(int8_t* tableType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:682,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:683,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pInput
    argTypes:
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 687
    functionName: qptGetInputSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetInputSlotId(SDataBlockDescNode* pInput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:690,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:691,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 695
    functionName: qptGetRandNullOrder
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_NCORRECT_LOW_PROB
    - taosRand
    linkageType: ''
    returnType: ENullOrder
    signature: ENullOrder qptGetRandNullOrder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: qptGetRandTimestampUnit
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    linkageType: ''
    returnType: int8_t
    signature: int8_t qptGetRandTimestampUnit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:705,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 710
    functionName: qptGetInputPrimaryTsSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetInputPrimaryTsSlotId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:715,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:715,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: qptGetRandSubplanMsgType
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetRandSubplanMsgType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:719,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - size
    - pOut
    argTypes:
    - int32_t
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 723
    functionName: qptNodesCalloc
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void qptNodesCalloc(int32_t num, int32_t size, void** pOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: qptNodesFree
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void qptNodesFree(void* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:731,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:732,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 736
    functionName: qptGetRandFillMode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: EFillMode
    signature: EFillMode qptGetRandFillMode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:740,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:741,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:742,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:746,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 748
    functionName: qptGetRandTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qptGetRandTimeWindow(STimeWindow* pWindow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:751,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:752,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:758,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 772
    functionName: qptGetSubplanNum
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_NCORRECT_LOW_PROB
    - nodeType
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptGetSubplanNum(SNodeList* pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 769
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 26
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qptNodesCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 789
    functionName: qptNodesListAppend
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - qptNodesCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptNodesListAppend(SNodeList* pList, SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qptNodesListAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:792,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 791
    functionDepth: 4
    functionLinenumber: 791
    functionLinenumberEnd: 797
    functionName: qptNodesListStrictAppend
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - qptNodesListAppend
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptNodesListStrictAppend(SNodeList* pList, SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:801,1
    - Dst: qptNodesListStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 799
    functionDepth: 5
    functionLinenumber: 799
    functionLinenumberEnd: 807
    functionName: qptNodesListMakeStrictAppend
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 3
    functionsReached:
    - nodesMakeList
    - qptNodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t qptNodesListMakeStrictAppend(SNodeList** pList, SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:811,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 809
    functionDepth: 5
    functionLinenumber: 809
    functionLinenumberEnd: 813
    functionName: qptMakeRandNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 16
    functionsReached:
    - nodesMakeNode
    - taosRand
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeRandNode(SNode** ppNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:818,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:819,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:827,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:827,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:828,1
    - Dst: qptInitSingleTableCol
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:832,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:832,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:832,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:834,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:836,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:836,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:838,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:849,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:850,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:851,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:852,1
    - Dst: qptGetRandValue
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:861,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:863,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:864,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:865,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:866,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:867,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:873,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:878,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:883,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:888,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:892,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:893,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:896,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 70
    argCount: 1
    argNames:
    - colIdx
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 817
    functionDepth: 6
    functionLinenumber: 817
    functionLinenumberEnd: 901
    functionName: qptMakeColumnFromTable
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - qptGetRandValue
    - strcpy
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    - qptInitSingleTableCol
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeColumnFromTable(int32_t colIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:905,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:906,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:909,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:909,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:910,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:913,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 904
    functionDepth: 9
    functionLinenumber: 904
    functionLinenumberEnd: 918
    functionName: qptMakeWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 2
    functionsReached:
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - qptMakeExprNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeWhenThenNode(SNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:922,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:923,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:926,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:926,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:927,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:934,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:938,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:941,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:941,1
    - Dst: qptMakeWhenThenNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:944,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 921
    functionDepth: 9
    functionLinenumber: 921
    functionLinenumberEnd: 949
    functionName: qptMakeCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - qptMakeWhenThenNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - qptMakeExprNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeCaseWhenNode(SNode** ppNode)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:953,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:954,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:957,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:958,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:958,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:961,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:988,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:989,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:990,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:993,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:996,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1010,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1011,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1014,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1017,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1023,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1026,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 952
    functionDepth: 9
    functionLinenumber: 952
    functionLinenumberEnd: 1032
    functionName: qptMakeOperatorNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - qptMakeExprNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeOperatorNode(SNode** ppNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1035,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1036,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1041,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1043,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1044,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1048,1
    - Dst: qptMakeColumnFromTable
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1056,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1066,1
    - Dst: qptGetRandValue
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1067,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1068,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1069,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1034
    functionDepth: 7
    functionLinenumber: 1034
    functionLinenumberEnd: 1075
    functionName: qptMakeColumnNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - qptGetRandValue
    - qptMakeColumnFromTable
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeColumnNode(SNode** ppNode)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1080,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1084,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1089,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1094,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1099,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1104,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1109,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1114,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1124,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1129,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1134,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1139,1
    - Dst: QPT_MID_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1147,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1161,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 87
    argCount: 2
    argNames:
    - pNode
    - value
    argTypes:
    - SValueNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1164
    functionName: qptNodesSetValueNodeValue
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - QPT_MID_PROB
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void qptNodesSetValueNodeValue(SValueNode* pNode, void* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1168,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1169,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1173,1
    - Dst: qptGetRandValue
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1177,1
    - Dst: qptNodesSetValueNodeValue
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - valType
    - ppNode
    argTypes:
    - uint8_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1167
    functionDepth: 6
    functionLinenumber: 1167
    functionLinenumberEnd: 1187
    functionName: qptMakeValueNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 2
    functionsReached:
    - qptGetRandValue
    - qptNodesSetValueNodeValue
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeValueNode(uint8_t valType, SNode** ppNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1190,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1191,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1195,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1197,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1198,1
    - Dst: fmGetFuncName
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1199,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1200,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1202,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1204,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1206,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1210,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1215,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1218,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1221,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1189
    functionDepth: 9
    functionLinenumber: 1189
    functionLinenumberEnd: 1229
    functionName: qptMakeFunctionNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - strcpy
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - fmGetFuncName
    - qptMakeRandNode
    - qptMakeExprNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeFunctionNode(SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1235,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1236,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1240,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1242,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1243,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1243,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1245,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1250,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1250,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1250,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1253,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1234
    functionDepth: 9
    functionLinenumber: 1234
    functionLinenumberEnd: 1260
    functionName: qptMakeLogicCondNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - qptMakeExprNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeLogicCondNode(SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1263,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1264,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1273,1
    - Dst: qptMakeNodeList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - nodeType
    - ppNode
    argTypes:
    - QPT_NODE_TYPE
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1262
    functionDepth: 6
    functionLinenumber: 1262
    functionLinenumberEnd: 1282
    functionName: qptMakeNodeListNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeNodeList
    - qptMakeRandNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeNodeListNode(QPT_NODE_TYPE nodeType, SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1285,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1286,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1290,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1290,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1284
    functionDepth: 6
    functionLinenumber: 1284
    functionLinenumberEnd: 1299
    functionName: qptMakeTempTableNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeTempTableNode(SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1302,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1303,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1307,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1307,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1301
    functionDepth: 6
    functionLinenumber: 1301
    functionLinenumberEnd: 1316
    functionName: qptMakeJoinTableNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeJoinTableNode(SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1319,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1320,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1324,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1324,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1318
    functionDepth: 6
    functionLinenumber: 1318
    functionLinenumberEnd: 1333
    functionName: qptMakeRealTableNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeRealTableNode(SNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1338,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1339,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1342,1
    - Dst: qptMakeTempTableNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1344,1
    - Dst: qptMakeJoinTableNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1346,1
    - Dst: qptMakeRealTableNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1337
    functionDepth: 7
    functionLinenumber: 1337
    functionLinenumberEnd: 1353
    functionName: qptMakeNonRealTableNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - qptMakeJoinTableNode
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - qptMakeRealTableNode
    - qptMakeTempTableNode
    - qptMakeRandNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeNonRealTableNode(SNode** ppNode)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1361,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1362,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1370,1
    - Dst: qptMakeColumnNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1372,1
    - Dst: qptMakeValueNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1375,1
    - Dst: qptMakeFunctionNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1378,1
    - Dst: qptMakeLogicCondNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1381,1
    - Dst: qptMakeNodeListNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1384,1
    - Dst: qptMakeOperatorNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1387,1
    - Dst: qptMakeNonRealTableNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1390,1
    - Dst: qptMakeCaseWhenNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1393,1
    - Dst: qptMakeWhenThenNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1396,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1399,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1355
    functionDepth: 8
    functionLinenumber: 1355
    functionLinenumberEnd: 1404
    functionName: qptMakeExprNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 10
    functionsReached:
    - qptMakeNodeListNode
    - qptMakeColumnNode
    - qptMakeLogicCondNode
    - qptMakeValueNode
    - qptMakeWhenThenNode
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - qptMakeFunctionNode
    - qptMakeCaseWhenNode
    - qptMakeRandNode
    - qptMakeNonRealTableNode
    - qptMakeOperatorNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeExprNode(SNode** ppNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1410,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1411,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1414,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1414,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1415,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1420,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1421,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1422,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1425,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1425,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1427,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1428,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1429,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1432,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1432,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1435,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1436,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1437,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1438,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1407
    functionDepth: 6
    functionLinenumber: 1407
    functionLinenumberEnd: 1448
    functionName: qptMakeLimitNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeLimitNode(SNode** ppNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1452,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1453,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1457,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1457,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1458,1
    - Dst: qptMakeValueNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1461,1
    - Dst: qptMakeValueNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1451
    functionDepth: 7
    functionLinenumber: 1451
    functionLinenumberEnd: 1467
    functionName: qptMakeWindowOffsetNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeValueNode
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeWindowOffsetNode(SNode** ppNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1471
    functionName: qptSaveMakeNodeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qptSaveMakeNodeCtx()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1475
    functionName: qptRestoreMakeNodeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qptRestoreMakeNodeCtx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1482
    functionName: qptResetTableCols
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void qptResetTableCols()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qptResetTableCols
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1495
    functionName: qptResetMakeNodeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptResetTableCols
    linkageType: ''
    returnType: void
    signature: void qptResetMakeNodeCtx()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1506,1
    - Dst: qptResetMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - fromTable
    - onlyTag
    - onlyCol
    - inputBlockId
    - pInputList
    argTypes:
    - bool
    - bool
    - bool
    - int16_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1497
    functionDepth: 2
    functionLinenumber: 1497
    functionLinenumberEnd: 1518
    functionName: qptInitMakeNodeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptResetMakeNodeCtx
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qptInitMakeNodeCtx(bool fromTable, bool onlyTag, bool onlyCol,
      int16_t inputBlockId, SNodeList* pInputList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1520
    functionDepth: 9
    functionLinenumber: 1520
    functionLinenumberEnd: 1525
    functionName: qptMakeConditionNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeExprNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeConditionNode()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1530,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1531,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1534,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1534,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1536,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1537,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1537,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1538,1
    - Dst: qptGetRandValue
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - pName
    - pNode
    - slotId
    - output
    - reserve
    argTypes:
    - char*
    - SNode*
    - int16_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1528
    functionDepth: 6
    functionLinenumber: 1528
    functionLinenumberEnd: 1548
    functionName: qptMakeSlotDescNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptGetRandValue
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - snprintf
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeSlotDescNode(const char* pName, const SNode* pNode,
      int16_t slotId, bool output, bool reserve)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1552,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1553,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1557,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1557,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1559,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - forSink
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1551
    functionDepth: 6
    functionLinenumber: 1551
    functionLinenumberEnd: 1563
    functionName: qptMakeDataBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeDataBlockDescNode(bool forSink)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1566,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1567,1
    - Dst: QPT_VALID_DESC
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1574,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1575,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1576,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1578,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1578,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1580,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1581,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1582,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1583,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1585,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1587,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1588,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1593,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1593,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1595,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1596,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1600,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1602,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1603,1
    - Dst: qptMakeSlotDescNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1604,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1605,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1610,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - forSink
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1565
    functionDepth: 9
    functionLinenumber: 1565
    functionLinenumberEnd: 1615
    functionName: qptMakeDataBlockDescNodeFromNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeSlotDescNode
    - QPT_VALID_DESC
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - FOREACH
    - nodesDestroyNode
    - qptMakeRandNode
    - qptMakeExprNode
    - nodesCloneNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeDataBlockDescNodeFromNode(bool forSink)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1620,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1621,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1622,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1626,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1626,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1628,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1628,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1629,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1629,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1630,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1630,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - pNode
    - dataBlockId
    - slotId
    - pOutput
    argTypes:
    - SNode*
    - int64_t
    - int16_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1619
    functionDepth: 6
    functionLinenumber: 1619
    functionLinenumberEnd: 1638
    functionName: qptMakeTargetNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    - nodesDestroyNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeTargetNode(SNode* pNode, int64_t dataBlockId, int16_t
      slotId, SNode** pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1641,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1642,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1646,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1649,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1650,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1650,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1651,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1651,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1652,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1653,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1640
    functionDepth: 6
    functionLinenumber: 1640
    functionLinenumberEnd: 1659
    functionName: qptMakeDownstreamSrcNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - nodesMakeNode
    - qptMakeRandNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeDownstreamSrcNode(SNode** ppNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1662,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1663,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1667,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1669,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1669,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1670,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1672,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1672,1
    - Dst: qptGetRandNullOrder
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1661
    functionDepth: 9
    functionLinenumber: 1661
    functionLinenumberEnd: 1678
    functionName: qptMakeOrderByExprNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - qptInitMakeNodeCtx
    - nodesMakeNode
    - qptGetRandNullOrder
    - qptMakeRandNode
    - qptMakeExprNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeOrderByExprNode(SNode** ppNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1681,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1682,1
    - Dst: qptCreateSubplanNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1680
    functionDepth: 6
    functionLinenumber: 1680
    functionLinenumberEnd: 1688
    functionName: qptMakeSubplanNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_NCORRECT_LOW_PROB
    - qptCreateSubplanNode
    - qptMakeRandNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeSubplanNode(SNode** ppNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1695,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1695,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1696,1
    - Dst: qptMakeLimitNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1700,1
    - Dst: qptMakeLimitNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1701,1
    - Dst: qptGetDynamicOp
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1702,1
    - Dst: qptGetCurrTsOrder
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1703,1
    - Dst: qptMakeDataBlockDescNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1693
    functionDepth: 7
    functionLinenumber: 1693
    functionLinenumberEnd: 1708
    functionName: qptCreatePhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - qptMakeDataBlockDescNode
    - qptGetDynamicOp
    - qptGetCurrTsOrder
    - TD_ALWAYS_ASSERT
    - qptMakeLimitNode
    linkageType: ''
    returnType: SPhysiNode
    signature: SPhysiNode * qptCreatePhysiNode(int32_t nodeType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qptGetCurrTsOrder
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1711,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1714,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1714,1
    - Dst: qptMakeConditionNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pPhysiNode
    argTypes:
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1710
    functionDepth: 10
    functionLinenumber: 1710
    functionLinenumberEnd: 1718
    functionName: qptPostCreatePhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptInitMakeNodeCtx
    - qptGetCurrTsOrder
    - qptMakeConditionNode
    - QPT_CORRECT_HIGH_PROB
    linkageType: ''
    returnType: void
    signature: void qptPostCreatePhysiNode(SPhysiNode* pPhysiNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1723,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1724,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1732,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1733,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - colNum
    - totalColNum
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1720
    functionDepth: 1
    functionLinenumber: 1720
    functionLinenumberEnd: 1743
    functionName: qptMarkTableInUseCols
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - TD_ALWAYS_ASSERT
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qptMarkTableInUseCols(int32_t colNum, int32_t totalColNum)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QPT_NCORRECT_LOW_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1747,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1749,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1757,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1757,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1757,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1761,1
    - Dst: qptMarkTableInUseCols
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1762,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1765,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1766,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1767,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1773,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1773,1
    - Dst: qptMakeColumnFromTable
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1773,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1781,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1784,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1784,1
    - Dst: qptMakeColumnFromTable
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1784,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1788,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1789,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1789,1
    - Dst: qptMakeColumnFromTable
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1789,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - ppCols
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1746
    functionDepth: 7
    functionLinenumber: 1746
    functionLinenumberEnd: 1792
    functionName: qptMakeTableScanColList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - qptMarkTableInUseCols
    - nodesMakeList
    - qptMakeColumnFromTable
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - QPT_NCORRECT_LOW_PROB
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void qptMakeTableScanColList(       SNodeList** ppCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1796,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1796,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1796,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1796,1
    - Dst: qptMakeTableScanColList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - blockId
    - ppList
    argTypes:
    - int16_t
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1795
    functionDepth: 8
    functionLinenumber: 1795
    functionLinenumberEnd: 1798
    functionName: qptCreateTableScanCols
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptInitMakeNodeCtx
    - qptMakeTableScanColList
    - QPT_CORRECT_HIGH_PROB
    linkageType: ''
    returnType: void
    signature: void qptCreateTableScanCols(       int16_t blockId, SNodeList** ppList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1801,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1801,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1801,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1801,1
    - Dst: qptMakeTableScanColList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - blockId
    - ppList
    argTypes:
    - int16_t
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1800
    functionDepth: 8
    functionLinenumber: 1800
    functionLinenumberEnd: 1803
    functionName: qptCreateTableScanPseudoCols
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptInitMakeNodeCtx
    - qptMakeTableScanColList
    - QPT_CORRECT_HIGH_PROB
    linkageType: ''
    returnType: void
    signature: void qptCreateTableScanPseudoCols(       int16_t blockId, SNodeList**
      ppList)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1807,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1811,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1820,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1821,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1822,1
    - Dst: qptMakeSlotDescNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1822,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1822,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1823,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1823,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1824,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1824,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1826,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1826,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1833,1
    - Dst: qptMakeTargetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1835,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pList
    - pDataBlockDesc
    argTypes:
    - SNodeList*
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1806
    functionDepth: 9
    functionLinenumber: 1806
    functionLinenumberEnd: 1839
    functionName: qptAddDataBlockSlots
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeSlotDescNode
    - REPLACE_NODE
    - LIST_LENGTH
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - nodeType
    - qptMakeExprNode
    - qptMakeTargetNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void qptAddDataBlockSlots(SNodeList* pList, SDataBlockDescNode* pDataBlockDesc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1820,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1821,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1822,1
    - Dst: qptMakeSlotDescNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1822,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1822,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1823,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1823,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1824,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1824,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1826,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1826,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1833,1
    - Dst: qptMakeTargetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1835,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1815
    functionDepth: 9
    functionLinenumber: 1815
    functionLinenumberEnd: 1838
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 28
    functionsReached:
    - qptMakeSlotDescNode
    - REPLACE_NODE
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - nodeType
    - qptMakeExprNode
    - qptMakeTargetNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qptMakeColumnNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1844,1
    - Dst: qptMakeFunctionNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1846,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1848,1
    - Dst: qptMakeValueNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1850,1
    - Dst: qptMakeRandNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - nodeType
    - ppNode
    argTypes:
    - QPT_NODE_TYPE
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1841
    functionDepth: 9
    functionLinenumber: 1841
    functionLinenumberEnd: 1856
    functionName: qptMakeSpecTypeNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeColumnNode
    - qptMakeValueNode
    - qptMakeFunctionNode
    - qptMakeRandNode
    - qptMakeExprNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptMakeSpecTypeNode(QPT_NODE_TYPE nodeType, SNode** ppNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptSaveMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1860,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1862,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1862,1
    - Dst: qptRestoreMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1865,1
    - Dst: qptMakeSpecTypeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1866,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1866,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1859
    functionDepth: 10
    functionLinenumber: 1859
    functionLinenumberEnd: 1869
    functionName: qptMakeRandNodeList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeSpecTypeNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptSaveMakeNodeCtx
    - qptRestoreMakeNodeCtx
    linkageType: ''
    returnType: void
    signature: void qptMakeRandNodeList(SNodeList** ppList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptSaveMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1873,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1875,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1875,1
    - Dst: qptRestoreMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1878,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1879,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1872
    functionDepth: 9
    functionLinenumber: 1872
    functionLinenumberEnd: 1882
    functionName: qptMakeExprList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptSaveMakeNodeCtx
    - qptMakeExprNode
    - qptRestoreMakeNodeCtx
    linkageType: ''
    returnType: void
    signature: void qptMakeExprList(SNodeList** ppList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptSaveMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1885,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1887,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1887,1
    - Dst: qptRestoreMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1890,1
    - Dst: qptMakeValueNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1891,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1884
    functionDepth: 7
    functionLinenumber: 1884
    functionLinenumberEnd: 1894
    functionName: qptMakeValueList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeValueNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptSaveMakeNodeCtx
    - qptRestoreMakeNodeCtx
    linkageType: ''
    returnType: void
    signature: void qptMakeValueList(SNodeList** ppList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptSaveMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1897,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1899,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1899,1
    - Dst: qptRestoreMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1902,1
    - Dst: qptMakeColumnNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1903,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1896
    functionDepth: 8
    functionLinenumber: 1896
    functionLinenumberEnd: 1906
    functionName: qptMakeColumnList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeColumnNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptSaveMakeNodeCtx
    - qptRestoreMakeNodeCtx
    linkageType: ''
    returnType: void
    signature: void qptMakeColumnList(SNodeList** ppList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptSaveMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1909,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1911,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1911,1
    - Dst: qptRestoreMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1914,1
    - Dst: qptMakeSpecTypeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1915,1
    - Dst: qptMakeTargetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1916,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - nodeType
    - datablockId
    - ppList
    argTypes:
    - QPT_NODE_TYPE
    - int64_t
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1908
    functionDepth: 10
    functionLinenumber: 1908
    functionLinenumberEnd: 1919
    functionName: qptMakeTargetList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeSpecTypeNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptSaveMakeNodeCtx
    - qptRestoreMakeNodeCtx
    - qptMakeTargetNode
    linkageType: ''
    returnType: void
    signature: void qptMakeTargetList(QPT_NODE_TYPE nodeType, int64_t datablockId,
      SNodeList** ppList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptSaveMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1922,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1924,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1924,1
    - Dst: qptRestoreMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1927,1
    - Dst: qptMakeFunctionNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1928,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1921
    functionDepth: 7
    functionLinenumber: 1921
    functionLinenumberEnd: 1931
    functionName: qptMakeFunctionList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptSaveMakeNodeCtx
    - qptMakeFunctionNode
    - qptRestoreMakeNodeCtx
    linkageType: ''
    returnType: void
    signature: void qptMakeFunctionList(SNodeList** ppList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptSaveMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1935,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1937,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1937,1
    - Dst: qptRestoreMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1940,1
    - Dst: qptMakeDownstreamSrcNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1941,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1934
    functionDepth: 7
    functionLinenumber: 1934
    functionLinenumberEnd: 1944
    functionName: qptMakeDownstreamSrcList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptSaveMakeNodeCtx
    - qptMakeDownstreamSrcNode
    - qptRestoreMakeNodeCtx
    linkageType: ''
    returnType: void
    signature: void qptMakeDownstreamSrcList(SNodeList** ppList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptSaveMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1948,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1950,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1950,1
    - Dst: qptRestoreMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1953,1
    - Dst: qptMakeOrderByExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1954,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1947
    functionDepth: 10
    functionLinenumber: 1947
    functionLinenumberEnd: 1957
    functionName: qptMakeOrerByExprList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptSaveMakeNodeCtx
    - qptRestoreMakeNodeCtx
    - qptMakeOrderByExprNode
    linkageType: ''
    returnType: void
    signature: void qptMakeOrerByExprList(SNodeList** ppList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptSaveMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1961,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1963,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1963,1
    - Dst: qptRestoreMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1966,1
    - Dst: qptMakeSubplanNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1967,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1960
    functionDepth: 7
    functionLinenumber: 1960
    functionLinenumberEnd: 1970
    functionName: qptMakeSubplanList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptSaveMakeNodeCtx
    - qptRestoreMakeNodeCtx
    - qptMakeSubplanNode
    linkageType: ''
    returnType: void
    signature: void qptMakeSubplanList(SNodeList** ppList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qptMakeColumnList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1975,1
    - Dst: qptMakeFunctionList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1977,1
    - Dst: qptMakeExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1979,1
    - Dst: qptMakeValueList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1981,1
    - Dst: qptMakeSubplanList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1983,1
    - Dst: qptMakeRandNodeList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - nodeType
    - ppList
    argTypes:
    - QPT_NODE_TYPE
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1972
    functionDepth: 11
    functionLinenumber: 1972
    functionLinenumberEnd: 1989
    functionName: qptMakeSpecTypeNodeList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeRandNodeList
    - qptMakeFunctionList
    - qptMakeColumnList
    - qptMakeExprList
    - qptMakeSubplanList
    - qptMakeValueList
    linkageType: ''
    returnType: void
    signature: void qptMakeSpecTypeNodeList(QPT_NODE_TYPE nodeType, SNodeList** ppList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptMakeSpecTypeNodeList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:1993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nodeType
    - ppList
    argTypes:
    - QPT_NODE_TYPE
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1992
    functionDepth: 12
    functionLinenumber: 1992
    functionLinenumberEnd: 1994
    functionName: qptMakeNodeList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 2
    functionsReached:
    - qptMakeSpecTypeNodeList
    linkageType: ''
    returnType: void
    signature: void qptMakeNodeList(QPT_NODE_TYPE nodeType, SNodeList** ppList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2001,1
    - Dst: qptMakeTargetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2004,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pInputList
    - blockId
    - ppOutList
    argTypes:
    - SNodeList*
    - int16_t
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1998
    functionDepth: 7
    functionLinenumber: 1998
    functionLinenumberEnd: 2008
    functionName: qptMakeAppendToTargetList
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeTargetNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    linkageType: ''
    returnType: void
    signature: void qptMakeAppendToTargetList(SNodeList* pInputList, int16_t blockId,
      SNodeList** ppOutList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2001,1
    - Dst: qptMakeTargetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2004,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 2000
    functionDepth: 7
    functionLinenumber: 2000
    functionLinenumberEnd: 2007
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 28
    functionsReached:
    - qptMakeTargetNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pInputList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2012,1
    - Dst: QPT_VALID_DESC
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2012,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2012,1
    - Dst: qptCreateTableScanCols
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2013,1
    - Dst: qptAddDataBlockSlots
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2015,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2017,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2018,1
    - Dst: QPT_VALID_DESC
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2018,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2018,1
    - Dst: qptCreateTableScanPseudoCols
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2019,1
    - Dst: qptAddDataBlockSlots
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2022,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2024,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2024,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2025,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2025,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2026,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2026,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2027,1
    - Dst: toName
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2030,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2031,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2032,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2039,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2010
    functionDepth: 10
    functionLinenumber: 2010
    functionLinenumberEnd: 2040
    functionName: qptCreateScanPhysiNodeImpl
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - QPT_VALID_DESC
    - memcpy
    - qptCreateTableScanPseudoCols
    - toName
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptAddDataBlockSlots
    - qptCreateTableScanCols
    linkageType: ''
    returnType: void
    signature: void qptCreateScanPhysiNodeImpl(         SScanPhysiNode* pScan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2045,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2048,1
    - Dst: qptCreateScanPhysiNodeImpl
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2050,1
    - Dst: qptPostCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2044
    functionDepth: 11
    functionLinenumber: 2044
    functionLinenumberEnd: 2055
    functionName: qptCreateTagScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptCreateScanPhysiNodeImpl
    - qptPostCreatePhysiNode
    - taosRand
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateTagScanPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2058,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2061,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2062,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2063,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2064,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2065,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2066,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2068,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2068,1
    - Dst: qptMakeFunctionList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2069,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2071,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2071,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2071,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2071,1
    - Dst: qptMakeColumnList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2072,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2076,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2076,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2076,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2076,1
    - Dst: qptMakeExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2077,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2079,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2079,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2080,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2081,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2082,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2083,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2084,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2085,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2086,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2087,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2088,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2090,1
    - Dst: qptCreateScanPhysiNodeImpl
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2096,1
    - Dst: qptPostCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2057
    functionDepth: 11
    functionLinenumber: 2057
    functionLinenumberEnd: 2101
    functionName: qptCreateTableScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptCreateScanPhysiNodeImpl
    - qptMakeFunctionList
    - qptPostCreatePhysiNode
    - qptMakeColumnList
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - qptMakeExprList
    - qptMakeExprNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateTableScanPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateTableScanPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2104
    functionDepth: 12
    functionLinenumber: 2104
    functionLinenumberEnd: 2106
    functionName: qptCreateTableSeqScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateTableScanPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateTableSeqScanPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateTableScanPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2108
    functionDepth: 12
    functionLinenumber: 2108
    functionLinenumberEnd: 2110
    functionName: qptCreateTableMergeScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateTableScanPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateTableMergeScanPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateTableScanPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2112
    functionDepth: 12
    functionLinenumber: 2112
    functionLinenumberEnd: 2114
    functionName: qptCreateStreamScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateTableScanPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamScanPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2117,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2121,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2123,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2123,1
    - Dst: qptCreateScanPhysiNodeImpl
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2126,1
    - Dst: qptPostCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2116
    functionDepth: 11
    functionLinenumber: 2116
    functionLinenumberEnd: 2131
    functionName: qptCreateSysTableScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptCreateScanPhysiNodeImpl
    - memcpy
    - qptPostCreatePhysiNode
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateSysTableScanPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2134,1
    - Dst: qptCreateScanPhysiNodeImpl
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2138,1
    - Dst: qptPostCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2133
    functionDepth: 11
    functionLinenumber: 2133
    functionLinenumberEnd: 2143
    functionName: qptCreateBlockDistScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptCreateScanPhysiNodeImpl
    - qptPostCreatePhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateBlockDistScanPhysiNode(int32_t nodeType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2147,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2151,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2151,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2151,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2151,1
    - Dst: qptMakeColumnList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2152,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2157,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2158,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2158,1
    - Dst: qptMakeAppendToTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2159,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2162,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2163,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2163,1
    - Dst: qptMakeAppendToTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2164,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2168,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2169,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2170,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2172,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2173,1
    - Dst: qptCreateScanPhysiNodeImpl
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2177,1
    - Dst: qptPostCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2146
    functionDepth: 11
    functionLinenumber: 2146
    functionLinenumberEnd: 2182
    functionName: qptCreateLastRowScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - taosArrayPush
    - qptCreateScanPhysiNodeImpl
    - qptPostCreatePhysiNode
    - qptMakeAppendToTargetList
    - qptMakeColumnList
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - taosArrayInit
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateLastRowScanPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateLastRowScanPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2184
    functionDepth: 12
    functionLinenumber: 2184
    functionLinenumberEnd: 2186
    functionName: qptCreateTableCountScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateLastRowScanPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateTableCountScanPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2190,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2198,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2198,1
    - Dst: qptMakeExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2199,1
    - Dst: qptAddDataBlockSlots
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2201,1
    - Dst: qptPostCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2189
    functionDepth: 11
    functionLinenumber: 2189
    functionLinenumberEnd: 2206
    functionName: qptCreateProjectPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptPostCreatePhysiNode
    - QPT_CORRECT_HIGH_PROB
    - qptInitMakeNodeCtx
    - qptMakeExprList
    - qptAddDataBlockSlots
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateProjectPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2210,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2214,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2214,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2215,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2215,1
    - Dst: qptMakeWindowOffsetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2216,1
    - Dst: qptMakeLimitNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2217,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2218,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2218,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2220,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2220,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2221,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2223,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2223,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2224,1
    - Dst: qptGetInputSlotId
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2226,1
    - Dst: qptGetInputSlotId
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2227,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2229,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2229,1
    - Dst: qptMakeColumnList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2230,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2232,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2232,1
    - Dst: qptMakeColumnList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2233,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2235,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2235,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2236,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2238,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2238,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2239,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2241,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2241,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2242,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2244,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2244,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2245,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2247,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2247,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2248,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2248,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2249,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2252,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2209
    functionDepth: 11
    functionLinenumber: 2209
    functionLinenumberEnd: 2260
    functionName: qptCreateMergeJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptMakeWindowOffsetNode
    - qptMakeColumnList
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - qptGetInputSlotId
    - qptMakeExprNode
    - qptMakeLimitNode
    - qptMakeTargetList
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateMergeJoinPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2263,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2267,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2267,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2268,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2268,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2269,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2271,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2271,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2272,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2272,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2273,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2275,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2275,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2276,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2276,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2262
    functionDepth: 11
    functionLinenumber: 2262
    functionLinenumberEnd: 2284
    functionName: qptCreateHashAggPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - qptMakeTargetList
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateHashAggPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2287,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2291,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2292,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2295,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2295,1
    - Dst: qptMakeDownstreamSrcList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2286
    functionDepth: 8
    functionLinenumber: 2286
    functionLinenumberEnd: 2301
    functionName: qptCreateExchangePhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptMakeDownstreamSrcList
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateExchangePhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2304,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2308,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2308,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2308,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2310,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2310,1
    - Dst: qptMakeOrerByExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2311,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2313,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2313,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2314,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2314,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2315,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2317,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2318,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2319,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2303
    functionDepth: 11
    functionLinenumber: 2303
    functionLinenumberEnd: 2326
    functionName: qptCreateMergePhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - qptMakeOrerByExprList
    - qptMakeTargetList
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateMergePhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2330,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2334,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2334,1
    - Dst: qptMakeExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2335,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2337,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2337,1
    - Dst: qptMakeOrerByExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2338,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2340,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2340,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2341,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2341,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2329
    functionDepth: 11
    functionLinenumber: 2329
    functionLinenumberEnd: 2348
    functionName: qptCreateSortPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - qptMakeExprList
    - qptMakeOrerByExprList
    - qptMakeTargetList
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateSortPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2351,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2355,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2355,1
    - Dst: qptMakeExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2356,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2358,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2358,1
    - Dst: qptMakeOrerByExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2359,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2361,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2361,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2362,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2362,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2350
    functionDepth: 11
    functionLinenumber: 2350
    functionLinenumberEnd: 2369
    functionName: qptCreateGroupSortPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - qptMakeExprList
    - qptMakeOrerByExprList
    - qptMakeTargetList
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateGroupSortPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2372,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2372,1
    - Dst: qptMakeExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2373,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2375,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2375,1
    - Dst: qptMakeFunctionList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2376,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2378,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2378,1
    - Dst: qptMakeColumnNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2379,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2381,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2381,1
    - Dst: qptMakeColumnNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2382,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2384,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2385,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2386,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - SWindowPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2371
    functionDepth: 10
    functionLinenumber: 2371
    functionLinenumberEnd: 2389
    functionName: qptCreateWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeFunctionList
    - qptMakeColumnNode
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - qptMakeExprList
    linkageType: ''
    returnType: void
    signature: void qptCreateWindowPhysiNode(SWindowPhysiNode* pWindow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2392,1
    - Dst: qptCreateWindowPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2396,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2398,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2399,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2400,1
    - Dst: qptGetRandTimestampUnit
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2401,1
    - Dst: qptGetRandTimestampUnit
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2391
    functionDepth: 11
    functionLinenumber: 2391
    functionLinenumberEnd: 2405
    functionName: qptCreateIntervalPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptGetRandTimestampUnit
    - qptCreateWindowPhysiNode
    - taosRand
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateIntervalPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateIntervalPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2407
    functionDepth: 12
    functionLinenumber: 2407
    functionLinenumberEnd: 2409
    functionName: qptCreateMergeIntervalPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateIntervalPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateMergeIntervalPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateIntervalPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2411
    functionDepth: 12
    functionLinenumber: 2411
    functionLinenumberEnd: 2413
    functionName: qptCreateMergeAlignedIntervalPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateIntervalPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateMergeAlignedIntervalPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateIntervalPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2415
    functionDepth: 12
    functionLinenumber: 2415
    functionLinenumberEnd: 2417
    functionName: qptCreateStreamIntervalPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateIntervalPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamIntervalPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateIntervalPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2419
    functionDepth: 12
    functionLinenumber: 2419
    functionLinenumberEnd: 2421
    functionName: qptCreateStreamFinalIntervalPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateIntervalPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamFinalIntervalPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateIntervalPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2423
    functionDepth: 12
    functionLinenumber: 2423
    functionLinenumberEnd: 2425
    functionName: qptCreateStreamSemiIntervalPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateIntervalPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamSemiIntervalPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateIntervalPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2428
    functionDepth: 12
    functionLinenumber: 2428
    functionLinenumberEnd: 2430
    functionName: qptCreateStreamMidIntervalPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateIntervalPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamMidIntervalPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2434,1
    - Dst: qptGetRandFillMode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2438,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2440,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2440,1
    - Dst: qptMakeExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2441,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2443,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2443,1
    - Dst: qptMakeExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2444,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2446,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2446,1
    - Dst: qptMakeColumnNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2447,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2449,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2449,1
    - Dst: qptMakeNodeListNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2450,1
    - Dst: qptGetRandTimeWindow
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2433
    functionDepth: 10
    functionLinenumber: 2433
    functionLinenumberEnd: 2455
    functionName: qptCreateFillPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptMakeNodeListNode
    - qptMakeColumnNode
    - QPT_CORRECT_HIGH_PROB
    - qptInitMakeNodeCtx
    - qptMakeExprList
    - qptGetRandTimeWindow
    - qptGetRandFillMode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateFillPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateFillPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2457
    functionDepth: 11
    functionLinenumber: 2457
    functionLinenumberEnd: 2459
    functionName: qptCreateStreamFillPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateFillPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamFillPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2463,1
    - Dst: qptCreateWindowPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2467,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2462
    functionDepth: 11
    functionLinenumber: 2462
    functionLinenumberEnd: 2472
    functionName: qptCreateSessionPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptCreateWindowPhysiNode
    - taosRand
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateSessionPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateSessionPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2474
    functionDepth: 12
    functionLinenumber: 2474
    functionLinenumberEnd: 2476
    functionName: qptCreateStreamSessionPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateSessionPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamSessionPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateSessionPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2478
    functionDepth: 12
    functionLinenumber: 2478
    functionLinenumberEnd: 2480
    functionName: qptCreateStreamSemiSessionPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateSessionPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamSemiSessionPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateSessionPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2482
    functionDepth: 12
    functionLinenumber: 2482
    functionLinenumberEnd: 2484
    functionName: qptCreateStreamFinalSessionPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateSessionPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamFinalSessionPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2487,1
    - Dst: qptCreateWindowPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2491,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2493,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2493,1
    - Dst: qptMakeColumnNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2486
    functionDepth: 11
    functionLinenumber: 2486
    functionLinenumberEnd: 2497
    functionName: qptCreateStateWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptMakeColumnNode
    - QPT_CORRECT_HIGH_PROB
    - qptInitMakeNodeCtx
    - qptCreateWindowPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStateWindowPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateStateWindowPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2499
    functionDepth: 12
    functionLinenumber: 2499
    functionLinenumberEnd: 2501
    functionName: qptCreateStreamStatePhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateStateWindowPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamStatePhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2504,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2504,1
    - Dst: qptMakeExprList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2505,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2507,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2507,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2507,1
    - Dst: qptMakeColumnList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2508,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2510,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2510,1
    - Dst: qptMakeColumnList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2511,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2513,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2513,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2514,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2514,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2515,1
    - Dst: qptGetInputPrimaryTsSlotId
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pPartition
    argTypes:
    - SPartitionPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2503
    functionDepth: 11
    functionLinenumber: 2503
    functionLinenumberEnd: 2519
    functionName: qptCreatePartitionPhysiNodeImpl
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeColumnList
    - QPT_CORRECT_HIGH_PROB
    - qptGetInputPrimaryTsSlotId
    - taosRand
    - qptInitMakeNodeCtx
    - qptMakeExprList
    - qptMakeTargetList
    linkageType: ''
    returnType: void
    signature: void qptCreatePartitionPhysiNodeImpl(SPartitionPhysiNode* pPartition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2522,1
    - Dst: qptCreatePartitionPhysiNodeImpl
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2521
    functionDepth: 12
    functionLinenumber: 2521
    functionLinenumberEnd: 2529
    functionName: qptCreatePartitionPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptCreatePartitionPhysiNodeImpl
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreatePartitionPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2532,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2536,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2536,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2537,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2537,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2538,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2540,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2540,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2541,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2541,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2531
    functionDepth: 11
    functionLinenumber: 2531
    functionLinenumberEnd: 2545
    functionName: qptCreateIndefRowsFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - qptMakeTargetList
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateIndefRowsFuncPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2549,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2553,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2553,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2554,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2554,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2555,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2557,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2557,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2558,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2558,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2559,1
    - Dst: qptGetRandTimeWindow
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2561,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2563,1
    - Dst: qptGetRandTimestampUnit
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2564,1
    - Dst: qptGetRandFillMode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2566,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2568,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2568,1
    - Dst: qptMakeNodeListNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2569,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2571,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2571,1
    - Dst: qptMakeColumnNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2548
    functionDepth: 11
    functionLinenumber: 2548
    functionLinenumberEnd: 2575
    functionName: qptCreateInterpFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptGetRandTimestampUnit
    - qptMakeNodeListNode
    - qptMakeColumnNode
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - qptGetRandTimeWindow
    - qptGetRandFillMode
    - qptMakeTargetList
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateInterpFuncPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2578,1
    - Dst: qptCreateWindowPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2582,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2584,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2584,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2585,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2587,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2587,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2577
    functionDepth: 11
    functionLinenumber: 2577
    functionLinenumberEnd: 2591
    functionName: qptCreateMergeEventPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - QPT_CORRECT_HIGH_PROB
    - qptInitMakeNodeCtx
    - qptCreateWindowPhysiNode
    - qptMakeExprNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateMergeEventPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateMergeEventPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2593
    functionDepth: 12
    functionLinenumber: 2593
    functionLinenumberEnd: 2595
    functionName: qptCreateStreamEventPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateMergeEventPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamEventPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2598,1
    - Dst: qptCreateWindowPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2602,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2604,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2597
    functionDepth: 11
    functionLinenumber: 2597
    functionLinenumberEnd: 2608
    functionName: qptCreateCountWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptCreateWindowPhysiNode
    - taosRand
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateCountWindowPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateCountWindowPhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2610
    functionDepth: 12
    functionLinenumber: 2610
    functionLinenumberEnd: 2612
    functionName: qptCreateStreamCountWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateCountWindowPhysiNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateStreamCountWindowPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2615,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2619,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2619,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2620,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2620,1
    - Dst: qptMakeWindowOffsetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2621,1
    - Dst: qptMakeLimitNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2622,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2624,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2624,1
    - Dst: qptMakeColumnList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2625,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2627,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2627,1
    - Dst: qptMakeColumnList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2628,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2630,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2630,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2631,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2633,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2633,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2634,1
    - Dst: qptGetInputSlotId
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2636,1
    - Dst: qptGetInputSlotId
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2637,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2639,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2639,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2639,1
    - Dst: qptGetRandTimeWindow
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2640,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2642,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2642,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2643,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2645,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2645,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2646,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2648,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2648,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2649,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2651,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2651,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2652,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2652,1
    - Dst: qptMakeTargetList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2653,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2656,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2657,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2660,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2660,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2661,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2663,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2663,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2664,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2666,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2666,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2666,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2614
    functionDepth: 11
    functionLinenumber: 2614
    functionLinenumberEnd: 2670
    functionName: qptCreateHashJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptMakeWindowOffsetNode
    - qptGetRandTimeWindow
    - qptMakeColumnList
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - qptGetInputSlotId
    - qptMakeExprNode
    - qptMakeLimitNode
    - qptMakeTargetList
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateHashJoinPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2673,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2682,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2682,1
    - Dst: qptMakeColumnList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2672
    functionDepth: 9
    functionLinenumber: 2672
    functionLinenumberEnd: 2686
    functionName: qptCreateGroupCachePhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - qptMakeColumnList
    - qptInitMakeNodeCtx
    - QPT_CORRECT_HIGH_PROB
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateGroupCachePhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreatePhysiNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2689,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2693,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2693,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2697,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2698,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2699,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2688
    functionDepth: 8
    functionLinenumber: 2688
    functionLinenumberEnd: 2705
    functionName: qptCreateDynQueryCtrlPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysiNode
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateDynQueryCtrlPhysiNode(int32_t nodeType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2709,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2709,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2710,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2712,1
    - Dst: qptMakeDataBlockDescNodeFromNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2713,1
    - Dst: qptMakeDataBlockDescNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2707
    functionDepth: 10
    functionLinenumber: 2707
    functionLinenumberEnd: 2719
    functionName: qptCreateDataSinkNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - QPT_CORRECT_HIGH_PROB
    - nodesMakeNode
    - qptMakeDataBlockDescNode
    - qptMakeDataBlockDescNodeFromNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateDataSinkNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateDataSinkNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2721
    functionDepth: 11
    functionLinenumber: 2721
    functionLinenumberEnd: 2723
    functionName: qptCreateDataDispatchPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateDataSinkNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateDataDispatchPhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateDataSinkNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2726,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2728,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2729,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2725
    functionDepth: 11
    functionLinenumber: 2725
    functionLinenumberEnd: 2733
    functionName: qptCreateDataInsertPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreateDataSinkNode
    - taosMemoryMalloc
    - taosRand
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateDataInsertPhysiNode(int32_t nodeType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateDataSinkNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2736,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2738,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2738,1
    - Dst: qptMakeColumnList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2739,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2741,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2741,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2742,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2742,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2743,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2743,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2744,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2745,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2735
    functionDepth: 11
    functionLinenumber: 2735
    functionLinenumberEnd: 2754
    functionName: qptCreateDataQueryInsertPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - strcpy
    - qptMakeColumnList
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptInitMakeNodeCtx
    - qptCreateDataSinkNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateDataQueryInsertPhysiNode(int32_t nodeType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateDataSinkNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2758,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2760,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2760,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2761,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2761,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2762,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2763,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2768,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2769,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2770,1
    - Dst: qptGetRandTimeWindow
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2757
    functionDepth: 11
    functionLinenumber: 2757
    functionLinenumberEnd: 2778
    functionName: qptCreateDataDeletePhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - strcpy
    - sprintf
    - QPT_CORRECT_HIGH_PROB
    - taosRand
    - qptGetRandTimeWindow
    - qptCreateDataSinkNode
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateDataDeletePhysiNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pSinkIdx
    argTypes:
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2780
    functionDepth: 0
    functionLinenumber: 2780
    functionLinenumberEnd: 2782
    functionName: qptBuildSinkIdx
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qptBuildSinkIdx(int32_t* pSinkIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qptBuildSinkIdx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2789,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2792,1
    - Dst: qptCreatePhysicalPlanNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ppOutput
    argTypes:
    - SDataSinkNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2784
    functionDepth: 1
    functionLinenumber: 2784
    functionLinenumberEnd: 2795
    functionName: qptCreateSubplanDataSink
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptBuildSinkIdx
    - qptCreatePhysicalPlanNode
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qptCreateSubplanDataSink(SDataSinkNode** ppOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2800,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2800,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2803,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2806,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2806,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2806,1
    - Dst: qptGetRandSubplanMsgType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2807,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2808,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2809,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2810,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2812,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2813,1
    - Dst: qptCreatePhysiNodesTree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2815,1
    - Dst: qptCreateSubplanDataSink
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2817,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2819,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2819,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2819,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2820,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2822,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2822,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2822,1
    - Dst: qptMakeExprNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2823,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2798
    functionDepth: 9
    functionLinenumber: 2798
    functionLinenumberEnd: 2832
    functionName: qptCreateSubplanNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - qptCreatePhysiNodesTree
    - strcpy
    - sprintf
    - qptCreateSubplanDataSink
    - QPT_CORRECT_HIGH_PROB
    - qptGetRandSubplanMsgType
    - taosRand
    - nodesMakeNode
    - qptInitMakeNodeCtx
    - qptMakeExprNode
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateSubplanNode(int32_t nodeType)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nodeIdx
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2841
    functionName: qptCreatePhysicalPlanNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreatePhysicalPlanNode(int32_t nodeIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2847,1
    - Dst: qptCreatePhysicalPlanNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2843
    functionDepth: 1
    functionLinenumber: 2843
    functionLinenumberEnd: 2854
    functionName: qptCreateRealPhysicalPlanNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptCreatePhysicalPlanNode
    - taosRand
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateRealPhysicalPlanNode()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qptCreateRealPhysicalPlanNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2859,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2861,1
    - Dst: qptCreatePhysiNodesTree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2863,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ppRes
    - pParent
    - level
    argTypes:
    - SPhysiNode**
    - SPhysiNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2874
      start: 2856
    functionDepth: 6
    functionLinenumber: 2856
    functionLinenumberEnd: 2874
    functionName: qptCreatePhysiNodesTree
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 2
    functionsReached:
    - qptCreatePhysiNodesTree
    - qptCreateRealPhysicalPlanNode
    - qptNodesListMakeStrictAppend
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qptCreatePhysiNodesTree(SPhysiNode** ppRes, SPhysiNode* pParent,
      int32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2879,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pParents
    - pNew
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2876
    functionDepth: 6
    functionLinenumber: 2876
    functionLinenumberEnd: 2885
    functionName: qptAppendParentsSubplan
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - nodeType
    - qptNodesListMakeStrictAppend
    linkageType: ''
    returnType: void
    signature: void qptAppendParentsSubplan(SNodeList* pParents, SNodeList* pNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2879,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2878
    functionDepth: 6
    functionLinenumber: 2878
    functionLinenumberEnd: 2884
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 28
    functionsReached:
    - nodeType
    - qptNodesListMakeStrictAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2893,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2895,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2896,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2897,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pParents
    - pNew
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2887
    functionDepth: 6
    functionLinenumber: 2887
    functionLinenumberEnd: 2901
    functionName: qptSetSubplansRelation
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qptSetSubplansRelation(SNodeList* pParents, SNodeList* pNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2893,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2895,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2896,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2897,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2892
    functionDepth: 6
    functionLinenumber: 2892
    functionLinenumberEnd: 2900
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 28
    functionsReached:
    - nodesListGetNode
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pNew)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2907,1
    - Dst: qptAppendParentsSubplan
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2914,1
    - Dst: qptSetSubplansRelation
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2918,1
    - Dst: qptAppendParentsSubplan
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2919,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2903
    functionDepth: 7
    functionLinenumber: 2903
    functionLinenumberEnd: 2921
    functionName: qptBuildSubplansRelation
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - nodeType
    - qptSetSubplansRelation
    - qptAppendParentsSubplan
    linkageType: ''
    returnType: void
    signature: void qptBuildSubplansRelation(SNodeList* pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2907,1
    - Dst: qptAppendParentsSubplan
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2914,1
    - Dst: qptSetSubplansRelation
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2918,1
    - Dst: qptAppendParentsSubplan
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2919,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2920
      start: 2906
    functionDepth: 7
    functionLinenumber: 2906
    functionLinenumberEnd: 2920
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 28
    functionsReached:
    - nodeType
    - qptSetSubplansRelation
    - qptAppendParentsSubplan
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2925,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2925,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2927,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2928,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2928,1
    - Dst: qptInitMakeNodeCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2931,1
    - Dst: QPT_CORRECT_HIGH_PROB
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2931,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2932,1
    - Dst: qptMakeNodeListNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2932,1
    - Dst: qptGetSubplanNum
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2935,1
    - Dst: qptBuildSubplansRelation
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2936,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2938,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2945
      start: 2923
    functionDepth: 8
    functionLinenumber: 2923
    functionLinenumberEnd: 2945
    functionName: qptCreateQueryPlanNode
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptMakeNodeListNode
    - qptGetSubplanNum
    - QPT_CORRECT_HIGH_PROB
    - qptNodesListMakeStrictAppend
    - taosRand
    - nodesMakeNode
    - qptInitMakeNodeCtx
    - qptBuildSubplansRelation
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SNode
    signature: SNode * qptCreateQueryPlanNode(int32_t nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2948
    functionDepth: 1
    functionLinenumber: 2948
    functionLinenumberEnd: 2952
    functionName: qptRerunBlockedHere
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - taosSsleep
    linkageType: ''
    returnType: void
    signature: void qptRerunBlockedHere()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptResetTableCols
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2964
      start: 2954
    functionDepth: 1
    functionLinenumber: 2954
    functionLinenumberEnd: 2964
    functionName: qptResetForReRun
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptResetTableCols
    linkageType: ''
    returnType: void
    signature: void qptResetForReRun()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - contLoop
    argTypes:
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2980
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2980
    functionName: qptSingleTestDone
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qptSingleTestDone(bool* contLoop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2989,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2991,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2983
    functionDepth: 1
    functionLinenumber: 2983
    functionLinenumberEnd: 2994
    functionName: qptInitLogFile
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - printf
    - TAOS_STRCPY
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: void qptInitLogFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptInitLogFile
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:2999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2998
    functionDepth: 2
    functionLinenumber: 2998
    functionLinenumberEnd: 3000
    functionName: qptInitTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptInitLogFile
    linkageType: ''
    returnType: void
    signature: void qptInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 3002
    functionDepth: 0
    functionLinenumber: 3002
    functionLinenumberEnd: 3004
    functionName: qptHandleTestEnd
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qptHandleTestEnd()
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3007,1
    - Dst: createTagScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3009,1
    - Dst: createTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3012,1
    - Dst: createTableSeqScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3015,1
    - Dst: createTableMergeScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3018,1
    - Dst: createSysTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3023,1
    - Dst: createDataBlockInfoScanOperator
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3026,1
    - Dst: createCacherowsScanOperator
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3029,1
    - Dst: createProjectOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3032,1
    - Dst: createMergeJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3035,1
    - Dst: createGroupOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3040,1
    - Dst: createAggregateOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3042,1
    - Dst: createExchangeOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3047,1
    - Dst: createMultiwayMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3050,1
    - Dst: createSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3053,1
    - Dst: createGroupSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3056,1
    - Dst: createIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3059,1
    - Dst: createMergeIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3062,1
    - Dst: createMergeAlignedIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3065,1
    - Dst: createFillOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3068,1
    - Dst: createSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3071,1
    - Dst: createStatewindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3074,1
    - Dst: createPartitionOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3077,1
    - Dst: createIndefinitOutputOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3080,1
    - Dst: createTimeSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3083,1
    - Dst: dsCreateDataSinker
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3092,1
    - Dst: dsDestroyDataSinker
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3093,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3098,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3099,1
    - Dst: schedulerValidatePlan
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3103,1
    - Dst: createTableCountScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3107,1
    - Dst: createEventwindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3110,1
    - Dst: createHashJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3113,1
    - Dst: createGroupCacheOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3116,1
    - Dst: createDynQueryCtrlOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3119,1
    - Dst: createCountwindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3122,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3125,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 122
    argCount: 4
    argNames:
    - pReadHandle
    - pNode
    - pTaskInfo
    - ppOperaotr
    argTypes:
    - SReadHandle*
    - SNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3006
    functionDepth: 2
    functionLinenumber: 3006
    functionLinenumberEnd: 3134
    functionName: qptExecPlan
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - createSessionAggOperatorInfo
    - createGroupOperatorInfo
    - createTableMergeScanOperatorInfo
    - createProjectOperatorInfo
    - createMergeJoinOperatorInfo
    - createIndefinitOutputOperatorInfo
    - nodeType
    - createTableCountScanOperatorInfo
    - createCacherowsScanOperator
    - dsDestroyDataSinker
    - createMultiwayMergeOperatorInfo
    - qCreateExecTask
    - createExchangeOperatorInfo
    - createIntervalOperatorInfo
    - createSortOperatorInfo
    - createGroupSortOperatorInfo
    - createHashJoinOperatorInfo
    - dsCreateDataSinker
    - createFillOperatorInfo
    - createTableScanOperatorInfo
    - createTimeSliceOperatorInfo
    - createCountwindowOperatorInfo
    - createMergeIntervalOperatorInfo
    - createPartitionOperatorInfo
    - createTableSeqScanOperatorInfo
    - TD_ALWAYS_ASSERT
    - createSysTableScanOperatorInfo
    - taosStrdup
    - createTagScanOperatorInfo
    - createDynQueryCtrlOperatorInfo
    - createMergeAlignedIntervalOperatorInfo
    - createStatewindowOperatorInfo
    - schedulerValidatePlan
    - createAggregateOperatorInfo
    - createGroupCacheOperatorInfo
    - createDataBlockInfoScanOperator
    - createEventwindowOperatorInfo
    linkageType: ''
    returnType: void
    signature: void qptExecPlan(SReadHandle* pReadHandle, SNode* pNode, SExecTaskInfo*
      pTaskInfo, SOperatorInfo** ppOperaotr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptResetForReRun
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3143,1
    - Dst: doCreateTask
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3145,1
    - Dst: qptCreatePhysicalPlanNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3148,1
    - Dst: qptPrintBeginInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3150,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3152,1
    - Dst: qptExecPlan
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3154,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3156,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3157,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3158,1
    - Dst: qptPrintEndInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3160,1
    - Dst: qptHandleTestEnd
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3136
    functionDepth: 4
    functionLinenumber: 3136
    functionLinenumberEnd: 3163
    functionName: qptRunSingleOpTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptHandleTestEnd
    - qptResetForReRun
    - qptExecPlan
    - taosGetTimestampUs
    - qptPrintEndInfo
    - qptCreatePhysicalPlanNode
    - qptPrintBeginInfo
    - doDestroyTask
    - doCreateTask
    - nodesDestroyNode
    - destroyOperator
    linkageType: ''
    returnType: void
    signature: void qptRunSingleOpTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qptResetForReRun
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3171,1
    - Dst: qptPrintBeginInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3176,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3178,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3182,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3183,1
    - Dst: qptPrintEndInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3185,1
    - Dst: qptHandleTestEnd
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3165
    functionDepth: 4
    functionLinenumber: 3165
    functionLinenumberEnd: 3188
    functionName: qptRunSubplanTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptHandleTestEnd
    - qptResetForReRun
    - taosGetTimestampUs
    - qptPrintEndInfo
    - qptPrintBeginInfo
    - nodesDestroyNode
    - destroyOperator
    linkageType: ''
    returnType: void
    signature: void qptRunSubplanTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qptRunSingleOpTest
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3193,1
    - Dst: qptRunSubplanTest
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3197
      start: 3191
    functionDepth: 5
    functionLinenumber: 3191
    functionLinenumberEnd: 3197
    functionName: qptRunPlanTest
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptRunSubplanTest
    - qptRunSingleOpTest
    linkageType: ''
    returnType: void
    signature: void qptRunPlanTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3201
    functionName: qptInitNodeParam
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SQPTNodeParam
    signature: SQPTNodeParam * qptInitNodeParam(int32_t nodeType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3207,1
    - Dst: qptNodesCalloc
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3211,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3215,1
    - Dst: qptGetColumnRandLen
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3217,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3224,1
    - Dst: qptInitSingleTableCol
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3228,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ppList
    - colNum
    - colType
    argTypes:
    - SNodeList**
    - int32_t
    - EColumnType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3203
    functionDepth: 6
    functionLinenumber: 3203
    functionLinenumberEnd: 3232
    functionName: qptInitTableCols
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptGetColumnRandLen
    - strcpy
    - qptNodesListMakeStrictAppend
    - taosRand
    - qptNodesCalloc
    - qptInitSingleTableCol
    linkageType: ''
    returnType: void
    signature: void qptInitTableCols(SNodeList** ppList, int32_t colNum, EColumnType
      colType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3236,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3237,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3245,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3247,1
    - Dst: QPT_PHYSIC_NODE_NUM
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3247,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3262,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3268,1
    - Dst: qptGetRandRealTableType
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3273,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3274,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3275,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3276,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3277,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3278,1
    - Dst: qptInitTableCols
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3280,1
    - Dst: qptInitTableCols
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3281,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3284,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3285,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3287,1
    - Dst: qptNodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 6
    argNames:
    - correctExpected
    - singleNode
    - nodeType
    - nodeIdx
    - paramNum
    - nodeParam
    argTypes:
    - bool
    - bool
    - int32_t
    - int32_t
    - int32_t
    - SQPTNodeParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3293
      start: 3234
    functionDepth: 7
    functionLinenumber: 3234
    functionLinenumberEnd: 3293
    functionName: qptInitTestCtx
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - qptInitTableCols
    - qptNodesListMakeStrictAppend
    - taosRand
    - QPT_PHYSIC_NODE_NUM
    - FOREACH
    - qptGetRandRealTableType
    linkageType: ''
    returnType: void
    signature: void qptInitTestCtx(bool correctExpected, bool singleNode, int32_t
      nodeType, int32_t nodeIdx, int32_t paramNum, SQPTNodeParam* nodeParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3297,1
    - Dst: qptNodesFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3298,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3300,1
    - Dst: qptNodesFree
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3301,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3303,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3304,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3295
    functionDepth: 2
    functionLinenumber: 3295
    functionLinenumberEnd: 3310
    functionName: qptDestroyTestCtx
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptNodesFree
    - FOREACH
    - nodesClearList
    linkageType: ''
    returnType: void
    signature: void qptDestroyTestCtx()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3321,1
    - Dst: qptInitTestCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3322,1
    - Dst: qptRunPlanTest
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3324,1
    - Dst: qptDestroyTestCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3326,1
    - Dst: qptPrintStatInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3331
      start: 3316
    functionDepth: 8
    functionLinenumber: 3316
    functionLinenumberEnd: 3331
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - sprintf
    - qptDestroyTestCtx
    - qptInitTestCtx
    - qptPrintStatInfo
    - qptRunPlanTest
    linkageType: ''
    returnType: void
    signature: void TEST(singleRandNodeTest, loopPlans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qptGetSpecificPlanIndex
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3337,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3339,1
    - Dst: qptInitTestCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3340,1
    - Dst: qptRunPlanTest
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3342,1
    - Dst: qptDestroyTestCtx
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3344,1
    - Dst: qptPrintStatInfo
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3334
    functionDepth: 8
    functionLinenumber: 3334
    functionLinenumberEnd: 3348
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - qptGetSpecificPlanIndex
    - sprintf
    - qptDestroyTestCtx
    - qptInitTestCtx
    - qptPrintStatInfo
    - qptRunPlanTest
    linkageType: ''
    returnType: void
    signature: void TEST(singleRandNodeTest, specificPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3356,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3356,1
    - Dst: qptInitTest
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3357,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3358,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp:3359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3360
      start: 3355
    functionDepth: 3
    functionLinenumber: 3355
    functionLinenumberEnd: 3360
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/executor/test/queryPlanTests.cpp
    functionUses: 0
    functionsReached:
    - testing::InitGoogleTest
    - taosSeedRand
    - taosGetTimestampSec
    - RUN_ALL_TESTS
    - qptInitTest
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:9,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:10,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:15,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:16,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:17,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:20,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:20,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:27,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:28,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:32,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:32,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/test/execUtilTests.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 35
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/execUtilTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - destroyDiskbasedBuf
    - getNewBufPage
    - EXPECT_NE
    - createDiskbasedBuf
    - getResultRowByPos
    linkageType: ''
    returnType: void
    signature: void TEST(execUtilTest, resRowTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:28,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:28,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:29,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:31,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:33,1
    - Dst: tHashInit
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:35,1
    - Dst: tHashPut
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:37,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:38,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:42,1
    - Dst: tHashGet
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:45,1
    - Dst: tHashCleanup
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:54,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:55,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:57,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:59,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:60,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:62,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:63,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:67,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:69,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:71,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/lhashTests.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 74
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/lhashTests.cpp
    functionUses: 0
    functionsReached:
    - tHashCleanup
    - tHashInit
    - taosSeedRand
    - taosGetTimestampUs
    - taosHashGet
    - ASSERT
    - printf
    - taosHashInit
    - tstrncpy
    - taosGetTimestampSec
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - tHashPut
    - taosHashPut
    - TD_ALWAYS_ASSERT
    - tHashGet
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, linear_hash_Tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: rand_f2
    functionSourceFile: /src/tdengine/source/libs/executor/test/sortTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    linkageType: ''
    returnType: float
    signature: float rand_f2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: bigendian
    functionSourceFile: /src/tdengine/source/libs/executor/test/sortTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bigendian()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:65,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:81,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:82,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:84,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:85,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:88,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:88,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:91,1
    - Dst: taosRandStr
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:94,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:96,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:96,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:98,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:101,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:102,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:102,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:103,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:106,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:108,1
    - Dst: taosRandStr
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:110,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:110,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:111,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:112,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:112,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:113,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:116,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:116,1
    - Dst: rand_f2
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:118,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:119,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:119,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:120,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:122,1
    - Dst: static_cast<char*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:125,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:125,1
    - Dst: bigendian
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:126,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:127,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:129,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:132,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:133,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:135,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:136,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 142
    functionName: getSingleColDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/sortTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<char*>
    - createDataBlock
    - static_cast<SColumnInfoData*>
    - memcpy
    - ASSERT
    - taosRand
    - varDataVal
    - TARRAY_GET_ELEM
    - taosMemoryCalloc
    - colDataSetVal
    - bigendian
    - printf
    - taosRandStr
    - varDataSetLen
    - blockDataEnsureCapacity
    - taosMemoryFree
    - reinterpret_cast<const char*>
    - blockDataAppendColInfo
    - rand_f2
    - taosMbsToUcs4
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getSingleColDummyBlock(void* param)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<SSortSource**>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:149,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:169,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:171,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:175,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:179,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:182,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:198,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:199,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:200,1
    - Dst: fn
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:202,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 211
    functionName: docomp
    functionSourceFile: /src/tdengine/source/libs/executor/test/sortTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - getKeyComparFunc
    - fn
    - reinterpret_cast<SSortSource**>
    - colDataIsNull
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: int32_t docomp(const void* p1, const void* p2, void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: rand_f2
    functionSourceFile: /src/tdengine/source/libs/executor/test/sortTests.cpp
    functionUses: 1
    functionsReached:
    - taosRand
    linkageType: ''
    returnType: float
    signature: float rand_f2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: bigendian
    functionSourceFile: /src/tdengine/source/libs/executor/test/sortTests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bigendian()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:65,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:81,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:82,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:84,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:85,1
    - Dst: static_cast<SColumnInfoData*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:88,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:88,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:91,1
    - Dst: taosRandStr
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:94,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:96,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:96,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:98,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:101,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:102,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:102,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:103,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:106,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:108,1
    - Dst: taosRandStr
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:110,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:110,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:111,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:112,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:112,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:113,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:116,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:116,1
    - Dst: rand_f2
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:118,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:119,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:119,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:120,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:122,1
    - Dst: static_cast<char*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:125,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:125,1
    - Dst: bigendian
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:126,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:127,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:129,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:132,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:133,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:135,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:136,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 142
    functionName: getSingleColDummyBlock
    functionSourceFile: /src/tdengine/source/libs/executor/test/sortTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<char*>
    - createDataBlock
    - static_cast<SColumnInfoData*>
    - memcpy
    - ASSERT
    - taosRand
    - varDataVal
    - TARRAY_GET_ELEM
    - taosMemoryCalloc
    - colDataSetVal
    - bigendian
    - printf
    - taosRandStr
    - varDataSetLen
    - blockDataEnsureCapacity
    - taosMemoryFree
    - reinterpret_cast<const char*>
    - blockDataAppendColInfo
    - rand_f2
    - taosMbsToUcs4
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getSingleColDummyBlock(void* param)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<SSortSource**>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:149,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:169,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:171,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:175,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:179,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:182,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:198,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:199,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:200,1
    - Dst: fn
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:202,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 211
    functionName: docomp
    functionSourceFile: /src/tdengine/source/libs/executor/test/sortTests.cpp
    functionUses: 0
    functionsReached:
    - colDataGetData
    - getKeyComparFunc
    - fn
    - reinterpret_cast<SSortSource**>
    - colDataIsNull
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: int32_t docomp(const void* p1, const void* p2, void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:219,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:220,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:222,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:223,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:225,1
    - Dst: static_cast<SSortSource*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:231,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:231,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:233,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:235,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:237,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:240,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:245,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:246,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:247,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:250,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:251,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 253
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/sortTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - static_cast<SSortSource*>
    - tsortCreateSortHandle
    - tsortOpen
    - tsortNextTuple
    - printf
    - ASSERT_EQ
    - taosArrayDestroy
    - taosMemoryFree
    - taosArrayInit
    - tsortDestroySortHandle
    - tsortAddSource
    - tsortGetValue
    - taosMemoryCalloc
    - tsortSetFetchRawDataFp
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, inMem_sort_Test)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:257,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:308,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:309,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:311,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:312,1
    - Dst: static_cast<SSortSource*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:314,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:314,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:317,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:319,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:321,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:323,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:325,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:330,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:334,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:334,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:334,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:335,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:338,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:338,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:338,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:339,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:341,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:343,1
    - Dst: bigendian
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:346,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:347,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:349,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:351,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:354,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:355,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:357,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 358
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/sortTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayDestroy
    - tsortSetFetchRawDataFp
    - taosUcs4ToMbs
    - memcpy
    - static_cast<SSortSource*>
    - tsortCreateSortHandle
    - varDataLen
    - varDataVal
    - taosMemoryCalloc
    - bigendian
    - printf
    - tsortDestroySortHandle
    - tsortAddSource
    - tsortOpen
    - tsortNextTuple
    - taosMemoryFree
    - taosArrayInit
    - tsortGetValue
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, external_mem_sort_Test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:364,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:365,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:368,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:369,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:372,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:373,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:374,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:377,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:378,1
    - Dst: tsortSetComparFp
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:379,1
    - Dst: static_cast<SSortSource*>
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:384,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:384,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:391,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:394,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:398,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:403,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:405,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:409,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:410,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/test/sortTests.cpp:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 412
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/sortTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - createColumnInfoData
    - createDataBlock
    - ASSERT_EQ
    - taosArrayDestroy
    - tsortSetFetchRawDataFp
    - static_cast<SSortSource*>
    - ASSERT
    - tsortCreateSortHandle
    - taosMemoryCalloc
    - tsortDestroySortHandle
    - tsortAddSource
    - tsortSetComparFp
    - tsortOpen
    - tsortNextTuple
    - taosArrayInit
    - blockDataAppendColInfo
    - tsortGetValue
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, ordered_merge_sort_Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:34,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:34,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:36,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:38,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:38,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:46,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:49,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:49,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:53,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:54,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:62,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:63,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:64,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:69,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:70,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:73,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:74,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:76,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:76,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 80
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp
    functionUses: 0
    functionsReached:
    - tSimpleHashRemove
    - tSimpleHashPut
    - ASSERT
    - tSimpleHashCleanup
    - ASSERT_EQ
    - tSimpleHashGetSize
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - tSimpleHashIterate
    - TD_ALWAYS_ASSERT
    - tSimpleHashGetKey
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, tSimpleHashTest_intKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:83,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:83,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:85,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:87,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:87,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:102,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:103,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:106,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:106,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:112,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:113,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:121,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:122,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:123,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:127,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:129,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:130,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:132,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:133,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:134,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:140,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:141,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:143,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:143,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 147
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/executor/test/tSimpleHashTests.cpp
    functionUses: 0
    functionsReached:
    - tSimpleHashRemove
    - tSimpleHashPut
    - ASSERT
    - tSimpleHashCleanup
    - ASSERT_EQ
    - tSimpleHashGetSize
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - tSimpleHashIterate
    - TD_ALWAYS_ASSERT
    - tSimpleHashGetKey
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, tSimpleHashTest_binaryKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: GET_TASKID
    functionSourceFile: /src/tdengine/source/libs/executor/inc/querytask.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_TASKID(_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: MJOIN_TBTYPE
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_TBTYPE(_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _jtype
    - ','
    - _stype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: IS_FULL_OUTER_JOIN
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_FULL_OUTER_JOIN(_jtype, _stype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _pOp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: MJOIN_DS_REQ_INIT
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_DS_REQ_INIT(_pOp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _pOp
    - ','
    - _tbctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: MJOIN_DS_NEED_INIT
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_DS_NEED_INIT(_pOp, _tbctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _tbctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: MJOIN_TB_LOW_BLK
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_TB_LOW_BLK(_tbctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _prb
    - ','
    - _bld
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: REACH_HJOIN_THRESHOLD
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REACH_HJOIN_THRESHOLD(_prb, _bld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _pair
    - ','
    - _octx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: SET_SAME_TS_GRP_HJOIN
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SAME_TS_GRP_HJOIN(_pair, _octx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _asc
    - ','
    - _pts
    - ','
    - _bts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: PROBE_TS_NMATCH
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROBE_TS_NMATCH(_asc, _pts, _bts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _asc
    - ','
    - _pts
    - ','
    - _bts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    functionName: PROBE_TS_NREACH
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROBE_TS_NREACH(_asc, _pts, _bts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - _asc
    - ','
    - _pts
    - ','
    - _pidx
    - ','
    - _bts
    - ','
    - _bnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 351
    functionName: MJOIN_BUILD_BLK_OOR
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_BUILD_BLK_OOR(_asc, _pts, _pidx, _bts, _bnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _pJoin
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: MJOIN_PRIM_EXPR_GOT
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_PRIM_EXPR_GOT(_pJoin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _grp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: GRP_REMAIN_ROWS
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GRP_REMAIN_ROWS(_grp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _grp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 356
    functionName: GRP_DONE
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GRP_DONE(_grp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _tb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: MJOIN_PROBE_TB_ROWS_DONE
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_PROBE_TB_ROWS_DONE(_tb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _tb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: FJOIN_PROBE_TB_ROWS_DONE
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FJOIN_PROBE_TB_ROWS_DONE(_tb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _tb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    functionName: MJOIN_BUILD_TB_ROWS_DONE
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_BUILD_TB_ROWS_DONE(_tb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _tb
    - ','
    - _grpJoin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: MJOIN_TB_GRP_ROWS_DONE
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_TB_GRP_ROWS_DONE(_tb, _grpJoin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _blk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: BLK_IS_FULL
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLK_IS_FULL(_blk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _b
    - ','
    - _base
    - ','
    - _idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: MJOIN_ROW_BITMAP_SET
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_ROW_BITMAP_SET(_b, _base, _idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _b
    - ','
    - _base
    - ','
    - _idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 366
    functionName: MJOIN_SET_ROW_BITMAP
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_SET_ROW_BITMAP(_b, _base, _idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    functionName: ASOF_EQ_ROW_INCLUDED
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASOF_EQ_ROW_INCLUDED(_op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: ASOF_LOWER_ROW_INCLUDED
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASOF_LOWER_ROW_INCLUDED(_op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 370
    functionName: ASOF_GREATER_ROW_INCLUDED
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASOF_GREATER_ROW_INCLUDED(_op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _soff
    - ','
    - _eoff
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: WIN_ONLY_EQ_ROW_INCLUDED
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WIN_ONLY_EQ_ROW_INCLUDED(_soff, _eoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _cache
    - ','
    - _blk
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: MJOIN_PUSH_BLK_TO_CACHE
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_PUSH_BLK_TO_CACHE(_cache, _blk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _cache
    - ','
    - _tb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: MJOIN_RESTORE_TB_BLK
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_RESTORE_TB_BLK(_cache, _tb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _cache
    - ','
    - _tb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: MJOIN_SAVE_TB_BLK
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_SAVE_TB_BLK(_cache, _tb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _cache
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 412
    functionName: MJOIN_POP_TB_BLK
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_POP_TB_BLK(_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _col
    - ','
    - _ts
    - ','
    - _tb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 422
    functionName: MJOIN_GET_TB_COL_TS
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_GET_TB_COL_TS(_col, _ts, _tb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _col
    - ','
    - _ts
    - ','
    - _tb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: MJOIN_GET_TB_CUR_TS
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJOIN_GET_TB_CUR_TS(_col, _ts, _tb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: MJ_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJ_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: MJ_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJ_ERR_JRET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: MJ_RET
    functionSourceFile: /src/tdengine/source/libs/executor/inc/mergejoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MJ_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - winInfo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: IS_VALID_SESSION_WIN
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_VALID_SESSION_WIN(winInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - winInfo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: SET_SESSION_WIN_INVALID
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SESSION_WIN_INVALID(winInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - winKey
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: IS_INVALID_SESSION_WIN_KEY
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INVALID_SESSION_WIN_KEY(winKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pWinKey
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: SET_SESSION_WIN_KEY_INVALID
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SESSION_WIN_KEY_INVALID(pWinKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: IS_NON_STREAM_MODE
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NON_STREAM_MODE(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: IS_STREAM_MODE
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_STREAM_MODE(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _task
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: IS_STREAM_SINGLE_GRP
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_STREAM_SINGLE_GRP(_task)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRowSup
    argTypes:
    - SWindowRowsSup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 587
    functionName: hasContinuousNullRows
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasContinuousNullRows(SWindowRowsSup* pRowSup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRowSup
    argTypes:
    - SWindowRowsSup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 592
    functionName: resetNumNullRows
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetNumNullRows(SWindowRowsSup* pRowSup)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pRowSup
    argTypes:
    - SWindowRowsSup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 603
    functionName: resetWindowRowsSup
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetWindowRowsSup(SWindowRowsSup* pRowSup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _optr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: OPTR_IS_OPENED
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTR_IS_OPENED(_optr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _optr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 658
    functionName: OPTR_SET_OPENED
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTR_SET_OPENED(_optr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _optr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 659
    functionName: OPTR_CLR_OPENED
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executorInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTR_CLR_OPENED(_optr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _keyIdx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: IS_HASH_JOIN_KEY_COL
    functionSourceFile: /src/tdengine/source/libs/executor/inc/hashjoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HASH_JOIN_KEY_COL(_keyIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: HJ_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/executor/inc/hashjoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HJ_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: HJ_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/executor/inc/hashjoin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HJ_ERR_JRET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _obj
    - ','
    - _c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: T_LONG_JMP
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_LONG_JMP(_obj, _c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _k
    - ','
    - _ori
    - ','
    - _len
    - ','
    - _uid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: SET_RES_WINDOW_KEY
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RES_WINDOW_KEY(_k, _ori, _len, _uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: GET_RES_WINDOW_KEY_LEN
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_RES_WINDOW_KEY_LEN(_l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/inc/executil.h:194,1
    - Dst: uFatal
      Src: /src/tdengine/source/libs/executor/inc/executil.h:196,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/inc/executil.h:196,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/inc/executil.h:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pBuf
    - pos
    - forUpdate
    argTypes:
    - SDiskbasedBuf*
    - SResultRowPosition*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 205
    functionName: getResultRowByPos
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executil.h
    functionUses: 1
    functionsReached:
    - getBufPage
    - terrstr
    - setBufPageDirty
    - uFatal
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE * getResultRowByPos(SDiskbasedBuf* pBuf, SResultRowPosition*
      pos, bool forUpdate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: GET_DEST_SLOT_ID
    functionSourceFile: /src/tdengine/source/libs/executor/inc/tfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_DEST_SLOT_ID(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: VTS_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/executor/inc/virtualtablescan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTS_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: VTS_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/executor/inc/virtualtablescan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTS_ERR_JRET(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cfg
    - pAPI
    - ppSinkManager
    argTypes:
    - SDataSinkMgtCfg*
    - SStorageAPI*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: dsDataSinkMgtInit
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t dsDataSinkMgtInit(SDataSinkMgtCfg* cfg, SStorageAPI* pAPI,
      void** ppSinkManager)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pStat
    argTypes:
    - SDataSinkStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: dsDataSinkGetCacheSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 0
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t dsDataSinkGetCacheSize(SDataSinkStat* pStat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:44,1
    - Dst: createDataDispatcher
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:46,1
    - Dst: createDataDeleter
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:48,1
    - Dst: createDataInserter
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:51,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:57,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:58,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - pSinkManager
    - ppDataSink
    - pHandle
    - pParam
    - id
    - processOneBlock
    argTypes:
    - void*
    - SDataSinkNode**
    - DataSinkHandle*
    - void*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: dsCreateDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 1
    functionsReached:
    - qError
    - nodeType
    - taosMemoryFree
    - createDataDispatcher
    - createDataDeleter
    - 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:
    - Dst: SDataSinkHandle*::fPut
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - pInput
    - pContinue
    argTypes:
    - DataSinkHandle
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: dsPutDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 1
    functionsReached:
    - SDataSinkHandle*::fPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t dsPutDataBlock(DataSinkHandle handle, const SInputData* pInput,
      bool* pContinue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDataSinkHandle*::fEndPut
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - useconds
    argTypes:
    - DataSinkHandle
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: dsEndPut
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 0
    functionsReached:
    - SDataSinkHandle*::fEndPut
    linkageType: ''
    returnType: void
    signature: void dsEndPut(DataSinkHandle handle, uint64_t useconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDataSinkHandle*::fReset
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DataSinkHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: dsReset
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 0
    functionsReached:
    - SDataSinkHandle*::fReset
    linkageType: ''
    returnType: void
    signature: void dsReset(DataSinkHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDataSinkHandle*::fGetLen
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - pLen
    - pRawLen
    - pQueryEnd
    argTypes:
    - DataSinkHandle
    - int64_t*
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: dsGetDataLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 0
    functionsReached:
    - SDataSinkHandle*::fGetLen
    linkageType: ''
    returnType: void
    signature: void dsGetDataLength(DataSinkHandle handle, int64_t* pLen, int64_t*
      pRawLen, bool* pQueryEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDataSinkHandle*::fGetData
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - pOutput
    argTypes:
    - DataSinkHandle
    - SOutputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: dsGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 0
    functionsReached:
    - SDataSinkHandle*::fGetData
    linkageType: ''
    returnType: int32_t
    signature: int32_t dsGetDataBlock(DataSinkHandle handle, SOutputData* pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDataSinkHandle*::fGetCacheSize
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - pSize
    argTypes:
    - DataSinkHandle
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: dsGetCacheSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 0
    functionsReached:
    - SDataSinkHandle*::fGetCacheSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t dsGetCacheSize(DataSinkHandle handle, uint64_t* pSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ahandle
    - pItem
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: dsScheduleProcess
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dsScheduleProcess(void* ahandle, void* pItem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SDataSinkHandle*::fDestroy
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:104,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DataSinkHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: dsDestroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 2
    functionsReached:
    - taosMemoryFree
    - SDataSinkHandle*::fDestroy
    linkageType: ''
    returnType: void
    signature: void dsDestroyDataSinker(DataSinkHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SDataSinkHandle*::fGetFlags
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - pFlags
    argTypes:
    - DataSinkHandle
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: dsGetSinkFlags
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: 0
    functionsReached:
    - SDataSinkHandle*::fGetFlags
    linkageType: ''
    returnType: int32_t
    signature: int32_t dsGetSinkFlags(DataSinkHandle handle, uint64_t* pFlags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: tsortSetSingleTableMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tsortSetSingleTableMerge(SSortHandle* pHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - param
    argTypes:
    - SSortHandle*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: tsortSetAbortCheckFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tsortSetAbortCheckFn(SSortHandle* pHandle, bool (*checkFn)(void*),
      void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:133,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - columnNum
    - tupleLen
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: createTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - BitmapLen
    linkageType: ''
    returnType: void
    signature: void * createTuple(uint32_t columnNum, uint32_t tupleLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: destoryAllocatedTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destoryAllocatedTuple(void* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tuple
    - ','
    - colIdx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: tupleOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tupleOffset(tuple, colIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tuple
    - ','
    - colIdx
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: tupleSetOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tupleSetOffset(tuple, colIdx, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tuple
    - ','
    - colIdx
    - ','
    - colNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: tupleSetNull
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tupleSetNull(tuple, colIdx, colNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tuple
    - ','
    - colIdx
    - ','
    - colNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: tupleColIsNull
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tupleColIsNull(tuple, colIdx, colNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - colNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: tupleGetDataStartOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tupleGetDataStartOffset(colNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tuple
    - ','
    - offset
    - ','
    - data
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: tupleSetData
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tupleSetData(tuple, offset, data, length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tupleSetOffset
      Src: /src/tdengine/source/libs/executor/src/tsort.c:156,1
    - Dst: tupleSetNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:159,1
    - Dst: tupleGetDataStartOffset
      Src: /src/tdengine/source/libs/executor/src/tsort.c:161,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:162,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:163,1
    - Dst: tupleSetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:167,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:174,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 177
    functionName: tupleAddField
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - tupleSetOffset
    - qError
    - tupleSetData
    - QUERY_CHECK_NULL
    - tupleSetNull
    - tstrerror
    - taosMemoryRealloc
    - tupleGetDataStartOffset
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tupleAddField(char** t, uint32_t colNum, uint32_t offset,
      uint32_t colIdx, void* data,\n                                    size_t length,
      bool isNull, uint32_t tupleLen, uint32_t* pOffset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tupleColIsNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:180,1
    - Dst: tupleOffset
      Src: /src/tdengine/source/libs/executor/src/tsort.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - t
    - colIdx
    - colNum
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: tupleGetField
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - tupleOffset
    - tupleColIsNull
    linkageType: ''
    returnType: void
    signature: void * tupleGetField(char* t, uint32_t colIdx, uint32_t colNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pSortHandle
    - pBlock
    argTypes:
    - SSortHandle*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: tsortGetSortedDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - createOneDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortGetSortedDataBlock(const SSortHandle* pSortHandle, SSDataBlock**
      pBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:208,1
    - Dst: createTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:213,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:215,1
    - Dst: tupleGetDataStartOffset
      Src: /src/tdengine/source/libs/executor/src/tsort.c:220,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:222,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: tupleAddField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:232,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:232,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - pBlock
    - colNum
    - tupleLen
    - rowIdx
    - pDesc
    argTypes:
    - SSDataBlock*
    - size_t
    - uint32_t
    - size_t
    - TupleDesc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 246
    functionName: createAllocatedTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - qError
    - createTuple
    - taosMemoryFree
    - colDataGetRowLength
    - tstrerror
    - colDataIsNull_s
    - taosMemoryCalloc
    - tupleAddField
    - tupleGetDataStartOffset
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createAllocatedTuple(SSDataBlock* pBlock, size_t colNum, uint32_t
      tupleLen, size_t rowIdx,\n                                    TupleDesc** pDesc)"
  - 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: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pDesc
    - colIdx
    - colNum
    - pResult
    argTypes:
    - TupleDesc*
    - int32_t
    - uint32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 268
    functionName: tupleDescGetField
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_s
    - taosArrayGet
    - colDataGetData
    - tupleGetField
    linkageType: ''
    returnType: int32_t
    signature: int32_t tupleDescGetField(const TupleDesc* pDesc, int32_t colIdx, uint32_t
      colNum, void** pResult)
  - 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: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: destroyTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - destoryAllocatedTuple
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyTuple(void* t)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/tsort.c:289,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:290,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:291,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: 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: tsortSetComparFp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:334,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:337,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: 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
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    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**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 350
    functionName: tsortCreateSortHandle
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 3
    functionsReached:
    - taosArrayGet
    - QRY_PARAM_CHECK
    - qError
    - tsortSetComparFp
    - QUERY_CHECK_NULL
    - tsortDestroySortHandle
    - createOneDataBlock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - TARRAY_GET_ELEM
    - taosArrayDup
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tsortCreateSortHandle(SArray* pSortInfo, int32_t type, int32_t
      pageSize, int32_t numOfPages,\n                              SSDataBlock* pBlock,
      const char* idstr, uint64_t pqMaxRows, uint32_t pqMaxTupleLength,\n                              uint32_t
      pqSortBufSize, SSortHandle** pHandle)"
  - 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: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cmpParam
    argTypes:
    - SMsortComparParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 366
    functionName: sortComparCleanup
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - blockDataDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortComparCleanup(SMsortComparParam* cmpParam)
  - 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: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - pOrderedSource
    - fetchUs
    - fetchNum
    argTypes:
    - SArray*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 399
    functionName: tsortClearOrderedSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayClear
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void tsortClearOrderedSource(SArray* pOrderedSource, int64_t* fetchUs,
      int64_t* fetchNum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsortClose
      Src: /src/tdengine/source/libs/executor/src/tsort.c:406,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:408,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:411,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:412,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: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:426,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:427,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - pSortHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 430
    functionName: tsortDestroySortHandle
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 4
    functionsReached:
    - tsortClearOrderedSource
    - destroyBoundedQueue
    - taosMemoryFreeClear
    - tMergeTreeDestroy
    - tsortClose
    - destroyDiskbasedBuf
    - destroySortMemFile
    - qDebug
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void tsortDestroySortHandle(SSortHandle* pSortHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pSortHandle
    - pSource
    argTypes:
    - SSortHandle*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: tsortAddSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 3
    functionsReached:
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortAddSource(SSortHandle* pSortHandle, void* pSource)
  - 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: 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: blockDataGetSerialRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:453,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: 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
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:467,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - pBuf
    - pAllSources
    - pBlock
    - sourceId
    - pPageIdList
    argTypes:
    - SDiskbasedBuf*
    - SArray*
    - SSDataBlock*
    - int32_t*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 469
    functionName: doAddNewExternalMemSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - blockDataGetSerialMetaSize
    - QUERY_CHECK_CONDITION
    - blockDataGetSerialRowSize
    - blockDataEnsureCapacity
    - qError
    - QUERY_CHECK_NULL
    - getBufPageSize
    - taosMemoryFree
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doAddNewExternalMemSource(SDiskbasedBuf* pBuf, SArray* pAllSources,
      SSDataBlock* pBlock,\n                                         int32_t* sourceId,
      SArray* pPageIdList)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/tsort.c:475,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:477,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/tsort.c:477,1
    - 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: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:489,1
    - Dst: blockDataSplitRows
      Src: /src/tdengine/source/libs/executor/src/tsort.c:497,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:499,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: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:513,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: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:520,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:521,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:525,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:525,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:526,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:527,1
    - Dst: blockDataToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:531,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:539,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:543,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:546,1
    - Dst: doAddNewExternalMemSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:551,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
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 2
    argNames:
    - pDataBlock
    - pHandle
    argTypes:
    - SSDataBlock*
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 557
    functionName: doAddToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - taosArrayDestroy
    - blockDataExtractBlock
    - blockDataCleanup
    - blockDataToBuf
    - getNewBufPage
    - createOneDataBlock
    - setBufPageDirty
    - taosArrayGetSize
    - dBufSetPrintInfo
    - doAddNewExternalMemSource
    - osTempSpaceAvailable
    - terrstr
    - createDiskbasedBuf
    - blockDataGetSize
    - releaseBufPage
    - blockDataSplitRows
    - getBufPageSize
    - taosArrayInit
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t doAddToBuf(SSDataBlock* pDataBlock, SSortHandle* pHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pSource
    - pHandle
    argTypes:
    - SSortSource*
    - SSortHandle*
    assertStmts: []
    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: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCurrentSourceDone(SSortSource* pSource, SSortHandle* pHandle)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:566,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/tsort.c:576,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:578,1
    - Dst: terrstr
      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: dBufSetPrintInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:587,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:596,1
    - Dst: setCurrentSourceDone
      Src: /src/tdengine/source/libs/executor/src/tsort.c:597,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: blockDataFromBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:611,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:617,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:620,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:621,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:625,1
    - Dst: SSortHandle*::fetchfp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:625,1
    - Dst: setCurrentSourceDone
      Src: /src/tdengine/source/libs/executor/src/tsort.c:629,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:633,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:634,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 5
    argNames:
    - pParam
    - pSources
    - startIndex
    - endIndex
    - pHandle
    argTypes:
    - SMsortComparParam*
    - SArray*
    - int32_t
    - int32_t
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 638
    functionName: sortComparInit
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - taosArrayGet
    - dBufSetPrintInfo
    - osTempSpaceAvailable
    - TAOS_CHECK_RETURN
    - SSortHandle*::fetchfp
    - qError
    - taosGetTimestampUs
    - qDebug
    - terrstr
    - createDiskbasedBuf
    - taosArrayGetSize
    - setCurrentSourceDone
    - blockDataFromBuf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sortComparInit(SMsortComparParam* pParam, SArray* pSources,
      int32_t startIndex, int32_t endIndex,\n                              SSortHandle*
      pHandle)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:643,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:644,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:649,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:654,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:656,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: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - pBlock
    - pSource
    - rowIndex
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 673
    functionName: appendOneRowToDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - colDataSetVal
    - taosArrayGetSize
    - colDataIsNull
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendOneRowToDataBlock(SSDataBlock* pBlock, const SSDataBlock*
      pSource, int32_t* rowIndex)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:686,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:687,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:691,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:695,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:698,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:703,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:705,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:705,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:716,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:717,1
    - Dst: SSortHandle*::fetchfp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:717,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:718,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:723,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:732,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:736,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/executor/src/tsort.c:739,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:745,1
    - Dst: tMergeTreePrint
      Src: /src/tdengine/source/libs/executor/src/tsort.c:746,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 4
    argNames:
    - pSource
    - pTree
    - pHandle
    - numOfCompleted
    argTypes:
    - SSortSource*
    - SMultiwayMergeTreeInfo*
    - SSortHandle*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 749
    functionName: adjustMergeTreeForNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - taosArrayGet
    - TAOS_CHECK_RETURN
    - SSortHandle*::fetchfp
    - qError
    - taosGetTimestampUs
    - tMergeTreeAdjust
    - qDebug
    - printf
    - tMergeTreeGetAdjustIndex
    - taosArrayGetSize
    - tstrerror
    - blockDataDestroy
    - tMergeTreePrint
    - blockDataFromBuf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t adjustMergeTreeForNextTuple(SSortSource* pSource, SMultiwayMergeTreeInfo*
      pTree, SSortHandle* pHandle,\n                                           int32_t*
      numOfCompleted)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:756,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
    - Dst: adjustMergeTreeForNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pHandle
    - cmpParam
    - capacity
    - pRes
    argTypes:
    - SSortHandle*
    - SMsortComparParam*
    - int32_t
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 784
    functionName: getSortedBlockDataInner
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blockDataCleanup
    - appendOneRowToDataBlock
    - adjustMergeTreeForNextTuple
    - tMergeTreeGetChosenIndex
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getSortedBlockDataInner(SSortHandle* pHandle, SMsortComparParam*
      cmpParam, int32_t capacity,\n                                       SSDataBlock**
      pRes)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:791,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:792,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:794,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:801,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: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - pLeftBlock
    - pRightBlock
    - leftRowIndex
    - rightRowIndex
    - pCompareOrder
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 835
    functionName: tsortComparBlockCell
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - fn
    - colDataIsNull_t
    - colDataIsNull
    - TARRAY_GET_ELEM
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tsortComparBlockCell(SSDataBlock* pLeftBlock, SSDataBlock*
      pRightBlock, int32_t leftRowIndex,\n                             int32_t rightRowIndex,
      void* pCompareOrder)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: UNLIKELY
      Src: /src/tdengine/source/libs/executor/src/tsort.c:849,1
    - Dst: UNLIKELY
      Src: /src/tdengine/source/libs/executor/src/tsort.c:853,1
    - 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:868,1
    - Dst: SMsortComparParam*::cmpTsFn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:872,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:879,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:880,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:881,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:888,1
    - Dst: fn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:892,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:896,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:897,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:898,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:899,1
    - Dst: colDataIsNull_t
      Src: /src/tdengine/source/libs/executor/src/tsort.c:905,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:907,1
    - Dst: colDataIsNull_t
      Src: /src/tdengine/source/libs/executor/src/tsort.c:915,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:917,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:937,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:938,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:940,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:941,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:946,1
    - Dst: fn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:950,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 837
    functionDepth: 2
    functionLinenumber: 837
    functionLinenumberEnd: 960
    functionName: msortComparFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - colDataGetVarData
    - getKeyComparFunc
    - SMsortComparParam*::cmpTsFn
    - colDataGetNumData
    - UNLIKELY
    - fn
    - colDataIsNull_t
    - colDataIsNull
    - TARRAY_GET_ELEM
    - IS_VAR_DATA_TYPE
    - tsortComparBlockCell
    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:969,1
    - Dst: sortComparInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:979,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:980,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/tsort.c:983,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:984,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:987,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:988,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/tsort.c:991,1
    - Dst: SSortHandle*::abortCheckFn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:991,1
    - Dst: getSortedBlockDataInner
      Src: /src/tdengine/source/libs/executor/src/tsort.c:997,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1003,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1004,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1006,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1007,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1010,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1010,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1011,1
    - Dst: blockDataToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1016,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1017,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1019,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1020,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1023,1
    - Dst: sortComparCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1029,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1030,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1032,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1036,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1037,1
    - Dst: doAddNewExternalMemSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1039,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1041,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1043,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1049,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1050,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1050,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 7
    argNames:
    - pHandle
    - sortTimes
    - numOfSorted
    - numOfInputSources
    - pResList
    - sortGroup
    - numOfRows
    argTypes:
    - SSortHandle*
    - int32_t
    - int32_t
    - int32_t
    - SArray*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 1052
    functionName: doSortForEachGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tMergeTreeDestroy
    - qError
    - taosArrayDestroy
    - blockDataCleanup
    - SSortHandle*::abortCheckFn
    - getNewBufPage
    - blockDataToBuf
    - createOneDataBlock
    - setBufPageDirty
    - tMergeTreeCreate
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - sortComparInit
    - tsortIsClosed
    - doAddNewExternalMemSource
    - QUERY_CHECK_NULL
    - sortComparCleanup
    - qDebug
    - getSortedBlockDataInner
    - blockDataGetSize
    - releaseBufPage
    - getBufPageSize
    - taosArrayInit
    - tstrerror
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doSortForEachGroup(SSortHandle* pHandle, int32_t sortTimes,
      int32_t numOfSorted,\n                                  int32_t numOfInputSources,
      SArray* pResList, int32_t sortGroup, int32_t numOfRows)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1055,1
    - Dst: floorl
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1061,1
    - Dst: log2
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1061,1
    - Dst: log2
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1061,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1063,1
    - Dst: getTotalBufSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1066,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1067,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1071,1
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1075,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1075,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1076,1
    - Dst: blockDataGetCapacityInRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1077,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1082,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1090,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1092,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1093,1
    - Dst: doSortForEachGroup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1102,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1104,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1105,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1109,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1110,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1112,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1113,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1117,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1118,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1120,1
    - Dst: getDBufStatis
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1123,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1124,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1054
    functionDepth: 4
    functionLinenumber: 1054
    functionLinenumberEnd: 1135
    functionName: doInternalMergeSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - tsortClearOrderedSource
    - blockDataGetSerialMetaSize
    - blockDataGetCapacityInRow
    - blockDataEnsureCapacity
    - taosGetTimestampUs
    - taosArrayAddAll
    - log2
    - getDBufStatis
    - getTotalBufSize
    - taosArrayDestroy
    - qDebug
    - blockDataGetRowSize
    - doSortForEachGroup
    - taosArrayGetSize
    - taosArrayInit
    - floorl
    linkageType: ''
    returnType: int32_t
    signature: int32_t doInternalMergeSort(SSortHandle* pHandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rowSize
    - numOfCols
    argTypes:
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1145
    functionName: getProperSortPageSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blockDataGetSerialMetaSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t getProperSortPageSize(size_t rowSize, uint32_t numOfCols)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1149,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1151,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1151,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1155,1
    - Dst: dBufSetPrintInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1164
    functionName: createPageBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - dBufSetPrintInfo
    - osTempSpaceAvailable
    - qError
    - terrstr
    - createDiskbasedBuf
    linkageType: ''
    returnType: int32_t
    signature: int32_t createPageBuf(SSortHandle* pHandle)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1171,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1172,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1173,1
    - Dst: getRowBufFromExtMemFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1182,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1187,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1191,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1197,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1203,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1205,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1206,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1207,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1209,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1216,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1221,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1226,1
    - Dst: tsortGetBlockInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1232,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1238,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1239,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1244,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1246,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1249,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1251,1
    - Dst: tsortGetBlockInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1261,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 3
    argNames:
    - pHandle
    - pBlock
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - STupleHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1268
    functionName: tsortAppendTupleToBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - colDataSetNULL
    - taosArrayGet
    - varDataTLen
    - qError
    - tsortGetBlockInfo
    - IS_STR_DATA_BLOB
    - colDataSetVal
    - getJsonValueLen
    - taosMemoryFree
    - taosArrayGetSize
    - tsortIsNullVal
    - getRowBufFromExtMemFile
    - tsortGetValue
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortAppendTupleToBlock(SSortHandle* pHandle, SSDataBlock*
      pBlock, STupleHandle* pTupleHandle)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1271,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1276,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1281,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1287,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1290,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1291,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1298,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1299,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1301,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1302,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1310,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1311,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1320,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - pBlock
    - rowIdx
    - buf
    argTypes:
    - SSDataBlock*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1327
    functionName: blockRowToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - memcpy
    - taosArrayGet
    - colDataGetData
    - varDataTLen
    - IS_STR_DATA_BLOB
    - varDataCopy
    - getJsonValueLen
    - blobDataCopy
    - taosArrayGetSize
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockRowToBuf(SSDataBlock* pBlock, int32_t rowIdx, char* buf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1332,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1339,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1344,1
    - Dst: taosSeekCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1344,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1346,1
    - Dst: taosReadFromCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1347,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1349,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1355,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1362,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1367,1
    - Dst: taosSeekCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1370,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1373,1
    - Dst: taosReadFromCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1374,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1376,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1377,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1380,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 6
    argNames:
    - pHandle
    - regionId
    - tupleOffset
    - rowLen
    - ppRow
    - pFreeRow
    argTypes:
    - SSortHandle*
    - int32_t
    - int32_t
    - int32_t
    - char**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1386
    functionName: getRowBufFromExtMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - TAOS_CHECK_RETURN
    - taosSeekCFile
    - taosMemoryFreeClear
    - TMIN
    - qError
    - taosReadFromCFile
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getRowBufFromExtMemFile(SSortHandle* pHandle, int32_t regionId,
      int32_t tupleOffset, int32_t rowLen,\n                                       char**
      ppRow, bool* pFreeRow)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1393,1
    - Dst: taosGetTmpfilePath
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1398,1
    - Dst: taosOpenCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1399,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1401,1
    - Dst: taosSetAutoDelFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1405,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1407,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1418,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1426,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1436,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1437,1
    - Dst: taosCloseCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1439,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1442,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1446
    functionName: createSortMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - qError
    - taosCloseCFile
    - taosSetAutoDelFile
    - taosOpenCFile
    - taosArrayInit
    - taosMemoryCalloc
    - taosGetTmpfilePath
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSortMemFile(SSortHandle* pHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1454,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1455,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1460,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1463,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1466,1
    - Dst: taosCloseCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1469,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1471,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1474
    functionName: destroySortMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - taosRemoveFile
    - taosCloseCFile
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroySortMemFile(SSortHandle* pHandle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1484,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1494,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1511
    functionName: tsortOpenRegion
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortOpenRegion(SSortHandle* pHandle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1515,1
    - Dst: fwrite
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1523,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1531
    functionName: tsortCloseRegion
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - fwrite
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortCloseRegion(SSortHandle* pHandle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1535,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1537,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1548,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1559
    functionName: tsortFinalizeRegions
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - qError
    - taosArrayGet
    - taosMemoryFree
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortFinalizeRegions(SSortHandle* pHandle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1564,1
    - Dst: fwrite
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1572,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1574,1
    - Dst: blockRowToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - pHandle
    - pBlock
    - rowIdx
    - pRegionId
    - pOffset
    - pLength
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1561
    functionDepth: 2
    functionLinenumber: 1561
    functionLinenumberEnd: 1590
    functionName: saveBlockRowToExtRowsMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - fwrite
    - taosArrayGet
    - blockRowToBuf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t saveBlockRowToExtRowsMemFile(SSortHandle* pHandle, SSDataBlock*
      pBlock, int32_t rowIdx,\n                                            int32_t*
      pRegionId, int32_t* pOffset, int32_t* pLength)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: saveBlockRowToExtRowsMemFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1598,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1604,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1609,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1614,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1619,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1620,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1625,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1630,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1632,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1637,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1639,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1644,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1647,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1652,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1657,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1662,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1663,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1665,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1666,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 3
    argNames:
    - pHandle
    - pSource
    - rowIndex
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1592
    functionDepth: 3
    functionLinenumber: 1592
    functionLinenumberEnd: 1676
    functionName: appendToRowIndexDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosArrayGet
    - colDataGetData
    - colDataSetInt32
    - saveBlockRowToExtRowsMemFile
    - colDataSetVal
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendToRowIndexDataBlock(SSortHandle* pHandle, SSDataBlock*
      pSource, int32_t* rowIndex)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1679,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1681,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1685,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1690,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1691,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1693,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1697,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1698,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1700,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1704,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1705,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1707,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1711,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1712,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1714,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1719,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1720,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1722,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1727,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1735,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1740,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1746,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1747,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1749,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1758,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1760,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1762,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1767,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1769,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1678
    functionDepth: 1
    functionLinenumber: 1678
    functionLinenumberEnd: 1771
    functionName: initRowIdSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - getKeyComparFunc
    - createColumnInfoData
    - createDataBlock
    - taosArrayInit
    - blockDataAppendColInfo
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t initRowIdSort(SSortHandle* pHandle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1775,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1775,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1777,1
    - Dst: initRowIdSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1782,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1787,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1788,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1788,1
    - Dst: createSortMemFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pHandle
    - extRowsMemSize
    argTypes:
    - SSortHandle*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1773
    functionDepth: 2
    functionLinenumber: 1773
    functionLinenumberEnd: 1795
    functionName: tsortSetSortByRowId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - osTempSpaceAvailable
    - qError
    - createSortMemFile
    - blockDataGetRowSize
    - terrstr
    - taosArrayGetSize
    - initRowIdSort
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortSetSortByRowId(SSortHandle* pHandle, int32_t extRowsMemSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1825
    functionName: blockCompareTsFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockCompareTsFn(const void* pLeft, const void* pRight, void*
      param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsortComparBlockCell
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1846,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1827
    functionDepth: 2
    functionLinenumber: 1827
    functionLinenumberEnd: 1850
    functionName: blockCompareTsPkFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - tsortComparBlockCell
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockCompareTsPkFn(const void* pLeft, const void* pRight, void*
      param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1854,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1859,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1864,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1864,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1865,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1866,1
    - Dst: blockDataToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1870,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1872,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pHandle
    - blk
    - aPgId
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1852
    functionDepth: 1
    functionLinenumber: 1852
    functionLinenumberEnd: 1876
    functionName: appendDataBlockToPageBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - releaseBufPage
    - qError
    - blockDataToBuf
    - getNewBufPage
    - getBufPageSize
    - setBufPageDirty
    - taosArrayGetSize
    - blockDataGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendDataBlockToPageBuf(SSortHandle* pHandle, SSDataBlock*
      blk, SArray* aPgId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1880,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1884,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1887,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1888,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1890,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1892,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pSrcBlock
    - srcRowIndex
    - dstRowIndex
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1878
    functionDepth: 1
    functionLinenumber: 1878
    functionLinenumberEnd: 1912
    functionName: getPageBufIncForRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - blockDataGetRowSize
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t getPageBufIncForRow(SSDataBlock* pSrcBlock, int32_t srcRowIndex,
      int32_t dstRowIndex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1917,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1921,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1926,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1929,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1935,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1940,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1942,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1943,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1944,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1946,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - pDstBlock
    - srcRowIndex
    - dstRowIndex
    - pPkCol
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1914
    functionDepth: 1
    functionLinenumber: 1914
    functionLinenumberEnd: 1960
    functionName: getPageBufIncForRowIdSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - varDataTLen
    - colDataGetData
    - qError
    - IS_STR_DATA_BLOB
    - blockDataGetRowSize
    - TARRAY_GET_ELEM
    - blockDataGetNumOfCols
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getPageBufIncForRowIdSort(SSDataBlock* pDstBlock, int32_t
      srcRowIndex, int32_t dstRowIndex,\n                                         SColumnInfoData*
      pPkCol)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1971,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1972,1
    - Dst: getPageBufIncForRowIdSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1975,1
    - Dst: getPageBufIncForRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pHandle
    - dstRowIndex
    - pSrcBlock
    - srcRowIndex
    argTypes:
    - SSortHandle*
    - int32_t
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1962
    functionDepth: 2
    functionLinenumber: 1962
    functionLinenumberEnd: 1981
    functionName: getBufIncForNewRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - getPageBufIncForRow
    - getPageBufIncForRowIdSort
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getBufIncForNewRow(SSortHandle* pHandle, int32_t dstRowIndex,
      SSDataBlock* pSrcBlock,\n                                  int32_t srcRowIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1987,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1989,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1991,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1992,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1994,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1995,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1998,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1999,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2002,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2003,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2013,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 5
    argNames:
    - pSup
    - pBlockList
    - tsOrder
    - tsSlotId
    - pPkOrderInfo
    argTypes:
    - SBlkMergeSupport*
    - SArray*
    - int32_t
    - int32_t
    - SBlockOrderInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1983
    functionDepth: 1
    functionLinenumber: 1983
    functionLinenumberEnd: 2016
    functionName: initMergeSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - memset
    - taosArrayGetSize
    - tstrerror
    - taosMemoryCalloc
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initMergeSup(SBlkMergeSupport* pSup, SArray* pBlockList, int32_t
      tsOrder, int32_t tsSlotId,\n                            SBlockOrderInfo* pPkOrderInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2019,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2020,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pSup
    argTypes:
    - SBlkMergeSupport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2022
    functionName: cleanupMergeSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void cleanupMergeSup(SBlkMergeSupport* pSup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2027,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pBlockList
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2024
    functionDepth: 1
    functionLinenumber: 2024
    functionLinenumberEnd: 2033
    functionName: getTotalRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTotalRows(SArray* pBlockList)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2037,1
    - Dst: blockDataGetCapacityInRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2038,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2043,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2048,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2052,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2052,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2057,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2065,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2065,1
    - Dst: initMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2071,1
    - Dst: getTotalRows
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2076,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2081,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2081,1
    - Dst: cleanupMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2083,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2087,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2099,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2100,1
    - Dst: getBufIncForNewRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2103,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2106,1
    - Dst: appendDataBlockToPageBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2108,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2114,1
    - Dst: getBufIncForNewRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2117,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2130,1
    - Dst: appendToRowIndexDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2136,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2138,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2146,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2147,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2158,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2158,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2166,1
    - Dst: appendDataBlockToPageBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2168,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2181,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2185,1
    - Dst: doAddNewExternalMemSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2188,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2190,1
    - Dst: cleanupMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2194,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2195,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2200,1
    - Dst: cleanupMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2201,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2202,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 124
    argCount: 3
    argNames:
    - pHandle
    - aBlk
    - aExtSrc
    argTypes:
    - SSortHandle*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2035
    functionDepth: 4
    functionLinenumber: 2035
    functionLinenumberEnd: 2204
    functionName: sortBlocksToExtSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - getBufIncForNewRow
    - tMergeTreeDestroy
    - blockDataGetCapacityInRow
    - qError
    - getTotalRows
    - taosArrayDestroy
    - taosArrayGetP
    - cleanupMergeSup
    - taosArrayGet
    - blockDataCleanup
    - createOneDataBlock
    - appendOneRowToDataBlock
    - initMergeSup
    - tMergeTreeCreate
    - taosArrayGetSize
    - blockDataGetNumOfCols
    - tMergeTreeGetChosenIndex
    - appendDataBlockToPageBuf
    - doAddNewExternalMemSource
    - tMergeTreeGetAdjustIndex
    - appendToRowIndexDataBlock
    - blockDataGetSize
    - blockDataEnsureCapacity
    - tMergeTreeAdjust
    - taosArrayInit
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortBlocksToExtSource(SSortHandle* pHandle, SArray* aBlk, SArray*
      aExtSrc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2214,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2218,1
    - Dst: SSortHandle*::mergeLimitReachedFn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2231,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 6
    argNames:
    - pHandle
    - mTableNumRows
    - pOrigBlk
    - pExtractedBlock
    - pSkipBlock
    - pRes
    argTypes:
    - SSortHandle*
    - SSHashObj*
    - SSDataBlock*
    - bool*
    - bool*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2206
    functionDepth: 1
    functionLinenumber: 2206
    functionLinenumberEnd: 2257
    functionName: getRowsBlockWithinMergeLimit
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blockDataExtractBlock
    - SSortHandle*::mergeLimitReachedFn
    - tSimpleHashPut
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getRowsBlockWithinMergeLimit(const SSortHandle* pHandle, SSHashObj*
      mTableNumRows, SSDataBlock* pOrigBlk,\n                                            bool*
      pExtractedBlock, bool* pSkipBlock, SSDataBlock** pRes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2259
    functionDepth: 1
    functionLinenumber: 2259
    functionLinenumberEnd: 2264
    functionName: freeHelp
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void freeHelp(void* param)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2270,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2277,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2278,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2280,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2280,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2281,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2283,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2284,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2286,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2286,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2287,1
    - Dst: createPageBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2290,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2291,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2293,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2294,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2297,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2297,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2298,1
    - Dst: SSortHandle*::fetchfp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2307,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2308,1
    - Dst: getRowsBlockWithinMergeLimit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2312,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2321,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2322,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2328,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2335,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2336,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2339,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2340,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2343,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2350,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2351,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2354,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2356,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2358,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2360,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2362,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2364,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2369,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2371,1
    - Dst: tsortOpenRegion
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2373,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2374,1
    - Dst: sortBlocksToExtSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2377,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2378,1
    - Dst: tsortCloseRegion
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2381,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2384,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2386,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2389,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2389,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2396,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2401,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2402,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2403,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2404,1
    - Dst: tsortFinalizeRegions
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2408,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2415,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2415,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2419,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2422,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2425,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2428,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 109
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2266
    functionDepth: 5
    functionLinenumber: 2266
    functionLinenumberEnd: 2431
    functionName: createBlocksMergeSortInitialSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - tsortClearOrderedSource
    - createPageBuf
    - taosArrayPush
    - taosGetTimestampUs
    - taosArrayAddAll
    - qError
    - tsortFinalizeRegions
    - taosArrayDestroy
    - taosArrayGetP
    - sortBlocksToExtSource
    - taosArrayGet
    - createOneDataBlock
    - taosArrayGetSize
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - QUERY_CHECK_CODE
    - tsortCloseRegion
    - taosArrayClearEx
    - tSimpleHashGet
    - getRowsBlockWithinMergeLimit
    - tsortIsClosed
    - tSimpleHashClear
    - QUERY_CHECK_NULL
    - tSimpleHashCleanup
    - qDebug
    - tstrerror
    - blockDataGetSize
    - blockDataMerge
    - taosArrayDestroyEx
    - SSortHandle*::fetchfp
    - tSimpleHashPut
    - taosArrayInit
    - tsortOpenRegion
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createBlocksMergeSortInitialSources(SSortHandle* pHandle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2440,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2445,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2448,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2433
    functionDepth: 1
    functionLinenumber: 2433
    functionLinenumberEnd: 2453
    functionName: freeSortSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - blockDataDestroy
    - taosMemoryFree
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void freeSortSource(void* p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2459,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2465,1
    - Dst: SSortHandle*::fetchfp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2469,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2470,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2477,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2478,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2478,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2483,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2484,1
    - Dst: SSortHandle*::beforeFp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2488,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2491,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2492,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2494,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2497,1
    - Dst: blockDataSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2498,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2499,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2501,1
    - Dst: blockDataKeepFirstNRows
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2503,1
    - Dst: doAddToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2504,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2505,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2510,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2513,1
    - Dst: blockDataSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2514,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2515,1
    - Dst: blockDataKeepFirstNRows
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2517,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2518,1
    - Dst: doAddToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2529,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2535,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2535,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2537,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2455
    functionDepth: 3
    functionLinenumber: 2455
    functionLinenumberEnd: 2539
    functionName: createBlocksQuickSortInitialSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blockDataMerge
    - SSortHandle*::beforeFp
    - taosArrayGet
    - SSortHandle*::fetchfp
    - taosArrayRemoveBatch
    - taosGetTimestampUs
    - blockDataSort
    - qError
    - createOneDataBlock
    - blockDataGetRowSize
    - blockDataKeepFirstNRows
    - getProperSortPageSize
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - doAddToBuf
    - tstrerror
    - blockDataGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t createBlocksQuickSortInitialSources(SSortHandle* pHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createBlocksQuickSortInitialSources
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2545,1
    - Dst: createBlocksMergeSortInitialSources
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2547,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2550,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2541
    functionDepth: 6
    functionLinenumber: 2541
    functionLinenumberEnd: 2552
    functionName: createInitialSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - qDebug
    - createBlocksMergeSortInitialSources
    - taosArrayGetSize
    - createBlocksQuickSortInitialSources
    linkageType: ''
    returnType: int32_t
    signature: int32_t createInitialSources(SSortHandle* pHandle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createInitialSources
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2555,1
    - Dst: doInternalMergeSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2561,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2566,1
    - Dst: getNumOfInMemBufPages
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2568,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2569,1
    - Dst: sortComparInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2578,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2585
      start: 2554
    functionDepth: 7
    functionLinenumber: 2554
    functionLinenumberEnd: 2585
    functionName: tsortOpenForBufMergeSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - doInternalMergeSort
    - createInitialSources
    - sortComparInit
    - qError
    - tMergeTreeCreate
    - taosArrayGetSize
    - getNumOfInMemBufPages
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortOpenForBufMergeSort(SSortHandle* pHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2587
    functionDepth: 1
    functionLinenumber: 2587
    functionLinenumberEnd: 2587
    functionName: tsortClose
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 1
    functionsReached:
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: void
    signature: void tsortClose(SSortHandle* pHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2589
    functionName: tsortIsClosed
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 2
    functionsReached:
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: bool
    signature: bool tsortIsClosed(SSortHandle* pHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2591
    functionName: tsortSetClosed
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - atomic_store_8
    linkageType: ''
    returnType: void
    signature: void tsortSetClosed(SSortHandle* pHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pHandle
    - mergeLimit
    argTypes:
    - SSortHandle*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2593
    functionName: tsortSetMergeLimit
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tsortSetMergeLimit(SSortHandle* pHandle, int64_t mergeLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pHandle
    - fetchFp
    - param
    argTypes:
    - SSortHandle*
    - _sort_fetch_block_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2600
    functionName: tsortSetFetchRawDataFp
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tsortSetFetchRawDataFp(SSortHandle* pHandle, _sort_fetch_block_fn_t
      fetchFp, void (*fp)(SSDataBlock*, void*),\n                            void*
      param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pHandle
    - fp
    argTypes:
    - SSortHandle*
    - _sort_merge_compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2606
    functionName: tsortSetComparFp
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tsortSetComparFp(SSortHandle* pHandle, _sort_merge_compar_fn_t
      fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pHandle
    - compareGroupId
    argTypes:
    - SSortHandle*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2612
    functionName: tsortSetCompareGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tsortSetCompareGroupId(SSortHandle* pHandle, bool compareGroupId)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2618,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2638,1
    - Dst: adjustMergeTreeForNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2642,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2654,1
    - Dst: UNLIKELY
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2657,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2658,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2614
    functionDepth: 2
    functionLinenumber: 2614
    functionLinenumberEnd: 2670
    functionName: tsortBufMergeSortNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - tsortIsClosed
    - qError
    - UNLIKELY
    - adjustMergeTreeForNextTuple
    - tMergeTreeGetChosenIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortBufMergeSortNextTuple(SSortHandle* pHandle, STupleHandle**
      pTupleHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2672
    functionName: tsortIsForceUsePQSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tsortIsForceUsePQSort(SSortHandle* pHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2674
    functionName: tsortSetForceUsePQSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tsortSetForceUsePQSort(SSortHandle* pHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsortIsForceUsePQSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2676
    functionDepth: 1
    functionLinenumber: 2676
    functionLinenumberEnd: 2681
    functionName: tsortIsPQSortApplicable
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - tsortIsForceUsePQSort
    linkageType: ''
    returnType: bool
    signature: bool tsortIsPQSortApplicable(SSortHandle* pHandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSortHandle*::comparFn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2688
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2688
    functionName: tsortPQCompFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - SSortHandle*::comparFn
    linkageType: ''
    returnType: bool
    signature: bool tsortPQCompFn(void* a, void* b, void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSortHandle*::comparFn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2690
    functionDepth: 0
    functionLinenumber: 2690
    functionLinenumberEnd: 2695
    functionName: tsortPQComFnReverse
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - SSortHandle*::comparFn
    linkageType: ''
    returnType: bool
    signature: bool tsortPQComFnReverse(void* a, void* b, void* param)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2703,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2705,1
    - Dst: tupleDescGetField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2708,1
    - Dst: tupleDescGetField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2709,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2725,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2730,1
    - Dst: fn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2732,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 2697
    functionDepth: 3
    functionLinenumber: 2697
    functionLinenumberEnd: 2741
    functionName: tupleComparFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - getKeyComparFunc
    - fn
    - tupleDescGetField
    - TARRAY_GET_ELEM
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: int32_t
    signature: int32_t tupleComparFn(const void* pLeft, const void* pRight, void*
      param)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: createBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2744,1
    - Dst: tsortSetComparFp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2749,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2751,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2764,1
    - Dst: SSortHandle*::fetchfp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2764,1
    - Dst: SSortHandle*::beforeFp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2770,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2774,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2780,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2784,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2790,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2791,1
    - Dst: taosBQPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2804,1
    - Dst: createAllocatedTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2809,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2743
    functionDepth: 3
    functionLinenumber: 2743
    functionLinenumberEnd: 2818
    functionName: tsortOpenForPQSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - SSortHandle*::beforeFp
    - taosArrayGet
    - SSortHandle*::fetchfp
    - TAOS_CHECK_RETURN
    - taosBQPush
    - tsortSetComparFp
    - IS_STR_DATA_BLOB
    - createOneDataBlock
    - createBoundedQueue
    - blockDataGetNumOfCols
    - createAllocatedTuple
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortOpenForPQSort(SSortHandle* pHandle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2828,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2829,1
    - Dst: taosBQSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2835,1
    - Dst: taosBQMaxSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2835,1
    - Dst: taosBQPop
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2836,1
    - Dst: taosBQSetFn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2840,1
    - Dst: taosBQBuildHeap
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2841,1
    - Dst: taosBQSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2843,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2844,1
    - Dst: taosBQTop
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2845,1
    - Dst: tupleGetField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2849,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2852,1
    - Dst: bdGetColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2852,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2855,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2857,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2857,1
    - Dst: taosBQPop
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2862,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2820
    functionDepth: 2
    functionLinenumber: 2820
    functionLinenumberEnd: 2872
    functionName: tsortPQSortNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - taosBQMaxSize
    - colDataSetNULL
    - taosBQBuildHeap
    - TAOS_CHECK_RETURN
    - blockDataCleanup
    - blockDataEnsureCapacity
    - taosBQPop
    - bdGetColumnInfoData
    - colDataSetVal
    - taosBQSize
    - taosBQSetFn
    - taosBQTop
    - blockDataGetNumOfCols
    - tupleGetField
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortPQSortNextTuple(SSortHandle* pHandle, STupleHandle** pTupleHandle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2889,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2896,1
    - Dst: SSortHandle*::fetchfp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2896,1
    - Dst: setCurrentSourceDone
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2899,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2874
    functionDepth: 1
    functionLinenumber: 2874
    functionLinenumberEnd: 2910
    functionName: tsortSingleTableMergeNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - SSortHandle*::fetchfp
    - setCurrentSourceDone
    - taosArrayGet
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortSingleTableMergeNextTuple(SSortHandle* pHandle, STupleHandle**
      pTupleHandle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsortIsPQSortApplicable
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2923,1
    - Dst: tsortOpenForPQSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2924,1
    - Dst: tsortOpenForBufMergeSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2926,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2912
    functionDepth: 8
    functionLinenumber: 2912
    functionLinenumberEnd: 2930
    functionName: tsortOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 3
    functionsReached:
    - tsortOpenForBufMergeSort
    - tsortIsPQSortApplicable
    - tsortOpenForPQSort
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortOpen(SSortHandle* pHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsortSingleTableMergeNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2936,1
    - Dst: tsortPQSortNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2938,1
    - Dst: tsortBufMergeSortNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2932
    functionDepth: 3
    functionLinenumber: 2932
    functionLinenumberEnd: 2944
    functionName: tsortNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 3
    functionsReached:
    - tsortSingleTableMergeNextTuple
    - tsortPQSortNextTuple
    - tsortBufMergeSortNextTuple
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortNextTuple(SSortHandle* pHandle, STupleHandle** pTupleHandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2947,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pVHandle
    - colIndex
    argTypes:
    - STupleHandle*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2946
    functionDepth: 1
    functionLinenumber: 2946
    functionLinenumberEnd: 2953
    functionName: tsortIsNullVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 1
    functionsReached:
    - colDataIsNull_s
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: bool tsortIsNullVal(STupleHandle* pVHandle, int32_t colIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2957,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pVHandle
    - colIndex
    - pVal
    argTypes:
    - STupleHandle*
    - int32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2955
    functionDepth: 1
    functionLinenumber: 2955
    functionLinenumberEnd: 2961
    functionName: tsortGetValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 4
    functionsReached:
    - TARRAY_GET_ELEM
    - colDataGetData
    linkageType: ''
    returnType: void
    signature: void tsortGetValue(STupleHandle* pVHandle, int32_t colIndex, void**
      pVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pVHandle
    - colIndex
    - pColInfo
    argTypes:
    - STupleHandle*
    - int32_t
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2965
      start: 2963
    functionDepth: 1
    functionLinenumber: 2963
    functionLinenumberEnd: 2965
    functionName: tsortGetColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: void
    signature: void tsortGetColumnInfo(STupleHandle* pVHandle, int32_t colIndex, SColumnInfoData**
      pColInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pVHandle
    argTypes:
    - STupleHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2967
    functionDepth: 1
    functionLinenumber: 2967
    functionLinenumberEnd: 2967
    functionName: tsortGetColNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: size_t
    signature: size_t tsortGetColNum(STupleHandle* pVHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pVHandle
    - gid
    - baseGid
    argTypes:
    - STupleHandle*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 2971
    functionName: tsortGetGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tsortGetGroupId(STupleHandle* pVHandle, uint64_t* gid, uint64_t*
      baseGid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pVHandle
    argTypes:
    - STupleHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2972
    functionDepth: 0
    functionLinenumber: 2972
    functionLinenumberEnd: 2972
    functionName: tsortGetBlockId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t tsortGetBlockId(STupleHandle* pVHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pVHandle
    - pBlockInfo
    argTypes:
    - STupleHandle*
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2973
    functionDepth: 0
    functionLinenumber: 2973
    functionLinenumberEnd: 2973
    functionName: tsortGetBlockInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tsortGetBlockInfo(STupleHandle* pVHandle, SDataBlockInfo* pBlockInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDBufStatis
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2975
    functionDepth: 1
    functionLinenumber: 2975
    functionLinenumberEnd: 2994
    functionName: tsortGetSortExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    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:2998,1
    - Dst: buildKeys
      Src: /src/tdengine/source/libs/executor/src/tsort.c:3001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pSortCols
    - keyBuf
    - keyLen
    - pTuple
    argTypes:
    - SArray*
    - char*
    - int32_t*
    - STupleHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2996
    functionDepth: 1
    functionLinenumber: 2996
    functionLinenumberEnd: 3005
    functionName: tsortCompAndBuildKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached:
    - buildKeys
    - compKeys
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsortCompAndBuildKeys(const SArray* pSortCols, char* keyBuf,
      int32_t* keyLen, const STupleHandle* pTuple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - param
    argTypes:
    - SSortHandle*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 3007
    functionDepth: 0
    functionLinenumber: 3007
    functionLinenumberEnd: 3011
    functionName: tsortSetMergeLimitReachedFp
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tsortSetMergeLimitReachedFp(SSortHandle* pHandle, void (*mergeLimitReachedCb)(uint64_t
      tableUid, void* param),\n                                 void*        param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - runtime
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: SET_REVERSE_SCAN_FLAG
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_REVERSE_SCAN_FLAG(runtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ord
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: GET_FORWARD_DIRECTION_FACTOR
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_FORWARD_DIRECTION_FACTOR(ord)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:44,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - __size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: u_malloc
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosRand
    linkageType: ''
    returnType: UNUSED_FUNC
    signature: UNUSED_FUNC *u_malloc (size_t __size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:54,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - __size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: u_calloc
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - taosRand
    linkageType: ''
    returnType: UNUSED_FUNC
    signature: UNUSED_FUNC * u_calloc(size_t num, size_t __size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:63,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - __size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: u_realloc
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryRealloc
    - taosRand
    linkageType: ''
    returnType: UNUSED_FUNC
    signature: UNUSED_FUNC * u_realloc(void* p, size_t __size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:90,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:92,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:92,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:97,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:99,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:99,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:105,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:107,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:109,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:111,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:111,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:118,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - pResultBuf
    - currentPageId
    - interBufSize
    argTypes:
    - SDiskbasedBuf*
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 130
    functionName: getNewResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - qError
    - getNewBufPage
    - getBufPageSize
    - setBufPageDirty
    - memset
    - tstrerror
    linkageType: ''
    returnType: SResultRow
    signature: SResultRow * getNewResultRow(SDiskbasedBuf* pResultBuf, int32_t* currentPageId,
      int32_t interBufSize)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SET_RES_WINDOW_KEY
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:142,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:144,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:144,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:148,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:148,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:155,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:172,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:189,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:191,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:191,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:191,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:195,1
    - Dst: getNewResultRow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:200,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:208,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:208,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:211,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:211,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:222,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 228
    functionName: doSetResultOutBufByKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - SET_RES_WINDOW_KEY
    - GET_RES_WINDOW_KEY_LEN
    - qError
    - GET_TASKID
    - tSimpleHashPut
    - getNewResultRow
    - tSimpleHashGetSize
    - tstrerror
    - calcGroupId
    - getResultRowByPos
    - tSimpleHashGet
    linkageType: ''
    returnType: SResultRow
    signature: "SResultRow * doSetResultOutBufByKey(SDiskbasedBuf* pResultBuf, SResultRowInfo*
      pResultRowInfo, char* pData,\n                                   int32_t bytes,
      bool masterscan, uint64_t groupId, SExecTaskInfo* pTaskInfo,\n                                   bool
      isIntervalQuery, SAggSupporter* pSup, bool keepGroup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:235,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:239,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:240,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:243,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:245,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pColData
    - pQueryWindow
    argTypes:
    - SColumnInfoData*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 250
    functionName: initExecTimeWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - colInfoDataEnsureCapacity
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t initExecTimeWindowInfo(SColumnInfoData* pColData, STimeWindow*
      pQueryWindow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setBlockSMAInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:259,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:260,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:267,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - pExprSup
    - pBlock
    - order
    - scanFlag
    argTypes:
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 270
    functionName: doSetInputDataBlockInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - setBlockSMAInfo
    - qError
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetInputDataBlockInfo(SExprSupp* pExprSup, SSDataBlock* pBlock,
      int32_t order, int32_t scanFlag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doSetInputDataBlockInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:275,1
    - Dst: doSetInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - pExprSup
    - pBlock
    - order
    - scanFlag
    - createDummyCol
    argTypes:
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: setInputDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - doSetInputDataBlock
    - doSetInputDataBlockInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setInputDataBlock(SExprSupp* pExprSup, SSDataBlock* pBlock,
      int32_t order, int32_t scanFlag,\n                          bool createDummyCol)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:287,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:288,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:299,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:300,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:306,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:311,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:314,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:315,1
    - Dst: STR_WITH_SIZE_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:317,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:319,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:320,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:322,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:327,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:327,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - pInput
    - pFuncParam
    - paramIndex
    - numOfRows
    argTypes:
    - SInputColumnInfoData*
    - SFunctParam*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 330
    functionName: doCreateConstantValColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - colInfoDataEnsureCapacity
    - colDataSetDouble
    - qError
    - QUERY_CHECK_NULL
    - colDataSetVal
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - STR_WITH_SIZE_TO_VARSTR
    - tstrerror
    - taosMemoryCalloc
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doCreateConstantValColumnInfo(SInputColumnInfoData* pInput,
      SFunctParam* pFuncParam, int32_t paramIndex,\n                                             int32_t
      numOfRows)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:360,1
    - Dst: fmIsImplicitTsFunc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:369,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:375,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:385,1
    - Dst: doCreateConstantValColumnInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:394,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:395,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:403,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:403,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 5
    argNames:
    - pExprSup
    - pBlock
    - order
    - scanFlag
    - createDummyCol
    argTypes:
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 406
    functionName: doSetInputDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - QUERY_CHECK_CONDITION
    - doCreateConstantValColumnInfo
    - qError
    - fmIsIndefiniteRowsFunc
    - fmIsImplicitTsFunc
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doSetInputDataBlock(SExprSupp* pExprSup, SSDataBlock* pBlock,
      int32_t order, int32_t scanFlag,\n                                   bool createDummyCol)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:409,1
    - Dst: fmIsRepeatScanFunc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:418,1
    - Dst: isRowEntryCompleted
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 426
    functionName: functionNeedToExecute
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - isRowEntryCompleted
    - GET_RES_INFO
    - fmIsRepeatScanFunc
    linkageType: ''
    returnType: bool
    signature: bool functionNeedToExecute(SqlFunctionCtx* pCtx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:431,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:443,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - pInput
    - pFuncParam
    - type
    - paramIndex
    - numOfRows
    argTypes:
    - SInputColumnInfoData*
    - SFunctParam*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 476
    functionName: doCreateConstantValColumnSMAInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - qError
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doCreateConstantValColumnSMAInfo(SInputColumnInfoData* pInput,
      SFunctParam* pFuncParam, int32_t type,\n                                                int32_t
      paramIndex, int32_t numOfRows)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:502,1
    - Dst: doCreateConstantValColumnSMAInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:504,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:505,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:514,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - pCtx
    - pExprInfo
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SExprInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 517
    functionName: setBlockSMAInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - doCreateConstantValColumnSMAInfo
    - qError
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t setBlockSMAInfo(SqlFunctionCtx* pCtx, SExprInfo* pExprInfo,
      SSDataBlock* pBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:522,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pInterval
    - key
    argTypes:
    - SInterval*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 534
    functionName: getAlignQueryTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 1
    functionsReached:
    - taosTimeTruncate
    - taosTimeGetIntervalEnd
    linkageType: ''
    returnType: STimeWindow
    signature: STimeWindow getAlignQueryTimeWindow(const SInterval* pInterval, int64_t
      key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:540,1
    - Dst: isRowEntryCompleted
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:547,1
    - Dst: isRowEntryInitialized
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:547,1
    - Dst: fpSet::init
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:557,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:558,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:560,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:560,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:563,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:563,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - pResult
    - pCtx
    - numOfOutput
    - rowEntryInfoOffset
    argTypes:
    - SResultRow*
    - SqlFunctionCtx*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 574
    functionName: setResultRowInitCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - getResultEntryInfo
    - qError
    - fpSet::init
    - isRowEntryCompleted
    - tstrerror
    - fmIsUserDefinedFunc
    - isRowEntryInitialized
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setResultRowInitCtx(SResultRow* pResult, SqlFunctionCtx* pCtx,
      int32_t numOfOutput,\n                            int32_t* rowEntryInfoOffset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 588
    functionName: clearResultRowInitFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clearResultRowInitFlag(SqlFunctionCtx* pCtx, int32_t numOfOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:597,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:600,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:601,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:605,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:606,1
    - Dst: extractQualifiedTupleByFilterResult
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:608,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:609,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:612,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:614,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:615,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:617,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:618,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:620,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:621,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:627,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:628,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:631,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:631,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:633,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:634,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - pBlock
    - pFilterInfo
    - pColMatchInfo
    - pRet
    argTypes:
    - SSDataBlock*
    - SFilterInfo*
    - SColMatchInfo*
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 590
    functionDepth: 4
    functionLinenumber: 590
    functionLinenumberEnd: 636
    functionName: doFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - extractQualifiedTupleByFilterResult
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - blockDataUpdateTsWindow
    - taosMemoryFree
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - filterExecute
    - filterSetDataFromSlotId
    - colDataDestroy
    - blockDataCheck
    linkageType: ''
    returnType: int32_t
    signature: int32_t doFilter(SSDataBlock* pBlock, SFilterInfo* pFilterInfo, SColMatchInfo*
      pColMatchInfo, SColumnInfoData** pRet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:644,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:647,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pBlock
    - p
    - status
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 652
    functionName: extractQualifiedTupleByFilterResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 1
    functionsReached:
    - qError
    - trimDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractQualifiedTupleByFilterResult(SSDataBlock* pBlock, const
      SColumnInfoData* p, int32_t status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:657,1
    - Dst: isRowEntryInitialized
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - pCtx
    - pRow
    - numOfExprs
    - rowEntryOffset
    argTypes:
    - SqlFunctionCtx*
    - SResultRow*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 676
    functionName: doUpdateNumOfRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - getResultEntryInfo
    - isRowEntryInitialized
    linkageType: ''
    returnType: void
    signature: void doUpdateNumOfRows(SqlFunctionCtx* pCtx, SResultRow* pRow, int32_t
      numOfExprs, const int32_t* rowEntryOffset)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:686,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:688,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:689,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:691,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:694,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:695,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:697,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:701,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:703,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:706,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:714,1
    - Dst: fpSet::finalize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:724,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:726,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:726,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:726,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:727,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:729,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:734,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:735,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:736,1
    - Dst: colDataSetValOrCover
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:738,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:739,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
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 7
    argNames:
    - pExprInfo
    - numOfExprs
    - pRow
    - pCtx
    - pBlock
    - rowEntryOffset
    - pTaskInfo
    argTypes:
    - SExprInfo*
    - int32_t
    - SResultRow*
    - SqlFunctionCtx*
    - SSDataBlock*
    - int32_t*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 749
    functionName: copyResultrowToDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - colDataSetValOrCover
    - fpSet::finalize
    - memcpy
    - taosArrayGet
    - getResultEntryInfo
    - qError
    - GET_TASKID
    - QUERY_CHECK_NULL
    - GET_ROWCELL_INTERBUF
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - IS_VAR_DATA_TYPE
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t copyResultrowToDataBlock(SExprInfo* pExprInfo, int32_t numOfExprs,
      SResultRow* pRow, SqlFunctionCtx* pCtx,\n                                 SSDataBlock*
      pBlock, const int32_t* rowEntryOffset, SExecTaskInfo* pTaskInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:754,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:756,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:756,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:756,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:757,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:766,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:768,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:777,1
    - Dst: TAOS_FAILED
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:778,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:779,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:780,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:780,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:780,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:781,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:784,1
    - Dst: TAOS_FAILED
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:785,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:786,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:787,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:787,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:787,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:788,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - pBuf
    - resultRowPosition
    - pSup
    - pBlock
    - pTaskInfo
    argTypes:
    - SDiskbasedBuf*
    - SResultRowPosition*
    - SExprSupp*
    - SSDataBlock*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 793
    functionName: finalizeResultRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - T_LONG_JMP
    - doUpdateNumOfRows
    - copyResultrowToDataBlock
    - blockDataEnsureCapacity
    - qError
    - GET_TASKID
    - tstrerror
    - TAOS_FAILED
    linkageType: ''
    returnType: void
    signature: "void finalizeResultRows(SDiskbasedBuf* pBuf, SResultRowPosition* resultRowPosition,
      SExprSupp* pSup,\n                        SSDataBlock* pBlock, SExecTaskInfo*
      pTaskInfo)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:805,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:810,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:811,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:813,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:815,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:817,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:817,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:817,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:818,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:823,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:831,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:841,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:849,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:850,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:851,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:852,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:860,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:861,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:862,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:869,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:869,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:872,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:873,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:877,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:877,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:878,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 8
    argNames:
    - pTaskInfo
    - pBlock
    - pSup
    - pBuf
    - pGroupResInfo
    - pHashmap
    - threshold
    - ignoreGroup
    argTypes:
    - SExecTaskInfo*
    - SSDataBlock*
    - SExprSupp*
    - SDiskbasedBuf*
    - SGroupResInfo*
    - SSHashObj*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 880
    functionName: doCopyToSDataBlockByHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - T_LONG_JMP
    - doUpdateNumOfRows
    - tstrerror
    - copyResultrowToDataBlock
    - blockDataEnsureCapacity
    - qError
    - GET_TASKID
    - blockDataUpdateTsWindow
    - qDebug
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - calcGroupId
    - QUERY_CHECK_CODE
    linkageType: ''
    returnType: void
    signature: "void doCopyToSDataBlockByHash(SExecTaskInfo* pTaskInfo, SSDataBlock*
      pBlock, SExprSupp* pSup, SDiskbasedBuf* pBuf,\n                              SGroupResInfo*
      pGroupResInfo, SSHashObj* pHashmap, int32_t threshold, bool ignoreGroup)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:891,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:894,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:895,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:897,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:897,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:897,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:898,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:903,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:908,1
    - Dst: isTrueForSatisfied
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:912,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:913,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:916,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:926,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:934,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:935,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:936,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:937,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:942,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:943,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:944,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:952,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:952,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:955,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:956,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:960,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:960,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:961,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 8
    argNames:
    - pTaskInfo
    - pBlock
    - pSup
    - pBuf
    - pGroupResInfo
    - threshold
    - ignoreGroup
    - pTrueForInfo
    argTypes:
    - SExecTaskInfo*
    - SSDataBlock*
    - SExprSupp*
    - SDiskbasedBuf*
    - SGroupResInfo*
    - int32_t
    - bool
    - STrueForInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 882
    functionDepth: 2
    functionLinenumber: 882
    functionLinenumberEnd: 963
    functionName: doCopyToSDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - T_LONG_JMP
    - doUpdateNumOfRows
    - copyResultrowToDataBlock
    - blockDataEnsureCapacity
    - qError
    - isTrueForSatisfied
    - GET_TASKID
    - blockDataUpdateTsWindow
    - qDebug
    - QUERY_CHECK_CODE
    - tstrerror
    - taosArrayGetP
    - getNumOfTotalRes
    linkageType: ''
    returnType: void
    signature: "void doCopyToSDataBlock(SExecTaskInfo* pTaskInfo, SSDataBlock* pBlock,
      SExprSupp* pSup, SDiskbasedBuf* pBuf,\n                        SGroupResInfo*
      pGroupResInfo, int32_t threshold, bool ignoreGroup, STrueForInfo *pTrueForInfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:973,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:974,1
    - Dst: doCopyToSDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:981,1
    - Dst: getTrueForInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:982,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:984,1
    - Dst: doCopyToSDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:985,1
    - Dst: getTrueForInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:986,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pOperator
    - pbInfo
    - pGroupResInfo
    - pBuf
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - SGroupResInfo*
    - SDiskbasedBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 998
    functionName: doBuildResultDatablock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - blockDataCleanup
    - getTrueForInfo
    - hasRemainResults
    - doCopyToSDataBlock
    linkageType: ''
    returnType: void
    signature: "void doBuildResultDatablock(SOperatorInfo* pOperator, SOptrBasicInfo*
      pbInfo, SGroupResInfo* pGroupResInfo,\n                            SDiskbasedBuf*
      pBuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1005,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1007,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1011,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pExpr
    - numOfExprs
    argTypes:
    - SExprInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1014
    functionName: destroyExprInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - taosMemoryFree
    - taosVariantDestroy
    linkageType: ''
    returnType: void
    signature: void destroyExprInfo(SExprInfo* pExpr, int32_t numOfExprs)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - rowSize
    - defaultPgsz
    - defaultBufsz
    argTypes:
    - int32_t
    - uint32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1039
    functionName: getBufferPgSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getBufferPgSize(int32_t rowSize, uint32_t* defaultPgsz, int64_t*
      defaultBufsz)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pResultInfo
    - numOfRows
    argTypes:
    - SResultInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1053
    functionName: initResultSizeInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initResultSizeInfo(SResultInfo* pResultInfo, int32_t numOfRows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - SOptrBasicInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1058
    functionName: initBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - initResultRowInfo
    linkageType: ''
    returnType: void
    signature: void initBasicInfo(SOptrBasicInfo* pInfo, SSDataBlock* pBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1070,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1071,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1072,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1077,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1081,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1084,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1085,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1086,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1087,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1090,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1094,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pCtx
    - pExpr
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - SExprInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1096
    functionName: destroySqlFunctionCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosVariantDestroy
    - taosMemoryFree
    - colDataDestroy
    - fpSet::cleanup
    linkageType: ''
    returnType: void
    signature: void destroySqlFunctionCtx(SqlFunctionCtx* pCtx, SExprInfo* pExpr,
      int32_t numOfOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pSup
    - pExprInfo
    - numOfExpr
    - pStore
    argTypes:
    - SExprSupp*
    - SExprInfo*
    - int32_t
    - SFunctionStateStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1109
    functionName: initExprSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - createSqlFunctionCtx
    linkageType: ''
    returnType: int32_t
    signature: int32_t initExprSupp(SExprSupp* pSup, SExprInfo* pExprInfo, int32_t
      numOfExpr, SFunctionStateStore* pStore)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pSup
    argTypes:
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1118
    functionName: checkIndefRowsFuncs
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - fmIsIndefiniteRowsFunc
    linkageType: ''
    returnType: void
    signature: void checkIndefRowsFuncs(SExprSupp* pSup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: destroySqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1121,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1123,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1124,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1128,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1132,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1120
    functionDepth: 3
    functionLinenumber: 1120
    functionLinenumberEnd: 1134
    functionName: cleanupExprSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - destroyExprInfo
    - filterFreeInfo
    - memset
    - destroySqlFunctionCtx
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void cleanupExprSupp(SExprSupp* pSupp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroySqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1137,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1139,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1140,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1136
    functionDepth: 2
    functionLinenumber: 1136
    functionLinenumberEnd: 1147
    functionName: cleanupExprSuppWithoutFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - destroyExprInfo
    - destroySqlFunctionCtx
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void cleanupExprSuppWithoutFilter(SExprSupp* pSupp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SOptrBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1152
    functionName: cleanupBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void cleanupBasicInfo(SOptrBasicInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pGroupList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1164
    functionName: groupbyTbname
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool groupbyTbname(SNodeList* pGroupList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1162
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 30
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pGroupList)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1169,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1179,1
    - Dst: getTableListInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1185,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1187,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1191,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1192,1
    - Dst: tableListGetSuid
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1194,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1198,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1200,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1200,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1201,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1205,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1207,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1212,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1214,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1218,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1220,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1221,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 4
    argNames:
    - pNode
    - pParam
    - pTask
    - readHandle
    argTypes:
    - SDataSinkNode*
    - void**
    - SExecTaskInfo*
    - SReadHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1234
    functionName: createDataSinkParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - getTableListInfo
    - tableListGetSize
    - taosArrayPush
    - qError
    - tableListGetInfo
    - taosMemoryFree
    - taosArrayInit
    - tableListGetSuid
    - tstrerror
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataSinkParam(SDataSinkNode* pNode, void** pParam, SExecTaskInfo*
      pTask, SReadHandle* readHandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::releaseStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1241
    functionName: streamOpReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::releaseStreamStateFn
    linkageType: ''
    returnType: void
    signature: void streamOpReleaseState(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::reloadStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1248
    functionName: streamOpReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::reloadStreamStateFn
    linkageType: ''
    returnType: void
    signature: void streamOpReloadState(SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1251,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1253,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1254,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1257,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1260,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pParam
    - type
    argTypes:
    - SOperatorParam*
    - SOperatorParamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1263
    functionName: freeOperatorParamImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - freeOperatorParam
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayDestroy
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void freeOperatorParamImpl(SOperatorParam* pParam, SOperatorParamType
      type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1268,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1272,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1273,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1276,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1283
    functionName: freeExchangeGetBasicOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void freeExchangeGetBasicOperatorParam(void* pParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1289,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1290,1
    - Dst: freeExchangeGetBasicOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1292,1
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1296
    functionName: freeExchangeGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - tSimpleHashSetFreeFp
    - freeExchangeGetBasicOperatorParam
    - freeOperatorParamImpl
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void freeExchangeGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1298
    functionDepth: 2
    functionLinenumber: 1298
    functionLinenumberEnd: 1298
    functionName: freeExchangeNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    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:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1300
    functionName: freeGroupCacheGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    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:1302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1302
    functionDepth: 2
    functionLinenumber: 1302
    functionLinenumberEnd: 1302
    functionName: freeGroupCacheNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    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:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1304
    functionName: freeMergeJoinGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeMergeJoinGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1306
    functionDepth: 2
    functionLinenumber: 1306
    functionLinenumberEnd: 1306
    functionName: freeMergeJoinNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    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:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1308
    functionDepth: 2
    functionLinenumber: 1308
    functionLinenumberEnd: 1308
    functionName: freeTagScanGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeTagScanGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1310
    functionDepth: 2
    functionLinenumber: 1310
    functionLinenumberEnd: 1310
    functionName: freeMergeGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeMergeGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1312
    functionDepth: 2
    functionLinenumber: 1312
    functionLinenumberEnd: 1312
    functionName: freeDynQueryCtrlGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeDynQueryCtrlGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1314
    functionName: freeDynQueryCtrlNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeDynQueryCtrlNotifyOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1318
    functionName: freeInterpFuncGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeInterpFuncGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1320
    functionDepth: 2
    functionLinenumber: 1320
    functionLinenumberEnd: 1322
    functionName: freeInterpFuncNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeInterpFuncNotifyOperatorParam(SOperatorParam* pParam)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1327,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1329,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1330,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1334,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1336,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1337,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1339,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1344,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1346,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1347,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1348,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1351,1
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1324
    functionDepth: 2
    functionLinenumber: 1324
    functionLinenumberEnd: 1355
    functionName: freeTableScanGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - freeOperatorParamImpl
    - taosArrayGetSize
    - taosArrayDestroy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void freeTableScanGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1357
    functionDepth: 2
    functionLinenumber: 1357
    functionLinenumberEnd: 1357
    functionName: freeTableScanNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeTableScanNotifyOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1359
    functionDepth: 2
    functionLinenumber: 1359
    functionLinenumberEnd: 1359
    functionName: freeTagScanNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeTagScanNotifyOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1361
    functionDepth: 2
    functionLinenumber: 1361
    functionLinenumberEnd: 1361
    functionName: freeMergeNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeMergeNotifyOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1367
    functionName: freeOpParamItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParam
    linkageType: ''
    returnType: void
    signature: void freeOpParamItem(void* pItem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1375
    functionName: destroyRefColIdGroupParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyRefColIdGroupParam(void* info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1379,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1380,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1381,1
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1377
    functionDepth: 2
    functionLinenumber: 1377
    functionLinenumberEnd: 1385
    functionName: freeExternalWindowGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosArrayGetSize
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeExternalWindowGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1389,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1391,1
    - Dst: freeOpParamItem
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1394,1
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1387
    functionDepth: 2
    functionLinenumber: 1387
    functionLinenumberEnd: 1396
    functionName: freeVirtualTableScanGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOpParamItem
    - freeOperatorParamImpl
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void freeVirtualTableScanGetOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1398
    functionDepth: 2
    functionLinenumber: 1398
    functionLinenumberEnd: 1398
    functionName: freeVTableScanNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeVTableScanNotifyOperatorParam(SOperatorParam* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1400
    functionDepth: 2
    functionLinenumber: 1400
    functionLinenumberEnd: 1400
    functionName: freeExternalWindowNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: void freeExternalWindowNotifyOperatorParam(SOperatorParam* pParam)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: freeExchangeGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1409,1
    - Dst: freeExchangeNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1409,1
    - Dst: freeGroupCacheGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1412,1
    - Dst: freeGroupCacheNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1412,1
    - Dst: freeMergeJoinGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1415,1
    - Dst: freeMergeJoinNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1415,1
    - Dst: freeTableScanGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1419,1
    - Dst: freeTableScanNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1419,1
    - Dst: freeVirtualTableScanGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1422,1
    - Dst: freeVTableScanNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1422,1
    - Dst: freeTagScanGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1425,1
    - Dst: freeTagScanNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1425,1
    - Dst: freeMergeGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1432,1
    - Dst: freeMergeNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1432,1
    - Dst: freeExternalWindowGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1435,1
    - Dst: freeExternalWindowNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1435,1
    - Dst: freeDynQueryCtrlGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1438,1
    - Dst: freeDynQueryCtrlNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1438,1
    - Dst: freeInterpFuncGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1441,1
    - Dst: freeInterpFuncNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1441,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1444,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - pParam
    - type
    argTypes:
    - SOperatorParam*
    - SOperatorParamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1402
    functionDepth: 3
    functionLinenumber: 1402
    functionLinenumberEnd: 1448
    functionName: freeOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 2
    functionsReached:
    - freeVTableScanNotifyOperatorParam
    - freeGroupCacheGetOperatorParam
    - freeTableScanGetOperatorParam
    - freeDynQueryCtrlNotifyOperatorParam
    - qError
    - freeDynQueryCtrlGetOperatorParam
    - freeGroupCacheNotifyOperatorParam
    - freeMergeNotifyOperatorParam
    - freeInterpFuncGetOperatorParam
    - freeExchangeNotifyOperatorParam
    - freeExternalWindowNotifyOperatorParam
    - freeTagScanNotifyOperatorParam
    - freeMergeGetOperatorParam
    - freeTableScanNotifyOperatorParam
    - freeMergeJoinNotifyOperatorParam
    - freeExternalWindowGetOperatorParam
    - freeMergeJoinGetOperatorParam
    - freeExchangeGetOperatorParam
    - freeTagScanGetOperatorParam
    - freeVirtualTableScanGetOperatorParam
    - freeInterpFuncNotifyOperatorParam
    linkageType: ''
    returnType: void
    signature: void freeOperatorParam(SOperatorParam* pParam, SOperatorParamType type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1467,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1469,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1476,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1479,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1484,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pOperator
    - type
    - allFree
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParamType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1450
    functionDepth: 4
    functionLinenumber: 1450
    functionLinenumberEnd: 1487
    functionName: freeResetOperatorParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - qDebug
    - 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:1491,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1495,1
    - Dst: fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1496,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1499,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1502,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1507,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1507,1
    - Dst: fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1512,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1514,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - pOperator
    - idx
    - clearParam
    - pResBlock
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    - bool
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1489
    functionDepth: 4
    functionLinenumber: 1489
    functionLinenumberEnd: 1517
    functionName: getNextBlockFromDownstreamImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - freeOperatorParam
    - QRY_PARAM_CHECK
    - qError
    - fpSet::getNextExtFn
    - qDebug
    - fpSet::getNextFn
    - tstrerror
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE getNextBlockFromDownstreamImpl(struct SOperatorInfo*
      pOperator, int32_t idx, bool clearParam,\n                                                    SSDataBlock**
      pResBlock)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1520,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1521,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1522,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1522,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1525,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1525,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1525,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1525,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1528,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1528,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1531,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1531,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1531,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1531,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - v
    - pKey
    argTypes:
    - char*
    - SStateKeys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1537
    functionName: compareVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: 0
    functionsReached:
    - blobDataLen
    - memcmp
    - IS_STR_DATA_BLOB
    - varDataLen
    - varDataVal
    - blobDataVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: bool compareVal(const char* v, const SStateKeys* pKey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:38,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:39,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:46,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:47,1
    - Dst: cleanupResultInfoInEventWindow
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:48,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:51,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: resetEventWindowOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - initExecTimeWindowInfo
    - resetAggSup
    - resetBasicOperatorState
    - colDataDestroy
    - cleanupResultInfoInEventWindow
    - resetExprSupp
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetEventWindowOperState(SOperatorInfo* pOper)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:64,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:68,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:69,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:74,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:83,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:85,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:87,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:89,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:95,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:96,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:97,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:98,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:101,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:103,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:109,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:110,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:112,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:114,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:116,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:118,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:119,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:120,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:122,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:123,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:125,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:130,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:131,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:140,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:142,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:145,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:146,1
    - Dst: destroyEWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:156,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 62
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 62
    functionDepth: 16
    functionLinenumber: 62
    functionLinenumberEnd: 162
    functionName: createEventwindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - createOperatorFpSet
    - setOperatorResetStateFn
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - initExecTimeWindowInfo
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - destroyEWindowOperatorInfo
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createEventwindowOperatorInfo(SOperatorInfo* downstream, SPhysiNode*
      physiNode,\n                                             SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:170,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pOperator
    - pInfo
    argTypes:
    - SOperatorInfo*
    - SEventWindowOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: cleanupResultInfoInEventWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 1
    functionsReached:
    - getResultEntryInfo
    - fpSet::cleanup
    linkageType: ''
    returnType: void
    signature: void cleanupResultInfoInEventWindow(SOperatorInfo* pOperator, SEventWindowOperatorInfo*
      pInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cleanupResultInfoInEventWindow
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:185,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:188,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:193,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:198,1
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:202,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:203,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:205,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:206,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 208
    functionName: destroyEWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - cleanupBasicInfo
    - cleanupAggSup
    - filterFreeInfo
    - taosMemoryFree
    - cleanupExprSupp
    - colDataDestroy
    - cleanupResultInfoInEventWindow
    linkageType: ''
    returnType: void
    signature: void destroyEWindowOperatorInfo(void* param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:221,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:227,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:239,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:240,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:242,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:243,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:247,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:248,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:249,1
    - Dst: eventWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:252,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:253,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:255,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:256,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:267,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:267,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 273
    functionName: eventWindowAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - tstrerror
    - blockDataCleanup
    - qError
    - blockDataUpdateTsWindow
    - doFilter
    - GET_STM_RTINFO
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - eventWindowAggImpl
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t eventWindowAggregateNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:278,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - pResultRowInfo
    - win
    - pResult
    - pExprSup
    - pAggSup
    argTypes:
    - SResultRowInfo*
    - STimeWindow*
    - SResultRow**
    - SExprSupp*
    - SAggSupporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 289
    functionName: setSingleOutputTupleBufv1
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - setResultRowInitCtx
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setSingleOutputTupleBufv1(SResultRowInfo* pResultRowInfo,
      STimeWindow* win, SResultRow** pResult,\n                                         SExprSupp*
      pExprSup, SAggSupporter* pAggSup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:300,1
    - Dst: setSingleOutputTupleBufv1
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:302,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:304,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:308,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - pInfo
    - pSup
    - startIndex
    - endIndex
    - pBlock
    - tsList
    - pTaskInfo
    argTypes:
    - SEventWindowOperatorInfo*
    - SExprSupp*
    - int32_t
    - int32_t
    - SSDataBlock*
    - int64_t*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 313
    functionName: doEventWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 0
    functionsReached:
    - applyAggFunctionOnPartialTuples
    - setSingleOutputTupleBufv1
    - qError
    - doKeepTuple
    - updateTimeWindowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doEventWindowAggImpl(SEventWindowOperatorInfo* pInfo, SExprSupp*
      pSup, int32_t startIndex,\n                                    int32_t endIndex,
      const SSDataBlock* pBlock, int64_t* tsList,\n                                    SExecTaskInfo*
      pTaskInfo)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:323,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:324,1
    - Dst: getTrueForInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:328,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:343,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:345,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:346,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:349,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:350,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:352,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:353,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:354,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:357,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:358,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:369,1
    - Dst: doEventWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:386,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:387,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:388,1
    - Dst: isTrueForSatisfied
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:390,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:391,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:397,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:398,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:401,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:403,1
    - Dst: doEventWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:413,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:414,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:419,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:423,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:440,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:440,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:442,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:443,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:444,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:445,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 97
    argCount: 3
    argNames:
    - pOperator
    - pInfo
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SEventWindowOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 315
    functionDepth: 4
    functionLinenumber: 315
    functionLinenumberEnd: 448
    functionName: eventWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: 1
    functionsReached:
    - clearResultRowInitFlag
    - doEventWindowAggImpl
    - qError
    - colDataDestroy
    - filterSetDataFromSlotId
    - doUpdateNumOfRows
    - taosArrayGet
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - filterExecute
    - getTrueForInfo
    - isTrueForSatisfied
    - QUERY_CHECK_NULL
    - qDebug
    - doKeepNewWindowStartInfo
    - copyResultrowToDataBlock
    - blockDataEnsureCapacity
    - taosMemoryFree
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t eventWindowAggImpl(SOperatorInfo* pOperator, SEventWindowOperatorInfo*
      pInfo, SSDataBlock* pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:42,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:44,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:44,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:49,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:50,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:51,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:53,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:53,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:55,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:55,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - pRSchema
    - ppDataBlock
    - maxBufRows
    argTypes:
    - SRSchema*
    - SSDataBlock**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: createDataBlockForSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/rollupoperator.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - blockDataEnsureCapacity
    - createColumnInfoData
    - createDataBlock
    - blockDataAppendColInfo
    - TAOS_CHECK_EXIT
    - blockDataDestroy
    - decimalFromTypeMod
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataBlockForSchema(SRSchema *pRSchema, SSDataBlock **ppDataBlock,
      int32_t maxBufRows)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:69,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:74,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:76,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:76,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:79,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:81,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:85,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:87,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:87,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:88,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:90,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:92,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:96,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:97,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:98,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:100,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:100,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:102,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:102,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:106,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:106,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - pRSchema
    - pTargets
    - ppDataBlock
    - maxBufRows
    argTypes:
    - SRSchema*
    - SNodeList*
    - SSDataBlock**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 112
    functionName: createDataBlockForTargets
    functionSourceFile: /src/tdengine/source/libs/executor/src/rollupoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_DECIMAL_TYPE
    - blockDataEnsureCapacity
    - qError
    - LIST_LENGTH
    - createColumnInfoData
    - createDataBlock
    - tstrerror
    - blockDataAppendColInfo
    - TAOS_CHECK_EXIT
    - blockDataDestroy
    - decimalFromTypeMod
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createDataBlockForTargets(SRSchema *pRSchema, SNodeList *pTargets,
      SSDataBlock **ppDataBlock,\n                                         int32_t
      maxBufRows)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:139,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:143,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:144,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:150,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:151,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:158,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:165,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:172,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:177,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:182,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:196,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:197,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:198,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:198,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:205,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:206,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:225,1
    - Dst: fmGetFuncName
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:226,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:228,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:228,1
    - Dst: fmIsImplicitTsFunc
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:232,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:233,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:233,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:240,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:241,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:241,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:244,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:244,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:250,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:250,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:261,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:261,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:275,1
    - Dst: createDataBlockForSchema
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:275,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:276,1
    - Dst: createDataBlockForTargets
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:276,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:278,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:280,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:280,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:282,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:282,1
    - Dst: doSetResultOutBufByKey
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:285,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:288,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:293,1
    - Dst: addNewResultRowBuf
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:293,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:296,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:296,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:298,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:298,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:301,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:302,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:303,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:304,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:305,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:308,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:308,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:310,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:310,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 137
    argCount: 4
    argNames:
    - pCtx
    - pRSchema
    - precision
    - dbName
    argTypes:
    - SRollupCtx*
    - SRSchema*
    - int8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 315
    functionName: tdRollupCtxInit
    functionSourceFile: /src/tdengine/source/libs/executor/src/rollupoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - snprintf
    - setResultRowInitCtx
    - fmGetFuncInfo
    - initAggSup
    - createExprInfo
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - doSetResultOutBufByKey
    - decimalFromTypeMod
    - IS_DECIMAL_TYPE
    - addNewResultRowBuf
    - createDataBlockForSchema
    - createDataBlockForTargets
    - nodesMakeNode
    - fmGetFuncName
    - initGroupedResultInfo
    - fmIsImplicitTsFunc
    - nodesDestroyNode
    - taosStrdup
    - taosMemoryMalloc
    - nodesListMakeAppend
    - taosArrayInit
    - tstrerror
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdRollupCtxInit(SRollupCtx *pCtx, SRSchema *pRSchema, int8_t
      precision, const char *dbName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:326,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:327,1
    - Dst: functionNeedToExecute
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:330,1
    - Dst: fpSet::process
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:339,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:344,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:346,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:352,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SRollupCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 355
    functionName: tdRollupDoAggregate
    functionSourceFile: /src/tdengine/source/libs/executor/src/rollupoperator.c
    functionUses: 0
    functionsReached:
    - fpSet::process
    - functionNeedToExecute
    - qError
    - tstrerror
    - TAOS_CHECK_EXIT
    - fpSet::cleanup
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdRollupDoAggregate(SRollupCtx *pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:361,1
    - Dst: doCopyToSDataBlock
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SRollupCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: tdRollupFinalize
    functionSourceFile: /src/tdengine/source/libs/executor/src/rollupoperator.c
    functionUses: 0
    functionsReached:
    - blockDataCleanup
    - doCopyToSDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdRollupFinalize(SRollupCtx *pCtx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:372,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:376,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:379,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:380,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:383,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:384,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:387,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:388,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:391,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:392,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:396,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:397,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:402,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:405,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:408,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:409,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - pCtx
    - deep
    argTypes:
    - SRollupCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 369
    functionDepth: 6
    functionLinenumber: 369
    functionLinenumberEnd: 411
    functionName: tdRollupCtxCleanup
    functionSourceFile: /src/tdengine/source/libs/executor/src/rollupoperator.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - cleanupAggSup
    - blockDataDestroy
    - cleanupGroupResInfo
    - cleanupExprSupp
    - taosArrayClear
    - taosArrayDestroy
    - taosMemFreeClear
    - tdListFree
    linkageType: ''
    returnType: void
    signature: void tdRollupCtxCleanup(SRollupCtx *pCtx, bool deep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:418,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:419,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/rollupoperator.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SRollupCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: tdRollupCtxReset
    functionSourceFile: /src/tdengine/source/libs/executor/src/rollupoperator.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - setResultRowInitCtx
    - clearResultRowInitFlag
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdRollupCtxReset(SRollupCtx *pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pInfo
    - blkRows
    argTypes:
    - SHJoinOperatorInfo*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: hJoinBlkReachThreshold
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hJoinBlkReachThreshold(SHJoinOperatorInfo* pInfo, int64_t blkRows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pJoin
    - pCtx
    argTypes:
    - SHJoinOperatorInfo*
    - SHJoinCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: hJoinHandleMidRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinHandleMidRemains(SHJoinOperatorInfo* pJoin, SHJoinCtx*
      pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:64,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:64,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:65,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:69,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:69,1
    - Dst: blockDataShrinkNRows
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCtx
    - ppMid
    - ppFin
    argTypes:
    - SHJoinCtx*
    - SSDataBlock**
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 81
    functionName: hJoinCopyMergeMidBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - blockDataMerge
    - blockDataCleanup
    - HJ_ERR_RET
    - blockDataMergeNRows
    - blockDataShrinkNRows
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinCopyMergeMidBlk(SHJoinCtx* pCtx, SSDataBlock** ppMid,
      SSDataBlock** ppFin)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SHJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: hJoinSetImplFp
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinSetImplFp(SHJoinOperatorInfo* pJoin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:113,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pBlock
    - pTable
    - startIdx
    - endIdx
    argTypes:
    - SSDataBlock*
    - SHJoinTableCtx*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: hJoinLaunchPrimExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinLaunchPrimExpr(SSDataBlock* pBlock, SHJoinTableCtx* pTable,
      int32_t startIdx, int32_t endIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pRow
    argTypes:
    - SBufRowInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: hJoinGetSingleKeyRowsNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t hJoinGetSingleKeyRowsNum(SBufRowInfo* pRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:143,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:144,1
    - Dst: hJoinGetSingleKeyRowsNum
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pHash
    argTypes:
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: hJoinGetRowsNumOfKeyHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinGetSingleKeyRowsNum
    - tSimpleHashIterate
    - tSimpleHashGetKey
    linkageType: ''
    returnType: int64_t
    signature: int64_t hJoinGetRowsNumOfKeyHash(SSHashObj* pHash)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:154,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:156,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:167,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pTable
    - pList
    argTypes:
    - SHJoinTableCtx*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 181
    functionName: hJoinInitKeyColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - IS_VAR_DATA_TYPE
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinInitKeyColsInfo(SHJoinTableCtx* pTable, SNodeList* pList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 30
    functionsReached:
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pList
    - blkId
    - colNum
    argTypes:
    - SNodeList*
    - int64_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: hJoinGetValColsNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hJoinGetValColsNum(SNodeList* pList, int64_t blkId, int32_t* colNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - slotId
    - keyNum
    - pKeys
    - pKeyIdx
    argTypes:
    - int16_t
    - int32_t
    - SHJoinColInfo*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: hJoinIsValColInKeyCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hJoinIsValColInKeyCols(int16_t slotId, int32_t keyNum, SHJoinColInfo*
      pKeys, int32_t* pKeyIdx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hJoinGetValColsNum
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:209,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:214,1
    - Dst: hJoinIsValColInKeyCols
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:226,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:232,1
    - Dst: IS_HASH_JOIN_KEY_COL
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:233,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:235,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:240,1
    - Dst: IS_HASH_JOIN_KEY_COL
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:245,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:252,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - pTable
    - pList
    argTypes:
    - SHJoinTableCtx*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 256
    functionName: hJoinInitValColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - hJoinGetValColsNum
    - IS_HASH_JOIN_KEY_COL
    - taosArrayInit
    - hJoinIsValColInKeyCols
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinInitValColsInfo(SHJoinTableCtx* pTable, SNodeList* pList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hJoinIsValColInKeyCols
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:226,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:232,1
    - Dst: IS_HASH_JOIN_KEY_COL
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:233,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:235,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:240,1
    - Dst: IS_HASH_JOIN_KEY_COL
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 250
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 30
    functionsReached:
    - taosArrayPush
    - IS_HASH_JOIN_KEY_COL
    - taosArrayInit
    - hJoinIsValColInKeyCols
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pTable
    - slotId
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 267
    functionName: hJoinInitPrimKeyInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinInitPrimKeyInfo(SHJoinTableCtx* pTable, int32_t slotId)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:276,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:281,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:294,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:296,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:296,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:299,1
    - Dst: offsetFromTz
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:300,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:300,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:300,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pNode
    - pCtx
    - pTable
    argTypes:
    - SNode*
    - SHJoinPrimExprCtx*
    - SHJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 306
    functionName: hJoinInitPrimExprCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - offsetFromTz
    - TSDB_TICK_PER_SECOND
    - varDataVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinInitPrimExprCtx(SNode* pNode, SHJoinPrimExprCtx* pCtx,
      SHJoinTableCtx* pTable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:322,1
    - Dst: hJoinInitPrimKeyInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:322,1
    - Dst: hJoinInitKeyColsInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:324,1
    - Dst: hJoinInitValColsInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:328,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:333,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:335,1
    - Dst: hJoinInitPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - pJoin
    - pJoinNode
    - pDownstream
    - idx
    - pStat
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    - SOperatorInfo**
    - int32_t
    - SQueryStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: hJoinInitTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinInitValColsInfo
    - hJoinInitPrimKeyInfo
    - HJ_ERR_RET
    - TAOS_MEMCPY
    - hJoinInitPrimExprCtx
    - hJoinInitKeyColsInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinInitTableInfo(SHJoinOperatorInfo* pJoin, SHashJoinPhysiNode*
      pJoinNode, SOperatorInfo** pDownstream, int32_t idx, SQueryStat* pStat)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - pInfo
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 383
    functionName: hJoinSetBuildAndProbeTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hJoinSetBuildAndProbeTable(SHJoinOperatorInfo* pInfo, SHashJoinPhysiNode*
      pJoinNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:387,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pInfo
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 405
    functionName: hJoinBuildResColsMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinBuildResColsMap(SHJoinOperatorInfo* pInfo, SHashJoinPhysiNode*
      pJoinNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:412,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pRowBufs
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 421
    functionName: hJoinAddPageToBufs
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE hJoinAddPageToBufs(SArray* pRowBufs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:424,1
    - Dst: hJoinAddPageToBufs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SHJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionName: hJoinInitBufPages
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinAddPageToBufs
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinInitBufPages(SHJoinOperatorInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:433,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:434,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:436,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SHJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: hJoinFreeTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void hJoinFreeTableInfo(SHJoinTableCtx* pTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: hJoinFreeBufPage
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void hJoinFreeBufPage(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:452,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:458,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ppHash
    argTypes:
    - SSHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 465
    functionName: hJoinDestroyKeyHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashCleanup
    - taosMemoryFree
    - tSimpleHashIterate
    linkageType: ''
    returnType: void
    signature: void hJoinDestroyKeyHash(SSHashObj** ppHash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:473,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:475,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:475,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pRowBufs
    - pRow
    - ppData
    argTypes:
    - SArray*
    - SBufRowInfo*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 482
    functionName: hJoinRetrieveColDataFromRowBufs
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - QRY_ERR_RET
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE hJoinRetrieveColDataFromRowBufs(SArray* pRowBufs, SBufRowInfo*
      pRow, char** ppData)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:494,1
    - Dst: hJoinRetrieveColDataFromRowBufs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:501,1
    - Dst: IS_HASH_JOIN_KEY_COL
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:502,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:504,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:509,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:510,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:515,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:519,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:525,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:528,1
    - Dst: colDataCopyNItems
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:529,1
    - Dst: colDataCopyNItems
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:531,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:531,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - pJoin
    - rowNum
    - pStart
    - pRes
    argTypes:
    - SHJoinOperatorInfo*
    - int32_t
    - SBufRowInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 543
    functionName: hJoinCopyResRowsToBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - varDataTLen
    - BMIsNull
    - colDataGetData
    - IS_HASH_JOIN_KEY_COL
    - colDataCopyNItems
    - HJ_ERR_RET
    - colDataSetVal
    - hJoinRetrieveColDataFromRowBufs
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinCopyResRowsToBlock(SHJoinOperatorInfo* pJoin, int32_t
      rowNum, SBufRowInfo* pStart, SSDataBlock* pRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:554,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:555,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:559,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:560,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:562,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pJoin
    - pRes
    - startIdx
    - rows
    argTypes:
    - SHJoinOperatorInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 571
    functionName: hJoinCopyNMatchRowsToBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - colDataSetNItemsNull
    - taosArrayGet
    - colDataAssignNRows
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinCopyNMatchRowsToBlock(SHJoinOperatorInfo* pJoin, SSDataBlock*
      pRes, int32_t startIdx, int32_t rows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hJoinCopyResRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:590,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - pRes
    - allFetched
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 598
    functionName: hJoinAppendResToBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinCopyResRowsToBlock
    - T_LONG_JMP
    linkageType: ''
    returnType: void
    signature: void hJoinAppendResToBlock(struct SOperatorInfo* pOperator, SSDataBlock*
      pRes, bool* allFetched)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:606,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:611,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:619,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:627,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:627,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:628,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:631,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - pTable
    - rowIdx
    - pBufLen
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 643
    functionName: hJoinCopyKeyColsDataToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - TAOS_MEMCPY
    - colDataIsNull_s
    - varDataTLen
    linkageType: ''
    returnType: bool
    signature: bool hJoinCopyKeyColsDataToBuf(SHJoinTableCtx* pTable, int32_t rowIdx,
      size_t *pBufLen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:647,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:649,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:649,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:650,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:652,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:653,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SHJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 668
    functionName: hJoinSetKeyColsData
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - QRY_ERR_RET
    - taosArrayGetSize
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinSetKeyColsData(SSDataBlock* pBlock, SHJoinTableCtx* pTable)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_HASH_JOIN_KEY_COL
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:675,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:678,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:680,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:680,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:681,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:683,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:684,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SHJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 701
    functionName: hJoinSetValColsData
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - IS_HASH_JOIN_KEY_COL
    - qError
    - QRY_ERR_RET
    - taosArrayGetSize
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinSetValColsData(SSDataBlock* pBlock, SHJoinTableCtx* pTable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:712,1
    - Dst: IS_HASH_JOIN_KEY_COL
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:714,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:719,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:722,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:722,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:723,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:726,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:727,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pTable
    - rowIdx
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 736
    functionName: hJoinCopyValColsDataToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - varDataTLen
    - BMIsNull
    - IS_HASH_JOIN_KEY_COL
    - TAOS_MEMCPY
    - colDataSetNull_f
    - TAOS_MEMSET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE hJoinCopyValColsDataToBuf(SHJoinTableCtx* pTable, int32_t
      rowIdx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:746,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:751,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:754,1
    - Dst: hJoinAddPageToBufs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - pPages
    - bufSize
    - pBuf
    - pRow
    argTypes:
    - SArray*
    - int32_t
    - char**
    - SBufRowInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 765
    functionName: hJoinGetValBufFromPages
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinAddPageToBufs
    - qError
    - taosArrayGetSize
    - taosArrayGetLast
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE hJoinGetValBufFromPages(SArray* pPages, int32_t bufSize,
      char** pBuf, SBufRowInfo* pRow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:774,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:776,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pTable
    - rowIdx
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 785
    functionName: hJoinGetValBufSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - varDataTLen
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE hJoinGetValBufSize(SHJoinTableCtx* pTable, int32_t rowIdx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:793,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:799,1
    - Dst: hJoinGetValBufFromPages
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:805,1
    - Dst: hJoinGetValBufSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:805,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:807,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:813,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - pJoin
    - pGroup
    - pTable
    - keyLen
    - rowIdx
    argTypes:
    - SHJoinOperatorInfo*
    - SGroupData*
    - SHJoinTableCtx*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 788
    functionDepth: 3
    functionLinenumber: 788
    functionLinenumberEnd: 823
    functionName: hJoinAddRowToHashImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinGetValBufSize
    - taosMemoryMalloc
    - tSimpleHashPut
    - taosMemoryFree
    - hJoinGetValBufFromPages
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinAddRowToHashImpl(SHJoinOperatorInfo* pJoin, SGroupData*
      pGroup, SHJoinTableCtx* pTable, size_t keyLen, int32_t rowIdx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hJoinSetValColsData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:827,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:832,1
    - Dst: hJoinAddRowToHashImpl
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:833,1
    - Dst: hJoinCopyValColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pJoin
    - pBlock
    - keyLen
    - rowIdx
    argTypes:
    - SHJoinOperatorInfo*
    - SSDataBlock*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 825
    functionDepth: 4
    functionLinenumber: 825
    functionLinenumberEnd: 841
    functionName: hJoinAddRowToHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinSetValColsData
    - hJoinAddRowToHashImpl
    - hJoinCopyValColsDataToBuf
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinAddRowToHash(SHJoinOperatorInfo* pJoin, SSDataBlock* pBlock,
      size_t keyLen, int32_t rowIdx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:844,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:846,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:846,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:850,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:851,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:864,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:865,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:872,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:878,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - pBlock
    - pRange
    - primSlot
    - startIdx
    - endIdx
    argTypes:
    - SSDataBlock*
    - STimeWindow*
    - int32_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 883
    functionName: hJoinFilterTimeRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - qError
    - taosbsearch
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool hJoinFilterTimeRange(SSDataBlock* pBlock, STimeWindow* pRange,
      int32_t primSlot, int32_t* startIdx, int32_t* endIdx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hJoinFilterTimeRange
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:888,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:892,1
    - Dst: hJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:892,1
    - Dst: hJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:894,1
    - Dst: hJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:901,1
    - Dst: hJoinAddRowToHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:904,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pBlock
    - pJoin
    argTypes:
    - SSDataBlock*
    - SHJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 885
    functionDepth: 5
    functionLinenumber: 885
    functionLinenumberEnd: 911
    functionName: hJoinAddBlockRowsToHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinAddRowToHash
    - hJoinFilterTimeRange
    - hJoinLaunchPrimExpr
    - hJoinCopyKeyColsDataToBuf
    - HJ_ERR_RET
    - hJoinSetKeyColsData
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinAddBlockRowsToHash(SSDataBlock* pBlock, SHJoinOperatorInfo*
      pJoin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:919,1
    - Dst: hJoinAddBlockRowsToHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:927,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:933,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:933,1
    - Dst: hJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:934,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pOperator
    - queryDone
    argTypes:
    - struct SOperatorInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 913
    functionDepth: 6
    functionLinenumber: 913
    functionLinenumberEnd: 941
    functionName: hJoinBuildHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - getNextBlockFromDownstream
    - IS_INNER_NONE_JOIN
    - hJoinSetDone
    - tSimpleHashGetSize
    - hJoinAddBlockRowsToHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinBuildHash(struct SOperatorInfo* pOperator, bool* queryDone)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hJoinFilterTimeRange
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:947,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:948,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:955,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:961,1
    - Dst: hJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:961,1
    - Dst: hJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:963,1
    - Dst: hJoinSetValColsData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:967,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:980,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:986,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 989
    functionName: hJoinPrepareStart
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinFilterTimeRange
    - hJoinLaunchPrimExpr
    - IS_INNER_NONE_JOIN
    - HJ_ERR_RET
    - hJoinSetValColsData
    - hJoinSetKeyColsData
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinPrepareStart(struct SOperatorInfo* pOperator, SSDataBlock*
      pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:992,1
    - Dst: hJoinDestroyKeyHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:995,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 998
    functionName: hJoinSetDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 1
    functionsReached:
    - qDebug
    - setOperatorCompleted
    - hJoinDestroyKeyHash
    linkageType: ''
    returnType: void
    signature: void hJoinSetDone(struct SOperatorInfo* pOperator)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1007,1
    - Dst: hJoinBuildHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1018,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1019,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1026,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1030,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1033,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1034,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1044,1
    - Dst: hJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1046,1
    - Dst: hJoinPrepareStart
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1053,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1054,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1056,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1061,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1062,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1072,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1072,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1074,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1078,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1078,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1000
    functionDepth: 7
    functionLinenumber: 1000
    functionLinenumberEnd: 1082
    functionName: hJoinMainProcess
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinBlkReachThreshold
    - getNextBlockFromDownstream
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - blockDataCleanup
    - qError
    - GET_TASKID
    - hJoinSetDone
    - doFilter
    - qDebug
    - hJoinBuildHash
    - QUERY_CHECK_CODE
    - tstrerror
    - hJoinPrepareStart
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinMainProcess(struct SOperatorInfo* pOperator, SSDataBlock**
      pResBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1086,1
    - Dst: hJoinDestroyKeyHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1090,1
    - Dst: hJoinFreeTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1092,1
    - Dst: hJoinFreeTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1093,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1094,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1096,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1097,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1084
    functionDepth: 2
    functionLinenumber: 1084
    functionLinenumberEnd: 1100
    functionName: destroyHashJoinOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - qDebug
    - hJoinDestroyKeyHash
    - hJoinFreeTableInfo
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyHashJoinOperator(void* param)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1108,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1108,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1115,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1115,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
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1126,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - pJoin
    - pJoinNode
    - pTaskInfo
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1102
    functionDepth: 16
    functionLinenumber: 1102
    functionLinenumberEnd: 1135
    functionName: hJoinHandleConds
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - filterInitFromNode
    - HJ_ERR_RET
    - mergeJoinConds
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinHandleConds(SHJoinOperatorInfo* pJoin, SHashJoinPhysiNode*
      pJoinNode, SExecTaskInfo* pTaskInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1145
    functionName: hJoinGetFinBlkCapacity
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - TMAX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hJoinGetFinBlkCapacity(SHJoinOperatorInfo* pJoin, SHashJoinPhysiNode*
      pJoinNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1149,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1151,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1154,1
    - Dst: hJoinGetFinBlkCapacity
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1154,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1156,1
    - Dst: createOneDataBlock
      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
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1166,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1148
    functionDepth: 2
    functionLinenumber: 1148
    functionLinenumberEnd: 1174
    functionName: hJoinInitResBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - hJoinGetFinBlkCapacity
    - blockDataEnsureCapacity
    - createDataBlockFromDescNode
    - QRY_ERR_RET
    - createOneDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t hJoinInitResBlocks(SHJoinOperatorInfo* pJoin, SHashJoinPhysiNode*
      pJoinNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1179,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1180,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1187,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1193,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1197,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1199,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1199,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1203,1
    - Dst: hJoinInitBufPages
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1176
    functionDepth: 3
    functionLinenumber: 1176
    functionLinenumberEnd: 1209
    functionName: resetHashJoinOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - blockDataCleanup
    - hJoinInitBufPages
    - tSimpleHashCleanup
    - taosMemoryFree
    - tSimpleHashInit
    - tSimpleHashIterate
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetHashJoinOperState(SOperatorInfo* pOper)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1213,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1216,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1217,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1222,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1229,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1231,1
    - Dst: hJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1231,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1232,1
    - Dst: hJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1232,1
    - Dst: hJoinSetBuildAndProbeTable
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1234,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1236,1
    - Dst: hJoinBuildResColsMap
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1236,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1238,1
    - Dst: hJoinInitBufPages
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1238,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1241,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1241,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1247,1
    - Dst: hJoinHandleConds
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1247,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1249,1
    - Dst: hJoinInitResBlocks
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1249,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1251,1
    - Dst: hJoinSetImplFp
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1251,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1253,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1253,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1255,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1256,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1258,1
    - Dst: destroyHashJoinOperator
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1266,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 5
    argNames:
    - pDownstream
    - numOfDownstream
    - pJoinNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SHashJoinPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1211
    functionDepth: 17
    functionLinenumber: 1211
    functionLinenumberEnd: 1271
    functionName: createHashJoinOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - hJoinInitBufPages
    - createOperatorFpSet
    - setOperatorResetStateFn
    - hJoinBuildResColsMap
    - QRY_PARAM_CHECK
    - hJoinInitTableInfo
    - hJoinSetBuildAndProbeTable
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - hJoinSetImplFp
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - hJoinHandleConds
    - HJ_ERR_JRET
    - qDebug
    - destroyHashJoinOperator
    - hJoinInitResBlocks
    - initOperatorCostInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createHashJoinOperatorInfo(SOperatorInfo** pDownstream, int32_t
      numOfDownstream,\n                                           SHashJoinPhysiNode*
      pJoinNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:70,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: destroySSubmitTbDataMsg
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroySSubmitTbDataMsg(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:77,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: destroySSubmitTbDataSendInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroySSubmitTbDataSendInfo(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pBuildInsertDataInfo
    - rows
    argTypes:
    - SBuildInsertDataInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: initInsertProcessInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t initInsertProcessInfo(SBuildInsertDataInfo* pBuildInsertDataInfo,
      int32_t rows)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:153,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: freeCacheTbInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - tDestroyTSchema
    - taosMemFree
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeCacheTbInfo(void* pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:164,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:164,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:166,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: initInserterGrpInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - taosHashInit
    - qError
    - taosHashSetFreeFp
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t initInserterGrpInfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:175,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: destroyInserterGrpInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - taosHashCleanup
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: void
    signature: void destroyInserterGrpInfo()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:189,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:193,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:196,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:198,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:202,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - pSubmitRes
    - res
    - pSchemaChaned
    argTypes:
    - SSubmitRes*
    - SInsertTableInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 217
    functionName: checkResAndResetTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - stError
    - taosArrayGet
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkResAndResetTableInfo(const SSubmitRes* pSubmitRes, SInsertTableInfo*
      res,\n                                         bool* pSchemaChaned)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:221,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:223,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:227,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:231,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:233,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:234,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:244,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pSubmitRes
    - pOldInsertTbInfo
    - ppNewInsertTbInfo
    argTypes:
    - SSubmitRes*
    - SInsertTableInfo*
    - SInsertTableInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 252
    functionName: createNewInsertTbInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - stError
    - tBuildTSchema
    - taosMemoryFree
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createNewInsertTbInfo(const SSubmitRes* pSubmitRes, SInsertTableInfo*
      pOldInsertTbInfo,\n                                     SInsertTableInfo** ppNewInsertTbInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:258,1
    - Dst: checkResAndResetTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:264,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:265,1
    - Dst: createNewInsertTbInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:269,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:270,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:272,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:272,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:274,1
    - Dst: freeCacheTbInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:277,1
    - Dst: freeCacheTbInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:281,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:284,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:287,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:295,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - pInserterInfo
    - pSubmitRes
    argTypes:
    - SStreamDataInserterInfo*
    - SSubmitRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 300
    functionName: updateInsertGrpTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - freeCacheTbInfo
    - stInfo
    - checkResAndResetTableInfo
    - taosHashRemove
    - stError
    - taosHashRelease
    - taosHashAcquire
    - TAOS_UNUSED
    - QUERY_CHECK_CODE
    - createNewInsertTbInfo
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateInsertGrpTableInfo(SStreamDataInserterInfo* pInserterInfo,
      const SSubmitRes* pSubmitRes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:309,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:314,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:327,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:329,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:330,1
    - Dst: buildTSchmaFromInserter
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:334,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:335,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:337,1
    - Dst: freeCacheTbInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:339,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:345,1
    - Dst: freeCacheTbInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - pInserter
    - pInserterInfo
    argTypes:
    - SDataInserterHandle*
    - SStreamDataInserterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 350
    functionName: initTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - freeCacheTbInfo
    - buildTSchmaFromInserter
    - stError
    - taosHashGet
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - taosHashPut
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t initTableInfo(SDataInserterHandle* pInserter, SStreamDataInserterInfo*
      pInserterInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:356,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:358,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pTableMetaRsp
    - pInserterParam
    argTypes:
    - STableMetaRsp*
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 373
    functionName: colsIsSupported
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - strncmp
    - stError
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: bool colsIsSupported(const STableMetaRsp* pTableMetaRsp, const SStreamInserterParam*
      pInserterParam)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:379,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:381,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:385,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:391,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:397,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:399,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:404,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - pTableMetaRsp
    - pInserterParam
    argTypes:
    - STableMetaRsp*
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 415
    functionName: TagsIsSupported
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - strncmp
    - stError
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: bool TagsIsSupported(const STableMetaRsp* pTableMetaRsp, const SStreamInserterParam*
      pInserterParam)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colsIsSupported
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:418,1
    - Dst: TagsIsSupported
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTableMetaRsp
    - pInserterParam
    argTypes:
    - STableMetaRsp*
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: isSupportedSTableSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - colsIsSupported
    - TagsIsSupported
    linkageType: ''
    returnType: bool
    signature: bool isSupportedSTableSchema(const STableMetaRsp* pTableMetaRsp, const
      SStreamInserterParam* pInserterParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colsIsSupported
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTableMetaRsp
    - pInserterParam
    argTypes:
    - STableMetaRsp*
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: isSupportedNTableSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - colsIsSupported
    linkageType: ''
    returnType: bool
    signature: bool isSupportedNTableSchema(const STableMetaRsp* pTableMetaRsp, const
      SStreamInserterParam* pInserterParam)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:437,1
    - Dst: isSupportedSTableSchema
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:442,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:443,1
    - Dst: isSupportedNTableSchema
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:447,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:448,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:452,1
    - Dst: updateInsertGrpTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pInserthandle
    - pInserterInfo
    argTypes:
    - SDataInserterHandle*
    - SStreamDataInserterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 457
    functionName: checkAndSaveCreateGrpTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - isSupportedNTableSchema
    - stError
    - isSupportedSTableSchema
    - updateInsertGrpTableInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkAndSaveCreateGrpTableInfo(SDataInserterHandle*     pInserthandle,\n
      \                                             SStreamDataInserterInfo* pInserterInfo)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:472,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:478,1
    - Dst: tDecodeSSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:479,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:481,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:482,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:489,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:492,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:499,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:500,1
    - Dst: updateInsertGrpTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:508,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:512,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:514,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:515,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:520,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:526,1
    - Dst: tDecodeSSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:527,1
    - Dst: checkAndSaveCreateGrpTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:529,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:531,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:532,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:538,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:538,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:540,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:541,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:541,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:543,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 546
    functionName: inserterCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - checkAndSaveCreateGrpTableInfo
    - taosArrayGet
    - tsem_post
    - qError
    - tDecoderClear
    - qDebug
    - taosMemoryFree
    - tDecodeSSubmitRsp2
    - taosArrayGetSize
    - tDecoderInit
    - tstrerror
    - tDestroySSubmitRsp2
    - TAOS_UNUSED
    - taosMemoryCalloc
    - updateInsertGrpTableInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t inserterCallback(void* param, SDataBuf* pMsg, int32_t code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:555,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ppOutput
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 559
    functionName: freeUseDbOutput_tmp
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemFree
    - freeVgInfo
    linkageType: ''
    returnType: void
    signature: void freeUseDbOutput_tmp(void* ppOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:576,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:577,1
    - Dst: tDeserializeSUseDbRsp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:579,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:580,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:583,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:584,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:586,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:586,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:588,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 593
    functionName: processUseDbRspForInserter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - tsem_post
    - qError
    - tDeserializeSUseDbRsp
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t processUseDbRspForInserter(void* param, SDataBuf* pMsg, int32_t
      code)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: inserterVgInfoComp
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int inserterVgInfoComp(const void* lp, const void* rp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:614,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:616,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:616,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:620,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:621,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:623,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:624,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:626,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:627,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:628,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:630,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:632,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:635,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:636,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:639,1
    - Dst: getCurrentMnodeEpset
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:639,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:649,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:650,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:652,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:653,1
    - Dst: queryBuildUseDbOutput
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:655,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:656,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:658,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:661,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:664,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:666,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:667,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:669,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:672,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:675,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:680,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:680,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:681,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:683,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:684,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:684,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:686,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:687,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 56
    argCount: 3
    argNames:
    - clientRpc
    - dbFName
    - output
    argTypes:
    - void*
    - char*
    - SUseDbOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 690
    functionName: buildDbVgInfoMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosHashCancelIterate
    - taosArraySort
    - qError
    - TAOS_UNUSED
    - tsem_destroy
    - asyncSendMsgToServer
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - tsem_wait
    - tFreeSUsedbRsp
    - QUERY_CHECK_NULL
    - tsem_init
    - queryBuildUseDbOutput
    - tstrncpy
    - taosHashIterate
    - taosMemoryMalloc
    - getCurrentMnodeEpset
    - tSerializeSUseDbReq
    - taosMemoryFree
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildDbVgInfoMap(void* clientRpc, const char* dbFName, SUseDbOutput*
      output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:696,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:701,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 8
    argNames:
    - pTbReq
    - tname
    - pTag
    - suid
    - sname
    - tagName
    - tagNum
    - ttl
    argTypes:
    - SVCreateTbReq*
    - char*
    - STag*
    - int64_t
    - char*
    - SArray*
    - uint8_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 712
    functionName: inserterBuildCreateTbReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t inserterBuildCreateTbReq(SVCreateTbReq* pTbReq, const char*
      tname, STag* pTag, int64_t suid, const char* sname,\n                                 SArray*
      tagName, uint8_t tagNum, int32_t ttl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 725
    functionName: inserterHashValueComp
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t inserterHashValueComp(void const* lp, void const* rp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:734,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:734,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:739,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:739,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:740,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:742,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:743,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - dbInfo
    - tbName
    - pVgInfo
    argTypes:
    - SDBVgInfo*
    - char*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 752
    functionName: inserterGetVgInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosGetTbHashVal
    - qError
    - taosHashGetSize
    - qDebug
    - taosArraySearch
    - taosArrayGetSize
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t inserterGetVgInfo(SDBVgInfo* dbInfo, char* tbName, SVgroupInfo*
      pVgInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inserterGetVgInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:756,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dbInfo
    - tbName
    - vgId
    argTypes:
    - SDBVgInfo*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 764
    functionName: inserterGetVgId
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - inserterGetVgInfo
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t inserterGetVgId(SDBVgInfo* dbInfo, char* tbName, int32_t* vgId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:776,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:776,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:782,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:782,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:785,1
    - Dst: buildDbVgInfoMap
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:790,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:791,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:793,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:793,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:794,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:803,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:803,1
    - Dst: freeUseDbOutput_tmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - pInserter
    - dbFName
    - dbVgInfo
    argTypes:
    - SDataInserterHandle*
    - char*
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 806
    functionName: inserterGetDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - qError
    - taosHashGet
    - freeUseDbOutput_tmp
    - taosHashInit
    - buildDbVgInfoMap
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - tstrerror
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t inserterGetDbVgInfo(SDataInserterHandle* pInserter, const char*
      dbFName, SDBVgInfo** dbVgInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDbVgInfoForExec
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pInserter
    - dbFName
    - tbName
    - pVgInfo
    argTypes:
    - SDataInserterHandle*
    - char*
    - char*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: getTableVgInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - getDbVgInfoForExec
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getTableVgInfo(SDataInserterHandle* pInserter, const char*
      dbFName,\n                       const char* tbName, SVgroupInfo* pVgInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:817,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:819,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:823,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:825,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:826,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 6
    argNames:
    - pInserter
    - putParam
    - pMsg
    - msgLen
    - pTransporter
    - pEpset
    argTypes:
    - SDataInserterHandle*
    - void*
    - void*
    - int32_t
    - void*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 840
    functionName: sendSubmitRequest
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosMemoryCalloc
    - asyncSendMsgToServer
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sendSubmitRequest(SDataInserterHandle* pInserter, void* putParam,
      void* pMsg, int32_t msgLen,\n                                 void* pTransporter,
      SEpSet* pEpset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:846,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:850,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:854,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:855,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:856,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:857,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:857,1
    - Dst: tEncodeSubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:858,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:859,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - vgId
    - pReq
    - pData
    - pLen
    argTypes:
    - int32_t
    - SSubmitReq2*
    - void**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 870
    functionName: submitReqToMsg
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - htonl
    - htobe64
    - taosMemoryMalloc
    - tEncodeSubmitReq
    - tEncodeSize
    - tEncoderClear
    - taosMemoryFree
    - POINTER_SHIFT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t submitReqToMsg(int32_t vgId, SSubmitReq2* pReq, void** pData,
      int32_t* pLen)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:881,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:884,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:888,1
    - Dst: inserterGetDbVgInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:893,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:901,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:910,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:913,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:915,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:917,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:922,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:925,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:926,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:931,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:932,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:936,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:937,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:938,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:941,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:942,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:942,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:943,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:947,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:950,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:953,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:954,1
    - Dst: inserterGetVgInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:958,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:961,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:965,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:967,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:969,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:973,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:975,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:976,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:980,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:981,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:982,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:983,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:989,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:991,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:992,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:993,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:995,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1001,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1004,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1010,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1014,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1015,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1016,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1021,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1024,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1025,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1034,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1037,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1038,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1041,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1044,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1046,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1046,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1047,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1048,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1049,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1058,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1060,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1061,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1066,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1069,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1071,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1072,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1073,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1074,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1079,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1081,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1082,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1089,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1092,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1092,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1093,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1094,1
    - Dst: inserterBuildCreateTbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1098,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1102,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1103,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1110,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1116,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1119,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1122,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1129,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1132,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1135,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1136,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1137,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1138,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1142,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1143,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1143,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1144,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1145,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1146,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1155,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1157,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1162,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1164,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1166,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1170,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1171,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1172,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1185,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1186,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1187,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1188,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1193,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1195,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1204,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1205,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1208,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1209,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1213,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1219,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1220,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 303
    argCount: 7
    argNames:
    - pInserter
    - pHash
    - pDataBlock
    - pTSchema
    - uid
    - vgId
    - suid
    argTypes:
    - SDataInserterHandle*
    - SHashObj*
    - SSDataBlock*
    - STSchema*
    - int64_t
    - int32_t
    - tb_uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 872
    functionDepth: 3
    functionLinenumber: 872
    functionLinenumberEnd: 1223
    functionName: buildSubmitReqFromStbBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - colDataGetVarData
    - colDataGetData
    - qError
    - inserterBuildCreateTbReq
    - tDestroySubmitReq
    - COL_VAL_NULL
    - tDestroySubmitTbData
    - snprintf
    - POINTER_SHIFT
    - taosArrayDestroy
    - valueSetDatum
    - memcpy
    - taosArrayGet
    - varDataLen
    - tRowBuild
    - taosArrayGetSize
    - colDataIsNull_s
    - varDataVal
    - taosArrayClear
    - taosMemoryCalloc
    - inserterGetDbVgInfo
    - inserterGetVgInfo
    - COL_VAL_VALUE
    - tTagNew
    - uError
    - taosHashGet
    - taosMemoryFree
    - taosArrayInit
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildSubmitReqFromStbBlock(SDataInserterHandle* pInserter,
      SHashObj* pHash, const SSDataBlock* pDataBlock,\n                                   const
      STSchema* pTSchema, int64_t uid, int32_t vgId, tb_uid_t suid)"
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1237,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1241,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1246,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1250,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1257,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1258,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1263,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1264,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1273,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1278,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1281,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1284,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1287,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1292,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1296,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1297,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1300,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1301,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1302,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1303,1
    - Dst: inserterGetDbVgInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1307,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1313,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1314,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1315,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1316,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1319,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1322,1
    - Dst: inserterGetVgId
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1325,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1331,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1339,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1342,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1348,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1359,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1364,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1367,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1370,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1371,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1372,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1381,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1387,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1390,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1392,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1393,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1398,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1406,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1409,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1409,1
    - Dst: inserterBuildCreateTbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1413,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1421,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1429,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1434,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1441,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1446,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1447,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1448,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1452,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1454,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1454,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1455,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1456,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1465,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1471,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1473,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1478,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1479,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1492,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1493,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1494,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1499,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1509,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1510,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1513,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1519,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1520,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1525,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1531,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1533,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1534,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1540,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 268
    argCount: 7
    argNames:
    - pInserter
    - ppReq
    - pDataBlock
    - pTSchema
    - uid
    - vgId
    - suid
    argTypes:
    - SDataInserterHandle*
    - SSubmitReq2**
    - SSDataBlock*
    - STSchema*
    - int64_t*
    - int32_t*
    - tb_uid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1225
    functionDepth: 3
    functionLinenumber: 1225
    functionLinenumberEnd: 1548
    functionName: buildSubmitReqFromBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - colDataGetVarData
    - colDataGetData
    - qError
    - inserterBuildCreateTbReq
    - COL_VAL_NULL
    - tDestroySubmitReq
    - snprintf
    - tDestroySubmitTbData
    - POINTER_SHIFT
    - TSDB_CHECK_NULL
    - taosArrayDestroy
    - valueSetDatum
    - memcpy
    - taosArrayGet
    - tRowSort
    - varDataLen
    - tRowBuild
    - taosArrayGetSize
    - varDataVal
    - taosArrayClear
    - taosMemoryCalloc
    - inserterGetDbVgInfo
    - inserterGetVgId
    - COL_VAL_VALUE
    - tstrncpy
    - tTagNew
    - uError
    - taosHashGet
    - taosMemoryFree
    - taosArrayInit
    - tstrerror
    - tRowMerge
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildSubmitReqFromBlock(SDataInserterHandle* pInserter, SSubmitReq2**
      ppReq, const SSDataBlock* pDataBlock,\n                                const
      STSchema* pTSchema, int64_t* uid, int32_t* vgId, tb_uid_t* suid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1554,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1555,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1550
    functionDepth: 1
    functionLinenumber: 1550
    functionLinenumberEnd: 1559
    functionName: destroySubmitReqWrapper
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - tDestroySubmitReq
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroySubmitReqWrapper(void* p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1567,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1574,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1579,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1579,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1584,1
    - Dst: buildSubmitReqFromStbBlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1586,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1593,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1595,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1597,1
    - Dst: submitReqToMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1602,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1604,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1608,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1609,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1610,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1618,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - pInserter
    - pMsgs
    argTypes:
    - SDataInserterHandle*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1561
    functionDepth: 4
    functionLinenumber: 1561
    functionLinenumberEnd: 1622
    functionName: dataBlocksToSubmitReqArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - buildSubmitReqFromStbBlock
    - taosHashGetKey
    - submitReqToMsg
    - taosHashInit
    - taosHashSetFreeFp
    - taosMemoryFree
    - taosArrayGetSize
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataBlocksToSubmitReqArray(SDataInserterHandle* pInserter,
      SArray* pMsgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1630,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1635,1
    - Dst: buildSubmitReqFromBlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1639,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1642,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1643,1
    - Dst: submitReqToMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1650,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1651,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pInserter
    - pMsg
    - msgLen
    argTypes:
    - SDataInserterHandle*
    - void**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1624
    functionDepth: 4
    functionLinenumber: 1624
    functionLinenumberEnd: 1655
    functionName: dataBlocksToSubmitReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - buildSubmitReqFromBlock
    - tDestroySubmitReq
    - submitReqToMsg
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataBlocksToSubmitReq(SDataInserterHandle* pInserter, void**
      pMsg, int32_t* msgLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - streamId
    - groupId
    - ppTbInfo
    argTypes:
    - int64_t
    - int64_t
    - SInsertTableInfo***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1666
    functionName: getStreamInsertTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosHashAcquire
    linkageType: ''
    returnType: int32_t
    signature: int32_t getStreamInsertTableInfo(int64_t streamId, int64_t groupId,
      SInsertTableInfo*** ppTbInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ppTbInfo
    argTypes:
    - SInsertTableInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1668
    functionDepth: 1
    functionLinenumber: 1668
    functionLinenumberEnd: 1671
    functionName: releaseStreamInsertTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosHashRelease
    linkageType: ''
    returnType: int32_t
    signature: int32_t releaseStreamInsertTableInfo(SInsertTableInfo** ppTbInfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1679,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1689,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1696,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1701,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1712,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1715,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1716,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1718,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1720,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 3
    argNames:
    - pInserter
    - pInsertParam
    - tbData
    argTypes:
    - SDataInserterHandle*
    - SStreamInserterParam*
    - SSubmitTbData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1731
    functionName: buildNormalTableCreateReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - taosArrayGet
    - qError
    - snprintf
    - tdDestroySVCreateTbReq
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildNormalTableCreateReq(SDataInserterHandle* pInserter,
      SStreamInserterParam* pInsertParam,\n                                  SSubmitTbData*
      tbData)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1738,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1750,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1764,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1775,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1787,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1792,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - pInsertParam
    - ppTSchema
    argTypes:
    - SStreamInserterParam*
    - STSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1734
    functionDepth: 1
    functionLinenumber: 1734
    functionLinenumberEnd: 1798
    functionName: buildTSchmaFromInserter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - TD_BITMAP_BYTES
    - taosMemoryFree
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTSchmaFromInserter(SStreamInserterParam* pInsertParam,
      STSchema** ppTSchema)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1804,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1809,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1811,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1815,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1822,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1830,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - pInserterInfo
    - preCols
    - ppTagVals
    - pTagCids
    argTypes:
    - SStreamDataInserterInfo*
    - int32_t
    - SArray**
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1834
    functionName: getTagValsFromStreamInserterInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArrayInit
    - taosArrayDestroy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getTagValsFromStreamInserterInfo(SStreamDataInserterInfo*
      pInserterInfo, int32_t preCols,\n                                                SArray**
      ppTagVals, SArray* pTagCids)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1845,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1850,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1855,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1863,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1869,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1870,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1881,1
    - Dst: getTagValsFromStreamInserterInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1889,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1894,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1896,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1896,1
    - Dst: inserterBuildCreateTbReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1899,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1902,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1902,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1908,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1908,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1910,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1911,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1914,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1919,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 5
    argNames:
    - pTask
    - pInserter
    - pInsertParam
    - pInserterInfo
    - tbData
    argTypes:
    - SStreamRunnerTask*
    - SDataInserterHandle*
    - SStreamInserterParam*
    - SStreamDataInserterInfo*
    - SSubmitTbData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1836
    functionDepth: 2
    functionLinenumber: 1836
    functionLinenumberEnd: 1922
    functionName: buildStreamSubTableCreateReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayGet
    - inserterBuildCreateTbReq
    - tTagNew
    - taosArrayInit
    - tstrerror
    - getTagValsFromStreamInserterInfo
    - taosArrayDestroy
    - ST_TASK_ELOG
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildStreamSubTableCreateReq(SStreamRunnerTask* pTask, SDataInserterHandle*
      pInserter,\n                                            SStreamInserterParam*
      pInsertParam, SStreamDataInserterInfo* pInserterInfo,\n                                            SSubmitTbData*
      tbData)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1931,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1934,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1936,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1940,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1946,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1948,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1949,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1951,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1956,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1959,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1961,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1963,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1965,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1973,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1976,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1978,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1979,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1980,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1982,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1986,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1988,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1990,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1992,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1992,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1993,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1994,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:1996,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2004,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2006,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2010,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2013,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2017,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2018,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2020,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2032,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2033,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2034,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2036,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2040,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2042,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2051,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2052,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2054,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2055,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2057,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2061,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2062,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2064,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2066,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2069,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2070,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2071,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2074,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2075,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2079,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 123
    argCount: 5
    argNames:
    - pInsertParam
    - pDataBlock
    - tbData
    - pTSchema
    - dataInsertInfo
    argTypes:
    - SStreamInserterParam*
    - SSDataBlock*
    - SSubmitTbData*
    - STSchema*
    - SBuildInsertDataInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 1924
    functionDepth: 1
    functionLinenumber: 1924
    functionLinenumberEnd: 2081
    functionName: appendInsertData
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - colDataGetVarData
    - stDebug
    - qError
    - COL_VAL_NULL
    - POINTER_SHIFT
    - taosArrayDestroy
    - valueSetDatum
    - taosArrayGet
    - tRowSort
    - varDataLen
    - tRowBuild
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - varDataVal
    - taosArrayClear
    - taosMemFree
    - qDebug
    - COL_VAL_VALUE
    - uError
    - taosArrayInit
    - tRowMerge
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t appendInsertData(SStreamInserterParam* pInsertParam, const
      SSDataBlock* pDataBlock,\n                                SSubmitTbData* tbData,
      STSchema* pTSchema, SBuildInsertDataInfo* dataInsertInfo)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2101,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2103,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2107,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2109,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2114,1
    - Dst: initTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2122,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2123,1
    - Dst: buildNormalTableCreateReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2125,1
    - Dst: buildStreamSubTableCreateReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2127,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2130,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2132,1
    - Dst: getStreamInsertTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2136,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2137,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2142,1
    - Dst: getTableVgInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2157,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2158,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2160,1
    - Dst: appendInsertData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2165,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2166,1
    - Dst: releaseStreamInsertTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2169,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 7
    argNames:
    - pTask
    - pInserter
    - pInserterInfo
    - ppReq
    - pDataBlock
    - vgInfo
    - tbDataInfo
    argTypes:
    - SStreamRunnerTask*
    - SDataInserterHandle*
    - SStreamDataInserterInfo*
    - SSubmitReq2**
    - SSDataBlock*
    - SVgroupInfo*
    - SBuildInsertDataInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2083
    functionDepth: 3
    functionLinenumber: 2083
    functionLinenumberEnd: 2175
    functionName: buildStreamSubmitReqFromBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - buildStreamSubTableCreateReq
    - getStreamInsertTableInfo
    - ST_TASK_DLOG
    - appendInsertData
    - initTableInfo
    - buildNormalTableCreateReq
    - releaseStreamInsertTableInfo
    - tstrncpy
    - taosArrayGetSize
    - taosArrayInit
    - QUERY_CHECK_CODE
    - getTableVgInfo
    - ST_TASK_ELOG
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildStreamSubmitReqFromBlock(SStreamRunnerTask* pTask, SDataInserterHandle*
      pInserter,\n                                      SStreamDataInserterInfo* pInserterInfo,
      SSubmitReq2** ppReq,\n                                      const SSDataBlock*
      pDataBlock, SVgroupInfo* vgInfo,\n                                      SBuildInsertDataInfo*
      tbDataInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2184,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2190,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2192,1
    - Dst: initInsertProcessInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2197,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2199,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2206,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2207,1
    - Dst: buildStreamSubmitReqFromBlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2211,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2212,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2215,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2217,1
    - Dst: submitReqToMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2220,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2221,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2222,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2223,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2228,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2229,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 6
    argNames:
    - pTask
    - pInserter
    - pInserterInfo
    - pMsg
    - msgLen
    - vgInfo
    argTypes:
    - SStreamRunnerTask*
    - SDataInserterHandle*
    - SStreamDataInserterInfo*
    - void**
    - int32_t*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2177
    functionDepth: 4
    functionLinenumber: 2177
    functionLinenumberEnd: 2234
    functionName: streamDataBlocksToSubmitReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - buildStreamSubmitReqFromBlock
    - ST_TASK_DLOG
    - stDebug
    - tDestroySubmitReq
    - initInsertProcessInfo
    - submitReqToMsg
    - tDestroySubmitTbData
    - taosMemoryFree
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - ST_TASK_ELOG
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamDataBlocksToSubmitReq(SStreamRunnerTask* pTask, SDataInserterHandle*
      pInserter,\n                                    SStreamDataInserterInfo* pInserterInfo,
      void** pMsg, int32_t* msgLen,\n                                    SVgroupInfo*
      vgInfo)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2239,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2243,1
    - Dst: dataBlocksToSubmitReqArray
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2247,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2249,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2252,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2253,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2254,1
    - Dst: sendSubmitRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2255,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2257,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2259,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2260,1
    - Dst: destroySSubmitTbDataSendInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2261,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2263,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2266,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2266,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2269,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2270,1
    - Dst: destroySSubmitTbDataSendInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2271,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2273,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2278,1
    - Dst: dataBlocksToSubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2283,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2288,1
    - Dst: sendSubmitRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2290,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2296,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2296,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pContinue
    argTypes:
    - SDataSinkHandle*
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2236
    functionDepth: 5
    functionLinenumber: 2236
    functionLinenumberEnd: 2307
    functionName: putDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 3
    functionsReached:
    - taosArrayPush
    - tsem_wait
    - taosArrayDestroyP
    - QRY_ERR_RET
    - taosArrayDestroy
    - destroySSubmitTbDataSendInfo
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - dataBlocksToSubmitReq
    - taosArrayClear
    - dataBlocksToSubmitReqArray
    - sendSubmitRequest
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t putDataBlock(SDataSinkHandle* pHandle, const SInputData* pInput,
      bool* pContinue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getStreamInsertTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2311,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2317,1
    - Dst: releaseStreamInsertTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pInserter
    - pInput
    argTypes:
    - SDataInserterHandle*
    - SInputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2309
    functionDepth: 2
    functionLinenumber: 2309
    functionLinenumberEnd: 2325
    functionName: resetInserterTbVersion
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - getStreamInsertTableInfo
    - stDebug
    - releaseStreamInsertTableInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetInserterTbVersion(SDataInserterHandle* pInserter, const
      SInputData* pInput)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2333,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2339,1
    - Dst: streamDataBlocksToSubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2346,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2347,1
    - Dst: sendSubmitRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2349,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2351,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2353,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2354,1
    - Dst: resetInserterTbVersion
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2358,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2359,1
    - Dst: streamDataBlocksToSubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2361,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2362,1
    - Dst: sendSubmitRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2364,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2366,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2368,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2369,1
    - Dst: rmDbVgInfoFromCache
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2374,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2375,1
    - Dst: putStreamDataBlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2378,1
    - Dst: rmDbVgInfoFromCache
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2384,1
    - Dst: ST_TASK_ILOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2385,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2389,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2394,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2394,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2395,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2401,1
    - Dst: ST_TASK_DLOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2403,1
    - Dst: ST_TASK_ELOG
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2407,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2407,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pContinue
    argTypes:
    - SDataSinkHandle*
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2327
    functionDepth: 5
    functionLinenumber: 2327
    functionLinenumberEnd: 2413
    functionName: putStreamDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - ST_TASK_ILOG
    - taosArrayPush
    - ST_TASK_DLOG
    - tsem_wait
    - resetInserterTbVersion
    - streamDataBlocksToSubmitReq
    - rmDbVgInfoFromCache
    - putStreamDataBlock
    - QUERY_CHECK_CODE
    - tstrerror
    - taosArrayClear
    - ST_TASK_ELOG
    - sendSubmitRequest
    linkageType: ''
    returnType: int32_t
    signature: int32_t putStreamDataBlock(SDataSinkHandle* pHandle, const SInputData*
      pInput, bool* pContinue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2417,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pHandle
    - useconds
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2421
    functionName: endPut
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void endPut(struct SDataSinkHandle* pHandle, uint64_t useconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pHandle
    - pLen
    - pRawLen
    - pQueryEnd
    argTypes:
    - SDataSinkHandle*
    - int64_t*
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2423
    functionDepth: 1
    functionLinenumber: 2423
    functionLinenumberEnd: 2427
    functionName: getDataLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - qDebug
    linkageType: ''
    returnType: void
    signature: void getDataLength(SDataSinkHandle* pHandle, int64_t* pLen, int64_t*
      pRawLen, bool* pQueryEnd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2431,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2432,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2433,1
    - Dst: destroyStreamInserterParam
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2435,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2436,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2438,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2439,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2440,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2443,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2445,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2448,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2449,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2453,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SDataSinkHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2429
    functionDepth: 4
    functionLinenumber: 2429
    functionLinenumberEnd: 2458
    functionName: destroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - atomic_sub_fetch_64
    - destroyStreamInserterParam
    - taosThreadMutexDestroy
    - taosHashSetFreeFp
    - taosMemoryFree
    - taosHashCleanup
    - taosArrayDestroy
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t destroyDataSinker(SDataSinkHandle* pHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - size
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2460
    functionDepth: 1
    functionLinenumber: 2460
    functionLinenumberEnd: 2465
    functionName: getCacheSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t getCacheSize(struct SDataSinkHandle* pHandle, uint64_t* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - pFlags
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2467
    functionDepth: 1
    functionLinenumber: 2467
    functionLinenumberEnd: 2472
    functionName: getSinkFlags
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSinkFlags(struct SDataSinkHandle* pHandle, uint64_t* pFlags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2477,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2479,1
    - Dst: SDataSinkManager*::pAPI::metaFn::getTableSchema
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2500,1
    - Dst: SDataSinkManager*::pAPI::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2507,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2518,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2522,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2522,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2526,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2526,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2535,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2539,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2539,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2544,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2544,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2552,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2555,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2555,1
    - Dst: destroyDataSinker
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2565,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2566,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2568,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2571,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 4
    argNames:
    - pManager
    - ppDataSink
    - pHandle
    - pParam
    argTypes:
    - SDataSinkManager*
    - SDataSinkNode**
    - DataSinkHandle*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2474
    functionDepth: 4
    functionLinenumber: 2474
    functionLinenumberEnd: 2575
    functionName: createDataInserter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - QRY_ERR_JRET
    - destroyDataSinker
    - tsem_init
    - taosThreadMutexInit
    - taosHashInit
    - FOREACH
    - taosMemoryFree
    - taosArrayInit
    - taosGetDefaultHashFunction
    - SDataSinkManager*::pAPI::metaFn::getTableSchema
    - nodesDestroyNode
    - taosHashPut
    - taosMemoryCalloc
    - SDataSinkManager*::pAPI::metaFn::getBasicInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createDataInserter(SDataSinkManager* pManager, SDataSinkNode**
      ppDataSink, DataSinkHandle* pHandle,\n                           void* pParam)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2583,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2583,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2585,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2585,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2582
    functionDepth: 1
    functionLinenumber: 2582
    functionLinenumberEnd: 2590
    functionName: dbVgInfoMgrInitOnce
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - stError
    - taosHashInit
    - taosHashSetFreeFp
    - tstrerror
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: void
    signature: void dbVgInfoMgrInitOnce()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2597,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2597,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2598,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2600,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2601,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2617,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2618,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2620,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2620,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2621,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2621,1
    - Dst: destroyDataSinker
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2631,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2632,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2634,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2638,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 3
    argNames:
    - pManager
    - pHandle
    - pParam
    argTypes:
    - SDataSinkManager*
    - DataSinkHandle*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2642
      start: 2594
    functionDepth: 1
    functionLinenumber: 2594
    functionLinenumberEnd: 2642
    functionName: createStreamDataInserter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosThreadOnce
    - destroyDataSinker
    - stError
    - tsem_init
    - taosThreadMutexInit
    - taosMemoryFree
    - TAOS_UNUSED
    - taosArrayInit
    - TSDB_CHECK_NULL
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamDataInserter(SDataSinkManager* pManager, DataSinkHandle*
      pHandle, void* pParam)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2649,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2649,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2652,1
    - Dst: buildDbVgInfoMap
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2657,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2658,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2660,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2660,1
    - Dst: freeUseDbOutput_tmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2664,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2665,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2665,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2667,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2671,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2680,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2680,1
    - Dst: freeUseDbOutput_tmp
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - clientRpc
    - dbFName
    - dbVgInfo
    argTypes:
    - void*
    - char*
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2644
    functionDepth: 2
    functionLinenumber: 2644
    functionLinenumberEnd: 2683
    functionName: getDbVgInfoByTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - qError
    - taosHashGet
    - buildDbVgInfoMap
    - QUERY_CHECK_CODE
    - freeUseDbOutput_tmp
    - tstrerror
    - strlen
    - taosHashPut
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDbVgInfoByTbName(void* clientRpc, const char* dbFName, SDBVgInfo**
      dbVgInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2689,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2691,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2693,1
    - Dst: getDbVgInfoByTbName
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2695,1
    - Dst: inserterGetVgInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2695,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2699,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2702,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - clientRpc
    - dbFName
    - tbName
    - pVgInfo
    argTypes:
    - void*
    - char*
    - char*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2685
    functionDepth: 3
    functionLinenumber: 2685
    functionLinenumberEnd: 2706
    functionName: getDbVgInfoForExec
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - inserterGetVgInfo
    - taosRUnLockLatch
    - qError
    - snprintf
    - tstrerror
    - taosRLockLatch
    - TAOS_CHECK_EXIT
    - getDbVgInfoByTbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDbVgInfoForExec(void* clientRpc, const char* dbFName, const
      char* tbName, SVgroupInfo* pVgInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2709,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2711,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2711,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2711,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dbFName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2708
    functionDepth: 1
    functionLinenumber: 2708
    functionLinenumberEnd: 2714
    functionName: rmDbVgInfoFromCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 1
    functionsReached:
    - taosHashRemove
    - TAOS_UNUSED
    - taosWUnLockLatch
    - strlen
    - taosWLockLatch
    linkageType: ''
    returnType: void
    signature: void rmDbVgInfoFromCache(const char* dbFName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2720,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2724,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2728,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2729,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2731,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2731,1
    - Dst: tEncodeSVDropTbBatchReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2732,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - vgId
    - pReq
    - pData
    - pLen
    argTypes:
    - int32_t
    - SVDropTbBatchReq*
    - void**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2744
      start: 2716
    functionDepth: 1
    functionLinenumber: 2716
    functionLinenumberEnd: 2744
    functionName: dropTableReqToMsg
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosMemoryMalloc
    - tEncodeSize
    - tEncoderClear
    - tEncodeSVDropTbBatchReq
    - taosMemoryFree
    - POINTER_SHIFT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropTableReqToMsg(int32_t vgId, SVDropTbBatchReq* pReq, void**
      pData, int32_t* pLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2749,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2752,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2746
    functionDepth: 1
    functionLinenumber: 2746
    functionLinenumberEnd: 2756
    functionName: dropTbCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - stError
    - tsem_post
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropTbCallback(void* param, SDataBuf* pMsg, int32_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2760,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - pMsg
    - msgLen
    - pTransporter
    - pEpset
    argTypes:
    - SDropTbCtx*
    - void*
    - int32_t
    - void*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2773
      start: 2758
    functionDepth: 1
    functionLinenumber: 2758
    functionLinenumberEnd: 2773
    functionName: sendDropTbRequest
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - asyncSendMsgToServer
    linkageType: ''
    returnType: int32_t
    signature: int32_t sendDropTbRequest(SDropTbCtx* ctx, void* pMsg, int32_t msgLen,
      void* pTransporter, SEpSet* pEpset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2788,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2791,1
    - Dst: getStreamInsertTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2793,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2795,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2802,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2802,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2806,1
    - Dst: dropTableReqToMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2808,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2809,1
    - Dst: getDbVgInfoForExec
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2812,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2813,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2816,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2817,1
    - Dst: sendDropTbRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2820,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2821,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2824,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2826,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2831,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2834,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2837,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2838,1
    - Dst: releaseStreamInsertTableInfo
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2839,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2840,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 3
    argNames:
    - pMsgCb
    - pTaskOutput
    - pReq
    argTypes:
    - SMsgCb*
    - void*
    - SSTriggerDropRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2843
      start: 2775
    functionDepth: 4
    functionLinenumber: 2775
    functionLinenumberEnd: 2843
    functionName: doDropStreamTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - getStreamInsertTableInfo
    - taosMemoryFreeClear
    - taosArrayGet
    - tsem_wait
    - stDebug
    - taosHashRemove
    - sendDropTbRequest
    - stError
    - getDbVgInfoForExec
    - tsem_init
    - tsem_destroy
    - releaseStreamInsertTableInfo
    - TAOS_UNUSED
    - QUERY_CHECK_CODE
    - taosArrayInit_s
    - taosArrayDestroy
    - dropTableReqToMsg
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t doDropStreamTable(SMsgCb* pMsgCb, void* pTaskOutput, SSTriggerDropRequest*
      pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2855,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2855,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2857,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2860,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2866,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2866,1
    - Dst: getDbVgInfoForExec
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2869,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2870,1
    - Dst: dropTableReqToMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2872,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2873,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2876,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2877,1
    - Dst: sendDropTbRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2880,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2881,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2884,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2886,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2891,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2894,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2897,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:2898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 4
    argNames:
    - pMsgCb
    - pTaskOutput
    - pReq
    - tbName
    argTypes:
    - SMsgCb*
    - void*
    - SSTriggerDropRequest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2845
    functionDepth: 4
    functionLinenumber: 2845
    functionLinenumberEnd: 2901
    functionName: doDropStreamTableByTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: 0
    functionsReached:
    - taosThreadOnce
    - taosMemoryFreeClear
    - taosArrayGet
    - tsem_wait
    - stDebug
    - taosHashRemove
    - sendDropTbRequest
    - stError
    - getDbVgInfoForExec
    - tsem_init
    - tsem_destroy
    - TAOS_UNUSED
    - QUERY_CHECK_CODE
    - taosArrayInit_s
    - taosArrayDestroy
    - dropTableReqToMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t doDropStreamTableByTbName(SMsgCb* pMsgCb, void* pTaskOutput,
      SSTriggerDropRequest* pReq, char* tbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: FILL_IS_ASC_FILL
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILL_IS_ASC_FILL(_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - _v1
    - ','
    - _v2
    - ','
    - _k1
    - ','
    - _k2
    - ','
    - _k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: DO_INTERPOLATION
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_INTERPOLATION(_v1, _v2, _k1, _k2, _k)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pBlock
    - rowIdx
    - tsSlotId
    argTypes:
    - SSDataBlock*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: getBlockCurTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: TSKEY
    signature: "TSKEY getBlockCurTs(const SSDataBlock* pBlock, const int64_t rowIdx,\n
      \                          const int32_t tsSlotId)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:59,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:60,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:62,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:66,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:70,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:76,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:78,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:79,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:80,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:95,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:103,1
    - Dst: getBlockCurTs
      Src: /src/tdengine/source/libs/executor/src/tfill.c:104,1
    - Dst: safe_abs_diff_i64
      Src: /src/tdengine/source/libs/executor/src/tfill.c:109,1
    - Dst: doSetUserSpecifiedValue
      Src: /src/tdengine/source/libs/executor/src/tfill.c:113,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:115,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:116,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:117,1
    - Dst: doSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:125,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:125,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:126,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 6
    argNames:
    - pFillInfo
    - pFillBlock
    - rowIndex
    - colIdx
    - outOfBound
    - fillFromHead
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - int64_t
    - int32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 129
    functionName: fillCommonColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - FILL_IS_ASC_FILL
    - colDataSetNULL
    - T_LONG_JMP
    - taosArrayGet
    - safe_abs_diff_i64
    - doSetVal
    - doSetUserSpecifiedValue
    - qError
    - getBlockCurTs
    - GET_DEST_SLOT_ID
    - tstrerror
    linkageType: ''
    returnType: bool
    signature: "bool fillCommonColumn(const SFillInfo* pFillInfo,\n                             const
      SSDataBlock* pFillBlock,\n                             int64_t rowIndex, int32_t
      colIdx,\n                             bool outOfBound, bool fillFromHead)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:135,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:136,1
    - Dst: fillWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:138,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:140,1
    - Dst: fillCommonColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:140,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - pFillBlock
    - pFillInfo
    - rowIdx
    - colIdx
    - outOfBound
    - fillFromHead
    argTypes:
    - SSDataBlock*
    - SFillInfo*
    - int64_t
    - int32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: setNullCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - fillCommonColumn
    - colDataSetNULL
    - taosArrayGet
    - fillWindowPseudoColumn
    - TAOS_UNUSED
    - GET_DEST_SLOT_ID
    linkageType: ''
    returnType: void
    signature: "void setNullCol(const SSDataBlock* pFillBlock,\n                       const
      SFillInfo* pFillInfo, int64_t rowIdx,\n                       int32_t colIdx,
      bool outOfBound, bool fillFromHead)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:156,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:161,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:162,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:163,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:166,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:167,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:168,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:171,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:172,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:176,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:177,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:180,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:181,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:183,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:185,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:187,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:192,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - pDst
    - pVar
    - rowIndex
    argTypes:
    - SColumnInfoData*
    - SVariant*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 195
    functionName: doSetUserSpecifiedValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - colDataSetNULL
    - IS_SIGNED_NUMERIC_TYPE
    - qError
    - colDataSetVal
    - IS_UNSIGNED_NUMERIC_TYPE
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doSetUserSpecifiedValue(SColumnInfoData* pDst, SVariant* pVar,\n
      \                                      int64_t rowIndex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:201,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:202,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:213,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:214,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:219,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:220,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:221,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:224,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:225,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:228,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:229,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:236,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - pFillInfo
    - pFillBlock
    - rowIndex
    - colIdx
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 240
    functionName: fillWindowPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - taosTimeAdd
    - T_LONG_JMP
    - taosArrayGet
    - qError
    - colDataSetVal
    - QUERY_CHECK_CODE
    - GET_DEST_SLOT_ID
    - tstrerror
    linkageType: ''
    returnType: bool
    signature: "bool fillWindowPseudoColumn(const SFillInfo* pFillInfo,\n                            const
      SSDataBlock* pFillBlock,\n                            const int64_t rowIndex,
      const int32_t colIdx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:247,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:249,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:250,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:255,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pDstCol
    - rowIndex
    - pKey
    argTypes:
    - SColumnInfoData*
    - int64_t
    - SGroupKeys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 258
    functionName: doSetVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - colDataSetNULL
    - qError
    - colDataSetVal
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doSetVal(SColumnInfoData* pDstCol, int64_t rowIndex,\n                        const
      SGroupKeys* pKey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:263,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tfill.c:272,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:273,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:280,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:281,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:283,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:284,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:286,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:287,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tfill.c:289,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:290,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:292,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:293,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:295,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:296,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:298,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:299,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:304,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 307
    functionName: initBeforeAfterDataBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - qError
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t initBeforeAfterDataBuf(SFillInfo* pFillInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: taosNumOfRemainRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosNumOfRemainRows(SFillInfo* pFillInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tfill.c:331,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:332,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:339,1
    - Dst: taosResetFillInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:346,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:359,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:361,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:363,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:365,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:367,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:369,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:371,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:373,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:375,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:377,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:379,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:381,1
    - Dst: initBeforeAfterDataBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:383,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:384,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:390,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:390,1
    - Dst: taosDestroyFillInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:391,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 14
    argNames:
    - skey
    - numOfFillCols
    - numOfNotFillCols
    - fillNullCols
    - capacity
    - pInterval
    - fillType
    - pCol
    - primaryTsSlotId
    - order
    - id
    - pTaskInfo
    - surroundingTime
    - ppFillInfo
    argTypes:
    - TSKEY
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - SInterval*
    - int32_t
    - struct SFillColInfo*
    - int32_t
    - int32_t
    - char*
    - SExecTaskInfo*
    - int64_t
    - SFillInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 395
    functionName: taosCreateFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosDestroyFillInfo
    - initBeforeAfterDataBuf
    - tstrerror
    - qError
    - QUERY_CHECK_NULL
    - taosArrayInit
    - taosResetFillInfo
    - QUERY_CHECK_CODE
    - GET_DEST_SLOT_ID
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosCreateFillInfo(TSKEY skey, int32_t numOfFillCols,\n                           int32_t
      numOfNotFillCols, int32_t fillNullCols,\n                           int32_t
      capacity, const SInterval* pInterval,\n                           int32_t fillType,
      struct SFillColInfo* pCol,\n                           int32_t primaryTsSlotId,
      int32_t order,\n                           const char* id, SExecTaskInfo* pTaskInfo,\n
      \                          int64_t surroundingTime, SFillInfo** ppFillInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pFillInfo
    - startTimestamp
    argTypes:
    - SFillInfo*
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: taosResetFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void taosResetFillInfo(SFillInfo* pFillInfo, TSKEY startTimestamp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:411,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:412,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:413,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:415,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:416,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:417,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:418,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:419,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:420,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:422,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:423,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:424,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:435,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:443,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:444,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:445,1
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:446,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:447,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 449
    functionName: taosDestroyFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - tdListFreeP
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void * taosDestroyFillInfo(SFillInfo* pFillInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFillInfo
    - numOfRows
    - endKey
    argTypes:
    - SFillInfo*
    - int32_t
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: taosFillSetStartInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void taosFillSetStartInfo(SFillInfo* pFillInfo, int32_t numOfRows,
      TSKEY endKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFillInfo
    - pInput
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: taosFillSetInputDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void taosFillSetInputDataBlock(SFillInfo* pFillInfo, const SSDataBlock*
      pInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFillInfo
    - ts
    argTypes:
    - SFillInfo*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: taosFillUpdateStartTimestampInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void taosFillUpdateStartTimestampInfo(SFillInfo* pFillInfo, int64_t
      ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 471
    functionName: taosFillNotStarted
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool taosFillNotStarted(const SFillInfo* pFillInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosNumOfRemainRows
      Src: /src/tdengine/source/libs/executor/src/tfill.c:474,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:479,1
    - Dst: getNumOfResultsAfterFillGap
      Src: /src/tdengine/source/libs/executor/src/tfill.c:482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: taosFillHasMoreResults
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - FILL_IS_ASC_FILL
    - taosNumOfRemainRows
    - getNumOfResultsAfterFillGap
    linkageType: ''
    returnType: bool
    signature: bool taosFillHasMoreResults(SFillInfo* pFillInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosNumOfRemainRows
      Src: /src/tdengine/source/libs/executor/src/tfill.c:489,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:495,1
    - Dst: taosTimeCountIntervalForFill
      Src: /src/tdengine/source/libs/executor/src/tfill.c:499,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:502,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:503,1
    - Dst: taosTimeCountIntervalForFill
      Src: /src/tdengine/source/libs/executor/src/tfill.c:508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pFillInfo
    - ekey
    - maxNumOfRows
    argTypes:
    - SFillInfo*
    - TSKEY
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 513
    functionName: getNumOfResultsAfterFillGap
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - FILL_IS_ASC_FILL
    - taosNumOfRemainRows
    - taosArrayGet
    - taosTimeCountIntervalForFill
    linkageType: ''
    returnType: int64_t
    signature: int64_t getNumOfResultsAfterFillGap(SFillInfo* pFillInfo, TSKEY ekey,
      int32_t maxNumOfRows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_BOOLEAN_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:522,1
    - Dst: DO_INTERPOLATION
      Src: /src/tdengine/source/libs/executor/src/tfill.c:523,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/tfill.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - point
    - outputType
    - point1
    - point2
    - inputType
    - inputTypeMod
    argTypes:
    - SPoint*
    - int32_t
    - SPoint*
    - SPoint*
    - int32_t
    - STypeMod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 528
    functionName: taosGetLinearInterpolationVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - SET_TYPED_DATA
    - DO_INTERPOLATION
    - IS_BOOLEAN_TYPE
    linkageType: ''
    returnType: void
    signature: "void taosGetLinearInterpolationVal(SPoint* point, int32_t outputType,
      SPoint* point1, SPoint* point2, int32_t inputType,\n                                   STypeMod
      inputTypeMod)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - struct SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: getFillInfoStart
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getFillInfoStart(struct SFillInfo* pFillInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tfill.c:537,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/tfill.c:542,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/tfill.c:553,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:554,1
    - Dst: nodesValueNodeToVariant
      Src: /src/tdengine/source/libs/executor/src/tfill.c:555,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:556,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:581,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:583,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:585,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:585,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 7
    argNames:
    - pExpr
    - numOfFillExpr
    - pNotFillExpr
    - numOfNoFillExpr
    - pFillNullExpr
    - numOfFillNullExpr
    - pValNode
    argTypes:
    - SExprInfo*
    - int32_t
    - SExprInfo*
    - int32_t
    - SExprInfo*
    - int32_t
    - struct SNodeListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 588
    functionName: createFillColInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesValueNodeToVariant
    - LIST_LENGTH
    - qError
    - QUERY_CHECK_NULL
    - taosVariantDestroy
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: SFillColInfo
    signature: "SFillColInfo * createFillColInfo(SExprInfo* pExpr, int32_t numOfFillExpr,
      SExprInfo* pNotFillExpr,\n                                int32_t numOfNoFillExpr,
      SExprInfo* pFillNullExpr, int32_t numOfFillNullExpr,\n                                const
      struct SNodeListNode* pValNode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pFillInfo
    - pDstBlock
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 605
    functionName: fillShouldPause
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fillShouldPause(SFillInfo* pFillInfo, const SSDataBlock* pDstBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:618,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:622,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/executor/src/tfill.c:623,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:624,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:626,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - pRowVal
    - colIdx
    - src
    - isNull
    - rowTs
    argTypes:
    - SRowVal*
    - int32_t
    - char*
    - bool
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 632
    functionName: copyCurrentValIntoBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calcStrBytesByType
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: "void copyCurrentValIntoBuf(const SRowVal* pRowVal, int32_t colIdx,\n
      \                                 const char* src, bool isNull, TSKEY rowTs)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:655,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:666,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:667,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:668,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:669,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:672,1
    - Dst: copyCurrentValIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:682,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:685,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:685,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:686,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:692,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:692,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 4
    argNames:
    - pFillInfo
    - rowIndex
    - pRowVal
    - rowTs
    argTypes:
    - SFillInfo*
    - int32_t
    - SRowVal*
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 695
    functionName: copyCurrentRowIntoBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - qError
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - GET_DEST_SLOT_ID
    - tstrerror
    - copyCurrentValIntoBuf
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t copyCurrentRowIntoBuf(const SFillInfo* pFillInfo, int32_t
      rowIndex,\n                                     const SRowVal* pRowVal, TSKEY
      rowTs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBlockCurTs
      Src: /src/tdengine/source/libs/executor/src/tfill.c:699,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:701,1
    - Dst: copyCurrentRowIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pFillInfo
    - pBlock
    - rowIdx
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: fillTrySaveRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - FILL_IS_ASC_FILL
    - getBlockCurTs
    - copyCurrentRowIntoBuf
    linkageType: ''
    returnType: int32_t
    signature: 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:708,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:710,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pFillInfo
    - colIdx
    argTypes:
    - struct SFillInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 717
    functionName: tIsColFallBehind
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - qError
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t tIsColFallBehind(struct SFillInfo* pFillInfo, int32_t colIdx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:723,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pFillInfo
    - colIdx
    - pBlockNode
    - rowIdx
    argTypes:
    - struct SFillInfo*
    - int32_t
    - SListNode*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 734
    functionName: tFillTrySaveColProgress
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: "bool tFillTrySaveColProgress(const struct SFillInfo* pFillInfo,\n
      \                                   int32_t colIdx, SListNode* pBlockNode,\n
      \                                   int64_t rowIdx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:744,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:745,1
    - Dst: fillWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:747,1
    - Dst: fillCommonColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:749,1
    - Dst: setNullCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:755,1
    - Dst: fillWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:759,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:761,1
    - Dst: fillCommonColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:761,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:766,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:767,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:769,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:771,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:772,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:773,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:775,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:778,1
    - Dst: taosGetLinearInterpolationVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:784,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:785,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:787,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:789,1
    - Dst: setNullCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:795,1
    - Dst: fillWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:798,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:800,1
    - Dst: fillCommonColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:800,1
    - Dst: doSetUserSpecifiedValue
      Src: /src/tdengine/source/libs/executor/src/tfill.c:805,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:806,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:811,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:811,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:812,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 7
    argNames:
    - pFillInfo
    - pFillBlock
    - ts
    - colIdx
    - rowIdx
    - outOfBound
    - fillFromHead
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - TSKEY
    - int32_t
    - int64_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 736
    functionDepth: 4
    functionLinenumber: 736
    functionLinenumberEnd: 815
    functionName: doFillOneCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - fillCommonColumn
    - setNullCol
    - colDataSetNULL
    - T_LONG_JMP
    - taosArrayGet
    - colDataGetData
    - fillWindowPseudoColumn
    - doSetUserSpecifiedValue
    - qError
    - typeGetTypeModFromColInfo
    - colDataSetVal
    - TAOS_UNUSED
    - QUERY_CHECK_CODE
    - GET_DEST_SLOT_ID
    - tstrerror
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    - taosGetLinearInterpolationVal
    linkageType: ''
    returnType: bool
    signature: "bool doFillOneCol(SFillInfo* pFillInfo, const SSDataBlock* pFillBlock,\n
      \                        TSKEY ts, int32_t colIdx, int64_t rowIdx,\n                         bool
      outOfBound, bool fillFromHead)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:826,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:828,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:830,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:838,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:841,1
    - Dst: doFillOneCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:841,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:844,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:847,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:848,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/executor/src/tfill.c:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pFillInfo
    - ts
    - colIdx
    - outOfBound
    argTypes:
    - struct SFillInfo*
    - TSKEY
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 823
    functionDepth: 5
    functionLinenumber: 823
    functionLinenumberEnd: 860
    functionName: tFillFromHeadForCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - TD_DLIST_NODE_NEXT
    - TAOS_UNUSED
    - taosArrayGetSize
    - doFillOneCol
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tFillFromHeadForCol(struct SFillInfo* pFillInfo, TSKEY ts,\n
      \                                  int32_t colIdx, bool outOfBound)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/tfill.c:875,1
    - Dst: tIsColFallBehind
      Src: /src/tdengine/source/libs/executor/src/tfill.c:880,1
    - Dst: tFillFromHeadForCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:881,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:882,1
    - Dst: doFillOneCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:884,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:888,1
    - Dst: tFillTrySaveColProgress
      Src: /src/tdengine/source/libs/executor/src/tfill.c:889,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:894,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:907,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:907,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - pFillInfo
    - pFillBlock
    - ts
    - outOfBound
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 871
    functionDepth: 6
    functionLinenumber: 871
    functionLinenumberEnd: 910
    functionName: doFillOneRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosTimeAdd
    - T_LONG_JMP
    - tIsColFallBehind
    - qError
    - tFillFromHeadForCol
    - tFillTrySaveColProgress
    - GET_FORWARD_DIRECTION_FACTOR
    - QUERY_CHECK_CODE
    - tstrerror
    - tdListGetTail
    - doFillOneCol
    linkageType: ''
    returnType: void
    signature: "void doFillOneRow(SFillInfo* pFillInfo, SSDataBlock* pFillBlock,\n
      \                        int64_t ts, bool outOfBound)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/executor/src/tfill.c:913,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:921,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:929,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:930,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/executor/src/tfill.c:931,1
    - Dst: destroyFillBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:932,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:933,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 936
    functionName: tryExtractReadyBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - tdListPopNode
    - taosArrayGet
    - TSWAP
    - destroyFillBlock
    - tdListGetHead
    - taosMemFreeClear
    linkageType: ''
    returnType: void
    signature: void tryExtractReadyBlocks(struct SFillInfo* pFillInfo, SSDataBlock*
      pDstBlock, int32_t capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:941,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tfill.c:943,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 949
    functionName: createNewSavedBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - blockDataEnsureCapacity
    - blockDataDestroy
    - createOneDataBlock
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * createNewSavedBlock(struct SFillInfo* pFillInfo, SSDataBlock*
      pDstBlock, int32_t capacity)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createNewSavedBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:954,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:959,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:966,1
    - Dst: tFillSaveBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:971,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:978,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:979,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    - ppFillBlock
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    - SFillBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 951
    functionDepth: 2
    functionLinenumber: 951
    functionLinenumberEnd: 981
    functionName: trySaveNewBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - createNewSavedBlock
    - tFillSaveBlock
    - taosArrayInit
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t trySaveNewBlock(struct SFillInfo* pFillInfo, SSDataBlock*
      pDstBlock, int32_t capacity,\n                               SFillBlock** ppFillBlock)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/tfill.c:986,1
    - Dst: trySaveNewBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:988,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:991,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 983
    functionDepth: 3
    functionLinenumber: 983
    functionLinenumberEnd: 1002
    functionName: fillInitSavedBlockList
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - tdListNew
    - trySaveNewBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillInitSavedBlockList(struct SFillInfo* pFillInfo, SSDataBlock*
      pDstBlock, int32_t capacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1007,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pFillInfo
    - colIdx
    argTypes:
    - struct SFillInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1013
    functionName: tryResetColNextPrev
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - FILL_IS_ASC_FILL
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: "void tryResetColNextPrev(const struct SFillInfo* pFillInfo,\n                                int32_t
      colIdx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fillInitSavedBlockList
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1024,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1025,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1027,1
    - Dst: trySaveNewBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1033,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1034,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1035,1
    - Dst: doFillOneRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1041,1
    - Dst: tIsColFallBehind
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1048,1
    - Dst: tFillFromHeadForCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1049,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1050,1
    - Dst: tryExtractReadyBlocks
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1056,1
    - Dst: fillShouldPause
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1058,1
    - Dst: trySaveNewBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1060,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1061,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1062,1
    - Dst: getBlockCurTs
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1065,1
    - Dst: fillTrySaveRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1068,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1070,1
    - Dst: doFillOneRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1073,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1078,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1079,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1081,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1084,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1085,1
    - Dst: tIsColFallBehind
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1086,1
    - Dst: tFillFromHeadForCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1087,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1088,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1090,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1091,1
    - Dst: tFillTrySaveColProgress
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1099,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1102,1
    - Dst: doFillOneCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1102,1
    - Dst: tryResetColNextPrev
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1106,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1110,1
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1112,1
    - Dst: tryExtractReadyBlocks
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1118,1
    - Dst: isListEmpty
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1129,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 4
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    - wantMoreBlock
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1015
    functionDepth: 7
    functionLinenumber: 1015
    functionLinenumberEnd: 1132
    functionName: taosFillResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 0
    functionsReached:
    - taosTimeAdd
    - colDataGetData
    - doFillOneRow
    - isListEmpty
    - qError
    - trySaveNewBlock
    - TAOS_UNUSED
    - fillInitSavedBlockList
    - taosArrayGet
    - tFillFromHeadForCol
    - fillTrySaveRow
    - fillShouldPause
    - tryResetColNextPrev
    - QUERY_CHECK_CODE
    - GET_DEST_SLOT_ID
    - tFillTrySaveColProgress
    - colDataSetVal
    - GET_FORWARD_DIRECTION_FACTOR
    - tryExtractReadyBlocks
    - doFillOneCol
    - tdListGetTail
    - tIsColFallBehind
    - getBlockCurTs
    - tstrerror
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosFillResultDataBlock(struct SFillInfo* pFillInfo, SSDataBlock*
      pDstBlock, int32_t capacity,\n                                 bool* wantMoreBlock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1136,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1134
    functionDepth: 1
    functionLinenumber: 1134
    functionLinenumberEnd: 1138
    functionName: destroyFillBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyFillBlock(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdListAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pFill
    - pBlock
    - pProgress
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1149
    functionName: tFillSaveBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: 1
    functionsReached:
    - tdListAdd
    linkageType: ''
    returnType: SFillBlock
    signature: "SFillBlock * tFillSaveBlock(SFillInfo* pFill, SSDataBlock* pBlock,\n
      \                          SArray* pProgress)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:60,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:62,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:64,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:65,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:67,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:68,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:69,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:70,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - rowIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 80
    functionName: doKeepPrevRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - colDataGetData
    - taosArrayGetSize
    - colDataIsNull_s
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void doKeepPrevRows(STimeSliceOperatorInfo* pSliceInfo, const SSDataBlock*
      pBlock, int32_t rowIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:83,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:85,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:87,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:88,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:90,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:91,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:92,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:94,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - rowIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: doKeepNextRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - colDataGetData
    - taosArrayGetSize
    - colDataIsNull_s
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void doKeepNextRows(STimeSliceOperatorInfo* pSliceInfo, const SSDataBlock*
      pBlock, int32_t rowIndex)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:108,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:109,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:110,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:112,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:119,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:120,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:121,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:122,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:123,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:124,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:124,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:126,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:126,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:129,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:134,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:135,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:137,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:138,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:139,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:140,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:140,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:142,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:142,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:145,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:151,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:153,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:154,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:156,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:157,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:158,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:159,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:159,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:161,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:161,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - rowIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 172
    functionName: doKeepLinearInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - memcpy
    - taosArrayGet
    - colDataGetData
    - varDataTLen
    - IS_STR_DATA_BLOB
    - taosArrayGetSize
    - IS_MATHABLE_TYPE
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void doKeepLinearInfo(STimeSliceOperatorInfo* pSliceInfo, const SSDataBlock*
      pBlock, int32_t rowIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:180,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:181,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:183,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pSliceInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: timeSliceEnsureBlockCapacity
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - blockDataEnsureCapacity
    - TMIN
    - qError
    - tstrerror
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE timeSliceEnsureBlockCapacity(STimeSliceOperatorInfo* pSliceInfo,
      SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:192,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: isIrowtsPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - IS_TIMESTAMP_TYPE
    linkageType: ''
    returnType: bool
    signature: bool isIrowtsPseudoColumn(SExprInfo* pExprInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_BOOLEAN_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:197,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: isIsfilledPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - IS_BOOLEAN_TYPE
    linkageType: ''
    returnType: bool
    signature: bool isIsfilledPseudoColumn(SExprInfo* pExprInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:202,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: isIrowtsOriginPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - IS_TIMESTAMP_TYPE
    linkageType: ''
    returnType: bool
    signature: bool isIrowtsOriginPseudoColumn(SExprInfo* pExprInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:212,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:213,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:213,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:215,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:216,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ts
    - pPkCol
    - rowIndex
    - pKey
    argTypes:
    - int64_t
    - SColumnInfoData*
    - int32_t
    - SRowKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: tRowGetKeyFromColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - colDataGetVarData
    - colDataGetData
    - varDataLen
    - IS_NUMERIC_TYPE
    - varDataVal
    - valueSetDatum
    linkageType: ''
    returnType: void
    signature: void tRowGetKeyFromColData(int64_t ts, SColumnInfoData* pPkCol, int32_t
      rowIndex, SRowKey* pKey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:251,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:252,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:254,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:255,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - pSliceInfo
    - currentTs
    - pPkCol
    - curIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - int64_t
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 263
    functionName: isInvalidTimestamp
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - colDataGetVarData
    - colDataGetData
    - valueSetDatum
    - tRowKeyAssign
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: EInvalidTimestampReason
    signature: "EInvalidTimestampReason isInvalidTimestamp(\n  STimeSliceOperatorInfo*
      pSliceInfo, int64_t currentTs,\n  SColumnInfoData* pPkCol, int32_t curIndex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: isInterpFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInterpFunc(SExprInfo* pExprInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: isGroupKeyFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGroupKeyFunc(SExprInfo* pExprInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: isSelectGroupConstValueFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSelectGroupConstValueFunc(SExprInfo* pExprInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pExprSup
    argTypes:
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: getIgoreNullRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - isInterpFunc
    linkageType: ''
    returnType: bool
    signature: bool getIgoreNullRes(SExprSupp* pExprSup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:305,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:307,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - pExprSup
    - pSrcBlock
    - index
    - ignoreNull
    argTypes:
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 316
    functionName: checkNullRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - isInterpFunc
    - colDataIsNull_s
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: bool checkNullRow(SExprSupp* pExprSup, SSDataBlock* pSrcBlock, int32_t
      index, bool ignoreNull)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:321,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pDst
    - rowNum
    - pKey
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SGroupKeys*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 326
    functionName: interpColSetKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataSetVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t interpColSetKey(SColumnInfoData* pDst, int32_t rowNum, SGroupKeys*
      pKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safe_abs_diff_i64
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pSliceInfo
    - ppFillRow
    - pFillRefRow
    - fillRefRowTs
    argTypes:
    - STimeSliceOperatorInfo*
    - SArray**
    - SArray*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: checkSurroundingTime
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - safe_abs_diff_i64
    linkageType: ''
    returnType: void
    signature: "void checkSurroundingTime(const STimeSliceOperatorInfo* pSliceInfo,\n
      \                                SArray** ppFillRow, SArray* pFillRefRow,\n
      \                                int64_t fillRefRowTs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:353,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:357,1
    - Dst: checkSurroundingTime
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:362,1
    - Dst: checkSurroundingTime
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:365,1
    - Dst: llabs
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:367,1
    - Dst: llabs
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:368,1
    - Dst: checkSurroundingTime
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:370,1
    - Dst: checkSurroundingTime
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pSliceInfo
    - ppNearRow
    argTypes:
    - STimeSliceOperatorInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 378
    functionName: interpDetermineNearFillRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - llabs
    - checkSurroundingTime
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: bool interpDetermineNearFillRow(STimeSliceOperatorInfo* pSliceInfo,
      SArray** ppNearRow)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:384,1
    - Dst: checkSurroundingTime
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:385,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:391,1
    - Dst: checkSurroundingTime
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:392,1
    - Dst: interpDetermineNearFillRow
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pSliceInfo
    - ppOutRow
    argTypes:
    - STimeSliceOperatorInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 402
    functionName: interpDetermineFillRefRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - checkSurroundingTime
    - interpDetermineNearFillRow
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: bool interpDetermineFillRefRow(STimeSliceOperatorInfo* pSliceInfo,
      SArray** ppOutRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:547,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:547,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:549,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:550,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:558,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:569,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:574,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:579,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:580,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:584,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:585,1
    - Dst: taosGetLinearInterpolationVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:586,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:587,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:588,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:589,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - nType
    - i
    argTypes:
    - pVar
    - pVar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 602
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 2
    functionsReached:
    - colDataSetNULL
    - taosStr2Int8
    - taosArrayGet
    - QUERY_CHECK_NULL
    - typeGetTypeModFromColInfo
    - colDataSetVal
    - if
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - varDataVal
    - taosMemoryCalloc
    - taosGetLinearInterpolationVal
    linkageType: ''
    returnType: void
    signature: "void GET_TYPED_DATA(v, bool, pVar->nType, &pVar->i, 0);\n          }
      else {\n            v = taosStr2Int8(varDataVal(pVar->pz), NULL, 10);\n          }\n
      \         code = colDataSetVal(pDst, rows, (char*)&v, isNull);\n          QUERY_CHECK_CODE(code,
      lino, _end);\n        }\n\n        ++fillColIndex;\n        break;\n      }\n\n
      \     case TSDB_FILL_LINEAR: {\n        SFillLinearInfo* pLinearInfo = taosArrayGet(pSliceInfo->pLinearInfo,
      srcSlot);\n\n        SPoint start = pLinearInfo->start;\n        SPoint end
      = pLinearInfo->end;\n        SPoint current = {.key = pSliceInfo->current};\n\n
      \       // do not interpolate before ts range, only increate pSliceInfo->current\n
      \       if (beforeTs && !pLinearInfo->isEndSet) {\n          return true;\n
      \       }\n\n        if (!pLinearInfo->isStartSet || !pLinearInfo->isEndSet)
      {\n          hasInterp = false;\n          break;\n        }\n\n        if (end.key
      != INT64_MIN && end.key < pSliceInfo->current) {\n          hasInterp = false;\n
      \         break;\n        }\n\n        if (start.key == INT64_MIN || end.key
      == INT64_MIN) {\n          colDataSetNULL(pDst, rows);\n          break;\n        }\n\n
      \       current.val = taosMemoryCalloc(pLinearInfo->bytes, 1);\n        QUERY_CHECK_NULL(current.val,
      code, lino, _end, terrno);\n        taosGetLinearInterpolationVal(&current,
      pLinearInfo->type, &start, &end, pLinearInfo->type,\n                                      typeGetTypeModFromColInfo(&pDst->info));\n
      \       code = colDataSetVal(pDst, rows, (char*)current.val, false);\n        QUERY_CHECK_CODE(code,
      lino, _end);\n\n        taosMemoryFree(current.val);\n        break;\n      }\n
      \     case TSDB_FILL_NONE:\n      default:\n        break;\n    }\n  }\n\n  if
      (hasInterp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: timeSliceEnsureBlockCapacity
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:617,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:618,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:623,1
    - Dst: isIrowtsPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:625,1
    - Dst: isIrowtsOriginPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:625,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:626,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:627,1
    - Dst: isIsfilledPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:628,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:630,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:631,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:634,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:636,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:637,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:641,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:642,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:643,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:651,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - pSliceInfo
    - pExprSup
    - pResBlock
    - pSrcBlock
    - index
    argTypes:
    - STimeSliceOperatorInfo*
    - SExprSupp*
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 654
    functionName: addCurrentRowToResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosArrayGet
    - colDataGetData
    - tstrerror
    - qError
    - timeSliceEnsureBlockCapacity
    - colDataSetVal
    - QUERY_CHECK_CODE
    - isIrowtsOriginPseudoColumn
    - isIsfilledPseudoColumn
    - isIrowtsPseudoColumn
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addCurrentRowToResult(STimeSliceOperatorInfo* pSliceInfo,
      SExprSupp* pExprSup, SSDataBlock* pResBlock,\n                                     SSDataBlock*
      pSrcBlock, int32_t index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:663,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:668,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:670,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:676,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:677,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:678,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:679,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:686,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 689
    functionName: initPrevRowsKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initPrevRowsKeeper(STimeSliceOperatorInfo* pInfo, SSDataBlock*
      pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:698,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:703,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:705,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:711,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:712,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:714,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:715,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:722,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 725
    functionName: initNextRowsKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initNextRowsKeeper(STimeSliceOperatorInfo* pInfo, SSDataBlock*
      pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:734,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:739,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:741,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:746,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:747,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:749,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:750,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:755,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:756,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:761,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 764
    functionName: initFillLinearInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initFillLinearInfo(STimeSliceOperatorInfo* pInfo, SSDataBlock*
      pBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pKey
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 771
    functionName: destroyGroupKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destroyGroupKey(void* pKey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:778,1
    - Dst: isGroupKeyFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:786,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:790,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:792,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:796,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:797,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:798,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pInfo
    - pExprSup
    argTypes:
    - STimeSliceOperatorInfo*
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 806
    functionName: initGroupKeyKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - isGroupKeyFunc
    - taosMemoryFree
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initGroupKeyKeeper(STimeSliceOperatorInfo* pInfo, SExprSupp*
      pExprSup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initPrevRowsKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:810,1
    - Dst: initNextRowsKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:815,1
    - Dst: initFillLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:820,1
    - Dst: initGroupKeyKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pInfo
    - pBlock
    - pExprSup
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 831
    functionName: initKeeperInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - initPrevRowsKeeper
    - initFillLinearInfo
    - initNextRowsKeeper
    - initGroupKeyKeeper
    linkageType: ''
    returnType: int32_t
    signature: int32_t initKeeperInfo(STimeSliceOperatorInfo* pInfo, SSDataBlock*
      pBlock, SExprSupp* pExprSup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:838,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 846
    functionName: resetPrevRowsKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void resetPrevRowsKeeper(STimeSliceOperatorInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:853,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 861
    functionName: resetNextRowsKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void resetNextRowsKeeper(STimeSliceOperatorInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:868,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 877
    functionName: resetFillLinearInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void resetFillLinearInfo(STimeSliceOperatorInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetPrevRowsKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:880,1
    - Dst: resetNextRowsKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:881,1
    - Dst: resetFillLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 883
    functionName: resetKeeperInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - resetNextRowsKeeper
    - resetPrevRowsKeeper
    - resetFillLinearInfo
    linkageType: ''
    returnType: void
    signature: void resetKeeperInfo(STimeSliceOperatorInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pSliceInfo
    - threshold
    argTypes:
    - STimeSliceOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 892
    functionName: checkThresholdReached
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkThresholdReached(STimeSliceOperatorInfo* pSliceInfo, int32_t
      threshold)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pSliceInfo
    argTypes:
    - STimeSliceOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 900
    functionName: checkWindowBoundReached
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkWindowBoundReached(STimeSliceOperatorInfo* pSliceInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - curIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 914
    functionName: saveBlockStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: void saveBlockStatus(STimeSliceOperatorInfo* pSliceInfo, SSDataBlock*
      pBlock, int32_t curIndex)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:931,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:932,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:943,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:945,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:951,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:952,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:959,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:960,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:964,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:965,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:993,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:995,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1010,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1010,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 2
    argNames:
    - pOperator
    - notifyTs
    argTypes:
    - SOperatorInfo*
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 1013
    functionName: setDownstreamOpGetParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - qWarn
    - qError
    - GET_TASKID
    - QUERY_CHECK_NULL
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setDownstreamOpGetParam(SOperatorInfo* pOperator,\n                                       TSKEY
      notifyTs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - current
    - pInterval
    argTypes:
    - int64_t
    - SInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: getNextTimestamp
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosTimeAdd
    linkageType: ''
    returnType: int64_t
    signature: int64_t getNextTimestamp(int64_t current, SInterval* pInterval)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1029,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1034,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1039,1
    - Dst: checkNullRow
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1041,1
    - Dst: setDownstreamOpGetParam
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1047,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1048,1
    - Dst: isInvalidTimestamp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1056,1
    - Dst: addCurrentRowToResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1067,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1069,1
    - Dst: doKeepPrevRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1071,1
    - Dst: doKeepLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1072,1
    - Dst: getNextTimestamp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1074,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1075,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1078,1
    - Dst: saveBlockStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1079,1
    - Dst: doKeepPrevRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1083,1
    - Dst: doKeepLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1084,1
    - Dst: doKeepNextRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1086,1
    - Dst: doKeepLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1087,1
    - Dst: genInterpolationResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1091,1
    - Dst: getNextTimestamp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1096,1
    - Dst: addCurrentRowToResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1104,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1106,1
    - Dst: getNextTimestamp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1108,1
    - Dst: doKeepPrevRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1110,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1112,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1115,1
    - Dst: saveBlockStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1116,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1128,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1130,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 5
    argNames:
    - pOperator
    - pSliceInfo
    - pBlock
    - pTaskInfo
    - ignoreNull
    argTypes:
    - SOperatorInfo*
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - SExecTaskInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1020
    functionDepth: 3
    functionLinenumber: 1020
    functionLinenumberEnd: 1132
    functionName: doTimesliceImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - setDownstreamOpGetParam
    - isInvalidTimestamp
    - T_LONG_JMP
    - taosArrayGet
    - colDataGetData
    - doKeepLinearInfo
    - doKeepNextRows
    - tstrerror
    - checkThresholdReached
    - qError
    - checkWindowBoundReached
    - addCurrentRowToResult
    - saveBlockStatus
    - QUERY_CHECK_CODE
    - checkNullRow
    - genInterpolationResult
    - getNextTimestamp
    - doKeepPrevRows
    linkageType: ''
    returnType: void
    signature: "void doTimesliceImpl(SOperatorInfo* pOperator,\n                            STimeSliceOperatorInfo*
      pSliceInfo,\n                            SSDataBlock* pBlock, SExecTaskInfo*
      pTaskInfo,\n                            bool ignoreNull)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: genInterpolationResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1144,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pSliceInfo
    - pOperator
    - index
    argTypes:
    - STimeSliceOperatorInfo*
    - SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1134
    functionDepth: 1
    functionLinenumber: 1134
    functionLinenumberEnd: 1148
    functionName: genInterpAfterDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - genInterpolationResult
    - taosTimeAdd
    linkageType: ''
    returnType: void
    signature: void genInterpAfterDataBlock(STimeSliceOperatorInfo* pSliceInfo, SOperatorInfo*
      pOperator, int32_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isGroupKeyFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1155,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1157,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1162,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1164,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1169,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1170,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1171,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1172,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1172,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1174,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1174,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pExprSup
    - pGroupKeys
    - pSrcBlock
    argTypes:
    - SExprSupp*
    - SArray*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1184
    functionName: copyPrevGroupKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - memcpy
    - taosArrayGet
    - colDataGetData
    - varDataTLen
    - IS_STR_DATA_BLOB
    - isGroupKeyFunc
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyPrevGroupKey(SExprSupp* pExprSup, SArray* pGroupKeys, SSDataBlock*
      pSrcBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetKeeperInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pSliceInfo
    argTypes:
    - STimeSliceOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1192
    functionName: resetTimesliceInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - resetKeeperInfo
    linkageType: ''
    returnType: void
    signature: void resetTimesliceInfo(STimeSliceOperatorInfo* pSliceInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getIgoreNullRes
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1201,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1204,1
    - Dst: setDownstreamOpGetParam
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1205,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1206,1
    - Dst: initKeeperInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1210,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1211,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1215,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1217,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1218,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1222,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1223,1
    - Dst: doTimesliceImpl
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1224,1
    - Dst: copyPrevGroupKey
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1225,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1226,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1230,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1230,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1194
    functionDepth: 4
    functionLinenumber: 1194
    functionLinenumberEnd: 1233
    functionName: doHandleTimeslice
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - setDownstreamOpGetParam
    - T_LONG_JMP
    - copyPrevGroupKey
    - initKeeperInfo
    - qError
    - checkWindowBoundReached
    - GET_STM_RTINFO
    - doTimesliceImpl
    - getIgoreNullRes
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tstrerror
    - setInputDataBlock
    linkageType: ''
    returnType: void
    signature: void doHandleTimeslice(SOperatorInfo* pOperator, SSDataBlock* pBlock)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: streamCalcCurrWinTimeRange
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1244,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1247,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1248,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1253,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1255,1
    - Dst: doHandleTimeslice
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1266,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1267,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1268,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1269,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1270,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1287,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1289,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1292,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1293,1
    - Dst: doHandleTimeslice
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1307,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1308,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1309,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1310,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1311,1
    - Dst: genInterpAfterDataBlock
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1321,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1323,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1324,1
    - Dst: resetTimesliceInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1330,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1338,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1343,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1343,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1345,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1235
    functionDepth: 5
    functionLinenumber: 1235
    functionLinenumberEnd: 1350
    functionName: doTimesliceNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - checkWindowBoundReached
    - printDataBlock
    - OPTR_SET_OPENED
    - genInterpAfterDataBlock
    - getNextBlockFromDownstream
    - blockDataCleanup
    - QUERY_CHECK_CODE
    - streamCalcCurrWinTimeRange
    - T_LONG_JMP
    - GET_TASKID
    - setOperatorCompleted
    - doHandleTimeslice
    - resetTimesliceInfo
    - setTaskStatus
    - checkThresholdReached
    - IS_STREAM_MODE
    - doFilter
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTimesliceNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1356,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1357,1
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1359,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1361,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pFuncs
    - pHasPk
    - pPkColumn
    argTypes:
    - SNodeList*
    - bool*
    - SColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1371
    functionName: extractPkColumnFromFuncs
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsInterpFunc
    - extractColumnFromColumnNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extractPkColumnFromFuncs(SNodeList* pFuncs, bool* pHasPk,\n
      \                                       SColumn* pPkColumn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1356,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1357,1
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1359,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1361,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1369
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 32
    functionsReached:
    - nodeType
    - fmIsInterpFunc
    - extractColumnFromColumnNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1379,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1381,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1384,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1400,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1401,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1404,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1406,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1407,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1408,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1410,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1413,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1414,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1415,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1417,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1420,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1421,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1422,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1423,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1425,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1434
    functionName: resetTimeSliceOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - taosArrayGet
    - setTaskStatus
    - blockDataCleanup
    - memset
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayDestroy
    - resetExprSupp
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetTimeSliceOperState(SOperatorInfo* pOper)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1440,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1445,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1446,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1452,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1460,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1461,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1463,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1465,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1470,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1471,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1473,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1475,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1478,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1481,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1484,1
    - Dst: extractPkColumnFromFuncs
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1485,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1487,1
    - Dst: convertFillType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1489,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1490,1
    - Dst: createFillColInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1493,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1495,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1498,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1499,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1501,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1502,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1519,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1520,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1521,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1525,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1528,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1533,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1534,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1537,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1539,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1540,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1547,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1547,1
    - Dst: destroyTimeSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1549,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1550,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 72
    argCount: 4
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1436
    functionDepth: 16
    functionLinenumber: 1436
    functionLinenumberEnd: 1553
    functionName: createTimeSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - qError
    - createOperatorFpSet
    - setOperatorResetStateFn
    - destroyTimeSliceOperatorInfo
    - nodesCloneNode
    - filterInitFromNode
    - createFillColInfo
    - QRY_PARAM_CHECK
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - convertFillType
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - extractColumnFromColumnNode
    - extractPkColumnFromFuncs
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - tstrerror
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTimeSliceOperatorInfo(SOperatorInfo* downstream,\n                                    SPhysiNode*
      pPhyNode,\n                                    SExecTaskInfo* pTaskInfo,\n                                    SOperatorInfo**
      pOptrInfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1558,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1561,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1562,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1563,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1565,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1567,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1568,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1569,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1571,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1573,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1574,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1575,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1576,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1578,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1581,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1584,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1585,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1588,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1591,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1593,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1595,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1596,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1555
    functionDepth: 4
    functionLinenumber: 1555
    functionLinenumberEnd: 1597
    functionName: destroyTimeSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - taosArrayGet
    - taosVariantDestroy
    - taosMemoryFree
    - taosArrayGetSize
    - cleanupExprSupp
    - nodesDestroyNode
    - taosArrayDestroy
    - blockDataDestroy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void destroyTimeSliceOperatorInfo(void* param)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1612
    functionName: getTrueForInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: STrueForInfo
    signature: STrueForInfo * getTrueForInfo(struct SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: GET_LHASH_NODE_KEY
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LHASH_NODE_KEY(_n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: GET_LHASH_NODE_DATA
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LHASH_NODE_DATA(_n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: GET_LHASH_NODE_LEN
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LHASH_NODE_LEN(_n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hashv
    - bits
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: doGetBucketIdFromHashVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGetBucketIdFromHashVal(int32_t hashv, int32_t bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bucketId
    - bits
    - numOfBuckets
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: doGetAlternativeBucketId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGetAlternativeBucketId(int32_t bucketId, int32_t bits, int32_t
      numOfBuckets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bucketId
    - bits
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: doGetRelatedSplitBucketId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGetRelatedSplitBucketId(int32_t bucketId, int32_t bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:82,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - p
    - key
    - keyLen
    - data
    - size
    argTypes:
    - char*
    - void*
    - int32_t
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: doCopyObject
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void doCopyObject(char* p, const void* key, int32_t keyLen, const void*
      data, int32_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:90,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:92,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:99,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:103,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:104,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:108,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:113,1
    - Dst: doCopyObject
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:118,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:121,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:122,1
    - Dst: doCopyObject
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:125,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:127,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 7
    argNames:
    - pHashObj
    - pBucket
    - index
    - key
    - keyLen
    - data
    - size
    argTypes:
    - SLHashObj*
    - SLHashBucket*
    - int32_t
    - void*
    - int32_t
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 135
    functionName: doAddToBucket
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - taosArrayPush
    - releaseBufPage
    - taosArrayGetLast
    - getNewBufPage
    - getBufPageSize
    - setBufPageDirty
    - doCopyObject
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doAddToBucket(SLHashObj* pHashObj, SLHashBucket* pBucket,
      int32_t index, const void* key, int32_t keyLen,\n                             const
      void* data, int32_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_LHASH_NODE_LEN
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:138,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:142,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pPage
    - pNode
    - pBucket
    argTypes:
    - SFilePage*
    - SLHashNode*
    - SLHashBucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: doRemoveFromBucket
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached:
    - setBufPageDirty
    - GET_LHASH_NODE_LEN
    - memmove
    linkageType: ''
    returnType: void
    signature: void doRemoveFromBucket(SFilePage* pPage, SLHashNode* pNode, SLHashBucket*
      pBucket)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:155,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:160,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:161,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:163,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:164,1
    - Dst: dBufSetBufPageRecycled
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:168,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:170,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:173,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:174,1
    - Dst: GET_LHASH_NODE_LEN
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:179,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:181,1
    - Dst: doCopyObject
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:185,1
    - Dst: GET_LHASH_NODE_KEY
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:185,1
    - Dst: GET_LHASH_NODE_DATA
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:185,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:187,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:188,1
    - Dst: dBufSetBufPageRecycled
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:198,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:200,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:200,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:203,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:204,1
    - Dst: GET_LHASH_NODE_LEN
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:208,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:211,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:212,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:215,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - pHashObj
    - pBucket
    argTypes:
    - SLHashObj*
    - SLHashBucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 221
    functionName: doTrimBucketPages
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - GET_LHASH_NODE_KEY
    - taosArrayGet
    - taosArrayGetLast
    - qError
    - GET_LHASH_NODE_LEN
    - dBufSetBufPageRecycled
    - getBufPageSize
    - taosArrayRemove
    - setBufPageDirty
    - taosArrayGetSize
    - memmove
    - tstrerror
    - doCopyObject
    - GET_LHASH_NODE_DATA
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTrimBucketPages(SLHashObj* pHashObj, SLHashBucket* pBucket)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:230,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:235,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:240,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:246,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:252,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:258,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:260,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - pHashObj
    argTypes:
    - SLHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 269
    functionName: doAddNewBucket
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - releaseBufPage
    - getNewBufPage
    - memset
    - setBufPageDirty
    - taosArrayInit
    - taosMemoryCalloc
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t doAddNewBucket(SLHashObj* pHashObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:272,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:278,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:280,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:280,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:281,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:285,1
    - Dst: setBufPageCompressOnDisk
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:291,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:305,1
    - Dst: doAddNewBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:311,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:320,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:324,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:325,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:327,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:329,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - inMemPages
    - pageSize
    - fn
    - numOfTuplePerPage
    argTypes:
    - int32_t
    - int32_t
    - _hash_fn_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 332
    functionName: tHashInit
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 1
    functionsReached:
    - osTempSpaceAvailable
    - setBufPageCompressOnDisk
    - destroyDiskbasedBuf
    - printf
    - terrstr
    - taosMemoryFree
    - createDiskbasedBuf
    - doAddNewBucket
    - taosArrayDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: SLHashObj
    signature: SLHashObj * tHashInit(int32_t inMemPages, int32_t pageSize, _hash_fn_t
      fn, int32_t numOfTuplePerPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:335,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:337,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:338,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:341,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pHashObj
    argTypes:
    - SLHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: tHashCleanup
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - destroyDiskbasedBuf
    linkageType: ''
    returnType: void
    signature: void * tHashCleanup(SLHashObj* pHashObj)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: doAddToBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:350,1
    - Dst: SLHashObj*::hashFn
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:352,1
    - Dst: doGetBucketIdFromHashVal
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:353,1
    - Dst: doGetAlternativeBucketId
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:356,1
    - Dst: doAddToBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:365,1
    - Dst: doAddNewBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:378,1
    - Dst: ceil
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:383,1
    - Dst: log
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:383,1
    - Dst: log
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:383,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:387,1
    - Dst: doGetRelatedSplitBucketId
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:393,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:399,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:400,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:401,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:407,1
    - Dst: GET_LHASH_NODE_KEY
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:411,1
    - Dst: SLHashObj*::hashFn
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:412,1
    - Dst: doGetBucketIdFromHashVal
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:413,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:417,1
    - Dst: doAddToBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:422,1
    - Dst: GET_LHASH_NODE_KEY
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:422,1
    - Dst: GET_LHASH_NODE_KEY
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:423,1
    - Dst: doRemoveFromBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:424,1
    - Dst: GET_LHASH_NODE_LEN
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:427,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:431,1
    - Dst: doTrimBucketPages
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:434,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 5
    argNames:
    - pHashObj
    - key
    - keyLen
    - data
    - size
    argTypes:
    - SLHashObj*
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 441
    functionName: tHashPut
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 1
    functionsReached:
    - doGetBucketIdFromHashVal
    - getBufPage
    - releaseBufPage
    - GET_LHASH_NODE_KEY
    - taosArrayGet
    - qError
    - log
    - GET_LHASH_NODE_LEN
    - doGetRelatedSplitBucketId
    - SLHashObj*::hashFn
    - doRemoveFromBucket
    - doGetAlternativeBucketId
    - doAddToBucket
    - doAddNewBucket
    - ceil
    - taosArrayGetSize
    - doTrimBucketPages
    linkageType: ''
    returnType: int32_t
    signature: int32_t tHashPut(SLHashObj* pHashObj, const void* key, size_t keyLen,
      void* data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SLHashObj*::hashFn
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:444,1
    - Dst: doGetBucketIdFromHashVal
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:446,1
    - Dst: doGetAlternativeBucketId
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:448,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:455,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:458,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:459,1
    - Dst: GET_LHASH_NODE_KEY
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:465,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:466,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:467,1
    - Dst: GET_LHASH_NODE_DATA
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:468,1
    - Dst: GET_LHASH_NODE_LEN
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:470,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pHashObj
    - key
    - keyLen
    argTypes:
    - SLHashObj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 478
    functionName: tHashGet
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 1
    functionsReached:
    - doGetBucketIdFromHashVal
    - getBufPage
    - releaseBufPage
    - GET_LHASH_NODE_KEY
    - taosArrayGet
    - memcmp
    - GET_LHASH_NODE_LEN
    - SLHashObj*::hashFn
    - doGetAlternativeBucketId
    - taosArrayGetSize
    - GET_LHASH_NODE_DATA
    linkageType: ''
    returnType: char
    signature: char * tHashGet(SLHashObj* pHashObj, const void* key, size_t keyLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pHashObj
    - key
    - keyLen
    argTypes:
    - SLHashObj*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: tHashRemove
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    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:486,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:487,1
    - Dst: dBufSetPrintInfo
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:489,1
    - Dst: dBufPrintStatis
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pHashObj
    - type
    argTypes:
    - SLHashObj*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: tHashPrint
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: 0
    functionsReached:
    - printf
    - dBufSetPrintInfo
    - dBufPrintStatis
    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:76,1
    - Dst: getFillInfoStart
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:76,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:78,1
    - Dst: doApplyScalarCalculation
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:79,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:81,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:85,1
    - Dst: taosFillSetInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:87,1
    - Dst: fillResetPrevForNewGroup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:89,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:91,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:91,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:92,1
    - Dst: taosFillResultDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:97,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:99,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:99,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - pResultInfo
    - order
    argTypes:
    - SOperatorInfo*
    - SFillOperatorInfo*
    - SResultInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 67
    functionDepth: 8
    functionLinenumber: 67
    functionLinenumberEnd: 105
    functionName: doHandleRemainBlockForNewGroupImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - doApplyScalarCalculation
    - T_LONG_JMP
    - tstrerror
    - blockDataCleanup
    - reviseFillStartAndEndKey
    - qError
    - taosFillResultDataBlock
    - fillResetPrevForNewGroup
    - taosFillSetInputDataBlock
    - taosResetFillInfo
    - taosFillSetStartInfo
    - getFillInfoStart
    linkageType: ''
    returnType: void
    signature: "void doHandleRemainBlockForNewGroupImpl(SOperatorInfo* pOperator,
      SFillOperatorInfo* pInfo,\n                                               SResultInfo*
      pResultInfo, int32_t order)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosFillHasMoreResults
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:110,1
    - Dst: taosFillResultDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:112,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:114,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:114,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:115,1
    - Dst: doHandleRemainBlockForNewGroupImpl
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - pResultInfo
    - order
    argTypes:
    - SOperatorInfo*
    - SFillOperatorInfo*
    - SResultInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 9
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: doHandleRemainBlockFromNewGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - taosFillResultDataBlock
    - qError
    - doHandleRemainBlockForNewGroupImpl
    - taosFillHasMoreResults
    - tstrerror
    linkageType: ''
    returnType: void
    signature: "void doHandleRemainBlockFromNewGroup(SOperatorInfo* pOperator, SFillOperatorInfo*
      pInfo,\n                                            SResultInfo* pResultInfo,
      int32_t order)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:133,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:134,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:135,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:135,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:136,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:142,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:144,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:145,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:146,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:150,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:151,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:152,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:153,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:160,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:160,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - order
    - scanFlag
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 163
    functionName: doApplyScalarCalculation
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 1
    functionsReached:
    - T_LONG_JMP
    - qError
    - GET_STM_RTINFO
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tstrerror
    - setInputDataBlock
    linkageType: ''
    returnType: void
    signature: void doApplyScalarCalculation(SOperatorInfo* pOperator, SSDataBlock*
      pBlock, int32_t order, int32_t scanFlag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:170,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:171,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:178,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 181
    functionName: fillResetPrevForNewGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 1
    functionsReached:
    - qError
    - QUERY_CHECK_NULL
    - taosArrayGet
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillResetPrevForNewGroup(SFillInfo* pFillInfo)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:189,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:196,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:199,1
    - Dst: doHandleRemainBlockFromNewGroup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:202,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:209,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:213,1
    - Dst: taosFillNotStarted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:215,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:216,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:219,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:223,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:224,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:226,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:228,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:229,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:230,1
    - Dst: doApplyScalarCalculation
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:231,1
    - Dst: taosFillNotStarted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:234,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:235,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:242,1
    - Dst: taosFillSetInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:243,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:249,1
    - Dst: taosFillResultDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:255,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:256,1
    - Dst: doHandleRemainBlockFromNewGroup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:267,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:273,1
    - Dst: doHandleRemainBlockForNewGroupImpl
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:275,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:288,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:288,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:289,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 183
    functionDepth: 10
    functionLinenumber: 183
    functionLinenumberEnd: 292
    functionName: doFillImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - doApplyScalarCalculation
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - blockDataCleanup
    - reviseFillStartAndEndKey
    - qError
    - blockDataEnsureCapacity
    - taosFillNotStarted
    - taosFillResultDataBlock
    - setOperatorCompleted
    - blockDataUpdateTsWindow
    - doHandleRemainBlockForNewGroupImpl
    - doHandleRemainBlockFromNewGroup
    - taosFillSetInputDataBlock
    - QUERY_CHECK_CODE
    - tstrerror
    - taosFillSetStartInfo
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * doFillImpl(SOperatorInfo* pOperator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: streamCalcCurrWinTimeRange
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:302,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:305,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:305,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:307,1
    - Dst: doFillImpl
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:322,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:324,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:328,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:330,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:330,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:332,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 294
    functionDepth: 11
    functionLinenumber: 294
    functionLinenumberEnd: 341
    functionName: doFillNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - doFillImpl
    - qError
    - setOperatorCompleted
    - doFilter
    - tstrerror
    - streamCalcCurrWinTimeRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t doFillNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDestroyFillInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:345,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:346,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:348,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:351,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:352,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:354,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:355,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 343
    functionDepth: 4
    functionLinenumber: 343
    functionLinenumberEnd: 357
    functionName: destroyFillOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - taosDestroyFillInfo
    - taosMemoryFreeClear
    - cleanupExprSupp
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyFillOperatorInfo(void* param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createFillColInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:368,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:371,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:371,1
    - Dst: taosCreateFillInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:380,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:386,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:386,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:397,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:403,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 16
    argNames:
    - pInfo
    - pExpr
    - numOfCols
    - pNotFillExpr
    - numOfNotFillCols
    - pFillNullExpr
    - numOfFillNullExprs
    - pValNode
    - win
    - capacity
    - id
    - pInterval
    - fillType
    - order
    - pTaskInfo
    - surroundingTime
    argTypes:
    - SFillOperatorInfo*
    - SExprInfo*
    - int32_t
    - SExprInfo*
    - int32_t
    - SExprInfo*
    - int32_t
    - SNodeListNode*
    - STimeWindow
    - int32_t
    - char*
    - SInterval*
    - int32_t
    - int32_t
    - SExecTaskInfo*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 409
    functionName: initFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - createFillColInfo
    - qError
    - taosMemoryFree
    - tstrerror
    - taosMemoryCalloc
    - taosCreateFillInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initFillInfo(SFillOperatorInfo* pInfo, SExprInfo* pExpr,\n
      \                           int32_t numOfCols, SExprInfo* pNotFillExpr,\n                            int32_t
      numOfNotFillCols, SExprInfo* pFillNullExpr,\n                            int32_t
      numOfFillNullExprs, SNodeListNode* pValNode,\n                            STimeWindow
      win, int32_t capacity, const char* id,\n                            SInterval*
      pInterval, int32_t fillType,\n                            int32_t order, SExecTaskInfo*
      pTaskInfo,\n                            int64_t surroundingTime)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SFillOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 424
    functionName: isWstartColumnExist
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isWstartColumnExist(SFillOperatorInfo* pInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isWstartColumnExist
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:428,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:432,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:436,1
    - Dst: createExprFromTargetNode
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:441,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:443,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pInfo
    - pPhyFillNode
    - pExprSupp
    - idStr
    argTypes:
    - SFillOperatorInfo*
    - SFillPhysiNode*
    - SExprSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 454
    functionName: createPrimaryTsExprIfNeeded
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - qError
    - isWstartColumnExist
    - tstrerror
    - taosMemoryRealloc
    - createExprFromTargetNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createPrimaryTsExprIfNeeded(SFillOperatorInfo* pInfo, SFillPhysiNode*
      pPhyFillNode, SExprSupp* pExprSupp,\n                                           const
      char* idStr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:464,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:465,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:477,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:479,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:482,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:484,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:488,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:489,1
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 505
    functionName: resetFillOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - blockDataCleanup
    - tdListFreeP
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetFillOperState(SOperatorInfo* pOper)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:509,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:513,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:514,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:519,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:522,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:523,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:526,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:527,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:533,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:534,1
    - Dst: createPrimaryTsExprIfNeeded
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:536,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:537,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:540,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:541,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:543,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:545,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:546,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:548,1
    - Dst: convertFillType
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:556,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:560,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:561,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:565,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:574,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:577,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:582,1
    - Dst: initFillInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:586,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:597,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:600,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:605,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:610,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:616,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:617,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:619,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:621,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:630,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:630,1
    - Dst: destroyFillOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:633,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:635,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 4
    argNames:
    - downstream
    - pPhyFillNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SFillPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 507
    functionDepth: 16
    functionLinenumber: 507
    functionLinenumberEnd: 638
    functionName: createFillOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - qError
    - createOperatorFpSet
    - setOperatorResetStateFn
    - nodeType
    - destroyFillOperatorInfo
    - extractColMatchInfo
    - filterInitFromNode
    - QRY_PARAM_CHECK
    - createOneDataBlock
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - convertFillType
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - TSWAP
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - initFillInfo
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - tstrerror
    - createPrimaryTsExprIfNeeded
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createFillOperatorInfo(SOperatorInfo* downstream, SFillPhysiNode*
      pPhyFillNode,\n                                      SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:643,1
    - Dst: taosFillUpdateStartTimestampInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:644,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:646,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:649,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:656,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:659,1
    - Dst: taosFillUpdateStartTimestampInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:664,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:665,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pInfo
    - order
    argTypes:
    - SFillOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 667
    functionName: reviseFillStartAndEndKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: 2
    functionsReached:
    - taosTimeTruncate
    - taosFillUpdateStartTimestampInfo
    - taosTimeAdd
    linkageType: ''
    returnType: void
    signature: void reviseFillStartAndEndKey(SFillOperatorInfo* pInfo, int32_t order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: freeGroupKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeGroupKey(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:87,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:88,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:89,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:90,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:91,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:94,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:99,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:100,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 102
    functionName: destroyGroupOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - cleanupResultInfo
    - cleanupBasicInfo
    - cleanupAggSup
    - cleanupGroupResInfo
    - cleanupExprSupp
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyGroupOperatorInfo(void* param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:105,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:112,1
    - Dst: blockDataGetPagedColumnReservedBytes
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:118,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:119,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:128,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - pBlock
    - pageSize
    - extraSize
    argTypes:
    - SSDataBlock*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 148
    functionName: getPartitionPageRowCapacity
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - uError
    - taosArrayGet
    - blockDataGetPagedColumnReservedBytes
    - taosArrayGetSize
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t getPartitionPageRowCapacity(const SSDataBlock* pBlock, size_t
      pageSize, int32_t extraSize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:151,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:156,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:158,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:160,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:160,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:169,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:174,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - pGroupColVals
    - keyLen
    - keyBuf
    - pGroupColList
    argTypes:
    - SArray**
    - int32_t*
    - char**
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 189
    functionName: initGroupOptrInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initGroupOptrInfo(SArray** pGroupColVals, int32_t* keyLen,
      char** keyBuf, const SArray* pGroupColList)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - 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: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:201,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:203,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:212,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:215,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:217,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:222,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:223,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:224,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:225,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:225,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:225,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:225,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:231,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:232,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:232,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:232,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:232,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:239,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 5
    argNames:
    - pGroupCols
    - pGroupColVals
    - pBlock
    - rowIndex
    - numOfGroupCols
    argTypes:
    - SArray*
    - SArray*
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 246
    functionName: groupKeyCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - blobDataLen
    - taosArrayGet
    - colDataGetData
    - memcmp
    - IS_STR_DATA_BLOB
    - varDataLen
    - getJsonValueLen
    - colDataIsNull
    - varDataVal
    - blobDataVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: "bool groupKeyCompare(SArray* pGroupCols, SArray* pGroupColVals, SSDataBlock*
      pBlock, int32_t rowIndex,\n                            int32_t numOfGroupCols)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:251,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:254,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:255,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:258,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:266,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:267,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:271,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:277,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:278,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:279,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:280,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:281,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:281,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:283,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:283,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:286,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - pGroupCols
    - pGroupColVals
    - pBlock
    - rowIndex
    argTypes:
    - SArray*
    - SArray*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 290
    functionName: recordNewGroupKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - memcpy
    - taosArrayGet
    - colDataGetData
    - varDataTLen
    - IS_STR_DATA_BLOB
    - getJsonValueLen
    - taosArrayGetSize
    - colDataIsNull
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void recordNewGroupKeys(SArray* pGroupCols, SArray* pGroupColVals,
      SSDataBlock* pBlock, int32_t rowIndex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:293,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:298,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:306,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:307,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:309,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:310,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:311,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:312,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:314,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:315,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - pKey
    - pGroupColVals
    argTypes:
    - void*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 324
    functionName: buildGroupKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - memcpy
    - taosArrayGet
    - varDataTLen
    - IS_STR_DATA_BLOB
    - varDataCopy
    - getJsonValueLen
    - blobDataCopy
    - taosArrayGetSize
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildGroupKeys(void* pKey, const SArray* pGroupColVals)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:330,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:334,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:335,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:336,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:339,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:340,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:341,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:342,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:343,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:345,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pCtx
    - numOfOutput
    - totalRows
    - rowIndex
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 357
    functionName: doAssignGroupKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - memcpy
    - colDataGetData
    - IS_STR_DATA_BLOB
    - varDataCopy
    - GET_ROWCELL_INTERBUF
    - getJsonValueLen
    - blobDataCopy
    - colDataIsNull
    - GET_RES_INFO
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void doAssignGroupKeys(SqlFunctionCtx* pCtx, int32_t numOfOutput, int32_t
      totalRows, int32_t rowIndex)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:364,1
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:377,1
    - Dst: groupKeyCompare
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:383,1
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:391,1
    - Dst: buildGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:396,1
    - Dst: setGroupResultOutputBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:397,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:400,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:404,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:407,1
    - Dst: doAssignGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:411,1
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:412,1
    - Dst: buildGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:418,1
    - Dst: setGroupResultOutputBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:419,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:422,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:426,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:429,1
    - Dst: doAssignGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:431,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 433
    functionName: doHashGroupbyAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - applyAggFunctionOnPartialTuples
    - setGroupResultOutputBuf
    - recordNewGroupKeys
    - T_LONG_JMP
    - buildGroupKeys
    - taosArrayGetSize
    - groupKeyCompare
    - doAssignGroupKeys
    linkageType: ''
    returnType: void
    signature: void doHashGroupbyAgg(SOperatorInfo* pOperator, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: hasRemainResultByHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashGetSize
    linkageType: ''
    returnType: bool
    signature: bool hasRemainResultByHash(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:452,1
    - Dst: hasRemainResultByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:453,1
    - Dst: doCopyToSDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:460,1
    - Dst: hasRemainResultByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:463,1
    - Dst: doCopyToSDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pOperator
    - pbInfo
    - pGroupResInfo
    - pBuf
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - SGroupResInfo*
    - SDiskbasedBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 441
    functionDepth: 3
    functionLinenumber: 441
    functionLinenumberEnd: 477
    functionName: doBuildResultDatablockByHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - blockDataCleanup
    - hasRemainResultByHash
    - doCopyToSDataBlockByHash
    linkageType: ''
    returnType: void
    signature: "void doBuildResultDatablockByHash(SOperatorInfo* pOperator, SOptrBasicInfo*
      pbInfo, SGroupResInfo* pGroupResInfo,\n                                  SDiskbasedBuf*
      pBuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pLimitInfo
    argTypes:
    - SLimitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: slimitReached
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool slimitReached(SLimitInfo* pLimitInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:498,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:501,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:502,1
    - Dst: blockDataKeepFirstNRows
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:510,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:517,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:517,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - pRes
    - pLimitInfo
    argTypes:
    - SSDataBlock*
    - SLimitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 520
    functionName: doGroupResultSlimit
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - blockDataCleanup
    - qError
    - blockDataKeepFirstNRows
    - blockDataTrimFirstRows
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGroupResultSlimit(SSDataBlock* pRes, SLimitInfo* pLimitInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doBuildResultDatablockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:532,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:534,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:535,1
    - Dst: doGroupResultSlimit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:537,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:538,1
    - Dst: hasRemainResultByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:540,1
    - Dst: slimitReached
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:540,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:541,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:543,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:555,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:555,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 522
    functionDepth: 5
    functionLinenumber: 522
    functionLinenumberEnd: 559
    functionName: buildGroupResultDataBlockByHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - doGroupResultSlimit
    - qError
    - setOperatorCompleted
    - tSimpleHashCleanup
    - doFilter
    - slimitReached
    - QUERY_CHECK_CODE
    - doBuildResultDatablockByHash
    - tstrerror
    - hasRemainResultByHash
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * buildGroupResultDataBlockByHash(SOperatorInfo* pOperator)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:569,1
    - Dst: buildGroupResultDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:575,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:580,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:588,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:589,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:593,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:594,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:595,1
    - Dst: doHashGroupbyAgg
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:598,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:605,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:609,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:619,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:619,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:621,1
    - Dst: buildGroupResultDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:623,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 561
    functionDepth: 6
    functionLinenumber: 561
    functionLinenumberEnd: 627
    functionName: hashGroupbyAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - doHashGroupbyAgg
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - QRY_PARAM_CHECK
    - qError
    - GET_STM_RTINFO
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tstrerror
    - buildGroupResultDataBlockByHash
    - taosArrayDestroy
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t hashGroupbyAggregateNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:633,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:636,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:639,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:641,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:642,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 654
    functionName: resetGroupOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - resetAggSup
    - cleanupResultInfo
    - resetBasicOperatorState
    - qInfo
    - cleanupGroupResInfo
    - resetExprSupp
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetGroupOperState(SOperatorInfo* pOper)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:658,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:662,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:663,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:668,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:674,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:679,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:681,1
    - Dst: extractColumnInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:684,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:685,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:690,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:691,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:694,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:695,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:697,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:698,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:699,1
    - Dst: initGroupOptrInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:701,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:702,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:707,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:708,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:710,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:712,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:714,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:716,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:718,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:719,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:727,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:729,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:730,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:731,1
    - Dst: destroyGroupOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:737,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:738,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 4
    argNames:
    - downstream
    - pAggNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SAggPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 656
    functionDepth: 16
    functionLinenumber: 656
    functionLinenumberEnd: 741
    functionName: createGroupOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - createOperatorFpSet
    - setOperatorResetStateFn
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - initLimitInfo
    - extractColumnInfo
    - createExprInfo
    - destroyGroupOperatorInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - initGroupOptrInfo
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createGroupOperatorInfo(SOperatorInfo* downstream, SAggPhysiNode*
      pAggNode, SExecTaskInfo* pTaskInfo,\n                                SOperatorInfo**
      pOptrInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:751,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:752,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:761,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:763,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:774,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:776,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:777,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:779,1
    - Dst: doEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:783,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:784,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:786,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:787,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:793,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:793,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:794,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - pOperator
    - pDataBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 798
    functionName: createBlockDataNotLoaded
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - colDataAssign
    - createDataBlock
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataAppendColInfo
    - blockDataDestroy
    - taosMemoryCalloc
    - doEnsureCapacity
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * createBlockDataNotLoaded(const SOperatorInfo* pOperator,
      SSDataBlock* pDataBlock)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:807,1
    - Dst: buildGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:808,1
    - Dst: getCurrentDataGroupInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:811,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:813,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:820,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:831,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:832,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:833,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:834,1
    - Dst: blockDataGetPagedColumnReservedBytes
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:838,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:843,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:848,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:853,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:854,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:856,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:858,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:862,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:864,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:865,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:865,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:866,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:867,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:869,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:872,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:873,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:873,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:874,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:875,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:877,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:881,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:883,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:887,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:890,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:892,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:894,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:894,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:895,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:895,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:906,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:907,1
    - Dst: createBlockDataNotLoaded
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:909,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:911,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:914,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:915,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:920,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:921,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:928,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:928,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:929,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 76
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 931
    functionName: doHashPartition
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - recordNewGroupKeys
    - QUERY_CHECK_CONDITION
    - colDataGetData
    - qError
    - getJsonValueLen
    - calcGroupId
    - memcpy
    - taosArrayGet
    - getCurrentDataGroupInfo
    - buildGroupKeys
    - blockDataGetPagedColumnReservedBytes
    - setBufPageDirty
    - colDataIsNull_f
    - T_LONG_JMP
    - createBlockDataNotLoaded
    - QUERY_CHECK_NULL
    - BitmapLen
    - blobDataTLen
    - releaseBufPage
    - varDataTLen
    - IS_STR_DATA_BLOB
    - colDataSetNull_f
    - getBufPageSize
    - taosArrayInit
    - tstrerror
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void doHashPartition(SOperatorInfo* pOperator, SSDataBlock* pBlock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:936,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:941,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:942,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:944,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:948,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:950,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:953,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:958,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:959,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:963,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:964,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:966,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:966,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:973,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:977,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:979,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:979,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:983,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:984,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:986,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:986,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:994,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:994,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 3
    argNames:
    - pInfo
    - pGroupInfo
    - len
    argTypes:
    - SPartitionOperatorInfo*
    - SDataGroupInfo**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 999
    functionName: getCurrentDataGroupInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 1
    functionsReached:
    - getBufPage
    - taosArrayPush
    - releaseBufPage
    - taosArrayGetLast
    - qError
    - taosHashGet
    - QUERY_CHECK_NULL
    - getNewBufPage
    - getBufPageSize
    - memset
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void * getCurrentDataGroupInfo(const SPartitionOperatorInfo* pInfo,
      SDataGroupInfo** pGroupInfo, int32_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1002,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1003,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1012,1
    - Dst: blockDataGetPagedColumnReservedBytes
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1014,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1016,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pBlock
    - rowCapacity
    argTypes:
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1026
    functionName: setupColumnOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - blockDataGetPagedColumnReservedBytes
    - taosArrayGetSize
    - taosMemoryCalloc
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t * setupColumnOffset(const SSDataBlock* pBlock, int32_t rowCapacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1029,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1031,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1034,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1035,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1037,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1040,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1042,1
    - Dst: clearDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1043,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SPartitionOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1044
    functionName: clearPartitionOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - clearDiskbasedBuf
    - taosArrayGetSize
    - taosArrayClear
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void clearPartitionOperator(SPartitionOperatorInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - group1
    - group2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1055
    functionName: compareDataGroupInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compareDataGroupInfo(const void* group1, const void* group2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1059,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pGroupInfo
    argTypes:
    - SDataGroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1067
    functionName: buildPartitionResultForNotLoadBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * buildPartitionResultForNotLoadBlock(SDataGroupInfo* pGroupInfo)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1076,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1078,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1079,1
    - Dst: buildPartitionResultForNotLoadBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1081,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1085,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1086,1
    - Dst: clearPartitionOperator
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1087,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1092,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1094,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1094,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1094,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1095,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1100,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1102,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1102,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1103,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1107,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1107,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1107,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1108,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1111,1
    - Dst: buildPartitionResultForNotLoadBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1112,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1114,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1118,1
    - Dst: clearPartitionOperator
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1119,1
    - Dst: buildPartitionResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1122,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1125,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1126,1
    - Dst: blockDataFromBuf1
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1128,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1129,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1132,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1137,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1142,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1143,1
    - Dst: blockDataGetSortedRows
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1144,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1149,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1150,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1154,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1155,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1159
    functionName: buildPartitionResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 1
    functionsReached:
    - qError
    - buildPartitionResult
    - taosArrayGet
    - buildPartitionResultForNotLoadBlock
    - blockDataCleanup
    - blockDataGetSortedRows
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - getBufPage
    - T_LONG_JMP
    - blockDataFromBuf1
    - GET_TASKID
    - setOperatorCompleted
    - blockDataUpdateTsWindow
    - releaseBufPage
    - blockDataEnsureCapacity
    - blockDataTrimFirstRows
    - clearPartitionOperator
    - tstrerror
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * buildPartitionResult(SOperatorInfo* pOperator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: buildPartitionResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1174,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1179,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1188,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1189,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1190,1
    - Dst: doHashPartition
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1194,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1197,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1201,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1201,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1202,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1204,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1207,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1208,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1209,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1212,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1215,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1218,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1219,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1223,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1223,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1225,1
    - Dst: buildPartitionResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1161
    functionDepth: 3
    functionLinenumber: 1161
    functionLinenumberEnd: 1230
    functionName: hashPartitionNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - taosArraySort
    - tstrerror
    - blockDataEnsureCapacity
    - qError
    - taosHashGetSize
    - buildPartitionResult
    - QUERY_CHECK_NULL
    - GET_STM_RTINFO
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - taosArrayInit
    - taosHashClear
    - doHashPartition
    linkageType: ''
    returnType: int32_t
    signature: int32_t hashPartitionNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1234,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1235,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1237,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1239,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1242,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1243,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1245,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1247,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1249,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1252,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1254,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1257,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1258,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1261,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1262,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1264,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1265,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1266,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1232
    functionDepth: 4
    functionLinenumber: 1232
    functionLinenumberEnd: 1268
    functionName: destroyPartitionOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosMemoryFreeClear
    - taosArrayGet
    - cleanupBasicInfo
    - destroyDiskbasedBuf
    - taosMemoryFree
    - taosArrayGetSize
    - taosHashCleanup
    - cleanupExprSupp
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyPartitionOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1274,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1276,1
    - Dst: clearPartitionOperator
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1279,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1281,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1284,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1285,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1287,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1289,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1291,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1293,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1304
    functionName: resetPartitionOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosArrayGet
    - resetBasicOperatorState
    - clearPartitionOperator
    - taosArrayGetSize
    - taosHashClear
    - taosArrayDestroy
    - resetExprSupp
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetPartitionOperState(SOperatorInfo* pOper)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1308,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1312,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1313,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1318,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1323,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1324,1
    - Dst: makeColumnArrayFromList
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1328,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1332,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1338,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1339,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1345,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1346,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1348,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1349,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1352,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1353,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1361,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1362,1
    - Dst: getBufferPgSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1363,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1368,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1370,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1370,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1374,1
    - Dst: getPartitionPageRowCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1380,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1380,1
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1381,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1381,1
    - Dst: setupColumnOffset
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1387,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1388,1
    - Dst: initGroupOptrInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1390,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1395,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1398,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1401,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1402,1
    - Dst: destroyPartitionOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1412,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1415,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1416,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 4
    argNames:
    - downstream
    - pPartNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPartitionPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1306
    functionDepth: 5
    functionLinenumber: 1306
    functionLinenumberEnd: 1417
    functionName: createPartitionOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - taosArrayPush
    - qError
    - createOperatorFpSet
    - setOperatorResetStateFn
    - setupColumnOffset
    - blockDataGetSerialMetaSize
    - QRY_PARAM_CHECK
    - createExprInfo
    - taosHashInit
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - setOperatorInfo
    - osTempSpaceAvailable
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - terrstr
    - makeColumnArrayFromList
    - createDiskbasedBuf
    - getPartitionPageRowCapacity
    - getBufferPgSize
    - initOperatorCostInfo
    - initGroupOptrInfo
    - getBufPageSize
    - TAOS_RETURN
    - taosArrayInit
    - destroyPartitionOperatorInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createPartitionOperatorInfo(SOperatorInfo* downstream, SPartitionPhysiNode*
      pPartNode,\n                                           SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doSetResultOutBufByKey
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1425,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 8
    argNames:
    - pOperator
    - binfo
    - numOfCols
    - pData
    - bytes
    - groupId
    - pBuf
    - pAggSup
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - int32_t
    - char*
    - int32_t
    - uint64_t
    - SDiskbasedBuf*
    - SAggSupporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1419
    functionDepth: 3
    functionLinenumber: 1419
    functionLinenumberEnd: 1432
    functionName: setGroupResultOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 1
    functionsReached:
    - setResultRowInitCtx
    - doSetResultOutBufByKey
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setGroupResultOutputBuf(SOperatorInfo* pOperator, SOptrBasicInfo*
      binfo, int32_t numOfCols, char* pData,\n                                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:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1434
    functionDepth: 1
    functionLinenumber: 1434
    functionLinenumberEnd: 1437
    functionName: freePartItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void freePartItem(void* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1442,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1443,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1447,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1451,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1452,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1454,1
    - Dst: extractColumnFromColumnNode
      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: nodeType
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1460,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1470,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1471,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1479,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - pNodeList
    - pArrayRes
    argTypes:
    - SNodeList*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1482
    functionName: extractColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - qError
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    - nodeType
    - extractColumnFromColumnNode
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractColumnInfo(SNodeList* pNodeList, SArray** pArrayRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:59,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:64,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:69,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:71,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:73,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:75,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:77,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:79,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:85,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:86,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:94,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:95,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:102,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:106,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pBuf
    argTypes:
    - SDataDeleterHandle*
    - SInputData*
    - SDataDeleterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 110
    functionName: toDataCacheEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - LIST_LENGTH
    - QRY_ERR_RET
    - atomic_add_fetch_64
    - qDebug
    - tstrncpy
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t toDataCacheEntry(SDataDeleterHandle* pHandle, const SInputData*
      pInput, SDataDeleterBuf* pBuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:114,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:115,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:116,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:122,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:124,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pDeleter
    - pInput
    - pBuf
    argTypes:
    - SDataDeleterHandle*
    - SInputData*
    - SDataDeleterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: allocBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - qError
    - taosMemoryMalloc
    - TAOS_SYSTEM_ERROR
    - taosQueueItemSize
    linkageType: ''
    returnType: int32_t
    signature: 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:132,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:133,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pDeleter
    argTypes:
    - SDataDeleterHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: updateStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - taosQueueItemSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateStatus(SDataDeleterHandle* pDeleter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:144,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pDeleter
    argTypes:
    - SDataDeleterHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: getStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t getStatus(SDataDeleterHandle* pDeleter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:155,1
    - Dst: allocBuf
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:160,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:162,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:166,1
    - Dst: toDataCacheEntry
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:166,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:167,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:167,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:168,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pContinue
    argTypes:
    - SDataSinkHandle*
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 177
    functionName: putDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 8
    functionsReached:
    - QRY_ERR_JRET
    - toDataCacheEntry
    - taosFreeQitem
    - taosAllocateQitem
    - allocBuf
    - taosWriteQitem
    - updateStatus
    linkageType: ''
    returnType: int32_t
    signature: int32_t putDataBlock(SDataSinkHandle* pHandle, const SInputData* pInput,
      bool* pContinue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:181,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pHandle
    - useconds
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: endPut
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void endPut(struct SDataSinkHandle* pHandle, uint64_t useconds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:189,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:196,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:198,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:199,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - pHandle
    - pLen
    - pRawLen
    - pQueryEnd
    argTypes:
    - SDataSinkHandle*
    - int64_t*
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: getDataLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - taosReadQitem
    - taosFreeQitem
    - qDebug
    - TAOS_MEMCPY
    - taosQueueEmpty
    linkageType: ''
    returnType: void
    signature: void getDataLength(SDataSinkHandle* pHandle, int64_t* pLen, int64_t*
      pRawLen, bool* pQueryEnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:215,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:226,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:232,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:233,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:235,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:236,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:237,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - pHandle
    - pOutput
    argTypes:
    - SDataSinkHandle*
    - SOutputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 244
    functionName: getDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - atomic_sub_fetch_64
    - TAOS_MEMCPY
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - updateStatus
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDataBlock(SDataSinkHandle* pHandle, SOutputData* pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:248,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:249,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:250,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:251,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:252,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:254,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:257,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:258,1
    - Dst: taosCloseQueue
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:261,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:262,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:263,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SDataSinkHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 269
    functionName: destroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 2
    functionsReached:
    - taosReadQitem
    - taosMemoryFreeClear
    - atomic_sub_fetch_64
    - taosFreeQitem
    - taosThreadMutexDestroy
    - taosMemoryFree
    - taosQueueEmpty
    - taosArrayDestroy
    - nodesDestroyNode
    - taosCloseQueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t destroyDataSinker(SDataSinkHandle* pHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - size
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: getCacheSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t getCacheSize(struct SDataSinkHandle* pHandle, uint64_t* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - pFlags
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: getSinkFlags
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 0
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSinkFlags(struct SDataSinkHandle* pHandle, uint64_t* pFlags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:293,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:293,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:299,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:302,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:303,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:324,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:329,1
    - Dst: destroyDataSinker
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:340,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:341,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:343,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:346,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 4
    argNames:
    - pManager
    - ppDataSink
    - pHandle
    - pParam
    argTypes:
    - SDataSinkManager*
    - SDataSinkNode**
    - DataSinkHandle*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 350
    functionName: createDataDeleter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: 1
    functionsReached:
    - destroyDataSinker
    - qError
    - taosThreadMutexInit
    - taosMemoryFree
    - tstrerror
    - taosOpenQueue
    - taosArrayDestroy
    - nodesDestroyNode
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createDataDeleter(SDataSinkManager* pManager, SDataSinkNode**
      ppDataSink, DataSinkHandle* pHandle,\n                          void* pParam)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncTypeFromId
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pSup
    argTypes:
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: hasLagLeadFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - fmGetFuncTypeFromId
    linkageType: ''
    returnType: bool
    signature: bool hasLagLeadFunc(const SExprSupp* pSup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:70,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:71,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:72,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:74,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: destroyProjectOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - cleanupBasicInfo
    - cleanupAggSup
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyProjectOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:84,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:85,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:86,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:87,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: destroyIndefinitOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - cleanupBasicInfo
    - cleanupAggSup
    - cleanupExprSupp
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyIndefinitOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:96,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:98,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:99,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: cleanupProcessByRowIter
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - memset
    - blockDataDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void cleanupProcessByRowIter(SqlFunctionCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:104,1
    - Dst: SqlFunctionCtx*::fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:108,1
    - Dst: cleanupProcessByRowIter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:111,1
    - Dst: SqlFunctionCtx*::fpSet::init
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: resetProcessByRowCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - SqlFunctionCtx*::fpSet::cleanup
    - cleanupProcessByRowIter
    - GET_RES_INFO
    - SqlFunctionCtx*::fpSet::init
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetProcessByRowCtx(SqlFunctionCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:123,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:127,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:133,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - pProcessByRowFunctionCtx
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: allProcessByRowCtxSameFuncId
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool allProcessByRowCtxSameFuncId(SArray* pProcessByRowFunctionCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:148,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:149,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:156,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:157,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:158,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:158,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:158,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:161,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:162,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:163,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:164,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:165,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:166,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:169,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:170,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:171,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:177,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:180,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:187,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:202,1
    - Dst: resetProcessByRowCtx
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:202,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:205,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:206,1
    - Dst: fpSet::processFuncByRow
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:206,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:214,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:214,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:220,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:230,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:232,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:233,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 3
    argNames:
    - pGroupedCtxArray
    - pSrcBlock
    - pStreamInfo
    argTypes:
    - SArray*
    - SSDataBlock*
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 236
    functionName: processByRowInExternalWindows
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayAddBatch
    - taosArrayGet
    - TARRAY_DATA
    - resetProcessByRowCtx
    - fpSet::processFuncByRow
    - taosArrayDestroy
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - taosArrayInit
    - taosArrayClear
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t processByRowInExternalWindows(SArray* pGroupedCtxArray, SSDataBlock*
      pSrcBlock,\n                                             SStreamRuntimeFuncInfo*
      pStreamInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:244,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:245,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:246,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:247,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:247,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:247,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:251,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:258,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:267,1
    - Dst: scalarAssignPlaceHolderRes
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:267,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - pResColData
    - offset
    - rows
    - funcId
    - pInfo
    - pParamNode
    argTypes:
    - SColumnInfoData*
    - int64_t
    - int64_t
    - int16_t
    - SStreamRuntimeFuncInfo*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 275
    functionName: assignPlaceHolderInExternalWindows
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayAddBatch
    - taosArrayGet
    - TARRAY_DATA
    - taosArrayDestroy
    - scalarAssignPlaceHolderRes
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - taosArrayInit
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t assignPlaceHolderInExternalWindows(SColumnInfoData* pResColData,
      int64_t offset, int64_t rows,\n                                                  int16_t
      funcId, SStreamRuntimeFuncInfo* pInfo, SNode* pParamNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::releaseStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: streamOperatorReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::releaseStreamStateFn
    linkageType: ''
    returnType: void
    signature: void streamOperatorReleaseState(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::reloadStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: streamOperatorReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::reloadStreamStateFn
    linkageType: ''
    returnType: void
    signature: void streamOperatorReloadState(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:296,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:300,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:302,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:304,1
    - Dst: setFunctionResultOutput
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 311
    functionName: resetProjectOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - resetAggSup
    - setFunctionResultOutput
    - blockDataCleanup
    - resetBasicOperatorState
    - initLimitInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetProjectOperState(SOperatorInfo* pOper)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:315,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:318,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:319,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:328,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:332,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:333,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:335,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:340,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:341,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:367,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:371,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:372,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:373,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:375,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:377,1
    - Dst: setFunctionResultOutput
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:378,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:379,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:381,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:383,1
    - Dst: setRowTsColumnOutputInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:385,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:386,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:388,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:390,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:392,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:393,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:396,1
    - Dst: destroyProjectOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:406,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:407,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 65
    argCount: 4
    argNames:
    - downstream
    - pProjPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SProjectPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 313
    functionDepth: 16
    functionLinenumber: 313
    functionLinenumberEnd: 410
    functionName: createProjectOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - setRowTsColumnOutputInfo
    - TSDB_CHECK_CODE
    - createOperatorFpSet
    - setOperatorResetStateFn
    - TSDB_CHECK_NULL
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - setOperatorStreamStateFn
    - QRY_PARAM_CHECK
    - createOneDataBlock
    - createExprInfo
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - setFunctionResultOutput
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - initOperatorCostInfo
    - destroyProjectOperatorInfo
    - initLimitInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createProjectOperatorInfo(SOperatorInfo* downstream, SProjectPhysiNode*
      pProjPhyNode, SExecTaskInfo* pTaskInfo,\n                                  SOperatorInfo**
      pOptrInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pBlock
    - pLimitInfo
    argTypes:
    - SSDataBlock*
    - SLimitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 433
    functionName: discardGroupDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t discardGroupDataBlock(SSDataBlock* pBlock, SLimitInfo* pLimitInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:439,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:455,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:462,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pBlock
    - pLimitInfo
    - pOperator
    argTypes:
    - SSDataBlock*
    - SLimitInfo*
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 466
    functionName: setInfoForNewGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - resetLimitInfoForNextGroup
    - setOperatorCompleted
    linkageType: ''
    returnType: int32_t
    signature: int32_t setInfoForNewGroup(SSDataBlock* pBlock, SLimitInfo* pLimitInfo,
      SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:473,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:478,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pLimitInfo
    - groupId
    - pBlock
    - pOperator
    argTypes:
    - SLimitInfo*
    - uint64_t
    - SSDataBlock*
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 485
    functionName: doIngroupLimitOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - applyLimitOffset
    - setOperatorCompleted
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doIngroupLimitOffset(SLimitInfo* pLimitInfo, uint64_t groupId,
      SSDataBlock* pBlock,\n                                    SOperatorInfo* pOperator)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:488,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:500,1
    - Dst: doGenerateSourceData
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:513,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:514,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:526,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:529,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:531,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:532,1
    - Dst: discardGroupDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:544,1
    - Dst: setInfoForNewGroup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:549,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:560,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:561,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:563,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:564,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:566,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:567,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:568,1
    - Dst: doIngroupLimitOffset
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:570,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:585,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:586,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:595,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:596,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:600,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:606,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:607,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:627,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:627,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:627,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:634,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:634,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:636,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 487
    functionDepth: 5
    functionLinenumber: 487
    functionLinenumberEnd: 639
    functionName: doProjectOperation
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - GET_STM_RTINFO
    - printDataBlock
    - doGenerateSourceData
    - getNextBlockFromDownstream
    - QRY_PARAM_CHECK
    - blockDataCleanup
    - getStreamOpName
    - QUERY_CHECK_CODE
    - T_LONG_JMP
    - doIngroupLimitOffset
    - GET_TASKID
    - setOperatorCompleted
    - qDebug
    - tstrerror
    - blockDataMerge
    - setInfoForNewGroup
    - blockDataEnsureCapacity
    - doFilter
    - projectApplyFunctions
    - discardGroupDataBlock
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t doProjectOperation(SOperatorInfo* pOperator, SSDataBlock**
      pResBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:647,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:651,1
    - Dst: setFunctionResultOutput
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:655,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 663
    functionName: resetIndefinitOutputOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - resetExprSupp
    - resetAggSup
    - resetBasicOperatorState
    - setFunctionResultOutput
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetIndefinitOutputOperState(SOperatorInfo* pOper)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:667,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:673,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:674,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:682,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:692,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:693,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:695,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:701,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:702,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:710,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:711,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:712,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:713,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:717,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:718,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:720,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:722,1
    - Dst: setFunctionResultOutput
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:724,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:725,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:727,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:729,1
    - Dst: setRowTsColumnOutputInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:734,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:735,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:737,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:739,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:742,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:743,1
    - Dst: destroyIndefinitOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:752,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:753,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 4
    argNames:
    - downstream
    - pNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 665
    functionDepth: 16
    functionLinenumber: 665
    functionLinenumberEnd: 756
    functionName: createIndefinitOutputOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - setRowTsColumnOutputInfo
    - TSDB_CHECK_CODE
    - createOperatorFpSet
    - setOperatorResetStateFn
    - TSDB_CHECK_NULL
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - destroyIndefinitOperatorInfo
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - setFunctionResultOutput
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createIndefinitOutputOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pNode,\n                                                 SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:771,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:772,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:774,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:778,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:780,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:783,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:785,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:788,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:789,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - downstream
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SOperatorInfo*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 758
    functionDepth: 3
    functionLinenumber: 758
    functionLinenumberEnd: 793
    functionName: doHandleDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - blockDataEnsureCapacity
    - GET_STM_RTINFO
    - projectApplyFunctions
    - setInputDataBlock
    linkageType: ''
    returnType: void
    signature: "void doHandleDataBlock(SOperatorInfo* pOperator, SSDataBlock* pBlock,
      SOperatorInfo* downstream,\n                              SExecTaskInfo* pTaskInfo)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:796,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:804,1
    - Dst: hasLagLeadFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:812,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:820,1
    - Dst: SqlFunctionCtx*::fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:822,1
    - Dst: doHandleDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:828,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:835,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:837,1
    - Dst: doHandleDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:852,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:866,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:867,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:873,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:881,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:881,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:883,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 795
    functionDepth: 5
    functionLinenumber: 795
    functionLinenumberEnd: 886
    functionName: doApplyIndefinitFunction
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - doHandleDataBlock
    - getNextBlockFromDownstream
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - blockDataCleanup
    - hasLagLeadFunc
    - qError
    - setOperatorCompleted
    - doFilter
    - QUERY_CHECK_CODE
    - tstrerror
    - SqlFunctionCtx*::fpSet::cleanup
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t doApplyIndefinitFunction(SOperatorInfo* pOperator, SSDataBlock**
      pResBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:891,1
    - Dst: isRowEntryInitialized
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:892,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:892,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:893,1
    - Dst: fpSet::init
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - size
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 904
    functionName: initCtxOutputBuffer
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - fpSet::init
    - isRowEntryInitialized
    - fmIsScalarFunc
    - fmIsPseudoColumnFunc
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t initCtxOutputBuffer(SqlFunctionCtx* pCtx, int32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:922,1
    - Dst: doSetResultOutBufByKey
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:926,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:933,1
    - Dst: cleanupResultRowEntry
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:934,1
    - Dst: initCtxOutputBuffer
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - pOperator
    - pInfo
    - pSup
    - stage
    - numOfExprs
    argTypes:
    - struct SOperatorInfo*
    - SOptrBasicInfo*
    - SAggSupporter*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 915
    functionDepth: 3
    functionLinenumber: 915
    functionLinenumberEnd: 941
    functionName: setFunctionResultOutput
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 4
    functionsReached:
    - cleanupResultRowEntry
    - getResultEntryInfo
    - initResultRowInfo
    - initCtxOutputBuffer
    - doSetResultOutBufByKey
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setFunctionResultOutput(struct SOperatorInfo* pOperator, SOptrBasicInfo*
      pInfo, SAggSupporter* pSup, int32_t stage,\n                             int32_t
      numOfExprs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:944,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:945,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:951,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:951,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pCtx
    - numOfCols
    - pResList
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 961
    functionName: setRowTsColumnOutputInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - QRY_PARAM_CHECK
    - taosArrayInit
    - fmIsPseudoColumnFunc
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t setRowTsColumnOutputInfo(SqlFunctionCtx* pCtx, int32_t numOfCols,
      SArray** pResList)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:971,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:980,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:987,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:989,1
    - Dst: taosVariantGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:989,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:999,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1000,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1005,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1010,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1018,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1020,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1022,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1028,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1031,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1036,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1037,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1042,1
    - Dst: projectApplyOperator
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1042,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1049,1
    - Dst: doIngroupLimitOffset
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1055,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1057,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 963
    functionDepth: 5
    functionLinenumber: 963
    functionLinenumberEnd: 1060
    functionName: doGenerateSourceData
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - qError
    - scalarCalculate
    - GET_STM_RTINFO
    - colDataDestroy
    - taosArrayDestroy
    - projectApplyOperator
    - taosArrayGet
    - taosVariantGet
    - colDataAssign
    - colDataSetNNULL
    - doIngroupLimitOffset
    - setOperatorCompleted
    - colDataSetVal
    - TAOS_CHECK_RETURN
    - blockDataEnsureCapacity
    - doFilter
    - taosArrayInit
    - fmIsScalarFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGenerateSourceData(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1063,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1065,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pResult
    - pCtx
    - pPseudoList
    argTypes:
    - SSDataBlock*
    - SqlFunctionCtx*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1070
    functionName: setPseudoOutputColInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void setPseudoOutputColInfo(SSDataBlock* pResult, SqlFunctionCtx* pCtx,
      SArray* pPseudoList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1075,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1076,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1082,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1083,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1085,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1085,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1091,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1091,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1100,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1101,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1103,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1109,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1109,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1115,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 6
    argNames:
    - pResult
    - pSrcBlock
    - outputSlotId
    - pfCtx
    - numOfRows
    - createNewColModel
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    - SqlFunctionCtx*
    - int32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1119
    functionName: projectApplyColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - colDataAssign
    - colDataMergeCol
    - TSDB_CHECK_NULL
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t projectApplyColumn(SSDataBlock* pResult, SSDataBlock* pSrcBlock,
      int32_t outputSlotId, SqlFunctionCtx* pfCtx, int32_t* numOfRows, bool createNewColModel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1124,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1125,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1130,1
    - Dst: taosVariantGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1132,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1134,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1134,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1143,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - pExpr
    - pResult
    - pSrcBlock
    - outputSlotId
    - numOfRows
    - createNewColModel
    argTypes:
    - SExprInfo*
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    - int32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1147
    functionName: projectApplyValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataSetNNULL
    - taosVariantGet
    - qError
    - colDataSetVal
    - TSDB_CHECK_NULL
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t projectApplyValue(SExprInfo* pExpr, SSDataBlock* pResult, SSDataBlock*
      pSrcBlock, int32_t outputSlotId, int32_t* numOfRows, bool createNewColModel)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1155,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1156,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1158,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1159,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1162,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1163,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1169,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1169,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1172,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1174,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1178,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1187,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1187,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 7
    argNames:
    - pExpr
    - pResult
    - pSrcBlock
    - outputSlotId
    - numOfRows
    - createNewColModel
    - pExtraParams
    argTypes:
    - SExprInfo*
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    - int32_t*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1193
    functionName: projectApplyOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - tstrerror
    - qError
    - colDataAssign
    - scalarCalculate
    - colDataMergeCol
    - taosArrayDestroy
    - TSDB_CHECK_NULL
    - taosArrayInit
    - colDataDestroy
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t projectApplyOperator(SExprInfo* pExpr, SSDataBlock* pResult,
      SSDataBlock* pSrcBlock, int32_t outputSlotId, int32_t* numOfRows, bool createNewColModel,
      const void* pExtraParams)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1201,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1202,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1204,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1205,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1209,1
    - Dst: assignPlaceHolderInExternalWindows
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1209,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1212,1
    - Dst: scalarAssignPlaceHolderRes
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1212,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1220,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1220,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1221,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1222,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1224,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1231,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1231,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1234,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1237,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1242,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1243,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1244,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1251,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1253,1
    - Dst: SqlFunctionCtx*::fpSet::init
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1253,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1257,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1262,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1263,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1264,1
    - Dst: SqlFunctionCtx*::fpSet::process
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1274,1
    - Dst: SqlFunctionCtx*::fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1279,1
    - Dst: fmIsProcessByRowFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1284,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1286,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1287,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1290,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1291,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1297,1
    - Dst: fmIsSelectValueFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1299,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1307,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1308,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1311,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1313,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1315,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1316,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1316,1
    - Dst: fmIsGroupIdFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1325,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1327,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1327,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1337,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1340,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    argCount: 12
    argNames:
    - pCtx
    - pfCtx
    - pExpr
    - pResult
    - pSrcBlock
    - outputSlotId
    - numOfRows
    - createNewColModel
    - pExtraParams
    - pPseudoList
    - processByRowFunctionCtx
    - doSelectFunc
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    - SExprInfo*
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    - int32_t*
    - bool
    - void*
    - SArray*
    - SArray**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1196
    functionDepth: 4
    functionLinenumber: 1196
    functionLinenumberEnd: 1343
    functionName: projectApplyFunction
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - fmIsAggFunc
    - colDataGetData
    - qError
    - scalarCalculate
    - SqlFunctionCtx*::fpSet::init
    - TSDB_CHECK_NULL
    - colDataDestroy
    - assignPlaceHolderInExternalWindows
    - taosArrayDestroy
    - fmIsPlaceHolderFunc
    - fmIsGroupIdFunc
    - taosArrayGet
    - colDataAssign
    - fmIsIndefiniteRowsFunc
    - scalarAssignPlaceHolderRes
    - taosArrayGetSize
    - SqlFunctionCtx*::fpSet::cleanup
    - TAOS_CHECK_EXIT
    - colDataSetVal
    - tstrerror
    - colDataSetNULL
    - fmIsProcessByRowFunc
    - fmIsSelectValueFunc
    - SqlFunctionCtx*::fpSet::process
    - colDataMergeCol
    - taosArrayInit
    - fmIsScalarFunc
    - colDataIsNull_s
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: "int32_t projectApplyFunction(SqlFunctionCtx* pCtx, SqlFunctionCtx*
      pfCtx, SExprInfo* pExpr, SSDataBlock* pResult, SSDataBlock* pSrcBlock, \n                                    int32_t
      outputSlotId, int32_t* numOfRows, bool createNewColModel, const void* pExtraParams,
      \n                                    SArray* pPseudoList, SArray** processByRowFunctionCtx,
      bool doSelectFunc)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: setPseudoOutputColInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1352,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1364,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1365,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1367,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1368,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1372,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1374,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1374,1
    - Dst: taosVariantGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1374,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1385,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1387,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1394,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1394,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1404,1
    - Dst: projectApplyColumn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1404,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1408,1
    - Dst: projectApplyValue
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1408,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1412,1
    - Dst: projectApplyOperator
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1412,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1416,1
    - Dst: projectApplyFunction
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1416,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1420,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1421,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1426,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1427,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1431,1
    - Dst: allProcessByRowCtxSameFuncId
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1432,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1433,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1434,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1437,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1438,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1439,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1444,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1445,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1456,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1457,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1460,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1461,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1462,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1465,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1466,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1471,1
    - Dst: processByRowInExternalWindows
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1471,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1473,1
    - Dst: fpSet::processFuncByRow
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1473,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1475,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1478,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1479,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1484,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1494,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1497,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1500,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1503,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1503,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 112
    argCount: 9
    argNames:
    - pExpr
    - pResult
    - pSrcBlock
    - pCtx
    - numOfOutput
    - pPseudoList
    - pExtraParams
    - doSelectFunc
    - hasIndefRowsFunc
    argTypes:
    - SExprInfo*
    - SSDataBlock*
    - SSDataBlock*
    - SqlFunctionCtx*
    - int32_t
    - SArray*
    - void*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1346
    functionDepth: 5
    functionLinenumber: 1346
    functionLinenumberEnd: 1506
    functionName: projectApplyFunctionsWithSelect
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - fpSet::processFuncByRow
    - qError
    - TSDB_CHECK_NULL
    - processByRowInExternalWindows
    - taosArrayDestroy
    - projectApplyOperator
    - taosArrayGet
    - qTrace
    - taosVariantGet
    - setPseudoOutputColInfo
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - projectApplyColumn
    - projectApplyValue
    - colDataSetNNULL
    - projectApplyFunction
    - colDataSetVal
    - tstrncpy
    - blockDataEnsureCapacity
    - allProcessByRowCtxSameFuncId
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t projectApplyFunctionsWithSelect(SExprInfo* pExpr, SSDataBlock*
      pResult, SSDataBlock* pSrcBlock,\n                                        SqlFunctionCtx*
      pCtx, int32_t numOfOutput, SArray* pPseudoList,\n                                        const
      void* pExtraParams, bool doSelectFunc, bool hasIndefRowsFunc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: projectApplyFunctionsWithSelect
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pExpr
    - pResult
    - pSrcBlock
    - pCtx
    - numOfOutput
    - pPseudoList
    - pExtraParams
    argTypes:
    - SExprInfo*
    - SSDataBlock*
    - SSDataBlock*
    - SqlFunctionCtx*
    - int32_t
    - SArray*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1508
    functionDepth: 6
    functionLinenumber: 1508
    functionLinenumberEnd: 1511
    functionName: projectApplyFunctions
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: 7
    functionsReached:
    - projectApplyFunctionsWithSelect
    linkageType: ''
    returnType: int32_t
    signature: "int32_t projectApplyFunctions(SExprInfo* pExpr, SSDataBlock* pResult,
      SSDataBlock* pSrcBlock, SqlFunctionCtx* pCtx,\n                              int32_t
      numOfOutput, SArray* pPseudoList, const void* pExtraParams)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _isMAExtW
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: EXT_WIN_TYPE_STR
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXT_WIN_TYPE_STR(_isMAExtW)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - mode
    argTypes:
    - EExtWinMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: extWinModeStr
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * extWinModeStr(EExtWinMode mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: extWinGrpIdCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int extWinGrpIdCompare(const void* p1, const void* p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: extWinDestroyCGrpCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void extWinDestroyCGrpCtx(void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:186,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:187,1
    - Dst: extWinDestroyCGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:189,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 192
    functionName: extWinDestroyTGrpCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashSetFreeFp
    - taosMemoryFree
    - extWinDestroyCGrpCtx
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void extWinDestroyTGrpCtx(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:198,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:199,1
    - Dst: tdListAppendNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:202,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:205,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:205,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:206,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:206,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:206,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:207,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:210,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:210,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:225,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:225,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 5
    argNames:
    - pExtW
    - pList
    - rows
    - ppBlock
    - ppIdx
    argTypes:
    - SExternalWindowOperator*
    - SList*
    - int32_t
    - SSDataBlock**
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 230
    functionName: extWinBlockListAddBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tdListAppend
    - tstrerror
    - blockDataEnsureCapacity
    - TMAX
    - tdListAppendNode
    - qError
    - createOneDataBlock
    - taosArrayInit
    - TSDB_CHECK_NULL
    - listNEles
    - TAOS_CHECK_EXIT
    - blockDataDestroy
    - tdListPopHead
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinBlockListAddBlock(SExternalWindowOperator* pExtW, SList*
      pList, int32_t rows, SSDataBlock** ppBlock, SArray** ppIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:241,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pStream
    - pOperator
    - pExtW
    argTypes:
    - SStreamRuntimeFuncInfo*
    - SOperatorInfo*
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: extWinPostUpdateStreamRt
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: void extWinPostUpdateStreamRt(SStreamRuntimeFuncInfo* pStream, SOperatorInfo*
      pOperator, SExternalWindowOperator* pExtW)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:264,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - pExtW
    - pId
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    - SBlockID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: extWinAssignBlockGrpId
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: void extWinAssignBlockGrpId(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW, SBlockID* pId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pCCtx
    argTypes:
    - SExtWinCalcGrpCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: extWinResetBlockCalcState
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE extWinResetBlockCalcState(SExtWinCalcGrpCtx* pCCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:281,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:283,1
    - Dst: extWinBlockListAddBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:283,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:289,1
    - Dst: extWinBlockListAddBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:289,1
    - Dst: extWinAssignBlockGrpId
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:293,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:302,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - pOperator
    - pExtW
    - pList
    - rows
    - ppBlock
    - ppIdx
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    - SList*
    - int32_t
    - SSDataBlock**
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 306
    functionName: extWinGetLastBlockFromList
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinAssignBlockGrpId
    - qError
    - extWinBlockListAddBlock
    - TD_DLIST_TAIL
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetLastBlockFromList(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW, SList* pList, int32_t rows, SSDataBlock** ppBlock, SArray** ppIdx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:315,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:316,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:319,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:324,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 328
    functionName: extWinDestroyBlockList
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - TD_DLIST_NELES
    - taosMemoryFree
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void extWinDestroyBlockList(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:339,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:340,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:341,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:342,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:347,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:348,1
    - Dst: tdListPrependNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pExtW
    - ppNode
    argTypes:
    - SExternalWindowOperator*
    - SListNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 352
    functionName: extWinRecycleBlkNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tdListPrependNode
    - blockDataCleanup
    - listNEles
    - taosArrayDestroy
    - blockDataDestroy
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: void extWinRecycleBlkNode(SExternalWindowOperator* pExtW, SListNode**
      ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:361,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:362,1
    - Dst: extWinRecycleBlkNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:366,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pExtW
    - p
    argTypes:
    - SExternalWindowOperator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 371
    functionName: extWinRecycleBlockList
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - extWinRecycleBlkNode
    - taosMemoryFree
    - TD_DLIST_NELES
    linkageType: ''
    returnType: void
    signature: void extWinRecycleBlockList(SExternalWindowOperator* pExtW, void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:380,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:381,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pInfo
    - pNode
    argTypes:
    - SExternalWindowOperator*
    - SListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 386
    functionName: extWinDestroyBlkNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - blockDataDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void extWinDestroyBlkNode(SExternalWindowOperator* pInfo, SListNode*
      pNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:394,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:396,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:397,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:398,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:400,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:401,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:402,1
    - Dst: extWinDestroyBlkNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:404,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:407,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:408,1
    - Dst: extWinDestroyBlkNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:409,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:411,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:414,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:415,1
    - Dst: extWinDestroyTGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:418,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:419,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:432,1
    - Dst: extWinDestroyTGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:435,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:436,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:443,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:444,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:447,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:450,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:452,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:454,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:458,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 389
    functionDepth: 4
    functionLinenumber: 389
    functionLinenumberEnd: 459
    functionName: destroyExternalWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - extWinDestroyTGrpCtx
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - TD_DLIST_POP
    - cleanupBasicInfo
    - cleanupAggSup
    - qDebug
    - taosMemoryFree
    - cleanupExprSupp
    - colDataDestroy
    - tSimpleHashIterate
    - taosArrayDestroy
    - blockDataDestroy
    - extWinDestroyBlkNode
    - tdListFree
    linkageType: ''
    returnType: void
    signature: void destroyExternalWindowOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:470,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pDst
    - pRange
    argTypes:
    - STimeWindow*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 472
    functionName: extWinIntersectTimeRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - TMAX
    - TMIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE extWinIntersectTimeRange(STimeWindow* pDst, const STimeWindow*
      pRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: extWinIntersectTimeRange
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:480,1
    - Dst: extWinIntersectTimeRange
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pScanOp
    - pTimeRange
    argTypes:
    - SOperatorInfo*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 482
    functionName: extWinApplyTimeRangeToTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinIntersectTimeRange
    linkageType: ''
    returnType: void
    signature: void extWinApplyTimeRangeToTableScan(SOperatorInfo* pScanOp, const
      STimeWindow* pTimeRange)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: extWinIntersectTimeRange
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pParam
    - pTimeRange
    argTypes:
    - SOperatorParam*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 498
    functionName: extWinApplyTimeRangeToExchangeParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinIntersectTimeRange
    linkageType: ''
    returnType: void
    signature: void extWinApplyTimeRangeToExchangeParam(SOperatorParam* pParam, const
      STimeWindow* pTimeRange)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: extWinApplyTimeRangeToTableScan
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:511,1
    - Dst: extWinApplyTimeRangeToExchangeParam
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:516,1
    - Dst: extWinApplyTimeRangeToExchangeParam
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:531,1
    - Dst: extWinApplyNonStreamTimeRangeToOperatorTree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:534,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - pOperator
    - pTimeRange
    - pScanAppliedNum
    - pRootTaskInfo
    argTypes:
    - SOperatorInfo*
    - STimeWindow*
    - int32_t*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 541
    functionName: extWinApplyNonStreamTimeRangeToOperatorTree
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 1
    functionsReached:
    - extWinApplyTimeRangeToExchangeParam
    - extWinApplyNonStreamTimeRangeToOperatorTree
    - extWinApplyTimeRangeToTableScan
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinApplyNonStreamTimeRangeToOperatorTree(SOperatorInfo*
      pOperator, const STimeWindow* pTimeRange,\n                                                           int32_t*
      pScanAppliedNum, SExecTaskInfo* pRootTaskInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: extWinApplyNonStreamTimeRangeToOperatorTree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:563,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:570,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:571,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - pOperator
    - pTimeRange
    argTypes:
    - SOperatorInfo*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 543
    functionDepth: 4
    functionLinenumber: 543
    functionLinenumberEnd: 574
    functionName: extWinApplyNonStreamTimeRangeToDownstream
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - qInfo
    - extWinApplyNonStreamTimeRangeToOperatorTree
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinApplyNonStreamTimeRangeToDownstream(SOperatorInfo* pOperator,
      const STimeWindow* pTimeRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyExternalWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:589,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: destroyMergeAlignedExternalWindowOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - destroyExternalWindowOperatorInfo
    linkageType: ''
    returnType: void
    signature: void destroyMergeAlignedExternalWindowOperator(void* pOperator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:597,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:600,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:605,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:607,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:607,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:609,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pBlock
    - primaryTsIndex
    - pTaskInfo
    argTypes:
    - SSDataBlock*
    - int32_t
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 615
    functionName: extWinExtractTsCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - taosArrayGet
    - qError
    - blockDataUpdateTsWindow
    - tstrerror
    linkageType: ''
    returnType: int64_t
    signature: int64_t * extWinExtractTsCol(SSDataBlock* pBlock, int32_t primaryTsIndex,
      SExecTaskInfo* pTaskInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 629
    functionName: SExternalWindowOperator* extWinGetCoreInfo(SOperatorInfo* pOperator)
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE SExternalWindowOperator* extWinGetCoreInfo(SOperatorInfo*
      pOperator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetCoreInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:632,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 653
    functionName: SExtWinCalcGrpCtx* extWinGetScopedCalcGrpCtx(SOperatorInfo* pOperator)
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinGetCoreInfo
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE SExtWinCalcGrpCtx* extWinGetScopedCalcGrpCtx(SOperatorInfo*
      pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetScopedCalcGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 666
    functionName: extWinGetCurWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinGetScopedCalcGrpCtx
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetCurWinIdx(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetScopedCalcGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 677
    functionName: extWinSetCurWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinGetScopedCalcGrpCtx
    linkageType: ''
    returnType: void
    signature: void extWinSetCurWinIdx(SOperatorInfo* pOperator, int32_t idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetScopedCalcGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: extWinIncCurWinOutIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinGetScopedCalcGrpCtx
    linkageType: ''
    returnType: void
    signature: void extWinIncCurWinOutIdx(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:695,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:709,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:709,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:714,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - pTaskInfo
    - pIdx
    - pBlock
    - currWinIdx
    - rows
    argTypes:
    - SExecTaskInfo*
    - SArray*
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 718
    functionName: extWinAppendWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGetLast
    - qError
    - TSDB_CHECK_NULL
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAppendWinIdx(SExecTaskInfo*       pTaskInfo, SArray*
      pIdx, SSDataBlock* pBlock, int32_t currWinIdx, int32_t rows)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:725,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:729,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:730,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:731,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:736,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:743,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:749,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:749,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:750,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:750,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:771,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:771,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:776,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:777,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:779,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:780,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:781,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:785,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:787,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:787,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - pTaskInfo
    - pIdx
    - rowsBeforeFilter
    - pFilterRes
    argTypes:
    - SExecTaskInfo*
    - SArray*
    - int32_t
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 790
    functionName: extWinRebuildWinIdxByFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - memcpy
    - taosArrayGet
    - tstrerror
    - TMAX
    - TMIN
    - qError
    - taosArrayReserve
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - taosArrayInit
    - taosArrayClear
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinRebuildWinIdxByFilter(SExecTaskInfo* pTaskInfo, SArray*
      pIdx, int32_t rowsBeforeFilter,\n                                           SColumnInfoData*
      pFilterRes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:820,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:821,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:822,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:826,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:830,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:837,1
    - Dst: scalarCalculateExtWinsTimeRange
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:837,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:843,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:849,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:855,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:863,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:863,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:863,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - pExtW
    - pTaskInfo
    - pCtx
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    - SExtWinCalcGrpCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 867
    functionName: extWinInitCGrpCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - scalarCalculateExtWinsTimeRange
    - taosArrayGet
    - qError
    - GET_TASKID
    - qDebug
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tstrerror
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinInitCGrpCtx(SExternalWindowOperator* pExtW, SExecTaskInfo*
      pTaskInfo, SExtWinCalcGrpCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SExtWinCalcGrpCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 885
    functionName: extWinInitDynParamCGrpCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extWinInitDynParamCGrpCtx(SExtWinCalcGrpCtx* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:897,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:899,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:900,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:900,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:905,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:906,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:910,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:911,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:914,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:914,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:926,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:927,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:927,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:932,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:933,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:939,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:940,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:940,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:940,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - pExtW
    - pTaskInfo
    - pId
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    - SBlockID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 944
    functionName: extWinSwitchInitTGrpCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - GET_TASKID
    - qDebug
    - TSDB_CHECK_NULL
    - taosArrayInit
    - tstrerror
    - EXT_WIN_TYPE_STR
    - taosMemoryCalloc
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinSwitchInitTGrpCtx(SExternalWindowOperator* pExtW, SExecTaskInfo*
      pTaskInfo, SBlockID* pId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pExtW
    - pTaskInfo
    - pId
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    - SBlockID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 954
    functionName: extWinNeedResolvePartitionBlockId
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE extWinNeedResolvePartitionBlockId(SExternalWindowOperator*
      pExtW, SExecTaskInfo* pTaskInfo,\n                                                           const
      SBlockID* pId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:965,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:967,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:968,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:968,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:985,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:988,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:990,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:991,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:992,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:992,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pExtW
    - pTaskInfo
    - pId
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    - SBlockID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 995
    functionName: extWinResolveBaseGroupIdForPartition
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - GET_TASKID
    - qDebug
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - EXT_WIN_TYPE_STR
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: "void extWinResolveBaseGroupIdForPartition(SExternalWindowOperator*
      pExtW, SExecTaskInfo* pTaskInfo,\n                                                 SBlockID*
      pId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1001,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1002,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pExtW
    - pTaskInfo
    - pId
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    - SBlockID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1004
    functionName: extWinResolveCalcGroupIdForPartition
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - EXT_WIN_TYPE_STR
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: "void extWinResolveCalcGroupIdForPartition(SExternalWindowOperator*
      pExtW, SExecTaskInfo* pTaskInfo,\n                                                 SBlockID*
      pId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: extWinNeedResolvePartitionBlockId
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1007,1
    - Dst: extWinResolveBaseGroupIdForPartition
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1011,1
    - Dst: extWinResolveCalcGroupIdForPartition
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pExtW
    - pTaskInfo
    - pId
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    - SBlockID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1013
    functionName: extWinResolveBlockIdForPartition
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinNeedResolvePartitionBlockId
    - extWinResolveCalcGroupIdForPartition
    - extWinResolveBaseGroupIdForPartition
    linkageType: ''
    returnType: void
    signature: void extWinResolveBlockIdForPartition(SExternalWindowOperator* pExtW,
      SExecTaskInfo* pTaskInfo, SBlockID* pId)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1022,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1023,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1023,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1025,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1033,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1035,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1037,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1041,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1043,1
    - Dst: extWinInitCGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1043,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1046,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1046,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1055,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1055,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1063,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1066,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1066,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1067,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1070,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1073,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1073,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1074,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1075,1
    - Dst: extWinInitCGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1075,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1080,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1081,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1084,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1084,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1087,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1088,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1091,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1091,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1099,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1099,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1104,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1105,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1105,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1105,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - pExtW
    - pTaskInfo
    - pId
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    - SBlockID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1016
    functionDepth: 4
    functionLinenumber: 1016
    functionLinenumberEnd: 1109
    functionName: extWinSwitchInitCGrpCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - qError
    - tSimpleHashPut
    - GET_TASKID
    - extWinInitCGrpCtx
    - EXT_WIN_TYPE_STR
    - qDebug
    - tSimpleHashInit
    - TSDB_CHECK_NULL
    - taosGetDefaultHashFunction
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinSwitchInitCGrpCtx(SExternalWindowOperator* pExtW, SExecTaskInfo*
      pTaskInfo, SBlockID* pId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinResolveBlockIdForPartition
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1118,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1119,1
    - Dst: extWinSwitchInitTGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1119,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1120,1
    - Dst: extWinSwitchInitCGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1120,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1125,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1126,1
    - Dst: EXT_WIN_TYPE_STR
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pExtW
    - pTaskInfo
    - pId
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    - SBlockID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1111
    functionDepth: 5
    functionLinenumber: 1111
    functionLinenumberEnd: 1130
    functionName: extWinSwitchInitCtxs
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinSwitchInitCGrpCtx
    - extWinSwitchInitTGrpCtx
    - extWinResolveBlockIdForPartition
    - qError
    - GET_TASKID
    - EXT_WIN_TYPE_STR
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinSwitchInitCtxs(SExternalWindowOperator* pExtW, SExecTaskInfo*
      pTaskInfo, SBlockID* pId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRows
    argTypes:
    - SExtWinResultRows*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1136
    functionName: extWinResetResultRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extWinResetResultRows(SExtWinResultRows* pRows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNewResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1141,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1143,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1143,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1150,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - pOperator
    - pResultRowInfo
    - pWin
    - pResult
    - pExprSup
    - pAggSup
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - STimeWindow*
    - SResultRow**
    - SExprSupp*
    - SAggSupporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1138
    functionDepth: 2
    functionLinenumber: 1138
    functionLinenumberEnd: 1153
    functionName: mergeAlignExtWinSetOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - extWinGetCurWinIdx
    - getNewResultRow
    - setResultRowInitCtx
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mergeAlignExtWinSetOutputBuf(SOperatorInfo* pOperator, SResultRowInfo*
      pResultRowInfo, const STimeWindow* pWin, SResultRow** pResult,\n                                       SExprSupp*
      pExprSup, SAggSupporter* pAggSup)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1157,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1161,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1163,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1167,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pOperator
    - pExtW
    - ts
    - ppWin
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    - TSKEY
    - STimeWindow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1175
    functionName: mergeAlignExtWinGetWinFromTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinSetCurWinIdx
    - extWinGetCurWinIdx
    - qError
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAlignExtWinGetWinFromTs(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW, TSKEY ts, STimeWindow** ppWin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1184,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1187,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1187,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1193,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pOperator
    - pResultRowInfo
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1197
    functionName: mergeAlignExtWinFinalizeResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinAppendWinIdx
    - qError
    - finalizeResultRows
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAlignExtWinFinalizeResult(SOperatorInfo* pOperator, SResultRowInfo*
      pResultRowInfo, SSDataBlock* pResultBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1209,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1213,1
    - Dst: mergeAlignExtWinSetOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1214,1
    - Dst: mergeAlignExtWinFinalizeResult
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1214,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1215,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1221,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1221,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - pOperator
    - pResultRowInfo
    - pResultBlock
    - fromIdx
    - toIdx
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1224
    functionName: mergeAlignExtWinFillEmptyWins
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - resetResultRow
    - mergeAlignExtWinFinalizeResult
    - taosArrayGet
    - mergeAlignExtWinSetOutputBuf
    - extWinSetCurWinIdx
    - qError
    - GET_TASKID
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mergeAlignExtWinFillEmptyWins(SOperatorInfo* pOperator, SResultRowInfo*
      pResultRowInfo,\n                                              SSDataBlock*
      pResultBlock, int32_t fromIdx, int32_t toIdx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: extWinExtractTsCol
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1236,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1237,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1239,1
    - Dst: mergeAlignExtWinGetWinFromTs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1240,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1242,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1243,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1244,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1247,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1250,1
    - Dst: mergeAlignExtWinFinalizeResult
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1250,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1256,1
    - Dst: mergeAlignExtWinFillEmptyWins
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1256,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1257,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1260,1
    - Dst: mergeAlignExtWinSetOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1260,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1268,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1270,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1273,1
    - Dst: mergeAlignExtWinFinalizeResult
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1273,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1275,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1277,1
    - Dst: mergeAlignExtWinGetWinFromTs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1277,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1278,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1281,1
    - Dst: mergeAlignExtWinFillEmptyWins
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1281,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1282,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1285,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1288,1
    - Dst: mergeAlignExtWinSetOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1288,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1293,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1299,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1299,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1300,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - pOperator
    - pResultRowInfo
    - pBlock
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1304
    functionName: mergeAlignExtWinAggDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - resetResultRow
    - mergeAlignExtWinFinalizeResult
    - getStartTsKey
    - applyAggFunctionOnPartialTuples
    - T_LONG_JMP
    - mergeAlignExtWinSetOutputBuf
    - extWinExtractTsCol
    - extWinSetCurWinIdx
    - qError
    - mergeAlignExtWinGetWinFromTs
    - extWinGetCurWinIdx
    - qDebug
    - tstrerror
    - TAOS_CHECK_EXIT
    - mergeAlignExtWinFillEmptyWins
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAlignExtWinAggDo(SOperatorInfo* pOperator, SResultRowInfo*
      pResultRowInfo, SSDataBlock* pBlock, SSDataBlock* pResultBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinExtractTsCol
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1308,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1318,1
    - Dst: mergeAlignExtWinGetWinFromTs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1318,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1319,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1319,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1319,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1327,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pOperator
    - pInput
    - pResult
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1331
    functionName: mergeAlignExtWinBuildWinRowIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinExtractTsCol
    - extWinAppendWinIdx
    - qError
    - mergeAlignExtWinGetWinFromTs
    - extWinGetCurWinIdx
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAlignExtWinBuildWinRowIdx(SOperatorInfo* pOperator, SSDataBlock*
      pInput, SSDataBlock* pResult)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1339,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1339,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1340,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1342,1
    - Dst: mergeAlignExtWinBuildWinRowIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1342,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1347,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pOperator
    - pResultRowInfo
    - pBlock
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1333
    functionDepth: 7
    functionLinenumber: 1333
    functionLinenumberEnd: 1351
    functionName: mergeAlignExtWinProjectDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - mergeAlignExtWinBuildWinRowIdx
    - qError
    - GET_STM_RTINFO
    - projectApplyFunctions
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mergeAlignExtWinProjectDo(SOperatorInfo* pOperator, SResultRowInfo*
      pResultRowInfo, SSDataBlock* pBlock,\n                                            SSDataBlock*
      pResultBlock)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1364,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1365,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1373,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1379,1
    - Dst: mergeAlignExtWinFinalizeResult
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1379,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1384,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1386,1
    - Dst: mergeAlignExtWinFillEmptyWins
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1386,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1389,1
    - Dst: extWinResolveBlockIdForPartition
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1393,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1397,1
    - Dst: mergeAlignExtWinFinalizeResult
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1397,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1403,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1416,1
    - Dst: extWinSwitchInitCtxs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1416,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1421,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1422,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1424,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1427,1
    - Dst: mergeAlignExtWinProjectDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1427,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1429,1
    - Dst: mergeAlignExtWinAggDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1429,1
    - Dst: extWinPostUpdateStreamRt
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1439,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1444,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1444,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1446,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1353
    functionDepth: 6
    functionLinenumber: 1353
    functionLinenumberEnd: 1448
    functionName: mergeAlignExtWinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinResolveBlockIdForPartition
    - mergeAlignExtWinAggDo
    - qError
    - extWinPostUpdateStreamRt
    - printDataBlock
    - mergeAlignExtWinFinalizeResult
    - getNextBlockFromDownstream
    - blockDataCleanup
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClear
    - TAOS_CHECK_EXIT
    - T_LONG_JMP
    - setOperatorCompleted
    - extWinSwitchInitCtxs
    - mergeAlignExtWinProjectDo
    - mergeAlignExtWinFillEmptyWins
    - resetResultRow
    - tstrerror
    - setInputDataBlock
    linkageType: ''
    returnType: void
    signature: void mergeAlignExtWinDo(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1463,1
    - Dst: mergeAlignExtWinDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1465,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1469,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1469,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1470,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1471,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1480,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1480,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1450
    functionDepth: 5
    functionLinenumber: 1450
    functionLinenumberEnd: 1485
    functionName: mergeAlignExtWinNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - blockDataCleanup
    - qError
    - doFilter
    - taosMemoryFree
    - colDataDestroy
    - tstrerror
    - mergeAlignExtWinDo
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAlignExtWinNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1498,1
    - Dst: extWinResetResultRows
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1502,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1510,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1511,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1511,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1526
    functionName: resetMergeAlignedExtWinOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - initExecTimeWindowInfo
    - extWinResetResultRows
    - qError
    - colDataDestroy
    - tstrerror
    - initResultRowInfo
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetMergeAlignedExtWinOperator(SOperatorInfo* pOperator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1534,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1535,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1545,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1547,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1570,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1574,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1575,1
    - Dst: extWinInitNonStreamWindowDataFromBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1578,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1579,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1583,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1585,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1588,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1590,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1592,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1593,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1594,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1596,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1597,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1599,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1600,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1601,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1605,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1606,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1609,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1611,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1612,1
    - Dst: destroyMergeAlignedExternalWindowOperator
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1617,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1618,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 4
    argNames:
    - pDownstream
    - pNode
    - pTaskInfo
    - ppOptrOut
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1528
    functionDepth: 16
    functionLinenumber: 1528
    functionLinenumberEnd: 1621
    functionName: createMergeAlignedExternalWindowOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - appendDownstream
    - createOperatorFpSet
    - setOperatorResetStateFn
    - TSDB_CHECK_NULL
    - destroyMergeAlignedExternalWindowOperator
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - extWinInitNonStreamWindowDataFromBlock
    - createExprInfo
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - taosArrayInit
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createMergeAlignedExternalWindowOperator(SOperatorInfo* pDownstream,
      SPhysiNode* pNode,\n                                                 SExecTaskInfo*
      pTaskInfo, SOperatorInfo** ppOptrOut)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupExprSuppWithoutFilter
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1628,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1637,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1638,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1639,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1640,1
    - Dst: extWinResetResultRows
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1642,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1646,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pExtW
    - pTaskInfo
    - pPhynode
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    - SExternalWindowPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1624
    functionDepth: 3
    functionLinenumber: 1624
    functionLinenumberEnd: 1650
    functionName: resetExternalWindowExprSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinResetResultRows
    - qError
    - createExprInfo
    - initExprSupp
    - QUERY_CHECK_CODE
    - tstrerror
    - cleanupExprSuppWithoutFilter
    linkageType: ''
    returnType: int32_t
    signature: "int32_t resetExternalWindowExprSupp(SExternalWindowOperator* pExtW,
      SExecTaskInfo* pTaskInfo,\n                                           SExternalWindowPhysiNode*
      pPhynode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1661,1
    - Dst: extWinRecycleBlkNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1673,1
    - Dst: resetExternalWindowExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1673,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1674,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1675,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1675,1
    - Dst: extWinResetResultRows
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1686,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1688,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1695,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1653
    functionDepth: 2
    functionLinenumber: 1653
    functionLinenumberEnd: 1699
    functionName: resetExternalWindowOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - initExecTimeWindowInfo
    - extWinResetResultRows
    - qError
    - extWinRecycleBlkNode
    - qDebug
    - colDataDestroy
    - tstrerror
    - initResultRowInfo
    - TAOS_CHECK_EXIT
    - resetExternalWindowExprSupp
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetExternalWindowOperator(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1702,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1704,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - res
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1701
    functionDepth: 1
    functionLinenumber: 1701
    functionLinenumberEnd: 1710
    functionName: extWinHasCountLikeFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsCountLikeFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes extWinHasCountLikeFunc(SNode* pNode, void* res)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1727,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1756,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1761,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1762,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1765,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1766,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1772,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1773,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1775,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1776,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1777,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1778,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1784,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1785,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1785,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pOperator
    - ppBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1788
    functionName: extWinCreateEmptyInputBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - colDataSetNULL
    - taosArrayGet
    - blockDataEnsureCapacity
    - qError
    - QUERY_CHECK_NULL
    - blockDataDestroy
    - createDataBlock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataGetNumOfCols
    - taosArrayEnsureCap
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinCreateEmptyInputBlock(SOperatorInfo* pOperator, SSDataBlock**
      ppBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1803
    functionName: extWinTsWinCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int extWinTsWinCompare(const void* pLeft, const void* pRight)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1807,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - pOperator
    - pWins
    - tsCol
    - rowNum
    - startPos
    argTypes:
    - SOperatorInfo*
    - SArray*
    - int64_t*
    - int64_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1830
    functionName: extWinGetMultiTbWinFromTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - TARRAY_GET_ELEM
    - taosArraySearchIdx
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetMultiTbWinFromTs(SOperatorInfo* pOperator, SArray*
      pWins, int64_t* tsCol, int64_t rowNum, int32_t* startPos)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1835,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1836,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1844,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1850,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1851,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1856,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1858,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1859,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1866,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1866,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1870,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1877,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1880,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1882,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1883,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1889,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1892,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1894,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1895,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1908,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1909,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 6
    argNames:
    - pOperator
    - tsCol
    - startPos
    - pInfo
    - ppWin
    - winRows
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - int32_t*
    - SDataBlockInfo*
    - SExtWinTimeWindow**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1832
    functionDepth: 1
    functionLinenumber: 1832
    functionLinenumberEnd: 1913
    functionName: extWinGetNoOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinSetCurWinIdx
    - GET_TASKID
    - qDebug
    - extWinGetCurWinIdx
    - getNumOfRowsInTimeWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetNoOvlpWin(SOperatorInfo* pOperator, int64_t* tsCol,
      int32_t* startPos, SDataBlockInfo* pInfo, SExtWinTimeWindow** ppWin, int32_t*
      winRows)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1926,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1927,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1932,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1934,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1935,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1942,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1942,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1946,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1954,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1957,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1959,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1960,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1982,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1983,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 6
    argNames:
    - pOperator
    - tsCol
    - startPos
    - pInfo
    - ppWin
    - winRows
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - int32_t*
    - SDataBlockInfo*
    - SExtWinTimeWindow**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1915
    functionDepth: 1
    functionLinenumber: 1915
    functionLinenumberEnd: 1987
    functionName: extWinGetOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinSetCurWinIdx
    - GET_TASKID
    - qDebug
    - getNumOfRowsInTimeWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetOvlpWin(SOperatorInfo* pOperator, int64_t* tsCol,
      int32_t* startPos, SDataBlockInfo* pInfo, SExtWinTimeWindow** ppWin, int32_t*
      winRows)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1995,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:1996,1
    - Dst: extWinGetMultiTbWinFromTs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2002,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2004,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2005,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2010,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2011,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2012,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2014,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2015,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2023,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2024,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2029,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2031,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2032,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2039,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2039,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2043,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2050,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2053,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2055,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2056,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2062,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2065,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2067,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2068,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2081,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2082,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 6
    argNames:
    - pOperator
    - tsCol
    - startPos
    - pInfo
    - ppWin
    - winRows
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - int32_t*
    - SDataBlockInfo*
    - SExtWinTimeWindow**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 1990
    functionDepth: 1
    functionLinenumber: 1990
    functionLinenumberEnd: 2086
    functionName: extWinGetMultiTbNoOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinSetCurWinIdx
    - GET_TASKID
    - qDebug
    - getNumOfRowsInTimeWindow
    - extWinGetMultiTbWinFromTs
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetMultiTbNoOvlpWin(SOperatorInfo* pOperator, int64_t*
      tsCol, int32_t* startPos, SDataBlockInfo* pInfo, SExtWinTimeWindow** ppWin,
      int32_t* winRows)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2091,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2094,1
    - Dst: extWinTsWinCompare
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2095,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - pOperator
    - pWins
    - tsCol
    - rowNum
    - startPos
    argTypes:
    - SOperatorInfo*
    - SArray*
    - int64_t*
    - int64_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2088
    functionDepth: 1
    functionLinenumber: 2088
    functionLinenumberEnd: 2122
    functionName: extWinGetFirstWinFromTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - TARRAY_GET_ELEM
    - extWinTsWinCompare
    - taosArraySearchIdx
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinGetFirstWinFromTs(SOperatorInfo* pOperator, SArray*
      pWins, int64_t* tsCol,\n                                       int64_t rowNum,
      int32_t* startPos)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetFirstWinFromTs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2129,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2131,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2132,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2137,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2138,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2139,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2141,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2142,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2150,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2151,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2156,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2158,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2159,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2166,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2166,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2170,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2178,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2181,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2183,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2184,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2197,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2198,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 6
    argNames:
    - pOperator
    - tsCol
    - startPos
    - pInfo
    - ppWin
    - winRows
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - int32_t*
    - SDataBlockInfo*
    - SExtWinTimeWindow**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2124
    functionDepth: 1
    functionLinenumber: 2124
    functionLinenumberEnd: 2202
    functionName: extWinGetMultiTbOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinSetCurWinIdx
    - GET_TASKID
    - qDebug
    - getNumOfRowsInTimeWindow
    - extWinGetFirstWinFromTs
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetMultiTbOvlpWin(SOperatorInfo* pOperator, int64_t*
      tsCol, int32_t* startPos, SDataBlockInfo* pInfo, SExtWinTimeWindow** ppWin,
      int32_t* winRows)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2214,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2215,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2228,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2229,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2230,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2242,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2242,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - pTaskInfo
    - pExtW
    - winIdx
    - resultRowSize
    - ppRes
    argTypes:
    - SExecTaskInfo*
    - SExternalWindowOperator*
    - int32_t
    - int32_t
    - SResultRow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2205
    functionDepth: 1
    functionLinenumber: 2205
    functionLinenumberEnd: 2246
    functionName: extWinGetResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - qError
    - GET_TASKID
    - memset
    - TSDB_CHECK_NULL
    - tstrerror
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetResultRow(SExecTaskInfo* pTaskInfo, SExternalWindowOperator*
      pExtW, int32_t winIdx, int32_t resultRowSize, SResultRow** ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pExtW
    - resWinIdx
    - resultRowSize
    argTypes:
    - SExternalWindowOperator*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2257
    functionName: extWinGetResultRowByIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE * extWinGetResultRowByIdx(SExternalWindowOperator* pExtW,
      int32_t resWinIdx,\n                                                         int32_t
      resultRowSize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2265,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2266,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2271,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2271,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pExtW
    - pTaskInfo
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2259
    functionDepth: 1
    functionLinenumber: 2259
    functionLinenumberEnd: 2275
    functionName: extWinInitResRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - GET_TASKID
    - TSDB_CHECK_NULL
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinInitResRows(SExternalWindowOperator* pExtW, SExecTaskInfo*
      pTaskInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetResultRowByIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2285,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2286,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2290,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2292,1
    - Dst: extWinGetResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2292,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2294,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2296,1
    - Dst: TAOS_SET_POBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2297,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2301,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2301,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2306,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - pOperator
    - win
    - pSupp
    - pAggSup
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SExtWinTimeWindow*
    - SExprSupp*
    - SAggSupporter*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2310
      start: 2278
    functionDepth: 2
    functionLinenumber: 2278
    functionLinenumberEnd: 2310
    functionName: extWinAggSetWinOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinGetResultRowByIdx
    - tstrerror
    - qError
    - qDebug
    - extWinGetCurWinIdx
    - memset
    - TAOS_SET_POBJ_ALIGNED
    - TSDB_CHECK_NULL
    - setResultRowInitCtx
    - extWinGetResultRow
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinAggSetWinOutputBuf(SOperatorInfo* pOperator, SExtWinTimeWindow*
      win, SExprSupp* pSupp, \n                                     SAggSupporter*
      pAggSup, SExecTaskInfo* pTaskInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - pOperator
    - startPos
    - forwardRows
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - int32_t
    - int32_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2312
    functionDepth: 1
    functionLinenumber: 2312
    functionLinenumberEnd: 2323
    functionName: extWinAggDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - applyAggFunctionOnPartialTuples
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinAggDo(SOperatorInfo* pOperator, int32_t startPos, int32_t
      forwardRows,\n                                  SSDataBlock* pInputBlock)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2338,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2342,1
    - Dst: listTail
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2346,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2348,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - pExtW
    argTypes:
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2325
    functionDepth: 1
    functionLinenumber: 2325
    functionLinenumberEnd: 2354
    functionName: extWinLastWinClosed
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - listNEles
    - listTail
    - taosArrayGetP
    - taosArrayGetLast
    linkageType: ''
    returnType: bool
    signature: bool extWinLastWinClosed(SExternalWindowOperator* pExtW)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2358,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2359,1
    - Dst: extWinRecycleBlockList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2360,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2356
    functionDepth: 1
    functionLinenumber: 2356
    functionLinenumberEnd: 2366
    functionName: extWinReserveGetBlockList
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinRecycleBlockList
    - taosArrayReserve
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: SList
    signature: SList ** extWinReserveGetBlockList(SExternalWindowOperator* pExtW,
      SArray* pOutputBlocks, int32_t winIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2371,1
    - Dst: extWinReserveGetBlockList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2376,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2377,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2379,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pExtW
    - winIdx
    - ppList
    argTypes:
    - SExternalWindowOperator*
    - int32_t
    - SList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2368
    functionDepth: 2
    functionLinenumber: 2368
    functionLinenumberEnd: 2386
    functionName: extWinEnsureBlockList
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tdListNew
    - extWinReserveGetBlockList
    - taosArrayGetP
    - TSDB_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinEnsureBlockList(SExternalWindowOperator* pExtW, int32_t
      winIdx, SList** ppList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2394,1
    - Dst: extWinEnsureBlockList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2394,1
    - Dst: extWinLastWinClosed
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2396,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2398,1
    - Dst: extWinEnsureBlockList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2398,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2401,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2402,1
    - Dst: extWinReserveGetBlockList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2403,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2404,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2411,1
    - Dst: extWinGetLastBlockFromList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2411,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2416,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - pOperator
    - rows
    - pWin
    - ppRes
    - ppIdx
    argTypes:
    - SOperatorInfo*
    - int32_t
    - SExtWinTimeWindow*
    - SSDataBlock**
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2388
    functionDepth: 3
    functionLinenumber: 2388
    functionLinenumberEnd: 2420
    functionName: extWinGetWinResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinLastWinClosed
    - extWinEnsureBlockList
    - qError
    - tdListNew
    - TSDB_CHECK_NULL
    - tstrerror
    - extWinGetLastBlockFromList
    - extWinReserveGetBlockList
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetWinResBlock(SOperatorInfo* pOperator, int32_t rows,
      SExtWinTimeWindow* pWin, SSDataBlock** ppRes, SArray** ppIdx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2429,1
    - Dst: extWinGetWinResBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2429,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2431,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2435,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2435,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2437,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2440,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2440,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2440,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2442,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2443,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2443,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2445,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2446,1
    - Dst: projectApplyFunctionsWithSelect
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2446,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2447,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2454,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2454,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2454,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2459,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2459,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 5
    argNames:
    - pOperator
    - pInputBlock
    - startPos
    - rows
    - pWin
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    - SExtWinTimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2422
    functionDepth: 6
    functionLinenumber: 2422
    functionLinenumberEnd: 2465
    functionName: extWinProjectDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinGetWinResBlock
    - blockDataCleanup
    - blockDataEnsureCapacity
    - TMAX
    - extWinAppendWinIdx
    - qError
    - createOneDataBlock
    - qDebug
    - projectApplyFunctionsWithSelect
    - blockDataMergeNRows
    - GET_STM_RTINFO
    - extWinGetCurWinIdx
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinProjectDo(SOperatorInfo* pOperator, SSDataBlock* pInputBlock,
      int32_t startPos, int32_t rows, SExtWinTimeWindow* pWin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinExtractTsCol
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2469,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2476,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2481,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2482,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2484,1
    - Dst: extWinProjectDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2484,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2492,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pOperator
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2467
    functionDepth: 1
    functionLinenumber: 2467
    functionLinenumberEnd: 2496
    functionName: extWinProjectOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinExtractTsCol
    - qError
    - GET_TASKID
    - qDebug
    - tstrerror
    - TAOS_CHECK_EXIT
    - extWinProjectDo
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinProjectOpen(SOperatorInfo* pOperator, SSDataBlock* pInputBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2509,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2509,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2510,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2513,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2513,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2515,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2515,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2517,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2517,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2518,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2523,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - pRes
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2498
    functionDepth: 7
    functionLinenumber: 2498
    functionLinenumberEnd: 2527
    functionName: extWinIndefRowsDoImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - blockDataEnsureCapacity
    - qError
    - GET_STM_RTINFO
    - projectApplyFunctions
    - tstrerror
    - TAOS_CHECK_EXIT
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinIndefRowsDoImpl(SOperatorInfo* pOperator, SSDataBlock*
      pRes, SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2534,1
    - Dst: extWinGetResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2534,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2536,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2539,1
    - Dst: TAOS_SET_POBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2546,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2549,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2549,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2554,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - pExtW
    - win
    - pSupp
    - pAggSup
    - pTaskInfo
    - reset
    argTypes:
    - SExternalWindowOperator*
    - SExtWinTimeWindow*
    - SExprSupp*
    - SAggSupporter*
    - SExecTaskInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2529
    functionDepth: 2
    functionLinenumber: 2529
    functionLinenumberEnd: 2558
    functionName: extWinIndefRowsSetWinOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - qDebug
    - memset
    - TAOS_SET_POBJ_ALIGNED
    - setResultRowInitCtx
    - tstrerror
    - extWinGetResultRow
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinIndefRowsSetWinOutputBuf(SExternalWindowOperator* pExtW,
      SExtWinTimeWindow* win, SExprSupp* pSupp, \n                                     SAggSupporter*
      pAggSup, SExecTaskInfo* pTaskInfo, bool reset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2566,1
    - Dst: extWinEnsureBlockList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2566,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2567,1
    - Dst: extWinIndefRowsSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2567,1
    - Dst: extWinLastWinClosed
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2569,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2571,1
    - Dst: extWinEnsureBlockList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2571,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2574,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2575,1
    - Dst: extWinReserveGetBlockList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2576,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2580,1
    - Dst: extWinIndefRowsSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2580,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2585,1
    - Dst: extWinGetLastBlockFromList
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2585,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2590,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 5
    argNames:
    - pOperator
    - rows
    - pWin
    - ppRes
    - ppIdx
    argTypes:
    - SOperatorInfo*
    - int32_t
    - SExtWinTimeWindow*
    - SSDataBlock**
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2560
    functionDepth: 3
    functionLinenumber: 2560
    functionLinenumberEnd: 2594
    functionName: extWinGetSetWinResBlockBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinLastWinClosed
    - extWinEnsureBlockList
    - qError
    - tdListNew
    - extWinIndefRowsSetWinOutputBuf
    - TSDB_CHECK_NULL
    - tstrerror
    - extWinGetLastBlockFromList
    - extWinReserveGetBlockList
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetSetWinResBlockBuf(SOperatorInfo* pOperator, int32_t
      rows, SExtWinTimeWindow* pWin, SSDataBlock** ppRes, SArray** ppIdx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2603,1
    - Dst: extWinGetSetWinResBlockBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2606,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2606,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2608,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2611,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2611,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2611,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2613,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2613,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2614,1
    - Dst: extWinIndefRowsDoImpl
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2614,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2618,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2618,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2618,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2623,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - pOperator
    - pInputBlock
    - startPos
    - rows
    - pWin
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    - SExtWinTimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2597
    functionDepth: 1
    functionLinenumber: 2597
    functionLinenumberEnd: 2627
    functionName: extWinIndefRowsDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - blockDataCleanup
    - blockDataEnsureCapacity
    - extWinGetSetWinResBlockBuf
    - TMAX
    - extWinAppendWinIdx
    - qError
    - extWinIndefRowsDoImpl
    - createOneDataBlock
    - extWinGetCurWinIdx
    - blockDataMergeNRows
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinIndefRowsDo(SOperatorInfo* pOperator, SSDataBlock* pInputBlock,
      int32_t startPos, int32_t rows, SExtWinTimeWindow* pWin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinExtractTsCol
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2632,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2639,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2644,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2645,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2647,1
    - Dst: extWinIndefRowsDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2647,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2655,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pOperator
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2630
    functionDepth: 1
    functionLinenumber: 2630
    functionLinenumberEnd: 2659
    functionName: extWinIndefRowsOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinExtractTsCol
    - qError
    - GET_TASKID
    - qDebug
    - extWinIndefRowsDo
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinIndefRowsOpen(SOperatorInfo* pOperator, SSDataBlock*
      pInputBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2664,1
    - Dst: extWinIncCurWinOutIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2669,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2670,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2676,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2677,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2681,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2686,1
    - Dst: extWinIncCurWinOutIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2688,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2699,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2699,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - pOperator
    - pExtW
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2662
    functionDepth: 1
    functionLinenumber: 2662
    functionLinenumberEnd: 2703
    functionName: extWinNonAggOutputSingleGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinIncCurWinOutIdx
    - qError
    - tdListPopHead
    - taosArrayGetSize
    - tstrerror
    - listNEles
    - TARRAY_GET_ELEM
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinNonAggOutputSingleGrpRes(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW, SSDataBlock** ppRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2712,1
    - Dst: extWinNonAggOutputSingleGrpRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2712,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2715,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2718,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2722,1
    - Dst: extWinNonAggOutputSingleGrpRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2722,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2728,1
    - Dst: extWinPostUpdateStreamRt
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2732,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2739,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2739,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - pOperator
    - pExtW
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2705
    functionDepth: 2
    functionLinenumber: 2705
    functionLinenumberEnd: 2743
    functionName: extWinNonAggOutputMultiGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinNonAggOutputSingleGrpRes
    - qError
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - tstrerror
    - extWinPostUpdateStreamRt
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinNonAggOutputMultiGrpRes(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW, SSDataBlock** ppRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2755,1
    - Dst: extWinNonAggOutputMultiGrpRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2755,1
    - Dst: extWinIncCurWinOutIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2757,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2758,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2759,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2763,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2768,1
    - Dst: extWinIncCurWinOutIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2770,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2778,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2778,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2783,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2783,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2791,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2791,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2746
    functionDepth: 3
    functionLinenumber: 2746
    functionLinenumberEnd: 2795
    functionName: extWinNonAggOutputRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinNonAggOutputMultiGrpRes
    - extWinIncCurWinOutIdx
    - qError
    - GET_TASKID
    - tdListPopHead
    - qDebug
    - tstrerror
    - listNEles
    - TAOS_CHECK_EXIT
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinNonAggOutputRes(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2814,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2814,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2818,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2820,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2821,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2822,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2824,1
    - Dst: extWinAggSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2824,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2826,1
    - Dst: extWinAggDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2827,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2829,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2836,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2836,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2839,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2839,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2843,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - allRemains
    - pWin
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - bool
    - SExtWinTimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2797
    functionDepth: 3
    functionLinenumber: 2797
    functionLinenumberEnd: 2848
    functionName: extWinAggHandleEmptyWins
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinAggDo
    - extWinAggSetWinOutputBuf
    - extWinSetCurWinIdx
    - qError
    - GET_TASKID
    - qDebug
    - extWinGetCurWinIdx
    - tstrerror
    - TAOS_CHECK_EXIT
    - updateTimeWindowInfo
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggHandleEmptyWins(SOperatorInfo* pOperator, SSDataBlock*
      pBlock, bool allRemains, SExtWinTimeWindow* pWin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: extWinExtractTsCol
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2853,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2860,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2865,1
    - Dst: extWinAggHandleEmptyWins
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2865,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2867,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2873,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2873,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2874,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2882,1
    - Dst: extWinAggSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2883,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2886,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2887,1
    - Dst: extWinAggDo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2887,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2891,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2898,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2898,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - pOperator
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2850
    functionDepth: 7
    functionLinenumber: 2850
    functionLinenumberEnd: 2902
    functionName: extWinAggOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinAggDo
    - extWinAggSetWinOutputBuf
    - extWinExtractTsCol
    - qError
    - GET_TASKID
    - extWinAggHandleEmptyWins
    - qDebug
    - extWinGetCurWinIdx
    - GET_STM_RTINFO
    - projectApplyFunctions
    - tstrerror
    - TAOS_CHECK_EXIT
    - updateTimeWindowInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggOpen(SOperatorInfo* pOperator, SSDataBlock* pInputBlock)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2918,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2923,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2930,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2943,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2943,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2945,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2946,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2948,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2953,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2953,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2967,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2967,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2968,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2969,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2972,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2973,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2973,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2977,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2977,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2993,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:2993,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 3
    argNames:
    - pOperator
    - pExtW
    - grpDone
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2904
    functionDepth: 2
    functionLinenumber: 2904
    functionLinenumberEnd: 2997
    functionName: extWinAggOutputSingleCGrpRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - doUpdateNumOfRows
    - taosArrayGet
    - copyResultrowToDataBlock
    - blockDataEnsureCapacity
    - extWinAppendWinIdx
    - qError
    - GET_TASKID
    - qDebug
    - taosArrayGetSize
    - tstrerror
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    - updateTimeWindowInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggOutputSingleCGrpRes(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW, bool* grpDone)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3010,1
    - Dst: extWinAggOutputSingleCGrpRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3010,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3013,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3016,1
    - Dst: extWinAggOutputSingleCGrpRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3016,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3021,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3028,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3028,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3028,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pOperator
    - pExtW
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 2999
    functionDepth: 3
    functionLinenumber: 2999
    functionLinenumberEnd: 3032
    functionName: extWinAggOutputMulNoOrderCGrpsRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinAggOutputSingleCGrpRes
    - qError
    - GET_TASKID
    - tSimpleHashIterate
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggOutputMulNoOrderCGrpsRes(SOperatorInfo* pOperator,
      SExternalWindowOperator* pExtW)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3043,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3047,1
    - Dst: extWinAggOutputMulNoOrderCGrpsRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3047,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3049,1
    - Dst: extWinAggOutputSingleCGrpRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3049,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3053,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3056,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3063,1
    - Dst: extWinAggOutputMulNoOrderCGrpsRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3063,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3065,1
    - Dst: extWinAggOutputSingleCGrpRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3065,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3073,1
    - Dst: extWinPostUpdateStreamRt
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3077,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3082,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3082,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3082,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - pOperator
    - pExtW
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3036
    functionDepth: 4
    functionLinenumber: 3036
    functionLinenumberEnd: 3086
    functionName: extWinAggOutputMulNoOrderTGrpsRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinAggOutputSingleCGrpRes
    - qError
    - GET_TASKID
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - tstrerror
    - extWinPostUpdateStreamRt
    - TAOS_CHECK_EXIT
    - extWinAggOutputMulNoOrderCGrpsRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggOutputMulNoOrderTGrpsRes(SOperatorInfo* pOperator,
      SExternalWindowOperator* pExtW)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3093,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3101,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3102,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3104,1
    - Dst: extWinAggOutputSingleCGrpRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3104,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3117,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3117,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pOperator
    - pExtW
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3089
    functionDepth: 3
    functionLinenumber: 3089
    functionLinenumberEnd: 3121
    functionName: extWinAggOutputMulOrderCGrpsRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinAggOutputSingleCGrpRes
    - taosArrayGet
    - qError
    - GET_TASKID
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tstrerror
    - TAOS_CHECK_EXIT
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggOutputMulOrderCGrpsRes(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3127,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3132,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3134,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3135,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3139,1
    - Dst: extWinAggOutputSingleCGrpRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3139,1
    - Dst: extWinPostUpdateStreamRt
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3149,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3154,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pOperator
    - pExtW
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3158
      start: 3123
    functionDepth: 3
    functionLinenumber: 3123
    functionLinenumberEnd: 3158
    functionName: extWinAggOutputMulOrderTGrpsRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinAggOutputSingleCGrpRes
    - taosArrayGet
    - qError
    - GET_TASKID
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tstrerror
    - extWinPostUpdateStreamRt
    - TAOS_CHECK_EXIT
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggOutputMulOrderTGrpsRes(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3164,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3169,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3172,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3173,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3177,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3180,1
    - Dst: extWinAggOutputSingleCGrpRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3180,1
    - Dst: extWinPostUpdateStreamRt
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3190,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3195,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3195,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pOperator
    - pExtW
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3160
    functionDepth: 3
    functionLinenumber: 3160
    functionLinenumberEnd: 3199
    functionName: extWinAggOutputMulOrderTCGrpsRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinAggOutputSingleCGrpRes
    - taosArrayGet
    - qError
    - GET_TASKID
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tstrerror
    - extWinPostUpdateStreamRt
    - TAOS_CHECK_EXIT
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggOutputMulOrderTCGrpsRes(SOperatorInfo* pOperator,
      SExternalWindowOperator* pExtW)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3211,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3217,1
    - Dst: extWinAggOutputMulOrderTCGrpsRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3219,1
    - Dst: extWinAggOutputMulOrderTGrpsRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3219,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3222,1
    - Dst: extWinAggOutputMulOrderCGrpsRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3222,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3226,1
    - Dst: extWinAggOutputMulNoOrderTGrpsRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3228,1
    - Dst: extWinAggOutputMulNoOrderCGrpsRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3228,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3230,1
    - Dst: extWinAggOutputSingleCGrpRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3230,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3234,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3234,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3239,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3239,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3242,1
    - Dst: extWinRebuildWinIdxByFilter
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3242,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3245,1
    - Dst: extWinAssignBlockGrpId
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3250,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3252,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3253,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3266,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3267,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3270,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3270,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3202
    functionDepth: 5
    functionLinenumber: 3202
    functionLinenumberEnd: 3274
    functionName: extWinAggOutputRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinAggOutputSingleCGrpRes
    - extWinAggOutputMulOrderCGrpsRes
    - extWinAssignBlockGrpId
    - extWinAggOutputMulOrderTCGrpsRes
    - blockDataCleanup
    - extWinRebuildWinIdxByFilter
    - qError
    - GET_TASKID
    - extWinAggOutputMulNoOrderTGrpsRes
    - qDebug
    - doFilter
    - taosMemoryFree
    - colDataDestroy
    - tstrerror
    - taosArrayClear
    - TAOS_CHECK_EXIT
    - extWinAggOutputMulNoOrderCGrpsRes
    - extWinAggOutputMulOrderTGrpsRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggOutputRes(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3280,1
    - Dst: blockDataFreeCols
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pExtW
    argTypes:
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3289
      start: 3276
    functionDepth: 1
    functionLinenumber: 3276
    functionLinenumberEnd: 3289
    functionName: extWinFreeResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - blockDataFreeCols
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void extWinFreeResultRow(SExternalWindowOperator* pExtW)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3304,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3305,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3308,1
    - Dst: listHead
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3312,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3314,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - pOperator
    - pExtW
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3291
    functionDepth: 1
    functionLinenumber: 3291
    functionLinenumberEnd: 3320
    functionName: extWinNonAggGotResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - listNEles
    - taosArrayGetP
    - taosArrayGetLast
    - listHead
    linkageType: ''
    returnType: bool
    signature: bool extWinNonAggGotResBlock(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3326,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3327,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3328,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3336,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3339,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3340,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3342,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3342,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3343,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3343,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3347,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pBlock
    - tsSlotId
    - startTs
    - endTs
    argTypes:
    - SSDataBlock*
    - col_id_t
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3349
      start: 3322
    functionDepth: 1
    functionLinenumber: 3322
    functionLinenumberEnd: 3349
    functionName: getTimeWindowOfBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - colDataGetNumData
    - taosArrayGetSize
    - tstrerror
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTimeWindowOfBlock(SSDataBlock *pBlock, col_id_t tsSlotId,
      int64_t *startTs, int64_t *endTs)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pExtW
    - pTaskInfo
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3363
      start: 3351
    functionDepth: 0
    functionLinenumber: 3351
    functionLinenumberEnd: 3363
    functionName: extWinEndClearCtxs
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extWinEndClearCtxs(SExternalWindowOperator* pExtW, SExecTaskInfo*
      pTaskInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3378,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3380,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3385,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3386,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3388,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3389,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3390,1
    - Dst: extWinInitCGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3390,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3396,1
    - Dst: extWinAggHandleEmptyWins
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3396,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3398,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3404,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - pOperator
    - pExtW
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3408
      start: 3366
    functionDepth: 4
    functionLinenumber: 3366
    functionLinenumberEnd: 3408
    functionName: extWinAggHandleMultiTGrpEmptyWins
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - qError
    - extWinInitCGrpCtx
    - extWinAggHandleEmptyWins
    - TSDB_CHECK_NULL
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggHandleMultiTGrpEmptyWins(SOperatorInfo* pOperator,
      SExternalWindowOperator* pExtW)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3428,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3432,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - pOperator
    - pExtW
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3447
      start: 3410
    functionDepth: 1
    functionLinenumber: 3410
    functionLinenumberEnd: 3447
    functionName: extWinPrepareForOutput
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArraySort
    linkageType: ''
    returnType: void
    signature: void extWinPrepareForOutput(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3453,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3454,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3459,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3460,1
    - Dst: extWinInitDynParamCGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3461,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3466,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pExtW
    argTypes:
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3470
      start: 3449
    functionDepth: 1
    functionLinenumber: 3449
    functionLinenumberEnd: 3470
    functionName: extWinEnsureDynParamOpenCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinInitDynParamCGrpCtx
    - qError
    - TSDB_CHECK_NULL
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinEnsureDynParamOpenCtx(SExternalWindowOperator* pExtW)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3473,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3491,1
    - Dst: extWinEnsureDynParamOpenCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3491,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3494,1
    - Dst: extWinInitDynParamCGrpCtx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3497,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3506,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3513,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3514,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3514,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3522,1
    - Dst: getNextBlockFromDownstreamRemainDetach
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3530,1
    - Dst: extWinAggHandleMultiTGrpEmptyWins
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3530,1
    - Dst: extWinAggHandleEmptyWins
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3531,1
    - Dst: getTimeWindowOfBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3540,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3541,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3542,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3543,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3546,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3548,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3549,1
    - Dst: extWinModeStr
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3549,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3560,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3563,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3564,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3567,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3569,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3571,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3573,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3573,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3585,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3586,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3595,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3600,1
    - Dst: extWinSwitchInitCtxs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3600,1
    - Dst: extWinResetBlockCalcState
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3605,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3609,1
    - Dst: extWinProjectOpen
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3609,1
    - Dst: extWinNonAggGotResBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3610,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3615,1
    - Dst: extWinAggOpen
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3618,1
    - Dst: extWinIndefRowsOpen
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3618,1
    - Dst: extWinNonAggGotResBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3619,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3629,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3632,1
    - Dst: extWinPrepareForOutput
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3634,1
    - Dst: extWinEndClearCtxs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3638,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3641,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3641,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3643,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 108
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3647
      start: 3472
    functionDepth: 6
    functionLinenumber: 3472
    functionLinenumberEnd: 3647
    functionName: extWinOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - QUERY_CHECK_CONDITION
    - extWinInitDynParamCGrpCtx
    - TMIN
    - qError
    - tSimpleHashGetKey
    - printDataBlock
    - taosArrayDestroy
    - extWinAggOpen
    - OPTR_SET_OPENED
    - extWinNonAggGotResBlock
    - getNextBlockFromDownstreamRemainDetach
    - extWinProjectOpen
    - qInfo
    - extWinPrepareForOutput
    - QUERY_CHECK_CODE
    - taosArrayClear
    - TAOS_CHECK_EXIT
    - extWinEndClearCtxs
    - tSimpleHashGet
    - T_LONG_JMP
    - OPTR_IS_OPENED
    - extWinEnsureDynParamOpenCtx
    - QUERY_CHECK_NULL
    - GET_TASKID
    - extWinAggHandleEmptyWins
    - getTimeWindowOfBlock
    - extWinModeStr
    - qDebug
    - extWinSwitchInitCtxs
    - extWinAggHandleMultiTGrpEmptyWins
    - tSimpleHashIterate
    - extWinIndefRowsOpen
    - freeOperatorParam
    - TMAX
    - extWinResetBlockCalcState
    - tSimpleHashGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinOpen(SOperatorInfo* pOperator)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: extWinRecycleBlkNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3665,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3669,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3669,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3673,1
    - Dst: extWinNonAggOutputRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3673,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3675,1
    - Dst: extWinFreeResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3679,1
    - Dst: extWinAggOutputRes
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3679,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3685,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3687,1
    - Dst: extWinFreeResultRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3689,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3698,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3699,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3702,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3702,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3708,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3708,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3708,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3710,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3718,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3718,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3718,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3649
    functionDepth: 1
    functionLinenumber: 3649
    functionLinenumberEnd: 3722
    functionName: extWinNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - SOperatorInfo*::fpSet::_openFn
    - qError
    - GET_TASKID
    - setOperatorCompleted
    - extWinRecycleBlkNode
    - extWinFreeResultRow
    - qDebug
    - extWinAggOutputRes
    - getStreamOpName
    - taosArrayGetSize
    - tstrerror
    - printDataBlock
    - TAOS_CHECK_EXIT
    - extWinNonAggOutputRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3736,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3741,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3742,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3749,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3759,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3762,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3763,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3764,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3772,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3772,1
    - Dst: extWinInitNonStreamWindowDataFromBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3787,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3798,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3799,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3801,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3802,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3804,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3805,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3807,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3808,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3813,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3814,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3816,1
    - Dst: checkIndefRowsFuncs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3820,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3824,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3828,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3829,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3833,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3834,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3837,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3838,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3840,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3842,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3844,1
    - Dst: extWinCreateEmptyInputBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3846,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3847,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3848,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3850,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3854,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3855,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3862,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3863,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3865,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3873,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3874,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3876,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3878,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3881,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3883,1
    - Dst: setRowTsColumnOutputInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3887,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3888,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3890,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3891,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3893,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3894,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3899,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3900,1
    - Dst: extWinInitResRows
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3932,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3933,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3935,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3937,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3938,1
    - Dst: extWinApplyNonStreamTimeRangeToDownstream
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3944,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3945,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3950,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3952,1
    - Dst: extWinModeStr
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3952,1
    - Dst: destroyExternalWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3960,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3963,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3965,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3965,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 157
    argCount: 4
    argNames:
    - pDownstream
    - pNode
    - pTaskInfo
    - pOptrOut
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3967
      start: 3733
    functionDepth: 16
    functionLinenumber: 3733
    functionLinenumberEnd: 3967
    functionName: createExternalWindowOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - appendDownstream
    - checkIndefRowsFuncs
    - setRowTsColumnOutputInfo
    - qError
    - extWinCreateEmptyInputBlock
    - TSDB_CHECK_CODE
    - createOperatorFpSet
    - setOperatorResetStateFn
    - TSDB_CHECK_NULL
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - extWinInitNonStreamWindowDataFromBlock
    - tdListNew
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - setOperatorInfo
    - initResultSizeInfo
    - destroyOperatorAndDownstreams
    - extWinApplyNonStreamTimeRangeToDownstream
    - createDataBlockFromDescNode
    - GET_TASKID
    - QUERY_CHECK_NULL
    - extWinModeStr
    - qDebug
    - tstrerror
    - nodesWalkExprs
    - destroyExternalWindowOperatorInfo
    - initExecTimeWindowInfo
    - initOperatorCostInfo
    - taosArrayInit
    - extWinInitResRows
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createExternalWindowOperator(SOperatorInfo* pDownstream, SPhysiNode*
      pNode, SExecTaskInfo* pTaskInfo,\n                                     SOperatorInfo**
      pOptrOut)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: extWinInitNonStreamWindowDataFromBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3985,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pTaskInfo
    argTypes:
    - SPhysiNode*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3986
      start: 3971
    functionDepth: 1
    functionLinenumber: 3971
    functionLinenumberEnd: 3986
    functionName: extWinPreInitFromSubquery
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinInitNonStreamWindowDataFromBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinPreInitFromSubquery(SPhysiNode* pNode, SExecTaskInfo*
      pTaskInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3993,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3994,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3995,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3996,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3997,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:3998,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4001,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4003,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4004,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4007,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4008,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4009,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4010,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4013,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4015,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - pBlock
    - ppStartCol
    - ppEndCol
    - pNumRows
    - pNumCols
    argTypes:
    - SSDataBlock*
    - SColumnInfoData**
    - SColumnInfoData**
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4024
      start: 3988
    functionDepth: 1
    functionLinenumber: 3988
    functionLinenumberEnd: 4024
    functionName: extWinValidateNonStreamBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinValidateNonStreamBlock(SSDataBlock* pBlock, SColumnInfoData**
      ppStartCol,\n                                            SColumnInfoData** ppEndCol,
      int32_t* pNumRows, int32_t* pNumCols)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - hasPrevStart
    - prevStart
    - currStart
    - row
    argTypes:
    - bool
    - int64_t
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4035
      start: 4026
    functionDepth: 1
    functionLinenumber: 4026
    functionLinenumberEnd: 4035
    functionName: extWinCheckMonotonicWstart
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinCheckMonotonicWstart(bool hasPrevStart, int64_t prevStart,
      int64_t currStart, int32_t row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4039,1
    - Dst: valueClearDatum
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4040,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4042
      start: 4037
    functionDepth: 1
    functionLinenumber: 4037
    functionLinenumberEnd: 4042
    functionName: extWinDestroyExternalDataValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - valueClearDatum
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void extWinDestroyExternalDataValue(void* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4048,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4049,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4050,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4051,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4052,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4055,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4065,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4066,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4067,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4068,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4068,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4069,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4070,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4071,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4072,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4074,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4080,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4080,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4087,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - pBlock
    - numCols
    - row
    - ppExternalData
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4090
      start: 4044
    functionDepth: 1
    functionLinenumber: 4044
    functionLinenumberEnd: 4090
    functionName: extWinBuildExternalWindowDataForRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - colDataGetData
    - taosArrayDestroyEx
    - TSDB_CHECK_NULL
    - taosArrayInit
    - colDataIsNull_s
    - calcStrBytesByType
    - valueSetDatum
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinBuildExternalWindowDataForRow(SSDataBlock* pBlock, int32_t
      numCols, int32_t row,\n                                                   SArray**
      ppExternalData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4096,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4097,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4098,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4099,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4103,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4104,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4107,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4112,1
    - Dst: extWinBuildExternalWindowDataForRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - pBlock
    - pStartCol
    - pEndCol
    - numCols
    - row
    - pParam
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - SSTriggerCalcParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4116
      start: 4092
    functionDepth: 2
    functionLinenumber: 4092
    functionLinenumberEnd: 4116
    functionName: extWinBuildTriggerParamForRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinBuildExternalWindowDataForRow
    - colDataGetData
    - TSDB_CHECK_NULL
    - TAOS_CHECK_EXIT
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinBuildTriggerParamForRow(SSDataBlock* pBlock, SColumnInfoData*
      pStartCol, SColumnInfoData* pEndCol,\n                                             int32_t
      numCols, int32_t row, SSTriggerCalcParam* pParam)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4128
      start: 4122
    functionDepth: 0
    functionLinenumber: 4122
    functionLinenumberEnd: 4128
    functionName: extWinGetRemoteResultGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t extWinGetRemoteResultGroupId(const SSDataBlock* pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4135,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4137,1
    - Dst: extWinGetRemoteResultGroupId
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pBlocks
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4148
      start: 4130
    functionDepth: 1
    functionLinenumber: 4130
    functionLinenumberEnd: 4148
    functionName: hasGroupedRemoteResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - extWinGetRemoteResultGroupId
    linkageType: ''
    returnType: bool
    signature: bool hasGroupedRemoteResult(SArray* pBlocks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinCheckMonotonicWstart
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4154,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - pRt
    - pParam
    - pHasPrevStart
    - pPrevStart
    - row
    argTypes:
    - SStreamRuntimeFuncInfo*
    - SSTriggerCalcParam*
    - bool*
    - int64_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4168
      start: 4150
    functionDepth: 2
    functionLinenumber: 4150
    functionLinenumberEnd: 4168
    functionName: extWinAppendNonGroupedCalcParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - extWinCheckMonotonicWstart
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinAppendNonGroupedCalcParam(SStreamRuntimeFuncInfo* pRt,
      SSTriggerCalcParam* pParam,\n                                               bool*
      pHasPrevStart, int64_t* pPrevStart, int32_t row)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4174,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4178,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4181,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4181,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4183,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pRt
    - groupId
    - ppGroupInfo
    argTypes:
    - SStreamRuntimeFuncInfo*
    - uint64_t
    - SSTriggerGroupCalcInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4191
      start: 4170
    functionDepth: 1
    functionLinenumber: 4170
    functionLinenumberEnd: 4191
    functionName: extWinGetOrCreateGroupedCalcInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashPut
    - TSDB_CHECK_NULL
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinGetOrCreateGroupedCalcInfo(SStreamRuntimeFuncInfo* pRt,
      uint64_t groupId,\n                                                SSTriggerGroupCalcInfo**
      ppGroupInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4201,1
    - Dst: extWinGetOrCreateGroupedCalcInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4201,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4203,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4205,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4206,1
    - Dst: extWinCheckMonotonicWstart
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4212,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - pRt
    - groupId
    - pParam
    - row
    argTypes:
    - SStreamRuntimeFuncInfo*
    - uint64_t
    - SSTriggerCalcParam*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4219
      start: 4193
    functionDepth: 2
    functionLinenumber: 4193
    functionLinenumberEnd: 4219
    functionName: extWinAppendGroupedCalcParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGetLast
    - extWinGetOrCreateGroupedCalcInfo
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - TAOS_CHECK_EXIT
    - extWinCheckMonotonicWstart
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinAppendGroupedCalcParam(SStreamRuntimeFuncInfo* pRt,
      uint64_t groupId, SSTriggerCalcParam* pParam,\n                                            int32_t
      row)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4232,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4235,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4236,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4238,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4240,1
    - Dst: extWinValidateNonStreamBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4240,1
    - Dst: extWinGetRemoteResultGroupId
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4242,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4250,1
    - Dst: extWinBuildTriggerParamForRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4250,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4252,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4253,1
    - Dst: extWinAppendNonGroupedCalcParam
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4255,1
    - Dst: tDestroySSTriggerCalcParam
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4257,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - pBlocks
    - pRt
    - pExtWinTimeRange
    argTypes:
    - SArray*
    - SStreamRuntimeFuncInfo*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4265
      start: 4221
    functionDepth: 3
    functionLinenumber: 4221
    functionLinenumberEnd: 4265
    functionName: extWinBuildNonGroupedCalcInfosFromBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinGetRemoteResultGroupId
    - TMAX
    - TMIN
    - extWinValidateNonStreamBlock
    - extWinAppendNonGroupedCalcParam
    - tDestroySSTriggerCalcParam
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - TAOS_CHECK_EXIT
    - extWinBuildTriggerParamForRow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinBuildNonGroupedCalcInfosFromBlocks(SArray* pBlocks,
      SStreamRuntimeFuncInfo* pRt,\n                                                        STimeWindow*
      pExtWinTimeRange)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4275,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4278,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4279,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4281,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4283,1
    - Dst: extWinValidateNonStreamBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4283,1
    - Dst: extWinGetRemoteResultGroupId
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4285,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4288,1
    - Dst: extWinBuildTriggerParamForRow
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4288,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4290,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4291,1
    - Dst: extWinAppendGroupedCalcParam
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4293,1
    - Dst: tDestroySSTriggerCalcParam
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pBlocks
    - pRt
    - pExtWinTimeRange
    argTypes:
    - SArray*
    - SStreamRuntimeFuncInfo*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4303
      start: 4267
    functionDepth: 3
    functionLinenumber: 4267
    functionLinenumberEnd: 4303
    functionName: extWinBuildGroupedCalcInfosFromBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinGetRemoteResultGroupId
    - TMAX
    - TMIN
    - extWinValidateNonStreamBlock
    - tDestroySSTriggerCalcParam
    - extWinAppendGroupedCalcParam
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - TAOS_CHECK_EXIT
    - extWinBuildTriggerParamForRow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinBuildGroupedCalcInfosFromBlocks(SArray* pBlocks, SStreamRuntimeFuncInfo*
      pRt,\n                                                     STimeWindow* pExtWinTimeRange)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4311,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4312,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4313,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4316,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4319,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4320,1
    - Dst: extWinGetSSDataBlocksInTest
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4336,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4337,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4343,1
    - Dst: qFetchRemoteNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4343,1
    - Dst: hasGroupedRemoteResult
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4352,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4359,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4360,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4362,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4366,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4371,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4371,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4372,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4373,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4377,1
    - Dst: extWinBuildGroupedCalcInfosFromBlocks
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4377,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4381,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4384,1
    - Dst: extWinBuildNonGroupedCalcInfosFromBlocks
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4384,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4391,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4392,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4393,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4393,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4394,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4395,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4398,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4399,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4399,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4405,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4406,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4408,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4411,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 3
    argNames:
    - pPhynode
    - pTaskInfo
    - pTimeRange
    argTypes:
    - SExternalWindowPhysiNode*
    - SExecTaskInfo*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4414
      start: 4305
    functionDepth: 4
    functionLinenumber: 4305
    functionLinenumberEnd: 4414
    functionName: extWinInitNonStreamWindowDataFromBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 3
    functionsReached:
    - nodeType
    - tSimpleHashSetFreeFp
    - TSDB_CHECK_NULL
    - taosArrayDestroy
    - taosArrayGet
    - extWinBuildGroupedCalcInfosFromBlocks
    - qInfo
    - extWinGetSSDataBlocksInTest
    - tSimpleHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - taosArrayClearEx
    - GET_TASKID
    - hasGroupedRemoteResult
    - tSimpleHashCleanup
    - qDebug
    - qFetchRemoteNode
    - extWinBuildNonGroupedCalcInfosFromBlocks
    - tSimpleHashGetSize
    - taosArrayInit
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinInitNonStreamWindowDataFromBlock(SExternalWindowPhysiNode*
      pPhynode, SExecTaskInfo* pTaskInfo, STimeWindow* pTimeRange)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4420,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4426,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4427,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4429,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4433,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4434,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4436,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4440,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4441,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4443,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4447,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4448,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4450,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4455,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4457,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4462,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4463,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4464,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4465,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4467,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4477,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4479,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4482,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4484,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4487,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4489,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4492,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4494,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4505,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4507,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4510,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4512,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4515,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4517,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4520,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4522,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4531
      start: 4418
    functionDepth: 1
    functionLinenumber: 4418
    functionLinenumberEnd: 4531
    functionName: mockSSDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - blockDataEnsureCapacity
    - createColumnInfoData
    - colDataSetVal
    - createDataBlock
    - blockDataAppendColInfo
    - blockDataDestroy
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * mockSSDataBlock()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4540,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4542,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4543,1
    - Dst: mockSSDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4545,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4546,1
    - Dst: mockSSDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4550,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4551,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4555,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4556,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4557,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4558,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4559,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4560,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4561,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4562,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4565,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4566,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4567,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4568,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4575,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4576,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4576,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4577,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4578,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4578,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4581,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4581,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4582,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4582,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4589,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4592,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4595,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - ppBlocks
    argTypes:
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4598
      start: 4533
    functionDepth: 2
    functionLinenumber: 4533
    functionLinenumberEnd: 4598
    functionName: extWinMockSSDataBlocksWithGroups
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - colDataGetData
    - mockSSDataBlock
    - colDataSetVal
    - taosArrayDestroy
    - taosArrayInit
    - TSDB_CHECK_NULL
    - TAOS_CHECK_EXIT
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinMockSSDataBlocksWithGroups(SArray** ppBlocks)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4615,1
    - Dst: tNameGetDbNameP
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4617,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4623,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4625,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4635,1
    - Dst: extWinDetectTestMockModeFromPhysiNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4636,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SPhysiNode*
    - SExtWinTestMockCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4642
      start: 4610
    functionDepth: 1
    functionLinenumber: 4610
    functionLinenumberEnd: 4642
    functionName: extWinDetectTestMockModeFromPhysiNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 1
    functionsReached:
    - tNameGetDbNameP
    - strcasecmp
    - nodeType
    - FOREACH
    - extWinDetectTestMockModeFromPhysiNode
    linkageType: ''
    returnType: bool
    signature: bool extWinDetectTestMockModeFromPhysiNode(SPhysiNode* pNode, SExtWinTestMockCtx*
      pCtx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4654,1
    - Dst: extWinDetectTestMockModeFromPhysiNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4655,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4661,1
    - Dst: mockSSDataBlock
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4667,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4669,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4673,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4674,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4675,1
    - Dst: extWinMockSSDataBlocksWithGroups
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4684,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4685,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4689,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4690,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4690,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4692,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4696,1
    - Dst: qFetchRemoteNode
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4696,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4702,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/externalwindowoperator.c:4702,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - pPhynode
    argTypes:
    - SExternalWindowPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4706
      start: 4644
    functionDepth: 3
    functionLinenumber: 4644
    functionLinenumberEnd: 4706
    functionName: extWinGetSSDataBlocksInTest
    functionSourceFile: /src/tdengine/source/libs/executor/src/externalwindowoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - mockSSDataBlock
    - qError
    - extWinMockSSDataBlocksWithGroups
    - TAOS_CHECK_EXIT
    - nodeType
    - FOREACH
    - qFetchRemoteNode
    - taosArrayInit
    - tstrerror
    - taosArrayDestroy
    - blockDataDestroy
    - extWinDetectTestMockModeFromPhysiNode
    linkageType: ''
    returnType: SArray
    signature: SArray * extWinGetSSDataBlocksInTest(SExternalWindowPhysiNode* pPhynode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:95,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:96,1
    - Dst: tdListAppendNode
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:99,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:102,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:102,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:103,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:103,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:103,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:104,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:107,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:107,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:117,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:117,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - pExtW
    - pList
    - rows
    - ppBlock
    - ppIdx
    argTypes:
    - SExternalWindowOperator*
    - SList*
    - int32_t
    - SSDataBlock**
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: extWinBlockListAddBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - tdListAppend
    - tstrerror
    - blockDataEnsureCapacity
    - TMAX
    - tdListAppendNode
    - qError
    - createOneDataBlock
    - taosArrayInit
    - TSDB_CHECK_NULL
    - listNEles
    - TAOS_CHECK_EXIT
    - blockDataDestroy
    - tdListPopHead
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinBlockListAddBlock(SExternalWindowOperator* pExtW, SList*
      pList, int32_t rows, SSDataBlock** ppBlock, SArray** ppIdx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_TAIL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:128,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:130,1
    - Dst: extWinBlockListAddBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:136,1
    - Dst: extWinBlockListAddBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:136,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - pExtW
    - pList
    - rows
    - ppBlock
    - ppIdx
    argTypes:
    - SExternalWindowOperator*
    - SList*
    - int32_t
    - SSDataBlock**
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 151
    functionName: extWinGetLastBlockFromList
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 2
    functionsReached:
    - qError
    - extWinBlockListAddBlock
    - TD_DLIST_TAIL
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetLastBlockFromList(SExternalWindowOperator* pExtW,
      SList* pList, int32_t rows, SSDataBlock** ppBlock, SArray** ppIdx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:160,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:161,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:164,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:166,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:169,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: extWinDestroyBlockList
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - TD_DLIST_HEAD
    - TD_DLIST_NELES
    - taosMemoryFree
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void extWinDestroyBlockList(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:184,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:185,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:186,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:187,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:192,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:193,1
    - Dst: tdListPrependNode
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pExtW
    - ppNode
    argTypes:
    - SExternalWindowOperator*
    - SListNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 197
    functionName: extWinRecycleBlkNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 3
    functionsReached:
    - taosMemoryFreeClear
    - tdListPrependNode
    - blockDataCleanup
    - listNEles
    - taosArrayDestroy
    - blockDataDestroy
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: void extWinRecycleBlkNode(SExternalWindowOperator* pExtW, SListNode**
      ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_DLIST_NELES
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:206,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:207,1
    - Dst: extWinRecycleBlkNode
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:211,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pExtW
    - p
    argTypes:
    - SExternalWindowOperator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: extWinRecycleBlockList
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - TD_DLIST_HEAD
    - extWinRecycleBlkNode
    - taosMemoryFree
    - TD_DLIST_NELES
    linkageType: ''
    returnType: void
    signature: void extWinRecycleBlockList(SExternalWindowOperator* pExtW, void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:224,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:225,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pInfo
    - pNode
    argTypes:
    - SExternalWindowOperator*
    - SListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: extWinDestroyBlkNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - blockDataDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void extWinDestroyBlkNode(SExternalWindowOperator* pInfo, SListNode*
      pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:238,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:240,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:241,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:242,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:243,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:245,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:246,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:247,1
    - Dst: extWinDestroyBlkNode
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:249,1
    - Dst: TD_DLIST_HEAD
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:252,1
    - Dst: TD_DLIST_POP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:253,1
    - Dst: extWinDestroyBlkNode
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:254,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:256,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:259,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:260,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:261,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:263,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:265,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 270
    functionName: destroyExternalWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 2
    functionsReached:
    - TD_DLIST_HEAD
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - TD_DLIST_POP
    - cleanupBasicInfo
    - cleanupAggSup
    - qDebug
    - taosMemoryFree
    - cleanupExprSupp
    - colDataDestroy
    - taosArrayDestroy
    - blockDataDestroy
    - extWinDestroyBlkNode
    - tdListFree
    linkageType: ''
    returnType: void
    signature: void destroyExternalWindowOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyExternalWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:283,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: destroyMergeAlignedExternalWindowOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - destroyExternalWindowOperatorInfo
    linkageType: ''
    returnType: void
    signature: void destroyMergeAlignedExternalWindowOperator(void* pOperator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:291,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:294,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:299,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:301,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:301,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pBlock
    - primaryTsIndex
    - pTaskInfo
    argTypes:
    - SSDataBlock*
    - int32_t
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 309
    functionName: extWinExtractTsCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 5
    functionsReached:
    - T_LONG_JMP
    - taosArrayGet
    - qError
    - blockDataUpdateTsWindow
    - tstrerror
    linkageType: ''
    returnType: int64_t
    signature: int64_t * extWinExtractTsCol(SSDataBlock* pBlock, int32_t primaryTsIndex,
      SExecTaskInfo* pTaskInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: extWinGetCurWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetCurWinIdx(SExecTaskInfo* pTaskInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: extWinIncCurWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extWinIncCurWinIdx(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: extWinSetCurWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extWinSetCurWinIdx(SOperatorInfo* pOperator, int32_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pStreamRuntimeInfo
    argTypes:
    - SStreamRuntimeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: extWinIncCurWinOutIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extWinIncCurWinOutIdx(SStreamRuntimeInfo* pStreamRuntimeInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:337,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pExtW
    - pTaskInfo
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: extWinGetNextWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - extWinGetCurWinIdx
    - taosArrayGet
    linkageType: ''
    returnType: STimeWindow
    signature: STimeWindow * extWinGetNextWin(SExternalWindowOperator* pExtW, SExecTaskInfo*
      pTaskInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:345,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:359,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:359,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:364,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - pTaskInfo
    - pIdx
    - pBlock
    - currWinIdx
    - rows
    argTypes:
    - SExecTaskInfo*
    - SArray*
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 368
    functionName: extWinAppendWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 5
    functionsReached:
    - taosArrayPush
    - taosArrayGetLast
    - qError
    - TSDB_CHECK_NULL
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAppendWinIdx(SExecTaskInfo*       pTaskInfo, SArray*
      pIdx, SSDataBlock* pBlock, int32_t currWinIdx, int32_t rows)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:375,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:379,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:380,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:381,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:386,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:393,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:399,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:399,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:400,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:400,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:421,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:421,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:426,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:427,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:429,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:430,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:431,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:435,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:437,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:437,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - pTaskInfo
    - pIdx
    - rowsBeforeFilter
    - pFilterRes
    argTypes:
    - SExecTaskInfo*
    - SArray*
    - int32_t
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 440
    functionName: extWinRebuildWinIdxByFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - memcpy
    - taosArrayGet
    - tstrerror
    - TMAX
    - TMIN
    - qError
    - taosArrayReserve
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - taosArrayInit
    - taosArrayClear
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinRebuildWinIdxByFilter(SExecTaskInfo* pTaskInfo, SArray*
      pIdx, int32_t rowsBeforeFilter,\n                                           SColumnInfoData*
      pFilterRes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNewResultRow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:446,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:448,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:448,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:455,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - pOperator
    - pResultRowInfo
    - pWin
    - pResult
    - pExprSup
    - pAggSup
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - STimeWindow*
    - SResultRow**
    - SExprSupp*
    - SAggSupporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 458
    functionName: mergeAlignExtWinSetOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 2
    functionsReached:
    - qError
    - extWinGetCurWinIdx
    - getNewResultRow
    - setResultRowInitCtx
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mergeAlignExtWinSetOutputBuf(SOperatorInfo* pOperator, SResultRowInfo*
      pResultRowInfo, const STimeWindow* pWin, SResultRow** pResult,\n                                       SExprSupp*
      pExprSup, SAggSupporter* pAggSup)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:462,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:466,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:468,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:472,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pOperator
    - pExtW
    - ts
    - ppWin
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    - TSKEY
    - STimeWindow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 479
    functionName: mergeAlignExtWinGetWinFromTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 2
    functionsReached:
    - extWinSetCurWinIdx
    - extWinGetCurWinIdx
    - qError
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAlignExtWinGetWinFromTs(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW, TSKEY ts, STimeWindow** ppWin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:488,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:491,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:491,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:497,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pOperator
    - pResultRowInfo
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 501
    functionName: mergeAlignExtWinFinalizeResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 3
    functionsReached:
    - extWinAppendWinIdx
    - qError
    - finalizeResultRows
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAlignExtWinFinalizeResult(SOperatorInfo* pOperator, SResultRowInfo*
      pResultRowInfo, SSDataBlock* pResultBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: extWinExtractTsCol
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:513,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:514,1
    - Dst: mergeAlignExtWinGetWinFromTs
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:516,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:518,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:518,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:519,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:523,1
    - Dst: mergeAlignExtWinFinalizeResult
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:523,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:527,1
    - Dst: mergeAlignExtWinSetOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:527,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:535,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:537,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:537,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:540,1
    - Dst: mergeAlignExtWinFinalizeResult
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:540,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:541,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:543,1
    - Dst: mergeAlignExtWinGetWinFromTs
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:543,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:548,1
    - Dst: mergeAlignExtWinSetOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:548,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:553,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:559,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:559,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:560,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - pOperator
    - pResultRowInfo
    - pBlock
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 564
    functionName: mergeAlignExtWinAggDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - resetResultRow
    - mergeAlignExtWinFinalizeResult
    - getStartTsKey
    - applyAggFunctionOnPartialTuples
    - T_LONG_JMP
    - mergeAlignExtWinSetOutputBuf
    - extWinExtractTsCol
    - qError
    - mergeAlignExtWinGetWinFromTs
    - qDebug
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAlignExtWinAggDo(SOperatorInfo* pOperator, SResultRowInfo*
      pResultRowInfo, SSDataBlock* pBlock, SSDataBlock* pResultBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinExtractTsCol
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:568,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:578,1
    - Dst: mergeAlignExtWinGetWinFromTs
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:578,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:579,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:579,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:579,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:587,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pOperator
    - pInput
    - pResult
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 591
    functionName: mergeAlignExtWinBuildWinRowIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - extWinExtractTsCol
    - extWinAppendWinIdx
    - qError
    - mergeAlignExtWinGetWinFromTs
    - extWinGetCurWinIdx
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAlignExtWinBuildWinRowIdx(SOperatorInfo* pOperator, SSDataBlock*
      pInput, SSDataBlock* pResult)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:599,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:599,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:602,1
    - Dst: mergeAlignExtWinBuildWinRowIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:602,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:607,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pOperator
    - pResultRowInfo
    - pBlock
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 593
    functionDepth: 7
    functionLinenumber: 593
    functionLinenumberEnd: 611
    functionName: mergeAlignExtWinProjectDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - mergeAlignExtWinBuildWinRowIdx
    - qError
    - GET_STM_RTINFO
    - projectApplyFunctions
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mergeAlignExtWinProjectDo(SOperatorInfo* pOperator, SResultRowInfo*
      pResultRowInfo, SSDataBlock* pBlock,\n                                            SSDataBlock*
      pResultBlock)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:623,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:624,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:627,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:632,1
    - Dst: mergeAlignExtWinFinalizeResult
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:632,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:634,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:639,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:640,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:642,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:646,1
    - Dst: mergeAlignExtWinProjectDo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:648,1
    - Dst: mergeAlignExtWinAggDo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:648,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:661,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:661,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:663,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 665
    functionName: mergeAlignExtWinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - mergeAlignExtWinFinalizeResult
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - tstrerror
    - blockDataCleanup
    - mergeAlignExtWinAggDo
    - qError
    - setOperatorCompleted
    - qDebug
    - QUERY_CHECK_CODE
    - mergeAlignExtWinProjectDo
    - taosArrayClear
    - printDataBlock
    - TAOS_CHECK_EXIT
    - setInputDataBlock
    linkageType: ''
    returnType: void
    signature: void mergeAlignExtWinDo(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:680,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:682,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:683,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:684,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:688,1
    - Dst: mergeAlignExtWinDo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:696,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:704,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:704,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 709
    functionName: mergeAlignExtWinNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - taosArrayGet
    - blockDataCleanup
    - qError
    - taosArrayReserve
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tstrerror
    - mergeAlignExtWinDo
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAlignExtWinNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:718,1
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:720,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:724,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:728,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 732
    functionName: resetMergeAlignedExtWinOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - initExecTimeWindowInfo
    - resetAggSup
    - resetBasicOperatorState
    - colDataDestroy
    - taosArrayClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetMergeAlignedExtWinOperator(SOperatorInfo* pOperator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:739,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:740,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:750,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:752,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:770,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:774,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:775,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:778,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:780,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:783,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:784,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:785,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:787,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:788,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:790,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:791,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:793,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:794,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:795,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:796,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:797,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:800,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:802,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:803,1
    - Dst: destroyMergeAlignedExternalWindowOperator
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:808,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:809,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 4
    argNames:
    - pDownstream
    - pNode
    - pTaskInfo
    - ppOptrOut
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 812
    functionName: createStreamMergeAlignedExternalWindowOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - appendDownstream
    - createOperatorFpSet
    - setOperatorResetStateFn
    - TSDB_CHECK_NULL
    - destroyMergeAlignedExternalWindowOperator
    - initAggSup
    - initBasicInfo
    - createExprInfo
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - taosArrayInit
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamMergeAlignedExternalWindowOperator(SOperatorInfo*
      pDownstream, SPhysiNode* pNode,\n                                                       SExecTaskInfo*
      pTaskInfo, SOperatorInfo** ppOptrOut)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupExprSuppWithoutFilter
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:818,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:827,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:828,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:829,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:830,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:834,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pExtW
    - pTaskInfo
    - pPhynode
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    - SExternalWindowPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 838
    functionName: resetExternalWindowExprSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - qError
    - createExprInfo
    - initExprSupp
    - QUERY_CHECK_CODE
    - tstrerror
    - cleanupExprSuppWithoutFilter
    linkageType: ''
    returnType: int32_t
    signature: "int32_t resetExternalWindowExprSupp(SExternalWindowOperator* pExtW,
      SExecTaskInfo* pTaskInfo,\n                                           SExternalWindowPhysiNode*
      pPhynode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:848,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:853,1
    - Dst: extWinRecycleBlkNode
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:854,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:864,1
    - Dst: resetExternalWindowExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:864,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:865,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:866,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:866,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:873,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:880,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 840
    functionDepth: 2
    functionLinenumber: 840
    functionLinenumberEnd: 884
    functionName: resetExternalWindowOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - initExecTimeWindowInfo
    - qError
    - extWinRecycleBlkNode
    - qDebug
    - colDataDestroy
    - tstrerror
    - taosArrayClear
    - initResultRowInfo
    - TAOS_CHECK_EXIT
    - resetExternalWindowExprSupp
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetExternalWindowOperator(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:887,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:889,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:889,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - res
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 895
    functionName: extWinHasCountLikeFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsCountLikeFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes extWinHasCountLikeFunc(SNode* pNode, void* res)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:912,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:931,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:933,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:934,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:937,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:938,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:947,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:948,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:950,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:951,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:952,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:953,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:959,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:960,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:960,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - pOperator
    - ppBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 963
    functionName: extWinCreateEmptyInputBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - colDataSetNULL
    - taosArrayGet
    - blockDataEnsureCapacity
    - qError
    - QUERY_CHECK_NULL
    - blockDataDestroy
    - createDataBlock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataGetNumOfCols
    - taosArrayEnsureCap
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinCreateEmptyInputBlock(SOperatorInfo* pOperator, SSDataBlock**
      ppBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 978
    functionName: extWinTsWinCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int extWinTsWinCompare(const void* pLeft, const void* pRight)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:982,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:992,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - pOperator
    - pExtW
    - tsCol
    - rowNum
    - startPos
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    - int64_t*
    - int64_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1005
    functionName: extWinGetMultiTbWinFromTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - TARRAY_GET_ELEM
    - taosArraySearchIdx
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetMultiTbWinFromTs(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW, int64_t* tsCol, int64_t rowNum, int32_t* startPos)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1010,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1011,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1017,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1023,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1024,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1029,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1031,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1032,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1039,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1039,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1043,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1050,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1053,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1055,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1056,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1062,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1065,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1067,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1068,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1081,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1082,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 6
    argNames:
    - pOperator
    - tsCol
    - startPos
    - pInfo
    - ppWin
    - winRows
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - int32_t*
    - SDataBlockInfo*
    - SExtWinTimeWindow**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1086
    functionName: extWinGetNoOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinSetCurWinIdx
    - GET_TASKID
    - qDebug
    - extWinGetCurWinIdx
    - getNumOfRowsInTimeWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetNoOvlpWin(SOperatorInfo* pOperator, int64_t* tsCol,
      int32_t* startPos, SDataBlockInfo* pInfo, SExtWinTimeWindow** ppWin, int32_t*
      winRows)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1097,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1098,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1103,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1105,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1106,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1113,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1113,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1117,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1125,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1128,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1130,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1131,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1153,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 6
    argNames:
    - pOperator
    - tsCol
    - startPos
    - pInfo
    - ppWin
    - winRows
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - int32_t*
    - SDataBlockInfo*
    - SExtWinTimeWindow**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1158
    functionName: extWinGetOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinSetCurWinIdx
    - GET_TASKID
    - qDebug
    - getNumOfRowsInTimeWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetOvlpWin(SOperatorInfo* pOperator, int64_t* tsCol,
      int32_t* startPos, SDataBlockInfo* pInfo, SExtWinTimeWindow** ppWin, int32_t*
      winRows)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1164,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1165,1
    - Dst: extWinGetMultiTbWinFromTs
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1171,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1173,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1174,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1179,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1180,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1181,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1183,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1184,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1192,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1193,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1198,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1200,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1201,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1208,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1208,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1212,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1219,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1222,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1224,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1225,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1231,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1234,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1236,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1237,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1250,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1251,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 6
    argNames:
    - pOperator
    - tsCol
    - startPos
    - pInfo
    - ppWin
    - winRows
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - int32_t*
    - SDataBlockInfo*
    - SExtWinTimeWindow**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1161
    functionDepth: 1
    functionLinenumber: 1161
    functionLinenumberEnd: 1255
    functionName: extWinGetMultiTbNoOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinSetCurWinIdx
    - GET_TASKID
    - qDebug
    - getNumOfRowsInTimeWindow
    - extWinGetMultiTbWinFromTs
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetMultiTbNoOvlpWin(SOperatorInfo* pOperator, int64_t*
      tsCol, int32_t* startPos, SDataBlockInfo* pInfo, SExtWinTimeWindow** ppWin,
      int32_t* winRows)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1260,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1263,1
    - Dst: extWinTsWinCompare
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1264,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - pOperator
    - pExtW
    - tsCol
    - rowNum
    - startPos
    argTypes:
    - SOperatorInfo*
    - SExternalWindowOperator*
    - int64_t*
    - int64_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1291
    functionName: extWinGetFirstWinFromTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - TARRAY_GET_ELEM
    - extWinTsWinCompare
    - taosArraySearchIdx
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinGetFirstWinFromTs(SOperatorInfo* pOperator, SExternalWindowOperator*
      pExtW, int64_t* tsCol,\n                                       int64_t rowNum,
      int32_t* startPos)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetFirstWinFromTs
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1296,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1298,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1299,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1304,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1305,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1306,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1308,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1309,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1317,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1323,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1325,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1326,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1333,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1333,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1337,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1345,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1348,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1350,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1351,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1364,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1365,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 6
    argNames:
    - pOperator
    - tsCol
    - startPos
    - pInfo
    - ppWin
    - winRows
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - int32_t*
    - SDataBlockInfo*
    - SExtWinTimeWindow**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1293
    functionDepth: 1
    functionLinenumber: 1293
    functionLinenumberEnd: 1369
    functionName: extWinGetMultiTbOvlpWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - extWinSetCurWinIdx
    - GET_TASKID
    - qDebug
    - getNumOfRowsInTimeWindow
    - extWinGetFirstWinFromTs
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetMultiTbOvlpWin(SOperatorInfo* pOperator, int64_t*
      tsCol, int32_t* startPos, SDataBlockInfo* pInfo, SExtWinTimeWindow** ppWin,
      int32_t* winRows)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 6
    argNames:
    - win
    - pBlockInfo
    - lastEndPos
    - order
    - nextPos
    - tsCol
    argTypes:
    - STimeWindow
    - SDataBlockInfo*
    - int32_t
    - int32_t
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1391
    functionName: extWinGetWinStartPos
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetWinStartPos(STimeWindow win, const SDataBlockInfo*
      pBlockInfo, int32_t lastEndPos, int32_t order, int32_t* nextPos, int64_t* tsCol)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doSetResultOutBufByKey
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1400,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1403,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1403,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1407,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1407,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1415,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1419,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1421,1
    - Dst: TAOS_SET_POBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1422,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1427,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1427,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - pOperator
    - win
    - pSupp
    - pAggSup
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SExtWinTimeWindow*
    - SExprSupp*
    - SAggSupporter*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1393
    functionDepth: 3
    functionLinenumber: 1393
    functionLinenumberEnd: 1436
    functionName: extWinAggSetWinOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 2
    functionsReached:
    - qError
    - qDebug
    - extWinGetCurWinIdx
    - memset
    - TAOS_SET_POBJ_ALIGNED
    - tSimpleHashGetSize
    - setResultRowInitCtx
    - tstrerror
    - TAOS_CHECK_EXIT
    - doSetResultOutBufByKey
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinAggSetWinOutputBuf(SOperatorInfo* pOperator, SExtWinTimeWindow*
      win, SExprSupp* pSupp, \n                                     SAggSupporter*
      pAggSup, SExecTaskInfo* pTaskInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - pOperator
    - startPos
    - forwardRows
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - int32_t
    - int32_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1449
    functionName: extWinAggDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 2
    functionsReached:
    - applyAggFunctionOnPartialTuples
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinAggDo(SOperatorInfo* pOperator, int32_t startPos, int32_t
      forwardRows,\n                                  SSDataBlock* pInputBlock)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1460,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1461,1
    - Dst: listTail
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1465,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1467,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - pExtW
    argTypes:
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1473
    functionName: extWinLastWinClosed
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 2
    functionsReached:
    - listNEles
    - listTail
    - taosArrayGetP
    - taosArrayGetLast
    linkageType: ''
    returnType: bool
    signature: bool extWinLastWinClosed(SExternalWindowOperator* pExtW)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1481,1
    - Dst: extWinLastWinClosed
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1483,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1485,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1488,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1489,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1490,1
    - Dst: extWinRecycleBlockList
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1491,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1496,1
    - Dst: extWinGetLastBlockFromList
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1496,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1501,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - pOperator
    - rows
    - pWin
    - ppRes
    - ppIdx
    argTypes:
    - SOperatorInfo*
    - int32_t
    - SExtWinTimeWindow*
    - SSDataBlock**
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1505
    functionName: extWinGetWinResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - extWinLastWinClosed
    - taosArrayGet
    - qError
    - tdListNew
    - extWinRecycleBlockList
    - TSDB_CHECK_NULL
    - tstrerror
    - extWinGetLastBlockFromList
    - TAOS_CHECK_EXIT
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetWinResBlock(SOperatorInfo* pOperator, int32_t rows,
      SExtWinTimeWindow* pWin, SSDataBlock** ppRes, SArray** ppIdx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1514,1
    - Dst: extWinGetWinResBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1514,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1516,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1520,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1520,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1525,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1525,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1525,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1528,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1528,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1531,1
    - Dst: projectApplyFunctionsWithSelect
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1531,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1534,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1534,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1534,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1539,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1539,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - pOperator
    - pInputBlock
    - startPos
    - rows
    - pWin
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    - SExtWinTimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1507
    functionDepth: 6
    functionLinenumber: 1507
    functionLinenumberEnd: 1545
    functionName: extWinProjectDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - extWinGetWinResBlock
    - blockDataCleanup
    - blockDataEnsureCapacity
    - TMAX
    - extWinAppendWinIdx
    - qError
    - createOneDataBlock
    - qDebug
    - projectApplyFunctionsWithSelect
    - blockDataMergeNRows
    - GET_STM_RTINFO
    - extWinGetCurWinIdx
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinProjectDo(SOperatorInfo* pOperator, SSDataBlock* pInputBlock,
      int32_t startPos, int32_t rows, SExtWinTimeWindow* pWin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinExtractTsCol
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1549,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1556,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1561,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1562,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1564,1
    - Dst: extWinProjectDo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1564,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1572,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pOperator
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1547
    functionDepth: 1
    functionLinenumber: 1547
    functionLinenumberEnd: 1576
    functionName: extWinProjectOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - extWinExtractTsCol
    - qError
    - GET_TASKID
    - qDebug
    - tstrerror
    - TAOS_CHECK_EXIT
    - extWinProjectDo
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinProjectOpen(SOperatorInfo* pOperator, SSDataBlock* pInputBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1589,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1589,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1590,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1593,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1593,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1595,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1597,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1597,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1598,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1603,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - pRes
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1578
    functionDepth: 7
    functionLinenumber: 1578
    functionLinenumberEnd: 1607
    functionName: extWinIndefRowsDoImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - blockDataEnsureCapacity
    - qError
    - GET_STM_RTINFO
    - projectApplyFunctions
    - tstrerror
    - TAOS_CHECK_EXIT
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinIndefRowsDoImpl(SOperatorInfo* pOperator, SSDataBlock*
      pRes, SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1616,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1619,1
    - Dst: TAOS_SET_POBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1626,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1629,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1629,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1634,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - pExtW
    - win
    - pSupp
    - pAggSup
    - pTaskInfo
    - reset
    argTypes:
    - SExternalWindowOperator*
    - SExtWinTimeWindow*
    - SExprSupp*
    - SAggSupporter*
    - SExecTaskInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1609
    functionDepth: 2
    functionLinenumber: 1609
    functionLinenumberEnd: 1638
    functionName: extWinIndefRowsSetWinOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - qError
    - qDebug
    - memset
    - TAOS_SET_POBJ_ALIGNED
    - setResultRowInitCtx
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extWinIndefRowsSetWinOutputBuf(SExternalWindowOperator* pExtW,
      SExtWinTimeWindow* win, SExprSupp* pSupp, \n                                     SAggSupporter*
      pAggSup, SExecTaskInfo* pTaskInfo, bool reset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1647,1
    - Dst: extWinIndefRowsSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1647,1
    - Dst: extWinLastWinClosed
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1649,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1651,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1654,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1655,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1656,1
    - Dst: extWinRecycleBlockList
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1657,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1660,1
    - Dst: extWinIndefRowsSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1660,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1663,1
    - Dst: extWinGetLastBlockFromList
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1663,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1668,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 5
    argNames:
    - pOperator
    - rows
    - pWin
    - ppRes
    - ppIdx
    argTypes:
    - SOperatorInfo*
    - int32_t
    - SExtWinTimeWindow*
    - SSDataBlock**
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1672
    functionName: extWinGetSetWinResBlockBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - extWinLastWinClosed
    - taosArrayGet
    - qError
    - tdListNew
    - extWinRecycleBlockList
    - extWinIndefRowsSetWinOutputBuf
    - TSDB_CHECK_NULL
    - tstrerror
    - extWinGetLastBlockFromList
    - TAOS_CHECK_EXIT
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinGetSetWinResBlockBuf(SOperatorInfo* pOperator, int32_t
      rows, SExtWinTimeWindow* pWin, SSDataBlock** ppRes, SArray** ppIdx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1682,1
    - Dst: extWinGetSetWinResBlockBuf
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1682,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1686,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1686,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1688,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1691,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1691,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1691,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1693,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1694,1
    - Dst: extWinIndefRowsDoImpl
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1694,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1696,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1696,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1697,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1703,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - pOperator
    - pInputBlock
    - startPos
    - rows
    - pWin
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    - SExtWinTimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1675
    functionDepth: 1
    functionLinenumber: 1675
    functionLinenumberEnd: 1707
    functionName: extWinIndefRowsDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - blockDataCleanup
    - blockDataEnsureCapacity
    - extWinGetSetWinResBlockBuf
    - TMAX
    - extWinAppendWinIdx
    - qError
    - extWinIndefRowsDoImpl
    - createOneDataBlock
    - extWinGetCurWinIdx
    - blockDataMergeNRows
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinIndefRowsDo(SOperatorInfo* pOperator, SSDataBlock* pInputBlock,
      int32_t startPos, int32_t rows, SExtWinTimeWindow* pWin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extWinExtractTsCol
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1712,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1719,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1724,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1725,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1727,1
    - Dst: extWinIndefRowsDo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1727,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1735,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pOperator
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1710
    functionDepth: 1
    functionLinenumber: 1710
    functionLinenumberEnd: 1739
    functionName: extWinIndefRowsOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - extWinExtractTsCol
    - qError
    - GET_TASKID
    - qDebug
    - extWinIndefRowsDo
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinIndefRowsOpen(SOperatorInfo* pOperator, SSDataBlock*
      pInputBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: extWinIncCurWinOutIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1748,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1749,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1750,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1754,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1759,1
    - Dst: extWinIncCurWinOutIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1761,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1768,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1768,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1773,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1773,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1781,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1781,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1741
    functionDepth: 1
    functionLinenumber: 1741
    functionLinenumberEnd: 1785
    functionName: extWinNonAggOutputRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - extWinIncCurWinOutIdx
    - qError
    - GET_TASKID
    - tdListPopHead
    - qDebug
    - tstrerror
    - listNEles
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinNonAggOutputRes(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1791,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1804,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1804,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1808,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1810,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1811,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1812,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1814,1
    - Dst: extWinAggSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1814,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1816,1
    - Dst: extWinAggDo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1819,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1826,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1826,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1829,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1829,1
    - Dst: extWinSetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1833,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - allRemains
    - pWin
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - bool
    - SExtWinTimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1787
    functionDepth: 3
    functionLinenumber: 1787
    functionLinenumberEnd: 1838
    functionName: extWinAggHandleEmptyWins
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 3
    functionsReached:
    - taosArrayGet
    - extWinAggDo
    - extWinAggSetWinOutputBuf
    - extWinSetCurWinIdx
    - qError
    - GET_TASKID
    - qDebug
    - extWinGetCurWinIdx
    - tstrerror
    - TAOS_CHECK_EXIT
    - updateTimeWindowInfo
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggHandleEmptyWins(SOperatorInfo* pOperator, SSDataBlock*
      pBlock, bool allRemains, SExtWinTimeWindow* pWin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: extWinExtractTsCol
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1843,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1850,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1855,1
    - Dst: extWinAggHandleEmptyWins
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1855,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1857,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1858,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1863,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1863,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1864,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1871,1
    - Dst: extWinAggSetWinOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1872,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1875,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1876,1
    - Dst: extWinAggDo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1876,1
    - Dst: extWinGetCurWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1880,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1887,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1887,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - pOperator
    - pInputBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1840
    functionDepth: 7
    functionLinenumber: 1840
    functionLinenumberEnd: 1891
    functionName: extWinAggOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - extWinAggDo
    - extWinAggSetWinOutputBuf
    - extWinExtractTsCol
    - qError
    - GET_TASKID
    - extWinAggHandleEmptyWins
    - qDebug
    - extWinGetCurWinIdx
    - GET_STM_RTINFO
    - projectApplyFunctions
    - tstrerror
    - TAOS_CHECK_EXIT
    - updateTimeWindowInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggOpen(SOperatorInfo* pOperator, SSDataBlock* pInputBlock)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1906,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1907,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1910,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1919,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1928,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1928,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1929,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1930,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1933,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1933,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1937,1
    - Dst: extWinAppendWinIdx
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1937,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1945,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1945,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1950,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1950,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1953,1
    - Dst: extWinRebuildWinIdxByFilter
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1953,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1956,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1973,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1974,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1977,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1977,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1893
    functionDepth: 5
    functionLinenumber: 1893
    functionLinenumberEnd: 1981
    functionName: extWinAggOutputRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - doUpdateNumOfRows
    - taosArrayGet
    - copyResultrowToDataBlock
    - blockDataCleanup
    - blockDataEnsureCapacity
    - extWinAppendWinIdx
    - extWinRebuildWinIdxByFilter
    - GET_TASKID
    - qError
    - qDebug
    - doFilter
    - taosMemoryFree
    - colDataDestroy
    - tstrerror
    - taosArrayClear
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinAggOutputRes(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1992,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1997,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:1998,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2005,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pTaskInfo
    - pExtW
    - winNum
    argTypes:
    - SExecTaskInfo*
    - SExternalWindowOperator*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 1983
    functionDepth: 1
    functionLinenumber: 1983
    functionLinenumberEnd: 2009
    functionName: extWinInitResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - QUERY_CHECK_NULL
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinInitResultRow(SExecTaskInfo*        pTaskInfo, SExternalWindowOperator*
      pExtW, int32_t winNum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2013,1
    - Dst: blockDataFreeCols
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pExtW
    argTypes:
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 2011
    functionDepth: 1
    functionLinenumber: 2011
    functionLinenumberEnd: 2019
    functionName: extWinFreeResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - blockDataFreeCols
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void extWinFreeResultRow(SExternalWindowOperator* pExtW)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2022,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2028,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2029,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2030,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2032,1
    - Dst: extWinInitResultRow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2032,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2035,1
    - Dst: scalarCalculateExtWinsTimeRange
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2035,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2038,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2044,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2050,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2062,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2062,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - pExtW
    - pTaskInfo
    argTypes:
    - SExternalWindowOperator*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2021
    functionDepth: 3
    functionLinenumber: 2021
    functionLinenumberEnd: 2066
    functionName: extWinInitWindowList
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - scalarCalculateExtWinsTimeRange
    - taosArrayGet
    - qError
    - qDebug
    - taosArrayReserve
    - extWinInitResultRow
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinInitWindowList(SExternalWindowOperator* pExtW, SExecTaskInfo*        pTaskInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2077,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2078,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2081,1
    - Dst: listHead
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2085,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2087,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - pExtW
    argTypes:
    - SExternalWindowOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2093
    functionName: extWinNonAggGotResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - listNEles
    - taosArrayGetP
    - taosArrayGetLast
    - listHead
    linkageType: ''
    returnType: bool
    signature: bool extWinNonAggGotResBlock(SExternalWindowOperator* pExtW)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2099,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2100,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2101,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2109,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2112,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2113,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2115,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2115,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2116,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2116,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2120,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pBlock
    - tsSlotId
    - startTs
    - endTs
    argTypes:
    - SSDataBlock*
    - col_id_t
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2095
    functionDepth: 1
    functionLinenumber: 2095
    functionLinenumberEnd: 2122
    functionName: getTimeWindowOfBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - colDataGetNumData
    - taosArrayGetSize
    - tstrerror
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTimeWindowOfBlock(SSDataBlock *pBlock, col_id_t tsSlotId,
      int64_t *startTs, int64_t *endTs)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2125,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2143,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2148,1
    - Dst: extWinInitResultRow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2148,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2148,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2160,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2167,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2168,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2168,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2176,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2179,1
    - Dst: extWinInitWindowList
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2179,1
    - Dst: getNextBlockFromDownstreamRemainDetach
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2190,1
    - Dst: extWinAggHandleEmptyWins
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2190,1
    - Dst: getTimeWindowOfBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2199,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2200,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2201,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2202,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2205,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2211,1
    - Dst: extWinProjectOpen
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2211,1
    - Dst: extWinNonAggGotResBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2217,1
    - Dst: extWinAggOpen
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2220,1
    - Dst: extWinIndefRowsOpen
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2220,1
    - Dst: extWinNonAggGotResBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2221,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2231,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2234,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2238,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2238,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2240,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2241,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2243,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2243,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2250,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2250,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2252,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 97
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2124
    functionDepth: 4
    functionLinenumber: 2124
    functionLinenumberEnd: 2256
    functionName: extWinOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - QUERY_CHECK_CONDITION
    - TMIN
    - qError
    - printDataBlock
    - taosArrayDestroy
    - extWinAggOpen
    - OPTR_SET_OPENED
    - extWinNonAggGotResBlock
    - getNextBlockFromDownstreamRemainDetach
    - extWinProjectOpen
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClear
    - TAOS_CHECK_EXIT
    - T_LONG_JMP
    - extWinInitWindowList
    - OPTR_IS_OPENED
    - QUERY_CHECK_NULL
    - extWinAggHandleEmptyWins
    - getTimeWindowOfBlock
    - qDebug
    - initGroupedResultInfo
    - extWinInitResultRow
    - extWinIndefRowsOpen
    - freeOperatorParam
    - TMAX
    - tSimpleHashGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinOpen(SOperatorInfo* pOperator)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: extWinRecycleBlkNode
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2275,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2278,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2278,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2282,1
    - Dst: extWinNonAggOutputRes
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2282,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2284,1
    - Dst: extWinFreeResultRow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2285,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2289,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2290,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2298,1
    - Dst: extWinAggOutputRes
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2298,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2304,1
    - Dst: extWinFreeResultRow
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2306,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2315,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2315,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2321,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2321,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2321,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2323,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2331,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2331,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2331,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2258
    functionDepth: 4
    functionLinenumber: 2258
    functionLinenumberEnd: 2335
    functionName: extWinNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - hasRemainResults
    - SOperatorInfo*::fpSet::_openFn
    - qError
    - GET_TASKID
    - setOperatorCompleted
    - extWinRecycleBlkNode
    - extWinFreeResultRow
    - doBuildResultDatablock
    - extWinAggOutputRes
    - getStreamOpName
    - tstrerror
    - printDataBlock
    - TAOS_CHECK_EXIT
    - extWinNonAggOutputRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t extWinNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2340,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2343,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2344,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2351,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2353,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2356,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2357,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2358,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2376,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2377,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2379,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2380,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2383,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2384,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2386,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2387,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2392,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2393,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2395,1
    - Dst: checkIndefRowsFuncs
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2399,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2403,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2407,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2408,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2412,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2413,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2416,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2417,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2419,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2421,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2423,1
    - Dst: extWinCreateEmptyInputBlock
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2425,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2426,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2427,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2429,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2432,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2433,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2443,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2444,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2446,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2454,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2455,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2457,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2459,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2465,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2467,1
    - Dst: setRowTsColumnOutputInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2471,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2472,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2475,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2476,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2478,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2479,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2482,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2483,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2489,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2490,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2504,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2506,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2507,1
    - Dst: destroyExternalWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2518,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2521,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2523,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c:2523,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 129
    argCount: 4
    argNames:
    - pDownstream
    - pNode
    - pTaskInfo
    - pOptrOut
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2337
    functionDepth: 16
    functionLinenumber: 2337
    functionLinenumberEnd: 2525
    functionName: createStreamExternalWindowOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexternalwindowoperator.c
    functionUses: 0
    functionsReached:
    - appendDownstream
    - checkIndefRowsFuncs
    - setRowTsColumnOutputInfo
    - qError
    - extWinCreateEmptyInputBlock
    - TSDB_CHECK_CODE
    - createOperatorFpSet
    - setOperatorResetStateFn
    - TSDB_CHECK_NULL
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - tdListNew
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - setOperatorInfo
    - initResultSizeInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - qDebug
    - taosArrayInit_s
    - nodesWalkExprs
    - destroyExternalWindowOperatorInfo
    - initExecTimeWindowInfo
    - initOperatorCostInfo
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamExternalWindowOperator(SOperatorInfo* pDownstream,
      SPhysiNode* pNode, SExecTaskInfo* pTaskInfo,\n                                           SOperatorInfo**
      pOptrOut)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:78,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:87,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:88,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:93,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:97,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:98,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:99,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:102,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:105,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:106,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:108,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:110,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:113,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:114,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:117,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:118,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:120,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:121,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:122,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:133,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:135,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:137,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:156,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:156,1
    - Dst: destroyAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:158,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 4
    argNames:
    - downstream
    - pAggNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SAggPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 76
    functionDepth: 16
    functionLinenumber: 76
    functionLinenumberEnd: 163
    functionName: createAggregateOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - qError
    - TSDB_CHECK_CODE
    - createOperatorFpSet
    - setOperatorResetStateFn
    - GET_STM_RTINFO
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - destroyAggOperatorInfo
    - QRY_PARAM_CHECK
    - createExprInfo
    - initExprSupp
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - initOperatorCostInfo
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createAggregateOperatorInfo(SOperatorInfo* downstream, SAggPhysiNode*
      pAggNode, SExecTaskInfo* pTaskInfo,\n                                    SOperatorInfo**
      pOptrInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:170,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:173,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:177,1
    - Dst: cleanupExprSuppWithoutFilter
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:178,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:179,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 181
    functionName: destroyAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - cleanupResultInfo
    - cleanupBasicInfo
    - cleanupAggSup
    - cleanupGroupResInfo
    - cleanupExprSuppWithoutFilter
    linkageType: ''
    returnType: void
    signature: void destroyAggOperatorInfo(void* param)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:197,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:211,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:212,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:214,1
    - Dst: setExecutionContext
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:216,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:217,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:218,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:219,1
    - Dst: doAggregateImpl
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:222,1
    - Dst: getNextBlockFromDownstreamRemainDetach
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:226,1
    - Dst: createDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:229,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:230,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:242,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:244,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:247,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:252,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:252,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:254,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:255,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:260,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:262,1
    - Dst: setExecutionContext
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:268,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:270,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:271,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:273,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:275,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:276,1
    - Dst: doAggregateImpl
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:279,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:281,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:282,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:285,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:290,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:293,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:294,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:299,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:299,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:301,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 190
    functionDepth: 7
    functionLinenumber: 190
    functionLinenumberEnd: 304
    functionName: nextGroupedResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - doAggregateImpl
    - qTrace
    - getNextBlockFromDownstreamRemainDetach
    - tSimpleHashClear
    - qError
    - GET_TASKID
    - destroyDataBlockForEmptyInput
    - initGroupedResultInfo
    - GET_STM_RTINFO
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tstrerror
    - printDataBlock
    - createDataBlockForEmptyInput
    - setExecutionContext
    - setInputDataBlock
    linkageType: ''
    returnType: bool
    signature: bool nextGroupedResult(SOperatorInfo* pOperator)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:320,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:324,1
    - Dst: nextGroupedResult
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:332,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:333,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:334,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:337,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:338,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:339,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:341,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:342,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:354,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:354,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:356,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:359,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 306
    functionDepth: 8
    functionLinenumber: 306
    functionLinenumberEnd: 363
    functionName: getAggregateResultNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - hasRemainResults
    - freeOperatorParam
    - blockDataEnsureCapacity
    - tSimpleHashClear
    - qError
    - nextGroupedResult
    - setOperatorCompleted
    - doFilter
    - doBuildResultDatablock
    - QUERY_CHECK_CODE
    - tstrerror
    - printDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAggregateResultNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:368,1
    - Dst: functionNeedToExecute
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:372,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:380,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:380,1
    - Dst: fpSet::process
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:382,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:387,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:389,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:389,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:389,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pOperator
    - pCtx
    argTypes:
    - SOperatorInfo*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 396
    functionName: doAggregateImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - fpSet::process
    - qError
    - functionNeedToExecute
    - GET_TASKID
    - tstrerror
    - fpSet::cleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t doAggregateImpl(SOperatorInfo* pOperator, SqlFunctionCtx* pCtx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:425,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:444,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:446,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:447,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:450,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:451,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:460,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:461,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:463,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:464,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:465,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:466,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:472,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:473,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:473,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 476
    functionName: createDataBlockForEmptyInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - colDataSetNULL
    - taosArrayGet
    - blockDataEnsureCapacity
    - qError
    - QUERY_CHECK_NULL
    - blockDataDestroy
    - createDataBlock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataGetNumOfCols
    - taosArrayEnsureCap
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataBlockForEmptyInput(SOperatorInfo* pOperator, SSDataBlock**
      ppBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - blockAllocated
    - ppBlock
    argTypes:
    - bool
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: destroyDataBlockForEmptyInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyDataBlockForEmptyInput(bool blockAllocated, SSDataBlock**
      ppBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:494,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:496,1
    - Dst: doSetTableGroupOutputBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pOperator
    - numOfOutput
    - groupId
    argTypes:
    - SOperatorInfo*
    - int32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: setExecutionContext
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - qTrace
    - doSetTableGroupOutputBuf
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: int32_t setExecutionContext(SOperatorInfo* pOperator, int32_t numOfOutput,
      uint64_t groupId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doSetResultOutBufByKey
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:517,1
    - Dst: addNewResultRowBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:529,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:530,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:533,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:534,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:538,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pOperator
    - numOfOutput
    - groupId
    argTypes:
    - SOperatorInfo*
    - int32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 541
    functionName: doSetTableGroupOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached:
    - qError
    - setResultRowInitCtx
    - QUERY_CHECK_CODE
    - tstrerror
    - doSetResultOutBufByKey
    - addNewResultRowBuf
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetTableGroupOutputBuf(SOperatorInfo* pOperator, int32_t
      numOfOutput, uint64_t groupId)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDataBufPagesIdList
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:553,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:555,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:556,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:558,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:558,1
    - Dst: getLastPageInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:563,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:564,1
    - Dst: getPageId
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:564,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:566,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:566,1
    - Dst: getPageId
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:570,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:572,1
    - Dst: releaseBufPageInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:574,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:576,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:578,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - pWindowRes
    - pResultBuf
    - size
    argTypes:
    - SResultRow*
    - SDiskbasedBuf*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 598
    functionName: addNewResultRowBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 2
    functionsReached:
    - getLastPageInfo
    - getBufPage
    - getDataBufPagesIdList
    - releaseBufPageInfo
    - qError
    - getNewBufPage
    - getBufPageSize
    - getPageId
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t addNewResultRowBuf(SResultRow* pWindowRes, SDiskbasedBuf* pResultBuf,
      uint32_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getResultRowSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:606,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:607,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:608,1
    - Dst: getBufferPgSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:616,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:618,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:622,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:624,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:624,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:628,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:630,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - pAggSup
    - pCtx
    - numOfOutput
    - keyBufSize
    - pKey
    argTypes:
    - SAggSupporter*
    - SqlFunctionCtx*
    - int32_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 635
    functionName: doInitAggInfoSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - getBufferPgSize
    - getResultRowSize
    - osTempSpaceAvailable
    - qError
    - tSimpleHashInit
    - createDiskbasedBuf
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doInitAggInfoSup(SAggSupporter* pAggSup, SqlFunctionCtx* pCtx,
      int32_t numOfOutput, size_t keyBufSize,\n                         const char*
      pKey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:642,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:654,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:655,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:657,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:657,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:657,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:664,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:666,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:669,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - pTaskInfo
    - pSup
    - pBuf
    - pGroupResInfo
    argTypes:
    - SExecTaskInfo*
    - SExprSupp*
    - SDiskbasedBuf*
    - SGroupResInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 671
    functionName: cleanupResultInfoInGroupResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - qError
    - getResultEntryInfo
    - GET_TASKID
    - fpSet::cleanup
    - tstrerror
    - taosArrayGetP
    - getNumOfTotalRes
    linkageType: ''
    returnType: void
    signature: "void cleanupResultInfoInGroupResInfo(SExecTaskInfo* pTaskInfo, SExprSupp*
      pSup, SDiskbasedBuf* pBuf,\n                                  SGroupResInfo*
      pGroupResInfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:689,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:692,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:694,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:694,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:701,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:703,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:707,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - pTaskInfo
    - pSup
    - pBuf
    - pGroupResInfo
    - pHashmap
    argTypes:
    - SExecTaskInfo*
    - SExprSupp*
    - SDiskbasedBuf*
    - SGroupResInfo*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 709
    functionName: cleanupResultInfoInHashMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - qError
    - getResultEntryInfo
    - GET_TASKID
    - tSimpleHashIterate
    - tstrerror
    - fpSet::cleanup
    linkageType: ''
    returnType: void
    signature: "void cleanupResultInfoInHashMap(SExecTaskInfo* pTaskInfo, SExprSupp*
      pSup, SDiskbasedBuf* pBuf,\n                       SGroupResInfo* pGroupResInfo,
      SSHashObj* pHashmap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupResultInfoInGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:714,1
    - Dst: cleanupResultInfoInHashMap
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - pTaskInfo
    - pSup
    - pGroupResInfo
    - pAggSup
    - cleanGroupResInfo
    argTypes:
    - SExecTaskInfo*
    - SExprSupp*
    - SGroupResInfo*
    - SAggSupporter*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 718
    functionName: cleanupResultInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 3
    functionsReached:
    - cleanupResultInfoInGroupResInfo
    - cleanupResultInfoInHashMap
    linkageType: ''
    returnType: void
    signature: "void cleanupResultInfo(SExecTaskInfo* pTaskInfo, SExprSupp* pSup,
      SGroupResInfo* pGroupResInfo,\n                       SAggSupporter *pAggSup,
      bool cleanGroupResInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:720,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:721,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:722,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pAggSup
    argTypes:
    - SAggSupporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 724
    functionName: cleanupAggSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 8
    functionsReached:
    - taosMemoryFreeClear
    - memset
    - destroyDiskbasedBuf
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void cleanupAggSup(SAggSupporter* pAggSup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:728,1
    - Dst: doInitAggInfoSup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 8
    argNames:
    - pSup
    - pAggSup
    - pExprInfo
    - numOfCols
    - keyBufSize
    - pkey
    - pState
    - pStore
    argTypes:
    - SExprSupp*
    - SAggSupporter*
    - SExprInfo*
    - int32_t
    - size_t
    - char*
    - void*
    - SFunctionStateStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 751
    functionName: initAggSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 10
    functionsReached:
    - doInitAggInfoSup
    - initExprSupp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initAggSup(SExprSupp* pSup, SAggSupporter* pAggSup, SExprInfo*
      pExprInfo, int32_t numOfCols, size_t keyBufSize,\n                   const char*
      pkey, void* pState, SFunctionStateStore* pStore)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: functionCtxSave
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:759,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:771,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:776,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:777,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:778,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:781,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:782,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:783,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:784,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:785,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:787,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:790,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:799,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:800,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:803,1
    - Dst: fmSetStreamPseudoFuncParamVal
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:803,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:805,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:809,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:810,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:811,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:811,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:813,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:813,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:818,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:820,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:829,1
    - Dst: sfp::process
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:829,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:830,1
    - Dst: functionNeedToExecute
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:833,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:836,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:836,1
    - Dst: fpSet::process
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:838,1
    - Dst: fpSet::cleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:843,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:845,1
    - Dst: functionCtxRestore
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:850,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:857,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:857,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 7
    argNames:
    - taskInfo
    - pCtx
    - pTimeWindowData
    - offset
    - forwardStep
    - numOfTotal
    - numOfOutput
    argTypes:
    - SExecTaskInfo*
    - SqlFunctionCtx*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 862
    functionName: applyAggFunctionOnPartialTuples
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 6
    functionsReached:
    - nodesListGetNode
    - colDataGetData
    - qError
    - varDataCopy
    - getJsonValueLen
    - fmSetStreamPseudoFuncParamVal
    - fmIsPlaceHolderFunc
    - functionNeedToExecute
    - memcpy
    - functionCtxRestore
    - GET_ROWCELL_INTERBUF
    - blobDataCopy
    - TAOS_CHECK_EXIT
    - fpSet::process
    - GET_TASKID
    - fpSet::cleanup
    - nodesGetValueFromNode
    - tstrerror
    - sfp::process
    - varDataTLen
    - functionCtxSave
    - IS_STR_DATA_BLOB
    - colDataIsNull
    - colDataIsNull_s
    - GET_RES_INFO
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t applyAggFunctionOnPartialTuples(SExecTaskInfo* taskInfo, SqlFunctionCtx*
      pCtx, SColumnInfoData* pTimeWindowData,\n                                        int32_t
      offset, int32_t forwardStep, int32_t numOfTotal, int32_t numOfOutput)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCtx
    - pStatus
    argTypes:
    - SqlFunctionCtx*
    - SFunctionCtxStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 868
    functionName: functionCtxSave
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void functionCtxSave(SqlFunctionCtx* pCtx, SFunctionCtxStatus* pStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCtx
    - pStatus
    argTypes:
    - SqlFunctionCtx*
    - SFunctionCtxStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 874
    functionName: functionCtxRestore
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void functionCtxRestore(SqlFunctionCtx* pCtx, SFunctionCtxStatus* pStatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:883,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:885,1
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:886,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:890,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 876
    functionDepth: 3
    functionLinenumber: 876
    functionLinenumberEnd: 902
    functionName: resetAggregateOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: 0
    functionsReached:
    - resetAggSup
    - cleanupResultInfo
    - resetBasicOperatorState
    - cleanupGroupResInfo
    - resetExprSupp
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetAggregateOperatorState(SOperatorInfo* pOper)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:42,1
    - Dst: hJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:55,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:59,1
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 84
    functionName: hInnerJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: 1
    functionsReached:
    - hJoinAppendResToBlock
    - hJoinCopyKeyColsDataToBuf
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t hInnerJoinDo(struct SOperatorInfo* pOperator)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:93,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:95,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:95,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:98,1
    - Dst: hJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:98,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:112,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:112,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - loopCont
    argTypes:
    - struct SOperatorInfo*
    - SHJoinOperatorInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 129
    functionName: hLeftJoinHandleSeqRowRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: 0
    functionsReached:
    - hJoinAppendResToBlock
    - hJoinBlkReachThreshold
    - hJoinCopyNMatchRowsToBlock
    - HJ_ERR_RET
    - doFilter
    - hJoinCopyMergeMidBlk
    linkageType: ''
    returnType: int32_t
    signature: int32_t hLeftJoinHandleSeqRowRemains(struct SOperatorInfo* pOperator,
      SHJoinOperatorInfo* pJoin, bool* loopCont)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:137,1
    - Dst: hJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:142,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:146,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:157,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:157,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:158,1
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:173,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:175,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:175,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:178,1
    - Dst: hJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:178,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:193,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:193,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:196,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - loopCont
    argTypes:
    - struct SOperatorInfo*
    - SHJoinOperatorInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 212
    functionName: hLeftJoinHandleSeqProbeRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: 0
    functionsReached:
    - hJoinAppendResToBlock
    - hJoinBlkReachThreshold
    - hJoinCopyNMatchRowsToBlock
    - hJoinCopyKeyColsDataToBuf
    - HJ_ERR_RET
    - doFilter
    - hJoinCopyMergeMidBlk
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t hLeftJoinHandleSeqProbeRows(struct SOperatorInfo* pOperator,
      SHJoinOperatorInfo* pJoin, bool* loopCont)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:219,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - loopCont
    argTypes:
    - struct SOperatorInfo*
    - SHJoinOperatorInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 235
    functionName: hLeftJoinHandleRowRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: 0
    functionsReached:
    - hJoinAppendResToBlock
    - hJoinBlkReachThreshold
    linkageType: ''
    returnType: int32_t
    signature: int32_t hLeftJoinHandleRowRemains(struct SOperatorInfo* pOperator,
      SHJoinOperatorInfo* pJoin, bool* loopCont)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:245,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:249,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:260,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:260,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:261,1
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:273,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - loopCont
    argTypes:
    - struct SOperatorInfo*
    - SHJoinOperatorInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 288
    functionName: hLeftJoinHandleProbeRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: 0
    functionsReached:
    - hJoinAppendResToBlock
    - hJoinBlkReachThreshold
    - hJoinCopyNMatchRowsToBlock
    - hJoinCopyKeyColsDataToBuf
    - HJ_ERR_RET
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t hLeftJoinHandleProbeRows(struct SOperatorInfo* pOperator, SHJoinOperatorInfo*
      pJoin, bool* loopCont)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:302,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:302,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:305,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:305,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:315,1
    - Dst: hLeftJoinHandleSeqProbeRows
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:315,1
    - Dst: hLeftJoinHandleProbeRows
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:315,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:317,1
    - Dst: hLeftJoinHandleSeqRowRemains
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:317,1
    - Dst: hLeftJoinHandleRowRemains
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:317,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:330,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:330,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:333,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 292
    functionDepth: 6
    functionLinenumber: 292
    functionLinenumberEnd: 349
    functionName: hLeftJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: 0
    functionsReached:
    - hLeftJoinHandleProbeRows
    - hJoinCopyNMatchRowsToBlock
    - hLeftJoinHandleRowRemains
    - HJ_ERR_RET
    - hLeftJoinHandleSeqProbeRows
    - hLeftJoinHandleSeqRowRemains
    linkageType: ''
    returnType: int32_t
    signature: int32_t hLeftJoinDo(struct SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:81,1
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:85,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:87,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:88,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:89,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:91,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:92,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:93,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:96,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:97,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:98,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:111,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:111,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:112,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:112,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:115,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:115,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:117,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:119,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:119,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:122,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:123,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:125,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:128,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:128,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:132,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 73
    functionDepth: 16
    functionLinenumber: 73
    functionLinenumberEnd: 136
    functionName: resetAnomalyWindowOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - memset
    - colDataDestroy
    - TSDB_CHECK_NULL
    - filterInitFromNode
    - taosArrayGetP
    - initAggSup
    - createExprInfo
    - cleanupExprSupp
    - taosArrayGetSize
    - initExprSupp
    - taosArrayClear
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - initResultSizeInfo
    - cleanupAggSup
    - GET_TASKID
    - resetBasicOperatorState
    - initExecTimeWindowInfo
    - tstrerror
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetAnomalyWindowOperState(SOperatorInfo* pOper)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:140,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:146,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:150,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:151,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:158,1
    - Dst: initOptions
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:163,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:164,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:167,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:168,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:170,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:171,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:174,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:175,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:177,1
    - Dst: setResSlot
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:178,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:180,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:182,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:184,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:186,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:187,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:188,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:190,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:191,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:193,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:197,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:197,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:198,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:198,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:206,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:207,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:207,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:209,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:211,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:214,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:216,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:216,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:221,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:222,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:224,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:226,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:226,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:235,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:236,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:238,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:239,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:241,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:242,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:244,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:245,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:247,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:249,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:251,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:252,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:254,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:256,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:259,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:261,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:262,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:266,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:272,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:273,1
    - Dst: anomalyDestroyOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:276,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:279,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 86
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 138
    functionDepth: 16
    functionLinenumber: 138
    functionLinenumberEnd: 282
    functionName: createAnomalywindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - appendDownstream
    - anomalyDestroyOperatorInfo
    - qError
    - createOperatorFpSet
    - setOperatorResetStateFn
    - snprintf
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - LIST_LENGTH
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - setResSlot
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - GET_TASKID
    - QUERY_CHECK_NULL
    - qDebug
    - tstrncpy
    - initOptions
    - extractColumnFromColumnNode
    - initExecTimeWindowInfo
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - taosArrayInit
    - tstrerror
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createAnomalywindowOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* physiNode, SExecTaskInfo* pTaskInfo,\n                                        SOperatorInfo**
      pOptrInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:286,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:288,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:288,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:289,1
    - Dst: taosAnalysisParseAlgo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:293,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:294,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:296,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:296,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:297,1
    - Dst: taosAnalysisParseTimout
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:301,1
    - Dst: taosAnalysisParseWncheck
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:302,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pInfo
    - pAnomalyNode
    - id
    argTypes:
    - SAnomalyWindowOperatorInfo*
    - SAnomalyWindowPhysiNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 306
    functionName: initOptions
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 1
    functionsReached:
    - taosAnalyGetOpts
    - tListLen
    - qError
    - taosAnalysisParseTimout
    - taosHashCleanup
    - taosAnalysisParseAlgo
    - tstrerror
    - taosAnalysisParseWncheck
    linkageType: ''
    returnType: int32_t
    signature: int32_t initOptions(SAnomalyWindowOperatorInfo* pInfo, SAnomalyWindowPhysiNode*
      pAnomalyNode, const char* id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pInfo
    - pAnomalyNode
    - pExprInfo
    - num
    argTypes:
    - SAnomalyWindowOperatorInfo*
    - SAnomalyWindowPhysiNode*
    - SExprInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: setResSlot
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setResSlot(SAnomalyWindowOperatorInfo* pInfo, SAnomalyWindowPhysiNode*
      pAnomalyNode, SExprInfo* pExprInfo,\n                int32_t num)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:328,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:329,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:330,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:332,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:335,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:344,1
    - Dst: anomalyCacheBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:346,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:347,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:349,1
    - Dst: anomalyAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:350,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:351,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:356,1
    - Dst: anomalyCacheBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:358,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:359,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:364,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:370,1
    - Dst: anomalyAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:371,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:374,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:375,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:379,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:379,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 386
    functionName: anomalyAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - blockDataCleanup
    - taosGetTimestampUs
    - qError
    - GET_TASKID
    - anomalyCacheBlock
    - qDebug
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - anomalyAggregateBlocks
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyAggregateNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: freeItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void freeItem(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:399,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:400,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:401,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:402,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:404,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:405,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:406,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:409,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:410,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:411,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:412,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:414,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:415,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 418
    functionName: anomalyDestroyOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - cleanupBasicInfo
    - cleanupAggSup
    - cleanupExprSupp
    - colDataDestroy
    - taosArrayGetSize
    - taosArrayDestroy
    - blockDataDestroy
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void anomalyDestroyOperatorInfo(void* param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:426,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pInfo
    - pSrc
    argTypes:
    - SAnomalyWindowOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: anomalyCacheBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - createOneDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyCacheBlock(SAnomalyWindowOperatorInfo* pInfo, SSDataBlock*
      pSrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:436,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:437,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pSupp
    - key
    argTypes:
    - SAnomalyWindowSupp*
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 453
    functionName: anomalyFindWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyFindWindow(SAnomalyWindowSupp* pSupp, TSKEY key)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:460,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:462,1
    - Dst: parseErrorMsgFromAnalyticServer
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:468,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:474,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:477,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:479,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:480,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:485,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:487,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:492,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:495,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:498,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:499,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:501,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:501,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:505,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:506,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:513,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:515,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:518,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:520,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:520,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:525,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:526,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:531,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:532,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:534,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:535,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 4
    argNames:
    - pJson
    - pWindows
    - pMasks
    - pId
    argTypes:
    - SJson*
    - SArray*
    - SArray*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 539
    functionName: anomalyParseJson
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - parseErrorMsgFromAnalyticServer
    - tjsonGetInt32ValueFromDouble
    - qError
    - tjsonGetArrayItem
    - tjsonGetArraySize
    - qDebug
    - tjsonGetObjectItem
    - taosArrayGetSize
    - tstrerror
    - taosArrayClear
    - tjsonGetObjectValueBigInt
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyParseJson(SJson* pJson, SArray* pWindows, SArray* pMasks,
      const char* pId)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:548,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:550,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:553,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:558,1
    - Dst: tsosAnalyBufOpen
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:560,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:560,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:561,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:564,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:569,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:570,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:572,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:573,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:574,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:575,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:579,1
    - Dst: taosAnalyBufWriteDataBegin
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:581,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:582,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:584,1
    - Dst: taosAnalyBufWriteColBegin
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:587,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:588,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:591,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:593,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:596,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:597,1
    - Dst: taosAnalyBufWriteColEnd
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:601,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:602,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:605,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:606,1
    - Dst: taosAnalyBufWriteColBegin
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:608,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:609,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:612,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:617,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:621,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:621,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:622,1
    - Dst: taosAnalyBufWriteColEnd
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:626,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:627,1
    - Dst: taosAnalyBufWriteDataEnd
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:630,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:631,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:633,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:634,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:636,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:637,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:639,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:640,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:642,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:643,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:645,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:646,1
    - Dst: taosAnalySendReqRetJson
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:648,1
    - Dst: anomalyParseJson
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:654,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:658,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:658,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:661,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:662,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 664
    functionName: anomalyAnalysisWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - taosAnalyBufWriteColMeta
    - colDataGetData
    - qError
    - taosGetTimestampNs
    - taosAnalyBufWriteOptStr
    - taosAnalyBufWriteDataBegin
    - snprintf
    - taosAnalyBufDestroy
    - taosArrayGetP
    - taosArrayGet
    - taosAnalyBufWriteOptInt
    - taosAnalyBufWriteColData
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tsosAnalyBufOpen
    - taosAnalyBufWriteColBegin
    - taosAnalySendReqRetJson
    - GET_TASKID
    - taosAnalyBufClose
    - taosAnalyBufWriteColEnd
    - anomalyParseJson
    - tjsonDelete
    - tstrerror
    - taosAnalyBufWriteDataEnd
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyAnalysisWindow(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:675,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:677,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:681,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 666
    functionDepth: 3
    functionLinenumber: 666
    functionLinenumberEnd: 687
    functionName: anomalyAggregateRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - applyAggFunctionOnPartialTuples
    - updateTimeWindowInfo
    - setResultRowInitCtx
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyAggregateRows(SOperatorInfo* pOperator, SSDataBlock*
      pBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:696,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:697,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 705
    functionName: anomalyBuildResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached:
    - doUpdateNumOfRows
    - clearResultRowInitFlag
    - copyResultrowToDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyBuildResult(SOperatorInfo* pOperator)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:723,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:726,1
    - Dst: anomalyAnalysisWindow
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:729,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:730,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:732,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:733,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:735,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:740,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:741,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:749,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:754,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:755,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:759,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:763,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:766,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:771,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:772,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:779,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:785,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:795,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:800,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:802,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:807,1
    - Dst: anomalyAggregateRows
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:809,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:810,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:814,1
    - Dst: anomalyBuildResult
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:816,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:817,1
    - Dst: anomalyFindWindow
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:820,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:821,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:823,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:824,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:828,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:836,1
    - Dst: anomalyAggregateRows
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:838,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:839,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:845,1
    - Dst: anomalyBuildResult
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:847,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:848,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:853,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:854,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:858,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:859,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:860,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:863,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:864,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:865,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 115
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 707
    functionDepth: 7
    functionLinenumber: 707
    functionLinenumberEnd: 873
    functionName: anomalyAggregateBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 1
    functionsReached:
    - anomalyFindWindow
    - anomalyAggregateRows
    - GET_STM_RTINFO
    - taosArrayGetP
    - anomalyAnalysisWindow
    - taosArrayGet
    - qTrace
    - anomalyBuildResult
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClear
    - blockDataUpdateTsWindow
    - qDebug
    - doKeepNewWindowStartInfo
    - blockDataEnsureCapacity
    - doKeepTuple
    - doFilter
    - projectApplyFunctions
    - blockDataDestroy
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t anomalyAggregateBlocks(SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: createAnomalywindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createAnomalywindowOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* physiNode, SExecTaskInfo* pTaskInfo,\n                                        SOperatorInfo**
      pOptrInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 881
    functionName: destroyForecastInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void destroyForecastInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: setTaskScalarExtraInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTaskScalarExtraInfo(qTaskInfo_t tinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tinfo
    - gen
    argTypes:
    - qTaskInfo_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: qSetStreamGen
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qSetStreamGen(qTaskInfo_t tinfo, uint64_t gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pDnode
    - getDnodeId
    - getMnode
    argTypes:
    - void*
    - getDnodeId_f
    - getMnodeEpset_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: gExecInfoInit
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gExecInfoInit(void* pDnode, getDnodeId_f getDnodeId, getMnodeEpset_f
      getMnode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:71,1
    - Dst: getMnode
      Src: /src/tdengine/source/libs/executor/src/executor.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: getCurrentMnodeEpset
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - qError
    - getMnode
    linkageType: ''
    returnType: int32_t
    signature: int32_t getCurrentMnodeEpset(SEpSet* pEpSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doDestroyExchangeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:84,1
    - Dst: destroySubJobCtx
      Src: /src/tdengine/source/libs/executor/src/executor.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: doDestroyFetchObj
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - doDestroyExchangeOperatorInfo
    - destroySubJobCtx
    linkageType: ''
    returnType: void
    signature: void doDestroyFetchObj(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/executor/src/executor.c:91,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: cleanupRefPool
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosCloseRef
    - atomic_val_compare_exchange_32
    linkageType: ''
    returnType: void
    signature: void cleanupRefPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:96,1
    - Dst: atexit
      Src: /src/tdengine/source/libs/executor/src/executor.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: initRefPool
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosOpenRef
    - atexit
    linkageType: ''
    returnType: void
    signature: void initRefPool()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:110,1
    - Dst: doSetSMABlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:114,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:122,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - pOperator
    - input
    - numOfBlocks
    - type
    - id
    argTypes:
    - SOperatorInfo*
    - void*
    - size_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: doSetSMABlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - qError
    - doSetSMABlock
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetSMABlock(SOperatorInfo* pOperator, void* input, size_t
      numOfBlocks, int32_t type, char* id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:130,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:135,1
    - Dst: doSetStreamOpOpen
      Src: /src/tdengine/source/libs/executor/src/executor.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pOperator
    - id
    argTypes:
    - SOperatorInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: doSetStreamOpOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - qError
    - doSetStreamOpOpen
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetStreamOpOpen(SOperatorInfo* pOperator, char* id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::tsdReader::tsdSetReaderTaskId
      Src: /src/tdengine/source/libs/executor/src/executor.c:152,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:154,1
    - Dst: doSetTaskId
      Src: /src/tdengine/source/libs/executor/src/executor.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pOperator
    - pAPI
    argTypes:
    - SOperatorInfo*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 164
    functionName: doSetTaskId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - SStorageAPI*::tsdReader::tsdSetReaderTaskId
    - doSetTaskId
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetTaskId(SOperatorInfo* pOperator, SStorageAPI* pAPI)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildTaskId
      Src: /src/tdengine/source/libs/executor/src/executor.c:169,1
    - Dst: doSetTaskId
      Src: /src/tdengine/source/libs/executor/src/executor.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tinfo
    - taskId
    - queryId
    argTypes:
    - qTaskInfo_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: qSetTaskId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 2
    functionsReached:
    - doSetTaskId
    - buildTaskId
    linkageType: ''
    returnType: int32_t
    signature: int32_t qSetTaskId(qTaskInfo_t tinfo, uint64_t taskId, uint64_t queryId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: qTaskIsDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool qTaskIsDone(qTaskInfo_t tinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doSetSMABlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:191,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:191,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:193,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:193,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:195,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - tinfo
    - pBlocks
    - numOfBlocks
    - type
    argTypes:
    - qTaskInfo_t
    - void*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 199
    functionName: qSetSMAInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - qDebug
    - qError
    - doSetSMABlock
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: int32_t qSetSMAInput(qTaskInfo_t tinfo, const void* pBlocks, size_t
      numOfBlocks, int32_t type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: doCreateTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:205,1
    - Dst: createTmqRawScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:210,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:212,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:217,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:217,1
    - Dst: qStringToSubplan
      Src: /src/tdengine/source/libs/executor/src/executor.c:222,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:224,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:224,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:230,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - msg
    - pReaderHandle
    - vgId
    - id
    argTypes:
    - void*
    - SReadHandle*
    - int32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 239
    functionName: qCreateQueueExecTaskInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - qDestroyTask
    - qError
    - qCreateExecTask
    - GET_TASKID
    - qDebug
    - qStringToSubplan
    - taosMemoryFree
    - doCreateTask
    - tstrerror
    - createTmqRawScanOperatorInfo
    linkageType: ''
    returnType: qTaskInfo_t
    signature: qTaskInfo_t qCreateQueueExecTaskInfo(void* msg, SReadHandle* pReaderHandle,
      int32_t vgId, uint64_t id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/executor.c:247,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/executor.c:251,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/executor.c:252,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/executor.c:257,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/executor.c:258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - streamInserterParam
    argTypes:
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 263
    functionName: checkInsertParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - strlen
    - stError
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkInsertParam(SStreamInserterParam* streamInserterParam)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:269,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:270,1
    - Dst: checkInsertParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:274,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:276,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:276,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:277,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/executor.c:282,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:283,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executor.c:285,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:286,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:289,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:291,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:291,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:293,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:294,1
    - Dst: createExecTaskInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:300,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:302,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:302,1
    - Dst: dsDataSinkMgtInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:309,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:311,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:311,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:315,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:317,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:317,1
    - Dst: cloneStreamInserterParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:321,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:322,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:324,1
    - Dst: createStreamDataInserter
      Src: /src/tdengine/source/libs/executor/src/executor.c:327,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:329,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:329,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:332,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:333,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executor.c:337,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:341,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:341,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:343,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 10
    argNames:
    - readHandle
    - vgId
    - taskId
    - pSubplan
    - pTaskInfo
    - handle
    - compressResult
    - sql
    - model
    - streamInserterParam
    argTypes:
    - SReadHandle*
    - int32_t
    - uint64_t
    - SSubplan*
    - qTaskInfo_t*
    - DataSinkHandle*
    - int8_t
    - char*
    - EOPTR_EXEC_MODEL
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 347
    functionName: qCreateStreamExecTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosThreadOnce
    - taosArrayPush
    - qError
    - TSDB_CHECK_CODE
    - cloneStreamInserterParam
    - nodesCloneNode
    - LIST_LENGTH
    - dsDataSinkMgtInit
    - createStreamDataInserter
    - taosMemCalloc
    - taosMemoryCalloc
    - qDebug
    - nodesDestroyNode
    - createExecTaskInfo
    - checkInsertParam
    - taosArrayDestroyP
    - taosMemoryFree
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qCreateStreamExecTask(SReadHandle* readHandle, int32_t vgId,
      uint64_t taskId, SSubplan* pSubplan,\n                                     qTaskInfo_t*
      pTaskInfo, DataSinkHandle* handle, int8_t compressResult, char* sql,\n                                     EOPTR_EXEC_MODEL
      model, SStreamInserterParam* streamInserterParam)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executor.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: qNeedReset
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool qNeedReset(qTaskInfo_t pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pHandle
    - pScanBaseInfo
    argTypes:
    - SReadHandle*
    - STableScanBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 376
    functionName: setReadHandle
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setReadHandle(SReadHandle* pHandle, STableScanBase* pScanBaseInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executor.c:388,1
    - Dst: setReadHandle
      Src: /src/tdengine/source/libs/executor/src/executor.c:390,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executor.c:391,1
    - Dst: setReadHandle
      Src: /src/tdengine/source/libs/executor/src/executor.c:393,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:396,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:396,1
    - Dst: SOperatorInfo*::fpSet::resetStateFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pInfo
    - handle
    argTypes:
    - qTaskInfo_t
    - SReadHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 399
    functionName: qResetTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - setReadHandle
    - SOperatorInfo*::fpSet::resetStateFn
    - GET_TASKID
    - nodeType
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t qResetTableScan(qTaskInfo_t pInfo, SReadHandle* handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qStringToSubplan
      Src: /src/tdengine/source/libs/executor/src/executor.c:410,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:412,1
    - Dst: qCreateStreamExecTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:416,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - pTaskInfo
    - msg
    - readers
    - pInserterParams
    - vgId
    - taskId
    argTypes:
    - qTaskInfo_t*
    - void*
    - SReadHandle*
    - SStreamInserterParam*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 401
    functionDepth: 5
    functionLinenumber: 401
    functionLinenumberEnd: 425
    functionName: qCreateStreamExecTaskInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 2
    functionsReached:
    - qDestroyTask
    - nodesDestroyNode
    - qStringToSubplan
    - qCreateStreamExecTask
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qCreateStreamExecTaskInfo(qTaskInfo_t* pTaskInfo, void* msg,
      SReadHandle* readers,\n                                  SStreamInserterParam*
      pInserterParams, int32_t vgId, int32_t taskId)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:438,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:440,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:442,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:443,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:445,1
    - Dst: tableListGetSourceTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:456,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/executor.c:460,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:464,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:465,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/executor.c:467,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:469,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:469,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:473,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:497,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:498,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executor.c:502,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:505,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:507,1
    - Dst: isQualifiedTable
      Src: /src/tdengine/source/libs/executor/src/executor.c:513,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:515,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:520,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:525,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:526,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executor.c:534,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:539,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:541,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:541,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 5
    argNames:
    - pScanInfo
    - tableIdList
    - idstr
    - pAPI
    - ppArrayRes
    argTypes:
    - STmqQueryScanInfo*
    - SArray*
    - char*
    - SStorageAPI*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 544
    functionName: filterUnqualifiedTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tableListGetSourceTableInfo
    - taosArrayGet
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - tDecoderClear
    - QUERY_CHECK_NULL
    - isQualifiedTable
    - qInfo
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - SStorageAPI*::metaReaderFn::clearReader
    - taosArrayDestroy
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterUnqualifiedTables(const STmqQueryScanInfo* pScanInfo,
      const SArray* tableIdList, const char* idstr,\n                                       SStorageAPI*
      pAPI, SArray** ppArrayRes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:548,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:553,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:559,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:559,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:560,1
    - Dst: SExecTaskInfo*::storageAPI::tqReaderFn::tqReaderRemoveTables
      Src: /src/tdengine/source/libs/executor/src/executor.c:561,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tinfo
    - tableIdList
    argTypes:
    - qTaskInfo_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 565
    functionName: qDeleteTableListForTmqScanner
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - GET_TASKID
    - qDebug
    - taosArrayGetSize
    - extractOperatorInTree
    - taosWUnLockLatch
    - SExecTaskInfo*::storageAPI::tqReaderFn::tqReaderRemoveTables
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qDeleteTableListForTmqScanner(qTaskInfo_t tinfo, const SArray*
      tableIdList)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: filterUnqualifiedTables
      Src: /src/tdengine/source/libs/executor/src/executor.c:569,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:571,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:574,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:575,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderAddTables
      Src: /src/tdengine/source/libs/executor/src/executor.c:576,1
    - Dst: getTableTagsBufLen
      Src: /src/tdengine/source/libs/executor/src/executor.c:579,1
    - Dst: groupbyTbname
      Src: /src/tdengine/source/libs/executor/src/executor.c:582,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:583,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:585,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:591,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:594,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:596,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:597,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:598,1
    - Dst: getGroupIdFromTagsVal
      Src: /src/tdengine/source/libs/executor/src/executor.c:607,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:610,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:611,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:612,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:618,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:620,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:621,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:622,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:627,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:629,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:632,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 5
    argNames:
    - pScanInfo
    - tableIdList
    - id
    - pAPI
    - lock
    argTypes:
    - STmqQueryScanInfo*
    - SArray*
    - char*
    - SStorageAPI*
    - SRWLatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 634
    functionName: filterTableForTmqQuery
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - getGroupIdFromTagsVal
    - taosMemoryMalloc
    - taosArrayGet
    - filterUnqualifiedTables
    - tableListAddTableInfo
    - groupbyTbname
    - qDebug
    - SStorageAPI*::tqReaderFn::tqReaderAddTables
    - getTableTagsBufLen
    - taosMemoryFree
    - taosArrayGetSize
    - taosWUnLockLatch
    - taosArrayDestroy
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterTableForTmqQuery(STmqQueryScanInfo* pScanInfo, const
      SArray* tableIdList, const char* id, SStorageAPI* pAPI, SRWLatch* lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:638,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:639,1
    - Dst: SStorageAPI*::tqReaderFn::tqUpdateTableTagCache
      Src: /src/tdengine/source/libs/executor/src/executor.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pScanInfo
    - tableIdList
    - cid
    - api
    argTypes:
    - STmqQueryScanInfo*
    - SArray*
    - col_id_t
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: qUpdateTableTagCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - SStorageAPI*::tqReaderFn::tqUpdateTableTagCache
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void qUpdateTableTagCache(STmqQueryScanInfo* pScanInfo, const SArray*
      tableIdList, col_id_t cid, SStorageAPI* api)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:646,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:649,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:649,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:653,1
    - Dst: qUpdateTableTagCache
      Src: /src/tdengine/source/libs/executor/src/executor.c:659,1
    - Dst: filterTableForTmqQuery
      Src: /src/tdengine/source/libs/executor/src/executor.c:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tinfo
    - tableIdList
    argTypes:
    - qTaskInfo_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 662
    functionName: qAddTableListForTmqScanner
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - qUpdateTableTagCache
    - GET_TASKID
    - qDebug
    - filterTableForTmqQuery
    - taosArrayGetSize
    - extractOperatorInTree
    linkageType: ''
    returnType: int32_t
    signature: int32_t qAddTableListForTmqScanner(qTaskInfo_t tinfo, const SArray*
      tableIdList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:667,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:672,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:674,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:674,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:679,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:680,1
    - Dst: qUpdateTableTagCache
      Src: /src/tdengine/source/libs/executor/src/executor.c:681,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:684,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executor.c:685,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:686,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:687,1
    - Dst: qUpdateTableTagCache
      Src: /src/tdengine/source/libs/executor/src/executor.c:688,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - tinfo
    - tableIdList
    - cids
    - cidListArray
    argTypes:
    - qTaskInfo_t
    - SArray*
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 691
    functionName: qUpdateTableTagCacheForTmq
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qUpdateTableTagCache
    - qError
    - GET_TASKID
    - taosArrayGetSize
    - extractOperatorInTree
    - tstrerror
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void qUpdateTableTagCacheForTmq(qTaskInfo_t tinfo, const SArray* tableIdList,
      SArray* cids, SArray* cidListArray)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:695,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:700,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:707,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:707,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:708,1
    - Dst: SExecTaskInfo*::storageAPI::tqReaderFn::tqReaderRemoveTables
      Src: /src/tdengine/source/libs/executor/src/executor.c:709,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:710,1
    - Dst: filterTableForTmqQuery
      Src: /src/tdengine/source/libs/executor/src/executor.c:712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tinfo
    - tableIdList
    argTypes:
    - qTaskInfo_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 713
    functionName: qUpdateTableListForTmqScanner
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - GET_TASKID
    - qDebug
    - filterTableForTmqQuery
    - taosArrayGetSize
    - extractOperatorInTree
    - taosWUnLockLatch
    - SExecTaskInfo*::storageAPI::tqReaderFn::tqReaderRemoveTables
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qUpdateTableListForTmqScanner(qTaskInfo_t tinfo, const SArray*
      tableIdList)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:725,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:729,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:731,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:731,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:739,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:744,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 752
    functionName: qGetQueryTableSchemaVersion
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - tstrncpy
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qGetQueryTableSchemaVersion(qTaskInfo_t tinfo, char* dbName,
      int32_t dbNameBuffLen, char* tableName,\n                                    int32_t
      tbaleNameBuffLen, int32_t* sversion, int32_t* tversion, int32_t* rversion,\n
      \                                   int32_t idx, bool* tbGet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 754
    functionName: qIsDynamicExecTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool qIsDynamicExecTask(qTaskInfo_t tinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 756
    functionDepth: 4
    functionLinenumber: 756
    functionLinenumberEnd: 761
    functionName: qDestroyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - freeOperatorParam
    linkageType: ''
    returnType: void
    signature: void qDestroyOperatorParam(SOperatorParam* pParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:772,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:773,1
    - Dst: qDestroyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:776,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/executor.c:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tinfo
    - pParam
    argTypes:
    - qTaskInfo_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 768
    functionDepth: 5
    functionLinenumber: 768
    functionLinenumberEnd: 781
    functionName: qUpdateOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - qDestroyOperatorParam
    - qError
    - GET_TASKID
    - TSWAP
    linkageType: ''
    returnType: void
    signature: void qUpdateOperatorParam(qTaskInfo_t tinfo, void* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/executor.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 786
    functionName: qExecutorInit
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosThreadOnce
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExecutorInit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - task
    - pWorkerCb
    argTypes:
    - qTaskInfo_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 792
    functionName: qUpdateWorkerCb
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qUpdateWorkerCb(qTaskInfo_t task, void* pWorkerCb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SExecTaskInfo*::pWorkerCb::beforeBlocking
      Src: /src/tdengine/source/libs/executor/src/executor.c:798,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/executor.c:805,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:807,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:807,1
    - Dst: SExecTaskInfo*::pWorkerCb::afterRecoverFromBlocking
      Src: /src/tdengine/source/libs/executor/src/executor.c:813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - task
    - pSem
    argTypes:
    - qTaskInfo_t
    - tsem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 820
    functionName: qSemWait
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - tsem_wait
    - qError
    - SExecTaskInfo*::pWorkerCb::beforeBlocking
    - SExecTaskInfo*::pWorkerCb::afterRecoverFromBlocking
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t qSemWait(qTaskInfo_t task, tsem_t* pSem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/executor.c:826,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:828,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:829,1
    - Dst: createExecTaskInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:832,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:834,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:834,1
    - Dst: dsDataSinkMgtInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:841,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:843,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:843,1
    - Dst: createDataSinkParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:848,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:850,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:850,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:851,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:857,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:859,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executor.c:859,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:859,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:861,1
    - Dst: dsCreateDataSinker
      Src: /src/tdengine/source/libs/executor/src/executor.c:867,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:870,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:870,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:874,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:875,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:875,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 11
    argNames:
    - readHandle
    - vgId
    - taskId
    - pSubplan
    - pTaskInfo
    - handle
    - compressResult
    - sql
    - model
    - subEndPoints
    - enableExplain
    argTypes:
    - SReadHandle*
    - int32_t
    - uint64_t
    - SSubplan*
    - qTaskInfo_t*
    - DataSinkHandle*
    - int8_t
    - char*
    - EOPTR_EXEC_MODEL
    - SArray**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 822
    functionDepth: 3
    functionLinenumber: 822
    functionLinenumberEnd: 880
    functionName: qCreateExecTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 3
    functionsReached:
    - taosThreadOnce
    - createExecTaskInfo
    - qError
    - dsDataSinkMgtInit
    - qDebug
    - nodeType
    - taosMemoryFree
    - taosArrayGetSize
    - tstrerror
    - nodesCloneNode
    - dsCreateDataSinker
    - createDataSinkParam
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qCreateExecTask(SReadHandle* readHandle, int32_t vgId, uint64_t
      taskId, SSubplan* pSubplan,\n                        qTaskInfo_t* pTaskInfo,
      DataSinkHandle* handle, int8_t compressResult, char* sql,\n                        EOPTR_EXEC_MODEL
      model, SArray** subEndPoints, bool enableExplain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 885
    functionName: freeBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void freeBlock(void* param)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/executor/src/executor.c:892,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:895,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:898,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:901,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:902,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:902,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:908,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:911,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:912,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:913,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:913,1
    - Dst: setjmp
      Src: /src/tdengine/source/libs/executor/src/executor.c:918,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:923,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:923,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:923,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:924,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:929,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:929,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:933,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:937,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:939,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:942,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executor.c:943,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:944,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:947,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:958,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:960,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:961,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:963,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:964,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:967,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:969,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:973,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:974,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:979,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:980,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:983,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:984,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executor.c:990,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:992,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:993,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:999,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:1000,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executor.c:1001,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:1002,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1010,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1018,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1021,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1022,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1022,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:1024,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1027,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1027,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 93
    argCount: 6
    argNames:
    - tinfo
    - pResList
    - useconds
    - hasMore
    - pLocal
    - processOneBlock
    argTypes:
    - qTaskInfo_t
    - SArray*
    - uint64_t*
    - bool*
    - SLocalFetch*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 1031
    functionName: qExecTaskOpt
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - QUERY_CHECK_CONDITION
    - qError
    - taosGetTimestampUs
    - setjmp
    - memcpy
    - taosArrayGet
    - copyDataBlock
    - SExecTaskInfo*::pRoot::fpSet::getNextFn
    - createOneDataBlock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClear
    - blockDataCheck
    - GET_TASKID
    - SExecTaskInfo*::pRoot::fpSet::getNextExtFn
    - QUERY_CHECK_NULL
    - qDebug
    - atomic_store_64
    - isTaskKilled
    - taosGetSelfPthreadId
    - atomic_val_compare_exchange_64
    - cleanUpUdfs
    - tstrerror
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qExecTaskOpt(qTaskInfo_t tinfo, SArray* pResList, uint64_t*
      useconds, bool* hasMore, SLocalFetch* pLocal,\n                     bool processOneBlock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1036,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:1038,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1040,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1045
    functionName: qCleanExecTaskBlockBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - taosArrayGet
    - taosArrayGetSize
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void qCleanExecTaskBlockBuf(qTaskInfo_t tinfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/executor/src/executor.c:1049,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1055,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:1056,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1058,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1058,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1060,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1065,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1065,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1068,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1073,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1076,1
    - Dst: setjmp
      Src: /src/tdengine/source/libs/executor/src/executor.c:1080,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1083,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1084,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1084,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1084,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:1085,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1089,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1089,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1091,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:1095,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:1097,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1101,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1101,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executor.c:1104,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1107,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1107,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1107,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1110,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1117,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1122,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1123,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:1125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 3
    argNames:
    - tinfo
    - pRes
    - useconds
    argTypes:
    - qTaskInfo_t
    - SSDataBlock**
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1127
    functionName: qExecTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosGetSelfPthreadId
    - taosRUnLockLatch
    - qError
    - GET_TASKID
    - taosGetTimestampUs
    - taosRLockLatch
    - setjmp
    - qDebug
    - cleanUpUdfs
    - SExecTaskInfo*::pRoot::fpSet::getNextExtFn
    - SExecTaskInfo*::pRoot::fpSet::getNextFn
    - tstrerror
    - atomic_store_64
    - isTaskKilled
    - blockDataCheck
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExecTask(qTaskInfo_t tinfo, SSDataBlock** pRes, uint64_t*
      useconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1130,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1131,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1132,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pTaskInfo
    - pInfo
    argTypes:
    - SExecTaskInfo*
    - SExchangeOpStopInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1139
    functionName: qAppendTaskStopInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - taosWUnLockLatch
    - tstrerror
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qAppendTaskStopInfo(SExecTaskInfo* pTaskInfo, SExchangeOpStopInfo*
      pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1152
    functionName: stopInfoComp
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t stopInfoComp(void const* lp, void const* rp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1155,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/executor.c:1156,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/executor.c:1158,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pTaskInfo
    - pInfo
    argTypes:
    - SExecTaskInfo*
    - SExchangeOpStopInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1161
    functionName: qRemoveTaskStopInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayRemove
    - taosWLockLatch
    - taosArraySearchIdx
    - taosWUnLockLatch
    linkageType: ''
    returnType: void
    signature: void qRemoveTaskStopInfo(SExecTaskInfo* pTaskInfo, SExchangeOpStopInfo*
      pInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/executor.c:1166,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1169,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1171,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:1173,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1175,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:1178,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/executor.c:1180,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1182,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1182,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1184,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:1186,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1188,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1188,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1194
    functionName: qStopTaskOperators
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - tsem_post
    - taosArrayGet
    - taosReleaseRef
    - qError
    - taosAcquireRef
    - qDebug
    - taosArrayGetSize
    - taosWUnLockLatch
    - tstrerror
    - taosWLockLatch
    linkageType: ''
    returnType: void
    signature: void qStopTaskOperators(SExecTaskInfo* pTaskInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1202,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1202,1
    - Dst: setTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:1204,1
    - Dst: qStopTaskOperators
      Src: /src/tdengine/source/libs/executor/src/executor.c:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qinfo
    - rspCode
    argTypes:
    - qTaskInfo_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1208
    functionName: qAsyncKillTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - qDebug
    - qStopTaskOperators
    - setTaskKilled
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: int32_t qAsyncKillTask(qTaskInfo_t qinfo, int32_t rspCode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1211,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1218,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1218,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1220,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1220,1
    - Dst: setTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:1223,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1227,1
    - Dst: qTaskIsExecuting
      Src: /src/tdengine/source/libs/executor/src/executor.c:1228,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1229,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/executor/src/executor.c:1231,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1233,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/executor.c:1235,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1235,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1240,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1246,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1248,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - tinfo
    - rspCode
    - waitDuration
    argTypes:
    - qTaskInfo_t
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1252
    functionName: qKillTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - setTaskKilled
    - qWarn
    - GET_TASKID
    - qTaskIsExecuting
    - qDebug
    - qInfo
    - taosGetTimestampMs
    - taosWUnLockLatch
    - taosMsleep
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qKillTask(qTaskInfo_t tinfo, int32_t rspCode, int64_t waitDuration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:1260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1261
    functionName: qTaskIsExecuting
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: bool
    signature: bool qTaskIsExecuting(qTaskInfo_t qinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1269,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1273,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1277,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1280
    functionName: printTaskExecCostInLog
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - qDebug
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: void printTaskExecCostInLog(SExecTaskInfo* pTaskInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1290,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1290,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1292,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1292,1
    - Dst: printTaskExecCostInLog
      Src: /src/tdengine/source/libs/executor/src/executor.c:1295,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:1296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - qTaskHandle
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1283
    functionDepth: 2
    functionLinenumber: 1283
    functionLinenumberEnd: 1297
    functionName: qDestroyTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 3
    functionsReached:
    - qDebug
    - doDestroyTask
    - GET_TASKID
    - printTaskExecCostInLog
    linkageType: ''
    returnType: void
    signature: void qDestroyTask(qTaskInfo_t qTaskHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOperatorExplainExecInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tinfo
    - pExecInfoList
    argTypes:
    - qTaskInfo_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: qGetExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - getOperatorExplainExecInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t qGetExplainExecInfo(qTaskInfo_t tinfo, SArray* pExecInfoList)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - tinfo
    - scanner
    argTypes:
    - qTaskInfo_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1317
    functionName: qExtractTmqScanner
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qExtractTmqScanner(qTaskInfo_t tinfo, void** scanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1322
    functionName: qExtractReaderFromTmqScanner
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * qExtractReaderFromTmqScanner(void* scanner)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1327
    functionName: qExtractSchemaFromTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSchemaWrapper
    signature: SSchemaWrapper * qExtractSchemaFromTask(qTaskInfo_t tinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1332
    functionName: qExtractTbnameFromTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * qExtractTbnameFromTask(qTaskInfo_t tinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1337
    functionName: qStreamExtractMetaMsg
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SMqBatchMetaRsp
    signature: SMqBatchMetaRsp * qStreamExtractMetaMsg(qTaskInfo_t tinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tinfo
    - pOffset
    argTypes:
    - qTaskInfo_t
    - STqOffsetVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1343
    functionName: qStreamExtractOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - tOffsetCopy
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamExtractOffset(qTaskInfo_t tinfo, STqOffsetVal* pOffset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/executor.c:1346,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:1349,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:1350,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1352,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1353,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/executor.c:1357,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/executor/src/executor.c:1368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - pCond
    - sContext
    - pMtInfo
    argTypes:
    - SQueryTableDataCond*
    - SSnapContext*
    - SMetaTableInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1377
    functionName: initQueryTableDataCondForTmq
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosMemoryMalloc
    - TAOS_SET_OBJ_ALIGNED
    - memset
    - taosMemoryCalloc
    - decimalFromTypeMod
    linkageType: ''
    returnType: int32_t
    signature: int32_t initQueryTableDataCondForTmq(SQueryTableDataCond* pCond, SSnapContext*
      sContext, SMetaTableInfo* pMtInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    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: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qStreamSetOpen(qTaskInfo_t tinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - tinfo
    - sourceExcluded
    - minPollRows
    - timeout
    - enableReplay
    argTypes:
    - qTaskInfo_t
    - int8_t
    - int32_t
    - int64_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1391
    functionName: qStreamSetParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qStreamSetParams(qTaskInfo_t tinfo, int8_t sourceExcluded, int32_t
      minPollRows, int64_t timeout, int8_t enableReplay)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1399,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:1402,1
    - Dst: SStoreTqReader*::tqReaderGetWalReader
      Src: /src/tdengine/source/libs/executor/src/executor.c:1409,1
    - Dst: walReaderVerifyOffset
      Src: /src/tdengine/source/libs/executor/src/executor.c:1410,1
    - Dst: tOffsetEqual
      Src: /src/tdengine/source/libs/executor/src/executor.c:1413,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:1418,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/executor.c:1429,1
    - Dst: SStoreTqReader*::tqReaderGetWalReader
      Src: /src/tdengine/source/libs/executor/src/executor.c:1433,1
    - Dst: walReaderVerifyOffset
      Src: /src/tdengine/source/libs/executor/src/executor.c:1434,1
    - Dst: SStoreTqReader*::tqReaderSeek
      Src: /src/tdengine/source/libs/executor/src/executor.c:1435,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1437,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1448,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1450,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1452,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1452,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1453,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1459,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1461,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1461,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1462,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1469,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1470,1
    - Dst: SExecTaskInfo*::storageAPI::tqReaderFn::tqSetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/executor.c:1474,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1476,1
    - Dst: tableListFind
      Src: /src/tdengine/source/libs/executor/src/executor.c:1483,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1484,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1489,1
    - Dst: SExecTaskInfo*::storageAPI::tqReaderFn::tqGetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/executor.c:1498,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/executor.c:1506,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1510,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1510,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1514,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdSetQueryTableList
      Src: /src/tdengine/source/libs/executor/src/executor.c:1517,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1519,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1519,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderResetStatus
      Src: /src/tdengine/source/libs/executor/src/executor.c:1523,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1525,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1525,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1528,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1535,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:1545,1
    - Dst: SStorageAPI*::snapshotFn::setForSnapShot
      Src: /src/tdengine/source/libs/executor/src/executor.c:1552,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1553,1
    - Dst: SExecTaskInfo*::storageAPI::snapshotFn::getMetaTableInfoFromSnapshot
      Src: /src/tdengine/source/libs/executor/src/executor.c:1558,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1560,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/executor.c:1563,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/executor.c:1566,1
    - Dst: tableListClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1567,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1570,1
    - Dst: SStorageAPI*::snapshotFn::taosXSetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/executor.c:1574,1
    - Dst: initQueryTableDataCondForTmq
      Src: /src/tdengine/source/libs/executor/src/executor.c:1575,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1577,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1577,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1578,1
    - Dst: SStorageAPI*::snapshotFn::taosXGetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/executor.c:1581,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1587,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1589,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1590,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1590,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1594,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1596,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1596,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1597,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1601,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1603,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1603,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1604,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/executor.c:1608,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1611,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1611,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1612,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/executor.c:1616,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1617,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/executor.c:1619,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1621,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1623,1
    - Dst: SExecTaskInfo*::storageAPI::snapshotFn::setForSnapShot
      Src: /src/tdengine/source/libs/executor/src/executor.c:1627,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1629,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1632,1
    - Dst: SExecTaskInfo*::storageAPI::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/executor.c:1636,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1638,1
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1643,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 177
    argCount: 3
    argNames:
    - tinfo
    - pOffset
    - subType
    argTypes:
    - qTaskInfo_t
    - STqOffsetVal*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1393
    functionDepth: 2
    functionLinenumber: 1393
    functionLinenumberEnd: 1645
    functionName: qStreamPrepareScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - tOffsetEqual
    - taosMemoryFreeClear
    - qError
    - tDeleteSchemaWrapper
    - SStoreTqReader*::tqReaderGetWalReader
    - SExecTaskInfo*::storageAPI::tqReaderFn::tqSetTablePrimaryKey
    - taosRLockLatch
    - SStorageAPI*::snapshotFn::setForSnapShot
    - SExecTaskInfo*::storageAPI::tqReaderFn::tqGetTablePrimaryKey
    - taosRUnLockLatch
    - SExecTaskInfo*::storageAPI::tsdReader::tsdReaderResetStatus
    - SExecTaskInfo*::storageAPI::snapshotFn::getMetaTableInfoFromSnapshot
    - SExecTaskInfo*::storageAPI::snapshotFn::setForSnapShot
    - cleanupQueryTableDataCond
    - SExecTaskInfo*::storageAPI::tsdReader::tsdSetQueryTableList
    - destroyMetaTableInfo
    - GET_TASKID
    - tableListAddTableInfo
    - qDebug
    - tableListFind
    - SExecTaskInfo*::storageAPI::tsdReader::tsdReaderOpen
    - tstrncpy
    - extractOperatorInTree
    - SExecTaskInfo*::storageAPI::tsdReader::tsdReaderClose
    - walReaderVerifyOffset
    - SStoreTqReader*::tqReaderSeek
    - SStorageAPI*::snapshotFn::taosXSetTablePrimaryKey
    - tableListGetSize
    - SStorageAPI*::snapshotFn::taosXGetTablePrimaryKey
    - tableListGetInfo
    - initQueryTableDataCondForTmq
    - tOffsetCopy
    - tableListClear
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamPrepareScan(qTaskInfo_t tinfo, STqOffsetVal* pOffset,
      int8_t subType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/executor/src/executor.c:1650,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1651,1
    - Dst: TRACE_GET_ROOTID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1651,1
    - Dst: TRACE_GET_MSGID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1651,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1655,1
    - Dst: TRACE_GET_ROOTID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1656,1
    - Dst: TRACE_GET_MSGID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1656,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:1661,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1665,1
    - Dst: SMsgSendInfo*::fp
      Src: /src/tdengine/source/libs/executor/src/executor.c:1669,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/executor/src/executor.c:1670,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1647
    functionDepth: 3
    functionLinenumber: 1647
    functionLinenumberEnd: 1672
    functionName: qProcessRspMsg
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - TRACE_GET_ROOTID
    - TRACE_GET_MSGID
    - memcpy
    - qError
    - SMsgSendInfo*::fp
    - qDebug
    - destroySendMsgInfo
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void qProcessRspMsg(void* parent, SRpcMsg* pMsg, SEpSet* pEpSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableListInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1680,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executor.c:1686,1
    - Dst: taosArrayInit
      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: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1692,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:1693,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1696,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1697,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1698,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1699,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1702,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1706,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1706,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executor.c:1707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1710
    functionName: qGetQueriedTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - tableListGetSize
    - getTableListInfo
    - taosArrayPush
    - T_LONG_JMP
    - qError
    - tableListGetInfo
    - QUERY_CHECK_NULL
    - taosArrayInit
    - QUERY_CHECK_CODE
    - tstrerror
    - taosArrayDestroy
    - taosArrayGetP
    linkageType: ''
    returnType: SArray
    signature: SArray * qGetQueriedTableListInfo(qTaskInfo_t tinfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1721,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1722,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1726,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1727,1
    - Dst: extractTableList
      Src: /src/tdengine/source/libs/executor/src/executor.c:1730,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1736,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pList
    - pOperator
    argTypes:
    - SArray*
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1712
    functionDepth: 1
    functionLinenumber: 1712
    functionLinenumberEnd: 1739
    functionName: extractTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - extractTableList
    - qError
    - QUERY_CHECK_NULL
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractTableList(SArray* pList, const SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:1747,1
    - Dst: extractTableList
      Src: /src/tdengine/source/libs/executor/src/executor.c:1752,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pTaskInfo
    - pList
    argTypes:
    - SExecTaskInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1741
    functionDepth: 2
    functionLinenumber: 1741
    functionLinenumberEnd: 1759
    functionName: getTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - extractTableList
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableListInfo(const SExecTaskInfo* pTaskInfo, SArray** pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SExecTaskInfo*::pRoot::fpSet::releaseStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:1764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tInfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1767
    functionName: qStreamOperatorReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - SExecTaskInfo*::pRoot::fpSet::releaseStreamStateFn
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamOperatorReleaseState(qTaskInfo_t tInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SExecTaskInfo*::pRoot::fpSet::reloadStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:1772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tInfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1775
    functionName: qStreamOperatorReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - SExecTaskInfo*::pRoot::fpSet::reloadStreamStateFn
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamOperatorReloadState(qTaskInfo_t tInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1782,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1777
    functionDepth: 1
    functionLinenumber: 1777
    functionLinenumberEnd: 1783
    functionName: qResetTaskCode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - qDebug
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void qResetTaskCode(qTaskInfo_t tinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pOper
    - pExprs
    argTypes:
    - SOperatorInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1788
    functionName: collectExprsToReplaceForStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectExprsToReplaceForStream(SOperatorInfo* pOper, SArray*
      pExprs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectExprsToReplaceForStream
      Src: /src/tdengine/source/libs/executor/src/executor.c:1792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tInfo
    - pExprs
    argTypes:
    - qTaskInfo_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1794
    functionName: streamCollectExprsForReplace
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - collectExprsToReplaceForStream
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamCollectExprsForReplace(qTaskInfo_t tInfo, SArray* pExprs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeResetOperatorParams
      Src: /src/tdengine/source/libs/executor/src/executor.c:1799,1
    - Dst: freeResetOperatorParams
      Src: /src/tdengine/source/libs/executor/src/executor.c:1800,1
    - Dst: SOperatorInfo*::fpSet::resetStateFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:1803,1
    - Dst: clearStatesForOperator
      Src: /src/tdengine/source/libs/executor/src/executor.c:1807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1796
    functionDepth: 5
    functionLinenumber: 1796
    functionLinenumberEnd: 1810
    functionName: clearStatesForOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - SOperatorInfo*::fpSet::resetStateFn
    - freeResetOperatorParams
    - clearStatesForOperator
    linkageType: ''
    returnType: int32_t
    signature: int32_t clearStatesForOperator(SOperatorInfo* pOper)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clearStatesForOperator
      Src: /src/tdengine/source/libs/executor/src/executor.c:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - tInfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1812
    functionDepth: 6
    functionLinenumber: 1812
    functionLinenumberEnd: 1829
    functionName: streamClearStatesForOperators
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - clearStatesForOperator
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamClearStatesForOperators(qTaskInfo_t tInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/executor/src/executor.c:1833,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1839,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:1840,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1843,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1843,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1845,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1850,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1850,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1853,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1858,1
    - Dst: setTaskScalarExtraInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1864,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1867,1
    - Dst: setjmp
      Src: /src/tdengine/source/libs/executor/src/executor.c:1871,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1874,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1875,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1875,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1875,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:1876,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1880,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1880,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1882,1
    - Dst: SExecTaskInfo*::pRoot::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/executor.c:1884,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1887,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1887,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1887,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executor.c:1890,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1894,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1894,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1894,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1897,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1901,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1906,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1907,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:1909,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - tInfo
    - ppRes
    - finished
    argTypes:
    - qTaskInfo_t
    - SSDataBlock**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1831
    functionDepth: 1
    functionLinenumber: 1831
    functionLinenumberEnd: 1911
    functionName: streamExecuteTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - taosGetSelfPthreadId
    - taosRUnLockLatch
    - qError
    - GET_TASKID
    - taosGetTimestampUs
    - taosRLockLatch
    - setjmp
    - qDebug
    - cleanUpUdfs
    - setTaskScalarExtraInfo
    - SExecTaskInfo*::pRoot::fpSet::getNextFn
    - tstrerror
    - atomic_store_64
    - isTaskKilled
    - blockDataCheck
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamExecuteTask(qTaskInfo_t tInfo, SSDataBlock** ppRes, bool*
      finished)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1923,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/executor.c:1926,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1928,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1928,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1937,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1939,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1940,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1940,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 11
    argNames:
    - pVnode
    - suid
    - uid
    - tableType
    - pGroupTags
    - groupSort
    - pTagCond
    - pTagIndexCond
    - storageAPI
    - pTableListInfo
    - groupIdMap
    argTypes:
    - void*
    - uint64_t
    - uint64_t
    - int8_t
    - SNodeList*
    - bool
    - SNode*
    - SNode*
    - SStorageAPI*
    - void**
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1918
    functionDepth: 1
    functionLinenumber: 1918
    functionLinenumberEnd: 1947
    functionName: qStreamCreateTableListForReader
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - tableListCreate
    - qError
    - createScanTableListInfo
    - qDebug
    - tstrerror
    - tableListDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qStreamCreateTableListForReader(void* pVnode, uint64_t suid,
      uint64_t uid, int8_t tableType,\n                                        SNodeList*
      pGroupTags, bool groupSort, SNode* pTagCond, SNode* pTagIndexCond,\n                                        SStorageAPI*
      storageAPI, void** pTableListInfo, SHashObj* groupIdMap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doFilterByTagCond
      Src: /src/tdengine/source/libs/executor/src/executor.c:1950,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1954,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:1956,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - pVnode
    - pListInfo
    - pUidList
    - pTagCond
    - pStorageAPI
    argTypes:
    - void*
    - STableListInfo*
    - SArray*
    - SNode*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1949
    functionDepth: 1
    functionLinenumber: 1949
    functionLinenumberEnd: 1968
    functionName: doFilterTableByTagCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArrayGetSize
    - doFilterByTagCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t doFilterTableByTagCond(void* pVnode, STableListInfo* pListInfo,
      SArray* pUidList, SNode* pTagCond, SStorageAPI* pStorageAPI)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/executor.c:1975,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/executor.c:1980,1
    - Dst: doFilterTableByTagCond
      Src: /src/tdengine/source/libs/executor/src/executor.c:1990,1
    - Dst: buildGroupIdMapForAllTables
      Src: /src/tdengine/source/libs/executor/src/executor.c:1994,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:2002,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:2003,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:2004,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:2008,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:2010,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2017,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2018,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 9
    argNames:
    - pVnode
    - uidList
    - pGroupTags
    - pTagCond
    - pTagIndexCond
    - storageAPI
    - groupIdMap
    - suid
    - tableList
    argTypes:
    - void*
    - SArray*
    - SNodeList*
    - SNode*
    - SNode*
    - SStorageAPI*
    - SHashObj*
    - uint64_t
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 1970
    functionDepth: 2
    functionLinenumber: 1970
    functionLinenumberEnd: 2020
    functionName: qStreamFilterTableListForReader
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - buildGroupIdMapForAllTables
    - doFilterTableByTagCond
    - tableListCreate
    - taosHashGet
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayClear
    - taosArrayDup
    - tableListDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qStreamFilterTableListForReader(void* pVnode, SArray* uidList,\n
      \                                       SNodeList* pGroupTags, SNode* pTagCond,
      SNode* pTagIndexCond,\n                                        SStorageAPI*
      storageAPI, SHashObj* groupIdMap, uint64_t suid, SArray** tableList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2043
    functionDepth: 1
    functionLinenumber: 2043
    functionLinenumberEnd: 2043
    functionName: qStreamDestroyTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - tableListDestroy
    linkageType: ''
    returnType: void
    signature: void qStreamDestroyTableList(void* pTableListInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2047
    functionName: qStreamGetTableListArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SArray
    signature: SArray *  qStreamGetTableListArray(void* pTableListInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/executor.c:2049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pBlock
    - pFilterInfo
    - pRet
    argTypes:
    - SSDataBlock*
    - void*
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2049
    functionDepth: 5
    functionLinenumber: 2049
    functionLinenumberEnd: 2049
    functionName: qStreamFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - doFilter
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStreamFilter(SSDataBlock* pBlock, void* pFilterInfo, SColumnInfoData**
      pRet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:2052,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:2053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tInfo
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2051
    functionDepth: 3
    functionLinenumber: 2051
    functionLinenumberEnd: 2054
    functionName: streamDestroyExecTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - qDebug
    - qDestroyTask
    linkageType: ''
    returnType: void
    signature: void streamDestroyExecTask(qTaskInfo_t tInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamCalcOneScalarExprInRange
      Src: /src/tdengine/source/libs/executor/src/executor.c:2057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pExpr
    - pDst
    - pExtraParams
    argTypes:
    - SNode*
    - SScalarParam*
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2058
    functionName: streamCalcOneScalarExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - streamCalcOneScalarExprInRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamCalcOneScalarExpr(SNode* pExpr, SScalarParam* pDst, const
      SStreamRuntimeFuncInfo* pExtraParams)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:2069,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:2071,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/src/executor.c:2080,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/executor/src/executor.c:2083,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:2087,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:2105,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:2109,1
    - Dst: scalarCalculateInRange
      Src: /src/tdengine/source/libs/executor/src/executor.c:2116,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2118,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executor.c:2120,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:2121,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:2122,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 5
    argNames:
    - pExpr
    - pDst
    - rowStartIdx
    - rowEndIdx
    - pExtraParams
    argTypes:
    - SNode*
    - SScalarParam*
    - int32_t
    - int32_t
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2060
    functionDepth: 6
    functionLinenumber: 2060
    functionLinenumberEnd: 2124
    functionName: streamCalcOneScalarExprInRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - nodesMakeList
    - nodesDestroyList
    - destroyExprInfo
    - nodesMakeNode
    - createExprInfo
    - scalarCalculateInRange
    - taosArrayInit
    - taosArrayDestroy
    - nodesCloneNode
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamCalcOneScalarExprInRange(SNode* pExpr, SScalarParam*
      pDst, int32_t rowStartIdx, int32_t rowEndIdx,\n                                       const
      SStreamRuntimeFuncInfo* pExtraParams)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:2133,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:2139,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/executor.c:2140,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:2143,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executor.c:2148,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2150,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:2150,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:2161,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:2162,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:2164,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executor.c:2165,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:2166,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executor.c:2167,1
    - Dst: streamCalcOneScalarExprInRange
      Src: /src/tdengine/source/libs/executor/src/executor.c:2172,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:2176,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - tInfo
    - pRes
    - winIdx
    argTypes:
    - qTaskInfo_t
    - SSDataBlock**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2126
    functionDepth: 7
    functionLinenumber: 2126
    functionLinenumberEnd: 2184
    functionName: streamForceOutput
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 2
    functionsReached:
    - streamCalcOneScalarExprInRange
    - taosArrayGet
    - blockDataEnsureCapacity
    - qError
    - nodesStringToNode
    - createColumnInfoData
    - colDataSetVal
    - nodeType
    - createDataBlock
    - nodesGetValueFromNode
    - tstrerror
    - blockDataAppendColInfo
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamForceOutput(qTaskInfo_t tInfo, SSDataBlock** pRes, int32_t
      winIdx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2194,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executor.c:2202,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2203,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:2207,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2209,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executor.c:2213,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executor.c:2214,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executor.c:2218,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2219,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:2223,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2226,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executor.c:2236,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:2239,1
    - Dst: streamCalcOneScalarExpr
      Src: /src/tdengine/source/libs/executor/src/executor.c:2245,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/executor/src/executor.c:2246,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:2247,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executor.c:2251,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/executor.c:2251,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executor.c:2252,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/executor.c:2252,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2256,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2262,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2266,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2270,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/executor/src/executor.c:2272,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2274,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:2278,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 3
    argNames:
    - pExpr
    - tbname
    - pStreamRuntimeInfo
    argTypes:
    - SNode*
    - char*
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2186
    functionDepth: 2
    functionLinenumber: 2186
    functionLinenumberEnd: 2281
    functionName: streamCalcOutputTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 5
    functionsReached:
    - colInfoDataEnsureCapacity
    - colDataGetVarData
    - varDataVal
    - memcpy
    - qError
    - varDataLen
    - qInfo
    - nodesGetValueFromNode
    - tstrncpy
    - taosMemoryFree
    - streamCalcOneScalarExpr
    - strchr
    - sclFreeParam
    - IS_STR_DATA_TYPE
    - colDataIsNull_var
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamCalcOutputTbName(SNode* pExpr, char* tbname, SStreamRuntimeFuncInfo*
      pStreamRuntimeInfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:2286,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:2290,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:2294,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2298,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2302,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2306,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:2310,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:2313,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2283
    functionDepth: 1
    functionLinenumber: 2283
    functionLinenumberEnd: 2315
    functionName: destroyStreamInserterParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosMemFree
    linkageType: ''
    returnType: void
    signature: void destroyStreamInserterParam(SStreamInserterParam* pParam)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executor.c:2320,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:2322,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2323,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2328,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2329,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2332,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2333,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2336,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2337,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2342,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2343,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2349,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2350,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2356,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2357,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/executor.c:2363,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:2364,1
    - Dst: destroyStreamInserterParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:2373,1
    - Dst: stError
      Src: /src/tdengine/source/libs/executor/src/executor.c:2377,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:2377,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - ppDst
    - pSrc
    argTypes:
    - SStreamInserterParam**
    - SStreamInserterParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2317
    functionDepth: 2
    functionLinenumber: 2317
    functionLinenumberEnd: 2380
    functionName: cloneStreamInserterParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - stError
    - destroyStreamInserterParam
    - TSDB_CHECK_NULL
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - taosStrdup
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneStreamInserterParam(SStreamInserterParam** ppDst, SStreamInserterParam*
      pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doDropStreamTable
      Src: /src/tdengine/source/libs/executor/src/executor.c:2383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pMsgCb
    - pOutput
    - pReq
    argTypes:
    - SMsgCb*
    - void*
    - SSTriggerDropRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2382
    functionDepth: 5
    functionLinenumber: 2382
    functionLinenumberEnd: 2384
    functionName: dropStreamTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - doDropStreamTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropStreamTable(SMsgCb* pMsgCb, void* pOutput, SSTriggerDropRequest*
      pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doDropStreamTableByTbName
      Src: /src/tdengine/source/libs/executor/src/executor.c:2387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pMsgCb
    - pOutput
    - pReq
    - tbName
    argTypes:
    - SMsgCb*
    - void*
    - SSTriggerDropRequest*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2386
    functionDepth: 5
    functionLinenumber: 2386
    functionLinenumberEnd: 2388
    functionName: dropStreamTableByTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 1
    functionsReached:
    - doDropStreamTableByTbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t dropStreamTableByTbName(SMsgCb* pMsgCb, void* pOutput, SSTriggerDropRequest*
      pReq, char* tbName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doFilterByTagCond
      Src: /src/tdengine/source/libs/executor/src/executor.c:2394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - pVnode
    - uidList
    - node
    - pTaskInfo
    - suid
    argTypes:
    - void*
    - SArray*
    - SNode*
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2400
    functionName: qFilterTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 0
    functionsReached:
    - doFilterByTagCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t qFilterTableList(void* pVnode, SArray* uidList, SNode* node,
      void* pTaskInfo, uint64_t suid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: llabs
      Src: /src/tdengine/source/libs/executor/src/executor.c:2407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - pTrueForInfo
    - skey
    - ekey
    - count
    argTypes:
    - STrueForInfo*
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2421
    functionName: isTrueForSatisfied
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: 5
    functionsReached:
    - llabs
    linkageType: ''
    returnType: bool
    signature: bool isTrueForSatisfied(STrueForInfo* pTrueForInfo, int64_t skey, int64_t
      ekey, int64_t count)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:66,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:71,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:75,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:76,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:76,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:82,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:85,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:90,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:93,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:95,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:100,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:104,1
    - Dst: IS_INVALID_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:108,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:109,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - pHandle
    - pInput
    argTypes:
    - SDataDispatchHandle*
    - SInputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 118
    functionName: inputSafetyCheck
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - FOREACH
    - taosArrayGetSize
    - IS_INVALID_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t inputSafetyCheck(SDataDispatchHandle* pHandle, const SInputData*
      pInput)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:125,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:129,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:130,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:135,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:138,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:140,1
    - Dst: IS_INVALID_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:145,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - pInput
    argTypes:
    - SInputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 152
    functionName: inputSafetyCheckForDynamicSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - IS_INVALID_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t inputSafetyCheckForDynamicSchema(const SInputData* pInput)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: inputSafetyCheckForDynamicSchema
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:169,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:171,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:174,1
    - Dst: inputSafetyCheck
      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: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:182,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:204,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:206,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:212,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:216,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:222,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:224,1
    - Dst: tsCompressString
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:228,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:237,1
    - Dst: blockEncodeInternal
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:242,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:243,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:245,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:254,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:255,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 71
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pBuf
    argTypes:
    - SDataDispatchHandle*
    - SInputData*
    - SDataDispatchBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 258
    functionName: toDataCacheEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - QRY_RET
    - blockEncode
    - tsCompressString
    - blockEncodeInternal
    - qError
    - atomic_add_fetch_64
    - inputSafetyCheckForDynamicSchema
    - TAOS_MEMCPY
    - FOREACH
    - taosArrayGetSize
    - taosMemoryRealloc
    - inputSafetyCheck
    linkageType: ''
    returnType: int32_t
    signature: int32_t toDataCacheEntry(SDataDispatchHandle* pHandle, const SInputData*
      pInput, SDataDispatchBuf* pBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockGetInternalEncodeSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:271,1
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:272,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:274,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pDispatcher
    - pInput
    - pBuf
    argTypes:
    - SDataDispatchHandle*
    - SInputData*
    - SDataDispatchBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 281
    functionName: allocBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 1
    functionsReached:
    - blockGetInternalEncodeSize
    - blockGetEncodeSize
    - qError
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 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:284,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:285,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pDispatcher
    argTypes:
    - SDataDispatchHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: updateStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 2
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - taosQueueItemSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateStatus(SDataDispatchHandle* pDispatcher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:295,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pDispatcher
    argTypes:
    - SDataDispatchHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: getStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t getStatus(SDataDispatchHandle* pDispatcher)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:306,1
    - Dst: allocBuf
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:311,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:313,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:317,1
    - Dst: toDataCacheEntry
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:317,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:318,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:318,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:320,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:326,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pContinue
    argTypes:
    - SDataSinkHandle*
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 329
    functionName: putDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 18
    functionsReached:
    - taosMemoryFreeClear
    - QRY_ERR_JRET
    - toDataCacheEntry
    - taosFreeQitem
    - taosAllocateQitem
    - allocBuf
    - taosWriteQitem
    - updateStatus
    linkageType: ''
    returnType: int32_t
    signature: 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:333,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pHandle
    - useconds
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: endPut
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void endPut(struct SDataSinkHandle* pHandle, uint64_t useconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:341,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - struct SDataSinkHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: resetDispatcher
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void resetDispatcher(struct SDataSinkHandle* pHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:348,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:355,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:357,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:358,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - pHandle
    - pLen
    - pRowLen
    - pQueryEnd
    argTypes:
    - SDataSinkHandle*
    - int64_t*
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 368
    functionName: getDataLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - taosReadQitem
    - taosFreeQitem
    - qDebug
    - TAOS_MEMCPY
    - taosQueueEmpty
    linkageType: ''
    returnType: void
    signature: void getDataLength(SDataSinkHandle* pHandle, int64_t* pLen, int64_t*
      pRowLen, bool* pQueryEnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:374,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:386,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:391,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:392,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:394,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:395,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:397,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - pHandle
    - pOutput
    argTypes:
    - SDataSinkHandle*
    - SOutputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 404
    functionName: getDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - atomic_sub_fetch_64
    - TAOS_MEMCPY
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - updateStatus
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDataBlock(SDataSinkHandle* pHandle, SOutputData* pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:408,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:409,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:410,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:412,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:414,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:416,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:417,1
    - Dst: taosCloseQueue
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:421,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:422,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:425,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SDataSinkHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 406
    functionDepth: 4
    functionLinenumber: 406
    functionLinenumberEnd: 428
    functionName: destroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 3
    functionsReached:
    - taosReadQitem
    - taosMemoryFreeClear
    - atomic_sub_fetch_64
    - taosFreeQitem
    - taosThreadMutexDestroy
    - taosMemoryFree
    - taosQueueEmpty
    - nodesDestroyNode
    - taosCloseQueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t destroyDataSinker(SDataSinkHandle* pHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - size
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: getCacheSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t getCacheSize(struct SDataSinkHandle* pHandle, uint64_t* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - pFlags
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: getSinkFlags
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSinkFlags(struct SDataSinkHandle* pHandle, uint64_t* pFlags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:450,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:456,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pInputDataBlockDesc
    argTypes:
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 470
    functionName: blockDescNodeCheck
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDescNodeCheck(SDataBlockDescNode* pInputDataBlockDesc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:474,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pInputDataBlockDesc
    argTypes:
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 489
    functionName: getOutputColCounts
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 0
    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:494,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:496,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:501,1
    - Dst: getOutputColCounts
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:520,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:523,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:528,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:544,1
    - Dst: dsDestroyDataSinker
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:547,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:550,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 4
    argNames:
    - pManager
    - ppDataSink
    - pHandle
    - processOneBlock
    argTypes:
    - SDataSinkManager*
    - SDataSinkNode**
    - DataSinkHandle*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 554
    functionName: createDataDispatcher
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: 1
    functionsReached:
    - dsDestroyDataSinker
    - blockDescNodeCheck
    - qError
    - getOutputColCounts
    - taosThreadMutexInit
    - taosMemoryFree
    - taosOpenQueue
    - nodesDestroyNode
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataDispatcher(SDataSinkManager* pManager, SDataSinkNode**
      ppDataSink, DataSinkHandle* pHandle, bool processOneBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:34,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:36,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:43,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pTable
    - timestamp
    - wholeBlk
    - pGrp
    argTypes:
    - SMJoinTableCtx*
    - int64_t
    - bool*
    - SMJoinGrpRows*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 64
    functionName: mJoinBuildEqGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - colDataGetNumData
    - MJ_ERR_RET
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinBuildEqGrp(SMJoinTableCtx* pTable, int64_t timestamp,
      bool* wholeBlk, SMJoinGrpRows* pGrp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:67,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:68,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:71,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:73,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:77,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:81,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:84,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:85,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:94,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:97,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:99,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 109
    functionName: mJoinTrimKeepFirstRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - colDataGetVarData
    - taosArrayGet
    - TAOS_MEMSET
    - colDataSetNull_f
    - taosArrayGetSize
    - colDataIsNull_f
    - MJ_ERR_RET
    - colDataIsNull_var
    - calcStrBytesByType
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinTrimKeepFirstRow(SSDataBlock* pBlock)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:114,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:117,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:120,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:122,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:126,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:131,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:141,1
    - Dst: colDataSetNull_var
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:142,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:146,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:147,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:155,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:157,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:159,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:160,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:162,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:163,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:165,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:177,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:179,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:183,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:184,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:199,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:200,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:217,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:218,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:234,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:235,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:252,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:253,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:272,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 129
    argCount: 3
    argNames:
    - pBlock
    - totalRows
    - pBoolList
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 276
    functionName: mJoinTrimKeepOneRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - colDataGetVarData
    - taosArrayGet
    - taosMemoryFreeClear
    - TAOS_MEMSET
    - BMIsNull
    - colDataSetNull_var
    - colDataSetVal
    - colDataSetNull_f
    - TAOS_MEMCPY
    - taosMemoryFree
    - taosArrayGetSize
    - taosMemoryCalloc
    - MJ_ERR_RET
    - colDataIsNull_var
    - calcStrBytesByType
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinTrimKeepOneRow(SSDataBlock* pBlock, int32_t totalRows,
      const bool* pBoolList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:284,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:287,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:293,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:300,1
    - Dst: MJOIN_ROW_BITMAP_SET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:306,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:310,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:314,1
    - Dst: extractQualifiedTupleByFilterResult
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:320,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:323,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:324,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 4
    argNames:
    - pBlock
    - pFilterInfo
    - build
    - startRowIdx
    argTypes:
    - SSDataBlock*
    - SFilterInfo*
    - SMJoinTableCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 327
    functionName: mJoinFilterAndMarkHashRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - extractQualifiedTupleByFilterResult
    - MJOIN_SET_ROW_BITMAP
    - MJOIN_ROW_BITMAP_SET
    - taosMemoryFree
    - taosArrayGetSize
    - colDataDestroy
    - filterExecute
    - filterSetDataFromSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mJoinFilterAndMarkHashRows(SSDataBlock* pBlock, SFilterInfo*
      pFilterInfo, SMJoinTableCtx* build,\n                                   int32_t
      startRowIdx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:336,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:339,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:345,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:352,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:355,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:357,1
    - Dst: MJOIN_ROW_BITMAP_SET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:373,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:377,1
    - Dst: extractQualifiedTupleByFilterResult
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:387,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:391,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 5
    argNames:
    - pBlock
    - pFilterInfo
    - build
    - startGrpIdx
    - startRowIdx
    argTypes:
    - SSDataBlock*
    - SFilterInfo*
    - SMJoinTableCtx*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 394
    functionName: mJoinFilterAndMarkRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - extractQualifiedTupleByFilterResult
    - taosArrayGet
    - MJOIN_SET_ROW_BITMAP
    - MJOIN_ROW_BITMAP_SET
    - taosMemoryFree
    - taosArrayGetSize
    - colDataDestroy
    - filterExecute
    - filterSetDataFromSlotId
    - MJ_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mJoinFilterAndMarkRows(SSDataBlock* pBlock, SFilterInfo* pFilterInfo,
      SMJoinTableCtx* build,\n                               int32_t startGrpIdx,
      int32_t startRowIdx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:401,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:404,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:410,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:417,1
    - Dst: mJoinTrimKeepFirstRow
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:417,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:421,1
    - Dst: mJoinTrimKeepOneRow
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:421,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:428,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:429,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pBlock
    - pFilterInfo
    argTypes:
    - SSDataBlock*
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 396
    functionDepth: 4
    functionLinenumber: 396
    functionLinenumberEnd: 432
    functionName: mJoinFilterAndKeepSingleRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinTrimKeepFirstRow
    - taosMemoryFree
    - taosArrayGetSize
    - mJoinTrimKeepOneRow
    - colDataDestroy
    - filterExecute
    - filterSetDataFromSlotId
    - MJ_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinFilterAndKeepSingleRow(SSDataBlock* pBlock, SFilterInfo*
      pFilterInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:439,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:442,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:448,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:461,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:462,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pBlock
    - pFilterInfo
    argTypes:
    - SSDataBlock*
    - SFilterInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 434
    functionDepth: 4
    functionLinenumber: 434
    functionLinenumberEnd: 465
    functionName: mJoinFilterAndNoKeepRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - taosArrayGetSize
    - colDataDestroy
    - filterExecute
    - filterSetDataFromSlotId
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinFilterAndNoKeepRows(SSDataBlock* pBlock, SFilterInfo*
      pFilterInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:483,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:483,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:484,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:489,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:489,1
    - Dst: blockDataShrinkNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pCtx
    - ppMid
    - ppFin
    argTypes:
    - SMJoinMergeCtx*
    - SSDataBlock**
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 503
    functionName: mJoinCopyMergeMidBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - blockDataMerge
    - blockDataCleanup
    - blockDataMergeNRows
    - MJ_ERR_RET
    - blockDataShrinkNRows
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinCopyMergeMidBlk(SMJoinMergeCtx* pCtx, SSDataBlock** ppMid,
      SSDataBlock** ppFin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: mJoinHandleMidRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinHandleMidRemains(SMJoinMergeCtx* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:518,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:522,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:523,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:525,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:528,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:528,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:533,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:535,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - pJoin
    - pRes
    - append
    - pGrp
    - probeGrp
    argTypes:
    - SMJoinOperatorInfo*
    - SSDataBlock*
    - bool
    - SMJoinGrpRows*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 543
    functionName: mJoinNonEqGrpCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataSetNItemsNull
    - GRP_REMAIN_ROWS
    - colDataAssignNRows
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mJoinNonEqGrpCart(SMJoinOperatorInfo* pJoin, SSDataBlock*
      pRes, bool append, SMJoinGrpRows* pGrp,\n                          bool probeGrp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:559,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:560,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:560,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:566,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - pCtx
    - pGrp
    - probeGrp
    - singleProbeRow
    argTypes:
    - SMJoinCommonCtx*
    - SMJoinGrpRows*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 573
    functionName: mJoinNonEqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    - GRP_REMAIN_ROWS
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinNonEqCart(SMJoinCommonCtx* pCtx, SMJoinGrpRows* pGrp,
      bool probeGrp, bool singleProbeRow)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:580,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:581,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:585,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:586,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:588,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:592,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:593,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:596,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:598,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:600,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:604,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:606,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:608,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:608,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:608,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:616,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:617,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:619,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:623,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:623,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - pJoin
    - pRes
    - append
    - pFirst
    - pSecond
    argTypes:
    - SMJoinOperatorInfo*
    - SSDataBlock*
    - bool
    - SMJoinGrpRows*
    - SMJoinGrpRows*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 630
    functionName: mJoinMergeGrpCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - qError
    - colDataSetNItemsNull
    - colDataSetNItems
    - GRP_REMAIN_ROWS
    - colDataAssignNRows
    - MJ_ERR_RET
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mJoinMergeGrpCart(SMJoinOperatorInfo* pJoin, SSDataBlock*
      pRes, bool append, SMJoinGrpRows* pFirst,\n                          SMJoinGrpRows*
      pSecond)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:643,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:653,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:658,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:659,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:661,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:664,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:665,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:667,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:667,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:667,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:673,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:675,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:677,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:680,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:682,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:685,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:685,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - pBlk
    - probeGrp
    - append
    - probe
    - build
    - cont
    argTypes:
    - SSDataBlock*
    - SMJoinGrpRows*
    - bool
    - SMJoinTableCtx*
    - SMJoinTableCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 706
    functionName: mJoinHashGrpCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - TMIN
    - colDataSetNItemsNull
    - colDataSetNItems
    - taosArrayGetSize
    - colDataAssignNRows
    - MJ_ERR_RET
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mJoinHashGrpCart(SSDataBlock* pBlk, SMJoinGrpRows* probeGrp,
      bool append, SMJoinTableCtx* probe,\n                         SMJoinTableCtx*
      build, bool* cont)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:709,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:711,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:713,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:716,1
    - Dst: mJoinGetRowBitmapOffset
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pTb
    argTypes:
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 721
    functionName: mJoinAllocGrpRowBitmap
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinGetRowBitmapOffset
    - MJ_ERR_RET
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinAllocGrpRowBitmap(SMJoinTableCtx* pTb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:728,1
    - Dst: mJoinBuildEqGroups
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:728,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:730,1
    - Dst: mJoinRetrieveEqGrpRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:730,1
    - Dst: REACH_HJOIN_THRESHOLD
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:735,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:738,1
    - Dst: mJoinCreateFullBuildTbHash
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:738,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:740,1
    - Dst: mJoinCreateBuildTbHash
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:740,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:745,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:757,1
    - Dst: mJoinAllocGrpRowBitmap
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:757,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - pCtx
    - timestamp
    - lastBuildGrp
    argTypes:
    - SMJoinMergeCtx*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 761
    functionName: mJoinProcessEqualGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinRetrieveEqGrpRows
    - REACH_HJOIN_THRESHOLD
    - mJoinAllocGrpRowBitmap
    - mJoinCreateFullBuildTbHash
    - mJoinSetKeyColsData
    - mJoinCreateBuildTbHash
    - mJoinBuildEqGroups
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinProcessEqualGrp(SMJoinMergeCtx* pCtx, int64_t timestamp,
      bool lastBuildGrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:771,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:772,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - pCtx
    - pTb
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinTableCtx*
    - SColumnInfoData*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 781
    functionName: mJoinProcessLowerGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - PROBE_TS_NMATCH
    - mJoinNonEqCart
    - MJOIN_GET_TB_CUR_TS
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mJoinProcessLowerGrp(SMJoinMergeCtx* pCtx, SMJoinTableCtx*
      pTb, SColumnInfoData* pCol, int64_t* probeTs,\n                             int64_t*
      buildTs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:791,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:792,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - pCtx
    - pTb
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinTableCtx*
    - SColumnInfoData*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 801
    functionName: mJoinProcessGreaterGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - PROBE_TS_NREACH
    - mJoinNonEqCart
    - MJOIN_GET_TB_CUR_TS
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mJoinProcessGreaterGrp(SMJoinMergeCtx* pCtx, SMJoinTableCtx*
      pTb, SColumnInfoData* pCol, int64_t* probeTs,\n                               int64_t*
      buildTs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 811
    functionName: mJoinBuildDownstreams
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SOperatorInfo
    signature: SOperatorInfo ** mJoinBuildDownstreams(SMJoinOperatorInfo* pInfo, SOperatorInfo**
      pDownstream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mJoinBuildDownstreams
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pInfo
    - pDownstream
    - numOfDownstream
    - newDownstreams
    argTypes:
    - SMJoinOperatorInfo*
    - SOperatorInfo***
    - int32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 825
    functionName: mJoinInitDownstreamInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinBuildDownstreams
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mJoinInitDownstreamInfo(SMJoinOperatorInfo* pInfo, SOperatorInfo***
      pDownstream, int32_t* numOfDownstream,\n                                bool*
      newDownstreams)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pTable
    - slotId
    argTypes:
    - SMJoinTableCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 836
    functionName: mJoinInitPrimKeyInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinInitPrimKeyInfo(SMJoinTableCtx* pTable, int32_t slotId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:839,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:841,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - colNum
    - rowSize
    - pCols
    - pList
    argTypes:
    - int32_t*
    - int64_t*
    - SMJoinColInfo**
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 861
    functionName: mJoinInitColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - IS_VAR_DATA_TYPE
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinInitColsInfo(int32_t* colNum, int64_t* rowSize, SMJoinColInfo**
      pCols, SNodeList* pList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 858
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 38
    functionsReached:
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:865,1
    - Dst: mJoinInitColsInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:865,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:874,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pTable
    - pList
    - allocKeyBuf
    argTypes:
    - SMJoinTableCtx*
    - SNodeList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 881
    functionName: mJoinInitKeyColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - TMAX
    - MJ_ERR_RET
    - taosMemoryMalloc
    - mJoinInitColsInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinInitKeyColsInfo(SMJoinTableCtx* pTable, SNodeList* pList,
      bool allocKeyBuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:884,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:884,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pTable
    - pList
    argTypes:
    - SMJoinTableCtx*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 906
    functionName: mJoinInitFinColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - taosMemoryMalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinInitFinColsInfo(SMJoinTableCtx* pTable, SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 901
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 38
    functionsReached:
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:918,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:924,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:930,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:931,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:938,1
    - Dst: offsetFromTz
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:940,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:940,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:940,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:943,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:943,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pCtx
    - pTarget
    argTypes:
    - SMJoinPrimExprCtx*
    - STargetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 948
    functionName: mJoinInitFuncPrimExprCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - qDebug
    - offsetFromTz
    - TSDB_TICK_PER_SECOND
    - varDataVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinInitFuncPrimExprCtx(SMJoinPrimExprCtx* pCtx, STargetNode*
      pTarget)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCtx
    - pTarget
    argTypes:
    - SMJoinPrimExprCtx*
    - STargetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 960
    functionName: mJoinInitValPrimExprCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinInitValPrimExprCtx(SMJoinPrimExprCtx* pCtx, STargetNode*
      pTarget)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:968,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:969,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:969,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:974,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:974,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:975,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:975,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:979,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:980,1
    - Dst: mJoinInitFuncPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:980,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:981,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:982,1
    - Dst: mJoinInitValPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pNode
    - pCtx
    - pTable
    argTypes:
    - SNode*
    - SMJoinPrimExprCtx*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 988
    functionName: mJoinInitPrimExprCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinInitValPrimExprCtx
    - qError
    - nodeType
    - mJoinInitFuncPrimExprCtx
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinInitPrimExprCtx(SNode* pNode, SMJoinPrimExprCtx* pCtx,
      SMJoinTableCtx* pTable)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getOperatorResultBlockId
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:994,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:995,1
    - Dst: mJoinInitPrimKeyInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:995,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:997,1
    - Dst: mJoinInitKeyColsInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:997,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:999,1
    - Dst: mJoinInitFinColsInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:999,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1001,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1003,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1009,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1013,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1017,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1017,1
    - Dst: IS_FULL_OUTER_JOIN
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1022,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1024,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1044,1
    - Dst: mJoinInitPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1044,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 6
    argNames:
    - pJoin
    - pJoinNode
    - pDownstream
    - idx
    - pStat
    - sameDs
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    - SOperatorInfo**
    - int32_t
    - SQueryStat*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 990
    functionDepth: 4
    functionLinenumber: 990
    functionLinenumberEnd: 1047
    functionName: mJoinInitTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinInitPrimExprCtx
    - IS_FULL_OUTER_JOIN
    - taosMemoryMalloc
    - mJoinInitKeyColsInfo
    - getOperatorResultBlockId
    - mJoinInitPrimKeyInfo
    - TAOS_MEMCPY
    - tSimpleHashInit
    - taosArrayInit
    - MJ_ERR_RET
    - taosGetDefaultHashFunction
    - mJoinInitFinColsInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t mJoinInitTableInfo(SMJoinOperatorInfo* pJoin, SSortMergeJoinPhysiNode*
      pJoinNode,\n                                  SOperatorInfo** pDownstream, int32_t
      idx, SQueryStat* pStat, bool sameDs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - pInfo
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1090
    functionName: mJoinSetBuildAndProbeTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mJoinSetBuildAndProbeTable(SMJoinOperatorInfo* pInfo, SSortMergeJoinPhysiNode*
      pJoinNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1097,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1105,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1123,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1131
    functionName: mJoinLaunchPrimExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - MJ_ERR_RET
    - taosArrayGet
    - colDataSetNItems
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinLaunchPrimExpr(SSDataBlock* pBlock, SMJoinTableCtx* pTable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1134,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1138,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTable
    - rowIdx
    argTypes:
    - SMJoinTableCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1152
    functionName: mJoinGetExternalWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinGetExternalWinIdx(SMJoinTableCtx* pTable, int32_t rowIdx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mJoinGetExternalWinIdx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1169
    functionName: mJoinSetExternalWinIdxFromPeer
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinGetExternalWinIdx
    linkageType: ''
    returnType: void
    signature: void mJoinSetExternalWinIdxFromPeer(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1175,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1181,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1183,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1183,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1188,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1191,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1196
    functionName: mJoinSaveExternalWinIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayAddBatch
    - TARRAY_DATA
    - TMAX
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinSaveExternalWinIdx(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mJoinSetExternalWinIdxFromPeer
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1215,1
    - Dst: getNextBlockFromDownstreamRemain
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1216,1
    - Dst: mJoinSaveExternalWinIdx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1221,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1224,1
    - Dst: mJoinSetExternalWinIdxFromPeer
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1262,1
    - Dst: getNextBlockFromDownstreamRemain
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1263,1
    - Dst: mJoinSaveExternalWinIdx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1268,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1271,1
    - Dst: mJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1279,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1282,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1198
    functionDepth: 3
    functionLinenumber: 1198
    functionLinenumberEnd: 1286
    functionName: mJoinGrpRetrieveImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - getNextBlockFromDownstreamRemain
    - T_LONG_JMP
    - mJoinLaunchPrimExpr
    - mJoinSetExternalWinIdxFromPeer
    - mJoinSaveExternalWinIdx
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * mJoinGrpRetrieveImpl(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mJoinSetExternalWinIdxFromPeer
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1293,1
    - Dst: getNextBlockFromDownstreamRemain
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1294,1
    - Dst: mJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1298,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1301,1
    - Dst: mJoinSaveExternalWinIdx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1303,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1288
    functionDepth: 3
    functionLinenumber: 1288
    functionLinenumberEnd: 1311
    functionName: SSDataBlock* mJoinRetrieveImpl(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable)
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - getNextBlockFromDownstreamRemain
    - T_LONG_JMP
    - mJoinLaunchPrimExpr
    - mJoinSetExternalWinIdxFromPeer
    - mJoinSaveExternalWinIdx
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE SSDataBlock* mJoinRetrieveImpl(SMJoinOperatorInfo* pJoin,
      SMJoinTableCtx* pTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASOF_LOWER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1322,1
    - Dst: ASOF_GREATER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1322,1
    - Dst: mJoinInitWindowCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1325,1
    - Dst: mJoinInitMergeCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1330
    functionName: mJoinInitCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - ASOF_LOWER_ROW_INCLUDED
    - mJoinInitWindowCtx
    - ASOF_GREATER_ROW_INCLUDED
    - mJoinInitMergeCtx
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinInitCtx(SMJoinOperatorInfo* pJoin, SSortMergeJoinPhysiNode*
      pJoinNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinDestroyWindowCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1334,1
    - Dst: mJoinDestroyMergeCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1338
    functionName: mJoinDestroyCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinDestroyMergeCtx
    - mJoinDestroyWindowCtx
    linkageType: ''
    returnType: void
    signature: void mJoinDestroyCtx(SMJoinOperatorInfo* pJoin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1340
    functionName: mJoinIsDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mJoinIsDone(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1343,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1345,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1342
    functionDepth: 4
    functionLinenumber: 1342
    functionLinenumberEnd: 1350
    functionName: mJoinSetDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - setOperatorCompleted
    - freeOperatorParam
    linkageType: ''
    returnType: void
    signature: void mJoinSetDone(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1357,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1357,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pJoin
    - pIdx
    - ppBlk
    - pTb
    argTypes:
    - SMJoinOperatorInfo*
    - int32_t*
    - SSDataBlock**
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1369
    functionName: mJoinRetrieveBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - GET_TASKID
    - MJOIN_TBTYPE
    linkageType: ''
    returnType: bool
    signature: bool mJoinRetrieveBlk(SMJoinOperatorInfo* pJoin, int32_t* pIdx, SSDataBlock**
      ppBlk, SMJoinTableCtx* pTb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1372,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1374,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1374,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCreatedBlks
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1377
    functionName: mJoinDestroyCreatedBlks
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - TARRAY_GET_ELEM
    - blockDataDestroy
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void mJoinDestroyCreatedBlks(SArray* pCreatedBlks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1380,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1384,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pTable
    - rowNum
    - rowBitmapOffset
    argTypes:
    - SMJoinTableCtx*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1397
    functionName: mJoinGetRowBitmapOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryRealloc
    - BitmapLen
    - TAOS_MEMSET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinGetRowBitmapOffset(SMJoinTableCtx* pTable, int32_t rowNum,
      int32_t* rowBitmapOffset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinDestroyCreatedBlks
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1403,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1404,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1399
    functionDepth: 2
    functionLinenumber: 1399
    functionLinenumberEnd: 1409
    functionName: mJoinResetForBuildTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - TAOS_MEMSET
    - mJoinDestroyCreatedBlks
    linkageType: ''
    returnType: void
    signature: void mJoinResetForBuildTable(SMJoinTableCtx* pTable)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1412,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1414,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1420,1
    - Dst: mJoinResetForBuildTable
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1425,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1429,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1431,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1440,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1451,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1464,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1482,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1484,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1487,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1488,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1504,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1510,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1512,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1518,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1519,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1528,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 104
    argCount: 4
    argNames:
    - pTable
    - timestamp
    - wholeBlk
    - restart
    argTypes:
    - SMJoinTableCtx*
    - int64_t
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1411
    functionDepth: 3
    functionLinenumber: 1411
    functionLinenumberEnd: 1536
    functionName: mJoinBuildEqGroups
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - mJoinResetForBuildTable
    - taosArrayGet
    - blockDataExtractBlock
    - TMIN
    - createOneDataBlock
    - colDataGetNumData
    - taosArrayReserve
    - taosArrayPop
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinBuildEqGroups(SMJoinTableCtx* pTable, int64_t timestamp,
      bool* wholeBlk, bool restart)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1541,1
    - Dst: mJoinBuildEqGroups
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1541,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1545,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1545,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1546,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1555,1
    - Dst: mJoinBuildEqGroups
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pJoin
    - pTable
    - timestamp
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1538
    functionDepth: 4
    functionLinenumber: 1538
    functionLinenumberEnd: 1559
    functionName: mJoinRetrieveEqGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - GET_TASKID
    - qDebug
    - MJOIN_TBTYPE
    - mJoinBuildEqGroups
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinRetrieveEqGrpRows(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable, int64_t timestamp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1563,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1565,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1568,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1569,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1574,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1586
    functionName: mJoinSetKeyColsData
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - MJ_ERR_RET
    - qError
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinSetKeyColsData(SSDataBlock* pBlock, SMJoinTableCtx* pTable)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1593,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1598,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1601,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1609,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1614,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1614,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1615,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1618,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1618,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1619,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1622,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - pTable
    - rowIdx
    - pBufLen
    argTypes:
    - SMJoinTableCtx*
    - int32_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1634
    functionName: mJoinCopyKeyColsDataToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - getJsonValueLen
    - TAOS_MEMCPY
    - colDataIsNull_s
    - varDataTLen
    linkageType: ''
    returnType: bool
    signature: bool mJoinCopyKeyColsDataToBuf(SMJoinTableCtx* pTable, int32_t rowIdx,
      size_t* pBufLen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1638,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1639,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1643,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1647,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pTable
    - ppRes
    argTypes:
    - SMJoinTableCtx*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1636
    functionDepth: 1
    functionLinenumber: 1636
    functionLinenumberEnd: 1657
    functionName: mJoinGetAvailableGrpArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayClear
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinGetAvailableGrpArray(SMJoinTableCtx* pTable, SArray**
      ppRes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1662,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1665,1
    - Dst: mJoinGetAvailableGrpArray
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1665,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1667,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1670,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1670,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pJoin
    - keyLen
    - pBlock
    - rowIdx
    argTypes:
    - SMJoinOperatorInfo*
    - size_t
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1678
    functionName: mJoinAddRowToHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - mJoinGetAvailableGrpArray
    - tSimpleHashPut
    - MJ_ERR_RET
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinAddRowToHash(SMJoinOperatorInfo* pJoin, size_t keyLen,
      SSDataBlock* pBlock, int32_t rowIdx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1683,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1686,1
    - Dst: mJoinGetAvailableGrpArray
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1686,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1688,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1691,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1691,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pJoin
    - keyLen
    - pBlock
    - rowIdx
    argTypes:
    - SMJoinOperatorInfo*
    - size_t
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1680
    functionDepth: 2
    functionLinenumber: 1680
    functionLinenumberEnd: 1699
    functionName: mJoinAddRowToFullHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - mJoinGetAvailableGrpArray
    - tSimpleHashPut
    - MJ_ERR_RET
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinAddRowToFullHash(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:1704,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1709,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1711,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1715,1
    - Dst: mJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1715,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1717,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1719,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1725,1
    - Dst: mJoinAddRowToFullHash
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1701
    functionDepth: 3
    functionLinenumber: 1701
    functionLinenumberEnd: 1730
    functionName: mJoinCreateFullBuildTbHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - mJoinSetKeyColsData
    - tSimpleHashClear
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    - mJoinCopyKeyColsDataToBuf
    - mJoinAddRowToFullHash
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinCreateFullBuildTbHash(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1735,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1740,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1742,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1747,1
    - Dst: mJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1747,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1749,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1751,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1755,1
    - Dst: mJoinAddRowToHash
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1755,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1732
    functionDepth: 3
    functionLinenumber: 1732
    functionLinenumberEnd: 1760
    functionName: mJoinCreateBuildTbHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - mJoinSetKeyColsData
    - tSimpleHashClear
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    - mJoinCopyKeyColsDataToBuf
    - MJ_ERR_RET
    - mJoinAddRowToHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinCreateBuildTbHash(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1767,1
    - Dst: mJoinDestroyCreatedBlks
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1770,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1772
    functionName: mJoinResetGroupTableCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - tSimpleHashClear
    - mJoinDestroyCreatedBlks
    linkageType: ''
    returnType: void
    signature: void mJoinResetGroupTableCtx(SMJoinTableCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinResetGroupTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1774
    functionDepth: 3
    functionLinenumber: 1774
    functionLinenumberEnd: 1781
    functionName: mJoinResetTableCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinResetGroupTableCtx
    linkageType: ''
    returnType: void
    signature: void mJoinResetTableCtx(SMJoinTableCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1790
    functionName: mJoinResetMergeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mJoinResetMergeCtx(SMJoinMergeCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1798,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1801,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1804,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1809,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1813,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1816,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pCtx
    - pCache
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinWinCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1792
    functionDepth: 1
    functionLinenumber: 1792
    functionLinenumberEnd: 1818
    functionName: mWinJoinResetWindowCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TSWAP
    - blockDataCleanup
    - taosArrayGetSize
    - taosArrayClear
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void mWinJoinResetWindowCache(SMJoinWindowCtx* pCtx, SMJoinWinCache*
      pCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mWinJoinResetWindowCache
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1820
    functionDepth: 2
    functionLinenumber: 1820
    functionLinenumberEnd: 1828
    functionName: mJoinResetWindowCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mWinJoinResetWindowCache
    linkageType: ''
    returnType: void
    signature: void mJoinResetWindowCtx(SMJoinWindowCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinResetMergeCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1832,1
    - Dst: mJoinResetWindowCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1830
    functionDepth: 3
    functionLinenumber: 1830
    functionLinenumberEnd: 1836
    functionName: mJoinResetCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinResetWindowCtx
    - mJoinResetMergeCtx
    linkageType: ''
    returnType: void
    signature: void mJoinResetCtx(SMJoinOperatorInfo* pJoin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinResetTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1841,1
    - Dst: mJoinResetTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1842,1
    - Dst: mJoinResetCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1838
    functionDepth: 4
    functionLinenumber: 1838
    functionLinenumberEnd: 1850
    functionName: mJoinResetOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinResetCtx
    - mJoinResetTableCtx
    linkageType: ''
    returnType: void
    signature: void mJoinResetOperator(struct SOperatorInfo* pOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1858,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1858,1
    - Dst: mJoinResetOperator
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1861,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1862,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1862,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1871,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1878,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1880,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1880,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1882,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1852
    functionDepth: 5
    functionLinenumber: 1852
    functionLinenumberEnd: 1898
    functionName: mJoinMainProcess
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - qError
    - GET_TASKID
    - qDebug
    - doFilter
    - tstrerror
    - mJoinResetOperator
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinMainProcess(struct SOperatorInfo* pOperator, SSDataBlock**
      pResBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppArray
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1900
    functionDepth: 1
    functionLinenumber: 1900
    functionLinenumberEnd: 1903
    functionName: destroyGrpArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyGrpArray(void* ppArray)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinDestroyCreatedBlks
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1909,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1910,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1911,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1913,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1914,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1915,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1916,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1917,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1919,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1920,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SMJoinTableCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1905
    functionDepth: 2
    functionLinenumber: 1905
    functionLinenumberEnd: 1922
    functionName: destroyMergeJoinTableCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - mJoinDestroyCreatedBlks
    - tSimpleHashCleanup
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyMergeJoinTableCtx(SMJoinTableCtx* pTable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mJoinDestroyCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1927,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1930,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1934,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1938,1
    - Dst: destroyMergeJoinTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1942,1
    - Dst: destroyMergeJoinTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1943,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1924
    functionDepth: 3
    functionLinenumber: 1924
    functionLinenumberEnd: 1946
    functionName: destroyMergeJoinOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - destroyMergeJoinTableCtx
    - mJoinDestroyCtx
    - taosMemoryFreeClear
    - filterFreeInfo
    linkageType: ''
    returnType: void
    signature: void destroyMergeJoinOperator(void* param)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1954,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1954,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1961,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1961,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1968,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1968,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1972,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1973,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1976,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1976,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - pJoin
    - pJoinNode
    - pTaskInfo
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1948
    functionDepth: 16
    functionLinenumber: 1948
    functionLinenumberEnd: 1985
    functionName: mJoinHandleConds
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - MJ_ERR_RET
    - filterInitFromNode
    - mergeJoinConds
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinHandleConds(SMJoinOperatorInfo* pJoin, SSortMergeJoinPhysiNode*
      pJoinNode, SExecTaskInfo* pTaskInfo)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 2022
    functionName: mJoinSetImplFp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinSetImplFp(SMJoinOperatorInfo* pJoin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinResetOperator
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2024
    functionDepth: 5
    functionLinenumber: 2024
    functionLinenumberEnd: 2027
    functionName: resetMergeJoinOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 0
    functionsReached:
    - mJoinResetOperator
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetMergeJoinOperState(SOperatorInfo* pOper)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2032,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2038,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2044,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2049,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2052,1
    - Dst: mJoinInitDownstreamInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2052,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2054,1
    - Dst: mJoinSetBuildAndProbeTable
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2057,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2059,1
    - Dst: mJoinHandleConds
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2059,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2061,1
    - Dst: mJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2061,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2062,1
    - Dst: mJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2062,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2064,1
    - Dst: mJoinInitCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2064,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2065,1
    - Dst: mJoinSetImplFp
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2065,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2067,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2070,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2071,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2071,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2074,1
    - Dst: destroyMergeJoinOperator
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2086,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2088,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:2090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 5
    argNames:
    - pDownstream
    - numOfDownstream
    - pJoinNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SSortMergeJoinPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2029
    functionDepth: 17
    functionLinenumber: 2029
    functionLinenumberEnd: 2095
    functionName: createMergeJoinOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: 3
    functionsReached:
    - appendDownstream
    - setOperatorInfo
    - mJoinInitCtx
    - destroyMergeJoinOperator
    - QRY_PARAM_CHECK
    - mJoinHandleConds
    - mJoinSetBuildAndProbeTable
    - destroyOperatorAndDownstreams
    - initOperatorCostInfo
    - createOperatorFpSet
    - setOperatorResetStateFn
    - taosMemoryFree
    - mJoinSetImplFp
    - mJoinInitDownstreamInfo
    - MJ_ERR_JRET
    - taosMemoryCalloc
    - mJoinInitTableInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createMergeJoinOperatorInfo(SOperatorInfo** pDownstream, int32_t
      numOfDownstream,\n                                    SSortMergeJoinPhysiNode*
      pJoinNode, SExecTaskInfo* pTaskInfo,\n                                    SOperatorInfo**
      pOptrInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: createOperatorFpSet
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: SOperatorFpSet
    signature: "SOperatorFpSet createOperatorFpSet(__optr_open_fn_t openFn, __optr_fn_t
      nextFn, __optr_fn_t cleanup,\n                                   __optr_close_fn_t
      closeFn, __optr_reqBuf_fn_t reqBufFn, __optr_explain_fn_t explain,\n                                   __optr_get_ext_fn_t
      nextExtFn, __optr_notify_fn_t notifyFn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/operator.c:62,1
    - Dst: recordOpExecBegin
      Src: /src/tdengine/source/libs/executor/src/operator.c:64,1
    - Dst: SOperatorInfo*::fpSet::_nextFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:65,1
    - Dst: recordOpExecEnd
      Src: /src/tdengine/source/libs/executor/src/operator.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: optrGetNextFnWithExecRecord
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::_nextFn
    - recordOpExecBegin
    - recordOpExecEnd
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t optrGetNextFnWithExecRecord(SOperatorInfo* pOperator,\n                                           SSDataBlock**
      pResBlock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/operator.c:75,1
    - Dst: recordOpExecBegin
      Src: /src/tdengine/source/libs/executor/src/operator.c:77,1
    - Dst: SOperatorInfo*::fpSet::_nextExtFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:78,1
    - Dst: recordOpExecEnd
      Src: /src/tdengine/source/libs/executor/src/operator.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SOperatorParam*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: optrGetNextExtFnWithExecRecord
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::_nextExtFn
    - recordOpExecBegin
    - recordOpExecEnd
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t optrGetNextExtFnWithExecRecord(SOperatorInfo* pOperator,\n
      \                                             SOperatorParam* pParam,\n                                              SSDataBlock**
      pResBlock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::_resetFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:86,1
    - Dst: resetOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: optrResetStateFnWithExecRecord
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - resetOperatorCostInfo
    - SOperatorInfo*::fpSet::_resetFn
    linkageType: ''
    returnType: int32_t
    signature: int32_t optrResetStateFnWithExecRecord(SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pOperator
    - relaseFn
    - reloadFn
    argTypes:
    - SOperatorInfo*
    - __optr_state_fn_t
    - __optr_state_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: setOperatorStreamStateFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOperatorStreamStateFn(SOperatorInfo* pOperator, __optr_state_fn_t
      relaseFn, __optr_state_fn_t reloadFn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pOperator
    - resetFn
    argTypes:
    - SOperatorInfo*
    - __optr_reset_state_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: setOperatorResetStateFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOperatorResetStateFn(SOperatorInfo* pOperator, __optr_reset_state_fn_t
      resetFn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/operator.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: optrDummyOpenFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - OPTR_SET_OPENED
    linkageType: ''
    returnType: int32_t
    signature: int32_t optrDummyOpenFn(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/operator.c:107,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/operator.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p
    - pDownstream
    - num
    argTypes:
    - SOperatorInfo*
    - SOperatorInfo**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: appendDownstream
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 15
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendDownstream(SOperatorInfo* p, SOperatorInfo** pDownstream,
      int32_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/operator.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: setOperatorCompleted
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 17
    functionsReached:
    - setTaskStatus
    linkageType: ''
    returnType: void
    signature: void setOperatorCompleted(SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - pOperator
    - name
    - type
    - blocking
    - status
    - pInfo
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - char*
    - int32_t
    - bool
    - int32_t
    - void*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: setOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOperatorInfo(SOperatorInfo* pOperator, const char* name, int32_t
      type, bool blocking, int32_t status,\n                     void* pInfo, SExecTaskInfo*
      pTaskInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: optrDefaultBufFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t optrDefaultBufFn(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/tdengine/source/libs/executor/src/operator.c:162,1
    - Dst: traverseOperatorTree
      Src: /src/tdengine/source/libs/executor/src/operator.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - pOperator
    - fn
    - pParam
    - id
    argTypes:
    - SOperatorInfo*
    - optr_fn_t
    - STraverParam*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: traverseOperatorTree
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 1
    functionsReached:
    - traverseOperatorTree
    - fn
    linkageType: ''
    returnType: void
    signature: void traverseOperatorTree(SOperatorInfo* pOperator, optr_fn_t fn, STraverParam*
      pParam, const char* id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pIdStr
    argTypes:
    - SOperatorInfo*
    - STraverParam*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: extractOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ERetType
    signature: ERetType extractOperatorInfo(SOperatorInfo* pOperator, STraverParam*
      pParam, const char* pIdStr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/operator.c:187,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:190,1
    - Dst: traverseOperatorTree
      Src: /src/tdengine/source/libs/executor/src/operator.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pOperator
    - type
    - id
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - int32_t
    - char*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: extractOperatorInTree
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 5
    functionsReached:
    - traverseOperatorTree
    - qError
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractOperatorInTree(SOperatorInfo* pOperator, int32_t type,
      const char* id, SOperatorInfo** pOptrInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pIdStr
    argTypes:
    - SOperatorInfo*
    - STraverParam*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: extractScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ERetType
    signature: ERetType extractScanInfo(SOperatorInfo* pOperator, STraverParam* pParam,
      const char* pIdStr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: traverseOperatorTree
      Src: /src/tdengine/source/libs/executor/src/operator.c:243,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pOperator
    - order
    - scanFlag
    - inheritUsOrder
    argTypes:
    - SOperatorInfo*
    - int32_t*
    - int32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 254
    functionName: getTableScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - traverseOperatorTree
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableScanInfo(SOperatorInfo* pOperator, int32_t* order,
      int32_t* scanFlag, bool inheritUsOrder)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::tsdReader::tsdReaderNotifyClosing
      Src: /src/tdengine/source/libs/executor/src/operator.c:262,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderNotifyClosing
      Src: /src/tdengine/source/libs/executor/src/operator.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pIdStr
    argTypes:
    - SOperatorInfo*
    - STraverParam*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 279
    functionName: doStopDataReader
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::tsdReader::tsdReaderNotifyClosing
    linkageType: ''
    returnType: ERetType
    signature: ERetType doStopDataReader(SOperatorInfo* pOperator, STraverParam* pParam,
      const char* pIdStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traverseOperatorTree
      Src: /src/tdengine/source/libs/executor/src/operator.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pOperator
    - pIdStr
    - pAPI
    argTypes:
    - SOperatorInfo*
    - char*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: stopTableScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - traverseOperatorTree
    linkageType: ''
    returnType: int32_t
    signature: int32_t stopTableScanOperator(SOperatorInfo* pOperator, const char*
      pIdStr, SStorageAPI* pAPI)
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/operator.c:290,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/operator.c:293,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/operator.c:294,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/operator.c:296,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:306,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:309,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:309,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:316,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:319,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:329,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:333,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:334,1
    - Dst: createTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:339,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:342,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:350,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:353,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:353,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:362,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:366,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:367,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:371,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:374,1
    - Dst: createTableMergeScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:379,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:382,1
    - Dst: createExchangeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:389,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:393,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:396,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:396,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:401,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:405,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:406,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:406,1
    - Dst: createTmqScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:411,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:414,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:420,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:423,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:423,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:427,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:431,1
    - Dst: createSysTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:435,1
    - Dst: createSysTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:437,1
    - Dst: createTableCountScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:441,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:444,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:447,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:447,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:451,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:454,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:459,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:463,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:463,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:464,1
    - Dst: createTagScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:475,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:479,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:484,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:487,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:487,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/operator.c:492,1
    - Dst: SExecTaskInfo*::storageAPI::metaFn::getChildTableList
      Src: /src/tdengine/source/libs/executor/src/operator.c:493,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:496,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:497,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/operator.c:501,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/operator.c:503,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:508,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:511,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:512,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:517,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:519,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:522,1
    - Dst: createDataBlockInfoScanOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:527,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:530,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:535,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:538,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:538,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:542,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:546,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:550,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:553,1
    - Dst: createCacherowsScanOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:557,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:559,1
    - Dst: createProjectOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:564,1
    - Dst: createVirtualTableMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:567,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/operator.c:582,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/operator.c:583,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/operator.c:591,1
    - Dst: extWinPreInitFromSubquery
      Src: /src/tdengine/source/libs/executor/src/operator.c:595,1
    - Dst: createOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:597,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:600,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:602,1
    - Dst: createProjectOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:609,1
    - Dst: createGroupOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:613,1
    - Dst: createAggregateOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:615,1
    - Dst: createIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:619,1
    - Dst: createMergeAlignedIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:622,1
    - Dst: createMergeIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:625,1
    - Dst: createSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:627,1
    - Dst: createGroupSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:629,1
    - Dst: createMultiwayMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:632,1
    - Dst: createSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:635,1
    - Dst: createPartitionOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:637,1
    - Dst: createStatewindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:640,1
    - Dst: createMergeJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:642,1
    - Dst: createHashJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:644,1
    - Dst: createFillOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:646,1
    - Dst: createIndefinitOutputOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:648,1
    - Dst: createTimeSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:650,1
    - Dst: createForecastOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:652,1
    - Dst: createGenericAnalysisOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:654,1
    - Dst: createEventwindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:656,1
    - Dst: createGroupCacheOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:658,1
    - Dst: createDynQueryCtrlOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:660,1
    - Dst: createCountwindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:662,1
    - Dst: createAnomalywindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:664,1
    - Dst: createVirtualTableMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:672,1
    - Dst: createStreamExternalWindowOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:675,1
    - Dst: createExternalWindowOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:677,1
    - Dst: createStreamMergeAlignedExternalWindowOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:681,1
    - Dst: createMergeAlignedExternalWindowOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:683,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:689,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:691,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:692,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:696,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 362
    argCount: 9
    argNames:
    - pPhyNode
    - pTaskInfo
    - pHandle
    - pTagCond
    - pTagIndexCond
    - pUser
    - dbname
    - pOptrInfo
    - model
    argTypes:
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SNode*
    - SNode*
    - char*
    - char*
    - SOperatorInfo**
    - EOPTR_EXEC_MODEL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 287
    functionDepth: 18
    functionLinenumber: 287
    functionLinenumberEnd: 703
    functionName: createOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - createSessionAggOperatorInfo
    - createGroupOperatorInfo
    - createAnomalywindowOperatorInfo
    - createTableMergeScanOperatorInfo
    - createProjectOperatorInfo
    - createMergeJoinOperatorInfo
    - qError
    - createIndefinitOutputOperatorInfo
    - createGenericAnalysisOperatorInfo
    - nodeType
    - createTableCountScanOperatorInfo
    - createExternalWindowOperator
    - createCacherowsScanOperator
    - taosArrayDestroy
    - initQueriedTableSchemaInfo
    - SExecTaskInfo*::storageAPI::metaFn::getChildTableList
    - createTmqScanOperatorInfo
    - taosArrayGet
    - QRY_PARAM_CHECK
    - tableListCreate
    - createMultiwayMergeOperatorInfo
    - LIST_LENGTH
    - createScanTableListInfo
    - createExchangeOperatorInfo
    - createMergeAlignedExternalWindowOperator
    - createIntervalOperatorInfo
    - createSortOperatorInfo
    - taosArrayGetSize
    - createGroupSortOperatorInfo
    - createHashJoinOperatorInfo
    - extWinPreInitFromSubquery
    - tableListDestroy
    - taosMemoryCalloc
    - createFillOperatorInfo
    - createForecastOperatorInfo
    - createStreamExternalWindowOperator
    - GET_TASKID
    - tableListAddTableInfo
    - createStreamMergeAlignedExternalWindowOperator
    - createTableScanOperatorInfo
    - createTimeSliceOperatorInfo
    - createCountwindowOperatorInfo
    - createMergeIntervalOperatorInfo
    - createPartitionOperatorInfo
    - destroyOperator
    - createSysTableScanOperatorInfo
    - createTagScanOperatorInfo
    - createOperator
    - createDynQueryCtrlOperatorInfo
    - createMergeAlignedIntervalOperatorInfo
    - createStatewindowOperatorInfo
    - createVirtualTableMergeOperatorInfo
    - createAggregateOperatorInfo
    - taosMemoryFree
    - taosArrayInit
    - tstrerror
    - createGroupCacheOperatorInfo
    - createDataBlockInfoScanOperator
    - createEventwindowOperatorInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createOperator(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo,
      SReadHandle* pHandle, SNode* pTagCond,\n                       SNode* pTagIndexCond,
      const char* pUser, const char* dbname, SOperatorInfo** pOptrInfo,\n                       EOPTR_EXEC_MODEL
      model)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: freeResetOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:710,1
    - Dst: freeResetOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:711,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:715,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/operator.c:718,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/operator.c:722,1
    - Dst: SOperatorInfo*::fpSet::closeFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:725,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/operator.c:729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 705
    functionDepth: 5
    functionLinenumber: 705
    functionLinenumberEnd: 730
    functionName: destroyOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 6
    functionsReached:
    - freeResetOperatorParams
    - taosMemoryFreeClear
    - cleanupExprSupp
    - SOperatorInfo*::fpSet::closeFn
    - destroyOperator
    linkageType: ''
    returnType: void
    signature: void destroyOperator(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:735,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/operator.c:742,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pOperator
    - downstreams
    - num
    argTypes:
    - SOperatorInfo*
    - SOperatorInfo**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 732
    functionDepth: 6
    functionLinenumber: 732
    functionLinenumberEnd: 747
    functionName: destroyOperatorAndDownstreams
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 15
    functionsReached:
    - taosMemoryFreeClear
    - destroyOperator
    linkageType: ''
    returnType: void
    signature: void destroyOperatorAndDownstreams(SOperatorInfo* pOperator, SOperatorInfo**
      downstreams, int32_t num)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/operator.c:751,1
    - Dst: SOperatorInfo*::fpSet::getExplainFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:785,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:787,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/operator.c:787,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:787,1
    - Dst: getOperatorExplainExecInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:794,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - operatorInfo
    - pExecInfoList
    argTypes:
    - SOperatorInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 802
    functionName: getOperatorExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - qError
    - GET_TASKID
    - SOperatorInfo*::fpSet::getExplainFn
    - getOperatorExplainExecInfo
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getOperatorExplainExecInfo(SOperatorInfo* operatorInfo, SArray*
      pExecInfoList)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:806,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:815,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:821,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/operator.c:826,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/operator.c:832,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/operator.c:832,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:834,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/operator.c:838,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/operator.c:840,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/operator.c:846,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:852,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/operator.c:855,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/operator.c:863,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/operator.c:865,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/operator.c:870,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:880,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SOperatorParam*
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 885
    functionName: mergeOperatorParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - qError
    - tSimpleHashPut
    - taosArrayAddAll
    - tSimpleHashSetFreeFp
    - taosMemoryFree
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeOperatorParams(SOperatorParam* pDst, SOperatorParam* pSrc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: freeResetOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:903,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/operator.c:912,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/operator.c:925,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/operator.c:927,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/operator.c:933,1
    - Dst: mergeOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:939,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:948,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 3
    argNames:
    - pOperator
    - pInput
    - type
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SOperatorParamType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 887
    functionDepth: 5
    functionLinenumber: 887
    functionLinenumberEnd: 952
    functionName: setOperatorParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 3
    functionsReached:
    - freeResetOperatorParams
    - taosArrayGet
    - mergeOperatorParams
    - memset
    - taosArrayGetSize
    - taosArrayDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t setOperatorParams(struct SOperatorInfo* pOperator, SOperatorParam*
      pInput, SOperatorParamType type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recordOpExecBeforeDownstream
      Src: /src/tdengine/source/libs/executor/src/operator.c:955,1
    - Dst: getNextBlockFromDownstreamImpl
      Src: /src/tdengine/source/libs/executor/src/operator.c:957,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/operator.c:959,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:961,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/operator.c:961,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:962,1
    - Dst: recordOpExecAfterDownstream
      Src: /src/tdengine/source/libs/executor/src/operator.c:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 954
    functionDepth: 5
    functionLinenumber: 954
    functionLinenumberEnd: 967
    functionName: getNextBlockFromDownstream
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 12
    functionsReached:
    - qError
    - GET_TASKID
    - tstrerror
    - recordOpExecAfterDownstream
    - blockDataCheck
    - getNextBlockFromDownstreamImpl
    - recordOpExecBeforeDownstream
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getNextBlockFromDownstream(struct SOperatorInfo* pOperator,
      int32_t idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recordOpExecBeforeDownstream
      Src: /src/tdengine/source/libs/executor/src/operator.c:970,1
    - Dst: getNextBlockFromDownstreamImpl
      Src: /src/tdengine/source/libs/executor/src/operator.c:972,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/operator.c:974,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:976,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/operator.c:976,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:977,1
    - Dst: recordOpExecAfterDownstream
      Src: /src/tdengine/source/libs/executor/src/operator.c:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 969
    functionDepth: 5
    functionLinenumber: 969
    functionLinenumberEnd: 982
    functionName: getNextBlockFromDownstreamRemain
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 2
    functionsReached:
    - qError
    - GET_TASKID
    - tstrerror
    - recordOpExecAfterDownstream
    - blockDataCheck
    - getNextBlockFromDownstreamImpl
    - recordOpExecBeforeDownstream
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getNextBlockFromDownstreamRemain(struct SOperatorInfo*
      pOperator, int32_t idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/operator.c:995,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/operator.c:1006,1
    - Dst: fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:1007,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1008,1
    - Dst: fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:1010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1011,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:1016,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:1016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pOperator
    - idx
    - pResBlock
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1019
    functionName: getNextBlockFromDownstreamRemainDetachImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - QRY_PARAM_CHECK
    - qError
    - fpSet::getNextExtFn
    - qDebug
    - fpSet::getNextFn
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE getNextBlockFromDownstreamRemainDetachImpl(struct SOperatorInfo*
      pOperator, int32_t idx,\n                                                                       SSDataBlock**
      pResBlock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recordOpExecBeforeDownstream
      Src: /src/tdengine/source/libs/executor/src/operator.c:1033,1
    - Dst: getNextBlockFromDownstreamRemainDetachImpl
      Src: /src/tdengine/source/libs/executor/src/operator.c:1035,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1036,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/operator.c:1038,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1039,1
    - Dst: recordOpExecAfterDownstream
      Src: /src/tdengine/source/libs/executor/src/operator.c:1042,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:1044,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:1044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1048
    functionName: getNextBlockFromDownstreamRemainDetach
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 3
    functionsReached:
    - getNextBlockFromDownstreamRemainDetachImpl
    - qError
    - QUERY_CHECK_CODE
    - tstrerror
    - recordOpExecAfterDownstream
    - blockDataCheck
    - recordOpExecBeforeDownstream
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getNextBlockFromDownstreamRemainDetach(struct SOperatorInfo*
      pOperator, int32_t idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/operator.c:1051,1
    - Dst: setOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:1054,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1055,1
    - Dst: struct SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:1056,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1057,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:1061,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:1061,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/operator.c:1063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pRes
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1050
    functionDepth: 6
    functionLinenumber: 1050
    functionLinenumberEnd: 1067
    functionName: optrDefaultGetNextExtFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - setOperatorParams
    - QRY_PARAM_CHECK
    - qError
    - struct SOperatorInfo*::fpSet::getNextFn
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t optrDefaultGetNextExtFn(struct SOperatorInfo* pOperator, SOperatorParam*
      pParam, SSDataBlock** pRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:1070,1
    - Dst: struct SOperatorInfo*::fpSet::notifyFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:1072,1
    - Dst: optrDefaultNotifyFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:1077,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/operator.c:1087,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pOperator
    - pParam
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1069
    functionDepth: 6
    functionLinenumber: 1069
    functionLinenumberEnd: 1091
    functionName: optrDefaultNotifyFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 1
    functionsReached:
    - struct SOperatorInfo*::fpSet::notifyFn
    - optrDefaultNotifyFn
    - setOperatorParams
    - T_LONG_JMP
    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:1095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1098
    functionName: getOperatorResultBlockId
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 2
    functionsReached:
    - getOperatorResultBlockId
    linkageType: ''
    returnType: int64_t
    signature: int64_t getOperatorResultBlockId(struct SOperatorInfo* pOperator, int32_t
      idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1102
    functionName: resetOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetOperatorState(SOperatorInfo *pOper)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/operator.c:1105,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SOptrBasicInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1107
    functionName: resetBasicOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 8
    functionsReached:
    - blockDataCleanup
    - initResultRowInfo
    linkageType: ''
    returnType: void
    signature: void resetBasicOperatorState(SOptrBasicInfo *pBasicInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupExprSuppWithoutFilter
      Src: /src/tdengine/source/libs/executor/src/operator.c:1114,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/operator.c:1115,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:1116,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1117,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/operator.c:1118,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1119,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:1123,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:1123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 9
    argNames:
    - pExprSupp
    - pSup
    - pTaskInfo
    - pNodeList
    - pGroupKeys
    - keyBufSize
    - pKey
    - pState
    - pStore
    argTypes:
    - SExprSupp*
    - SAggSupporter*
    - SExecTaskInfo*
    - SNodeList*
    - SNodeList*
    - size_t
    - char*
    - void*
    - SFunctionStateStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1109
    functionDepth: 3
    functionLinenumber: 1109
    functionLinenumberEnd: 1127
    functionName: resetAggSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 6
    functionsReached:
    - initAggSup
    - qError
    - cleanupAggSup
    - createExprInfo
    - QUERY_CHECK_CODE
    - tstrerror
    - cleanupExprSuppWithoutFilter
    linkageType: ''
    returnType: int32_t
    signature: "int32_t resetAggSup(SExprSupp* pExprSupp, SAggSupporter* pSup, SExecTaskInfo*
      pTaskInfo,\n                    SNodeList* pNodeList, SNodeList* pGroupKeys,
      size_t keyBufSize, const char* pKey, void* pState,\n                    SFunctionStateStore*
      pStore)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupExprSuppWithoutFilter
      Src: /src/tdengine/source/libs/executor/src/operator.c:1133,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:1134,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1135,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/operator.c:1136,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1137,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:1141,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:1141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - pExprSupp
    - pTaskInfo
    - pNodeList
    - pGroupKeys
    - pStore
    argTypes:
    - SExprSupp*
    - SExecTaskInfo*
    - SNodeList*
    - SNodeList*
    - SFunctionStateStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1129
    functionDepth: 3
    functionLinenumber: 1129
    functionLinenumberEnd: 1145
    functionName: resetExprSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 6
    functionsReached:
    - qError
    - createExprInfo
    - initExprSupp
    - QUERY_CHECK_CODE
    - tstrerror
    - cleanupExprSuppWithoutFilter
    linkageType: ''
    returnType: int32_t
    signature: "int32_t resetExprSupp(SExprSupp* pExprSupp, SExecTaskInfo* pTaskInfo,
      SNodeList* pNodeList,\n                      SNodeList* pGroupKeys, SFunctionStateStore*
      pStore)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/operator.c:1149,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/operator.c:1155,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/operator.c:1156,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/operator.c:1157,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/operator.c:1158,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/operator.c:1161,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/operator.c:1163,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/operator.c:1164,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/operator.c:1166,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1168,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/operator.c:1170,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:1178,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:1178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - pNodeList
    - targetBlkId
    - pDst
    - pSrc
    - totalRows
    argTypes:
    - SNodeList*
    - int64_t
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1180
    functionName: copyColumnsValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayGet
    - colDataSetNNULL
    - qError
    - LIST_LENGTH
    - colDataAssign
    - QUERY_CHECK_NULL
    - nodeType
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyColumnsValue(SNodeList* pNodeList, int64_t targetBlkId,
      SSDataBlock* pDst, SSDataBlock* pSrc, int32_t totalRows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/operator.c:1188,1
    - Dst: resetOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1190
    functionName: initOperatorCostInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 15
    functionsReached:
    - taosGetTimestampUs
    - resetOperatorCostInfo
    linkageType: ''
    returnType: void
    signature: void initOperatorCostInfo(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_ENABLE_EXPLAIN
      Src: /src/tdengine/source/libs/executor/src/operator.c:1201,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/operator.c:1202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1213
    functionName: recordOpExecBegin
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 2
    functionsReached:
    - taosGetTimestampUs
    - QUERY_ENABLE_EXPLAIN
    linkageType: ''
    returnType: void
    signature: void recordOpExecBegin(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_ENABLE_EXPLAIN
      Src: /src/tdengine/source/libs/executor/src/operator.c:1222,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/operator.c:1223,1
    - Dst: UNLIKELY
      Src: /src/tdengine/source/libs/executor/src/operator.c:1224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1235
    functionName: recordOpExecBeforeDownstream
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 3
    functionsReached:
    - UNLIKELY
    - taosGetTimestampUs
    - QUERY_ENABLE_EXPLAIN
    linkageType: ''
    returnType: void
    signature: void recordOpExecBeforeDownstream(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_ENABLE_EXPLAIN
      Src: /src/tdengine/source/libs/executor/src/operator.c:1244,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/operator.c:1245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pOperator
    - inputRows
    argTypes:
    - SOperatorInfo*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1250
    functionName: recordOpExecAfterDownstream
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 3
    functionsReached:
    - taosGetTimestampUs
    - QUERY_ENABLE_EXPLAIN
    linkageType: ''
    returnType: void
    signature: void recordOpExecAfterDownstream(SOperatorInfo* pOperator, size_t inputRows)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_ENABLE_EXPLAIN
      Src: /src/tdengine/source/libs/executor/src/operator.c:1262,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/operator.c:1263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pOperator
    - rows
    argTypes:
    - SOperatorInfo*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1279
    functionName: recordOpExecEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 2
    functionsReached:
    - taosGetTimestampUs
    - QUERY_ENABLE_EXPLAIN
    linkageType: ''
    returnType: void
    signature: void recordOpExecEnd(SOperatorInfo* pOperator, size_t rows)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1294
    functionName: resetOperatorCostInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetOperatorCostInfo(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pOperator
    - slotId
    argTypes:
    - SOperatorInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: sortIsExprResultSlot
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sortIsExprResultSlot(const SOperatorInfo* pOperator, int32_t slotId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:77,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:79,1
    - Dst: sortIsExprResultSlot
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: sortFindOrigTsSlot
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - sortIsExprResultSlot
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortFindOrigTsSlot(const SOperatorInfo* pOperator, const SSDataBlock*
      pBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:95,1
    - Dst: destroySqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:96,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:97,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:99,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: resetSortOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - createSqlFunctionCtx
    - taosMemoryFreeClear
    - resetBasicOperatorState
    - destroySqlFunctionCtx
    - tsortDestroySortHandle
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetSortOperState(SOperatorInfo* pOper)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:114,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:119,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:120,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:125,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:131,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:132,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:137,1
    - Dst: calcSortOperMaxTupleLength
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:142,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:152,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:153,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:154,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:155,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:161,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:162,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:164,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:165,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:169,1
    - Dst: makeColsNodeArrFromSortKeys
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:174,1
    - Dst: makeColumnArrayFromList
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:177,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:179,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:183,1
    - Dst: extractKeysLen
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:184,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:185,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:189,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:199,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:201,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:210,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:212,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:213,1
    - Dst: destroySortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:223,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:225,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 4
    argNames:
    - downstream
    - pSortNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SSortPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 113
    functionDepth: 16
    functionLinenumber: 113
    functionLinenumberEnd: 228
    functionName: createSortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 4
    functionsReached:
    - appendDownstream
    - calcSortOperMaxTupleLength
    - createOperatorFpSet
    - setOperatorResetStateFn
    - extractColMatchInfo
    - TSDB_CHECK_NULL
    - filterInitFromNode
    - nodesClearList
    - QRY_PARAM_CHECK
    - createSortInfo
    - createExprInfo
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - createSqlFunctionCtx
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - destroySortOperatorInfo
    - makeColumnArrayFromList
    - taosArrayPop
    - makeColsNodeArrFromSortKeys
    - initOperatorCostInfo
    - extractKeysLen
    - initLimitInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSortOperatorInfo(SOperatorInfo* downstream, SSortPhysiNode*
      pSortNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:232,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:233,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:238,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:240,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:243,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:246,1
    - Dst: tsortGetBlockInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - pBlock
    - pTupleHandle
    argTypes:
    - SSDataBlock*
    - STupleHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 262
    functionName: appendOneRowToDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 2
    functionsReached:
    - colDataSetNULL
    - taosArrayGet
    - tsortGetBlockInfo
    - colDataSetVal
    - taosArrayGetSize
    - tsortIsNullVal
    - tsortGetValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendOneRowToDataBlock(SSDataBlock* pBlock, STupleHandle*
      pTupleHandle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:271,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:276,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:278,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:278,1
    - Dst: tsortCompAndBuildKeys
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:289,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - pHandle
    - pInfo
    - pBlock
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - SSortOperatorInfo*
    - SSDataBlock*
    - STupleHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 269
    functionDepth: 4
    functionLinenumber: 269
    functionLinenumberEnd: 317
    functionName: nextTupleWithGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - tsortCompAndBuildKeys
    - QRY_PARAM_CHECK
    - qError
    - tsortNextTuple
    - tstrerror
    - calcGroupId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t nextTupleWithGroupId(SSortHandle* pHandle, SSortOperatorInfo*
      pInfo, SSDataBlock* pBlock,\n                                    STupleHandle**
      pTupleHandle)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:321,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:322,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:329,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:334,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:335,1
    - Dst: nextTupleWithGroupId
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:339,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:341,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:344,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:349,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:350,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:357,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:360,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:361,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:364,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:366,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:367,1
    - Dst: sortIsExprResultSlot
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:379,1
    - Dst: sortFindOrigTsSlot
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:380,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:386,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:387,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:389,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:390,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:392,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:393,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:404,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:409,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:409,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:411,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 7
    argNames:
    - pHandle
    - pDataBlock
    - capacity
    - pColMatchInfo
    - pOperator
    - pInfo
    - pResBlock
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t
    - SArray*
    - SOperatorInfo*
    - SSortOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 413
    functionName: getSortedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - sortFindOrigTsSlot
    - taosArrayGet
    - QRY_PARAM_CHECK
    - blockDataCleanup
    - blockDataEnsureCapacity
    - nextTupleWithGroupId
    - sortIsExprResultSlot
    - colDataAssign
    - QUERY_CHECK_NULL
    - TSDB_CHECK_CODE
    - tsortNextTuple
    - qError
    - appendOneRowToDataBlock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - tsortGetSortedDataBlock
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getSortedBlockData(SSortHandle* pHandle, SSDataBlock* pDataBlock,
      int32_t capacity, SArray* pColMatchInfo,\n                                  const
      SOperatorInfo* pOperator, SSortOperatorInfo* pInfo, SSDataBlock** pResBlock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:417,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:419,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:419,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:421,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:423,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 427
    functionName: loadNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::getNextFn
    - qError
    - blockDataCheck
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t loadNextDataBlock(void* param, SSDataBlock** ppBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:434,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:436,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pBlock
    - param
    argTypes:
    - SSDataBlock*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 430
    functionDepth: 7
    functionLinenumber: 430
    functionLinenumberEnd: 441
    functionName: applyScalarFunction
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - GET_STM_RTINFO
    - T_LONG_JMP
    - projectApplyFunctions
    linkageType: ''
    returnType: void
    signature: void applyScalarFunction(SSDataBlock* pBlock, void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:450,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:457,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:459,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:461,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:463,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:464,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:469,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:470,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:473,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:474,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:476,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:480,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:483,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:483,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 443
    functionDepth: 9
    functionLinenumber: 443
    functionLinenumberEnd: 488
    functionName: doOpenSortOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - qError
    - OPTR_IS_OPENED
    - tsortCreateSortHandle
    - QUERY_CHECK_NULL
    - tsortOpen
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - tstrerror
    - tsortAddSource
    - taosMemoryCalloc
    - tsortSetFetchRawDataFp
    - OPTR_SET_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:491,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:501,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:502,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:507,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:509,1
    - Dst: recordOpExecBeforeDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:512,1
    - Dst: getSortedBlockData
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:513,1
    - Dst: recordOpExecAfterDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:515,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:516,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:518,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:522,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:523,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:525,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:530,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:532,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:540,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:543,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:543,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:545,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 490
    functionDepth: 6
    functionLinenumber: 490
    functionLinenumberEnd: 548
    functionName: doSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - tsortIsClosed
    - SOperatorInfo*::fpSet::_openFn
    - QRY_PARAM_CHECK
    - qError
    - applyLimitOffset
    - blockDataGetNumOfRows
    - setOperatorCompleted
    - doFilter
    - QUERY_CHECK_CODE
    - getSortedBlockData
    - tstrerror
    - recordOpExecAfterDownstream
    - resetLimitInfoForNextGroup
    - recordOpExecBeforeDownstream
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSort(SOperatorInfo* pOperator, SSDataBlock** pResBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:552,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:555,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:556,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:557,1
    - Dst: destroySortOpGroupIdCalc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:558,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 560
    functionName: destroySortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - destroySortOpGroupIdCalc
    - tsortDestroySortHandle
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroySortOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:563,1
    - Dst: tsortGetSortExecInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 574
    functionName: getExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tsortGetSortExecInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t getExplainExecInfo(SOperatorInfo* pOptr, void** pOptrExplain,
      uint32_t* len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:578,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:580,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:588,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pSortOperInfo
    - pSortKeys
    argTypes:
    - SSortOperatorInfo*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 593
    functionName: calcSortOperMaxTupleLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void calcSortOperMaxTupleLength(SSortOperatorInfo* pSortOperInfo, SNodeList*
      pSortKeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:597,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:598,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pCalc
    argTypes:
    - SSortOpGroupIdCalc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: destroySortOpGroupIdCalc
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroySortOpGroupIdCalc(SSortOpGroupIdCalc* pCalc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:624,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:626,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:627,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:633,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:638,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:645,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:650,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:661,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:663,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:668,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:673,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:678,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:692,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 6
    argNames:
    - pHandle
    - pDataBlock
    - capacity
    - pColMatchInfo
    - pInfo
    - pResBlock
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t
    - SArray*
    - SGroupSortOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 622
    functionDepth: 4
    functionLinenumber: 622
    functionLinenumberEnd: 695
    functionName: getGroupSortedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - QRY_PARAM_CHECK
    - blockDataCleanup
    - blockDataEnsureCapacity
    - colDataAssign
    - tsortNextTuple
    - appendOneRowToDataBlock
    - taosArrayGetSize
    - tsortGetSortedDataBlock
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getGroupSortedBlockData(SSortHandle* pHandle, SSDataBlock*
      pDataBlock, int32_t capacity, SArray* pColMatchInfo,\n                                SGroupSortOperatorInfo*
      pInfo, SSDataBlock** pResBlock)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:709,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:717,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:718,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:721,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:722,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:738,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 741
    functionName: fetchNextGroupSortDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::getNextFn
    - QRY_PARAM_CHECK
    - qError
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataCheck
    linkageType: ''
    returnType: int32_t
    signature: int32_t fetchNextGroupSortDataBlock(void* param, SSDataBlock** ppBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:750,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:756,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:758,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:759,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:761,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:762,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:771,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 743
    functionDepth: 9
    functionLinenumber: 743
    functionLinenumberEnd: 778
    functionName: beginSortGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - tsortCreateSortHandle
    - tsortOpen
    - taosMemoryFree
    - tsortAddSource
    - taosMemoryCalloc
    - tsortSetFetchRawDataFp
    linkageType: ''
    returnType: int32_t
    signature: int32_t beginSortGroup(SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsortGetSortExecInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:783,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 780
    functionDepth: 3
    functionLinenumber: 780
    functionLinenumberEnd: 795
    functionName: finishSortGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - tsortDestroySortHandle
    - tsortGetSortExecInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t finishSortGroup(SOperatorInfo* pOperator)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:798,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:808,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:809,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:814,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:816,1
    - Dst: beginSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:823,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:824,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:829,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:831,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:837,1
    - Dst: recordOpExecBeforeDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:840,1
    - Dst: getGroupSortedBlockData
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:841,1
    - Dst: recordOpExecAfterDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:843,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:844,1
    - Dst: finishSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:856,1
    - Dst: beginSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:859,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:860,1
    - Dst: finishSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:862,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:863,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:871,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:871,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:873,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 797
    functionDepth: 10
    functionLinenumber: 797
    functionLinenumberEnd: 876
    functionName: doGroupSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - getGroupSortedBlockData
    - getNextBlockFromDownstream
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - SOperatorInfo*::fpSet::_openFn
    - tsortIsClosed
    - qError
    - setOperatorCompleted
    - beginSortGroup
    - QUERY_CHECK_CODE
    - tstrerror
    - recordOpExecAfterDownstream
    - finishSortGroup
    - recordOpExecBeforeDownstream
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGroupSort(SOperatorInfo* pOperator, SSDataBlock** pResBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 883
    functionName: getGroupSortExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getGroupSortExplainExecInfo(SOperatorInfo* pOptr, void** pOptrExplain,
      uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:887,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:890,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:891,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:893,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 885
    functionDepth: 3
    functionLinenumber: 885
    functionLinenumberEnd: 897
    functionName: destroyGroupSortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - blockDataDestroy
    - taosMemoryFreeClear
    - tsortDestroySortHandle
    linkageType: ''
    returnType: void
    signature: void destroyGroupSortOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:910,1
    - Dst: destroySqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:911,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:912,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:914,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 920
    functionName: resetGroupSortOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 0
    functionsReached:
    - createSqlFunctionCtx
    - taosMemoryFreeClear
    - resetBasicOperatorState
    - destroySqlFunctionCtx
    - tsortDestroySortHandle
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetGroupSortOperState(SOperatorInfo* pOper)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:924,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:928,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:929,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:934,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:941,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:942,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:947,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:948,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:950,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:952,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:953,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:955,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:956,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:962,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:964,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:966,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:967,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:969,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:972,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:974,1
    - Dst: destroyGroupSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:985,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:987,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 4
    argNames:
    - downstream
    - pSortPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SGroupSortPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 922
    functionDepth: 7
    functionLinenumber: 922
    functionLinenumberEnd: 989
    functionName: createGroupSortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: 2
    functionsReached:
    - appendDownstream
    - TSDB_CHECK_CODE
    - createOperatorFpSet
    - setOperatorResetStateFn
    - extractColMatchInfo
    - QRY_PARAM_CHECK
    - createSortInfo
    - createExprInfo
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - initResultSizeInfo
    - createSqlFunctionCtx
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - destroyGroupSortOperatorInfo
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createGroupSortOperatorInfo(SOperatorInfo* downstream, SGroupSortPhysiNode*
      pSortPhyNode,\n                                    SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:67,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:67,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:68,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:68,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:70,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:71,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:78,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: virtualScanloadNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::getNextFn
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - tstrerror
    - blockDataCheck
    - VTS_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualScanloadNextDataBlock(void* param, SSDataBlock** ppBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:95,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:97,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:98,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:102,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:102,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:103,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:103,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:107,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pBlock
    - startTs
    - endTs
    argTypes:
    - SSDataBlock*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: getTimeWindowOfBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - colDataGetNumData
    - tstrerror
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTimeWindowOfBlock(SSDataBlock* pBlock, int64_t* startTs,
      int64_t* endTs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:122,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:126,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:126,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:130,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:132,1
    - Dst: getTimeWindowOfBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:132,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:133,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:133,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 144
    functionName: virtualScanloadNextDataBlockFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::getNextExtFn
    - qError
    - getTimeWindowOfBlock
    - qDebug
    - createOneDataBlock
    - tstrerror
    - blockDataDestroy
    - VTS_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualScanloadNextDataBlockFromParam(void* param, SSDataBlock**
      ppBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:152,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:152,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:154,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:154,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:157,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:157,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:162,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:162,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:167,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:168,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - pMergeKeys
    - tsSlotId
    argTypes:
    - SNodeList**
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 171
    functionName: makeTSMergeKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - nodesMakeNode
    - nodesDestroyNode
    - nodesListAppend
    - VTS_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t makeTSMergeKey(SNodeList** pMergeKeys, col_id_t tsSlotId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:175,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:179,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:183,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:184,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:185,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:186,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pVirtualScanInfo
    argTypes:
    - SVirtualTableScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: cleanUpVirtualScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosMemoryFree
    - taosArrayGetSize
    - tsortDestroySortHandle
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void cleanUpVirtualScanInfo(SVirtualTableScanInfo* pVirtualScanInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:195,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:199,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:200,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:201,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SVirtualTableScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: cleanupRefSlotGroups
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosArrayGetSize
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void cleanupRefSlotGroups(SVirtualTableScanInfo* pInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:212,1
    - Dst: cleanupRefSlotGroups
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:216,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:218,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:218,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:219,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:221,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:221,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:221,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:222,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:224,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:225,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:226,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:227,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:231,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:231,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:232,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:233,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:234,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:235,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:235,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:238,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:239,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:240,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:240,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:241,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:242,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:243,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:243,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:246,1
    - Dst: cleanupRefSlotGroups
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:253,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:255,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - pInfo
    - pRefColGroups
    argTypes:
    - SVirtualTableScanInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 258
    functionName: buildRefSlotGroupsFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArraySort
    - qError
    - taosGetDefaultHashFunction
    - tSimpleHashPut
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - tSimpleHashInit
    - tstrerror
    - cleanupRefSlotGroups
    - taosArrayDestroy
    - VTS_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildRefSlotGroupsFromParam(SVirtualTableScanInfo* pInfo, SArray*
      pRefColGroups)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:267,1
    - Dst: cleanUpVirtualScanInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:274,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:275,1
    - Dst: buildRefSlotGroupsFromParam
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:275,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:276,1
    - Dst: makeTSMergeKey
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:276,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:277,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:278,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:279,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:281,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:281,1
    - Dst: tsortSetForceUsePQSort
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:284,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:285,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:288,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:289,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:305,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:305,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:306,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:307,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:308,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:310,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:311,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:318,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:319,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:324,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:324,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:326,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:326,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:330,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:330,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:334,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:336,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:339,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 260
    functionDepth: 9
    functionLinenumber: 260
    functionLinenumberEnd: 344
    functionName: createSortHandleFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - buildRefSlotGroupsFromParam
    - taosArrayPush
    - qError
    - TSDB_CHECK_NULL
    - VTS_ERR_JRET
    - tsortSetFetchRawDataFp
    - taosArrayGet
    - tsortCreateSortHandle
    - createSortInfo
    - taosArrayGetSize
    - cleanUpVirtualScanInfo
    - NODES_DESTORY_LIST
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    - makeTSMergeKey
    - tsortAddSource
    - taosMemoryMalloc
    - tsortSetForceUsePQSort
    - tsortOpen
    - taosMemoryFree
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSortHandleFromParam(SOperatorInfo* pOperator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:355,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:355,1
    - Dst: tsortSetForceUsePQSort
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:358,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:359,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:364,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:364,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:366,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:375,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:376,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:381,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:381,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:385,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:385,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:389,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:389,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 346
    functionDepth: 9
    functionLinenumber: 346
    functionLinenumberEnd: 395
    functionName: createSortHandle
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - tsortSetForceUsePQSort
    - tstrerror
    - SOperatorInfo*::fpSet::_openFn
    - qError
    - tsortCreateSortHandle
    - tsortOpen
    - taosMemoryFree
    - VTS_ERR_JRET
    - TSDB_CHECK_NULL
    - tsortAddSource
    - taosMemoryCalloc
    - tsortSetFetchRawDataFp
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSortHandle(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:406,1
    - Dst: createSortHandleFromParam
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:406,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:408,1
    - Dst: createSortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:408,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 397
    functionDepth: 10
    functionLinenumber: 397
    functionLinenumberEnd: 416
    functionName: openVirtualTableScanOperatorImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - createSortHandleFromParam
    - tstrerror
    - createSortHandle
    - VTS_ERR_JRET
    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:421,1
    - Dst: openVirtualTableScanOperatorImpl
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:425,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:429,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 418
    functionDepth: 11
    functionLinenumber: 418
    functionLinenumberEnd: 433
    functionName: openVirtualTableScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - OPTR_IS_OPENED
    - openVirtualTableScanOperatorImpl
    - OPTR_SET_OPENED
    - VTS_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t openVirtualTableScanOperator(SOperatorInfo* pOperator)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:440,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:441,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:442,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:447,1
    - Dst: tsortGetBlockId
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:456,1
    - Dst: tsortGetColNum
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:457,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:460,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:470,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:470,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:470,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:476,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:478,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:478,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:478,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:483,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:487,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:489,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:490,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:492,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:492,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:492,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 4
    argNames:
    - pInfo
    - pHandle
    - capacity
    - p
    argTypes:
    - SVirtualScanMergeOperatorInfo*
    - SSortHandle*
    - int32_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 435
    functionDepth: 4
    functionLinenumber: 435
    functionLinenumberEnd: 501
    functionName: doGetVtableMergedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - VTS_ERR_RET
    - qError
    - colDataSetNItemsNull
    - tsortNextTuple
    - tsortGetColNum
    - tsortGetBlockId
    - colDataSetVal
    - blockDataEmpty
    - taosArrayGetSize
    - tsortIsNullVal
    - tsortGetValue
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doGetVtableMergedBlockData(SVirtualScanMergeOperatorInfo*
      pInfo, SSortHandle* pHandle, int32_t capacity,\n                                          SSDataBlock*
      p)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:508,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:509,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:510,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:510,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:515,1
    - Dst: tsortGetColNum
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:525,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:530,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:540,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:541,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:541,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:551,1
    - Dst: tsortGetColumnInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:556,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:557,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:562,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:563,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:564,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:565,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:566,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:566,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:566,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:572,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:572,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:572,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 4
    argNames:
    - pInfo
    - pHandle
    - capacity
    - p
    argTypes:
    - SVirtualScanMergeOperatorInfo*
    - SSortHandle*
    - int32_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 503
    functionDepth: 4
    functionLinenumber: 503
    functionLinenumberEnd: 583
    functionName: doGetVStableMergedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - VTS_ERR_RET
    - tsortGetColumnInfo
    - colDataSetNItemsNull
    - tsortNextTuple
    - tsortGetColNum
    - colDataSetVal
    - blockDataEmpty
    - taosArrayGetSize
    - tsortIsNullVal
    - tsortGetValue
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doGetVStableMergedBlockData(SVirtualScanMergeOperatorInfo*
      pInfo, SSortHandle* pHandle, int32_t capacity,\n                                           SSDataBlock*
      p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:594,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:594,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:595,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:602,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:602,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:607,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:607,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:609,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:614,1
    - Dst: doGetVStableMergedBlockData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:614,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:616,1
    - Dst: doGetVtableMergedBlockData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:616,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:619,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:619,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:620,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 625
    functionName: doVirtualTableMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - VTS_ERR_RET
    - blockDataCleanup
    - blockDataEnsureCapacity
    - doGetVtableMergedBlockData
    - copyDataBlock
    - GET_TASKID
    - qDebug
    - tsortGetSortedDataBlock
    - doGetVStableMergedBlockData
    linkageType: ''
    returnType: int32_t
    signature: int32_t doVirtualTableMerge(SOperatorInfo* pOperator, SSDataBlock**
      pResBlock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:641,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:642,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:651,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:652,1
    - Dst: colInfoDataCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:653,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:655,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:656,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:658,1
    - Dst: IS_JSON_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:658,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:658,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:659,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:663,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:666,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:667,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:670,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:671,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:682,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - pExpr
    - numOfExpr
    - tagBlock
    - pBlock
    - rows
    argTypes:
    - SExprInfo*
    - int32_t
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 685
    functionName: vtableAddTagPseudoColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - colDataSetNNULL
    - qError
    - colInfoDataCleanup
    - colDataSetNItems
    - colDataSetVal
    - IS_JSON_NULL
    - TSDB_CHECK_NULL
    - QUERY_CHECK_CODE
    - tstrerror
    - colDataIsNull_s
    - VTS_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtableAddTagPseudoColumnData(const SExprInfo* pExpr, int32_t
      numOfExpr, SSDataBlock* tagBlock, SSDataBlock* pBlock, int32_t rows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:692,1
    - Dst: vtableAddTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pInfo
    - pTagBlock
    - pBlock
    - rows
    argTypes:
    - SVirtualTableScanInfo*
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 696
    functionName: doSetTagColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - vtableAddTagPseudoColumnData
    - VTS_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetTagColumnData(SVirtualTableScanInfo* pInfo, SSDataBlock*
      pTagBlock, SSDataBlock* pBlock, int32_t rows)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:710,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:716,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:716,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:723,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:723,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:725,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:725,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:729,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:735,1
    - Dst: doVirtualTableMerge
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:735,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:737,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:745,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:749,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:752,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:752,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:753,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:753,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:761,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:761,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:763,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 698
    functionDepth: 6
    functionLinenumber: 698
    functionLinenumberEnd: 764
    functionName: virtualTableGetNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::getNextFn
    - doVirtualTableMerge
    - SOperatorInfo*::fpSet::getNextExtFn
    - T_LONG_JMP
    - SOperatorInfo*::fpSet::_openFn
    - qTrace
    - qError
    - setOperatorCompleted
    - doFilter
    - taosArrayGetSize
    - doSetTagColumnData
    - tstrerror
    - VTS_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualTableGetNext(SOperatorInfo* pOperator, SSDataBlock**
      pResBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:767,1
    - Dst: TsdReader*::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:770,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:775,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:778,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pBase
    - pAPI
    argTypes:
    - STableScanBase*
    - TsdReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 766
    functionDepth: 4
    functionLinenumber: 766
    functionLinenumberEnd: 780
    functionName: destroyTableScanBase
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosLRUCacheCleanup
    - TsdReader*::tsdReaderClose
    - cleanupQueryTableDataCond
    - cleanupExprSupp
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyTableScanBase(STableScanBase* pBase, TsdReader* pAPI)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:788,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:791,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:793,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:796,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:799,1
    - Dst: destroyTableScanBase
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:801,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:803,1
    - Dst: cleanupRefSlotGroups
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:804,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:807,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:808,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:809,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:810,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:812,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 782
    functionDepth: 3
    functionLinenumber: 782
    functionLinenumberEnd: 816
    functionName: destroyVirtualTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - tSimpleHashCleanup
    - destroyTableScanBase
    - taosMemoryFree
    - taosArrayGetSize
    - tsortDestroySortHandle
    - cleanupRefSlotGroups
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyVirtualTableScanOperatorInfo(void* param)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:819,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:830,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:830,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:831,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:837,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:846,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:846,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:856,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:859,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:859,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - pNodeList
    - pSlotMap
    - tsSlotId
    - tagBlockId
    - useOriginTs
    argTypes:
    - SNodeList*
    - SSHashObj**
    - int32_t*
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 862
    functionName: extractColMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - LIST_LENGTH
    - tSimpleHashPut
    - tSimpleHashCleanup
    - tSimpleHashInit
    - TSDB_CHECK_NULL
    - taosGetDefaultHashFunction
    - tstrerror
    - VTS_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractColMap(SNodeList* pNodeList, SSHashObj** pSlotMap, int32_t
      *tsSlotId, int64_t *tagBlockId, bool* useOriginTs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:837,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:846,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:846,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 852
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 38
    functionsReached:
    - tSimpleHashPut
    - VTS_ERR_JRET
    - TSDB_CHECK_NULL
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pNodeList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:871,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:873,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:878,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:881,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:882,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:883,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:888,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:889,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:890,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:891,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:893,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:903,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 864
    functionDepth: 3
    functionLinenumber: 864
    functionLinenumberEnd: 907
    functionName: resetVirtualTableMergeOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - createDataBlockFromDescNode
    - resetBasicOperatorState
    - taosMemoryFree
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tsortDestroySortHandle
    - tstrerror
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetVirtualTableMergeOperState(SOperatorInfo* pOper)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:915,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:916,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:920,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:921,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:922,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:930,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:931,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:933,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:934,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:941,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:941,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:943,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:945,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:948,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:949,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:949,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:951,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:955,1
    - Dst: makeTSMergeKey
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:955,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:956,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:957,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:961,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:964,1
    - Dst: extractColMap
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:965,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:970,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:970,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:974,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:975,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:978,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:981,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:983,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:986,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:986,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:991,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:997,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:997,1
    - Dst: destroyVirtualTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1000,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1002,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 5
    argNames:
    - pDownstream
    - numOfDownstream
    - pVirtualScanPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SVirtualScanPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 909
    functionDepth: 16
    functionLinenumber: 909
    functionLinenumberEnd: 1006
    functionName: createVirtualTableMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - nodesDestroyList
    - qError
    - TSDB_CHECK_CODE
    - createOperatorFpSet
    - setOperatorResetStateFn
    - getProperSortPageSize
    - TSDB_CHECK_NULL
    - filterInitFromNode
    - VTS_ERR_JRET
    - destroyVirtualTableScanOperatorInfo
    - extractColMap
    - createSortInfo
    - createExprInfo
    - taosArrayGetSize
    - taosLRUCacheInit
    - taosMemoryCalloc
    - createSqlFunctionCtx
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - makeTSMergeKey
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createVirtualTableMergeOperatorInfo(SOperatorInfo** pDownstream,
      int32_t numOfDownstream,\n                                            SVirtualScanPhysiNode*
      pVirtualScanPhyNode,\n                                            SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:59,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:60,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:62,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:63,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:64,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: destroyCountWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - cleanupBasicInfo
    - cleanupAggSup
    - cleanupExprSupp
    - colDataDestroy
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyCountWindowOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBuff
    argTypes:
    - SCountWindowResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: clearWinStateBuff
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clearWinStateBuff(SCountWindowResult* pBuff)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:73,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:77,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:77,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:80,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:83,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pCountSup
    argTypes:
    - SCountWindowSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: getCountWinStateInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - taosArrayGet
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: SCountWindowResult
    signature: SCountWindowResult * getCountWinStateInfo(SCountWindowSupp* pCountSup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCountWinStateInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:94,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:95,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:97,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - pExprSup
    - pCountSup
    - pResult
    - ppResBuff
    argTypes:
    - SExprSupp*
    - SCountWindowSupp*
    - SResultRow**
    - SCountWindowResult**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: setCountWindowOutputBuff
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - QUERY_CHECK_NULL
    - setResultRowInitCtx
    - tstrerror
    - getCountWinStateInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setCountWindowOutputBuff(SExprSupp* pExprSup, SCountWindowSupp*
      pCountSup, SResultRow** pResult,\n                                        SCountWindowResult**
      ppResBuff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - start
    - blockRows
    - countWinRows
    - pCurrentRows
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: updateCountWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateCountWindowInfo(int32_t start, int32_t blockRows, int32_t
      countWinRows, int32_t* pCurrentRows)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:120,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:121,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:126,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:127,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:133,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:134,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:143,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:145,1
    - Dst: setCountWindowOutputBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:155,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:157,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:157,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:158,1
    - Dst: updateCountWindowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:161,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:168,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:169,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:171,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:184,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:185,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:187,1
    - Dst: clearWinStateBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:189,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:191,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:196,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:197,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:201,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:201,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:203,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 71
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 205
    functionName: doCountWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - applyAggFunctionOnPartialTuples
    - T_LONG_JMP
    - taosArrayGet
    - doUpdateNumOfRows
    - copyResultrowToDataBlock
    - clearResultRowInitFlag
    - blockDataEnsureCapacity
    - qError
    - updateCountWindowInfo
    - QUERY_CHECK_NULL
    - clearWinStateBuff
    - doFilter
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - updateTimeWindowInfo
    - setCountWindowOutputBuff
    linkageType: ''
    returnType: void
    signature: void doCountWindowAggImpl(SOperatorInfo* pOperator, SSDataBlock* pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:212,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:215,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:216,1
    - Dst: setCountWindowOutputBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:222,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:226,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:227,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:229,1
    - Dst: clearWinStateBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:231,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:232,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:234,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:235,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:239,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:239,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 6
    argNames:
    - pExprSup
    - pCountSup
    - pTaskInfo
    - pFilterInfo
    - preStateIndex
    - pBlock
    argTypes:
    - SExprSupp*
    - SCountWindowSupp*
    - SExecTaskInfo*
    - SFilterInfo*
    - int32_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 242
    functionName: buildCountResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - doUpdateNumOfRows
    - T_LONG_JMP
    - copyResultrowToDataBlock
    - blockDataEnsureCapacity
    - qError
    - clearWinStateBuff
    - doFilter
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - clearResultRowInitFlag
    - tstrerror
    - setCountWindowOutputBuff
    linkageType: ''
    returnType: void
    signature: "void buildCountResult(SExprSupp* pExprSup, SCountWindowSupp* pCountSup,
      SExecTaskInfo* pTaskInfo,\n                             SFilterInfo* pFilterInfo,
      int32_t preStateIndex, SSDataBlock* pBlock)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:253,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:258,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:269,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:270,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:272,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:273,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:277,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:278,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:279,1
    - Dst: buildCountResult
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:287,1
    - Dst: doCountWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:296,1
    - Dst: buildCountResult
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:305,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:309,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:309,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:311,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 244
    functionDepth: 7
    functionLinenumber: 244
    functionLinenumberEnd: 315
    functionName: countWindowAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - doCountWindowAggImpl
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - blockDataCleanup
    - qError
    - blockDataUpdateTsWindow
    - GET_STM_RTINFO
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tstrerror
    - buildCountResult
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t countWindowAggregateNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:323,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:331,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:332,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:335,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 344
    functionName: resetCountWindowOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 0
    functionsReached:
    - initExecTimeWindowInfo
    - resetAggSup
    - resetBasicOperatorState
    - colDataDestroy
    - resetExprSupp
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetCountWindowOperatorState(SOperatorInfo* pOper)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:348,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:352,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:353,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:358,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:371,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:372,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:373,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:374,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:381,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:383,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:385,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:387,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:389,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:390,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:391,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:393,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:394,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:396,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:408,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:418,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:420,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:422,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:423,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:425,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:427,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:429,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:430,1
    - Dst: destroyCountWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:440,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:443,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 346
    functionDepth: 16
    functionLinenumber: 346
    functionLinenumberEnd: 446
    functionName: createCountwindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: 2
    functionsReached:
    - appendDownstream
    - createOperatorFpSet
    - setOperatorResetStateFn
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - destroyCountWindowOperatorInfo
    - taosArrayInit_s
    - initExecTimeWindowInfo
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createCountwindowOperatorInfo(SOperatorInfo* downstream, SPhysiNode*
      physiNode,\n                                             SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:33,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:34,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:34,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pFileInfo
    argTypes:
    - SGroupCacheFileInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: removeGroupCacheFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexDestroy
    - taosCloseFile
    - qError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void removeGroupCacheFile(SGroupCacheFileInfo* pFileInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:44,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:46,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:56,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - pCols
    - grpColsMayBeNull
    - pList
    argTypes:
    - SGroupColsInfo*
    - bool
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: initGroupColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - IS_VAR_DATA_TYPE
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initGroupColsInfo(SGroupColsInfo* pCols, bool grpColsMayBeNull,
      SNodeList* pList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 38
    functionsReached:
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:83,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:87,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:89,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:91,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pGrpCacheOperator
    argTypes:
    - SGroupCacheOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: logGroupCacheExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - snprintf
    - taosMemoryMalloc
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void logGroupCacheExecInfo(SGroupCacheOperatorInfo* pGrpCacheOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:98,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:99,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: freeSGcSessionCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - tsem_destroy
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void freeSGcSessionCtx(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeGroupCacheFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: freeSGroupCacheFileInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - removeGroupCacheFile
    linkageType: ''
    returnType: void
    signature: void freeSGroupCacheFileInfo(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pFileCtx
    argTypes:
    - SGcFileCacheCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: freeSGcFileCacheCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void freeSGcFileCacheCtx(SGcFileCacheCtx* pFileCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:120,1
    - Dst: freeSGcFileCacheCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: freeSGcVgroupCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - freeSGcFileCacheCtx
    linkageType: ''
    returnType: void
    signature: void freeSGcVgroupCtx(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:127,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: freeGcBlockInList
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeGcBlockInList(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:133,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:134,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:135,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:137,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:138,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:139,1
    - Dst: freeSGcFileCacheCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SGcDownstreamCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: freeSGcDownstreamCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - freeSGcFileCacheCtx
    - tSimpleHashCleanup
    - taosHashCleanup
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void freeSGcDownstreamCtx(SGcDownstreamCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeSGcDownstreamCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:150,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pGrpCacheOperator
    argTypes:
    - SGroupCacheOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: destroyGroupCacheDownstreamCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - freeSGcDownstreamCtx
    linkageType: ''
    returnType: void
    signature: void destroyGroupCacheDownstreamCtx(SGroupCacheOperatorInfo* pGrpCacheOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:158,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:160,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:162,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:165,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:166,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:167,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 176
    functionName: blockDataDeepCleanup
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void blockDataDeepCleanup(SSDataBlock* pDataBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:181,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:184,1
    - Dst: blockDataDeepCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:185,1
    - Dst: freeGcBlockInList
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:186,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pBlkCache
    argTypes:
    - SGcBlkCacheInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: destroySGcBlkCacheInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCleanup
    - freeGcBlockInList
    - blockDataDeepCleanup
    linkageType: ''
    returnType: void
    signature: void destroySGcBlkCacheInfo(SGcBlkCacheInfo* pBlkCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logGroupCacheExecInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:195,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:197,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:198,1
    - Dst: destroyGroupCacheDownstreamCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:200,1
    - Dst: destroySGcBlkCacheInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:201,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:202,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:204,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: destroyGroupCacheOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - destroySGcBlkCacheInfo
    - logGroupCacheExecInfo
    - destroyGroupCacheDownstreamCtx
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void destroyGroupCacheOperator(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:210,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:213,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:216,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:218,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:219,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pFileFd
    - filename
    argTypes:
    - SGroupCacheFileFd*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: initOpenCacheFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - qTrace
    - qError
    - QRY_ERR_RET
    - taosThreadMutexInit
    - taosOpenFile
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE initOpenCacheFile(SGroupCacheFileFd* pFileFd, char* filename)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:230,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:230,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:234,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:237,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:239,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:242,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:243,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:245,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:247,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:248,1
    - Dst: initOpenCacheFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:258,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - pFileCtx
    - fileId
    - ppFd
    - pDeleted
    argTypes:
    - SGcFileCacheCtx*
    - int32_t
    - SGroupCacheFileFd**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 268
    functionName: acquireFdFromFileCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - taosHashGet
    - QRY_ERR_RET
    - taosHashInit
    - taosHashSetFreeFp
    - snprintf
    - initOpenCacheFile
    - taosGetDefaultHashFunction
    - taosThreadMutexLock
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t acquireFdFromFileCtx(SGcFileCacheCtx* pFileCtx, int32_t fileId,
      SGroupCacheFileFd** ppFd, bool* pDeleted)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pFd
    argTypes:
    - SGroupCacheFileFd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: releaseFdToFileCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE releaseFdToFileCtx(SGroupCacheFileFd* pFd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:293,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:295,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:300,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:304,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:306,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:306,1
    - Dst: acquireFdFromFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:316,1
    - Dst: releaseFdToFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:322,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:324,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:330,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:332,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:332,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:338,1
    - Dst: releaseFdToFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:340,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:345,1
    - Dst: releaseFdToFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:347,1
    - Dst: releaseFdToFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:352,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:354,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:360,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:362,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:362,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:370,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:373,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 3
    argNames:
    - pGCache
    - pCtx
    - pHead
    argTypes:
    - SGroupCacheOperatorInfo*
    - SGcDownstreamCtx*
    - SGcBlkBufInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 376
    functionName: saveBlocksToDisk
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - releaseFdToFileCtx
    - qTrace
    - taosHashRemove
    - qError
    - taosLSeekFile
    - taosWriteFile
    - taosHashRelease
    - taosHashAcquire
    - atomic_val_compare_exchange_32
    - tstrerror
    - acquireFdFromFileCtx
    linkageType: ''
    returnType: int32_t
    signature: int32_t saveBlocksToDisk(SGroupCacheOperatorInfo* pGCache, SGcDownstreamCtx*
      pCtx, SGcBlkBufInfo* pHead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: freeGcBlkBufInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void freeGcBlkBufInfo(void* ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:386,1
    - Dst: freeGcBlkBufInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:387,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:390,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:392,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:393,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:398,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:400,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:400,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:410,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:424,1
    - Dst: saveBlocksToDisk
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - pGCache
    - pCtx
    - pCache
    - pBufInfo
    argTypes:
    - SGroupCacheOperatorInfo*
    - SGcDownstreamCtx*
    - SGcBlkCacheInfo*
    - SGcBlkBufInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 431
    functionName: addBlkToDirtyBufList
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - freeGcBlkBufInfo
    - taosWLockLatch
    - qError
    - taosHashGet
    - QRY_ERR_RET
    - taosHashGetSize
    - qDebug
    - atomic_val_compare_exchange_32
    - taosWUnLockLatch
    - saveBlocksToDisk
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t addBlkToDirtyBufList(SGroupCacheOperatorInfo* pGCache, SGcDownstreamCtx*
      pCtx, SGcBlkCacheInfo* pCache, SGcBlkBufInfo* pBufInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:434,1
    - Dst: removeGroupCacheFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:440,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:444,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:445,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pFileCtx
    - downstreamIdx
    - vgId
    argTypes:
    - SGcFileCacheCtx*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 452
    functionName: chkRemoveVgroupCurrFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - qTrace
    - taosRemoveFile
    - taosHashGet
    - removeGroupCacheFile
    - snprintf
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE chkRemoveVgroupCurrFile(SGcFileCacheCtx* pFileCtx, int32_t
      downstreamIdx, int32_t vgId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chkRemoveVgroupCurrFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pFileCtx
    - downstreamIdx
    - vgId
    - removeCheck
    argTypes:
    - SGcFileCacheCtx*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 465
    functionName: groupCacheSwitchNewFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - chkRemoveVgroupCurrFile
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE groupCacheSwitchNewFile(SGcFileCacheCtx* pFileCtx, int32_t
      downstreamIdx, int32_t vgId, bool removeCheck)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:470,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:470,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:471,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:473,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:476,1
    - Dst: blockDataToBuf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:476,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:481,1
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:484,1
    - Dst: groupCacheSwitchNewFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:489,1
    - Dst: addBlkToDirtyBufList
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - pOperator
    - pBlock
    - pCtx
    - pGroup
    - pBufInfo
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock*
    - SGcDownstreamCtx*
    - SGroupCacheData*
    - SGcBlkBufInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 468
    functionDepth: 5
    functionLinenumber: 468
    functionLinenumberEnd: 495
    functionName: addBlkToBufCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - atomic_fetch_add_64
    - groupCacheSwitchNewFile
    - qError
    - atomic_add_fetch_64
    - QRY_ERR_RET
    - blockDataToBuf
    - addBlkToDirtyBufList
    - taosArrayGetSize
    - blockDataGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t addBlkToBufCache(struct SOperatorInfo* pOperator, SSDataBlock*
      pBlock, SGcDownstreamCtx* pCtx, SGroupCacheData* pGroup, SGcBlkBufInfo* pBufInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:498,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:500,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:502,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 516
    functionName: blockDataDeepClear
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - taosArrayGet
    - taosArrayGetSize
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void blockDataDeepClear(SSDataBlock* pDataBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:519,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:524,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:526,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:529,1
    - Dst: blockDataDeepClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ppDst
    - pSrc
    argTypes:
    - SSDataBlock**
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 533
    functionName: buildGroupCacheBaseBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TAOS_MEMCPY
    - taosMemoryFree
    - blockDataDeepClear
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildGroupCacheBaseBlock(SSDataBlock** ppDst, SSDataBlock*
      pSrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:536,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:537,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:538,1
    - Dst: buildGroupCacheBaseBlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:539,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:541,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - ppRes
    argTypes:
    - SGcDownstreamCtx*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 545
    functionName: acquireBaseBlockFromList
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - buildGroupCacheBaseBlock
    - taosArrayGetSize
    - taosWUnLockLatch
    - taosArrayPop
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t acquireBaseBlockFromList(SGcDownstreamCtx* pCtx, SSDataBlock**
      ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDeepCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:550,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:551,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:552,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SGcDownstreamCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 558
    functionName: releaseBaseBlockToList
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosWLockLatch
    - taosWUnLockLatch
    - blockDataDeepCleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t releaseBaseBlockToList(SGcDownstreamCtx* pCtx, SSDataBlock*
      pBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: acquireBaseBlockFromList
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:562,1
    - Dst: blockDataFromBuf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pGCache
    - downstreamIdx
    - pBuf
    - ppRes
    argTypes:
    - SGroupCacheOperatorInfo*
    - int32_t
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 568
    functionName: buildGroupCacheResultBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - acquireBaseBlockFromList
    - blockDataFromBuf
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildGroupCacheResultBlock(SGroupCacheOperatorInfo* pGCache,
      int32_t downstreamIdx, void* pBuf, SSDataBlock** ppRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: acquireFdFromFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:574,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:579,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:583,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:589,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:595,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:597,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:602,1
    - Dst: releaseFdToFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:607,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - pGCache
    - pGrp
    - pBasic
    - ppBuf
    argTypes:
    - SGroupCacheOperatorInfo*
    - SGroupCacheData*
    - SGcBlkBufBasic*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 609
    functionName: readBlockFromDisk
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - taosReadFile
    - releaseFdToFileCtx
    - qTrace
    - qError
    - taosLSeekFile
    - acquireFdFromFileCtx
    linkageType: ''
    returnType: int32_t
    signature: int32_t readBlockFromDisk(SGroupCacheOperatorInfo* pGCache, SGroupCacheData*
      pGrp, SGcBlkBufBasic* pBasic, void** ppBuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:616,1
    - Dst: readBlockFromDisk
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:618,1
    - Dst: buildGroupCacheResultBlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:626,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:627,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:629,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:636,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - pGCache
    - pGrp
    - sessionId
    - pBasic
    - ppRes
    argTypes:
    - SGroupCacheOperatorInfo*
    - SGroupCacheData*
    - int64_t
    - SGcBlkBufBasic*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 611
    functionDepth: 5
    functionLinenumber: 611
    functionLinenumberEnd: 639
    functionName: retrieveBlkFromBufCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - readBlockFromDisk
    - buildGroupCacheResultBlock
    - QRY_ERR_RET
    - taosHashRelease
    - taosHashAcquire
    - taosMemoryFree
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t retrieveBlkFromBufCache(SGroupCacheOperatorInfo* pGCache, SGroupCacheData*
      pGrp, int64_t sessionId, SGcBlkBufBasic* pBasic, SSDataBlock** ppRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:644,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:645,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pOperator
    - pVgCtx
    - downstreamId
    - vgId
    - pTbList
    argTypes:
    - SOperatorInfo*
    - SGcVgroupCtx*
    - int32_t
    - int32_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 649
    functionName: initGcVgroupCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - taosGetPId
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE initGcVgroupCtx(SOperatorInfo* pOperator, SGcVgroupCtx*
      pVgCtx, int32_t downstreamId, int32_t vgId, SArray* pTbList)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:654,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:658,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:659,1
    - Dst: initGcVgroupCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:663,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:664,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:664,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:666,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:668,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:669,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:675,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pOperator
    - pHash
    - pNew
    argTypes:
    - SOperatorInfo*
    - SSHashObj*
    - SGcNewGroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 680
    functionName: addNewGroupToVgHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - initGcVgroupCtx
    - qError
    - tSimpleHashPut
    - QRY_ERR_RET
    - taosArrayInit
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t addNewGroupToVgHash(SOperatorInfo* pOperator, SSHashObj* pHash,
      SGcNewGroupInfo* pNew)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:688,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:689,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:695,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:697,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:698,1
    - Dst: addNewGroupToVgHash
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:702,1
    - Dst: mergeOperatorParams
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:711,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:718,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:722,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - pOperator
    - downstreamIdx
    - ppParam
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 682
    functionDepth: 3
    functionLinenumber: 682
    functionLinenumberEnd: 726
    functionName: appendNewGroupToDownstream
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - addNewGroupToVgHash
    - taosArrayGet
    - mergeOperatorParams
    - qError
    - QRY_ERR_RET
    - taosArrayGetSize
    - taosWUnLockLatch
    - taosArrayClear
    - taosWLockLatch
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE appendNewGroupToDownstream(struct SOperatorInfo* pOperator,
      int32_t downstreamIdx, SOperatorParam** ppParam)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: appendNewGroupToDownstream
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:735,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:742,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:744,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:748,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:748,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:748,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:753,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:753,1
    - Dst: buildGroupCacheBaseBlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:757,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:762,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:764,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - pOperator
    - downstreamIdx
    - ppRes
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 728
    functionDepth: 4
    functionLinenumber: 728
    functionLinenumberEnd: 773
    functionName: getBlkFromDownstreamOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - SOperatorInfo*::fpSet::getNextFn
    - SOperatorInfo*::fpSet::getNextExtFn
    - buildGroupCacheBaseBlock
    - qError
    - GET_TASKID
    - QRY_ERR_RET
    - qDebug
    - appendNewGroupToDownstream
    - tstrerror
    - blockDataCheck
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE getBlkFromDownstreamOperator(struct SOperatorInfo* pOperator,
      int32_t downstreamIdx,\n                                                         SSDataBlock**
      ppRes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:776,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:780,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:782,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:784,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:785,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:788,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pWaitQueue
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 792
    functionName: notifyWaitingSessions
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - tsem_post
    - qError
    - QRY_ERR_RET
    - taosArrayGetSize
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t notifyWaitingSessions(SArray* pWaitQueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:797,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:799,1
    - Dst: notifyWaitingSessions
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:800,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:801,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SGroupCacheData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 805
    functionName: handleGroupFetchDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - notifyWaitingSessions
    - atomic_store_8
    - taosThreadMutexUnlock
    - taosArrayClear
    - taosThreadMutexLock
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE handleGroupFetchDone(SGroupCacheData* pGroup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:809,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:809,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:813,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:816,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:818,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:822,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:822,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:823,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:825,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:826,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:832,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - pFileCtx
    - fileId
    - downstreamId
    - vgId
    argTypes:
    - SGcFileCacheCtx*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 835
    functionName: addFileRefTableNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - qTrace
    - qError
    - taosHashGet
    - QRY_ERR_RET
    - taosHashInit
    - taosHashSetFreeFp
    - snprintf
    - taosGetDefaultHashFunction
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t addFileRefTableNum(SGcFileCacheCtx* pFileCtx, int32_t fileId,
      int32_t downstreamId, int32_t vgId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:847,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:851,1
    - Dst: handleGroupFetchDone
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:851,1
    - Dst: groupCacheSwitchNewFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:854,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:859,1
    - Dst: addFileRefTableNum
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:862,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pCtx
    - pGroup
    - uid
    argTypes:
    - SGcDownstreamCtx*
    - SGroupCacheData*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 837
    functionDepth: 4
    functionLinenumber: 837
    functionLinenumberEnd: 866
    functionName: handleVgroupTableFetchDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - handleGroupFetchDone
    - taosArrayGet
    - addFileRefTableNum
    - qTrace
    - groupCacheSwitchNewFile
    - QRY_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t handleVgroupTableFetchDone(SGcDownstreamCtx* pCtx, SGroupCacheData*
      pGroup, uint64_t uid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:870,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:870,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:875,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:877,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - pCtx
    - pGroup
    - downstreamIdx
    - vgId
    - batchFetch
    - needCache
    argTypes:
    - SGcDownstreamCtx*
    - SGroupCacheData*
    - int32_t
    - int32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 884
    functionName: initNewGroupData
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    - QRY_ERR_RET
    - taosThreadMutexInit
    - tSimpleHashGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE initNewGroupData(SGcDownstreamCtx* pCtx, SGroupCacheData*
      pGroup, int32_t downstreamIdx, int32_t vgId, bool batchFetch, bool needCache)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:894,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:896,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:908,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:912,1
    - Dst: initNewGroupData
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:912,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:914,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:921,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:923,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:924,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:925,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:928,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:930,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - pOperator
    - pParam
    - ppGrp
    - vgId
    - uid
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SGroupCacheData**
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 936
    functionName: addNewGroupData
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosWLockLatch
    - taosHashGet
    - QRY_ERR_RET
    - qDebug
    - initNewGroupData
    - taosWUnLockLatch
    - taosArrayDestroy
    - taosHashPut
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t addNewGroupData(struct SOperatorInfo* pOperator, SOperatorParam*
      pParam, SGroupCacheData** ppGrp, int32_t vgId, int64_t uid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:939,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:940,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:941,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:943,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:944,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - batchFetch
    - pGroup
    - pNewBlk
    - pIdx
    argTypes:
    - bool
    - SGroupCacheData*
    - SGcBlkBufInfo*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 949
    functionName: addBlkToGroupCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - QRY_ERR_RET
    - qDebug
    - taosArrayGetSize
    - taosWUnLockLatch
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t addBlkToGroupCache(bool batchFetch, SGroupCacheData* pGroup,
      SGcBlkBufInfo* pNewBlk, int64_t* pIdx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:958,1
    - Dst: addNewGroupData
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:967,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:972,1
    - Dst: handleVgroupTableFetchDone
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:978,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:985,1
    - Dst: addBlkToBufCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:988,1
    - Dst: addBlkToGroupCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:993,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:998,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1003,1
    - Dst: notifyWaitingSessions
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1003,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - pSession
    - continueFetch
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock*
    - SGcSessionCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 951
    functionDepth: 6
    functionLinenumber: 951
    functionLinenumberEnd: 1013
    functionName: handleGroupCacheRetrievedBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - handleVgroupTableFetchDone
    - addNewGroupData
    - notifyWaitingSessions
    - qError
    - taosHashGet
    - QRY_ERR_RET
    - qDebug
    - addBlkToGroupCache
    - addBlkToBufCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t handleGroupCacheRetrievedBlk(struct SOperatorInfo* pOperator,
      SSDataBlock* pBlock, SGcSessionCtx* pSession, bool* continueFetch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1022,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1023,1
    - Dst: handleGroupFetchDone
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1023,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1030,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1031,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1033,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1034,1
    - Dst: handleGroupFetchDone
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1034,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1036,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pOperator
    - pSession
    argTypes:
    - struct SOperatorInfo*
    - SGcSessionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1043
    functionName: handleDownstreamFetchDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - handleGroupFetchDone
    - taosHashIterate
    - taosArrayGet
    - QRY_ERR_RET
    - taosArrayGetSize
    - tSimpleHashIterate
    - taosArrayClear
    - taosHashClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t handleDownstreamFetchDone(struct SOperatorInfo* pOperator,
      SGcSessionCtx* pSession)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1051,1
    - Dst: getBlkFromDownstreamOperator
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1051,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1054,1
    - Dst: handleDownstreamFetchDone
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1054,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1057,1
    - Dst: handleGroupCacheRetrievedBlk
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1057,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1062,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1064,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1065,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1066,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1067,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1072,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1074,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1074,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1077,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1077,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1083,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1084,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - pOperator
    - pCtx
    - sessionId
    - pSession
    - ppRes
    argTypes:
    - struct SOperatorInfo*
    - SGcDownstreamCtx*
    - int64_t
    - SGcSessionCtx*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1045
    functionDepth: 7
    functionLinenumber: 1045
    functionLinenumberEnd: 1089
    functionName: getCacheBlkFromDownstreamOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - tsem_post
    - handleDownstreamFetchDone
    - taosHashCancelIterate
    - taosHashRemove
    - qError
    - QRY_ERR_RET
    - atomic_val_compare_exchange_64
    - taosHashGetKey
    - handleGroupCacheRetrievedBlk
    - getBlkFromDownstreamOperator
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getCacheBlkFromDownstreamOperator(struct SOperatorInfo* pOperator,
      SGcDownstreamCtx* pCtx, int64_t sessionId, SGcSessionCtx* pSession, SSDataBlock**
      ppRes)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1099,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1100,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1103,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1104,1
    - Dst: retrieveBlkFromBufCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1105,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1110,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1111,1
    - Dst: retrieveBlkFromBufCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1112,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1116,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1123,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1125,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 5
    argNames:
    - pOperator
    - sessionId
    - pSession
    - ppRes
    - got
    argTypes:
    - struct SOperatorInfo*
    - int64_t
    - SGcSessionCtx*
    - SSDataBlock**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1091
    functionDepth: 6
    functionLinenumber: 1091
    functionLinenumberEnd: 1136
    functionName: getBlkFromSessionCacheImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - retrieveBlkFromBufCache
    - taosArrayGet
    - atomic_load_8
    - taosRUnLockLatch
    - qDebug
    - taosArrayGetSize
    - taosRLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t getBlkFromSessionCacheImpl(struct SOperatorInfo* pOperator,
      int64_t sessionId, SGcSessionCtx* pSession, SSDataBlock** ppRes, bool* got)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1142,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1150,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1152,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1156,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1157,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1161,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1161,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1165,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1168,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1168,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1170,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1172,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1172,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1173,1
    - Dst: getCacheBlkFromDownstreamOperator
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1178,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1181,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1183,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1183,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1184,1
    - Dst: getBlkFromSessionCacheImpl
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1188,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1193,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - pOperator
    - pCtx
    - sessionId
    - pSession
    - ppRes
    argTypes:
    - struct SOperatorInfo*
    - SGcDownstreamCtx*
    - int64_t
    - SGcSessionCtx*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1139
    functionDepth: 8
    functionLinenumber: 1139
    functionLinenumberEnd: 1198
    functionName: groupCacheSessionWait
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - QRY_ERR_JRET
    - tsem_wait
    - taosHashRemove
    - qError
    - tsem_init
    - getCacheBlkFromDownstreamOperator
    - taosArrayInit
    - taosThreadMutexUnlock
    - tstrerror
    - getBlkFromSessionCacheImpl
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupCacheSessionWait(struct SOperatorInfo* pOperator, SGcDownstreamCtx*
      pCtx, int64_t sessionId, SGcSessionCtx* pSession, SSDataBlock** ppRes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getBlkFromSessionCacheImpl
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1209,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1214,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1215,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1217,1
    - Dst: getCacheBlkFromDownstreamOperator
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1221,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1225,1
    - Dst: groupCacheSessionWait
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1230,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1239,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1247,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - pOperator
    - sessionId
    - pSession
    - ppRes
    argTypes:
    - struct SOperatorInfo*
    - int64_t
    - SGcSessionCtx*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1201
    functionDepth: 9
    functionLinenumber: 1201
    functionLinenumberEnd: 1251
    functionName: getBlkFromSessionCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - atomic_load_64
    - qError
    - atomic_val_compare_exchange_64
    - groupCacheSessionWait
    - getCacheBlkFromDownstreamOperator
    - taosThreadMutexUnlock
    - getBlkFromSessionCacheImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t getBlkFromSessionCache(struct SOperatorInfo* pOperator, int64_t
      sessionId, SGcSessionCtx* pSession, SSDataBlock** ppRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1256,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1256,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1260,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1261,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SGroupCacheOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1268
    functionName: initGroupCacheBlockCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - taosHashSetFreeFp
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t initGroupCacheBlockCache(SGroupCacheOperatorInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pSession
    - pGcParam
    - pGroup
    argTypes:
    - SGcSessionCtx*
    - SGcOperatorParam*
    - SGroupCacheData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1275
    functionName: initGroupCacheSessionCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE initGroupCacheSessionCtx(SGcSessionCtx* pSession, SGcOperatorParam*
      pGcParam, SGroupCacheData* pGroup)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1285,1
    - Dst: addNewGroupData
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1287,1
    - Dst: initGroupCacheSessionCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1297,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1299,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1304,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1306,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1307,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - ppSession
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SGcSessionCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1314
    functionName: initGroupCacheSession
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - addNewGroupData
    - qError
    - taosHashGet
    - QRY_ERR_RET
    - taosHashPut
    - qDebug
    - initGroupCacheSessionCtx
    linkageType: ''
    returnType: int32_t
    signature: int32_t initGroupCacheSession(struct SOperatorInfo* pOperator, SOperatorParam*
      pParam, SGcSessionCtx** ppSession)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1321,1
    - Dst: initGroupCacheSession
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1323,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1328,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1332,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1334,1
    - Dst: releaseBaseBlockToList
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1334,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1335,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1337,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1338,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1343,1
    - Dst: getBlkFromSessionCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1343,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1345,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1346,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1348,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1348,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1349,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1353,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - pOperator
    - ppRes
    - pParam
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock**
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1316
    functionDepth: 10
    functionLinenumber: 1316
    functionLinenumberEnd: 1357
    functionName: getBlkFromGroupCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosHashRemove
    - qError
    - taosHashGet
    - QRY_ERR_RET
    - getBlkFromSessionCache
    - qDebug
    - initGroupCacheSession
    - tstrerror
    - releaseBaseBlockToList
    linkageType: ''
    returnType: int32_t
    signature: int32_t getBlkFromGroupCache(struct SOperatorInfo* pOperator, SSDataBlock**
      ppRes, SOperatorParam* pParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1366
    functionName: initGroupCacheExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initGroupCacheExecInfo(SOperatorInfo*        pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1373,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1374,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1376,1
    - Dst: removeGroupCacheFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1379,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1383,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1384,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1388,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1394,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1395,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1396,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1399
    functionName: freeRemoveGroupCacheData
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - qTrace
    - taosRemoveFile
    - taosHashGet
    - removeGroupCacheFile
    - taosThreadMutexDestroy
    - snprintf
    - atomic_sub_fetch_32
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void freeRemoveGroupCacheData(void* p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1405,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1416,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1416,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1420,1
    - Dst: initGcVgroupCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1425,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1426,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1426,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1429,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1434,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1434,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1438,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1441,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1441,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1445,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1447,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1452,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1452,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1457,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1458,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1460,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1403
    functionDepth: 2
    functionLinenumber: 1403
    functionLinenumberEnd: 1464
    functionName: initGroupCacheDownstreamCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosGetPId
    - initGcVgroupCtx
    - tSimpleHashPut
    - QRY_ERR_RET
    - tSimpleHashSetFreeFp
    - taosHashInit
    - taosHashSetFreeFp
    - snprintf
    - tSimpleHashInit
    - taosArrayInit
    - taosGetDefaultHashFunction
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initGroupCacheDownstreamCtx(SOperatorInfo*          pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBlkFromGroupCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1472,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pRes
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1466
    functionDepth: 11
    functionLinenumber: 1466
    functionLinenumberEnd: 1480
    functionName: groupCacheGetNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - getBlkFromGroupCache
    - T_LONG_JMP
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupCacheGetNext(struct SOperatorInfo* pOperator, SOperatorParam*
      pParam, SSDataBlock** pRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1488,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1489,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pOperator
    - pParam
    argTypes:
    - SOperatorInfo*
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1495
    functionName: groupCacheTableCacheEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - qTrace
    - qError
    - taosHashRemove
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupCacheTableCacheEnd(SOperatorInfo* pOperator, SOperatorParam*
      pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1498,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1501,1
    - Dst: blockDataDeepCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1502,1
    - Dst: freeGcBlockInList
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1503,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SGcBlkCacheInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1497
    functionDepth: 2
    functionLinenumber: 1497
    functionLinenumberEnd: 1515
    functionName: resetGroupCacheBlockCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - taosHashClear
    - taosHashIterate
    - freeGcBlockInList
    - blockDataDeepCleanup
    linkageType: ''
    returnType: void
    signature: void resetGroupCacheBlockCache(SGcBlkCacheInfo* pCache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1526,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1527,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1529,1
    - Dst: initGcVgroupCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1533,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1534,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1534,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1537,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1538,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1539,1
    - Dst: freeSGcFileCacheCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1540,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1553,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1517
    functionDepth: 2
    functionLinenumber: 1517
    functionLinenumberEnd: 1557
    functionName: resetGroupCacheDownstreamCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - freeSGcFileCacheCtx
    - initGcVgroupCtx
    - tSimpleHashClear
    - tSimpleHashPut
    - qError
    - tstrerror
    - taosArrayClear
    - taosHashClear
    - TAOS_CHECK_EXIT
    - taosArrayClearEx
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetGroupCacheDownstreamCtx(SOperatorInfo* pOper)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetGroupCacheBlockCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1565,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1569,1
    - Dst: resetGroupCacheDownstreamCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1569,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1571,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1576,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1559
    functionDepth: 3
    functionLinenumber: 1559
    functionLinenumberEnd: 1580
    functionName: resetGroupCacheOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - memset
    - resetGroupCacheBlockCache
    - tstrerror
    - taosHashClear
    - TAOS_CHECK_EXIT
    - resetGroupCacheDownstreamCtx
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetGroupCacheOperState(SOperatorInfo* pOper)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1585,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1588,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1589,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1594,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1599,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1607,1
    - Dst: initGroupColsInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1613,1
    - Dst: initGroupCacheBlockCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1619,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1625,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1625,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1630,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1633,1
    - Dst: initGroupCacheDownstreamCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1638,1
    - Dst: initGroupCacheExecInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1643,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1648,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1650,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1652,1
    - Dst: destroyGroupCacheOperator
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1659,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1662,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 5
    argNames:
    - pDownstream
    - numOfDownstream
    - pPhyciNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SGroupCachePhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1582
    functionDepth: 7
    functionLinenumber: 1582
    functionLinenumberEnd: 1665
    functionName: createGroupCacheOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: 2
    functionsReached:
    - appendDownstream
    - setOperatorInfo
    - QRY_PARAM_CHECK
    - initGroupColsInfo
    - qTrace
    - qError
    - initOperatorCostInfo
    - initGroupCacheExecInfo
    - destroyGroupCacheOperator
    - createOperatorFpSet
    - setOperatorResetStateFn
    - destroyOperatorAndDownstreams
    - initGroupCacheBlockCache
    - taosHashInit
    - taosHashSetFreeFp
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - initGroupCacheDownstreamCtx
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createGroupCacheOperatorInfo(SOperatorInfo** pDownstream,
      int32_t numOfDownstream,\n                                     SGroupCachePhysiNode*
      pPhyciNode, SExecTaskInfo* pTaskInfo,\n                                     SOperatorInfo**
      pOptrInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:72,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:73,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:75,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:76,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:80,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:80,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: sortMergeloadNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::getNextFn
    - qError
    - GET_TASKID
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataCheck
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortMergeloadNextDataBlock(void* param, SSDataBlock** ppBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:94,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:96,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:98,1
    - Dst: tsortSetCompareGroupId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:99,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:104,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:105,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:112,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:113,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:118,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:119,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:122,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:127,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:127,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 85
    functionDepth: 9
    functionLinenumber: 85
    functionLinenumberEnd: 130
    functionName: openSortMergeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - tsortSetCompareGroupId
    - SOperatorInfo*::fpSet::_openFn
    - qError
    - tsortCreateSortHandle
    - QUERY_CHECK_NULL
    - GET_TASKID
    - tsortOpen
    - QUERY_CHECK_CODE
    - tstrerror
    - tsortAddSource
    - taosMemoryCalloc
    - tsortSetFetchRawDataFp
    linkageType: ''
    returnType: int32_t
    signature: int32_t openSortMergeOperator(SOperatorInfo* pOperator)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:143,1
    - Dst: tsortGetGroupId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:151,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:158,1
    - Dst: tsortGetGroupId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:168,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:170,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:180,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:193,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 5
    argNames:
    - pInfo
    - pHandle
    - capacity
    - p
    - newgroup
    argTypes:
    - SMultiwayMergeOperatorInfo*
    - SSortHandle*
    - int32_t
    - SSDataBlock*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 205
    functionName: doGetSortedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - tsortGetGroupId
    - appendOneRowToDataBlock
    - tsortNextTuple
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doGetSortedBlockData(SMultiwayMergeOperatorInfo* pInfo, SSortHandle*
      pHandle, int32_t capacity,\n                                 SSDataBlock* p,
      bool* newgroup)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:218,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:218,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:219,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:223,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:228,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:234,1
    - Dst: doGetSortedBlockData
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:239,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:249,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:252,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:260,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:262,1
    - Dst: getDataBlockColBySlotId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:268,1
    - Dst: getDataBlockColBySlotId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:274,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:280,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:298,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:298,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 303
    functionName: doSortMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - blockDataCleanup
    - blockDataEnsureCapacity
    - GET_TASKID
    - applyLimitOffset
    - colDataAssign
    - qDebug
    - taosArrayGetSize
    - doGetSortedBlockData
    - getDataBlockColBySlotId
    - tsortGetSortedDataBlock
    - resetLimitInfoForNextGroup
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSortMerge(SOperatorInfo* pOperator, SSDataBlock** pResBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:306,1
    - Dst: tsortGetSortExecInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 320
    functionName: getSortMergeExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - tsortGetSortExecInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSortMergeExplainExecInfo(SOperatorInfo* pOptr, void** pOptrExplain,
      uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:325,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:328,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:331,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:333,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: destroySortMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - blockDataDestroy
    - tsortDestroySortHandle
    linkageType: ''
    returnType: void
    signature: void destroySortMergeOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _info
    - ','
    - _idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: NON_SORT_NEXT_SRC
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NON_SORT_NEXT_SRC(_info, _idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 359
    functionName: openNonSortMergeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t openNonSortMergeOperator(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:362,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:371,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:371,1
    - Dst: NON_SORT_NEXT_SRC
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:373,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:375,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:377,1
    - Dst: NON_SORT_NEXT_SRC
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:379,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 361
    functionDepth: 6
    functionLinenumber: 361
    functionLinenumberEnd: 394
    functionName: doNonSortMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - getNextBlockFromDownstream
    - QRY_PARAM_CHECK
    - TSWAP
    - copyDataBlock
    - GET_TASKID
    - qDebug
    - NON_SORT_NEXT_SRC
    linkageType: ''
    returnType: int32_t
    signature: int32_t doNonSortMerge(SOperatorInfo* pOperator, SSDataBlock** pResBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: destroyNonSortMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyNonSortMergeOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: getNonSortMergeExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getNonSortMergeExplainExecInfo(SOperatorInfo* pOptr, void**
      pOptrExplain, uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: openColsMergeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t openColsMergeOperator(SOperatorInfo* pOperator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:411,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:429,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:437,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:437,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:438,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:439,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:440,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:446,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:447,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:449,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:451,1
    - Dst: copyColumnsValue
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:452,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:453,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:455,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:456,1
    - Dst: copyColumnsValue
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:459,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:460,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:463,1
    - Dst: copyColumnsValue
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:465,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:466,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:472,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:484,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 410
    functionDepth: 6
    functionLinenumber: 410
    functionLinenumberEnd: 486
    functionName: doColsMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::getNextExtFn
    - getNextBlockFromDownstream
    - freeOperatorParam
    - blockDataCleanup
    - QRY_PARAM_CHECK
    - blockDataEnsureCapacity
    - TMIN
    - GET_TASKID
    - TMAX
    - setOperatorCompleted
    - qError
    - qDebug
    - copyColumnsValue
    - QUERY_CHECK_CODE
    - tstrerror
    - printDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t doColsMerge(SOperatorInfo* pOperator, SSDataBlock** pResBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: destroyColsMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destroyColsMergeOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: getColsMergeExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getColsMergeExplainExecInfo(SOperatorInfo* pOptr, void** pOptrExplain,
      uint32_t* len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:511,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:522,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:524,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 529
    functionName: openMultiwayMergeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - qError
    - OPTR_IS_OPENED
    - tstrerror
    - OPTR_SET_OPENED
    linkageType: ''
    returnType: int32_t
    signature: int32_t openMultiwayMergeOperator(SOperatorInfo* pOperator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:532,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:543,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:544,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:548,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:552,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:553,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:555,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:560,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:560,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 565
    functionName: doMultiwayMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - SOperatorInfo*::fpSet::_openFn
    - qError
    - setOperatorCompleted
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataCheck
    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:569,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 577
    functionName: destroyMultiwayMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destroyMultiwayMergeOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 588
    functionName: getMultiwayMergeExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getMultiwayMergeExplainExecInfo(SOperatorInfo* pOptr, void**
      pOptrExplain, uint32_t* len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:596,1
    - Dst: OPTR_CLR_OPENED
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:599,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:606,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:608,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:611,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:616,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 590
    functionDepth: 3
    functionLinenumber: 590
    functionLinenumberEnd: 631
    functionName: resetMultiwayMergeOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 0
    functionsReached:
    - blockDataCleanup
    - qError
    - OPTR_CLR_OPENED
    - resetBasicOperatorState
    - tsortDestroySortHandle
    - initLimitInfo
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetMultiwayMergeOperState(SOperatorInfo* pOper)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:635,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:640,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:641,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:647,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:660,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:661,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:662,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:664,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:665,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:666,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:669,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:670,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:671,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:673,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:676,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:677,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:680,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:689,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:690,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:692,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:693,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:694,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:700,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:701,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:703,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:704,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:705,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:709,1
    - Dst: getOperatorResultBlockId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:711,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:716,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:721,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:724,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:727,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:728,1
    - Dst: destroyMultiwayMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:738,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:741,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 81
    argCount: 5
    argNames:
    - downStreams
    - numStreams
    - pMergePhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - size_t
    - SMergePhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 633
    functionDepth: 7
    functionLinenumber: 633
    functionLinenumberEnd: 743
    functionName: createMultiwayMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: 2
    functionsReached:
    - nodesListGetNode
    - appendDownstream
    - qError
    - TSDB_CHECK_CODE
    - createOperatorFpSet
    - setOperatorResetStateFn
    - getProperSortPageSize
    - extractColMatchInfo
    - TSDB_CHECK_NULL
    - QRY_PARAM_CHECK
    - createSortInfo
    - taosArrayGetSize
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - getOperatorResultBlockId
    - destroyMultiwayMergeOperatorInfo
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - initLimitInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createMultiwayMergeOperatorInfo(SOperatorInfo** downStreams,
      size_t numStreams, SMergePhysiNode* pMergePhyNode,\n                                        SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pLimit
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: getLimit
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getLimit(const SNode* pLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pLimit
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: getOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getOffset(const SNode* pLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pResultRowInfo
    argTypes:
    - SResultRowInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: initResultRowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initResultRowInfo(SResultRowInfo* pResultRowInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pResultRow
    argTypes:
    - SResultRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: closeResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void closeResultRow(SResultRow* pResultRow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/executil.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pResultRow
    - entrySize
    argTypes:
    - SResultRow*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: resetResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 4
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void resetResultRow(SResultRow* pResultRow, size_t entrySize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pRow
    - index
    - offset
    argTypes:
    - SResultRow*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: getResultEntryInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: SResultRowEntryInfo
    signature: SResultRowEntryInfo * getResultEntryInfo(const SResultRow* pRow, int32_t
      index, const int32_t* offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCtx
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: getResultRowSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getResultRowSize(SqlFunctionCtx* pCtx, int32_t numOfOutput)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:110,1
    - Dst: getResultRowSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:120,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:121,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:123,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:127,1
    - Dst: SqlFunctionCtx*::fpSet::decode
      Src: /src/tdengine/source/libs/executor/src/executil.c:136,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:136,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:138,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:142,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:142,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/libs/executor/src/executil.c:151,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:153,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:156,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 5
    argNames:
    - pSup
    - inBuf
    - inBufSize
    - outBuf
    - outBufSize
    argTypes:
    - SExprSupp*
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 164
    functionName: getResultRowFromBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - getResultRowSize
    - memcpy
    - TAOS_MEMORY_REALLOC
    - qTrace
    - qError
    - getResultEntryInfo
    - SqlFunctionCtx*::fpSet::decode
    linkageType: ''
    returnType: int32_t
    signature: int32_t getResultRowFromBuf(SExprSupp* pSup, const char* inBuf, size_t
      inBufSize, char** outBuf, size_t* outBufSize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:169,1
    - Dst: getResultRowSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:176,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:179,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:189,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:191,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:197,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:203,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:203,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:210,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - pSup
    - inBuf
    - inBufSize
    - outBuf
    - outBufSize
    argTypes:
    - SExprSupp*
    - char*
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 216
    functionName: putResultRowToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - getResultRowSize
    - memcpy
    - qTrace
    - qError
    - getResultEntryInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t putResultRowToBuf(SExprSupp* pSup, const char* inBuf, size_t
      inBufSize, char** outBuf, size_t* outBufSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: freeEx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeEx(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:221,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:224,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: cleanupGroupResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void cleanupGroupResInfo(SGroupResInfo* pGroupResInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: resultrowComparAsc
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t resultrowComparAsc(const void* p1, const void* p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resultrowComparAsc
      Src: /src/tdengine/source/libs/executor/src/executil.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: resultrowComparDesc
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - resultrowComparAsc
    linkageType: ''
    returnType: int32_t
    signature: int32_t resultrowComparDesc(const void* p1, const void* p2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:259,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:262,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:267,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:270,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:271,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/executil.c:278,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/executil.c:279,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:283,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:284,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/executil.c:287,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/executil.c:288,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:294,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:295,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:296,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/executor/src/executil.c:304,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:304,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:311,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - pGroupResInfo
    - pHashmap
    - order
    argTypes:
    - SGroupResInfo*
    - SSHashObj*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 314
    functionName: initGroupedResultInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 3
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - memcpy
    - tstrerror
    - qError
    - QUERY_CHECK_NULL
    - taosMemoryFree
    - tSimpleHashGetSize
    - taosArrayInit
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - taosSort
    - taosArrayDestroy
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t initGroupedResultInfo(SGroupResInfo* pGroupResInfo, SSHashObj*
      pHashmap, int32_t order)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pGroupResInfo
    - pArrayList
    argTypes:
    - SGroupResInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: initMultiResInfoFromArrayList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void initMultiResInfoFromArrayList(SGroupResInfo* pGroupResInfo, SArray*
      pArrayList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: hasRemainResults
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 3
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool hasRemainResults(SGroupResInfo* pGroupResInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: getNumOfTotalRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t getNumOfTotalRes(SGroupResInfo* pGroupResInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:347,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:352,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:358,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:360,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:360,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:361,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:370,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:371,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:371,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:372,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:380,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:382,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - pNodeList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 389
    functionName: createSortInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - qError
    - LIST_LENGTH
    - nodeType
    - taosArrayInit
    - tstrerror
    - taosArrayDestroy
    linkageType: ''
    returnType: SArray
    signature: SArray * createSortInfo(SNodeList* pNodeList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:393,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:398,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:399,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:407,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:410,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:415,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:416,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:422,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:427,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:427,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 431
    functionName: createDataBlockFromDescNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 21
    functionsReached:
    - qError
    - LIST_LENGTH
    - createColumnInfoData
    - createDataBlock
    - FOREACH
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataAppendColInfo
    - blockDataDestroy
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * createDataBlockFromDescNode(void* p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:436,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:437,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:439,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:439,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:444,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:446,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:446,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:453,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:454,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:459,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pDataBlock
    - pMatchInfo
    argTypes:
    - SSDataBlock*
    - SColMatchInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 474
    functionName: prepareDataBlockBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - tstrerror
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareDataBlockBuf(SSDataBlock* pDataBlock, SColMatchInfo*
      pMatchInfo)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:480,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:486,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:494,1
    - Dst: SMetaReader*::pAPI::extractTagVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:504,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:509,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:513,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:514,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:515,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:519,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:524,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:525,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:525,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:526,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:528,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:528,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:529,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/executor/src/executil.c:532,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:537,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:541,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/executil.c:549,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:550,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:554,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:554,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:555,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:556,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 476
    functionDepth: 5
    functionLinenumber: 476
    functionLinenumberEnd: 561
    functionName: doTranslateTagExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SMetaReader*::pAPI::extractTagVal
    - nodesSetValueNodeValue
    - blobDataSetLen
    - IS_STR_DATA_BLOB
    - nodeType
    - nodesMakeNode
    - varDataVal
    - strlen
    - blobDataVal
    - nodesDestroyNode
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - varDataSetLen
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doTranslateTagExpr(SNode** pNode, void* pContext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:567,1
    - Dst: SStorageAPI*::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/executil.c:568,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:570,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:577,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:580,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:584,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:585,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:588,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/executor/src/executil.c:594,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:597,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 5
    argNames:
    - uid
    - pTagCond
    - vnode
    - pQualified
    - pAPI
    argTypes:
    - int64_t
    - SNode*
    - void*
    - bool*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 608
    functionName: isQualifiedTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - scalarCalculateConstants
    - SStorageAPI*::metaReaderFn::getEntryGetUidCache
    - SStorageAPI*::metaReaderFn::initReader
    - nodesRewriteExprPostOrder
    - SStorageAPI*::metaReaderFn::clearReader
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t isQualifiedTable(int64_t uid, SNode* pTagCond, void* vnode,
      bool* pQualified, SStorageAPI* pAPI)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:613,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:615,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:618,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:626,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:635,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:638,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:648,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 610
    functionDepth: 5
    functionLinenumber: 610
    functionLinenumberEnd: 660
    functionName: getColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashGet
    - taosHashPut
    - nodeType
    - nodesMakeNode
    - qDebug
    - nodesDestroyNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes getColumn(SNode** pNode, void* pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:663,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executil.c:673,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pType
    - numOfRows
    - pParam
    argTypes:
    - SDataType*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 683
    functionName: createResultData
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - colInfoDataEnsureCapacity
    - taosMemoryCalloc
    - releaseColInfoData
    linkageType: ''
    returnType: int32_t
    signature: int32_t createResultData(SDataType* pType, int32_t numOfRows, SScalarParam*
      pParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:688,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCol
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 691
    functionName: releaseColInfoData
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: void releaseColInfoData(void* pCol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 698
    functionName: freeItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeItem(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareInt16Val
      Src: /src/tdengine/source/libs/executor/src/executil.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 710
    functionName: compareTagDataEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - compareInt16Val
    linkageType: ''
    returnType: int
    signature: int compareTagDataEntry(const void* a, const void* b)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:713,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:715,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:721,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:722,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/executil.c:725,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:727,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:733,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:742,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:750,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:756,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:763,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:764,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:764,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:765,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:768,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 3
    argNames:
    - pIdWithValue
    - keyBuf
    - keyLen
    argTypes:
    - SArray*
    - char**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 776
    functionName: buildTagDataEntryKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - qError
    - TMIN
    - varDataLen
    - taosArrayGetSize
    - varDataVal
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTagDataEntryKey(SArray* pIdWithValue, char** keyBuf, int32_t
      keyLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:782,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:784,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pOpNode
    - pIdWithValue
    argTypes:
    - SOperatorNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 792
    functionName: extractTagDataEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodeType
    - taosArrayPush
    linkageType: ''
    returnType: void
    signature: "void extractTagDataEntry(\n  SOperatorNode* pOpNode, SArray* pIdWithValue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:797,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:798,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:799,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:803,1
    - Dst: extractTagDataEntry
      Src: /src/tdengine/source/libs/executor/src/executil.c:804,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:805,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:807,1
    - Dst: extractTagDataEntry
      Src: /src/tdengine/source/libs/executor/src/executil.c:808,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pTagCond
    - pIdWithVal
    argTypes:
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 815
    functionName: extractTagFilterTagDataEntries
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArraySort
    - qError
    - nodeType
    - FOREACH
    - extractTagDataEntry
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extractTagFilterTagDataEntries(\n  const SNode* pTagCond,
      SArray* pIdWithVal)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:827,1
    - Dst: extractTagFilterTagDataEntries
      Src: /src/tdengine/source/libs/executor/src/executil.c:828,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:829,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:830,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:831,1
    - Dst: buildTagDataEntryKey
      Src: /src/tdengine/source/libs/executor/src/executil.c:834,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:835,1
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/executor/src/executil.c:837,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/executor/src/executil.c:838,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/executor/src/executil.c:839,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:843,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:844,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:846,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - pTagCond
    - pContext
    argTypes:
    - SNode*
    - T_MD5_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 817
    functionDepth: 3
    functionLinenumber: 817
    functionLinenumberEnd: 849
    functionName: genStableTagFilterDigest
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - buildTagDataEntryKey
    - tMD5Final
    - taosArrayGet
    - qError
    - tMD5Update
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - taosMemoryFree
    - taosArrayDestroy
    - tMD5Init
    - extractTagFilterTagDataEntries
    linkageType: ''
    returnType: int32_t
    signature: int32_t genStableTagFilterDigest(const SNode* pTagCond, T_MD5_CTX*
      pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToMsg
      Src: /src/tdengine/source/libs/executor/src/executil.c:858,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:860,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:860,1
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/executor/src/executil.c:864,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/executor/src/executil.c:865,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/executor/src/executil.c:866,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pTagCond
    - pContext
    argTypes:
    - SNode*
    - T_MD5_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 851
    functionDepth: 4
    functionLinenumber: 851
    functionLinenumberEnd: 876
    functionName: genTagFilterDigest
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - tMD5Final
    - qError
    - nodesNodeToMsg
    - tMD5Update
    - taosMemoryFree
    - tstrerror
    - tMD5Init
    linkageType: ''
    returnType: int32_t
    signature: int32_t genTagFilterDigest(const SNode* pTagCond, T_MD5_CTX* pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToMsg
      Src: /src/tdengine/source/libs/executor/src/executil.c:883,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:884,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:887,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:887,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:888,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:889,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:889,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:890,1
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/executor/src/executil.c:893,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/executor/src/executil.c:894,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/executor/src/executil.c:895,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:898,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:900,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pGroup
    - filterDigest
    - pContext
    argTypes:
    - SNode*
    - uint8_t*
    - T_MD5_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 878
    functionDepth: 4
    functionLinenumber: 878
    functionLinenumberEnd: 903
    functionName: genTbGroupDigest
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - tMD5Final
    - memcpy
    - tListLen
    - qError
    - nodesNodeToMsg
    - QUERY_CHECK_NULL
    - tMD5Update
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - tstrerror
    - tMD5Init
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t genTbGroupDigest(const SNode* pGroup, uint8_t* filterDigest,
      T_MD5_CTX* pContext)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:908,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:908,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:915,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:923,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:924,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:929,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:933,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:944,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:945,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - data
    - isList
    - pColList
    argTypes:
    - void*
    - bool
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 947
    functionName: qGetColumnsFromNodeList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - REPLACE_NODE
    - nodesRewriteExprPostOrder
    - FOREACH
    - taosHashInit
    - taosHashCleanup
    - taosArrayInit
    - taosGetDefaultHashFunction
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t qGetColumnsFromNodeList(void* data, bool isList, SArray** pColList)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/executil.c:951,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/executil.c:956,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:960,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/executor/src/executil.c:962,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/executil.c:966,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:970,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:973,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:978,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:979,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:980,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:981,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:986,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:987,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:987,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:992,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:992,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:992,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:993,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:993,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:997,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1002,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1003,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1006,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1007,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1012,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1012,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 3
    argNames:
    - pValue
    - i
    - gInfo
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 1016
    functionName: buildGroupInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - varDataTLen
    - colDataGetData
    - tTagIsJsonNull
    - qError
    - varDataLen
    - getJsonValueLen
    - taosArrayReserve
    - qDebug
    - tstrerror
    - varDataVal
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - taosMemoryCalloc
    - tTagIsJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildGroupInfo(SColumnInfoData* pValue, int32_t i, SArray*
      gInfo)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1029,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1034,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1035,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1038,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1039,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1041,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1042,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1045,1
    - Dst: SStorageAPI*::metaFn::getTableTagsByUid
      Src: /src/tdengine/source/libs/executor/src/executil.c:1046,1
    - Dst: SStorageAPI*::metaFn::getTableTags
      Src: /src/tdengine/source/libs/executor/src/executil.c:1048,1
    - Dst: qGetColumnsFromNodeList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1055,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1060,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1061,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1067,1
    - Dst: createTagValBlockForFilter
      Src: /src/tdengine/source/libs/executor/src/executil.c:1068,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1069,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1075,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1076,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1078,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1079,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1081,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1082,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1088,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1095,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1107,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1109,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1110,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:1111,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1112,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1117,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1121,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1125,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1126,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1130,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1130,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1131,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1133,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1134,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1136,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executil.c:1137,1
    - Dst: buildGroupInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:1138,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1140,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/executil.c:1144,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:1152,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1154,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1157,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1162,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1163,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1164,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:1165,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1166,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1169,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1169,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 112
    argCount: 5
    argNames:
    - pVnode
    - group
    - pTableListInfo
    - pAPI
    - groupIdMap
    argTypes:
    - void*
    - SNodeList*
    - STableListInfo*
    - SStorageAPI*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1171
    functionName: getColInfoResultForGroupbyForStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - scalarCalculate
    - nodeType
    - createTagValBlockForFilter
    - createResultData
    - taosArrayDestroy
    - taosArrayGetP
    - SStorageAPI*::metaFn::getTableTagsByUid
    - taosArrayGet
    - colDataAssign
    - taosArrayGetSize
    - releaseColInfoData
    - taosArrayGetLast
    - QUERY_CHECK_NULL
    - qGetColumnsFromNodeList
    - qDebug
    - buildGroupInfo
    - SStorageAPI*::metaFn::getTableTags
    - taosArrayDestroyEx
    - taosArrayDestroyP
    - blockDataDestroy
    - taosArrayInit
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: "void getColInfoResultForGroupbyForStream(void* pVnode, SNodeList*
      group, STableListInfo* pTableListInfo,\n                                   SStorageAPI*
      pAPI, SHashObj* groupIdMap)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1088,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1095,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1107,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1109,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1110,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:1111,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1112,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1117,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1121,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1125,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1126,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1085
    functionDepth: 2
    functionLinenumber: 1085
    functionLinenumberEnd: 1127
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 41
    functionsReached:
    - taosArrayPush
    - releaseColInfoData
    - taosArrayGet
    - colDataAssign
    - QUERY_CHECK_NULL
    - scalarCalculate
    - nodeType
    - createResultData
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, group)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1186,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1194,1
    - Dst: genTbGroupDigest
      Src: /src/tdengine/source/libs/executor/src/executil.c:1199,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1200,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:1202,1
    - Dst: SStorageAPI*::metaFn::metaGetCachedTbGroup
      Src: /src/tdengine/source/libs/executor/src/executil.c:1204,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1205,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1206,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1209,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1211,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1212,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1217,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1218,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1221,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1222,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1224,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1225,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1228,1
    - Dst: SStorageAPI*::metaFn::getTableTagsByUid
      Src: /src/tdengine/source/libs/executor/src/executil.c:1229,1
    - Dst: SStorageAPI*::metaFn::getTableTags
      Src: /src/tdengine/source/libs/executor/src/executil.c:1231,1
    - Dst: qGetColumnsFromNodeList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1238,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1243,1
    - Dst: createTagValBlockForFilter
      Src: /src/tdengine/source/libs/executor/src/executil.c:1244,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1245,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1254,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1255,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1257,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1258,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1260,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1261,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1267,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1274,1
    - Dst: qFetchRemoteNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1283,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1292,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1294,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1295,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:1296,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1297,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1302,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1306,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1310,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1311,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1322,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1325,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1333,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:1333,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1341,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1342,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1345,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1345,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1352,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1353,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executil.c:1354,1
    - Dst: buildGroupInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:1357,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1359,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1359,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1360,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/executil.c:1365,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1369,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/executil.c:1375,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1379,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1380,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1382,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:1383,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1384,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1388,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1388,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1389,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1391,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1395,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1395,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1396,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1399,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/executil.c:1406,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:1408,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1410,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1410,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1411,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1413,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:1418,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1423,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/executil.c:1428,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1429,1
    - Dst: SStorageAPI*::metaFn::metaPutTbGroupToCache
      Src: /src/tdengine/source/libs/executor/src/executil.c:1431,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1432,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1433,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1434,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:1441,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1442,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1443,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1444,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:1445,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1446,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1449,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1449,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 201
    argCount: 8
    argNames:
    - pHandle
    - group
    - pTableListInfo
    - digest
    - pAPI
    - initRemainGroups
    - groupIdMap
    - gIdFromBaseId
    argTypes:
    - SReadHandle*
    - SNodeList*
    - STableListInfo*
    - uint8_t*
    - SStorageAPI*
    - bool
    - SHashObj*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1173
    functionDepth: 5
    functionLinenumber: 1173
    functionLinenumberEnd: 1452
    functionName: getColInfoResultForGroupby
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - colDataGetData
    - qError
    - scalarCalculate
    - nodeType
    - getJsonValueLen
    - createTagValBlockForFilter
    - calcGroupId
    - createResultData
    - taosArrayDestroy
    - taosArrayDup
    - taosArrayGetP
    - SStorageAPI*::metaFn::getTableTagsByUid
    - memcpy
    - taosArrayGet
    - SStorageAPI*::metaFn::metaPutTbGroupToCache
    - LIST_LENGTH
    - colDataAssign
    - genTbGroupDigest
    - taosHashInit
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - nodesFree
    - releaseColInfoData
    - tListLen
    - QUERY_CHECK_NULL
    - nodesMakeNode
    - qDebug
    - qGetColumnsFromNodeList
    - buildGroupInfo
    - qFetchRemoteNode
    - SStorageAPI*::metaFn::getTableTags
    - blobDataTLen
    - taosArrayDestroyEx
    - varDataTLen
    - tTagIsJsonNull
    - IS_STR_DATA_BLOB
    - taosArrayDestroyP
    - taosHashPut
    - blockDataDestroy
    - taosArrayInit
    - tstrerror
    - SStorageAPI*::metaFn::metaGetCachedTbGroup
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getColInfoResultForGroupby(SReadHandle* pHandle, SNodeList*
      group, STableListInfo* pTableListInfo, uint8_t* digest,\n                                   SStorageAPI*
      pAPI, bool initRemainGroups, SHashObj* groupIdMap, bool gIdFromBaseId)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1267,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1274,1
    - Dst: qFetchRemoteNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1283,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1292,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1294,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1295,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:1296,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1297,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1302,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1306,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1310,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1311,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1312
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 41
    functionsReached:
    - taosArrayPush
    - releaseColInfoData
    - taosArrayGet
    - colDataAssign
    - QUERY_CHECK_NULL
    - scalarCalculate
    - nodeType
    - qFetchRemoteNode
    - QUERY_CHECK_CODE
    - createResultData
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1320
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:1458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1464
    functionName: nameComparFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t nameComparFn(const void* p1, const void* p2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1469,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1472,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1473,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1477,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1479,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1483,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1484,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1485,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1489,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:1492,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1495,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1495,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1496,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1497,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1498,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1499,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1500,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/executil.c:1503,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1504,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1505,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:1506,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1510,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1511,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1515,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1517,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1521
    functionName: getTableNameList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - strcmp
    - taosArrayPush
    - taosArraySort
    - taosArrayGet
    - taosArrayGetLast
    - qError
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - varDataVal
    - taosArrayDestroy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: SArray
    signature: SArray * getTableNameList(const SNodeListNode* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1532
    functionName: tableUidCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tableUidCompare(const void* a, const void* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1543
    functionName: filterTableInfoCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterTableInfoCompare(const void* a, const void* b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1546,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - cond
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1553
    functionName: checkTagCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: FilterCondType
    signature: FilterCondType checkTagCond(SNode* cond)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1556,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1563,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1571,1
    - Dst: optimizeTbnameInCondImpl
      Src: /src/tdengine/source/libs/executor/src/executil.c:1571,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - cond
    - pVnode
    - list
    - pAPI
    - suid
    argTypes:
    - SNode*
    - void*
    - SArray*
    - SStorageAPI*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1577
    functionName: doInWithAnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - optimizeTbnameInCondImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t doInWithAnd(SNode* cond, void* pVnode, SArray* list, SStorageAPI*
      pAPI, uint64_t suid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1582,1
    - Dst: optimizeTbnameInCondImpl
      Src: /src/tdengine/source/libs/executor/src/executil.c:1583,1
    - Dst: doInWithAnd
      Src: /src/tdengine/source/libs/executor/src/executil.c:1585,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1586,1
    - Dst: SStorageAPI*::metaFn::getTableTagsByUid
      Src: /src/tdengine/source/libs/executor/src/executil.c:1587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - pVnode
    - suid
    - list
    - cond
    - pAPI
    argTypes:
    - void*
    - int64_t
    - SArray*
    - SNode*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1579
    functionDepth: 2
    functionLinenumber: 1579
    functionLinenumberEnd: 1592
    functionName: optimizeTbnameInCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - doInWithAnd
    - nodeType
    - QUERY_CHECK_CODE
    - optimizeTbnameInCondImpl
    - SStorageAPI*::metaFn::getTableTagsByUid
    linkageType: ''
    returnType: int32_t
    signature: int32_t optimizeTbnameInCond(void* pVnode, int64_t suid, SArray* list,
      SNode* cond, SStorageAPI* pAPI)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getTableNameList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1597,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1598,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1601,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1603,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:1603,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1605,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1605,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1611,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1613,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1613,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:1617,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1619,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1619,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:1624,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executil.c:1627,1
    - Dst: SStorageAPI*::metaFn::getTableUidByName
      Src: /src/tdengine/source/libs/executor/src/executil.c:1629,1
    - Dst: SStorageAPI*::metaFn::getTableTypeSuidByName
      Src: /src/tdengine/source/libs/executor/src/executil.c:1634,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1637,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1639,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:1647,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1648,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1650,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:1651,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 5
    argNames:
    - pVnode
    - pExistedUidList
    - pList
    - pStoreAPI
    - suid
    argTypes:
    - void*
    - SArray*
    - SNodeListNode*
    - SStorageAPI*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1594
    functionDepth: 2
    functionLinenumber: 1594
    functionLinenumberEnd: 1653
    functionName: getTableListInInOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArraySort
    - taosArrayRemoveDuplicate
    - qError
    - taosHashGet
    - SStorageAPI*::metaFn::getTableTypeSuidByName
    - taosHashInit
    - getTableNameList
    - taosArrayGetSize
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - tstrerror
    - SStorageAPI*::metaFn::getTableUidByName
    - taosArrayDestroy
    - taosHashPut
    - taosArrayGetP
    - taosArrayClear
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getTableListInInOperator(void* pVnode, SArray* pExistedUidList,
      SNodeListNode* pList, SStorageAPI* pStoreAPI,\n                                        uint64_t
      suid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1663,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1665,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1666,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1669,1
    - Dst: getTableListInInOperator
      Src: /src/tdengine/source/libs/executor/src/executil.c:1674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - pVnode
    - pExistedUidList
    - pTagCond
    - pStoreAPI
    - suid
    argTypes:
    - void*
    - SArray*
    - SNode*
    - SStorageAPI*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1656
    functionDepth: 3
    functionLinenumber: 1656
    functionLinenumberEnd: 1678
    functionName: optimizeTbnameInCondImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - nodeType
    - getTableListInInOperator
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t optimizeTbnameInCondImpl(void* pVnode, SArray* pExistedUidList,
      SNode* pTagCond, SStorageAPI* pStoreAPI,\n                                        uint64_t
      suid)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:1685,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1686,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1688,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1690,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1691,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:1693,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1694,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executil.c:1697,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1700,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1706,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1709,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1710,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1713,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1714,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/executil.c:1719,1
    - Dst: SStorageAPI*::metaFn::getTableNameByUid
      Src: /src/tdengine/source/libs/executor/src/executil.c:1721,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1722,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1725,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1726,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1728,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1734,1
    - Dst: SStorageAPI*::metaFn::extractTagVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1736,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1739,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1741,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1742,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1743,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:1744,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1745,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1747,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1748,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1749,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1750,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1751,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1753,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:1755,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1756,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1758,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1759,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1762,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1764,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1775,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1776,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1776,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 5
    argNames:
    - pColList
    - numOfTables
    - pUidTagList
    - pVnode
    - pStorageAPI
    argTypes:
    - SArray*
    - int32_t
    - SArray*
    - void*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1680
    functionDepth: 1
    functionLinenumber: 1680
    functionLinenumberEnd: 1781
    functionName: createTagValBlockForFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - qError
    - SStorageAPI*::metaFn::getTableNameByUid
    - createDataBlock
    - memcpy
    - taosArrayGet
    - STR_TO_VARSTR
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - QUERY_CHECK_NULL
    - colDataSetVal
    - qDebug
    - varDataSetLen
    - colDataSetNULL
    - taosMemoryMalloc
    - blockDataEnsureCapacity
    - IS_STR_DATA_BLOB
    - SStorageAPI*::metaFn::extractTagVal
    - taosMemoryFree
    - tstrerror
    - blockDataAppendColInfo
    - blockDataDestroy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: SSDataBlock
    signature: "SSDataBlock * createTagValBlockForFilter(SArray* pColList, int32_t
      numOfTables, SArray* pUidTagList, void* pVnode,\n                                        SStorageAPI*
      pStorageAPI)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:1784,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1786,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1792,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1794,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1794,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1798,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1800,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pUidList
    - pUidTagList
    - colData
    argTypes:
    - SArray*
    - SArray*
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1807
    functionName: doSetQualifiedUid
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qError
    - qDebug
    - taosArrayGetSize
    - tstrerror
    - taosArrayClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetQualifiedUid(SArray* pUidList, const SArray* pUidTagList,
      SColumnInfoData* colData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1811,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1817,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1819,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1819,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1823,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1825,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pUidTagList
    - pUidList
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1809
    functionDepth: 1
    functionLinenumber: 1809
    functionLinenumberEnd: 1830
    functionName: copyExistedUids
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyExistedUids(SArray* pUidTagList, const SArray* pUidList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1835,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:1841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1832
    functionDepth: 1
    functionLinenumber: 1832
    functionLinenumberEnd: 1847
    functionName: getCids
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodeType
    - taosHashPut
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes getCids(SNode** pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:1851,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executil.c:1856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1849
    functionDepth: 3
    functionLinenumber: 1849
    functionLinenumberEnd: 1863
    functionName: getTagCondNodeForQueryTmq
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - GET_TASKID
    - extractOperatorInTree
    linkageType: ''
    returnType: SNode
    signature: SNode * getTagCondNodeForQueryTmq(void* tinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1867
    functionName: getTagCondNodeForStableTmq
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SNode
    signature: SNode * getTagCondNodeForStableTmq(void* node)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1874,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:1874,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:1879,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1881,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1884,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1885,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:1895,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pTagCond
    - cidList
    argTypes:
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1897
    functionName: checkCidInTagCondition
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosHashGet
    - nodesRewriteExprPostOrder
    - taosHashInit
    - taosArrayGetSize
    - taosHashCleanup
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: bool
    signature: bool checkCidInTagCondition(SNode* pTagCond, SArray* cidList)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1916,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1917,1
    - Dst: copyExistedUids
      Src: /src/tdengine/source/libs/executor/src/executil.c:1920,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1921,1
    - Dst: optimizeTbnameInCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:1924,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1926,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1930,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1930,1
    - Dst: checkTagCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:1932,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1934,1
    - Dst: SStorageAPI*::metaFn::getTableTagsByUid
      Src: /src/tdengine/source/libs/executor/src/executil.c:1935,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1937,1
    - Dst: SStorageAPI*::metaFn::getTableTags
      Src: /src/tdengine/source/libs/executor/src/executil.c:1938,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1941,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1941,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1943,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1947,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1947,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1949,1
    - Dst: qGetColumnsFromNodeList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1955,1
    - Dst: createTagValBlockForFilter
      Src: /src/tdengine/source/libs/executor/src/executil.c:1959,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1960,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1963,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1970,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1971,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1973,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1974,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1976,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1979,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1984,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1986,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1986,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1988,1
    - Dst: doSetQualifiedUid
      Src: /src/tdengine/source/libs/executor/src/executil.c:1993,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1998,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1998,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2000,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2001,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:2002,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2004,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2005,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 7
    argNames:
    - suid
    - pUidList
    - pTagCond
    - pVnode
    - status
    - pAPI
    - pStreamInfo
    argTypes:
    - int64_t
    - SArray*
    - SNode*
    - void*
    - SIdxFltStatus
    - SStorageAPI*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1899
    functionDepth: 3
    functionLinenumber: 1899
    functionLinenumberEnd: 2007
    functionName: doFilterByTagCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - qError
    - optimizeTbnameInCond
    - scalarCalculate
    - nodeType
    - createTagValBlockForFilter
    - colDataDestroy
    - createResultData
    - taosArrayDestroy
    - SStorageAPI*::metaFn::getTableTagsByUid
    - copyExistedUids
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClearEx
    - QUERY_CHECK_NULL
    - qDebug
    - checkTagCond
    - qGetColumnsFromNodeList
    - SStorageAPI*::metaFn::getTableTags
    - doSetQualifiedUid
    - taosArrayDestroyEx
    - taosArrayInit
    - tstrerror
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doFilterByTagCond(int64_t suid, SArray* pUidList, SNode* pTagCond,
      void* pVnode,\n                                 SIdxFltStatus status, SStorageAPI*
      pAPI, void* pStreamInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2016,1
    - Dst: fmIsStreamPesudoColVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:2020,1
    - Dst: fmSetStreamPseudoFuncParamVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:2023,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2027,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2030,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 2014
    functionDepth: 4
    functionLinenumber: 2014
    functionLinenumberEnd: 2038
    functionName: replacePlaceHolderColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - fmIsStreamPesudoColVal
    - fmSetStreamPseudoFuncParamVal
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes replacePlaceHolderColumn(SNode** pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2043,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:2047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pOpNode
    - pColIdArray
    argTypes:
    - SOperatorNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2040
    functionDepth: 1
    functionLinenumber: 2040
    functionLinenumberEnd: 2048
    functionName: extractTagColId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodeType
    - taosArrayPush
    linkageType: ''
    returnType: void
    signature: void extractTagColId(SOperatorNode* pOpNode, SArray* pColIdArray)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2054,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2055,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2056,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2061,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2063,1
    - Dst: extractTagColId
      Src: /src/tdengine/source/libs/executor/src/executil.c:2064,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2065,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2067,1
    - Dst: extractTagColId
      Src: /src/tdengine/source/libs/executor/src/executil.c:2068,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:2072,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2076,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2077,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2078,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2080,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2081,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2082,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2083,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2085,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2093,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2093,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - pTagCond
    - pTagCondKey
    - tagCondKeyLen
    - pTagColIds
    argTypes:
    - SNode*
    - char**
    - int32_t*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2050
    functionDepth: 2
    functionLinenumber: 2050
    functionLinenumberEnd: 2097
    functionName: buildTagCondKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArraySort
    - taosArrayGet
    - tstrerror
    - qError
    - nodeType
    - FOREACH
    - extractTagColId
    - taosArrayInit
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildTagCondKey(\n  const SNode* pTagCond, char** pTagCondKey,\n
      \ int32_t* tagCondKeyLen, SArray** pTagColIds)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2104,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2105,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2108,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2112,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2116,1
    - Dst: fmIsStreamPesudoColVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:2117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pTagCond
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2099
    functionDepth: 1
    functionLinenumber: 2099
    functionLinenumberEnd: 2122
    functionName: canOptimizeTagCondFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsStreamPesudoColVal
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes canOptimizeTagCondFilter(SNode* pTagCond, void* pContext)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2133,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2134,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:2142,1
    - Dst: SStorageAPI*::metaFn::isTableExisted
      Src: /src/tdengine/source/libs/executor/src/executil.c:2147,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:2148,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2149,1
    - Dst: doFilterByTagCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:2151,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2152,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:2159,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/executor/src/executil.c:2167,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:2171,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2174,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2175,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/executor/src/executil.c:2178,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2180,1
    - Dst: genStableTagFilterDigest
      Src: /src/tdengine/source/libs/executor/src/executil.c:2184,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2185,1
    - Dst: genStableTagFilterDigest
      Src: /src/tdengine/source/libs/executor/src/executil.c:2187,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2189,1
    - Dst: buildTagCondKey
      Src: /src/tdengine/source/libs/executor/src/executil.c:2191,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2193,1
    - Dst: SStorageAPI*::metaFn::getStableCachedTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2194,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2196,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2197,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:2200,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2203,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2204,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/executor/src/executil.c:2207,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2209,1
    - Dst: genTagFilterDigest
      Src: /src/tdengine/source/libs/executor/src/executil.c:2213,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2214,1
    - Dst: genTagFilterDigest
      Src: /src/tdengine/source/libs/executor/src/executil.c:2216,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2219,1
    - Dst: SStorageAPI*::metaFn::getCachedTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2220,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2222,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2223,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2226,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2231,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2231,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:2234,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2235,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:2238,1
    - Dst: SStorageAPI*::metaFn::getChildTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2243,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2244,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:2245,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2245,1
    - Dst: SStorageAPI*::metaFn::getInvertIndex
      Src: /src/tdengine/source/libs/executor/src/executil.c:2249,1
    - Dst: SStorageAPI*::metaFn::storeGetIndexInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:2252,1
    - Dst: doFilterTag
      Src: /src/tdengine/source/libs/executor/src/executil.c:2255,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:2257,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2257,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:2259,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2259,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:2263,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2263,1
    - Dst: doFilterByTagCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:2264,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2265,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2268,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:2271,1
    - Dst: SStorageAPI*::metaFn::putStableCachedTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2276,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2278,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2280,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2284,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2284,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:2287,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2292,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2293,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2297,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2298,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2299,1
    - Dst: SStorageAPI*::metaFn::putCachedTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2302,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2304,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2320,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2325,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2325,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:2330,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2335,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2336,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2337,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:2341,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2342,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2345,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2345,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2347,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2348,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2349,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2350,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 143
    argCount: 9
    argNames:
    - pVnode
    - pScanNode
    - pTagCond
    - pTagIndexCond
    - pListInfo
    - digest
    - idstr
    - pStorageAPI
    - pStreamInfo
    argTypes:
    - void*
    - SScanPhysiNode*
    - SNode*
    - SNode*
    - STableListInfo*
    - uint8_t*
    - char*
    - SStorageAPI*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2124
    functionDepth: 5
    functionLinenumber: 2124
    functionLinenumberEnd: 2352
    functionName: getTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - SStorageAPI*::metaFn::storeGetIndexInfo
    - qError
    - nodesWalkExpr
    - SStorageAPI*::metaFn::getStableCachedTableList
    - taosArrayDestroy
    - nodesCloneNode
    - buildTagCondKey
    - genTagFilterDigest
    - memcpy
    - taosArrayGet
    - qTrace
    - qInfo
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - SStorageAPI*::metaFn::getInvertIndex
    - doFilterTag
    - SStorageAPI*::metaFn::isTableExisted
    - tListLen
    - QUERY_CHECK_NULL
    - nodesRewriteExpr
    - qDebug
    - SStorageAPI*::metaFn::putStableCachedTableList
    - SStorageAPI*::metaFn::getCachedTableList
    - doFilterByTagCond
    - nodesDestroyNode
    - taosMemFreeClear
    - SStorageAPI*::metaFn::getChildTableList
    - SStorageAPI*::metaFn::putCachedTableList
    - taosMemoryMalloc
    - genStableTagFilterDigest
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getTableList(void* pVnode, SScanPhysiNode* pScanNode, SNode*
      pTagCond, SNode* pTagIndexCond,\n                     STableListInfo* pListInfo,
      uint8_t* digest, const char* idstr, SStorageAPI* pStorageAPI, void* pStreamInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/executil.c:2363,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2364,1
    - Dst: getTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2365,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2367,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2372,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2374,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - suid
    - pVnode
    - node
    - tableList
    - pTaskInfo
    argTypes:
    - int64_t
    - void*
    - void*
    - SArray**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2354
    functionDepth: 6
    functionLinenumber: 2354
    functionLinenumberEnd: 2377
    functionName: qGetTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - getTableList
    - tableListCreate
    - qError
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - tstrerror
    - tableListDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t qGetTableList(int64_t suid, void* pVnode, void* node, SArray**
      tableList, void* pTaskInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pGroups
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2379
    functionDepth: 1
    functionLinenumber: 2379
    functionLinenumberEnd: 2390
    functionName: getTableTagsBufLen
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - LIST_LENGTH
    linkageType: ''
    returnType: size_t
    signature: size_t getTableTagsBufLen(const SNodeList* pGroups)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2386
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pGroups)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2396,1
    - Dst: SStorageAPI*::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/executil.c:2397,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2398,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2403,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2405,1
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:2410,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2412,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2413,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2417,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/executor/src/executil.c:2423,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2425,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2427,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2428,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2432,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2433,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2434,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2435,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2435,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2445,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/executor/src/executil.c:2447,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2449,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2450,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2453,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2454,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2456,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:2457,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2460,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2460,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2461,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2463,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/executil.c:2470,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2472,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2473,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 6
    argNames:
    - pVnode
    - uid
    - pGroupNode
    - keyBuf
    - pGroupId
    - pAPI
    argTypes:
    - void*
    - uint64_t
    - SNodeList*
    - char*
    - uint64_t*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2392
    functionDepth: 6
    functionLinenumber: 2392
    functionLinenumberEnd: 2476
    functionName: getGroupIdFromTagsVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - scalarCalculateConstants
    - SStorageAPI*::metaReaderFn::initReader
    - nodesDestroyList
    - qError
    - nodeType
    - getJsonValueLen
    - calcGroupId
    - tTagIsJson
    - memcpy
    - LIST_LENGTH
    - nodesGetValueFromNode
    - SStorageAPI*::metaReaderFn::clearReader
    - nodesRewriteExprsPostOrder
    - varDataTLen
    - REPLACE_NODE
    - SStorageAPI*::metaReaderFn::getEntryGetUidCache
    - IS_STR_DATA_BLOB
    - tstrerror
    - nodesCloneList
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getGroupIdFromTagsVal(void* pVnode, uint64_t uid, SNodeList*
      pGroupNode, char* keyBuf, uint64_t* pGroupId,\n                              SStorageAPI*
      pAPI)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/executor/src/executil.c:2423,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2425,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2427,1
    - Dst: metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2428,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2432,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2433,1
    - Dst: metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2434,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2435,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2435,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2445,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/executor/src/executil.c:2447,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2449,1
    - Dst: metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/executil.c:2450,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2453,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2454,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2456,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:2457,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2460,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2460,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2461,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2463,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2421
    functionDepth: 6
    functionLinenumber: 2421
    functionLinenumberEnd: 2467
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 42
    functionsReached:
    - memcpy
    - scalarCalculateConstants
    - REPLACE_NODE
    - varDataTLen
    - nodesDestroyList
    - qError
    - IS_STR_DATA_BLOB
    - nodeType
    - metaReaderFn::clearReader
    - nodesGetValueFromNode
    - getJsonValueLen
    - tstrerror
    - IS_VAR_DATA_TYPE
    - tTagIsJson
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, groupNew)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2483,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2484,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2490,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2492,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2493,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2493,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:2506,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2508,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2509,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - pNodeList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2478
    functionDepth: 1
    functionLinenumber: 2478
    functionLinenumberEnd: 2515
    functionName: makeColumnArrayFromList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - qError
    - LIST_LENGTH
    - taosArrayInit
    - tstrerror
    - taosArrayDestroy
    linkageType: ''
    returnType: SArray
    signature: SArray * makeColumnArrayFromList(SNodeList* pNodeList)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2519,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2528,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2536,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2546,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2547,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:2556,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2557,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2567,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2567,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2574,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2576,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:2599,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2601,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2601,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 5
    argNames:
    - pNodeList
    - pOutputNodeList
    - numOfOutputCols
    - type
    - pMatchInfo
    argTypes:
    - SNodeList*
    - SDataBlockDescNode*
    - int32_t*
    - int32_t
    - SColMatchInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2517
    functionDepth: 1
    functionLinenumber: 2517
    functionLinenumberEnd: 2604
    functionName: extractColMatchInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 4
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qError
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    - nodeType
    - FOREACH
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extractColMatchInfo(SNodeList* pNodeList, SDataBlockDescNode*
      pOutputNodeList, int32_t* numOfOutputCols,\n                            int32_t
      type, SColMatchInfo* pMatchInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2546,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2547,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:2556,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2557,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2567,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2570
      start: 2544
    functionDepth: 1
    functionLinenumber: 2544
    functionLinenumberEnd: 2570
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 43
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - QUERY_CHECK_NULL
    - nodeType
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pNodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2614,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - type
    - bytes
    - slotId
    - scale
    - precision
    - name
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2606
    functionDepth: 1
    functionLinenumber: 2606
    functionLinenumberEnd: 2617
    functionName: createResSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: SResSchema
    signature: "SResSchema createResSchema(int32_t type, int32_t bytes, int32_t slotId,
      int32_t scale, int32_t precision,\n                                  const char*
      name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - blockId
    - slotId
    - colId
    - pType
    - colType
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - SDataType*
    - EColumnType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2634
    functionName: createColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SColumn
    signature: SColumn * createColumn(int32_t blockId, int32_t slotId, int32_t colId,
      SDataType* pType, EColumnType colType)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2641,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2642,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2647,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2653,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2654,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2660,1
    - Dst: createColumn
      Src: /src/tdengine/source/libs/executor/src/executil.c:2663,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2664,1
    - Dst: taosMemoryCalloc
      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: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2678,1
    - Dst: nodesValueNodeToVariant
      Src: /src/tdengine/source/libs/executor/src/executil.c:2680,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2681,1
    - Dst: qFetchRemoteNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2684,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2685,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2690,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2691,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2697,1
    - Dst: nodesValueNodeToVariant
      Src: /src/tdengine/source/libs/executor/src/executil.c:2699,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2700,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2707,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2714,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2714,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/executil.c:2720,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:2722,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2725,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2728,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2730,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/executor/src/executil.c:2732,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2734,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2737,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2741,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2743,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2744,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2748,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2749,1
    - Dst: createColumn
      Src: /src/tdengine/source/libs/executor/src/executil.c:2755,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2756,1
    - Dst: nodesValueNodeToVariant
      Src: /src/tdengine/source/libs/executor/src/executil.c:2760,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2761,1
    - Dst: qFetchRemoteNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2764,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2765,1
    - Dst: nodesValueNodeToVariant
      Src: /src/tdengine/source/libs/executor/src/executil.c:2769,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2770,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2778,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2779,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2784,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2790,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2791,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2796,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2801,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2802,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2806,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2810,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2815,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2815,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 120
    argCount: 3
    argNames:
    - pExp
    - pNode
    - slotId
    argTypes:
    - SExprInfo*
    - SNode*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2636
    functionDepth: 5
    functionLinenumber: 2636
    functionLinenumberEnd: 2818
    functionName: createExprFromOneNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - createColumn
    - qError
    - nodesValueNodeToVariant
    - nodeType
    - nodesListAppend
    - LIST_LENGTH
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - tListLen
    - memcmp
    - nodesMakeList
    - QUERY_CHECK_NULL
    - nodesMakeNode
    - tstrncpy
    - qFetchRemoteNode
    - nodesDestroyNode
    - createResSchema
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t createExprFromOneNode(SExprInfo* pExp, SNode* pNode, int16_t
      slotId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createExprFromOneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pExp
    - pTargetNode
    argTypes:
    - SExprInfo*
    - STargetNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2820
    functionDepth: 6
    functionLinenumber: 2820
    functionLinenumberEnd: 2822
    functionName: createExprFromTargetNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - createExprFromOneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createExprFromTargetNode(SExprInfo* pExp, STargetNode* pTargetNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2825,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2826,1
    - Dst: createExprFromOneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2833,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2833,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2835,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2837,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pNodeList
    - numOfExprs
    argTypes:
    - SNodeList*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2843
      start: 2824
    functionDepth: 6
    functionLinenumber: 2824
    functionLinenumberEnd: 2843
    functionName: createExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosMemoryFreeClear
    - createExprFromOneNode
    - qError
    - LIST_LENGTH
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: SExprInfo
    signature: SExprInfo * createExpr(SNodeList* pNodeList, int32_t* numOfExprs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/executil.c:2846,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2850,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2853,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2861,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2862,1
    - Dst: createExprFromTargetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2870,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2871,1
    - Dst: createExprFromTargetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2880,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2881,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2889,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2889,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:2890,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - pNodeList
    - pGroupKeys
    - pExprInfo
    - numOfExprs
    argTypes:
    - SNodeList*
    - SNodeList*
    - SExprInfo**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2845
    functionDepth: 7
    functionLinenumber: 2845
    functionLinenumberEnd: 2893
    functionName: createExprInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 25
    functionsReached:
    - taosMemoryFreeClear
    - QRY_PARAM_CHECK
    - qError
    - LIST_LENGTH
    - destroyExprInfo
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - tstrerror
    - taosMemoryCalloc
    - createExprFromTargetNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createExprInfo(SNodeList* pNodeList, SNodeList* pGroupKeys,
      SExprInfo** pExprInfo, int32_t* numOfExprs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createExprFromTargetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2870,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2867
    functionDepth: 7
    functionLinenumber: 2867
    functionLinenumberEnd: 2872
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 43
    functionsReached:
    - QUERY_CHECK_CODE
    - createExprFromTargetNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pNodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createExprFromTargetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2880,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2882
      start: 2877
    functionDepth: 7
    functionLinenumber: 2877
    functionLinenumberEnd: 2882
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 43
    functionsReached:
    - QUERY_CHECK_CODE
    - createExprFromTargetNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pGroupKeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2895
    functionDepth: 1
    functionLinenumber: 2895
    functionLinenumberEnd: 2900
    functionName: deleteSubsidiareCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void deleteSubsidiareCtx(void* pData)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/executil.c:2914,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2920,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:2921,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2925,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:2927,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2931,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2938,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2940,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:2946,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2954,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2956,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2961,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2972,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:2977,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2978,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2979,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2979,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2981,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 2
    argNames:
    - pCtx
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2903
    functionDepth: 1
    functionLinenumber: 2903
    functionLinenumberEnd: 2984
    functionName: setSelectValueColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - qError
    - fmIsSelectFunc
    - taosArrayDestroyP
    - QUERY_CHECK_CODE
    - tstrerror
    - taosArrayInit_s
    - taosArrayDestroy
    - taosArraySet
    - taosMemoryCalloc
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t setSelectValueColumnInfo(SqlFunctionCtx* pCtx, int32_t numOfOutput)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2990,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2995,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2997,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3013,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3013,1
    - Dst: fmIsNotNullOutputFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3014,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3016,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3017,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3017,1
    - Dst: fmIsProcessByRowFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3018,1
    - Dst: fmGetFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/executil.c:3020,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3021,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/executil.c:3024,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3025,1
    - Dst: fmGetUdafExecFuncs
      Src: /src/tdengine/source/libs/executor/src/executil.c:3027,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3028,1
    - Dst: SqlFunctionCtx*::fpSet::getEnv
      Src: /src/tdengine/source/libs/executor/src/executil.c:3030,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3033,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3036,1
    - Dst: fmGetStreamPesudoFuncEnv
      Src: /src/tdengine/source/libs/executor/src/executil.c:3037,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3038,1
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/executil.c:3041,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3045,1
    - Dst: SqlFunctionCtx*::sfp::getEnv
      Src: /src/tdengine/source/libs/executor/src/executil.c:3048,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3051,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3063,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3064,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3065,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3066,1
    - Dst: setSelectValueColumnInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:3088,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3089,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3093,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3093,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:3095,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:3096,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3098,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3099,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 90
    argCount: 4
    argNames:
    - pExprInfo
    - numOfOutput
    - rowEntryInfoOffset
    - pStore
    argTypes:
    - SExprInfo*
    - int32_t
    - int32_t**
    - SFunctionStateStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 2986
    functionDepth: 2
    functionLinenumber: 2986
    functionLinenumberEnd: 3105
    functionName: createSqlFunctionCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 6
    functionsReached:
    - taosMemoryFreeClear
    - fmIsAggFunc
    - qError
    - setSelectValueColumnInfo
    - fmGetUdafExecFuncs
    - fmGetScalarFuncExecFuncs
    - fmIsPlaceHolderFunc
    - fmIsWindowPseudoColumnFunc
    - fmIsIndefiniteRowsFunc
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - fmGetStreamPesudoFuncEnv
    - QUERY_CHECK_NULL
    - fmGetFuncExecFuncs
    - SqlFunctionCtx*::sfp::getEnv
    - taosStrdup
    - fmIsProcessByRowFunc
    - SqlFunctionCtx*::fpSet::getEnv
    - taosMemoryFree
    - tstrerror
    - fmIsUserDefinedFunc
    - fmIsNotNullOutputFunc
    linkageType: ''
    returnType: SqlFunctionCtx
    signature: "SqlFunctionCtx * createSqlFunctionCtx(SExprInfo* pExprInfo, int32_t
      numOfOutput, int32_t** rowEntryInfoOffset,\n                                     SFunctionStateStore*
      pStore)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3111,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3114,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3115,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3117,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3117,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3120,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3126,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:3130,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3132,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3132,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - pBlock
    - pColMatchInfo
    - pCols
    - outputEveryColumn
    argTypes:
    - SSDataBlock*
    - SArray*
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3145
      start: 3109
    functionDepth: 1
    functionLinenumber: 3109
    functionLinenumberEnd: 3145
    functionName: relocateColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - colDataAssign
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t relocateColumnData(SSDataBlock* pBlock, const SArray* pColMatchInfo,
      SArray* pCols, bool outputEveryColumn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/executil.c:3157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pTableScanNode
    argTypes:
    - STableScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3160
      start: 3147
    functionDepth: 1
    functionLinenumber: 3147
    functionLinenumberEnd: 3160
    functionName: extractIntervalInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - calcIntervalAutoOffset
    linkageType: ''
    returnType: SInterval
    signature: SInterval extractIntervalInfo(const STableScanPhysiNode* pTableScanNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pColNode
    argTypes:
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3162
    functionDepth: 0
    functionLinenumber: 3162
    functionLinenumberEnd: 3172
    functionName: extractColumnFromColumnNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: SColumn
    signature: SColumn extractColumnFromColumnNode(SColumnNode* pColNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/executil.c:3208,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/executil.c:3209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - cond
    - range
    - twindow
    - extTwindows
    argTypes:
    - STimeWindow*
    - STimeWindow*
    - STimeWindow*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 3183
    functionDepth: 1
    functionLinenumber: 3183
    functionLinenumberEnd: 3214
    functionName: getQueryExtWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - TMAX
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getQueryExtWindow(const STimeWindow* cond, const STimeWindow*
      range, STimeWindow* twindow,\n                                 STimeWindow*
      extTwindows)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3217,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3218,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3219,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3220,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3226
      start: 3216
    functionDepth: 1
    functionLinenumber: 3216
    functionLinenumberEnd: 3226
    functionName: condHasRemoteValueWalker
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes condHasRemoteValueWalker(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/executor/src/executil.c:3230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3228
    functionDepth: 3
    functionLinenumber: 3228
    functionLinenumberEnd: 3232
    functionName: condHasRemoteValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool condHasRemoteValue(SNode* pNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:3243,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:3245,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3249,1
    - Dst: condHasRemoteValue
      Src: /src/tdengine/source/libs/executor/src/executil.c:3254,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/executor/src/executil.c:3255,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:3262,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:3268,1
    - Dst: condHasRemoteValue
      Src: /src/tdengine/source/libs/executor/src/executil.c:3271,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:3273,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/executor/src/executil.c:3277,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:3278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - pCond
    - pExtracted
    - pStrict
    argTypes:
    - SNode*
    - STimeWindow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3280
      start: 3239
    functionDepth: 8
    functionLinenumber: 3239
    functionLinenumberEnd: 3280
    functionName: extractStaticTimeRangeFromAndCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - condHasRemoteValue
    - nodesListErase
    - nodesCloneNode
    - filterGetTimeRange
    - nodeType
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractStaticTimeRangeFromAndCond(SNode* pCond, STimeWindow*
      pExtracted, bool* pStrict)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: condHasRemoteValue
      Src: /src/tdengine/source/libs/executor/src/executil.c:3289,1
    - Dst: extractStaticTimeRangeFromAndCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:3295,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/executil.c:3298,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/executil.c:3299,1
    - Dst: scalarCalculateRemoteConstants
      Src: /src/tdengine/source/libs/executor/src/executil.c:3308,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3311,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/executor/src/executil.c:3312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - pPrimaryKeyCond
    - pTimeRange
    - isStrict
    - isStream
    argTypes:
    - SNode**
    - STimeWindow*
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3282
    functionDepth: 9
    functionLinenumber: 3282
    functionLinenumberEnd: 3316
    functionName: getPrimaryTimeRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - condHasRemoteValue
    - scalarCalculateRemoteConstants
    - TMAX
    - TMIN
    - filterGetTimeRange
    - nodeType
    - extractStaticTimeRangeFromAndCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t getPrimaryTimeRange(SNode** pPrimaryKeyCond, STimeWindow* pTimeRange,
      bool* isStrict, bool isStream)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:3322,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3324,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3328,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3330,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:3351,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3354,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3354,1
    - Dst: getQueryExtWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:3376,1
    - Dst: getQueryExtWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:3379,1
    - Dst: getPrimaryTimeRange
      Src: /src/tdengine/source/libs/executor/src/executil.c:3386,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:3388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 4
    argNames:
    - pCond
    - pTableScanNode
    - readHandle
    - applyExtWin
    argTypes:
    - SQueryTableDataCond*
    - STableScanPhysiNode*
    - SReadHandle*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3318
    functionDepth: 10
    functionLinenumber: 3318
    functionLinenumberEnd: 3393
    functionName: initQueryTableDataCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - getPrimaryTimeRange
    - taosMemoryFreeClear
    - taosMemoryMalloc
    - qError
    - LIST_LENGTH
    - getQueryExtWindow
    - nodesMergeNode
    - FOREACH
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initQueryTableDataCond(SQueryTableDataCond* pCond, STableScanPhysiNode*
      pTableScanNode,\n                               const SReadHandle* readHandle,
      bool applyExtWin)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3401,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3403,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3404,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3406,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3407,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3418,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3419,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3428,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/executil.c:3429,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3437,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executil.c:3442,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3447,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3447,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3448,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 4
    argNames:
    - pCond
    - pOrgCond
    - readHandle
    - colArray
    argTypes:
    - SQueryTableDataCond*
    - SQueryTableDataCond*
    - SReadHandle*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3395
    functionDepth: 1
    functionLinenumber: 3395
    functionLinenumberEnd: 3451
    functionName: initQueryTableDataCondWithColArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - taosArrayGet
    - QUERY_CHECK_CONDITION
    - TMAX
    - qError
    - QUERY_CHECK_NULL
    - qDebug
    - taosArrayGetSize
    - tstrerror
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initQueryTableDataCondWithColArray(SQueryTableDataCond* pCond,
      SQueryTableDataCond* pOrgCond,\n                                           const
      SReadHandle* readHandle, SArray* colArray)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3454,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pCond
    argTypes:
    - SQueryTableDataCond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3456
      start: 3453
    functionDepth: 1
    functionLinenumber: 3453
    functionLinenumberEnd: 3456
    functionName: cleanupQueryTableDataCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 4
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void cleanupQueryTableDataCond(SQueryTableDataCond* pCond)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3493
      start: 3458
    functionDepth: 0
    functionLinenumber: 3458
    functionLinenumberEnd: 3493
    functionName: convertFillType
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertFillType(int32_t mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:3497,1
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:3500,1
    - Dst: getNextTimeWindowStart
      Src: /src/tdengine/source/libs/executor/src/executil.c:3504,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/executil.c:3511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pInterval
    - ts
    - w
    - ascQuery
    argTypes:
    - SInterval*
    - TSKEY
    - STimeWindow*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3513
      start: 3495
    functionDepth: 2
    functionLinenumber: 3495
    functionLinenumberEnd: 3513
    functionName: getInitialStartTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - taosTimeAdd
    - getNextTimeWindowStart
    - getAlignQueryTimeWindow
    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:3518,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/executil.c:3519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ts
    - pInterval
    argTypes:
    - int64_t
    - SInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3521
      start: 3515
    functionDepth: 1
    functionLinenumber: 3515
    functionLinenumberEnd: 3521
    functionName: doCalculateTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosTimeTruncate
    - taosTimeGetIntervalEnd
    linkageType: ''
    returnType: STimeWindow
    signature: STimeWindow doCalculateTimeWindow(int64_t ts, SInterval* pInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:3529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ts
    - pWindow
    - pInterval
    - order
    argTypes:
    - int64_t
    - STimeWindow*
    - SInterval*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3533
      start: 3523
    functionDepth: 1
    functionLinenumber: 3523
    functionLinenumberEnd: 3533
    functionName: getFirstQualifiedTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - getNextTimeWindow
    linkageType: ''
    returnType: STimeWindow
    signature: STimeWindow getFirstQualifiedTimeWindow(int64_t ts, STimeWindow* pWindow,
      SInterval* pInterval, int32_t order)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getInitialStartTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:3541,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/executil.c:3545,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/executil.c:3547,1
    - Dst: doCalculateTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:3552,1
    - Dst: getFirstQualifiedTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:3558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - pBuf
    - pResultRowInfo
    - ts
    - pInterval
    - order
    argTypes:
    - SDiskbasedBuf*
    - SResultRowInfo*
    - int64_t
    - SInterval*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3562
      start: 3537
    functionDepth: 3
    functionLinenumber: 3537
    functionLinenumberEnd: 3562
    functionName: getActiveTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - TAOS_SET_OBJ_ALIGNED
    - getFirstQualifiedTimeWindow
    - doCalculateTimeWindow
    - getResultRowByPos
    - getInitialStartTimeWindow
    linkageType: ''
    returnType: STimeWindow
    signature: "STimeWindow getActiveTimeWindow(SDiskbasedBuf* pBuf, SResultRowInfo*
      pResultRowInfo, int64_t ts, SInterval* pInterval,\n                                int32_t
      order)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTimeWindowStart
      Src: /src/tdengine/source/libs/executor/src/executil.c:3565,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/executil.c:3566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInterval
    - tw
    - order
    argTypes:
    - SInterval*
    - STimeWindow*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3564
    functionDepth: 1
    functionLinenumber: 3564
    functionLinenumberEnd: 3567
    functionName: getNextTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - getNextTimeWindowStart
    - taosTimeGetIntervalEnd
    linkageType: ''
    returnType: void
    signature: void getNextTimeWindow(const SInterval* pInterval, STimeWindow* tw,
      int32_t order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pLimitInfo
    argTypes:
    - SLimitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3572
      start: 3569
    functionDepth: 0
    functionLinenumber: 3569
    functionLinenumberEnd: 3572
    functionName: hasLimitOffsetInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasLimitOffsetInfo(SLimitInfo* pLimitInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pLimitInfo
    argTypes:
    - SLimitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3576
      start: 3574
    functionDepth: 0
    functionLinenumber: 3574
    functionLinenumberEnd: 3576
    functionName: hasSlimitOffsetInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasSlimitOffsetInfo(SLimitInfo* pLimitInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLimit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3579,1
    - Dst: getOffset
      Src: /src/tdengine/source/libs/executor/src/executil.c:3579,1
    - Dst: getLimit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3580,1
    - Dst: getOffset
      Src: /src/tdengine/source/libs/executor/src/executil.c:3580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pLimit
    - pSLimit
    - pLimitInfo
    argTypes:
    - SNode*
    - SNode*
    - SLimitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3589
      start: 3578
    functionDepth: 1
    functionLinenumber: 3578
    functionLinenumberEnd: 3589
    functionName: initLimitInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 6
    functionsReached:
    - getOffset
    - getLimit
    linkageType: ''
    returnType: void
    signature: void initLimitInfo(const SNode* pLimit, const SNode* pSLimit, SLimitInfo*
      pLimitInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pLimitInfo
    argTypes:
    - SLimitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3594
      start: 3591
    functionDepth: 0
    functionLinenumber: 3591
    functionLinenumberEnd: 3594
    functionName: resetLimitInfoForNextGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetLimitInfoForNextGroup(SLimitInfo* pLimitInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3597,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3597,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3598,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3598,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pTableList
    - pRes
    argTypes:
    - STableListInfo*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3603
      start: 3596
    functionDepth: 1
    functionLinenumber: 3596
    functionLinenumberEnd: 3603
    functionName: tableListGetSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 3
    functionsReached:
    - qError
    - taosHashGetSize
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableListGetSize(const STableListInfo* pTableList, int32_t*
      pRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableList
    argTypes:
    - STableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3605
      start: 3605
    functionDepth: 0
    functionLinenumber: 3605
    functionLinenumberEnd: 3605
    functionName: tableListGetSuid
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t tableListGetSuid(const STableListInfo* pTableList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3608,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTableList
    - index
    argTypes:
    - STableListInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3613
      start: 3607
    functionDepth: 1
    functionLinenumber: 3607
    functionLinenumberEnd: 3613
    functionName: tableListGetInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 3
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: STableKeyInfo
    signature: STableKeyInfo * tableListGetInfo(const STableListInfo* pTableList,
      int32_t index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3616,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3622,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3624,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pTableList
    - uid
    - startIndex
    argTypes:
    - STableListInfo*
    - uint64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3615
    functionDepth: 1
    functionLinenumber: 3615
    functionLinenumberEnd: 3632
    functionName: tableListFind
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - qError
    - taosArrayGet
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableListFind(const STableListInfo* pTableList, uint64_t uid,
      int32_t startIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pTableList
    - psuid
    - uid
    - type
    argTypes:
    - STableListInfo*
    - uint64_t*
    - uint64_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3638
      start: 3634
    functionDepth: 0
    functionLinenumber: 3634
    functionLinenumberEnd: 3638
    functionName: tableListGetSourceTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tableListGetSourceTableInfo(const STableListInfo* pTableList,
      uint64_t* psuid, uint64_t* uid, int32_t* type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3641,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3643,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3647,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pTableList
    - tableUid
    - gid
    - baseGid
    argTypes:
    - STableListInfo*
    - uint64_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3640
    functionDepth: 1
    functionLinenumber: 3640
    functionLinenumberEnd: 3657
    functionName: tableListGetTableGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - qDebug
    - taosHashGet
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableListGetTableGroupId(const STableListInfo* pTableList,
      uint64_t tableUid, uint64_t* gid, uint64_t* baseGid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3687,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:3687,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3688,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3692,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:3694,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:3698,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3699,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3701,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:3702,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executil.c:3705,1
    - Dst: taosArrayPopTailBatch
      Src: /src/tdengine/source/libs/executor/src/executil.c:3706,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3711,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3711,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pTableList
    - uid
    - gid
    argTypes:
    - STableListInfo*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3717
      start: 3683
    functionDepth: 1
    functionLinenumber: 3683
    functionLinenumberEnd: 3717
    functionName: tableListAddTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 3
    functionsReached:
    - taosArrayPopTailBatch
    - taosArrayPush
    - QUERY_CHECK_CONDITION
    - qError
    - taosHashGet
    - QUERY_CHECK_NULL
    - qInfo
    - qDebug
    - taosHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableListAddTableInfo(STableListInfo* pTableList, uint64_t
      uid, uint64_t gid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetOutputGroups
      Src: /src/tdengine/source/libs/executor/src/executil.c:3721,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3723,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3725,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3725,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3737,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3741,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3752,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - pTableList
    - ordinalGroupIndex
    - pKeyInfo
    - size
    argTypes:
    - STableListInfo*
    - int32_t
    - STableKeyInfo**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3754
      start: 3719
    functionDepth: 2
    functionLinenumber: 3719
    functionLinenumberEnd: 3754
    functionName: tableListGetGroupList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - tableListGetSize
    - taosArrayGet
    - qError
    - tableListGetOutputGroups
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tableListGetGroupList(const STableListInfo* pTableList, int32_t
      ordinalGroupIndex, STableKeyInfo** pKeyInfo,\n                              int32_t*
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableList
    argTypes:
    - STableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3756
    functionDepth: 0
    functionLinenumber: 3756
    functionLinenumberEnd: 3756
    functionName: tableListGetOutputGroups
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tableListGetOutputGroups(const STableListInfo* pTableList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableList
    argTypes:
    - STableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3758
    functionDepth: 0
    functionLinenumber: 3758
    functionLinenumberEnd: 3758
    functionName: oneTableForEachGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool oneTableForEachGroup(const STableListInfo* pTableList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3761,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3767,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3772,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:3772,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3783
      start: 3760
    functionDepth: 1
    functionLinenumber: 3760
    functionLinenumberEnd: 3783
    functionName: tableListCreate
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 4
    functionsReached:
    - taosHashInit
    - taosArrayInit
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - tableListDestroy
    linkageType: ''
    returnType: STableListInfo
    signature: STableListInfo * tableListCreate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3790,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3791,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:3793,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:3794,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:3797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - STableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3798
      start: 3785
    functionDepth: 1
    functionLinenumber: 3785
    functionLinenumberEnd: 3798
    functionName: tableListDestroy
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 6
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void tableListDestroy(STableListInfo* pTableListInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3805,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3806,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:3807,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:3808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - STableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3811
      start: 3800
    functionDepth: 1
    functionLinenumber: 3800
    functionLinenumberEnd: 3811
    functionName: tableListClear
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - taosArrayClear
    - taosHashClear
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tableListClear(STableListInfo* pTableListInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3822
      start: 3813
    functionDepth: 0
    functionLinenumber: 3813
    functionLinenumberEnd: 3822
    functionName: orderbyGroupIdComparFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t orderbyGroupIdComparFn(const void* p1, const void* p2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:3826,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3827,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3833,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3839,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3841,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3841,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:3848,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3850,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3850,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3856,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3858,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3858,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:3863,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3865,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3865,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3873,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:3874,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3880,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3880,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3883,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - STableListInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3824
    functionDepth: 1
    functionLinenumber: 3824
    functionLinenumberEnd: 3885
    functionName: sortTableGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - taosArraySort
    - qError
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortTableGroup(STableListInfo* pTableListInfo)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: groupbyTbname
      Src: /src/tdengine/source/libs/executor/src/executil.c:3891,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3892,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3896,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3898,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:3901,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:3901,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3907,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3909,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3909,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:3913,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3916,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3916,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3922,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3924,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3924,1
    - Dst: getColInfoResultForGroupbyForStream
      Src: /src/tdengine/source/libs/executor/src/executil.c:3932,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:3941,1
    - Dst: sortTableGroup
      Src: /src/tdengine/source/libs/executor/src/executil.c:3949,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3953,1
    - Dst: getColInfoResultForGroupby
      Src: /src/tdengine/source/libs/executor/src/executil.c:3961,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3966,1
    - Dst: sortTableGroup
      Src: /src/tdengine/source/libs/executor/src/executil.c:3969,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:3973,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:3975,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3976,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3980,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3982,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3984,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3984,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:3987,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3989,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3989,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 78
    argCount: 9
    argNames:
    - pTableListInfo
    - pHandle
    - pScanNode
    - group
    - groupSort
    - digest
    - pAPI
    - groupIdMap
    - gIdFromBaseId
    argTypes:
    - STableListInfo*
    - SReadHandle*
    - SScanPhysiNode*
    - SNodeList*
    - bool
    - uint8_t*
    - SStorageAPI*
    - SHashObj*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3995
      start: 3887
    functionDepth: 6
    functionLinenumber: 3887
    functionLinenumberEnd: 3995
    functionName: buildGroupIdMapForAllTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - getColInfoResultForGroupbyForStream
    - taosArrayGet
    - taosArraySort
    - sortTableGroup
    - qTrace
    - qError
    - groupbyTbname
    - qDebug
    - nodeType
    - taosHashInit
    - getColInfoResultForGroupby
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildGroupIdMapForAllTables(STableListInfo* pTableListInfo,
      SReadHandle* pHandle, SScanPhysiNode* pScanNode,\n                                    SNodeList*
      group, bool groupSort, uint8_t* digest, SStorageAPI* pAPI, SHashObj* groupIdMap,
      bool gIdFromBaseId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:4000,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:4001,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4004,1
    - Dst: getTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:4013,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4016,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4016,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4020,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:4022,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4024,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4028,1
    - Dst: buildGroupIdMapForAllTables
      Src: /src/tdengine/source/libs/executor/src/executil.c:4032,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:4037,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 9
    argNames:
    - pScanNode
    - pGroupTags
    - groupSort
    - pHandle
    - pTableListInfo
    - pTagCond
    - pTagIndexCond
    - pTaskInfo
    - groupIdMap
    argTypes:
    - SScanPhysiNode*
    - SNodeList*
    - bool
    - SReadHandle*
    - STableListInfo*
    - SNode*
    - SNode*
    - SExecTaskInfo*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4041
      start: 3997
    functionDepth: 7
    functionLinenumber: 3997
    functionLinenumberEnd: 4041
    functionName: createNonStreamScanTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - getTableList
    - buildGroupIdMapForAllTables
    - taosGetTimestampUs
    - qError
    - GET_TASKID
    - qDebug
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createNonStreamScanTableListInfo(SScanPhysiNode* pScanNode,
      SNodeList* pGroupTags, bool groupSort, SReadHandle* pHandle,\n                                STableListInfo*
      pTableListInfo, SNode* pTagCond, SNode* pTagIndexCond,\n                                SExecTaskInfo*
      pTaskInfo, SHashObj* groupIdMap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4047,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4048,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4052,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:4053,1
    - Dst: getTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:4053,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:4053,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4055,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4057,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4064,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:4064,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4067,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:4067,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4067,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4072,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:4072,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 9
    argNames:
    - pScanNode
    - pHandle
    - pTaskInfo
    - pStream
    - pTableListInfo
    - pTagCond
    - pTagIndexCond
    - grpNum
    - hasCalcGrp
    argTypes:
    - SScanPhysiNode*
    - SReadHandle*
    - SExecTaskInfo*
    - SStreamRuntimeFuncInfo*
    - STableListInfo*
    - SNode*
    - SNode*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4075
      start: 4043
    functionDepth: 6
    functionLinenumber: 4043
    functionLinenumberEnd: 4075
    functionName: createStreamGrpTableListFromCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - getTableList
    - taosArrayGet
    - qError
    - GET_TASKID
    - qDebug
    - taosArrayGetSize
    - tstrerror
    - TAOS_CHECK_EXIT
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamGrpTableListFromCond(SScanPhysiNode* pScanNode,
      SReadHandle* pHandle, SExecTaskInfo* pTaskInfo, SStreamRuntimeFuncInfo* pStream,
      STableListInfo* pTableListInfo, SNode* pTagCond, SNode* pTagIndexCond, int32_t
      grpNum, bool hasCalcGrp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4087,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4089,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:4098,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:4098,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:4100,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:4102,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4106,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:4106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4112,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:4118,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:4118,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:4120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:4122,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4126,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:4126,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4130,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:4130,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4130,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4135,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:4135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4135,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 5
    argNames:
    - pTaskInfo
    - pStream
    - pTableListInfo
    - grpNum
    - hasCalcGrp
    argTypes:
    - SExecTaskInfo*
    - SStreamRuntimeFuncInfo*
    - STableListInfo*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4139
      start: 4077
    functionDepth: 1
    functionLinenumber: 4077
    functionLinenumberEnd: 4139
    functionName: createStreamGrpTableListFromTrig
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qError
    - GET_TASKID
    - qDebug
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamGrpTableListFromTrig(SExecTaskInfo* pTaskInfo,
      SStreamRuntimeFuncInfo* pStream, STableListInfo* pTableListInfo, int32_t grpNum,
      bool hasCalcGrp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:4145,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4148,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4149,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:4150,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4152,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:4155,1
    - Dst: createStreamGrpTableListFromCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:4155,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:4157,1
    - Dst: createStreamGrpTableListFromTrig
      Src: /src/tdengine/source/libs/executor/src/executil.c:4157,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4163,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:4165,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4166,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4169,1
    - Dst: buildGroupIdMapForAllTables
      Src: /src/tdengine/source/libs/executor/src/executil.c:4173,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:4178,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4179,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4184,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:4184,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 9
    argNames:
    - pScanNode
    - pGroupTags
    - groupSort
    - pHandle
    - pTableListInfo
    - pTagCond
    - pTagIndexCond
    - pTaskInfo
    - groupIdMap
    argTypes:
    - SScanPhysiNode*
    - SNodeList*
    - bool
    - SReadHandle*
    - STableListInfo*
    - SNode*
    - SNode*
    - SExecTaskInfo*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4188
      start: 4141
    functionDepth: 7
    functionLinenumber: 4141
    functionLinenumberEnd: 4188
    functionName: createStreamMultiGrpTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - buildGroupIdMapForAllTables
    - createStreamGrpTableListFromCond
    - taosGetTimestampUs
    - qError
    - GET_TASKID
    - qDebug
    - taosArrayGetSize
    - tstrerror
    - createStreamGrpTableListFromTrig
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamMultiGrpTableListInfo(SScanPhysiNode* pScanNode,
      SNodeList* pGroupTags, bool groupSort, SReadHandle* pHandle,\n                                STableListInfo*
      pTableListInfo, SNode* pTagCond, SNode* pTagIndexCond,\n                                SExecTaskInfo*
      pTaskInfo, SHashObj* groupIdMap)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4199,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/executil.c:4201,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/executil.c:4206,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/executil.c:4208,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:4212,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/executil.c:4215,1
    - Dst: createStreamMultiGrpTableListInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:4220,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4223,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4223,1
    - Dst: createNonStreamScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:4227,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4230,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4230,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 9
    argNames:
    - pScanNode
    - pGroupTags
    - groupSort
    - pHandle
    - pTableListInfo
    - pTagCond
    - pTagIndexCond
    - pTaskInfo
    - groupIdMap
    argTypes:
    - SScanPhysiNode*
    - SNodeList*
    - bool
    - SReadHandle*
    - STableListInfo*
    - SNode*
    - SNode*
    - SExecTaskInfo*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4191
    functionDepth: 8
    functionLinenumber: 4191
    functionLinenumberEnd: 4236
    functionName: createScanTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - createNonStreamScanTableListInfo
    - createStreamMultiGrpTableListInfo
    - qError
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - tstrerror
    - taosArrayInit_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createScanTableListInfo(SScanPhysiNode* pScanNode, SNodeList*
      pGroupTags, bool groupSort, SReadHandle* pHandle,\n                                STableListInfo*
      pTableListInfo, SNode* pTagCond, SNode* pTagIndexCond,\n                                SExecTaskInfo*
      pTaskInfo, SHashObj* groupIdMap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - opType
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4249
      start: 4239
    functionDepth: 0
    functionLinenumber: 4239
    functionLinenumberEnd: 4249
    functionName: getStreamOpName
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getStreamOpName(uint16_t opType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4254,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4257,1
    - Dst: dumpBlockData
      Src: /src/tdengine/source/libs/executor/src/executil.c:4262,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/executor/src/executil.c:4264,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:4265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - pBlock
    - flag
    - taskIdStr
    - qId
    argTypes:
    - SSDataBlock*
    - char*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4268
      start: 4251
    functionDepth: 1
    functionLinenumber: 4251
    functionLinenumberEnd: 4268
    functionName: printDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 15
    functionsReached:
    - qDebug
    - taosMemoryFree
    - dumpBlockData
    - qDebugL
    linkageType: ''
    returnType: void
    signature: void printDataBlock(SSDataBlock* pBlock, const char* flag, const char*
      taskIdStr, int64_t qId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4272,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4275,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/executil.c:4283,1
    - Dst: dumpBlockData
      Src: /src/tdengine/source/libs/executor/src/executil.c:4284,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4286,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:4287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pBlock
    - flag
    - opStr
    - taskIdStr
    argTypes:
    - SSDataBlock*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4270
    functionDepth: 1
    functionLinenumber: 4270
    functionLinenumberEnd: 4290
    functionName: printSpecDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - qDebug
    - snprintf
    - taosMemoryFree
    - dumpBlockData
    linkageType: ''
    returnType: void
    signature: void printSpecDataBlock(SSDataBlock* pBlock, const char* flag, const
      char* opStr, const char* taskIdStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - win
    - tsCols
    argTypes:
    - STimeWindow*
    - TSKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4292
      start: 4292
    functionDepth: 0
    functionLinenumber: 4292
    functionLinenumberEnd: 4292
    functionName: getStartTsKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TSKEY
    signature: TSKEY getStartTsKey(STimeWindow* win, const TSKEY* tsCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pColData
    - pWin
    - delta
    argTypes:
    - SColumnInfoData*
    - STimeWindow*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4301
      start: 4294
    functionDepth: 0
    functionLinenumber: 4294
    functionLinenumberEnd: 4301
    functionName: updateTimeWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateTimeWindowInfo(SColumnInfoData* pColData, const STimeWindow*
      pWin, int64_t delta)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/executil.c:4310,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/executil.c:4311,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/executil.c:4314,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:4318,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:4320,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:4321,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:4323,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:4324,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:4325,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:4325,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:4326,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:4328,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:4328,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:4329,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:4332,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 5
    argNames:
    - pSortGroupCols
    - oldkeyBuf
    - oldKeysLen
    - pBlock
    - rowIndex
    argTypes:
    - SArray*
    - char*
    - int32_t
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4303
    functionDepth: 1
    functionLinenumber: 4303
    functionLinenumberEnd: 4339
    functionName: compKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - blobDataTLen
    - varDataTLen
    - colDataGetData
    - memcmp
    - IS_STR_DATA_BLOB
    - getJsonValueLen
    - colDataIsNull
    - TARRAY_GET_ELEM
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t compKeys(const SArray* pSortGroupCols, const char* oldkeyBuf,
      int32_t oldKeysLen, const SSDataBlock* pBlock,\n                 int32_t rowIndex)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/executil.c:4348,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/executil.c:4349,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/executil.c:4354,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:4358,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:4360,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4361,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:4363,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/executil.c:4364,1
    - Dst: blobDataCopy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4365,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:4366,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4368,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:4369,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - keyBuf
    - pSortGroupCols
    - pBlock
    - rowIndex
    argTypes:
    - char*
    - SArray*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4378
      start: 4341
    functionDepth: 1
    functionLinenumber: 4341
    functionLinenumberEnd: 4378
    functionName: buildKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - blobDataTLen
    - memcpy
    - varDataTLen
    - colDataGetData
    - IS_STR_DATA_BLOB
    - varDataCopy
    - getJsonValueLen
    - blobDataCopy
    - colDataIsNull
    - TARRAY_GET_ELEM
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildKeys(char* keyBuf, const SArray* pSortGroupCols, const
      SSDataBlock* pBlock, int32_t rowIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/executor/src/executil.c:4382,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/executor/src/executil.c:4383,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/executor/src/executil.c:4384,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4388,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pData
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4391
      start: 4380
    functionDepth: 1
    functionLinenumber: 4380
    functionLinenumberEnd: 4391
    functionName: calcGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 6
    functionsReached:
    - tMD5Final
    - tMD5Init
    - tMD5Update
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t calcGroupId(char* pData, int32_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/executor/src/executil.c:4398,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4400,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pSortKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4406
      start: 4393
    functionDepth: 5
    functionLinenumber: 4393
    functionLinenumberEnd: 4406
    functionName: makeColsNodeArrFromSortKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - qError
    - nodesListMakeAppend
    - tstrerror
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * makeColsNodeArrFromSortKeys(SNodeList* pSortKeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/executor/src/executil.c:4398,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4400,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4404
      start: 4396
    functionDepth: 5
    functionLinenumber: 4396
    functionLinenumberEnd: 4404
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 44
    functionsReached:
    - qError
    - nodesListMakeAppend
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pSortKeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4412,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4414,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:4415,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4423,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - keys
    - pLen
    argTypes:
    - SArray*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4426
      start: 4408
    functionDepth: 1
    functionLinenumber: 4408
    functionLinenumberEnd: 4426
    functionName: extractKeysLen
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractKeysLen(const SArray* keys, int32_t* pLen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonDupStringValue
      Src: /src/tdengine/source/libs/executor/src/executil.c:4435,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4437,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/executil.c:4438,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/executil.c:4440,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/executil.c:4442,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/executil.c:4444,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4448,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:4451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pJson
    - typeStr
    - pId
    argTypes:
    - SJson*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4453
      start: 4428
    functionDepth: 1
    functionLinenumber: 4428
    functionLinenumberEnd: 4453
    functionName: parseErrorMsgFromAnalyticServer
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - qError
    - taosMemoryFreeClear
    - tjsonDupStringValue
    - strstr
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseErrorMsgFromAnalyticServer(SJson* pJson, const char* typeStr,
      const char* pId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:4458,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:4463,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:4466,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:4473,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:4478,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4480,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4480,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - ppBlock
    - pResType
    - cols
    argTypes:
    - SSDataBlock**
    - SDataType*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4490
      start: 4456
    functionDepth: 1
    functionLinenumber: 4456
    functionLinenumberEnd: 4490
    functionName: createExprSubQResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - qError
    - createColumnInfoData
    - taosMemoryFree
    - taosArrayInit
    - tstrerror
    - blockDataAppendColInfo
    - blockDataDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createExprSubQResBlock(SSDataBlock** ppBlock, SDataType* pResType,
      int32_t cols)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:4504,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:4505,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executil.c:4513,1
    - Dst: tsDecompressString
      Src: /src/tdengine/source/libs/executor/src/executil.c:4517,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executil.c:4518,1
    - Dst: blockDecodeInternal
      Src: /src/tdengine/source/libs/executor/src/executil.c:4522,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:4524,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4530,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4531,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pRetrieveRsp
    - pb
    argTypes:
    - SRetrieveTableRsp*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4534
      start: 4493
    functionDepth: 1
    functionLinenumber: 4493
    functionLinenumberEnd: 4534
    functionName: extractSingleRspBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - qError
    - QUERY_CHECK_NULL
    - blockDecodeInternal
    - tstrerror
    - blockDataDestroy
    - tsDecompressString
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractSingleRspBlock(SRetrieveTableRsp* pRetrieveRsp, SSDataBlock*
      pb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4539,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4541,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:4558,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:4560,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4563,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/executil.c:4564,1
    - Dst: nodesSetValueNodeValueExt
      Src: /src/tdengine/source/libs/executor/src/executil.c:4567,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:4567,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - pRes
    - pBlock
    argTypes:
    - STaskSubJobCtx*
    - SValueNode*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4575
      start: 4536
    functionDepth: 1
    functionLinenumber: 4536
    functionLinenumberEnd: 4575
    functionName: setValueFromResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - colDataGetData
    - qError
    - taosArrayGetSize
    - nodesSetValueNodeValueExt
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t setValueFromResBlock(STaskSubJobCtx* ctx, SValueNode* pRes,
      SSDataBlock* pBlock)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4582,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:4584,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4585,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4592,1
    - Dst: createExprSubQResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4594,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executil.c:4596,1
    - Dst: extractSingleRspBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4599,1
    - Dst: setValueFromResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4602,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4606,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4609,1
    - Dst: sendFetchRemoteNodeReq
      Src: /src/tdengine/source/libs/executor/src/executil.c:4617,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4630,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4638,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4649,1
    - Dst: createExprSubQResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4654,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executil.c:4656,1
    - Dst: extractSingleRspBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4659,1
    - Dst: setValueFromResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4662,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4666,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4669,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 4
    argNames:
    - pParam
    - ctx
    - pRsp
    - fetchDone
    argTypes:
    - SScalarFetchParam*
    - STaskSubJobCtx*
    - SRetrieveTableRsp*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4670
      start: 4577
    functionDepth: 2
    functionLinenumber: 4577
    functionLinenumberEnd: 4670
    functionName: handleRemoteValueRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - setValueFromResBlock
    - taosArrayGet
    - blockDataEnsureCapacity
    - qError
    - IS_STREAM_MODE
    - qDebug
    - createExprSubQResBlock
    - blockDataDestroy
    - sendFetchRemoteNodeReq
    - extractSingleRspBlock
    - taosArraySet
    linkageType: ''
    returnType: void
    signature: void handleRemoteValueRes(SScalarFetchParam* pParam, STaskSubJobCtx*
      ctx, SRetrieveTableRsp* pRsp, bool* fetchDone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4675,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4677,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4683,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:4684,1
    - Dst: scalarBuildRemoteListHash
      Src: /src/tdengine/source/libs/executor/src/executil.c:4684,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4689,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - pRes
    - pBlock
    argTypes:
    - STaskSubJobCtx*
    - SRemoteValueListNode*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4693
      start: 4673
    functionDepth: 3
    functionLinenumber: 4673
    functionLinenumberEnd: 4693
    functionName: setValueListFromResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - scalarBuildRemoteListHash
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t setValueListFromResBlock(STaskSubJobCtx* ctx, SRemoteValueListNode*
      pRes, SSDataBlock* pBlock)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4702,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4706,1
    - Dst: createExprSubQResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4712,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executil.c:4714,1
    - Dst: extractSingleRspBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4717,1
    - Dst: setValueListFromResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4720,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4724,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4727,1
    - Dst: scalarBuildRemoteListHash
      Src: /src/tdengine/source/libs/executor/src/executil.c:4730,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4734,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:4738,1
    - Dst: scalarBuildRemoteListHash
      Src: /src/tdengine/source/libs/executor/src/executil.c:4740,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4744,1
    - Dst: sendFetchRemoteNodeReq
      Src: /src/tdengine/source/libs/executor/src/executil.c:4753,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 4
    argNames:
    - pParam
    - ctx
    - pRsp
    - fetchDone
    argTypes:
    - SScalarFetchParam*
    - STaskSubJobCtx*
    - SRetrieveTableRsp*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4759
      start: 4697
    functionDepth: 4
    functionLinenumber: 4697
    functionLinenumberEnd: 4759
    functionName: handleRemoteValueListRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - scalarBuildRemoteListHash
    - blockDataEnsureCapacity
    - qError
    - blockDataDestroy
    - qDebug
    - createExprSubQResBlock
    - IS_STREAM_MODE
    - sendFetchRemoteNodeReq
    - extractSingleRspBlock
    - taosArraySet
    - setValueListFromResBlock
    linkageType: ''
    returnType: void
    signature: void handleRemoteValueListRes(SScalarFetchParam* pParam, STaskSubJobCtx*
      ctx, SRetrieveTableRsp* pRsp, bool* fetchDone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:4763,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4765,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4769,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/executil.c:4770,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4771,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:4774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - hasNull
    - pBlock
    argTypes:
    - STaskSubJobCtx*
    - bool*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4778
      start: 4761
    functionDepth: 1
    functionLinenumber: 4761
    functionLinenumberEnd: 4778
    functionName: setRowHasNullFromResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - qError
    - taosArrayGetSize
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t setRowHasNullFromResBlock(STaskSubJobCtx* ctx, bool* hasNull,
      SSDataBlock* pBlock)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4784,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:4788,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4789,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4797,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4800,1
    - Dst: createExprSubQResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4806,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:4808,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:4809,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executil.c:4812,1
    - Dst: extractSingleRspBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4815,1
    - Dst: setValueFromResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4818,1
    - Dst: setRowHasNullFromResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4821,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4827,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4830,1
    - Dst: sendFetchRemoteNodeReq
      Src: /src/tdengine/source/libs/executor/src/executil.c:4843,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4855,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4869,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4875,1
    - Dst: createExprSubQResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4881,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:4883,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:4884,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executil.c:4887,1
    - Dst: extractSingleRspBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4890,1
    - Dst: setValueFromResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4893,1
    - Dst: setRowHasNullFromResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4896,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4899,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4906,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 4
    argNames:
    - pParam
    - ctx
    - pRsp
    - fetchDone
    argTypes:
    - SScalarFetchParam*
    - STaskSubJobCtx*
    - SRetrieveTableRsp*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4907
      start: 4780
    functionDepth: 2
    functionLinenumber: 4780
    functionLinenumberEnd: 4907
    functionName: handleRemoteRowRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - setValueFromResBlock
    - taosArrayGet
    - setRowHasNullFromResBlock
    - blockDataEnsureCapacity
    - qError
    - createColumnInfoData
    - IS_STREAM_MODE
    - qDebug
    - createExprSubQResBlock
    - blockDataDestroy
    - sendFetchRemoteNodeReq
    - blockDataAppendColInfo
    - extractSingleRspBlock
    - taosArraySet
    linkageType: ''
    returnType: void
    signature: void handleRemoteRowRes(SScalarFetchParam* pParam, STaskSubJobCtx*
      ctx, SRetrieveTableRsp* pRsp, bool* fetchDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/executor/src/executil.c:4915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - pRes
    - rows
    argTypes:
    - STaskSubJobCtx*
    - SValueNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4916
      start: 4910
    functionDepth: 1
    functionLinenumber: 4910
    functionLinenumberEnd: 4916
    functionName: setZeroRowsResValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - nodesSetValueNodeValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t setZeroRowsResValue(STaskSubJobCtx* ctx, SValueNode* pRes,
      int32_t rows)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4922,1
    - Dst: setZeroRowsResValue
      Src: /src/tdengine/source/libs/executor/src/executil.c:4926,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4928,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:4936,1
    - Dst: setZeroRowsResValue
      Src: /src/tdengine/source/libs/executor/src/executil.c:4937,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4939,1
    - Dst: sendFetchRemoteNodeReq
      Src: /src/tdengine/source/libs/executor/src/executil.c:4947,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - pParam
    - ctx
    - pRsp
    - fetchDone
    argTypes:
    - SScalarFetchParam*
    - STaskSubJobCtx*
    - SRetrieveTableRsp*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4953
      start: 4918
    functionDepth: 2
    functionLinenumber: 4918
    functionLinenumberEnd: 4953
    functionName: handleRemoteZeroRowsRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - IS_STREAM_MODE
    - qDebug
    - sendFetchRemoteNodeReq
    - taosArraySet
    - setZeroRowsResValue
    linkageType: ''
    returnType: void
    signature: void handleRemoteZeroRowsRes(SScalarFetchParam* pParam, STaskSubJobCtx*
      ctx, SRetrieveTableRsp* pRsp, bool* fetchDone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:4961,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:4962,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:4965,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:4965,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4970,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:4971,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:4971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - pRes
    - ppBlock
    argTypes:
    - STaskSubJobCtx*
    - SRemoteTableNode*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4977
      start: 4957
    functionDepth: 1
    functionLinenumber: 4957
    functionLinenumberEnd: 4977
    functionName: setTableFromResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - TSDB_CHECK_NULL
    - taosArrayInit
    - tstrerror
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t setTableFromResBlock(STaskSubJobCtx* ctx, SRemoteTableNode*
      pRes, SSDataBlock** ppBlock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:4984,1
    - Dst: createExprSubQResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4987,1
    - Dst: extractSingleRspBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4989,1
    - Dst: setTableFromResBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:4992,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:4996,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:4999,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:5002,1
    - Dst: sendFetchRemoteNodeReq
      Src: /src/tdengine/source/libs/executor/src/executil.c:5008,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - pParam
    - ctx
    - pRsp
    - fetchDone
    argTypes:
    - SScalarFetchParam*
    - STaskSubJobCtx*
    - SRetrieveTableRsp*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5014
      start: 4980
    functionDepth: 2
    functionLinenumber: 4980
    functionLinenumberEnd: 5014
    functionName: handleRemoteTableRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    - qDebug
    - setTableFromResBlock
    - createExprSubQResBlock
    - sendFetchRemoteNodeReq
    - extractSingleRspBlock
    - taosArraySet
    linkageType: ''
    returnType: void
    signature: void handleRemoteTableRes(SScalarFetchParam* pParam, STaskSubJobCtx*
      ctx, SRetrieveTableRsp* pRsp, bool* fetchDone)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:5018,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/executor/src/executil.c:5021,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/executil.c:5023,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:5024,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:5032,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5034,1
    - Dst: asyncFreeConnById
      Src: /src/tdengine/source/libs/executor/src/executil.c:5037,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5039,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:5039,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5045,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/executil.c:5051,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/executil.c:5052,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/executil.c:5053,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/executil.c:5054,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/executil.c:5055,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/executil.c:5056,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5058,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:5063,1
    - Dst: handleRemoteValueRes
      Src: /src/tdengine/source/libs/executor/src/executil.c:5066,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5067,1
    - Dst: handleRemoteValueListRes
      Src: /src/tdengine/source/libs/executor/src/executil.c:5075,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5076,1
    - Dst: handleRemoteRowRes
      Src: /src/tdengine/source/libs/executor/src/executil.c:5084,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5085,1
    - Dst: handleRemoteZeroRowsRes
      Src: /src/tdengine/source/libs/executor/src/executil.c:5093,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5094,1
    - Dst: handleRemoteTableRes
      Src: /src/tdengine/source/libs/executor/src/executil.c:5102,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5103,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5110,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:5110,1
    - Dst: rpcCvtErrCode
      Src: /src/tdengine/source/libs/executor/src/executil.c:5115,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5117,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:5118,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:5118,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5120,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:5120,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5124,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/executil.c:5126,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:5128,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/executor/src/executil.c:5133,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:5135,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:5138,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 100
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5141
      start: 5017
    functionDepth: 5
    functionLinenumber: 5017
    functionLinenumberEnd: 5141
    functionName: remoteFetchCallBack
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosMemoryFreeClear
    - taosAcquireRef
    - qError
    - nodeType
    - tsem_post
    - qWarn
    - rpcCvtErrCode
    - htobe64
    - handleRemoteZeroRowsRes
    - handleRemoteValueListRes
    - taosReleaseRef
    - qDebug
    - tstrncpy
    - asyncFreeConnById
    - handleRemoteTableRes
    - taosMemoryFree
    - tstrerror
    - handleRemoteRowRes
    - handleRemoteValueRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteFetchCallBack(void* param, SDataBuf* pMsg, int32_t code)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:5153,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executil.c:5158,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:5170,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/executor/src/executil.c:5181,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:5186,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/executor/src/executil.c:5191,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:5193,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5197,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:5203,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:5205,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5206,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:5210,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:5212,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:5213,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5214,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5219,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:5219,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:5220,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:5221,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:5222,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/executil.c:5239,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:5240,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5245,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:5245,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 71
    argCount: 4
    argNames:
    - ctx
    - subQIdx
    - pRes
    - reset
    argTypes:
    - STaskSubJobCtx*
    - int32_t
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5249
      start: 5146
    functionDepth: 1
    functionLinenumber: 5146
    functionLinenumberEnd: 5249
    functionName: sendFetchRemoteNodeReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - IS_STREAM_MODE
    - tSerializeSResFetchReq
    - qDebug
    - asyncSendMsgToServer
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - tstrerror
    - taosMemoryCalloc
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t sendFetchRemoteNodeReq(STaskSubJobCtx* ctx, int32_t subQIdx,
      SNode* pRes, bool reset)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sendFetchRemoteNodeReq
      Src: /src/tdengine/source/libs/executor/src/executil.c:5263,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:5264,1
    - Dst: SExecTaskInfo*::pWorkerCb::beforeBlocking
      Src: /src/tdengine/source/libs/executor/src/executil.c:5267,1
    - Dst: tsem_timewait
      Src: /src/tdengine/source/libs/executor/src/executil.c:5278,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executil.c:5282,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/executil.c:5283,1
    - Dst: getTaskCode
      Src: /src/tdengine/source/libs/executor/src/executil.c:5284,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5289,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executil.c:5297,1
    - Dst: getTaskCode
      Src: /src/tdengine/source/libs/executor/src/executil.c:5298,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5309,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executil.c:5311,1
    - Dst: getTaskCode
      Src: /src/tdengine/source/libs/executor/src/executil.c:5312,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/executor/src/executil.c:5315,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/src/executil.c:5315,1
    - Dst: SExecTaskInfo*::pWorkerCb::afterRecoverFromBlocking
      Src: /src/tdengine/source/libs/executor/src/executil.c:5322,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5330,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:5330,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 3
    argNames:
    - ctx
    - subQIdx
    - pRes
    argTypes:
    - STaskSubJobCtx*
    - int32_t
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5333
      start: 5251
    functionDepth: 2
    functionLinenumber: 5251
    functionLinenumberEnd: 5333
    functionName: fetchRemoteNodeImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - qWarn
    - qError
    - SExecTaskInfo*::pWorkerCb::beforeBlocking
    - taosRand
    - qDebug
    - SExecTaskInfo*::pWorkerCb::afterRecoverFromBlocking
    - sendFetchRemoteNodeReq
    - QUERY_CHECK_CODE
    - getTaskCode
    - taosMsleep
    - isTaskKilled
    - tsem_timewait
    linkageType: ''
    returnType: int32_t
    signature: int32_t fetchRemoteNodeImpl(STaskSubJobCtx* ctx, int32_t subQIdx, SNode*
      pRes)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:5338,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:5340,1
    - Dst: valueNodeCopy
      Src: /src/tdengine/source/libs/executor/src/executil.c:5340,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:5345,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:5351,1
    - Dst: valueNodeCopy
      Src: /src/tdengine/source/libs/executor/src/executil.c:5351,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:5366,1
    - Dst: valueNodeCopy
      Src: /src/tdengine/source/libs/executor/src/executil.c:5366,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5377,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:5377,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5381
      start: 5335
    functionDepth: 2
    functionLinenumber: 5335
    functionLinenumberEnd: 5381
    functionName: remoteNodeCopy
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - qError
    - nodeType
    - tstrerror
    - valueNodeCopy
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t remoteNodeCopy(SNode* pSrc, SNode* pDst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:5386,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5388,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:5409,1
    - Dst: fetchRemoteNodeImpl
      Src: /src/tdengine/source/libs/executor/src/executil.c:5420,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:5424,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:5426,1
    - Dst: fetchRemoteNodeImpl
      Src: /src/tdengine/source/libs/executor/src/executil.c:5426,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/executil.c:5429,1
    - Dst: remoteNodeCopy
      Src: /src/tdengine/source/libs/executor/src/executil.c:5429,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:5435,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:5435,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:5437,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - pCtx
    - subQIdx
    - pRes
    argTypes:
    - void*
    - int32_t
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5441
      start: 5383
    functionDepth: 3
    functionLinenumber: 5383
    functionLinenumberEnd: 5441
    functionName: qFetchRemoteNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 5
    functionsReached:
    - taosArrayGet
    - fetchRemoteNodeImpl
    - qError
    - qDebug
    - taosArrayGetSize
    - tstrerror
    - TAOS_CHECK_EXIT
    - remoteNodeCopy
    linkageType: ''
    returnType: int32_t
    signature: int32_t qFetchRemoteNode(void* pCtx, int32_t subQIdx, SNode* pRes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:5448,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:5450,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:5457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - pBlock
    - slotId
    argTypes:
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5464
      start: 5443
    functionDepth: 1
    functionLinenumber: 5443
    functionLinenumberEnd: 5464
    functionName: findDataBlockColIndexBySlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t findDataBlockColIndexBySlotId(const SSDataBlock* pBlock, int32_t
      slotId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findDataBlockColIndexBySlotId
      Src: /src/tdengine/source/libs/executor/src/executil.c:5467,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:5471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pBlock
    - slotId
    - pIndex
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5472
      start: 5466
    functionDepth: 2
    functionLinenumber: 5466
    functionLinenumberEnd: 5472
    functionName: getDataBlockColBySlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: 1
    functionsReached:
    - findDataBlockColIndexBySlotId
    - taosArrayGet
    linkageType: ''
    returnType: SColumnInfoData
    signature: SColumnInfoData * getDataBlockColBySlotId(const SSDataBlock* pBlock,
      int32_t slotId, int32_t* pIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: CLEAR_QUERY_STATUS
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_QUERY_STATUS(q, st)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:46,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/querytask.c:51,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/querytask.c:52,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/querytask.c:55,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/querytask.c:56,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:58,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/executor/src/querytask.c:63,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:68,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:70,1
    - Dst: buildTaskId
      Src: /src/tdengine/source/libs/executor/src/querytask.c:74,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/querytask.c:75,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 6
    argNames:
    - queryId
    - taskId
    - vgId
    - model
    - pAPI
    - pTaskInfo
    argTypes:
    - uint64_t
    - uint64_t
    - int32_t
    - EOPTR_EXEC_MODEL
    - SStorageAPI*
    - SExecTaskInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 83
    functionName: doCreateTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 2
    functionsReached:
    - buildTaskId
    - taosInitRWLatch
    - taosMemoryMalloc
    - setTaskStatus
    - taosGetTimestampUs
    - doDestroyTask
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doCreateTask(uint64_t queryId, uint64_t taskId, int32_t vgId,
      EOPTR_EXEC_MODEL model, SStorageAPI* pAPI,\n                     SExecTaskInfo**
      pTaskInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: getTaskCode
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTaskCode(void* pTaskInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: isTaskKilled
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTaskKilled(void* pTaskInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stopTableScanOperator
      Src: /src/tdengine/source/libs/executor/src/querytask.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pTaskInfo
    - rspCode
    argTypes:
    - SExecTaskInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: setTaskKilled
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 2
    functionsReached:
    - stopTableScanOperator
    linkageType: ''
    returnType: void
    signature: void setTaskKilled(SExecTaskInfo* pTaskInfo, int32_t rspCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR_QUERY_STATUS
      Src: /src/tdengine/source/libs/executor/src/querytask.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pTaskInfo
    - status
    argTypes:
    - SExecTaskInfo*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: setTaskStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 4
    functionsReached:
    - CLEAR_QUERY_STATUS
    linkageType: ''
    returnType: void
    signature: void setTaskStatus(SExecTaskInfo* pTaskInfo, int8_t status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/querytask.c:107,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:109,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/querytask.c:110,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/querytask.c:120,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/querytask.c:124,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/querytask.c:126,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/querytask.c:126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/querytask.c:126,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/querytask.c:127,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/querytask.c:130,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/querytask.c:130,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/executor/src/querytask.c:132,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/querytask.c:134,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/querytask.c:134,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/querytask.c:135,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/querytask.c:140,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/querytask.c:140,1
    - Dst: destroySubJobCtx
      Src: /src/tdengine/source/libs/executor/src/querytask.c:145,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/querytask.c:148,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/querytask.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - pTaskInfo
    - subEndPoints
    - readHandle
    argTypes:
    - SExecTaskInfo*
    - SArray**
    - SReadHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 152
    functionName: initTaskSubJobCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 0
    functionsReached:
    - taosAddRef
    - qError
    - GET_TASKID
    - tsem_init
    - IS_STREAM_MODE
    - qDebug
    - destroySubJobCtx
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tstrerror
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initTaskSubJobCtx(SExecTaskInfo* pTaskInfo, SArray** subEndPoints,
      SReadHandle* readHandle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: doCreateTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:158,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:160,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/querytask.c:167,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:170,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/querytask.c:180,1
    - Dst: initTaskSubJobCtx
      Src: /src/tdengine/source/libs/executor/src/querytask.c:181,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:183,1
    - Dst: setTaskScalarExtraInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:189,1
    - Dst: createOperator
      Src: /src/tdengine/source/libs/executor/src/querytask.c:191,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 9
    argNames:
    - pPlan
    - pTaskInfo
    - pHandle
    - taskId
    - vgId
    - sql
    - model
    - subEndPoints
    - enableExplain
    argTypes:
    - SSubplan*
    - SExecTaskInfo**
    - SReadHandle*
    - uint64_t
    - int32_t
    - char*
    - EOPTR_EXEC_MODEL
    - SArray**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 156
    functionDepth: 19
    functionLinenumber: 156
    functionLinenumberEnd: 199
    functionName: createExecTaskInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 2
    functionsReached:
    - createOperator
    - setTaskScalarExtraInfo
    - taosArrayGetSize
    - doDestroyTask
    - doCreateTask
    - initTaskSubJobCtx
    - nodesDestroyNode
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createExecTaskInfo(SSubplan* pPlan, SExecTaskInfo** pTaskInfo,
      SReadHandle* pHandle, uint64_t taskId,\n                           int32_t vgId,
      char* sql, EOPTR_EXEC_MODEL model, SArray** subEndPoints, bool enableExplain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:204,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:205,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:206,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: cleanupQueriedTableScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tDeleteSchemaWrapper
    linkageType: ''
    returnType: void
    signature: void cleanupQueriedTableScanInfo(void* p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/querytask.c:219,1
    - Dst: SStorageAPI*::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/querytask.c:220,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/querytask.c:222,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/querytask.c:223,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/querytask.c:225,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/querytask.c:231,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/querytask.c:232,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/querytask.c:234,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:235,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:244,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:247,1
    - Dst: SStorageAPI*::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/querytask.c:250,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/querytask.c:252,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:253,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:257,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:260,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/querytask.c:263,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:266,1
    - Dst: extractQueriedColumnSchema
      Src: /src/tdengine/source/libs/executor/src/querytask.c:270,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:272,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/querytask.c:276,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 4
    argNames:
    - pHandle
    - pScanNode
    - dbName
    - pTaskInfo
    argTypes:
    - SReadHandle*
    - SScanPhysiNode*
    - char*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 283
    functionName: initQueriedTableSchemaInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - SStorageAPI*::metaReaderFn::getEntryGetUidCache
    - SStorageAPI*::metaReaderFn::initReader
    - cleanupQueriedTableScanInfo
    - qError
    - GET_TASKID
    - tDecoderClear
    - SStorageAPI*::metaReaderFn::clearReader
    - extractQueriedColumnSchema
    - tCloneSSchemaWrapper
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initQueriedTableSchemaInfo(SReadHandle* pHandle, SScanPhysiNode*
      pScanNode, const char* dbName,\n                                   SExecTaskInfo*
      pTaskInfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/querytask.c:286,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/querytask.c:287,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:289,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:294,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/querytask.c:296,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:301,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:308,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/querytask.c:308,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:313,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/querytask.c:315,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:323,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/querytask.c:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - pScanNode
    argTypes:
    - SScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 328
    functionName: extractQueriedColumnSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - tListLen
    - LIST_LENGTH
    - nodeType
    - tstrncpy
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: SSchemaWrapper
    signature: SSchemaWrapper * extractQueriedColumnSchema(SScanPhysiNode* pScanNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:331,1
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pTmqInfo
    argTypes:
    - STmqTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: cleanupTmqInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 0
    functionsReached:
    - tOffsetDestroy
    - tDeleteSchemaWrapper
    linkageType: ''
    returnType: void
    signature: void cleanupTmqInfo(STmqTaskInfo* pTmqInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: freeBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void freeBlock(void* pParam)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: asyncFreeConnById
      Src: /src/tdengine/source/libs/executor/src/querytask.c:343,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/querytask.c:345,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/querytask.c:345,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/querytask.c:351,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:353,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/querytask.c:355,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/querytask.c:355,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:357,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/querytask.c:360,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/querytask.c:362,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - STaskSubJobCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 368
    functionName: destroySubJobCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 2
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - taosArrayDestroyP
    - tsem_destroy
    - asyncFreeConnById
    - qDebug
    - taosArrayGetSize
    - tstrerror
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroySubJobCtx(STaskSubJobCtx* pCtx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/querytask.c:371,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/querytask.c:371,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/querytask.c:372,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/executor/src/querytask.c:376,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/querytask.c:378,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/querytask.c:378,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/querytask.c:382,1
    - Dst: cleanupTmqInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:383,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:386,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/querytask.c:390,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:391,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/querytask.c:393,1
    - Dst: tDestroyStRtFuncInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:405,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:406,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:408,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:409,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 370
    functionDepth: 6
    functionLinenumber: 370
    functionLinenumberEnd: 411
    functionName: doDestroyTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 4
    functionsReached:
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - freeOperatorParam
    - qError
    - GET_TASKID
    - taosArrayDestroy
    - qDebug
    - taosRemoveRef
    - tDestroyStRtFuncInfo
    - tstrerror
    - cleanupTmqInfo
    - nodesDestroyNode
    - destroyOperator
    linkageType: ''
    returnType: void
    signature: void doDestroyTask(SExecTaskInfo* pTaskInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/querytask.c:414,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/querytask.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - taskId
    - queryId
    - dst
    - len
    argTypes:
    - uint64_t
    - uint64_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: buildTaskId
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: 2
    functionsReached:
    - snprintf
    - qError
    linkageType: ''
    returnType: void
    signature: void buildTaskId(uint64_t taskId, uint64_t queryId, char* dst, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: SCAN_ROW_TYPE
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCAN_ROW_TYPE(_t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:65,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:66,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:68,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:69,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:76,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:77,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:79,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:91,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - pBlock
    - pScan
    argTypes:
    - SSDataBlock*
    - SLastRowScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 94
    functionName: setColIdForCacheReadBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - nodeType
    - FOREACH
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t setColIdForCacheReadBlock(SSDataBlock* pBlock, SLastRowScanPhysiNode*
      pScan)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:99,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:105,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:106,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:112,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:118,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:119,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:121,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:122,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: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:138,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:149,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:151,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:151,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:152,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:154,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:155,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: 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: 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: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:165,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:166,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:167,1
    - Dst: extractCacheScanSlotId
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:173,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:174,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:177,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:178,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:182,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:183,1
    - Dst: oneTableForEachGroup
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:186,1
    - Dst: SCAN_ROW_TYPE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:187,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:189,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:190,1
    - Dst: tableListGetSuid
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:192,1
    - Dst: SCacheRowsScanInfo*::readHandle::api::cacheFn::openReader
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:193,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:194,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:197,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:199,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:202,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:203,1
    - Dst: setColIdForCacheReadBlock
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:205,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:206,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:208,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:209,1
    - Dst: SCAN_ROW_TYPE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:211,1
    - Dst: setColIdForCacheReadBlock
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:213,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:214,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:217,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:218,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:219,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:223,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:224,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:227,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:228,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:231,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:233,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:235,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:244,1
    - Dst: destroyCacheScanOperator
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:248,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:252,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 102
    argCount: 5
    argNames:
    - pScanNode
    - readHandle
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SLastRowScanPhysiNode*
    - SReadHandle*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 96
    functionDepth: 8
    functionLinenumber: 96
    functionLinenumberEnd: 255
    functionName: createCacherowsScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - extractCacheScanSlotId
    - TMIN
    - taosArrayAddAll
    - qError
    - TSDB_CHECK_CODE
    - createOperatorFpSet
    - destroyCacheScanOperator
    - extractColMatchInfo
    - taosArrayGet
    - QRY_PARAM_CHECK
    - createOneDataBlock
    - createExprInfo
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - SCAN_ROW_TYPE
    - taosMemoryCalloc
    - initResultSizeInfo
    - createSqlFunctionCtx
    - setOperatorInfo
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - oneTableForEachGroup
    - tstrerror
    - destroyOperator
    - tableListGetSize
    - TARRAY_SIZE
    - setColIdForCacheReadBlock
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - tableListGetInfo
    - SCacheRowsScanInfo*::readHandle::api::cacheFn::openReader
    - taosArrayInit
    - tableListGetSuid
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createCacherowsScanOperator(SLastRowScanPhysiNode* pScanNode,
      SReadHandle* readHandle,\n                                    STableListInfo*
      pTableListInfo, SExecTaskInfo* pTaskInfo,\n                                    SOperatorInfo**
      pOptrInfo)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetSuid
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:271,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:273,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:274,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:277,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:282,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:286,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:287,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:291,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:292,1
    - Dst: SStoreCacheReader*::retrieveRows
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:294,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:296,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:302,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:303,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:305,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:306,1
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:313,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:315,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:317,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:318,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:322,1
    - Dst: tableListGetOutputGroups
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:327,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:330,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:331,1
    - Dst: tableListGetGroupList
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:337,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:338,1
    - Dst: SStoreCacheReader*::openReader
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:341,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:342,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:348,1
    - Dst: SStoreCacheReader*::reuseReader
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:352,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:353,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:356,1
    - Dst: SStoreCacheReader*::retrieveRows
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:358,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:360,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:371,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:372,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:373,1
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:376,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:378,1
    - Dst: SStoreCacheReader*::closeReader
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:390,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:392,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:399,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:399,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:401,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 91
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 404
    functionName: doScanCacheNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - tableListGetTableGroupId
    - taosArrayGet
    - blockDataCleanup
    - copyDataBlock
    - addTagPseudoColumnData
    - tableListGetGroupList
    - tableListGetOutputGroups
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClear
    - SStoreCacheReader*::reuseReader
    - T_LONG_JMP
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - tstrerror
    - isTaskKilled
    - tableListGetSize
    - SStoreCacheReader*::retrieveRows
    - SStoreCacheReader*::openReader
    - SStoreCacheReader*::closeReader
    - tableListGetSuid
    linkageType: ''
    returnType: int32_t
    signature: int32_t doScanCacheNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:408,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:409,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:410,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:411,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:412,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:413,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:414,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:415,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:416,1
    - Dst: SCacheRowsScanInfo*::readHandle::api::cacheFn::closeReader
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:419,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:423,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 406
    functionDepth: 4
    functionLinenumber: 406
    functionLinenumberEnd: 425
    functionName: destroyCacheScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: 1
    functionsReached:
    - SCacheRowsScanInfo*::readHandle::api::cacheFn::closeReader
    - taosMemoryFreeClear
    - cleanupExprSupp
    - taosArrayDestroy
    - blockDataDestroy
    - tableListDestroy
    linkageType: ''
    returnType: void
    signature: void destroyCacheScanOperator(void* param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:429,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:431,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:436,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:438,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - pColMatchInfo
    - pTaskInfo
    - pSlotIds
    - pDstSlotIds
    argTypes:
    - SArray*
    - SExecTaskInfo*
    - int32_t**
    - int32_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 471
    functionName: extractCacheScanSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - taosArrayGet
    - taosArrayGetLast
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extractCacheScanSlotId(const SArray* pColMatchInfo, SExecTaskInfo*
      pTaskInfo, int32_t** pSlotIds,\n                               int32_t** pDstSlotIds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:144,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: cleanupSysTableScanRefPool
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosCloseRef
    - atomic_val_compare_exchange_32
    linkageType: ''
    returnType: void
    signature: void cleanupSysTableScanRefPool(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:149,1
    - Dst: atexit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: initSysTableScanRefPool
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosOpenRef
    - atexit
    linkageType: ''
    returnType: void
    signature: void initSysTableScanRefPool(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pInfo
    - tableType
    - secLevel
    - dbSecLevel
    argTypes:
    - SSysTableScanInfo*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: sysTableMacVisible
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE sysTableMacVisible(const SSysTableScanInfo* pInfo, int32_t
      tableType, int32_t secLevel,\n                                            int32_t
      dbSecLevel)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSTabFltArg*::pAPI::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:264,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:268,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:270,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:270,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:274,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:274,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:276,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:276,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:279,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:279,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:279,1
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:286,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 293
    functionName: sysFilte__DbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tNameFromString
    - SSTabFltArg*::pAPI::metaFn::getBasicInfo
    - qError
    - func
    - optSysGetFilterFunc
    - tstrerror
    - varDataVal
    - strlen
    - varDataSetLen
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysFilte__DbName(void* arg, SNode* pNode, SArray* result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSTabFltArg*::pAPI::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:300,1
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:307,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: sysFilte__VgroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - func
    - SSTabFltArg*::pAPI::metaFn::getBasicInfo
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysFilte__VgroupId(void* arg, SNode* pNode, SArray* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 334
    functionName: sysFilte__TableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysFilte__TableName(void* arg, SNode* pNode, SArray* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:344,1
    - Dst: SStorageAPI*::metaFilter::metaFilterCreateTime
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 357
    functionName: sysFilte__CreateTime
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaFilter::metaFilterCreateTime
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysFilte__CreateTime(void* arg, SNode* pNode, SArray* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 369
    functionName: sysFilte__Ncolumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysFilte__Ncolumn(void* arg, SNode* pNode, SArray* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 381
    functionName: sysFilte__Ttl
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysFilte__Ttl(void* arg, SNode* pNode, SArray* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 393
    functionName: sysFilte__STableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysFilte__STableName(void* arg, SNode* pNode, SArray* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: sysFilte__Uid
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysFilte__Uid(void* arg, SNode* pNode, SArray* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 417
    functionName: sysFilte__Type
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysFilte__Type(void* arg, SNode* pNode, SArray* result)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:420,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - func
    - comparType
    - a
    - b
    argTypes:
    - __compar_fn_t
    - int8_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: optSysDoCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - func
    linkageType: ''
    returnType: int
    signature: int optSysDoCompare(__compar_fn_t func, int8_t comparType, void* a,
      void* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:448,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: optSysFilterFuncImpl__LowerThan
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: int optSysFilterFuncImpl__LowerThan(void* a, void* b, int16_t dtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:455,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: optSysFilterFuncImpl__LowerEqual
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: 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:462,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 467
    functionName: optSysFilterFuncImpl__GreaterThan
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: int optSysFilterFuncImpl__GreaterThan(void* a, void* b, int16_t dtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:469,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 474
    functionName: optSysFilterFuncImpl__GreaterEqual
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: int optSysFilterFuncImpl__GreaterEqual(void* a, void* b, int16_t dtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:476,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: optSysFilterFuncImpl__Equal
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: int optSysFilterFuncImpl__Equal(void* a, void* b, int16_t dtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:484,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: optSysFilterFuncImpl__NoEqual
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: int optSysFilterFuncImpl__NoEqual(void* a, void* b, int16_t dtype)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - ctype
    - reverse
    - equal
    argTypes:
    - int32_t
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 523
    functionName: optSysGetFilterFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 9
    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:528,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:529,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:529,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:530,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:533,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:534,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pCond
    - condTable
    argTypes:
    - SNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 540
    functionName: sysTableIsOperatorCondOnOneTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - nodesGetNameFromColumnNode
    - strcasecmp
    - nodeType
    - nodesGetValueFromNode
    - tstrncpy
    - varDataVal
    linkageType: ''
    returnType: bool
    signature: bool sysTableIsOperatorCondOnOneTable(SNode* pCond, char* condTable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:545,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:546,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:546,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:547,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:550,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:551,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pCond
    - condTable
    argTypes:
    - SNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 557
    functionName: sysTableIsOperatorCondOnOneVTableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - nodesGetNameFromColumnNode
    - strcasecmp
    - nodeType
    - nodesGetValueFromNode
    - tstrncpy
    - varDataVal
    linkageType: ''
    returnType: bool
    signature: bool sysTableIsOperatorCondOnOneVTableName(SNode* pCond, char* condTable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:563,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:567,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:568,1
    - Dst: sysTableIsOperatorCondOnOneVTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:568,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:575,1
    - Dst: sysTableIsOperatorCondOnOneVTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:576,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pCond
    - condTable
    argTypes:
    - SNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 580
    functionName: sysTableIsCondOnOneVTableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - nodeType
    - sysTableIsOperatorCondOnOneVTableName
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool sysTableIsCondOnOneVTableName(SNode* pCond, char* condTable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:586,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:590,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:591,1
    - Dst: sysTableIsOperatorCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:591,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:598,1
    - Dst: sysTableIsOperatorCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pCond
    - condTable
    argTypes:
    - SNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 603
    functionName: sysTableIsCondOnOneTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - sysTableIsOperatorCondOnOneTable
    linkageType: ''
    returnType: bool
    signature: bool sysTableIsCondOnOneTable(SNode* pCond, char* condTable)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:612,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:617,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:618,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:621,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:627,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:634,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:635,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:636,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:639,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:651,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:654,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:658,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:660,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:662,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:664,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:665,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:672,1
    - Dst: sysTableUserColsFillOneTableCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:675,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:679,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:681,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:683,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:683,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:685,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:688,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:690,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:693,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:698,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:700,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:701,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 74
    argCount: 3
    argNames:
    - pOperator
    - dataBlock
    - dbname
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 703
    functionName: doOptimizeTableNameFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - SStorageAPI*::metaReaderFn::getTableEntryByName
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - GET_TASKID
    - STR_TO_VARSTR
    - setOperatorCompleted
    - qDebug
    - sysTableUserColsFillOneTableCols
    - SStorageAPI*::metaReaderFn::clearReader
    - tstrerror
    - relocateAndFilterSysTagsScanResult
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * doOptimizeTableNameFilter(SOperatorInfo* pOperator, SSDataBlock*
      dataBlock, char* dbname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:714,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:716,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:718,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:718,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:720,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:723,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:730,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:732,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:733,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:736,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:748,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:749,1
    - Dst: SStorageAPI*::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:753,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:756,1
    - Dst: SStorageAPI*::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:760,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:763,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:765,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:766,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:768,1
    - Dst: SStorageAPI*::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:772,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:776,1
    - Dst: sysTableFillOneVirtualTableRefImpl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:784,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:786,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:789,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:794,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:796,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:797,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:801,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:804,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:806,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:808,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:808,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:810,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 3
    argNames:
    - pOperator
    - dataBlock
    - dbname
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 813
    functionName: doOptimizeVTableNameFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - memcpy
    - qWarn
    - STR_TO_VARSTR
    - sysTableFillOneVirtualTableRefImpl
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - T_LONG_JMP
    - SStorageAPI*::metaReaderFn::getTableEntryByName
    - GET_TASKID
    - SStorageAPI*::metaReaderFn::readerReleaseLock
    - setOperatorCompleted
    - qDebug
    - terrstr
    - SStorageAPI*::metaReaderFn::clearReader
    - relocateAndFilterSysTagsScanResult
    - tstrerror
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * doOptimizeVTableNameFilter(SOperatorInfo* pOperator,
      SSDataBlock* dataBlock, char* dbname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:821,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:822,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:823,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:825,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:825,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:826,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:828,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:828,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:828,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:832,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - dbname
    - pInfo
    - pAPI
    argTypes:
    - char*
    - SSysTableScanInfo*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 835
    functionName: doExtractDbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tNameFromString
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    - QUERY_CHECK_CODE
    - tstrerror
    - varDataVal
    - strlen
    - varDataSetLen
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t doExtractDbName(char* dbname, SSysTableScanInfo* pInfo, SStorageAPI*
      pAPI)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:852,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:854,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:855,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:857,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:858,1
    - Dst: doExtractDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:860,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:861,1
    - Dst: doOptimizeTableNameFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:865,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:866,1
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:871,1
    - Dst: SStorageAPI*::metaFn::resumeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:873,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:875,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:877,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:882,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:882,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:883,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:886,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:886,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:890,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:890,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:891,1
    - Dst: SStorageAPI*::metaFn::cursorNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:896,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:905,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:905,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:906,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:908,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:910,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:912,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:916,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:919,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:922,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:927,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:932,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:932,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:934,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:935,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:937,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:938,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:944,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:945,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:948,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:949,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:951,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:952,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:956,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:961,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:965,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:970,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:976,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:977,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:978,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:981,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:981,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:984,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:985,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:987,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:987,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:990,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:991,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:994,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:994,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:996,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:997,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1001,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1002,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1008,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1009,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1012,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1013,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1015,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1016,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1020,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1025,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1029,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1034,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1040,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1041,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1042,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1045,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1045,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1050,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1054,1
    - Dst: sysTableUserColsFillOneTableCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1059,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1061,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1065,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1066,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1070,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1073,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1075,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1079,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1079,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1083,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1084,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1084,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1086,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 193
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 1089
    functionName: sysTableScanUserCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - sysTableUserColsFillOneTableCols
    - SStorageAPI*::metaFn::openTableMetaCursor
    - blockDataCleanup
    - STR_TO_VARSTR
    - taosHashInit
    - taosHashSetFreeFp
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - buildInfoSchemaTableMetaBlock
    - T_LONG_JMP
    - GET_TASKID
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - qDebug
    - terrstr
    - SStorageAPI*::metaReaderFn::clearReader
    - SStorageAPI*::metaFn::pauseTableMetaCursor
    - relocateAndFilterSysTagsScanResult
    - tCloneSSchemaWrapper
    - SStorageAPI*::metaFn::cursorNext
    - doOptimizeTableNameFilter
    - blockDataEnsureCapacity
    - taosHashGet
    - SStorageAPI*::metaFn::resumeTableMetaCursor
    - doExtractDbName
    - taosHashPut
    - tstrerror
    - blockDataDestroy
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanUserCols(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1092,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pTableListInfo
    - tableUid
    argTypes:
    - STableListInfo*
    - tb_uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1102
    functionName: virtualChildTableNeedCollect
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool virtualChildTableNeedCollect(STableListInfo* pTableListInfo, tb_uid_t
      tableUid)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1119,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1121,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1122,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1124,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1125,1
    - Dst: doExtractDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1127,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1128,1
    - Dst: doOptimizeTableNameFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1132,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1133,1
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1138,1
    - Dst: SStorageAPI*::metaFn::resumeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1140,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1142,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1144,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1149,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1149,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1150,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1154,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1154,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1155,1
    - Dst: SStorageAPI*::metaFn::cursorNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1160,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1175,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1175,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1177,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1178,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1179,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1184,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1184,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1186,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1187,1
    - Dst: virtualChildTableNeedCollect
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1188,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1189,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1189,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1190,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1195,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1199,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1200,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1203,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1204,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1206,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1207,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1211,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1212,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1215,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1216,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1219,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1220,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1222,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1223,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1227,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1228,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1233,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1237,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1242,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1243,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1246,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1246,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1251,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1255,1
    - Dst: sysTableUserColsFillOneVirtualTableCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1260,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1263,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1267,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1268,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1272,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1275,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1277,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1281,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1281,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1285,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1286,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1286,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1288,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 141
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1291
    functionName: sysTableScanUserVcCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - SStorageAPI*::metaFn::openTableMetaCursor
    - blockDataCleanup
    - STR_TO_VARSTR
    - taosHashInit
    - taosHashSetFreeFp
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - buildInfoSchemaTableMetaBlock
    - virtualChildTableNeedCollect
    - varDataVal
    - T_LONG_JMP
    - GET_TASKID
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - qDebug
    - terrstr
    - SStorageAPI*::metaReaderFn::clearReader
    - SStorageAPI*::metaFn::pauseTableMetaCursor
    - relocateAndFilterSysTagsScanResult
    - tCloneSSchemaWrapper
    - SStorageAPI*::metaFn::cursorNext
    - doOptimizeTableNameFilter
    - blockDataEnsureCapacity
    - taosHashGet
    - SStorageAPI*::metaFn::resumeTableMetaCursor
    - doExtractDbName
    - taosHashPut
    - tstrerror
    - sysTableUserColsFillOneVirtualTableCols
    - blockDataDestroy
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanUserVcCols(SOperatorInfo* pOperator)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1306,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1314,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1316,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1317,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1319,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1320,1
    - Dst: sysTableIsCondOnOneVTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1322,1
    - Dst: doExtractDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1323,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1324,1
    - Dst: doOptimizeVTableNameFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1326,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1331,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1333,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1333,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1335,1
    - Dst: doExtractDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1338,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1339,1
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1342,1
    - Dst: SStorageAPI*::metaFn::resumeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1344,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1346,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1348,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1353,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1353,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1354,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1358,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1358,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1359,1
    - Dst: SStorageAPI*::metaFn::cursorNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1364,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1375,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1375,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1377,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1378,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1383,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1383,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1385,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1389,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1393,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1394,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1397,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1398,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1400,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1401,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1405,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1406,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1409,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1410,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1413,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1414,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1416,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1417,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1421,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1423,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1424,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1427,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1435,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1437,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1438,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1442,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1445,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1445,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1450,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1454,1
    - Dst: sysTableFillOneVirtualTableRefImpl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1460,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1462,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1466,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1467,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1471,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1474,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1476,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1480,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1480,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1484,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1486,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1487,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1487,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1489,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 149
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1293
    functionDepth: 3
    functionLinenumber: 1293
    functionLinenumberEnd: 1492
    functionName: sysTableScanVirtualTableRef
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - taosMemoryFreeClear
    - SStorageAPI*::metaReaderFn::initReader
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    - qError
    - tDeleteSchemaWrapper
    - SStorageAPI*::metaFn::openTableMetaCursor
    - blockDataCleanup
    - qWarn
    - STR_TO_VARSTR
    - taosHashInit
    - taosHashSetFreeFp
    - sysTableFillOneVirtualTableRefImpl
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - buildInfoSchemaTableMetaBlock
    - sysTableIsCondOnOneVTableName
    - taosMemoryCalloc
    - T_LONG_JMP
    - GET_TASKID
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - qDebug
    - terrstr
    - SStorageAPI*::metaReaderFn::clearReader
    - SStorageAPI*::metaFn::pauseTableMetaCursor
    - relocateAndFilterSysTagsScanResult
    - tCloneSSchemaWrapper
    - SStorageAPI*::metaFn::cursorNext
    - blockDataEnsureCapacity
    - taosHashGet
    - SStorageAPI*::metaFn::resumeTableMetaCursor
    - doExtractDbName
    - taosHashPut
    - tstrerror
    - blockDataDestroy
    - doOptimizeVTableNameFilter
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanVirtualTableRef(SOperatorInfo* pOperator)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1506,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1509,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1510,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1512,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1513,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1517,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1521,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1522,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1524,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1524,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1525,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1527,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1527,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1527,1
    - Dst: sysTableIsCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1531,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1533,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1536,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1537,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1540,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1541,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1547,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1548,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1554,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1555,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1558,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1559,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1560,1
    - Dst: sysTableUserTagsFillOneTableTags
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1564,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1567,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1568,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1570,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1573,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1576,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1578,1
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1584,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1585,1
    - Dst: SStorageAPI*::metaFn::resumeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1587,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1588,1
    - Dst: SStorageAPI*::metaFn::cursorNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1591,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1597,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1600,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1602,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1604,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1604,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1605,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1606,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1607,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1609,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1611,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1615,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1619,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1620,1
    - Dst: sysTableUserTagsFillOneTableTags
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1626,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1630,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1630,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1631,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1632,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1634,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1636,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1638,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1642,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1643,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1647,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1650,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1652,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1659,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1659,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1660,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1661,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1664,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 120
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1494
    functionDepth: 3
    functionLinenumber: 1494
    functionLinenumberEnd: 1667
    functionName: sysTableScanUserTags
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    - sysTableIsCondOnOneTable
    - SStorageAPI*::metaFn::openTableMetaCursor
    - blockDataCleanup
    - STR_TO_VARSTR
    - QUERY_CHECK_CODE
    - varDataVal
    - buildInfoSchemaTableMetaBlock
    - T_LONG_JMP
    - SStorageAPI*::metaReaderFn::getTableEntryByName
    - GET_TASKID
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - SStorageAPI*::metaReaderFn::clearReader
    - SStorageAPI*::metaFn::pauseTableMetaCursor
    - relocateAndFilterSysTagsScanResult
    - varDataSetLen
    - tNameGetDbName
    - SStorageAPI*::metaFn::cursorNext
    - tNameFromString
    - blockDataEnsureCapacity
    - SStorageAPI*::metaFn::resumeTableMetaCursor
    - sysTableUserTagsFillOneTableTags
    - tstrerror
    - strlen
    - blockDataDestroy
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanUserTags(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1676,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1677,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1679,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1680,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1682,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1686,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1686,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - pInfo
    - numOfRows
    - dataBlock
    - pFilterInfo
    - pTaskInfo
    argTypes:
    - SSysTableScanInfo*
    - int32_t
    - SSDataBlock*
    - SFilterInfo*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1669
    functionDepth: 5
    functionLinenumber: 1669
    functionLinenumberEnd: 1690
    functionName: relocateAndFilterSysTagsScanResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 6
    functionsReached:
    - T_LONG_JMP
    - blockDataCleanup
    - qError
    - doFilter
    - QUERY_CHECK_CODE
    - tstrerror
    - relocateColumnData
    linkageType: ''
    returnType: void
    signature: "void relocateAndFilterSysTagsScanResult(SSysTableScanInfo* pInfo,
      int32_t numOfRows, SSDataBlock* dataBlock,\n                                        SFilterInfo*
      pFilterInfo, SExecTaskInfo* pTaskInfo)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1697,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1701,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1705,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1709,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1713,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1718,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1722,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1722,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1726,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1726,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1736,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1744,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1751,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1755,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1759,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1763,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 6
    argNames:
    - str
    - strBuffLen
    - type
    - buf
    - bufSize
    - len
    argTypes:
    - char*
    - int32_t
    - int
    - void*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1773
    functionName: convertTagDataToStr
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosUcs4ToMbs
    - memcpy
    - snprintf
    - GET_DOUBLE_VAL
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertTagDataToStr(char* str, int32_t strBuffLen, int type,
      void* buf, int32_t bufSize, int32_t* len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1781,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1786,1
    - Dst: doAsText
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1787,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1788,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1788,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1795,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - iGeom
    - nGeom
    - output
    - nOutput
    argTypes:
    - char*
    - int32_t
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1775
    functionDepth: 2
    functionLinenumber: 1775
    functionLinenumberEnd: 1801
    functionName: sysTableGetGeomText
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - getGeosErrMsg
    - qError
    - doAsText
    - taosStrdup
    - TAOS_RETURN
    - strlen
    - initCtxAsText
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysTableGetGeomText(char* iGeom, int32_t nGeom, char** output,
      int32_t* nOutput)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1809,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1818,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1819,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1820,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1821,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1824,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1825,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1826,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1827,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1830,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1831,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1832,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1833,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1837,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1838,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1839,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1840,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1841,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1846,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1847,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1850,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1850,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1854,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1858,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1859,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1861,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1862,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1864,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1866,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1866,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1869,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1870,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1871,1
    - Dst: tTagGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1881,1
    - Dst: sysTableGetGeomText
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1884,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1885,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1887,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1889,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1889,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1891,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1903,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1910,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1915,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1915,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1916,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1917,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1917,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1917,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1918,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1918,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1919,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1921,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1923,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1924,1
    - Dst: convertTagDataToStr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1927,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1927,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1930,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1933,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1934,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1935,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1936,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1937,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1939,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1940,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1948,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1948,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 107
    argCount: 7
    argNames:
    - pInfo
    - smrSuperTable
    - smrChildTable
    - dbname
    - tableName
    - pNumOfRows
    - dataBlock
    argTypes:
    - SSysTableScanInfo*
    - SMetaReader*
    - SMetaReader*
    - char*
    - char*
    - int32_t*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1803
    functionDepth: 3
    functionLinenumber: 1803
    functionLinenumberEnd: 1951
    functionName: sysTableUserTagsFillOneTableTags
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - parseTagDatatoJson
    - taosMemoryFreeClear
    - qError
    - taosAscii2Hex
    - snprintf
    - sysTableGetGeomText
    - memcpy
    - taosArrayGet
    - tTagGet
    - STR_TO_VARSTR
    - QUERY_CHECK_CODE
    - varDataVal
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    - colDataSetVal
    - varDataSetLen
    - taosMemoryMalloc
    - tTagIsJsonNull
    - IS_STR_DATA_BLOB
    - taosMemoryFree
    - convertTagDataToStr
    - tstrerror
    - strlen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sysTableUserTagsFillOneTableTags(const SSysTableScanInfo*
      pInfo, SMetaReader* smrSuperTable,\n                                                SMetaReader*
      smrChildTable, const char* dbname, const char* tableName,\n                                                int32_t*
      pNumOfRows, const SSDataBlock* dataBlock)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1959,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1969,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1970,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1971,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1972,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1975,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1976,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1977,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1978,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1980,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1981,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1982,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1983,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1987,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1988,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1989,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1990,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1991,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1996,1
    - Dst: schemaToRefDataType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1997,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1999,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2000,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2003,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2003,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2007,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2010,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2010,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2013,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2013,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2015,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2017,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2017,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2021,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2022,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:2026,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2027,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2028,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2029,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2032,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2033,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2034,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2036,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2037,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2039,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2043,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2044,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2045,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2047,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2048,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2050,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2054,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2055,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2056,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2059,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2060,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2062,1
    - Dst: sliceInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2068,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2070,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2070,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2070,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2072,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2072,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2074,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2075,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2075,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2078,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2078,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2079,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2080,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2080,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2083,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2085,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2086,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2090,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2091,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2092,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2093,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2102,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 98
    argCount: 8
    argNames:
    - dbname
    - pNumOfRows
    - dataBlock
    - tName
    - schemaRow
    - extSchemaRow
    - tableType
    - colRef
    argTypes:
    - char*
    - int32_t*
    - SSDataBlock*
    - char*
    - SSchemaWrapper*
    - SExtSchema*
    - char*
    - SColRefWrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 1953
    functionDepth: 1
    functionLinenumber: 1953
    functionLinenumberEnd: 2105
    functionName: sysTableUserColsFillOneTableCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 2
    functionsReached:
    - IS_DECIMAL_TYPE
    - colDataSetNULL
    - sliceAppend
    - taosArrayGet
    - schemaToRefDataType
    - qError
    - QUERY_CHECK_NULL
    - STR_TO_VARSTR
    - colDataSetVal
    - snprintf
    - QUERY_CHECK_CODE
    - tstrerror
    - varDataVal
    - strlen
    - varDataSetLen
    - sliceInit
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sysTableUserColsFillOneTableCols(const char* dbname, int32_t*
      pNumOfRows, const SSDataBlock* dataBlock,\n                                                char*
      tName, SSchemaWrapper* schemaRow, SExtSchema* extSchemaRow,\n                                                char*
      tableType, SColRefWrapper* colRef)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2114,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2124,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2125,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2126,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2127,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2130,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2131,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2132,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2133,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2136,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2137,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2138,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2139,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2143,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2144,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2145,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2146,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2147,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2150,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2151,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2152,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2153,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2156,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2157,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2159,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2161,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2162,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2165,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2166,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2168,1
    - Dst: sliceInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2173,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2175,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2175,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2175,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2177,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2177,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2178,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2179,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2179,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2181,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2181,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2182,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2183,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2183,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2185,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2187,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2188,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2192,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2193,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2194,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2195,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2198,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2199,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2200,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2201,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2209,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 11
    argNames:
    - pInfo
    - dbname
    - pNumOfRows
    - dataBlock
    - tName
    - stName
    - schemaRow
    - tableType
    - colRef
    - uid
    - vgId
    argTypes:
    - SSysTableScanInfo*
    - char*
    - int32_t*
    - SSDataBlock*
    - char*
    - char*
    - SSchemaWrapper*
    - char*
    - SColRefWrapper*
    - tb_uid_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2107
    functionDepth: 1
    functionLinenumber: 2107
    functionLinenumberEnd: 2212
    functionName: sysTableUserColsFillOneVirtualTableCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - colDataSetNULL
    - sliceAppend
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - STR_TO_VARSTR
    - colDataSetVal
    - QUERY_CHECK_CODE
    - tstrerror
    - strlen
    - sliceInit
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sysTableUserColsFillOneVirtualTableCols(const SSysTableScanInfo*
      pInfo, const char* dbname,\n                                                       int32_t*
      pNumOfRows, const SSDataBlock* dataBlock, char* tName,\n                                                       char*
      stName, SSchemaWrapper* schemaRow, char* tableType,\n                                                       SColRefWrapper*
      colRef, tb_uid_t uid, int32_t vgId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2244,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2244,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2250,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2250,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pSchemas
    - numOfCols
    - numOfTags
    - ppIndex
    argTypes:
    - SSchema*
    - int32_t
    - int32_t
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2241
    functionDepth: 1
    functionLinenumber: 2241
    functionLinenumberEnd: 2258
    functionName: vtbRefBuildColNameIndex
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtbRefBuildColNameIndex(SSchema* pSchemas, int32_t numOfCols,
      int32_t numOfTags, SHashObj** ppIndex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2261,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2283,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2289,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2291,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2297,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2302,1
    - Dst: vtbRefBuildColNameIndex
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2311,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2314,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - type
    - pReader
    argTypes:
    - ETableType
    - SMetaReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2260
    functionDepth: 2
    functionLinenumber: 2260
    functionLinenumberEnd: 2320
    functionName: vtbRefCreateSchemaCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - vtbRefBuildColNameIndex
    - taosMemoryMalloc
    - memcpy
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: SVtbRefSchemaCache
    signature: SVtbRefSchemaCache * vtbRefCreateSchemaCache(ETableType type, SMetaReader*
      pReader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2327,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2332,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SVtbRefSchemaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2322
    functionDepth: 1
    functionLinenumber: 2322
    functionLinenumberEnd: 2334
    functionName: vtbRefFreeSchemaCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void vtbRefFreeSchemaCache(SVtbRefSchemaCache* pCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vtbRefFreeSchemaCache
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2340,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2337
    functionDepth: 2
    functionLinenumber: 2337
    functionLinenumberEnd: 2343
    functionName: vtbRefFreeTableCacheEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - vtbRefFreeSchemaCache
    linkageType: ''
    returnType: void
    signature: void vtbRefFreeTableCacheEntry(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2349,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pCache
    - colName
    argTypes:
    - SVtbRefSchemaCache*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2345
    functionDepth: 1
    functionLinenumber: 2345
    functionLinenumberEnd: 2350
    functionName: vtbRefCheckColumnInCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosHashGet
    linkageType: ''
    returnType: bool
    signature: bool vtbRefCheckColumnInCache(const SVtbRefSchemaCache* pCache, const
      char* colName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2360,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2370,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2372,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2376,1
    - Dst: vtbRefBuildColNameIndex
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2384,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2387,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - pMetaRsp
    - ppCache
    argTypes:
    - STableMetaRsp*
    - SVtbRefSchemaCache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2352
    functionDepth: 2
    functionLinenumber: 2352
    functionLinenumberEnd: 2394
    functionName: vtbRefCreateSchemaCacheFromMetaRsp
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - vtbRefBuildColNameIndex
    - taosMemoryMalloc
    - memcpy
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtbRefCreateSchemaCacheFromMetaRsp(STableMetaRsp* pMetaRsp,
      SVtbRefSchemaCache** ppCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - dbName
    - tableName
    argTypes:
    - char*
    - int32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2398
    functionName: vtbRefBuildRemoteCacheKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void vtbRefBuildRemoteCacheKey(char* buf, int32_t size, const char*
      dbName, const char* tableName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vtbRefBuildRemoteCacheKey
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2403,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2404,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pTableCache
    - dbName
    - tableName
    argTypes:
    - SHashObj*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2400
    functionDepth: 1
    functionLinenumber: 2400
    functionLinenumberEnd: 2405
    functionName: vtbRefGetRemoteCacheEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosHashGet
    - vtbRefBuildRemoteCacheKey
    linkageType: ''
    returnType: SVtbRefTableCacheEntry
    signature: "SVtbRefTableCacheEntry * vtbRefGetRemoteCacheEntry(SHashObj* pTableCache,
      const char* dbName,\n                                                         const
      char* tableName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vtbRefBuildRemoteCacheKey
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2410,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2411,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pTableCache
    - dbName
    - tableName
    - pEntry
    argTypes:
    - SHashObj*
    - char*
    - char*
    - SVtbRefTableCacheEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2407
    functionDepth: 1
    functionLinenumber: 2407
    functionLinenumberEnd: 2414
    functionName: vtbRefPutRemoteCacheEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosHashPut
    - vtbRefBuildRemoteCacheKey
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vtbRefPutRemoteCacheEntry(SHashObj* pTableCache, const char*
      dbName, const char* tableName,\n                                         SVtbRefTableCacheEntry*
      pEntry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcCvtErrCode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2424,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2428,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2430,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2433
    functionName: vtbRefValidateCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tsem_post
    - qError
    - rpcCvtErrCode
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtbRefValidateCallback(void* param, SDataBuf* pMsg, int32_t
      code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2446,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2447,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2450,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2452,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2453,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2454,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2456,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2459,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2462,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2463,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2472,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2476,1
    - Dst: tsem_timewait
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2480,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2481,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2485,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2489,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2490,1
    - Dst: tDeserializeSUseDbRsp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2492,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2494,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2495,1
    - Dst: queryBuildUseDbOutput
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2498,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2499,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2500,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2501,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2507,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2508,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2508,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2509,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2511,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2514,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 6
    argNames:
    - clientRpc
    - pEpSet
    - acctId
    - dbName
    - reqId
    - ppVgInfo
    argTypes:
    - void*
    - SEpSet*
    - int32_t
    - char*
    - uint64_t
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2436
    functionDepth: 1
    functionLinenumber: 2436
    functionLinenumberEnd: 2517
    functionName: vtbRefGetDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - snprintf
    - TAOS_UNUSED
    - tsem_destroy
    - asyncSendMsgToServer
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - freeVgInfo
    - tsem_init
    - QUERY_CHECK_NULL
    - tDeserializeSUseDbRsp
    - queryBuildUseDbOutput
    - tstrerror
    - tsem_timewait
    - taosMemoryMalloc
    - tSerializeSUseDbReq
    - taosMemoryFree
    - tFreeSUsedbRsp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vtbRefGetDbVgInfo(void* clientRpc, SEpSet* pEpSet, int32_t
      acctId, const char* dbName, uint64_t reqId,\n                                 SDBVgInfo**
      ppVgInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2525
    functionName: vtbRefVgInfoComp
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vtbRefVgInfoComp(const void* lp, const void* rp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2527
    functionDepth: 0
    functionLinenumber: 2527
    functionLinenumberEnd: 2533
    functionName: vtbRefHashValueComp
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vtbRefHashValueComp(const void* lp, const void* rp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2543,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2544,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2545,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2547,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2549,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2550,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2552,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2554,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2557,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2560,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2562,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2564,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2569,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2570,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2570,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2574,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2577,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2579,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2589,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2589,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - dbInfo
    - dbFName
    - tbName
    - pVgId
    - pEpSet
    argTypes:
    - SDBVgInfo*
    - char*
    - char*
    - int32_t*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2592
      start: 2536
    functionDepth: 1
    functionLinenumber: 2536
    functionLinenumberEnd: 2592
    functionName: vtbRefGetVgId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - taosGetTbHashVal
    - taosHashCancelIterate
    - taosArraySort
    - qError
    - taosHashGetSize
    - QUERY_CHECK_NULL
    - snprintf
    - taosArraySearch
    - taosArrayGetSize
    - taosArrayInit
    - QUERY_CHECK_CODE
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vtbRefGetVgId(SDBVgInfo* dbInfo, const char* dbFName, const
      char* tbName, int32_t* pVgId,\n                             SEpSet* pEpSet)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2602,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2603,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2609,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2610,1
    - Dst: tSerializeSTableInfoReq
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2612,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2613,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2614,1
    - Dst: tSerializeSTableInfoReq
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2616,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2619,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2622,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2623,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2632,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2636,1
    - Dst: tsem_timewait
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2640,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2641,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2645,1
    - Dst: tDeserializeSTableMetaRsp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2649,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2650,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2653,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2654,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2654,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2655,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2657,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 8
    argNames:
    - clientRpc
    - pVnodeEpSet
    - acctId
    - dbName
    - tbName
    - vgId
    - reqId
    - pMetaRsp
    argTypes:
    - void*
    - SEpSet*
    - int32_t
    - char*
    - char*
    - int32_t
    - uint64_t
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2660
    functionName: vtbRefFetchTableSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tSerializeSTableInfoReq
    - taosMemoryFreeClear
    - qError
    - tsem_init
    - QUERY_CHECK_NULL
    - asyncSendMsgToServer
    - tsem_destroy
    - snprintf
    - tstrncpy
    - taosMemoryFree
    - TAOS_UNUSED
    - QUERY_CHECK_CODE
    - tstrerror
    - tDeserializeSTableMetaRsp
    - taosMemoryCalloc
    - tsem_timewait
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vtbRefFetchTableSchema(void* clientRpc, SEpSet* pVnodeEpSet,
      int32_t acctId, const char* dbName,\n                                      const
      char* tbName, int32_t vgId, uint64_t reqId, STableMetaRsp* pMetaRsp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pSchemas
    - numOfCols
    - numOfTags
    - colName
    argTypes:
    - SSchema*
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2663
    functionDepth: 0
    functionLinenumber: 2663
    functionLinenumberEnd: 2671
    functionName: vtbRefColExistsInSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool vtbRefColExistsInSchema(SSchema* pSchemas, int32_t numOfCols,
      int32_t numOfTags, const char* colName)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2681,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2681,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2688,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2693,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2694,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2697,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2704,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2705,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2706,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2708,1
    - Dst: vtbRefCreateSchemaCache
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2712,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2714,1
    - Dst: vtbRefCreateSchemaCache
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2717,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2719,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2721,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2728,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2728,1
    - Dst: vtbRefFreeTableCacheEntry
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2730,1
    - Dst: vtbRefFreeTableCacheEntry
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2736,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2739,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2743,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2743,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 5
    argNames:
    - pInfo
    - pAPI
    - refTableName
    - pTableCache
    - ppEntry
    argTypes:
    - SSysTableScanInfo*
    - SStorageAPI*
    - char*
    - SHashObj*
    - SVtbRefTableCacheEntry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2675
    functionDepth: 3
    functionLinenumber: 2675
    functionLinenumberEnd: 2745
    functionName: vtbRefGetTableSchemaLocal
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - vtbRefCreateSchemaCache
    - SStorageAPI*::metaReaderFn::getTableEntryByName
    - SStorageAPI*::metaReaderFn::initReader
    - taosHashGet
    - vtbRefFreeTableCacheEntry
    - taosMemoryFree
    - SStorageAPI*::metaReaderFn::clearReader
    - strlen
    - taosHashPut
    - taosMemoryCalloc
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vtbRefGetTableSchemaLocal(const SSysTableScanInfo* pInfo,
      SStorageAPI* pAPI, const char* refTableName,\n                                         SHashObj*
      pTableCache, SVtbRefTableCacheEntry** ppEntry)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2753,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2754,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2758,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2771,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2773,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2774,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2776,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2786,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2794,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2801,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2808,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 5
    argNames:
    - pInfo
    - pAPI
    - refTableName
    - refColName
    - pErrCode
    argTypes:
    - SSysTableScanInfo*
    - SStorageAPI*
    - char*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2748
    functionDepth: 0
    functionLinenumber: 2748
    functionLinenumberEnd: 2811
    functionName: vtbRefValidateLocal
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaReaderFn::getTableEntryByName
    - SStorageAPI*::metaReaderFn::initReader
    - SStorageAPI*::metaReaderFn::clearReader
    - strcmp
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vtbRefValidateLocal(const SSysTableScanInfo* pInfo, SStorageAPI*
      pAPI, const char* refTableName,\n                                   const char*
      refColName, int32_t* pErrCode)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2824,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2824,1
    - Dst: vtbRefGetDbVgInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2828,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2835,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2835,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2839,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2846,1
    - Dst: vtbRefGetVgId
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2848,1
    - Dst: vtbRefFetchTableSchema
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2864,1
    - Dst: vtbRefColExistsInSchema
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2873,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2877,1
    - Dst: vtbRefCreateSchemaCacheFromMetaRsp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2879,1
    - Dst: vtbRefPutRemoteCacheEntry
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2882,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2884,1
    - Dst: vtbRefFreeTableCacheEntry
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2886,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2889,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2896,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2899,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2899,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 11
    argNames:
    - clientRpc
    - pMnodeEpSet
    - acctId
    - refDbName
    - refTableName
    - refColName
    - reqId
    - pDbVgInfoCache
    - pTableCache
    - localVgId
    - pErrCode
    argTypes:
    - void*
    - SEpSet*
    - int32_t
    - char*
    - char*
    - char*
    - uint64_t
    - SHashObj*
    - SHashObj*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2813
    functionDepth: 3
    functionLinenumber: 2813
    functionLinenumberEnd: 2902
    functionName: vtbRefValidateRemote
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - vtbRefGetDbVgInfo
    - tFreeSTableMetaRsp
    - vtbRefFetchTableSchema
    - qError
    - taosHashGet
    - vtbRefCreateSchemaCacheFromMetaRsp
    - snprintf
    - vtbRefFreeTableCacheEntry
    - taosMemoryFree
    - vtbRefPutRemoteCacheEntry
    - QUERY_CHECK_CODE
    - tstrerror
    - strlen
    - vtbRefGetVgId
    - taosHashPut
    - taosMemoryCalloc
    - vtbRefColExistsInSchema
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vtbRefValidateRemote(void* clientRpc, SEpSet* pMnodeEpSet,
      int32_t acctId, const char* refDbName,\n                                    const
      char* refTableName, const char* refColName, uint64_t reqId,\n                                    SHashObj*
      pDbVgInfoCache, SHashObj* pTableCache, int32_t localVgId,\n                                    int32_t*
      pErrCode)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2915,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2917,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2917,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2922,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2922,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2924,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2932,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2934,1
    - Dst: vtbRefGetTableSchemaLocal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2944,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2945,1
    - Dst: vtbRefCheckColumnInCache
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2948,1
    - Dst: vtbRefGetRemoteCacheEntry
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2952,1
    - Dst: vtbRefCheckColumnInCache
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2954,1
    - Dst: vtbRefValidateRemote
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2960,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2963,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2974,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2976,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2981,1
    - Dst: vtbRefFreeSchemaCache
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2984,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2985,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2987,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2990,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2994,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2996,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2998,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3002,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3002,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 5
    argNames:
    - pInfo
    - pTaskInfo
    - pSchema
    - pColRef
    - pResult
    argTypes:
    - SSysTableScanInfo*
    - SExecTaskInfo*
    - SSchemaWrapper*
    - SColRefWrapper*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2904
    functionDepth: 4
    functionLinenumber: 2904
    functionLinenumberEnd: 3005
    functionName: validateSrcTableColRef
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - freeVgInfo
    - vtbRefCheckColumnInCache
    - qError
    - vtbRefGetTableSchemaLocal
    - SStorageAPI*::metaFn::getBasicInfo
    - vtbRefGetRemoteCacheEntry
    - taosHashInit
    - taosHashCleanup
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - tstrerror
    - vtbRefValidateRemote
    - vtbRefFreeSchemaCache
    linkageType: ''
    returnType: int32_t
    signature: "int32_t validateSrcTableColRef(const SSysTableScanInfo* pInfo, SExecTaskInfo*
      pTaskInfo, SSchemaWrapper* pSchema,\n                                      SColRefWrapper*
      pColRef, SArray* pResult)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3013,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3013,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3014,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - code
    - errMsg
    - cap
    argTypes:
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3019
      start: 3007
    functionDepth: 1
    functionLinenumber: 3007
    functionLinenumberEnd: 3019
    functionName: getErrMsgFromCode
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - snprintf
    - STR_TO_VARSTR
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getErrMsgFromCode(int32_t code, char* errMsg, int32_t cap)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3028,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3035,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3037,1
    - Dst: validateSrcTableColRef
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3041,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3042,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3047,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3049,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3061,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3062,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3063,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3064,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3067,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3068,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3069,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3070,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3073,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3074,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3075,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3076,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3080,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3082,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3083,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3084,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3085,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3090,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3092,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3095,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3096,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3097,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3098,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3103,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3105,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3108,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3109,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3110,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3111,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3116,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3118,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3121,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3122,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3123,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3124,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3128,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3129,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3130,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3131,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3134,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3136,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3137,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3138,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3139,1
    - Dst: getErrMsgFromCode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3144,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3145,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3147,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3148,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3149,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3150,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3156,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3156,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3158,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 88
    argCount: 8
    argNames:
    - pInfo
    - pTaskInfo
    - dbname
    - pNumOfRows
    - dataBlock
    - schemaRow
    - pColRef
    - pRef
    argTypes:
    - SSysTableScanInfo*
    - SExecTaskInfo*
    - char*
    - int32_t*
    - SSDataBlock*
    - SSchemaWrapper*
    - SColRefWrapper*
    - SVirtualTableRefInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3160
      start: 3021
    functionDepth: 5
    functionLinenumber: 3021
    functionLinenumberEnd: 3160
    functionName: sysTableFillOneVirtualTableRefImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - validateSrcTableColRef
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - STR_TO_VARSTR
    - colDataSetVal
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - taosArrayDestroy
    - getErrMsgFromCode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sysTableFillOneVirtualTableRefImpl(const SSysTableScanInfo*
      pInfo, SExecTaskInfo* pTaskInfo,\n                                                  const
      char* dbname, int32_t* pNumOfRows, const SSDataBlock* dataBlock,\n                                                  SSchemaWrapper*
      schemaRow, SColRefWrapper* pColRef,\n                                                  SVirtualTableRefInfo*
      pRef)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3279,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3283,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3290,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3298,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3299,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3301,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3301,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - tableName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3276
    functionDepth: 1
    functionLinenumber: 3276
    functionLinenumberEnd: 3310
    functionName: buildInfoSchemaTableMetaBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 4
    functionsReached:
    - qError
    - createColumnInfoData
    - getInfosDbMeta
    - createDataBlock
    - tstrerror
    - blockDataAppendColInfo
    - blockDataDestroy
    - strcmp
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * buildInfoSchemaTableMetaBlock(char* tableName)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3344,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3348,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3349,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3351,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3352,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3353,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3356,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3357,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3358,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3359,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3360,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3363,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3364,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3365,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3368,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3369,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3370,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3371,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3374,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3375,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3376,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3379,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3381,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3382,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3383,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3384,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3393,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3393,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 6
    argNames:
    - pInfo
    - p
    - pSysDbTableMeta
    - size
    - dbName
    - pRows
    argTypes:
    - SSysTableScanInfo*
    - SSDataBlock*
    - SSysTableMeta*
    - size_t
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3312
    functionDepth: 1
    functionLinenumber: 3312
    functionLinenumberEnd: 3396
    functionName: buildDbTableInfoBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - STR_TO_VARSTR
    - colDataSetVal
    - QUERY_CHECK_CODE
    - tstrerror
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildDbTableInfoBlock(const SSysTableScanInfo* pInfo, const
      SSDataBlock* p,\n                              const SSysTableMeta* pSysDbTableMeta,
      size_t size, const char* dbName, int64_t* pRows)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3401,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3402,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3404,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3405,1
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3410,1
    - Dst: buildDbTableInfoBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3411,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3412,1
    - Dst: getPerfDbMeta
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3413,1
    - Dst: buildDbTableInfoBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3414,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3415,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3418,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3419,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3421,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3426,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3427,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - pInfo
    - capacity
    argTypes:
    - SSysTableScanInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3430
      start: 3398
    functionDepth: 2
    functionLinenumber: 3398
    functionLinenumberEnd: 3430
    functionName: buildSysDbTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - blockDataEnsureCapacity
    - qError
    - QUERY_CHECK_NULL
    - getInfosDbMeta
    - QUERY_CHECK_CODE
    - tstrerror
    - buildInfoSchemaTableMetaBlock
    - getPerfDbMeta
    - buildDbTableInfoBlock
    - blockDataDestroy
    - relocateColumnData
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildSysDbTableInfo(const SSysTableScanInfo* pInfo, int32_t
      capacity)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SStoreMetaReader*::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3437,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3439,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3439,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3443,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3446,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3447,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3449,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3450,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3453,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3454,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3455,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3456,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3459,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3460,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3461,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3462,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3468,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3469,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3470,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3471,1
    - Dst: SStoreMetaReader*::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3474,1
    - Dst: SStoreMetaReader*::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3477,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3479,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3480,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3481,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3482,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3485,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3487,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3488,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3491,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3493,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3494,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3498,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3499,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3501,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3502,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3505,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3506,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3507,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3510,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3511,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3514,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3515,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3516,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3519,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3520,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3521,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3523,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3527,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3528,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3529,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3530,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3533,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3534,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3535,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3536,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3538,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3542,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3543,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3544,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3545,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3548,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3549,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3551,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3552,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3555,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3556,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3557,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3560,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3561,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3564,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3565,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3566,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3569,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3570,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3571,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3573,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3577,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3578,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3579,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3580,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3583,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3584,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3585,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3586,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3588,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3591,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3592,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3593,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3594,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3597,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3598,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3600,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3601,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3604,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3605,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3606,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3609,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3610,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3611,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3614,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3615,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3616,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3617,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3620,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3621,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3622,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3624,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3628,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3629,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3630,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3631,1
    - Dst: SStoreMetaReader*::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3634,1
    - Dst: SStoreMetaReader*::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3637,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3639,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3640,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3641,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3642,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3645,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3647,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3648,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3651,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3653,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3654,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3658,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3659,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3661,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3662,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3665,1
    - Dst: SStoreMetaReader*::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3666,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3667,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3670,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3671,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3672,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3675,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3676,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3677,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3678,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3681,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3682,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3683,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3688,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3689,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3690,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3691,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3694,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 183
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3696
      start: 3432
    functionDepth: 1
    functionLinenumber: 3432
    functionLinenumberEnd: 3696
    functionName: doSetUserTableMetaInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosArrayGet
    - SStoreMetaReader*::initReader
    - qError
    - SStoreMetaReader*::getTableEntryByUid
    - STR_TO_VARSTR
    - QUERY_CHECK_NULL
    - colDataSetVal
    - QUERY_CHECK_CODE
    - tstrerror
    - SStoreMetaReader*::clearReader
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doSetUserTableMetaInfo(SStoreMetaReader* pMetaReaderFn, SStoreMeta*
      pMetaFn, void* pVnode,\n                                      SMetaReader* pMReader,
      int64_t uid, const char* dbname, int32_t vgId,\n                                      SSDataBlock*
      p, int32_t rowIndex, const char* idStr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3706,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3713,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3717,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3718,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3720,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3720,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3721,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3723,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3723,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3723,1
    - Dst: buildInfoSchemaTableMetaBlock
      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: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3728,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:3732,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3733,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3734,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3737,1
    - Dst: doSetUserTableMetaInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3739,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3740,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3742,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3743,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3745,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3746,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3752,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3753,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3755,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3756,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3758,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3771,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3772,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3774,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3775,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3777,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3781,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3782,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3787,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3794,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3794,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3795,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3797,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 60
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3698
    functionDepth: 5
    functionLinenumber: 3698
    functionLinenumberEnd: 3800
    functionName: sysTableBuildUserTablesByUids
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    - taosArrayGet
    - blockDataCleanup
    - doSetUserTableMetaInfo
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - buildInfoSchemaTableMetaBlock
    - varDataVal
    - T_LONG_JMP
    - GET_TASKID
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - SStorageAPI*::metaReaderFn::clearReader
    - varDataSetLen
    - relocateColumnData
    - tNameGetDbName
    - tNameFromString
    - blockDataEnsureCapacity
    - doFilter
    - tstrerror
    - strlen
    - blockDataDestroy
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableBuildUserTablesByUids(SOperatorInfo* pOperator)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3812,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3813,1
    - Dst: SStorageAPI*::metaFn::resumeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3817,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3819,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3821,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3825,1
    - Dst: SStorageAPI*::metaFn::getSecurityLevel
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3830,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3831,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3835,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3836,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3838,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3838,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3839,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3841,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3841,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3841,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3843,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3844,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3846,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3847,1
    - Dst: SStorageAPI*::metaFn::cursorNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3852,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3853,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3856,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3857,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3858,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3859,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3862,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3863,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3864,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3865,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3868,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3869,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3870,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3871,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3877,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3878,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3879,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3880,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3883,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3886,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3888,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3889,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3889,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3890,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3891,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3893,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3894,1
    - Dst: isTsmaResSTb
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3897,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3898,1
    - Dst: sysTableMacVisible
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3902,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3903,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3908,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3909,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3910,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3911,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3914,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3915,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3916,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3917,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3918,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3919,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3922,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3923,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3926,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3927,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3928,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3931,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3932,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3933,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3935,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3939,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3940,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3941,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3942,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3945,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3946,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3947,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3948,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3950,1
    - Dst: sysTableMacVisible
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3953,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3958,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3959,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3960,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3961,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3964,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3965,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3966,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3967,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3970,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3971,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3972,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3975,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3976,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3979,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3980,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3981,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3984,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3985,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3986,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3988,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3992,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3993,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3994,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3995,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3998,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3999,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4000,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4001,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4003,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4006,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4007,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4008,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4009,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4012,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4013,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4014,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4015,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4018,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4019,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4020,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4023,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4024,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4025,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4028,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4029,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4030,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4031,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4034,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4035,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4036,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4038,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4042,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4043,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4044,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4045,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4048,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4051,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4053,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4054,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4054,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4055,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4056,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4058,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4059,1
    - Dst: isTsmaResSTb
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4062,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4063,1
    - Dst: sysTableMacVisible
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4067,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4068,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4073,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4074,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4075,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4076,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4079,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4080,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4081,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4082,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4083,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4084,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4087,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4088,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4089,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4092,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4093,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4094,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4095,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4098,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4099,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4100,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4102,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4105,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4106,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4107,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4108,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4114,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4115,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4117,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4118,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4120,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4124,1
    - Dst: SStorageAPI*::metaFn::pauseTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4131,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4135,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4136,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4138,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4139,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4141,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4145,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4150,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4152,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4159,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4160,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4162,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4164,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 252
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4167
      start: 3802
    functionDepth: 5
    functionLinenumber: 3802
    functionLinenumberEnd: 4167
    functionName: sysTableBuildUserTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    - sysTableMacVisible
    - isTsmaResSTb
    - SStorageAPI*::metaFn::openTableMetaCursor
    - taosArrayGet
    - blockDataCleanup
    - STR_TO_VARSTR
    - QUERY_CHECK_CODE
    - buildInfoSchemaTableMetaBlock
    - varDataVal
    - T_LONG_JMP
    - GET_TASKID
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - colDataSetVal
    - SStorageAPI*::metaReaderFn::clearReader
    - SStorageAPI*::metaFn::pauseTableMetaCursor
    - varDataSetLen
    - tNameGetDbName
    - SStorageAPI*::metaFn::cursorNext
    - relocateColumnData
    - colDataSetNULL
    - tNameFromString
    - SStorageAPI*::metaFn::getSecurityLevel
    - blockDataEnsureCapacity
    - SStorageAPI*::metaFn::resumeTableMetaCursor
    - doFilter
    - tstrerror
    - strlen
    - blockDataDestroy
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableBuildUserTables(SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4177,1
    - Dst: SStorageAPI*::metaFn::getDBSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4181,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4182,1
    - Dst: vnodeEstimateRawDataSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4184,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - pOperator
    - pStaticsInfo
    argTypes:
    - SOperatorInfo*
    - SDbSizeStatisInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4199
      start: 4169
    functionDepth: 1
    functionLinenumber: 4169
    functionLinenumberEnd: 4199
    functionName: buildVgDiskUsage
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - vnodeEstimateRawDataSize
    - SStorageAPI*::metaFn::getDBSize
    - SStorageAPI*::metaFn::getBasicInfo
    - QUERY_CHECK_CODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildVgDiskUsage(SOperatorInfo* pOperator, SDbSizeStatisInfo*
      pStaticsInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4210,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4213,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4224,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4225,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4232
      start: 4201
    functionDepth: 1
    functionLinenumber: 4201
    functionLinenumberEnd: 4232
    functionName: shouldEstimateRawDataSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - createColumnInfoData
    - getInfosDbMeta
    - taosArrayGetSize
    - strcmp
    linkageType: ''
    returnType: int8_t
    signature: int8_t shouldEstimateRawDataSize(SOperatorInfo* pOperator)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4250,1
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4254,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4257,1
    - Dst: shouldEstimateRawDataSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4264,1
    - Dst: buildVgDiskUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4267,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4268,1
    - Dst: tSerializeBlockDbUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4273,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4279,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4280,1
    - Dst: tSerializeBlockDbUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4282,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4284,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4287,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4290,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4291,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4292,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4293,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4294,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4296,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4297,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4303,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4307,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4308,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4310,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4310,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4311,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4313,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4313,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4313,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4315,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4316,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4318,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4319,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4321,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4322,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4323,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4325,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4326,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4327,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4329,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4330,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4331,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4333,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4334,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4335,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4337,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4338,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4339,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4341,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4342,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4343,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4345,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4346,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4347,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4349,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4350,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4351,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4353,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4354,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4355,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4357,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4358,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4359,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4367,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4369,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4370,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4373,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4377,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4380,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4382,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4386,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4386,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4387,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4389,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 105
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4392
      start: 4233
    functionDepth: 5
    functionLinenumber: 4233
    functionLinenumberEnd: 4392
    functionName: sysTableBuildVgUsage
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - taosMemoryFreeClear
    - qError
    - SStorageAPI*::metaFn::openTableMetaCursor
    - taosArrayGet
    - buildVgDiskUsage
    - QUERY_CHECK_CODE
    - buildInfoSchemaTableMetaBlock
    - varDataVal
    - taosMemoryCalloc
    - T_LONG_JMP
    - tSerializeBlockDbUsage
    - shouldEstimateRawDataSize
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - colDataSetVal
    - varDataSetLen
    - relocateColumnData
    - tNameGetDbName
    - tNameFromString
    - blockDataEnsureCapacity
    - doFilter
    - taosMemoryFree
    - tstrerror
    - strlen
    - blockDataDestroy
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableBuildVgUsage(SOperatorInfo* pOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: buildSysDbTableInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4407,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4408,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4410,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4411,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4414,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4422,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4423,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4425,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4426,1
    - Dst: optSysTabFilte
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4431,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4434,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4437,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4437,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4440,1
    - Dst: sysTableBuildUserTables
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4445,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4450,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4450,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4452,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4455
      start: 4394
    functionDepth: 6
    functionLinenumber: 4394
    functionLinenumberEnd: 4455
    functionName: sysTableScanUserTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - T_LONG_JMP
    - optSysTabFilte
    - qError
    - GET_TASKID
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - doFilter
    - buildSysDbTableInfo
    - sysTableBuildUserTablesByUids
    - qDebug
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - sysTableBuildUserTables
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanUserTables(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysTableBuildVgUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4466,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4470,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4470,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4475
      start: 4456
    functionDepth: 6
    functionLinenumber: 4456
    functionLinenumberEnd: 4475
    functionName: sysTableScanUsage
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysTableBuildVgUsage
    - qError
    - T_LONG_JMP
    - tstrerror
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanUsage(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4489
      start: 4477
    functionDepth: 0
    functionLinenumber: 4477
    functionLinenumberEnd: 4489
    functionName: sysTableScanUserSTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanUserSTables(SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4499
      start: 4491
    functionDepth: 0
    functionLinenumber: 4491
    functionLinenumberEnd: 4499
    functionName: doSetQueryFileSetRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetQueryFileSetRow()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::tsdReader::fileSetReaderOpen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4511,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4512,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4515,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4520,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4524,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4525,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4527,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4527,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4528,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4530,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4530,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4530,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4532,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4533,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4535,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4536,1
    - Dst: SStorageAPI*::tsdReader::fileSetReadNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4543,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4547,1
    - Dst: SStorageAPI*::tsdReader::fileSetReaderClose
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4548,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4552,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4562,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4563,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4564,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4565,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4568,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4569,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4570,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4571,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4575,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4576,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4577,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4578,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4579,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4580,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4584,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4585,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4586,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4587,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4588,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4589,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4593,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4594,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4595,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4596,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4597,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4598,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4602,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4603,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4604,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4605,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4606,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4607,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4611,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4612,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4613,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4614,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4615,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4616,1
    - Dst: SStorageAPI*::tsdReader::fileSetGetEntryField
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4620,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4621,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4622,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4623,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4624,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4625,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4642,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4643,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4645,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4646,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4648,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4661,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4662,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4664,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4665,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4667,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4671,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4678,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4678,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4679,1
    - Dst: SStorageAPI*::tsdReader::fileSetReaderClose
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4681,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 109
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4685
      start: 4501
    functionDepth: 5
    functionLinenumber: 4501
    functionLinenumberEnd: 4685
    functionName: sysTableBuildUserFileSets
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    - SStorageAPI*::tsdReader::fileSetReadNext
    - taosArrayGet
    - blockDataCleanup
    - QUERY_CHECK_CODE
    - buildInfoSchemaTableMetaBlock
    - SStorageAPI*::tsdReader::fileSetGetEntryField
    - varDataVal
    - T_LONG_JMP
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - SStorageAPI*::tsdReader::fileSetReaderOpen
    - colDataSetVal
    - varDataSetLen
    - relocateColumnData
    - tNameGetDbName
    - tNameFromString
    - blockDataEnsureCapacity
    - doFilter
    - tstrerror
    - strlen
    - blockDataDestroy
    - SStorageAPI*::tsdReader::fileSetReaderClose
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableBuildUserFileSets(SOperatorInfo* pOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4700,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4700,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4709,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4710,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4712,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4713,1
    - Dst: optSysTabFilte
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4718,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4721,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4724,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4724,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4727,1
    - Dst: sysTableBuildUserFileSets
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4733,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4738,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4738,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4740,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4743
      start: 4687
    functionDepth: 6
    functionLinenumber: 4687
    functionLinenumberEnd: 4743
    functionName: sysTableScanUserFileSets
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - T_LONG_JMP
    - qTrace
    - optSysTabFilte
    - qError
    - GET_TASKID
    - QUERY_CHECK_NULL
    - qDebug
    - sysTableBuildUserFileSets
    - sysTableBuildUserTablesByUids
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * sysTableScanUserFileSets(SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4750
      start: 4745
    functionDepth: 0
    functionLinenumber: 4745
    functionLinenumberEnd: 4750
    functionName: getSysTableDbNameColId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSysTableDbNameColId(const char* pTable)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4754,1
    - Dst: getSysTableDbNameColId
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4773,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4787,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4788,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4788,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4795
      start: 4752
    functionDepth: 1
    functionLinenumber: 4752
    functionLinenumberEnd: 4795
    functionName: getDBNameFromConditionWalker
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - getSysTableDbNameColId
    - nodeType
    - nodesGetValueFromNode
    - tstrncpy
    - varDataVal
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes getDBNameFromConditionWalker(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCondition
    - dbName
    argTypes:
    - SNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4802
      start: 4797
    functionDepth: 3
    functionLinenumber: 4797
    functionLinenumberEnd: 4802
    functionName: getDBNameFromCondition
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: void
    signature: void getDBNameFromCondition(SNode* pCondition, const char* dbName)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4811,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4812,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4817,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4819,1
    - Dst: getDBNameFromCondition
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4821,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4822,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4823,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4824,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4825,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4826,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4827,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4828,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4828,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4830,1
    - Dst: getDBNameFromCondition
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4831,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4832,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4832,1
    - Dst: sysTableIsCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4833,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4837,1
    - Dst: sysTableScanUserTables
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4838,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4839,1
    - Dst: sysTableScanUserTags
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4840,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4841,1
    - Dst: sysTableScanUserCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4842,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4843,1
    - Dst: sysTableScanUserVcCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4844,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4845,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4846,1
    - Dst: sysTableScanUserSTables
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4847,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4848,1
    - Dst: sysTableScanUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4849,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4850,1
    - Dst: sysTableScanUserFileSets
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4851,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4852,1
    - Dst: sysTableScanVirtualTableRef
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4853,1
    - Dst: sysTableScanFromMNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4855,1
    - Dst: sysTableScanFillTbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4860,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4862,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4864,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4878,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4878,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4879,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4882
      start: 4804
    functionDepth: 7
    functionLinenumber: 4804
    functionLinenumberEnd: 4882
    functionName: doSysTableScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - sysTableScanUserVcCols
    - qError
    - snprintf
    - TAOS_UNUSED
    - sysTableIsCondOnOneTable
    - getDBNameFromCondition
    - blockDataCleanup
    - strncasecmp
    - sysTableScanUserTables
    - applyLimitOffset
    - sysTableScanFromMNode
    - T_LONG_JMP
    - sysTableScanFillTbName
    - setOperatorCompleted
    - sysTableScanUsage
    - sysTableScanUserCols
    - isTaskKilled
    - sysTableScanVirtualTableRef
    - IS_SYS_DBNAME
    - sysTableScanUserSTables
    - tNameGetTableName
    - tstrerror
    - sysTableScanUserFileSets
    - sysTableScanUserTags
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSysTableScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4894,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4895,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4897,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4899,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4900,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4903,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4904,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4908,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4908,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - name
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSysTableScanInfo*
    - char*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4912
      start: 4884
    functionDepth: 5
    functionLinenumber: 4884
    functionLinenumberEnd: 4912
    functionName: sysTableScanFillTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - T_LONG_JMP
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - STR_TO_VARSTR
    - colDataSetNItems
    - doFilter
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: void
    signature: "void sysTableScanFillTbName(SOperatorInfo* pOperator, const SSysTableScanInfo*
      pInfo, const char* name,\n                                   SSDataBlock* pBlock)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4923,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4924,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4924,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4924,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4925,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4925,1
    - Dst: tSerializeSRetrieveTableReq
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4927,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4928,1
    - Dst: tSerializeSRetrieveTableReq
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4932,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4935,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4940,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4942,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4942,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4944,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4948,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4953,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4956,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4957,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4958,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4973,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4975,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4975,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4977,1
    - Dst: qSemWait
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4982,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4984,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4984,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4986,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4990,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4990,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:4991,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5001,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5001,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5005,1
    - Dst: extractDataBlockFromFetchRsp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5011,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5013,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5013,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5015,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5016,1
    - Dst: updateLoadRemoteInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5018,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5020,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5022,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5022,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5024,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5025,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5027,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 85
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - name
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SSysTableScanInfo*
    - char*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5034
      start: 4914
    functionDepth: 5
    functionLinenumber: 4914
    functionLinenumberEnd: 5034
    functionName: sysTableScanFromMNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - taosGetTimestampUs
    - qError
    - strcasecmp
    - updateLoadRemoteInfo
    - qSemWait
    - extractDataBlockFromFetchRsp
    - asyncSendMsgToServer
    - taosMemoryCalloc
    - T_LONG_JMP
    - tSerializeSRetrieveTableReq
    - tListLen
    - GET_TASKID
    - qDebug
    - tstrncpy
    - tNameGetTableName
    - doFilter
    - taosMemoryFree
    - tstrerror
    linkageType: ''
    returnType: SSDataBlock
    signature: "SSDataBlock * sysTableScanFromMNode(SOperatorInfo* pOperator, SSysTableScanInfo*
      pInfo, const char* name,\n                                          SExecTaskInfo*
      pTaskInfo)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5041,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5044,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5045,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5046,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5047,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5048,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5049,1
    - Dst: SSysTableScanInfo*::pAPI::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5052,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5058,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5061,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5066,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5067,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5070,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5070,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5074,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5078,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5084,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5085,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5090,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5095,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5101
      start: 5036
    functionDepth: 9
    functionLinenumber: 5036
    functionLinenumberEnd: 5101
    functionName: resetSysTableScanOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - tableListCreate
    - qError
    - SSysTableScanInfo*::pAPI::metaFn::closeTableMetaCursor
    - createScanTableListInfo
    - tNameGetTableName
    - taosMemoryFree
    - blockDataEmpty
    - taosHashCleanup
    - tstrerror
    - initLimitInfo
    - taosArrayDestroy
    - tableListDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetSysTableScanOperState(SOperatorInfo* pOper)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5106,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5110,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5111,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5117,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5122,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5125,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5126,1
    - Dst: extractTbnameSlotId
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5128,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5133,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5134,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5138,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5139,1
    - Dst: tNameAssign
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5143,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5144,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5146,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5149,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5151,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5153,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5157,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5159,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5161,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5162,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5163,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5165,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5166,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5167,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5170,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5179,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5180,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5182,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5182,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5182,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5191,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5193,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5194,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5196,1
    - Dst: destroySysScanOperator
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5203,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5206,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5206,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5210,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 80
    argCount: 6
    argNames:
    - readHandle
    - pScanPhyNode
    - pTableListInfo
    - pUser
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - void*
    - SSystemTableScanPhysiNode*
    - STableListInfo*
    - char*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5214
      start: 5103
    functionDepth: 16
    functionLinenumber: 5103
    functionLinenumberEnd: 5214
    functionName: createSysTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 2
    functionsReached:
    - taosThreadOnce
    - taosAddRef
    - qError
    - createOperatorFpSet
    - setOperatorResetStateFn
    - extractColMatchInfo
    - filterInitFromNode
    - QRY_PARAM_CHECK
    - strncasecmp
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - destroySysScanOperator
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - GET_TASKID
    - QUERY_CHECK_NULL
    - tsem_init
    - tNameAssign
    - destroyOperator
    - taosStrdup
    - extractTbnameSlotId
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - tNameGetTableName
    - tstrerror
    - initLimitInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSysTableScanOperatorInfo(void* readHandle, SSystemTableScanPhysiNode*
      pScanPhyNode,\n                                       STableListInfo* pTableListInfo,
      const char* pUser, SExecTaskInfo* pTaskInfo,\n                                       SOperatorInfo**
      pOptrInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5220,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5222,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pInfo
    - pScanNode
    argTypes:
    - SSysTableScanInfo*
    - SScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5234
      start: 5216
    functionDepth: 1
    functionLinenumber: 5216
    functionLinenumberEnd: 5234
    functionName: extractTbnameSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void extractTbnameSlotId(SSysTableScanInfo* pInfo, const SScanPhysiNode*
      pScanNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5244,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5246,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5246,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5248,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5251,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5252,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5253,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5254,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5255,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5256,1
    - Dst: SSysTableScanInfo*::pAPI::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5259,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5265,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5269,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5270,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5275,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5279,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5282,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5284,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5285,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5287,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5288
      start: 5242
    functionDepth: 2
    functionLinenumber: 5242
    functionLinenumberEnd: 5288
    functionName: doDestroySysTableScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - strncasecmp
    - qError
    - SSysTableScanInfo*::pAPI::metaFn::closeTableMetaCursor
    - tsem_destroy
    - tNameGetTableName
    - taosMemoryFree
    - taosHashCleanup
    - tstrerror
    - taosArrayDestroy
    - blockDataDestroy
    - tableListDestroy
    linkageType: ''
    returnType: void
    signature: void doDestroySysTableScanInfo(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5300,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5302,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5302,1
    - Dst: doDestroySysTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5308
      start: 5294
    functionDepth: 3
    functionLinenumber: 5294
    functionLinenumberEnd: 5308
    functionName: destroySysScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - taosRemoveRef
    - qError
    - doDestroySysTableScanInfo
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void destroySysScanOperator(void* param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5315,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5318,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5319,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5327,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5328,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5329,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5330,1
    - Dst: rpcCvtErrCode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5332,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5334,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5336,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5336,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5339,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5341,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5351,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5353,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5353,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5356,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5358,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5361
      start: 5310
    functionDepth: 1
    functionLinenumber: 5310
    functionLinenumberEnd: 5361
    functionName: loadSysTableCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - htonl
    - htobe64
    - tsem_post
    - taosReleaseRef
    - taosAcquireRef
    - qError
    - taosMemoryFree
    - rpcCvtErrCode
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t loadSysTableCallback(void* param, SDataBuf* pMsg, int32_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5372
      start: 5363
    functionDepth: 0
    functionLinenumber: 5363
    functionLinenumberEnd: 5372
    functionName: sysChkFilter__Comm
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysChkFilter__Comm(SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5387
      start: 5374
    functionDepth: 0
    functionLinenumber: 5374
    functionLinenumberEnd: 5387
    functionName: sysChkFilter__DBName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysChkFilter__DBName(SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5391,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5395
      start: 5388
    functionDepth: 1
    functionLinenumber: 5388
    functionLinenumberEnd: 5395
    functionName: sysChkFilter__VgroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - IS_INTEGER_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysChkFilter__VgroupId(SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5399,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5403
      start: 5396
    functionDepth: 1
    functionLinenumber: 5396
    functionLinenumberEnd: 5403
    functionName: sysChkFilter__TableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysChkFilter__TableName(SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5408,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5412
      start: 5404
    functionDepth: 1
    functionLinenumber: 5404
    functionLinenumberEnd: 5412
    functionName: sysChkFilter__CreateTime
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - IS_TIMESTAMP_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysChkFilter__CreateTime(SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5418,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5422
      start: 5414
    functionDepth: 1
    functionLinenumber: 5414
    functionLinenumberEnd: 5422
    functionName: sysChkFilter__Ncolumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - IS_INTEGER_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysChkFilter__Ncolumn(SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5427,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5431
      start: 5423
    functionDepth: 1
    functionLinenumber: 5423
    functionLinenumberEnd: 5431
    functionName: sysChkFilter__Ttl
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - IS_INTEGER_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysChkFilter__Ttl(SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5435,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5439
      start: 5432
    functionDepth: 1
    functionLinenumber: 5432
    functionLinenumberEnd: 5439
    functionName: sysChkFilter__STableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysChkFilter__STableName(SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5443,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5447
      start: 5440
    functionDepth: 1
    functionLinenumber: 5440
    functionLinenumberEnd: 5447
    functionName: sysChkFilter__Uid
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - IS_INTEGER_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysChkFilter__Uid(SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5451,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5455
      start: 5448
    functionDepth: 1
    functionLinenumber: 5448
    functionLinenumberEnd: 5455
    functionName: sysChkFilter__Type
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - IS_INTEGER_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: int32_t sysChkFilter__Type(SNode* pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: optSysCheckOper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5457,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5463,1
    - Dst: chkFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5469,1
    - Dst: fltFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5471,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - arg
    - cond
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5472
      start: 5456
    functionDepth: 1
    functionLinenumber: 5456
    functionLinenumberEnd: 5472
    functionName: optSysTabFilteImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - fltFunc
    - optSysCheckOper
    - chkFunc
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t optSysTabFilteImpl(void* arg, SNode* cond, SArray* result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5475,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5482,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pOpear
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5486
      start: 5474
    functionDepth: 1
    functionLinenumber: 5474
    functionLinenumberEnd: 5486
    functionName: optSysCheckOper
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t optSysCheckOper(SNode* pOpear)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - arr
    - s
    - e
    - k
    argTypes:
    - SArray*
    - int
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5501
      start: 5488
    functionDepth: 1
    functionLinenumber: 5488
    functionLinenumberEnd: 5501
    functionName: optSysBinarySearch
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE optSysBinarySearch(SArray* arr, int s, int e, uint64_t
      k)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5507,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5511,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5512,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5514,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5515,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5519,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5520,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5521,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5523,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5524,1
    - Dst: optSysBinarySearch
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5525,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5527,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5535,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5544,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5546,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5546,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5549
      start: 5503
    functionDepth: 2
    functionLinenumber: 5503
    functionLinenumberEnd: 5549
    functionName: optSysIntersection
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - optSysBinarySearch
    - taosArrayGetSize
    - tstrerror
    - taosMemoryCalloc
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t optSysIntersection(SArray* in, SArray* out)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5558
      start: 5551
    functionDepth: 0
    functionLinenumber: 5551
    functionLinenumberEnd: 5558
    functionName: tableUidCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tableUidCompare(const void* a, const void* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5562,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5563,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5564,1
    - Dst: optSysIntersection
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mRslt
    - rslt
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5567
      start: 5560
    functionDepth: 3
    functionLinenumber: 5560
    functionLinenumberEnd: 5567
    functionName: optSysMergeRslt
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - optSysIntersection
    - taosArrayGetP
    - taosArraySort
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t optSysMergeRslt(SArray* mRslt, SArray* rslt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cond
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5578
      start: 5569
    functionDepth: 0
    functionLinenumber: 5569
    functionLinenumberEnd: 5578
    functionName: optSysSpecialColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t optSysSpecialColumn(SNode* cond)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5582,1
    - Dst: optSysTabFilteImpl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5583,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5587,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5595,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5602,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5606,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5615,1
    - Dst: optSysTabFilteImpl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5620,1
    - Dst: optSysSpecialColumn
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5624,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5625,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5631,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5637,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5640,1
    - Dst: optSysMergeRslt
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5645,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5651,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5652,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5653,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5655,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5665,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5665,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 3
    argNames:
    - arg
    - cond
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5673
      start: 5580
    functionDepth: 4
    functionLinenumber: 5580
    functionLinenumberEnd: 5673
    functionName: optSysTabFilte
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - optSysMergeRslt
    - LIST_LENGTH
    - optSysTabFilteImpl
    - nodeType
    - taosArrayGetSize
    - taosArrayInit
    - optSysSpecialColumn
    - taosArrayDestroy
    - taosArrayGetP
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t optSysTabFilte(void* arg, SNode* cond, SArray* result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SReadHandle*::api::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5679,1
    - Dst: SReadHandle*::api::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5680,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5682,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5682,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5683,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5694,1
    - Dst: SReadHandle*::api::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5695,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5697,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5697,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5698,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5714,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - pHandle
    - uid
    - rowLen
    - idstr
    argTypes:
    - SReadHandle*
    - uint64_t
    - int32_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5716
      start: 5675
    functionDepth: 1
    functionLinenumber: 5675
    functionLinenumberEnd: 5716
    functionName: doGetTableRowSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SReadHandle*::api::metaReaderFn::getTableEntryByUid
    - qError
    - tDecoderClear
    - tstrerror
    - SReadHandle*::api::metaReaderFn::clearReader
    - SReadHandle*::api::metaReaderFn::initReader
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGetTableRowSize(SReadHandle* pHandle, uint64_t uid, int32_t*
      rowLen, const char* idstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: doGetTableRowSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5731,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5732,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5733,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderGetDataBlockDistInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5735,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5736,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderGetNumOfInMemRows
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5738,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5739,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5744,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5745,1
    - Dst: tSerializeBlockDistInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5747,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5748,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5749,1
    - Dst: tSerializeBlockDistInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5751,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5751,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5754,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5756,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5758,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5759,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5761,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5765,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5766,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5768,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5776,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5776,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5782
      start: 5718
    functionDepth: 2
    functionLinenumber: 5718
    functionLinenumberEnd: 5782
    functionName: doBlockInfoScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - taosArrayGet
    - varDataVal
    - SStorageAPI*::tsdReader::tsdReaderGetNumOfInMemRows
    - tstrerror
    - qError
    - GET_TASKID
    - QUERY_CHECK_NULL
    - colDataSetVal
    - SStorageAPI*::tsdReader::tsdReaderGetDataBlockDistInfo
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - doGetTableRowSize
    - tSerializeBlockDistInfo
    - colDataSetInt64
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t doBlockInfoScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5786,1
    - Dst: SBlockDistInfo*::readHandle::api::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5788,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5790,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5792
      start: 5784
    functionDepth: 2
    functionLinenumber: 5784
    functionLinenumberEnd: 5792
    functionName: destroyBlockDistScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - SBlockDistInfo*::readHandle::api::tsdReader::tsdReaderClose
    - blockDataDestroy
    - tableListDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destroyBlockDistScanOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5795,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5799,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5800,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5802,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - uid
    - pCond
    argTypes:
    - uint64_t
    - SQueryTableDataCond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5821
      start: 5794
    functionDepth: 0
    functionLinenumber: 5794
    functionLinenumberEnd: 5821
    functionName: initTableblockDistQueryCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - memset
    - taosMemoryCalloc
    - taosMemoryFree
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initTableblockDistQueryCond(uint64_t uid, SQueryTableDataCond*
      pCond)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5826,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5830,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5831,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5836,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5838,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5839,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5840,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5841,1
    - Dst: initTableblockDistQueryCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5845,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5846,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5850,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5851,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5853,1
    - Dst: SReadHandle*::api::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5855,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5857,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5858,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5866,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5867,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5869,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5870,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5872,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5874,1
    - Dst: destroyBlockDistScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5882,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5886,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 5
    argNames:
    - readHandle
    - pBlockScanNode
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - SBlockDistScanPhysiNode*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5889
      start: 5823
    functionDepth: 8
    functionLinenumber: 5823
    functionLinenumberEnd: 5889
    functionName: createDataBlockInfoScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 2
    functionsReached:
    - tableListGetSize
    - setOperatorInfo
    - QRY_PARAM_CHECK
    - blockDataEnsureCapacity
    - createDataBlockFromDescNode
    - initOperatorCostInfo
    - QUERY_CHECK_NULL
    - tableListGetInfo
    - createOperatorFpSet
    - createExprInfo
    - SReadHandle*::api::tsdReader::tsdReaderOpen
    - cleanupQueryTableDataCond
    - initTableblockDistQueryCond
    - destroyBlockDistScanOperatorInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - destroyOperator
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createDataBlockInfoScanOperator(SReadHandle* readHandle, SBlockDistScanPhysiNode*
      pBlockScanNode,\n                                        STableListInfo* pTableListInfo,
      SExecTaskInfo* pTaskInfo,\n                                        SOperatorInfo**
      pOptrInfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5900,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5901,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5904,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5905,1
    - Dst: SReadHandle*::api::metaFn::getChildTableList
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5907,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5908,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5910,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5912,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5916,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5917,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5919,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5923,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5924,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5929,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - pOperator
    - id
    - ppTableListInfo
    argTypes:
    - SOperatorInfo*
    - STableId*
    - STableListInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5932
      start: 5891
    functionDepth: 2
    functionLinenumber: 5891
    functionLinenumberEnd: 5932
    functionName: buildTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tableListCreate
    - QUERY_CHECK_NULL
    - tableListAddTableInfo
    - SReadHandle*::api::metaFn::getChildTableList
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayInit
    - taosArrayDestroy
    - tableListDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableListInfo(SOperatorInfo* pOperator, STableId* id,
      STableListInfo** ppTableListInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buildTableListInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5944,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5945,1
    - Dst: initTableblockDistQueryCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5949,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5950,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5955,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5956,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5958,1
    - Dst: SReadHandle*::api::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5960,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5962,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5963,1
    - Dst: doGetTableRowSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5966,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5966,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5967,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderGetDataBlockDistInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5969,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5970,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderGetNumOfInMemRows
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5972,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5973,1
    - Dst: SReadHandle*::api::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5982,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5986,1
    - Dst: SReadHandle*::api::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5992,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:5996,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 3
    argNames:
    - pOperator
    - id
    - pStaticInfo
    argTypes:
    - SOperatorInfo*
    - STableId*
    - SDbSizeStatisInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6004
      start: 5933
    functionDepth: 3
    functionLinenumber: 5933
    functionLinenumberEnd: 6004
    functionName: vnodeEstimateDataSizeByUid
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - tableListGetSize
    - buildTableListInfo
    - SStorageAPI*::tsdReader::tsdReaderGetNumOfInMemRows
    - tableListGetInfo
    - GET_TASKID
    - SReadHandle*::api::tsdReader::tsdReaderOpen
    - cleanupQueryTableDataCond
    - SReadHandle*::api::tsdReader::tsdReaderClose
    - initTableblockDistQueryCond
    - SStorageAPI*::tsdReader::tsdReaderGetDataBlockDistInfo
    - QUERY_CHECK_CODE
    - doGetTableRowSize
    - tableListDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t vnodeEstimateDataSizeByUid(SOperatorInfo* pOperator, STableId*
      id, SDbSizeStatisInfo* pStaticInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6014,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6015,1
    - Dst: vnodeEstimateDataSizeByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pOperator
    - pTableList
    - pStaticInfo
    argTypes:
    - SOperatorInfo*
    - SArray*
    - SDbSizeStatisInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6022
      start: 6006
    functionDepth: 4
    functionLinenumber: 6006
    functionLinenumberEnd: 6022
    functionName: vnodeEstimateRawDataSizeImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - vnodeEstimateDataSizeByUid
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vnodeEstimateRawDataSizeImpl(SOperatorInfo* pOperator, SArray*
      pTableList,\n                                            SDbSizeStatisInfo*
      pStaticInfo)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaFn::openTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6045,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6047,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6051,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6053,1
    - Dst: SStorageAPI*::metaFn::cursorNext
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6056,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6059,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6060,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6066,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6067,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6072,1
    - Dst: vnodeEstimateRawDataSizeImpl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6076,1
    - Dst: SStorageAPI*::metaFn::closeTableMetaCursor
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6080,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6084,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6084,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:6088,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - pOperator
    - pStaticInfo
    argTypes:
    - SOperatorInfo*
    - SDbSizeStatisInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6090
      start: 6024
    functionDepth: 5
    functionLinenumber: 6024
    functionLinenumberEnd: 6090
    functionName: vnodeEstimateRawDataSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - SStorageAPI*::metaFn::closeTableMetaCursor
    - SStorageAPI*::metaFn::openTableMetaCursor
    - TAOS_CHECK_GOTO
    - qError
    - vnodeEstimateRawDataSizeImpl
    - taosArrayInit
    - tstrerror
    - taosArrayDestroy
    - SStorageAPI*::metaFn::cursorNext
    linkageType: ''
    returnType: int32_t
    signature: int32_t vnodeEstimateRawDataSize(SOperatorInfo* pOperator, SDbSizeStatisInfo*
      pStaticInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: SET_REVERSE_SCAN_FLAG
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_REVERSE_SCAN_FLAG(_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: SWITCH_ORDER
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWITCH_ORDER(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRandR
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SSampleExecInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: processBlockWithProbability
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosRandR
    linkageType: ''
    returnType: bool
    signature: bool processBlockWithProbability(const SSampleExecInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SWITCH_ORDER
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pCtx
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: switchCtxOrder
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SWITCH_ORDER
    linkageType: ''
    returnType: void
    signature: void switchCtxOrder(SqlFunctionCtx* pCtx, int32_t numOfOutput)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:109,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:111,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:121,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:127,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:130,1
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:136,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:138,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:148,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:154,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:157,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 4
    argNames:
    - pInterval
    - pBlockInfo
    - order
    - overlap
    argTypes:
    - SInterval*
    - SDataBlockInfo*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 166
    functionName: overlapWithTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - getAlignQueryTimeWindow
    - TMAX
    - qError
    - TMIN
    - getNextTimeWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t overlapWithTimeWindow(SInterval* pInterval, SDataBlockInfo*
      pBlockInfo, int32_t order, bool* overlap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_RES_WINDOW_KEY
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:175,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:179,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:180,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - groupId
    - pPage
    argTypes:
    - SOperatorInfo*
    - uint64_t
    - SFilePage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: getTableGroupOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - GET_RES_WINDOW_KEY_LEN
    - SET_RES_WINDOW_KEY
    - tSimpleHashGet
    linkageType: ''
    returnType: SResultRow
    signature: SResultRow * getTableGroupOutputBuf(SOperatorInfo* pOperator, uint64_t
      groupId, SFilePage** pPage)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:196,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:198,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:198,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:204,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:207,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pTableScanInfo
    - uid
    argTypes:
    - STableScanInfo*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: insertTableToScanIgnoreList
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - taosHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t insertTableToScanIgnoreList(STableScanInfo* pTableScanInfo,
      uint64_t uid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getTableGroupOutputBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:224,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:234,1
    - Dst: fmFuncDynDataRequired
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:236,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:244,1
    - Dst: insertTableToScanIgnoreList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - pOperator
    - pBlockInfo
    - status
    argTypes:
    - SOperatorInfo*
    - SDataBlockInfo*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 252
    functionName: doDynamicPruneDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - releaseBufPage
    - getTableGroupOutputBuf
    - getResultEntryInfo
    - fmFuncDynDataRequired
    - insertTableToScanIgnoreList
    linkageType: ''
    returnType: int32_t
    signature: int32_t doDynamicPruneDataBlock(SOperatorInfo* pOperator, SDataBlockInfo*
      pBlockInfo, uint32_t* status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filterRangeExecute
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - pFilterInfo
    - pColsAgg
    - numOfCols
    - numOfRows
    - keep
    argTypes:
    - SFilterInfo*
    - SColumnDataAgg*
    - int32_t
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 14
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: doFilterByBlockSMA
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - filterRangeExecute
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doFilterByBlockSMA(SFilterInfo* pFilterInfo, SColumnDataAgg*
      pColsAgg, int32_t numOfCols,\n                                  int32_t numOfRows,
      bool* keep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::tsdReader::tsdReaderRetrieveBlockSMAInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - pTableScanInfo
    - pBlock
    - pTaskInfo
    - pLoad
    argTypes:
    - STableScanBase*
    - SSDataBlock*
    - SExecTaskInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 286
    functionName: doLoadBlockSMA
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::tsdReader::tsdReaderRetrieveBlockSMAInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doLoadBlockSMA(STableScanBase* pTableScanInfo, SSDataBlock*
      pBlock, SExecTaskInfo* pTaskInfo,\n                              bool* pLoad)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pTableScanInfo
    - pBlock
    - pTaskInfo
    - rows
    argTypes:
    - STableScanBase*
    - SSDataBlock*
    - SExecTaskInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 302
    functionName: doSetTagColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - addTagPseudoColumnData
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doSetTagColumnData(STableScanBase* pTableScanInfo, SSDataBlock*
      pBlock, SExecTaskInfo* pTaskInfo,\n                                  int32_t
      rows)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:306,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:311,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:312,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:315,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:317,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:317,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:319,1
    - Dst: blockDataKeepFirstNRows
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:328,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pLimitInfo
    - pBlock
    - pTaskInfo
    argTypes:
    - SLimitInfo*
    - SSDataBlock*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 337
    functionName: applyLimitOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 4
    functionsReached:
    - T_LONG_JMP
    - qError
    - GET_TASKID
    - qDebug
    - blockDataTrimFirstRows
    - blockDataKeepFirstNRows
    - blockDataEmpty
    - tstrerror
    linkageType: ''
    returnType: bool
    signature: bool applyLimitOffset(SLimitInfo* pLimitInfo, SSDataBlock* pBlock,
      SExecTaskInfo* pTaskInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: skipSetTagColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool skipSetTagColumnData(SOperatorInfo* pOperator)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: overlapWithTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:362,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:372,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:375,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:375,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:378,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:381,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:382,1
    - Dst: skipSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:384,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:385,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:388,1
    - Dst: doLoadBlockSMA
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:394,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:396,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:397,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:398,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:402,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:402,1
    - Dst: skipSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:404,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:405,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:407,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:412,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:412,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:418,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:419,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:419,1
    - Dst: doLoadBlockSMA
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:426,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:428,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:429,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:429,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:430,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:434,1
    - Dst: doFilterByBlockSMA
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:436,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:438,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:439,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:439,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:439,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:440,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:444,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:445,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:448,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:450,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:457,1
    - Dst: doDynamicPruneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:460,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:462,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:463,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:467,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:468,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:470,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:473,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:473,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderRetrieveDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:484,1
    - Dst: skipSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:489,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:490,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:491,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:495,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:496,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:497,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:498,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:503,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:504,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:506,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:506,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:510,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:512,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:517,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:517,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 125
    argCount: 4
    argNames:
    - pOperator
    - pTableScanInfo
    - pBlock
    - status
    argTypes:
    - SOperatorInfo*
    - STableScanBase*
    - SSDataBlock*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 344
    functionDepth: 15
    functionLinenumber: 344
    functionLinenumberEnd: 520
    functionName: loadDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - taosGetTimestampUs
    - doFilterByBlockSMA
    - SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
    - doLoadBlockSMA
    - taosHashGetSize
    - applyLimitOffset
    - overlapWithTimeWindow
    - doSetTagColumnData
    - QUERY_CHECK_CODE
    - taosArrayGetSize
    - skipSetTagColumnData
    - SStorageAPI*::tsdReader::tsdReaderRetrieveDataBlock
    - GET_TASKID
    - setOperatorCompleted
    - qDebug
    - doDynamicPruneDataBlock
    - doFilter
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t loadDataBlock(SOperatorInfo* pOperator, STableScanBase* pTableScanInfo,
      SSDataBlock* pBlock,\n                             uint32_t* status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_REVERSE_SCAN_FLAG
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:523,1
    - Dst: switchCtxOrder
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pTableScanInfo
    - pCtx
    - numOfOutput
    argTypes:
    - STableScanBase*
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: prepareForDescendingScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - switchCtxOrder
    - SET_REVERSE_SCAN_FLAG
    linkageType: ''
    returnType: void
    signature: void prepareForDescendingScan(STableScanBase* pTableScanInfo, SqlFunctionCtx*
      pCtx, int32_t numOfOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:542,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:543,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 545
    functionName: freeTableCachedVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeTableCachedVal(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:550,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:551,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:554,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:555,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:560,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:561,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:562,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:569,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:569,1
    - Dst: freeTableCachedVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pMetaReader
    - ppResVal
    argTypes:
    - SMetaReader*
    - STableCachedVal**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 573
    functionName: createTableCacheVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - qError
    - QUERY_CHECK_NULL
    - freeTableCachedVal
    - tstrerror
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTableCacheVal(const SMetaReader* pMetaReader, STableCachedVal**
      ppResVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeTableCachedVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - key
    - keyLen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 581
    functionName: freeCachedMetaItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - freeTableCachedVal
    linkageType: ''
    returnType: void
    signature: void freeCachedMetaItem(const void* key, size_t keyLen, void* value,
      void* ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:587,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pBlock
    - pExpr
    - numOfExpr
    argTypes:
    - SSDataBlock*
    - SExprInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 590
    functionName: doSetNullValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - colDataSetNNULL
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: void doSetNullValue(SSDataBlock* pBlock, const SExprInfo* pExpr, int32_t
      numOfExpr)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: SReadHandle*::api::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:620,1
    - Dst: SReadHandle*::api::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:621,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:625,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:626,1
    - Dst: doSetNullValue
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:629,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:631,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:631,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:633,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:644,1
    - Dst: SReadHandle*::api::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:646,1
    - Dst: SReadHandle*::api::metaReaderFn::getEntryGetUidCache
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:648,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:651,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:652,1
    - Dst: doSetNullValue
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:654,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:656,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:656,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:659,1
    - Dst: createTableCacheVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:663,1
    - Dst: SReadHandle*::api::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:664,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:665,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:670,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:674,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:682,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:683,1
    - Dst: colInfoDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:684,1
    - Dst: fmIsScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:689,1
    - Dst: setTbNameColData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:692,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:693,1
    - Dst: setVgIdColData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:695,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:696,1
    - Dst: setVgVerColData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:698,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:699,1
    - Dst: SReadHandle*::api::metaFn::extractTagVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:704,1
    - Dst: tTagValToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:708,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:713,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:715,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:717,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:718,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:719,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:719,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:721,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:721,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:721,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:724,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:726,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:728,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:731,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:732,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:745,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:748,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:753,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:754,1
    - Dst: SReadHandle*::api::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:758,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:761,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:761,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 112
    argCount: 7
    argNames:
    - pHandle
    - pExpr
    - numOfExpr
    - pBlock
    - rows
    - pTask
    - pCache
    argTypes:
    - SReadHandle*
    - SExprInfo*
    - int32_t
    - SSDataBlock*
    - int32_t
    - SExecTaskInfo*
    - STableMetaCacheInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 764
    functionName: addTagPseudoColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 2
    functionsReached:
    - tTagValToData
    - qError
    - setVgIdColData
    - setTbNameColData
    - SReadHandle*::api::metaReaderFn::readerReleaseLock
    - memcpy
    - taosArrayGet
    - qTrace
    - qWarn
    - varDataLen
    - QUERY_CHECK_CODE
    - varDataVal
    - SReadHandle*::api::metaReaderFn::clearReader
    - createTableCacheVal
    - SReadHandle*::api::metaReaderFn::initReader
    - taosMemoryCalloc
    - SReadHandle*::api::metaFn::extractTagVal
    - fmIsScanPseudoColumnFunc
    - colDataSetNNULL
    - QUERY_CHECK_NULL
    - colInfoDataCleanup
    - colDataSetNItems
    - doSetNullValue
    - qDebug
    - setVgVerColData
    - colDataSetVal
    - taosLRUCacheLookup
    - taosLRUCacheInsert
    - tTagIsJsonNull
    - taosLRUCacheValue
    - taosLRUCacheRelease
    - taosMemoryFree
    - SReadHandle*::api::metaReaderFn::getEntryGetUidCache
    - tstrerror
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addTagPseudoColumnData(SReadHandle* pHandle, const SExprInfo*
      pExpr, int32_t numOfExpr, SSDataBlock* pBlock,\n                               int32_t
      rows, SExecTaskInfo* pTask, STableMetaCacheInfo* pCache)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:771,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:772,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:776,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:778,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:780,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:781,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:783,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:784,1
    - Dst: struct SScalarFuncExecFuncs::process
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:790,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:791,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:793,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:796,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:800,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - pBlock
    - pColInfoData
    - functionId
    - name
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 803
    functionName: setTbNameColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - colInfoDataEnsureCapacity
    - qError
    - createColumnInfoData
    - STR_TO_VARSTR
    - colDataSetVal
    - struct SScalarFuncExecFuncs::process
    - QUERY_CHECK_CODE
    - colDataDestroy
    - tstrerror
    - fmGetScalarFuncExecFuncs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setTbNameColData(const SSDataBlock* pBlock, SColumnInfoData*
      pColInfoData, int32_t functionId,\n                         const char* name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:809,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:810,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:812,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:814,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:815,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:817,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:818,1
    - Dst: struct SScalarFuncExecFuncs::process
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:824,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:825,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:827,1
    - Dst: colDataDestroy
      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:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - pBlock
    - pColInfoData
    - functionId
    - vgId
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 836
    functionName: setVgIdColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - colInfoDataEnsureCapacity
    - qError
    - createColumnInfoData
    - colDataSetVal
    - struct SScalarFuncExecFuncs::process
    - QUERY_CHECK_CODE
    - colDataDestroy
    - tstrerror
    - fmGetScalarFuncExecFuncs
    linkageType: ''
    returnType: int32_t
    signature: int32_t setVgIdColData(const SSDataBlock* pBlock, SColumnInfoData*
      pColInfoData, int32_t functionId, int32_t vgId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:842,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:843,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:845,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:847,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:848,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:850,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:851,1
    - Dst: struct SScalarFuncExecFuncs::process
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:857,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:858,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:860,1
    - Dst: colDataDestroy
      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:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - pBlock
    - pColInfoData
    - functionId
    - vgVer
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 869
    functionName: setVgVerColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - colInfoDataEnsureCapacity
    - qError
    - createColumnInfoData
    - colDataSetVal
    - struct SScalarFuncExecFuncs::process
    - QUERY_CHECK_CODE
    - colDataDestroy
    - tstrerror
    - fmGetScalarFuncExecFuncs
    linkageType: ''
    returnType: int32_t
    signature: int32_t setVgVerColData(const SSDataBlock* pBlock, SColumnInfoData*
      pColInfoData, int32_t functionId, int64_t vgVer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetGroupList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:874,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:875,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:877,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:880,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:890,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pInfo
    - pKeyInfo
    - size
    argTypes:
    - STableScanInfo*
    - STableKeyInfo**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 871
    functionDepth: 3
    functionLinenumber: 871
    functionLinenumberEnd: 893
    functionName: initNextGroupScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - tableListGetGroupList
    - QUERY_CHECK_CODE
    - tstrerror
    - TARRAY_ELEM_IDX
    linkageType: ''
    returnType: int32_t
    signature: int32_t initNextGroupScan(STableScanInfo* pInfo, STableKeyInfo** pKeyInfo,
      int32_t* size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:902,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:904,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pInfo
    - groupId
    argTypes:
    - STableScanInfo*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 907
    functionName: markGroupProcessed
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosHashRemove
    - qDebug
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void markGroupProcessed(STableScanInfo* pInfo, uint64_t groupId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:911,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:918,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:920,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:921,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - pTaskInfo
    - pBase
    - pBlock
    - tbInfo
    argTypes:
    - SExecTaskInfo*
    - STableScanBase*
    - SSDataBlock*
    - STableKeyInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 928
    functionName: getOneRowResultBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosArrayGet
    - doSetTagColumnData
    - blockDataEmpty
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: SSDataBlock
    signature: "SSDataBlock * getOneRowResultBlock(SExecTaskInfo* pTaskInfo, STableScanBase*
      pBase, SSDataBlock* pBlock,\n                                         const
      STableKeyInfo* tbInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOneRowResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pOperator
    - tbInfo
    argTypes:
    - SOperatorInfo*
    - STableKeyInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 936
    functionName: getBlockForEmptyTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - getOneRowResultBlock
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * getBlockForEmptyTable(SOperatorInfo* pOperator, const
      STableKeyInfo* tbInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:946,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:946,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderStepDone
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:958,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:960,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:963,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:977,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:977,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:980,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:981,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:981,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 942
    functionDepth: 4
    functionLinenumber: 942
    functionLinenumberEnd: 984
    functionName: prepareTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - freeOperatorParam
    - SStorageAPI*::tsdReader::tsdReaderStepDone
    - qError
    - GET_TASKID
    - qDebug
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareTableScan(SOperatorInfo* pOperator)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:995,1
    - Dst: SStorageAPI*::tsdReader::tsdNextDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:999,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1001,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1002,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1009,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1012,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1016,1
    - Dst: processBlockWithProbability
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1021,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1027,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1029,1
    - Dst: loadDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1033,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1034,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1055,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1055,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1057,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 986
    functionDepth: 16
    functionLinenumber: 986
    functionLinenumberEnd: 1060
    functionName: doTableScanImplNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - SStorageAPI*::tsdReader::tsdNextDataBlock
    - QRY_PARAM_CHECK
    - tstrerror
    - qError
    - processBlockWithProbability
    - QUERY_CHECK_CODE
    - SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
    - loadDataBlock
    - isTaskKilled
    - tableListGetTableGroupId
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTableScanImplNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1069,1
    - Dst: doTableScanImplNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1079,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1080,1
    - Dst: markGroupProcessed
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1083,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1089,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1092,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1095,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1095,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderResetStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1098,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1099,1
    - Dst: prepareForDescendingScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1106,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderResetStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1107,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1108,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1109,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1109,1
    - Dst: doTableScanImplNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1114,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:1118,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1124,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1127,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1130,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1130,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderResetStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1131,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1132,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1143,1
    - Dst: getBlockForEmptyTable
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1149,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1154,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1155,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1159,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1162,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1164,1
    - Dst: markGroupProcessed
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1165,1
    - Dst: getBlockForEmptyTable
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1166,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
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 81
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1062
    functionDepth: 17
    functionLinenumber: 1062
    functionLinenumberEnd: 1182
    functionName: doGroupedTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tableListGetSize
    - taosHashIterate
    - doTableScanImplNext
    - taosHashCancelIterate
    - QRY_PARAM_CHECK
    - setTaskStatus
    - prepareForDescendingScan
    - qError
    - tableListGetInfo
    - GET_TASKID
    - qDebug
    - taosHashGetKey
    - QUERY_CHECK_CODE
    - tstrerror
    - taosHashClear
    - markGroupProcessed
    - SStorageAPI*::tsdReader::tsdReaderResetStatus
    - getBlockForEmptyTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGroupedTableScan(SOperatorInfo* pOperator, SSDataBlock**
      pBlock)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1190,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1192,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1196,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1197,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1202,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1203,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1204,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1221,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1223,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1223,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1227,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1235,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1241,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1241,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1245
    functionName: createTableListInfoFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qError
    - GET_TASKID
    - qDebug
    - taosArrayGetSize
    - tstrerror
    - taosArrayClear
    - taosHashClear
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTableListInfoFromParam(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1249,1
    - Dst: initNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1250,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1252,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1252,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1257,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1261,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1264,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pInfo
    - pTaskInfo
    - pAPI
    - pNum
    - pList
    argTypes:
    - STableScanInfo*
    - SExecTaskInfo*
    - SStorageAPI*
    - int32_t*
    - STableKeyInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1247
    functionDepth: 4
    functionLinenumber: 1247
    functionLinenumberEnd: 1268
    functionName: doInitReader
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::tsdReader::tsdReaderOpen
    - qError
    - GET_TASKID
    - tstrerror
    - initNextGroupScan
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doInitReader(STableScanInfo* pInfo, SExecTaskInfo* pTaskInfo,
      SStorageAPI* pAPI, int32_t* pNum,\n                            STableKeyInfo**
      pList)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - elem1
    - elem2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1279
    functionName: compareColIdPair
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compareColIdPair(const void* elem1, const void* elem2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - elem1
    - elem2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1290
    functionName: compareColIdSlotIdPair
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compareColIdSlotIdPair(const void* elem1, const void* elem2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - elem1
    - elem2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1301
    functionName: compareColMatchItemByColId
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compareColMatchItemByColId(const void* elem1, const void* elem2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1309,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1312,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1316,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pList
    - colId
    argTypes:
    - SArray*
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1303
    functionDepth: 1
    functionLinenumber: 1303
    functionLinenumberEnd: 1333
    functionName: findMatchItemByColId
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: SColMatchItem
    signature: SColMatchItem * findMatchItemByColId(SArray* pList, col_id_t colId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - STableScanOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1337
    functionName: isNewScanParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNewScanParam(STableScanOperatorParam* pParam)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1356,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1372,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1373,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1373,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1374,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1385,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1386,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1396,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1397,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1397,1
    - Dst: SStorageAPI*::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1398,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1399,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1399,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1400,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1404,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1405,1
    - Dst: SStorageAPI*::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1406,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1407,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1416,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1422,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1423,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1428,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1429,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1430,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1430,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1431,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1431,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1433,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1434,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1435,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1436,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1443,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1443,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1445,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1446,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1448,1
    - Dst: schemaToRefDataType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1450,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1454,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1454,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1455,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1456,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1462,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1463,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1464,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1465,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1468,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1473,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1475,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1480,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1483,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1489,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1489,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1490,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1491,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1497,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1498,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1500,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1503,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1504,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1507,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1508,1
    - Dst: fmIsImplicitTsFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1515,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1517,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1518,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1525,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1525,1
    - Dst: initQueryTableDataCondWithColArray
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1540,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1541,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1544,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1548,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1554,1
    - Dst: createOneDataBlockWithColArray
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1576,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1577,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1584,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1585,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1586,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1597,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1601,1
    - Dst: doInitReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1602,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1603,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1604,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1608,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1612,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1618,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1619,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderSetDatablock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1621,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1635,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1635,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1636,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1637,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1641,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1642,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 212
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1339
    functionDepth: 5
    functionLinenumber: 1339
    functionLinenumberEnd: 1644
    functionName: createVTableScanInfoFromBatchParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - initQueryTableDataCondWithColArray
    - taosArraySort
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - SStorageAPI*::tsdReader::tsdReaderClose
    - taosHashClear
    - taosArrayDestroy
    - taosArrayDup
    - taosRLockLatch
    - taosArrayGet
    - schemaToRefDataType
    - taosArrayRemoveDuplicate
    - taosRUnLockLatch
    - cleanupQueryTableDataCond
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClear
    - strcmp
    - IS_DECIMAL_TYPE
    - SStorageAPI*::metaReaderFn::getTableEntryByName
    - GET_TASKID
    - QUERY_CHECK_NULL
    - SStorageAPI*::metaReaderFn::readerReleaseLock
    - qDebug
    - doInitReader
    - fmIsImplicitTsFunc
    - SStorageAPI*::metaReaderFn::clearReader
    - blockDataEnsureCapacity
    - strstr
    - blockDataDestroy
    - SStorageAPI*::tsdReader::tsdReaderSetDatablock
    - taosArrayInit
    - tstrerror
    - createOneDataBlockWithColArray
    - taosHashPut
    - IS_VAR_DATA_TYPE
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: int32_t
    signature: int32_t createVTableScanInfoFromBatchParam(SOperatorInfo* pOperator)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1664,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1668,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1670,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1671,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1671,1
    - Dst: SStorageAPI*::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1672,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1673,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1673,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1674,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1677,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1678,1
    - Dst: SStorageAPI*::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1679,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1680,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1687,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1693,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1694,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1699,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1700,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1701,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1701,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1702,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1702,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1704,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1705,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1706,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1707,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1709,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1712,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1713,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1726,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1726,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1728,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1729,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1731,1
    - Dst: schemaToRefDataType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1733,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1737,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1737,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1745,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1746,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1747,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1754,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1755,1
    - Dst: findMatchItemByColId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1756,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1759,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1764,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1765,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1770,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1773,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1779,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1779,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1781,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1781,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1786,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1787,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1788,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1790,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1791,1
    - Dst: initQueryTableDataCondWithColArray
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1793,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1794,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1797,1
    - Dst: isNewScanParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1801,1
    - Dst: createOneDataBlockWithColArray
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1816,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1817,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1824,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1825,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1826,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1835,1
    - Dst: isNewScanParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1837,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1838,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1841,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1842,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1844,1
    - Dst: doInitReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1845,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1846,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1847,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1849,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1850,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1854,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1855,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderSetDatablock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1857,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1864,1
    - Dst: doInitReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1865,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1866,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1867,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1869,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1870,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1882,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1882,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1885,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1887,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1888,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1889,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1890,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 178
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1646
    functionDepth: 5
    functionLinenumber: 1646
    functionLinenumberEnd: 1892
    functionName: createVTableScanInfoFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - initQueryTableDataCondWithColArray
    - taosArraySort
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - SStorageAPI*::tsdReader::tsdReaderClose
    - taosHashClear
    - taosArrayDestroy
    - taosArrayDup
    - taosRLockLatch
    - taosArrayGet
    - schemaToRefDataType
    - taosArrayRemoveDuplicate
    - taosRUnLockLatch
    - cleanupQueryTableDataCond
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClear
    - strcmp
    - IS_DECIMAL_TYPE
    - SStorageAPI*::metaReaderFn::getTableEntryByName
    - taosHashRemove
    - GET_TASKID
    - QUERY_CHECK_NULL
    - SStorageAPI*::metaReaderFn::readerReleaseLock
    - qDebug
    - doInitReader
    - isNewScanParam
    - SStorageAPI*::metaReaderFn::clearReader
    - blockDataEnsureCapacity
    - taosHashGet
    - findMatchItemByColId
    - strstr
    - blockDataDestroy
    - SStorageAPI*::tsdReader::tsdReaderSetDatablock
    - taosArrayInit
    - tstrerror
    - createOneDataBlockWithColArray
    - taosHashPut
    - IS_VAR_DATA_TYPE
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: int32_t
    signature: int32_t createVTableScanInfoFromParam(SOperatorInfo* pOperator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1902,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1904,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1905,1
    - Dst: tableListGetOutputGroups
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1907,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1908,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1910,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1911,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1918,1
    - Dst: initNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1922,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1923,1
    - Dst: SStorageAPI*::tsdReader::tsdSetQueryTableList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1925,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1926,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderResetStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1928,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1929,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1932,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1933,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1944,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - pOperator
    - pResult
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1894
    functionDepth: 18
    functionLinenumber: 1894
    functionLinenumberEnd: 1948
    functionName: startNextGroupScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tableListGetSize
    - QRY_PARAM_CHECK
    - initNextGroupScan
    - qError
    - doGroupedTableScan
    - setOperatorCompleted
    - tableListGetOutputGroups
    - QUERY_CHECK_CODE
    - tstrerror
    - taosArrayClear
    - taosHashClear
    - resetLimitInfoForNextGroup
    - SStorageAPI*::tsdReader::tsdReaderResetStatus
    - SStorageAPI*::tsdReader::tsdSetQueryTableList
    linkageType: ''
    returnType: int32_t
    signature: int32_t startNextGroupScan(SOperatorInfo* pOperator, SSDataBlock**
      pResult)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1959,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1961,1
    - Dst: tableListGetOutputGroups
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1964,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1965,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1969,1
    - Dst: doInitReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1970,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1971,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1972,1
    - Dst: SStorageAPI*::tsdReader::tsdSetFilesetDelimited
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1975,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1983,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1984,1
    - Dst: startNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1996,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1997,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2007,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2007,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1950
    functionDepth: 19
    functionLinenumber: 1950
    functionLinenumberEnd: 2012
    functionName: groupSeqTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - startNextGroupScan
    - QRY_PARAM_CHECK
    - SStorageAPI*::tsdReader::tsdSetFilesetDelimited
    - taosRUnLockLatch
    - qError
    - GET_TASKID
    - doGroupedTableScan
    - setOperatorCompleted
    - tableListGetOutputGroups
    - doInitReader
    - QUERY_CHECK_CODE
    - tstrerror
    - taosRLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupSeqTableScan(SOperatorInfo* pOperator, SSDataBlock** pResBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2016
    functionName: isEmptyQueryTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEmptyQueryTimeWindow(STimeWindow* pWindow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createTableListInfoFromParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2026,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2027,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2029,1
    - Dst: startNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2037,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2038,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2048,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2048,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2018
    functionDepth: 19
    functionLinenumber: 2018
    functionLinenumberEnd: 2051
    functionName: doStbJoinDynamicTableScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - startNextGroupScan
    - freeOperatorParam
    - qError
    - createTableListInfoFromParam
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doStbJoinDynamicTableScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2058,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2059,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2061,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2062,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2063,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2065,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2066,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2067,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2078,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2079,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2087,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2087,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - pSrcBlock
    - pColMap
    argTypes:
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2053
    functionDepth: 1
    functionLinenumber: 2053
    functionLinenumberEnd: 2089
    functionName: blockSetVstbSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - uError
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockSetVstbSlotId(const SSDataBlock* pSrcBlock,SArray* pColMap)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2099,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2100,1
    - Dst: createVTableScanInfoFromParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2102,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2103,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2106,1
    - Dst: isEmptyQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2109,1
    - Dst: startNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2115,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2116,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2118,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2119,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderSetDatablock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2124,1
    - Dst: blockSetVstbSlotId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2128,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2129,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2137,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2138,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2140,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2143,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderSetDatablock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2146,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2150,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2154,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2155,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2091
    functionDepth: 19
    functionLinenumber: 2091
    functionLinenumberEnd: 2162
    functionName: doVstbSingleDynamicTableScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - startNextGroupScan
    - taosArrayGet
    - freeOperatorParam
    - qTrace
    - QRY_PARAM_CHECK
    - taosHashRemove
    - taosHashGet
    - blockSetVstbSlotId
    - doGroupedTableScan
    - QUERY_CHECK_NULL
    - qError
    - SStorageAPI*::tsdReader::tsdReaderSetDatablock
    - SStorageAPI*::tsdReader::tsdReaderClose
    - QUERY_CHECK_CODE
    - createVTableScanInfoFromParam
    - tstrerror
    - isEmptyQueryTimeWindow
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t doVstbSingleDynamicTableScanNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2171,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2171,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2171,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2172,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2173,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2175,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2176,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2179,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2180,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2181,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2183,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2184,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2185,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2186,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2187,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2189,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2190,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2197,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2197,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2164
    functionDepth: 1
    functionLinenumber: 2164
    functionLinenumberEnd: 2200
    functionName: setTagValFromTagList
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - taosMemoryFreeClear
    - qError
    - QUERY_CHECK_NULL
    - colDataSetVal
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - varDataSetLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t setTagValFromTagList(SOperatorInfo* pOperator, SSDataBlock*
      pRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2204,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2205,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2206,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2208,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2212,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2213,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2214,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2215,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2218,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2222,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2226,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2202
    functionDepth: 1
    functionLinenumber: 2202
    functionLinenumberEnd: 2232
    functionName: clearVstbBatchDynamicTableScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - taosArrayGetSize
    - taosArrayDestroy
    - blockDataDestroy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void clearVstbBatchDynamicTableScanInfo(STableScanInfo* pInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2242,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2243,1
    - Dst: createVTableScanInfoFromBatchParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2246,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2247,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2249,1
    - Dst: startNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2252,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2253,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2255,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2256,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2259,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2260,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2262,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderSetDatablock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2271,1
    - Dst: createOneDataBlockWithTwoBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2275,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2276,1
    - Dst: setTagValFromTagList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2279,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2280,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2285,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2288,1
    - Dst: clearVstbBatchDynamicTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2290,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2234
    functionDepth: 19
    functionLinenumber: 2234
    functionLinenumberEnd: 2296
    functionName: doVstbBatchDynamicTableScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - createVTableScanInfoFromBatchParam
    - startNextGroupScan
    - freeOperatorParam
    - qTrace
    - QRY_PARAM_CHECK
    - setTagValFromTagList
    - clearVstbBatchDynamicTableScanInfo
    - GET_TASKID
    - doGroupedTableScan
    - setOperatorCompleted
    - qDebug
    - SStorageAPI*::tsdReader::tsdReaderSetDatablock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - createOneDataBlockWithTwoBlock
    - printDataBlock
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t doVstbBatchDynamicTableScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2305,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2306,1
    - Dst: doStbJoinDynamicTableScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2313,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2314,1
    - Dst: doVstbSingleDynamicTableScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2318,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2319,1
    - Dst: doVstbBatchDynamicTableScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2323,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2324,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - pOperator
    - type
    - ppRes
    argTypes:
    - SOperatorInfo*
    - ETableScanDynType
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2298
    functionDepth: 20
    functionLinenumber: 2298
    functionLinenumberEnd: 2334
    functionName: doDynamicTableScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - QRY_PARAM_CHECK
    - qTrace
    - doVstbSingleDynamicTableScanNext
    - doVstbBatchDynamicTableScanNext
    - QUERY_CHECK_CODE
    - doStbJoinDynamicTableScanNext
    linkageType: ''
    returnType: int32_t
    signature: int32_t doDynamicTableScanNext(SOperatorInfo* pOperator, ETableScanDynType
      type, SSDataBlock** ppRes)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2342,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2343,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2345,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2346,1
    - Dst: doDynamicTableScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2354,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2355,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2370,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2371,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2373,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2381,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2383,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2385,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2386,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2390,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2390,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2391,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2396,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2398,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2400,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2404,1
    - Dst: SStorageAPI*::tsdReader::tsdSetQueryTableList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2406,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2407,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2408,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2409,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderResetStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2411,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2412,1
    - Dst: groupSeqTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2416,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2417,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2422,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2422,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2422,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2424,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2336
    functionDepth: 21
    functionLinenumber: 2336
    functionLinenumberEnd: 2428
    functionName: doTableScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - groupSeqTableScan
    - qError
    - TSDB_CHECK_CODE
    - taosRLockLatch
    - SStorageAPI*::tsdReader::tsdReaderResetStatus
    - QRY_PARAM_CHECK
    - qTrace
    - taosRUnLockLatch
    - QUERY_CHECK_CODE
    - doDynamicTableScanNext
    - T_LONG_JMP
    - GET_TASKID
    - doGroupedTableScan
    - QUERY_CHECK_NULL
    - qDebug
    - isTaskKilled
    - SStorageAPI*::tsdReader::tsdSetQueryTableList
    - tableListGetSize
    - SOperatorInfo*::fpSet::_openFn
    - tableListGetInfo
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTableScanNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2431,1
    - Dst: STableScanInfo*::base::readerAPI::tsdReaderSetExecInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - struct SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2441
    functionName: getTableScannerExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - STableScanInfo*::base::readerAPI::tsdReaderSetExecInfo
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableScannerExecInfo(struct SOperatorInfo* pOptr, void**
      pOptrExplain, uint32_t* len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2444,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2445,1
    - Dst: TsdReader*::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2448,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2453,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2456,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2457,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pBase
    - pAPI
    argTypes:
    - STableScanBase*
    - TsdReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2443
    functionDepth: 4
    functionLinenumber: 2443
    functionLinenumberEnd: 2459
    functionName: destroyTableScanBase
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - taosLRUCacheCleanup
    - TsdReader*::tsdReaderClose
    - cleanupQueryTableDataCond
    - cleanupExprSupp
    - taosArrayDestroy
    - tableListDestroy
    linkageType: ''
    returnType: void
    signature: void destroyTableScanBase(STableScanBase* pBase, TsdReader* pAPI)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2463,1
    - Dst: STableScanInfo*::base::readerAPI::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2470,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2461
    functionDepth: 1
    functionLinenumber: 2461
    functionLinenumberEnd: 2475
    functionName: cleanReaderForVTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - STableScanInfo*::base::readerAPI::tsdReaderClose
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void cleanReaderForVTable(STableScanInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2479,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2480,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2481,1
    - Dst: cleanReaderForVTable
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2483,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2484,1
    - Dst: destroyTableScanBase
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2486,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2487,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2477
    functionDepth: 2
    functionLinenumber: 2477
    functionLinenumberEnd: 2489
    functionName: destroyTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - cleanReaderForVTable
    - destroyTableScanBase
    - taosHashCleanup
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyTableScanOperatorInfo(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2493,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pBlock
    - dataRequireFlag
    argTypes:
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2491
    functionDepth: 1
    functionLinenumber: 2491
    functionLinenumberEnd: 2501
    functionName: resetClolumnReserve
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void resetClolumnReserve(SSDataBlock* pBlock, int32_t dataRequireFlag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STableScanInfo*::base::readerAPI::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2524,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2528,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2529,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2531,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2531,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2537,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2541,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2541,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2545,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2546,1
    - Dst: initQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2547,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2549,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2549,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2553,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2554,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2555,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2559,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2560,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2561,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2503
    functionDepth: 11
    functionLinenumber: 2503
    functionLinenumberEnd: 2565
    functionName: resetTableScanOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosHashClear
    - memcpy
    - STableScanInfo*::base::readerAPI::tsdReaderClose
    - qError
    - tableListCreate
    - createScanTableListInfo
    - cleanupQueryTableDataCond
    - initQueryTableDataCond
    - memset
    - blockDataEmpty
    - tstrerror
    - initLimitInfo
    - taosArrayDestroy
    - tableListDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetTableScanOperatorState(SOperatorInfo* pOper)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2570,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2574,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2575,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2580,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2588,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2589,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2591,1
    - Dst: initQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2592,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2593,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2598,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2599,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2601,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2603,1
    - Dst: extractIntervalInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2609,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2614,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2617,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2618,1
    - Dst: resetClolumnReserve
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2619,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2620,1
    - Dst: prepareDataBlockBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2622,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2623,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2627,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2629,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2630,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2634,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2634,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2635,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2638,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2640,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2648,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2659,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2662,1
    - Dst: taosLRUCacheSetStrictCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2665,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2670,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2676,1
    - Dst: destroyTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2683,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2688,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 84
    argCount: 5
    argNames:
    - pTableScanNode
    - readHandle
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - STableScanPhysiNode*
    - SReadHandle*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2567
    functionDepth: 16
    functionLinenumber: 2567
    functionLinenumberEnd: 2692
    functionName: createTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 2
    functionsReached:
    - createOperatorFpSet
    - setOperatorResetStateFn
    - initQueryTableDataCond
    - extractColMatchInfo
    - memset
    - filterInitFromNode
    - memcpy
    - QRY_PARAM_CHECK
    - createExprInfo
    - taosHashInit
    - taosGetTimestampSec
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - taosLRUCacheInit
    - taosMemoryCalloc
    - createSqlFunctionCtx
    - extractIntervalInfo
    - initResultSizeInfo
    - setOperatorInfo
    - TSWAP
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - resetClolumnReserve
    - destroyOperator
    - initOperatorCostInfo
    - prepareDataBlockBuf
    - taosLRUCacheSetStrictCapacity
    - initLimitInfo
    - destroyTableScanOperatorInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTableScanOperatorInfo(STableScanPhysiNode* pTableScanNode,
      SReadHandle* readHandle,\n                                    STableListInfo*
      pTableListInfo, SExecTaskInfo* pTaskInfo,\n                                    SOperatorInfo**
      pOptrInfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2695,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2698,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2699,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2704,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2709,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2711,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2718,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pReadHandle
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - void*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2694
    functionDepth: 2
    functionLinenumber: 2694
    functionLinenumberEnd: 2727
    functionName: createTableSeqScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - setOperatorInfo
    - QRY_PARAM_CHECK
    - initOperatorCostInfo
    - createOperatorFpSet
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTableSeqScanOperatorInfo(void* pReadHandle, SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2735,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2736,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2739,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2740,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2742,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2743,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2744,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2747,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2748,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2750,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2751,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2752,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2753,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2754,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2756,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2757,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2758,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2758,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2759,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2760,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2761,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2763,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2763,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2772,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2773,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2777,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2779,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2779,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - pBlock
    - offset
    argTypes:
    - SSDataBlock*
    - STqOffsetVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2729
    functionDepth: 1
    functionLinenumber: 2729
    functionLinenumberEnd: 2782
    functionName: doBlockDataPrimaryKeyFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_CONDITION
    - colDataGetData
    - qError
    - VALUE_GET_TRIVIAL_DATUM
    - memcpy
    - taosArrayGet
    - varDataLen
    - QUERY_CHECK_CODE
    - varDataVal
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    - qDebug
    - taosMemoryMalloc
    - VALUE_GET_DATUM
    - IS_STR_DATA_BLOB
    - func
    - taosMemoryFree
    - tstrerror
    - getComparFunc
    - trimDataBlock
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t doBlockDataPrimaryKeyFilter(SSDataBlock* pBlock, STqOffsetVal*
      offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - param1
    - param2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2793
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2793
    functionName: colIdComparFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t colIdComparFn(const void* param1, const void* param2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2800,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2801,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2803,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2804,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2808,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STmqQueryScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2795
    functionDepth: 5
    functionLinenumber: 2795
    functionLinenumberEnd: 2811
    functionName: processBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - blockDataUpdateTsWindow
    - doFilter
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t processBlock(STmqQueryScanInfo* pInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: doBlockDataPrimaryKeyFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2818,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2820,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2820,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2823,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2828,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2830,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2831,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2834,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2834,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2835,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2836,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2837,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2837,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2837,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2839,1
    - Dst: tqOffsetResetToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2842,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2846,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2846,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - pBlock
    - hasPrimaryKey
    - offset
    argTypes:
    - SSDataBlock*
    - bool
    - STqOffsetVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2813
    functionDepth: 2
    functionLinenumber: 2813
    functionLinenumberEnd: 2849
    functionName: processPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - colDataGetData
    - doBlockDataPrimaryKeyFilter
    - qError
    - IS_STR_DATA_BLOB
    - QUERY_CHECK_NULL
    - varDataLen
    - tqOffsetResetToData
    - tstrerror
    - varDataVal
    - valueSetDatum
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t processPrimaryKey(SSDataBlock* pBlock, bool hasPrimaryKey,
      STqOffsetVal* offset)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2858,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2860,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2862,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2867,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2868,1
    - Dst: doTableScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2873,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2874,1
    - Dst: SStorageAPI*::tqReaderFn::tqGetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2877,1
    - Dst: processPrimaryKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2878,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2879,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2880,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2882,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2883,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2893,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2904,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2908,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderSeek
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2909,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2918,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2920,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderNextBlockInWal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2924,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderGetWalReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2935,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2938,1
    - Dst: SStorageAPI*::tqReaderFn::tqGetResultBlockTime
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2941,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2943,1
    - Dst: processBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2945,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2950,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2951,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2971,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2971,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2973,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2851
    functionDepth: 22
    functionLinenumber: 2851
    functionLinenumberEnd: 2977
    functionName: doQueueScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - processBlock
    - qError
    - processPrimaryKey
    - SStorageAPI*::tsdReader::tsdReaderClose
    - doTableScanNext
    - blockDataCleanup
    - taosGetTimestampMs
    - QUERY_CHECK_CODE
    - SStorageAPI*::tqReaderFn::tqReaderSeek
    - SStorageAPI*::tqReaderFn::tqGetTablePrimaryKey
    - T_LONG_JMP
    - SStorageAPI*::tqReaderFn::tqGetResultBlockTime
    - GET_TASKID
    - qDebug
    - SStorageAPI*::tqReaderFn::tqReaderGetWalReader
    - isTaskKilled
    - blockDataMerge
    - SStorageAPI*::tqReaderFn::tqReaderNextBlockInWal
    - tstrerror
    - tqOffsetResetToLog
    linkageType: ''
    returnType: int32_t
    signature: int32_t doQueueScanNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2982,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2983,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2987,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2988,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2990,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2991,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2992,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2993,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3000,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pTableListInfo
    - ppArrayRes
    argTypes:
    - STableListInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 2979
    functionDepth: 2
    functionLinenumber: 2979
    functionLinenumberEnd: 3003
    functionName: extractTableIdList
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tableListGetSize
    - taosArrayPush
    - qError
    - tableListGetInfo
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractTableIdList(const STableListInfo* pTableListInfo, SArray**
      ppArrayRes)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3015,1
    - Dst: SStorageAPI*::tsdReader::tsdNextDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3019,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3021,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3022,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3027,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3028,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderRetrieveDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3033,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3034,1
    - Dst: SStorageAPI*::snapshotFn::taosXGetTablePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3037,1
    - Dst: processPrimaryKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3038,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3039,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3040,1
    - Dst: SStorageAPI*::snapshotFn::getMetaTableInfoFromSnapshot
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3047,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3048,1
    - Dst: destroyMetaTableInfo
      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: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3055,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3056,1
    - Dst: tqOffsetResetToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3059,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3060,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3062,1
    - Dst: qStreamPrepareScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3063,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3064,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3069,1
    - Dst: SStorageAPI*::snapshotFn::getTableInfoFromSnapshot
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3075,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3076,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3077,1
    - Dst: tqOffsetResetToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3084,1
    - Dst: qStreamPrepareScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3085,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3086,1
    - Dst: tqOffsetResetToMeta
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3089,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3095,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3096,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3098,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3099,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3103,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3105,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3106,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3111,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3112,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3114,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3116,1
    - Dst: tEncodeMqMetaRsp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3117,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3119,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3120,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3121,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3122,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3125,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3126,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3127,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3129,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3130,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3132,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3145,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3145,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3147,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 105
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3005
    functionDepth: 3
    functionLinenumber: 3005
    functionLinenumberEnd: 3152
    functionName: doRawScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - qError
    - tqOffsetResetToMeta
    - tqOffsetResetToData
    - processPrimaryKey
    - qStreamPrepareScan
    - POINTER_SHIFT
    - SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
    - SStorageAPI*::snapshotFn::getMetaTableInfoFromSnapshot
    - tEncodeSize
    - tEncoderClear
    - taosGetTimestampMs
    - QUERY_CHECK_CODE
    - tEncoderInit
    - taosMemoryCalloc
    - destroyMetaTableInfo
    - T_LONG_JMP
    - SStorageAPI*::tsdReader::tsdReaderRetrieveDataBlock
    - QUERY_CHECK_NULL
    - qDebug
    - isTaskKilled
    - SStorageAPI*::snapshotFn::getTableInfoFromSnapshot
    - tEncodeMqMetaRsp
    - SStorageAPI*::tsdReader::tsdNextDataBlock
    - SStorageAPI*::snapshotFn::taosXGetTablePrimaryKey
    - taosArrayInit
    - tstrerror
    - tqOffsetResetToLog
    linkageType: ''
    returnType: int32_t
    signature: int32_t doRawScanNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STmqRawScanInfo*::pAPI::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3156,1
    - Dst: STmqRawScanInfo*::pAPI::snapshotFn::destroySnapshot
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3157,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3160
      start: 3154
    functionDepth: 2
    functionLinenumber: 3154
    functionLinenumberEnd: 3160
    functionName: destroyTmqRawScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - STmqRawScanInfo*::pAPI::tsdReader::tsdReaderClose
    - tableListDestroy
    - STmqRawScanInfo*::pAPI::snapshotFn::destroySnapshot
    linkageType: ''
    returnType: void
    signature: void destroyTmqRawScanOperatorInfo(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3171,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3175,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3176,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3182,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3184,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3185,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3191,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3194,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3201,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3201,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3203,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - pHandle
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3207
      start: 3165
    functionDepth: 2
    functionLinenumber: 3165
    functionLinenumberEnd: 3207
    functionName: createTmqRawScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - setOperatorInfo
    - QRY_PARAM_CHECK
    - tableListCreate
    - qError
    - initOperatorCostInfo
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - taosMemoryFree
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTmqRawScanOperatorInfo(SReadHandle* pHandle, SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3216,1
    - Dst: STmqQueryScanInfo*::readerFn::tqReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3220,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3224,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3228,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3229,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3232,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3235,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3237,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3209
    functionDepth: 6
    functionLinenumber: 3209
    functionLinenumberEnd: 3240
    functionName: destroyTmqScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - destroyExprInfo
    - taosMemoryFree
    - STmqQueryScanInfo*::readerFn::tqReaderClose
    - taosHashCleanup
    - cleanupExprSupp
    - blockDataDestroy
    - tableListDestroy
    - destroyOperator
    linkageType: ''
    returnType: void
    signature: void destroyTmqScanOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3249,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3250,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3254,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pBlock
    - type
    - bytes
    argTypes:
    - SSDataBlock*
    - uint8_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3257
      start: 3242
    functionDepth: 1
    functionLinenumber: 3242
    functionLinenumberEnd: 3257
    functionName: addPrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - QUERY_CHECK_NULL
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t addPrimaryKeyCol(SSDataBlock* pBlock, uint8_t type, int32_t
      bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3260,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3262,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pNodeList
    - pTsSlotId
    argTypes:
    - SNodeList*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3259
    functionDepth: 1
    functionLinenumber: 3259
    functionLinenumberEnd: 3267
    functionName: getTsSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    linkageType: ''
    returnType: void
    signature: void getTsSlotId(SNodeList* pNodeList, int32_t* pTsSlotId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3270,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3272,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3276,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pNodeList
    - pCol2SlotId
    argTypes:
    - SNodeList*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3285
      start: 3269
    functionDepth: 1
    functionLinenumber: 3269
    functionLinenumberEnd: 3285
    functionName: buildCol2SlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCol2SlotId(SNodeList* pNodeList, SHashObj* pCol2SlotId)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3290,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3294,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3295,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3303,1
    - Dst: getTsSlotId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3312,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3313,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3313,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3313,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3314,1
    - Dst: buildCol2SlotId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3315,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3316,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3319,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3319,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3319,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3320,1
    - Dst: createExpr
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3327,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3331,1
    - Dst: createTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3338,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3340,1
    - Dst: tableListGetGroupList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3351,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3352,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3360,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3361,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3364,1
    - Dst: extractTableIdList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3373,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3374,1
    - Dst: SStorageAPI*::tqReaderFn::tqReaderSetQueryTableList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3375,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3376,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3377,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3378,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3381,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3382,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3384,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3385,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3387,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3388,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3393,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3395,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3397,1
    - Dst: destroyTmqScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3409,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3414,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 91
    argCount: 6
    argNames:
    - pHandle
    - pTableScanNode
    - pTagCond
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - STableScanPhysiNode*
    - SNode*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3418
      start: 3287
    functionDepth: 17
    functionLinenumber: 3287
    functionLinenumberEnd: 3418
    functionName: createTmqScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - destroyTmqScanOperatorInfo
    - buildCol2SlotId
    - qError
    - createOperatorFpSet
    - getTsSlotId
    - taosArrayDestroy
    - filterInitFromNode
    - SStorageAPI*::tqReaderFn::tqReaderSetQueryTableList
    - memcpy
    - QRY_PARAM_CHECK
    - LIST_LENGTH
    - tableListGetGroupList
    - extractTableIdList
    - createExprInfo
    - taosHashInit
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - initExprSupp
    - taosMemoryCalloc
    - setOperatorInfo
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - createTableScanOperatorInfo
    - createExpr
    - destroyOperator
    - initOperatorCostInfo
    - SStorageAPI*::tqReaderFn::tqReaderOpen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTmqScanOperatorInfo(SReadHandle* pHandle, STableScanPhysiNode*
      pTableScanNode,\n                                                  SNode* pTagCond,
      STableListInfo* pTableListInfo,\n                                                  SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3428,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3430,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3430,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3431,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3432,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3436,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3437,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3439,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3439,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3440,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3446,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3450,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3451,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3452,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3454,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3455,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3457,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3458,1
    - Dst: SStorageAPI*::metaFn::extractTagVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3462,1
    - Dst: tTagValToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3466,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3471,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3472,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3473,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3475,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3477,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3484,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3484,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - pOperator
    - pRes
    - mr
    - pAPI
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SMetaReader*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3491
      start: 3420
    functionDepth: 2
    functionLinenumber: 3420
    functionLinenumberEnd: 3491
    functionName: doTagScanOneTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tTagValToData
    - taosArrayGet
    - qError
    - tableListGetInfo
    - GET_TASKID
    - tDecoderClear
    - STR_TO_VARSTR
    - colDataSetVal
    - SStorageAPI*::metaFn::extractTagVal
    - tTagIsJsonNull
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - tstrerror
    - IS_VAR_DATA_TYPE
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTagScanOneTable(SOperatorInfo* pOperator, SSDataBlock* pRes,
      SMetaReader* mr, SStorageAPI* pAPI)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3498
      start: 3493
    functionDepth: 0
    functionLinenumber: 3493
    functionLinenumberEnd: 3498
    functionName: tagScanFreeUidTag
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tagScanFreeUidTag(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3501,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3511,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pType
    - numOfRows
    - pParam
    argTypes:
    - SDataType*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3521
      start: 3500
    functionDepth: 1
    functionLinenumber: 3500
    functionLinenumberEnd: 3521
    functionName: tagScanCreateResultData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - colInfoDataEnsureCapacity
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t tagScanCreateResultData(SDataType* pType, int32_t numOfRows,
      SScalarParam* pParam)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3528,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3530,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3534,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3542,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3551,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3553,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3557,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3562,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3563,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3571,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3571,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3575
      start: 3523
    functionDepth: 5
    functionLinenumber: 3523
    functionLinenumberEnd: 3575
    functionName: tagScanRewriteTagColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - taosHashGet
    - QUERY_CHECK_NULL
    - taosHashPut
    - nodeType
    - nodesMakeNode
    - QUERY_CHECK_CODE
    - tstrerror
    - nodesDestroyNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes tagScanRewriteTagColumn(SNode** pNode, void* pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3581,1
    - Dst: createTagValBlockForFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3584,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3585,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3587,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3588,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3590,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3591,1
    - Dst: tagScanCreateResultData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3596,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3597,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3601,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3602,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3607,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3608,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3612,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3613,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3616,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3617,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3619,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 7
    argNames:
    - aUidTags
    - pTagCond
    - aFilterIdxs
    - pVnode
    - pAPI
    - pInfo
    - pStreamRuntimeInfo
    argTypes:
    - SArray*
    - SNode*
    - SArray*
    - void*
    - SStorageAPI*
    - STagScanInfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3622
      start: 3577
    functionDepth: 2
    functionLinenumber: 3577
    functionLinenumberEnd: 3622
    functionName: tagScanFilterByTagCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - tstrerror
    - qError
    - QUERY_CHECK_NULL
    - scalarCalculate
    - taosArrayGetSize
    - taosArrayInit
    - createTagValBlockForFilter
    - QUERY_CHECK_CODE
    - colDataDestroy
    - taosArrayDestroy
    - blockDataDestroy
    - tagScanCreateResultData
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tagScanFilterByTagCond(SArray* aUidTags, SNode* pTagCond,
      SArray* aFilterIdxs, void* pVnode,\n                                      SStorageAPI*
      pAPI, STagScanInfo* pInfo, void* pStreamRuntimeInfo)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3632,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3634,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3635,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3637,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3638,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3640,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3641,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3647,1
    - Dst: SStorageAPI*::metaFn::extractTagVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3649,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3652,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3654,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3655,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3656,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3657,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3658,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3660,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3661,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3663,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3664,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3665,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3666,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3667,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3669,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3670,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3677,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3677,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 7
    argNames:
    - pOperator
    - pUidTagInfo
    - pExprInfo
    - pColInfo
    - rowIndex
    - pAPI
    - pVnode
    argTypes:
    - SOperatorInfo*
    - STUidTagInfo*
    - SExprInfo*
    - SColumnInfoData*
    - int
    - SStorageAPI*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3680
      start: 3624
    functionDepth: 1
    functionLinenumber: 3624
    functionLinenumberEnd: 3680
    functionName: tagScanFillOneCellWithTag
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosMemoryMalloc
    - memcpy
    - qError
    - IS_STR_DATA_BLOB
    - SStorageAPI*::metaFn::extractTagVal
    - STR_TO_VARSTR
    - colDataSetVal
    - QUERY_CHECK_NULL
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - tstrerror
    - varDataSetLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tagScanFillOneCellWithTag(SOperatorInfo* pOperator, const
      STUidTagInfo* pUidTagInfo,\n                                         SExprInfo*
      pExprInfo, SColumnInfoData* pColInfo, int rowIndex,\n                                         const
      SStorageAPI* pAPI, void* pVnode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3689,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3691,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3692,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3693,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3695,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3696,1
    - Dst: tagScanFillOneCellWithTag
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3697,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3698,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3702,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3704,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3705,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3707,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3708,1
    - Dst: tagScanFillOneCellWithTag
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3709,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3710,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3717,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 6
    argNames:
    - pOperator
    - pRes
    - aUidTags
    - aFilterIdxs
    - ignoreFilterIdx
    - pAPI
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SArray*
    - SArray*
    - bool
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3720
      start: 3682
    functionDepth: 2
    functionLinenumber: 3682
    functionLinenumberEnd: 3720
    functionName: tagScanFillResultBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - tagScanFillOneCellWithTag
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tagScanFillResultBlock(SOperatorInfo* pOperator, SSDataBlock*
      pRes, SArray* aUidTags,\n                                      SArray* aFilterIdxs,
      bool ignoreFilterIdx, SStorageAPI* pAPI)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3731,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3736,1
    - Dst: SStorageAPI*::metaFn::openCtbCursor
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3739,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3740,1
    - Dst: SStorageAPI*::metaFn::resumeCtbCursor
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3742,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3743,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3751,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3752,1
    - Dst: SStorageAPI*::metaFn::ctbCursorNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3757,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3763,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3764,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3766,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3767,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3768,1
    - Dst: tagScanFilterByTagCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3778,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3779,1
    - Dst: tagScanFillResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3784,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3785,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3787,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3787,1
    - Dst: SStorageAPI*::metaFn::pauseCtbCursor
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3795,1
    - Dst: SStorageAPI*::metaFn::closeCtbCursor
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3798,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3800,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3804,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3806,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3813,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3813,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3815,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3819
      start: 3722
    functionDepth: 3
    functionLinenumber: 3722
    functionLinenumberEnd: 3819
    functionName: doTagScanFromCtbIdxNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaFn::closeCtbCursor
    - taosArrayPush
    - qError
    - SStorageAPI*::metaFn::resumeCtbCursor
    - memcpy
    - QRY_PARAM_CHECK
    - blockDataCleanup
    - applyLimitOffset
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - SStorageAPI*::metaFn::pauseCtbCursor
    - taosArrayClear
    - tagScanFillResultBlock
    - taosArrayClearEx
    - T_LONG_JMP
    - QUERY_CHECK_NULL
    - SStorageAPI*::metaFn::openCtbCursor
    - setOperatorCompleted
    - SStorageAPI*::metaFn::ctbCursorNext
    - taosMemoryMalloc
    - tstrerror
    - tagScanFilterByTagCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTagScanFromCtbIdxNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3836,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3837,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3839,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3847,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3852,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3821
    functionDepth: 1
    functionLinenumber: 3821
    functionLinenumberEnd: 3855
    functionName: createTagScanTableListInfoFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - GET_TASKID
    - qDebug
    - taosArrayClear
    - taosHashClear
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTagScanTableListInfoFromParam(SOperatorInfo* pOperator)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: createTagScanTableListInfoFromParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3864,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3865,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3867,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3884,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3887,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3888,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3891,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3897,1
    - Dst: doTagScanOneTable
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3901,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3907,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3910,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3914,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3915,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3917,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3922,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3928,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3928,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3930,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3933
      start: 3857
    functionDepth: 4
    functionLinenumber: 3857
    functionLinenumberEnd: 3933
    functionName: doTagScanFromMetaEntryNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tableListGetSize
    - T_LONG_JMP
    - freeOperatorParam
    - blockDataCleanup
    - setTaskStatus
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - applyLimitOffset
    - setOperatorCompleted
    - createTagScanTableListInfoFromParam
    - doTagScanOneTable
    - SStorageAPI*::metaReaderFn::clearReader
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTagScanFromMetaEntryNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STagScanInfo*::pStorageAPI::metaFn::closeCtbCursor
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3938,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3940,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3941,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3942,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3943,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3945,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3946,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3947,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3952
      start: 3935
    functionDepth: 2
    functionLinenumber: 3935
    functionLinenumberEnd: 3952
    functionName: destroyTagScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - STagScanInfo*::pStorageAPI::metaFn::closeCtbCursor
    - taosHashCleanup
    - taosArrayDestroy
    - blockDataDestroy
    - tableListDestroy
    linkageType: ''
    returnType: void
    signature: void destroyTagScanOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaFn::closeCtbCursor
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3970
      start: 3954
    functionDepth: 0
    functionLinenumber: 3954
    functionLinenumberEnd: 3970
    functionName: resetTagScanOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaFn::closeCtbCursor
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetTagScanOperatorState(SOperatorInfo* pOper)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3975,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3980,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3981,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3986,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3993,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3994,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3996,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3997,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4000,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4001,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4009,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4010,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4015,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4016,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4018,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4019,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4020,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4023,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4024,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4026,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4027,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4030,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4030,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4031,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4033,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4034,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4037,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4041,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4043,1
    - Dst: destroyTagScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4053,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4056,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 58
    argCount: 7
    argNames:
    - pReadHandle
    - pTagScanNode
    - pTableListInfo
    - pTagCond
    - pTagIndexCond
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - STagScanPhysiNode*
    - STableListInfo*
    - SNode*
    - SNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4059
      start: 3972
    functionDepth: 8
    functionLinenumber: 3972
    functionLinenumberEnd: 4059
    functionName: createTagScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 2
    functionsReached:
    - createOperatorFpSet
    - setOperatorResetStateFn
    - extractColMatchInfo
    - QRY_PARAM_CHECK
    - createExprInfo
    - taosHashInit
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - initExprSupp
    - taosMemoryCalloc
    - setOperatorInfo
    - initResultSizeInfo
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - destroyOperator
    - destroyTagScanOperatorInfo
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - nodesRewriteExprPostOrder
    - taosArrayInit
    - initLimitInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTagScanOperatorInfo(SReadHandle* pReadHandle, STagScanPhysiNode*
      pTagScanNode,\n                                  STableListInfo* pTableListInfo,
      SNode* pTagCond, SNode* pTagIndexCond,\n                                  SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4084
      start: 4063
    functionDepth: 0
    functionLinenumber: 4063
    functionLinenumberEnd: 4084
    functionName: subTblRowCompareTsFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 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:4107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4111
      start: 4086
    functionDepth: 2
    functionLinenumber: 4086
    functionLinenumberEnd: 4111
    functionName: subTblRowCompareTsPkFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tsortComparBlockCell
    linkageType: ''
    returnType: int32_t
    signature: int32_t subTblRowCompareTsPkFn(const void* pLeft, const void* pRight,
      void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4116,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4121,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4122,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4123,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4126,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4127,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4128,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4134,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4135,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4136,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - SQueryTableDataCond*
    - SQueryTableDataCond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4139
      start: 4113
    functionDepth: 1
    functionLinenumber: 4113
    functionLinenumberEnd: 4139
    functionName: dumpQueryTableCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taosMemoryFreeClear
    - qError
    - QUERY_CHECK_NULL
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t dumpQueryTableCond(const SQueryTableDataCond* src, SQueryTableDataCond*
      dst)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4152,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4154,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4155,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4156,1
    - Dst: SStorageAPI*::tsdReader::tsdNextDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4163,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4165,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4167,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4170,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4171,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4172,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4174,1
    - Dst: loadDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4188,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4191,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4207,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4209,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4213,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4221,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4221,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - pOperator
    - pInput
    - pSubTableHasBlock
    argTypes:
    - SOperatorInfo*
    - STmsSubTableInput*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4224
      start: 4141
    functionDepth: 16
    functionLinenumber: 4141
    functionLinenumberEnd: 4224
    functionName: fetchNextSubTableBlockFromReader
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::tsdReader::tsdReaderOpen
    - SStorageAPI*::tsdReader::tsdNextDataBlock
    - blockDataCleanup
    - tstrerror
    - qError
    - GET_TASKID
    - SStorageAPI*::tsdReader::tsdReaderClose
    - QUERY_CHECK_CODE
    - SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
    - loadDataBlock
    - isTaskKilled
    - tableListGetTableGroupId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t fetchNextSubTableBlockFromReader(SOperatorInfo* pOperator,
      STmsSubTableInput* pInput,\n                                                bool*
      pSubTableHasBlock)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4230,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4232,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4232,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4238,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4240,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableMergeScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4249
      start: 4226
    functionDepth: 2
    functionLinenumber: 4226
    functionLinenumberEnd: 4249
    functionName: setGroupStartEndIndex
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tableListGetSize
    - qError
    - tableListGetInfo
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t setGroupStartEndIndex(STableMergeScanInfo* pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4264,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4266,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4266,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pSubTblsInfo
    argTypes:
    - STmsSubTablesMergeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4274
      start: 4251
    functionDepth: 1
    functionLinenumber: 4251
    functionLinenumberEnd: 4274
    functionName: openSubTablesMergeSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - tMergeTreeCreate
    - taosArrayGet
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t openSubTablesMergeSort(STmsSubTablesMergeInfo* pSubTblsInfo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setGroupStartEndIndex
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4277,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4279,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4279,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4282,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4286,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4288,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4288,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4291,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4292,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4294,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4294,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4301,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4303,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4308,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4310,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableMergeScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4276
    functionDepth: 3
    functionLinenumber: 4276
    functionLinenumberEnd: 4319
    functionName: initSubTablesMergeInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - setGroupStartEndIndex
    - taosArrayGet
    - qError
    - taosMemoryFree
    - taosArrayGetSize
    - createDiskbasedBuf
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initSubTablesMergeInfo(STableMergeScanInfo* pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4337,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4338,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4339,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4341,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4342,1
    - Dst: SStorageAPI*::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4343,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4344,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4352,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4357,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4357,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - pInfo
    - pAPI
    - uid
    - pCond
    argTypes:
    - STableMergeScanInfo*
    - SStorageAPI*
    - uint64_t
    - SQueryTableDataCond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4361
      start: 4331
    functionDepth: 1
    functionLinenumber: 4331
    functionLinenumberEnd: 4361
    functionName: setSubTableCondSuidByUid
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - QUERY_CHECK_NULL
    - SStorageAPI*::metaReaderFn::readerReleaseLock
    - SStorageAPI*::metaReaderFn::clearReader
    - QUERY_CHECK_CODE
    - tstrerror
    - SStorageAPI*::metaReaderFn::getTableEntryByUid
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setSubTableCondSuidByUid(STableMergeScanInfo* pInfo, SStorageAPI*
      pAPI, uint64_t uid,\n                                        SQueryTableDataCond*
      pCond)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dumpQueryTableCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4376,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4377,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4379,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4380,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4382,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4383,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4385,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4387,1
    - Dst: setSubTableCondSuidByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4389,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4390,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4392,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4393,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4397,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4398,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4399,1
    - Dst: fetchNextSubTableBlockFromReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4406,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4407,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4420,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - pOperator
    - pInfo
    argTypes:
    - SOperatorInfo*
    - STableMergeScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4423
      start: 4363
    functionDepth: 17
    functionLinenumber: 4363
    functionLinenumberEnd: 4423
    functionName: initSubTableInputs
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - SStorageAPI*::tsdReader::tsdReaderOpen
    - setSubTableCondSuidByUid
    - qError
    - tableListGetInfo
    - GET_TASKID
    - QUERY_CHECK_NULL
    - createOneDataBlock
    - dumpQueryTableCond
    - QUERY_CHECK_CODE
    - tstrerror
    - isTaskKilled
    - fetchNextSubTableBlockFromReader
    linkageType: ''
    returnType: int32_t
    signature: int32_t initSubTableInputs(SOperatorInfo* pOperator, STableMergeScanInfo*
      pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4430,1
    - Dst: fetchNextSubTableBlockFromReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4432,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4433,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4444,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4444,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - pOperatorInfo
    - pSubTblsInfo
    argTypes:
    - SOperatorInfo*
    - STmsSubTablesMergeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4448
      start: 4425
    functionDepth: 17
    functionLinenumber: 4425
    functionLinenumberEnd: 4448
    functionName: adjustSubTableFromMemBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - fetchNextSubTableBlockFromReader
    - qError
    - QUERY_CHECK_CODE
    - tstrerror
    - tMergeTreeGetChosenIndex
    linkageType: ''
    returnType: void
    signature: void adjustSubTableFromMemBlock(SOperatorInfo* pOperatorInfo, STmsSubTablesMergeInfo*
      pSubTblsInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4452,1
    - Dst: adjustSubTableFromMemBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4459,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4462,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4464,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4464,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4472,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pOperatorInfo
    - pSubTblsInfo
    argTypes:
    - SOperatorInfo*
    - STmsSubTablesMergeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4473
      start: 4450
    functionDepth: 18
    functionLinenumber: 4450
    functionLinenumberEnd: 4473
    functionName: adjustSubTableForNextRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - qError
    - adjustSubTableFromMemBlock
    - tMergeTreeAdjust
    - tMergeTreeGetAdjustIndex
    - tstrerror
    - tMergeTreeGetChosenIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustSubTableForNextRow(SOperatorInfo* pOperatorInfo, STmsSubTablesMergeInfo*
      pSubTblsInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4478,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4481,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4482,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4483,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4485,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4486,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4487,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4490,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4491,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4494,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4495,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4496,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4506,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pSubTblsInfo
    - pBlock
    argTypes:
    - STmsSubTablesMergeInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4509
      start: 4475
    functionDepth: 1
    functionLinenumber: 4475
    functionLinenumberEnd: 4509
    functionName: appendChosenRowToDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - qError
    - QUERY_CHECK_NULL
    - colDataSetVal
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - colDataIsNull
    - tstrerror
    - tMergeTreeGetChosenIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendChosenRowToDataBlock(STmsSubTablesMergeInfo* pSubTblsInfo,
      SSDataBlock* pBlock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4520,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4522,1
    - Dst: appendChosenRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4531,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4532,1
    - Dst: adjustSubTableForNextRow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4534,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4535,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4542,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4546,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4558,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4558,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - capacity
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - int32_t
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4562
      start: 4511
    functionDepth: 19
    functionLinenumber: 4511
    functionLinenumberEnd: 4562
    functionName: getSubTablesSortedBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - adjustSubTableForNextRow
    - appendChosenRowToDataBlock
    - QRY_PARAM_CHECK
    - blockDataCleanup
    - qError
    - applyLimitOffset
    - QUERY_CHECK_CODE
    - tstrerror
    - isTaskKilled
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getSubTablesSortedBlock(SOperatorInfo* pOperator, SSDataBlock*
      pBlock, int32_t capacity,\n                                       SSDataBlock**
      pResBlock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initSubTablesMergeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4569,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4570,1
    - Dst: initSubTableInputs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4572,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4573,1
    - Dst: openSubTablesMergeSort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4575,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4576,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4580,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4583
      start: 4564
    functionDepth: 18
    functionLinenumber: 4564
    functionLinenumberEnd: 4583
    functionName: startSubTablesTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - initSubTablesMergeInfo
    - initSubTableInputs
    - qError
    - openSubTablesMergeSort
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t startSubTablesTableMergeScan(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4588,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4592,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4593,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4594,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4595,1
    - Dst: STableMergeScanInfo*::base::readerAPI::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4596,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4600,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4601,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableMergeScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4608
      start: 4585
    functionDepth: 2
    functionLinenumber: 4585
    functionLinenumberEnd: 4608
    functionName: stopSubTablesTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tMergeTreeDestroy
    - STableMergeScanInfo*::base::readerAPI::tsdReaderClose
    - destroyDiskbasedBuf
    - cleanupQueryTableDataCond
    - taosMemoryFree
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void stopSubTablesTableMergeScan(STableMergeScanInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4613,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4613,1
    - Dst: tsortGetSortExecInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4615,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4624
      start: 4610
    functionDepth: 3
    functionLinenumber: 4610
    functionLinenumberEnd: 4624
    functionName: stopDurationForGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - tsortDestroySortHandle
    - GET_TASKID
    - tsortGetSortExecInfo
    linkageType: ''
    returnType: void
    signature: void stopDurationForGroupTableMergeScan(SOperatorInfo* pOperator)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4646,1
    - Dst: stopSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4649,1
    - Dst: stopDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4652,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4655,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4661,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4670,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4674,1
    - Dst: dumpQueryTableCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4675,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4676,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4698,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4699,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4703,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4705,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4706,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4708,1
    - Dst: SStorageAPI*::metaReaderFn::initReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4710,1
    - Dst: SStorageAPI*::metaReaderFn::getTableEntryByName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4711,1
    - Dst: SStorageAPI*::metaReaderFn::readerReleaseLock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4712,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4713,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4716,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4718,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4721,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4724,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4724,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4727,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4727,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4729,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4733,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4733,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4738,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4738,1
    - Dst: SStorageAPI*::metaReaderFn::clearReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4740,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 80
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4742
      start: 4633
    functionDepth: 4
    functionLinenumber: 4633
    functionLinenumberEnd: 4742
    functionName: createVTableMergeScanInfoFromBatchParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - SStorageAPI*::metaReaderFn::initReader
    - qError
    - SStorageAPI*::tsdReader::tsdReaderClose
    - dumpQueryTableCond
    - taosHashClear
    - taosArrayGet
    - cleanupQueryTableDataCond
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClear
    - SStorageAPI*::metaReaderFn::getTableEntryByName
    - GET_TASKID
    - QUERY_CHECK_NULL
    - SStorageAPI*::metaReaderFn::readerReleaseLock
    - qDebug
    - stopDurationForGroupTableMergeScan
    - SStorageAPI*::metaReaderFn::clearReader
    - strstr
    - blockDataDestroy
    - taosHashCleanup
    - tstrerror
    - taosHashPut
    - stopSubTablesTableMergeScan
    linkageType: ''
    returnType: int32_t
    signature: int32_t createVTableMergeScanInfoFromBatchParam(SOperatorInfo* pOperator)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4752,1
    - Dst: createVTableMergeScanInfoFromBatchParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4760,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4761,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4763,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4768,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4769,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4771,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4772,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4778,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4784,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4785,1
    - Dst: startSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4787,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4788,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4793,1
    - Dst: getSubTablesSortedBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4797,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4798,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4801,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4802,1
    - Dst: getOneRowResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4804,1
    - Dst: stopSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4813,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4815,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4820,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4821,1
    - Dst: startSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4824,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4825,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4826,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4832,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4832,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4834,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4840
      start: 4744
    functionDepth: 20
    functionLinenumber: 4744
    functionLinenumberEnd: 4840
    functionName: doTableMergeScanParaSubTablesNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tableListGetSize
    - startSubTablesTableMergeScan
    - getOneRowResultBlock
    - T_LONG_JMP
    - freeOperatorParam
    - SOperatorInfo*::fpSet::_openFn
    - QRY_PARAM_CHECK
    - stopSubTablesTableMergeScan
    - tableListGetInfo
    - qError
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - QUERY_CHECK_CODE
    - tstrerror
    - isTaskKilled
    - resetLimitInfoForNextGroup
    - getSubTablesSortedBlock
    - createVTableMergeScanInfoFromBatchParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTableMergeScanParaSubTablesNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4850,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4851,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4852,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4856,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4860,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4865,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4865,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4867,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - uid
    - pTableMergeOpInfo
    argTypes:
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4869
      start: 4842
    functionDepth: 1
    functionLinenumber: 4842
    functionLinenumberEnd: 4869
    functionName: tableMergeScanDoSkipTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - qError
    - QUERY_CHECK_NULL
    - taosHashInit
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void tableMergeScanDoSkipTable(uint64_t uid, void* pTableMergeOpInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::tsdReader::tsdNextDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4880,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4882,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4883,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4883,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4888,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4889,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4890,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4890,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4891,1
    - Dst: loadDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4898,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4901,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4901,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - pOperator
    - pFinished
    - pSkipped
    argTypes:
    - SOperatorInfo*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4918
      start: 4871
    functionDepth: 16
    functionLinenumber: 4871
    functionLinenumberEnd: 4918
    functionName: doGetBlockForTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - SStorageAPI*::tsdReader::tsdNextDataBlock
    - qError
    - GET_TASKID
    - qInfo
    - SStorageAPI*::tsdReader::tsdReaderReleaseDataBlock
    - loadDataBlock
    - isTaskKilled
    linkageType: ''
    returnType: int32_t
    signature: int32_t doGetBlockForTableMergeScan(SOperatorInfo* pOperator, bool*
      pFinished, bool* pSkipped)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4929,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4933,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4934,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4941,1
    - Dst: doGetBlockForTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4954,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4955,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4958,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4959,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4967,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4970,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4975,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4975,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4996,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4998,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5009,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5009,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5013
      start: 4920
    functionDepth: 17
    functionLinenumber: 4920
    functionLinenumberEnd: 5013
    functionName: getBlockForTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - qError
    - GET_TASKID
    - createOneDataBlock
    - qDebug
    - QUERY_CHECK_CODE
    - tstrerror
    - tableListGetTableGroupId
    - blockDataDestroy
    - doGetBlockForTableMergeScan
    linkageType: ''
    returnType: int32_t
    signature: int32_t getBlockForTableMergeScan(void* param, SSDataBlock** ppBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5018,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5019,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5025,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5026,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5027,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5033,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5041,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5045,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5046,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5048,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5049,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5056,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5056,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - colMatchInfo
    - order
    - ppSortArray
    argTypes:
    - SArray*
    - int32_t
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5059
      start: 5015
    functionDepth: 1
    functionLinenumber: 5015
    functionLinenumberEnd: 5059
    functionName: generateSortByTsPkInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - getKeyComparFunc
    - qError
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t generateSortByTsPkInfo(SArray* colMatchInfo, int32_t order,
      SArray** ppSortArray)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - type
    - info
    - param
    argTypes:
    - ETsdReaderNotifyType
    - STsdReaderNotifyInfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5071
      start: 5061
    functionDepth: 1
    functionLinenumber: 5061
    functionLinenumberEnd: 5071
    functionName: tableMergeScanTsdbNotifyCb
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    linkageType: ''
    returnType: void
    signature: void tableMergeScanTsdbNotifyCb(ETsdReaderNotifyType type, STsdReaderNotifyInfo*
      info, void* param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5081,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5081,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5089,1
    - Dst: tsortSetSortByRowId
      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: tsortSetMergeLimit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5101,1
    - Dst: tsortSetMergeLimitReachedFp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5102,1
    - Dst: tsortSetAbortCheckFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5103,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5105,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5106,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5108,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5109,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5112,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5114,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5115,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5120,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5121,1
    - Dst: tsortSetSingleTableMerge
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5124,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5126,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5127,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5132,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5135
      start: 5073
    functionDepth: 9
    functionLinenumber: 5073
    functionLinenumberEnd: 5135
    functionName: startDurationForGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tsortSetSortByRowId
    - tsortSetMergeLimit
    - qError
    - tsortCreateSortHandle
    - GET_TASKID
    - QUERY_CHECK_NULL
    - tsortOpen
    - qDebug
    - tsortSetMergeLimitReachedFp
    - tsortSetAbortCheckFn
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - tstrerror
    - tsortAddSource
    - tsortSetSingleTableMerge
    - taosMemoryCalloc
    - tsortSetFetchRawDataFp
    linkageType: ''
    returnType: int32_t
    signature: int32_t startDurationForGroupTableMergeScan(SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5144,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5144,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5148,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5149,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5153,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5154,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5166,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5167,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5168,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5169,1
    - Dst: SStorageAPI*::tsdReader::tsdSetFilesetDelimited
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5171,1
    - Dst: SStorageAPI*::tsdReader::tsdSetSetNotifyCb
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5173,1
    - Dst: startDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5175,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5176,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5180,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5180,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5184
      start: 5137
    functionDepth: 10
    functionLinenumber: 5137
    functionLinenumberEnd: 5184
    functionName: startGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tableListGetSize
    - T_LONG_JMP
    - SStorageAPI*::tsdReader::tsdReaderOpen
    - SStorageAPI*::tsdReader::tsdSetFilesetDelimited
    - SStorageAPI*::tsdReader::tsdSetSetNotifyCb
    - qError
    - tableListGetInfo
    - GET_TASKID
    - QUERY_CHECK_NULL
    - qDebug
    - QUERY_CHECK_CODE
    - startDurationForGroupTableMergeScan
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void startGroupTableMergeScan(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stopDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5191,1
    - Dst: SStorageAPI*::tsdReader::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5194,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5199,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5205,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5206,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5208,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5209
      start: 5186
    functionDepth: 4
    functionLinenumber: 5186
    functionLinenumberEnd: 5209
    functionName: stopGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - GET_TASKID
    - blockDataDestroy
    - qDebug
    - stopDurationForGroupTableMergeScan
    - SStorageAPI*::tsdReader::tsdReaderClose
    - taosHashCleanup
    - resetLimitInfoForNextGroup
    linkageType: ''
    returnType: void
    signature: void stopGroupTableMergeScan(SOperatorInfo* pOperator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5219,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5224,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5226,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5226,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5227,1
    - Dst: tsortAppendTupleToBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5233,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5235,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5235,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5236,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5244,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5246,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5249,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5250,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5250,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - pHandle
    - pResBlock
    - capacity
    - pOperator
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5257
      start: 5213
    functionDepth: 4
    functionLinenumber: 5213
    functionLinenumberEnd: 5257
    functionName: getSortedTableMergeScanBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - tsortIsClosed
    - blockDataCleanup
    - qError
    - applyLimitOffset
    - GET_TASKID
    - tsortNextTuple
    - tsortAppendTupleToBlock
    - qDebug
    - tstrerror
    linkageType: ''
    returnType: SSDataBlock
    signature: "SSDataBlock * getSortedTableMergeScanBlockData(SSortHandle* pHandle,
      SSDataBlock* pResBlock, int32_t capacity,\n                                              SOperatorInfo*
      pOperator)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5270,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5271,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5274,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5275,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5281,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5286,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5287,1
    - Dst: startGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5289,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5294,1
    - Dst: getSortedTableMergeScanBlockData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5298,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5301,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5302,1
    - Dst: getOneRowResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5303,1
    - Dst: stopDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5311,1
    - Dst: startDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5312,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5313,1
    - Dst: stopGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5316,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5318,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5323,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5324,1
    - Dst: startGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5326,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5327,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5334,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5336,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5342
      start: 5259
    functionDepth: 11
    functionLinenumber: 5259
    functionLinenumberEnd: 5342
    functionName: doTableMergeScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - startGroupTableMergeScan
    - tableListGetSize
    - getOneRowResultBlock
    - stopGroupTableMergeScan
    - T_LONG_JMP
    - SOperatorInfo*::fpSet::_openFn
    - getSortedTableMergeScanBlockData
    - qError
    - tableListGetInfo
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - stopDurationForGroupTableMergeScan
    - QUERY_CHECK_CODE
    - startDurationForGroupTableMergeScan
    - tstrerror
    - isTaskKilled
    - resetLimitInfoForNextGroup
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTableMergeScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTableMergeScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5348
      start: 5344
    functionDepth: 12
    functionLinenumber: 5344
    functionLinenumberEnd: 5348
    functionName: doTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - doTableMergeScanNext
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * doTableMergeScan(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STableMergeScanInfo*::base::readerAPI::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5355,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5361,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5366,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5368,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5370,1
    - Dst: destroyTableScanBase
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5374,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5376,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5380,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5382,1
    - Dst: stopSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5384,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5387
      start: 5350
    functionDepth: 3
    functionLinenumber: 5350
    functionLinenumberEnd: 5387
    functionName: destroyTableMergeScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - STableMergeScanInfo*::base::readerAPI::tsdReaderClose
    - destroyTableScanBase
    - taosHashCleanup
    - tsortDestroySortHandle
    - taosArrayDestroy
    - blockDataDestroy
    - stopSubTablesTableMergeScan
    linkageType: ''
    returnType: void
    signature: void destroyTableMergeScanOperatorInfo(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5391,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5391,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5407
      start: 5389
    functionDepth: 1
    functionLinenumber: 5389
    functionLinenumberEnd: 5407
    functionName: getTableMergeScanExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - taosMemoryCalloc
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableMergeScanExplainExecInfo(SOperatorInfo* pOptr, void**
      pOptrExplain, uint32_t* len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STableMergeScanInfo*::base::readerAPI::tsdReaderClose
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5418,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5427,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5428,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5430,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5430,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5436,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5440,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5440,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5444,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5445,1
    - Dst: initQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5446,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5448,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5448,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5452,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5455,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5468,1
    - Dst: stopSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5476
      start: 5409
    functionDepth: 11
    functionLinenumber: 5409
    functionLinenumberEnd: 5476
    functionName: resetTableMergeScanOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tableListCreate
    - qError
    - createScanTableListInfo
    - STableMergeScanInfo*::base::readerAPI::tsdReaderClose
    - cleanupQueryTableDataCond
    - initQueryTableDataCond
    - taosHashCleanup
    - tstrerror
    - initLimitInfo
    - tsortDestroySortHandle
    - blockDataDestroy
    - tableListDestroy
    - stopSubTablesTableMergeScan
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetTableMergeScanOperatorState(SOperatorInfo* pOper)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5481,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5485,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5486,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5491,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5497,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5499,1
    - Dst: initQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5501,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5502,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5506,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5507,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5509,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5511,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5517,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5518,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5533,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5537,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5539,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5542,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5544,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5546,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5557,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5558,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5559,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5560,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5561,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5562,1
    - Dst: prepareDataBlockBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5568,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5569,1
    - Dst: generateSortByTsPkInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5571,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5572,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5574,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5575,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5580,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5582,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5585,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5586,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5594,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5598,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5602,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5609,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5609,1
    - Dst: destroyTableMergeScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5614,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5618,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 93
    argCount: 5
    argNames:
    - pTableScanNode
    - readHandle
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - STableScanPhysiNode*
    - SReadHandle*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5621
      start: 5478
    functionDepth: 16
    functionLinenumber: 5478
    functionLinenumberEnd: 5621
    functionName: createTableMergeScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 2
    functionsReached:
    - qError
    - createOperatorFpSet
    - setOperatorResetStateFn
    - blockDataGetRowSize
    - initQueryTableDataCond
    - extractColMatchInfo
    - memset
    - getProperSortPageSize
    - filterInitFromNode
    - memcpy
    - QRY_PARAM_CHECK
    - createOneDataBlock
    - createExprInfo
    - taosGetTimestampSec
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosLRUCacheInit
    - taosMemoryCalloc
    - createSqlFunctionCtx
    - initResultSizeInfo
    - setOperatorInfo
    - destroyTableMergeScanOperatorInfo
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - destroyOperator
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - prepareDataBlockBuf
    - tstrerror
    - initLimitInfo
    - generateSortByTsPkInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTableMergeScanOperatorInfo(STableScanPhysiNode* pTableScanNode,
      SReadHandle* readHandle,\n                                         STableListInfo*
      pTableListInfo, SExecTaskInfo* pTaskInfo,\n                                         SOperatorInfo**
      pOptrInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5648,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5652,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5656,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - scanCols
    - supp
    argTypes:
    - SNodeList*
    - STableCountScanSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5664
      start: 5644
    functionDepth: 1
    functionLinenumber: 5644
    functionLinenumberEnd: 5664
    functionName: tblCountScanGetGroupTagsSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t tblCountScanGetGroupTagsSlotId(const SNodeList* scanCols, STableCountScanSupp*
      supp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5648,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5652,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5656,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5661
      start: 5647
    functionDepth: 1
    functionLinenumber: 5647
    functionLinenumberEnd: 5661
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 48
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, scanCols)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5670,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pseudoCols
    - supp
    argTypes:
    - SNodeList*
    - STableCountScanSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5684
      start: 5666
    functionDepth: 1
    functionLinenumber: 5666
    functionLinenumberEnd: 5684
    functionName: tblCountScanGetCountSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t tblCountScanGetCountSlotId(const SNodeList* pseudoCols, STableCountScanSupp*
      supp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5670,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5681
      start: 5669
    functionDepth: 1
    functionLinenumber: 5669
    functionLinenumberEnd: 5681
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 48
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pseudoCols)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5690,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5694,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5697,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5702,1
    - Dst: tNameGetDbNameP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5702,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5703,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - groupTags
    - tableName
    - supp
    argTypes:
    - SNodeList*
    - SName*
    - STableCountScanSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5706
      start: 5686
    functionDepth: 1
    functionLinenumber: 5686
    functionLinenumberEnd: 5706
    functionName: tblCountScanGetInputs
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - tNameGetDbNameP
    - nodeType
    - tNameGetTableName
    - tstrncpy
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t tblCountScanGetInputs(SNodeList* groupTags, SName* tableName,
      STableCountScanSupp* supp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5690,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5694,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5700
      start: 5689
    functionDepth: 1
    functionLinenumber: 5689
    functionLinenumberEnd: 5700
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 48
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, groupTags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tblCountScanGetInputs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5711,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5713,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5713,1
    - Dst: tblCountScanGetGroupTagsSlotId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5721,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5723,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5723,1
    - Dst: tblCountScanGetCountSlotId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5727,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5729,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - groupTags
    - tableName
    - scanCols
    - pseudoCols
    - supp
    - taskInfo
    argTypes:
    - SNodeList*
    - SName*
    - SNodeList*
    - SNodeList*
    - STableCountScanSupp*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5733
      start: 5708
    functionDepth: 2
    functionLinenumber: 5708
    functionLinenumberEnd: 5733
    functionName: getTableCountScanSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - tblCountScanGetCountSlotId
    - GET_TASKID
    - tblCountScanGetGroupTagsSlotId
    - tblCountScanGetInputs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getTableCountScanSupp(SNodeList* groupTags, SName* tableName,
      SNodeList* scanCols, SNodeList* pseudoCols,\n                              STableCountScanSupp*
      supp, SExecTaskInfo* taskInfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5737,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5742,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5743,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5748,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5753,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5754,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5755,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5757,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5758,1
    - Dst: getTableCountScanSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5760,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5763,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5765,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5767,1
    - Dst: destoryTableCountScanOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5774,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - readHandle
    - pTblCountScanNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - STableCountScanPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5782
      start: 5735
    functionDepth: 6
    functionLinenumber: 5735
    functionLinenumberEnd: 5782
    functionName: createTableCountScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 2
    functionsReached:
    - initResultSizeInfo
    - setOperatorInfo
    - QRY_PARAM_CHECK
    - blockDataEnsureCapacity
    - getTableCountScanSupp
    - initOperatorCostInfo
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - destoryTableCountScanOperator
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - destroyOperator
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTableCountScanOperatorInfo(SReadHandle* readHandle,
      STableCountScanPhysiNode* pTblCountScanNode,\n                                         SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5789,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5789,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5790,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5791,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5794,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5794,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5796,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5796,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5797,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5798,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5802,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5803,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5804,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5806,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5806,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5807,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5807,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5808,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5809,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5811,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5816,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5817,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5818,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5819,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5825,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5825,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - pSupp
    - dbName
    - stbName
    - count
    - pRes
    argTypes:
    - STableCountScanSupp*
    - char*
    - char*
    - int64_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5828
      start: 5784
    functionDepth: 1
    functionLinenumber: 5784
    functionLinenumberEnd: 5828
    functionName: fillTableCountScanDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosArrayGet
    - QUERY_CHECK_CONDITION
    - qError
    - QUERY_CHECK_NULL
    - colDataSetVal
    - tstrncpy
    - QUERY_CHECK_CODE
    - tstrerror
    - varDataVal
    - strlen
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t fillTableCountScanDataBlock(STableCountScanSupp* pSupp, char*
      dbName, char* stbName, int64_t count,\n                                    SSDataBlock*
      pRes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5835,1
    - Dst: getPerfDbMeta
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5838,1
    - Dst: buildSysDbGroupedTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5841,1
    - Dst: buildSysDbFilterTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pOperator
    - pInfo
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5847
      start: 5830
    functionDepth: 1
    functionLinenumber: 5830
    functionLinenumberEnd: 5847
    functionName: buildSysDbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - getInfosDbMeta
    - getPerfDbMeta
    - buildSysDbFilterTableCount
    - buildSysDbGroupedTableCount
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * buildSysDbTableCount(SOperatorInfo* pOperator, STableCountScanOperatorInfo*
      pInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5854,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5856,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5857,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5858,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5859,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5860,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5861,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5862,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5863,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5864,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5865,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5866,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5869,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5870,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5875,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5875,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5877,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - pOperator
    - pSupp
    - pRes
    - infodbTableNum
    - perfdbTableNum
    argTypes:
    - SOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5880
      start: 5849
    functionDepth: 2
    functionLinenumber: 5849
    functionLinenumberEnd: 5880
    functionName: buildSysDbFilterTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - T_LONG_JMP
    - fillTableCountScanDataBlock
    - qError
    - setOperatorCompleted
    - QUERY_CHECK_CODE
    - tstrerror
    - strlen
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void buildSysDbFilterTableCount(SOperatorInfo* pOperator, STableCountScanSupp*
      pSupp, SSDataBlock* pRes,\n                                       size_t infodbTableNum,
      size_t perfdbTableNum)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5891,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5891,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5893,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5897,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5898,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5902,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5902,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5904,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5908,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5909,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5911,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5917,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5917,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5919,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 6
    argNames:
    - pOperator
    - pInfo
    - pSupp
    - pRes
    - infodbTableNum
    - perfdbTableNum
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5921
      start: 5882
    functionDepth: 2
    functionLinenumber: 5882
    functionLinenumberEnd: 5921
    functionName: buildSysDbGroupedTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - T_LONG_JMP
    - fillTableCountScanDataBlock
    - qError
    - setOperatorCompleted
    - QUERY_CHECK_CODE
    - tstrerror
    - calcGroupId
    - strlen
    linkageType: ''
    returnType: void
    signature: "void buildSysDbGroupedTableCount(SOperatorInfo* pOperator, STableCountScanOperatorInfo*
      pInfo,\n                                        STableCountScanSupp* pSupp,
      SSDataBlock* pRes, size_t infodbTableNum,\n                                        size_t
      perfdbTableNum)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5930,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5931,1
    - Dst: buildSysDbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5938,1
    - Dst: buildVnodeDbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5942,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5944,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5944,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5953
      start: 5923
    functionDepth: 2
    functionLinenumber: 5923
    functionLinenumberEnd: 5953
    functionName: doTableCountScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 0
    functionsReached:
    - buildSysDbTableCount
    - T_LONG_JMP
    - buildVnodeDbTableCount
    - QRY_PARAM_CHECK
    - blockDataCleanup
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTableCountScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5966,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5969,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5970,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5972,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5973,1
    - Dst: buildVnodeGroupedTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5976,1
    - Dst: buildVnodeFilteredTbCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5978,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5983,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - pSupp
    - pRes
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5988
      start: 5955
    functionDepth: 1
    functionLinenumber: 5955
    functionLinenumberEnd: 5988
    functionName: buildVnodeDbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - tNameFromString
    - buildVnodeFilteredTbCount
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    - QUERY_CHECK_CODE
    - tstrerror
    - buildVnodeGroupedTableCount
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildVnodeDbTableCount(SOperatorInfo* pOperator, STableCountScanOperatorInfo*
      pInfo,\n                                      STableCountScanSupp* pSupp, SSDataBlock*
      pRes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5999,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6000,1
    - Dst: SStorageAPI*::metaFn::storeGetTableList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6001,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6002,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6005,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6006,1
    - Dst: buildVnodeGroupedStbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6007,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6008,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6011,1
    - Dst: buildVnodeGroupedNtbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6012,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6013,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6017,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6020,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6020,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6024,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6025,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6026,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6027,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6032,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6032,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 6
    argNames:
    - pOperator
    - pInfo
    - pSupp
    - pRes
    - vgId
    - dbName
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6036
      start: 5990
    functionDepth: 2
    functionLinenumber: 5990
    functionLinenumberEnd: 6036
    functionName: buildVnodeGroupedTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - buildVnodeGroupedStbTableCount
    - SStorageAPI*::metaFn::storeGetTableList
    - buildVnodeGroupedNtbTableCount
    - fillTableCountScanDataBlock
    - qError
    - tstrerror
    - SStorageAPI*::metaFn::getBasicInfo
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayInit
    - calcGroupId
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildVnodeGroupedTableCount(SOperatorInfo* pOperator, STableCountScanOperatorInfo*
      pInfo,\n                                           STableCountScanSupp* pSupp,
      SSDataBlock* pRes, int32_t vgId, char* dbName)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6045,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6045,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6047,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6048,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6049,1
    - Dst: SStorageAPI*::metaFn::getTableUidByName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6051,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6054,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6055,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6057,1
    - Dst: SStorageAPI*::metaFn::getNumOfChildTables
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6060,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6061,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6063,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6064,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6068,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6069,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6070,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6076,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6076,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6079,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 5
    argNames:
    - pOperator
    - pInfo
    - pSupp
    - pRes
    - dbName
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6081
      start: 6038
    functionDepth: 2
    functionLinenumber: 6038
    functionLinenumberEnd: 6081
    functionName: buildVnodeFilteredTbCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - strlen
    - fillTableCountScanDataBlock
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    - setOperatorCompleted
    - QUERY_CHECK_CODE
    - tstrerror
    - SStorageAPI*::metaFn::getTableUidByName
    - SStorageAPI*::metaFn::getNumOfChildTables
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildVnodeFilteredTbCount(SOperatorInfo* pOperator, STableCountScanOperatorInfo*
      pInfo,\n                                         STableCountScanSupp* pSupp,
      SSDataBlock* pRes, char* dbName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6089,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6092,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6092,1
    - Dst: SStorageAPI*::metaFn::getBasicInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6096,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6099,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6104,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - pInfo
    - pSupp
    - pRes
    - dbName
    - pAPI
    argTypes:
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - char*
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6107
      start: 6083
    functionDepth: 2
    functionLinenumber: 6083
    functionLinenumberEnd: 6107
    functionName: buildVnodeGroupedNtbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - fillTableCountScanDataBlock
    - qError
    - SStorageAPI*::metaFn::getBasicInfo
    - snprintf
    - tstrerror
    - calcGroupId
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildVnodeGroupedNtbTableCount(STableCountScanOperatorInfo*
      pInfo, STableCountScanSupp* pSupp,\n                                              SSDataBlock*
      pRes, char* dbName, SStorageAPI* pAPI)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SStorageAPI*::metaFn::getTableNameByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6114,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6115,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6119,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6119,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6121,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6121,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6124,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6124,1
    - Dst: SStorageAPI*::metaFn::getNumOfChildTables
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6128,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6129,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6130,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6130,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6131,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 6
    argNames:
    - pInfo
    - pSupp
    - pRes
    - dbName
    - stbUid
    - pAPI
    argTypes:
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - char*
    - tb_uid_t
    - SStorageAPI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6138
      start: 6109
    functionDepth: 2
    functionLinenumber: 6109
    functionLinenumberEnd: 6138
    functionName: buildVnodeGroupedStbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - varDataVal
    - fillTableCountScanDataBlock
    - qError
    - SStorageAPI*::metaFn::getTableNameByUid
    - snprintf
    - QUERY_CHECK_CODE
    - tstrerror
    - calcGroupId
    - strlen
    - SStorageAPI*::metaFn::getNumOfChildTables
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildVnodeGroupedStbTableCount(STableCountScanOperatorInfo*
      pInfo, STableCountScanSupp* pSupp,\n                                              SSDataBlock*
      pRes, char* dbName, tb_uid_t stbUid, SStorageAPI* pAPI)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6142,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6144,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6146
      start: 6140
    functionDepth: 1
    functionLinenumber: 6140
    functionLinenumberEnd: 6146
    functionName: destoryTableCountScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - blockDataDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destoryTableCountScanOperator(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:31,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:34,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: mJoinGetFinBlkCapacity
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - TMAX
    - TMIN
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mJoinGetFinBlkCapacity(SMJoinOperatorInfo* pJoin, SSortMergeJoinPhysiNode*
      pJoinNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pInfo
    - blkRows
    argTypes:
    - SMJoinOperatorInfo*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: mJoinBlkReachThreshold
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE mJoinBlkReachThreshold(SMJoinOperatorInfo* pInfo, int64_t
      blkRows)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:56,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:57,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:62,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:62,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:70,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:74,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:76,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:80,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:82,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:84,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:84,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:94,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:97,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:99,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:102,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:103,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:103,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:104,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:111,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:111,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 138
    functionName: mWinJoinDumpGrpCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TMIN
    - mJoinNonEqCart
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    - GRP_DONE
    - MJ_ERR_RET
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinDumpGrpCache(SMJoinWindowCtx* pCtx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:143,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:147,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:147,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:159,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:159,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:160,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:162,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:162,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:167,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:170,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:170,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:185,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:185,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 199
    functionName: mOuterJoinHashFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - BLK_IS_FULL
    - mJoinHashGrpCart
    - GRP_DONE
    - mJoinCopyKeyColsDataToBuf
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mOuterJoinHashFullCart(SMJoinMergeCtx* pCtx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:206,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:208,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:211,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:212,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:216,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:218,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:223,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:225,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:228,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:228,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:237,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:240,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:242,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:245,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:246,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:246,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:247,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:254,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:254,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 277
    functionName: mOuterJoinMergeFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    - GRP_DONE
    - MJ_ERR_RET
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mOuterJoinMergeFullCart(SMJoinMergeCtx* pCtx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:282,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:284,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:287,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:297,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:297,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:306,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:308,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:315,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:316,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:316,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:317,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:325,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:325,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:333,1
    - Dst: mJoinFilterAndMarkRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:333,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:335,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:335,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:346,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:346,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:352,1
    - Dst: mJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:352,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:374,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:374,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 382
    functionName: mOuterJoinMergeSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - BLK_IS_FULL
    - mJoinFilterAndMarkRows
    - doFilter
    - GRP_DONE
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    - mJoinMergeGrpCart
    - mJoinCopyMergeMidBlk
    linkageType: ''
    returnType: int32_t
    signature: int32_t mOuterJoinMergeSeqCart(SMJoinMergeCtx* pCtx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:387,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:389,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:398,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:398,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:402,1
    - Dst: mJoinFilterAndMarkHashRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:402,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:404,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:404,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:414,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:414,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:422,1
    - Dst: mJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:422,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - pCtx
    - contLoop
    argTypes:
    - SMJoinMergeCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 384
    functionDepth: 5
    functionLinenumber: 384
    functionLinenumberEnd: 440
    functionName: mOuterJoinHashGrpCartFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - mJoinFilterAndMarkHashRows
    - doFilter
    - mJoinHashGrpCart
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    - mJoinCopyMergeMidBlk
    linkageType: ''
    returnType: int32_t
    signature: int32_t mOuterJoinHashGrpCartFilter(SMJoinMergeCtx* pCtx, bool* contLoop)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:446,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:448,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:454,1
    - Dst: mOuterJoinHashGrpCartFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:454,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:467,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:467,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:468,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:470,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:470,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:477,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:480,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:480,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:491,1
    - Dst: mJoinGetRowBitmapOffset
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:491,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:491,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:500,1
    - Dst: mOuterJoinHashGrpCartFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:500,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 443
    functionDepth: 6
    functionLinenumber: 443
    functionLinenumberEnd: 517
    functionName: mOuterJoinHashSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - BLK_IS_FULL
    - mOuterJoinHashGrpCartFilter
    - mJoinGetRowBitmapOffset
    - GRP_DONE
    - taosArrayGetSize
    - mJoinCopyKeyColsDataToBuf
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mOuterJoinHashSeqCart(SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mOuterJoinMergeFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:521,1
    - Dst: mOuterJoinMergeSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 6
    functionLinenumber: 520
    functionLinenumberEnd: 522
    functionName: mLeftJoinMergeCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mOuterJoinMergeSeqCart
    - mOuterJoinMergeFullCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mLeftJoinMergeCart(SMJoinMergeCtx* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:527,1
    - Dst: MJOIN_DS_NEED_INIT
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:531,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:532,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:537,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:544,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:546,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:549,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:551,1
    - Dst: MJOIN_BUILD_BLK_OOR
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:554,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - pCtx
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 526
    functionDepth: 5
    functionLinenumber: 526
    functionLinenumberEnd: 565
    functionName: mLeftJoinRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_DS_NEED_INIT
    - taosArrayGet
    - MJOIN_BUILD_BLK_OOR
    - mJoinRetrieveBlk
    - MJ_ERR_RET
    - mJoinSetDone
    linkageType: ''
    returnType: bool
    signature: bool mLeftJoinRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin, SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mOuterJoinHashFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:568,1
    - Dst: mOuterJoinHashSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 7
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: mLeftJoinHashCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mOuterJoinHashSeqCart
    - mOuterJoinHashFullCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mLeftJoinHashCart(SMJoinMergeCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 577
    functionName: mLeftJoinHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mJoinNonEqCart
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE mLeftJoinHandleGrpRemains(SMJoinMergeCtx* pCtx)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:588,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:591,1
    - Dst: mJoinHandleMidRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:591,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:592,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:599,1
    - Dst: mLeftJoinHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:599,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:600,1
    - Dst: mLeftJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:607,1
    - Dst: mJoinIsDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:608,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:615,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:616,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:619,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:619,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:620,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:624,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:627,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:631,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:631,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:634,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:634,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:635,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:639,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:640,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:641,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:642,1
    - Dst: mJoinProcessLowerGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:642,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:643,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:648,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:649,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:658,1
    - Dst: MJOIN_TB_GRP_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:658,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:666,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:666,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:667,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 579
    functionDepth: 6
    functionLinenumber: 579
    functionLinenumberEnd: 681
    functionName: mLeftJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_GET_TB_CUR_TS
    - mJoinBlkReachThreshold
    - MJOIN_BUILD_TB_ROWS_DONE
    - MJOIN_TB_GRP_ROWS_DONE
    - blockDataCleanup
    - mJoinIsDone
    - mJoinProcessEqualGrp
    - mJoinNonEqCart
    - mJoinHandleMidRemains
    - MJOIN_PROBE_TB_ROWS_DONE
    - PROBE_TS_NMATCH
    - mLeftJoinRetrieve
    - MJOIN_GET_TB_COL_TS
    - MJ_ERR_JRET
    - PROBE_TS_NREACH
    - mLeftJoinHandleGrpRemains
    - mJoinProcessLowerGrp
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * mLeftJoinDo(struct SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinResetGroupTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:692,1
    - Dst: mJoinResetGroupTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 694
    functionName: mLeftJoinGroupReset
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mJoinResetGroupTableCtx
    linkageType: ''
    returnType: void
    signature: void mLeftJoinGroupReset(SMJoinOperatorInfo* pJoin)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:701,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:703,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:706,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:707,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:711,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:713,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:718,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:720,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:723,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:723,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:732,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:735,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:737,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:740,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:741,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:741,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:742,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:749,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:749,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 772
    functionName: mInnerJoinMergeCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    - GRP_DONE
    - MJ_ERR_RET
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mInnerJoinMergeCart(SMJoinMergeCtx* pCtx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:778,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:780,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:785,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:785,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:797,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:797,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:798,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:802,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:807,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:807,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 822
    functionName: mInnerJoinHashCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - BLK_IS_FULL
    - mJoinHashGrpCart
    - GRP_DONE
    - mJoinCopyKeyColsDataToBuf
    - MJ_ERR_RET
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mInnerJoinHashCart(SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 826
    functionName: mInnerJoinHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE mInnerJoinHandleGrpRemains(SMJoinMergeCtx* pCtx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:830,1
    - Dst: MJOIN_DS_NEED_INIT
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:834,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:835,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:839,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:844,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:846,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:849,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:851,1
    - Dst: MJOIN_BUILD_BLK_OOR
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:854,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - pCtx
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 829
    functionDepth: 5
    functionLinenumber: 829
    functionLinenumberEnd: 865
    functionName: mInnerJoinRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_DS_NEED_INIT
    - taosArrayGet
    - MJOIN_BUILD_BLK_OOR
    - mJoinRetrieveBlk
    - MJ_ERR_RET
    - mJoinSetDone
    linkageType: ''
    returnType: bool
    signature: bool mInnerJoinRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin, SMJoinMergeCtx* pCtx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:877,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:880,1
    - Dst: mInnerJoinHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:880,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:881,1
    - Dst: mInnerJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:888,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:892,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:893,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:896,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:896,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:897,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:901,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:901,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:905,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:906,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:907,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:914,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:914,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:915,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:919,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:919,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:923,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:924,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:928,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:930,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:935,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 868
    functionDepth: 6
    functionLinenumber: 868
    functionLinenumberEnd: 952
    functionName: mInnerJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mInnerJoinRetrieve
    - MJOIN_GET_TB_CUR_TS
    - mJoinBlkReachThreshold
    - MJOIN_BUILD_TB_ROWS_DONE
    - blockDataCleanup
    - mInnerJoinHandleGrpRemains
    - mJoinProcessEqualGrp
    - MJOIN_PROBE_TB_ROWS_DONE
    - PROBE_TS_NMATCH
    - MJOIN_GET_TB_COL_TS
    - MJ_ERR_JRET
    - mJoinSetDone
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * mInnerJoinDo(struct SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:959,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 954
    functionDepth: 3
    functionLinenumber: 954
    functionLinenumberEnd: 960
    functionName: mFullJoinHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mJoinNonEqCart
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE mFullJoinHandleGrpRemains(SMJoinMergeCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:963,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pOperator
    - pJoin
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 971
    functionName: mFullJoinRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mJoinRetrieveBlk
    linkageType: ''
    returnType: bool
    signature: bool mFullJoinRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mOuterJoinHashFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:974,1
    - Dst: mOuterJoinHashSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 973
    functionDepth: 7
    functionLinenumber: 973
    functionLinenumberEnd: 975
    functionName: mFullJoinHashCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mOuterJoinHashSeqCart
    - mOuterJoinHashFullCart
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE mFullJoinHashCart(SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mOuterJoinMergeFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:978,1
    - Dst: mOuterJoinMergeSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 977
    functionDepth: 6
    functionLinenumber: 977
    functionLinenumberEnd: 979
    functionName: mFullJoinMergeCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mOuterJoinMergeSeqCart
    - mOuterJoinMergeFullCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mFullJoinMergeCart(SMJoinMergeCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:983,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:985,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pCtx
    - pGrpRows
    - idx
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinHashGrpRows*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 992
    functionName: mFullJoinOutputHashRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    - taosArrayGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE mFullJoinOutputHashRow(SMJoinMergeCtx* pCtx, SMJoinHashGrpRows*
      pGrpRows, int32_t idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:995,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:996,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:997,1
    - Dst: mFullJoinOutputHashRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:997,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pCtx
    - pGrpRows
    - pNMatch
    - grpDone
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinHashGrpRows*
    - SMJoinNMatchCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 994
    functionDepth: 3
    functionLinenumber: 994
    functionLinenumberEnd: 1006
    functionName: mFullJoinOutputHashGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mFullJoinOutputHashRow
    - MJ_ERR_RET
    - taosArrayGetSize
    - BLK_IS_FULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t mFullJoinOutputHashGrpRows(SMJoinMergeCtx* pCtx, SMJoinHashGrpRows*
      pGrpRows, SMJoinNMatchCtx* pNMatch, bool* grpDone)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1013,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1021,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1030,1
    - Dst: mFullJoinOutputHashGrpRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1030,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1031,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1033,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1041,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1046,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1047,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1055,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1058,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1062,1
    - Dst: mFullJoinOutputHashRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1062,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1063,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1064,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1071,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1073,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1082,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1008
    functionDepth: 4
    functionLinenumber: 1008
    functionLinenumberEnd: 1090
    functionName: mFullJoinHandleHashGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mFullJoinOutputHashRow
    - MJOIN_SET_ROW_BITMAP
    - BLK_IS_FULL
    - mFullJoinOutputHashGrpRows
    - taosArrayGetSize
    - tSimpleHashIterate
    - MJ_ERR_RET
    - BitmapLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t mFullJoinHandleHashGrpRemains(SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pCtx
    - pGrpRows
    - idx
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinGrpRows*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1092
    functionDepth: 2
    functionLinenumber: 1092
    functionLinenumberEnd: 1098
    functionName: mFullJoinOutputMergeRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mJoinNonEqGrpCart
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE mFullJoinOutputMergeRow(SMJoinMergeCtx* pCtx, SMJoinGrpRows*
      pGrpRows, int32_t idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1102,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1103,1
    - Dst: mFullJoinOutputMergeRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pCtx
    - pGrpRows
    - pNMatch
    - grpDone
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinGrpRows*
    - SMJoinNMatchCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1112
    functionName: mFullJoinOutputMergeGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJ_ERR_RET
    - mFullJoinOutputMergeRow
    - BLK_IS_FULL
    linkageType: ''
    returnType: int32_t
    signature: int32_t mFullJoinOutputMergeGrpRows(SMJoinMergeCtx* pCtx, SMJoinGrpRows*
      pGrpRows, SMJoinNMatchCtx* pNMatch, bool* grpDone)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1122,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1126,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1128,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1141,1
    - Dst: mFullJoinOutputMergeGrpRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1141,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1143,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1156,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1165,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1168,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1172,1
    - Dst: mFullJoinOutputMergeRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1172,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1174,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1182,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1187,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1115
    functionDepth: 4
    functionLinenumber: 1115
    functionLinenumberEnd: 1202
    functionName: mFullJoinHandleMergeGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - BLK_IS_FULL
    - mFullJoinOutputMergeGrpRows
    - MJOIN_SET_ROW_BITMAP
    - mFullJoinOutputMergeRow
    - taosArrayGetSize
    - MJ_ERR_RET
    - BitmapLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t mFullJoinHandleMergeGrpRemains(SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mFullJoinHandleHashGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1205,1
    - Dst: mFullJoinHandleMergeGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1204
    functionDepth: 5
    functionLinenumber: 1204
    functionLinenumberEnd: 1206
    functionName: mFullJoinHandleBuildTableRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mFullJoinHandleMergeGrpRemains
    - mFullJoinHandleHashGrpRemains
    linkageType: ''
    returnType: int32_t
    signature: int32_t mFullJoinHandleBuildTableRemains(SMJoinMergeCtx* pCtx)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1217,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1220,1
    - Dst: mJoinHandleMidRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1220,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1221,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1228,1
    - Dst: mFullJoinHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1228,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1229,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1236,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1236,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1237,1
    - Dst: mFullJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1243,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1245,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1245,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1246,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1251,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1255,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1256,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1259,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1259,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1260,1
    - Dst: FJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1264,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1267,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1272,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1272,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1273,1
    - Dst: FJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1278,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1278,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1281,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1281,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1282,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1286,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1287,1
    - Dst: FJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1289,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1290,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1290,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1291,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1299,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1300,1
    - Dst: mJoinProcessLowerGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1300,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1302,1
    - Dst: mJoinProcessGreaterGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1302,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1305,1
    - Dst: FJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1310,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1312,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1312,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1313,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1325,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1325,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1326,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1331,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1333,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1333,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1334,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1346,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1346,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1347,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 120
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1208
    functionDepth: 6
    functionLinenumber: 1208
    functionLinenumberEnd: 1362
    functionName: mFullJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_GET_TB_CUR_TS
    - mJoinBlkReachThreshold
    - MJOIN_BUILD_TB_ROWS_DONE
    - blockDataCleanup
    - mFullJoinHandleBuildTableRemains
    - mJoinProcessEqualGrp
    - FJOIN_PROBE_TB_ROWS_DONE
    - mJoinNonEqCart
    - mJoinHandleMidRemains
    - mFullJoinRetrieve
    - PROBE_TS_NMATCH
    - mFullJoinHandleGrpRemains
    - MJOIN_GET_TB_COL_TS
    - mJoinProcessGreaterGrp
    - MJ_ERR_JRET
    - mJoinSetDone
    - mJoinProcessLowerGrp
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * mFullJoinDo(struct SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1370,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1372,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1372,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1375,1
    - Dst: mJoinFilterAndKeepSingleRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1375,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1387,1
    - Dst: mJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pCtx
    - probeGrp
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinGrpRows*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1365
    functionDepth: 5
    functionLinenumber: 1365
    functionLinenumberEnd: 1394
    functionName: mSemiJoinHashGrpCartFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - blockDataCleanup
    - mJoinFilterAndKeepSingleRow
    - mJoinHashGrpCart
    - MJ_ERR_RET
    - mJoinCopyMergeMidBlk
    linkageType: ''
    returnType: int32_t
    signature: int32_t mSemiJoinHashGrpCartFilter(SMJoinMergeCtx* pCtx, SMJoinGrpRows*
      probeGrp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1400,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1402,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1407,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1407,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1408,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1412,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1421,1
    - Dst: mSemiJoinHashGrpCartFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1397
    functionDepth: 6
    functionLinenumber: 1397
    functionLinenumberEnd: 1428
    functionName: mSemiJoinHashSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - BLK_IS_FULL
    - GRP_DONE
    - mJoinCopyKeyColsDataToBuf
    - mSemiJoinHashGrpCartFilter
    - MJ_ERR_RET
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mSemiJoinHashSeqCart(SMJoinMergeCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1434,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1436,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1441,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1441,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1442,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1446,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1454,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1431
    functionDepth: 2
    functionLinenumber: 1431
    functionLinenumberEnd: 1461
    functionName: mSemiJoinHashFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - BLK_IS_FULL
    - mJoinHashGrpCart
    - GRP_DONE
    - mJoinCopyKeyColsDataToBuf
    - MJ_ERR_RET
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mSemiJoinHashFullCart(SMJoinMergeCtx* pCtx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1467,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1469,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1473,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1478,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1478,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1484,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1486,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1488,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1491,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1492,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1492,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1493,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1501,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1501,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1508,1
    - Dst: mJoinFilterAndKeepSingleRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1508,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1517,1
    - Dst: mJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1517,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1534,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1534,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1464
    functionDepth: 5
    functionLinenumber: 1464
    functionLinenumberEnd: 1542
    functionName: mSemiJoinMergeSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - BLK_IS_FULL
    - blockDataCleanup
    - mJoinFilterAndKeepSingleRow
    - GRP_DONE
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    - MJ_ERR_RET
    - mJoinMergeGrpCart
    - mJoinCopyMergeMidBlk
    linkageType: ''
    returnType: int32_t
    signature: int32_t mSemiJoinMergeSeqCart(SMJoinMergeCtx* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1549,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1550,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1552,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1555,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1562,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1562,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1569,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1545
    functionDepth: 2
    functionLinenumber: 1545
    functionLinenumberEnd: 1576
    functionName: mSemiJoinMergeFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJ_ERR_RET
    - mJoinMergeGrpCart
    - taosArrayGet
    - GRP_REMAIN_ROWS
    linkageType: ''
    returnType: int32_t
    signature: int32_t mSemiJoinMergeFullCart(SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mSemiJoinHashFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1580,1
    - Dst: mSemiJoinHashSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1579
    functionDepth: 7
    functionLinenumber: 1579
    functionLinenumberEnd: 1581
    functionName: mSemiJoinHashCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mSemiJoinHashSeqCart
    - mSemiJoinHashFullCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mSemiJoinHashCart(SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mSemiJoinMergeFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1584,1
    - Dst: mSemiJoinMergeSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1583
    functionDepth: 6
    functionLinenumber: 1583
    functionLinenumberEnd: 1585
    functionName: mSemiJoinMergeCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mSemiJoinMergeSeqCart
    - mSemiJoinMergeFullCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mSemiJoinMergeCart(SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1589
    functionName: mSemiJoinHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE mSemiJoinHandleGrpRemains(SMJoinMergeCtx* pCtx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1601,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1604,1
    - Dst: mSemiJoinHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1604,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1605,1
    - Dst: mInnerJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1612,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1616,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1617,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1620,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1620,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1621,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1625,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1625,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1629,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1630,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1631,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1638,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1638,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1639,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1643,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1643,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1647,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1648,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1652,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1654,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1659,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1592
    functionDepth: 6
    functionLinenumber: 1592
    functionLinenumberEnd: 1676
    functionName: mSemiJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mInnerJoinRetrieve
    - MJOIN_GET_TB_CUR_TS
    - mJoinBlkReachThreshold
    - mSemiJoinHandleGrpRemains
    - MJOIN_BUILD_TB_ROWS_DONE
    - blockDataCleanup
    - mJoinProcessEqualGrp
    - MJOIN_PROBE_TB_ROWS_DONE
    - PROBE_TS_NMATCH
    - MJOIN_GET_TB_COL_TS
    - MJ_ERR_JRET
    - mJoinSetDone
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * mSemiJoinDo(struct SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1679
    functionDepth: 3
    functionLinenumber: 1679
    functionLinenumberEnd: 1685
    functionName: mAntiJoinHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mJoinNonEqCart
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE mAntiJoinHandleGrpRemains(SMJoinMergeCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1690,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1692,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1698,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1698,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1699,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1701,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1701,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1706,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1709,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1709,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1687
    functionDepth: 2
    functionLinenumber: 1687
    functionLinenumberEnd: 1717
    functionName: mAntiJoinHashFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - BLK_IS_FULL
    - GRP_DONE
    - mJoinCopyKeyColsDataToBuf
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAntiJoinHashFullCart(SMJoinMergeCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1725,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1727,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1727,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1730,1
    - Dst: mJoinFilterAndNoKeepRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1730,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1738,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1738,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pCtx
    - probeGrp
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinGrpRows*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1720
    functionDepth: 5
    functionLinenumber: 1720
    functionLinenumberEnd: 1746
    functionName: mAntiJoinHashGrpCartFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mJoinFilterAndNoKeepRows
    - blockDataCleanup
    - mJoinHashGrpCart
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAntiJoinHashGrpCartFilter(SMJoinMergeCtx* pCtx, SMJoinGrpRows*
      probeGrp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1752,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1754,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1760,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1760,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1761,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1763,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1763,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1768,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1771,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1771,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1780,1
    - Dst: mAntiJoinHashGrpCartFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1780,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1749
    functionDepth: 6
    functionLinenumber: 1749
    functionLinenumberEnd: 1787
    functionName: mAntiJoinHashSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - BLK_IS_FULL
    - mAntiJoinHashGrpCartFilter
    - GRP_DONE
    - mJoinCopyKeyColsDataToBuf
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAntiJoinHashSeqCart(SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1791
    functionName: mAntiJoinMergeFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAntiJoinMergeFullCart(SMJoinMergeCtx* pCtx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1796,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1798,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1802,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1807,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1807,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1813,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1815,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1817,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1820,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1821,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1821,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1822,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1830,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1830,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1837,1
    - Dst: mJoinFilterAndNoKeepRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1837,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1849,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1849,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1859,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1859,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1793
    functionDepth: 5
    functionLinenumber: 1793
    functionLinenumberEnd: 1867
    functionName: mAntiJoinMergeSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mJoinFilterAndNoKeepRows
    - taosArrayGet
    - BLK_IS_FULL
    - blockDataCleanup
    - GRP_DONE
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAntiJoinMergeSeqCart(SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mAntiJoinHashFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1871,1
    - Dst: mAntiJoinHashSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1870
    functionDepth: 7
    functionLinenumber: 1870
    functionLinenumberEnd: 1872
    functionName: mAntiJoinHashCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mAntiJoinHashFullCart
    - mAntiJoinHashSeqCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAntiJoinHashCart(SMJoinMergeCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mAntiJoinMergeFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1875,1
    - Dst: mAntiJoinMergeSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1874
    functionDepth: 6
    functionLinenumber: 1874
    functionLinenumberEnd: 1876
    functionName: mAntiJoinMergeCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mAntiJoinMergeFullCart
    - mAntiJoinMergeSeqCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAntiJoinMergeCart(SMJoinMergeCtx* pCtx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1887,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1890,1
    - Dst: mAntiJoinHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1890,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1891,1
    - Dst: mLeftJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1898,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1902,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1903,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1906,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1906,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1907,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1911,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1914,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1918,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1918,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1921,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1921,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1922,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1926,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1927,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1928,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1929,1
    - Dst: mJoinProcessLowerGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1929,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1930,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1935,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1936,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1945,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1953,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1953,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1954,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1878
    functionDepth: 6
    functionLinenumber: 1878
    functionLinenumberEnd: 1968
    functionName: mAntiJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_GET_TB_CUR_TS
    - mJoinBlkReachThreshold
    - MJOIN_BUILD_TB_ROWS_DONE
    - blockDataCleanup
    - mJoinProcessEqualGrp
    - mAntiJoinHandleGrpRemains
    - mJoinNonEqCart
    - MJOIN_PROBE_TB_ROWS_DONE
    - PROBE_TS_NMATCH
    - mLeftJoinRetrieve
    - MJOIN_GET_TB_COL_TS
    - MJ_ERR_JRET
    - PROBE_TS_NREACH
    - mJoinProcessLowerGrp
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * mAntiJoinDo(struct SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - pCache
    - jLimit
    - newRows
    - evictRows
    argTypes:
    - SMJoinWinCache*
    - int64_t
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1971
    functionDepth: 1
    functionLinenumber: 1971
    functionLinenumberEnd: 1989
    functionName: mAsofBackwardCalcRowNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofBackwardCalcRowNum(SMJoinWinCache* pCache, int64_t jLimit,
      int32_t newRows, int32_t* evictRows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mAsofBackwardCalcRowNum
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1994,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1996,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1996,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCtx
    - pGrp
    - fromBegin
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinGrpRows*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1991
    functionDepth: 2
    functionLinenumber: 1991
    functionLinenumberEnd: 2001
    functionName: mAsofBackwardAddRowsToCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - blockDataMergeNRows
    - blockDataTrimFirstRows
    - MJ_ERR_RET
    - mAsofBackwardCalcRowNum
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofBackwardAddRowsToCache(SMJoinWindowCtx* pCtx, SMJoinGrpRows*
      pGrp, bool fromBegin)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2011,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2013,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2016,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2022,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2025,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2040,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2041,1
    - Dst: mAsofBackwardAddRowsToCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2041,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2048,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2048,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2048,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 4
    argNames:
    - pOperator
    - pCtx
    - pTable
    - timestamp
    argTypes:
    - struct SOperatorInfo*
    - SMJoinWindowCtx*
    - SMJoinTableCtx*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2004
    functionDepth: 3
    functionLinenumber: 2004
    functionLinenumberEnd: 2062
    functionName: mAsofBackwardAddEqRowsToCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - mAsofBackwardAddRowsToCache
    - TMIN
    - GET_TASKID
    - colDataGetNumData
    - qDebug
    - MJOIN_TBTYPE
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofBackwardAddEqRowsToCache(struct SOperatorInfo* pOperator,
      SMJoinWindowCtx* pCtx, SMJoinTableCtx* pTable, int64_t timestamp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2066,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2072,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2079,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2079,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2087,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2087,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2091,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2091,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2099,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2105,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2105,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2118,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2118,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2127,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2127,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2064
    functionDepth: 3
    functionLinenumber: 2064
    functionLinenumberEnd: 2136
    functionName: mAsofBackwardDumpGrpCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mJoinNonEqCart
    - GRP_DONE
    - GRP_REMAIN_ROWS
    - MJ_ERR_RET
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofBackwardDumpGrpCache(SMJoinWindowCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2140,1
    - Dst: mAsofBackwardDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2140,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2150,1
    - Dst: mAsofBackwardAddEqRowsToCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2150,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2157,1
    - Dst: mAsofBackwardDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - pCtx
    - pJoin
    - lastBuildGrp
    - skipEqPost
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinOperatorInfo*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2138
    functionDepth: 4
    functionLinenumber: 2138
    functionLinenumberEnd: 2162
    functionName: mAsofBackwardDumpUpdateEqRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mAsofBackwardDumpGrpCache
    - mAsofBackwardAddEqRowsToCache
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofBackwardDumpUpdateEqRows(SMJoinWindowCtx* pCtx, SMJoinOperatorInfo*
      pJoin, bool lastBuildGrp, bool skipEqPost)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2172,1
    - Dst: mJoinBuildEqGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2172,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2174,1
    - Dst: mAsofBackwardDumpUpdateEqRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pCtx
    - timestamp
    - lastBuildGrp
    argTypes:
    - SMJoinWindowCtx*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2164
    functionDepth: 5
    functionLinenumber: 2164
    functionLinenumberEnd: 2177
    functionName: mAsofBackwardProcessEqualGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJ_ERR_RET
    - mAsofBackwardDumpUpdateEqRows
    - mJoinBuildEqGrp
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofBackwardProcessEqualGrp(SMJoinWindowCtx* pCtx, int64_t
      timestamp, bool lastBuildGrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2188,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2189,1
    - Dst: mAsofBackwardDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - pCtx
    - pJoin
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinOperatorInfo*
    - SColumnInfoData*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2180
    functionDepth: 4
    functionLinenumber: 2180
    functionLinenumberEnd: 2198
    functionName: mAsofBackwardHandleClosedGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mAsofBackwardDumpGrpCache
    - PROBE_TS_NMATCH
    - MJOIN_GET_TB_CUR_TS
    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: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2208,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2209,1
    - Dst: mAsofBackwardAddRowsToCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - pCtx
    - pJoin
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinOperatorInfo*
    - SColumnInfoData*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2200
    functionDepth: 3
    functionLinenumber: 2200
    functionLinenumberEnd: 2222
    functionName: mAsofBackwardHandleUnclosedGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - PROBE_TS_NREACH
    - mAsofBackwardAddRowsToCache
    - MJOIN_GET_TB_CUR_TS
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofBackwardHandleUnclosedGrp(SMJoinWindowCtx* pCtx, SMJoinOperatorInfo*
      pJoin, SColumnInfoData* pCol,  int64_t* probeTs, int64_t* buildTs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mAsofBackwardDumpUpdateEqRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2225,1
    - Dst: mAsofBackwardDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2224
    functionDepth: 5
    functionLinenumber: 2224
    functionLinenumberEnd: 2226
    functionName: mAsofBackwardHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mAsofBackwardDumpGrpCache
    - mAsofBackwardDumpUpdateEqRows
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofBackwardHandleGrpRemains(SMJoinWindowCtx* pCtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2231,1
    - Dst: MJOIN_DS_NEED_INIT
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2235,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2236,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2241,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2252,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2254,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2257,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - pOperator
    - pJoin
    - pCtx
    - newBlock
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    - SMJoinWindowCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2228
    functionDepth: 5
    functionLinenumber: 2228
    functionLinenumberEnd: 2266
    functionName: mAsofBackwardRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_DS_NEED_INIT
    - blockDataEnsureCapacity
    - createOneDataBlock
    - mJoinRetrieveBlk
    - MJ_ERR_RET
    - mJoinSetDone
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofBackwardRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin, SMJoinWindowCtx* pCtx, bool* newBlock)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2279,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2282,1
    - Dst: mAsofBackwardHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2282,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2283,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2290,1
    - Dst: mAsofBackwardRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2290,1
    - Dst: mJoinIsDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2292,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:2300,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2303,1
    - Dst: mAsofBackwardProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2303,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2304,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2308,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2311,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2317,1
    - Dst: mAsofBackwardAddEqRowsToCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2317,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2318,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2321,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2321,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2324,1
    - Dst: mAsofBackwardProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2324,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2325,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2329,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2330,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2334,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2335,1
    - Dst: mAsofBackwardHandleClosedGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2335,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2337,1
    - Dst: mAsofBackwardHandleUnclosedGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2337,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2340,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2345,1
    - Dst: MJOIN_TB_GRP_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2345,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2350,1
    - Dst: mAsofBackwardDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2350,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2355,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 74
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2269
    functionDepth: 6
    functionLinenumber: 2269
    functionLinenumberEnd: 2369
    functionName: mAsofBackwardJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_GET_TB_COL_TS
    - MJOIN_GET_TB_CUR_TS
    - mJoinBlkReachThreshold
    - MJOIN_BUILD_TB_ROWS_DONE
    - MJOIN_TB_GRP_ROWS_DONE
    - blockDataCleanup
    - mJoinIsDone
    - mAsofBackwardAddEqRowsToCache
    - mAsofBackwardDumpGrpCache
    - mAsofBackwardHandleClosedGrp
    - MJOIN_PROBE_TB_ROWS_DONE
    - PROBE_TS_NMATCH
    - mAsofBackwardHandleUnclosedGrp
    - mAsofBackwardHandleGrpRemains
    - mAsofBackwardProcessEqualGrp
    - MJ_ERR_JRET
    - mAsofBackwardRetrieve
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * mAsofBackwardJoinDo(struct SOperatorInfo* pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2372,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2376,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2378,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2382,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2382,1
    - Dst: MJOIN_SAVE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2371
    functionDepth: 1
    functionLinenumber: 2371
    functionLinenumberEnd: 2389
    functionName: mAsofForwardTrimCacheBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - MJOIN_SAVE_TB_BLK
    - blockDataTrimFirstRows
    - taosArrayGetSize
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofForwardTrimCacheBlk(SMJoinWindowCtx* pCtx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2396,1
    - Dst: mAsofForwardTrimCacheBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2396,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2400,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2402,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2404,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2409,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2409,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2416,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2417,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2420,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2422,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2439,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2439,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2439,1
    - Dst: MJOIN_PUSH_BLK_TO_CACHE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2448,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2452,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2452,1
    - Dst: MJOIN_RESTORE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2458,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2391
    functionDepth: 2
    functionLinenumber: 2391
    functionLinenumberEnd: 2461
    functionName: mAsofForwardChkFillGrpCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - GET_TASKID
    - qDebug
    - blockDataMergeNRows
    - taosArrayGetSize
    - taosArrayPop
    - MJOIN_TBTYPE
    - MJ_ERR_RET
    - mAsofForwardTrimCacheBlk
    - MJOIN_PUSH_BLK_TO_CACHE
    - MJOIN_RESTORE_TB_BLK
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofForwardChkFillGrpCache(SMJoinWindowCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2464,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2469,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2471,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2475,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2484,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2486,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2463
    functionDepth: 1
    functionLinenumber: 2463
    functionLinenumberEnd: 2492
    functionName: mAsofForwardUpdateBuildGrpEndIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJ_ERR_RET
    - taosArrayGet
    - taosArrayGetSize
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofForwardUpdateBuildGrpEndIdx(SMJoinWindowCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_SAVE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2496,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2497,1
    - Dst: mAsofForwardChkFillGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2497,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2500,1
    - Dst: mAsofForwardUpdateBuildGrpEndIdx
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2500,1
    - Dst: mWinJoinDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCtx
    - lastBuildGrp
    argTypes:
    - SMJoinWindowCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2494
    functionDepth: 4
    functionLinenumber: 2494
    functionLinenumberEnd: 2503
    functionName: mAsofForwardFillDumpGrpCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_SAVE_TB_BLK
    - mWinJoinDumpGrpCache
    - MJ_ERR_RET
    - mAsofForwardUpdateBuildGrpEndIdx
    - mAsofForwardChkFillGrpCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofForwardFillDumpGrpCache(SMJoinWindowCtx* pCtx, bool lastBuildGrp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2506,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2508,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2511,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2519,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - pCtx
    - pTable
    - timestamp
    - wholeBlk
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinTableCtx*
    - int64_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2538
    functionName: mAsofForwardSkipEqRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - colDataGetNumData
    - MJ_ERR_RET
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofForwardSkipEqRows(SMJoinWindowCtx* pCtx, SMJoinTableCtx*
      pTable, int64_t timestamp, bool* wholeBlk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2547,1
    - Dst: mAsofForwardSkipEqRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2547,1
    - Dst: MJOIN_POP_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2552,1
    - Dst: MJOIN_RESTORE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2553,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2554,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2564,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2564,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2564,1
    - Dst: MJOIN_PUSH_BLK_TO_CACHE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2572,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - pCtx
    - timestamp
    argTypes:
    - SMJoinWindowCtx*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2540
    functionDepth: 2
    functionLinenumber: 2540
    functionLinenumberEnd: 2576
    functionName: mAsofForwardSkipAllEqRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mAsofForwardSkipEqRows
    - MJOIN_BUILD_TB_ROWS_DONE
    - GET_TASKID
    - qDebug
    - MJOIN_TBTYPE
    - MJOIN_POP_TB_BLK
    - MJ_ERR_RET
    - MJOIN_PUSH_BLK_TO_CACHE
    - MJOIN_RESTORE_TB_BLK
    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:2581,1
    - Dst: mAsofForwardSkipAllEqRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2581,1
    - Dst: mAsofForwardFillDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pCtx
    - timestamp
    - lastBuildGrp
    argTypes:
    - SMJoinWindowCtx*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2585
      start: 2579
    functionDepth: 5
    functionLinenumber: 2579
    functionLinenumberEnd: 2585
    functionName: mAsofForwardUpdateDumpEqRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mAsofForwardFillDumpGrpCache
    - MJ_ERR_RET
    - mAsofForwardSkipAllEqRows
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofForwardUpdateDumpEqRows(SMJoinWindowCtx* pCtx, int64_t
      timestamp, bool lastBuildGrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2593,1
    - Dst: mJoinBuildEqGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2593,1
    - Dst: mAsofForwardUpdateDumpEqRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pCtx
    - timestamp
    - lastBuildGrp
    argTypes:
    - SMJoinWindowCtx*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2588
    functionDepth: 6
    functionLinenumber: 2588
    functionLinenumberEnd: 2596
    functionName: mAsofForwardProcessEqualGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJ_ERR_RET
    - mAsofForwardUpdateDumpEqRows
    - mJoinBuildEqGrp
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofForwardProcessEqualGrp(SMJoinWindowCtx* pCtx, int64_t
      timestamp, bool lastBuildGrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2606,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2607,1
    - Dst: mAsofForwardFillDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - pCtx
    - pJoin
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinOperatorInfo*
    - SColumnInfoData*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2616
      start: 2598
    functionDepth: 5
    functionLinenumber: 2598
    functionLinenumberEnd: 2616
    functionName: mAsofForwardHandleProbeGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mAsofForwardFillDumpGrpCache
    - PROBE_TS_NMATCH
    - MJOIN_GET_TB_CUR_TS
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofForwardHandleProbeGrp(SMJoinWindowCtx* pCtx, SMJoinOperatorInfo*
      pJoin, SColumnInfoData* pCol,  int64_t* probeTs, int64_t* buildTs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2620,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2621,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2627,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2628,1
    - Dst: MJOIN_POP_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2636,1
    - Dst: MJOIN_RESTORE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2637,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2638,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - pCtx
    - pJoin
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinOperatorInfo*
    - SColumnInfoData**
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2642
      start: 2618
    functionDepth: 1
    functionLinenumber: 2618
    functionLinenumberEnd: 2642
    functionName: mAsofForwardSkipBuildGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_GET_TB_CUR_TS
    - MJOIN_BUILD_TB_ROWS_DONE
    - MJOIN_GET_TB_COL_TS
    - MJOIN_POP_TB_BLK
    - PROBE_TS_NREACH
    - MJOIN_RESTORE_TB_BLK
    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: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2647,1
    - Dst: MJOIN_DS_NEED_INIT
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2651,1
    - Dst: MJOIN_SAVE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2653,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2655,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2660,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2667,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2668,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2670,1
    - Dst: MJOIN_BUILD_BLK_OOR
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2673,1
    - Dst: MJOIN_POP_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2675,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2687,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2689,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2692,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2692,1
    - Dst: MJOIN_PUSH_BLK_TO_CACHE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2695,1
    - Dst: MJOIN_RESTORE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2696,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 4
    argNames:
    - pOperator
    - pJoin
    - pCtx
    - newBlock
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    - SMJoinWindowCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2644
    functionDepth: 5
    functionLinenumber: 2644
    functionLinenumberEnd: 2703
    functionName: mAsofForwardRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_DS_NEED_INIT
    - MJOIN_PUSH_BLK_TO_CACHE
    - taosArrayGet
    - MJOIN_BUILD_BLK_OOR
    - MJOIN_SAVE_TB_BLK
    - blockDataEnsureCapacity
    - createOneDataBlock
    - mJoinRetrieveBlk
    - MJOIN_POP_TB_BLK
    - MJ_ERR_RET
    - mJoinSetDone
    - MJOIN_RESTORE_TB_BLK
    linkageType: ''
    returnType: int32_t
    signature: int32_t mAsofForwardRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin, SMJoinWindowCtx* pCtx, bool* newBlock)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2716,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2719,1
    - Dst: mWinJoinDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2719,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2720,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2727,1
    - Dst: mAsofForwardRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2727,1
    - Dst: mJoinIsDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2729,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2736,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2737,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2740,1
    - Dst: mAsofForwardProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2740,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2741,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2745,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2748,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2752,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2752,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2755,1
    - Dst: mAsofForwardProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2755,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2756,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:2761,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2765,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2766,1
    - Dst: mAsofForwardHandleProbeGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2766,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2767,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2769,1
    - Dst: mAsofForwardSkipBuildGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2769,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2772,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2777,1
    - Dst: MJOIN_TB_GRP_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2777,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2782,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2782,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2786,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2706
    functionDepth: 7
    functionLinenumber: 2706
    functionLinenumberEnd: 2800
    functionName: mAsofForwardJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_GET_TB_COL_TS
    - MJOIN_GET_TB_CUR_TS
    - mJoinBlkReachThreshold
    - MJOIN_BUILD_TB_ROWS_DONE
    - MJOIN_TB_GRP_ROWS_DONE
    - blockDataCleanup
    - mJoinIsDone
    - mJoinNonEqCart
    - mAsofForwardRetrieve
    - MJOIN_PROBE_TB_ROWS_DONE
    - PROBE_TS_NMATCH
    - mAsofForwardSkipBuildGrp
    - mWinJoinDumpGrpCache
    - MJ_ERR_JRET
    - mAsofForwardHandleProbeGrp
    - mAsofForwardProcessEqualGrp
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * mAsofForwardJoinDo(struct SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mWinJoinResetWindowCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2811,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:2814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2802
    functionDepth: 3
    functionLinenumber: 2802
    functionLinenumberEnd: 2815
    functionName: mAsofJoinGroupReset
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mJoinResetGroupTableCtx
    - mWinJoinResetWindowCache
    linkageType: ''
    returnType: void
    signature: void mAsofJoinGroupReset(SMJoinOperatorInfo* pJoin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2820,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2822,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pGrp
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinGrpRows*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2817
    functionDepth: 1
    functionLinenumber: 2817
    functionLinenumberEnd: 2826
    functionName: mWinJoinPopFrontGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - blockDataCleanup
    - blockDataDestroy
    - taosArrayPopFrontBatch
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE mWinJoinPopFrontGroup(SMJoinWindowCtx* pCtx, SMJoinGrpRows*
      pGrp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2831,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2836,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2838,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2845,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2847,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2851,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2828
    functionDepth: 1
    functionLinenumber: 2828
    functionLinenumberEnd: 2864
    functionName: mWinJoinCloneCacheBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGetLast
    - blockDataExtractBlock
    - createOneDataBlock
    - taosArrayGetSize
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinCloneCacheBlk(SMJoinWindowCtx* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2869,1
    - Dst: MJOIN_DS_NEED_INIT
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2873,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2875,1
    - Dst: mWinJoinCloneCacheBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2875,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2878,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2883,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2890,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2891,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2893,1
    - Dst: MJOIN_BUILD_BLK_OOR
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2896,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - pOperator
    - pJoin
    - pCtx
    - newBlock
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    - SMJoinWindowCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2866
    functionDepth: 5
    functionLinenumber: 2866
    functionLinenumberEnd: 2910
    functionName: mWinJoinRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_DS_NEED_INIT
    - taosArrayGet
    - MJOIN_BUILD_BLK_OOR
    - mWinJoinCloneCacheBlk
    - mJoinRetrieveBlk
    - MJ_ERR_RET
    - mJoinSetDone
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin, SMJoinWindowCtx* pCtx, bool* newBlock)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2914,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2916,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2938,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2940,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2977,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2979,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - pCtx
    - pCache
    - build
    - winEnd
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinWinCache*
    - SMJoinTableCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2912
    functionDepth: 1
    functionLinenumber: 2912
    functionLinenumberEnd: 3002
    functionName: mWinJoinTryAddWinBeginBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - MJ_ERR_RET
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinTryAddWinBeginBlk(SMJoinWindowCtx* pCtx, SMJoinWinCache*
      pCache, SMJoinTableCtx* build, bool* winEnd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3011,1
    - Dst: mWinJoinTryAddWinBeginBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3011,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3012,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3023,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3023,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3023,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3031,1
    - Dst: mWinJoinTryAddWinBeginBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3031,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3032,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3006
    functionDepth: 2
    functionLinenumber: 3006
    functionLinenumberEnd: 3040
    functionName: mWinJoinAddWinBeginBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mWinJoinTryAddWinBeginBlk
    - GET_TASKID
    - qDebug
    - taosArrayGetSize
    - MJOIN_TBTYPE
    - MJ_ERR_RET
    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:3047,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3049,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3051,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3054,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3056,1
    - Dst: mWinJoinPopFrontGroup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3060,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3085,1
    - Dst: mWinJoinAddWinBeginBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3101,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 3043
    functionDepth: 3
    functionLinenumber: 3043
    functionLinenumberEnd: 3102
    functionName: mWinJoinMoveAscWinBegin
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TSWAP
    - mWinJoinPopFrontGroup
    - mWinJoinAddWinBeginBlk
    - taosArrayGetSize
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinMoveAscWinBegin(SMJoinWindowCtx* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3108,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3110,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3112,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3115,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3117,1
    - Dst: mWinJoinPopFrontGroup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3121,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3147,1
    - Dst: mWinJoinAddWinBeginBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3163,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3164
      start: 3104
    functionDepth: 3
    functionLinenumber: 3104
    functionLinenumberEnd: 3164
    functionName: mWinJoinMoveDescWinBegin
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TSWAP
    - mWinJoinPopFrontGroup
    - mWinJoinAddWinBeginBlk
    - taosArrayGetSize
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinMoveDescWinBegin(SMJoinWindowCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3173,1
    - Dst: mWinJoinPopFrontGroup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3166
    functionDepth: 2
    functionLinenumber: 3166
    functionLinenumberEnd: 3185
    functionName: mWinJoinRemoveOverflowGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mWinJoinPopFrontGroup
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: void mWinJoinRemoveOverflowGrp(SMJoinWindowCtx* pCtx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3189,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3191,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3208,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3210,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3238,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3240,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3261,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3263,1
    - Dst: mWinJoinRemoveOverflowGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3271,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3286,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3288,1
    - Dst: mWinJoinRemoveOverflowGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3294,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 87
    argCount: 4
    argNames:
    - pCtx
    - pCache
    - build
    - winEnd
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinWinCache*
    - SMJoinTableCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3303
      start: 3187
    functionDepth: 3
    functionLinenumber: 3187
    functionLinenumberEnd: 3303
    functionName: mWinJoinTryAddWinEndBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mWinJoinRemoveOverflowGrp
    - taosArrayPush
    - MJ_ERR_RET
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinTryAddWinEndBlk(SMJoinWindowCtx* pCtx, SMJoinWinCache*
      pCache, SMJoinTableCtx* build, bool* winEnd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3309,1
    - Dst: mWinJoinTryAddWinEndBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3309,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3320,1
    - Dst: mWinJoinCloneCacheBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3320,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3323,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3323,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3323,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3331,1
    - Dst: mWinJoinTryAddWinEndBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3331,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3305
    functionDepth: 4
    functionLinenumber: 3305
    functionLinenumberEnd: 3340
    functionName: mWinJoinAddWinEndBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_TBTYPE
    - mWinJoinCloneCacheBlk
    - GET_TASKID
    - qDebug
    - MJ_ERR_RET
    - mWinJoinTryAddWinEndBlk
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinAddWinEndBlk(SMJoinWindowCtx* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3344,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3349,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3351,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3354,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3356,1
    - Dst: mWinJoinAddWinEndBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3390,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3391
      start: 3342
    functionDepth: 5
    functionLinenumber: 3342
    functionLinenumberEnd: 3391
    functionName: mWinJoinMoveAscWinEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetLast
    - mWinJoinAddWinEndBlk
    - taosArrayGetSize
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinMoveAscWinEnd(SMJoinWindowCtx* pCtx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3395,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3400,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3402,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3405,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3407,1
    - Dst: mWinJoinAddWinEndBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3434,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3393
    functionDepth: 5
    functionLinenumber: 3393
    functionLinenumberEnd: 3435
    functionName: mWinJoinMoveDescWinEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetLast
    - mWinJoinAddWinEndBlk
    - taosArrayGetSize
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinMoveDescWinEnd(SMJoinWindowCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3439,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3438
    functionDepth: 1
    functionLinenumber: 3438
    functionLinenumberEnd: 3443
    functionName: mWinJoinMoveFillWinCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinMoveFillWinCache(SMJoinWindowCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3450,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3452,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3454,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:3458,1
    - Dst: mWinJoinPopFrontGroup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3459,1
    - Dst: mWinJoinDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3445
    functionDepth: 4
    functionLinenumber: 3445
    functionLinenumberEnd: 3475
    functionName: mWinJoinTrimDumpGrpCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - mWinJoinPopFrontGroup
    - taosArrayGetSize
    - GRP_REMAIN_ROWS
    - mWinJoinDumpGrpCache
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mWinJoinTrimDumpGrpCache(SMJoinWindowCtx* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3485,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3488,1
    - Dst: mWinJoinDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3488,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3489,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3496,1
    - Dst: mWinJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3496,1
    - Dst: mJoinIsDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3498,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3505,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3507,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3508,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3510,1
    - Dst: mJoinBuildEqGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3510,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3516,1
    - Dst: mWinJoinMoveFillWinCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3516,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3519,1
    - Dst: mWinJoinTrimDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3519,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3521,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3477
    functionDepth: 6
    functionLinenumber: 3477
    functionLinenumberEnd: 3535
    functionName: mWinJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - MJOIN_GET_TB_COL_TS
    - MJOIN_GET_TB_CUR_TS
    - mJoinBlkReachThreshold
    - mJoinBuildEqGrp
    - blockDataCleanup
    - mJoinIsDone
    - mWinJoinTrimDumpGrpCache
    - MJOIN_PROBE_TB_ROWS_DONE
    - mWinJoinDumpGrpCache
    - mWinJoinRetrieve
    - MJ_ERR_JRET
    - mWinJoinMoveFillWinCache
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * mWinJoinDo(struct SOperatorInfo* pOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mWinJoinResetWindowCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3546,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:3549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3550
      start: 3537
    functionDepth: 3
    functionLinenumber: 3537
    functionLinenumberEnd: 3550
    functionName: mWinJoinGroupReset
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - mJoinResetGroupTableCtx
    - mWinJoinResetWindowCache
    linkageType: ''
    returnType: void
    signature: void mWinJoinGroupReset(SMJoinOperatorInfo* pJoin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pCache
    - pJoin
    - pCtx
    argTypes:
    - SMJoinWinCache*
    - SMJoinOperatorInfo*
    - SMJoinWindowCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3563
      start: 3552
    functionDepth: 1
    functionLinenumber: 3552
    functionLinenumberEnd: 3563
    functionName: mJoinInitWindowCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 0
    functionsReached:
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinInitWindowCache(SMJoinWinCache* pCache, SMJoinOperatorInfo*
      pJoin, SMJoinWindowCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mWinJoinResetWindowCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3568,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3570,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3572,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3576
      start: 3565
    functionDepth: 2
    functionLinenumber: 3565
    functionLinenumberEnd: 3576
    functionName: mJoinDestroyWindowCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - blockDataDestroy
    - mWinJoinResetWindowCache
    linkageType: ''
    returnType: void
    signature: void mJoinDestroyWindowCtx(SMJoinOperatorInfo* pJoin)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASOF_EQ_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3596,1
    - Dst: ASOF_LOWER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3597,1
    - Dst: ASOF_GREATER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3597,1
    - Dst: ASOF_GREATER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3598,1
    - Dst: ASOF_LOWER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3598,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3633,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3635,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3638,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3638,1
    - Dst: mJoinGetFinBlkCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3638,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3642,1
    - Dst: mJoinInitWindowCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3642,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3578
    functionDepth: 2
    functionLinenumber: 3578
    functionLinenumberEnd: 3645
    functionName: mJoinInitWindowCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 1
    functionsReached:
    - blockDataEnsureCapacity
    - ASOF_LOWER_ROW_INCLUDED
    - ASOF_EQ_ROW_INCLUDED
    - createDataBlockFromDescNode
    - ASOF_GREATER_ROW_INCLUDED
    - mJoinInitWindowCache
    - mJoinGetFinBlkCapacity
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinInitWindowCtx(SMJoinOperatorInfo* pJoin, SSortMergeJoinPhysiNode*
      pJoinNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3649,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3654
      start: 3647
    functionDepth: 1
    functionLinenumber: 3647
    functionLinenumberEnd: 3654
    functionName: mJoinDestroyMergeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 1
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void mJoinDestroyMergeCtx(SMJoinOperatorInfo* pJoin)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3677,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3679,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3684,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3684,1
    - Dst: mJoinGetFinBlkCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3684,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3688,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3690,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3692,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3692,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3731
      start: 3657
    functionDepth: 2
    functionLinenumber: 3657
    functionLinenumberEnd: 3731
    functionName: mJoinInitMergeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: 1
    functionsReached:
    - blockDataEnsureCapacity
    - createDataBlockFromDescNode
    - createOneDataBlock
    - mJoinGetFinBlkCapacity
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t mJoinInitMergeCtx(SMJoinOperatorInfo* pJoin, SSortMergeJoinPhysiNode*
      pJoinNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doSetResultOutBufByKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:52,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:57,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:57,1
    - Dst: TAOS_SET_POBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:62,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: setTimeWindowOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - TAOS_SET_POBJ_ALIGNED
    - setResultRowInitCtx
    - tstrerror
    - doSetResultOutBufByKey
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setTimeWindowOutputBuf(SResultRowInfo* pResultRowInfo, STimeWindow*
      win, bool masterscan,\n                                      SResultRow** pResult,
      int64_t tableGroupId, SqlFunctionCtx* pCtx,\n                                      int32_t
      numOfOutput, int32_t* rowEntryInfoOffset, SAggSupporter* pAggSup,\n                                      SExecTaskInfo*
      pTaskInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasContinuousNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:72,1
    - Dst: resetNumNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pRowSup
    - ts
    - rowIndex
    - groupId
    argTypes:
    - SWindowRowsSup*
    - int64_t
    - int32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: doKeepTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 2
    functionsReached:
    - hasContinuousNullRows
    - resetNumNullRows
    linkageType: ''
    returnType: void
    signature: void doKeepTuple(SWindowRowsSup* pRowSup, int64_t ts, int32_t rowIndex,
      uint64_t groupId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetNumNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - pRowSup
    - tsList
    - rowIndex
    - groupId
    argTypes:
    - SWindowRowsSup*
    - int64_t*
    - int32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: doKeepNewWindowStartInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 2
    functionsReached:
    - resetNumNullRows
    linkageType: ''
    returnType: void
    signature: void doKeepNewWindowStartInfo(SWindowRowsSup* pRowSup, const int64_t*
      tsList, int32_t rowIndex, uint64_t groupId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: searchFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:93,1
    - Dst: searchFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - numOfRows
    - searchFn
    - ekey
    - pos
    - order
    - pData
    argTypes:
    - int32_t
    - __block_search_fn_t
    - TSKEY
    - int32_t
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 123
    functionName: getForwardStepsInBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 2
    functionsReached:
    - searchFn
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE getForwardStepsInBlock(int32_t numOfRows, __block_search_fn_t
      searchFn, TSKEY ekey, int32_t pos,\n                                            int32_t
      order, int64_t* pData)"
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 4
    argNames:
    - pValue
    - num
    - key
    - order
    argTypes:
    - char*
    - int
    - TSKEY
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 192
    functionName: binarySearchForKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t binarySearchForKey(char* pValue, int num, TSKEY key, int order)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:197,1
    - Dst: getForwardStepsInBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:201,1
    - Dst: getForwardStepsInBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 7
    argNames:
    - pDataBlockInfo
    - pPrimaryColumn
    - startPos
    - ekey
    - searchFn
    - item
    - order
    argTypes:
    - SDataBlockInfo*
    - TSKEY*
    - int32_t
    - TSKEY
    - __block_search_fn_t
    - STableQueryInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 226
    functionName: getNumOfRowsInTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 8
    functionsReached:
    - GET_FORWARD_DIRECTION_FACTOR
    - getForwardStepsInBlock
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getNumOfRowsInTimeWindow(SDataBlockInfo* pDataBlockInfo, TSKEY*
      pPrimaryColumn, int32_t startPos, TSKEY ekey,\n                                 __block_search_fn_t
      searchFn, STableQueryInfo* item, int32_t order)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pCtx
    - numOfOutput
    - type
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: setNotInterpoWindowKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setNotInterpoWindowKey(SqlFunctionCtx* pCtx, int32_t numOfOutput,
      int32_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:318,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:325,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:331,1
    - Dst: doTimeWindowInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - pInfo
    - pos
    - pBlock
    - tsCols
    - win
    - pSup
    argTypes:
    - SIntervalAggOperatorInfo*
    - int32_t
    - SSDataBlock*
    - TSKEY*
    - STimeWindow*
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 339
    functionName: setTimeWindowInterpolationStartTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - setNotInterpoWindowKey
    - doTimeWindowInterpolation
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: "bool setTimeWindowInterpolationStartTs(SIntervalAggOperatorInfo* pInfo,
      int32_t pos, SSDataBlock* pBlock,\n                                              const
      TSKEY* tsCols, STimeWindow* win, SExprSupp* pSup)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:353,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:360,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:366,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:366,1
    - Dst: doTimeWindowInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 9
    argNames:
    - pInfo
    - pSup
    - endRowIndex
    - nextRowIndex
    - pDataBlock
    - tsCols
    - blockEkey
    - win
    - pRes
    argTypes:
    - SIntervalAggOperatorInfo*
    - SExprSupp*
    - int32_t
    - int32_t
    - SArray*
    - TSKEY*
    - TSKEY
    - STimeWindow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 375
    functionName: setTimeWindowInterpolationEndTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - setNotInterpoWindowKey
    - qError
    - doTimeWindowInterpolation
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setTimeWindowInterpolationEndTs(SIntervalAggOperatorInfo*
      pInfo, SExprSupp* pSup, int32_t endRowIndex,\n                                               int32_t
      nextRowIndex, SArray* pDataBlock, const TSKEY* tsCols,\n                                               TSKEY
      blockEkey, STimeWindow* win, bool* pRes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - pInterval
    - pWin
    - calStart
    - calEnd
    argTypes:
    - SInterval*
    - STimeWindow*
    - TSKEY
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: inCalSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inCalSlidingWindow(const SInterval* pInterval, const STimeWindow*
      pWin, TSKEY calStart, TSKEY calEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inCalSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInterval
    - pWin
    - pBlockInfo
    argTypes:
    - SInterval*
    - STimeWindow*
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: inSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - inCalSlidingWindow
    linkageType: ''
    returnType: bool
    signature: bool inSlidingWindow(const SInterval* pInterval, const STimeWindow*
      pWin, const SDataBlockInfo* pBlockInfo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:394,1
    - Dst: inSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:402,1
    - Dst: binarySearchForKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:416,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:436,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:437,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:445,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:446,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 6
    argNames:
    - pInterval
    - pNext
    - pDataBlockInfo
    - primaryKeys
    - prevPosition
    - order
    argTypes:
    - SInterval*
    - STimeWindow*
    - SDataBlockInfo*
    - TSKEY*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 455
    functionName: getNextQualifiedWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - inSlidingWindow
    - taosTimeGetIntervalEnd
    - binarySearchForKey
    - taosTimeTruncate
    - getNextTimeWindow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getNextQualifiedWindow(SInterval* pInterval, STimeWindow*
      pNext, SDataBlockInfo* pDataBlockInfo,\n                               TSKEY*
      primaryKeys, int32_t prevPosition, int32_t order)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pResult
    - type
    argTypes:
    - SResultRow*
    - SResultTsInterpType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: isResultRowInterpolated
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isResultRowInterpolated(SResultRow* pResult, SResultTsInterpType
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pResult
    - type
    argTypes:
    - SResultRow*
    - SResultTsInterpType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: setResultRowInterpo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setResultRowInterpo(SResultRow* pResult, SResultTsInterpType type)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:490,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:493,1
    - Dst: setTimeWindowInterpolationStartTs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:495,1
    - Dst: setResultRowInterpo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:497,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:500,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:505,1
    - Dst: setTimeWindowInterpolationEndTs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:523,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:525,1
    - Dst: setResultRowInterpo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:527,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:530,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:535,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:535,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 7
    argNames:
    - pInfo
    - pBlock
    - pResult
    - win
    - startPos
    - forwardRows
    - pSup
    argTypes:
    - SIntervalAggOperatorInfo*
    - SSDataBlock*
    - SResultRow*
    - STimeWindow*
    - int32_t
    - int32_t
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 538
    functionName: doWindowBorderInterpolation
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - setNotInterpoWindowKey
    - qError
    - isResultRowInterpolated
    - setResultRowInterpo
    - QUERY_CHECK_CODE
    - setTimeWindowInterpolationStartTs
    - tstrerror
    - setTimeWindowInterpolationEndTs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doWindowBorderInterpolation(SIntervalAggOperatorInfo* pInfo,
      SSDataBlock* pBlock, SResultRow* pResult,\n                                           STimeWindow*
      win, int32_t startPos, int32_t forwardRows, SExprSupp* pSup)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:545,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:547,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:549,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:551,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:553,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:557,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:558,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:559,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:560,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:560,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:562,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:562,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:565,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - pPrevKeys
    - pBlock
    - pCols
    argTypes:
    - SArray*
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 571
    functionName: saveDataBlockLastRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - memcpy
    - taosArrayGet
    - colDataGetData
    - varDataTLen
    - IS_STR_DATA_BLOB
    - taosArrayGetSize
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void saveDataBlockLastRow(SArray* pPrevKeys, const SSDataBlock* pBlock,
      SArray* pCols)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:586,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:594,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:596,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:601,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:605,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:606,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:608,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:610,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:611,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:616,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:619,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:622,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:624,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:627,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:630,1
    - Dst: doTimeWindowInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:639,1
    - Dst: setResultRowInterpo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:643,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:644,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:646,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:647,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:650,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:653,1
    - Dst: closeResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:654,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:655,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:656,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 7
    argNames:
    - pOperatorInfo
    - numOfExprs
    - pResultRowInfo
    - pBlock
    - scanFlag
    - tsCols
    - p
    argTypes:
    - SOperatorInfo*
    - int32_t
    - SResultRowInfo*
    - SSDataBlock*
    - int32_t
    - int64_t*
    - SResultRowPosition*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 661
    functionName: doInterpUnclosedTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - applyAggFunctionOnPartialTuples
    - T_LONG_JMP
    - taosArrayGet
    - setTimeWindowOutputBuf
    - getResultRowByPos
    - setNotInterpoWindowKey
    - isResultRowInterpolated
    - setResultRowInterpo
    - taosMemoryFree
    - closeResultRow
    - tdListGetHead
    - doTimeWindowInterpolation
    - updateTimeWindowInfo
    - tdListPopHead
    linkageType: ''
    returnType: void
    signature: "void doInterpUnclosedTimeWindow(SOperatorInfo* pOperatorInfo, int32_t
      numOfExprs, SResultRowInfo* pResultRowInfo,\n                                       SSDataBlock*
      pBlock, int32_t scanFlag, int64_t* tsCols, SResultRowPosition* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - l
    - r
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 668
    functionName: tsKeyCompFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tsKeyCompFn(void* l, void* r, void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_RES_WINDOW_KEY
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:672,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:673,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pInfo
    - win
    - tableGroupId
    argTypes:
    - SIntervalAggOperatorInfo*
    - STimeWindow*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: isCalculatedWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - GET_RES_WINDOW_KEY_LEN
    - SET_RES_WINDOW_KEY
    - tSimpleHashGet
    linkageType: ''
    returnType: bool
    signature: bool isCalculatedWin(SIntervalAggOperatorInfo* pInfo, const STimeWindow*
      win, uint64_t tableGroupId)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: createBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:701,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:702,1
    - Dst: taosBQSize
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:707,1
    - Dst: taosBQMaxSize
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:707,1
    - Dst: taosBQTop
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:708,1
    - Dst: tsKeyCompFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:709,1
    - Dst: isCalculatedWin
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:713,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:718,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:719,1
    - Dst: taosBQPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:723,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:724,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:730,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:730,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:732,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - pOperatorInfo
    - win
    - groupId
    - pTaskInfo
    argTypes:
    - SIntervalAggOperatorInfo*
    - STimeWindow*
    - uint64_t
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 735
    functionName: filterWindowWithLimit
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosBQMaxSize
    - taosMemoryMalloc
    - T_LONG_JMP
    - taosBQPush
    - qError
    - tsKeyCompFn
    - QUERY_CHECK_NULL
    - taosBQSize
    - taosBQTop
    - taosMemoryFree
    - createBoundedQueue
    - tstrerror
    - isCalculatedWin
    linkageType: ''
    returnType: bool
    signature: "bool filterWindowWithLimit(SIntervalAggOperatorInfo* pOperatorInfo,
      STimeWindow* win, uint64_t groupId,\n                                  SExecTaskInfo*
      pTaskInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pDataBlockInfo
    - pPrimaryColumn
    - win
    - startPos
    argTypes:
    - SDataBlockInfo*
    - TSKEY*
    - STimeWindow*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 748
    functionName: getNumOfRowsInTimeWinUnsorted
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getNumOfRowsInTimeWinUnsorted(SDataBlockInfo* pDataBlockInfo,
      TSKEY* pPrimaryColumn, STimeWindow* win,\n                                      int32_t
      startPos)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: extractTsCol
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:759,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:764,1
    - Dst: destroyBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:772,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:778,1
    - Dst: filterWindowWithLimit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:779,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:781,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:784,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:788,1
    - Dst: getNumOfRowsInTimeWinUnsorted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:790,1
    - Dst: addToOpenWindowList
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:794,1
    - Dst: doInterpUnclosedTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:795,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:798,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:801,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:805,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:807,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:812,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:813,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:816,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:819,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:826,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:834,1
    - Dst: getInitialStartTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:841,1
    - Dst: filterWindowWithLimit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:848,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:853,1
    - Dst: getNumOfRowsInTimeWinUnsorted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:855,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:859,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:862,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:866,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:868,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:875,1
    - Dst: addToOpenWindowList
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:877,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:880,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:881,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:884,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:886,1
    - Dst: saveDataBlockLastRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:890,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 83
    argCount: 4
    argNames:
    - pOperatorInfo
    - pResultRowInfo
    - pBlock
    - scanFlag
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 750
    functionDepth: 5
    functionLinenumber: 750
    functionLinenumberEnd: 893
    functionName: hashIntervalAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - destroyBoundedQueue
    - applyAggFunctionOnPartialTuples
    - getStartTsKey
    - T_LONG_JMP
    - getActiveTimeWindow
    - setTimeWindowOutputBuf
    - doCloseWindow
    - getNumOfRowsInTimeWinUnsorted
    - doInterpUnclosedTimeWindow
    - addToOpenWindowList
    - extractTsCol
    - getNumOfRowsInTimeWindow
    - saveDataBlockLastRow
    - doWindowBorderInterpolation
    - filterWindowWithLimit
    - updateTimeWindowInfo
    - getNextQualifiedWindow
    - getInitialStartTimeWindow
    linkageType: ''
    returnType: bool
    signature: "bool hashIntervalAgg(SOperatorInfo* pOperatorInfo, SResultRowInfo*
      pResultRowInfo, SSDataBlock* pBlock,\n                            int32_t scanFlag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:897,1
    - Dst: closeResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:898,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:899,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pResultRowInfo
    - pInfo
    - pResult
    argTypes:
    - SResultRowInfo*
    - SIntervalAggOperatorInfo*
    - SResultRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 902
    functionName: doCloseWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 1
    functionsReached:
    - isResultRowInterpolated
    - taosMemoryFree
    - tdListPopHead
    - closeResultRow
    linkageType: ''
    returnType: void
    signature: void doCloseWindow(SResultRowInfo* pResultRowInfo, const SIntervalAggOperatorInfo*
      pInfo, SResultRow* pResult)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:912,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:914,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:915,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:921,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:922,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:927,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:927,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:929,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - pResultRowInfo
    - pResult
    - groupId
    - pTaskInfo
    argTypes:
    - SResultRowInfo*
    - SResultRow*
    - uint64_t
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 932
    functionName: addToOpenWindowList
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 1
    functionsReached:
    - tdListAppend
    - T_LONG_JMP
    - qError
    - QUERY_CHECK_CODE
    - tstrerror
    - tdListGetTail
    linkageType: ''
    returnType: SResultRowPosition
    signature: "SResultRowPosition addToOpenWindowList(SResultRowInfo* pResultRowInfo,
      const SResultRow* pResult, uint64_t groupId,\n                                       SExecTaskInfo*
      pTaskInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:938,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:941,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:946,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:951,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:953,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:953,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:955,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pBlock
    - pInfo
    - pTaskInfo
    argTypes:
    - SSDataBlock*
    - SIntervalAggOperatorInfo*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 961
    functionName: extractTsCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 1
    functionsReached:
    - T_LONG_JMP
    - taosArrayGet
    - qWarn
    - qError
    - blockDataUpdateTsWindow
    - tstrerror
    linkageType: ''
    returnType: int64_t
    signature: int64_t * extractTsCol(SSDataBlock* pBlock, const SIntervalAggOperatorInfo*
      pInfo, SExecTaskInfo* pTaskInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:964,1
    - Dst: getNextBlockFromDownstreamRemainDetach
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:980,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:989,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:990,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:991,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:995,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:996,1
    - Dst: hashIntervalAgg
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:997,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1000,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1001,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1004,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1008,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1008,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1010,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 963
    functionDepth: 7
    functionLinenumber: 963
    functionLinenumberEnd: 1013
    functionName: doOpenIntervalAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - getNextBlockFromDownstreamRemainDetach
    - qError
    - OPTR_IS_OPENED
    - initGroupedResultInfo
    - GET_STM_RTINFO
    - hashIntervalAgg
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tstrerror
    - OPTR_SET_OPENED
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t doOpenIntervalAgg(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasContinuousNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1025,1
    - Dst: resetNumNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - pRowSup
    - tsList
    - rowIndex
    - groupId
    - extendOption
    - hasPrevWin
    argTypes:
    - SWindowRowsSup*
    - int64_t*
    - int32_t
    - uint64_t
    - EStateWinExtendOption*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1032
    functionName: doKeepNewStateWindowStartInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - hasContinuousNullRows
    - resetNumNullRows
    linkageType: ''
    returnType: void
    signature: "void doKeepNewStateWindowStartInfo(SWindowRowsSup* pRowSup, const
      int64_t* tsList,\n  int32_t rowIndex, uint64_t groupId, const EStateWinExtendOption*
      extendOption, bool hasPrevWin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasContinuousNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1045,1
    - Dst: resetNumNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - pRowSup
    - tsList
    - rowIndex
    - extendOption
    - hasNextWin
    argTypes:
    - SWindowRowsSup*
    - int64_t*
    - int32_t
    - EStateWinExtendOption*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1049
    functionName: doKeepCurStateWindowEndInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - hasContinuousNullRows
    - resetNumNullRows
    linkageType: ''
    returnType: void
    signature: "void doKeepCurStateWindowEndInfo(SWindowRowsSup* pRowSup, const int64_t*
      tsList, \n                                 int32_t rowIndex,\n                                 const
      EStateWinExtendOption* extendOption,\n                                 bool
      hasNextWin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pRowSup
    - nullRowTs
    argTypes:
    - SWindowRowsSup*
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1054
    functionName: doKeepStateWindowNullInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doKeepStateWindowNullInfo(SWindowRowsSup* pRowSup, TSKEY nullRowTs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1073,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1076,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1078,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1080,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1083,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1087,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - pInfo
    - pRowSup
    - pTaskInfo
    - pSup
    - numOfOutput
    argTypes:
    - SStateWindowOperatorInfo*
    - SWindowRowsSup*
    - SExecTaskInfo*
    - SExprSupp*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1061
    functionDepth: 4
    functionLinenumber: 1061
    functionLinenumberEnd: 1090
    functionName: processClosedStateWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - applyAggFunctionOnPartialTuples
    - setTimeWindowOutputBuf
    - qError
    - QUERY_CHECK_CODE
    - tstrerror
    - updateTimeWindowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t processClosedStateWindow(SStateWindowOperatorInfo* pInfo,\n
      \                                       SWindowRowsSup* pRowSup,\n                                        SExecTaskInfo*
      pTaskInfo,\n                                        SExprSupp* pSup,\n                                        int32_t
      numOfOutput)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1105,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1108,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1114,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1118,1
    - Dst: doKeepCurStateWindowEndInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1132,1
    - Dst: processClosedStateWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1133,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1135,1
    - Dst: resetWindowRowsSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1157,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1159,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1165,1
    - Dst: doKeepStateWindowNullInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1166,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1171,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1173,1
    - Dst: assignVal
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1176,1
    - Dst: doKeepNewStateWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1178,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1180,1
    - Dst: compareVal
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1181,1
    - Dst: doKeepCurStateWindowEndInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1182,1
    - Dst: processClosedStateWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1183,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1186,1
    - Dst: doKeepNewStateWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1190,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1192,1
    - Dst: assignVal
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1193,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1195,1
    - Dst: resetNumNullRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1205,1
    - Dst: doKeepCurStateWindowEndInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1216,1
    - Dst: processClosedStateWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1217,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1221,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 6
    argNames:
    - pOperator
    - pInfo
    - pBlock
    - startIndex
    - endIndex
    - numPartialCalcRows
    argTypes:
    - SOperatorInfo*
    - SStateWindowOperatorInfo*
    - SSDataBlock*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1096
    functionDepth: 5
    functionLinenumber: 1096
    functionLinenumberEnd: 1227
    functionName: doStateWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - compareVal
    - doKeepNewStateWindowStartInfo
    - T_LONG_JMP
    - taosArrayGet
    - colDataGetData
    - resetWindowRowsSup
    - qError
    - resetNumNullRows
    - doKeepStateWindowNullInfo
    - doKeepTuple
    - colDataIsNull
    - assignVal
    - doKeepCurStateWindowEndInfo
    - processClosedStateWindow
    linkageType: ''
    returnType: void
    signature: "void doStateWindowAggImpl(SOperatorInfo* pOperator,\n                                 SStateWindowOperatorInfo*
      pInfo,\n                                 SSDataBlock* pBlock, int32_t* startIndex,\n
      \                                int32_t* endIndex,\n                                 int32_t*
      numPartialCalcRows)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1230,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1250,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1253,1
    - Dst: resetWindowRowsSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1255,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1266,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1269,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1278,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1280,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1283,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1288,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1291,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1293,1
    - Dst: doStateWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1297,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1302,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1303,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1305,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1306,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1309,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1316,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1318,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1324,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1324,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1326,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1229
    functionDepth: 7
    functionLinenumber: 1229
    functionLinenumberEnd: 1329
    functionName: openStateWindowAggOptr
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - blockDataMerge
    - doStateWindowAggImpl
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - resetWindowRowsSup
    - qError
    - OPTR_IS_OPENED
    - QUERY_CHECK_NULL
    - blockDataUpdateTsWindow
    - createOneDataBlock
    - blockDataTrimFirstRows
    - initGroupedResultInfo
    - GET_STM_RTINFO
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tstrerror
    - blockDataDestroy
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t openStateWindowAggOptr(SOperatorInfo* pOperator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1343,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1344,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1346,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1347,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1350,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1351,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1352,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1354,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1356,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1367,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1331
    functionDepth: 5
    functionLinenumber: 1331
    functionLinenumberEnd: 1373
    functionName: doStateWindowAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - hasRemainResults
    - SOperatorInfo*::fpSet::_openFn
    - blockDataEnsureCapacity
    - qError
    - setOperatorCompleted
    - doFilter
    - doBuildResultDatablock
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doStateWindowAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::resetStateFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1388,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1389,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1391,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1396,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1397,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1400,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1401,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1402,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1404,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1406,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1417,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1417,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1419,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1375
    functionDepth: 5
    functionLinenumber: 1375
    functionLinenumberEnd: 1423
    functionName: doBuildIntervalResultNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - hasRemainResults
    - freeOperatorParam
    - SOperatorInfo*::fpSet::resetStateFn
    - SOperatorInfo*::fpSet::_openFn
    - qError
    - setOperatorCompleted
    - doFilter
    - doBuildResultDatablock
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doBuildIntervalResultNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1430,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1431,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1433,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1438,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1439,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1440,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1441,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1425
    functionDepth: 4
    functionLinenumber: 1425
    functionLinenumberEnd: 1444
    functionName: destroyStateWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - cleanupResultInfo
    - cleanupBasicInfo
    - cleanupAggSup
    - cleanupGroupResInfo
    - cleanupExprSupp
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyStateWindowOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1449
    functionName: freeItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeItem(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1458,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1460,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1465,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1466,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1468,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1470,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1473,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1476,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1477,1
    - Dst: destroyBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1478,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1451
    functionDepth: 4
    functionLinenumber: 1451
    functionLinenumberEnd: 1480
    functionName: destroyIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - destroyBoundedQueue
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - cleanupResultInfo
    - cleanupBasicInfo
    - cleanupAggSup
    - cleanupGroupResInfo
    - cleanupExprSupp
    - colDataDestroy
    - taosArrayDestroy
    - tdListFree
    linkageType: ''
    returnType: void
    signature: void destroyIntervalOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1487,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1488,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1490,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1491,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1499,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1500,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1506,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1507,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1509,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1510,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1514,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SIntervalAggOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1517
    functionName: initWindowInterpPrevVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - QUERY_CHECK_NULL
    - taosArrayInit
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initWindowInterpPrevVal(SIntervalAggOperatorInfo* pInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmIsIntervalInterpoFunc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1529,1
    - Dst: initWindowInterpPrevVal
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1536,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1537,1
    - Dst: fmIsIntervalInterpoFunc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1543,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1547,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1548,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1554,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1555,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1557,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1558,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1564,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1564,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - pCtx
    - numOfCols
    - pInfo
    - pRes
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - SIntervalAggOperatorInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1519
    functionDepth: 2
    functionLinenumber: 1519
    functionLinenumberEnd: 1568
    functionName: timeWindowinterpNeeded
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - fmIsIntervalInterpoFunc
    - qError
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - tstrerror
    - taosMemoryCalloc
    - initWindowInterpPrevVal
    linkageType: ''
    returnType: int32_t
    signature: "int32_t timeWindowinterpNeeded(SqlFunctionCtx* pCtx, int32_t numOfCols,
      SIntervalAggOperatorInfo* pInfo,\n                                      bool*
      pRes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1575,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1576,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1579,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1580,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1582,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1587,1
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1592,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1604,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1608,1
    - Dst: initWindowInterpPrevVal
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1610,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1613,1
    - Dst: destroyBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - pOper
    - pIntervalInfo
    argTypes:
    - SOperatorInfo*
    - SIntervalAggOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1570
    functionDepth: 4
    functionLinenumber: 1570
    functionLinenumberEnd: 1617
    functionName: resetInterval
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - destroyBoundedQueue
    - tdListEmpty
    - initExecTimeWindowInfo
    - resetAggSup
    - cleanupResultInfo
    - taosArrayDestroyEx
    - resetBasicOperatorState
    - cleanupGroupResInfo
    - colDataDestroy
    - taosArrayDestroy
    - resetExprSupp
    - initWindowInterpPrevVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetInterval(SOperatorInfo* pOper, SIntervalAggOperatorInfo*
      pIntervalInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetInterval
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1619
    functionDepth: 5
    functionLinenumber: 1619
    functionLinenumberEnd: 1622
    functionName: resetIntervalOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - resetInterval
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetIntervalOperState(SOperatorInfo* pOper)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1626,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1630,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1631,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1637,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1640,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1641,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1642,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1651,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1652,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1653,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1657,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1658,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1660,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1662,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1671,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1698,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1699,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1701,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1707,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1713,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1714,1
    - Dst: timeWindowinterpNeeded
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1717,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1718,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1720,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1728,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1729,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1732,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1734,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1735,1
    - Dst: destroyIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1745,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1748,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1750,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1750,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 86
    argCount: 4
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SIntervalPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1624
    functionDepth: 16
    functionLinenumber: 1624
    functionLinenumberEnd: 1752
    functionName: createIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 3
    functionsReached:
    - appendDownstream
    - timeWindowinterpNeeded
    - qError
    - createOperatorFpSet
    - setOperatorResetStateFn
    - destroyIntervalOperatorInfo
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - tdListNew
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - calcIntervalAutoOffset
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - initExecTimeWindowInfo
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - tstrerror
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createIntervalOperatorInfo(SOperatorInfo* downstream, SIntervalPhysiNode*
      pPhyNode, SExecTaskInfo* pTaskInfo,\n                                   SOperatorInfo**
      pOptrInfo)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1759,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1762,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1784,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1785,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1789,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1799,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1802,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1806,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1808,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1811,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1816,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1817,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1823,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1826,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1829,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1830,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1833,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - pOperator
    - pInfo
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSessionAggOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1755
    functionDepth: 4
    functionLinenumber: 1755
    functionLinenumberEnd: 1835
    functionName: doSessionWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - applyAggFunctionOnPartialTuples
    - T_LONG_JMP
    - taosArrayGet
    - setTimeWindowOutputBuf
    - doKeepTuple
    - doKeepNewWindowStartInfo
    - updateTimeWindowInfo
    linkageType: ''
    returnType: void
    signature: void doSessionWindowAggImpl(SOperatorInfo* pOperator, SSessionAggOperatorInfo*
      pInfo, SSDataBlock* pBlock)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1852,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1853,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1854,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1856,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1858,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1876,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1885,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1886,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1887,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1890,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1891,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1893,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1894,1
    - Dst: doSessionWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1896,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1902,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1903,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1906,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1907,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1909,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1910,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1911,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1913,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1915,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1926,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1926,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1928,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1837
    functionDepth: 7
    functionLinenumber: 1837
    functionLinenumberEnd: 1932
    functionName: doSessionWindowAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - doSessionWindowAggImpl
    - T_LONG_JMP
    - hasRemainResults
    - getNextBlockFromDownstream
    - blockDataEnsureCapacity
    - qError
    - setOperatorCompleted
    - blockDataUpdateTsWindow
    - doFilter
    - doBuildResultDatablock
    - GET_STM_RTINFO
    - initGroupedResultInfo
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tstrerror
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSessionWindowAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1940,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1941,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1944,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1945,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1947,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1952,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1959,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1934
    functionDepth: 4
    functionLinenumber: 1934
    functionLinenumberEnd: 1962
    functionName: resetStatewindowOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - initExecTimeWindowInfo
    - resetAggSup
    - cleanupResultInfo
    - resetBasicOperatorState
    - memset
    - cleanupGroupResInfo
    - colDataDestroy
    - resetExprSupp
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetStatewindowOperState(SOperatorInfo* pOper)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1967,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1971,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1972,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1977,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1988,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1989,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1991,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1997,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2000,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2007,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2017,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2018,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2020,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2022,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2028,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2029,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2030,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2031,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2033,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2034,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2045,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2047,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2049,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2051,1
    - Dst: destroyStateWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2061,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2064,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 4
    argNames:
    - downstream
    - pStateNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SStateWindowPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 1965
    functionDepth: 16
    functionLinenumber: 1965
    functionLinenumberEnd: 2067
    functionName: createStatewindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 2
    functionsReached:
    - appendDownstream
    - createOperatorFpSet
    - setOperatorResetStateFn
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - destroyStateWindowOperatorInfo
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - extractColumnFromColumnNode
    - initExecTimeWindowInfo
    - initOperatorCostInfo
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStatewindowOperatorInfo(SOperatorInfo* downstream, SStateWindowPhysiNode*
      pStateNode,\n                                      SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2075,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2076,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2078,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2083,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2084,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2086,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2069
    functionDepth: 4
    functionLinenumber: 2069
    functionLinenumberEnd: 2088
    functionName: destroySWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - cleanupResultInfo
    - cleanupBasicInfo
    - cleanupAggSup
    - cleanupGroupResInfo
    - cleanupExprSupp
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroySWindowOperatorInfo(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resetBasicOperatorState
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2096,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2097,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2100,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2101,1
    - Dst: resetAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2103,1
    - Dst: resetExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2108,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2090
    functionDepth: 4
    functionLinenumber: 2090
    functionLinenumberEnd: 2119
    functionName: resetSessionAggOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - initExecTimeWindowInfo
    - resetAggSup
    - cleanupResultInfo
    - resetBasicOperatorState
    - cleanupGroupResInfo
    - colDataDestroy
    - resetExprSupp
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetSessionAggOperState(SOperatorInfo* pOper)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2123,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2127,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2128,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2133,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2140,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2142,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2143,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2144,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2148,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2149,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2151,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2153,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2157,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2158,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2159,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2171,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2172,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2174,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2175,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2178,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2180,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2184,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2186,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2189,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2191,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2192,1
    - Dst: destroySWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2198,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 4
    argNames:
    - downstream
    - pSessionNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SSessionWinodwPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2121
    functionDepth: 16
    functionLinenumber: 2121
    functionLinenumberEnd: 2202
    functionName: createSessionAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 2
    functionsReached:
    - appendDownstream
    - createOperatorFpSet
    - setOperatorResetStateFn
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - destroySWindowOperatorInfo
    - initExecTimeWindowInfo
    - initOperatorCostInfo
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSessionAggOperatorInfo(SOperatorInfo* downstream, SSessionWinodwPhysiNode*
      pSessionNode,\n                                     SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2206,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2208
      start: 2204
    functionDepth: 5
    functionLinenumber: 2204
    functionLinenumberEnd: 2208
    functionName: destroyMAIOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - destroyIntervalOperatorInfo
    linkageType: ''
    returnType: void
    signature: void destroyMAIOperatorInfo(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNewResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pResultRowInfo
    - pSup
    argTypes:
    - SResultRowInfo*
    - SAggSupporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2210
    functionDepth: 2
    functionLinenumber: 2210
    functionLinenumberEnd: 2217
    functionName: doSetSingleOutputTupleBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - getNewResultRow
    linkageType: ''
    returnType: SResultRow
    signature: SResultRow * doSetSingleOutputTupleBuf(SResultRowInfo* pResultRowInfo,
      SAggSupporter* pSup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doSetSingleOutputTupleBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2222,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - pResultRowInfo
    - win
    - pResult
    - pExprSup
    - pAggSup
    argTypes:
    - SResultRowInfo*
    - STimeWindow*
    - SResultRow**
    - SExprSupp*
    - SAggSupporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2219
    functionDepth: 3
    functionLinenumber: 2219
    functionLinenumberEnd: 2231
    functionName: setSingleOutputTupleBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - doSetSingleOutputTupleBuf
    - setResultRowInitCtx
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setSingleOutputTupleBuf(SResultRowInfo* pResultRowInfo, STimeWindow*
      win, SResultRow** pResult,\n                                       SExprSupp*
      pExprSup, SAggSupporter* pAggSup)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: extractTsCol
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2243,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2245,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2250,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2251,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2260,1
    - Dst: setSingleOutputTupleBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2262,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2264,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2275,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2276,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2279,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2282,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2283,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2288,1
    - Dst: setSingleOutputTupleBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2291,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2293,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2299,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2300,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2303,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - pOperatorInfo
    - pResultRowInfo
    - pBlock
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2233
    functionDepth: 4
    functionLinenumber: 2233
    functionLinenumberEnd: 2305
    functionName: doMergeAlignedIntervalAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - resetResultRow
    - taosTimeAdd
    - getStartTsKey
    - setSingleOutputTupleBuf
    - T_LONG_JMP
    - applyAggFunctionOnPartialTuples
    - extractTsCol
    - finalizeResultRows
    - updateTimeWindowInfo
    linkageType: ''
    returnType: void
    signature: "void doMergeAlignedIntervalAggImpl(SOperatorInfo* pOperatorInfo, SResultRowInfo*
      pResultRowInfo,\n                                          SSDataBlock* pBlock,
      SSDataBlock* pResultBlock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pMiaInfo
    - pRes
    argTypes:
    - SMergeAlignedIntervalAggOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2311
    functionName: cleanupAfterGroupResultGen
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanupAfterGroupResultGen(SMergeAlignedIntervalAggOperatorInfo*
      pMiaInfo, SSDataBlock* pRes)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstreamRemainDetach
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2328,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2340,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2341,1
    - Dst: cleanupAfterGroupResultGen
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2342,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2343,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2344,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2347,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2361,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2363,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2364,1
    - Dst: cleanupAfterGroupResultGen
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2367,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2368,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2369,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2386,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2387,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2388,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2391,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2392,1
    - Dst: doMergeAlignedIntervalAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2394,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2396,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2397,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2406,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2406,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2408,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2313
    functionDepth: 7
    functionLinenumber: 2313
    functionLinenumberEnd: 2410
    functionName: doMergeAlignedIntervalAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - resetResultRow
    - cleanupAfterGroupResultGen
    - T_LONG_JMP
    - getNextBlockFromDownstreamRemainDetach
    - doMergeAlignedIntervalAggImpl
    - qError
    - setOperatorCompleted
    - projectApplyFunctions
    - doFilter
    - GET_STM_RTINFO
    - finalizeResultRows
    - QUERY_CHECK_CODE
    - tstrerror
    - setInputDataBlock
    linkageType: ''
    returnType: void
    signature: void doMergeAlignedIntervalAgg(SOperatorInfo* pOperator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2423,1
    - Dst: doMergeAlignedIntervalAgg
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2435,1
    - Dst: doMergeAlignedIntervalAgg
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2412
    functionDepth: 8
    functionLinenumber: 2412
    functionLinenumberEnd: 2443
    functionName: mergeAlignedIntervalAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - blockDataCleanup
    - doMergeAlignedIntervalAgg
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAlignedIntervalAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetInterval
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2445
    functionDepth: 5
    functionLinenumber: 2445
    functionLinenumberEnd: 2459
    functionName: resetMergeAlignedIntervalOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - resetInterval
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetMergeAlignedIntervalOperState(SOperatorInfo* pOper)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2463,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2467,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2468,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2473,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2476,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2489,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2496,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2498,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2509,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2513,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2514,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2516,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2518,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2523,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2524,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2525,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2526,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2529,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2530,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2531,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2532,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2533,1
    - Dst: timeWindowinterpNeeded
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2536,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2537,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2539,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2542,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2543,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2544,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2546,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2549,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2551,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2553,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2554,1
    - Dst: destroyMAIOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2560,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 66
    argCount: 4
    argNames:
    - downstream
    - pNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SMergeAlignedIntervalPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2461
    functionDepth: 16
    functionLinenumber: 2461
    functionLinenumberEnd: 2564
    functionName: createMergeAlignedIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 2
    functionsReached:
    - appendDownstream
    - timeWindowinterpNeeded
    - createOperatorFpSet
    - setOperatorResetStateFn
    - filterInitFromNode
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - tdListNew
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - calcIntervalAutoOffset
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - initExecTimeWindowInfo
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - destroyMAIOperatorInfo
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createMergeAlignedIntervalOperatorInfo(SOperatorInfo* downstream,
      SMergeAlignedIntervalPhysiNode* pNode,\n                                               SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2585,1
    - Dst: destroyIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2586,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2583
    functionDepth: 5
    functionLinenumber: 2583
    functionLinenumberEnd: 2589
    functionName: destroyMergeIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - destroyIntervalOperatorInfo
    - taosMemoryFreeClear
    - tdListFree
    linkageType: ''
    returnType: void
    signature: void destroyMergeIntervalOperatorInfo(void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2598,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2600,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2600,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2605,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2607,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2615,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2616,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - pOperatorInfo
    - tableGroupId
    - pResultBlock
    - newWin
    argTypes:
    - SOperatorInfo*
    - uint64_t
    - SSDataBlock*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2621
    functionName: outputPrevIntervalResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tdListAppend
    - tdListPopNode
    - qError
    - tdListNext
    - tstrerror
    - tdListInitIter
    linkageType: ''
    returnType: int32_t
    signature: "int32_t outputPrevIntervalResult(SOperatorInfo* pOperatorInfo, uint64_t
      tableGroupId, SSDataBlock* pResultBlock,\n                                        STimeWindow*
      newWin)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: extractTsCol
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2633,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2636,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2639,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2643,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2646,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2650,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2653,1
    - Dst: addToOpenWindowList
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2658,1
    - Dst: doInterpUnclosedTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2659,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2662,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2665,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2669,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2671,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2675,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2676,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2679,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2681,1
    - Dst: outputPrevIntervalResult
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2684,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2686,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2686,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2687,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2693,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2701,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2704,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2708,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2712,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2714,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2717,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2718,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2721,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2723,1
    - Dst: outputPrevIntervalResult
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2726,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2728,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2728,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2729,1
    - Dst: saveDataBlockLastRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2734,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 5
    argNames:
    - pOperatorInfo
    - pResultRowInfo
    - pBlock
    - scanFlag
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - int32_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2623
    functionDepth: 5
    functionLinenumber: 2623
    functionLinenumberEnd: 2736
    functionName: doMergeIntervalAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - applyAggFunctionOnPartialTuples
    - getStartTsKey
    - T_LONG_JMP
    - getActiveTimeWindow
    - setTimeWindowOutputBuf
    - doCloseWindow
    - qError
    - doInterpUnclosedTimeWindow
    - addToOpenWindowList
    - extractTsCol
    - getNumOfRowsInTimeWindow
    - tstrerror
    - doWindowBorderInterpolation
    - saveDataBlockLastRow
    - updateTimeWindowInfo
    - getNextQualifiedWindow
    - outputPrevIntervalResult
    linkageType: ''
    returnType: void
    signature: "void doMergeIntervalAggImpl(SOperatorInfo* pOperatorInfo, SResultRowInfo*
      pResultRowInfo, SSDataBlock* pBlock,\n                                   int32_t
      scanFlag, SSDataBlock* pResultBlock)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2753,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2754,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2755,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2762,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2770,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2784,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2785,1
    - Dst: doMergeIntervalAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2787,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2798,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2807,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2812,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2812,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2814,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2738
    functionDepth: 6
    functionLinenumber: 2738
    functionLinenumberEnd: 2818
    functionName: doMergeIntervalAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - blockDataCleanup
    - blockDataEnsureCapacity
    - qError
    - tdListNext
    - setOperatorCompleted
    - QUERY_CHECK_CODE
    - doMergeIntervalAggImpl
    - tstrerror
    - tdListInitIter
    - setInputDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t doMergeIntervalAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdListEmpty
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2827,1
    - Dst: resetInterval
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2820
    functionDepth: 5
    functionLinenumber: 2820
    functionLinenumberEnd: 2831
    functionName: resetMergeIntervalOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 0
    functionsReached:
    - tdListEmpty
    - resetInterval
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetMergeIntervalOperState(SOperatorInfo* pOper)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2835,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2839,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2840,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2845,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2855,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2857,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2872,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2876,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2877,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2879,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2885,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2886,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2887,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2888,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2889,1
    - Dst: timeWindowinterpNeeded
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2892,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2893,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2895,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2902,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2903,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2905,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2907,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2909,1
    - Dst: destroyMergeIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2918,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2920,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 4
    argNames:
    - downstream
    - pIntervalPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SMergeIntervalPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2833
    functionDepth: 8
    functionLinenumber: 2833
    functionLinenumberEnd: 2923
    functionName: createMergeIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: 2
    functionsReached:
    - appendDownstream
    - timeWindowinterpNeeded
    - createOperatorFpSet
    - setOperatorResetStateFn
    - initAggSup
    - initBasicInfo
    - QRY_PARAM_CHECK
    - tdListNew
    - createExprInfo
    - QUERY_CHECK_CODE
    - calcIntervalAutoOffset
    - taosMemoryCalloc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - destroyMergeIntervalOperatorInfo
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - initExecTimeWindowInfo
    - initOperatorCostInfo
    - initResultRowInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createMergeIntervalOperatorInfo(SOperatorInfo* downstream,
      SMergeIntervalPhysiNode* pIntervalPhyNode,\n                                        SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:107,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:115,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:119,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:120,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:125,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:130,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:131,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:133,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:134,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:138,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:139,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:142,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:145,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:146,1
    - Dst: doInitImputOptions
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:158,1
    - Dst: doParseInputForImputation
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:159,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:160,1
    - Dst: doInitDtwOptions
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:162,1
    - Dst: doParseInputForDtw
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:163,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:164,1
    - Dst: doInitDtwOptions
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:166,1
    - Dst: doParseInputForTlcc
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:167,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:168,1
    - Dst: doParseOption
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:174,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:175,1
    - Dst: doSetResSlot
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:177,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:178,1
    - Dst: doCreateBuf
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:180,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:181,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:183,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:185,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:186,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:188,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:190,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:193,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:194,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:196,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:197,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:201,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:206,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:206,1
    - Dst: analysisDestroyOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:209,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:210,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 105
    functionDepth: 16
    functionLinenumber: 105
    functionLinenumberEnd: 213
    functionName: createGenericAnalysisOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - doParseOption
    - qError
    - createOperatorFpSet
    - filterInitFromNode
    - analysisDestroyOperatorInfo
    - QRY_PARAM_CHECK
    - createExprInfo
    - doInitDtwOptions
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - doParseInputForTlcc
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - GET_TASKID
    - QUERY_CHECK_NULL
    - qDebug
    - doParseInputForImputation
    - doParseInputForDtw
    - blockDataEnsureCapacity
    - doInitImputOptions
    - initOperatorCostInfo
    - doCreateBuf
    - tstrerror
    - doSetResSlot
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createGenericAnalysisOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* physiNode, SExecTaskInfo* pTaskInfo,\n                                          SOperatorInfo**
      pOptrInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pInfo
    - ppSupp
    - pId
    argTypes:
    - SAnalysisOperatorInfo*
    - SBaseSupp**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 235
    functionName: getBaseSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getBaseSupp(SAnalysisOperatorInfo* pInfo, SBaseSupp** ppSupp,
      const char* pId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:244,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:245,1
    - Dst: getBaseSupp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:248,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:249,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:251,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:252,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:255,1
    - Dst: doCacheBlock
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:263,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:267,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:269,1
    - Dst: doAnalysis
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:270,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:271,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:275,1
    - Dst: doCacheBlock
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:277,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:278,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:283,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:289,1
    - Dst: doAnalysis
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:290,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:293,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:294,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:298,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:298,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 237
    functionDepth: 6
    functionLinenumber: 237
    functionLinenumberEnd: 305
    functionName: imputationNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - doCacheBlock
    - doAnalysis
    - getNextBlockFromDownstream
    - T_LONG_JMP
    - blockDataCleanup
    - taosGetTimestampUs
    - qError
    - GET_TASKID
    - getBaseSupp
    - qDebug
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t imputationNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:311,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:312,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:321,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:322,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:323,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:326,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 328
    functionName: analysisDestroyOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - cleanupBasicInfo
    - cleanupExprSupp
    - taosArrayGetSize
    - taosArrayDestroy
    - blockDataDestroy
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void analysisDestroyOperatorInfo(void* param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:335,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:341,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:344,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:345,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:353,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:356,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:357,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:362,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:364,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:364,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:369,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:371,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pSupp
    - id
    - pBlock
    argTypes:
    - SImputationSupp*
    - char*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 377
    functionName: doCacheBlockForImputation
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - TMAX
    - qError
    - TMIN
    - qDebug
    - taosAnalyBufWriteColData
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCacheBlockForImputation(SImputationSupp* pSupp, const char*
      id, SSDataBlock* pBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:384,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:387,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:388,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:395,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:396,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:401,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:403,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:403,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:408,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:410,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:410,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pSupp
    - id
    - pBlock
    argTypes:
    - SCorrelationSupp*
    - char*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 422
    functionName: doCacheBlockForCorrelation
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - qError
    - qDebug
    - taosAnalyBufWriteColData
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCacheBlockForCorrelation(SCorrelationSupp* pSupp, const char*
      id, SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doCacheBlockForImputation
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:429,1
    - Dst: doCacheBlockForCorrelation
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pInfo
    - pBlock
    - id
    argTypes:
    - SAnalysisOperatorInfo*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: doCacheBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - doCacheBlockForImputation
    - doCacheBlockForCorrelation
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCacheBlock(SAnalysisOperatorInfo* pInfo, SSDataBlock* pBlock,
      const char* id)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:444,1
    - Dst: estResultRowsAfterImputation
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:449,1
    - Dst: taosAnalyBufWriteColEnd
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:457,1
    - Dst: taosAnalyBufWriteDataEnd
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:461,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:464,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:467,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:488,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:491,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:495,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:498,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - pInfo
    - pSupp
    - id
    argTypes:
    - SAnalysisOperatorInfo*
    - SBaseSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 500
    functionName: finishBuildRequest
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - taosAnalyBufWriteOptStr
    - taosAnalyBufWriteOptInt
    - taosAnalyBufClose
    - taosAnalyBufWriteColEnd
    - estResultRowsAfterImputation
    - taosAnalyBufWriteDataEnd
    linkageType: ''
    returnType: int32_t
    signature: int32_t finishBuildRequest(SAnalysisOperatorInfo* pInfo, SBaseSupp*
      pSupp, const char* id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:504,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:506,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:510,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:511,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:514,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:515,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:517,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:517,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - pathJson
    - pResTargetCol
    - pId
    - buf
    - bufSize
    argTypes:
    - SJson*
    - SColumnInfoData*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 524
    functionName: buildDtwPathResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - tjsonGetArrayItem
    - tjsonGetArraySize
    - snprintf
    - tjsonGetObjectValueBigInt
    - varDataVal
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildDtwPathResult(SJson* pathJson, SColumnInfoData* pResTargetCol,
      const char* pId, char* buf,\n                                  int32_t bufSize)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:533,1
    - Dst: taosAnalySendReqRetJson
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:538,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:544,1
    - Dst: parseErrorMsgFromAnalyticServer
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:546,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:547,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:556,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:559,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:562,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:565,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:571,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:574,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:575,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:576,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:585,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:586,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:587,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:592,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:593,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:595,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:600,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:601,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:603,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:609,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:613,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:614,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:616,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:625,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:628,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:629,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:633,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:636,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:642,1
    - Dst: buildDtwPathResult
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:645,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:647,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:647,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:651,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:653,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:653,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:662,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:665,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:669,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:670,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:673,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:674,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:677,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:677,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:677,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:679,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:684,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:688,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:689,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:694,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:698,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:703,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:703,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 138
    argCount: 4
    argNames:
    - pInfo
    - pSupp
    - pBlock
    - pId
    argTypes:
    - SAnalysisOperatorInfo*
    - SBaseSupp*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 705
    functionName: doAnalysisImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - qError
    - tjsonGetArraySize
    - snprintf
    - tjsonGetObjectItem
    - tjsonGetObjectValueDouble
    - taosArrayGet
    - colDataSetInt32
    - varDataVal
    - colDataSetInt64
    - taosAnalySendReqRetJson
    - tListLen
    - tjsonGetArrayItem
    - colDataSetFloat
    - colDataSetVal
    - tstrerror
    - varDataSetLen
    - parseErrorMsgFromAnalyticServer
    - tjsonGetInt32ValueFromDouble
    - colDataSetDouble
    - buildDtwPathResult
    - tjsonDelete
    - tjsonGetObjectValueBigInt
    linkageType: ''
    returnType: int32_t
    signature: int32_t doAnalysisImpl(SAnalysisOperatorInfo* pInfo, SBaseSupp* pSupp,
      SSDataBlock* pBlock, const char* pId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:710,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:716,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:721,1
    - Dst: finishBuildRequest
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:724,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:725,1
    - Dst: doAnalysisImpl
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:739,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:740,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:742,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - pInfo
    - pTaskInfo
    argTypes:
    - SAnalysisOperatorInfo*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 707
    functionDepth: 3
    functionLinenumber: 707
    functionLinenumberEnd: 748
    functionName: doAnalysis
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - uInfo
    - taosAnalyBufDestroy
    - GET_TASKID
    - doAnalysisImpl
    - qDebug
    - QUERY_CHECK_CODE
    - taosArrayClear
    - finishBuildRequest
    linkageType: ''
    returnType: int32_t
    signature: int32_t doAnalysis(SAnalysisOperatorInfo* pInfo, SExecTaskInfo* pTaskInfo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:755,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:755,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:757,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:769,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:770,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:778,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:781,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:782,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:793,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:794,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:802,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:805,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:813,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:822,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 4
    argNames:
    - pInfo
    - pSupp
    - pFuncs
    - id
    argTypes:
    - SAnalysisOperatorInfo*
    - SImputationSupp*
    - SNodeList*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 827
    functionName: doParseInputForImputation
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - qError
    - LIST_LENGTH
    - nodeType
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t doParseInputForImputation(SAnalysisOperatorInfo* pInfo, SImputationSupp*
      pSupp, SNodeList* pFuncs, const char* id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:755,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:755,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:757,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:769,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:770,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:778,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:781,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:782,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:793,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:794,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:802,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:805,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:813,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 819
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 48
    functionsReached:
    - nodesListGetNode
    - qError
    - LIST_LENGTH
    - nodeType
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:834,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:834,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:836,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:848,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:849,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:858,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:862,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:863,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:871,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:873,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:874,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:877,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:877,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:881,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:884,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:884,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:888,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:897,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - pInfo
    - pSupp
    - pFuncs
    - id
    argTypes:
    - SAnalysisOperatorInfo*
    - SCorrelationSupp*
    - SNodeList*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 902
    functionName: doParseInputForDtw
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - taosMemoryMalloc
    - qError
    - LIST_LENGTH
    - nodeType
    - snprintf
    - tstrerror
    - strlen
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t doParseInputForDtw(SAnalysisOperatorInfo* pInfo, SCorrelationSupp*
      pSupp, SNodeList* pFuncs, const char* id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:834,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:834,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:836,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:848,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:849,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:858,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:862,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:863,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:871,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:873,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:874,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:877,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:877,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:881,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:884,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:884,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:888,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 894
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 48
    functionsReached:
    - nodesListGetNode
    - taosMemoryMalloc
    - qError
    - LIST_LENGTH
    - nodeType
    - snprintf
    - tstrerror
    - strlen
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:909,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:909,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:911,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:923,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:924,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:933,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:941,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:942,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:950,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:952,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:953,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:956,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:956,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:960,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:963,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:963,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:967,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:976,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - pInfo
    - pSupp
    - pFuncs
    - id
    argTypes:
    - SAnalysisOperatorInfo*
    - SCorrelationSupp*
    - SNodeList*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 981
    functionName: doParseInputForTlcc
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - taosMemoryMalloc
    - qError
    - LIST_LENGTH
    - nodeType
    - snprintf
    - tstrerror
    - strlen
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t doParseInputForTlcc(SAnalysisOperatorInfo* pInfo, SCorrelationSupp*
      pSupp, SNodeList* pFuncs, const char* id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:909,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:909,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:911,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:923,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:924,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:933,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:941,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:942,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:950,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:952,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:953,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:956,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:956,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:960,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:963,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:963,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:967,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 973
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 48
    functionsReached:
    - nodesListGetNode
    - taosMemoryMalloc
    - qError
    - LIST_LENGTH
    - nodeType
    - snprintf
    - tstrerror
    - strlen
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pInfo
    - pExprSup
    argTypes:
    - SAnalysisOperatorInfo*
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1003
    functionName: doSetResSlot
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetResSlot(SAnalysisOperatorInfo* pInfo, SExprSupp* pExprSup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SBaseSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1015
    functionName: doInitBaseOptions
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void doInitBaseOptions(SBaseSupp* pSupp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doInitBaseOptions
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SImputationSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1027
    functionName: doInitImputOptions
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - doInitBaseOptions
    linkageType: ''
    returnType: void
    signature: void doInitImputOptions(SImputationSupp* pSupp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doInitBaseOptions
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SCorrelationSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1040
    functionName: doInitDtwOptions
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - doInitBaseOptions
    linkageType: ''
    returnType: void
    signature: void doInitDtwOptions(SCorrelationSupp* pSupp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1048,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1048,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1050,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1051,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1053,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1053,1
    - Dst: regcomp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1057,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1058,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1062,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1063,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1065,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1066,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1071,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1072,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1075,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1078,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pSupp
    - pHashMap
    - id
    argTypes:
    - SImputationSupp*
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1080
    functionName: parseFreq
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - regcomp
    - taosMemoryFreeClear
    - taosStrndupi
    - regexec
    - regfree
    - taosHashGetValueSize
    - taosHashGet
    - qError
    - strerror
    - qDebug
    - tstrncpy
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseFreq(SImputationSupp* pSupp, SHashObj* pHashMap, const
      char* id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1083,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1083,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1086,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pSupp
    - pHashMap
    - id
    argTypes:
    - SCorrelationSupp*
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1090
    functionName: parseRadius
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - strlen
    - taosHashGet
    linkageType: ''
    returnType: void
    signature: void parseRadius(SCorrelationSupp* pSupp, SHashObj* pHashMap, const
      char* id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1093,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1093,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1096,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1098,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1101,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1101,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1104,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pSupp
    - pHashMap
    - id
    argTypes:
    - SCorrelationSupp*
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1108
    functionName: parseLag
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - strlen
    - taosHashGet
    linkageType: ''
    returnType: void
    signature: void parseLag(SCorrelationSupp* pSupp, SHashObj* pHashMap, const char*
      id)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1114,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1116,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1118,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1120,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1122,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1124,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1130,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1134,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1136,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1138,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1140,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1142,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1144,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1150,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1154,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1156,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1158,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1160,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1162,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1164,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1170,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 74
    argCount: 6
    argNames:
    - rows
    - skey
    - ekey
    - prec
    - pFreq
    - id
    argTypes:
    - int32_t
    - int64_t
    - int64_t
    - int32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1176
    functionName: estResultRowsAfterImputation
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - qError
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t estResultRowsAfterImputation(int32_t rows, int64_t skey, int64_t
      ekey, int32_t prec, const char* pFreq, const char* id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1183,1
    - Dst: taosAnalysisParseAlgo
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1196,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1196,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1198,1
    - Dst: taosAnalysisParseTimout
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1203,1
    - Dst: taosAnalysisParseWncheck
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1204,1
    - Dst: parseFreq
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1208,1
    - Dst: parseRadius
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1210,1
    - Dst: parseLag
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1212,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1216,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pInfo
    - id
    argTypes:
    - SAnalysisOperatorInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1218
    functionName: doParseOption
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - parseLag
    - taosAnalyGetOpts
    - tListLen
    - TSDB_CHECK_CODE
    - taosAnalysisParseTimout
    - parseFreq
    - taosHashCleanup
    - taosAnalysisParseAlgo
    - taosAnalysisParseWncheck
    - parseRadius
    linkageType: ''
    returnType: int32_t
    signature: int32_t doParseOption(SAnalysisOperatorInfo* pInfo, const char* id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1225,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1229,1
    - Dst: tsosAnalyBufOpen
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1231,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1235,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1238,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1241,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1244,1
    - Dst: taosAnalyBufWriteDataBegin
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1248,1
    - Dst: taosAnalyBufWriteColBegin
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1252,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1258,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/imputationoperator.c:1259,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - pInfo
    - pId
    argTypes:
    - SAnalysisOperatorInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1220
    functionDepth: 1
    functionLinenumber: 1220
    functionLinenumberEnd: 1262
    functionName: doCreateBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached:
    - taosAnalyBufWriteColMeta
    - taosAnalyBufWriteColBegin
    - taosGetTimestampNs
    - taosAnalyBufClose
    - taosAnalyBufWriteDataBegin
    - snprintf
    - taosAnalyBufDestroy
    - tsosAnalyBufOpen
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCreateBuf(SAnalysisOperatorInfo* pInfo, const char* pId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1269
    functionName: createGenericAnalysisOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createGenericAnalysisOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* physiNode, SExecTaskInfo* pTaskInfo,\n                                     SOperatorInfo**
      pOptrInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1270
    functionName: analysisDestroyOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/imputationoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void analysisDestroyOperatorInfo(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:89,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:91,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pBlock
    - newRowsNum
    argTypes:
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: forecastEnsureBlockCapacity
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - blockDataEnsureCapacity
    - qError
    - tstrerror
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE forecastEnsureBlockCapacity(SSDataBlock* pBlock, int32_t
      newRowsNum)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:105,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:106,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:111,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:114,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:115,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:120,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:123,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:124,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:128,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:130,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:130,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:135,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:137,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:137,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:142,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:143,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:144,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:146,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:149,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:149,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:155,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:156,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:157,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:159,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:160,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:162,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:162,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - pSupp
    - pBlock
    - id
    argTypes:
    - SForecastSupp*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 169
    functionName: forecastCacheBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - TMAX
    - qError
    - TMIN
    - qDebug
    - taosAnalyBufWriteColData
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t forecastCacheBlock(SForecastSupp* pSupp, SSDataBlock* pBlock,
      const char* id)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:180,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:181,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:184,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:185,1
    - Dst: taosAnalyBufWriteColEnd
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:192,1
    - Dst: taosAnalyBufWriteDataEnd
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:196,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:199,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:202,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:208,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:211,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:215,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:219,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:224,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:225,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:230,1
    - Dst: taosAnalyBufWriteOptFloat
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:233,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:236,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:238,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:242,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:245,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:245,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:246,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:250,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 2
    argNames:
    - pSupp
    - id
    argTypes:
    - SForecastSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 252
    functionName: forecastCloseBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - qError
    - taosAnalyBufWriteOptStr
    - taosAnalyBufWriteOptInt
    - taosAnalyBufWriteOptFloat
    - taosAnalyBufWriteColEnd
    - taosAnalyBufClose
    - taosAnalyBufWriteColData
    - taosArrayGetSize
    - strlen
    - taosAnalyBufWriteDataEnd
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t forecastCloseBuf(SForecastSupp* pSupp, const char* id)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:261,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:266,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:268,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:270,1
    - Dst: taosAnalySendReqRetJson
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:272,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:278,1
    - Dst: parseErrorMsgFromAnalyticServer
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:280,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:281,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: 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:306,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:307,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:315,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:320,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:321,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:322,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:329,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:331,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:334,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:335,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:336,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:342,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:344,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:347,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:348,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:350,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:356,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:360,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:365,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 90
    argCount: 3
    argNames:
    - pSupp
    - pBlock
    - pId
    argTypes:
    - SForecastSupp*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 367
    functionName: forecastAnalysis
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - tjsonGetObjectValueDouble
    - taosArrayGet
    - parseErrorMsgFromAnalyticServer
    - tjsonGetInt32ValueFromDouble
    - taosAnalySendReqRetJson
    - colDataSetDouble
    - qError
    - tjsonGetArrayItem
    - tjsonDelete
    - tjsonGetArraySize
    - tjsonGetObjectItem
    - tjsonGetObjectValueBigInt
    - tstrerror
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t forecastAnalysis(SForecastSupp* pSupp, SSDataBlock* pBlock,
      const char* pId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forecastCloseBuf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:374,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:375,1
    - Dst: forecastEnsureBlockCapacity
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:377,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:378,1
    - Dst: forecastAnalysis
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:381,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:383,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pSupp
    - pResBlock
    - pId
    argTypes:
    - SForecastSupp*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 389
    functionName: forecastAggregateBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - forecastCloseBuf
    - forecastAnalysis
    - uInfo
    - QUERY_CHECK_CODE
    - taosAnalyBufDestroy
    - forecastEnsureBlockCapacity
    linkageType: ''
    returnType: int32_t
    signature: int32_t forecastAggregateBlocks(SForecastSupp* pSupp, SSDataBlock*
      pResBlock, const char* pId)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:400,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:402,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:404,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:407,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:413,1
    - Dst: GET_STM_RTINFO
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:414,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:416,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:424,1
    - Dst: forecastCacheBlock
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:426,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:427,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:429,1
    - Dst: forecastAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:430,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:431,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:435,1
    - Dst: forecastCacheBlock
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:437,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:438,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:443,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:449,1
    - Dst: forecastAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:450,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:451,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:454,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:455,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:459,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:459,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:461,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 391
    functionDepth: 7
    functionLinenumber: 391
    functionLinenumberEnd: 466
    functionName: forecastNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - blockDataCleanup
    - taosGetTimestampUs
    - qError
    - GET_TASKID
    - qDebug
    - GET_STM_RTINFO
    - forecastAggregateBlocks
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tstrerror
    - forecastCacheBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t forecastNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pSupp
    - pExprSup
    argTypes:
    - SForecastSupp*
    - SExprSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 490
    functionName: forecastParseOutput
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t forecastParseOutput(SForecastSupp* pSupp, SExprSupp* pExprSup)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:494,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:497,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:503,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:506,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:506,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:512,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:513,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:515,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:515,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:516,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:516,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:516,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:524,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:525,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:527,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:531,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:532,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:533,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:533,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:540,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:540,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - pFunc
    - id
    argTypes:
    - SFunctionNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 543
    functionName: validInputParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - qError
    - LIST_LENGTH
    - nodeType
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t validInputParams(SFunctionNode* pFunc, const char* id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:546,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pSupp
    - slotId
    argTypes:
    - SForecastSupp*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 555
    functionName: existInList
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool existInList(SForecastSupp* pSupp, int32_t slotId)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:567,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:567,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:569,1
    - Dst: validInputParams
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:572,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:581,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:582,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:590,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:592,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:592,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:596,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:605,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:606,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:614,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:617,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:626,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:628,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:628,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:633,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:634,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:638,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:639,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:639,1
    - Dst: existInList
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:647,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:657,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:657,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:658,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:661,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:661,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:665,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 3
    argNames:
    - pSupp
    - pFuncs
    - id
    argTypes:
    - SForecastSupp*
    - SNodeList*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 672
    functionName: forecastParseInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - existInList
    - taosArrayPush
    - tListLen
    - qError
    - LIST_LENGTH
    - validInputParams
    - nodeType
    - tstrncpy
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t forecastParseInput(SForecastSupp* pSupp, SNodeList* pFuncs,
      const char* id)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:567,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:567,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:569,1
    - Dst: validInputParams
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:572,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:581,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:582,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:590,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:592,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:592,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:596,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:605,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:606,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:614,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:617,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:626,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:628,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:628,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:633,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:634,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:638,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:639,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:639,1
    - Dst: existInList
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:647,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:657,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:657,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:658,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:661,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:661,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:665,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 669
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 48
    functionsReached:
    - nodesListGetNode
    - existInList
    - taosArrayPush
    - tListLen
    - qError
    - LIST_LENGTH
    - validInputParams
    - nodeType
    - tstrncpy
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SForecastSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 683
    functionName: initForecastOpt
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initForecastOpt(SForecastSupp* pSupp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:686,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:687,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:689,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SForecastSupp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 697
    functionName: filterNotSupportForecast
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - taosStrcasecmp
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterNotSupportForecast(SForecastSupp* pSupp)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: initForecastOpt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:705,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:707,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:712,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:714,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:718,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:720,1
    - Dst: taosAnalysisParseAlgo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:724,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:725,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:726,1
    - Dst: filterNotSupportForecast
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:728,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:730,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:731,1
    - Dst: taosAnalysisParseTimout
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:735,1
    - Dst: taosAnalysisParseWncheck
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:736,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:739,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:739,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:742,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:742,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:745,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:747,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:751,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:758,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:764,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:764,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:767,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:772,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:775,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:778,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:782,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:782,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:785,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:785,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:788,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:792,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:792,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:795,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:795,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:798,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:802,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:812,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:814,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:818,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:818,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:820,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:824,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:829,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:830,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:830,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:832,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:832,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:834,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:835,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:837,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:842,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:842,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:844,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:850,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:851,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:852,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:859,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:861,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:865,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:870,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:871,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:872,1
    - Dst: strsplit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:875,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:877,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:881,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:882,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:883,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:889,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:891,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:891,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:898,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:907,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:908,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:912,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:913,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:917,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:918,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:922,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:923,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:927,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:928,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:932,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:933,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:937,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:938,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:942,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:943,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:947,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:948,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:952,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:953,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:963,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:964,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:969,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:971,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:980,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 200
    argCount: 2
    argNames:
    - pSupp
    - id
    argTypes:
    - SForecastSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 982
    functionName: forecastParseOpt
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - taosHashGetValueSize
    - TSDB_CHECK_CODE
    - taosStr2Int64
    - filterNotSupportForecast
    - toInteger
    - taosStr2UInt32
    - memcpy
    - taosArrayGet
    - taosStr2Int8
    - qWarn
    - taosHashGetSize
    - strdequote
    - strsplit
    - taosStr2Double
    - taosArrayGetSize
    - taosStr2UInt16
    - taosStr2Int32
    - strcmp
    - colInfoDataEnsureCapacity
    - taosStrndupi
    - tListLen
    - sscanf
    - colDataSetVal
    - qDebug
    - taosHashGetKey
    - taosStr2Int16
    - tstrncpy
    - taosStr2Float
    - taosStr2UInt8
    - taosHashIterate
    - taosAnalyGetOpts
    - taosHashGet
    - strstr
    - initForecastOpt
    - taosAnalysisParseTimout
    - strncmp
    - taosMemoryFree
    - taosHashCleanup
    - taosAnalysisParseAlgo
    - tstrerror
    - strlen
    - taosAnalysisParseWncheck
    - taosStr2UInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t forecastParseOpt(SForecastSupp* pSupp, const char* id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:986,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:990,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:992,1
    - Dst: tsosAnalyBufOpen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:994,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:997,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1000,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1003,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1004,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1008,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1010,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1011,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1012,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1014,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1014,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1015,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1020,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1021,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1027,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1029,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1032,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1032,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1034,1
    - Dst: taosAnalyBufWriteDataBegin
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1041,1
    - Dst: taosAnalyBufWriteColBegin
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1045,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1051,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1052,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 2
    argNames:
    - pSupp
    - pId
    argTypes:
    - SForecastSupp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 1055
    functionName: forecastCreateBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - taosAnalyBufWriteColMeta
    - memcpy
    - taosArrayGet
    - taosAnalyBufWriteColBegin
    - tListLen
    - taosGetTimestampNs
    - taosAnalyBufClose
    - taosArrayRemove
    - taosAnalyBufWriteDataBegin
    - snprintf
    - taosArrayGetSize
    - taosAnalyBufDestroy
    - tsosAnalyBufOpen
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t forecastCreateBuf(SForecastSupp* pSupp, const char* pId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1066,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1068,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1071,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1073,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1074,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1079,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1079,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1081,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1081,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1083,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1083,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1086,1
    - Dst: forecastParseInput
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1086,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1088,1
    - Dst: forecastParseOutput
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1088,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1090,1
    - Dst: forecastParseOpt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1090,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1091,1
    - Dst: forecastCreateBuf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1091,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1096,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1096,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1097,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1097,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1100,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1105,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1057
    functionDepth: 16
    functionLinenumber: 1057
    functionLinenumberEnd: 1109
    functionName: resetForecastOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - forecastParseInput
    - initResultSizeInfo
    - blockDataCleanup
    - qError
    - forecastParseOutput
    - forecastCreateBuf
    - TAOS_CHECK_EXIT
    - createExprInfo
    - cleanupExprSupp
    - initExprSupp
    - tstrerror
    - taosAnalyBufDestroy
    - taosArrayDestroy
    - filterInitFromNode
    - forecastParseOpt
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetForecastOperState(SOperatorInfo* pOper)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1116,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1120,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1121,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1126,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1136,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1137,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1139,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1140,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1145,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1146,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1148,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1149,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1152,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1154,1
    - Dst: forecastParseInput
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1156,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1157,1
    - Dst: forecastParseOutput
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1159,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1160,1
    - Dst: forecastParseOpt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1162,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1163,1
    - Dst: forecastCreateBuf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1165,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1166,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1168,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1170,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1171,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1173,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1175,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1178,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1180,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1181,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1183,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1184,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1188,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1193,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1193,1
    - Dst: destroyForecastInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1195,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 4
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1114
    functionDepth: 16
    functionLinenumber: 1114
    functionLinenumberEnd: 1199
    functionName: createForecastOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 1
    functionsReached:
    - appendDownstream
    - qError
    - forecastParseOutput
    - createOperatorFpSet
    - setOperatorResetStateFn
    - destroyForecastInfo
    - filterInitFromNode
    - QRY_PARAM_CHECK
    - createExprInfo
    - QUERY_CHECK_CODE
    - initExprSupp
    - taosMemoryCalloc
    - forecastParseOpt
    - forecastParseInput
    - initResultSizeInfo
    - setOperatorInfo
    - destroyOperatorAndDownstreams
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - qDebug
    - blockDataEnsureCapacity
    - initOperatorCostInfo
    - forecastCreateBuf
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createForecastOperatorInfo(SOperatorInfo* downstream, SPhysiNode*
      pPhyNode, SExecTaskInfo* pTaskInfo,\n                                   SOperatorInfo**
      pOptrInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1203,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1205
    functionName: destroyColFutureData
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyColFutureData(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1210,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1213,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1216,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1219,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1221,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1222,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1207
    functionDepth: 4
    functionLinenumber: 1207
    functionLinenumberEnd: 1224
    functionName: destroyForecastInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - taosMemoryFree
    - cleanupExprSupp
    - taosAnalyBufDestroy
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void destroyForecastInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1231
    functionName: createForecastOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createForecastOperatorInfo(SOperatorInfo* downstream, SPhysiNode*
      pPhyNode, SExecTaskInfo* pTaskInfo,\n                                   SOperatorInfo**
      pOptrInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pDataInfo
    argTypes:
    - SSourceDataInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: isVstbScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVstbScan(SSourceDataInfo* pDataInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pDataInfo
    argTypes:
    - SSourceDataInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: isVstbWinScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVstbWinScan(SSourceDataInfo* pDataInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pDataInfo
    argTypes:
    - SSourceDataInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: isVstbAggScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVstbAggScan(SSourceDataInfo* pDataInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pDataInfo
    argTypes:
    - SSourceDataInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: isVstbTagScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVstbTagScan(SSourceDataInfo* pDataInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pDataInfo
    argTypes:
    - SSourceDataInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: isStbJoinScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isStbJoinScan(SSourceDataInfo* pDataInfo)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:91,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:92,1
    - Dst: getCompletedSources
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:94,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:97,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:100,1
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:101,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:110,1
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:111,1
    - Dst: getCompletedSources
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:117,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:120,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:123,1
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:124,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:131,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:131,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:133,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:135,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:137,1
    - Dst: IS_STREAM_SINGLE_GRP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:145,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:146,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:148,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:148,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:150,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:154,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:168,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:170,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:172,1
    - Dst: recordOpExecBeforeDownstream
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:176,1
    - Dst: exchangeWait
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:177,1
    - Dst: recordOpExecAfterDownstream
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:178,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:180,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:181,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:184,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:186,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:187,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:188,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:195,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:197,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:197,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:199,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:203,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:204,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:205,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:207,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:214,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:216,1
    - Dst: isVstbScan
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:220,1
    - Dst: isVstbTagScan
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:220,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:225,1
    - Dst: doExtractResultBlocks
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:229,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:230,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:234,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:236,1
    - Dst: isVstbScan
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:241,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:243,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:247,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:249,1
    - Dst: updateLoadRemoteInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:253,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:258,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:266,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:266,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 124
    argCount: 3
    argNames:
    - pOperator
    - pExchangeInfo
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SExchangeInfo*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 268
    functionName: streamSequenciallyLoadRemoteData
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosGetTimestampUs
    - qError
    - updateLoadRemoteInfo
    - exchangeWait
    - recordOpExecAfterDownstream
    - doSendFetchDataRequest
    - getCompletedSources
    - taosArrayGet
    - doExtractResultBlocks
    - taosArrayGetSize
    - IS_STREAM_SINGLE_GRP
    - TAOS_CHECK_EXIT
    - tSimpleHashGet
    - T_LONG_JMP
    - GET_TASKID
    - qDebug
    - isTaskKilled
    - isVstbScan
    - recordOpExecBeforeDownstream
    - setAllSourcesCompleted
    - atomic_load_64
    - isVstbTagScan
    - tstrerror
    linkageType: ''
    returnType: void
    signature: "void streamSequenciallyLoadRemoteData(SOperatorInfo* pOperator,\n
      \                                            SExchangeInfo* pExchangeInfo,\n
      \                                            SExecTaskInfo* pTaskInfo)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:275,1
    - Dst: getCompletedSources
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:277,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:280,1
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:283,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:290,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:290,1
    - Dst: recordOpExecBeforeDownstream
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:291,1
    - Dst: exchangeWait
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:292,1
    - Dst: recordOpExecAfterDownstream
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:293,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:295,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:296,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:300,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:301,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:310,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:312,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:313,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:319,1
    - Dst: tmemory_barrier
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:322,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:324,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:325,1
    - Dst: isVstbScan
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:330,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:332,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:334,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:335,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:339,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:341,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:343,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:348,1
    - Dst: doExtractResultBlocks
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:348,1
    - Dst: updateLoadRemoteInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:351,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:356,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:359,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:363,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:365,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:369,1
    - Dst: isVstbScan
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:371,1
    - Dst: isVstbTagScan
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:371,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:373,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:375,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:376,1
    - Dst: getCompletedSources
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:384,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:387,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:390,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:390,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:399,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:399,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 3
    argNames:
    - pOperator
    - pExchangeInfo
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SExchangeInfo*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 401
    functionName: concurrentlyLoadRemoteDataImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - updateLoadRemoteInfo
    - tmemory_barrier
    - exchangeWait
    - recordOpExecAfterDownstream
    - doSendFetchDataRequest
    - getCompletedSources
    - taosArrayGet
    - doExtractResultBlocks
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - T_LONG_JMP
    - GET_TASKID
    - QUERY_CHECK_NULL
    - qDebug
    - isTaskKilled
    - isVstbScan
    - recordOpExecBeforeDownstream
    - setAllSourcesCompleted
    - atomic_load_64
    - isVstbTagScan
    - tstrerror
    linkageType: ''
    returnType: void
    signature: "void concurrentlyLoadRemoteDataImpl(SOperatorInfo* pOperator, SExchangeInfo*
      pExchangeInfo,\n                                           SExecTaskInfo* pTaskInfo)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:408,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:412,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:413,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:420,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:421,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:422,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:426,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:429,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:429,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:431,1
    - Dst: IS_NON_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:435,1
    - Dst: IS_STREAM_SINGLE_GRP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:435,1
    - Dst: seqLoadRemoteData
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:436,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:438,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:438,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:440,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:442,1
    - Dst: streamSequenciallyLoadRemoteData
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:443,1
    - Dst: concurrentlyLoadRemoteDataImpl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:445,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:448,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:448,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:449,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:452,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:453,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:456,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:457,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:458,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:461,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:461,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:463,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:466,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 470
    functionName: doLoadRemoteDataImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - T_LONG_JMP
    - streamSequenciallyLoadRemoteData
    - qError
    - GET_TASKID
    - IS_NON_STREAM_MODE
    - IS_STREAM_MODE
    - qDebug
    - taosArrayRemove
    - seqLoadRemoteData
    - taosArrayGetSize
    - tstrerror
    - IS_STREAM_SINGLE_GRP
    - concurrentlyLoadRemoteDataImpl
    - taosArrayGetP
    linkageType: ''
    returnType: SSDataBlock
    signature: SSDataBlock * doLoadRemoteDataImpl(SOperatorInfo* pOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:478,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:480,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:481,1
    - Dst: doLoadRemoteDataImpl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:489,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:495,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:496,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:498,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:499,1
    - Dst: hasLimitOffsetInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:504,1
    - Dst: handleLimitOffset
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:505,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:507,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:511,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:521,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:529,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:529,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:531,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:533,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 472
    functionDepth: 5
    functionLinenumber: 472
    functionLinenumberEnd: 538
    functionName: loadRemoteDataNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - hasLimitOffsetInfo
    - doLoadRemoteDataImpl
    - SOperatorInfo*::fpSet::_openFn
    - qError
    - blockDataGetNumOfRows
    - setOperatorCompleted
    - qDebug
    - doFilter
    - QUERY_CHECK_CODE
    - tstrerror
    - handleLimitOffset
    linkageType: ''
    returnType: int32_t
    signature: int32_t loadRemoteDataNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:541,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:550,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:551,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:555,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:561,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:563,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - numOfSources
    - pInfo
    - id
    argTypes:
    - int32_t
    - SExchangeInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: initDataSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - qDebug
    - tstrncpy
    - taosArrayInit
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t initDataSource(int32_t numOfSources, SExchangeInfo* pInfo,
      const char* id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:573,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:576,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:579,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:583,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:588,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:590,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:590,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:595,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:595,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:597,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:597,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:603,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:605,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:605,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:608,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:610,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:610,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:615,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:617,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:617,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:622,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:623,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:626,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:626,1
    - Dst: initDataSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:632,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - pExNode
    - pInfo
    - id
    argTypes:
    - SExchangePhysiNode*
    - SExchangeInfo*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 633
    functionName: initExchangeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - taosAddRef
    - initLimitInfo
    - qError
    - LIST_LENGTH
    - tSimpleHashPut
    - taosArrayReserve
    - initDataSource
    - tSimpleHashInit
    - taosArrayInit
    - tstrerror
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t initExchangeOperator(SExchangePhysiNode* pExNode, SExchangeInfo*
      pInfo, const char* id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:639,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:641,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:647,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:648,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:649,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:650,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:651,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:659,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:663,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:666,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:667,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:669,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:673,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 681
    functionName: resetExchangeOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - blockDataCleanup
    - atomic_add_fetch_64
    - qDebug
    - taosArrayGetSize
    - taosWUnLockLatch
    - tSimpleHashIterate
    - initLimitInfo
    - taosWLockLatch
    - taosArrayClearEx
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetExchangeOperState(SOperatorInfo* pOper)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:686,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:688,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:698,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:702,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:703,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 710
    functionName: exchangeGetExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - TMAX
    - taosArrayGet
    - taosMemoryCalloc
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: "int32_t exchangeGetExplainExecInfo(SOperatorInfo* pOptr,\n                                          void**
      pOptrExplain, uint32_t* len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:714,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:718,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:719,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:724,1
    - Dst: initExchangeOperator
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:729,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:729,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:730,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:732,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:733,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:735,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:736,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:738,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:739,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:740,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:741,1
    - Dst: qAppendTaskStopInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:744,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:745,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:754,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:756,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:758,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:760,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:761,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:762,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:765,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:771,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:771,1
    - Dst: doDestroyExchangeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:775,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:780,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 4
    argNames:
    - pTransporter
    - pExNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - void*
    - SExchangePhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 712
    functionDepth: 16
    functionLinenumber: 712
    functionLinenumberEnd: 783
    functionName: createExchangeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 2
    functionsReached:
    - qAppendTaskStopInfo
    - qError
    - createOperatorFpSet
    - setOperatorResetStateFn
    - filterInitFromNode
    - initExchangeOperator
    - QRY_PARAM_CHECK
    - qTrace
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - setOperatorInfo
    - createDataBlockFromDescNode
    - GET_TASKID
    - tsem_init
    - QUERY_CHECK_NULL
    - destroyOperator
    - initOperatorCostInfo
    - doDestroyExchangeOperatorInfo
    - taosArrayInit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createExchangeOperatorInfo(void* pTransporter, SExchangePhysiNode*
      pExNode, SExecTaskInfo* pTaskInfo,\n                                   SOperatorInfo**
      pOptrInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:787,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:789,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 791
    functionName: destroyExchangeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosRemoveRef
    - qError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void destroyExchangeOperatorInfo(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: freeBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void freeBlock(void* pParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:800,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 804
    functionName: freeSourceDataInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void freeSourceDataInfo(void* p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:813,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:815,1
    - Dst: asyncFreeConnById
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:816,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:819,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:822,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:823,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:825,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:826,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:828,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:829,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:831,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:833,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:833,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:835,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 838
    functionName: doDestroyExchangeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - taosArrayGet
    - qError
    - tsem_destroy
    - tSimpleHashCleanup
    - asyncFreeConnById
    - tstrerror
    - taosArrayDestroy
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void doDestroyExchangeOperatorInfo(void* param)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:843,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:844,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:846,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:847,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:851,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:853,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:854,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:855,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:857,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:857,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:864,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:866,1
    - Dst: asyncFreeConnById
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:868,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:870,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:870,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:875,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:881,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:885,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:887,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:894,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:895,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:896,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:897,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:898,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:899,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:901,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:904,1
    - Dst: rpcCvtErrCode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:905,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:907,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:908,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:908,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:910,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:910,1
    - Dst: tmemory_barrier
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:915,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:917,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:919,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:921,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:921,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:925,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:927,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:927,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 930
    functionName: loadRemoteDataCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosMemoryFreeClear
    - taosAcquireRef
    - qError
    - taosGetTimestampUs
    - tmemory_barrier
    - tsem_post
    - taosArrayGet
    - qWarn
    - rpcCvtErrCode
    - taosWLockLatch
    - htobe64
    - taosReleaseRef
    - qDebug
    - taosWUnLockLatch
    - atomic_load_64
    - asyncFreeConnById
    - taosMemoryFree
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t loadRemoteDataCallback(void* param, SDataBuf* pMsg, int32_t
      code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:933,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:938,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:940,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:945,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:947,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 4
    argNames:
    - ppRes
    - pUidList
    - srcOpType
    - tableSeq
    argTypes:
    - SOperatorParam**
    - SArray*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 969
    functionName: buildTableScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - taosMemoryFree
    - taosArrayDup
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableScanOperatorParam(SOperatorParam** ppRes, SArray*
      pUidList, int32_t srcOpType, bool tableSeq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:976,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:977,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:979,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:980,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:984,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:985,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:991,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:992,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:995,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:997,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:998,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: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1022,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1024,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1026,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1027,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 8
    argNames:
    - ppRes
    - pUidList
    - srcOpType
    - pMap
    - tableSeq
    - window
    - isNewParam
    - type
    argTypes:
    - SOperatorParam**
    - SArray*
    - int32_t
    - SOrgTbInfo*
    - bool
    - STimeWindow*
    - bool
    - ETableScanDynType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1032
    functionName: buildTableScanOperatorParamEx
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - qError
    - QUERY_CHECK_NULL
    - taosArrayDestroy
    - tstrncpy
    - taosMemoryFree
    - tstrerror
    - taosArrayDup
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableScanOperatorParamEx(SOperatorParam** ppRes, SArray*
      pUidList, int32_t srcOpType, SOrgTbInfo *pMap, bool tableSeq, STimeWindow *window,
      bool isNewParam, ETableScanDynType type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1040,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1045,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1046,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1049,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1050,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1066,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1067,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1068,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - ppRes
    - srcOpType
    - notifyTs
    argTypes:
    - SOperatorParam**
    - int32_t
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1074
    functionName: buildTableScanOperatorParamNotify
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qWarn
    - qError
    - QUERY_CHECK_NULL
    - taosMemoryFree
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildTableScanOperatorParamNotify(SOperatorParam** ppRes,\n
      \                                         int32_t srcOpType, TSKEY notifyTs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1081,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1082,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1084,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1085,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1090,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1091,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1098,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1099,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1100,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1101,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1104,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1105,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1106,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1107,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1108,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1115,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1116,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1118,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1119,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1123,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1125,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1126,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1127,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1132,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1132,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1154,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1155,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1157,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 9
    argNames:
    - ppRes
    - groupid
    - pUidList
    - srcOpType
    - pBatchMap
    - pTagList
    - tableSeq
    - window
    - isNewParam
    argTypes:
    - SOperatorParam**
    - uint64_t
    - SArray*
    - int32_t
    - SArray*
    - SArray*
    - bool
    - STimeWindow*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1164
    functionName: buildTableScanOperatorParamBatchInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - taosMemoryFreeClear
    - qError
    - QUERY_CHECK_NULL
    - taosArrayDestroy
    - tstrncpy
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosArrayDup
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableScanOperatorParamBatchInfo(SOperatorParam** ppRes,
      uint64_t groupid, SArray* pUidList, int32_t srcOpType, SArray *pBatchMap, SArray
      *pTagList, bool tableSeq, STimeWindow *window, bool isNewParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1186,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1187,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1195,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1196,1
    - Dst: buildTableScanOperatorParamBatchInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1199,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1201,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1203,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1203,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1214,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1215,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 8
    argNames:
    - ppRes
    - groupid
    - pUidList
    - pBatchMap
    - pTagList
    - tableSeq
    - window
    - isNewParam
    argTypes:
    - SOperatorParam**
    - uint64_t
    - SArray*
    - SArray*
    - SArray*
    - bool
    - STimeWindow*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1180
    functionDepth: 4
    functionLinenumber: 1180
    functionLinenumberEnd: 1217
    functionName: buildAggOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - freeOperatorParam
    - qError
    - QUERY_CHECK_NULL
    - buildTableScanOperatorParamBatchInfo
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildAggOperatorParam(SOperatorParam** ppRes, uint64_t groupid,
      SArray* pUidList, SArray* pBatchMap,\n                              SArray*
      pTagList, bool tableSeq, STimeWindow* window, bool isNewParam)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1239,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1240,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1246,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1247,1
    - Dst: buildTableScanOperatorParamBatchInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1250,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1252,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1254,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1254,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1260,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1261,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 8
    argNames:
    - ppRes
    - groupid
    - pUidList
    - pBatchMap
    - pTagList
    - tableSeq
    - window
    - isNewParam
    argTypes:
    - SOperatorParam**
    - uint64_t
    - SArray*
    - SArray*
    - SArray*
    - bool
    - STimeWindow*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1233
    functionDepth: 4
    functionLinenumber: 1233
    functionLinenumberEnd: 1263
    functionName: buildIntervalOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - freeOperatorParam
    - qError
    - QUERY_CHECK_NULL
    - buildTableScanOperatorParamBatchInfo
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildIntervalOperatorParam(SOperatorParam** ppRes, uint64_t
      groupid, SArray* pUidList, SArray* pBatchMap,\n                                          SArray*
      pTagList, bool tableSeq, STimeWindow* window, bool isNewParam)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1270,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1271,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1273,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1274,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1275,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1285,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1285,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1286,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - ppRes
    - pUidList
    - srcOpType
    argTypes:
    - SOperatorParam**
    - SArray*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1291
    functionName: buildTagScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - taosMemoryFree
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTagScanOperatorParam(SOperatorParam** ppRes, SArray* pUidList,
      int32_t srcOpType)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pRuntimeInfo
    - pTimeRange
    argTypes:
    - SStreamRuntimeFuncInfo*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1293
    functionDepth: 1
    functionLinenumber: 1293
    functionLinenumberEnd: 1321
    functionName: getCurrentWinCalcTimeRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t getCurrentWinCalcTimeRange(SStreamRuntimeFuncInfo* pRuntimeInfo,
      STimeWindow* pTimeRange)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1326,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1327,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1330,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1331,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1333,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1336,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1340,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1347
    functionName: clearVtbScanDataInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - taosArrayGet
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void clearVtbScanDataInfo(void* pItem)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1352,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1353,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1360,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1361,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1363,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1365,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1379,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1380,1
    - Dst: loadRemoteDataCallback
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1381,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1382,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1383,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1400,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1400,1
    - Dst: getCurrentWinCalcTimeRange
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1402,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1403,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1405,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1406,1
    - Dst: buildTableScanOperatorParamEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1419,1
    - Dst: clearVtbScanDataInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1420,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1421,1
    - Dst: buildTableScanOperatorParamEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1426,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1427,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1429,1
    - Dst: buildTagScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1434,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1435,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1437,1
    - Dst: buildTableScanOperatorParamBatchInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1448,1
    - Dst: clearVtbScanDataInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1452,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1453,1
    - Dst: buildIntervalOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1459,1
    - Dst: clearVtbScanDataInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1462,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1463,1
    - Dst: buildAggOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1469,1
    - Dst: clearVtbScanDataInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1472,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1473,1
    - Dst: buildTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1480,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1485,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1487,1
    - Dst: buildTableScanOperatorParamNotify
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1491,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1494,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1499,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1500,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1502,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1511,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1514,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1515,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1519,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1522,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1523,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1527,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1530,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1531,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1532,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1536,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1538,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1540,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1544,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1546,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1547,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1548,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1548,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1563,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1564,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1565,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1566,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1573,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1575,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1575,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 166
    argCount: 3
    argNames:
    - pExchangeInfo
    - pTaskInfo
    - sourceIndex
    argTypes:
    - SExchangeInfo*
    - SExecTaskInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1349
    functionDepth: 4
    functionLinenumber: 1349
    functionLinenumberEnd: 1578
    functionName: doSendFetchDataRequest
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 2
    functionsReached:
    - taosMemoryFreeClear
    - taosGetTimestampUs
    - qError
    - taosArrayDestroy
    - taosArrayGet
    - buildAggOperatorParam
    - loadRemoteDataCallback
    - asyncSendMsgToServer
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - clearVtbScanDataInfo
    - GET_TASKID
    - QUERY_CHECK_NULL
    - getCurrentWinCalcTimeRange
    - buildTagScanOperatorParam
    - qDebug
    - buildTableScanOperatorParam
    - tSerializeSResFetchReq
    - buildTableScanOperatorParamEx
    - buildIntervalOperatorParam
    - freeOperatorParam
    - buildTableScanOperatorParamNotify
    - buildTableScanOperatorParamBatchInfo
    - taosMemoryFree
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSendFetchDataRequest(SExchangeInfo* pExchangeInfo, SExecTaskInfo*
      pTaskInfo, int32_t sourceIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - pInfo
    - numOfRows
    - dataLen
    - startTs
    - pOperator
    argTypes:
    - SLoadRemoteDataInfo*
    - int64_t
    - int32_t
    - int64_t
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1589
    functionName: updateLoadRemoteInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 3
    functionsReached:
    - taosGetTimestampUs
    linkageType: ''
    returnType: void
    signature: "void updateLoadRemoteInfo(SLoadRemoteDataInfo* pInfo, int64_t numOfRows,\n
      \                         int32_t dataLen, int64_t startTs, SOperatorInfo* pOperator)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1596,1
    - Dst: blockDecodeInternal
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1597,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1598,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1601,1
    - Dst: blockDecodeInternal
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1602,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1603,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1607,1
    - Dst: htons
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1615,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1616,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1621,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1622,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1625,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1626,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1627,1
    - Dst: blockDecodeInternal
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1630,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1631,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1633,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1634,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1642,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1643,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1645,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1651,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1652,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 5
    argNames:
    - pRes
    - pData
    - pColList
    - pNextStart
    - isVstbScan
    argTypes:
    - SSDataBlock*
    - char*
    - SArray*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1591
    functionDepth: 2
    functionLinenumber: 1591
    functionLinenumberEnd: 1655
    functionName: extractDataBlockFromFetchRsp
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 1
    functionsReached:
    - htonl
    - tstrerror
    - blockDataCleanup
    - blockDataEnsureCapacity
    - qError
    - createColumnInfoData
    - createDataBlock
    - htons
    - QUERY_CHECK_CODE
    - blockDecodeInternal
    - blockDataAppendColInfo
    - blockDataDestroy
    - relocateColumnData
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractDataBlockFromFetchRsp(SSDataBlock* pRes, char* pData,
      SArray* pColList, char** pNextStart, bool isVstbScan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1662,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1663,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1664,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1657
    functionDepth: 2
    functionLinenumber: 1657
    functionLinenumberEnd: 1668
    functionName: setAllSourcesCompleted
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 2
    functionsReached:
    - qDebug
    - GET_TASKID
    - taosArrayGetSize
    - setOperatorCompleted
    linkageType: ''
    returnType: void
    signature: void setAllSourcesCompleted(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1673,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1677,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1678,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1680,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1688,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pArray
    - pRes
    argTypes:
    - SArray*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1691
    functionName: getCompletedSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - qDebug
    - taosArrayGetSize
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getCompletedSources(const SArray* pArray, int32_t* pRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1697,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1698,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1702,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1709,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1710,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1710,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1714,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1693
    functionDepth: 5
    functionLinenumber: 1693
    functionLinenumberEnd: 1719
    functionName: prepareConcurrentlyLoad
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - taosGetTimestampUs
    - GET_TASKID
    - qDebug
    - taosArrayGetSize
    - isTaskKilled
    - doSendFetchDataRequest
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareConcurrentlyLoad(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1733,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1734,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1741,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1744
    functionName: storeNotifyInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - qWarn
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: void storeNotifyInfo(SOperatorInfo* pOperator)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1759,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1760,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1764,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1765,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1778,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1779,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1780,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1781,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1782,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1784,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1785,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1793,1
    - Dst: tsDecompressString
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1797,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1798,1
    - Dst: extractDataBlockFromFetchRsp
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1802,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1804,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1808,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1809,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1810,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1816,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1817,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1817,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 2
    argNames:
    - pExchangeInfo
    - pDataInfo
    argTypes:
    - SExchangeInfo*
    - SSourceDataInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1746
    functionDepth: 3
    functionLinenumber: 1746
    functionLinenumberEnd: 1820
    functionName: doExtractResultBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - QUERY_CHECK_CONDITION
    - blockDataCleanup
    - qError
    - QUERY_CHECK_NULL
    - createOneDataBlock
    - qDebug
    - extractDataBlockFromFetchRsp
    - taosArrayGetSize
    - taosArrayPop
    - tstrerror
    - blockDataDestroy
    - taosMemoryCalloc
    - taosMemoryRealloc
    - tsDecompressString
    linkageType: ''
    returnType: int32_t
    signature: int32_t doExtractResultBlocks(SExchangeInfo* pExchangeInfo, SSourceDataInfo*
      pDataInfo)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1827,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1828,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1833,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1834,1
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1844,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1848,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1850,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1850,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1852,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1860,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1862,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1862,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1864,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1868,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1870,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1870,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1872,1
    - Dst: recordOpExecBeforeDownstream
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1876,1
    - Dst: exchangeWait
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1877,1
    - Dst: recordOpExecAfterDownstream
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1878,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1880,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1881,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1884,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1886,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1887,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1895,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1896,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1897,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1906,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1908,1
    - Dst: isVstbScan
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1912,1
    - Dst: isVstbTagScan
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1912,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1917,1
    - Dst: doExtractResultBlocks
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1921,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1928,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1930,1
    - Dst: isVstbScan
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1935,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1941,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1943,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1947,1
    - Dst: updateLoadRemoteInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1949,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1952,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 93
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1822
    functionDepth: 5
    functionLinenumber: 1822
    functionLinenumberEnd: 1959
    functionName: seqLoadRemoteData
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - taosGetTimestampUs
    - qError
    - updateLoadRemoteInfo
    - exchangeWait
    - recordOpExecAfterDownstream
    - doSendFetchDataRequest
    - taosArrayGet
    - doExtractResultBlocks
    - taosArrayGetSize
    - taosArrayClear
    - T_LONG_JMP
    - GET_TASKID
    - qDebug
    - isTaskKilled
    - isVstbScan
    - recordOpExecBeforeDownstream
    - setAllSourcesCompleted
    - atomic_load_64
    - isVstbTagScan
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t seqLoadRemoteData(SOperatorInfo* pOperator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1968,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1974,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1978,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1979,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1981,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1982,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1983,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1988,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1990,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1991,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1993,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1998,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1998,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2008,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2010,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2010,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 2
    argNames:
    - pDataInfo
    - pBasicParam
    argTypes:
    - SSourceDataInfo*
    - SExchangeOperatorBasicParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1961
    functionDepth: 1
    functionLinenumber: 1961
    functionLinenumberEnd: 2012
    functionName: loadTagListFromBasicParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - taosMemoryFreeClear
    - qError
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosArrayClear
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t loadTagListFromBasicParam(SSourceDataInfo* pDataInfo, SExchangeOperatorBasicParam*
      pBasicParam)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2021,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2027,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2028,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2030,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2031,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2032,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2036,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2038,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2039,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2042,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2042,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2052,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2054,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - pDataInfo
    - pBasicParam
    argTypes:
    - SSourceDataInfo*
    - SExchangeOperatorBasicParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2056
    functionName: loadBatchColMapFromBasicParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - taosArrayDestroy
    - tstrncpy
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t loadBatchColMapFromBasicParam(SSourceDataInfo* pDataInfo, SExchangeOperatorBasicParam*
      pBasicParam)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2061,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2062,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2069,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2074,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2075,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2078,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2079,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2081,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2082,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2084,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2085,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2087,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2089,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2090,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2094,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2098,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2103,1
    - Dst: loadTagListFromBasicParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2120,1
    - Dst: loadBatchColMapFromBasicParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2122,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2123,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2127,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2128,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2134,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2134,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2136,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2138,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2139,1
    - Dst: loadTagListFromBasicParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2151,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2152,1
    - Dst: loadBatchColMapFromBasicParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2154,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2155,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2159,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2160,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2179,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2180,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2187,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2188,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2188,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2200,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2201,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2203,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2204,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2205,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2207,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2208,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2214,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2215,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2228,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2229,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2236,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2236,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2238,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2240,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2241,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2247,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2248,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2262,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2262,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 156
    argCount: 2
    argNames:
    - pOperator
    - pBasicParam
    argTypes:
    - SOperatorInfo*
    - SExchangeOperatorBasicParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2058
    functionDepth: 6
    functionLinenumber: 2058
    functionLinenumberEnd: 2264
    functionName: addSingleExchangeSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - nodesListMakeStrictAppend
    - qError
    - loadTagListFromBasicParam
    - taosArrayDup
    - nodesCloneNode
    - taosArrayGet
    - qWarn
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayClearEx
    - tSimpleHashGet
    - GET_TASKID
    - QUERY_CHECK_NULL
    - qDebug
    - tstrncpy
    - taosMemoryMalloc
    - loadBatchColMapFromBasicParam
    - tSimpleHashPut
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addSingleExchangeSource(SOperatorInfo* pOperator,\n                                SExchangeOperatorBasicParam*
      pBasicParam)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2274,1
    - Dst: addSingleExchangeSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2275,1
    - Dst: addSingleExchangeSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2282,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2266
    functionDepth: 7
    functionLinenumber: 2266
    functionLinenumberEnd: 2289
    functionName: addDynamicExchangeSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - addSingleExchangeSource
    - tSimpleHashIterate
    - freeOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t addDynamicExchangeSource(SOperatorInfo* pOperator)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2296,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2299,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2300,1
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2300,1
    - Dst: addDynamicExchangeSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2306,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2307,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2312,1
    - Dst: storeNotifyInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2318,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2321,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2332,1
    - Dst: IS_STREAM_MODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2334,1
    - Dst: prepareConcurrentlyLoad
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2335,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2336,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2337,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2340,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2341,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2345,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2345,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2347,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2291
    functionDepth: 8
    functionLinenumber: 2291
    functionLinenumberEnd: 2350
    functionName: prepareLoadRemoteData
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 0
    functionsReached:
    - addDynamicExchangeSource
    - storeNotifyInfo
    - T_LONG_JMP
    - freeOperatorParam
    - taosGetTimestampUs
    - OPTR_IS_OPENED
    - GET_TASKID
    - qError
    - IS_STREAM_MODE
    - qDebug
    - prepareConcurrentlyLoad
    - QUERY_CHECK_CODE
    - tstrerror
    - OPTR_SET_OPENED
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareLoadRemoteData(SOperatorInfo* pOperator)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2358,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2366,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2380,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2386,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2398,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2403,1
    - Dst: hasSlimitOffsetInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2411,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - pOperator
    - pLimitInfo
    - pBlock
    - holdDataInBuf
    argTypes:
    - SOperatorInfo*
    - SLimitInfo*
    - SSDataBlock*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2352
    functionDepth: 2
    functionLinenumber: 2352
    functionLinenumberEnd: 2416
    functionName: handleLimitOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 1
    functionsReached:
    - blockDataCleanup
    - applyLimitOffset
    - hasSlimitOffsetInfo
    - setOperatorCompleted
    - resetLimitInfoForNextGroup
    linkageType: ''
    returnType: int32_t
    signature: int32_t handleLimitOffset(SOperatorInfo* pOperator, SLimitInfo* pLimitInfo,
      SSDataBlock* pBlock, bool holdDataInBuf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SExecTaskInfo*::pWorkerCb::beforeBlocking
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2422,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2429,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2431,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2431,1
    - Dst: SExecTaskInfo*::pWorkerCb::afterRecoverFromBlocking
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:2437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - pOperator
    - pExchangeInfo
    argTypes:
    - SOperatorInfo*
    - SExchangeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2444
    functionName: exchangeWait
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: 3
    functionsReached:
    - tsem_wait
    - qError
    - SExecTaskInfo*::pWorkerCb::beforeBlocking
    - SExecTaskInfo*::pWorkerCb::afterRecoverFromBlocking
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t exchangeWait(SOperatorInfo* pOperator, SExchangeInfo* pExchangeInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: freeVgTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void freeVgTableList(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:44,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:46,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:47,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pListHead
    argTypes:
    - SStbJoinTableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: destroyStbJoinTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyStbJoinTableList(SStbJoinTableList* pListHead)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:55,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:61,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:62,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:65,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:66,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:70,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:73,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:76,1
    - Dst: destroyStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - pStbJoin
    argTypes:
    - SStbJoinDynCtrlInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: destroyStbJoinDynCtrlInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - tSimpleHashSetFreeFp
    - destroyStbJoinTableList
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void destroyStbJoinDynCtrlInfo(SStbJoinDynCtrlInfo* pStbJoin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:86,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: destroyColRefInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyColRefInfo(void *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: destroyColRefArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void destroyColRefArray(void *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:105,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: freeUseDbOutput
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemFree
    - freeVgInfo
    linkageType: ''
    returnType: void
    signature: void freeUseDbOutput(void* pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: destroyOtbInfoArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void destroyOtbInfoArray(void *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:120,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: destroyOtbVgIdToOtbInfoArrayMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosHashSetFreeFp
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void destroyOtbVgIdToOtbInfoArrayMap(void *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: destroyTagList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void destroyTagList(void *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: destroyRefColIdGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyRefColIdGroup(void *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:143,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: destroyVtbUidTagListMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosHashSetFreeFp
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void destroyVtbUidTagListMap(void *info)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:150,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:153,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:156,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:160,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:163,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:167,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:170,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:173,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:176,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:177,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:180,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:181,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:184,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:185,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:188,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:191,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:194,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:197,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:198,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:201,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:202,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:205,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:206,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:209,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:210,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:213,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:216,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 1
    argNames:
    - pVtbScan
    argTypes:
    - SVtbScanDynCtrlInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 218
    functionName: destroyVtbScanDynCtrlInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - taosHashSetFreeFp
    - taosHashCleanup
    - tFreeSUsedbRsp
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyVtbScanDynCtrlInfo(SVtbScanDynCtrlInfo* pVtbScan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: destroyWinArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyWinArray(void *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:229,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pVtbWindow
    argTypes:
    - SVtbWindowDynCtrlInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: destroyVtbWindowDynCtrlInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void destroyVtbWindowDynCtrlInfo(SVtbWindowDynCtrlInfo* pVtbWindow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: destroyStbJoinDynCtrlInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:241,1
    - Dst: destroyVtbWindowDynCtrlInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:244,1
    - Dst: destroyVtbScanDynCtrlInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:245,1
    - Dst: destroyVtbScanDynCtrlInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:251,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:254,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 259
    functionName: destroyDynQueryCtrlOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - destroyStbJoinDynCtrlInfo
    - destroyVtbScanDynCtrlInfo
    - destroyVtbWindowDynCtrlInfo
    linkageType: ''
    returnType: void
    signature: void destroyDynQueryCtrlOperator(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - uid
    - pPrev
    - pPost
    - rightTable
    - batchFetch
    argTypes:
    - int64_t
    - SStbJoinPrevJoinCtx*
    - SStbJoinPostJoinCtx*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: tableNeedCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tableNeedCache(int64_t uid, SStbJoinPrevJoinCtx* pPrev,
      SStbJoinPostJoinCtx* pPost, bool rightTable, bool batchFetch)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tableNeedCache
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:308,1
    - Dst: tableNeedCache
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:309,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:312,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - pStbJoin
    argTypes:
    - SStbJoinDynCtrlInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 317
    functionName: updatePostJoinCurrTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - tableNeedCache
    - tSimpleHashPut
    - QRY_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t updatePostJoinCurrTableInfo(SStbJoinDynCtrlInfo*          pStbJoin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:324,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:326,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:327,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:330,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:332,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:333,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:339,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:342,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - SOrgTbInfo*
    - SOrgTbInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: copyOrgTbInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - qError
    - QUERY_CHECK_NULL
    - taosArrayDestroy
    - qDebug
    - tstrncpy
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyOrgTbInfo(SOrgTbInfo* pSrc, SOrgTbInfo** ppDst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:354,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:355,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:357,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:358,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:359,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:362,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:364,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:365,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:366,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:371,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:371,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:378,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:382,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - pBasic
    - pTagList
    argTypes:
    - SExchangeOperatorBasicParam*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 386
    functionName: buildTagListForExchangeBasicParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - taosArrayDestroyEx
    - qError
    - QUERY_CHECK_NULL
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTagListForExchangeBasicParam(SExchangeOperatorBasicParam*
      pBasic, SArray* pTagList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      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: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:396,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:397,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:398,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:400,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:401,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:402,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:403,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:403,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:409,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:411,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - pBasic
    - pOrgTbInfoArray
    argTypes:
    - SExchangeOperatorBasicParam*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 419
    functionName: buildBatchOrgTbInfoForExchangeBasicParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - taosArrayDestroy
    - tstrncpy
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildBatchOrgTbInfoForExchangeBasicParam(SExchangeOperatorBasicParam*
      pBasic, SArray* pOrgTbInfoArray)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:423,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:426,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:430,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:433,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:434,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:438,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:440,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:441,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:449,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:452,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 6
    argNames:
    - ppRes
    - downstreamIdx
    - vgId
    - tbUid
    - needCache
    - pChild
    argTypes:
    - SOperatorParam**
    - int32_t
    - int32_t
    - int64_t
    - bool
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 469
    functionName: buildGroupCacheOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - freeOperatorParam
    - atomic_add_fetch_64
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildGroupCacheOperatorParam(SOperatorParam** ppRes, int32_t
      downstreamIdx, int32_t vgId, int64_t tbUid, bool needCache, SOperatorParam*
      pChild)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:474,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:480,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - ppRes
    - downstreamIdx
    - vgId
    - tbUid
    argTypes:
    - SOperatorParam**
    - int32_t
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 497
    functionName: buildGroupCacheNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryCalloc
    - freeOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildGroupCacheNotifyOperatorParam(SOperatorParam** ppRes,
      int32_t downstreamIdx, int32_t vgId, int64_t tbUid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:508,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:528,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:535,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:536,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:538,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:539,1
    - Dst: copyOrgTbInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:543,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:544,1
    - Dst: buildTagListForExchangeBasicParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:550,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:551,1
    - Dst: buildBatchOrgTbInfoForExchangeBasicParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:557,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:558,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:565,1
    - Dst: freeExchangeGetBasicOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 14
    argNames:
    - pBasic
    - srcOpType
    - exchangeType
    - vgId
    - groupId
    - pUidList
    - pOrgTbInfo
    - pTagList
    - pOrgTbInfoArray
    - window
    - pDownstreamSourceNode
    - tableSeq
    - isNewParam
    - isNewDeployed
    argTypes:
    - SExchangeOperatorBasicParam*
    - ENodeType
    - EExchangeSourceType
    - int32_t
    - uint64_t
    - SArray*
    - SOrgTbInfo*
    - SArray*
    - SArray*
    - STimeWindow
    - SDownstreamSourceNode*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 568
    functionName: buildExchangeOperatorBasicParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - memcpy
    - qError
    - buildTagListForExchangeBasicParam
    - QUERY_CHECK_NULL
    - qDebug
    - copyOrgTbInfo
    - taosArrayInit
    - QUERY_CHECK_CODE
    - buildBatchOrgTbInfoForExchangeBasicParam
    - taosArrayDup
    - freeExchangeGetBasicOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildExchangeOperatorBasicParam(SExchangeOperatorBasicParam*
      pBasic, ENodeType srcOpType,\n                                               EExchangeSourceType
      exchangeType, int32_t vgId, uint64_t groupId,\n                                               SArray*
      pUidList, SOrgTbInfo* pOrgTbInfo, SArray* pTagList,\n                                               SArray*
      pOrgTbInfoArray, STimeWindow window,\n                                               SDownstreamSourceNode*
      pDownstreamSourceNode,\n                                               bool
      tableSeq, bool isNewParam, bool isNewDeployed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:584,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:585,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:591,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:592,1
    - Dst: buildExchangeOperatorBasicParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:597,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:600,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:605,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 16
    argNames:
    - ppRes
    - downstreamIdx
    - srcOpType
    - exchangeType
    - vgId
    - groupId
    - pUidList
    - pOrgTbInfo
    - pTagList
    - pOrgTbInfoArray
    - window
    - pDownstreamSourceNode
    - tableSeq
    - isNewParam
    - reUse
    - isNewDeployed
    argTypes:
    - SOperatorParam**
    - int32_t
    - ENodeType
    - EExchangeSourceType
    - int32_t
    - uint64_t
    - SArray*
    - SOrgTbInfo*
    - SArray*
    - SArray*
    - STimeWindow
    - SDownstreamSourceNode*
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 570
    functionDepth: 4
    functionLinenumber: 570
    functionLinenumberEnd: 610
    functionName: buildExchangeOperatorParamImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - freeOperatorParam
    - qError
    - buildExchangeOperatorBasicParam
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildExchangeOperatorParamImpl(SOperatorParam** ppRes, int32_t
      downstreamIdx, ENodeType srcOpType,\n                                              EExchangeSourceType
      exchangeType, int32_t vgId, uint64_t groupId,\n                                              SArray*
      pUidList, SOrgTbInfo* pOrgTbInfo, SArray* pTagList,\n                                              SArray*
      pOrgTbInfoArray, STimeWindow window,\n                                              SDownstreamSourceNode*
      pDownstreamSourceNode,\n                                              bool tableSeq,
      bool isNewParam, bool reUse, bool isNewDeployed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:616,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:617,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:619,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:619,1
    - Dst: buildExchangeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:621,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:623,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:627,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ppRes
    - downstreamIdx
    - pVgId
    - pUid
    argTypes:
    - SOperatorParam**
    - int32_t
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 612
    functionDepth: 5
    functionLinenumber: 612
    functionLinenumberEnd: 631
    functionName: buildExchangeOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - taosArrayInit
    - taosArrayDestroy
    - buildExchangeOperatorParamImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildExchangeOperatorParam(SOperatorParam** ppRes, int32_t
      downstreamIdx, const int32_t* pVgId, int64_t* pUid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildExchangeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:637,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:639,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ppRes
    - downstreamIdx
    - win
    argTypes:
    - SOperatorParam**
    - int32_t
    - STimeWindow
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 645
    functionName: buildExchangeOperatorParamForExternalWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - qError
    - buildExchangeOperatorParamImpl
    - QUERY_CHECK_CODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildExchangeOperatorParamForExternalWindow(SOperatorParam**
      ppRes, int32_t downstreamIdx, STimeWindow win)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:652,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:653,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:655,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:655,1
    - Dst: buildExchangeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:657,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:659,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:663,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ppRes
    - downstreamIdx
    - vgId
    - uid
    argTypes:
    - SOperatorParam**
    - int32_t
    - int32_t
    - tb_uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 647
    functionDepth: 5
    functionLinenumber: 647
    functionLinenumberEnd: 667
    functionName: buildExchangeOperatorParamForVTagScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - taosArrayInit
    - taosArrayDestroy
    - buildExchangeOperatorParamImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildExchangeOperatorParamForVTagScan(SOperatorParam** ppRes,
      int32_t downstreamIdx, int32_t vgId, tb_uid_t uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildExchangeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:674,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:676,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ppRes
    - downstreamIdx
    - pOrgTbInfo
    - pNewSource
    argTypes:
    - SOperatorParam**
    - int32_t
    - SOrgTbInfo*
    - SDownstreamSourceNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 669
    functionDepth: 5
    functionLinenumber: 669
    functionLinenumberEnd: 682
    functionName: buildExchangeOperatorParamForVScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - qError
    - buildExchangeOperatorParamImpl
    - QUERY_CHECK_CODE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildExchangeOperatorParamForVScan(SOperatorParam** ppRes,
      int32_t downstreamIdx, SOrgTbInfo* pOrgTbInfo,\n                                                  SDownstreamSourceNode*
      pNewSource)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:691,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:692,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:698,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:699,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:703,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:703,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:703,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:704,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:706,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:710,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:711,1
    - Dst: buildExchangeOperatorBasicParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:714,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:718,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:720,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:720,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:723,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:723,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:726,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:735,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:736,1
    - Dst: freeExchangeGetBasicOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - ppRes
    - downstreamIdx
    - pVg
    argTypes:
    - SOperatorParam**
    - int32_t
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 684
    functionDepth: 4
    functionLinenumber: 684
    functionLinenumberEnd: 739
    functionName: buildBatchExchangeOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - qError
    - buildExchangeOperatorBasicParam
    - tSimpleHashSetFreeFp
    - tSimpleHashGetKey
    - taosArrayDestroy
    - qTrace
    - tSimpleHashInit
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - taosArrayGetSize
    - taosMemoryCalloc
    - QUERY_CHECK_NULL
    - tSimpleHashIterate
    - taosMemoryMalloc
    - freeOperatorParam
    - tSimpleHashPut
    - QRY_ERR_RET
    - tSimpleHashGetSize
    - freeExchangeGetBasicOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildBatchExchangeOperatorParam(SOperatorParam** ppRes, int32_t
      downstreamIdx, SSHashObj* pVg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:765,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:766,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:768,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:769,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:774,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:774,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:774,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:775,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:776,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:779,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:782,1
    - Dst: buildExchangeOperatorBasicParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:784,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:788,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:790,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:791,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:794,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:806,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:807,1
    - Dst: freeExchangeGetBasicOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 8
    argNames:
    - ppRes
    - downstreamIdx
    - pTagList
    - groupid
    - pBatchMaps
    - window
    - type
    - srcOpType
    argTypes:
    - SOperatorParam**
    - int32_t
    - SArray*
    - uint64_t
    - SHashObj*
    - STimeWindow
    - EExchangeSourceType
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 755
    functionDepth: 4
    functionLinenumber: 755
    functionLinenumberEnd: 810
    functionName: buildBatchExchangeOperatorParamForVirtual
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosMemoryMalloc
    - freeOperatorParam
    - qError
    - taosHashGetSize
    - tSimpleHashPut
    - QUERY_CHECK_NULL
    - buildExchangeOperatorBasicParam
    - tSimpleHashSetFreeFp
    - taosHashGetKey
    - tSimpleHashInit
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - freeExchangeGetBasicOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildBatchExchangeOperatorParamForVirtual(SOperatorParam**
      ppRes, int32_t downstreamIdx,\n                                                         SArray*
      pTagList, uint64_t groupid, SHashObj* pBatchMaps,\n                                                         STimeWindow
      window, EExchangeSourceType type,\n                                                         ENodeType
      srcOpType)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:814,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:819,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:822,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:826,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:828,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:833,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:835,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:841,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:844,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 4
    argNames:
    - ppRes
    - initParam
    - ppChild0
    - ppChild1
    argTypes:
    - SOperatorParam**
    - bool
    - SOperatorParam**
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 812
    functionDepth: 4
    functionLinenumber: 812
    functionLinenumberEnd: 856
    functionName: buildMergeJoinOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - freeOperatorParam
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildMergeJoinOperatorParam(SOperatorParam** ppRes, bool initParam,
      SOperatorParam** ppChild0, SOperatorParam** ppChild1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:860,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:863,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:864,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:867,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:870,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:871,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:872,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:875,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:877,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:878,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:879,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:883,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:885,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:886,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - ppRes
    - pChild0
    - pChild1
    argTypes:
    - SOperatorParam**
    - SOperatorParam*
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 858
    functionDepth: 4
    functionLinenumber: 858
    functionLinenumberEnd: 896
    functionName: buildMergeJoinNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - freeOperatorParam
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildMergeJoinNotifyOperatorParam(SOperatorParam** ppRes, SOperatorParam*
      pChild0, SOperatorParam* pChild1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:900,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:902,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:908,1
    - Dst: buildTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:911,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:915,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ppRes
    - downstreamIdx
    - pVg
    argTypes:
    - SOperatorParam**
    - int32_t
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 920
    functionName: buildBatchTableScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - qError
    - buildTableScanOperatorParam
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildBatchTableScanOperatorParam(SOperatorParam** ppRes, int32_t
      downstreamIdx, SSHashObj* pVg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:923,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:927,1
    - Dst: buildTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:931,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ppRes
    - downstreamIdx
    - pVgId
    - pUid
    argTypes:
    - SOperatorParam**
    - int32_t
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 938
    functionName: buildSingleTableScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - buildTableScanOperatorParam
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildSingleTableScanOperatorParam(SOperatorParam** ppRes, int32_t
      downstreamIdx, int32_t* pVgId, int64_t* pUid)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:952,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:955,1
    - Dst: updatePostJoinCurrTableInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:955,1
    - Dst: buildBatchTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:959,1
    - Dst: buildBatchExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:959,1
    - Dst: buildBatchTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:961,1
    - Dst: buildBatchExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:961,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:964,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:965,1
    - Dst: buildSingleTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:971,1
    - Dst: buildExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:971,1
    - Dst: buildSingleTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:973,1
    - Dst: buildExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:973,1
    - Dst: buildGroupCacheOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:979,1
    - Dst: buildGroupCacheOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:983,1
    - Dst: buildMergeJoinOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:987,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:991,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:994,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:997,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1000,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1003,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 4
    argNames:
    - pInfo
    - pPrev
    - pPost
    - ppParam
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SStbJoinPrevJoinCtx*
    - SStbJoinPostJoinCtx*
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 940
    functionDepth: 6
    functionLinenumber: 940
    functionLinenumberEnd: 1009
    functionName: buildSeqStbJoinOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - buildBatchExchangeOperatorParam
    - freeOperatorParam
    - QRY_ERR_RET
    - tSimpleHashCleanup
    - buildExchangeOperatorParam
    - qDebug
    - buildGroupCacheOperatorParam
    - updatePostJoinCurrTableInfo
    - buildMergeJoinOperatorParam
    - buildSingleTableScanOperatorParam
    - buildBatchTableScanOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildSeqStbJoinOperatorParam(SDynQueryCtrlOperatorInfo* pInfo,
      SStbJoinPrevJoinCtx* pPrev, SStbJoinPostJoinCtx* pPost, SOperatorParam** ppParam)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1015,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1016,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1018,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1019,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1021,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1022,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1023,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1024,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1028,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1028,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1029,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1030,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1031,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1033,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1034,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1035,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1036,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1038,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1041,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1054,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1054,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1057,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1060,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1061,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1064,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1065,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 3
    argNames:
    - pInfo
    - ppRes
    - uid
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SOperatorParam**
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1068
    functionName: buildVtbScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - taosArrayDestroyEx
    - taosArrayGet
    - taosMemoryFreeClear
    - qError
    - QUERY_CHECK_NULL
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayInit
    - tstrerror
    - taosArrayDup
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildVtbScanOperatorParam(SDynQueryCtrlOperatorInfo* pInfo,
      SOperatorParam** ppRes, uint64_t uid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1079,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1079,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1081,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1082,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1083,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1083,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1083,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1084,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1084,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1085,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1088,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1089,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1094,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1094,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1098,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - refMap
    - colrefName
    - colId
    argTypes:
    - SHashObj*
    - char*
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1100
    functionName: addRefColIdToRefMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qError
    - taosHashGet
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosArrayInit
    - tstrerror
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t addRefColIdToRefMap(SHashObj* refMap, const char* colrefName,
      col_id_t colId)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1113,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1117,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1117,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1117,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1119,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1122,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1123,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1125,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1126,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1129,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1130,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1133,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1136,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1137,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1137,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1138,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1139,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1140,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1141,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1143,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1143,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1146,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1148,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1148,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1150,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1154,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1156,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1159,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1160,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1166,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1166,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1168,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1172,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1175,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - refMap
    - readColList
    - ppGroups
    argTypes:
    - SHashObj*
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1179
    functionName: buildRefSlotGroupsFromRefMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - taosArrayDestroyEx
    - taosArrayGet
    - tstrerror
    - qError
    - taosHashGet
    - QUERY_CHECK_NULL
    - taosHashInit
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - taosArrayInit
    - taosHashCleanup
    - taosArrayDestroy
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildRefSlotGroupsFromRefMap(SHashObj* refMap, SArray* readColList,
      SArray** ppGroups)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1191,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1194,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pOperator
    - colId
    argTypes:
    - SOperatorInfo*
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1200
    functionName: colNeedScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: bool colNeedScan(SOperatorInfo* pOperator, col_id_t colId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1207,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1208,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1210,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1211,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1213,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1214,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1216,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1217,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1217,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1219,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1220,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1222,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1223,1
    - Dst: buildExchangeOperatorParamForExternalWindow
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1227,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1228,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1229,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1229,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1238,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1238,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1241,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1243,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1247,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1248,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1250,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1253,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 4
    argNames:
    - pInfo
    - ppRes
    - pWins
    - idx
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SOperatorParam**
    - SArray*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1202
    functionDepth: 6
    functionLinenumber: 1202
    functionLinenumberEnd: 1259
    functionName: buildExternalWindowOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGetP
    - taosMemoryMalloc
    - taosArrayGet
    - freeOperatorParam
    - qError
    - QUERY_CHECK_NULL
    - taosArrayDestroy
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - QUERY_CHECK_CODE
    - tstrerror
    - taosArrayDup
    - taosMemoryCalloc
    - buildExchangeOperatorParamForExternalWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildExternalWindowOperatorParam(SDynQueryCtrlOperatorInfo*
      pInfo, SOperatorParam** ppRes, SArray* pWins, int32_t idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1328,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1329,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1334,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1335,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1337,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1338,1
    - Dst: buildBatchExchangeOperatorParamForVirtual
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1341,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1345,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1346,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1346,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1355,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1358,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1360,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - pInfo
    - numOfDownstream
    - ppRes
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - int32_t
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1320
    functionDepth: 5
    functionLinenumber: 1320
    functionLinenumberEnd: 1362
    functionName: buildMergeOperatorParamForTsScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - freeOperatorParam
    - tstrerror
    - qError
    - QUERY_CHECK_NULL
    - taosArrayInit
    - QUERY_CHECK_CODE
    - buildBatchExchangeOperatorParamForVirtual
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildMergeOperatorParamForTsScan(SDynQueryCtrlOperatorInfo*
      pInfo, int32_t numOfDownstream,\n                                                SOperatorParam**
      ppRes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1372,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1373,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1375,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1376,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1378,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1379,1
    - Dst: buildBatchExchangeOperatorParamForVirtual
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1381,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1385,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1389,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1389,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1402,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1405,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1407,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - pInfo
    - ppRes
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1364
    functionDepth: 5
    functionLinenumber: 1364
    functionLinenumberEnd: 1409
    functionName: buildAggOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - freeOperatorParam
    - tstrerror
    - qError
    - QUERY_CHECK_NULL
    - taosArrayInit
    - QUERY_CHECK_CODE
    - buildBatchExchangeOperatorParamForVirtual
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildAggOperatorParam(SDynQueryCtrlOperatorInfo* pInfo, SOperatorParam**
      ppRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1420,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1429,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1430,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1432,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1433,1
    - Dst: buildBatchExchangeOperatorParamForVirtual
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1435,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1439,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1443,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1443,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1456,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1456,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1458,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 3
    argNames:
    - pInfo
    - groupid
    - ppRes
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - uint64_t
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1411
    functionDepth: 5
    functionLinenumber: 1411
    functionLinenumberEnd: 1464
    functionName: buildAggOperatorParamWithGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrerror
    - freeOperatorParam
    - qError
    - taosHashGet
    - QUERY_CHECK_NULL
    - taosArrayInit
    - QUERY_CHECK_CODE
    - buildBatchExchangeOperatorParamForVirtual
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildAggOperatorParamWithGroupId(SDynQueryCtrlOperatorInfo*
      pInfo, uint64_t groupid,\n                                                SOperatorParam**
      ppRes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1473,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1476,1
    - Dst: buildBatchExchangeOperatorParamForVirtual
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1478,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1482,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1492,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - pInfo
    - uid
    - groupid
    - pTagList
    - ppRes
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - tb_uid_t
    - uint64_t
    - SArray*
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1466
    functionDepth: 5
    functionLinenumber: 1466
    functionLinenumberEnd: 1496
    functionName: buildAggOperatorParamForSingleChild
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - freeOperatorParam
    - qError
    - taosHashGet
    - QUERY_CHECK_CODE
    - tstrerror
    - buildBatchExchangeOperatorParamForVirtual
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildAggOperatorParamForSingleChild(SDynQueryCtrlOperatorInfo*
      pInfo, tb_uid_t uid,\n                                                   uint64_t
      groupid, SArray* pTagList, SOperatorParam** ppRes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buildSeqStbJoinOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1504,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1507,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1510,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1510,1
    - Dst: fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1511,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1513,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1515,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1515,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1517,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1522,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1522,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1524,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1498
    functionDepth: 7
    functionLinenumber: 1498
    functionLinenumberEnd: 1526
    functionName: seqJoinLaunchNewRetrieveImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - buildSeqStbJoinOperatorParam
    - T_LONG_JMP
    - qError
    - fpSet::getNextExtFn
    - GET_TASKID
    - qDebug
    - tstrerror
    - blockDataCheck
    linkageType: ''
    returnType: void
    signature: void seqJoinLaunchNewRetrieveImpl(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1536,1
    - Dst: buildGroupCacheNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1538,1
    - Dst: buildMergeJoinNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1542,1
    - Dst: optrDefaultNotifyFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pOperator
    - pPost
    - leftTable
    argTypes:
    - SOperatorInfo*
    - SStbJoinPostJoinCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1529
    functionDepth: 7
    functionLinenumber: 1529
    functionLinenumberEnd: 1548
    functionName: notifySeqJoinTableCacheEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - qDebug
    - buildGroupCacheNotifyOperatorParam
    - optrDefaultNotifyFn
    - buildMergeJoinNotifyOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t notifySeqJoinTableCacheEnd(SOperatorInfo* pOperator, SStbJoinPostJoinCtx*
      pPost, bool leftTable)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1561,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1563,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1565,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1565,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1566,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1568,1
    - Dst: notifySeqJoinTableCacheEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1568,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1573,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1575,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1577,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1577,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1578,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1580,1
    - Dst: notifySeqJoinTableCacheEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1580,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pOperator
    - pStbJoin
    argTypes:
    - SOperatorInfo*
    - SStbJoinDynCtrlInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1550
    functionDepth: 8
    functionLinenumber: 1550
    functionLinenumberEnd: 1585
    functionName: handleSeqJoinCurrRetrieveEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashRemove
    - notifySeqJoinTableCacheEnd
    - qError
    - QRY_ERR_RET
    - tstrerror
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t handleSeqJoinCurrRetrieveEnd(SOperatorInfo* pOperator, SStbJoinDynCtrlInfo*          pStbJoin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1597,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1597,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1599,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1601,1
    - Dst: handleSeqJoinCurrRetrieveEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1588
    functionDepth: 9
    functionLinenumber: 1588
    functionLinenumberEnd: 1609
    functionName: seqJoinContinueCurrRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - getNextBlockFromDownstream
    - GET_TASKID
    - QRY_ERR_RET
    - handleSeqJoinCurrRetrieveEnd
    - qDebug
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE seqJoinContinueCurrRetrieve(SOperatorInfo* pOperator,
      SSDataBlock** ppRes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1612,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1614,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1618,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1619,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1622,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1623,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1629,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - pHash
    - pKey
    - keySize
    - pVal
    - valSize
    argTypes:
    - SSHashObj*
    - void*
    - int32_t
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1611
    functionDepth: 1
    functionLinenumber: 1611
    functionLinenumberEnd: 1634
    functionName: addToJoinVgroupHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tSimpleHashPut
    - taosArrayInit
    - taosArrayDestroy
    - tSimpleHashGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE addToJoinVgroupHash(SSHashObj* pHash, void* pKey, int32_t
      keySize, void* pVal, int32_t valSize)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1638,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1641,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1645,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1660,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1662,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1662,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1663,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pHash
    - pOnceHash
    - pKey
    - keySize
    argTypes:
    - SSHashObj*
    - SSHashObj*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1636
    functionDepth: 1
    functionLinenumber: 1636
    functionLinenumberEnd: 1671
    functionName: addToJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashRemove
    - qError
    - tSimpleHashPut
    - QRY_ERR_RET
    - tstrerror
    - tSimpleHashGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE addToJoinTableHash(SSHashObj* pHash, SSHashObj* pOnceHash,
      void* pKey, int32_t keySize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1678,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1679,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1680,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1681,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SStbJoinTableList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1683
    functionName: freeStbJoinTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeStbJoinTableList(SStbJoinTableList* pList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1687,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1691,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1694,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1697,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1700,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1703,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1706,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1709,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1712,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1716,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1717,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1718,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 6
    argNames:
    - pCtx
    - rows
    - pLeftVg
    - pLeftUid
    - pRightVg
    - pRightUid
    argTypes:
    - SStbJoinPrevJoinCtx*
    - int64_t
    - int32_t*
    - int64_t*
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1734
    functionName: appendStbJoinTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - TAOS_MEMCPY
    - taosMemoryMalloc
    - taosMemoryCalloc
    - freeStbJoinTableList
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendStbJoinTableList(SStbJoinPrevJoinCtx* pCtx, int64_t rows,
      int32_t* pLeftVg, int64_t* pLeftUid, int32_t* pRightVg, int64_t* pRightUid)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1740,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1742,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1744,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1746,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1748,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1750,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1752,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1754,1
    - Dst: addToJoinVgroupHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1764,1
    - Dst: addToJoinVgroupHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1768,1
    - Dst: addToJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1777,1
    - Dst: appendStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1785,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1795,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1736
    functionDepth: 2
    functionLinenumber: 1736
    functionLinenumberEnd: 1797
    functionName: doBuildStbJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - addToJoinVgroupHash
    - T_LONG_JMP
    - taosArrayGet
    - QRY_ERR_JRET
    - addToJoinTableHash
    - appendStbJoinTableList
    linkageType: ''
    returnType: void
    signature: void doBuildStbJoinTableHash(SOperatorInfo* pOperator, SSDataBlock*
      pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1808,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1808,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1809,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1816,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1817,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1819,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1819,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1823,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1824,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1834
    functionName: postProcessStbJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashRemove
    - tSimpleHashClear
    - qError
    - qDebug
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void postProcessStbJoinTableHash(SOperatorInfo* pOperator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1841,1
    - Dst: doBuildStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1849,1
    - Dst: postProcessStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1836
    functionDepth: 6
    functionLinenumber: 1836
    functionLinenumberEnd: 1855
    functionName: buildStbJoinTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - postProcessStbJoinTableHash
    - doBuildStbJoinTableHash
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: void
    signature: void buildStbJoinTableList(SOperatorInfo* pOperator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1866,1
    - Dst: seqJoinLaunchNewRetrieveImpl
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1871,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1876,1
    - Dst: handleSeqJoinCurrRetrieveEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1876,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1881,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1857
    functionDepth: 9
    functionLinenumber: 1857
    functionLinenumberEnd: 1884
    functionName: seqJoinLaunchNewRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - seqJoinLaunchNewRetrieveImpl
    - QRY_ERR_RET
    - setOperatorCompleted
    - handleSeqJoinCurrRetrieveEnd
    - freeStbJoinTableList
    linkageType: ''
    returnType: int32_t
    signature: int32_t seqJoinLaunchNewRetrieve(SOperatorInfo* pOperator, SSDataBlock**
      ppRes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1893,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1895,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1898,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1899,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1903,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1909,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pStbJoin
    - pBlock
    argTypes:
    - SStbJoinDynCtrlInfo*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1886
    functionDepth: 1
    functionLinenumber: 1886
    functionLinenumberEnd: 1914
    functionName: seqStableJoinComposeRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - colInfoDataEnsureCapacity
    - qError
    - createColumnInfoData
    - blockDataAppendColInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t seqStableJoinComposeRes(SStbJoinDynCtrlInfo* pStbJoin, SSDataBlock*
      pBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1921,1
    - Dst: buildStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1927,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1929,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1934,1
    - Dst: seqJoinContinueCurrRetrieve
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1934,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1939,1
    - Dst: seqJoinLaunchNewRetrieve
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1939,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1943,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1943,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1945,1
    - Dst: seqStableJoinComposeRes
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1947,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1916
    functionDepth: 10
    functionLinenumber: 1916
    functionLinenumberEnd: 1950
    functionName: seqStableJoin
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - QRY_ERR_JRET
    - buildStbJoinTableList
    - QRY_PARAM_CHECK
    - seqJoinLaunchNewRetrieve
    - qError
    - setOperatorCompleted
    - seqJoinContinueCurrRetrieve
    - seqStableJoinComposeRes
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t seqStableJoin(SOperatorInfo* pOperator, SSDataBlock** pRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcCvtErrCode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1958,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1960,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1960,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1961,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1963,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1963,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1968,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1969,1
    - Dst: tDeserializeSUseDbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1971,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1972,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1974,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1976,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1977,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1981,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1952
    functionDepth: 1
    functionLinenumber: 1952
    functionLinenumberEnd: 1983
    functionName: dynProcessUseDbRsp
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - tsem_post
    - qError
    - QUERY_CHECK_NULL
    - tDeserializeSUseDbRsp
    - rpcCvtErrCode
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t dynProcessUseDbRsp(void* param, SDataBuf* pMsg, int32_t code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1992,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1993,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1994,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1995,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1996,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1997,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1998,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1999,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2001,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2005,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2006,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2015,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2016,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2018,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2019,1
    - Dst: queryBuildUseDbOutput
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2021,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2022,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2026,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2026,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2027,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2029,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2030,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 5
    argNames:
    - pOperator
    - pMsgCb
    - name
    - pTaskInfo
    - output
    argTypes:
    - SOperatorInfo*
    - SMsgCb*
    - SName*
    - SExecTaskInfo*
    - SUseDbOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 1985
    functionDepth: 1
    functionLinenumber: 1985
    functionLinenumberEnd: 2033
    functionName: buildDbVgInfoMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - tsem_wait
    - tFreeSUsedbRsp
    - qError
    - QUERY_CHECK_NULL
    - asyncSendMsgToServer
    - tSerializeSUseDbReq
    - queryBuildUseDbOutput
    - taosMemoryFree
    - QUERY_CHECK_CODE
    - tstrerror
    - tNameGetFullDbName
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildDbVgInfoMap(SOperatorInfo* pOperator, SMsgCb* pMsgCb,
      SName* name, SExecTaskInfo* pTaskInfo, SUseDbOutput* output)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2045
    functionName: dynVgInfoComp
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dynVgInfoComp(const void* lp, const void* rp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2053,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2054,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2059,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2061,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2062,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2066,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2069,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - dbInfo
    - sort_func
    argTypes:
    - SDBVgInfo*
    - __compar_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2047
    functionDepth: 1
    functionLinenumber: 2047
    functionLinenumberEnd: 2073
    functionName: dynMakeVgArraySortBy
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - taosHashCancelIterate
    - taosArraySort
    - taosHashGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t dynMakeVgArraySortBy(SDBVgInfo* dbInfo, __compar_fn_t sort_func)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2086
    functionName: dynHashValueComp
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t dynHashValueComp(void const* lp, void const* rp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynMakeVgArraySortBy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2091,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2092,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2094,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2096,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2097,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2102,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2103,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2105,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2106,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2106,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2109,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2111,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - dbInfo
    - dbFName
    - vgId
    - tbName
    argTypes:
    - SDBVgInfo*
    - char*
    - int32_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2088
    functionDepth: 2
    functionLinenumber: 2088
    functionLinenumberEnd: 2120
    functionName: getVgId
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosGetTbHashVal
    - qError
    - dynMakeVgArraySortBy
    - snprintf
    - taosArraySearch
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVgId(SDBVgInfo* dbInfo, char* dbFName, int32_t* vgId, char
      *tbName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2130,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2130,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2132,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2135,1
    - Dst: buildDbVgInfoMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2136,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2137,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2138,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2138,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2139,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2147,1
    - Dst: freeUseDbOutput
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - pOperator
    - name
    - dbVgInfo
    argTypes:
    - SOperatorInfo*
    - SName*
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2122
    functionDepth: 2
    functionLinenumber: 2122
    functionLinenumberEnd: 2150
    functionName: getDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - QRY_PARAM_CHECK
    - qError
    - taosHashGet
    - freeUseDbOutput
    - buildDbVgInfoMap
    - QUERY_CHECK_CODE
    - tstrerror
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDbVgInfo(SOperatorInfo* pOperator, SName *name, SDBVgInfo
      **dbVgInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2156,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2159,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2160,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2164,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2166,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2167,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2168,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2169,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2170,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2171,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2173,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2174,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2175,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2179,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2179,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2181,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2185,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - colref
    - refDb
    - refTb
    - refCol
    argTypes:
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2152
    functionDepth: 1
    functionLinenumber: 2152
    functionLinenumberEnd: 2193
    functionName: extractColRefName
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - qError
    - QUERY_CHECK_NULL
    - tstrncpy
    - strchr
    - taosMemoryFree
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractColRefName(const char *colref, char **refDb, char**
      refTb, char** refCol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2196,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2196,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2196,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2197,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2197,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2198,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2198,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2198,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2199,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - dbName
    - tbName
    - expectDbName
    - expectTbName
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2203
    functionName: tableInfoNeedCollect
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - strncmp
    - strlen
    - varDataLen
    linkageType: ''
    returnType: bool
    signature: bool tableInfoNeedCollect(char *dbName, char *tbName, char *expectDbName,
      char *expectTbName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2209,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2210,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2211,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2212,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2213,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2214,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2216,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2217,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2218,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2219,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2220,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2221,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2223,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2226,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2226,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2226,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2227,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2228,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2228,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2228,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2228,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2228,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2229,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2229,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2232,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2232,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2232,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2233,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2234,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2234,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2234,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2234,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2234,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2235,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2235,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2237,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2238,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2238,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2240,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2241,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2241,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2243,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2244,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - pInfo
    - pDataBlock
    - index
    argTypes:
    - SColRefInfo*
    - SArray*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2205
    functionDepth: 1
    functionLinenumber: 2205
    functionLinenumberEnd: 2249
    functionName: getColRefInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - memcpy
    - varDataTLen
    - taosArrayGet
    - colDataGetData
    - QUERY_CHECK_NULL
    - varDataLen
    - colDataGetNumData
    - varDataVal
    - colDataIsNull_s
    - taosMemoryCalloc
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: int32_t getColRefInfo(SColRefInfo *pInfo, SArray* pDataBlock, int32_t
      index)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2268,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2269,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2270,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2272,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2273,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2275,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2275,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2282,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2283,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2284,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2285,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2286,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2286,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2288,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2290,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2291,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2294,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2295,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2296,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2303,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - pVtbScan
    - pTaskInfo
    - rversion
    argTypes:
    - SVtbScanDynCtrlInfo*
    - SExecTaskInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2305
    functionName: processOrgTbVg
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - taosArrayGet
    - atomic_val_compare_exchange_8
    - tstrerror
    - atomic_val_compare_exchange_ptr
    - qError
    - taosHashGet
    - QUERY_CHECK_NULL
    - taosHashGetKey
    - taosArrayGetSize
    - taosArrayInit
    - atomic_load_ptr
    - atomic_store_64
    - taosHashClear
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t processOrgTbVg(SVtbScanDynCtrlInfo* pVtbScan, SExecTaskInfo*
      pTaskInfo, int32_t rversion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: extractColRefName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2318,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2319,1
    - Dst: toName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2321,1
    - Dst: getDbVgInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2323,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2324,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2326,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2327,1
    - Dst: getVgId
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2329,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2330,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2334,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2336,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2337,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - pOperator
    - colRef
    - vgId
    argTypes:
    - SOperatorInfo*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2307
    functionDepth: 3
    functionLinenumber: 2307
    functionLinenumberEnd: 2340
    functionName: getVgIdFromColref
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - qError
    - toName
    - getVgId
    - taosMemoryFree
    - getDbVgInfo
    - QUERY_CHECK_CODE
    - tstrerror
    - extractColRefName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVgIdFromColref(SOperatorInfo* pOperator, const char* colRef,
      int32_t* vgId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2348,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2349,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2351,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2352,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2353,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2356,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2357,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2358,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2359,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2360,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2361,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2362,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2362,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2362,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2363,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2363,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2365,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2366,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2366,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2371,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2371,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2375,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2376,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2381,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2384,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2386,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 4
    argNames:
    - vtbUidTagListMap
    - uid
    - pTagVal
    - rowIdx
    argTypes:
    - SHashObj*
    - tb_uid_t
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2342
    functionDepth: 1
    functionLinenumber: 2342
    functionLinenumberEnd: 2388
    functionName: generateTagArrayByTagBlockAndSave
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - colDataGetData
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - tstrerror
    - qError
    - QUERY_CHECK_NULL
    - varDataLen
    - taosHashPut
    - taosArrayGetSize
    - taosArrayInit
    - QUERY_CHECK_CODE
    - varDataVal
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t generateTagArrayByTagBlockAndSave(SHashObj* vtbUidTagListMap,
      tb_uid_t uid, SSDataBlock *pTagVal, int32_t rowIdx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2399,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2400,1
    - Dst: colNeedScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2403,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2414,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2414,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2415,1
    - Dst: addRefColIdToRefMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2417,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2418,1
    - Dst: extractColRefName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2422,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2423,1
    - Dst: toName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2425,1
    - Dst: getDbVgInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2427,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2428,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2429,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2430,1
    - Dst: tNameGetFullTableName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2431,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2432,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2434,1
    - Dst: getVgId
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2437,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2438,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2439,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2440,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2441,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2444,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2445,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2445,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2446,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2447,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2452,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2453,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2453,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2455,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2456,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2457,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2468,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2468,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 5
    argNames:
    - pOperator
    - pColRefInfo
    - uid
    - vgId
    - ppRefMap
    argTypes:
    - SOperatorInfo*
    - SArray*
    - tb_uid_t*
    - int32_t*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2390
    functionDepth: 3
    functionLinenumber: 2390
    functionLinenumberEnd: 2473
    functionName: virtualTableScanProcessColRefInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - colNeedScan
    - qError
    - toName
    - getVgId
    - taosArrayGet
    - addRefColIdToRefMap
    - taosHashInit
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - extractColRefName
    - QUERY_CHECK_NULL
    - tNameGetFullTableName
    - tstrncpy
    - getDbVgInfo
    - tNameGetFullDbName
    - taosHashGet
    - taosMemoryFree
    - taosHashCleanup
    - taosArrayInit
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t virtualTableScanProcessColRefInfo(SOperatorInfo* pOperator,
      SArray* pColRefInfo, tb_uid_t* uid, int32_t* vgId,\n                                          SHashObj**
      ppRefMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateTagArrayByTagBlockAndSave
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2529,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2530,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2533,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2534,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2542,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2542,1
    - Dst: processChildTableListAndGenerateOrgTbInfoMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2546,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2556,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2556,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2557,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2559,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2560,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2560,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2561,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2563,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2564,1
    - Dst: virtualTableScanProcessColRefInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2568,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2569,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2572,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2574,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2577,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2579,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2580,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2581,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2581,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2582,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2583,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2586,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2587,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2587,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2590,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2592,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2593,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2596,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2597,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2602,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2525
    functionDepth: 4
    functionLinenumber: 2525
    functionLinenumberEnd: 2604
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 6
    functionsReached:
    - taosArrayPush
    - processChildTableListAndGenerateOrgTbInfoMap
    - taosHashIterate
    - taosHashRemove
    - qError
    - taosGetDefaultHashFunction
    - taosHashGet
    - QUERY_CHECK_NULL
    - virtualTableScanProcessColRefInfo
    - taosHashGetKey
    - taosHashInit
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - taosArrayInit
    - generateTagArrayByTagBlockAndSave
    - taosHashPut
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: "void GET_TYPED_DATA(uid, int64_t, TSDB_DATA_TYPE_BIGINT, colDataGetNumData(pUidCol,
      i), 0);\n        QUERY_CHECK_CODE(code, line, _return);\n      }\n\n      code
      = generateTagArrayByTagBlockAndSave(vtbUidTagListMap, uid, pTagVal, i);\n      QUERY_CHECK_CODE(code,
      line, _return);\n\n      if (hasPartition) {\n        code = taosHashPut(pVtbScan->vtbUidToGroupIdMap,
      &uid, sizeof(uid), &pTagVal->info.id.groupId, sizeof(pTagVal->info.id.groupId));\n
      \       QUERY_CHECK_CODE(code, line, _return);\n      }\n    }\n  }\n\n  return
      code;\n\n_return:\n  qError(\"%s failed at line %d since %s\", __func__, line,
      tstrerror(code));\n  return code;\n}\n\nstatic int32_t processChildTableListAndGenerateOrgTbInfoMap(SOperatorInfo*
      pOperator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: processChildTableListAndGenerateOrgTbInfoMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2610,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2611,1
    - Dst: getTagBlockAndProcess
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2614,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2615,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2619,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pOperator
    - hasPartition
    argTypes:
    - SOperatorInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2606
    functionDepth: 1
    functionLinenumber: 2606
    functionLinenumberEnd: 2621
    functionName: buildOrgTbInfoSingle
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - processChildTableListAndGenerateOrgTbInfoMap
    - qError
    - getTagBlockAndProcess
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildOrgTbInfoSingle(SOperatorInfo* pOperator, bool hasPartition)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2663,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2664,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2666,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2667,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2670,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2671,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2672,1
    - Dst: virtualTableScanProcessColRefInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2675,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2676,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2680,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2681,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2683,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2687,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2687,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2688,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2689,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2690,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2697,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2699,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2701,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2703,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2704,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2705,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2705,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2706,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2707,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2710,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2711,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2711,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2714,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2716,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2717,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2735,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2735,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2736,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2738,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2739,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2739,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2740,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2743,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2743,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2744,1
    - Dst: fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2752,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2753,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2757,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2758,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2759,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2761,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2762,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2763,1
    - Dst: for
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2765,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2766,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2766,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2767,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2768,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2769,1
    - Dst: tableInfoNeedCollect
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2771,1
    - Dst: getColRefInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2773,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2774,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2777,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2778,1
    - Dst: destroyColRefInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2780,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2784,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2785,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2786,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2786,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2787,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2790,1
    - Dst: getVgIdFromColref
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2792,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2793,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2794,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2795,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2800,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2800,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2801,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2802,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2803,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2803,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2804,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2805,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2805,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2806,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2806,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2806,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2807,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2809,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2809,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2810,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2811,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2812,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2813,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2813,1
    - Dst: buildOrgTbInfoBatch
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2824,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2828,1
    - Dst: buildOrgTbInfoBatch
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2829,1
    - Dst: buildOrgTbInfoSingle
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2831,1
    - Dst: processOrgTbVg
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2836,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2845,1
    - Dst: _return
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2847,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2849,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2849,1
    - Dst: buildVirtualNormalChildTableScanChildTableMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2854,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2864,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2865,1
    - Dst: while
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2867,1
    - Dst: fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2869,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2874,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2875,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2876,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2878,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2879,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2880,1
    - Dst: for
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2882,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2883,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2883,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2884,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2884,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2887,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2887,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2888,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2889,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2890,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2891,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2893,1
    - Dst: tableInfoNeedCollect
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2893,1
    - Dst: getColRefInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2895,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2896,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2899,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2900,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2900,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2901,1
    - Dst: getVgIdFromColref
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2904,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2905,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2906,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2907,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2910,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2910,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2916,1
    - Dst: _return
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2918,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2920,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2920,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2933,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2934,1
    - Dst: for
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2935,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2935,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2936,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2937,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2938,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2940,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2940,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2941,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2943,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2944,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2949,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2953,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2954,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2956,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2956,1
    - Dst: virtualTableScanBuildDownStreamOpParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2961,1
    - Dst: buildVtbScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2969,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2970,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2972,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2976,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2985,1
    - Dst: buildExchangeOperatorParamForVScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2987,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2988,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2989,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2990,1
    - Dst: buildExchangeOperatorParamForVScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2992,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2993,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2995,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2995,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2996,1
    - Dst: buildExchangeOperatorParamForVTagScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3000,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3001,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3006,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3006,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3018,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3018,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3020,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3023,1
    - Dst: fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3024,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3025,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3027,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3030,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3034,1
    - Dst: virtualTableScanProcessColRefInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3039,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3040,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3042,1
    - Dst: buildRefSlotGroupsFromRefMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3044,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3045,1
    - Dst: virtualTableScanBuildDownStreamOpParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3047,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3048,1
    - Dst: fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3052,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3053,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3064,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3065,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3079,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3079,1
    - Dst: vtbScanOpen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3084,1
    - Dst: SDynQueryCtrlOperatorInfo*::vtbScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3088,1
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3090,1
    - Dst: buildVirtualSuperTableScanChildTableMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3095,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3096,1
    - Dst: buildVirtualNormalChildTableScanChildTableMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3098,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3099,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3102,1
    - Dst: _return
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3104,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3106,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3106,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3108,1
    - Dst: vtbScanNext
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3113,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3119,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3123,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3124,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3130,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3137,1
    - Dst: virtualTableScanCheckNeedRedeploy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3138,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3139,1
    - Dst: fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3142,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3143,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3145,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3146,1
    - Dst: virtualTableScanGetNext
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3150,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3151,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3156,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3157,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3157,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3159,1
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3177,1
    - Dst: buildVirtualSuperTableScanChildTableMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3181,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3182,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3184,1
    - Dst: if
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3187,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3188,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3188,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3190,1
    - Dst: vtbTsScanNext
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3203,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3212,1
    - Dst: fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3207,1
    - Dst: _return
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3218,1
    - Dst: buildMergeOperatorParamForTsScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3222,1
    - Dst: fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3224,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3225,1
    - Dst: fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:2670,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 2660
    functionDepth: 6
    functionLinenumber: 2660
    functionLinenumberEnd: 3234
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 7
    functionsReached:
    - taosArrayPush
    - colDataGetData
    - getColRefInfo
    - atomic_val_compare_exchange_ptr
    - qError
    - virtualTableScanCheckNeedRedeploy
    - buildMergeOperatorParamForTsScan
    - fpSet::getNextFn
    - buildOrgTbInfoSingle
    - processOrgTbVg
    - taosHashClear
    - taosArrayDestroy
    - buildVirtualNormalChildTableScanChildTableMap
    - _return
    - taosArrayGetP
    - OPTR_SET_OPENED
    - vtbScanOpen
    - memcpy
    - taosArrayGet
    - QRY_PARAM_CHECK
    - qTrace
    - buildExchangeOperatorParamForVTagScan
    - fpSet::getNextExtFn
    - varDataLen
    - destroyColRefInfo
    - taosHashInit
    - taosHashSetFreeFp
    - vtbScanNext
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - varDataVal
    - buildOrgTbInfoBatch
    - taosArrayClear
    - virtualTableScanBuildDownStreamOpParam
    - T_LONG_JMP
    - buildVirtualSuperTableScanChildTableMap
    - taosHashRemove
    - buildVtbScanOperatorParam
    - OPTR_IS_OPENED
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - taosHashGetKey
    - colDataGetNumData
    - buildExchangeOperatorParamForVScan
    - qDebug
    - while
    - atomic_load_ptr
    - getVgIdFromColref
    - tableInfoNeedCollect
    - taosHashIterate
    - vtbTsScanNext
    - fpSet::_openFn
    - buildRefSlotGroupsFromRefMap
    - freeOperatorParam
    - SDynQueryCtrlOperatorInfo*::vtbScan
    - taosHashGet
    - virtualTableScanProcessColRefInfo
    - virtualTableScanGetNext
    - for
    - taosHashPut
    - if
    - taosArrayInit
    - tstrerror
    - colDataIsNull_s
    - GET_TYPED_DATA
    linkageType: ''
    returnType: void
    signature: "void GET_TYPED_DATA(uid, int64_t, TSDB_DATA_TYPE_BIGINT, colDataGetNumData(pUidCol,
      i), 0);\n        QUERY_CHECK_CODE(code, line, _return);\n      }\n      code
      = taosHashPut(pVtbScan->vtbUidToGroupIdMap, &uid, sizeof(uid), &pTagVal->info.id.groupId,
      sizeof(pTagVal->info.id.groupId));\n      QUERY_CHECK_CODE(code, line, _return);\n
      \   }\n    code = taosHashPut(pVtbScan->vtbGroupIdTagListMap, &pTagVal->info.id.groupId,
      sizeof(pTagVal->info.id.groupId), NULL, 0);\n    QUERY_CHECK_CODE(code, line,
      _return);\n  }\n\n  for (int32_t i = 0; i < taosArrayGetSize(pVtbScan->childTableList);
      i++) {\n    SArray* pColRefInfo = (SArray*)taosArrayGetP(pVtbScan->childTableList,
      i);\n    QUERY_CHECK_NULL(pColRefInfo, code, line, _return, terrno)\n    tb_uid_t
      uid = 0;\n    int32_t  vgId = 0;\n    code = virtualTableScanProcessColRefInfo(pOperator,
      pColRefInfo, &uid, &vgId, NULL);\n    QUERY_CHECK_CODE(code, line, _return);\n\n
      \   SHashObj* otbVgIdToOtbInfoArrayMap = NULL;\n    if (hasPartition) {\n      uint64_t*
      groupId = (uint64_t *)taosHashGet(pVtbScan->vtbUidToGroupIdMap, &uid, sizeof(uid));\n
      \     QUERY_CHECK_NULL(groupId, code, line, _return, terrno)\n\n      void*
      pHashIter = taosHashGet(pVtbScan->vtbGroupIdToVgIdMapMap, groupId, sizeof(*groupId));\n
      \     if (pHashIter) {\n        otbVgIdToOtbInfoArrayMap = *(SHashObj**)pHashIter;\n
      \     } else {\n        otbVgIdToOtbInfoArrayMap = taosHashInit(64, taosGetDefaultHashFunction(TSDB_DATA_TYPE_INT),
      false, HASH_ENTRY_LOCK);\n        QUERY_CHECK_NULL(otbVgIdToOtbInfoArrayMap,
      code, line, _return, terrno)\n        code = taosHashPut(pVtbScan->vtbGroupIdToVgIdMapMap,
      groupId, sizeof(*groupId), &otbVgIdToOtbInfoArrayMap, POINTER_BYTES);\n        QUERY_CHECK_CODE(code,
      line, _return);\n      }\n    } else {\n      otbVgIdToOtbInfoArrayMap = pVtbScan->otbVgIdToOtbInfoArrayMap;\n
      \   }\n\n    size_t len = 0;\n    void*  pOrgTbInfo = taosHashIterate(pVtbScan->otbNameToOtbInfoMap,
      NULL);\n    while (pOrgTbInfo != NULL) {\n      char*       key = taosHashGetKey(pOrgTbInfo,
      &len);\n      SOrgTbInfo* orgTbInfo = (SOrgTbInfo*)pOrgTbInfo;\n      void*
      pIter = taosHashGet(otbVgIdToOtbInfoArrayMap, &orgTbInfo->vgId, sizeof(orgTbInfo->vgId));\n
      \     if (!pIter) {\n        SArray* pOrgTbInfoArray = taosArrayInit(1, sizeof(SOrgTbInfo));\n
      \       QUERY_CHECK_NULL(pOrgTbInfoArray, code, line, _return, terrno)\n        QUERY_CHECK_NULL(taosArrayPush(pOrgTbInfoArray,
      orgTbInfo), code, line, _return, terrno)\n        code = taosHashPut(otbVgIdToOtbInfoArrayMap,
      &orgTbInfo->vgId, sizeof(orgTbInfo->vgId), &pOrgTbInfoArray, POINTER_BYTES);\n
      \       QUERY_CHECK_CODE(code, line, _return);\n      } else {\n        SArray*
      pOrgTbInfoArray = *(SArray**)pIter;\n        QUERY_CHECK_NULL(pOrgTbInfoArray,
      code, line, _return, terrno)\n        QUERY_CHECK_NULL(taosArrayPush(pOrgTbInfoArray,
      orgTbInfo), code, line, _return, terrno)\n      }\n\n      pOrgTbInfo = taosHashIterate(pVtbScan->otbNameToOtbInfoMap,
      pOrgTbInfo);\n\n      code = taosHashRemove(pVtbScan->otbNameToOtbInfoMap, key,
      len);\n      QUERY_CHECK_CODE(code, line, _return);\n    }\n  }\n  return code;\n_return:\n
      \ qError(\"%s failed at line %d since %s\", __func__, line, tstrerror(code));\n
      \ return code;\n}\n\nint32_t buildVirtualSuperTableScanChildTableMap(SOperatorInfo*
      pOperator) {\n  int32_t                    code = TSDB_CODE_SUCCESS;\n  int32_t
      \                   line = 0;\n  SDynQueryCtrlOperatorInfo* pInfo = pOperator->info;\n
      \ SVtbScanDynCtrlInfo*       pVtbScan = (SVtbScanDynCtrlInfo*)&pInfo->vtbScan;\n
      \ SExecTaskInfo*             pTaskInfo = pOperator->pTaskInfo;\n  SArray*                    pColRefArray
      = NULL;\n  SOperatorInfo*             pSystableScanOp = NULL;\n  \n  pVtbScan->childTableMap
      = taosHashInit(64, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false,
      HASH_ENTRY_LOCK);\n  QUERY_CHECK_NULL(pVtbScan->childTableMap, code, line, _return,
      terrno)\n\n  if (pInfo->qType == DYN_QTYPE_VTB_AGG || pInfo->qType == DYN_QTYPE_VTB_INTERVAL)
      {\n    pVtbScan->otbNameToOtbInfoMap = taosHashInit(64, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY),
      false, HASH_ENTRY_LOCK);\n    QUERY_CHECK_NULL(pVtbScan->otbNameToOtbInfoMap,
      code, line, _return, terrno)\n    pSystableScanOp = pOperator->pDownstream[0];\n
      \ } else if (pInfo->qType == DYN_QTYPE_VTB_WINDOW || pInfo->qType == DYN_QTYPE_VTB_TS_SCAN)
      {\n    pVtbScan->otbNameToOtbInfoMap = taosHashInit(64, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY),
      false, HASH_ENTRY_LOCK);\n    QUERY_CHECK_NULL(pVtbScan->otbNameToOtbInfoMap,
      code, line, _return, terrno)\n    pSystableScanOp = pOperator->pDownstream[1];\n
      \ } else {\n    pSystableScanOp = pOperator->pDownstream[1];\n  }\n\n  while
      (true) {\n    SSDataBlock *pChildInfo = NULL;\n    code = pSystableScanOp->fpSet.getNextFn(pSystableScanOp,
      &pChildInfo);\n    QUERY_CHECK_CODE(code, line, _return);\n    if (pChildInfo
      == NULL) {\n      break;\n    }\n    SColumnInfoData *pTableNameCol = taosArrayGet(pChildInfo->pDataBlock,
      0);\n    SColumnInfoData *pStbNameCol = taosArrayGet(pChildInfo->pDataBlock,
      1);\n    SColumnInfoData *pDbNameCol = taosArrayGet(pChildInfo->pDataBlock,
      2);\n\n    QUERY_CHECK_NULL(pTableNameCol, code, line, _return, terrno)\n    QUERY_CHECK_NULL(pStbNameCol,
      code, line, _return, terrno)\n    QUERY_CHECK_NULL(pDbNameCol, code, line, _return,
      terrno)\n\n    for (int32_t i = 0; i < pChildInfo->info.rows; i++) {\n      if
      (!colDataIsNull_s(pStbNameCol, i)) {\n        char* stbrawname = colDataGetData(pStbNameCol,
      i);\n        char* dbrawname = colDataGetData(pDbNameCol, i);\n        char
      *ctbName = colDataGetData(pTableNameCol, i);\n\n        if (tableInfoNeedCollect(dbrawname,
      stbrawname, pInfo->vtbScan.dbName, pInfo->vtbScan.tbName)) {\n          SColRefInfo
      info = {0};\n          code = getColRefInfo(&info, pChildInfo->pDataBlock, i);\n
      \         QUERY_CHECK_CODE(code, line, _return);\n\n          if (pInfo->qType
      == DYN_QTYPE_VTB_SCAN) {\n            if (pInfo->vtbScan.dynTbUid != 0 && info.uid
      != pInfo->vtbScan.dynTbUid) {\n              qTrace(\"dynQueryCtrl tb uid filter,
      info uid:%\" PRIu64 \", dyn tb uid:%\" PRIu64, info.uid,\n                     pInfo->vtbScan.dynTbUid);\n
      \             destroyColRefInfo(&info);\n              continue;\n            }\n\n
      \           if (pTaskInfo->pStreamRuntimeInfo) {\n              if (pVtbScan->curOrgTbVg
      == NULL) {\n                pVtbScan->curOrgTbVg = taosHashInit(1, taosGetDefaultHashFunction(TSDB_DATA_TYPE_INT),
      true, HASH_ENTRY_LOCK);\n                QUERY_CHECK_NULL(pVtbScan->curOrgTbVg,
      code, line, _return, terrno)\n              }\n\n              if (info.colrefName)
      {\n                int32_t vgId;\n                code = getVgIdFromColref(pOperator,
      info.colrefName, &vgId);\n                QUERY_CHECK_CODE(code, line, _return);\n
      \               code = taosHashPut(pVtbScan->curOrgTbVg, &vgId, sizeof(vgId),
      NULL, 0);\n                QUERY_CHECK_CODE(code, line, _return);\n              }\n
      \           }\n          }\n\n          if (taosHashGet(pVtbScan->childTableMap,
      varDataVal(ctbName), varDataLen(ctbName)) == NULL) {\n            pColRefArray
      = taosArrayInit(1, sizeof(SColRefInfo));\n            QUERY_CHECK_NULL(pColRefArray,
      code, line, _return, terrno)\n            QUERY_CHECK_NULL(taosArrayPush(pColRefArray,
      &info), code, line, _return, terrno)\n            int32_t tableIdx = (int32_t)taosArrayGetSize(pVtbScan->childTableList);\n
      \           QUERY_CHECK_NULL(taosArrayPush(pVtbScan->childTableList, &pColRefArray),
      code, line, _return, terrno)\n            code = taosHashPut(pVtbScan->childTableMap,
      varDataVal(ctbName), varDataLen(ctbName), &tableIdx, sizeof(tableIdx));\n            QUERY_CHECK_CODE(code,
      line, _return);\n          } else {\n            int32_t *tableIdx = (int32_t*)taosHashGet(pVtbScan->childTableMap,
      varDataVal(ctbName), varDataLen(ctbName));\n            QUERY_CHECK_NULL(tableIdx,
      code, line, _return, terrno)\n            pColRefArray = (SArray *)taosArrayGetP(pVtbScan->childTableList,
      *tableIdx);\n            QUERY_CHECK_NULL(pColRefArray, code, line, _return,
      terrno)\n            QUERY_CHECK_NULL(taosArrayPush(pColRefArray, &info), code,
      line, _return, terrno)\n          }\n        }\n      }\n    }\n  }\n\n  switch
      (pInfo->qType) {\n    case DYN_QTYPE_VTB_TS_SCAN:\n    case DYN_QTYPE_VTB_WINDOW:\n
      \   case DYN_QTYPE_VTB_INTERVAL: {\n      code = buildOrgTbInfoBatch(pOperator,
      false);\n      break;\n    }\n    case DYN_QTYPE_VTB_AGG: {\n      if (pVtbScan->batchProcessChild)
      {\n        code = buildOrgTbInfoBatch(pOperator, pVtbScan->hasPartition);\n
      \     } else {\n        code = buildOrgTbInfoSingle(pOperator, pVtbScan->hasPartition);\n
      \     }\n      break;\n    }\n    case DYN_QTYPE_VTB_SCAN: {\n      code = processOrgTbVg(pVtbScan,
      pTaskInfo, 1);\n      break;\n    }\n    default: {\n      code = TSDB_CODE_PLAN_INVALID_DYN_CTRL_TYPE;\n
      \     break;\n    }\n  }\n\n  QUERY_CHECK_CODE(code, line, _return);\n\n_return:\n
      \ if (code) {\n    qError(\"%s failed since %s, line %d\", __func__, tstrerror(code),
      line);\n  }\n  return code;\n}\n\nint32_t buildVirtualNormalChildTableScanChildTableMap(SOperatorInfo*
      pOperator) {\n  int32_t                    code = TSDB_CODE_SUCCESS;\n  int32_t
      \                   line = 0;\n  SDynQueryCtrlOperatorInfo* pInfo = pOperator->info;\n
      \ SVtbScanDynCtrlInfo*       pVtbScan = (SVtbScanDynCtrlInfo*)&pInfo->vtbScan;\n
      \ SExecTaskInfo*             pTaskInfo = pOperator->pTaskInfo;\n  SArray*                    pColRefInfo
      = pInfo->vtbScan.colRefInfo;\n  SOperatorInfo*             pSystableScanOp =
      pOperator->pDownstream[1];\n  int32_t                    rversion = 0;\n\n  pInfo->vtbScan.colRefInfo
      = taosArrayInit(1, sizeof(SColRefInfo));\n  QUERY_CHECK_NULL(pInfo->vtbScan.colRefInfo,
      code, line, _return, terrno)\n\n  while (true) {\n    SSDataBlock *pTableInfo
      = NULL;\n    code = pSystableScanOp->fpSet.getNextFn(pSystableScanOp, &pTableInfo);\n
      \   if (pTableInfo == NULL) {\n      break;\n    }\n\n    SColumnInfoData *pTableNameCol
      = taosArrayGet(pTableInfo->pDataBlock, 0);\n    SColumnInfoData *pDbNameCol
      = taosArrayGet(pTableInfo->pDataBlock, 2);\n    SColumnInfoData *pRefVerCol
      = taosArrayGet(pTableInfo->pDataBlock, 8);\n\n    QUERY_CHECK_NULL(pTableNameCol,
      code, line, _return, terrno)\n    QUERY_CHECK_NULL(pDbNameCol, code, line, _return,
      terrno)\n    QUERY_CHECK_NULL(pRefVerCol, code, line, _return, terrno)\n\n    for
      (int32_t i = 0; i < pTableInfo->info.rows; i++) {\n      if (!colDataIsNull_s(pRefVerCol,
      i)) {\n        GET_TYPED_DATA(rversion, int32_t, TSDB_DATA_TYPE_INT, colDataGetNumData(pRefVerCol,
      i), 0);\n      }\n\n      if (!colDataIsNull_s(pTableNameCol, i)) {\n        char*
      tbrawname = colDataGetData(pTableNameCol, i);\n        char* dbrawname = colDataGetData(pDbNameCol,
      i);\n        QUERY_CHECK_NULL(tbrawname, code, line, _return, terrno)\n        QUERY_CHECK_NULL(dbrawname,
      code, line, _return, terrno)\n\n        if (tableInfoNeedCollect(dbrawname,
      tbrawname, pInfo->vtbScan.dbName, pInfo->vtbScan.tbName)) {\n          SColRefInfo
      info = {0};\n          code = getColRefInfo(&info, pTableInfo->pDataBlock, i);\n
      \         QUERY_CHECK_CODE(code, line, _return);\n\n          if ((rversion
      != pVtbScan->rversion || pVtbScan->existOrgTbVg == NULL) && info.colrefName)
      {\n            if (pVtbScan->curOrgTbVg == NULL) {\n              pVtbScan->curOrgTbVg
      = taosHashInit(1, taosGetDefaultHashFunction(TSDB_DATA_TYPE_INT), true, HASH_ENTRY_LOCK);\n
      \             QUERY_CHECK_NULL(pVtbScan->curOrgTbVg, code, line, _return, terrno)\n
      \           }\n            int32_t vgId;\n            code = getVgIdFromColref(pOperator,
      info.colrefName, &vgId);\n            QUERY_CHECK_CODE(code, line, _return);\n
      \           code = taosHashPut(pVtbScan->curOrgTbVg, &vgId, sizeof(vgId), NULL,
      0);\n            QUERY_CHECK_CODE(code, line, _return);\n          }\n\n          QUERY_CHECK_NULL(taosArrayPush(pInfo->vtbScan.colRefInfo,
      &info), code, line, _return, terrno)\n        }\n      }\n    }\n  }\n  code
      = processOrgTbVg(pVtbScan, pTaskInfo, rversion);\n  QUERY_CHECK_CODE(code, line,
      _return);\n\n_return:\n  if (code) {\n    qError(\"%s failed since %s, line
      %d\", __func__, tstrerror(code), line);\n  }\n  return code;\n}\n\nint32_t virtualTableScanCheckNeedRedeploy(SOperatorInfo*
      pOperator) {\n  int32_t                    code = TSDB_CODE_SUCCESS;\n  int32_t
      \                   line = 0;\n  SDynQueryCtrlOperatorInfo* pInfo = pOperator->info;\n
      \ SVtbScanDynCtrlInfo*       pVtbScan = (SVtbScanDynCtrlInfo*)&pInfo->vtbScan;\n
      \ SExecTaskInfo*             pTaskInfo = pOperator->pTaskInfo;\n\n  SArray *tmpArray
      = NULL;\n  tmpArray = atomic_load_ptr(&pTaskInfo->pStreamRuntimeInfo->vtableDeployInfo.addedVgInfo);\n
      \ if (tmpArray && tmpArray == atomic_val_compare_exchange_ptr(&pTaskInfo->pStreamRuntimeInfo->vtableDeployInfo.addedVgInfo,
      tmpArray, NULL)) {\n    for (int32_t i = 0; i < taosArrayGetSize(tmpArray);
      i++) {\n      SStreamTaskAddr* pTaskAddr = (SStreamTaskAddr*)taosArrayGet(tmpArray,
      i);\n      code = taosHashPut(pVtbScan->existOrgTbVg, &pTaskAddr->nodeId, sizeof(pTaskAddr->nodeId),
      NULL, 0);\n      QUERY_CHECK_CODE(code, line, _return);\n      if (pVtbScan->newAddedVgInfo
      == NULL) {\n        pVtbScan->newAddedVgInfo = taosHashInit(1, taosGetDefaultHashFunction(TSDB_DATA_TYPE_INT),
      true, HASH_ENTRY_LOCK);\n        QUERY_CHECK_NULL(pVtbScan->newAddedVgInfo,
      code, line, _return, terrno)\n      }\n      code = taosHashPut(pVtbScan->newAddedVgInfo,
      &pTaskAddr->nodeId, sizeof(pTaskAddr->nodeId), pTaskAddr, sizeof(SStreamTaskAddr));\n
      \     QUERY_CHECK_CODE(code, line, _return);\n    }\n    pVtbScan->needRedeploy
      = false;\n  } else {\n    code = TSDB_CODE_STREAM_VTABLE_NEED_REDEPLOY;\n    QUERY_CHECK_CODE(code,
      line, _return);\n  }\n\n_return:\n  taosArrayClear(tmpArray);\n  taosArrayDestroy(tmpArray);\n
      \ if (code) {\n    qError(\"%s failed since %s, line %d\", __func__, tstrerror(code),
      line);\n  }\n  return code;\n}\n\nint32_t virtualTableScanBuildDownStreamOpParam(SOperatorInfo*
      pOperator, tb_uid_t uid, int32_t vgId) {\n  int32_t                    code
      = TSDB_CODE_SUCCESS;\n  int32_t                    line = 0;\n  SDynQueryCtrlOperatorInfo*
      pInfo = pOperator->info;\n  SVtbScanDynCtrlInfo*       pVtbScan = (SVtbScanDynCtrlInfo*)&pInfo->vtbScan;\n
      \ SExecTaskInfo*             pTaskInfo = pOperator->pTaskInfo;\n\n  pVtbScan->vtbScanParam
      = NULL;\n  code = buildVtbScanOperatorParam(pInfo, &pVtbScan->vtbScanParam,
      uid);\n  QUERY_CHECK_CODE(code, line, _return);\n\n  void* pIter = taosHashIterate(pVtbScan->otbNameToOtbInfoMap,
      NULL);\n  while (pIter != NULL) {\n    SOrgTbInfo*      pMap = (SOrgTbInfo*)pIter;\n
      \   SOperatorParam*  pExchangeParam = NULL;\n    SStreamTaskAddr* addr = taosHashGet(pVtbScan->newAddedVgInfo,
      &pMap->vgId, sizeof(pMap->vgId));\n    if (addr != NULL) {\n      SDownstreamSourceNode
      newSource = {0};\n      newSource.type = QUERY_NODE_DOWNSTREAM_SOURCE;\n      newSource.clientId
      = pTaskInfo->id.taskId;// current task's taskid\n      newSource.taskId = addr->taskId;\n
      \     newSource.fetchMsgType = TDMT_STREAM_FETCH;\n      newSource.localExec
      = false;\n      newSource.addr.nodeId = addr->nodeId;\n      memcpy(&newSource.addr.epSet,
      &addr->epset, sizeof(SEpSet));\n\n      code = buildExchangeOperatorParamForVScan(&pExchangeParam,
      0, pMap, &newSource);\n      QUERY_CHECK_CODE(code, line, _return);\n      code
      = taosHashRemove(pVtbScan->newAddedVgInfo, &pMap->vgId, sizeof(pMap->vgId));\n
      \     QUERY_CHECK_CODE(code, line, _return);\n    } else {\n      code = buildExchangeOperatorParamForVScan(&pExchangeParam,
      0, pMap, NULL);\n      QUERY_CHECK_CODE(code, line, _return);\n    }\n    QUERY_CHECK_NULL(taosArrayPush(((SVTableScanOperatorParam*)pVtbScan->vtbScanParam->value)->pOpParamArray,
      &pExchangeParam), code, line, _return, terrno)\n    pIter = taosHashIterate(pVtbScan->otbNameToOtbInfoMap,
      pIter);\n  }\n\n  SOperatorParam*  pExchangeParam = NULL;\n  code = buildExchangeOperatorParamForVTagScan(&pExchangeParam,
      0, vgId, uid);\n  QUERY_CHECK_CODE(code, line, _return);\n  ((SVTableScanOperatorParam*)pVtbScan->vtbScanParam->value)->pTagScanOp
      = pExchangeParam;\n\n_return:\n  if (code) {\n    qError(\"%s failed since %s,
      line %d\", __func__, tstrerror(code), line);\n  }\n  return code;\n}\n\nint32_t
      virtualTableScanGetNext(SOperatorInfo* pOperator, SSDataBlock** pRes) {\n  int32_t
      \                   code = TSDB_CODE_SUCCESS;\n  int32_t                    line
      = 0;\n  SDynQueryCtrlOperatorInfo* pInfo = pOperator->info;\n  SVtbScanDynCtrlInfo*
      \      pVtbScan = (SVtbScanDynCtrlInfo*)&pInfo->vtbScan;\n  SOperatorInfo*             pVtbScanOp
      = pOperator->pDownstream[0];\n\n  pVtbScan->otbNameToOtbInfoMap = taosHashInit(64,
      taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_ENTRY_LOCK);\n
      \ QUERY_CHECK_NULL(pVtbScan->otbNameToOtbInfoMap, code, line, _return, terrno)\n
      \ taosHashSetFreeFp(pVtbScan->otbNameToOtbInfoMap, destroySOrgTbInfo);\n\n  while
      (true) {\n    if (pVtbScan->curTableIdx == pVtbScan->lastTableIdx) {\n      code
      = pVtbScanOp->fpSet.getNextFn(pVtbScanOp, pRes);\n      QUERY_CHECK_CODE(code,
      line, _return);\n    } else {\n      taosHashClear(pVtbScan->otbNameToOtbInfoMap);\n
      \     SArray* pColRefInfo = NULL;\n      if (pVtbScan->isSuperTable) {\n        pColRefInfo
      = (SArray*)taosArrayGetP(pVtbScan->childTableList, pVtbScan->curTableIdx);\n
      \     } else {\n        pColRefInfo = pInfo->vtbScan.colRefInfo;\n      }\n
      \     QUERY_CHECK_NULL(pColRefInfo, code, line, _return, terrno)\n\n      tb_uid_t
      \ uid = 0;\n      int32_t   vgId = 0;\n      SHashObj* refMap = NULL;\n      code
      = virtualTableScanProcessColRefInfo(pOperator, pColRefInfo, &uid, &vgId, &refMap);\n
      \     QUERY_CHECK_CODE(code, line, _return);\n\n      qDebug(\"virtual table
      scan process subtable idx:%d uid:%\" PRIu64 \" vgId:%d\", pVtbScan->curTableIdx,
      uid, vgId);\n\n      code = buildRefSlotGroupsFromRefMap(refMap, pVtbScan->readColList,
      &pVtbScan->refColGroups);\n      QUERY_CHECK_CODE(code, line, _return);\n\n
      \     code = virtualTableScanBuildDownStreamOpParam(pOperator, uid, vgId);\n
      \     QUERY_CHECK_CODE(code, line, _return);\n\n      // reset downstream operator's
      status\n      pVtbScanOp->status = OP_NOT_OPENED;\n      code = pVtbScanOp->fpSet.getNextExtFn(pVtbScanOp,
      pVtbScan->vtbScanParam, pRes);\n      QUERY_CHECK_CODE(code, line, _return);\n
      \   }\n\n    if (*pRes) {\n      // has result, still read data from this table.\n
      \     pVtbScan->lastTableIdx = pVtbScan->curTableIdx;\n      break;\n    } else
      {\n      // no result, read next table.\n      pVtbScan->curTableIdx++;\n      if
      (pVtbScan->isSuperTable) {\n        if (pVtbScan->curTableIdx >= taosArrayGetSize(pVtbScan->childTableList))
      {\n          setOperatorCompleted(pOperator);\n          break;\n        }\n
      \     } else {\n        setOperatorCompleted(pOperator);\n        break;\n      }\n
      \   }\n  }\n\n_return:\n  taosHashCleanup(pVtbScan->otbNameToOtbInfoMap);\n
      \ pVtbScan->otbNameToOtbInfoMap = NULL;\n  if (code) {\n    qError(\"%s failed
      since %s, line %d\", __func__, tstrerror(code), line);\n  }\n  return code;\n}\n\nint32_t
      vtbScanOpen(SOperatorInfo* pOperator) {\n  int32_t                    code =
      TSDB_CODE_SUCCESS;\n  int32_t                    line = 0;\n  SDynQueryCtrlOperatorInfo*
      pInfo = pOperator->info;\n  SVtbScanDynCtrlInfo*       pVtbScan = (SVtbScanDynCtrlInfo*)&pInfo->vtbScan;\n\n
      \ if (OPTR_IS_OPENED(pOperator)) {\n    return code;\n  }\n\n  if (pVtbScan->isSuperTable)
      {\n    code = buildVirtualSuperTableScanChildTableMap(pOperator);\n    QUERY_CHECK_CODE(code,
      line, _return);\n  } else {\n    code = buildVirtualNormalChildTableScanChildTableMap(pOperator);\n
      \   QUERY_CHECK_CODE(code, line, _return);\n  }\n\n  OPTR_SET_OPENED(pOperator);\n\n_return:\n
      \ if (code) {\n    qError(\"%s failed since %s, line %d\", __func__, tstrerror(code),
      line);\n    pOperator->pTaskInfo->code = code;\n    T_LONG_JMP(pOperator->pTaskInfo->env,
      code);\n  }\n  return code;\n}\n\nint32_t vtbScanNext(SOperatorInfo* pOperator,
      SSDataBlock** pRes) {\n  int32_t                    code = TSDB_CODE_SUCCESS;\n
      \ int32_t                    line = 0;\n  SDynQueryCtrlOperatorInfo* pInfo =
      pOperator->info;\n  SVtbScanDynCtrlInfo*       pVtbScan = (SVtbScanDynCtrlInfo*)&pInfo->vtbScan;\n\n
      \ QRY_PARAM_CHECK(pRes);\n  if (pOperator->status == OP_EXEC_DONE && !pOperator->pOperatorGetParam)
      {\n    return code;\n  }\n  if (pOperator->pOperatorGetParam) {\n    if (pOperator->status
      == OP_EXEC_DONE) {\n      pOperator->status = OP_OPENED;\n    }\n    pVtbScan->curTableIdx
      = 0;\n    pVtbScan->lastTableIdx = -1;\n    pVtbScan->window = ((SDynQueryCtrlOperatorParam
      *)(pOperator->pOperatorGetParam)->value)->window;\n    freeOperatorParam(pOperator->pOperatorGetParam,
      OP_GET_PARAM);\n    pOperator->pOperatorGetParam = NULL;\n  } else {\n    pVtbScan->window.skey
      = INT64_MAX;\n    pVtbScan->window.ekey = INT64_MIN;\n  }\n\n  if (pVtbScan->needRedeploy)
      {\n    code = virtualTableScanCheckNeedRedeploy(pOperator);\n    QUERY_CHECK_CODE(code,
      line, _return);\n  }\n\n  code = pOperator->fpSet._openFn(pOperator);\n  QUERY_CHECK_CODE(code,
      line, _return);\n\n  if (pVtbScan->isSuperTable && taosArrayGetSize(pVtbScan->childTableList)
      == 0) {\n    setOperatorCompleted(pOperator);\n    return code;\n  }\n\n  code
      = virtualTableScanGetNext(pOperator, pRes);\n  QUERY_CHECK_CODE(code, line,
      _return);\n\n  return code;\n\n_return:\n  if (code) {\n    qError(\"%s failed
      since %s, line %d\", __func__, tstrerror(code), line);\n    pOperator->pTaskInfo->code
      = code;\n    T_LONG_JMP(pOperator->pTaskInfo->env, code);\n  }\n  return code;\n}\n\n/*\n
      * Open dynamic vtable operator and build child-table mapping once.\n *\n * @param
      pOperator Dynamic-query control operator.\n *\n * @return TSDB_CODE_SUCCESS
      on success, otherwise error code.\n */\nstatic int32_t vtbDefaultOpen(SOperatorInfo*
      pOperator) {\n  int32_t                    code = TSDB_CODE_SUCCESS;\n  int32_t
      \                   line = 0;\n  SDynQueryCtrlOperatorInfo* pInfo = pOperator->info;\n
      \ SVtbScanDynCtrlInfo*       pVtbScan = (SVtbScanDynCtrlInfo*)&pInfo->vtbScan;\n\n
      \ if (OPTR_IS_OPENED(pOperator)) {\n    return code;\n  }\n\n  code = buildVirtualSuperTableScanChildTableMap(pOperator);\n
      \ QUERY_CHECK_CODE(code, line, _return);\n\n  OPTR_SET_OPENED(pOperator);\n\n_return:\n
      \ if (code) {\n    qError(\"%s failed since %s, line %d\", __func__, tstrerror(code),
      line);\n    pOperator->pTaskInfo->code = code;\n    T_LONG_JMP(pOperator->pTaskInfo->env,
      code);\n  }\n  return code;\n}\n\n/*\n * Get next result block for virtual-table
      ts-scan workflow.\n *\n * @param pOperator Dynamic-query control operator.\n
      * @param pRes Output result data block pointer.\n *\n * @return TSDB_CODE_SUCCESS
      on success, otherwise error code.\n */\nint32_t vtbTsScanNext(SOperatorInfo*
      pOperator, SSDataBlock** pRes) {\n  int32_t                    code = TSDB_CODE_SUCCESS;\n
      \ int32_t                    line = 0;\n  SDynQueryCtrlOperatorInfo* pInfo =
      pOperator->info;\n  SVtbScanDynCtrlInfo*       pVtbScan = (SVtbScanDynCtrlInfo*)&pInfo->vtbScan;\n
      \ SOperatorInfo*             pMergeOp = pOperator->pDownstream[0];\n  SOperatorParam*
      \           pMergeParam = NULL;\n  SSDataBlock*               pResult = NULL;\n\n
      \ QRY_PARAM_CHECK(pRes);\n  if (pOperator->status == OP_EXEC_DONE) {\n    return
      code;\n  }\n\n  code = pOperator->fpSet._openFn(pOperator);\n  QUERY_CHECK_CODE(code,
      line, _return);\n\n  if (pVtbScan->genNewParam) {\n    code = buildMergeOperatorParamForTsScan(pInfo,
      pMergeOp->numOfDownstream, &pMergeParam);\n    QUERY_CHECK_CODE(code, line,
      _return);\n\n    code = pMergeOp->fpSet.getNextExtFn(pMergeOp, pMergeParam,
      &pResult);\n    QUERY_CHECK_CODE(code, line, _return);\n    pVtbScan->genNewParam
      = false;\n  } else {\n    code = pMergeOp->fpSet.getNextFn(pMergeOp, &pResult);\n
      \   QUERY_CHECK_CODE(code, line, _return);\n  }\n\n  if (pResult)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3250,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3250,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3254,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3254,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3259,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3259,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3263,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3263,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3267,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - pPrev
    - batchFetch
    argTypes:
    - SStbJoinPrevJoinCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3248
    functionDepth: 1
    functionLinenumber: 3248
    functionLinenumberEnd: 3274
    functionName: initSeqStbJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t initSeqStbJoinTableHash(SStbJoinPrevJoinCtx* pPrev, bool batchFetch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3282,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3283,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pVtbScan
    - pStreamRuntimeInfo
    argTypes:
    - SVtbScanDynCtrlInfo*
    - SStreamRuntimeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3276
    functionDepth: 1
    functionLinenumber: 3276
    functionLinenumberEnd: 3291
    functionName: updateDynTbUidIfNeeded
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - qTrace
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void updateDynTbUidIfNeeded(SVtbScanDynCtrlInfo* pVtbScan, SStreamRuntimeInfo*
      pStreamRuntimeInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3298,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3299,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3316,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3317,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3318,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3319,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3320,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3320,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3321,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3323,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3326,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3327,1
    - Dst: updateDynTbUidIfNeeded
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3331,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3334,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3334,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3335,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3338,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3340,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3341,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3341,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3345,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3345,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3345,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3346,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3347,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3348,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3349,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3350,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3351,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3356,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3357,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3359,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3359,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3359,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3360,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3374,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 57
    argCount: 4
    argNames:
    - pInfo
    - pMsgCb
    - pPhyciNode
    - pTaskInfo
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SMsgCb*
    - SDynQueryCtrlPhysiNode*
    - SExecTaskInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3376
      start: 3293
    functionDepth: 2
    functionLinenumber: 3293
    functionLinenumberEnd: 3376
    functionName: initVtbScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - tstrerror
    - qError
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    - tsem_init
    - taosHashInit
    - FOREACH
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - taosGetDefaultHashFunction
    - updateDynTbUidIfNeeded
    - taosArrayInit
    - taosHashPut
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initVtbScanInfo(SDynQueryCtrlOperatorInfo* pInfo, SMsgCb*
      pMsgCb,\n                               SDynQueryCtrlPhysiNode* pPhyciNode,
      SExecTaskInfo* pTaskInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3391,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3392,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3394,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3395,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3402,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3404,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3408,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 4
    argNames:
    - pInfo
    - pPhyciNode
    - pTaskInfo
    - pOperator
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SDynQueryCtrlPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3410
      start: 3378
    functionDepth: 2
    functionLinenumber: 3378
    functionLinenumberEnd: 3410
    functionName: initVtbWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - initResultSizeInfo
    - blockDataEnsureCapacity
    - qError
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - taosArrayInit
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initVtbWindowInfo(SDynQueryCtrlOperatorInfo* pInfo, SDynQueryCtrlPhysiNode*
      pPhyciNode,\n                                 SExecTaskInfo* pTaskInfo, SOperatorInfo*
      pOperator)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3417,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3418,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3423,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3424,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3430,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pBlock
    - slotId
    - ppTsCols
    argTypes:
    - SSDataBlock*
    - int32_t
    - TSKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3412
    functionDepth: 1
    functionLinenumber: 3412
    functionLinenumberEnd: 3432
    functionName: extractTsCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 3
    functionsReached:
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - blockDataUpdateTsWindow
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractTsCol(SSDataBlock* pBlock, int32_t slotId, TSKEY** ppTsCols)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3441,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3446,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3452,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3453,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3454,1
    - Dst: extractTsCol
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3469,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3470,1
    - Dst: extractTsCol
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3471,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3472,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3474,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3475,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3477,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3477,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3480,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3481,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3487,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3487,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3491,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3493,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3494,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3496,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3497,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3499,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3500,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3502,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3503,1
    - Dst: buildVirtualSuperTableScanChildTableMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3514,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3515,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3518,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3521,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3521,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3523,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3526
      start: 3434
    functionDepth: 6
    functionLinenumber: 3434
    functionLinenumberEnd: 3526
    functionName: vtbWindowOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - qError
    - nodeType
    - taosArrayGetP
    - OPTR_SET_OPENED
    - getNextBlockFromDownstream
    - taosArrayGet
    - LIST_LENGTH
    - extractTsCol
    - QUERY_CHECK_CODE
    - taosArrayGetSize
    - T_LONG_JMP
    - taosArrayGetLast
    - OPTR_IS_OPENED
    - QUERY_CHECK_NULL
    - tstrerror
    - taosArrayReserve
    - taosArrayInit
    - buildVirtualSuperTableScanChildTableMap
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtbWindowOpen(SOperatorInfo* pOperator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3533,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3534,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3536,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3537,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3539,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3540,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3542,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3543,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3545,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3546,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3548,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3549,1
    - Dst: buildBatchExchangeOperatorParamForVirtual
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3552,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3556,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3558,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3558,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3567,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3567,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3570,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3572,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3576,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3577,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3579,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3582,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 4
    argNames:
    - pInfo
    - ppRes
    - pWins
    - idx
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SOperatorParam**
    - SArray*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3588
      start: 3528
    functionDepth: 5
    functionLinenumber: 3528
    functionLinenumberEnd: 3588
    functionName: buildExternalWindowOperatorParamEx
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - taosArrayGet
    - taosArrayGetLast
    - tstrerror
    - freeOperatorParam
    - qError
    - QUERY_CHECK_NULL
    - taosArrayDestroy
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - QUERY_CHECK_CODE
    - buildBatchExchangeOperatorParamForVirtual
    - taosArrayDup
    - taosMemoryCalloc
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildExternalWindowOperatorParamEx(SDynQueryCtrlOperatorInfo*
      pInfo, SOperatorParam** ppRes, SArray* pWins, int32_t idx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3603,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3604,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3606,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3611,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3612,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3614,1
    - Dst: buildExternalWindowOperatorParamEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3618,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3619,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3622,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3623,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3624,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3627,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3634,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3640,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3641,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3642,1
    - Dst: copyColumnsValue
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3645,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3646,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3650,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3650,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3651,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3653,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3655,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3657,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3657,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3657,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3658,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3660,1
    - Dst: buildMergeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3665,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3666,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3669,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3670,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3673,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3680,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3686,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3687,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3688,1
    - Dst: copyColumnsValue
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3691,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3692,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3696,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3696,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3697,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3699,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3701,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3703,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3703,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3703,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3704,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3706,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3713,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3714,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3717,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3718,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3719,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3720,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3724,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3725,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3728,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3729,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3731,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3732,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3736,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3737,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3740,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3741,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3743,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3744,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3756,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3756,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3758,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 107
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3761
      start: 3590
    functionDepth: 6
    functionLinenumber: 3590
    functionLinenumberEnd: 3761
    functionName: vtbWindowNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - TMIN
    - qError
    - taosArrayGetP
    - taosArrayGet
    - blockDataCleanup
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - T_LONG_JMP
    - taosArrayGetLast
    - buildMergeOperatorParam
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - colDataSetVal
    - copyColumnsValue
    - SOperatorInfo*::fpSet::getNextExtFn
    - freeOperatorParam
    - SOperatorInfo*::fpSet::_openFn
    - blockDataEnsureCapacity
    - TMAX
    - buildExternalWindowOperatorParamEx
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtbWindowNext(SOperatorInfo* pOperator, SSDataBlock** ppRes)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: destroyStbJoinDynCtrlInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3774,1
    - Dst: initSeqStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3776,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3778,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3778,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3796,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3797,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3801,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3802,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3805,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3809,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3813,1
    - Dst: updateDynTbUidIfNeeded
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3816,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3825,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3829,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3839,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SOperatorInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3843
      start: 3763
    functionDepth: 2
    functionLinenumber: 3763
    functionLinenumberEnd: 3843
    functionName: resetDynQueryCtrlOperState
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - tFreeSUsedbRsp
    - qError
    - blockDataDestroy
    - destroyStbJoinDynCtrlInfo
    - taosHashSetFreeFp
    - taosHashCleanup
    - updateDynTbUidIfNeeded
    - tstrerror
    - initSeqStbJoinTableHash
    - taosArrayClearEx
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetDynQueryCtrlOperState(SOperatorInfo* pOper)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3856,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3859,1
    - Dst: buildAggOperatorParamWithGroupId
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3861,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3862,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3865,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3866,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3871,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3875,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3876,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3881,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3884,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3887,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3890,1
    - Dst: buildAggOperatorParamForSingleChild
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3894,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3895,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3897,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3898,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3903,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3904,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3913,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3914,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3915,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3920,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3921,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3922,1
    - Dst: buildAggOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3928,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3929,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3931,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3932,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3933,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3935,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3938,1
    - Dst: buildAggOperatorParamForSingleChild
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3942,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3943,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3946,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3947,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3952,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3953,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3961,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3962,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3963,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3969,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3969,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 93
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3972
      start: 3845
    functionDepth: 6
    functionLinenumber: 3845
    functionLinenumberEnd: 3972
    functionName: virtualTableAggGetNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - SOperatorInfo*::fpSet::getNextFn
    - SOperatorInfo*::fpSet::getNextExtFn
    - taosHashRemove
    - qError
    - buildAggOperatorParam
    - setOperatorCompleted
    - taosHashGetKey
    - QUERY_CHECK_CODE
    - tstrerror
    - buildAggOperatorParamForSingleChild
    - buildAggOperatorParamWithGroupId
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualTableAggGetNext(SOperatorInfo* pOperator, SSDataBlock**
      pRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3980,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3985,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3986,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3988,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3989,1
    - Dst: virtualTableAggGetNext
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3993,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:3994,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4000,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4000,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4005
      start: 3974
    functionDepth: 7
    functionLinenumber: 3974
    functionLinenumberEnd: 4005
    functionName: vtbAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    - SOperatorInfo*::fpSet::_openFn
    - qError
    - virtualTableAggGetNext
    - setOperatorCompleted
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtbAggNext(SOperatorInfo* pOperator, SSDataBlock** pRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4022,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4023,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4028,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4029,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4031,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4032,1
    - Dst: buildBatchExchangeOperatorParamForVirtual
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4034,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4038,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4040,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4040,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4048,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4051,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4053,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - pInfo
    - ppRes
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4055
      start: 4015
    functionDepth: 5
    functionLinenumber: 4015
    functionLinenumberEnd: 4055
    functionName: buildHashIntervalOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - freeOperatorParam
    - tstrerror
    - qError
    - QUERY_CHECK_NULL
    - taosArrayInit
    - QUERY_CHECK_CODE
    - buildBatchExchangeOperatorParamForVirtual
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildHashIntervalOperatorParam(SDynQueryCtrlOperatorInfo* pInfo,
      SOperatorParam** ppRes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4072,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4073,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4078,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4079,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4081,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4082,1
    - Dst: buildBatchExchangeOperatorParamForVirtual
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4085,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4089,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4090,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4090,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4098,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4100,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - pInfo
    - pMergeOp
    - ppRes
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SOperatorInfo*
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4104
      start: 4066
    functionDepth: 5
    functionLinenumber: 4066
    functionLinenumberEnd: 4104
    functionName: buildSplitIntervalMergeOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - freeOperatorParam
    - tstrerror
    - qError
    - QUERY_CHECK_NULL
    - QUERY_CHECK_CODE
    - taosArrayInit
    - buildBatchExchangeOperatorParamForVirtual
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildSplitIntervalMergeOperatorParam(SDynQueryCtrlOperatorInfo*
      pInfo, SOperatorInfo* pMergeOp,\n                                                    SOperatorParam**
      ppRes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4122,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4124,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4126,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4130,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4131,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4136,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4137,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4139,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4140,1
    - Dst: buildSplitIntervalMergeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4142,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4143,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4144,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4144,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4151,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4153,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4155,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - pInfo
    - pIntervalOp
    - ppRes
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SOperatorInfo*
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4157
      start: 4115
    functionDepth: 6
    functionLinenumber: 4115
    functionLinenumberEnd: 4157
    functionName: buildSplitIntervalOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - freeOperatorParam
    - buildSplitIntervalMergeOperatorParam
    - qError
    - QUERY_CHECK_NULL
    - taosArrayInit
    - QUERY_CHECK_CODE
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildSplitIntervalOperatorParam(SDynQueryCtrlOperatorInfo*
      pInfo, SOperatorInfo* pIntervalOp,\n                                               SOperatorParam**
      ppRes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildHashIntervalOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4176,1
    - Dst: buildSplitIntervalOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4178,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pInfo
    - pIntervalOp
    - ppRes
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SOperatorInfo*
    - SOperatorParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4183
      start: 4168
    functionDepth: 7
    functionLinenumber: 4168
    functionLinenumberEnd: 4183
    functionName: buildIntervalOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 1
    functionsReached:
    - qError
    - buildHashIntervalOperatorParam
    - buildSplitIntervalOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildIntervalOperatorParam(SDynQueryCtrlOperatorInfo* pInfo,
      SOperatorInfo* pIntervalOp,\n                                          SOperatorParam**
      ppRes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4202,1
    - Dst: SOperatorInfo*::fpSet::_openFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4207,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4208,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4211,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4211,1
    - Dst: buildIntervalOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4213,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4214,1
    - Dst: SOperatorInfo*::fpSet::getNextExtFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4216,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4217,1
    - Dst: SOperatorInfo*::fpSet::getNextFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4222,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4226,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4226,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4230,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4230,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4232,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4239,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4239,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4244
      start: 4193
    functionDepth: 2
    functionLinenumber: 4193
    functionLinenumberEnd: 4244
    functionName: vtbIntervalNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 0
    functionsReached:
    - SOperatorInfo*::fpSet::getNextFn
    - buildIntervalOperatorParam
    - T_LONG_JMP
    - SOperatorInfo*::fpSet::getNextExtFn
    - QRY_PARAM_CHECK
    - SOperatorInfo*::fpSet::_openFn
    - qError
    - GET_TASKID
    - setOperatorCompleted
    - qDebug
    - QUERY_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtbIntervalNext(SOperatorInfo* pOperator, SSDataBlock** pRes)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4249,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4256,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4257,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4259,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4260,1
    - Dst: initOperatorCostInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4261,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4266,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4267,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4269,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4275,1
    - Dst: initSeqStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4277,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4278,1
    - Dst: initVtbScanInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4283,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4284,1
    - Dst: initVtbScanInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4289,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4290,1
    - Dst: initVtbScanInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4295,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4296,1
    - Dst: initVtbWindowInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4297,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4298,1
    - Dst: initVtbScanInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4303,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4304,1
    - Dst: initVtbScanInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4309,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4310,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4315,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4320,1
    - Dst: setOperatorResetStateFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4323,1
    - Dst: destroyDynQueryCtrlOperator
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4329,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4331,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4331,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:4332,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 71
    argCount: 6
    argNames:
    - pDownstream
    - numOfDownstream
    - pPhyciNode
    - pTaskInfo
    - pMsgCb
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SDynQueryCtrlPhysiNode*
    - SExecTaskInfo*
    - SMsgCb*
    - SOperatorInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4335
      start: 4246
    functionDepth: 7
    functionLinenumber: 4246
    functionLinenumberEnd: 4335
    functionName: createDynQueryCtrlOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: 2
    functionsReached:
    - appendDownstream
    - setOperatorInfo
    - QRY_PARAM_CHECK
    - destroyOperatorAndDownstreams
    - destroyDynQueryCtrlOperator
    - qError
    - initOperatorCostInfo
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - setOperatorResetStateFn
    - TAOS_MEMCPY
    - initVtbScanInfo
    - QUERY_CHECK_CODE
    - tstrerror
    - initVtbWindowInfo
    - initSeqStbJoinTableHash
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createDynQueryCtrlOperatorInfo(SOperatorInfo** pDownstream,
      int32_t numOfDownstream,\n                                       SDynQueryCtrlPhysiNode*
      pPhyciNode, SExecTaskInfo* pTaskInfo,\n                                       SMsgCb*
      pMsgCb, SOperatorInfo** pOptrInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planStateTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planStateTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStateTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanStateTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planStateTest.cpp:30,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planStateTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStateTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanStateTest, stateExpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planStateTest.cpp:36,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planStateTest.cpp:39,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planStateTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStateTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanStateTest, selectFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planStateTest.cpp:45,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planStateTest.cpp:48,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planStateTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStateTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanStateTest, stable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: DO_WITH_THROW
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_WITH_THROW(func, ...)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:65,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:65,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:67,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:67,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:69,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:69,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:71,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:71,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:73,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:73,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:75,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:75,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:77,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:77,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:79,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:79,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:81,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - pModule
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: setDumpModule
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strlen
    linkageType: ''
    returnType: void
    signature: void setDumpModule(const char* pModule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: setSkipSqlNum
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setSkipSqlNum(const char* pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: setLimitSqlNum
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setLimitSqlNum(const char* pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: setLogLevel
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setLogLevel(const char* pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: setQueryPolicy
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setQueryPolicy(const char* pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: setUseNodeAllocator
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setUseNodeAllocator(const char* pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: getLogLevel
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getLogLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:96,1
    - Dst: qInitKeywordsTable
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: PlannerTestBaseImpl::PlannerTestBaseImpl
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - qInitKeywordsTable
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void PlannerTestBaseImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' user'
    - ' db'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: PlannerTestBaseImpl::useDb
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void useDb(const string& user, const string& db)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PlannerTestBaseImpl::runImpl
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:121,1
    - Dst: PlannerTestBaseImpl::runImpl
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:124,1
    - Dst: PlannerTestBaseImpl::runImpl
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:125,1
    - Dst: PlannerTestBaseImpl::runImpl
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' sql'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: PlannerTestBaseImpl::run
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - PlannerTestBaseImpl::runImpl
    linkageType: ''
    returnType: void
    signature: void run(const string& sql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:134,1
    - Dst: nodesCreateAllocator
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:134,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:135,1
    - Dst: nodesAcquireAllocator
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:135,1
    - Dst: PlannerTestBaseImpl::reset
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:138,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:141,1
    - Dst: PlannerTestBaseImpl::doParseSql
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:142,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:142,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:143,1
    - Dst: PlannerTestBaseImpl::setPlanContext
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:146,1
    - Dst: PlannerTestBaseImpl::doCreateLogicPlan
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:149,1
    - Dst: PlannerTestBaseImpl::doOptimizeLogicPlan
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:153,1
    - Dst: PlannerTestBaseImpl::doSplitLogicPlan
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:155,1
    - Dst: PlannerTestBaseImpl::doScaleOutLogicPlan
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:158,1
    - Dst: PlannerTestBaseImpl::doCreatePhysiPlan
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:163,1
    - Dst: PlannerTestBaseImpl::dump
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:166,1
    - Dst: PlannerTestBaseImpl::dump
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:168,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:169,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:169,1
    - Dst: nodesDestroyAllocator
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:174,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:174,1
    - Dst: nodesDestroyAllocator
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - ' sql'
    - queryPolicy
    argTypes:
    - string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 176
    functionName: PlannerTestBaseImpl::runImpl
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - PlannerTestBaseImpl::doCreatePhysiPlan
    - nodesCreateAllocator
    - PlannerTestBaseImpl::doOptimizeLogicPlan
    - nodesAcquireAllocator
    - PlannerTestBaseImpl::reset
    - PlannerTestBaseImpl::dump
    - PlannerTestBaseImpl::setPlanContext
    - PlannerTestBaseImpl::doSplitLogicPlan
    - PlannerTestBaseImpl::doScaleOutLogicPlan
    - nodesReleaseAllocator
    - ASSERT_EQ
    - PlannerTestBaseImpl::doParseSql
    - nodesDestroyAllocator
    - unique_ptr::get
    - PlannerTestBaseImpl::doCreateLogicPlan
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void runImpl(const string& sql, int32_t queryPolicy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlannerTestBaseImpl::reset
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:183,1
    - Dst: PlannerTestBaseImpl::doParseSql
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:185,1
    - Dst: PlannerTestBaseImpl::dump
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' sql'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: PlannerTestBaseImpl::prepare
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - PlannerTestBaseImpl::reset
    - PlannerTestBaseImpl::doParseSql
    - PlannerTestBaseImpl::dump
    linkageType: ''
    returnType: void
    signature: void prepare(const string& sql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlannerTestBaseImpl::doBindParams
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:198,1
    - Dst: PlannerTestBaseImpl::dump
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pParams
    - colIdx
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: PlannerTestBaseImpl::bindParams
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - PlannerTestBaseImpl::doBindParams
    - PlannerTestBaseImpl::dump
    linkageType: ''
    returnType: void
    signature: void bindParams(TAOS_MULTI_BIND* pParams, int32_t colIdx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PlannerTestBaseImpl::doParseBoundSql
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:212,1
    - Dst: PlannerTestBaseImpl::setPlanContext
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:215,1
    - Dst: PlannerTestBaseImpl::doCreateLogicPlan
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:218,1
    - Dst: PlannerTestBaseImpl::doOptimizeLogicPlan
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:222,1
    - Dst: PlannerTestBaseImpl::doSplitLogicPlan
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:224,1
    - Dst: PlannerTestBaseImpl::doScaleOutLogicPlan
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:227,1
    - Dst: PlannerTestBaseImpl::doCreatePhysiPlan
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:232,1
    - Dst: PlannerTestBaseImpl::checkPlanMsg
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:235,1
    - Dst: PlannerTestBaseImpl::dump
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:237,1
    - Dst: PlannerTestBaseImpl::dump
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 242
    functionName: PlannerTestBaseImpl::exec
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - PlannerTestBaseImpl::doParseBoundSql
    - PlannerTestBaseImpl::doCreatePhysiPlan
    - PlannerTestBaseImpl::doOptimizeLogicPlan
    - PlannerTestBaseImpl::checkPlanMsg
    - PlannerTestBaseImpl::dump
    - PlannerTestBaseImpl::setPlanContext
    - PlannerTestBaseImpl::doScaleOutLogicPlan
    - PlannerTestBaseImpl::doCreateLogicPlan
    - PlannerTestBaseImpl::doSplitLogicPlan
    linkageType: ''
    returnType: void
    signature: void exec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: PlannerTestBaseImpl::caseEnv
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void caseEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: PlannerTestBaseImpl::stmtEnv
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stmtEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDestroyQuery
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: ~stmtEnv()
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - qDestroyQuery
    linkageType: ''
    returnType: void
    signature: void ~stmtEnv()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDestroyQuery
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:280,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: PlannerTestBaseImpl::_destroyQuery
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - qDestroyQuery
    linkageType: ''
    returnType: void
    signature: void _destroyQuery(SQuery** pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sql_::clear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:285,1
    - Dst: msgBuf_::fill
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:286,1
    - Dst: qDestroyQuery
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:287,1
    - Dst: ast_::clear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:289,1
    - Dst: boundAst_::clear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:290,1
    - Dst: rawLogicPlan_::clear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:291,1
    - Dst: optimizedLogicPlan_::clear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:292,1
    - Dst: splitLogicPlan_::clear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:293,1
    - Dst: scaledLogicPlan_::clear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:294,1
    - Dst: physiPlan_::clear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:295,1
    - Dst: physiSubplans_::clear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 297
    functionName: PlannerTestBaseImpl::reset
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - optimizedLogicPlan_::clear
    - splitLogicPlan_::clear
    - scaledLogicPlan_::clear
    - boundAst_::clear
    - physiPlan_::clear
    - rawLogicPlan_::clear
    - qDestroyQuery
    - msgBuf_::fill
    - sql_::clear
    - physiSubplans_::clear
    - ast_::clear
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: prepareAst_::empty
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:307,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - module
    argTypes:
    - DumpModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 351
    functionName: PlannerTestBaseImpl::dump
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 4
    functionsReached:
    - prepareAst_::empty
    linkageType: ''
    returnType: void
    signature: void dump(DumpModule module)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transform
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:355,1
    - Dst: sql_::begin
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:355,1
    - Dst: sql_::end
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:355,1
    - Dst: sql_::begin
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:355,1
    - Dst: db_::c_str
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:359,1
    - Dst: sql_::c_str
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:360,1
    - Dst: sql_::length
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:361,1
    - Dst: msgBuf_::data
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:362,1
    - Dst: msgBuf_::max_size
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:363,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:372,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:374,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ' sql'
    - pQuery
    argTypes:
    - string
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 378
    functionName: PlannerTestBaseImpl::doParseSql
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - sql_::length
    - msgBuf_::data
    - transform
    - sql_::end
    - DO_WITH_THROW
    - db_::c_str
    - PlannerTestBaseImpl::toString
    - sql_::begin
    - sql_::c_str
    - msgBuf_::max_size
    linkageType: ''
    returnType: void
    signature: void doParseSql(const string& sql, SQuery** pQuery, bool prepare =
      false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:381,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pQuery
    - pParams
    - colIdx
    argTypes:
    - SQuery*
    - TAOS_MULTI_BIND*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: PlannerTestBaseImpl::doBindParams
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - DO_WITH_THROW
    - PlannerTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doBindParams(SQuery* pQuery, TAOS_MULTI_BIND* pParams, int32_t
      colIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: db_::c_str
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:390,1
    - Dst: sql_::c_str
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:391,1
    - Dst: sql_::length
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:392,1
    - Dst: msgBuf_::data
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:393,1
    - Dst: msgBuf_::max_size
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:394,1
    - Dst: user_::c_str
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:395,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:397,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 399
    functionName: PlannerTestBaseImpl::doParseBoundSql
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - sql_::length
    - msgBuf_::data
    - user_::c_str
    - DO_WITH_THROW
    - db_::c_str
    - PlannerTestBaseImpl::toString
    - sql_::c_str
    - msgBuf_::max_size
    linkageType: ''
    returnType: void
    signature: void doParseBoundSql(SQuery* pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:402,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: PlannerTestBaseImpl::doCreateLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - DO_WITH_THROW
    - PlannerTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doCreateLogicPlan(SPlanContext* pCxt, SLogicSubplan** pLogicSubplan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:407,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: PlannerTestBaseImpl::doOptimizeLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - DO_WITH_THROW
    - PlannerTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doOptimizeLogicPlan(SPlanContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:412,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: PlannerTestBaseImpl::doSplitLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - DO_WITH_THROW
    - PlannerTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doSplitLogicPlan(SPlanContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:417,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pLogicPlan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    - SQueryLogicPlan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 419
    functionName: PlannerTestBaseImpl::doScaleOutLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - DO_WITH_THROW
    - PlannerTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doScaleOutLogicPlan(SPlanContext* pCxt, SLogicSubplan* pLogicSubplan,
      SQueryLogicPlan** pLogicPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:422,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:424,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:424,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:425,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:427,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:429,1
    - Dst: physiSubplans_::push_back
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:429,1
    - Dst: PlannerTestBaseImpl::toString
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pLogicPlan
    - pPlan
    argTypes:
    - SPlanContext*
    - SQueryLogicPlan*
    - SQueryPlan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 431
    functionName: PlannerTestBaseImpl::doCreatePhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - physiSubplans_::push_back
    - DO_WITH_THROW
    - FOREACH
    - PlannerTestBaseImpl::toString
    - taosArrayInit
    - unique_ptr::get
    linkageType: ''
    returnType: void
    signature: void doCreatePhysiPlan(SPlanContext* pCxt, SQueryLogicPlan* pLogicPlan,
      SQueryPlan** pPlan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: user_::c_str
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:435,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:436,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:440,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:443,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pQuery
    - pCxt
    argTypes:
    - SQuery*
    - SPlanContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 433
    functionDepth: 4
    functionLinenumber: 433
    functionLinenumberEnd: 452
    functionName: PlannerTestBaseImpl::setPlanContext
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 2
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - user_::c_str
    linkageType: ''
    returnType: void
    signature: void setPlanContext(SQuery* pQuery, SPlanContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:457,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:460,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:461,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pRoot
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: PlannerTestBaseImpl::toString
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 8
    functionsReached:
    - DO_WITH_THROW
    - nodesDestroyNode
    - taosMemoryFreeClear
    linkageType: ''
    returnType: string
    signature: string toString(const SNode* pRoot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:471,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:477,1
    - Dst: string::c_str
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:477,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:478,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:479,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:481,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:482,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:484,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:485,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:488,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:489,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pRoot
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 492
    functionName: PlannerTestBaseImpl::checkPlanMsg
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - memcmp
    - DO_WITH_THROW
    - nodesDestroyNode
    - string::c_str
    linkageType: ''
    returnType: void
    signature: void checkPlanMsg(const SNode* pRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlannerTestBaseImpl::PlannerTestBaseImpl
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 501
    functionName: PlannerTestBase::PlannerTestBase
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached:
    - PlannerTestBaseImpl::PlannerTestBaseImpl
    linkageType: ''
    returnType: void
    signature: void PlannerTestBase::PlannerTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 503
    functionName: PlannerTestBase::~PlannerTestBase()
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlannerTestBase::~PlannerTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlannerTestBase::useDb
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' user'
    - ' db'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: PlannerTestBase::useDb
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - PlannerTestBase::useDb
    linkageType: ''
    returnType: void
    signature: void PlannerTestBase::useDb(const std::string& user, const std::string&
      db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlannerTestBase::run
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sql'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: PlannerTestBase::run
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - PlannerTestBase::run
    linkageType: ''
    returnType: void
    signature: void PlannerTestBase::run(const std::string& sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlannerTestBase::prepare
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sql'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 509
    functionName: PlannerTestBase::prepare
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - PlannerTestBase::prepare
    linkageType: ''
    returnType: void
    signature: void PlannerTestBase::prepare(const std::string& sql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlannerTestBase::bindParams
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pParams
    - colIdx
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: PlannerTestBase::bindParams
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - PlannerTestBase::bindParams
    linkageType: ''
    returnType: void
    signature: void PlannerTestBase::bindParams(TAOS_MULTI_BIND* pParams, int32_t
      colIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlannerTestBase::exec
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: PlannerTestBase::exec
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.cpp
    functionUses: 1
    functionsReached:
    - PlannerTestBase::exec
    linkageType: ''
    returnType: void
    signature: void PlannerTestBase::exec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSessionTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSessionTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSessionTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSessionTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSessionTest.cpp:30,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSessionTest.cpp:33,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSessionTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSessionTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSessionTest, selectFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSessionTest.cpp:39,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSessionTest.cpp:42,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSessionTest.cpp:44,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSessionTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSessionTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSessionTest, stable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:26,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:28,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:30,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planJoinTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanJoinTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:36,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planJoinTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanJoinTest, complex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:44,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planJoinTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanJoinTest, withWhere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:51,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planJoinTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanJoinTest, withAggAndOrderBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:57,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planJoinTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planJoinTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanJoinTest, multiJoin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:30,1
    - Dst: fmFuncMgtInit
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:30,1
    - Dst: initMetaDataEnv
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:31,1
    - Dst: generateMetaData
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:32,1
    - Dst: PlannerEnv::initLog
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:33,1
    - Dst: PlannerEnv::initCfg
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:34,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:35,1
    - Dst: nodesInitAllocatorSet
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: PlannerEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestMain.cpp
    functionUses: 0
    functionsReached:
    - nodesInitAllocatorSet
    - initMetaDataEnv
    - PlannerEnv::initCfg
    - generateMetaData
    - ASSERT_EQ
    - fmFuncMgtInit
    - PlannerEnv::initLog
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyMetaDataEnv
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:39,1
    - Dst: qCleanupKeywordsTable
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:40,1
    - Dst: fmFuncMgtDestroy
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:41,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:42,1
    - Dst: nodesDestroyAllocatorSet
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: PlannerEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestMain.cpp
    functionUses: 0
    functionsReached:
    - destroyMetaDataEnv
    - fmFuncMgtDestroy
    - qCleanupKeywordsTable
    - taosCloseLog
    - nodesDestroyAllocatorSet
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: PlannerEnv::PlannerEnv
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestMain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlannerEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~PlannerEnv()
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestMain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PlannerEnv()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLogLevel
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:51,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:67,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:68,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:68,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:69,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: PlannerEnv::initLog
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestMain.cpp
    functionUses: 1
    functionsReached:
    - taosInitLog
    - getLogLevel
    - taosRemoveDir
    - ASSERT_EQ
    - taosMkDir
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void initLog(const char* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: PlannerEnv::initCfg
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestMain.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initCfg()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:92,1
    - Dst: setDumpModule
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:95,1
    - Dst: setSkipSqlNum
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:98,1
    - Dst: setLimitSqlNum
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:101,1
    - Dst: setLogLevel
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:104,1
    - Dst: setQueryPolicy
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:107,1
    - Dst: setUseNodeAllocator
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 116
    functionName: parseArg
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestMain.cpp
    functionUses: 0
    functionsReached:
    - setLogLevel
    - setSkipSqlNum
    - setLimitSqlNum
    - setUseNodeAllocator
    - setQueryPolicy
    - getopt_long
    - setDumpModule
    linkageType: ''
    returnType: void
    signature: void parseArg(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::AddGlobalTestEnvironment
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:119,1
    - Dst: PlannerEnv::PlannerEnv
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:119,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:120,1
    - Dst: parseArg
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:121,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/planner/test/planTestMain.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestMain.cpp
    functionUses: 2
    functionsReached:
    - testing::InitGoogleTest
    - PlannerEnv::PlannerEnv
    - parseArg
    - RUN_ALL_TESTS
    - testing::AddGlobalTestEnvironment
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:26,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:28,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, selectClause)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:35,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:37,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:39,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, whereClause)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:45,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, caseWhen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:52,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:54,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:56,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:58,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:64,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:66,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:68,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:70,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:72,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:74,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:76,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:78,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, uniqueFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:84,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:86,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:88,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:90,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:92,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:94,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:96,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:98,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, tailFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:104,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:106,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:108,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:110,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, interpFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:117,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:119,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:121,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:123,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:125,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:127,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:129,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, lastRowFuncWithoutCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:135,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:137,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:139,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:141,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, timeLineFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:147,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:149,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, multiResFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:155,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:157,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:159,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, sampleFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:165,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:167,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:169,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:171,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, pseudoColumn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:179,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:181,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:183,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, indefiniteRowsFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:189,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planBasicTest.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planBasicTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanBasicTest, withoutFrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:26,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:28,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:30,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:32,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:34,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:36,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:38,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSubqeuryTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:44,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSubqeuryTest, doubleGroupBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:52,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:54,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSubqeuryTest, innerSetOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:60,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSubqeuryTest, innerFill)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:68,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSubqeuryTest, innerOrderBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:74,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:76,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:78,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:80,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSubqeuryTest, outerInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:86,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSubqueryTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSubqeuryTest, outerPartition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:27,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSetOpTest, unionAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:35,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSetOpTest, unionAllSubquery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:41,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:44,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:46,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSetOpTest, unionAllWithSubquery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:52,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:54,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSetOpTest, unionAllWithOrderBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:60,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:62,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSetOpTest, unionAllWithLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:79,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:81,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSetOpTest, unionWithLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:87,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSetOpTest, unionContainJoin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:97,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSetOpTest, unionSubquery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:103,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:105,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSetOpTest, unionWithSubquery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:111,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSetOpTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSetOpTest, unionDataTypeConversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nParams
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: PlanStmtTest::createBindParams
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStmtTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: TAOS_MULTI_BIND
    signature: TAOS_MULTI_BIND * createBindParams(int32_t nParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:30,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:31,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:32,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pParams
    - nParams
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: PlanStmtTest::destoryBindParams
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStmtTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destoryBindParams(TAOS_MULTI_BIND* pParams, int32_t nParams)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PlanStmtTest::initParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:38,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - pBindParams
    - index
    - val
    - type
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: PlanStmtTest::buildIntegerParam
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStmtTest.cpp
    functionUses: 0
    functionsReached:
    - PlanStmtTest::initParam
    linkageType: ''
    returnType: TAOS_MULTI_BIND
    signature: TAOS_MULTI_BIND * buildIntegerParam(TAOS_MULTI_BIND* pBindParams, int32_t
      index, int64_t val, int32_t type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PlanStmtTest::initParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - pBindParams
    - index
    - val
    - type
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    - uint64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: PlanStmtTest::buildUIntegerParam
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStmtTest.cpp
    functionUses: 0
    functionsReached:
    - PlanStmtTest::initParam
    linkageType: ''
    returnType: TAOS_MULTI_BIND
    signature: TAOS_MULTI_BIND * buildUIntegerParam(TAOS_MULTI_BIND* pBindParams,
      int32_t index, uint64_t val, int32_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PlanStmtTest::initParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - pBindParams
    - index
    - val
    - type
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    - double
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: PlanStmtTest::buildDoubleParam
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStmtTest.cpp
    functionUses: 0
    functionsReached:
    - PlanStmtTest::initParam
    linkageType: ''
    returnType: TAOS_MULTI_BIND
    signature: TAOS_MULTI_BIND * buildDoubleParam(TAOS_MULTI_BIND* pBindParams, int32_t
      index, double val, int32_t type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PlanStmtTest::initParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:106,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - pBindParams
    - index
    - pVal
    - type
    - bytes
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: PlanStmtTest::buildStringParam
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStmtTest.cpp
    functionUses: 0
    functionsReached:
    - strncpy
    - PlanStmtTest::initParam
    linkageType: ''
    returnType: TAOS_MULTI_BIND
    signature: "TAOS_MULTI_BIND * buildStringParam(TAOS_MULTI_BIND* pBindParams, int32_t
      index, const char* pVal, int32_t type,\n                                    int32_t
      bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:128,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:129,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - pBindParams
    - index
    - type
    - bytes
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: PlanStmtTest::initParam
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStmtTest.cpp
    functionUses: 4
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: TAOS_MULTI_BIND
    signature: TAOS_MULTI_BIND * initParam(TAOS_MULTI_BIND* pBindParams, int32_t index,
      int32_t type, int32_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:138,1
    - Dst: prepare
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:140,1
    - Dst: buildIntegerParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:141,1
    - Dst: createBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:141,1
    - Dst: bindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:142,1
    - Dst: exec
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:143,1
    - Dst: destoryBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:144,1
    - Dst: prepare
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:147,1
    - Dst: createBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:148,1
    - Dst: buildIntegerParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:149,1
    - Dst: buildStringParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:150,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:150,1
    - Dst: bindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:151,1
    - Dst: exec
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:152,1
    - Dst: destoryBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:153,1
    - Dst: prepare
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:157,1
    - Dst: createBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:158,1
    - Dst: buildIntegerParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:159,1
    - Dst: buildIntegerParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:160,1
    - Dst: bindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:161,1
    - Dst: exec
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:162,1
    - Dst: destoryBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 165
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStmtTest.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - prepare
    - destoryBindParams
    - exec
    - useDb
    - buildStringParam
    - bindParams
    - buildIntegerParam
    - createBindParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanStmtTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:168,1
    - Dst: prepare
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:170,1
    - Dst: buildIntegerParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:171,1
    - Dst: createBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:171,1
    - Dst: bindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:172,1
    - Dst: exec
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:173,1
    - Dst: destoryBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:174,1
    - Dst: buildIntegerParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:175,1
    - Dst: createBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:175,1
    - Dst: bindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:176,1
    - Dst: exec
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:177,1
    - Dst: destoryBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:178,1
    - Dst: buildIntegerParam
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:179,1
    - Dst: createBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:179,1
    - Dst: bindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:180,1
    - Dst: exec
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:181,1
    - Dst: destoryBindParams
      Src: /src/tdengine/source/libs/planner/test/planStmtTest.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 183
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planStmtTest.cpp
    functionUses: 0
    functionsReached:
    - prepare
    - destoryBindParams
    - exec
    - useDb
    - bindParams
    - buildIntegerParam
    - createBindParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanStmtTest, multiExec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:26,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:28,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planPartByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanPartitionByTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:34,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:36,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:38,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:40,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planPartByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanPartitionByTest, withAggFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:46,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:49,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:51,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:53,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planPartByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanPartitionByTest, withInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:59,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:61,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:63,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planPartByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanPartitionByTest, withGroupBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:69,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:71,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planPartByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanPartitionByTest, withTimeLineFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:77,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planPartByTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planPartByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanPartitionByTest, withSlimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanIntervalTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:30,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanIntervalTest, pseudoCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:36,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:38,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:41,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:44,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:48,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:52,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 57
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanIntervalTest, fill)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:60,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:63,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:65,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanIntervalTest, selectFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:71,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:73,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:75,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:77,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planIntervalTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanIntervalTest, stable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSysTableTest, informationSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp:30,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSysTableTest, withAgg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp:36,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp:38,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp:40,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp:42,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp:44,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSysTbTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSysTableTest, tableCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp:27,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanDistinctTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp:33,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanDistinctTest, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp:39,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanDistinctTest, withOrderBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp:45,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planDistinctTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanDistinctTest, withLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSTableTest.cpp:23,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSTableTest.cpp:25,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSTableTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSTableTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSuperTableTest, pseudoCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSTableTest.cpp:31,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSTableTest.cpp:33,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSTableTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSTableTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSuperTableTest, pseudoColOnChildTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planSTableTest.cpp:39,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planSTableTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planSTableTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanSuperTableTest, orderBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:26,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:28,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:30,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:32,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:34,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:36,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:38,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:40,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:42,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanGroupByTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:48,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:50,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanGroupByTest, withPartitionBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:56,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:59,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanGroupByTest, withOrderBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:65,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:67,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanGroupByTest, multiResFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:74,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:77,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:79,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:81,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:82,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:84,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planGroupByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanGroupByTest, selectFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:26,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:28,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:30,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:32,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:34,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:36,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOptimizeTest, scanPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:43,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:45,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:47,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:49,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:51,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:53,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOptimizeTest, pushDownCondition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:59,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:61,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:63,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:65,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:67,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:69,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:71,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOptimizeTest, sortPrimaryKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:79,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:81,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:83,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:85,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:87,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:89,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOptimizeTest, PartitionTags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:95,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:97,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:99,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:101,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOptimizeTest, eliminateProjection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:109,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOptimizeTest, mergeProjects)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:115,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOptimizeTest, pushDownProjectCond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:121,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:123,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:125,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:127,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:129,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:131,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:133,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOptimizeTest, LastRowScan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:139,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:140,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:141,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOptimizeTest, tagScan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:146,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:148,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:150,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOptimizeTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOptimizeTest, pushDownLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:27,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:29,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:31,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:33,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOrderByTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:39,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:41,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOrderByTest, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:47,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOrderByTest, nullsOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:53,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOrderByTest, withGroupBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:59,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOrderByTest, withSubquery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:65,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:68,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:71,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:73,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOrderByTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOrderByTest, stable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planProjectTest.cpp:23,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planProjectTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planProjectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanProjectTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planProjectTest.cpp:29,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planProjectTest.cpp:31,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planProjectTest.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planProjectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanProjectTest, indefiniteRowsFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planEventTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planEventTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planEventTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanEventTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planEventTest.cpp:30,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planEventTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planEventTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanEventTest, stable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planLimitTest.cpp:24,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planLimitTest.cpp:26,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planLimitTest.cpp:28,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planLimitTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planLimitTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanLimitTest, limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planLimitTest.cpp:34,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planLimitTest.cpp:36,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planLimitTest.cpp:38,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planLimitTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planLimitTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanLimitTest, slimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:25,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOtherTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOtherTest, createTopic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:48,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:50,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:52,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOtherTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOtherTest, explain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:58,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:60,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:62,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:64,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:66,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:68,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:70,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOtherTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOtherTest, show)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:76,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:78,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:80,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:82,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOtherTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOtherTest, delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:88,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:90,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:92,1
    - Dst: run
      Src: /src/tdengine/source/libs/planner/test/planOtherTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/planner/test/planOtherTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlanOtherTest, insert)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: planFatal
    functionSourceFile: /src/tdengine/source/libs/planner/inc/planInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: planFatal(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: planError
    functionSourceFile: /src/tdengine/source/libs/planner/inc/planInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: planError(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: planWarn
    functionSourceFile: /src/tdengine/source/libs/planner/inc/planInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: planWarn(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: planInfo
    functionSourceFile: /src/tdengine/source/libs/planner/inc/planInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: planInfo(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: planDebug
    functionSourceFile: /src/tdengine/source/libs/planner/inc/planInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: planDebug(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: planDebugL
    functionSourceFile: /src/tdengine/source/libs/planner/inc/planInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: planDebugL(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: planTrace
    functionSourceFile: /src/tdengine/source/libs/planner/inc/planInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: planTrace(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: PLAN_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/planner/inc/planInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLAN_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: PLAN_RET
    functionSourceFile: /src/tdengine/source/libs/planner/inc/planInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLAN_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: PLAN_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/planner/inc/planInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLAN_ERR_JRET(c)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - errCode
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: getUsageErrFormat
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getUsageErrFormat(int32_t errCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:47,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:48,1
    - Dst: getUsageErrFormat
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:48,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pBuf
    - len
    - errCode
    argTypes:
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: generateUsageErrMsg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_end
    - getUsageErrFormat
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: int32_t generateUsageErrMsg(char* pBuf, int32_t len, int32_t errCode,
      ...)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:60,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:63,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:67,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:77,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:82,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:83,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:86,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:88,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:89,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 102
    functionName: doCreateColumn
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListStrictAppend
    - nodeType
    - nodesMakeNode
    - tstrncpy
    - nodesCloneNode
    - nodesListAppend
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doCreateColumn(SNode* pNode, void* pContext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:107,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:113,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pExprs
    - pList
    argTypes:
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: createColumnByRewriteExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - nodesWalkExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t createColumnByRewriteExprs(SNodeList* pExprs, SNodeList** pList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:127,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:133,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pExpr
    - pList
    argTypes:
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 6
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: createColumnByRewriteExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - nodesWalkExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t createColumnByRewriteExpr(SNode* pExpr, SNodeList** pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:153,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:154,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pSubplan
    - pOld
    - pNew
    argTypes:
    - SLogicSubplan*
    - SLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: replaceLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - nodesEqualNode
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t replaceLogicNode(SLogicSubplan* pSubplan, SLogicNode* pOld,
      SLogicNode* pNew)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pCurr
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: getLogicNodeRootNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SLogicNode
    signature: SLogicNode * getLogicNodeRootNode(SLogicNode* pCurr)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - pScan
    - requirement
    argTypes:
    - SScanLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 196
    functionName: adjustScanDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustScanDataRequirement(SScanLogicNode* pScan, EDataOrderLevel
      requirement)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:202,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:202,1
    - Dst: adjustScanDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:206,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:206,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:210,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:210,1
    - Dst: adjustScanDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:214,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:214,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:218,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pJoin
    - requirement
    argTypes:
    - SJoinLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 221
    functionName: adjustJoinDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - planError
    - adjustLogicNodeDataRequirement
    - tstrerror
    - adjustScanDataRequirement
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustJoinDataRequirement(SJoinLogicNode* pJoin, EDataOrderLevel
      requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pAgg
    - requirement
    argTypes:
    - SAggLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: adjustAggDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustAggDataRequirement(SAggLogicNode* pAgg, EDataOrderLevel
      requirement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pProject
    - requirement
    argTypes:
    - SProjectLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: adjustProjectDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustProjectDataRequirement(SProjectLogicNode* pProject, EDataOrderLevel
      requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: adjustIntervalDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustIntervalDataRequirement(SWindowLogicNode* pWindow, EDataOrderLevel
      requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: adjustExternalDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustExternalDataRequirement(SWindowLogicNode* pWindow, EDataOrderLevel
      requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: adjustSessionDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustSessionDataRequirement(SWindowLogicNode* pWindow, EDataOrderLevel
      requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: adjustStateDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustStateDataRequirement(SWindowLogicNode* pWindow, EDataOrderLevel
      requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: adjustEventDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustEventDataRequirement(SWindowLogicNode* pWindow, EDataOrderLevel
      requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: adjustCountDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustCountDataRequirement(SWindowLogicNode* pWindow, EDataOrderLevel
      requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: adjustAnomalyDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustAnomalyDataRequirement(SWindowLogicNode* pWindow, EDataOrderLevel
      requirement)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: adjustIntervalDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:315,1
    - Dst: adjustSessionDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:317,1
    - Dst: adjustStateDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:319,1
    - Dst: adjustEventDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:321,1
    - Dst: adjustCountDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:323,1
    - Dst: adjustAnomalyDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:325,1
    - Dst: adjustExternalDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 332
    functionName: adjustWindowDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - adjustIntervalDataRequirement
    - adjustSessionDataRequirement
    - adjustExternalDataRequirement
    - adjustStateDataRequirement
    - adjustEventDataRequirement
    - adjustCountDataRequirement
    - adjustAnomalyDataRequirement
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustWindowDataRequirement(SWindowLogicNode* pWindow, EDataOrderLevel
      requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pFill
    - requirement
    argTypes:
    - SFillLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: adjustFillDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustFillDataRequirement(SFillLogicNode* pFill, EDataOrderLevel
      requirement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pSort
    - requirement
    argTypes:
    - SSortLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: adjustSortDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustSortDataRequirement(SSortLogicNode* pSort, EDataOrderLevel
      requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:349,1
    - Dst: dataOrderStr
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pPart
    - requirement
    argTypes:
    - SPartitionLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 358
    functionName: adjustPartitionDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - planError
    - dataOrderStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustPartitionDataRequirement(SPartitionLogicNode* pPart,
      EDataOrderLevel requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pIndef
    - requirement
    argTypes:
    - SIndefRowsFuncLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: adjustIndefRowsDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustIndefRowsDataRequirement(SIndefRowsFuncLogicNode* pIndef,
      EDataOrderLevel requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pInterp
    - requirement
    argTypes:
    - SInterpFuncLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: adjustInterpDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustInterpDataRequirement(SInterpFuncLogicNode* pInterp,
      EDataOrderLevel requirement)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pForecast
    - requirement
    argTypes:
    - SForecastFuncLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: adjustForecastDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustForecastDataRequirement(SForecastFuncLogicNode* pForecast,
      EDataOrderLevel requirement)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:389,1
    - Dst: adjustScanDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:391,1
    - Dst: adjustJoinDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:394,1
    - Dst: adjustAggDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:397,1
    - Dst: adjustProjectDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:400,1
    - Dst: adjustWindowDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:407,1
    - Dst: adjustFillDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:410,1
    - Dst: adjustSortDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:413,1
    - Dst: adjustPartitionDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:416,1
    - Dst: adjustIndefRowsDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:419,1
    - Dst: adjustInterpDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:422,1
    - Dst: adjustForecastDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:426,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:433,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:434,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - pNode
    - requirement
    argTypes:
    - SLogicNode*
    - EDataOrderLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 441
    functionName: adjustLogicNodeDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 2
    functionsReached:
    - adjustForecastDataRequirement
    - adjustFillDataRequirement
    - adjustProjectDataRequirement
    - adjustLogicNodeDataRequirement
    - nodeType
    - adjustSortDataRequirement
    - FOREACH
    - adjustAggDataRequirement
    - adjustJoinDataRequirement
    - adjustIndefRowsDataRequirement
    - adjustWindowDataRequirement
    - adjustScanDataRequirement
    - adjustInterpDataRequirement
    - adjustPartitionDataRequirement
    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:444,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:446,1
    - Dst: stbNotSystemScan
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:447,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: stbNotSystemScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 1
    functionsReached:
    - nodeType
    - nodesListGetNode
    - stbNotSystemScan
    linkageType: ''
    returnType: bool
    signature: bool stbNotSystemScan(SLogicNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:459,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:460,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:462,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 468
    functionName: keysHasTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool keysHasTbname(SNodeList* pKeys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:459,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:460,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:462,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 52
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pPartKey, pKeys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:471,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: stbGetPartKeys
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * stbGetPartKeys(SLogicNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:481,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:485,1
    - Dst: stbNotSystemScan
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:486,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:486,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:488,1
    - Dst: stbGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:488,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 489
    functionName: isPartTableAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - keysHasTbname
    - LIST_LENGTH
    - stbGetPartKeys
    - stbNotSystemScan
    linkageType: ''
    returnType: bool
    signature: bool isPartTableAgg(SAggLogicNode* pAgg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:497,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:498,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:500,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:501,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pPartKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 506
    functionName: stbHasPartTag
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool stbHasPartTag(SNodeList* pPartKeys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:497,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:498,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:500,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 52
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pPartKey, pPartKeys)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 523
    functionName: getBatchScanOptionFromHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getBatchScanOptionFromHint(SNodeList* pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 520
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 535
    functionName: getSortForGroupOptHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getSortForGroupOptHint(SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 533
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pList
    - hint
    argTypes:
    - SNodeList*
    - EHintOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 547
    functionName: getOptHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getOptHint(SNodeList* pList, EHintOption hint)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 559
    functionName: getParaTablesSortOptHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getParaTablesSortOptHint(SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 571
    functionName: getSmallDataTsSortOptHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getSmallDataTsSortOptHint(SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 569
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: getHashJoinOptHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getHashJoinOptHint(SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 581
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:589,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:592,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:592,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:602,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:602,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:609,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:610,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:617,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - pNode
    - ppRes
    argTypes:
    - SNode*
    - SSHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 622
    functionName: collectTableAliasFromNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 1
    functionsReached:
    - tSimpleHashPut
    - tSimpleHashCleanup
    - FOREACH
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - strlen
    - collectTableAliasFromNodes
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectTableAliasFromNodes(SNode* pNode, SSHashObj** ppRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:625,1
    - Dst: stbHasPartTag
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:629,1
    - Dst: stbNotSystemScan
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:630,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:630,1
    - Dst: stbHasPartTag
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:632,1
    - Dst: stbGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:632,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 633
    functionName: isPartTagAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbHasPartTag
    - LIST_LENGTH
    - stbGetPartKeys
    - stbNotSystemScan
    linkageType: ''
    returnType: bool
    signature: bool isPartTagAgg(SAggLogicNode* pAgg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:636,1
    - Dst: stbGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:636,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: isPartTableWinodw
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbGetPartKeys
    - keysHasTbname
    linkageType: ''
    returnType: bool
    signature: bool isPartTableWinodw(SWindowLogicNode* pWindow)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:647,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:660,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:676,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - pParent
    - pChild
    - cloneWhat
    - pCloned
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - uint8_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 642
    functionDepth: 4
    functionLinenumber: 642
    functionLinenumberEnd: 679
    functionName: cloneLimit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneLimit(SLogicNode* pParent, SLogicNode* pChild, uint8_t
      cloneWhat, bool* pCloned)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 689
    functionName: partTagsOptHasColImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes partTagsOptHasColImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 4
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: keysHasCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: bool keysHasCol(SNodeList* pKeys)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:699,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:701,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:702,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:703,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:705,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:707,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:710,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:713,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:718,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:719,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:720,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:725,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - pGroupCol
    argTypes:
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 697
    functionDepth: 6
    functionLinenumber: 697
    functionLinenumberEnd: 729
    functionName: createGroupKeyAggFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - nodesListMakeStrictAppend
    - nodesMakeNode
    - snprintf
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: SFunctionNode
    signature: SFunctionNode * createGroupKeyAggFunc(SColumnNode* pGroupCol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:733,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pPrimaryKeyCond
    - pTimeRange
    - pIsStrict
    argTypes:
    - SNode**
    - STimeWindow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 731
    functionDepth: 8
    functionLinenumber: 731
    functionLinenumberEnd: 739
    functionName: getTimeRangeFromNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - filterGetTimeRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTimeRangeFromNode(SNode** pPrimaryKeyCond, STimeWindow*
      pTimeRange, bool* pIsStrict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:743,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 749
    functionName: tagScanNodeHasTbnameFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes tagScanNodeHasTbnameFunc(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pCols
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 751
    functionDepth: 4
    functionLinenumber: 751
    functionLinenumberEnd: 755
    functionName: tagScanNodeListHasTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: bool tagScanNodeListHasTbname(SNodeList* pCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 761
    functionName: tagScanNodeHasTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool tagScanNodeHasTbname(SNode* pKeys)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tagScanNodeListHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:773,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:784,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:790,1
    - Dst: tagScanNodeHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:792,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:798,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:799,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:800,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 765
    functionDepth: 5
    functionLinenumber: 765
    functionLinenumberEnd: 802
    functionName: tagScanSetExecutionMode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - tagScanNodeListHasTbname
    - tagScanNodeHasTbname
    - filterPartitionCond
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t tagScanSetExecutionMode(SScanLogicNode* pScan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pCol
    - pExpr
    argTypes:
    - SColumnNode*
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 808
    functionName: isColRefExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isColRefExpr(const SColumnNode* pCol, const SExprNode* pExpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pTargets
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 816
    functionName: rewriteTargetsWithResId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rewriteTargetsWithResId(SNodeList* pTargets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 815
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTargets)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:823,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:828,1
    - Dst: checkScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 835
    functionName: checkScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 1
    functionsReached:
    - nodeType
    - FOREACH
    - checkScanLogicNode
    linkageType: ''
    returnType: bool
    signature: bool checkScanLogicNode(SLogicNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SPlanContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 839
    functionName: inStreamCalcClause
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inStreamCalcClause(SPlanContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SPlanContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 843
    functionName: inStreamTriggerClause
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inStreamTriggerClause(SPlanContext* pCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:45,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:50,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:51,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:52,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:53,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:53,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:55,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - pNode
    - pPreName
    - name
    - ppKey
    - callocLen
    - pLen
    - extraBufLen
    - slotKeyType
    argTypes:
    - SNode*
    - char*
    - char*
    - char**
    - int32_t
    - int32_t*
    - uint16_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: getSlotKeyHelper
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - strlen
    - taosMemoryCalloc
    - TAOS_STRNCAT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getSlotKeyHelper(SNode* pNode, const char* pPreName, const
      char* name, char** ppKey, int32_t callocLen,\n                                int32_t*
      pLen, uint16_t extraBufLen, int8_t slotKeyType)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:65,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:71,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:76,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:83,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:87,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:91,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:92,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:93,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:94,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:95,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:96,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:96,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:101,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:105,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:106,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:107,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:108,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:109,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:111,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:111,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:116,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:118,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:121,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:125,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:128,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:131,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:140,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 6
    argNames:
    - pNode
    - pStmtName
    - ppKey
    - pLen
    - extraBufLen
    - cap
    argTypes:
    - SNode*
    - char*
    - char**
    - int32_t*
    - uint16_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 149
    functionName: getSlotKey
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - nodesListGetNode
    - getSlotKeyHelper
    - nodeType
    - strlen
    - taosMemoryCalloc
    - TAOS_STRNCAT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getSlotKey(SNode* pNode, const char* pStmtName, char** ppKey,
      int32_t* pLen, uint16_t extraBufLen,\n                          int32_t* cap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:154,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - pCxt
    - pName
    - pNode
    - slotId
    - output
    - reserve
    argTypes:
    - SPhysiPlanContext*
    - char*
    - SNode*
    - int16_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: createSlotDesc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - snprintf
    linkageType: ''
    returnType: SNode
    signature: "SNode * createSlotDesc(SPhysiPlanContext* pCxt, const char* pName,
      const SNode* pNode, int16_t slotId,\n                             bool output,
      bool reserve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pNode
    - dataBlockId
    - slotId
    - pOutput
    argTypes:
    - SNode*
    - int64_t
    - int16_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 5
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: createTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTarget(SNode* pNode, int64_t dataBlockId, int16_t slotId,
      SNode** pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:183,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:186,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:192,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:197,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - dataBlockId
    - slotId
    - pName
    - len
    - pHash
    argTypes:
    - int64_t
    - int16_t
    - char*
    - int32_t
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 201
    functionName: putSlotToHashImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashGet
    - taosArrayInit
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t putSlotToHashImpl(int64_t dataBlockId, int16_t slotId, const
      char* pName, int32_t len, SHashObj* pHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putSlotToHashImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pName
    - len
    - dataBlockId
    - slotId
    - pNode
    - pHash
    argTypes:
    - char*
    - int32_t
    - int64_t
    - int16_t
    - SNode*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: putSlotToHash
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - putSlotToHashImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t putSlotToHash(const char* pName, int32_t len, int64_t dataBlockId,
      int16_t slotId, SNode* pNode,\n                             SHashObj* pHash)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:210,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:210,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:214,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:214,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:216,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:219,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:220,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:221,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:224,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:225,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - capacity
    - dataBlockId
    - pDescHash
    - ppProjIdxDescHash
    argTypes:
    - SPhysiPlanContext*
    - int32_t
    - int64_t
    - SHashObj**
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: createDataBlockDescHash
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - taosArrayInsert
    - taosHashCleanup
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createDataBlockDescHash(SPhysiPlanContext* pCxt, int32_t capacity,
      int64_t dataBlockId,\n                                       SHashObj** pDescHash,
      SHashObj** ppProjIdxDescHash)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:238,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:249,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:251,1
    - Dst: createSlotDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:251,1
    - Dst: putSlotToHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:253,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:255,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:256,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:256,1
    - Dst: putSlotToHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:257,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:257,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    - pHash
    - pProjIdxDescHash
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode*
    - SHashObj*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 235
    functionDepth: 6
    functionLinenumber: 235
    functionLinenumberEnd: 270
    functionName: buildDataBlockSlots
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - putSlotToHash
    - nodesMakeList
    - nodesListStrictAppend
    - createSlotDesc
    - nodeType
    - getSlotKey
    - snprintf
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildDataBlockSlots(SPhysiPlanContext* pCxt, SNodeList* pList,
      SDataBlockDescNode* pDataBlockDesc,\n                                   SHashObj*
      pHash, SHashObj* pProjIdxDescHash)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:249,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:251,1
    - Dst: createSlotDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:251,1
    - Dst: putSlotToHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:253,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:255,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:256,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:256,1
    - Dst: putSlotToHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:257,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:257,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 245
    functionDepth: 6
    functionLinenumber: 245
    functionLinenumberEnd: 268
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 54
    functionsReached:
    - putSlotToHash
    - nodesListStrictAppend
    - createSlotDesc
    - nodeType
    - getSlotKey
    - snprintf
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:274,1
    - Dst: createDataBlockDescHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:282,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:282,1
    - Dst: buildDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:284,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 272
    functionDepth: 7
    functionLinenumber: 272
    functionLinenumberEnd: 294
    functionName: createDataBlockDesc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - buildDataBlockSlots
    - createDataBlockDescHash
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataBlockDesc(SPhysiPlanContext* pCxt, SNodeList* pList,
      SDataBlockDescNode** pDataBlockDesc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:297,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:299,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pSlotIdsInfo
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: getUnsetSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int16_t
    signature: int16_t getUnsetSlotId(const SArray* pSlotIdsInfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:315,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:316,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:319,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:323,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:325,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:327,1
    - Dst: createSlotDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:328,1
    - Dst: putSlotToHashImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:330,1
    - Dst: getUnsetSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:339,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:343,1
    - Dst: createTarget
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:346,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:348,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 6
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    - pStmtName
    - output
    - reserve
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode*
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 308
    functionDepth: 6
    functionLinenumber: 308
    functionLinenumberEnd: 357
    functionName: addDataBlockSlotsImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - REPLACE_NODE
    - putSlotToHashImpl
    - nodesListStrictAppend
    - LIST_LENGTH
    - taosHashGet
    - createSlotDesc
    - getUnsetSlotId
    - nodeType
    - getSlotKey
    - createTarget
    - taosMemoryFree
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addDataBlockSlotsImpl(SPhysiPlanContext* pCxt, SNodeList*
      pList, SDataBlockDescNode* pDataBlockDesc,\n                                     const
      char* pStmtName, bool output, bool reserve)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:319,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:323,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:325,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:327,1
    - Dst: createSlotDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:328,1
    - Dst: putSlotToHashImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:330,1
    - Dst: getUnsetSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:339,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:343,1
    - Dst: createTarget
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:346,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 318
    functionDepth: 6
    functionLinenumber: 318
    functionLinenumberEnd: 355
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 54
    functionsReached:
    - REPLACE_NODE
    - putSlotToHashImpl
    - nodesListStrictAppend
    - taosHashGet
    - createSlotDesc
    - getUnsetSlotId
    - nodeType
    - getSlotKey
    - createTarget
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addDataBlockSlotsImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 7
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: addDataBlockSlots
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlotsImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t addDataBlockSlots(SPhysiPlanContext* pCxt, SNodeList* pList,
      SDataBlockDescNode* pDataBlockDesc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:369,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:371,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:374,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNode**
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 8
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: addDataBlockSlot
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - addDataBlockSlots
    - nodesClearList
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addDataBlockSlot(SPhysiPlanContext* pCxt, SNode** pNode, SDataBlockDescNode*
      pDataBlockDesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addDataBlockSlotsImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pStmtName
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - char*
    - SNodeList*
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 7
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: addDataBlockSlotsForProject
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlotsImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addDataBlockSlotsForProject(SPhysiPlanContext* pCxt, const
      char* pStmtName, SNodeList* pList,\n                                           SDataBlockDescNode*
      pDataBlockDesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addDataBlockSlotsImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 7
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: pushdownDataBlockSlots
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlotsImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushdownDataBlockSlots(SPhysiPlanContext* pCxt, SNodeList*
      pList, SDataBlockDescNode* pDataBlockDesc)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:408,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:408,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:413,1
    - Dst: snprintf
      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:420,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:420,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:422,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:422,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:428,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:430,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:432,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:437,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:438,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:440,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:448,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:450,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:455,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:457,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:461,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:462,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 466
    functionName: doSetSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - planError
    - taosHashGet
    - nodeType
    - getSlotKey
    - snprintf
    - taosMemoryFree
    - strlen
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doSetSlotId(SNode* pNode, void* pContext)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:469,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:469,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:485,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:491,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:491,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:492,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:492,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:497,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:504,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:505,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:509,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:513,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:514,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 518
    functionName: doSetMultiTableSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - planError
    - sprintf
    - taosHashGet
    - nodeType
    - getSlotKey
    - taosMemoryFree
    - taosArrayGetSize
    - strlen
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doSetMultiTableSlotId(SNode* pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:527,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:534,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:535,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:536,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:537,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:538,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - leftDataBlockId
    - rightDataBlockId
    - pNode
    - pOutput
    argTypes:
    - SPhysiPlanContext*
    - int64_t
    - int64_t
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 545
    functionName: setNodeSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    - taosArrayGetP
    - nodesWalkExpr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setNodeSlotId(SPhysiPlanContext* pCxt, int64_t leftDataBlockId,
      int64_t rightDataBlockId, SNode* pNode,\n                             SNode**
      pOutput)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:554,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:561,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:562,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:563,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:564,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:565,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - leftDataBlockId
    - rightDataBlockId
    - pList
    - pOutput
    argTypes:
    - SPhysiPlanContext*
    - int64_t
    - int64_t
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 547
    functionDepth: 6
    functionLinenumber: 547
    functionLinenumberEnd: 572
    functionName: setListSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - nodesWalkExprs
    - nodesDestroyList
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setListSlotId(SPhysiPlanContext* pCxt, int64_t leftDataBlockId,
      int64_t rightDataBlockId,\n                             const SNodeList* pList,
      SNodeList** pOutput)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:580,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:588,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:588,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:598,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:602,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:605,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:606,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:608,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:610,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:614,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - pChild
    - hashArray
    - ppMerged
    argTypes:
    - SNodeList*
    - SArray*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 620
    functionName: mergeSlotHashForChildren
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - LIST_LENGTH
    - taosHashGet
    - taosHashGetKey
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - taosHashPut
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeSlotHashForChildren(SNodeList* pChild, SArray* hashArray,
      SHashObj** ppMerged)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 582
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 54
    functionsReached:
    - LIST_LENGTH
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pChild)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:598,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:602,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:605,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:606,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:608,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:610,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 616
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 54
    functionsReached:
    - taosHashIterate
    - taosHashGet
    - taosHashGetKey
    - taosHashCleanup
    - taosHashPut
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pChild)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:626,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:633,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:633,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:635,1
    - Dst: mergeSlotHashForChildren
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:635,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:636,1
    - Dst: mergeSlotHashForChildren
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:636,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:648,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:649,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:652,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:653,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:657,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:660,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - pCxt
    - pChild
    - isVtb
    - pList
    - pOutput
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - bool
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 622
    functionDepth: 6
    functionLinenumber: 622
    functionLinenumberEnd: 664
    functionName: setMultiBlockSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesDestroyList
    - PLAN_RET
    - mergeSlotHashForChildren
    - taosHashCleanup
    - nodesWalkExprs
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setMultiBlockSlotId(SPhysiPlanContext* pCxt, SNodeList* pChild,
      bool isVtb, const SNodeList* pList,\n                                   SNodeList**
      pOutput)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:668,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:674,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:675,1
    - Dst: createDataBlockDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:680,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pLogicNode
    - type
    argTypes:
    - SPhysiPlanContext*
    - SLogicNode*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 666
    functionDepth: 8
    functionLinenumber: 666
    functionLinenumberEnd: 688
    functionName: makePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - createDataBlockDesc
    - TSWAP
    linkageType: ''
    returnType: SPhysiNode
    signature: SPhysiNode * makePhysiNode(SPhysiPlanContext* pCxt, SLogicNode* pLogicNode,
      ENodeType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pLogicNode
    - pPhysiNode
    argTypes:
    - SPhysiPlanContext*
    - SLogicNode*
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 5
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: setConditionsSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - setNodeSlotId
    linkageType: ''
    returnType: int32_t
    signature: int32_t setConditionsSlotId(SPhysiPlanContext* pCxt, const SLogicNode*
      pLogicNode, SPhysiNode* pPhysiNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: colIdCompare
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t colIdCompare(const void* pLeft, const void* pRight)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:705,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:705,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:713,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:719,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:722,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:725,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:725,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - pScanCols
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 729
    functionName: sortScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArraySort
    - REPLACE_NODE
    - LIST_LENGTH
    - taosArrayInit
    - taosArrayDestroy
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortScanCols(SNodeList* pScanCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 717
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 54
    functionsReached:
    - taosArrayPush
    linkageType: ''
    returnType: void
    signature: void FOREACH(pCol, pScanCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:725,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 725
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 54
    functionsReached:
    - taosArrayGetP
    - REPLACE_NODE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pCol, pScanCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:737,1
    - Dst: sortScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pScanPhysiNode
    - pScanCols
    argTypes:
    - SPhysiPlanContext*
    - SScanPhysiNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 4
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: createScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneList
    - sortScanCols
    linkageType: ''
    returnType: int32_t
    signature: int32_t createScanCols(SPhysiPlanContext* pCxt, SScanPhysiNode* pScanPhysiNode,
      SNodeList* pScanCols)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: createScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:746,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:748,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:753,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:757,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:761,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:770,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:773,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:780,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:787,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pScanPhysiNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SScanPhysiNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 744
    functionDepth: 8
    functionLinenumber: 744
    functionLinenumberEnd: 791
    functionName: createScanPhysiNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - memcpy
    - nodesCloneList
    - createScanCols
    - nodesDestroyNode
    - nodesCloneNode
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createScanPhysiNodeFinalize(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan, SScanLogicNode* pScanLogicNode,\n                                           SScanPhysiNode*
      pScanPhysiNode, SPhysiNode** pPhyNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vg
    - pNodeAddr
    argTypes:
    - SVgroupInfo*
    - SQueryNodeAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: vgroupInfoToNodeAddr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vgroupInfoToNodeAddr(const SVgroupInfo* vg, SQueryNodeAddr* pNodeAddr)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - scanType
    argTypes:
    - EScanType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 816
    functionName: getScanOperatorType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENodeType
    signature: ENodeType getScanOperatorType(EScanType scanType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:821,1
    - Dst: getScanOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:821,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:827,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 818
    functionDepth: 9
    functionLinenumber: 818
    functionLinenumberEnd: 830
    functionName: createSimpleScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createScanPhysiNodeFinalize
    - makePhysiNode
    - getScanOperatorType
    - vgroupInfoToNodeAddr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSimpleScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan, SScanLogicNode* pScanLogicNode,\n                                         SPhysiNode**
      pPhyNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:835,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:840,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 832
    functionDepth: 9
    functionLinenumber: 832
    functionLinenumberEnd: 845
    functionName: createTagScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createScanPhysiNodeFinalize
    - makePhysiNode
    - vgroupInfoToNodeAddr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTagScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan, SScanLogicNode* pScanLogicNode,\n                                      SPhysiNode**
      pPhyNode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:850,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:855,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:857,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:861,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:863,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:871,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:874,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:876,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:876,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:883,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:889,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:890,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:892,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:892,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:893,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 847
    functionDepth: 9
    functionLinenumber: 847
    functionLinenumberEnd: 903
    functionName: createLastRowScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - taosArrayInsert
    - taosArrayGet
    - vgroupInfoToNodeAddr
    - strncmp
    - FOREACH
    - makePhysiNode
    - taosArrayGetSize
    - taosArrayInit
    - strlen
    - createScanPhysiNodeFinalize
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createLastRowScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan, SScanLogicNode* pScanLogicNode,\n                                          SPhysiNode**
      pPhyNode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:907,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:914,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:916,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:922,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 905
    functionDepth: 9
    functionLinenumber: 905
    functionLinenumberEnd: 925
    functionName: createTableCountScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - vgroupInfoToNodeAddr
    - makePhysiNode
    - createScanPhysiNodeFinalize
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTableCountScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan,\n                                             SScanLogicNode* pScanLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:929,1
    - Dst: getScanOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:930,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:935,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:937,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:940,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:943,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:946,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:948,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:952,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:954,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:957,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:959,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:962,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:964,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:967,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:969,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:989,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 927
    functionDepth: 9
    functionLinenumber: 927
    functionLinenumberEnd: 990
    functionName: createTableScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - tNameGetFullDbName
    - memcpy
    - vgroupInfoToNodeAddr
    - TSWAP
    - nodesCloneNode
    - makePhysiNode
    - nodesDestroyNode
    - getScanOperatorType
    - nodesCloneList
    - createScanPhysiNodeFinalize
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTableScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan, SScanLogicNode* pScanLogicNode,\n                                        SPhysiNode**
      pPhyNode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:994,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1005,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1006,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1007,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1008,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1009,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1010,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1011,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1013,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1019,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1024,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1026,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 992
    functionDepth: 9
    functionLinenumber: 992
    functionLinenumberEnd: 1027
    functionName: createSystemTableScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - vgroupInfoToNodeAddr
    - makePhysiNode
    - createScanPhysiNodeFinalize
    - tNameGetFullDbName
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSystemTableScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan,\n                                              SScanLogicNode* pScanLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1029
    functionDepth: 10
    functionLinenumber: 1029
    functionLinenumberEnd: 1032
    functionName: createStreamScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createTableScanPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan, SScanLogicNode* pScanLogicNode,\n                                         SPhysiNode**
      pPhyNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 10
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: createTableMergeScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createTableScanPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTableMergeScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan,\n                                             SScanLogicNode* pScanLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1044,1
    - Dst: createTagScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1044,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1047,1
    - Dst: createSimpleScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1047,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1050,1
    - Dst: createTableCountScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1050,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1053,1
    - Dst: createLastRowScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1053,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1056,1
    - Dst: createTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1056,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1059,1
    - Dst: createSystemTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1059,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1062,1
    - Dst: createStreamScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1062,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1065,1
    - Dst: createTableMergeScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1065,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1068,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1068,1
    - Dst: inStreamTriggerClause
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1073,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1076,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1078,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1079,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1080,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1086,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1087,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1039
    functionDepth: 11
    functionLinenumber: 1039
    functionLinenumberEnd: 1092
    functionName: createScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - PLAN_ERR_RET
    - createSystemTableScanPhysiNode
    - createTableCountScanPhysiNode
    - createSimpleScanPhysiNode
    - createTableScanPhysiNode
    - inStreamCalcClause
    - inStreamTriggerClause
    - taosArrayInit
    - createStreamScanPhysiNode
    - createLastRowScanPhysiNode
    - generateUsageErrMsg
    - createTagScanPhysiNode
    - createTableMergeScanPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan* pSubplan,
      SScanLogicNode* pScanLogicNode,\n                                   SPhysiNode**
      pPhyNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1096,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1098,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1098,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1099,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1100,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1102,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1103,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pChildren
    - idx
    - ppDesc
    argTypes:
    - SNodeList*
    - int32_t
    - SDataBlockDescNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1108
    functionName: getJoinDataBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - planError
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t getJoinDataBlockDescNode(SNodeList* pChildren, int32_t idx,
      SDataBlockDescNode** ppDesc)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1113,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1117,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1119,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1122,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1124,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1127,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1133,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1135,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1138,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1140,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1143,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1147,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1151,1
    - Dst: setColEqList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1152,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1158,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1158,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 5
    argNames:
    - pEqCond
    - leftBlkId
    - rightBlkId
    - ppLeft
    - ppRight
    argTypes:
    - SNode*
    - int64_t
    - int64_t
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1110
    functionDepth: 6
    functionLinenumber: 1110
    functionLinenumberEnd: 1163
    functionName: setColEqList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - nodesListMakeStrictAppend
    - planError
    - setColEqList
    - nodeType
    - FOREACH
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setColEqList(SNode* pEqCond, int64_t leftBlkId, int64_t rightBlkId,
      SNodeList** ppLeft,\n                            SNodeList** ppRight)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1168,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1171,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:1184,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1192,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1196,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1196,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1202,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1205,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1206,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1207,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1207,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1215,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1219,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1221,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1227,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1227,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1233,1
    - Dst: getAsofJoinReverseOp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1238,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1242,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1250,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1254,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1254,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1260,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1263,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1264,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1265,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1265,1
    - Dst: getAsofJoinReverseOp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1271,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1273,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1277,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1279,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1285,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1285,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1289,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1289,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 118
    argCount: 6
    argNames:
    - pEqCond
    - subType
    - leftBlkId
    - rightBlkId
    - pJoin
    - pJoinLogicNode
    argTypes:
    - SNode*
    - int32_t
    - int64_t
    - int64_t
    - SSortMergeJoinPhysiNode*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1165
    functionDepth: 3
    functionLinenumber: 1165
    functionLinenumberEnd: 1294
    functionName: setMergeJoinPrimColEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getAsofJoinReverseOp
    - planError
    - nodeType
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setMergeJoinPrimColEqCond(SNode* pEqCond, int32_t subType,
      int64_t leftBlkId, int64_t rightBlkId,\n                                         SSortMergeJoinPhysiNode*
      pJoin, SJoinLogicNode* pJoinLogicNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1301,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1301,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1302,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pTargets
    - pPrimExpr
    - ppRemoved
    argTypes:
    - SNodeList*
    - SValueNode*
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1296
    functionDepth: 3
    functionLinenumber: 1296
    functionLinenumberEnd: 1309
    functionName: removePrimColFromJoinTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - strcmp
    - ERASE_NODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t removePrimColFromJoinTargets(SNodeList* pTargets, SValueNode*
      pPrimExpr, SColumnNode** ppRemoved)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1301,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1301,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1302,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1299
    functionDepth: 3
    functionLinenumber: 1299
    functionLinenumberEnd: 1306
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 56
    functionsReached:
    - nodesCloneNode
    - strcmp
    - ERASE_NODE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTargets)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1314,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pJoin
    - ppTarget
    - primExpr
    - blkId
    argTypes:
    - SSortMergeJoinPhysiNode*
    - SColumnNode**
    - STargetNode*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1311
    functionDepth: 6
    functionLinenumber: 1311
    functionLinenumberEnd: 1325
    functionName: appendPrimColToJoinTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - planError
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendPrimColToJoinTargets(SSortMergeJoinPhysiNode* pJoin,
      SColumnNode** ppTarget, STargetNode* primExpr, int64_t blkId)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1330,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1340,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1343,1
    - Dst: getJoinDataBlockDescNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1349,1
    - Dst: getJoinDataBlockDescNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1353,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1357,1
    - Dst: setMergeJoinPrimColEqCond
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1360,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1364,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1367,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1373,1
    - Dst: setMergeJoinPrimColEqCond
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1376,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1380,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1383,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1385,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1391,1
    - Dst: removePrimColFromJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1393,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1397,1
    - Dst: removePrimColFromJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1399,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1403,1
    - Dst: appendPrimColToJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1408,1
    - Dst: appendPrimColToJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1411,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1415,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1420,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1430,1
    - Dst: setColEqList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1433,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1439,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1449,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1454,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1458,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1464,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1465,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1466,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 94
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pJoinLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SJoinLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1327
    functionDepth: 9
    functionLinenumber: 1327
    functionLinenumberEnd: 1470
    functionName: createMergeJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - setMergeJoinPrimColEqCond
    - addDataBlockSlots
    - setNodeSlotId
    - removePrimColFromJoinTargets
    - appendPrimColToJoinTargets
    - setColEqList
    - addDataBlockSlot
    - nodeType
    - setListSlotId
    - makePhysiNode
    - getJoinDataBlockDescNode
    - nodesDestroyNode
    - nodesCloneNode
    - setConditionsSlotId
    - mergeJoinConds
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createMergeJoinPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SJoinLogicNode* pJoinLogicNode,\n                                        SPhysiNode**
      pPhyNode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1474,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1480,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1482,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1485,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1488,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1492,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1494,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1497,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1500,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1503,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1511,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - lBlkId
    - rBlkId
    - pEq
    - pJoin
    argTypes:
    - int64_t
    - int64_t
    - SNode*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1472
    functionDepth: 5
    functionLinenumber: 1472
    functionLinenumberEnd: 1513
    functionName: extractHashJoinOpCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListStrictAppend
    - nodesCloneNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractHashJoinOpCols(int64_t lBlkId, int64_t rBlkId, SNode*
      pEq, SHashJoinPhysiNode* pJoin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1521,1
    - Dst: extractHashJoinOpCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1522,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1523,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1526,1
    - Dst: extractHashJoinOpCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1527,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1533,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - lBlkId
    - rBlkId
    - pEq
    - pJoin
    argTypes:
    - int64_t
    - int64_t
    - SNode*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1515
    functionDepth: 6
    functionLinenumber: 1515
    functionLinenumberEnd: 1538
    functionName: extractHashJoinOnCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - planError
    - FOREACH
    - extractHashJoinOpCols
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractHashJoinOnCols(int64_t lBlkId, int64_t rBlkId, SNode*
      pEq, SHashJoinPhysiNode* pJoin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1544,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1549,1
    - Dst: extractHashJoinOnCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1554,1
    - Dst: extractHashJoinOnCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1556,1
    - Dst: extractHashJoinOnCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1559,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - lBlkId
    - rBlkId
    - pEq1
    - pEq2
    - pEq3
    - pJoin
    argTypes:
    - int64_t
    - int64_t
    - SNode*
    - SNode*
    - SNode*
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1540
    functionDepth: 7
    functionLinenumber: 1540
    functionLinenumberEnd: 1567
    functionName: createHashJoinColList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - planError
    - extractHashJoinOnCols
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createHashJoinColList(int64_t lBlkId, int64_t rBlkId, SNode*
      pEq1, SNode* pEq2, SNode* pEq3,\n                                     SHashJoinPhysiNode*
      pJoin)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1571,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1571,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1576,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1579,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1584,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1588,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1595,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1598,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1603,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1605,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1607,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1609,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1613,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1620,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1625,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1627,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1629,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1631,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1635,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1642,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1646,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1651,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1659,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 3
    argNames:
    - lBlkId
    - rBlkId
    - pJoin
    argTypes:
    - int64_t
    - int64_t
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1569
    functionDepth: 5
    functionLinenumber: 1569
    functionLinenumberEnd: 1662
    functionName: sortHashJoinTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - tSimpleHashRemove
    - nodesClearList
    - nodesMakeList
    - nodesListStrictAppend
    - tSimpleHashPut
    - tSimpleHashCleanup
    - FOREACH
    - getSlotKey
    - taosMemoryFree
    - tSimpleHashInit
    - tSimpleHashGetSize
    - taosGetDefaultHashFunction
    - tSimpleHashIterate
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortHashJoinTargets(int64_t lBlkId, int64_t rBlkId, SHashJoinPhysiNode*
      pJoin)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1667,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1670,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1674,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1682,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1690,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1693,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1694,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1695,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1695,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1702,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1706,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1708,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1714,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1714,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1720,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1728,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1736,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1739,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1740,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1741,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1741,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1748,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1752,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1754,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1760,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1760,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1764,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1764,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 96
    argCount: 4
    argNames:
    - pEqCond
    - leftBlkId
    - rightBlkId
    - pJoin
    argTypes:
    - SNode*
    - int64_t
    - int64_t
    - SHashJoinPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1664
    functionDepth: 3
    functionLinenumber: 1664
    functionLinenumberEnd: 1769
    functionName: setHashJoinPrimColEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - planError
    - nodesCloneNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setHashJoinPrimColEqCond(SNode* pEqCond, int64_t leftBlkId,
      int64_t rightBlkId,\n                                        SHashJoinPhysiNode*
      pJoin)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1774,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1779,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1780,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1786,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1788,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1792,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1794,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1803,1
    - Dst: setHashJoinPrimColEqCond
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1806,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1809,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1812,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1816,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1820,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1824,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1827,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1830,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1835,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1838,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1842,1
    - Dst: createHashJoinColList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1845,1
    - Dst: sortHashJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1849,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1852,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1858,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pJoinLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SJoinLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1771
    functionDepth: 9
    functionLinenumber: 1771
    functionLinenumberEnd: 1862
    functionName: createHashJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - createHashJoinColList
    - addDataBlockSlots
    - setHashJoinPrimColEqCond
    - nodesCloneNode
    - setNodeSlotId
    - addDataBlockSlot
    - setListSlotId
    - makePhysiNode
    - nodesDestroyNode
    - sortHashJoinTargets
    - setConditionsSlotId
    - mergeJoinConds
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createHashJoinPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SJoinLogicNode* pJoinLogicNode,\n                                       SPhysiNode**
      pPhyNode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createMergeJoinPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1868,1
    - Dst: createHashJoinPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1870,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pJoinLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SJoinLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1864
    functionDepth: 10
    functionLinenumber: 1864
    functionLinenumberEnd: 1877
    functionName: createJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createMergeJoinPhysiNode
    - planError
    - createHashJoinPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createJoinPhysiNode(SPhysiPlanContext* pCxt, SNodeList* pChildren,
      SJoinLogicNode* pJoinLogicNode,\n                                   SPhysiNode**
      pPhyNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1885,1
    - Dst: sortScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pScanPhysiNode
    - pScanCols
    argTypes:
    - SPhysiPlanContext*
    - SVirtualScanPhysiNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1879
    functionDepth: 4
    functionLinenumber: 1879
    functionLinenumberEnd: 1890
    functionName: createVirtualScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneList
    - sortScanCols
    linkageType: ''
    returnType: int32_t
    signature: int32_t createVirtualScanCols(SPhysiPlanContext* pCxt, SVirtualScanPhysiNode*
      pScanPhysiNode, SNodeList* pScanCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1899,1
    - Dst: createVirtualScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1899,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1900,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1900,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1903,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1903,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1904,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1904,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1907,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1907,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1912,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - pCxt
    - pChild
    - pScanLogicNode
    - pScanPhysiNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SVirtualScanLogicNode*
    - SVirtualScanPhysiNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1892
    functionDepth: 8
    functionLinenumber: 1892
    functionLinenumberEnd: 1921
    functionName: createVirtualTableScanPhysiNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - PLAN_ERR_JRET
    - memcpy
    - nodesCloneList
    - nodesDestroyNode
    - createVirtualScanCols
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createVirtualTableScanPhysiNodeFinalize(SPhysiPlanContext*
      pCxt,\n                                                       SNodeList* pChild,\n
      \                                                      SVirtualScanLogicNode*
      pScanLogicNode,\n                                                       SVirtualScanPhysiNode*
      pScanPhysiNode,\n                                                       SPhysiNode**
      pPhyNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1927,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1933,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1937,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1938,1
    - Dst: createVirtualTableScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1938,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1939,1
    - Dst: setMultiBlockSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - pChildren
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SNodeList*
    - SVirtualScanLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1923
    functionDepth: 9
    functionLinenumber: 1923
    functionLinenumberEnd: 1941
    functionName: createVirtualTableScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_RET
    - vgroupInfoToNodeAddr
    - createVirtualTableScanPhysiNodeFinalize
    - makePhysiNode
    - tNameGetFullDbName
    - setMultiBlockSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createVirtualTableScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan, SNodeList* pChildren,\n                                               SVirtualScanLogicNode*
      pScanLogicNode, SPhysiNode** pPhyNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1946,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SGroupCacheLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1943
    functionDepth: 9
    functionLinenumber: 1943
    functionLinenumberEnd: 1966
    functionName: createGroupCachePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - makePhysiNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createGroupCachePhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                         SGroupCacheLogicNode* pLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1970,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1973,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1975,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1978,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1993,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pDynCtrl
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDynQueryCtrlLogicNode*
    - SDynQueryCtrlPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1968
    functionDepth: 7
    functionLinenumber: 1968
    functionLinenumberEnd: 1997
    functionName: updateDynQueryCtrlStbJoinInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - setListSlotId
    - nodesDestroyList
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t updateDynQueryCtrlStbJoinInfo(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                             SDynQueryCtrlLogicNode*
      pLogicNode, SDynQueryCtrlPhysiNode* pDynCtrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1985
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pVgList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 1990
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pUidList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2005,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2009,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2011,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2011,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2013,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2013,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2025,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2026,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2030,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pDynCtrl
    - pSubPlan
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDynQueryCtrlLogicNode*
    - SDynQueryCtrlPhysiNode*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1999
    functionDepth: 4
    functionLinenumber: 1999
    functionLinenumberEnd: 2032
    functionName: updateDynQueryCtrlVtbScanInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - vgroupInfoToNodeAddr
    - TSWAP
    - planError
    - tstrncpy
    - tstrerror
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t updateDynQueryCtrlVtbScanInfo(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                             SDynQueryCtrlLogicNode*
      pLogicNode, SDynQueryCtrlPhysiNode* pDynCtrl,\n                                             SSubplan*
      pSubPlan)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2050,1
    - Dst: setMultiBlockSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2050,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2051,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pDynCtrl
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDynQueryCtrlLogicNode*
    - SDynQueryCtrlPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2040
    functionDepth: 8
    functionLinenumber: 2040
    functionLinenumberEnd: 2054
    functionName: updateDynQueryCtrlVtbWindowInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - PLAN_ERR_RET
    - setMultiBlockSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t updateDynQueryCtrlVtbWindowInfo(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                               SDynQueryCtrlLogicNode*
      pLogicNode, SDynQueryCtrlPhysiNode* pDynCtrl)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2061,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2062,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2066,1
    - Dst: updateDynQueryCtrlStbJoinInfo
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2066,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2072,1
    - Dst: updateDynQueryCtrlVtbScanInfo
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2072,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2075,1
    - Dst: updateDynQueryCtrlVtbScanInfo
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2075,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2076,1
    - Dst: updateDynQueryCtrlVtbWindowInfo
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2076,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2079,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2088,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pPhyNode
    - pSubPlan
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDynQueryCtrlLogicNode*
    - SPhysiNode**
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2056
    functionDepth: 9
    functionLinenumber: 2056
    functionLinenumberEnd: 2090
    functionName: createDynQueryCtrlPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - updateDynQueryCtrlStbJoinInfo
    - planError
    - QUERY_CHECK_NULL
    - makePhysiNode
    - updateDynQueryCtrlVtbWindowInfo
    - tstrerror
    - updateDynQueryCtrlVtbScanInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createDynQueryCtrlPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                           SDynQueryCtrlLogicNode*
      pLogicNode, SPhysiNode** pPhyNode, SSubplan* pSubPlan)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2101,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2105,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2106,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2110,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2112,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2118,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2120,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2122,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2124,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SRewritePrecalcExprsCxt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2099
    functionDepth: 5
    functionLinenumber: 2099
    functionLinenumberEnd: 2128
    functionName: collectAndRewrite
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesMakeNode
    - snprintf
    - tstrncpy
    - nodesDestroyNode
    - nodesListAppend
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectAndRewrite(SRewritePrecalcExprsCxt* pCxt, SNode** pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2132,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2137,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2139,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2144,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SRewritePrecalcExprsCxt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2130
    functionDepth: 5
    functionLinenumber: 2130
    functionLinenumberEnd: 2150
    functionName: rewriteValueToOperator
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteValueToOperator(SRewritePrecalcExprsCxt* pCxt, SNode**
      pNode)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2154,1
    - Dst: rewriteValueToOperator
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2159,1
    - Dst: collectAndRewrite
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2163,1
    - Dst: collectAndRewrite
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2168,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2172,1
    - Dst: collectAndRewrite
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2173,1
    - Dst: collectAndRewrite
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2152
    functionDepth: 6
    functionLinenumber: 2152
    functionLinenumberEnd: 2184
    functionName: doRewritePrecalcExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - rewriteValueToOperator
    - collectAndRewrite
    - fmIsScalarFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doRewritePrecalcExprs(SNode** pNode, void* pContext)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2193,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2199,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2207,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2208,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2208,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2210,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2215,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2220,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2221,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - pCxt
    - pList
    - pPrecalcExprs
    - pRewrittenList
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2186
    functionDepth: 4
    functionLinenumber: 2186
    functionLinenumberEnd: 2225
    functionName: rewritePrecalcExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesMakeList
    - LIST_LENGTH
    - nodeType
    - NODES_DESTORY_LIST
    - nodesCloneNode
    - nodesListAppend
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rewritePrecalcExprs(SPhysiPlanContext* pCxt, SNodeList* pList,
      SNodeList** pPrecalcExprs,\n                                   SNodeList** pRewrittenList)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2207,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2208,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2208,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2210,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2205
    functionDepth: 4
    functionLinenumber: 2205
    functionLinenumberEnd: 2218
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 58
    functionsReached:
    - nodeType
    - nodesCloneNode
    - nodesListAppend
    - nodesListGetNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2234,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2237,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2240,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2242,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - pPrecalcExprs
    - pRewritten
    argTypes:
    - SPhysiPlanContext*
    - SNode*
    - SNodeList**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2227
    functionDepth: 5
    functionLinenumber: 2227
    functionLinenumberEnd: 2245
    functionName: rewritePrecalcExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - rewritePrecalcExprs
    - nodesClearList
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rewritePrecalcExpr(SPhysiPlanContext* pCxt, SNode* pNode,
      SNodeList** pPrecalcExprs,\n                                  SNode** pRewritten)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2248,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2250,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - res
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2247
    functionDepth: 1
    functionLinenumber: 2247
    functionLinenumberEnd: 2256
    functionName: hasCountLikeFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsCountLikeFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes hasCountLikeFunc(SNode* pNode, void* res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2259,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2266,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2269,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2258
    functionDepth: 1
    functionLinenumber: 2258
    functionLinenumberEnd: 2273
    functionName: isDynVirtualStableScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool isDynVirtualStableScan(SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2276,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2275
    functionDepth: 1
    functionLinenumber: 2275
    functionLinenumberEnd: 2287
    functionName: isDynVirtualStableAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool isDynVirtualStableAgg(SNode* pNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isDynVirtualStableScan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2290,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2290,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2291,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2293,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2296,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2298,1
    - Dst: isDynVirtualStableAgg
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2302,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2302,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2303,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2305,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2308,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2308,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2310,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2315,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2317,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - pChildTuple
    - pChildren
    argTypes:
    - SDataBlockDescNode**
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2289
    functionDepth: 2
    functionLinenumber: 2289
    functionLinenumberEnd: 2323
    functionName: getChildTuple
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - planError
    - LIST_LENGTH
    - isDynVirtualStableAgg
    - isDynVirtualStableScan
    linkageType: ''
    returnType: int32_t
    signature: int32_t getChildTuple(SDataBlockDescNode **pChildTuple, SNodeList*
      pChildren)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SPhysiPlanContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2327
    functionName: forceNoMergeDataBlock
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool forceNoMergeDataBlock(const SPhysiPlanContext* pCxt)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2332,1
    - Dst: forceNoMergeDataBlock
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2342,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2349,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2351,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2353,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2357,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2362,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2364,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2369,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2371,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2376,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2378,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2383,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2389,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2392,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2393,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2394,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pAggLogicNode
    - pPhyNode
    - pSubPlan
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SAggLogicNode*
    - SPhysiNode**
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2329
    functionDepth: 9
    functionLinenumber: 2329
    functionLinenumberEnd: 2397
    functionName: createAggPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - forceNoMergeDataBlock
    - addDataBlockSlots
    - pushdownDataBlockSlots
    - nodesDestroyList
    - getChildTuple
    - setListSlotId
    - makePhysiNode
    - rewritePrecalcExprs
    - nodesDestroyNode
    - nodesWalkExprs
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createAggPhysiNode(SPhysiPlanContext* pCxt, SNodeList* pChildren,
      SAggLogicNode* pAggLogicNode,\n                                  SPhysiNode**
      pPhyNode, SSubplan* pSubPlan)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2401,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2409,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2418,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2423,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2425,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2430,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2432,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2437,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2443,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2446,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2447,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFuncLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SIndefRowsFuncLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2399
    functionDepth: 9
    functionLinenumber: 2399
    functionLinenumberEnd: 2450
    functionName: createIndefRowsFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - pushdownDataBlockSlots
    - nodesDestroyList
    - getChildTuple
    - setListSlotId
    - makePhysiNode
    - rewritePrecalcExprs
    - nodesDestroyNode
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createIndefRowsFuncPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                            SIndefRowsFuncLogicNode*
      pFuncLogicNode, SPhysiNode** pPhyNode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2454,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2462,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2466,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2471,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2473,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2478,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2480,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2492,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2496,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2500,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2504,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2510,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2513,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2514,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFuncLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SInterpFuncLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2452
    functionDepth: 9
    functionLinenumber: 2452
    functionLinenumberEnd: 2517
    functionName: createInterpFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - pushdownDataBlockSlots
    - setNodeSlotId
    - nodesDestroyList
    - getChildTuple
    - setListSlotId
    - makePhysiNode
    - rewritePrecalcExprs
    - nodesDestroyNode
    - nodesCloneNode
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createInterpFuncPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                         SInterpFuncLogicNode* pFuncLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2522,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2529,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2533,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2538,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2540,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2545,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2547,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2552,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2558,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2561,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2562,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFuncLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SForecastFuncLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2519
    functionDepth: 9
    functionLinenumber: 2519
    functionLinenumberEnd: 2565
    functionName: createForecastFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - pushdownDataBlockSlots
    - nodesDestroyList
    - getChildTuple
    - setListSlotId
    - makePhysiNode
    - rewritePrecalcExprs
    - nodesDestroyNode
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createForecastFuncPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                           SForecastFuncLogicNode*
      pFuncLogicNode, SPhysiNode** pPhyNode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2569,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2577,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2579,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2582,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2584,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2589,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2591,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2596,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2602,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2605,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2606,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFuncLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SGenericAnalysisLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2609
      start: 2567
    functionDepth: 9
    functionLinenumber: 2567
    functionLinenumberEnd: 2609
    functionName: createGenericAnalysisPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - addDataBlockSlots
    - pushdownDataBlockSlots
    - nodesDestroyList
    - setListSlotId
    - makePhysiNode
    - rewritePrecalcExprs
    - nodesDestroyNode
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createGenericAnalysisPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                              SGenericAnalysisLogicNode*
      pFuncLogicNode, SPhysiNode** pPhyNode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2624,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pProject
    - topLevelSubplan
    argTypes:
    - SProjectLogicNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2611
    functionDepth: 1
    functionLinenumber: 2611
    functionLinenumberEnd: 2629
    functionName: projectCanMergeDataBlock
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool projectCanMergeDataBlock(SProjectLogicNode* pProject, bool topLevelSubplan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2632,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pProject
    argTypes:
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2631
    functionDepth: 1
    functionLinenumber: 2631
    functionLinenumberEnd: 2646
    functionName: projectCouldMergeUnsortDataBlock
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool projectCouldMergeUnsortDataBlock(SProjectLogicNode* pProject)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2652,1
    - Dst: forceNoMergeDataBlock
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2658,1
    - Dst: projectCanMergeDataBlock
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2658,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2663,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2664,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2666,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2666,1
    - Dst: addDataBlockSlotsForProject
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2670,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2674,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pProjectLogicNode
    - pSubplan
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SProjectLogicNode*
    - SSubplan*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2648
    functionDepth: 9
    functionLinenumber: 2648
    functionLinenumberEnd: 2684
    functionName: createProjectPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - forceNoMergeDataBlock
    - LIST_LENGTH
    - projectCanMergeDataBlock
    - setListSlotId
    - makePhysiNode
    - setConditionsSlotId
    - nodesDestroyNode
    - addDataBlockSlotsForProject
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createProjectPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                      SProjectLogicNode* pProjectLogicNode,
      SSubplan* pSubplan,\n                                      SPhysiNode** pPhyNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2689,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2699,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pExchangeLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SExchangeLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2686
    functionDepth: 9
    functionLinenumber: 2686
    functionLinenumberEnd: 2707
    functionName: doCreateExchangePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - makePhysiNode
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doCreateExchangePhysiNode(SPhysiPlanContext* pCxt, SExchangeLogicNode*
      pExchangeLogicNode,\n                                         SPhysiNode** pPhyNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doCreateExchangePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pExchangeLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SExchangeLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2709
    functionDepth: 10
    functionLinenumber: 2709
    functionLinenumberEnd: 2712
    functionName: createExchangePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - doCreateExchangePhysiNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createExchangePhysiNode(SPhysiPlanContext* pCxt, SExchangeLogicNode*
      pExchangeLogicNode,\n                                       SPhysiNode** pPhyNode)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: forceNoMergeDataBlock
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2718,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2721,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2728,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2732,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2737,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2739,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2745,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2751,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2754,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2758,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2760,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2765,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2767,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2772,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2775,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2776,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindow
    - pWindowLogicNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowPhysiNode*
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2714
    functionDepth: 8
    functionLinenumber: 2714
    functionLinenumberEnd: 2779
    functionName: createWindowPhysiNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - forceNoMergeDataBlock
    - addDataBlockSlots
    - setNodeSlotId
    - nodesDestroyList
    - getChildTuple
    - nodeType
    - setListSlotId
    - rewritePrecalcExprs
    - nodesListAppendList
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowPhysiNodeFinalize(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SWindowPhysiNode* pWindow,\n                                             SWindowLogicNode*
      pWindowLogicNode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - windowAlgo
    argTypes:
    - EWindowAlgorithm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2781
    functionDepth: 0
    functionLinenumber: 2781
    functionLinenumberEnd: 2791
    functionName: getIntervalOperatorType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENodeType
    signature: ENodeType getIntervalOperatorType(EWindowAlgorithm windowAlgo)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - windowAlgo
    argTypes:
    - EWindowAlgorithm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2803
    functionName: getExternalOperatorType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENodeType
    signature: ENodeType getExternalOperatorType(EWindowAlgorithm windowAlgo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2807,1
    - Dst: getIntervalOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2808,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2820,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2805
    functionDepth: 9
    functionLinenumber: 2805
    functionLinenumberEnd: 2828
    functionName: createIntervalPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createWindowPhysiNodeFinalize
    - nodesDestroyNode
    - makePhysiNode
    - getIntervalOperatorType
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createIntervalPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                       SWindowLogicNode* pWindowLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2832,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2840,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2830
    functionDepth: 9
    functionLinenumber: 2830
    functionLinenumberEnd: 2848
    functionName: createSessionWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createWindowPhysiNodeFinalize
    - nodesDestroyNode
    - makePhysiNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSessionWindowPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                            SWindowLogicNode* pWindowLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2853,1
    - Dst: rewritePrecalcExpr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2861,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2865,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2869,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2871,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2876,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2888,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2894,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2897,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2898,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2850
    functionDepth: 9
    functionLinenumber: 2850
    functionLinenumberEnd: 2901
    functionName: createStateWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - setNodeSlotId
    - nodesDestroyList
    - getChildTuple
    - setListSlotId
    - makePhysiNode
    - createWindowPhysiNodeFinalize
    - nodesDestroyNode
    - rewritePrecalcExpr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStateWindowPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                          SWindowLogicNode* pWindowLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2907,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2915,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2918,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2921,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2927,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2937
      start: 2903
    functionDepth: 9
    functionLinenumber: 2903
    functionLinenumberEnd: 2937
    functionName: createEventWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - setNodeSlotId
    - getChildTuple
    - makePhysiNode
    - createWindowPhysiNodeFinalize
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createEventWindowPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                          SWindowLogicNode* pWindowLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2943,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2951,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2939
    functionDepth: 9
    functionLinenumber: 2939
    functionLinenumberEnd: 2959
    functionName: createCountWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createWindowPhysiNodeFinalize
    - nodesDestroyNode
    - makePhysiNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createCountWindowPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                          SWindowLogicNode* pWindowLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2963,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2973,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2975,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2980,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2982,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2987,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2993,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2996,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3002,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3005,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3006,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 2961
    functionDepth: 9
    functionLinenumber: 2961
    functionLinenumberEnd: 3009
    functionName: createAnomalyWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - nodesDestroyList
    - getChildTuple
    - setListSlotId
    - makePhysiNode
    - tstrncpy
    - createWindowPhysiNodeFinalize
    - rewritePrecalcExprs
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createAnomalyWindowPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                            SWindowLogicNode* pWindowLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3014,1
    - Dst: getExternalOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3015,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3027,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3027,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3029,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3029,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3036
      start: 3011
    functionDepth: 9
    functionLinenumber: 3011
    functionLinenumberEnd: 3036
    functionName: createExternalWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - makePhysiNode
    - nodesDestroyNode
    - createWindowPhysiNodeFinalize
    - getExternalOperatorType
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createExternalWindowPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                             SWindowLogicNode* pWindowLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: createIntervalPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3042,1
    - Dst: createSessionWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3044,1
    - Dst: createStateWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3046,1
    - Dst: createEventWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3048,1
    - Dst: createCountWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3050,1
    - Dst: createAnomalyWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3052,1
    - Dst: createExternalWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3054,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3038
    functionDepth: 10
    functionLinenumber: 3038
    functionLinenumberEnd: 3059
    functionName: createWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createAnomalyWindowPhysiNode
    - createEventWindowPhysiNode
    - createExternalWindowPhysiNode
    - createIntervalPhysiNode
    - createStateWindowPhysiNode
    - generateUsageErrMsg
    - createSessionWindowPhysiNode
    - createCountWindowPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SWindowLogicNode* pWindowLogicNode,\n                                     SPhysiNode**
      pPhyNode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3063,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3072,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3078,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3083,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3085,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3090,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3094,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3096,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3101,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3107,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3110,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3111,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pSortLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SSortLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3114
      start: 3061
    functionDepth: 9
    functionLinenumber: 3061
    functionLinenumberEnd: 3114
    functionName: createSortPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - pushdownDataBlockSlots
    - nodesDestroyList
    - getChildTuple
    - setListSlotId
    - makePhysiNode
    - rewritePrecalcExprs
    - nodesDestroyNode
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSortPhysiNode(SPhysiPlanContext* pCxt, SNodeList* pChildren,
      SSortLogicNode* pSortLogicNode,\n                                   SPhysiNode**
      pPhyNode)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3119,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3126,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3130,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3133,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3135,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3140,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3142,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3147,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3153,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3154,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3167,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3173,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3176,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3177,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pPartLogicNode
    - type
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SPartitionLogicNode*
    - ENodeType
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3180
      start: 3116
    functionDepth: 9
    functionLinenumber: 3116
    functionLinenumberEnd: 3180
    functionName: createPartitionPhysiNodeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - pushdownDataBlockSlots
    - nodesDestroyList
    - getChildTuple
    - nodeType
    - setListSlotId
    - makePhysiNode
    - FOREACH
    - rewritePrecalcExprs
    - nodesDestroyNode
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createPartitionPhysiNodeImpl(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                            SPartitionLogicNode*
      pPartLogicNode, ENodeType type,\n                                            SPhysiNode**
      pPhyNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPartitionPhysiNodeImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pPartLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SPartitionLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3182
    functionDepth: 10
    functionLinenumber: 3182
    functionLinenumberEnd: 3185
    functionName: createPartitionPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createPartitionPhysiNodeImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createPartitionPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren,\n                                        SPartitionLogicNode* pPartLogicNode,
      SPhysiNode** pPhyNode)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3189,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3197,1
    - Dst: getChildTuple
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3202,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3205,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3208,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3211,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3214,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3216,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3217,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3219,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3224,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3227,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3231,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3235,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3240,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3246,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFillNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SFillLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3250
      start: 3187
    functionDepth: 9
    functionLinenumber: 3187
    functionLinenumberEnd: 3250
    functionName: createFillPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - TSWAP
    - setNodeSlotId
    - LIST_LENGTH
    - getChildTuple
    - addDataBlockSlot
    - setListSlotId
    - makePhysiNode
    - nodesDestroyNode
    - nodesCloneNode
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createFillPhysiNode(SPhysiPlanContext* pCxt, SNodeList* pChildren,
      SFillLogicNode* pFillNode,\n                                   SPhysiNode**
      pPhyNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3254,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3265,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3267,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3271,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - pMerge
    - idx
    - grpSingleChannel
    argTypes:
    - SMergePhysiNode*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3273
      start: 3252
    functionDepth: 6
    functionLinenumber: 3252
    functionLinenumberEnd: 3273
    functionName: createExchangePhysiNodeByMerge
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesCloneNode
    - nodesMakeNode
    - FOREACH
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createExchangePhysiNodeByMerge(SMergePhysiNode* pMerge, int32_t
      idx, bool grpSingleChannel)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3279,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3300,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3300,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3304,1
    - Dst: createExchangePhysiNodeByMerge
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3304,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3309,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3309,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3313,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3313,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3315,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3315,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3317,1
    - Dst: setMultiBlockSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3317,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3318,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3318,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pMergeLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SMergeLogicNode*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3275
    functionDepth: 9
    functionLinenumber: 3275
    functionLinenumberEnd: 3326
    functionName: createMergePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - addDataBlockSlots
    - PLAN_ERR_JRET
    - createExchangePhysiNodeByMerge
    - setListSlotId
    - makePhysiNode
    - nodesDestroyNode
    - setMultiBlockSlotId
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createMergePhysiNode(SPhysiPlanContext* pCxt, SNodeList* pChildren,
      SMergeLogicNode* pMergeLogicNode,\n                                    SPhysiNode**
      pPhyNode)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3330,1
    - Dst: createScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3332,1
    - Dst: createJoinPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3334,1
    - Dst: createAggPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3336,1
    - Dst: createProjectPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3338,1
    - Dst: createExchangePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3340,1
    - Dst: createWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3342,1
    - Dst: createSortPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3344,1
    - Dst: createPartitionPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3346,1
    - Dst: createFillPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3348,1
    - Dst: createIndefRowsFuncPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3350,1
    - Dst: createInterpFuncPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3352,1
    - Dst: createGenericAnalysisPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3354,1
    - Dst: createForecastFuncPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3356,1
    - Dst: createMergePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3358,1
    - Dst: createGroupCachePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3360,1
    - Dst: createDynQueryCtrlPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3362,1
    - Dst: createVirtualTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 5
    argNames:
    - pCxt
    - pLogicNode
    - pSubplan
    - pChildren
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SLogicNode*
    - SSubplan*
    - SNodeList*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3370
      start: 3328
    functionDepth: 12
    functionLinenumber: 3328
    functionLinenumberEnd: 3370
    functionName: doCreatePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createWindowPhysiNode
    - createFillPhysiNode
    - createMergePhysiNode
    - createForecastFuncPhysiNode
    - createVirtualTableScanPhysiNode
    - createInterpFuncPhysiNode
    - createProjectPhysiNode
    - createJoinPhysiNode
    - createExchangePhysiNode
    - createIndefRowsFuncPhysiNode
    - nodeType
    - createGenericAnalysisPhysiNode
    - createDynQueryCtrlPhysiNode
    - createSortPhysiNode
    - createScanPhysiNode
    - createAggPhysiNode
    - createPartitionPhysiNode
    - createGroupCachePhysiNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doCreatePhysiNode(SPhysiPlanContext* pCxt, SLogicNode* pLogicNode,
      SSubplan* pSubplan,\n                                 SNodeList* pChildren,
      SPhysiNode** pPhyNode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3375,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3381,1
    - Dst: createPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3383,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3385,1
    - Dst: doCreatePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3393,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3397,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3400,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3402,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3405,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pLogicNode
    - pSubplan
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SLogicNode*
    - SSubplan*
    - SPhysiNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3372
    functionDepth: 13
    functionLinenumber: 3372
    functionLinenumberEnd: 3409
    functionName: createPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - doCreatePhysiNode
    - nodesMakeList
    - nodesListStrictAppend
    - LIST_LENGTH
    - nodesDestroyList
    - FOREACH
    - createPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createPhysiNode(SPhysiPlanContext* pCxt, SLogicNode* pLogicNode,
      SSubplan* pSubplan,\n                               SPhysiNode** pPhyNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pBlocks
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SVgDataBlocks*
    - SDataSinkNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3425
      start: 3411
    functionDepth: 5
    functionLinenumber: 3411
    functionLinenumberEnd: 3425
    functionName: createDataInserter
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataInserter(SPhysiPlanContext* pCxt, SVgDataBlocks*
      pBlocks, SDataSinkNode** pSink)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3429,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3435,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pRoot
    - dynamicSchema
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SPhysiNode*
    - bool
    - SDataSinkNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3444
      start: 3427
    functionDepth: 5
    functionLinenumber: 3427
    functionLinenumberEnd: 3444
    functionName: createDataDispatcher
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataDispatcher(SPhysiPlanContext* pCxt, const SPhysiNode*
      pRoot, bool dynamicSchema, SDataSinkNode** pSink)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3448,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - ppSubplan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3446
    functionDepth: 5
    functionLinenumber: 3446
    functionLinenumberEnd: 3466
    functionName: makeSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t makeSubplan(SPhysiPlanContext* pCxt, SLogicSubplan* pLogicSubplan,
      SSubplan** ppSubplan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDataInserter
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3468
    functionDepth: 0
    functionLinenumber: 3468
    functionLinenumberEnd: 3473
    functionName: buildInsertValuesSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - createDataInserter
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInsertValuesSubplan(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, SSubplan* pSubplan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3478,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3486,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3487,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3491,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3493,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3497,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - pCxt
    - pModify
    - pSubplan
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    - SDataSinkNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3507
      start: 3475
    functionDepth: 7
    functionLinenumber: 3475
    functionLinenumberEnd: 3507
    functionName: createQueryInserter
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - vgroupInfoToNodeAddr
    - nodesMakeNode
    - nodeType
    - setListSlotId
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createQueryInserter(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, SSubplan* pSubplan,\n                                   SDataSinkNode**
      pSink)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3511,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3511,1
    - Dst: createQueryInserter
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3517
      start: 3509
    functionDepth: 14
    functionLinenumber: 3509
    functionLinenumberEnd: 3517
    functionName: buildInsertSelectSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - createPhysiNode
    - createQueryInserter
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInsertSelectSubplan(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, SSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildInsertValuesSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3521,1
    - Dst: buildInsertSelectSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3524
      start: 3519
    functionDepth: 15
    functionLinenumber: 3519
    functionLinenumberEnd: 3524
    functionName: buildInsertSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - buildInsertSelectSubplan
    - buildInsertValuesSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInsertSubplan(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, SSubplan* pSubplan)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3529,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3536,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3537,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3541,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3544,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3547,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3551,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - pCxt
    - pModify
    - pRoot
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SPhysiNode*
    - SDataSinkNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3561
      start: 3526
    functionDepth: 5
    functionLinenumber: 3526
    functionLinenumberEnd: 3561
    functionName: createDataDeleter
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - nodesCloneNode
    - setNodeSlotId
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createDataDeleter(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, const SPhysiNode* pRoot,\n                                 SDataSinkNode**
      pSink)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3565,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3565,1
    - Dst: createDataDeleter
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3571
      start: 3563
    functionDepth: 14
    functionLinenumber: 3563
    functionLinenumberEnd: 3571
    functionName: buildDeleteSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - createDataDeleter
    - createPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildDeleteSubplan(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, SSubplan* pSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buildInsertSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3578,1
    - Dst: buildDeleteSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3588
      start: 3573
    functionDepth: 16
    functionLinenumber: 3573
    functionLinenumberEnd: 3588
    functionName: buildVnodeModifySubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - buildInsertSubplan
    - buildDeleteSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildVnodeModifySubplan(SPhysiPlanContext* pCxt, SLogicSubplan*
      pLogicSubplan, SSubplan* pSubplan)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makeSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3592,1
    - Dst: buildVnodeModifySubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3598,1
    - Dst: createPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3605,1
    - Dst: createDataDispatcher
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3607,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pPhysiSubplan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3618
      start: 3590
    functionDepth: 17
    functionLinenumber: 3590
    functionLinenumberEnd: 3618
    functionName: createPhysiSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - buildVnodeModifySubplan
    - createDataDispatcher
    - makeSubplan
    - nodesDestroyNode
    - createPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createPhysiSubplan(SPhysiPlanContext* pCxt, SLogicSubplan*
      pLogicSubplan, SSubplan** pPhysiSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3622,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3627,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - ppQueryPlan
    argTypes:
    - SPhysiPlanContext*
    - SQueryPlan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3635
      start: 3620
    functionDepth: 5
    functionLinenumber: 3620
    functionLinenumberEnd: 3635
    functionName: makeQueryPhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesMakeList
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t makeQueryPhysiPlan(SPhysiPlanContext* pCxt, SQueryPlan** ppQueryPlan)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3639,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3641,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3645,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3649,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3652,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pSubplans
    argTypes:
    - SPhysiPlanContext*
    - SNode*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3637
    functionDepth: 5
    functionLinenumber: 3637
    functionLinenumberEnd: 3658
    functionName: pushSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - nodesListStrictAppend
    - nodesMakeList
    - LIST_LENGTH
    - nodesMakeNode
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushSubplan(SPhysiPlanContext* pCxt, SNode* pSubplan, int32_t
      level, SNodeList* pSubplans)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createPhysiSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3663,1
    - Dst: pushSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3666,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3671,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3676,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3678,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3684,1
    - Dst: buildPhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3685,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pLogicSubplan
    - pParent
    - pQueryPlan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan*
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3693
      start: 3660
    functionDepth: 18
    functionLinenumber: 3660
    functionLinenumberEnd: 3693
    functionName: buildPhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 1
    functionsReached:
    - nodesListMakeAppend
    - buildPhysiPlan
    - createPhysiSubplan
    - FOREACH
    - nodesDestroyNode
    - pushSubplan
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildPhysiPlan(SPhysiPlanContext* pCxt, SLogicSubplan* pLogicSubplan,
      SSubplan* pParent,\n                              SQueryPlan* pQueryPlan)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: makeQueryPhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3697,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3703,1
    - Dst: buildPhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3704,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pLogicPlan
    - pPhysiPlan
    argTypes:
    - SPhysiPlanContext*
    - SQueryLogicPlan*
    - SQueryPlan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3717
      start: 3695
    functionDepth: 19
    functionLinenumber: 3695
    functionLinenumberEnd: 3717
    functionName: doCreatePhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 2
    functionsReached:
    - buildPhysiPlan
    - FOREACH
    - nodesDestroyNode
    - makeQueryPhysiPlan
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCreatePhysiPlan(SPhysiPlanContext* pCxt, SQueryLogicPlan*
      pLogicPlan, SQueryPlan** pPhysiPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3721,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3723,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3724,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3727
      start: 3719
    functionDepth: 1
    functionLinenumber: 3719
    functionLinenumberEnd: 3727
    functionName: destoryLocationHash
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCleanup
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destoryLocationHash(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3730,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SPhysiPlanContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3732
      start: 3729
    functionDepth: 1
    functionLinenumber: 3729
    functionLinenumberEnd: 3732
    functionName: destoryPhysiPlanContext
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void destoryPhysiPlanContext(SPhysiPlanContext* pCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pPlan
    argTypes:
    - SPlanContext*
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3743
      start: 3734
    functionDepth: 1
    functionLinenumber: 3734
    functionLinenumberEnd: 3743
    functionName: setExplainInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void setExplainInfo(SPlanContext* pCxt, SQueryPlan* pPlan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_SCAN
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3751,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pExecNodeList
    argTypes:
    - SPhysiPlanContext*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3745
    functionDepth: 1
    functionLinenumber: 3745
    functionLinenumberEnd: 3756
    functionName: setExecNodeList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - IS_SYS_SCAN
    linkageType: ''
    returnType: int32_t
    signature: int32_t setExecNodeList(SPhysiPlanContext* pCxt, SArray* pExecNodeList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3762,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3763,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3766,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3767,1
    - Dst: doCreatePhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3771,1
    - Dst: setExplainInfo
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3773,1
    - Dst: setExecNodeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3774,1
    - Dst: destoryPhysiPlanContext
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pLogicPlan
    - pPlan
    - pExecNodeList
    argTypes:
    - SPlanContext*
    - SQueryLogicPlan*
    - SQueryPlan**
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3779
      start: 3758
    functionDepth: 20
    functionLinenumber: 3758
    functionLinenumberEnd: 3779
    functionName: createPhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: 0
    functionsReached:
    - setExplainInfo
    - setExecNodeList
    - taosArrayInit
    - taosArrayDestroy
    - destoryPhysiPlanContext
    - doCreatePhysiPlan
    linkageType: ''
    returnType: int32_t
    signature: int32_t createPhysiPlan(SPlanContext* pCxt, SQueryLogicPlan* pLogicPlan,
      SQueryPlan** pPlan, SArray* pExecNodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: OPTIMIZE_FLAG_MASK
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTIMIZE_FLAG_MASK(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: OPTIMIZE_FLAG_SET_MASK
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTIMIZE_FLAG_SET_MASK(val, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: OPTIMIZE_FLAG_CLEAR_MASK
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTIMIZE_FLAG_CLEAR_MASK(val, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: OPTIMIZE_FLAG_TEST_MASK
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTIMIZE_FLAG_TEST_MASK(val, mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:189,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:193,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pNode
    - func
    - pCtx
    argTypes:
    - SLogicNode*
    - FMayBeOptimized
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: optFindPossibleNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - optFindPossibleNode
    - FOREACH
    - func
    linkageType: ''
    returnType: SLogicNode
    signature: SLogicNode * optFindPossibleNode(SLogicNode* pNode, FMayBeOptimized
      func, void* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:203,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:207,1
    - Dst: optFindEligibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pNode
    - func
    - pInfo
    argTypes:
    - SLogicNode*
    - FShouldBeOptimized
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: optFindEligibleNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - FOREACH
    - optFindEligibleNode
    - func
    linkageType: ''
    returnType: bool
    signature: bool optFindEligibleNode(SLogicNode* pNode, FShouldBeOptimized func,
      void* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: optResetParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void optResetParent(SLogicNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:221,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:223,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:228,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 5
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: optRebuildTbanme
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - tstrncpy
    - nodesMakeNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes optRebuildTbanme(SNode** pNode, void* pContext)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:243,1
    - Dst: projectCouldMergeUnsortDataBlock
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:268,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - pNode
    - order
    - pNodeForcePropagate
    argTypes:
    - SLogicNode*
    - EOrder
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 282
    functionName: optSetParentOrder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodeType
    - optSetParentOrder
    - projectCouldMergeUnsortDataBlock
    linkageType: ''
    returnType: void
    signature: void optSetParentOrder(SLogicNode* pNode, EOrder order, SLogicNode*
      pNodeForcePropagate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: scanPathOptHaveNormalColImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes scanPathOptHaveNormalColImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprsPostOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: scanPathOptHaveNormalCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprsPostOrder
    linkageType: ''
    returnType: bool
    signature: bool scanPathOptHaveNormalCol(SNodeList* pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:300,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: scanPathOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - OPTIMIZE_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool scanPathOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:310,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:311,1
    - Dst: scanPathOptHaveNormalCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:313,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:317,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:321,1
    - Dst: scanPathOptHaveNormalCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 325
    functionName: scanPathOptShouldGetFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - scanPathOptHaveNormalCol
    linkageType: ''
    returnType: bool
    signature: bool scanPathOptShouldGetFuncs(SLogicNode* pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptShouldGetFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:328,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 6
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: scanPathOptGetAllFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - scanPathOptShouldGetFuncs
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * scanPathOptGetAllFuncs(SLogicNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: typeCheckFn
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:343,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:345,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:346,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: scanPathOptIsSpecifiedFuncType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - typeCheckFn
    linkageType: ''
    returnType: bool
    signature: bool scanPathOptIsSpecifiedFuncType(const SFunctionNode* pFunc, bool
      (*typeCheckFn)(int32_t))
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptGetAllFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:354,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:362,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:364,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:366,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:368,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:370,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:372,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:374,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:381,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:382,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:387,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:388,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - pScan
    - pSdrFuncs
    - pDsoFuncs
    argTypes:
    - SScanLogicNode*
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 353
    functionDepth: 7
    functionLinenumber: 353
    functionLinenumberEnd: 394
    functionName: scanPathOptGetRelatedFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - scanPathOptGetAllFuncs
    - scanPathOptIsSpecifiedFuncType
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t scanPathOptGetRelatedFuncs(SScanLogicNode* pScan, SNodeList**
      pSdrFuncs, SNodeList** pDsoFuncs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:362,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:364,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:366,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:368,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:370,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:372,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:374,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:381,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 359
    functionDepth: 6
    functionLinenumber: 359
    functionLinenumberEnd: 385
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 67
    functionsReached:
    - nodesDestroyList
    - scanPathOptIsSpecifiedFuncType
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pAllFuncs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptGetAllFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:397,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - pScan
    - pScanOrder
    argTypes:
    - SScanLogicNode*
    - EScanOrder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 396
    functionDepth: 7
    functionLinenumber: 396
    functionLinenumberEnd: 420
    functionName: scanPathOptGetScanOrder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - scanPathOptGetAllFuncs
    linkageType: ''
    returnType: int32_t
    signature: int32_t scanPathOptGetScanOrder(SScanLogicNode* pScan, EScanOrder*
      pScanOrder)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pAllFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptGetRelatedFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:423,1
    - Dst: scanPathOptGetScanOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SOsdInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 8
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: scanPathOptSetOsdInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - scanPathOptGetRelatedFuncs
    - scanPathOptGetScanOrder
    linkageType: ''
    returnType: int32_t
    signature: int32_t scanPathOptSetOsdInfo(SOsdInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:431,1
    - Dst: scanPathOptSetOsdInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pLogicNode
    - pInfo
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SOsdInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 9
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: scanPathOptMatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - scanPathOptSetOsdInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t scanPathOptMatch(SOptimizeContext* pCxt, SLogicNode* pLogicNode,
      SOsdInfo* pInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - EFuncDataRequired
    - EFuncDataRequired
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 450
    functionName: scanPathOptPromoteDataRequired
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EFuncDataRequired
    signature: EFuncDataRequired scanPathOptPromoteDataRequired(EFuncDataRequired
      l, EFuncDataRequired r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptPromoteDataRequired
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:459,1
    - Dst: fmFuncDataRequired
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: scanPathOptGetDataRequired
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - fmFuncDataRequired
    - scanPathOptPromoteDataRequired
    linkageType: ''
    returnType: int32_t
    signature: int32_t scanPathOptGetDataRequired(SNodeList* pFuncs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptPromoteDataRequired
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:459,1
    - Dst: fmFuncDataRequired
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 67
    functionsReached:
    - fmFuncDataRequired
    - scanPathOptPromoteDataRequired
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFunc, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:467,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:468,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SOsdInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 482
    functionName: scanPathOptSetScanWin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void scanPathOptSetScanWin(SOsdInfo* pInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:493,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:498,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - scanOrder
    - pScan
    argTypes:
    - EScanOrder
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 507
    functionName: scanPathOptSetScanOrder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optSetParentOrder
    linkageType: ''
    returnType: void
    signature: void scanPathOptSetScanOrder(EScanOrder scanOrder, SScanLogicNode*
      pScan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:512,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:515,1
    - Dst: isPartTagAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 519
    functionName: scanPathOptSetGroupOrderScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - isPartTagAgg
    - isPartTableAgg
    linkageType: ''
    returnType: void
    signature: void scanPathOptSetGroupOrderScan(SScanLogicNode* pScan)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:522,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:529,1
    - Dst: scanPathOptMatch
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:529,1
    - Dst: scanPathOptSetScanWin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:535,1
    - Dst: scanPathOptSetScanOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:536,1
    - Dst: scanPathOptSetGroupOrderScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:537,1
    - Dst: scanPathOptGetDataRequired
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:540,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:545,1
    - Dst: FOREACH
      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:548,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:551,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:558,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:558,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:560,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 521
    functionDepth: 10
    functionLinenumber: 521
    functionLinenumberEnd: 562
    functionName: scanPathOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - scanPathOptMatch
    - scanPathOptGetDataRequired
    - PLAN_ERR_JRET
    - planError
    - scanPathOptSetScanOrder
    - nodesDestroyList
    - inStreamCalcClause
    - OPTIMIZE_FLAG_SET_MASK
    - nodeType
    - FOREACH
    - scanPathOptSetGroupOrderScan
    - scanPathOptSetScanWin
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t scanPathOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:579,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:579,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:582,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:582,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:584,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:588,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:588,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:594,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - pCxt
    - pScanRange
    - pPrimaryKeyCond
    - pOtherCond
    - pRemotePrimaryCond
    argTypes:
    - SOptimizeContext*
    - STimeWindow*
    - SNode**
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 575
    functionDepth: 8
    functionLinenumber: 575
    functionLinenumberEnd: 596
    functionName: pushDownCondOptCalcTimeRange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - planError
    - filterGetTimeRange
    - nodesMergeNode
    - tstrerror
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t pushDownCondOptCalcTimeRange(SOptimizeContext* pCxt, STimeWindow*
      pScanRange, SNode** pPrimaryKeyCond,\n                                            SNode**
      pOtherCond, SNode** pRemotePrimaryCond)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pTagCond
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: pushDownCondOptRebuildTbanme
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushDownCondOptRebuildTbanme(SNode** pTagCond)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:606,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:610,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:611,1
    - Dst: rewriteDnodeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:611,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:613,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:619,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:619,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:620,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:622,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:626,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:631,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:631,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:632,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:632,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:633,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:633,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:641,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:641,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - pCond
    - pDnodeConds
    argTypes:
    - SNode**
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 604
    functionDepth: 6
    functionLinenumber: 604
    functionLinenumberEnd: 644
    functionName: rewriteDnodeConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - PLAN_ERR_JRET
    - planError
    - nodesDestroyList
    - ERASE_NODE
    - nodeType
    - rewriteDnodeConds
    - WHERE_EACH
    - tstrerror
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListAppend
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteDnodeConds(SNode** pCond, SNodeList* pDnodeConds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:651,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:654,1
    - Dst: rewriteDnodeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pScan
    - pDnodeConds
    argTypes:
    - SOptimizeContext*
    - SScanLogicNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 646
    functionDepth: 7
    functionLinenumber: 646
    functionLinenumberEnd: 660
    functionName: filterDnodeConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - rewriteDnodeConds
    - nodesMakeList
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t filterDnodeConds(SOptimizeContext* pCxt, SScanLogicNode* pScan,
      SNodeList** pDnodeConds)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:670,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:678,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:687,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:687,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:688,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:690,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:694,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:695,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:696,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:698,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:731,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:737,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:750,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:754,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:756,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 82
    argCount: 2
    argNames:
    - pScan
    - pDnodeConds
    argTypes:
    - SScanLogicNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 759
    functionName: pushDownDnodeConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - IS_SIGNED_NUMERIC_TYPE
    - nodeType
    - taosMemoryFree
    - taosMemoryCalloc
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushDownDnodeConds(SScanLogicNode* pScan, SNodeList* pDnodeConds)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:678,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:687,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:687,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:688,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:690,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:694,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:695,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:696,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:698,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 720
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 68
    functionsReached:
    - nodeType
    - IS_SIGNED_NUMERIC_TYPE
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNewCond, pDnodeConds)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:763,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:772,1
    - Dst: pushDownCondOptRebuildTbanme
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:775,1
    - Dst: pushDownCondOptCalcTimeRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:778,1
    - Dst: filterDnodeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:783,1
    - Dst: pushDownDnodeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:785,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:788,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:793,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:796,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:797,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pScan
    argTypes:
    - SOptimizeContext*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 761
    functionDepth: 9
    functionLinenumber: 761
    functionLinenumberEnd: 801
    functionName: pdcDealScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - filterDnodeConds
    - nodesDestroyList
    - OPTIMIZE_FLAG_TEST_MASK
    - pushDownCondOptRebuildTbanme
    - OPTIMIZE_FLAG_SET_MASK
    - pushDownDnodeConds
    - pushDownCondOptCalcTimeRange
    - filterPartitionCond
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcDealScan(SOptimizeContext* pCxt, SScanLogicNode* pScan)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:805,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:815,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:816,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:817,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:818,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:818,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:821,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:825,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:825,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:827,1
    - Dst: pushDownCondOptRebuildTbanme
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:827,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:830,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:831,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:832,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:832,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:835,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:835,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:836,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:837,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:837,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:840,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:841,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:842,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:842,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:847,1
    - Dst: pushDownCondOptCalcTimeRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:847,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:854,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:859,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:860,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:861,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:862,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 2
    argNames:
    - pCxt
    - pScan
    argTypes:
    - SOptimizeContext*
    - SDynQueryCtrlLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 803
    functionDepth: 9
    functionLinenumber: 803
    functionLinenumberEnd: 864
    functionName: pdcDealVirtualSuperTableScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - PLAN_ERR_JRET
    - TSWAP
    - LIST_LENGTH
    - OPTIMIZE_FLAG_TEST_MASK
    - inStreamCalcClause
    - pushDownCondOptRebuildTbanme
    - OPTIMIZE_FLAG_SET_MASK
    - nodeType
    - pushDownCondOptCalcTimeRange
    - filterPartitionCond
    - generateUsageErrMsg
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcDealVirtualSuperTableScan(SOptimizeContext* pCxt, SDynQueryCtrlLogicNode*
      pScan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:869,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:869,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:872,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:873,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:878,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCondCol
    - pTableCols
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 866
    functionDepth: 5
    functionLinenumber: 866
    functionLinenumberEnd: 883
    functionName: pdcColBelongThisTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesEqualNode
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool pdcColBelongThisTable(SNode* pCondCol, SNodeList* pTableCols)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:869,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:869,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:872,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:873,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:878,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 868
    functionDepth: 5
    functionLinenumber: 868
    functionLinenumberEnd: 881
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 68
    functionsReached:
    - nodeType
    - nodesEqualNode
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pTableCol, pTableCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:886,1
    - Dst: pdcColBelongThisTable
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pTableCols
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 885
    functionDepth: 6
    functionLinenumber: 885
    functionLinenumberEnd: 891
    functionName: pdcJoinColInTableColList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - pdcColBelongThisTable
    linkageType: ''
    returnType: bool
    signature: bool pdcJoinColInTableColList(SNode* pNode, SNodeList* pTableCols)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:895,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:898,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:903,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCondCol
    - pTables
    argTypes:
    - SNode*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 907
    functionName: pdcJoinColInTableList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strlen
    - tSimpleHashGet
    linkageType: ''
    returnType: bool
    signature: bool pdcJoinColInTableList(SNode* pCondCol, SSHashObj* pTables)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:911,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:912,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 922
    functionName: pdcJoinIsCrossTableCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - pdcJoinColInTableList
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes pdcJoinIsCrossTableCond(SNode* pNode, void* pContext)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:930,1
    - Dst: joinCondHasValidPrimKeyCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:944,1
    - Dst: pdcJoinIsSafeAsofCopyCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:945,1
    - Dst: joinCondHasValidPrimKeyCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:957,1
    - Dst: pdcJoinIsSafeAsofCopyCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:958,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 27
    argCount: 5
    argNames:
    - pJoin
    - pLeftTbls
    - pRightTbls
    - pNode
    - whereCond
    argTypes:
    - SJoinLogicNode*
    - SSHashObj*
    - SSHashObj*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 924
    functionDepth: 3
    functionLinenumber: 924
    functionLinenumberEnd: 965
    functionName: pdcJoinGetCondAction
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pdcJoinIsSafeAsofCopyCond
    - joinCondHasValidPrimKeyCond
    - nodesWalkExpr
    linkageType: ''
    returnType: ECondAction
    signature: "ECondAction pdcJoinGetCondAction(SJoinLogicNode* pJoin, SSHashObj*
      pLeftTbls, SSHashObj* pRightTbls,\n                                        SNode*
      pNode, bool whereCond)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:980,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:980,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:984,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:984,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:986,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:995,1
    - Dst: pdcJoinGetCondAction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:996,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:998,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1003,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1004,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1006,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1007,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1009,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1010,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1015,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1017,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1022,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1024,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1026,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1029,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1030,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1033,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1034,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1041,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1042,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1049,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1052,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1055,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1058,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1067,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1070,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1071,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1072,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1073,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1074,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1075,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1076,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1077,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 6
    argNames:
    - pJoin
    - pSrcCond
    - pOnCond
    - pLeftChildCond
    - pRightChildCond
    - whereCond
    argTypes:
    - SJoinLogicNode*
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 967
    functionDepth: 6
    functionLinenumber: 967
    functionLinenumberEnd: 1081
    functionName: pdcJoinSplitLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeAppend
    - nodesMergeConds
    - nodesDestroyList
    - pdcJoinGetCondAction
    - tSimpleHashCleanup
    - FOREACH
    - nodesDestroyNode
    - nodesCloneNode
    - collectTableAliasFromNodes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t pdcJoinSplitLogicCond(SJoinLogicNode* pJoin, SNode** pSrcCond,
      SNode** pOnCond, SNode** pLeftChildCond,\n                                     SNode**
      pRightChildCond, bool whereCond)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1087,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1087,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1091,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1091,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1093,1
    - Dst: pdcJoinGetCondAction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1097,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1099,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1100,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1114,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 6
    argNames:
    - pJoin
    - pSrcCond
    - pOnCond
    - pLeftChildCond
    - pRightChildCond
    - whereCond
    argTypes:
    - SJoinLogicNode*
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1083
    functionDepth: 4
    functionLinenumber: 1083
    functionLinenumberEnd: 1121
    functionName: pdcJoinSplitOpCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - pdcJoinGetCondAction
    - tSimpleHashCleanup
    - nodesCloneNode
    - collectTableAliasFromNodes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t pdcJoinSplitOpCond(SJoinLogicNode* pJoin, SNode** pSrcCond,
      SNode** pOnCond, SNode** pLeftChildCond,\n                                  SNode**
      pRightChildCond, bool whereCond)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1125,1
    - Dst: pdcJoinSplitLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1126,1
    - Dst: pdcJoinSplitOpCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - pJoin
    - pSrcCond
    - pOnCond
    - pLeftChildCond
    - pRightChildCond
    - whereCond
    argTypes:
    - SJoinLogicNode*
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1123
    functionDepth: 7
    functionLinenumber: 1123
    functionLinenumberEnd: 1130
    functionName: pdcJoinSplitCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - pdcJoinSplitOpCond
    - pdcJoinSplitLogicCond
    linkageType: ''
    returnType: int32_t
    signature: "int32_t pdcJoinSplitCond(SJoinLogicNode* pJoin, SNode** pSrcCond,
      SNode** pOnCond, SNode** pLeftChildCond,\n                                SNode**
      pRightChildCond, bool whereCond)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pCond
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1132
    functionDepth: 7
    functionLinenumber: 1132
    functionLinenumberEnd: 1134
    functionName: pdcJoinPushDownOnCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMergeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinPushDownOnCond(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin, SNode** pCond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pChild
    - pCond
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1136
    functionDepth: 7
    functionLinenumber: 1136
    functionLinenumberEnd: 1138
    functionName: pdcPushDownCondToChild
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMergeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcPushDownCondToChild(SOptimizeContext* pCxt, SLogicNode*
      pChild, SNode** pCond)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1141,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1141,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1142,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1146,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1149,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1161,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1166,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1167,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1177,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 4
    argNames:
    - pNode
    - pTables
    - constAsPrim
    - constPrimGot
    argTypes:
    - SNode*
    - SSHashObj*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1178
    functionName: pdcJoinIsPrim
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListGetCell
    - pdcJoinColInTableList
    linkageType: ''
    returnType: bool
    signature: bool pdcJoinIsPrim(SNode* pNode, SSHashObj* pTables, bool constAsPrim,
      bool* constPrimGot)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - opType
    argTypes:
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1197
    functionName: asofJoinGetReverseOp
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EOperatorType
    signature: EOperatorType asofJoinGetReverseOp(EOperatorType opType)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1200,1
    - Dst: getJoinCondPKTable
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1205,1
    - Dst: getJoinCondPKTable
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1206,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1213,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1213,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1218,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1218,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1220,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1224,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1224,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1225,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1225,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1226,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1226,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1227,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1227,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1229,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1230,1
    - Dst: asofJoinGetReverseOp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1256,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - pJoin
    - pMatchedOpType
    argTypes:
    - SJoinLogicNode*
    - EOperatorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1199
    functionDepth: 2
    functionLinenumber: 1199
    functionLinenumberEnd: 1261
    functionName: asofJoinGetMatchedCmpOp
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tSimpleHashCleanup
    - asofJoinGetReverseOp
    - nodeType
    - getJoinCondPKTable
    - strlen
    - collectTableAliasFromNodes
    - tSimpleHashGet
    linkageType: ''
    returnType: bool
    signature: bool asofJoinGetMatchedCmpOp(SJoinLogicNode* pJoin, EOperatorType*
      pMatchedOpType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asofJoinGetMatchedCmpOp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1263
    functionDepth: 3
    functionLinenumber: 1263
    functionLinenumberEnd: 1270
    functionName: asofJoinCanDeriveMatchedUpperBound
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - asofJoinGetMatchedCmpOp
    linkageType: ''
    returnType: bool
    signature: bool asofJoinCanDeriveMatchedUpperBound(SJoinLogicNode* pJoin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asofJoinGetMatchedCmpOp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1272
    functionDepth: 3
    functionLinenumber: 1272
    functionLinenumberEnd: 1280
    functionName: asofJoinCanDeriveMatchedLowerBound
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - asofJoinGetMatchedCmpOp
    linkageType: ''
    returnType: bool
    signature: bool asofJoinCanDeriveMatchedLowerBound(SJoinLogicNode* pJoin)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1283,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1295,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1296,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1303,1
    - Dst: asofJoinCanDeriveMatchedUpperBound
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1307,1
    - Dst: asofJoinCanDeriveMatchedLowerBound
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1309,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1313,1
    - Dst: asofJoinCanDeriveMatchedUpperBound
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1317,1
    - Dst: asofJoinCanDeriveMatchedLowerBound
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1319,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - pJoin
    - pCond
    - pTables
    argTypes:
    - SJoinLogicNode*
    - SNode*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1282
    functionDepth: 4
    functionLinenumber: 1282
    functionLinenumberEnd: 1320
    functionName: pdcJoinIsSafeAsofCopyCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodeType
    - pdcJoinIsPrim
    - asofJoinCanDeriveMatchedLowerBound
    - asofJoinCanDeriveMatchedUpperBound
    linkageType: ''
    returnType: bool
    signature: bool pdcJoinIsSafeAsofCopyCond(SJoinLogicNode* pJoin, SNode* pCond,
      SSHashObj* pTables)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1323,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1340,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1340,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1344,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1344,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1346,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1351,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1352,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1353,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1354,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1356,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1364,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1365,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 3
    argNames:
    - pJoin
    - pCond
    - constAsPrim
    argTypes:
    - SJoinLogicNode*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1322
    functionDepth: 3
    functionLinenumber: 1322
    functionLinenumberEnd: 1368
    functionName: pdcJoinIsPrimEqualCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - pdcJoinIsPrim
    - TSWAP
    - tSimpleHashCleanup
    - nodeType
    - collectTableAliasFromNodes
    linkageType: ''
    returnType: bool
    signature: bool pdcJoinIsPrimEqualCond(SJoinLogicNode* pJoin, SNode* pCond, bool
      constAsPrim)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1371,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1381,1
    - Dst: pdcJoinHasPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1382,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pJoin
    - pCond
    - errCond
    argTypes:
    - SJoinLogicNode*
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1370
    functionDepth: 4
    functionLinenumber: 1370
    functionLinenumberEnd: 1391
    functionName: pdcJoinHasPrimEqualCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodeType
    - FOREACH
    - pdcJoinHasPrimEqualCond
    - pdcJoinIsPrimEqualCond
    linkageType: ''
    returnType: bool
    signature: bool pdcJoinHasPrimEqualCond(SJoinLogicNode* pJoin, SNode* pCond, bool*
      errCond)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1399,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1401,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1402,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1405,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1407,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1409,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1417,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1421,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1429,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1431,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1435,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1436,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 5
    argNames:
    - pJoin
    - ppInput
    - ppPrimEqCond
    - ppOnCond
    - constAsPrim
    argTypes:
    - SJoinLogicNode*
    - SNode**
    - SNode**
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1393
    functionDepth: 6
    functionLinenumber: 1393
    functionLinenumberEnd: 1441
    functionName: pdcJoinSplitPrimInLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - nodesMergeConds
    - planError
    - nodesDestroyList
    - ERASE_NODE
    - WHERE_EACH
    - nodesDestroyNode
    - nodesCloneNode
    - pdcJoinIsPrimEqualCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinSplitPrimInLogicCond(SJoinLogicNode* pJoin, SNode**
      ppInput, SNode** ppPrimEqCond, SNode** ppOnCond, bool constAsPrim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1448,1
    - Dst: pdcJoinSplitPrimInLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1450,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1451,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1462,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1443
    functionDepth: 7
    functionLinenumber: 1443
    functionLinenumberEnd: 1466
    functionName: pdcJoinSplitPrimEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - pdcJoinIsPrimEqualCond
    - pdcJoinSplitPrimInLogicCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinSplitPrimEqCond(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1471,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1475,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1476,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1479,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1480,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1489,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1489,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1490,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1490,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1497,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1501,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1511,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1512,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1514,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1515,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1518,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1521,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1523,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1526,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1528,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1531,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1533,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1534,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1537,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1540,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1542,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1545,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1547,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1550,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    argCount: 4
    argNames:
    - pJoin
    - pCond
    - allTags
    - pRes
    argTypes:
    - SJoinLogicNode*
    - SNode*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1468
    functionDepth: 7
    functionLinenumber: 1468
    functionLinenumberEnd: 1557
    functionName: pdcJoinIsEqualOnCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - pdcJoinColInTableColList
    - nodeType
    - IS_WINDOW_JOIN
    - IS_ASOF_JOIN
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinIsEqualOnCond(SJoinLogicNode* pJoin, SNode* pCond, bool*
      allTags, bool* pRes)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1569,1
    - Dst: pdcJoinIsEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1573,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1575,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1580,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1582,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1586,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1588,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1602,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1605,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1608,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1611,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1620,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1621,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1622,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1623,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1624,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1625,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1626,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1627,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1559
    functionDepth: 8
    functionLinenumber: 1559
    functionLinenumberEnd: 1631
    functionName: pdcJoinPartLogicEqualOnCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesMergeConds
    - nodesDestroyList
    - FOREACH
    - nodesDestroyNode
    - nodesCloneNode
    - pdcJoinIsEqualOnCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinPartLogicEqualOnCond(SJoinLogicNode* pJoin)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1642,1
    - Dst: pdcJoinPartLogicEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1644,1
    - Dst: pdcJoinIsEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1649,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1654,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1633
    functionDepth: 9
    functionLinenumber: 1633
    functionLinenumberEnd: 1673
    functionName: pdcJoinPartEqualOnCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - pdcJoinIsEqualOnCond
    - pdcJoinPartLogicEqualOnCond
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinPartEqualOnCond(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1677,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1678,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1683,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1685,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1687,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1688,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1691,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1675
    functionDepth: 5
    functionLinenumber: 1675
    functionLinenumberEnd: 1701
    functionName: pdcJoinCollectCondCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pdcJoinColInTableList
    - nodesCloneNode
    - nodesListStrictAppend
    - taosHashGet
    - nodeType
    - snprintf
    - taosHashPut
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes pdcJoinCollectCondCol(SNode* pNode, void* pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1708,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1708,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1713,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1714,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1716,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pJoin
    - pTables
    - pCondCols
    argTypes:
    - SJoinLogicNode*
    - SSHashObj*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1703
    functionDepth: 3
    functionLinenumber: 1703
    functionLinenumberEnd: 1721
    functionName: pdcJoinCollectColsFromParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinCollectColsFromParent(SJoinLogicNode* pJoin, SSHashObj*
      pTables, SNodeList* pCondCols)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1724,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1731,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1737,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1737,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1741,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1741,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1743,1
    - Dst: pdcJoinCollectColsFromParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1749,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1753,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1759,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1762,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1765,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1772,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1773,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1780,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1782,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1791,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1723
    functionDepth: 7
    functionLinenumber: 1723
    functionLinenumberEnd: 1794
    functionName: pdcJoinAddParentOnColsToTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesMakeList
    - nodesDestroyList
    - nodesListStrictAppend
    - tSimpleHashCleanup
    - pdcJoinCollectColsFromParent
    - nodeType
    - createColumnByRewriteExprs
    - FOREACH
    - nodesEqualNode
    - nodesCloneNode
    - collectTableAliasFromNodes
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinAddParentOnColsToTarget(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1772,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1773,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1780,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1782,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1769
    functionDepth: 5
    functionLinenumber: 1769
    functionLinenumberEnd: 1788
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 73
    functionsReached:
    - nodesCloneNode
    - nodesListStrictAppend
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTargets)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1804,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1807,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1810,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1813,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1816,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1823,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1824,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1831,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1833,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1842,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1797
    functionDepth: 8
    functionLinenumber: 1797
    functionLinenumberEnd: 1845
    functionName: pdcJoinAddPreFilterColsToTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - nodesListStrictAppend
    - createColumnByRewriteExprs
    - FOREACH
    - nodesEqualNode
    - nodesCollectColumnsFromNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinAddPreFilterColsToTarget(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1823,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1824,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1831,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1833,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1820
    functionDepth: 5
    functionLinenumber: 1820
    functionLinenumberEnd: 1839
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 75
    functionsReached:
    - nodesCloneNode
    - nodesListStrictAppend
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTargets)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1855,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1862,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1865,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1868,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1871,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1878,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1879,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1886,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1888,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1897,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1848
    functionDepth: 8
    functionLinenumber: 1848
    functionLinenumberEnd: 1900
    functionName: pdcJoinAddFilterColsToTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - nodesListStrictAppend
    - createColumnByRewriteExprs
    - FOREACH
    - nodesEqualNode
    - nodesCollectColumnsFromNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinAddFilterColsToTarget(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1878,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1879,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1886,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1875
    functionDepth: 5
    functionLinenumber: 1875
    functionLinenumberEnd: 1894
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 77
    functionsReached:
    - nodesCloneNode
    - nodesListStrictAppend
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTargets)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1907,1
    - Dst: pdcJoinSplitPrimInLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1909,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1910,1
    - Dst: scalarConvertOpValueNodeTs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1921,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1924,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1925,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - ppCond
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1902
    functionDepth: 7
    functionLinenumber: 1902
    functionLinenumberEnd: 1929
    functionName: pdcJoinSplitConstPrimEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - scalarConvertOpValueNodeTs
    - pdcJoinSplitPrimInLogicCond
    - nodeType
    - nodesDestroyNode
    - pdcJoinIsPrimEqualCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinSplitConstPrimEqCond(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin, SNode** ppCond)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1935,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1935,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1940,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1943,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1944,1
    - Dst: pdcJoinHasPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1950,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1952,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1954,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1957,1
    - Dst: pdcJoinHasPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1959,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1964,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1968,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1968,1
    - Dst: pdcJoinSplitConstPrimEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1975,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1980,1
    - Dst: pdcJoinSplitConstPrimEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1982,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1988,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1992,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1993,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1997,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1998,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 50
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1933
    functionDepth: 8
    functionLinenumber: 1933
    functionLinenumberEnd: 2002
    functionName: pdcJoinCheckAllCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pdcJoinHasPrimEqualCond
    - pdcJoinSplitConstPrimEqCond
    - IS_INNER_NONE_JOIN
    - IS_WINDOW_JOIN
    - IS_ASOF_JOIN
    - generateUsageErrMsg
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinCheckAllCond(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2009,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2011,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2013,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2015,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2019,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2022,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2026,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2029,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2004
    functionDepth: 4
    functionLinenumber: 2004
    functionLinenumberEnd: 2040
    functionName: pdcJoinHandleGrpJoinCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - generateUsageErrMsg
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcJoinHandleGrpJoinCond(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2044,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2046,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2042
    functionDepth: 2
    functionLinenumber: 2042
    functionLinenumberEnd: 2066
    functionName: pdcCheckTableCondType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - pdcJoinColInTableList
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes pdcCheckTableCondType(SNode* pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2083
    functionName: pdcCheckVirtualTableCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes pdcCheckVirtualTableCond(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2105
    functionName: pdcFindVtableScanTsCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: SColumnNode
    signature: SColumnNode * pdcFindVtableScanTsCol(SScanLogicNode* pScan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2114,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2125,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2113
    functionDepth: 4
    functionLinenumber: 2113
    functionLinenumberEnd: 2133
    functionName: pdcRewriteVtablePrimaryTsCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes pdcRewriteVtablePrimaryTsCol(SNode** pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2150,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2150,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2152,1
    - Dst: pdcFindVtableScanTsCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2157,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2159,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2162,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2163,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2168,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2168,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pPrimaryKeyCond
    - pOrgScan
    - ppRewrittenCond
    argTypes:
    - SNode*
    - SScanLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2143
    functionDepth: 3
    functionLinenumber: 2143
    functionLinenumberEnd: 2172
    functionName: pdcCloneRewriteVtablePrimaryCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - planError
    - nodesRewriteExpr
    - nodesWalkExpr
    - NODES_DESTORY_NODE
    - tstrerror
    - nodesCloneNode
    - pdcFindVtableScanTsCol
    linkageType: ''
    returnType: int32_t
    signature: "int32_t pdcCloneRewriteVtablePrimaryCond(SNode* pPrimaryKeyCond,\n
      \                                               SScanLogicNode* pOrgScan,\n
      \                                               SNode** ppRewrittenCond)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - pCond
    - pLeftTables
    - pRightTables
    - tableCondTypes
    argTypes:
    - SNode*
    - SSHashObj*
    - SSHashObj*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2175
    functionDepth: 3
    functionLinenumber: 2175
    functionLinenumberEnd: 2214
    functionName: pdcJoinGetOpTableCondTypes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t pdcJoinGetOpTableCondTypes(SNode* pCond, SSHashObj* pLeftTables,
      SSHashObj* pRightTables,\n                                          bool* tableCondTypes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2221,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2222,1
    - Dst: pdcJoinGetLogicTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2223,1
    - Dst: pdcJoinGetOpTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pCond
    - pLeftTables
    - pRightTables
    - tableCondTypes
    argTypes:
    - SNode*
    - SSHashObj*
    - SSHashObj*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2216
    functionDepth: 4
    functionLinenumber: 2216
    functionLinenumberEnd: 2234
    functionName: pdcJoinGetLogicTableCondTypes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodeType
    - FOREACH
    - pdcJoinGetLogicTableCondTypes
    - pdcJoinGetOpTableCondTypes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t pdcJoinGetLogicTableCondTypes(SNode* pCond, SSHashObj* pLeftTables,
      SSHashObj* pRightTables,\n                                             bool*
      tableCondTypes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2238,1
    - Dst: pdcJoinGetLogicTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2239,1
    - Dst: pdcJoinGetOpTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pCond
    - pLeftTables
    - pRightTables
    - tableCondTypes
    argTypes:
    - SNode*
    - SSHashObj*
    - SSHashObj*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2236
    functionDepth: 5
    functionLinenumber: 2236
    functionLinenumberEnd: 2243
    functionName: pdcGetTableCondTypes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - pdcJoinGetLogicTableCondTypes
    - pdcJoinGetOpTableCondTypes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t pdcGetTableCondTypes(SNode* pCond, SSHashObj* pLeftTables,
      SSHashObj* pRightTables,\n                                    bool* tableCondTypes)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2252,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2252,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2257,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2257,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2259,1
    - Dst: pdcGetTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2264,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2265,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2266,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2245
    functionDepth: 6
    functionLinenumber: 2245
    functionLinenumberEnd: 2300
    functionName: pdcRewriteTypeBasedOnConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - pdcGetTableCondTypes
    - collectTableAliasFromNodes
    - tSimpleHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcRewriteTypeBasedOnConds(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2304,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2306,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2308,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2325,1
    - Dst: fmIsIgnoreNullFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2342,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2302
    functionDepth: 4
    functionLinenumber: 2302
    functionLinenumberEnd: 2368
    functionName: pdcCheckTableResType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsIgnoreNullFunc
    - nodesWalkExprs
    - pdcJoinColInTableList
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes pdcCheckTableResType(SNode* pNode, void* pContext)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2378,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2378,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2382,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2382,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2384,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2391,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2406,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2425,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2426,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2370
    functionDepth: 4
    functionLinenumber: 2370
    functionLinenumberEnd: 2458
    functionName: pdcRewriteTypeBasedOnJoinRes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tSimpleHashCleanup
    - nodeType
    - nodesWalkExprs
    - collectTableAliasFromNodes
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcRewriteTypeBasedOnJoinRes(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2462,1
    - Dst: pdcJoinCheckAllCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2474,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2478,1
    - Dst: pdcJoinSplitPrimEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2480,1
    - Dst: pdcJoinSplitCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2486,1
    - Dst: pdcJoinPushDownOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2488,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2491,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2491,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2495,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2495,1
    - Dst: pdcRewriteTypeBasedOnConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2499,1
    - Dst: pdcRewriteTypeBasedOnJoinRes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2504,1
    - Dst: pdcJoinSplitCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2516,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2518,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2518,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2521,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2521,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2525,1
    - Dst: pdcJoinSplitPrimEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2527,1
    - Dst: pdcJoinPartEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2531,1
    - Dst: pdcJoinHandleGrpJoinCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2535,1
    - Dst: pdcJoinAddParentOnColsToTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2539,1
    - Dst: pdcJoinAddFilterColsToTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2547,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2551,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2554,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2555,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2556,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 70
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2461
    functionDepth: 10
    functionLinenumber: 2461
    functionLinenumberEnd: 2560
    functionName: pdcDealJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pdcJoinPushDownOnCond
    - pdcPushDownCondToChild
    - nodesListGetNode
    - pdcRewriteTypeBasedOnConds
    - pdcJoinHandleGrpJoinCond
    - pdcJoinSplitCond
    - OPTIMIZE_FLAG_TEST_MASK
    - OPTIMIZE_FLAG_SET_MASK
    - IS_WINDOW_JOIN
    - pdcJoinAddFilterColsToTarget
    - IS_ASOF_JOIN
    - pdcJoinSplitPrimEqCond
    - pdcJoinCheckAllCond
    - pdcJoinPartEqualOnCond
    - nodesDestroyNode
    - pdcJoinAddParentOnColsToTarget
    - pdcRewriteTypeBasedOnJoinRes
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcDealJoin(SOptimizeContext* pCxt, SJoinLogicNode* pJoin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2569,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2571,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2567
    functionDepth: 1
    functionLinenumber: 2567
    functionLinenumberEnd: 2579
    functionName: partAggCondHasAggFuncImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes partAggCondHasAggFuncImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pAgg
    - pCond
    argTypes:
    - SAggLogicNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2585
      start: 2581
    functionDepth: 3
    functionLinenumber: 2581
    functionLinenumberEnd: 2585
    functionName: partitionAggCondHasAggFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t partitionAggCondHasAggFunc(SAggLogicNode* pAgg, SNode* pCond)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2594,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2596,1
    - Dst: partitionAggCondHasAggFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2600,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2601,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2603,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2613,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2616,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2623,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2624,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2625,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2626,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2628,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - pAgg
    - ppAggFuncCond
    - ppGroupKeyCond
    argTypes:
    - SAggLogicNode*
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2631
      start: 2587
    functionDepth: 6
    functionLinenumber: 2587
    functionLinenumberEnd: 2631
    functionName: partitionAggCondConj
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesMergeConds
    - nodesDestroyList
    - FOREACH
    - partitionAggCondHasAggFunc
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t partitionAggCondConj(SAggLogicNode* pAgg, SNode** ppAggFuncCond,
      SNode** ppGroupKeyCond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2635,1
    - Dst: partitionAggCondConj
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2637,1
    - Dst: partitionAggCondHasAggFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pAgg
    - ppAggFunCond
    - ppGroupKeyCond
    argTypes:
    - SAggLogicNode*
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2633
    functionDepth: 7
    functionLinenumber: 2633
    functionLinenumberEnd: 2646
    functionName: partitionAggCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - partitionAggCondHasAggFunc
    - partitionAggCondConj
    linkageType: ''
    returnType: int32_t
    signature: int32_t partitionAggCond(SAggLogicNode* pAgg, SNode** ppAggFunCond,
      SNode** ppGroupKeyCond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pAgg
    - pAggFuncCond
    argTypes:
    - SOptimizeContext*
    - SAggLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2650
      start: 2648
    functionDepth: 7
    functionLinenumber: 2648
    functionLinenumberEnd: 2650
    functionName: pushCondToAggCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMergeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushCondToAggCond(SOptimizeContext* pCxt, SAggLogicNode* pAgg,
      SNode** pAggFuncCond)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2660,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2662,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2664,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2665,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2667,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2657
    functionDepth: 4
    functionLinenumber: 2657
    functionLinenumberEnd: 2679
    functionName: rewriteAggGroupKeyCondForPushDownImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - nodesDestroyNode
    - nodesCloneNode
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteAggGroupKeyCondForPushDownImpl(SNode** pNode, void*
      pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pCxt
    - pAgg
    - pGroupKeyCond
    argTypes:
    - SOptimizeContext*
    - SAggLogicNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2681
    functionDepth: 1
    functionLinenumber: 2681
    functionLinenumberEnd: 2685
    functionName: rewriteAggGroupKeyCondForPushDown
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteAggGroupKeyCondForPushDown(SOptimizeContext* pCxt, SAggLogicNode*
      pAgg, SNode* pGroupKeyCond)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2689,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2693,1
    - Dst: partitionAggCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2699,1
    - Dst: pushCondToAggCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2701,1
    - Dst: rewriteAggGroupKeyCondForPushDown
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2704,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2707,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2708,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2711,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2714,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2715,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pAgg
    argTypes:
    - SOptimizeContext*
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2687
    functionDepth: 8
    functionLinenumber: 2687
    functionLinenumberEnd: 2718
    functionName: pdcDealAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - pdcPushDownCondToChild
    - rewriteAggGroupKeyCondForPushDown
    - partitionAggCond
    - pushCondToAggCond
    - LIST_LENGTH
    - OPTIMIZE_FLAG_TEST_MASK
    - OPTIMIZE_FLAG_SET_MASK
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcDealAgg(SOptimizeContext* pCxt, SAggLogicNode* pAgg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2728,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2730,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2731,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2733,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2734,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2736,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ppNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2725
    functionDepth: 5
    functionLinenumber: 2725
    functionLinenumberEnd: 2749
    functionName: rewriteProjectCondForPushDownImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - nodesEqualNode
    - nodesDestroyNode
    - nodesCloneNode
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteProjectCondForPushDownImpl(SNode** ppNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pProject
    - ppProjectCond
    argTypes:
    - SOptimizeContext*
    - SProjectLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2751
    functionDepth: 1
    functionLinenumber: 2751
    functionLinenumberEnd: 2759
    functionName: rewriteProjectCondForPushDown
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rewriteProjectCondForPushDown(SOptimizeContext* pCxt, SProjectLogicNode*
      pProject,\n                                             SNode** ppProjectCond)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2763,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2767,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2774,1
    - Dst: rewriteProjectCondForPushDown
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2781,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2783,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2787,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2790,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pProject
    argTypes:
    - SOptimizeContext*
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2793
      start: 2761
    functionDepth: 8
    functionLinenumber: 2761
    functionLinenumberEnd: 2793
    functionName: pdcDealProject
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - pdcPushDownCondToChild
    - rewriteProjectCondForPushDown
    - LIST_LENGTH
    - OPTIMIZE_FLAG_TEST_MASK
    - OPTIMIZE_FLAG_SET_MASK
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcDealProject(SOptimizeContext* pCxt, SProjectLogicNode* pProject)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2797,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2800,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2801,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pLogicNode
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2795
    functionDepth: 8
    functionLinenumber: 2795
    functionLinenumberEnd: 2807
    functionName: pdcTrivialPushDown
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - OPTIMIZE_FLAG_TEST_MASK
    - pdcPushDownCondToChild
    - OPTIMIZE_FLAG_SET_MASK
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcTrivialPushDown(SOptimizeContext* pCxt, SLogicNode* pLogicNode)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2817,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2819,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2823,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2836,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2838,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2838,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2843,1
    - Dst: pushDownCondOptCalcTimeRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2843,1
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2844,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2849,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2850,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2851,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2852,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2853,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2862,1
    - Dst: pdcCloneRewriteVtablePrimaryCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2862,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2863,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2863,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2869,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2870,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2871,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2876,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2876,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2879,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2879,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2882,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2882,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2885,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2885,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2891,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2891,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2892,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2893,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2894,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2895,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2896,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2897,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2898,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 2
    argNames:
    - pCxt
    - pVScan
    argTypes:
    - SOptimizeContext*
    - SVirtualScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2816
    functionDepth: 9
    functionLinenumber: 2816
    functionLinenumberEnd: 2900
    functionName: pdcDealVirtualTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - PLAN_ERR_JRET
    - IS_TSWINDOW_SPECIFIED
    - tstrerror
    - planError
    - LIST_LENGTH
    - OPTIMIZE_FLAG_TEST_MASK
    - inStreamCalcClause
    - TAOS_SET_OBJ_ALIGNED
    - pdcCloneRewriteVtablePrimaryCond
    - nodeType
    - nodesMergeNode
    - NODES_DESTORY_NODE
    - OPTIMIZE_FLAG_SET_MASK
    - pushDownCondOptCalcTimeRange
    - filterPartitionCond
    - generateUsageErrMsg
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcDealVirtualTable(SOptimizeContext* pCxt, SVirtualScanLogicNode*
      pVScan)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2904,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2909,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2912,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2913,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2914,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2918,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2921,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2927,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2928,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2933,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2933,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2939,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2942,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2942,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pInterp
    argTypes:
    - SOptimizeContext*
    - SInterpFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2902
    functionDepth: 3
    functionLinenumber: 2902
    functionLinenumberEnd: 2946
    functionName: pdcDealInterp
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosMemoryMalloc
    - planError
    - LIST_LENGTH
    - OPTIMIZE_FLAG_TEST_MASK
    - OPTIMIZE_FLAG_SET_MASK
    - nodeType
    - TSDB_CHECK_NULL
    - tstrerror
    - TAOS_CHECK_EXIT
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcDealInterp(SOptimizeContext* pCxt, SInterpFuncLogicNode*
      pInterp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2950,1
    - Dst: pdcDealScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2952,1
    - Dst: pdcDealJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2955,1
    - Dst: pdcDealAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2958,1
    - Dst: pdcDealProject
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2961,1
    - Dst: pdcTrivialPushDown
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2965,1
    - Dst: pdcDealVirtualTable
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2968,1
    - Dst: pdcDealInterp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2971,1
    - Dst: pdcDealVirtualSuperTableScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2974,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2981,1
    - Dst: pdcOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2982,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - pCxt
    - pLogicNode
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2948
    functionDepth: 11
    functionLinenumber: 2948
    functionLinenumberEnd: 2989
    functionName: pdcOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - pdcDealProject
    - pdcOptimizeImpl
    - pdcDealAgg
    - pdcDealJoin
    - nodeType
    - pdcDealScan
    - FOREACH
    - pdcDealVirtualSuperTableScan
    - pdcDealVirtualTable
    - pdcDealInterp
    - pdcTrivialPushDown
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcOptimizeImpl(SOptimizeContext* pCxt, SLogicNode* pLogicNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdcOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2993
      start: 2991
    functionDepth: 12
    functionLinenumber: 2991
    functionLinenumberEnd: 2993
    functionName: pdcOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - pdcOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdcOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2996,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3005,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3006,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3011,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3020,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3025,1
    - Dst: fmIsIgnoreNullFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3027,1
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3030,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3032,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3033,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3036,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3041,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3042,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3045,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3052
      start: 2995
    functionDepth: 5
    functionLinenumber: 2995
    functionLinenumberEnd: 3052
    functionName: eliminateNotNullCondMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - FOREACH
    - nodesEqualNode
    - fmIsMultiResFunc
    - fmIsIgnoreNullFunc
    linkageType: ''
    returnType: bool
    signature: bool eliminateNotNullCondMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3055,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3060,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3067
      start: 3054
    functionDepth: 4
    functionLinenumber: 3054
    functionLinenumberEnd: 3067
    functionName: eliminateNotNullCondOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - nodesDestroyNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t eliminateNotNullCondOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3070,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3073,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3074,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pSortKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3075
      start: 3069
    functionDepth: 1
    functionLinenumber: 3069
    functionLinenumberEnd: 3075
    functionName: sortPriKeyOptIsPriKeyOrderBy
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    - isPrimaryKeyImpl
    linkageType: ''
    returnType: bool
    signature: bool sortPriKeyOptIsPriKeyOrderBy(SNodeList* pSortKeys)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3078,1
    - Dst: sortPriKeyOptIsPriKeyOrderBy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3083,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3083,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3086,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3087,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3094,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3098,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3099,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 3077
    functionDepth: 2
    functionLinenumber: 3077
    functionLinenumberEnd: 3105
    functionName: sortPriKeyOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - optFindPossibleNode
    - LIST_LENGTH
    - nodeType
    - FOREACH
    - sortPriKeyOptIsPriKeyOrderBy
    linkageType: ''
    returnType: bool
    signature: bool sortPriKeyOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - pJoin
    - pSort
    - pNotOptimize
    - keepSort
    argTypes:
    - SJoinLogicNode*
    - SSortLogicNode*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3168
      start: 3107
    functionDepth: 0
    functionLinenumber: 3107
    functionLinenumberEnd: 3168
    functionName: sortPriKeyOptHandleLeftRightJoinSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sortPriKeyOptHandleLeftRightJoinSort(SJoinLogicNode* pJoin,
      SSortLogicNode* pSort, bool* pNotOptimize,\n                                                    bool*
      keepSort)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptHandleLeftRightJoinSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3178,1
    - Dst: sortPriKeyOptGetSequencingNodesImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3191,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3191,1
    - Dst: sortPriKeyOptGetSequencingNodesImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3194,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - pNode
    - groupSort
    - pSort
    - pNotOptimize
    - pSequencingNodes
    - keepSort
    argTypes:
    - SLogicNode*
    - bool
    - SSortLogicNode*
    - bool*
    - SNodeList**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3170
    functionDepth: 1
    functionLinenumber: 3170
    functionLinenumberEnd: 3199
    functionName: sortPriKeyOptHandleJoinSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - sortPriKeyOptGetSequencingNodesImpl
    - sortPriKeyOptHandleLeftRightJoinSort
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sortPriKeyOptHandleJoinSort(SLogicNode* pNode, bool groupSort,
      SSortLogicNode* pSort, bool* pNotOptimize,\n                                           SNodeList**
      pSequencingNodes, bool* keepSort)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSort
    argTypes:
    - SSortLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3201
    functionDepth: 1
    functionLinenumber: 3201
    functionLinenumberEnd: 3203
    functionName: sortPriKeyOptGetPriKeyOrder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: EOrder
    signature: EOrder sortPriKeyOptGetPriKeyOrder(SSortLogicNode* pSort)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3211,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3236,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - pLogicNode
    - sortOrder
    argTypes:
    - SLogicNode*
    - EOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3247
      start: 3205
    functionDepth: 1
    functionLinenumber: 3205
    functionLinenumberEnd: 3247
    functionName: sortPriKeyOptHasUnsupportedPkFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool sortPriKeyOptHasUnsupportedPkFunc(SLogicNode* pLogicNode, EOrder
      sortOrder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3245
      start: 3235
    functionDepth: 1
    functionLinenumber: 3235
    functionLinenumberEnd: 3245
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncList)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptGetPriKeyOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3251,1
    - Dst: sortPriKeyOptHasUnsupportedPkFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3252,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3262,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3269,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3273,1
    - Dst: sortPriKeyOptHandleJoinSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3277,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3286,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3311,1
    - Dst: sortPriKeyOptGetSequencingNodesImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3316,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3316,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 6
    argNames:
    - pNode
    - groupSort
    - pSort
    - pNotOptimize
    - pSequencingNodes
    - keepSort
    argTypes:
    - SLogicNode*
    - bool
    - SSortLogicNode*
    - bool*
    - SNodeList**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3249
    functionDepth: 5
    functionLinenumber: 3249
    functionLinenumberEnd: 3318
    functionName: sortPriKeyOptGetSequencingNodesImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 2
    functionsReached:
    - nodesListGetNode
    - nodesListMakeAppend
    - sortPriKeyOptGetPriKeyOrder
    - NODES_CLEAR_LIST
    - sortPriKeyOptHasUnsupportedPkFunc
    - sortPriKeyOptHandleJoinSort
    - LIST_LENGTH
    - sortPriKeyOptGetSequencingNodesImpl
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sortPriKeyOptGetSequencingNodesImpl(SLogicNode* pNode, bool
      groupSort, SSortLogicNode* pSort,\n                                            bool*
      pNotOptimize, SNodeList** pSequencingNodes, bool* keepSort)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptGetSequencingNodesImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3323,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3323,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - pSort
    - groupSort
    - pSequencingNodes
    - keepSort
    argTypes:
    - SSortLogicNode*
    - bool
    - SNodeList**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3329
      start: 3320
    functionDepth: 6
    functionLinenumber: 3320
    functionLinenumberEnd: 3329
    functionName: sortPriKeyOptGetSequencingNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - NODES_CLEAR_LIST
    - sortPriKeyOptGetSequencingNodesImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sortPriKeyOptGetSequencingNodes(SSortLogicNode* pSort, bool
      groupSort, SNodeList** pSequencingNodes,\n                                               bool*
      keepSort)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptGetPriKeyOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3333,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3336,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3339,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3349,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3352,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3355,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3357,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3359,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3361,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3362,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - pCxt
    - pLogicSubplan
    - pSort
    - pSequencingNodes
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SSortLogicNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3331
    functionDepth: 6
    functionLinenumber: 3331
    functionLinenumberEnd: 3366
    functionName: sortPriKeyOptApply
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - sortPriKeyOptGetPriKeyOrder
    - TSWAP
    - NODES_CLEAR_LIST
    - nodeType
    - replaceLogicNode
    - optSetParentOrder
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sortPriKeyOptApply(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SSortLogicNode* pSort,\n                                  SNodeList*
      pSequencingNodes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3336,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3339,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3349,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3335
    functionDepth: 3
    functionLinenumber: 3335
    functionLinenumberEnd: 3353
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    functionsReached:
    - nodeType
    - optSetParentOrder
    - TSWAP
    linkageType: ''
    returnType: void
    signature: void FOREACH(pSequencingNode, pSequencingNodes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptGetSequencingNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3371,1
    - Dst: sortPriKeyOptApply
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3374,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3376,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3378,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3380,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3382,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3383,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3388,1
    - Dst: sortPriKeyOptGetPriKeyOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3388,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSort
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SSortLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3368
    functionDepth: 7
    functionLinenumber: 3368
    functionLinenumberEnd: 3396
    functionName: sortPrimaryKeyOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesClearList
    - sortPriKeyOptGetPriKeyOrder
    - TSWAP
    - sortPriKeyOptGetSequencingNodes
    - sortPriKeyOptApply
    - NODES_CLEAR_LIST
    - replaceLogicNode
    - optSetParentOrder
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortPrimaryKeyOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SSortLogicNode* pSort)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3399,1
    - Dst: sortPrimaryKeyOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3398
    functionDepth: 8
    functionLinenumber: 3398
    functionLinenumberEnd: 3404
    functionName: sortPrimaryKeyOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - sortPrimaryKeyOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortPrimaryKeyOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3410,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3416,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3419,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3429
      start: 3406
    functionDepth: 1
    functionLinenumber: 3406
    functionLinenumberEnd: 3429
    functionName: getJoinCondPKTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: char
    signature: char * getJoinCondPKTable(SNode* pNode)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3434,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3435,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3457,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3463,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3477,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3479,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3485,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3485,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3486,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3487,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3487,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3488,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3494,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3495,1
    - Dst: getJoinCondPKTable
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3497,1
    - Dst: getJoinCondPKTable
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3498,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3502,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3505,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3505,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3507,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3507,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3511,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3515,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3519,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3521,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3526,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3528,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3529,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3534,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3536,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3537,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3540,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3542,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3543,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3548,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3550,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3551,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3555,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3557,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3566,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3566,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 103
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3570
      start: 3431
    functionDepth: 6
    functionLinenumber: 3431
    functionLinenumberEnd: 3570
    functionName: sortForJoinOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - nodesCloneList
    - nodesListMakeAppend
    - nodesCloneNode
    - planError
    - tSimpleHashCleanup
    - nodeType
    - nodesMakeNode
    - QUERY_CHECK_CODE
    - getJoinCondPKTable
    - tstrerror
    - strlen
    - nodesDestroyNode
    - collectTableAliasFromNodes
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortForJoinOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SJoinLogicNode* pJoin)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3573,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3582,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3583,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3605
      start: 3572
    functionDepth: 1
    functionLinenumber: 3572
    functionLinenumberEnd: 3605
    functionName: sortForJoinOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool sortForJoinOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3609,1
    - Dst: sortForJoinOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3607
    functionDepth: 7
    functionLinenumber: 3607
    functionLinenumberEnd: 3614
    functionName: sortForJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - sortForJoinOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortForJoinOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3617,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3625,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3630
      start: 3616
    functionDepth: 1
    functionLinenumber: 3616
    functionLinenumberEnd: 3630
    functionName: joinCondGetScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodeType
    - nodesListGetNode
    - joinCondGetScanNode
    linkageType: ''
    returnType: SScanLogicNode
    signature: SScanLogicNode * joinCondGetScanNode(SLogicNode* pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3633,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3635,1
    - Dst: joinCondGetAllScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3641,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3641,1
    - Dst: joinCondGetAllScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3643,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - pList
    argTypes:
    - SLogicNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3632
    functionDepth: 6
    functionLinenumber: 3632
    functionLinenumberEnd: 3650
    functionName: joinCondGetAllScanNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodeType
    - joinCondGetAllScanNodes
    - nodesListMakeStrictAppend
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t joinCondGetAllScanNodes(SLogicNode* pNode, SNodeList** pList)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3653,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3654,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3660,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3668,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3669,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3672,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3672,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3673,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3678,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3678,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3679,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3679,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3680,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3685,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3686,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3689,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3690,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3695,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3696,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3699,1
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3703,1
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3703,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3704,1
    - Dst: joinCondHasValidPrimKeyCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3708,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 36
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3709
      start: 3652
    functionDepth: 2
    functionLinenumber: 3652
    functionLinenumberEnd: 3709
    functionName: joinCondMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_TSWINDOW_SPECIFIED
    - OPTIMIZE_FLAG_TEST_MASK
    - OPTIMIZE_FLAG_SET_MASK
    - nodeType
    - joinCondHasValidPrimKeyCond
    - joinCondGetScanNode
    linkageType: ''
    returnType: bool
    signature: bool joinCondMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3712,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3714,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3715,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3721
      start: 3711
    functionDepth: 1
    functionLinenumber: 3711
    functionLinenumberEnd: 3721
    functionName: joinCondHasValidPrimKeyCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 2
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool joinCondHasValidPrimKeyCond(SJoinLogicNode* pJoin)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - STimeWindow*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3723
    functionDepth: 0
    functionLinenumber: 3723
    functionLinenumberEnd: 3730
    functionName: joinCondMergeScanRange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void joinCondMergeScanRange(STimeWindow* pDst, STimeWindow* pSrc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3733,1
    - Dst: joinCondGetAllScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3742,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3747,1
    - Dst: joinCondMergeScanRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3752,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3757,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3761,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3762,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3763,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3764,1
    - Dst: joinCondMergeScanRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3769,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3773,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3774,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3775,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3776,1
    - Dst: joinCondMergeScanRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3781,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3788,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3793
      start: 3732
    functionDepth: 7
    functionLinenumber: 3732
    functionLinenumberEnd: 3793
    functionName: joinCondOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - nodesListGetNode
    - nodesClearList
    - joinCondMergeScanRange
    - OPTIMIZE_FLAG_SET_MASK
    - joinCondGetAllScanNodes
    - joinCondGetScanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t joinCondOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: joinCondMergeScanRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3752
      start: 3752
    functionDepth: 1
    functionLinenumber: 3752
    functionLinenumberEnd: 3752
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    functionsReached:
    - joinCondMergeScanRange
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pScanList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3753
    functionDepth: 0
    functionLinenumber: 3753
    functionLinenumberEnd: 3756
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pScanList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3796,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3797,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3807,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3811,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3812,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3813,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3814,1
    - Dst: joinCondHasValidPrimKeyCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3816,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3817,1
    - Dst: asofJoinCanDeriveMatchedLowerBound
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3824,1
    - Dst: asofJoinCanDeriveMatchedUpperBound
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3827,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3832,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3836
      start: 3795
    functionDepth: 4
    functionLinenumber: 3795
    functionLinenumberEnd: 3836
    functionName: asofJoinCondMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - asofJoinCanDeriveMatchedUpperBound
    - OPTIMIZE_FLAG_TEST_MASK
    - OPTIMIZE_FLAG_SET_MASK
    - nodeType
    - joinCondHasValidPrimKeyCond
    - asofJoinCanDeriveMatchedLowerBound
    - joinCondGetScanNode
    linkageType: ''
    returnType: bool
    signature: bool asofJoinCondMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: asofJoinCanDeriveMatchedUpperBound
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3854,1
    - Dst: asofJoinCanDeriveMatchedLowerBound
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3861,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - pJoin
    - pLScan
    - pRScan
    argTypes:
    - SJoinLogicNode*
    - SScanLogicNode*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3873
      start: 3838
    functionDepth: 4
    functionLinenumber: 3838
    functionLinenumberEnd: 3873
    functionName: asofJoinDeriveMatchedScanRange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - asofJoinCanDeriveMatchedUpperBound
    - asofJoinCanDeriveMatchedLowerBound
    linkageType: ''
    returnType: bool
    signature: bool asofJoinDeriveMatchedScanRange(SJoinLogicNode* pJoin, SScanLogicNode*
      pLScan, SScanLogicNode* pRScan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3877,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3882,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3883,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3884,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3885,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3887,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3891,1
    - Dst: asofJoinDeriveMatchedScanRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3875
    functionDepth: 5
    functionLinenumber: 3875
    functionLinenumberEnd: 3901
    functionName: asofJoinCondOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - asofJoinDeriveMatchedScanRange
    - nodesListGetNode
    - OPTIMIZE_FLAG_SET_MASK
    - joinCondGetScanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t asofJoinCondOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3904,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3905,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3916
      start: 3903
    functionDepth: 1
    functionLinenumber: 3903
    functionLinenumberEnd: 3916
    functionName: smaIndexOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool smaIndexOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3921,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3935,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3937,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3940,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3942,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - pScan
    - pIndex
    - pCols
    - pOutput
    argTypes:
    - SScanLogicNode*
    - STableIndexInfo*
    - SNodeList*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3951
      start: 3918
    functionDepth: 5
    functionLinenumber: 3918
    functionLinenumberEnd: 3951
    functionName: smaIndexOptCreateSmaScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - memcpy
    - nodesMakeNode
    - nodesDestroyNode
    - taosMemoryCalloc
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t smaIndexOptCreateSmaScan(SScanLogicNode* pScan, STableIndexInfo*
      pIndex, SNodeList* pCols,\n                                        SLogicNode**
      pOutput)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3959,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3968,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3969,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - pScan
    - pWindow
    - pIndex
    - tz
    argTypes:
    - SScanLogicNode*
    - SWindowLogicNode*
    - STableIndexInfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3972
      start: 3953
    functionDepth: 1
    functionLinenumber: 3953
    functionLinenumberEnd: 3972
    functionName: smaIndexOptEqualInterval
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosTimeTruncate
    - IS_TSWINDOW_SPECIFIED
    linkageType: ''
    returnType: bool
    signature: bool smaIndexOptEqualInterval(SScanLogicNode* pScan, SWindowLogicNode*
      pWindow, STableIndexInfo* pIndex, void* tz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3976,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3984,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - pFunc
    - tableId
    - colId
    - ppNode
    argTypes:
    - SNode*
    - uint64_t
    - int32_t
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3989
      start: 3974
    functionDepth: 5
    functionLinenumber: 3974
    functionLinenumberEnd: 3989
    functionName: smaIndexOptCreateSmaCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t smaIndexOptCreateSmaCol(SNode* pFunc, uint64_t tableId, int32_t
      colId, SColumnNode** ppNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pQueryFunc
    - pSmaFuncs
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4001
      start: 3991
    functionDepth: 5
    functionLinenumber: 3991
    functionLinenumberEnd: 4001
    functionName: smaIndexOptFindSmaFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t smaIndexOptFindSmaFunc(SNode* pQueryFunc, SNodeList* pSmaFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3999
      start: 3994
    functionDepth: 5
    functionLinenumber: 3994
    functionLinenumberEnd: 3999
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pSmaFunc, pSmaFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pSmaFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4011
      start: 4003
    functionDepth: 1
    functionLinenumber: 4003
    functionLinenumberEnd: 4011
    functionName: smaIndexOptFindWStartFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNode
    signature: SNode * smaIndexOptFindWStartFunc(SNodeList* pSmaFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4009
      start: 4005
    functionDepth: 1
    functionLinenumber: 4005
    functionLinenumberEnd: 4009
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pSmaFunc, pSmaFuncs)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: smaIndexOptFindSmaFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4022,1
    - Dst: smaIndexOptCreateSmaCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4027,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4031,1
    - Dst: smaIndexOptFindWStartFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4046,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4048,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4050,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4050,1
    - Dst: rewriteExprAliasName
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4055,1
    - Dst: smaIndexOptCreateSmaCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4057,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4059,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4062,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4064,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4065,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4071,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 4
    argNames:
    - pFuncs
    - tableId
    - pSmaFuncs
    - pOutput
    argTypes:
    - SNodeList*
    - uint64_t
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4075
      start: 4013
    functionDepth: 6
    functionLinenumber: 4013
    functionLinenumberEnd: 4075
    functionName: smaIndexOptCreateSmaCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListPushFront
    - nodesListMakeStrictAppend
    - smaIndexOptCreateSmaCol
    - nodesDestroyList
    - qError
    - tstrerror
    - smaIndexOptFindSmaFunc
    - rewriteExprAliasName
    - nodesDestroyNode
    - smaIndexOptFindWStartFunc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t smaIndexOptCreateSmaCols(SNodeList* pFuncs, uint64_t tableId,
      SNodeList* pSmaFuncs,\n                                        SNodeList** pOutput)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: smaIndexOptFindSmaFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4022,1
    - Dst: smaIndexOptCreateSmaCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4027,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4031,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4042
      start: 4021
    functionDepth: 6
    functionLinenumber: 4021
    functionLinenumberEnd: 4042
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    functionsReached:
    - smaIndexOptCreateSmaCol
    - smaIndexOptFindSmaFunc
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFunc, pFuncs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smaIndexOptEqualInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4079,1
    - Dst: nodesStringToList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4083,1
    - Dst: smaIndexOptCreateSmaCols
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4085,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pScan
    - pIndex
    - pCols
    - tz
    argTypes:
    - SScanLogicNode*
    - STableIndexInfo*
    - SNodeList**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4089
      start: 4077
    functionDepth: 7
    functionLinenumber: 4077
    functionLinenumberEnd: 4089
    functionName: smaIndexOptCouldApplyIndex
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - smaIndexOptCreateSmaCols
    - nodesStringToList
    - nodesDestroyList
    - smaIndexOptEqualInterval
    linkageType: ''
    returnType: int32_t
    signature: int32_t smaIndexOptCouldApplyIndex(SScanLogicNode* pScan, STableIndexInfo*
      pIndex, SNodeList** pCols, void* tz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smaIndexOptCreateSmaScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4094,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4096,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pLogicSubplan
    - pScan
    - pIndex
    - pSmaCols
    argTypes:
    - SLogicSubplan*
    - SScanLogicNode*
    - STableIndexInfo*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4102
      start: 4091
    functionDepth: 6
    functionLinenumber: 4091
    functionLinenumberEnd: 4102
    functionName: smaIndexOptApplyIndex
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - replaceLogicNode
    - smaIndexOptCreateSmaScan
    linkageType: ''
    returnType: int32_t
    signature: "int32_t smaIndexOptApplyIndex(SLogicSubplan* pLogicSubplan, SScanLogicNode*
      pScan, STableIndexInfo* pIndex,\n                                     SNodeList*
      pSmaCols)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4108,1
    - Dst: smaIndexOptCouldApplyIndex
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4110,1
    - Dst: smaIndexOptApplyIndex
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pScan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4118
      start: 4104
    functionDepth: 8
    functionLinenumber: 4104
    functionLinenumberEnd: 4118
    functionName: smaIndexOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - smaIndexOptApplyIndex
    - taosArrayGet
    - taosArrayGetSize
    - smaIndexOptCouldApplyIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t smaIndexOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SScanLogicNode* pScan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4121,1
    - Dst: smaIndexOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4126
      start: 4120
    functionDepth: 9
    functionLinenumber: 4120
    functionLinenumberEnd: 4126
    functionName: smaIndexOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - smaIndexOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t smaIndexOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 4128
    functionDepth: 1
    functionLinenumber: 4128
    functionLinenumberEnd: 4136
    functionName: partTagsOptHasTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes partTagsOptHasTbname(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4142
      start: 4138
    functionDepth: 4
    functionLinenumber: 4138
    functionLinenumberEnd: 4142
    functionName: planOptNodeListHasTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: bool planOptNodeListHasTbname(SNodeList* pKeys)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4145,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4146,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4146,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4147,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4149,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4152,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4163,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4177
      start: 4144
    functionDepth: 1
    functionLinenumber: 4144
    functionLinenumberEnd: 4177
    functionName: partTagsIsOptimizableNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool partTagsIsOptimizableNode(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4185
      start: 4179
    functionDepth: 1
    functionLinenumber: 4179
    functionLinenumberEnd: 4185
    functionName: partTagsGetPartKeys
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * partTagsGetPartKeys(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4193
      start: 4187
    functionDepth: 1
    functionLinenumber: 4187
    functionLinenumberEnd: 4193
    functionName: partTagsGetFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * partTagsGetFuncs(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4198,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4203
      start: 4195
    functionDepth: 1
    functionLinenumber: 4195
    functionLinenumberEnd: 4203
    functionName: partTagsOptAreSupportedFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - fmIsIndefiniteRowsFunc
    - fmIsSelectFunc
    linkageType: ''
    returnType: bool
    signature: bool partTagsOptAreSupportedFuncs(SNodeList* pFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4198,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4201
      start: 4197
    functionDepth: 1
    functionLinenumber: 4197
    functionLinenumberEnd: 4201
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    functionsReached:
    - fmIsIndefiniteRowsFunc
    - fmIsSelectFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFunc, pFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: partTagsIsOptimizableNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4206,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4210,1
    - Dst: partTagsGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4210,1
    - Dst: partTagsOptAreSupportedFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4210,1
    - Dst: partTagsGetFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4211
      start: 4205
    functionDepth: 5
    functionLinenumber: 4205
    functionLinenumberEnd: 4211
    functionName: partTagsOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - partTagsGetFuncs
    - partTagsGetPartKeys
    - partTagsIsOptimizableNode
    - keysHasCol
    - partTagsOptAreSupportedFuncs
    linkageType: ''
    returnType: bool
    signature: bool partTagsOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pPartKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4217
      start: 4213
    functionDepth: 1
    functionLinenumber: 4213
    functionLinenumberEnd: 4217
    functionName: partTagsOptRebuildTbanme
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t partTagsOptRebuildTbanme(SNodeList* pPartKeys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4222,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4224,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pAlias
    - pTableAlias
    - pColName
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4226
      start: 4220
    functionDepth: 1
    functionLinenumber: 4220
    functionLinenumberEnd: 4226
    functionName: partTagsSetAlias
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - snprintf
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void partTagsSetAlias(char* pAlias, const char* pTableAlias, const
      char* pColName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4231,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4236,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4237,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4238,1
    - Dst: partTagsSetAlias
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4241,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4243,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4245,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4247,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4250,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pFuncName
    - pNode
    - ppNode
    argTypes:
    - char*
    - SNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4259
      start: 4228
    functionDepth: 6
    functionLinenumber: 4228
    functionLinenumberEnd: 4259
    functionName: partTagsCreateWrapperFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesMakeNode
    - nodeType
    - snprintf
    - partTagsSetAlias
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t partTagsCreateWrapperFunc(const char* pFuncName, SNode* pNode,
      SFunctionNode** ppNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4269
      start: 4261
    functionDepth: 1
    functionLinenumber: 4261
    functionLinenumberEnd: 4269
    functionName: partTagsHasIndefRowsSelectFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - fmIsIndefiniteRowsFunc
    linkageType: ''
    returnType: bool
    signature: bool partTagsHasIndefRowsSelectFunc(SNodeList* pFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4267
      start: 4263
    functionDepth: 1
    functionLinenumber: 4263
    functionLinenumberEnd: 4267
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    functionsReached:
    - fmIsIndefiniteRowsFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFunc, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4274,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4275,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pExpr
    - pTargets
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4283
      start: 4271
    functionDepth: 5
    functionLinenumber: 4271
    functionLinenumberEnd: 4283
    functionName: partTagsNeedOutput
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesEqualNode
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool partTagsNeedOutput(SNode* pExpr, SNodeList* pTargets)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4274,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4275,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4281
      start: 4273
    functionDepth: 5
    functionLinenumber: 4273
    functionLinenumberEnd: 4281
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    functionsReached:
    - nodeType
    - nodesEqualNode
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pOutput, pTargets)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: partTagsHasIndefRowsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4286,1
    - Dst: partTagsNeedOutput
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4291,1
    - Dst: partTagsCreateWrapperFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4296,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4298,1
    - Dst: partTagsCreateWrapperFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4301,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - pGroupTags
    - start
    - pAgg
    argTypes:
    - SNodeList*
    - int32_t
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4311
      start: 4285
    functionDepth: 7
    functionLinenumber: 4285
    functionLinenumberEnd: 4311
    functionName: partTagsRewriteGroupTagsToFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - partTagsCreateWrapperFunc
    - partTagsNeedOutput
    - partTagsHasIndefRowsSelectFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t partTagsRewriteGroupTagsToFuncs(SNodeList* pGroupTags, int32_t
      start, SAggLogicNode* pAgg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: partTagsNeedOutput
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4291,1
    - Dst: partTagsCreateWrapperFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4296,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4298,1
    - Dst: partTagsCreateWrapperFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4301,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4309
      start: 4290
    functionDepth: 7
    functionLinenumber: 4290
    functionLinenumberEnd: 4309
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 87
    functionsReached:
    - nodesListStrictAppend
    - partTagsCreateWrapperFunc
    - partTagsNeedOutput
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pGroupTags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4315,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4317,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4317,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4318,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4323
      start: 4313
    functionDepth: 1
    functionLinenumber: 4313
    functionLinenumberEnd: 4323
    functionName: partTagsCollectColsNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strlen
    - taosHashGet
    - taosHashPut
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes partTagsCollectColsNodes(SNode* pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4329,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4329,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4334,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4336,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4341,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4342,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4342,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4343,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4350
      start: 4326
    functionDepth: 3
    functionLinenumber: 4326
    functionLinenumberEnd: 4350
    functionName: partTagsIsScanPseudoColsInConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - nodesWalkExpr
    - FOREACH
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool partTagsIsScanPseudoColsInConds(SScanLogicNode* pScan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: partTagsIsScanPseudoColsInConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4357,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4362,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4363,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4364,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4365,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4375
      start: 4352
    functionDepth: 6
    functionLinenumber: 4352
    functionLinenumberEnd: 4375
    functionName: partTagsOptRemovePseudoCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - ERASE_NODE
    - FOREACH
    - partTagsIsScanPseudoColsInConds
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t partTagsOptRemovePseudoCols(SScanLogicNode* pScan)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4378,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4384,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4385,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4386,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4387,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4389,1
    - Dst: scanPathOptSetGroupOrderScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4394,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4399,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4400,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4406,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4407,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4410,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4411,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4417,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4420,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4422,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4430,1
    - Dst: partTagsRewriteGroupTagsToFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4432,1
    - Dst: partTagsOptRemovePseudoCols
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4436,1
    - Dst: partTagsOptRebuildTbanme
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4439,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4444
      start: 4377
    functionDepth: 8
    functionLinenumber: 4377
    functionLinenumberEnd: 4444
    functionName: partTagsOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - TSWAP
    - nodesCloneNode
    - NODES_CLEAR_LIST
    - LIST_LENGTH
    - adjustLogicNodeDataRequirement
    - nodeType
    - FOREACH
    - nodesEqualNode
    - replaceLogicNode
    - scanPathOptSetGroupOrderScan
    - NODES_DESTORY_LIST
    - partTagsOptRebuildTbanme
    - partTagsRewriteGroupTagsToFuncs
    - nodesDestroyNode
    - partTagsOptRemovePseudoCols
    linkageType: ''
    returnType: int32_t
    signature: int32_t partTagsOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4448,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4448,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4450,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4452,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4452,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4454,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4458,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4458,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pProjectNode
    - pRet
    argTypes:
    - SProjectLogicNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4467
      start: 4446
    functionDepth: 1
    functionLinenumber: 4446
    functionLinenumberEnd: 4467
    functionName: eliminateProjOptCheckProjColumnNames
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - FOREACH
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t eliminateProjOptCheckProjColumnNames(SProjectLogicNode* pProjectNode,
      bool* pRet)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4472,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4472,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4473,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4473,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4474,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4478,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4483,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4483,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4484,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4484,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4485,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4489,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4489,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4493,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4493,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4494,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4495,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4500,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4500,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4501,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4507,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4507,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4508,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4509,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4509,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4514,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4514,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4515,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4516,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4528,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4530,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4534,1
    - Dst: eliminateProjOptCheckProjColumnNames
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4540,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 48
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4545
      start: 4469
    functionDepth: 2
    functionLinenumber: 4469
    functionLinenumberEnd: 4545
    functionName: eliminateProjOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - eliminateProjOptCheckProjColumnNames
    - LIST_LENGTH
    - OPTIMIZE_FLAG_TEST_MASK
    - nodeType
    - FOREACH
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool eliminateProjOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4553,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4556,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4566
      start: 4552
    functionDepth: 5
    functionLinenumber: 4552
    functionLinenumberEnd: 4566
    functionName: eliminateProjOptCanUseNewChildTargetsImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes eliminateProjOptCanUseNewChildTargetsImpl(SNode* pNode, void*
      pContext)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4571,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4575,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4578,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4581,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4584,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pChild
    - pNewChildTargets
    argTypes:
    - SLogicNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4588
      start: 4568
    functionDepth: 3
    functionLinenumber: 4568
    functionLinenumberEnd: 4588
    functionName: eliminateProjOptCanChildConditionUseChildTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool eliminateProjOptCanChildConditionUseChildTargets(SLogicNode* pChild,
      SNodeList* pNewChildTargets)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4597,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4600,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4601,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4610
      start: 4590
    functionDepth: 5
    functionLinenumber: 4590
    functionLinenumberEnd: 4610
    functionName: alignProjectionWithTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - strcmp
    - nodesListErase
    linkageType: ''
    returnType: void
    signature: void alignProjectionWithTarget(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4618,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4624
      start: 4617
    functionDepth: 1
    functionLinenumber: 4617
    functionLinenumberEnd: 4624
    functionName: eliminateProjOptRewriteScanTableAlias
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - tstrncpy
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes eliminateProjOptRewriteScanTableAlias(SNode* pNode, void*
      pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pParentProjects
    - pChildTargets
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4638
      start: 4626
    functionDepth: 0
    functionLinenumber: 4626
    functionLinenumberEnd: 4638
    functionName: eliminateProjPushdownProjIdx
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void eliminateProjPushdownProjIdx(SNodeList* pParentProjects, SNodeList*
      pChildTargets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4637
      start: 4628
    functionDepth: 0
    functionLinenumber: 4628
    functionLinenumberEnd: 4637
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 94
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pChildTarget, pChildTargets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4636
      start: 4630
    functionDepth: 0
    functionLinenumber: 4630
    functionLinenumberEnd: 4636
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 94
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pParentProject, pParentProjects)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4645,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4647,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4653,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4655,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4658,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - pProj
    - pChild
    - pNewChildTargets
    - orderMatch
    argTypes:
    - SProjectLogicNode*
    - SProjectLogicNode*
    - SNodeList**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4665
      start: 4640
    functionDepth: 6
    functionLinenumber: 4640
    functionLinenumberEnd: 4665
    functionName: eliminateProjOptFindProjPrefixWithOrderCheck
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - FORBOTH
    - nodesDestroyList
    - nodesCloneNode
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t eliminateProjOptFindProjPrefixWithOrderCheck(SProjectLogicNode*
      pProj, SProjectLogicNode* pChild,\n                                                            SNodeList**
      pNewChildTargets, bool* orderMatch)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4671,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4672,1
    - Dst: eliminateProjOptFindProjPrefixWithOrderCheck
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4675,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4677,1
    - Dst: alignProjectionWithTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4679,1
    - Dst: eliminateProjOptPushTargetsToSetOpChildren
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pSetOp
    argTypes:
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4687
      start: 4667
    functionDepth: 7
    functionLinenumber: 4667
    functionLinenumberEnd: 4687
    functionName: eliminateProjOptPushTargetsToSetOpChildren
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodesDestroyList
    - alignProjectionWithTarget
    - eliminateProjOptFindProjPrefixWithOrderCheck
    - nodeType
    - FOREACH
    - eliminateProjOptPushTargetsToSetOpChildren
    linkageType: ''
    returnType: int32_t
    signature: int32_t eliminateProjOptPushTargetsToSetOpChildren(SProjectLogicNode*
      pSetOp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4691,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4696,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4696,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4704,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4709,1
    - Dst: eliminateProjOptFindProjPrefixWithOrderCheck
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4709,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4716,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4716,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4716,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4717,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4718,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4720,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4721,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4722,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4722,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4725,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4727,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4728,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4730,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4730,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4731,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4731,1
    - Dst: eliminateProjOptCanChildConditionUseChildTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4737,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4739,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4744,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4747,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4749,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4755,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4756,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4757,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4758,1
    - Dst: eliminateProjPushdownProjIdx
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4759,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4762,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4762,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4764,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4767,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4768,1
    - Dst: alignProjectionWithTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4771,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4775,1
    - Dst: eliminateProjOptPushTargetsToSetOpChildren
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4775,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4780,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4784,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4785,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4786,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4787,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pProjectNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4789
      start: 4689
    functionDepth: 8
    functionLinenumber: 4689
    functionLinenumberEnd: 4789
    functionName: eliminateProjOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - nodesWalkExpr
    - nodeType
    - replaceLogicNode
    - eliminateProjPushdownProjIdx
    - nodesCloneNode
    - LIST_LENGTH
    - OPTIMIZE_FLAG_SET_MASK
    - eliminateProjOptPushTargetsToSetOpChildren
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - tSimpleHashGet
    - TSWAP
    - NODES_CLEAR_LIST
    - alignProjectionWithTarget
    - QUERY_CHECK_NULL
    - tSimpleHashCleanup
    - FOREACH
    - nodesWalkExprs
    - nodesDestroyNode
    - PLAN_ERR_JRET
    - planError
    - tSimpleHashPut
    - eliminateProjOptFindProjPrefixWithOrderCheck
    - strlen
    - eliminateProjOptCanChildConditionUseChildTargets
    linkageType: ''
    returnType: int32_t
    signature: "int32_t eliminateProjOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan,\n                                         SProjectLogicNode*
      pProjectNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4792,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4798,1
    - Dst: eliminateProjOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4805
      start: 4791
    functionDepth: 9
    functionLinenumber: 4791
    functionLinenumberEnd: 4805
    functionName: eliminateProjOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - eliminateProjOptimizeImpl
    - inStreamCalcClause
    linkageType: ''
    returnType: int32_t
    signature: int32_t eliminateProjOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4809
      start: 4807
    functionDepth: 1
    functionLinenumber: 4807
    functionLinenumberEnd: 4809
    functionName: rewriteTailOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool rewriteTailOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4813,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4819,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pSortKey
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4826
      start: 4811
    functionDepth: 5
    functionLinenumber: 4811
    functionLinenumberEnd: 4826
    functionName: rewriteTailOptCreateOrderByExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteTailOptCreateOrderByExpr(SNode* pSortKey, SNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4830,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4834,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pLimit
    - pOffset
    - pOutput
    argTypes:
    - SNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4844
      start: 4828
    functionDepth: 6
    functionLinenumber: 4828
    functionLinenumberEnd: 4844
    functionName: rewriteTailOptCreateLimit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesMakeValueNodeFromInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteTailOptCreateLimit(SNode* pLimit, SNode* pOffset, SNode**
      pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4847,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4850,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4851,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pIndef
    argTypes:
    - SIndefRowsFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4853
      start: 4846
    functionDepth: 1
    functionLinenumber: 4846
    functionLinenumberEnd: 4853
    functionName: rewriteTailOptNeedGroupSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool rewriteTailOptNeedGroupSort(SIndefRowsFuncLogicNode* pIndef)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4857,1
    - Dst: rewriteTailOptNeedGroupSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4862,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4863,1
    - Dst: optResetParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4864,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4869,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4877,1
    - Dst: rewriteTailOptCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4880,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4880,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4882,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4885,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4885,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4895
      start: 4855
    functionDepth: 6
    functionLinenumber: 4855
    functionLinenumberEnd: 4895
    functionName: rewriteTailOptCreateSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - optResetParent
    - TSWAP
    - LIST_LENGTH
    - nodesMakeNode
    - rewriteTailOptCreateOrderByExpr
    - FOREACH
    - rewriteTailOptNeedGroupSort
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteTailOptCreateSort(SIndefRowsFuncLogicNode* pIndef, SLogicNode**
      pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4899,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4899,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pFunc
    - ppNode
    argTypes:
    - SFunctionNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4906
      start: 4897
    functionDepth: 3
    functionLinenumber: 4897
    functionLinenumberEnd: 4906
    functionName: rewriteTailOptCreateProjectExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesCloneNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteTailOptCreateProjectExpr(SFunctionNode* pFunc, SNode**
      ppNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4910,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4915,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4920,1
    - Dst: rewriteTailOptCreateProjectExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4922,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4924,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4935,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4936,1
    - Dst: rewriteTailOptCreateLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4938,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4938,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4939,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4945,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4948
      start: 4908
    functionDepth: 7
    functionLinenumber: 4908
    functionLinenumberEnd: 4948
    functionName: rewriteTailOptCreateProject
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - rewriteTailOptCreateProjectExpr
    - TSWAP
    - rewriteTailOptCreateLimit
    - LIST_LENGTH
    - nodesMakeNode
    - FOREACH
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteTailOptCreateProject(SIndefRowsFuncLogicNode* pIndef,
      SLogicNode** pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rewriteTailOptCreateSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4954,1
    - Dst: rewriteTailOptCreateProject
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4956,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4959,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4964,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4967,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4969,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pIndef
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SIndefRowsFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4974
      start: 4950
    functionDepth: 8
    functionLinenumber: 4950
    functionLinenumberEnd: 4974
    functionName: rewriteTailOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - rewriteTailOptCreateProject
    - replaceLogicNode
    - nodesDestroyNode
    - rewriteTailOptCreateSort
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rewriteTailOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan,\n                                       SIndefRowsFuncLogicNode*
      pIndef)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4978,1
    - Dst: rewriteTailOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4985
      start: 4976
    functionDepth: 9
    functionLinenumber: 4976
    functionLinenumberEnd: 4985
    functionName: rewriteTailOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - rewriteTailOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteTailOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4990,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4990,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4991,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4994,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4994,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4994,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4998
      start: 4987
    functionDepth: 1
    functionLinenumber: 4987
    functionLinenumberEnd: 4998
    functionName: eliminateSetOpMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool eliminateSetOpMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5003,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5004,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5006,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5007,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSetOpNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5017
      start: 5000
    functionDepth: 5
    functionLinenumber: 5000
    functionLinenumberEnd: 5017
    functionName: eliminateSetOpOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - INSERT_LIST
    - FOREACH
    - nodesEqualNode
    - ERASE_NODE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t eliminateSetOpOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan,\n                                          SLogicNode* pSetOpNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5020,1
    - Dst: eliminateSetOpOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5026
      start: 5019
    functionDepth: 6
    functionLinenumber: 5019
    functionLinenumberEnd: 5026
    functionName: eliminateSetOpOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - eliminateSetOpOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t eliminateSetOpOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5030
      start: 5028
    functionDepth: 1
    functionLinenumber: 5028
    functionLinenumberEnd: 5030
    functionName: rewriteUniqueOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool rewriteUniqueOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5034,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5040,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5042,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pExpr
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5050
      start: 5032
    functionDepth: 6
    functionLinenumber: 5032
    functionLinenumberEnd: 5050
    functionName: rewriteUniqueOptCreateGroupingSet
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteUniqueOptCreateGroupingSet(SNode* pExpr, SNode** ppNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5054,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5059,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5061,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5065,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5066,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5067,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5070,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5072,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5075,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5079,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pSelectValue
    - pCol
    - ppNode
    argTypes:
    - SFunctionNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5084
      start: 5052
    functionDepth: 6
    functionLinenumber: 5052
    functionLinenumberEnd: 5084
    functionName: rewriteUniqueOptCreateFirstFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - nodesListMakeStrictAppend
    - nodesMakeNode
    - snprintf
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteUniqueOptCreateFirstFunc(SFunctionNode* pSelectValue,
      SNode* pCol, SNode** ppNode)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5088,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5093,1
    - Dst: optResetParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5094,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5099,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5100,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5100,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5101,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5102,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5109,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5111,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5113,1
    - Dst: rewriteUniqueOptCreateGroupingSet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5115,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5117,1
    - Dst: rewriteUniqueOptCreateFirstFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5122,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5124,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5128,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5130,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5139,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5142,1
    - Dst: rewriteUniqueOptCreateFirstFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5147,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5149,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5156,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5159
      start: 5086
    functionDepth: 7
    functionLinenumber: 5086
    functionLinenumberEnd: 5159
    functionName: rewriteUniqueOptCreateAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - keysHasTbname
    - optResetParent
    - rewriteUniqueOptCreateFirstFunc
    - TSWAP
    - LIST_LENGTH
    - createColumnByRewriteExprs
    - nodesMakeNode
    - nodeType
    - FOREACH
    - nodesDestroyNode
    - rewriteUniqueOptCreateGroupingSet
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteUniqueOptCreateAgg(SIndefRowsFuncLogicNode* pIndef,
      SLogicNode** pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5163,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5170,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5171,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5172,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5172,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5174,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5177,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pFunc
    - ppNode
    argTypes:
    - SFunctionNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5182
      start: 5161
    functionDepth: 5
    functionLinenumber: 5161
    functionLinenumberEnd: 5182
    functionName: rewriteUniqueOptCreateProjectCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - PLAN_ERR_RET
    - nodesMakeNode
    - nodeType
    - tstrncpy
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteUniqueOptCreateProjectCol(SFunctionNode* pFunc, SNode**
      ppNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5186,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5191,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5197,1
    - Dst: rewriteUniqueOptCreateProjectCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5199,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5201,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5214
      start: 5184
    functionDepth: 6
    functionLinenumber: 5184
    functionLinenumberEnd: 5214
    functionName: rewriteUniqueOptCreateProject
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - TSWAP
    - nodesMakeNode
    - rewriteUniqueOptCreateProjectCol
    - FOREACH
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteUniqueOptCreateProject(SIndefRowsFuncLogicNode* pIndef,
      SLogicNode** pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rewriteUniqueOptCreateAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5220,1
    - Dst: rewriteUniqueOptCreateProject
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5222,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5225,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5230,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5233,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5238,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5240,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pIndef
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SIndefRowsFuncLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5245
      start: 5216
    functionDepth: 8
    functionLinenumber: 5216
    functionLinenumberEnd: 5245
    functionName: rewriteUniqueOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - rewriteUniqueOptCreateAgg
    - adjustLogicNodeDataRequirement
    - rewriteUniqueOptCreateProject
    - replaceLogicNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rewriteUniqueOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan,\n                                         SIndefRowsFuncLogicNode*
      pIndef)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5249,1
    - Dst: rewriteUniqueOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5256
      start: 5247
    functionDepth: 9
    functionLinenumber: 5247
    functionLinenumberEnd: 5256
    functionName: rewriteUniqueOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - rewriteUniqueOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteUniqueOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5274
      start: 5263
    functionDepth: 1
    functionLinenumber: 5263
    functionLinenumberEnd: 5274
    functionName: lastRowScanOptLastParaIsTagImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes lastRowScanOptLastParaIsTagImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pExpr
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5280
      start: 5276
    functionDepth: 3
    functionLinenumber: 5276
    functionLinenumberEnd: 5280
    functionName: lastRowScanOptLastParaIsTag
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool lastRowScanOptLastParaIsTag(SNode* pExpr)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cacheLastMode
    - hasLastRow
    - hasLast
    argTypes:
    - int8_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5296
      start: 5282
    functionDepth: 0
    functionLinenumber: 5282
    functionLinenumberEnd: 5296
    functionName: hasSuitableCache
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasSuitableCache(int8_t cacheLastMode, bool hasLastRow, bool hasLast)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - lastColNum
    - lastColId
    - selectNonPKColNum
    - selectNonPKColId
    argTypes:
    - int32_t
    - col_id_t
    - int32_t
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5303
    functionDepth: 0
    functionLinenumber: 5303
    functionLinenumberEnd: 5317
    functionName: lastRowScanOptCheckColNum
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool lastRowScanOptCheckColNum(int32_t lastColNum, col_id_t lastColId,
      int32_t selectNonPKColNum,\n                                      col_id_t selectNonPKColId)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5321,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5331,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - pFunc
    - pScan
    - pSplitAggFuncList
    argTypes:
    - SFunctionNode*
    - SScanLogicNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5352
      start: 5319
    functionDepth: 1
    functionLinenumber: 5319
    functionLinenumberEnd: 5352
    functionName: isNeedSplitCacheLastFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isNeedSplitCacheLastFunc(SFunctionNode* pFunc, SScanLogicNode*
      pScan, SNodeList* pSplitAggFuncList)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5348
      start: 5343
    functionDepth: 0
    functionLinenumber: 5343
    functionLinenumberEnd: 5348
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 101
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pSplitAggFuncList)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5360,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5362,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5363,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5365,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5369,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5371,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5374,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5377,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5386,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5386,1
    - Dst: lastRowScanOptCheckColNum
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5389,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5397,1
    - Dst: lastRowScanOptCheckColNum
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5412,1
    - Dst: lastRowScanOptLastParaIsTag
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5418,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5431,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5432,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5434,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5434,1
    - Dst: WHERE_FIRST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5442,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5455,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5459,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 85
    argCount: 3
    argNames:
    - pNode
    - cacheLastModel
    - hasOtherFunc
    argTypes:
    - SLogicNode*
    - int8_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5461
      start: 5354
    functionDepth: 4
    functionLinenumber: 5354
    functionLinenumberEnd: 5461
    functionName: lastRowScanOptCheckFuncList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - WHERE_FIRST
    - lastRowScanOptCheckColNum
    - qError
    - taosHashGet
    - LIST_LENGTH
    - lastRowScanOptLastParaIsTag
    - WHERE_EACH
    - nodeType
    - taosHashInit
    - taosHashCleanup
    - tstrerror
    - taosGetDefaultHashFunction
    - taosHashPut
    linkageType: ''
    returnType: bool
    signature: bool lastRowScanOptCheckFuncList(SLogicNode* pNode, int8_t cacheLastModel,
      bool* hasOtherFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasSuitableCache
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5466,1
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5467,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - pAgg
    - pScan
    argTypes:
    - SAggLogicNode*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5472
      start: 5463
    functionDepth: 1
    functionLinenumber: 5463
    functionLinenumberEnd: 5472
    functionName: lastRowScanOptCheckLastCache
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - hasSuitableCache
    - IS_TSWINDOW_SPECIFIED
    linkageType: ''
    returnType: bool
    signature: bool lastRowScanOptCheckLastCache(SAggLogicNode* pAgg, SScanLogicNode*
      pScan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5475,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5475,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5476,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5476,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5481,1
    - Dst: lastRowScanOptCheckLastCache
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5482,1
    - Dst: lastRowScanOptCheckFuncList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5496
      start: 5474
    functionDepth: 5
    functionLinenumber: 5474
    functionLinenumberEnd: 5496
    functionName: lastRowScanOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    - lastRowScanOptCheckFuncList
    - lastRowScanOptCheckLastCache
    linkageType: ''
    returnType: bool
    signature: bool lastRowScanOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5508,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5511,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5515,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5518,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5519,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - pNode
    - pContext
    - setType
    argTypes:
    - SNode*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5528
      start: 5507
    functionDepth: 5
    functionLinenumber: 5507
    functionLinenumberEnd: 5528
    functionName: lastRowScanOptGetColAndSetDataType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - getLastCacheDataType
    - nodeType
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes lastRowScanOptGetColAndSetDataType(SNode* pNode, void* pContext,
      bool setType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lastRowScanOptGetColAndSetDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5533
      start: 5531
    functionDepth: 6
    functionLinenumber: 5531
    functionLinenumberEnd: 5533
    functionName: lastRowScanOptGetLastCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - lastRowScanOptGetColAndSetDataType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes lastRowScanOptGetLastCols(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lastRowScanOptGetColAndSetDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5537
      start: 5535
    functionDepth: 6
    functionLinenumber: 5535
    functionLinenumberEnd: 5537
    functionName: lastRowScanOptSetColDataType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - lastRowScanOptGetColAndSetDataType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes lastRowScanOptSetColDataType(SNode* pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5546,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5547,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5552,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5557,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - pTargets
    - pLastCols
    - pLastRowCols
    - erase
    - pkBytes
    argTypes:
    - SNodeList*
    - SNodeList*
    - SNodeList*
    - bool
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5562
      start: 5539
    functionDepth: 5
    functionLinenumber: 5539
    functionLinenumberEnd: 5562
    functionName: lastRowScanOptSetLastTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeListNodeEqual
    - nodesEqualNode
    - getLastCacheDataType
    - ERASE_NODE
    linkageType: ''
    returnType: void
    signature: "void lastRowScanOptSetLastTargets(SNodeList* pTargets, SNodeList*
      pLastCols, SNodeList* pLastRowCols, bool erase,\n                                         int32_t
      pkBytes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5546,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5547,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5552,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5557,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5561
      start: 5542
    functionDepth: 5
    functionLinenumber: 5542
    functionLinenumberEnd: 5561
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 5
    functionsReached:
    - nodeListNodeEqual
    - nodesEqualNode
    - getLastCacheDataType
    - ERASE_NODE
    linkageType: ''
    returnType: void
    signature: void WHERE_EACH(pTarget, pTargets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5546,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5551
      start: 5545
    functionDepth: 5
    functionLinenumber: 5545
    functionLinenumberEnd: 5551
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 102
    functionsReached:
    - nodesEqualNode
    - getLastCacheDataType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pCol, pLastCols)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5571,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5578,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5585,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5590,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - pTargets
    - pList1
    - pList2
    - pList3
    argTypes:
    - SNodeList*
    - SNodeList*
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5595
      start: 5564
    functionDepth: 5
    functionLinenumber: 5564
    functionLinenumberEnd: 5595
    functionName: lastRowScanOptRemoveUslessTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeListNodeEqual
    - nodesEqualNode
    - ERASE_NODE
    linkageType: ''
    returnType: void
    signature: "void lastRowScanOptRemoveUslessTargets(SNodeList* pTargets, SNodeList*
      pList1, SNodeList* pList2,\n                                              SNodeList*
      pList3)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5571,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5578,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5585,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5590,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5594
      start: 5567
    functionDepth: 5
    functionLinenumber: 5567
    functionLinenumberEnd: 5594
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 5
    functionsReached:
    - nodeListNodeEqual
    - nodesEqualNode
    - ERASE_NODE
    linkageType: ''
    returnType: void
    signature: void WHERE_EACH(pTarget, pTargets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5575
      start: 5570
    functionDepth: 5
    functionLinenumber: 5570
    functionLinenumberEnd: 5575
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 102
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pCol, pList1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5582
      start: 5577
    functionDepth: 5
    functionLinenumber: 5577
    functionLinenumberEnd: 5582
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 102
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pCol, pList2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5598,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5604,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5606,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5611,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5613,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5617,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5618,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5619,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pScan
    - pColNode
    - funcType
    argTypes:
    - SScanLogicNode*
    - SColumnNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5625
      start: 5597
    functionDepth: 1
    functionLinenumber: 5597
    functionLinenumberEnd: 5625
    functionName: lastRowScanBuildFuncTypes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrncpy
    - taosMemoryFree
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t lastRowScanBuildFuncTypes(SScanLogicNode* pScan, SColumnNode*
      pColNode, int32_t funcType)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5628,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5632,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5640,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5645,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5650,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5653,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5661,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5669
      start: 5627
    functionDepth: 2
    functionLinenumber: 5627
    functionLinenumberEnd: 5669
    functionName: lastRowScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - nodesListGetNode
    - qError
    - inStreamCalcClause
    - FOREACH
    - snprintf
    - tstrerror
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t lastRowScanOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5672,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5672,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5673,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5673,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5678,1
    - Dst: lastRowScanOptCheckLastCache
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5679,1
    - Dst: lastRowScanOptCheckFuncList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5693
      start: 5671
    functionDepth: 5
    functionLinenumber: 5671
    functionLinenumberEnd: 5693
    functionName: splitCacheLastFuncOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    - lastRowScanOptCheckFuncList
    - lastRowScanOptCheckLastCache
    linkageType: ''
    returnType: bool
    signature: bool splitCacheLastFuncOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5704,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5705,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5711,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5712,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5714,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5717,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5718,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5721,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5723,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5725,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5727,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5730,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5740,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5742,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5747,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5750,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5751,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5753,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5755,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5757,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5760,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5761,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5764,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5766,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5767,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 3
    argNames:
    - pAgg
    - pFunc
    - isNewAgg
    argTypes:
    - SAggLogicNode*
    - SNodeList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5770
      start: 5699
    functionDepth: 8
    functionLinenumber: 5699
    functionLinenumberEnd: 5770
    functionName: splitCacheLastFuncOptUpdateScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - nodesFree
    - TSWAP
    - planError
    - nodesDestroyList
    - createColumnByRewriteExprs
    - nodesMakeNode
    - nodeType
    - FOREACH
    - nodesCollectColumnsFromNode
    - QUERY_CHECK_CODE
    - nodesDestroyNode
    - tstrerror
    - OPTIMIZE_FLAG_CLEAR_MASK
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t splitCacheLastFuncOptUpdateScanNode(SAggLogicNode* pAgg,\n
      \                                                  SNodeList* pFunc,\n                                                   bool
      isNewAgg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5740,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5746
      start: 5737
    functionDepth: 6
    functionLinenumber: 5737
    functionLinenumberEnd: 5746
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 104
    functionsReached:
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pOldScanCols)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5777,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5779,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5780,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5804,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5806,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5809,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5811,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5817,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5819,1
    - Dst: splitCacheLastFuncOptUpdateScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5823,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 4
    argNames:
    - pNewAgg
    - pAgg
    - pFunc
    - pTargets
    argTypes:
    - SAggLogicNode**
    - SAggLogicNode*
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5831
      start: 5772
    functionDepth: 9
    functionLinenumber: 5772
    functionLinenumberEnd: 5831
    functionName: splitCacheLastFuncOptCreateAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesDestroyList
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneList
    - splitCacheLastFuncOptUpdateScanNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t splitCacheLastFuncOptCreateAggLogicNode(SAggLogicNode** pNewAgg,\n
      \                                                      SAggLogicNode* pAgg,\n
      \                                                      SNodeList* pFunc,\n                                                       SNodeList*
      pTargets)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5794
      start: 5787
    functionDepth: 0
    functionLinenumber: 5787
    functionLinenumberEnd: 5794
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 104
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFuncNode, pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5838
      start: 5833
    functionDepth: 0
    functionLinenumber: 5833
    functionLinenumberEnd: 5838
    functionName: splitCacheLastFuncOptModifyAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t splitCacheLastFuncOptModifyAggLogicNode(SAggLogicNode* pAgg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5843,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5853,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5855,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5859,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5861,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5862,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - pNew
    - pAgg1
    - pAgg2
    argTypes:
    - SMergeLogicNode**
    - SAggLogicNode*
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5870
      start: 5840
    functionDepth: 5
    functionLinenumber: 5840
    functionLinenumberEnd: 5870
    functionName: splitCacheLastFuncOptCreateMergeLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - FOREACH
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t splitCacheLastFuncOptCreateMergeLogicNode(SMergeLogicNode**
      pNew, SAggLogicNode* pAgg1,\n                                                         SAggLogicNode*
      pAgg2)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5904,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5909,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5914,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5922,1
    - Dst: isNeedSplitCacheLastFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5926,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5928,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5930,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5935,1
    - Dst: WHERE_FIRST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5939,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5953,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5958,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5964,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5970,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5972,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5974,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5984,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5991,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5996,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5997,1
    - Dst: splitCacheLastFuncOptCreateAggLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6003,1
    - Dst: splitCacheLastFuncOptModifyAggLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6005,1
    - Dst: splitCacheLastFuncOptUpdateScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6008,1
    - Dst: splitCacheLastFuncOptCreateMergeLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6011,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6014,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6017,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6018,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6021,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6026
      start: 5903
    functionDepth: 10
    functionLinenumber: 5903
    functionLinenumberEnd: 6026
    functionName: splitCacheLastFuncOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - WHERE_FIRST
    - splitCacheLastFuncOptCreateMergeLogicNode
    - planError
    - nodesDestroyList
    - splitCacheLastFuncOptCreateAggLogicNode
    - inStreamCalcClause
    - splitCacheLastFuncOptUpdateScanNode
    - isNeedSplitCacheLastFunc
    - WHERE_EACH
    - ERASE_NODE
    - replaceLogicNode
    - splitCacheLastFuncOptModifyAggLogicNode
    - nodesDestroyNode
    - nodesCloneNode
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t splitCacheLastFuncOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5970,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5972,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5979
      start: 5968
    functionDepth: 6
    functionLinenumber: 5968
    functionLinenumberEnd: 5979
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 105
    functionsReached:
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFuncNode, pSplitAggFuncList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6030,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6030,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6033,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6034,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6034,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6035,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6040
      start: 6029
    functionDepth: 1
    functionLinenumber: 6029
    functionLinenumberEnd: 6040
    functionName: mergeProjectsMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool mergeProjectsMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6050,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6054,1
    - Dst: isColRefExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6055,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6057,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6061,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6070
      start: 6047
    functionDepth: 4
    functionLinenumber: 6047
    functionLinenumberEnd: 6070
    functionName: mergeProjectionsExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - isColRefExpr
    - nodeType
    - FOREACH
    - snprintf
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes mergeProjectionsExpr(SNode** pNode, void* pContext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6073,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6078,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6082,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6083,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6084,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6086,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6091,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSelfNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6096
      start: 6072
    functionDepth: 6
    functionLinenumber: 6072
    functionLinenumberEnd: 6096
    functionName: mergeProjectsOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - NODES_CLEAR_LIST
    - LIST_LENGTH
    - replaceLogicNode
    - nodesDestroyNode
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeProjectsOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SLogicNode* pSelfNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6099,1
    - Dst: mergeProjectsOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6105
      start: 6098
    functionDepth: 7
    functionLinenumber: 6098
    functionLinenumberEnd: 6105
    functionName: mergeProjectsOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - mergeProjectsOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeProjectsOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6108,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6118,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6119,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6124,1
    - Dst: planOptNodeListHasTbname
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6125,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6130,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6132,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6133,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6139
      start: 6107
    functionDepth: 5
    functionLinenumber: 6107
    functionLinenumberEnd: 6139
    functionName: tagScanOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - planOptNodeListHasTbname
    - nodeType
    - FOREACH
    - keysHasCol
    linkageType: ''
    returnType: bool
    signature: bool tagScanOptShouldBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6143,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6150,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6152,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6157,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6162,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6168,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6170,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6171,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6173,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6175,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6184,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6192
      start: 6141
    functionDepth: 6
    functionLinenumber: 6141
    functionLinenumberEnd: 6192
    functionName: tagScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - nodesCloneNode
    - nodesMakeList
    - nodesDestroyList
    - ERASE_NODE
    - FOREACH
    - NODES_DESTORY_LIST
    - nodesListAppend
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t tagScanOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6195,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6199,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6200,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6203,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6204,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6206,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6207,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6212,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6213,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6218,1
    - Dst: planOptNodeListHasTbname
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6219,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6224,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6226,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6227,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6233
      start: 6194
    functionDepth: 5
    functionLinenumber: 6194
    functionLinenumberEnd: 6233
    functionName: vtableTagScanOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - planOptNodeListHasTbname
    - nodeType
    - FOREACH
    - keysHasCol
    linkageType: ''
    returnType: bool
    signature: bool vtableTagScanOptShouldBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6236,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6251,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6252,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6253,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6254,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6255,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6256,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6260,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6260,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6263,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6265,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6266,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6267,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6267,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6269,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6269,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6275,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6280,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6281,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6282,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6283,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6284,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6284,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6293,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6293,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6296,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6302
      start: 6235
    functionDepth: 6
    functionLinenumber: 6235
    functionLinenumberEnd: 6302
    functionName: vtableTagScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - nodesListGetNode
    - PLAN_ERR_JRET
    - nodesListMakeAppend
    - nodesMakeList
    - nodesDestroyList
    - NODES_CLEAR_LIST
    - planError
    - QUERY_CHECK_NULL
    - FOREACH
    - tstrerror
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListAppend
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtableTagScanOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6305,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6312
      start: 6304
    functionDepth: 1
    functionLinenumber: 6304
    functionLinenumberEnd: 6312
    functionName: pushDownLimitOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool pushDownLimitOptShouldBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pParent
    - pChild
    argTypes:
    - SLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6317
      start: 6314
    functionDepth: 0
    functionLinenumber: 6314
    functionLinenumberEnd: 6317
    functionName: swapLimit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swapLimit(SLogicNode* pParent, SLogicNode* pChild)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6323,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6327,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6338,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6342,1
    - Dst: pushDownLimitHow
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6343,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6352,1
    - Dst: isPartTagAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6353,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6353,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6356,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6364,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6364,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6365,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6366,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6368,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6377,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6379,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6389,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6391,1
    - Dst: swapLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6393,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6402,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 3
    argNames:
    - pNodeWithLimit
    - pNodeLimitPushTo
    - pPushed
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6410
      start: 6320
    functionDepth: 5
    functionLinenumber: 6320
    functionLinenumberEnd: 6410
    functionName: pushDownLimitTo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - swapLimit
    - isPartTableAgg
    - LIST_LENGTH
    - cloneLimit
    - nodeType
    - FOREACH
    - isPartTagAgg
    - pushDownLimitHow
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushDownLimitTo(SLogicNode* pNodeWithLimit, SLogicNode* pNodeLimitPushTo,
      bool* pPushed)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6413,1
    - Dst: pushDownLimitTo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6416,1
    - Dst: sortPriKeyOptIsPriKeyOrderBy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6419,1
    - Dst: pushDownLimitTo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pNodeWithLimit
    - pNodeLimitPushTo
    - pPushed
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6427
      start: 6412
    functionDepth: 6
    functionLinenumber: 6412
    functionLinenumberEnd: 6427
    functionName: pushDownLimitHow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodeType
    - pushDownLimitTo
    - sortPriKeyOptIsPriKeyOrderBy
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushDownLimitHow(SLogicNode* pNodeWithLimit, SLogicNode* pNodeLimitPushTo,
      bool* pPushed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6430,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6435,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6436,1
    - Dst: pushDownLimitHow
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6446
      start: 6429
    functionDepth: 7
    functionLinenumber: 6429
    functionLinenumberEnd: 6446
    functionName: pushDownLimitOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - pushDownLimitHow
    - nodesDestroyNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushDownLimitOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6470,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6472,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6476,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pGroupKeys
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6483
      start: 6463
    functionDepth: 1
    functionLinenumber: 6463
    functionLinenumberEnd: 6483
    functionName: tbCntScanOptIsEligibleGroupKeys
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptIsEligibleGroupKeys(SNodeList* pGroupKeys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6470,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6472,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6476,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6480
      start: 6469
    functionDepth: 1
    functionLinenumber: 6469
    functionLinenumberEnd: 6480
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 111
    functionsReached:
    - nodesListGetNode
    - nodeType
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pGroupKey, pGroupKeys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6489,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6493,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6494,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6496
      start: 6488
    functionDepth: 1
    functionLinenumber: 6488
    functionLinenumberEnd: 6496
    functionName: tbCntScanOptNotNullableExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptNotNullableExpr(SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6508,1
    - Dst: tbCntScanOptNotNullableExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6510,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6510,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pAggFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6515
      start: 6505
    functionDepth: 2
    functionLinenumber: 6505
    functionLinenumberEnd: 6515
    functionName: tbCntScanOptIsEligibleAggFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - tbCntScanOptNotNullableExpr
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptIsEligibleAggFuncs(SNodeList* pAggFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6508,1
    - Dst: tbCntScanOptNotNullableExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6510,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6513
      start: 6507
    functionDepth: 2
    functionLinenumber: 6507
    functionLinenumberEnd: 6513
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 111
    functionsReached:
    - nodesListGetNode
    - tbCntScanOptNotNullableExpr
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pAggFuncs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tbCntScanOptIsEligibleGroupKeys
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6525,1
    - Dst: tbCntScanOptIsEligibleAggFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6526
      start: 6524
    functionDepth: 3
    functionLinenumber: 6524
    functionLinenumberEnd: 6526
    functionName: tbCntScanOptIsEligibleAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tbCntScanOptIsEligibleAggFuncs
    - tbCntScanOptIsEligibleGroupKeys
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptIsEligibleAgg(SAggLogicNode* pAgg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6535,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6537,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6540,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pOper
    - pCol
    - pVal
    argTypes:
    - SOperatorNode*
    - SColumnNode**
    - SValueNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6547
      start: 6528
    functionDepth: 1
    functionLinenumber: 6528
    functionLinenumberEnd: 6547
    functionName: tbCntScanOptGetColValFromCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptGetColValFromCond(SOperatorNode* pOper, SColumnNode**
      pCol, SValueNode** pVal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6565,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6566,1
    - Dst: tbCntScanOptGetColValFromCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6567,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6570,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6572,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6573,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pInfo
    - pCond
    argTypes:
    - STbCntScanOptInfo*
    - SLogicConditionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6581
      start: 6554
    functionDepth: 2
    functionLinenumber: 6554
    functionLinenumberEnd: 6581
    functionName: tbCntScanOptIsEligibleLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - tstrncpy
    - tbCntScanOptGetColValFromCond
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool tbCntScanOptIsEligibleLogicCond(STbCntScanOptInfo* pInfo, \n
      \                                           SLogicConditionNode* pCond)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tbCntScanOptGetColValFromCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6595,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6598,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6599,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6602,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pInfo
    - pCond
    argTypes:
    - STbCntScanOptInfo*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6607
      start: 6591
    functionDepth: 2
    functionLinenumber: 6591
    functionLinenumberEnd: 6607
    functionName: tbCntScanOptIsEligibleOpCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tbCntScanOptGetColValFromCond
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool tbCntScanOptIsEligibleOpCond(STbCntScanOptInfo* pInfo,\n                                         SOperatorNode*
      pCond)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6625,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6629,1
    - Dst: tbCntScanOptIsEligibleLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6630,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6634,1
    - Dst: tbCntScanOptIsEligibleOpCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pInfo
    - pConditions
    argTypes:
    - STbCntScanOptInfo*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6639
      start: 6619
    functionDepth: 3
    functionLinenumber: 6619
    functionLinenumberEnd: 6639
    functionName: tbCntScanOptIsEligibleConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - tbCntScanOptIsEligibleOpCond
    - tbCntScanOptIsEligibleLogicCond
    linkageType: ''
    returnType: bool
    signature: "bool tbCntScanOptIsEligibleConds(STbCntScanOptInfo* pInfo,\n                                        SNode*
      pConditions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6648,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6649,1
    - Dst: tbCntScanOptIsEligibleConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STbCntScanOptInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6654
      start: 6645
    functionDepth: 4
    functionLinenumber: 6645
    functionLinenumberEnd: 6654
    functionName: tbCntScanOptIsEligibleScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tbCntScanOptIsEligibleConds
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptIsEligibleScan(STbCntScanOptInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6660,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6660,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6661,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6661,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6666,1
    - Dst: tbCntScanOptIsEligibleAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6667,1
    - Dst: tbCntScanOptIsEligibleScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pInfo
    argTypes:
    - SLogicNode*
    - STbCntScanOptInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6668
      start: 6659
    functionDepth: 5
    functionLinenumber: 6659
    functionLinenumberEnd: 6668
    functionName: tbCntScanOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tbCntScanOptIsEligibleAgg
    - LIST_LENGTH
    - tbCntScanOptIsEligibleScan
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool tbCntScanOptShouldBeOptimized(SLogicNode* pNode, STbCntScanOptInfo*
      pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6675,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6679,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6680,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6681,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6688
      start: 6673
    functionDepth: 5
    functionLinenumber: 6673
    functionLinenumberEnd: 6688
    functionName: tbCntScanOptCreateTableCountFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - tstrncpy
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t tbCntScanOptCreateTableCountFunc(SNode** ppNode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6695,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6697,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6699,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6700,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6701,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6702,1
    - Dst: tbCntScanOptCreateTableCountFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6704,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6706,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6709,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6710,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6715,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6716,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6719,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6721,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6725,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6727,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6732,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6734,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STbCntScanOptInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6743
      start: 6693
    functionDepth: 7
    functionLinenumber: 6693
    functionLinenumberEnd: 6743
    functionName: tbCntScanOptRewriteScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - nodesCloneNode
    - tbCntScanOptCreateTableCountFunc
    - createColumnByRewriteExpr
    - NODES_DESTORY_NODE
    - FOREACH
    - tstrncpy
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: int32_t
    signature: int32_t tbCntScanOptRewriteScan(STbCntScanOptInfo* pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6751,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6755,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6756,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6757,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6759,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pCntFunc
    - pParam
    - pOutput
    argTypes:
    - SFunctionNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6767
      start: 6748
    functionDepth: 7
    functionLinenumber: 6748
    functionLinenumberEnd: 6767
    functionName: tbCntScanOptCreateSumFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - createColumnByRewriteExpr
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tbCntScanOptCreateSumFunc(SFunctionNode* pCntFunc,\n                                         SNode*
      pParam, SNode** pOutput)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6773,1
    - Dst: tbCntScanOptCreateSumFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6775,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6775,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6776,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6778,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6779,1
    - Dst: partTagsRewriteGroupTagsToFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6782,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6786
      start: 6772
    functionDepth: 8
    functionLinenumber: 6772
    functionLinenumberEnd: 6786
    functionName: tbCntScanOptRewriteAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - tbCntScanOptCreateSumFunc
    - nodesListMakeStrictAppend
    - partTagsRewriteGroupTagsToFuncs
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: int32_t
    signature: int32_t tbCntScanOptRewriteAgg(SAggLogicNode* pAgg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: optFindEligibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6794,1
    - Dst: tbCntScanOptRewriteScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6800,1
    - Dst: tbCntScanOptRewriteAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6808
      start: 6791
    functionDepth: 9
    functionLinenumber: 6791
    functionLinenumberEnd: 6808
    functionName: tableCountScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tbCntScanOptRewriteScan
    - optFindEligibleNode
    - tbCntScanOptRewriteAgg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tableCountScanOptimize(SOptimizeContext* pCxt,\n                                      SLogicSubplan*
      pLogicSubplan)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6812,1
    - Dst: sortPriKeyOptIsPriKeyOrderBy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6816,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6820,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6822,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6837
      start: 6810
    functionDepth: 2
    functionLinenumber: 6810
    functionLinenumberEnd: 6837
    functionName: sortNonPriKeySatisfied
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - sortPriKeyOptIsPriKeyOrderBy
    linkageType: ''
    returnType: SSortLogicNode
    signature: SSortLogicNode * sortNonPriKeySatisfied(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sortNonPriKeySatisfied
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6840,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pInfo
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6845
      start: 6839
    functionDepth: 4
    functionLinenumber: 6839
    functionLinenumberEnd: 6845
    functionName: sortNonPriKeyShouldOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListAppend
    - sortNonPriKeySatisfied
    linkageType: ''
    returnType: bool
    signature: bool sortNonPriKeyShouldOptimize(SLogicNode* pNode, void* pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6849,1
    - Dst: optFindEligibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6854,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6856,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6862,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6864,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6869
      start: 6847
    functionDepth: 4
    functionLinenumber: 6847
    functionLinenumberEnd: 6869
    functionName: sortNonPriKeyOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesClearList
    - nodesMakeList
    - optFindEligibleNode
    - optSetParentOrder
    linkageType: ''
    returnType: int32_t
    signature: int32_t sortNonPriKeyOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6862,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6865
      start: 6860
    functionDepth: 3
    functionLinenumber: 6860
    functionLinenumberEnd: 6865
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 114
    functionsReached:
    - nodesListGetNode
    - optSetParentOrder
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pNodeList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6873,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6898,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6905
      start: 6871
    functionDepth: 3
    functionLinenumber: 6871
    functionLinenumberEnd: 6905
    functionName: hashJoinOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - adjustLogicNodeDataRequirement
    linkageType: ''
    returnType: bool
    signature: bool hashJoinOptShouldBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6912,1
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6914,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6919,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6925,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6927,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6933,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6938,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6945,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6949,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6950,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - pCondition
    - pPrimaryKeyCond
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6954
      start: 6907
    functionDepth: 6
    functionLinenumber: 6907
    functionLinenumberEnd: 6954
    functionName: hashJoinOptSplitPrimFromLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - nodesMergeConds
    - nodesDestroyList
    - ERASE_NODE
    - WHERE_EACH
    - filterIsMultiTableColsCond
    - nodesDestroyNode
    - nodesCloneNode
    - filterClassifyCondition
    linkageType: ''
    returnType: int32_t
    signature: int32_t hashJoinOptSplitPrimFromLogicCond(SNode** pCondition, SNode**
      pPrimaryKeyCond)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6957,1
    - Dst: hashJoinOptSplitPrimFromLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6959,1
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6967,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6975,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCondition
    - pPrimaryKeyCond
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6982
      start: 6956
    functionDepth: 7
    functionLinenumber: 6956
    functionLinenumberEnd: 6982
    functionName: hashJoinOptSplitPrimCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - hashJoinOptSplitPrimFromLogicCond
    - filterClassifyCondition
    - filterIsMultiTableColsCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t hashJoinOptSplitPrimCond(SNode** pCondition, SNode** pPrimaryKeyCond)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: pdcJoinSplitCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6998,1
    - Dst: hashJoinOptSplitPrimCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7011,1
    - Dst: getTimeRangeFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7014,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7015,1
    - Dst: hashJoinOptSplitPrimCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7025,1
    - Dst: getTimeRangeFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7028,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7029,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7037,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7040,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7046,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7047,1
    - Dst: hashJoinOptSplitPrimCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7051,1
    - Dst: getTimeRangeFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7057,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7058,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7062,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7066,1
    - Dst: pdcJoinSplitCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7075,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7081,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7084,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7087,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7088,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7096,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7098,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7099,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7104,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7107,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7110,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7111,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7118,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7121,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7122,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7128,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7169,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 137
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7172
      start: 6984
    functionDepth: 9
    functionLinenumber: 6984
    functionLinenumberEnd: 7172
    functionName: hashJoinOptRewriteJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - TSWINDOW_IS_EQUAL
    - TMAX
    - pdcJoinSplitCond
    - TMIN
    - TAOS_SET_OBJ_ALIGNED
    - OPTIMIZE_FLAG_SET_MASK
    - nodeType
    - FOREACH
    - getTimeRangeFromNode
    - hashJoinOptSplitPrimCond
    - nodesDestroyNode
    - mergeJoinConds
    linkageType: ''
    returnType: int32_t
    signature: int32_t hashJoinOptRewriteJoin(SOptimizeContext* pCxt, SLogicNode*
      pNode, SLogicSubplan* pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7176,1
    - Dst: hashJoinOptRewriteJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7185
      start: 7174
    functionDepth: 10
    functionLinenumber: 7174
    functionLinenumberEnd: 7185
    functionName: hashJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - hashJoinOptRewriteJoin
    linkageType: ''
    returnType: int32_t
    signature: int32_t hashJoinOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7188,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7189,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7203,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7204,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7205,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7205,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7210
      start: 7187
    functionDepth: 1
    functionLinenumber: 7187
    functionLinenumberEnd: 7210
    functionName: stbJoinOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - OPTIMIZE_FLAG_TEST_MASK
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool stbJoinOptShouldBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7216,1
    - Dst: createFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7216,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7217,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7218,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7218,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7219,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7219,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7222,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - funcName
    - pScan
    argTypes:
    - char*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7225
      start: 7212
    functionDepth: 7
    functionLinenumber: 7212
    functionLinenumberEnd: 7225
    functionName: addFuncToScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListStrictAppend
    - createColumnByRewriteExpr
    - planError
    - snprintf
    - createFunction
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t addFuncToScanNode(char* funcName, SScanLogicNode* pScan)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7232,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7233,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7238,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7240,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7243,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7249,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7254,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7255,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7261,1
    - Dst: addFuncToScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7268,1
    - Dst: addFuncToScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7271,1
    - Dst: tagScanSetExecutionMode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7275,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - pJoin
    - pNode
    argTypes:
    - SLogicNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7283
      start: 7227
    functionDepth: 8
    functionLinenumber: 7227
    functionLinenumberEnd: 7283
    functionName: stbJoinOptRewriteToTagScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - addFuncToScanNode
    - ERASE_NODE
    - NODES_DESTORY_NODE
    - WHERE_EACH
    - tagScanSetExecutionMode
    - nodesCollectColumnsFromNode
    - taosStrcasecmp
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbJoinOptRewriteToTagScan(SLogicNode* pJoin, SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7254,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7259
      start: 7252
    functionDepth: 1
    functionLinenumber: 7252
    functionLinenumberEnd: 7259
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 115
    functionsReached:
    - taosStrcasecmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pTag, pTags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7287,1
    - Dst: stbJoinOptRewriteToTagScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7295,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7303,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJoin
    - ppList
    argTypes:
    - SLogicNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7319
      start: 7285
    functionDepth: 9
    functionLinenumber: 7285
    functionLinenumberEnd: 7319
    functionName: stbJoinOptCreateTagScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - nodesCloneList
    - strcmp
    - stbJoinOptRewriteToTagScan
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbJoinOptCreateTagScanNode(SLogicNode* pJoin, SNodeList**
      ppList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stbJoinOptRewriteToTagScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7295,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7310
      start: 7294
    functionDepth: 9
    functionLinenumber: 7294
    functionLinenumberEnd: 7310
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 115
    functionsReached:
    - strcmp
    - stbJoinOptRewriteToTagScan
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7324,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7338,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7340,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7343,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7345,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7355,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7356,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7358,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7371,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7375,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7381,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7385,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7387,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - pOrig
    - pChildren
    - ppLogic
    argTypes:
    - SLogicNode*
    - SNodeList*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7391
      start: 7321
    functionDepth: 8
    functionLinenumber: 7321
    functionLinenumberEnd: 7391
    functionName: stbJoinOptCreateTagHashJoinNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - createColumnByRewriteExpr
    - nodesDestroyList
    - OPTIMIZE_FLAG_SET_MASK
    - nodesMakeNode
    - nodeType
    - FOREACH
    - nodesCollectColumnsFromNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbJoinOptCreateTagHashJoinNode(SLogicNode* pOrig, SNodeList*
      pChildren, SLogicNode** ppLogic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7355,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7356,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7368
      start: 7352
    functionDepth: 7
    functionLinenumber: 7352
    functionLinenumberEnd: 7368
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 117
    functionsReached:
    - nodeType
    - FOREACH
    - createColumnByRewriteExpr
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pChildren)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7379
      start: 7374
    functionDepth: 7
    functionLinenumber: 7374
    functionLinenumberEnd: 7379
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 117
    functionsReached:
    - createColumnByRewriteExpr
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCols)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7395,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7410,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7412,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7416,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pJoin
    - ppList
    - srcScan
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SNodeList**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7434
      start: 7393
    functionDepth: 4
    functionLinenumber: 7393
    functionLinenumberEnd: 7434
    functionName: stbJoinOptCreateTableScanNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - nodesCloneList
    - strcmp
    - inStreamCalcClause
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbJoinOptCreateTableScanNodes(SOptimizeContext* pCxt, SLogicNode*
      pJoin, SNodeList** ppList, bool* srcScan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7410,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7412,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7416,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7429
      start: 7403
    functionDepth: 4
    functionLinenumber: 7403
    functionLinenumberEnd: 7429
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 117
    functionsReached:
    - nodesDestroyNode
    - inStreamCalcClause
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7439,1
    - Dst: getBatchScanOptionFromHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7447,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7450,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7452,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7454,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7456,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7460,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7462,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7463,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7465,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7486,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - pRoot
    - pChildren
    - ppLogic
    argTypes:
    - SLogicNode*
    - SNodeList*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7490
      start: 7436
    functionDepth: 7
    functionLinenumber: 7436
    functionLinenumberEnd: 7490
    functionName: stbJoinOptCreateGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getBatchScanOptionFromHint
    - nodesMakeList
    - createColumnByRewriteExpr
    - nodesListStrictAppendList
    - nodesMakeNode
    - nodeType
    - FOREACH
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbJoinOptCreateGroupCacheNode(SLogicNode* pRoot, SNodeList*
      pChildren, SLogicNode** ppLogic)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7480
      start: 7474
    functionDepth: 0
    functionLinenumber: 7474
    functionLinenumberEnd: 7480
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 118
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pChildren)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7493,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7493,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7494,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7497,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7500,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7501,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7502,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7504,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7508,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7509,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7515,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7524
      start: 7492
    functionDepth: 5
    functionLinenumber: 7492
    functionLinenumberEnd: 7524
    functionName: stbJoinOptRemoveTagEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - ERASE_NODE
    - nodeType
    - NODES_DESTORY_NODE
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void stbJoinOptRemoveTagEqCond(SJoinLogicNode* pJoin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7529,1
    - Dst: stbJoinOptRemoveTagEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7537,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7538,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7541,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7541,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7542,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7546,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pOrig
    - pChild
    - ppLogic
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7552
      start: 7526
    functionDepth: 6
    functionLinenumber: 7526
    functionLinenumberEnd: 7552
    functionName: stbJoinOptCreateMergeJoinNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - ERASE_NODE
    - NODES_DESTORY_NODE
    - OPTIMIZE_FLAG_SET_MASK
    - FOREACH
    - stbJoinOptRemoveTagEqCond
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbJoinOptCreateMergeJoinNode(SLogicNode* pOrig, SLogicNode*
      pChild, SLogicNode** ppLogic)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7558,1
    - Dst: getBatchScanOptionFromHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7564,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7565,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7569,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7574,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7579,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7584,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7584,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7587,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7587,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7590,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7590,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7593,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7593,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7597,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7599,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7603,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7613,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 5
    argNames:
    - pRoot
    - pPrev
    - pPost
    - srcScan
    - ppDynNode
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - SLogicNode*
    - bool*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7618
      start: 7554
    functionDepth: 5
    functionLinenumber: 7554
    functionLinenumberEnd: 7618
    functionName: stbJoinOptCreateDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getBatchScanOptionFromHint
    - memcpy
    - nodesMakeList
    - nodesListStrictAppend
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stbJoinOptCreateDynQueryCtrlNode(SLogicNode* pRoot, SLogicNode*
      pPrev, SLogicNode* pPost, bool* srcScan,\n                                                SLogicNode**
      ppDynNode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stbJoinOptCreateTagScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7629,1
    - Dst: stbJoinOptCreateTagHashJoinNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7631,1
    - Dst: stbJoinOptCreateTableScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7634,1
    - Dst: stbJoinOptCreateGroupCacheNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7637,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7637,1
    - Dst: stbJoinOptCreateMergeJoinNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7640,1
    - Dst: stbJoinOptCreateDynQueryCtrlNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7643,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7643,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7646,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7649,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7653
      start: 7620
    functionDepth: 10
    functionLinenumber: 7620
    functionLinenumberEnd: 7653
    functionName: stbJoinOptRewriteStableJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - stbJoinOptCreateTagHashJoinNode
    - getLogicNodeRootNode
    - replaceLogicNode
    - stbJoinOptCreateTableScanNodes
    - stbJoinOptCreateGroupCacheNode
    - stbJoinOptCreateTagScanNode
    - nodesDestroyNode
    - stbJoinOptCreateDynQueryCtrlNode
    - stbJoinOptCreateMergeJoinNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbJoinOptRewriteStableJoin(SOptimizeContext* pCxt, SLogicNode*
      pJoin, SLogicSubplan* pLogicSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7656,1
    - Dst: stbJoinOptRewriteStableJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7662
      start: 7655
    functionDepth: 11
    functionLinenumber: 7655
    functionLinenumberEnd: 7662
    functionName: stableJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - stbJoinOptRewriteStableJoin
    linkageType: ''
    returnType: int32_t
    signature: int32_t stableJoinOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7679
      start: 7664
    functionDepth: 1
    functionLinenumber: 7664
    functionLinenumberEnd: 7679
    functionName: grpJoinOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool grpJoinOptShouldBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7684,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7694,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7696,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7702,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7704,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7707,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - pParent
    - pChild
    - leftChild
    - pNew
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - bool
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7716
      start: 7681
    functionDepth: 6
    functionLinenumber: 7681
    functionLinenumberEnd: 7716
    functionName: grpJoinOptCreatePartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesListMakeStrictAppend
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t grpJoinOptCreatePartitionNode(SLogicNode* pParent, SLogicNode*
      pChild, bool leftChild,\n                                             SLogicNode**
      pNew)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7723,1
    - Dst: grpJoinOptCreatePartitionNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7724,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7733
      start: 7718
    functionDepth: 7
    functionLinenumber: 7718
    functionLinenumberEnd: 7733
    functionName: grpJoinOptInsertPartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - REPLACE_NODE
    - grpJoinOptCreatePartitionNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t grpJoinOptInsertPartitionNode(SLogicNode* pJoin)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7741,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7742,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7748,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7751,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7766
      start: 7735
    functionDepth: 5
    functionLinenumber: 7735
    functionLinenumberEnd: 7766
    functionName: grpJoinOptPartByTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - nodesCloneList
    - nodesListMakeStrictAppendList
    linkageType: ''
    returnType: int32_t
    signature: int32_t grpJoinOptPartByTags(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpJoinOptPartByTags
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7771,1
    - Dst: grpJoinOptInsertPartitionNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7778
      start: 7768
    functionDepth: 8
    functionLinenumber: 7768
    functionLinenumberEnd: 7778
    functionName: grpJoinOptRewriteGroupJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - grpJoinOptInsertPartitionNode
    - grpJoinOptPartByTags
    linkageType: ''
    returnType: int32_t
    signature: int32_t grpJoinOptRewriteGroupJoin(SOptimizeContext* pCxt, SLogicNode*
      pNode, SLogicSubplan* pLogicSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7781,1
    - Dst: grpJoinOptRewriteGroupJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7787
      start: 7780
    functionDepth: 9
    functionLinenumber: 7780
    functionLinenumberEnd: 7787
    functionName: groupJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - grpJoinOptRewriteGroupJoin
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupJoinOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7790,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7795
      start: 7789
    functionDepth: 5
    functionLinenumber: 7789
    functionLinenumberEnd: 7795
    functionName: partColOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - keysHasCol
    linkageType: ''
    returnType: bool
    signature: bool partColOptShouldBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7801,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7805,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7807,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7811,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7814,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7819,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7826,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7832,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7835,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7839,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7840,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7844,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7854,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 2
    argNames:
    - pPartition
    - ppSort
    argTypes:
    - SPartitionLogicNode*
    - SSortLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7860
      start: 7797
    functionDepth: 6
    functionLinenumber: 7797
    functionLinenumberEnd: 7860
    functionName: partColOptCreateSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesMakeNode
    - nodeType
    - FOREACH
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t partColOptCreateSort(SPartitionLogicNode* pPartition, SSortLogicNode**
      ppSort)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7866,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7868,1
    - Dst: getSortForGroupOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7870,1
    - Dst: partColOptCreateSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7873,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7878,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7879,1
    - Dst: optResetParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7880,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7882,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7884,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7887,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7891,1
    - Dst: getOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7892,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7895,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7897,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7901,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7905,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7907,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7912,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7915,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7922,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7922,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7923,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7928,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7930,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7937
      start: 7862
    functionDepth: 7
    functionLinenumber: 7862
    functionLinenumberEnd: 7937
    functionName: partitionColsOpt
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - nodesListGetNode
    - partColOptCreateSort
    - optResetParent
    - nodesListMakeAppend
    - TSWAP
    - nodesCloneNode
    - nodesMakeList
    - nodesListStrictAppend
    - NODES_CLEAR_LIST
    - getOptHint
    - nodeType
    - getLogicNodeRootNode
    - FOREACH
    - nodesMakeNode
    - replaceLogicNode
    - nodesDestroyNode
    - getSortForGroupOptHint
    linkageType: ''
    returnType: int32_t
    signature: int32_t partitionColsOpt(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7940,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7952,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7971,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7971,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7972,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7977,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7980,1
    - Dst: getOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7983,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7984,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7994
      start: 7939
    functionDepth: 1
    functionLinenumber: 7939
    functionLinenumberEnd: 7994
    functionName: tsmaOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - planError
    - getOptHint
    - nodeType
    - getLogicNodeRootNode
    - fmIsGroupKeyFunc
    - fmIsPseudoColumnFunc
    - fmIsTSMASupportedFunc
    linkageType: ''
    returnType: bool
    signature: bool tsmaOptMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7971,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7971,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7975
      start: 7969
    functionDepth: 1
    functionLinenumber: 7969
    functionLinenumberEnd: 7975
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 124
    functionsReached:
    - fmIsPseudoColumnFunc
    - fmIsGroupKeyFunc
    - fmIsTSMASupportedFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pTmpNode, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8030,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8031,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8050,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pScan
    - tz
    argTypes:
    - STSMAOptCtx*
    - SScanLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8056
      start: 8022
    functionDepth: 1
    functionLinenumber: 8022
    functionLinenumberEnd: 8056
    functionName: fillTSMAOptCtx
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - taosMemoryCalloc
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillTSMAOptCtx(STSMAOptCtx* pTsmaOptCtx, SScanLogicNode* pScan,
      void* tz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8061
      start: 8058
    functionDepth: 1
    functionLinenumber: 8058
    functionLinenumberEnd: 8061
    functionName: tsmaOptFreeUsefulTsma
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tsmaOptFreeUsefulTsma(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8064,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8065,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pTsmaOptCtx
    argTypes:
    - STSMAOptCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8067
      start: 8063
    functionDepth: 1
    functionLinenumber: 8063
    functionLinenumberEnd: 8067
    functionName: clearTSMAOptCtx
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void clearTSMAOptCtx(STSMAOptCtx* pTsmaOptCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8072,1
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8076,1
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8080,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - tsmaInterval
    - unit
    - pTsmaOptCtx
    argTypes:
    - int64_t
    - int8_t
    - STSMAOptCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8083
      start: 8069
    functionDepth: 1
    functionLinenumber: 8069
    functionLinenumberEnd: 8083
    functionName: tsmaOptCheckValidInterval
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - checkRecursiveTsmaInterval
    linkageType: ''
    returnType: bool
    signature: bool tsmaOptCheckValidInterval(int64_t tsmaInterval, int8_t unit, const
      STSMAOptCtx* pTsmaOptCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8090,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8093,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8093,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8094,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8103,1
    - Dst: fmIsMyStateFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8106,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8115,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 4
    argNames:
    - pTsmaFuncs
    - pQueryFuncs
    - pTsmaScanCols
    - pIsValid
    argTypes:
    - SArray*
    - SNodeList*
    - SArray*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8126
      start: 8085
    functionDepth: 1
    functionLinenumber: 8085
    functionLinenumberEnd: 8126
    functionName: tsmaOptCheckValidFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - fmIsMyStateFunc
    - taosArrayPush
    - taosArrayGet
    - nodeType
    - fmIsGroupKeyFunc
    - taosArrayClear
    - fmIsPseudoColumnFunc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tsmaOptCheckValidFuncs(const SArray* pTsmaFuncs, const SNodeList*
      pQueryFuncs, SArray* pTsmaScanCols,\n                                      bool*
      pIsValid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8093,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8093,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8094,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8103,1
    - Dst: fmIsMyStateFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8106,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8115,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8123
      start: 8091
    functionDepth: 1
    functionLinenumber: 8091
    functionLinenumberEnd: 8123
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 124
    functionsReached:
    - fmIsMyStateFunc
    - taosArrayPush
    - taosArrayGet
    - nodeType
    - fmIsGroupKeyFunc
    - fmIsPseudoColumnFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pQueryFuncs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8135,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8140,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8152
      start: 8133
    functionDepth: 1
    functionLinenumber: 8133
    functionLinenumberEnd: 8152
    functionName: tsmaOptTagCheck
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - taosArrayGet
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes tsmaOptTagCheck(SNode* pNode, void* pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8157,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8159,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - STableTSMAInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8163
      start: 8154
    functionDepth: 4
    functionLinenumber: 8154
    functionLinenumberEnd: 8163
    functionName: tsmaOptCheckTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool tsmaOptCheckTags(STSMAOptCtx* pCtx, const STableTSMAInfo* pTsma)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8173,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8177,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8182,1
    - Dst: tsmaOptCheckValidInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8188,1
    - Dst: tsmaOptCheckValidFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8193,1
    - Dst: tsmaOptCheckTags
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8197,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8201,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8203,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8208,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 1
    argNames:
    - pTsmaOptCtx
    argTypes:
    - STSMAOptCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8210
      start: 8165
    functionDepth: 5
    functionLinenumber: 8165
    functionLinenumberEnd: 8210
    functionName: tsmaOptFilterTsmas
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - tsmaOptCheckTags
    - tsmaOptCheckValidInterval
    - taosArrayInit
    - tsmaOptCheckValidFuncs
    - taosArrayDestroy
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsmaOptFilterTsmas(STSMAOptCtx* pTsmaOptCtx)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8231
      start: 8212
    functionDepth: 0
    functionLinenumber: 8212
    functionLinenumberEnd: 8231
    functionName: tsmaInfoCompWithIntervalDesc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsmaInfoCompWithIntervalDesc(const void* pLeft, const void*
      pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - pInterval
    - pTsma
    - precision
    - tz
    argTypes:
    - SInterval*
    - STableTSMAInfo*
    - int8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8242
      start: 8233
    functionDepth: 0
    functionLinenumber: 8233
    functionLinenumberEnd: 8242
    functionName: tsmaOptInitIntervalFromTsma
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tsmaOptInitIntervalFromTsma(SInterval* pInterval, const STableTSMAInfo*
      pTsma, int8_t precision, void* tz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8249,1
    - Dst: tsmaOptInitIntervalFromTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8250,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8251,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - pUsefulTsmas
    - startIdx
    - startAlignInterval
    - endAlignInterval
    - precision
    - tz
    argTypes:
    - SArray*
    - int32_t
    - int64_t
    - int64_t
    - int8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8257
      start: 8244
    functionDepth: 1
    functionLinenumber: 8244
    functionLinenumberEnd: 8257
    functionName: tsmaOptFindUsefulTsma
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosTimeTruncate
    - tsmaOptInitIntervalFromTsma
    - taosArrayGet
    linkageType: ''
    returnType: STSMAOptUsefulTsma
    signature: "STSMAOptUsefulTsma * tsmaOptFindUsefulTsma(const SArray* pUsefulTsmas,
      int32_t startIdx,\n                                                       int64_t
      startAlignInterval, int64_t endAlignInterval,\n                                                       int8_t
      precision, void* tz)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8269,1
    - Dst: tsmaOptInitIntervalFromTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8275,1
    - Dst: tsmaOptInitIntervalFromTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8279,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8283,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8284,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8285,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8292,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8293,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8294,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8302,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8304,1
    - Dst: tsmaOptFindUsefulTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8306,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8310,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8316,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8322,1
    - Dst: tsmaOptFindUsefulTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8330,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8335,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pScanRange
    - tz
    argTypes:
    - STSMAOptCtx*
    - STimeWindow*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8338
      start: 8259
    functionDepth: 2
    functionLinenumber: 8259
    functionLinenumberEnd: 8338
    functionName: tsmaOptSplitWindows
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosTimeAdd
    - tsmaOptFindUsefulTsma
    - taosArrayGet
    - TMIN
    - tsmaOptInitIntervalFromTsma
    - taosTimeGetIntervalEnd
    - taosTimeTruncate
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsmaOptSplitWindows(STSMAOptCtx* pTsmaOptCtx, const STimeWindow*
      pScanRange, void* tz)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8352,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8352,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8355,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8357,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8363,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8364,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8365,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8367,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8374,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pTsma
    - pAggFuncs
    - ppList
    argTypes:
    - STSMAOptUsefulTsma*
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8380
      start: 8340
    functionDepth: 6
    functionLinenumber: 8340
    functionLinenumberEnd: 8380
    functionName: tsmaOptCreateTsmaScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - taosArrayGet
    - nodesDestroyList
    - nodesMakeNode
    - tstrncpy
    - fmIsGroupKeyFunc
    - fmIsPseudoColumnFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsmaOptCreateTsmaScanCols(const STSMAOptUsefulTsma* pTsma,
      const SNodeList* pAggFuncs, SNodeList** ppList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8352,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8352,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8355,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8357,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8363,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8364,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8365,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8371
      start: 8350
    functionDepth: 6
    functionLinenumber: 8350
    functionLinenumberEnd: 8371
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 124
    functionsReached:
    - nodesListMakeStrictAppend
    - taosArrayGet
    - nodesMakeNode
    - tstrncpy
    - fmIsGroupKeyFunc
    - fmIsPseudoColumnFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pAggFuncs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8387,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8388,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8389,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pTsma
    - pTagCol
    argTypes:
    - STSMAOptCtx*
    - STSMAOptUsefulTsma*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8399
      start: 8382
    functionDepth: 1
    functionLinenumber: 8382
    functionLinenumberEnd: 8399
    functionName: tsmaOptRewriteTag
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosArrayGet
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tsmaOptRewriteTag(const STSMAOptCtx* pTsmaOptCtx, const STSMAOptUsefulTsma*
      pTsma,\n                                 SColumnNode* pTagCol)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8405,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8412,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8414,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8415,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8416,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8424,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8425,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8426,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8432,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8433,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8438,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8442,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8449,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8450,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pTbNameNode
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - SNode**
    - STSMAOptUsefulTsma*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8454
      start: 8401
    functionDepth: 6
    functionLinenumber: 8401
    functionLinenumberEnd: 8454
    functionName: tsmaOptRewriteTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - taosArrayGet
    - fmGetFuncId
    - nodesListStrictAppend
    - nodesMakeNode
    - snprintf
    - tstrncpy
    - nodesDestroyNode
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tsmaOptRewriteTbname(const STSMAOptCtx* pTsmaOptCtx, SNode**
      pTbNameNode,\n                                    const STSMAOptUsefulTsma*
      pTsma)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8468,1
    - Dst: tsmaOptRewriteTag
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8469,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8471,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8472,1
    - Dst: tsmaOptRewriteTbname
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8473,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - ppNode
    - ctx
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8481
      start: 8464
    functionDepth: 7
    functionLinenumber: 8464
    functionLinenumberEnd: 8481
    functionName: tsmaOptNodeRewriter
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - tsmaOptRewriteTbname
    - tsmaOptRewriteTag
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes tsmaOptNodeRewriter(SNode** ppNode, void* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pNode
    - pCtx
    - pTsma
    - rewriteTbName
    - rewriteTag
    argTypes:
    - SNode**
    - STSMAOptCtx*
    - STSMAOptUsefulTsma*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8491
      start: 8483
    functionDepth: 1
    functionLinenumber: 8483
    functionLinenumberEnd: 8491
    functionName: tsmaOptRewriteNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tsmaOptRewriteNode(SNode** pNode, STSMAOptCtx* pCtx, const
      STSMAOptUsefulTsma* pTsma, bool rewriteTbName,\n                                  bool
      rewriteTag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsmaOptRewriteNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8499,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - pNodes
    - pCtx
    - pTsma
    - rewriteTbName
    - rewriteTag
    argTypes:
    - SNodeList*
    - STSMAOptCtx*
    - STSMAOptUsefulTsma*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8504
      start: 8493
    functionDepth: 2
    functionLinenumber: 8493
    functionLinenumberEnd: 8504
    functionName: tsmaOptRewriteNodeList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tsmaOptRewriteNode
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tsmaOptRewriteNodeList(SNodeList* pNodes, STSMAOptCtx* pCtx,
      const STSMAOptUsefulTsma* pTsma,\n                                      bool
      rewriteTbName, bool rewriteTag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsmaOptRewriteNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8499,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8502
      start: 8497
    functionDepth: 2
    functionLinenumber: 8497
    functionLinenumberEnd: 8502
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 124
    functionsReached:
    - tsmaOptRewriteNode
    - REPLACE_NODE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pNodes)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8516,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8520,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8525,1
    - Dst: tsmaOptCreateTsmaScanCols
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8528,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8531,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8532,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8534,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8536,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8541,1
    - Dst: tsmaOptRewriteNodeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8544,1
    - Dst: tsmaOptRewriteNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8547,1
    - Dst: tsmaOptRewriteNodeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8550,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8555,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8556,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8558,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8559,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8561,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8566,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8573,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8577,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8581,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pNewScan
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - SScanLogicNode*
    - STSMAOptUsefulTsma*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8586
      start: 8506
    functionDepth: 7
    functionLinenumber: 8506
    functionLinenumberEnd: 8586
    functionName: tsmaOptRewriteScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - taosMemoryFreeClear
    - memcpy
    - tsmaOptRewriteNode
    - REPLACE_NODE
    - nodesDestroyList
    - tsmaOptCreateTsmaScanCols
    - nodesRewriteExpr
    - FOREACH
    - tstrncpy
    - tsmaOptRewriteNodeList
    - taosArrayGetSize
    - nodesDestroyNode
    - nodesCloneNode
    - taosMemoryCalloc
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsmaOptRewriteScan(STSMAOptCtx* pTsmaOptCtx, SScanLogicNode*
      pNewScan, const STSMAOptUsefulTsma* pTsma)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8601,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8612,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8615,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8620,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8623,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8626,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8633,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8635,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8637,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8639,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8641,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8645,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8650,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8652,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8656,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8657,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8660,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - pTsmaOptCtx
    - pParent
    - pScan
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - SLogicNode*
    - SScanLogicNode*
    - STSMAOptUsefulTsma*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8664
      start: 8588
    functionDepth: 7
    functionLinenumber: 8588
    functionLinenumberEnd: 8664
    functionName: tsmaOptRewriteParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListPushFront
    - REPLACE_NODE
    - nodesListErase
    - nodesDestroyList
    - nodesRewriteExpr
    - nodeType
    - createColumnByRewriteExprs
    - fmGetDistMethod
    - fmIsGroupKeyFunc
    - fmIsPseudoColumnFunc
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tsmaOptRewriteParent(STSMAOptCtx* pTsmaOptCtx, SLogicNode*
      pParent, SScanLogicNode* pScan,\n                                    const STSMAOptUsefulTsma*
      pTsma)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8612,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8615,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8620,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8623,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8626,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8633,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8635,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8637,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8639,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8641,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8645,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8646
      start: 8610
    functionDepth: 5
    functionLinenumber: 8610
    functionLinenumberEnd: 8646
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 125
    functionsReached:
    - nodesListPushFront
    - REPLACE_NODE
    - nodesListErase
    - nodesRewriteExpr
    - fmGetDistMethod
    - fmIsGroupKeyFunc
    - fmIsPseudoColumnFunc
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pAggFuncNode, pAggFuncs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8673,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8677,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8678,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8679,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8684,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8690,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8692,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8700,1
    - Dst: tsmaOptRewriteScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8708,1
    - Dst: tsmaOptRewriteParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8710,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8715,1
    - Dst: tsmaOptRewriteScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8717,1
    - Dst: tsmaOptRewriteParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8719,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 1
    argNames:
    - pTsmaOptCtx
    argTypes:
    - STSMAOptCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8724
      start: 8666
    functionDepth: 8
    functionLinenumber: 8666
    functionLinenumberEnd: 8724
    functionName: tsmaOptGeneratePlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tsmaOptRewriteParent
    - taosArrayGet
    - nodesMakeNode
    - tstrncpy
    - tsmaOptRewriteScan
    - nodesCloneNode
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsmaOptGeneratePlan(STSMAOptCtx* pTsmaOptCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - STSMAOptCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8735
      start: 8726
    functionDepth: 1
    functionLinenumber: 8726
    functionLinenumberEnd: 8735
    functionName: tsmaOptIsUsingTsmas
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: bool tsmaOptIsUsingTsmas(STSMAOptCtx* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8740,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8743,1
    - Dst: getOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8744,1
    - Dst: fillTSMAOptCtx
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8746,1
    - Dst: tsmaOptFilterTsmas
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8749,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8753,1
    - Dst: tsmaOptSplitWindows
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8755,1
    - Dst: tsmaOptIsUsingTsmas
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8756,1
    - Dst: tsmaOptGeneratePlan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8758,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8765,1
    - Dst: clearTSMAOptCtx
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8773,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8775
      start: 8737
    functionDepth: 9
    functionLinenumber: 8737
    functionLinenumberEnd: 8775
    functionName: tsmaOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - fillTSMAOptCtx
    - tsmaOptFilterTsmas
    - clearTSMAOptCtx
    - taosArraySort
    - nodesListMakeAppend
    - getOptHint
    - getLogicNodeRootNode
    - tsmaOptSplitWindows
    - tsmaOptIsUsingTsmas
    - tsmaOptGeneratePlan
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsmaOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8782,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8782,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8786,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8796,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8805
      start: 8777
    functionDepth: 1
    functionLinenumber: 8777
    functionLinenumberEnd: 8805
    functionName: eliminateVirtualScanMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool eliminateVirtualScanMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8812,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8813,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8815,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8817,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8818,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8821,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pVirtualScanNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8831
      start: 8807
    functionDepth: 5
    functionLinenumber: 8807
    functionLinenumberEnd: 8831
    functionName: eliminateVirtualScanOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - OPTIMIZE_FLAG_SET_MASK
    - ERASE_NODE
    - FOREACH
    - INSERT_LIST
    - nodesEqualNode
    - OPTIMIZE_FLAG_CLEAR_MASK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t eliminateVirtualScanOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan,\n                                                SLogicNode*
      pVirtualScanNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8835,1
    - Dst: eliminateVirtualScanOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8841
      start: 8834
    functionDepth: 6
    functionLinenumber: 8834
    functionLinenumberEnd: 8841
    functionName: eliminateVirtualScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - eliminateVirtualScanOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t eliminateVirtualScanOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8844,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8844,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8845,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8845,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8850,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8850,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8854,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8856,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8867,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8869,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8869,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8874,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8880
      start: 8843
    functionDepth: 1
    functionLinenumber: 8843
    functionLinenumberEnd: 8880
    functionName: pdaMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - fmIsSelectFunc
    - LIST_LENGTH
    - nodeType
    - FOREACH
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: bool
    signature: bool pdaMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8884,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8885,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8891,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8892,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8893,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pScan
    - pCol
    argTypes:
    - SNode*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8900
      start: 8882
    functionDepth: 1
    functionLinenumber: 8882
    functionLinenumberEnd: 8900
    functionName: scanNodeContainColumn
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool scanNodeContainColumn(SNode* pScan, SColumnNode* pCol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8905,1
    - Dst: scanNodeContainColumn
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8907,1
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8908,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8908,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pCol
    - pVScan
    - ppNode
    argTypes:
    - SColumnNode*
    - SVirtualScanLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8915
      start: 8902
    functionDepth: 3
    functionLinenumber: 8902
    functionLinenumberEnd: 8915
    functionName: findDepTableScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - scanNodeContainColumn
    - planError
    - PLAN_RET
    - FOREACH
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t findDepTableScanNode(SColumnNode* pCol, SVirtualScanLogicNode
      *pVScan, SNode **ppNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8920,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8920,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8921,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8921,1
    - Dst: fmIsLastFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8922,1
    - Dst: fmIsLastRowFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8923,1
    - Dst: fmIsTimelineFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8924,1
    - Dst: fmIsKeepOrderFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8925,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - pAgg
    - pFunc
    argTypes:
    - SAggLogicNode*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8934
      start: 8917
    functionDepth: 5
    functionLinenumber: 8917
    functionLinenumberEnd: 8934
    functionName: mergeAggFuncToAggNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeAppend
    - fmIsLastFunc
    - fmIsTimelineFunc
    - fmIsLastRowFunc
    - fmIsKeepOrderFunc
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAggFuncToAggNode(SAggLogicNode* pAgg, SFunctionNode* pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8946,1
    - Dst: findDepTableScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8946,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8948,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8949,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8950,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8952,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8952,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8955,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8955,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8956,1
    - Dst: mergeAggFuncToAggNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8956,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8957,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8957,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8959,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8959,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8959,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8963,1
    - Dst: mergeAggFuncToAggNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8963,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8964,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 4
    argNames:
    - pCol
    - pAggFunc
    - pVScan
    - pAggNodeMap
    argTypes:
    - SColumnNode*
    - SFunctionNode*
    - SVirtualScanLogicNode*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8972
      start: 8936
    functionDepth: 6
    functionLinenumber: 8936
    functionLinenumberEnd: 8972
    functionName: rebuildPlanForPdaOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - mergeAggFuncToAggNode
    - nodesListMakeAppend
    - taosHashGet
    - nodesMakeNode
    - nodesDestroyNode
    - strlen
    - findDepTableScanNode
    - taosHashPut
    - TAOS_STRNCAT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rebuildPlanForPdaOptimize(SColumnNode* pCol, SFunctionNode*
      pAggFunc, SVirtualScanLogicNode* pVScan,\n                                         SHashObj*
      pAggNodeMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8980
      start: 8974
    functionDepth: 4
    functionLinenumber: 8974
    functionLinenumberEnd: 8980
    functionName: destroyAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void destroyAggLogicNode(void* data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8994,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8999,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9001,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9001,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9001,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9003,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9006,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9009,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9010,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9017,1
    - Dst: rebuildPlanForPdaOptimize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9017,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9022,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9022,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9030,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9030,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9033,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9038,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9042,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9044,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9047,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9047,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9048,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9048,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9049,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9050,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9050,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9054,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9054,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9056,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9057,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9058,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9063,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9064,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9065,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9067
      start: 8991
    functionDepth: 7
    functionLinenumber: 8991
    functionLinenumberEnd: 9067
    functionName: pdaOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - nodeType
    - replaceLogicNode
    - LIST_LENGTH
    - taosHashGetSize
    - createColumnByRewriteExprs
    - taosHashInit
    - rebuildPlanForPdaOptimize
    - taosHashSetFreeFp
    - taosGetDefaultHashFunction
    - optFindPossibleNode
    - nodesMakeNode
    - FOREACH
    - OPTIMIZE_FLAG_CLEAR_MASK
    - nodesDestroyNode
    - taosHashIterate
    - PLAN_ERR_JRET
    - nodesListMakeAppend
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t pdaOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9071,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9072,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9081
      start: 9069
    functionDepth: 1
    functionLinenumber: 9069
    functionLinenumberEnd: 9081
    functionName: functionHasTagOrPkParam
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool functionHasTagOrPkParam(SFunctionNode* pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9085,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9094
      start: 9083
    functionDepth: 1
    functionLinenumber: 9083
    functionLinenumberEnd: 9094
    functionName: functionHasTagParam
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool functionHasTagParam(SFunctionNode* pFunc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9097,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9100,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9100,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9104,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9105,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9113,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9118,1
    - Dst: functionHasTagOrPkParam
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9125
      start: 9096
    functionDepth: 2
    functionLinenumber: 9096
    functionLinenumberEnd: 9125
    functionName: vtableWindowMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - OPTIMIZE_FLAG_TEST_MASK
    - functionHasTagOrPkParam
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool vtableWindowMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9137,1
    - Dst: findDepTableScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9137,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9139,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9140,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9141,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9143,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9143,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9146,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9146,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9149,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9149,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9150,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9150,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9151,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9151,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9151,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9153,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9153,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9153,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9157,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9157,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9158,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 4
    argNames:
    - pCol
    - pAggFunc
    - pVScan
    - pAggNodeMap
    argTypes:
    - SColumnNode*
    - SFunctionNode*
    - SVirtualScanLogicNode*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9166
      start: 9127
    functionDepth: 5
    functionLinenumber: 9127
    functionLinenumberEnd: 9166
    functionName: rebuildPlanForVtableWindowOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - PLAN_ERR_JRET
    - nodesListMakeAppend
    - taosHashGet
    - taosHashPut
    - nodesMakeNode
    - nodesDestroyNode
    - strlen
    - findDepTableScanNode
    - nodesCloneNode
    - TAOS_STRNCAT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rebuildPlanForVtableWindowOptimize(SColumnNode* pCol, SFunctionNode*
      pAggFunc,\n                                                  SVirtualScanLogicNode*
      pVScan, SHashObj* pAggNodeMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9173,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9174,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9176,1
    - Dst: rebuildPlanForVtableWindowOptimize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFunction
    - pVirtualScan
    - pExtWinMap
    argTypes:
    - SFunctionNode*
    - SVirtualScanLogicNode*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9181
      start: 9168
    functionDepth: 6
    functionLinenumber: 9168
    functionLinenumberEnd: 9181
    functionName: windowAggFuncSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - PLAN_ERR_RET
    - rebuildPlanForVtableWindowOptimize
    linkageType: ''
    returnType: int32_t
    signature: "int32_t windowAggFuncSplit(SFunctionNode* pFunction, SVirtualScanLogicNode*
      pVirtualScan,\n                                       SHashObj* pExtWinMap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9189,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9191,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9192,1
    - Dst: windowAggFuncSplit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9192,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9193,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pDyn
    - pWin
    - pVirtualScan
    - pExtWinMap
    argTypes:
    - SDynQueryCtrlLogicNode*
    - SWindowLogicNode*
    - SVirtualScanLogicNode*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9209
      start: 9183
    functionDepth: 7
    functionLinenumber: 9183
    functionLinenumberEnd: 9209
    functionName: splitWindowAggFuncsToMultiExtWindows
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_RET
    - REPLACE_NODE
    - fmIsWindowPseudoColumnFunc
    - ERASE_NODE
    - WHERE_EACH
    - windowAggFuncSplit
    linkageType: ''
    returnType: int32_t
    signature: "int32_t splitWindowAggFuncsToMultiExtWindows(SDynQueryCtrlLogicNode*
      pDyn, SWindowLogicNode* pWin,\n                                                    SVirtualScanLogicNode*
      pVirtualScan, SHashObj* pExtWinMap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9217,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9217,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9218,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9219,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9220,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9222,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9226,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9226,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9227,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9231,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9231,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9232,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9233,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9234,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9236,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9240,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9240,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9241,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9245,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9245,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9246,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9247,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9248,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9250,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9254,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9254,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9255,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9260,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 2
    argNames:
    - pDyn
    - pNewWindow
    argTypes:
    - SDynQueryCtrlLogicNode*
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9263
      start: 9211
    functionDepth: 5
    functionLinenumber: 9211
    functionLinenumberEnd: 9263
    functionName: addWstartAndWendToWindowFuncsIfMissing
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeAppend
    - fmGetFuncId
    - LIST_LENGTH
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t addWstartAndWendToWindowFuncsIfMissing(SDynQueryCtrlLogicNode*
      pDyn, SWindowLogicNode* pNewWindow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9269,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9269,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9271,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9274,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9277,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9281,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9288,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9289,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9289,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9290,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9290,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9291,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9292,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - pExtWinMap
    - ppMerge
    - pWindow
    argTypes:
    - SHashObj*
    - SMergeLogicNode**
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9294
      start: 9265
    functionDepth: 7
    functionLinenumber: 9265
    functionLinenumberEnd: 9294
    functionName: generateMergeNodeForExtWindows
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - PLAN_ERR_JRET
    - nodesListMakeStrictAppend
    - nodesListMakeAppend
    - TSWAP
    - taosHashGetSize
    - OPTIMIZE_FLAG_SET_MASK
    - nodesMakeNode
    - createColumnByRewriteExprs
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t generateMergeNodeForExtWindows(SHashObj* pExtWinMap, SMergeLogicNode**
      ppMerge, SWindowLogicNode* pWindow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9304,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9308,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9324,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9324,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9325,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9326,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9328,1
    - Dst: findDepTableScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9328,1
    - Dst: findWindowTspkFromScanCols
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9330,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9331,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9332,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9334,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9334,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9335,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9335,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9339,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9339,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9339,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9340,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9342,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9342,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9349,1
    - Dst: splitWindowAggFuncsToMultiExtWindows
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9349,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9351,1
    - Dst: generateMergeNodeForExtWindows
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9351,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9353,1
    - Dst: addWstartAndWendToWindowFuncsIfMissing
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9353,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9355,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9355,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9357,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9360,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9360,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9365,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9365,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9366,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9366,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9368,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9368,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9370,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9371,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9372,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9373,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9379,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9383
      start: 9303
    functionDepth: 8
    functionLinenumber: 9303
    functionLinenumberEnd: 9383
    functionName: vtableWindowOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesDestroyList
    - replaceLogicNode
    - nodesCloneNode
    - generateMergeNodeForExtWindows
    - LIST_LENGTH
    - inStreamCalcClause
    - createColumnByRewriteExprs
    - OPTIMIZE_FLAG_SET_MASK
    - taosHashInit
    - taosGetDefaultHashFunction
    - optFindPossibleNode
    - findWindowTspkFromScanCols
    - QUERY_CHECK_NULL
    - nodesMakeNode
    - nodesDestroyNode
    - splitWindowAggFuncsToMultiExtWindows
    - PLAN_ERR_JRET
    - nodesListMakeAppend
    - planError
    - taosHashCleanup
    - addWstartAndWendToWindowFuncsIfMissing
    - findDepTableScanNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t vtableWindowOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9405
      start: 9393
    functionDepth: 1
    functionLinenumber: 9393
    functionLinenumberEnd: 9405
    functionName: eventWindowHasNullCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes eventWindowHasNullCond(SNode* pNode, void* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9417,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9424
      start: 9414
    functionDepth: 3
    functionLinenumber: 9414
    functionLinenumberEnd: 9424
    functionName: eventWindowContainsNullCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool eventWindowContainsNullCond(const SWindowLogicNode* pWindow)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9427,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9431,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9431,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9435,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9436,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9442,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9447,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9448,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9449,1
    - Dst: eventWindowContainsNullCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9456,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9462,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9475,1
    - Dst: functionHasTagParam
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9477,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9480,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9480,1
    - Dst: functionHasTagOrPkParam
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9480,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9485
      start: 9426
    functionDepth: 4
    functionLinenumber: 9426
    functionLinenumberEnd: 9485
    functionName: vstableWindowMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - fmIsAggFunc
    - fmIsSelectFunc
    - LIST_LENGTH
    - eventWindowContainsNullCond
    - OPTIMIZE_FLAG_TEST_MASK
    - functionHasTagOrPkParam
    - functionHasTagParam
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool vstableWindowMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9489,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9490,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9492,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9493,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9498,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pStateCol
    argTypes:
    - SLogicNode*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9505
      start: 9487
    functionDepth: 1
    functionLinenumber: 9487
    functionLinenumberEnd: 9505
    functionName: removeUselessTargetFromNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - REPLACE_NODE
    - ERASE_NODE
    - WHERE_EACH
    - nodeType
    - strcmp
    linkageType: ''
    returnType: void
    signature: void removeUselessTargetFromNode(SLogicNode* pNode, SColumnNode* pStateCol)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9522,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9527,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pTargetCol
    - pCols
    argTypes:
    - SColumnNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9534
      start: 9515
    functionDepth: 1
    functionLinenumber: 9515
    functionLinenumberEnd: 9534
    functionName: hasTargetInColumnList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool hasTargetInColumnList(SColumnNode* pTargetCol, SNodeList* pCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9522,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9527,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9531
      start: 9521
    functionDepth: 1
    functionLinenumber: 9521
    functionLinenumberEnd: 9531
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 137
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9546,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9547,1
    - Dst: hasTargetInColumnList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9549,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9552,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - pCols
    argTypes:
    - SLogicNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9559
      start: 9544
    functionDepth: 2
    functionLinenumber: 9544
    functionLinenumberEnd: 9559
    functionName: removeUselessTargetFromNodeByColumnList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - REPLACE_NODE
    - ERASE_NODE
    - WHERE_EACH
    - nodeType
    - hasTargetInColumnList
    linkageType: ''
    returnType: void
    signature: void removeUselessTargetFromNodeByColumnList(SLogicNode* pNode, SNodeList*
      pCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9574,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9574,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9576,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9576,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9584,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - pExpr
    - order
    - ppOrderByExpr
    argTypes:
    - SNode*
    - EOrder
    - SOrderByExprNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9588
      start: 9570
    functionDepth: 5
    functionLinenumber: 9570
    functionLinenumberEnd: 9588
    functionName: createOrderByExprNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesCloneNode
    - planError
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createOrderByExprNode(SNode* pExpr, EOrder order, SOrderByExprNode**
      ppOrderByExpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9602,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9602,1
    - Dst: optResetParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9605,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9612,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pScan
    - pOutputMergeScan
    argTypes:
    - SScanLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9616
      start: 9598
    functionDepth: 4
    functionLinenumber: 9598
    functionLinenumberEnd: 9616
    functionName: createMergeScanNodeByScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - optResetParent
    - planError
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createMergeScanNodeByScanNode(SScanLogicNode* pScan, SLogicNode**
      pOutputMergeScan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pMergeScan
    - pVgroup
    argTypes:
    - SScanLogicNode*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9636
      start: 9626
    functionDepth: 1
    functionLinenumber: 9626
    functionLinenumberEnd: 9636
    functionName: setSingleVgroupForMergeScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - planError
    linkageType: ''
    returnType: int32_t
    signature: int32_t setSingleVgroupForMergeScan(SScanLogicNode* pMergeScan, const
      SVgroupInfo* pVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9652,1
    - Dst: createMergeScanNodeByScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9652,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9653,1
    - Dst: setSingleVgroupForMergeScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9653,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9657,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9657,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9662,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pScanNode
    - pMerge
    - pVgroup
    argTypes:
    - SScanLogicNode*
    - SMergeLogicNode*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9665
      start: 9647
    functionDepth: 5
    functionLinenumber: 9647
    functionLinenumberEnd: 9665
    functionName: appendSingleVgroupMergeScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeAppend
    - planError
    - createMergeScanNodeByScanNode
    - nodesDestroyNode
    - setSingleVgroupForMergeScan
    linkageType: ''
    returnType: int32_t
    signature: "int32_t appendSingleVgroupMergeScan(\n    SScanLogicNode* pScanNode,
      SMergeLogicNode* pMerge, const SVgroupInfo* pVgroup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9683,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9687,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9687,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9696,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9696,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9698,1
    - Dst: createOrderByExprNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9698,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9699,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9699,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9702,1
    - Dst: appendSingleVgroupMergeScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9702,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9709,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - pScanNode
    - pSortKey
    - ppMerge
    argTypes:
    - SScanLogicNode*
    - SNode*
    - SMergeLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9712
      start: 9676
    functionDepth: 6
    functionLinenumber: 9676
    functionLinenumberEnd: 9712
    functionName: createMergeSortNodeForTsScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeStrictAppend
    - planError
    - createOrderByExprNode
    - nodesMakeNode
    - appendSingleVgroupMergeScan
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t createMergeSortNodeForTsScan(SScanLogicNode* pScanNode, SNode*
      pSortKey, SMergeLogicNode** ppMerge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9720,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9720,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9725,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9725,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9727,1
    - Dst: createOrderByExprNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9727,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9729,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9729,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - pSortCol
    - pWinColScan
    - ppSort
    argTypes:
    - SColumnNode*
    - SLogicNode*
    - SSortLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9736
      start: 9715
    functionDepth: 6
    functionLinenumber: 9715
    functionLinenumberEnd: 9736
    functionName: createSortNodeForWinColScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeStrictAppend
    - qError
    - createOrderByExprNode
    - nodesMakeNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSortNodeForWinColScan(SColumnNode* pSortCol, SLogicNode*
      pWinColScan, SSortLogicNode** ppSort)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9746,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9746,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9749,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9751,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9751,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9754,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9756,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9765,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9765,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9766,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9767,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9773,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9776,1
    - Dst: addWstartAndWendToWindowFuncsIfMissing
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9776,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9777,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9777,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9778,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9778,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - pSrcWindow
    - pDynWindowNode
    - ppExtWindow
    argTypes:
    - SWindowLogicNode*
    - SDynQueryCtrlLogicNode*
    - SWindowLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9785
      start: 9740
    functionDepth: 7
    functionLinenumber: 9740
    functionLinenumberEnd: 9785
    functionName: createExternalWindowFromOriginWindow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeAppend
    - REPLACE_NODE
    - nodesDestroyList
    - qError
    - OPTIMIZE_FLAG_SET_MASK
    - nodesMakeNode
    - WHERE_EACH
    - ERASE_NODE
    - createColumnByRewriteExprs
    - addWstartAndWendToWindowFuncsIfMissing
    - fmIsPseudoColumnFunc
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createExternalWindowFromOriginWindow(SWindowLogicNode* pSrcWindow,
      SDynQueryCtrlLogicNode* pDynWindowNode,\n                                                    SWindowLogicNode**
      ppExtWindow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9790
      start: 9787
    functionDepth: 2
    functionLinenumber: 9787
    functionLinenumberEnd: 9790
    functionName: clearChildList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesClearList
    linkageType: ''
    returnType: void
    signature: void clearChildList(SLogicNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9794,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pParent
    - pChild
    argTypes:
    - SLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9795
      start: 9792
    functionDepth: 5
    functionLinenumber: 9792
    functionLinenumberEnd: 9795
    functionName: appendNewChild
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_RET
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendNewChild(SLogicNode* pParent, SLogicNode* pChild)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9809,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9810,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9810,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9811,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9811,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9814,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9815,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9815,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9819,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pScanNode
    - pTsEnd
    argTypes:
    - SScanLogicNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9822
      start: 9805
    functionDepth: 7
    functionLinenumber: 9805
    functionLinenumberEnd: 9822
    functionName: rebuildScanColsAndTargetsByTsEnd
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeAppend
    - planError
    - createColumnByRewriteExprs
    - NODES_DESTORY_LIST
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rebuildScanColsAndTargetsByTsEnd(SScanLogicNode* pScanNode,
      SNode* pTsEnd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9839,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9843,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9844,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9851,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9851,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9852,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9852,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9856,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9857,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9857,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9858,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9858,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9863,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9864,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - pScanNode
    - pTspk
    argTypes:
    - SScanLogicNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9866
      start: 9832
    functionDepth: 7
    functionLinenumber: 9832
    functionLinenumberEnd: 9866
    functionName: rebuildScanTargetsWithPrimaryTs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeStrictAppend
    - planError
    - createColumnByRewriteExprs
    - FOREACH
    - nodesEqualNode
    - NODES_DESTORY_LIST
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rebuildScanTargetsWithPrimaryTs(SScanLogicNode* pScanNode,
      const SNode* pTspk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9875,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9880,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9883,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9894,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - pScanCols
    - pTspk
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9901
      start: 9868
    functionDepth: 5
    functionLinenumber: 9868
    functionLinenumberEnd: 9901
    functionName: findWindowTspkFromScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodeType
    - nodesEqualNode
    linkageType: ''
    returnType: SNode
    signature: SNode * findWindowTspkFromScanCols(SNodeList* pScanCols, const SNode*
      pTspk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9878
      start: 9874
    functionDepth: 5
    functionLinenumber: 9874
    functionLinenumberEnd: 9878
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 138
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pScanCol, pScanCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9890
      start: 9882
    functionDepth: 1
    functionLinenumber: 9882
    functionLinenumberEnd: 9890
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 138
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pScanCol, pScanCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9898
      start: 9893
    functionDepth: 1
    functionLinenumber: 9893
    functionLinenumberEnd: 9898
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 138
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pScanCol, pScanCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9920,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9922,1
    - Dst: fmIsDistExecFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9928
      start: 9918
    functionDepth: 1
    functionLinenumber: 9918
    functionLinenumberEnd: 9928
    functionName: vstableIntervalWindowFuncsCanSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - fmIsWindowPseudoColumnFunc
    - fmIsDistExecFunc
    linkageType: ''
    returnType: bool
    signature: bool vstableIntervalWindowFuncsCanSplit(const SWindowLogicNode* pWindow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9939
      start: 9937
    functionDepth: 0
    functionLinenumber: 9937
    functionLinenumberEnd: 9939
    functionName: vstableIntervalScanNeedSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool vstableIntervalScanNeedSplit(const SScanLogicNode* pScan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9961,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9963,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9963,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9965,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9966,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9968,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9969,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9970,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9971,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9973,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9974,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9980,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9980,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9982,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9985,1
    - Dst: rebuildVstbScanTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9985,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9987,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9988,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9989,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9990,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9992,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9992,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9993,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9993,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9994,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9994,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9996,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9996,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9998,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:9999,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10000,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10006,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pWindow
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10009
      start: 9950
    functionDepth: 6
    functionLinenumber: 9950
    functionLinenumberEnd: 10009
    functionName: vstableWindowOptimizeIntervalNoSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - PLAN_ERR_JRET
    - clearChildList
    - planError
    - nodesDestroyList
    - appendNewChild
    - QUERY_CHECK_NULL
    - OPTIMIZE_FLAG_SET_MASK
    - rebuildVstbScanTargets
    - replaceLogicNode
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vstableWindowOptimizeIntervalNoSplit(SOptimizeContext* pCxt,
      SLogicSubplan* pLogicSubplan,\n                                                    SWindowLogicNode*
      pWindow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10022,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10023,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10024,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10028,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10029,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10030,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10034,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10035,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10036,1
    - Dst: vstableIntervalWindowFuncsCanSplit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10036,1
    - Dst: vstableIntervalScanNeedSplit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10037,1
    - Dst: vstableWindowOptimizeIntervalSplit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10038,1
    - Dst: vstableWindowOptimizeIntervalNoSplit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10041,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pWindow
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10042
      start: 10020
    functionDepth: 7
    functionLinenumber: 10020
    functionLinenumberEnd: 10042
    functionName: vstableWindowOptimizeInterval
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - vstableWindowOptimizeIntervalNoSplit
    - vstableWindowOptimizeIntervalSplit
    - planError
    - LIST_LENGTH
    - nodeType
    - vstableIntervalWindowFuncsCanSplit
    - vstableIntervalScanNeedSplit
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vstableWindowOptimizeInterval(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan,\n                                             SWindowLogicNode*
      pWindow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10069,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10069,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10070,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10072,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10073,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10076,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10076,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10077,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10086,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10088,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10088,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10091,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10092,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10093,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10094,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10095,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10096,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10101,1
    - Dst: rebuildScanColsAndTargetsByTsEnd
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10101,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10103,1
    - Dst: createMergeSortNodeForTsScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10103,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10104,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10105,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10106,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10106,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10107,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10107,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10111,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10111,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10112,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10112,1
    - Dst: removeUselessTargetFromNodeByColumnList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10114,1
    - Dst: removeUselessTargetFromNodeByColumnList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10115,1
    - Dst: removeUselessTargetFromNodeByColumnList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10116,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10123,1
    - Dst: createSortNodeForWinColScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10123,1
    - Dst: removeUselessTargetFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10128,1
    - Dst: removeUselessTargetFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10130,1
    - Dst: removeUselessTargetFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10131,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10137,1
    - Dst: createSortNodeForWinColScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10137,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10146,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10147,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10148,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10149,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10150,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10151,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10153,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10154,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10155,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10156,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10158,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10160,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10160,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10161,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10161,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10163,1
    - Dst: createExternalWindowFromOriginWindow
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10163,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10165,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10165,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10169,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10169,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10173,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10173,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10174,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10174,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10181,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10181,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10182,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10182,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10183,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10183,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10185,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10185,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10187,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10188,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10189,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10194,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10195,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 100
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pWindow
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10198
      start: 10053
    functionDepth: 8
    functionLinenumber: 10053
    functionLinenumberEnd: 10198
    functionName: vstableWindowOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesDestroyList
    - replaceLogicNode
    - nodesCloneNode
    - clearChildList
    - removeUselessTargetFromNodeByColumnList
    - OPTIMIZE_FLAG_SET_MASK
    - removeUselessTargetFromNode
    - createExternalWindowFromOriginWindow
    - appendNewChild
    - createSortNodeForWinColScan
    - QUERY_CHECK_NULL
    - nodesCollectColumnsFromNode
    - rebuildScanColsAndTargetsByTsEnd
    - nodesDestroyNode
    - PLAN_ERR_JRET
    - createMergeSortNodeForTsScan
    - planError
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vstableWindowOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan,\n                                                SWindowLogicNode*
      pWindow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10210,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10214,1
    - Dst: vstableWindowOptimizeInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10221,1
    - Dst: vstableWindowOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10230
      start: 10209
    functionDepth: 9
    functionLinenumber: 10209
    functionLinenumberEnd: 10230
    functionName: vstableWindowOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - vstableWindowOptimizeInterval
    - inStreamCalcClause
    - vstableWindowOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t vstableWindowOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10233,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10236,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10236,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10240,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10245
      start: 10232
    functionDepth: 1
    functionLinenumber: 10232
    functionLinenumberEnd: 10245
    functionName: vstableWindowSortMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - OPTIMIZE_FLAG_TEST_MASK
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool vstableWindowSortMayBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10248,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10264,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10264,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10265,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10267,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10268,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10270,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10273,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10276,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10277,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10280,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10286,1
    - Dst: createSortNodeForWinColScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10286,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10289,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10289,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10291,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10293,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10293,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10295,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10295,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10297,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10302,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10305
      start: 10247
    functionDepth: 7
    functionLinenumber: 10247
    functionLinenumberEnd: 10305
    functionName: vstableWindowSortOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - nodesListGetNode
    - PLAN_ERR_JRET
    - nodesClearList
    - nodesListMakeAppend
    - planError
    - createSortNodeForWinColScan
    - QUERY_CHECK_NULL
    - OPTIMIZE_FLAG_SET_MASK
    - replaceLogicNode
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t vstableWindowSortOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10309,1
    - Dst: functionHasTagParam
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10316
      start: 10307
    functionDepth: 2
    functionLinenumber: 10307
    functionLinenumberEnd: 10316
    functionName: aggNodeHasTag
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - functionHasTagParam
    linkageType: ''
    returnType: bool
    signature: bool aggNodeHasTag(SAggLogicNode* pAgg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10319,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10323,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10330,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10335,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10336,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10339,1
    - Dst: partTagsNeedOutput
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10340,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10346,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10347,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10347,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10348,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10352,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10352,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10353,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10354,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10355,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10355,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10358,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10361,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10371,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10375,1
    - Dst: fmIsSelectValueFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10377,1
    - Dst: fmisSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10377,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10378,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10379,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10379,1
    - Dst: functionHasTagOrPkParam
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10379,1
    - Dst: fmIsDistExecFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10380,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10386
      start: 10318
    functionDepth: 6
    functionLinenumber: 10318
    functionLinenumberEnd: 10386
    functionName: vstableAggShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - fmIsSelectValueFunc
    - fmisSelectGroupConstValueFunc
    - fmIsAggFunc
    - fmIsDistExecFunc
    - fmIsSelectFunc
    - LIST_LENGTH
    - OPTIMIZE_FLAG_TEST_MASK
    - partTagsNeedOutput
    - functionHasTagOrPkParam
    - nodeType
    - FOREACH
    - keysHasCol
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: bool
    signature: bool vstableAggShouldBeOptimized(SLogicNode* pNode, void* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10397,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10397,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10398,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10398,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10399,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10399,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10401,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10401,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10404,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10404,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10406,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10406,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10409,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10409,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10411,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10414,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10414,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10419,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10420,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10421,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - pFuncs
    - pPartialFuncs
    - pMidFuncs
    - pMergeFuncs
    argTypes:
    - SNodeList*
    - SNodeList**
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10424
      start: 10388
    functionDepth: 6
    functionLinenumber: 10388
    functionLinenumberEnd: 10424
    functionName: createPartAggRewriteFuns
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeStrictAppend
    - planError
    - fmIsWindowPseudoColumnFunc
    - fmGetDistMethod
    - nodesDestroyNode
    - nodesCloneNode
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createPartAggRewriteFuns(const SNodeList* pFuncs, SNodeList**
      pPartialFuncs, SNodeList** pMidFuncs, SNodeList** pMergeFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10397,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10397,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10398,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10398,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10399,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10399,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10401,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10401,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10404,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10404,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10406,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10406,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10409,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10409,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10411,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10414,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10416
      start: 10395
    functionDepth: 6
    functionLinenumber: 10395
    functionLinenumberEnd: 10416
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 141
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeStrictAppend
    - fmIsWindowPseudoColumnFunc
    - fmGetDistMethod
    - nodesDestroyNode
    - nodesCloneNode
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10449,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10449,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10450,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10453,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10454,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10456,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10457,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10458,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10459,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10461,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10462,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10468,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10470,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10472,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10472,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10475,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10476,1
    - Dst: rebuildScanTargetsWithPrimaryTs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10476,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10477,1
    - Dst: rebuildVstbScanTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10477,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10479,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10482,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10486,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10486,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10488,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10488,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10491,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10491,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10494,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10499,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10500,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10501,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10503,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10505,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pWindow
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SWindowLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10508
      start: 10435
    functionDepth: 8
    functionLinenumber: 10435
    functionLinenumberEnd: 10508
    functionName: vstableWindowOptimizeIntervalSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - PLAN_ERR_JRET
    - clearChildList
    - planError
    - appendNewChild
    - QUERY_CHECK_NULL
    - OPTIMIZE_FLAG_SET_MASK
    - rebuildScanTargetsWithPrimaryTs
    - rebuildVstbScanTargets
    - replaceLogicNode
    - nodesDestroyNode
    - OPTIMIZE_FLAG_CLEAR_MASK
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vstableWindowOptimizeIntervalSplit(SOptimizeContext* pCxt,
      SLogicSubplan* pLogicSubplan,\n                                                  SWindowLogicNode*
      pWindow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10526,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10526,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10532,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10532,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10533,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10533,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10540,1
    - Dst: createPartAggRewriteFuns
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10540,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10542,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10542,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10548,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10549,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - pMergeAgg
    - pOutput
    argTypes:
    - SAggLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10553
      start: 10510
    functionDepth: 7
    functionLinenumber: 10510
    functionLinenumberEnd: 10553
    functionName: createPartAggNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - createPartAggRewriteFuns
    - PLAN_ERR_JRET
    - planError
    - nodesDestroyList
    - createColumnByRewriteExprs
    - nodesDestroyNode
    - nodesCloneNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t createPartAggNode(SAggLogicNode* pMergeAgg, SLogicNode** pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10559,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10561,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10564,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10564,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10565,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10565,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10566,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10566,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pTableScan
    - pTagScan
    argTypes:
    - SScanLogicNode*
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10572
      start: 10556
    functionDepth: 7
    functionLinenumber: 10556
    functionLinenumberEnd: 10572
    functionName: rebuildTableScanTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - planError
    - nodesDestroyList
    - createColumnByRewriteExprs
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t rebuildTableScanTargets(SScanLogicNode* pTableScan, SScanLogicNode*
      pTagScan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10577,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10578,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10582,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10582,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pTagScan
    - pPartition
    argTypes:
    - SScanLogicNode*
    - SPartitionLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10588
      start: 10574
    functionDepth: 7
    functionLinenumber: 10574
    functionLinenumberEnd: 10588
    functionName: rebuildPartitionTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - planError
    - nodesDestroyList
    - PLAN_ERR_JRET
    - createColumnByRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t rebuildPartitionTargets(SScanLogicNode* pTagScan, SPartitionLogicNode*
      pPartition)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10602,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10602,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10604,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10608,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10609,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10617,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10617,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10618,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10618,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10623,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10624,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10624,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pDynVstbScan
    - pNode
    argTypes:
    - SDynQueryCtrlLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10630
      start: 10598
    functionDepth: 6
    functionLinenumber: 10598
    functionLinenumberEnd: 10630
    functionName: rebuildVstbScanTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 2
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeStrictAppend
    - planError
    - nodeType
    - FOREACH
    - nodesEqualNode
    - NODES_DESTORY_LIST
    - nodesCloneNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t rebuildVstbScanTargets(SDynQueryCtrlLogicNode* pDynVstbScan,
      SLogicNode* pNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: aggNodeHasTag
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10643,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10645,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10645,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10647,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10648,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10650,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10651,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10652,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10653,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10656,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10656,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10657,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10658,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10659,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10660,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10661,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10665,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10666,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10667,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10668,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10670,1
    - Dst: rebuildTableScanTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10670,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10672,1
    - Dst: addFuncToScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10672,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10682,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10682,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10683,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10686,1
    - Dst: createPartAggNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10686,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10690,1
    - Dst: rebuildVstbScanTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10690,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10692,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10693,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10694,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10695,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10698,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10698,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10700,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10700,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10702,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10702,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10704,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10704,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10706,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10706,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10708,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10711,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10711,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10712,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10714,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10714,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10717,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10718,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10723,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10725,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 68
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pAgg
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10727
      start: 10632
    functionDepth: 8
    functionLinenumber: 10632
    functionLinenumberEnd: 10727
    functionName: vstableAggOptimizeWithoutPartition
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - PLAN_ERR_JRET
    - createPartAggNode
    - clearChildList
    - aggNodeHasTag
    - planError
    - nodesDestroyList
    - LIST_LENGTH
    - appendNewChild
    - QUERY_CHECK_NULL
    - rebuildTableScanTargets
    - addFuncToScanNode
    - rebuildVstbScanTargets
    - replaceLogicNode
    - OPTIMIZE_FLAG_CLEAR_MASK
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vstableAggOptimizeWithoutPartition(SOptimizeContext* pCxt,
      SLogicSubplan* pLogicSubplan,\n                                                         SAggLogicNode*
      pAgg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: aggNodeHasTag
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10740,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10743,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10743,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10745,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10746,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10748,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10749,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10751,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10752,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10753,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10754,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10756,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10757,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10758,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10759,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10762,1
    - Dst: rebuildTableScanTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10762,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10765,1
    - Dst: addFuncToScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10765,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10767,1
    - Dst: rebuildPartitionTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10767,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10774,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10774,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10777,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10780,1
    - Dst: createPartAggNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10780,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10785,1
    - Dst: rebuildVstbScanTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10785,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10787,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10788,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10789,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10790,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10791,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10794,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10794,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10797,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10797,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10798,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10798,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10799,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10799,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10800,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10800,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10801,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10801,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10803,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10806,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10806,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10807,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10809,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10809,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10812,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10817,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10819,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 63
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pAgg
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10821
      start: 10729
    functionDepth: 8
    functionLinenumber: 10729
    functionLinenumberEnd: 10821
    functionName: vstableAggOptimizeWithPartition
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - PLAN_ERR_JRET
    - clearChildList
    - aggNodeHasTag
    - planError
    - nodesDestroyList
    - appendNewChild
    - QUERY_CHECK_NULL
    - rebuildTableScanTargets
    - addFuncToScanNode
    - rebuildVstbScanTargets
    - rebuildPartitionTargets
    - replaceLogicNode
    - nodesDestroyNode
    - OPTIMIZE_FLAG_CLEAR_MASK
    - createPartAggNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t vstableAggOptimizeWithPartition(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan,\n                                               SAggLogicNode*
      pAgg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10824,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10828,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10837,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10842,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10842,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10843,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10848,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10849,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10852,1
    - Dst: clearChildList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10853,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10854,1
    - Dst: appendNewChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10854,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10857,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10857,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10858,1
    - Dst: vstableAggOptimizeWithPartition
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10858,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10859,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10859,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10860,1
    - Dst: vstableAggOptimizeWithoutPartition
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10860,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10862,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10868,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10868,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10872
      start: 10823
    functionDepth: 9
    functionLinenumber: 10823
    functionLinenumberEnd: 10872
    functionName: vstableAggOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - optFindPossibleNode
    - nodesListGetNode
    - PLAN_ERR_JRET
    - clearChildList
    - vstableAggOptimizeWithPartition
    - TSWAP
    - planError
    - appendNewChild
    - inStreamCalcClause
    - QUERY_CHECK_NULL
    - OPTIMIZE_FLAG_SET_MASK
    - nodesMakeNode
    - nodeType
    - vstableAggOptimizeWithoutPartition
    - tstrerror
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t vstableAggOptimize(SOptimizeContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10919,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10922,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10924,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pRuleName
    - pSubplan
    argTypes:
    - char*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10929
      start: 10913
    functionDepth: 4
    functionLinenumber: 10913
    functionLinenumberEnd: 10929
    functionName: dumpLogicSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - qDebugL
    - taosMemoryFree
    - nodesNodeToString
    linkageType: ''
    returnType: int32_t
    signature: int32_t dumpLogicSubplan(const char* pRuleName, SLogicSubplan* pSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dumpLogicSubplan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10934,1
    - Dst: optimizeFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10942,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10944,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10944,1
    - Dst: dumpLogicSubplan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10949,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10955
      start: 10931
    functionDepth: 1
    functionLinenumber: 10931
    functionLinenumberEnd: 10955
    functionName: applyOptimizeRule
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - planError
    - dumpLogicSubplan
    - optimizeFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t applyOptimizeRule(SPlanContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: applyOptimizeRule
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:10961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10962
      start: 10957
    functionDepth: 2
    functionLinenumber: 10957
    functionLinenumberEnd: 10962
    functionName: optimizeLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: 0
    functionsReached:
    - applyOptimizeRule
    linkageType: ''
    returnType: int32_t
    signature: int32_t optimizeLogicPlan(SPlanContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:26,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:32,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pSrc
    - level
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: singleCloneSubLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: SLogicSubplan
    signature: SLogicSubplan * singleCloneSubLogicPlan(SScaleOutContext* pCxt, SLogicSubplan*
      pSrc, int32_t level)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:49,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:52,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:57,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:61,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:64,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:68,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:75,1
    - Dst: doSetScanVgroup
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:76,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - pNode
    - pVgroup
    - pFound
    argTypes:
    - SLogicNode*
    - SVgroupInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: doSetScanVgroup
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 1
    functionsReached:
    - memcpy
    - nodeType
    - FOREACH
    - doSetScanVgroup
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetScanVgroup(SLogicNode* pNode, const SVgroupInfo* pVgroup,
      bool* pFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doSetScanVgroup
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pVgroup
    argTypes:
    - SLogicNode*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: setScanVgroup
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - doSetScanVgroup
    linkageType: ''
    returnType: int32_t
    signature: int32_t setScanVgroup(SLogicNode* pNode, const SVgroupInfo* pVgroup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: singleCloneSubLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:92,1
    - Dst: setScanVgroup
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:96,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 6
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: scaleOutByVgroups
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - setScanVgroup
    - singleCloneSubLogicPlan
    linkageType: ''
    returnType: int32_t
    signature: int32_t scaleOutByVgroups(SScaleOutContext* pCxt, SLogicSubplan* pSubplan,
      int32_t level, SNodeList* pGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:108,1
    - Dst: singleCloneSubLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: scaleOutForMerge
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - singleCloneSubLogicPlan
    linkageType: ''
    returnType: int32_t
    signature: int32_t scaleOutForMerge(SScaleOutContext* pCxt, SLogicSubplan* pSubplan,
      int32_t level, SNodeList* pGroup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:114,1
    - Dst: singleCloneSubLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:117,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:121,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: scaleOutForInsertValues
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - taosArrayGetP
    - singleCloneSubLogicPlan
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: "int32_t scaleOutForInsertValues(SScaleOutContext* pCxt, SLogicSubplan*
      pSubplan, int32_t level,\n                                       SNodeList*
      pGroup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scaleOutForInsertValues
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:132,1
    - Dst: scaleOutForMerge
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 7
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: scaleOutForInsert
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - scaleOutForMerge
    - scaleOutForInsertValues
    linkageType: ''
    returnType: int32_t
    signature: 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:140,1
    - Dst: scaleOutForInsert
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 8
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: scaleOutForModify
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - scaleOutByVgroups
    - scaleOutForInsert
    linkageType: ''
    returnType: int32_t
    signature: int32_t scaleOutForModify(SScaleOutContext* pCxt, SLogicSubplan* pSubplan,
      int32_t level, SNodeList* pGroup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scaleOutByVgroups
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:147,1
    - Dst: scaleOutForMerge
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 7
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: scaleOutForScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - scaleOutByVgroups
    - scaleOutForMerge
    linkageType: ''
    returnType: int32_t
    signature: int32_t scaleOutForScan(SScaleOutContext* pCxt, SLogicSubplan* pSubplan,
      int32_t level, SNodeList* pGroup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: singleCloneSubLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:156,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 6
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: scaleOutForCompute
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - singleCloneSubLogicPlan
    linkageType: ''
    returnType: int32_t
    signature: int32_t scaleOutForCompute(SScaleOutContext* pCxt, SLogicSubplan* pSubplan,
      int32_t level, SNodeList* pGroup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:174,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:176,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:186,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pParentsGroup
    - pCurrentGroup
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 195
    functionName: pushHierarchicalPlanForCompute
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushHierarchicalPlanForCompute(SNodeList* pParentsGroup, SNodeList*
      pCurrentGroup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:174,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: FORBOTH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 1
    functionsReached:
    - nodesListMakeAppend
    linkageType: ''
    returnType: void
    signature: void FORBOTH(pChild, pCurrentGroup, pParent, pParentsGroup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:186,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 143
    functionsReached:
    - nodesListMakeAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(pChild, pCurrentGroup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:186,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 5
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 143
    functionsReached:
    - nodesListMakeAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(pParent, pParentsGroup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:198,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: isComputeGroup
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: bool isComputeGroup(SNodeList* pGroup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:206,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:210,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:214,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pParentsGroup
    - pCurrentGroup
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 204
    functionDepth: 5
    functionLinenumber: 204
    functionLinenumberEnd: 225
    functionName: pushHierarchicalPlanForNormal
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - nodesListAppend
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushHierarchicalPlanForNormal(SNodeList* pParentsGroup, SNodeList*
      pCurrentGroup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:210,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:214,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 5
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 143
    functionsReached:
    - nodesListAppend
    - nodesListMakeAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(pChild, pCurrentGroup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:214,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 143
    functionsReached:
    - nodesListMakeAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(pParent, pParentsGroup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isComputeGroup
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:228,1
    - Dst: pushHierarchicalPlanForCompute
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:229,1
    - Dst: pushHierarchicalPlanForNormal
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pParentsGroup
    - pCurrentGroup
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 6
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: pushHierarchicalPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - pushHierarchicalPlanForNormal
    - isComputeGroup
    - pushHierarchicalPlanForCompute
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushHierarchicalPlan(SNodeList* pParentsGroup, SNodeList* pCurrentGroup)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:236,1
    - Dst: scaleOutForMerge
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:243,1
    - Dst: scaleOutForScan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:247,1
    - Dst: scaleOutForModify
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:250,1
    - Dst: scaleOutForCompute
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:253,1
    - Dst: pushHierarchicalPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:260,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:265,1
    - Dst: doScaleOut
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:266,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:274,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:276,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pParentsGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 234
    functionDepth: 9
    functionLinenumber: 234
    functionLinenumberEnd: 280
    functionName: doScaleOut
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 1
    functionsReached:
    - scaleOutForMerge
    - nodesClearList
    - scaleOutForModify
    - nodesMakeList
    - nodesDestroyList
    - FOREACH
    - scaleOutForCompute
    - scaleOutForScan
    - pushHierarchicalPlan
    - doScaleOut
    linkageType: ''
    returnType: int32_t
    signature: int32_t doScaleOut(SScaleOutContext* pCxt, SLogicSubplan* pSubplan,
      int32_t level, SNodeList* pParentsGroup)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:284,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:290,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 297
    functionName: makeQueryLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesMakeList
    - nodesDestroyNode
    linkageType: ''
    returnType: SQueryLogicPlan
    signature: SQueryLogicPlan * makeQueryLogicPlan()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makeQueryLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:300,1
    - Dst: doScaleOut
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:306,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pLogicPlan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    - SQueryLogicPlan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 299
    functionDepth: 10
    functionLinenumber: 299
    functionLinenumberEnd: 314
    functionName: scaleOutLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: 0
    functionsReached:
    - makeQueryLogicPlan
    - nodesDestroyNode
    - doScaleOut
    linkageType: ''
    returnType: int32_t
    signature: int32_t scaleOutLogicPlan(SPlanContext* pCxt, SLogicSubplan* pLogicSubplan,
      SQueryLogicPlan** pLogicPlan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/planner/src/planner.c:22,1
    - Dst: printf
      Src: /src/tdengine/source/libs/planner/src/planner.c:24,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planner.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: debugPrintNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    functionsReached:
    - printf
    - taosMemoryFree
    - nodesNodeToString
    linkageType: ''
    returnType: int32_t
    signature: int32_t debugPrintNode(SNode* pNode)
  - 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: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: dumpQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    functionsReached:
    - planDebugL
    - taosMemoryFree
    - nodesNodeToString
    linkageType: ''
    returnType: int32_t
    signature: int32_t dumpQueryPlan(SQueryPlan* pPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/planner/src/planner.c:47,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: 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: printPlanNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - level
    argTypes:
    - SLogicNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: printPlanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 1
    functionsReached:
    - nodesNodeName
    - printPlanNode
    - nodeType
    - printf
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void printPlanNode(SLogicNode *pNode, int32_t level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/planner/src/planner.c:61,1
    - Dst: printf
      Src: /src/tdengine/source/libs/planner/src/planner.c:63,1
    - Dst: printPlanNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:65,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:68,1
    - Dst: dumpLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pLogicSubplan
    - level
    argTypes:
    - SLogicSubplan*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: dumpLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 1
    functionsReached:
    - printf
    - FOREACH
    - printPlanNode
    - dumpLogicPlan
    linkageType: ''
    returnType: void
    signature: void dumpLogicPlan(SLogicSubplan* pLogicSubplan, int32_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planner.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pDst
    - pSrc
    - pRoot
    argTypes:
    - SPlanContext*
    - SPlanContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: initSubQueryPlanContext
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void initSubQueryPlanContext(SPlanContext* pDst, SPlanContext* pSrc,
      SNode* pRoot)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:89,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:94,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pRoot
    - subQIdx
    argTypes:
    - SNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: isPartitionedExternalWindowSubquery
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isPartitionedExternalWindowSubquery(SNode* pRoot, int32_t subQIdx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:115,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:127,1
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planner.c:144,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:144,1
    - Dst: initSubQueryPlanContext
      Src: /src/tdengine/source/libs/planner/src/planner.c:145,1
    - Dst: isPartitionedExternalWindowSubquery
      Src: /src/tdengine/source/libs/planner/src/planner.c:146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:147,1
    - Dst: qCreateQueryPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:148,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planner.c:148,1
    - Dst: nodesGetSubSql
      Src: /src/tdengine/source/libs/planner/src/planner.c:150,1
    - Dst: nodesGetSubQType
      Src: /src/tdengine/source/libs/planner/src/planner.c:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - pSrc
    - pParent
    - pExecNodeList
    argTypes:
    - SPlanContext*
    - SQueryPlan*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 159
    functionName: createSubQueryPlans
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    functionsReached:
    - isPartitionedExternalWindowSubquery
    - nodesListMakeStrictAppend
    - initSubQueryPlanContext
    - nodesGetSubQType
    - nodesGetSubSql
    - nodeType
    - qCreateQueryPlan
    - planDebug
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSubQueryPlans(SPlanContext* pSrc, SQueryPlan* pParent,
      SArray* pExecNodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planner.c:144,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:144,1
    - Dst: initSubQueryPlanContext
      Src: /src/tdengine/source/libs/planner/src/planner.c:145,1
    - Dst: isPartitionedExternalWindowSubquery
      Src: /src/tdengine/source/libs/planner/src/planner.c:146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:147,1
    - Dst: qCreateQueryPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:148,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planner.c:148,1
    - Dst: nodesGetSubSql
      Src: /src/tdengine/source/libs/planner/src/planner.c:150,1
    - Dst: nodesGetSubQType
      Src: /src/tdengine/source/libs/planner/src/planner.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 6
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 146
    functionsReached:
    - isPartitionedExternalWindowSubquery
    - nodesListMakeStrictAppend
    - initSubQueryPlanContext
    - nodesGetSubQType
    - nodesGetSubSql
    - nodeType
    - qCreateQueryPlan
    - planDebug
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pSubQueries)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:168,1
    - Dst: nodesAcquireAllocator
      Src: /src/tdengine/source/libs/planner/src/planner.c:168,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:169,1
    - Dst: createLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:169,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:170,1
    - Dst: optimizeLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:170,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:171,1
    - Dst: splitLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:172,1
    - Dst: scaleOutLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:172,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:173,1
    - Dst: createPhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:173,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:174,1
    - Dst: validateQueryPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:174,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/planner/src/planner.c:175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:177,1
    - Dst: createSubQueryPlans
      Src: /src/tdengine/source/libs/planner/src/planner.c:177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/planner/src/planner.c:178,1
    - Dst: dumpQueryPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:178,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/planner/src/planner.c:183,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planner.c:185,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planner.c:185,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:187,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pPlan
    - pExecNodeList
    argTypes:
    - SPlanContext*
    - SQueryPlan**
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 21
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: qCreateQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 2
    functionsReached:
    - createPhysiPlan
    - nodesAcquireAllocator
    - createSubQueryPlans
    - planError
    - splitLogicPlan
    - nodesReleaseAllocator
    - optimizeLogicPlan
    - scaleOutLogicPlan
    - dumpQueryPlan
    - createLogicPlan
    - tstrerror
    - TAOS_CHECK_EXIT
    - nodesDestroyNode
    - validateQueryPlan
    linkageType: ''
    returnType: int32_t
    signature: int32_t qCreateQueryPlan(SPlanContext* pCxt, SQueryPlan** pPlan, SArray*
      pExecNodeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planner.c:200,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planner.c:201,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planner.c:204,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planner.c:206,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planner.c:211,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planner.c:211,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planner.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pExchange
    - vgId
    argTypes:
    - SExchangePhysiNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 220
    functionName: addVgIdToExchange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - planError
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t addVgIdToExchange(SExchangePhysiNode* pExchange, int32_t vgId)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:226,1
    - Dst: addVgIdToExchange
      Src: /src/tdengine/source/libs/planner/src/planner.c:229,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planner.c:231,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:237,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planner.c:239,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:242,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:246,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planner.c:248,1
    - Dst: addVgIdToExchange
      Src: /src/tdengine/source/libs/planner/src/planner.c:252,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planner.c:254,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:260,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planner.c:262,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:269,1
    - Dst: setSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - pNode
    - groupId
    - pSource
    argTypes:
    - SPhysiNode*
    - int32_t
    - SDownstreamSourceNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 276
    functionName: setSubplanExecutionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - addVgIdToExchange
    - planError
    - LIST_LENGTH
    - nodeType
    - FOREACH
    - nodesCloneNode
    - setSubplanExecutionNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setSubplanExecutionNode(SPhysiNode* pNode, int32_t groupId,\n
      \                                      SDownstreamSourceNode* pSource)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPostPlan
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: qContinuePlanPostQuery
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t qContinuePlanPostQuery(void* pPostPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planner.c:284,1
    - Dst: setSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - subplan
    - groupId
    - pSource
    argTypes:
    - SSubplan*
    - int32_t
    - SDownstreamSourceNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 7
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: qSetSubplanExecutionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 1
    functionsReached:
    - planDebug
    - setSubplanExecutionNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t qSetSubplanExecutionNode(SSubplan* subplan, int32_t groupId,
      SDownstreamSourceNode* pSource)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:289,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planner.c:291,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planner.c:292,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:294,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planner.c:296,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:298,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planner.c:299,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planner.c:300,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:306,1
    - Dst: clearSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 307
    functionName: clearSubplanExecutionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 1
    functionsReached:
    - LIST_LENGTH
    - nodeType
    - FOREACH
    - taosArrayDestroy
    - NODES_DESTORY_LIST
    - clearSubplanExecutionNode
    linkageType: ''
    returnType: void
    signature: void clearSubplanExecutionNode(SPhysiNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planner.c:310,1
    - Dst: clearSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSubplan
    argTypes:
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: qClearSubplanExecutionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 2
    functionsReached:
    - planDebug
    - clearSubplanExecutionNode
    linkageType: ''
    returnType: void
    signature: void qClearSubplanExecutionNode(SSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/planner/src/planner.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pSubplan
    - pStr
    - pLen
    argTypes:
    - SSubplan*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: qSubPlanToString
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 1
    functionsReached:
    - nodesNodeToString
    linkageType: ''
    returnType: int32_t
    signature: int32_t qSubPlanToString(const SSubplan* pSubplan, char** pStr, int32_t*
      pLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pStr
    - pSubplan
    argTypes:
    - char*
    - SSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 5
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: qStringToSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 3
    functionsReached:
    - nodesStringToNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStringToSubplan(const char* pStr, SSubplan** pSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToMsg
      Src: /src/tdengine/source/libs/planner/src/planner.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pSubplan
    - pStr
    - pLen
    argTypes:
    - SSubplan*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: qSubPlanToMsg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 1
    functionsReached:
    - nodesNodeToMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t qSubPlanToMsg(const SSubplan* pSubplan, char** pStr, int32_t*
      pLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMsgToNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pStr
    - len
    - pSubplan
    argTypes:
    - char*
    - int32_t
    - SSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 5
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: qMsgToSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    functionsReached:
    - nodesMsgToNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t qMsgToSubplan(const char* pStr, int32_t len, SSubplan** pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 5
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: qStringToQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 0
    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:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: qDestroyQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: 3
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void qDestroyQueryPlan(SQueryPlan* pPlan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SRewriteExprCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: getOrderByFirstExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: SNode
    signature: SNode * getOrderByFirstExpr(SRewriteExprCxt* pCxt)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: getOrderByFirstExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:71,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:76,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:78,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:79,1
    - Dst: fmIsKeepOrderFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:115,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:115,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:117,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - pFunc
    - pCol
    - isPartitionBy
    - pCxt
    argTypes:
    - SFunctionNode*
    - SColumnNode*
    - bool
    - SRewriteExprCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 121
    functionName: setColumnInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - snprintf
    - isPrimaryKeyImpl
    - getOrderByFirstExpr
    - fmIsKeepOrderFunc
    linkageType: ''
    returnType: void
    signature: void setColumnInfo(SFunctionNode* pFunc, SColumnNode* pCol, bool isPartitionBy,
      SRewriteExprCxt* pCxt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:125,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:130,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:131,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:132,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:134,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:149,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:150,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:151,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:153,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:155,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:161,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:162,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:163,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:166,1
    - Dst: setColumnInfo
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:167,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 123
    functionDepth: 5
    functionLinenumber: 123
    functionLinenumberEnd: 185
    functionName: doRewriteExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - setColumnInfo
    - nodeType
    - nodesMakeNode
    - FOREACH
    - nodesEqualNode
    - tstrncpy
    - nodesDestroyNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doRewriteExpr(SNode** pNode, void* pContext)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:188,1
    - Dst: rewriteExprAliasName
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: doNameExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - rewriteExprAliasName
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doNameExpr(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:207,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:208,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - errCode
    - pFormat
    argTypes:
    - SLogicPlanContext*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: generatePlanErrMsg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: int32_t generatePlanErrMsg(SLogicPlanContext* pCxt, int32_t errCode,
      const char* pFormat, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:215,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:218,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:226,1
    - Dst: nodesRewriteSelectStmt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:228,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pExpr
    - pSelect
    - clause
    argTypes:
    - SNode*
    - SSelectStmt*
    - ESqlClause
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 232
    functionName: rewriteExprForSelect
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesClearList
    - nodesListMakeAppend
    - nodesWalkExpr
    - nodesRewriteSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteExprForSelect(SNode* pExpr, SSelectStmt* pSelect, ESqlClause
      clause)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:241,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:243,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pExprs
    - pOutputs
    - pRewriteExpr
    argTypes:
    - SNodeList*
    - bool*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 6
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: cloneRewriteExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneRewriteExprs(SNodeList* pExprs, bool* pOutputs, SNodeList**
      pRewriteExpr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:241,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:243,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 238
    functionDepth: 6
    functionLinenumber: 238
    functionLinenumberEnd: 251
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 149
    functionsReached:
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: void
    signature: void FOREACH(pExpr, pExprs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:257,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:261,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:270,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:270,1
    - Dst: nodesRewriteSelectStmt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:275,1
    - Dst: cloneRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:277,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pExprs
    - pSelect
    - clause
    - pRewriteExprs
    argTypes:
    - SNodeList*
    - SSelectStmt*
    - ESqlClause
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 255
    functionDepth: 7
    functionLinenumber: 255
    functionLinenumberEnd: 281
    functionName: rewriteExprsForSelect
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - cloneRewriteExprs
    - LIST_LENGTH
    - taosMemoryFree
    - nodesRewriteSelectStmt
    - nodesWalkExprs
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rewriteExprsForSelect(SNodeList* pExprs, SSelectStmt* pSelect,
      ESqlClause clause,\n                                     SNodeList** pRewriteExprs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:284,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pExprs
    - pTarget
    argTypes:
    - SNodeList*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: rewriteExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 5
    functionsReached:
    - nodesWalkExprs
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteExpr(SNodeList* pExprs, SNode** pTarget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:296,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pExprs
    - pTarget
    argTypes:
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: rewriteExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 3
    functionsReached:
    - nodesWalkExprs
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteExprs(SNodeList* pExprs, SNodeList* pTarget)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:309,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pOldRoot
    - pNewRoot
    argTypes:
    - SLogicPlanContext*
    - SLogicNode**
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 322
    functionName: pushLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushLogicNode(SLogicPlanContext* pCxt, SLogicNode** pOldRoot,
      SLogicNode* pNewRoot)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:327,1
    - Dst: pushLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:330,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - precision
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - void*
    - uint8_t
    - FCreateLogicNode
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 324
    functionDepth: 5
    functionLinenumber: 324
    functionLinenumberEnd: 337
    functionName: createRootLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - pushLogicNode
    - nodesDestroyNode
    - func
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createRootLogicNode(SLogicPlanContext* pCxt, void* pStmt,
      uint8_t precision, FCreateLogicNode func,\n                                   SLogicNode**
      pRoot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - FCreateSelectLogicNode
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 6
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: createSelectRootLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createRootLogicNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSelectRootLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, FCreateSelectLogicNode func,\n                                         SLogicNode**
      pRoot)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:354,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:354,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - pCxt
    - pScanPseudoCols
    - pScanCols
    - tableType
    - tagScan
    argTypes:
    - SLogicPlanContext*
    - SNodeList*
    - SNodeList*
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 368
    functionName: getScanType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    linkageType: ''
    returnType: EScanType
    signature: "EScanType getScanType(SLogicPlanContext* pCxt, SNodeList* pScanPseudoCols,
      SNodeList* pScanCols,\n                             int8_t tableType, bool tagScan)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: hasPkInTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasPkInTable(const STableMeta* pTableMeta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:376,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:385,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:386,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:388,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - pTable
    - pSchema
    argTypes:
    - SRealTableNode*
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 392
    functionName: createFirstCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - hasPkInTable
    linkageType: ''
    returnType: SNode
    signature: SNode * createFirstCol(SRealTableNode* pTable, const SSchema* pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:396,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:405,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:406,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pTable
    - pSchema
    argTypes:
    - SRealTableNode*
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 394
    functionDepth: 5
    functionLinenumber: 394
    functionLinenumberEnd: 409
    functionName: createInsColsScanCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: SNode
    signature: SNode * createInsColsScanCol(SRealTableNode* pTable, const SSchema*
      pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:413,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:422,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:423,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - pTable
    - pSchema
    argTypes:
    - SVirtualTableNode*
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 411
    functionDepth: 5
    functionLinenumber: 411
    functionLinenumberEnd: 430
    functionName: createVtbFirstCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: SNode
    signature: SNode * createVtbFirstCol(SVirtualTableNode* pTable, const SSchema*
      pSchema)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:436,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:444,1
    - Dst: createVtbFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SVirtualTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 432
    functionDepth: 6
    functionLinenumber: 432
    functionLinenumberEnd: 447
    functionName: addVtbPrimaryTsCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - nodesListMakeStrictAppend
    - createVtbFirstCol
    linkageType: ''
    returnType: int32_t
    signature: int32_t addVtbPrimaryTsCol(SVirtualTableNode* pTable, SNodeList** pCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:451,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:451,1
    - Dst: createInsColsScanCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 6
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: addInsColumnScanCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - PLAN_ERR_RET
    - createInsColsScanCol
    linkageType: ''
    returnType: int32_t
    signature: int32_t addInsColumnScanCol(SRealTableNode* pTable, SNodeList** pCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:459,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:467,1
    - Dst: createFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 6
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: addPrimaryTsCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createFirstCol
    - FOREACH
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addPrimaryTsCol(SRealTableNode* pTable, SNodeList** pCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:473,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:476,1
    - Dst: createFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 472
    functionDepth: 6
    functionLinenumber: 472
    functionLinenumberEnd: 477
    functionName: addSystableFirstCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createFirstCol
    - LIST_LENGTH
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addSystableFirstCol(SRealTableNode* pTable, SNodeList** pCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:483,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:491,1
    - Dst: createFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 479
    functionDepth: 6
    functionLinenumber: 479
    functionLinenumberEnd: 494
    functionName: addPrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createFirstCol
    - FOREACH
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addPrimaryKeyCol(SRealTableNode* pTable, SNodeList** pCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: addSystableFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:498,1
    - Dst: addPrimaryTsCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:500,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:501,1
    - Dst: addPrimaryKeyCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 496
    functionDepth: 7
    functionLinenumber: 496
    functionLinenumberEnd: 505
    functionName: addDefaultScanCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - addPrimaryKeyCol
    - addSystableFirstCol
    - hasPkInTable
    - addPrimaryTsCol
    linkageType: ''
    returnType: int32_t
    signature: int32_t addDefaultScanCol(SRealTableNode* pTable, SNodeList** pCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:510,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:515,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:516,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:517,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:518,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:519,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:525,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:528,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 4
    argNames:
    - pCxt
    - pRealTable
    - hasRepeatScanFuncs
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SRealTableNode*
    - bool
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 507
    functionDepth: 5
    functionLinenumber: 507
    functionLinenumberEnd: 538
    functionName: makeScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - TAOS_SET_OBJ_ALIGNED
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: "int32_t makeScanLogicNode(SLogicPlanContext* pCxt, SRealTableNode*
      pRealTable, bool hasRepeatScanFuncs,\n                                 SLogicNode**
      pLogicNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scanType
    argTypes:
    - EScanType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 540
    functionName: needScanDefaultCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool needScanDefaultCol(EScanType scanType)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:554,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:557,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:566,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:569,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:579,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - pSelect
    - pScan
    - pRealTable
    argTypes:
    - SSelectStmt*
    - SScanLogicNode*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 542
    functionDepth: 7
    functionLinenumber: 542
    functionLinenumberEnd: 581
    functionName: updateScanNoPseudoRefAfterGrp
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - nodesCollectColumns
    - nodesCollectFuncs
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateScanNoPseudoRefAfterGrp(SSelectStmt* pSelect, SScanLogicNode*
      pScan, SRealTableNode* pRealTable)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: makeScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:588,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:596,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:600,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:605,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:610,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:615,1
    - Dst: updateScanNoPseudoRefAfterGrp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:620,1
    - Dst: getScanType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:624,1
    - Dst: SET_SYS_SCAN_FLAG
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:626,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:628,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:628,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:629,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:629,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:630,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:630,1
    - Dst: SET_HSYS_SCAN_FLAG
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:631,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:640,1
    - Dst: needScanDefaultCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:656,1
    - Dst: addDefaultScanCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:657,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:662,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:665,1
    - Dst: tagScanSetExecutionMode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:669,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:675,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:677,1
    - Dst: getParaTablesSortOptHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:687,1
    - Dst: getSmallDataTsSortOptHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:688,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:691,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pRealTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SRealTableNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 585
    functionDepth: 8
    functionLinenumber: 585
    functionLinenumberEnd: 696
    functionName: createScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - SET_SYS_SCAN_FLAG
    - SET_HSYS_SCAN_FLAG
    - needScanDefaultCol
    - nodesCloneNode
    - nodesCollectFuncs
    - createColumnByRewriteExprs
    - nodesCollectColumns
    - keysHasCol
    - strcmp
    - getParaTablesSortOptHint
    - getSmallDataTsSortOptHint
    - nodesDestroyNode
    - getScanType
    - tNameGetTableName
    - tagScanSetExecutionMode
    - rewriteExprsForSelect
    - updateScanNoPseudoRefAfterGrp
    - addDefaultScanCol
    - makeScanLogicNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createScanLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SRealTableNode* pRealTable,\n                                   SLogicNode**
      pLogicNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:703,1
    - Dst: makeScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:703,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:707,1
    - Dst: addDefaultScanCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:707,1
    - Dst: getScanType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:709,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:711,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:711,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:713,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pRealTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SRealTableNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 698
    functionDepth: 8
    functionLinenumber: 698
    functionLinenumberEnd: 720
    functionName: createRefScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getScanType
    - PLAN_ERR_RET
    - tstrncpy
    - addDefaultScanCol
    - nodesCloneNode
    - makeScanLogicNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createRefScanLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SRealTableNode* pRealTable,\n                                      SLogicNode**
      pLogicNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - STempTableNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: createSubqueryLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createQueryLogicNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSubqueryLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, STempTableNode* pTable,\n                                       SLogicNode**
      pLogicNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:729,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:729,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:733,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:733,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:735,1
    - Dst: nodesCollectColumnsExt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:738,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pSelect
    - pJoin
    - pCols
    argTypes:
    - SSelectStmt*
    - SJoinLogicNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 727
    functionDepth: 7
    functionLinenumber: 727
    functionLinenumberEnd: 744
    functionName: collectJoinResColumns
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesCollectColumnsExt
    - collectTableAliasFromNodes
    - tSimpleHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectJoinResColumns(SSelectStmt* pSelect, SJoinLogicNode*
      pJoin, SNodeList** pCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:761,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pExpr
    - pColName
    argTypes:
    - SExprNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: streamExtJoinExprNameMatches
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool streamExtJoinExprNameMatches(const SExprNode* pExpr, const char*
      pColName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:770,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:778,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 789
    functionName: streamExtJoinExprKeyType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EStreamExtJoinKey
    signature: EStreamExtJoinKey streamExtJoinExprKeyType(SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:797,1
    - Dst: streamExtJoinExprNameMatches
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:798,1
    - Dst: streamExtJoinExprKeyType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:799,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pSelect
    - pColName
    argTypes:
    - SSelectStmt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 804
    functionName: streamExtJoinGetProjectedKey
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - streamExtJoinExprNameMatches
    - FOREACH
    - streamExtJoinExprKeyType
    linkageType: ''
    returnType: EStreamExtJoinKey
    signature: EStreamExtJoinKey streamExtJoinGetProjectedKey(SSelectStmt* pSelect,
      const char* pColName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:807,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - STempTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 813
    functionName: streamExtJoinSubquerySourceIsSupported
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool streamExtJoinSubquerySourceIsSupported(STempTableNode* pTable)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:820,1
    - Dst: streamExtJoinSubquerySourceIsSupported
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:823,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:823,1
    - Dst: streamExtJoinGetProjectedKey
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:826,1
    - Dst: streamExtJoinFindKeyInSource
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:830,1
    - Dst: streamExtJoinFindKeyInSource
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pTable
    - pCol
    argTypes:
    - SNode*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 839
    functionName: streamExtJoinFindKeyInSource
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - streamExtJoinFindKeyInSource
    - streamExtJoinGetProjectedKey
    - strcasecmp
    - nodeType
    - streamExtJoinSubquerySourceIsSupported
    linkageType: ''
    returnType: EStreamExtJoinKey
    signature: EStreamExtJoinKey streamExtJoinFindKeyInSource(SNode* pTable, const
      SColumnNode* pCol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:842,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:843,1
    - Dst: streamExtJoinFindKeyInSource
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:849,1
    - Dst: streamExtJoinFindKeyInSource
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:850,1
    - Dst: streamExtJoinFindKeyInSource
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:855,1
    - Dst: streamExtJoinFindKeyInSource
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:856,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pJoinTable
    - pOp
    argTypes:
    - SJoinTableNode*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 841
    functionDepth: 4
    functionLinenumber: 841
    functionLinenumberEnd: 858
    functionName: streamExtJoinEqCondKeyType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - streamExtJoinFindKeyInSource
    linkageType: ''
    returnType: EStreamExtJoinKey
    signature: EStreamExtJoinKey streamExtJoinEqCondKeyType(SJoinTableNode* pJoinTable,
      SOperatorNode* pOp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:865,1
    - Dst: streamExtJoinEqCondKeyType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:866,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:869,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:874,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:880,1
    - Dst: streamExtJoinOnCondKeyType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:881,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pJoinTable
    - pCond
    argTypes:
    - SJoinTableNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 860
    functionDepth: 5
    functionLinenumber: 860
    functionLinenumberEnd: 890
    functionName: streamExtJoinOnCondKeyType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - LIST_LENGTH
    - streamExtJoinOnCondKeyType
    - streamExtJoinEqCondKeyType
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: EStreamExtJoinKey
    signature: EStreamExtJoinKey streamExtJoinOnCondKeyType(SJoinTableNode* pJoinTable,
      SNode* pCond)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:897,1
    - Dst: streamExtJoinSubquerySourceIsSupported
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:899,1
    - Dst: streamExtJoinTableIsSafe
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 905
    functionName: streamExtJoinSourceIsSafe
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - streamExtJoinSubquerySourceIsSupported
    - streamExtJoinTableIsSafe
    linkageType: ''
    returnType: bool
    signature: bool streamExtJoinSourceIsSafe(SNode* pTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamExtJoinTableKeyType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pJoinTable
    argTypes:
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 909
    functionName: streamExtJoinTableIsSafe
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - streamExtJoinTableKeyType
    linkageType: ''
    returnType: bool
    signature: bool streamExtJoinTableIsSafe(SJoinTableNode* pJoinTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamExtJoinSourceIsSafe
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:913,1
    - Dst: streamExtJoinSourceIsSafe
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:913,1
    - Dst: streamExtJoinOnCondKeyType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:917,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pJoinTable
    argTypes:
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 911
    functionDepth: 6
    functionLinenumber: 911
    functionLinenumberEnd: 918
    functionName: streamExtJoinTableKeyType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - streamExtJoinSourceIsSafe
    - streamExtJoinOnCondKeyType
    linkageType: ''
    returnType: EStreamExtJoinKey
    signature: EStreamExtJoinKey streamExtJoinTableKeyType(SJoinTableNode* pJoinTable)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:924,1
    - Dst: getHashJoinOptHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:936,1
    - Dst: getBatchScanOptionFromHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:937,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:944,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:946,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:949,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:952,1
    - Dst: doCreateLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:959,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:961,1
    - Dst: doCreateLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:970,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:972,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:978,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:986,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:987,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:989,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:995,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:997,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1003,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1004,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1007,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1007,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1009,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1016,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1018,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1022,1
    - Dst: collectJoinResColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1032,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1034,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1036,1
    - Dst: rewriteTargetsWithResId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1040,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1044,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1052,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 105
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pJoinTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SJoinTableNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 920
    functionDepth: 8
    functionLinenumber: 920
    functionLinenumberEnd: 1056
    functionName: createJoinLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - getBatchScanOptionFromHint
    - doCreateLogicNodeByTable
    - rewriteTargetsWithResId
    - nodesMakeList
    - nodesListStrictAppend
    - nodesDestroyList
    - nodesListStrictAppendList
    - collectJoinResColumns
    - createColumnByRewriteExprs
    - nodesMakeNode
    - nodeType
    - nodesCollectColumns
    - nodesDestroyNode
    - nodesCloneNode
    - getHashJoinOptHint
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createJoinLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SJoinTableNode* pJoinTable,\n                                   SLogicNode**
      pLogicNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1059,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1060,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - bufSize
    - dbName
    - tableName
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1068
    functionName: buildRefTableKey
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - strnlen
    - snprintf
    linkageType: ''
    returnType: void
    signature: void buildRefTableKey(char* buf, size_t bufSize, const char* dbName,
      const char* tableName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildRefTableKey
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1073,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1077,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1077,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pRefTableMap
    - dbName
    - tableName
    - pRefTable
    argTypes:
    - SHashObj*
    - char*
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1070
    functionDepth: 3
    functionLinenumber: 1070
    functionLinenumberEnd: 1082
    functionName: findRefTableNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - buildRefTableKey
    - strlen
    - taosHashGet
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t findRefTableNode(SHashObj* pRefTableMap, const char* dbName,
      const char* tableName,\n                                SNode** pRefTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pRefTable
    - colName
    - colId
    - colIdx
    argTypes:
    - SNode*
    - char*
    - col_id_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1094
    functionName: findRefColId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t findRefColId(SNode *pRefTable, const char *colName, col_id_t
      *colId, int32_t *colIdx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1101,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1101,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1103,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1104,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1105,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1106,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1108,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1109,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1110,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1111,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1115,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1116,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1124,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1125,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1126,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1127,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1128,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1139,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1140,1
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1141,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1153,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1153,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 6
    argNames:
    - pLogicNode
    - colRef
    - pVirtualTableNode
    - pSchema
    - colId
    - pRefSchema
    argTypes:
    - SLogicNode*
    - SColRef*
    - STableNode*
    - SSchema*
    - col_id_t
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1096
    functionDepth: 5
    functionLinenumber: 1096
    functionLinenumberEnd: 1158
    functionName: scanAddCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - PLAN_ERR_JRET
    - nodesListMakeAppend
    - TMAX
    - nodesMakeNode
    - strncmp
    - FOREACH
    - tstrncpy
    - planDebug
    - nodesDestroyNode
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t scanAddCol(SLogicNode* pLogicNode, SColRef* colRef, STableNode*
      pVirtualTableNode, const SSchema* pSchema,\n                          col_id_t
      colId, const SSchema* pRefSchema)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: schemaToRefDataType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1164,1
    - Dst: schemaToRefDataType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1165,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1168,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1173,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1174,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1179,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - vtbSchema
    - vtbSchemaExt
    - refSchema
    - refSchemaExt
    argTypes:
    - SSchema*
    - SSchemaExt*
    - SSchema*
    - SSchemaExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1188
    functionName: checkColRefType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - qError
    - IS_VAR_DATA_TYPE
    - schemaToRefDataType
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkColRefType(const SSchema* vtbSchema, const SSchemaExt*
      vtbSchemaExt, const SSchema* refSchema,\n                               const
      SSchemaExt* refSchemaExt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1201,1
    - Dst: findRefTableNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1201,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1202,1
    - Dst: findRefColId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1202,1
    - Dst: sliceInit
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1206,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1207,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1207,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1207,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1208,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1208,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1209,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1209,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1209,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1211,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1211,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1222,1
    - Dst: createRefScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1222,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1223,1
    - Dst: checkColRefType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1223,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1225,1
    - Dst: scanAddCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1225,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1226,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1226,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1226,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1230,1
    - Dst: checkColRefType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1230,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1232,1
    - Dst: scanAddCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1232,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1235,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1238,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 7
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - colRefIndex
    - schemaIndex
    - refTablesMap
    - refTableNodeMap
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - int32_t
    - int32_t
    - SHashObj*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1190
    functionDepth: 9
    functionLinenumber: 1190
    functionLinenumberEnd: 1243
    functionName: addSubScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - findRefTableNode
    - sliceAppend
    - createRefScanLogicNode
    - checkColRefType
    - taosHashGet
    - findRefColId
    - scanAddCol
    - strlen
    - nodesDestroyNode
    - taosHashPut
    - sliceInit
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addSubScanNode(SLogicPlanContext* pCxt, SSelectStmt* pSelect,
      SVirtualTableNode* pVirtualTable,\n                              int32_t colRefIndex,
      int32_t schemaIndex, SHashObj* refTablesMap,\n                              SHashObj*
      refTableNodeMap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1247,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1253,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pVirtualTable
    - pScan
    argTypes:
    - SLogicPlanContext*
    - SVirtualTableNode*
    - SVirtualScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1256
    functionName: makeVirtualScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: "int32_t makeVirtualScanLogicNode(SLogicPlanContext* pCxt, SVirtualTableNode*
      pVirtualTable,\n                                        SVirtualScanLogicNode*
      pScan)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1258
    functionDepth: 4
    functionLinenumber: 1258
    functionLinenumberEnd: 1264
    functionName: destroyScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void destroyScanLogicNode(void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - pColRef
    - pVirtualTable
    - colId
    argTypes:
    - SColRef*
    - SVirtualTableNode*
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1273
    functionName: findColRefIndex
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t findColRefIndex(SColRef* pColRef, SVirtualTableNode* pVirtualTable,
      col_id_t colId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pSchema
    - numOfColumns
    - colId
    argTypes:
    - SSchema*
    - int32_t
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1282
    functionName: findSchemaIndex
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t findSchemaIndex(const SSchema* pSchema, int32_t numOfColumns,
      col_id_t colId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1287,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1287,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1287,1
    - Dst: sliceInit
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1300,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1301,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1301,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1301,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1302,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1302,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1303,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1303,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1303,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1304,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1304,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1305,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1305,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1305,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1307,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1307,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1308,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1310,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1310,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1310,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - pScanCols
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1317
    functionName: eliminateDupScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - sliceAppend
    - LIST_LENGTH
    - taosHashGet
    - ERASE_NODE
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - strlen
    - taosHashPut
    - sliceInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t eliminateDupScanCols(SNodeList* pScanCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sliceInit
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1300,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1301,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1301,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1301,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1302,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1302,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1303,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1303,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1303,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1304,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1304,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1305,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1305,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1305,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1307,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1307,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1308,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1310,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1310,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1312
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 155
    functionsReached:
    - PLAN_ERR_JRET
    - sliceAppend
    - taosHashGet
    - ERASE_NODE
    - strlen
    - taosHashPut
    - sliceInit
    linkageType: ''
    returnType: void
    signature: void FOREACH(pCols, pScanCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1324,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1325,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SVgroupsInfo**
    - SVgroupsInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1331
    functionName: cloneVgroups
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - VGROUPS_INFO_SIZE
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneVgroups(SVgroupsInfo **pDst, SVgroupsInfo* pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1338,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1338,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1340,1
    - Dst: cloneVgroups
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1340,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1346,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1349,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1350,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1356,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1356,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1360,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1360,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1368,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pVirtualScan
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualScanLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1333
    functionDepth: 7
    functionLinenumber: 1333
    functionLinenumberEnd: 1371
    functionName: createTagScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - cloneVgroups
    - PLAN_ERR_JRET
    - planError
    - TAOS_SET_OBJ_ALIGNED
    - createColumnByRewriteExprs
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTagScanLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SVirtualScanLogicNode* pVirtualScan,\n                                      SLogicNode**
      pLogicNode)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1386,1
    - Dst: createScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1386,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1386,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1388,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1388,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1396,1
    - Dst: addVtbPrimaryTsCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1396,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1398,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1408,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1415,1
    - Dst: scanAddCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1415,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1418,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1418,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1422,1
    - Dst: createTagScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1422,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1431,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1431,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1433,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1433,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1436,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1436,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1437,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1437,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1441,1
    - Dst: createScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1441,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1441,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1442,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1444,1
    - Dst: addInsColumnScanCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1444,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1444,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1445,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1445,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1450,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1450,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1466,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1466,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1467,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1467,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1473,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1474,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1475,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1475,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1476,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1476,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1477,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1477,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1479,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1487,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1487,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1488,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1489,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 87
    argCount: 5
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - pVtableScan
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - SVirtualScanLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1373
    functionDepth: 9
    functionLinenumber: 1373
    functionLinenumberEnd: 1491
    functionName: createVirtualSuperTableLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - createTagScanLogicNode
    - scanAddCol
    - LIST_LENGTH
    - createColumnByRewriteExprs
    - addVtbPrimaryTsCol
    - addInsColumnScanCol
    - nodesMakeValueNodeFromInt32
    - TSWAP
    - nodesMakeNode
    - FOREACH
    - tstrncpy
    - nodesDestroyNode
    - PLAN_ERR_JRET
    - nodesListStrictAppend
    - planError
    - tstrerror
    - createScanLogicNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createVirtualSuperTableLogicNode(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect,\n                                                SVirtualTableNode*
      pVirtualTable, SVirtualScanLogicNode* pVtableScan,\n                                                SLogicNode**
      pLogicNode)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1503,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1503,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1503,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1505,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1508,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1508,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1508,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1511,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1515,1
    - Dst: buildRefTableKey
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1518,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1520,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1522,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1522,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1522,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1525,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1527,1
    - Dst: addVtbPrimaryTsCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1527,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1530,1
    - Dst: eliminateDupScanCols
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1530,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1532,1
    - Dst: findColRefIndex
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1534,1
    - Dst: findSchemaIndex
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1535,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1541,1
    - Dst: addSubScanNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1541,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1551,1
    - Dst: createTagScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1551,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1556,1
    - Dst: findColRefIndex
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1561,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1563,1
    - Dst: addSubScanNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1563,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1571,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1573,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1573,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1574,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1574,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1578,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1578,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1582,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1582,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1583,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1583,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1586,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1587,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1590,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1590,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1591,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1592,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1593,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 5
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - pVtableScan
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - SVirtualScanLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1493
    functionDepth: 10
    functionLinenumber: 1493
    functionLinenumberEnd: 1595
    functionName: createVirtualNormalChildTableLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - findColRefIndex
    - buildRefTableKey
    - createTagScanLogicNode
    - taosHashClear
    - LIST_LENGTH
    - inStreamCalcClause
    - createColumnByRewriteExprs
    - taosHashInit
    - taosHashSetFreeFp
    - addVtbPrimaryTsCol
    - taosGetDefaultHashFunction
    - FOREACH
    - addSubScanNode
    - findSchemaIndex
    - taosHashIterate
    - PLAN_ERR_JRET
    - eliminateDupScanCols
    - nodesListStrictAppend
    - planError
    - taosHashCleanup
    - tstrerror
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createVirtualNormalChildTableLogicNode(SLogicPlanContext*
      pCxt, SSelectStmt* pSelect,\n                                                      SVirtualTableNode*
      pVirtualTable, SVirtualScanLogicNode* pVtableScan,\n                                                      SLogicNode**
      pLogicNode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1603,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1603,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1605,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1605,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1607,1
    - Dst: makeVirtualScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1607,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1609,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1609,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1612,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1612,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1615,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1615,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1618,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1618,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1622,1
    - Dst: createVirtualSuperTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1622,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1626,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1627,1
    - Dst: createVirtualSuperTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1627,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1629,1
    - Dst: createVirtualNormalChildTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1629,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1634,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1640,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1640,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1598
    functionDepth: 11
    functionLinenumber: 1598
    functionLinenumberEnd: 1643
    functionName: createVirtualTableLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createVirtualSuperTableLogicNode
    - PLAN_ERR_JRET
    - nodesCollectFuncs
    - nodesMakeList
    - planError
    - makeVirtualScanLogicNode
    - inStreamCalcClause
    - nodesMakeNode
    - rewriteExprsForSelect
    - nodesCollectColumns
    - tstrerror
    - nodesDestroyNode
    - createVirtualNormalChildTableLogicNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createVirtualTableLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect,\n                                           SVirtualTableNode* pVirtualTable,
      SLogicNode** pLogicNode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1648,1
    - Dst: createScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1650,1
    - Dst: createSubqueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1652,1
    - Dst: createJoinLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1654,1
    - Dst: createVirtualTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1656,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1661,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1645
    functionDepth: 12
    functionLinenumber: 1645
    functionLinenumberEnd: 1663
    functionName: doCreateLogicNodeByTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - planError
    - createVirtualTableLogicNode
    - createSubqueryLogicNode
    - nodeType
    - tstrerror
    - createJoinLogicNode
    - createScanLogicNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doCreateLogicNodeByTable(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SNode* pTable,\n                                        SLogicNode**
      pLogicNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1669,1
    - Dst: doCreateLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1669,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1671,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1671,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1678,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1678,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1665
    functionDepth: 13
    functionLinenumber: 1665
    functionLinenumberEnd: 1681
    functionName: createLogicNodeByTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - doCreateLogicNodeByTable
    - PLAN_ERR_JRET
    - planError
    - tstrerror
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createLogicNodeByTable(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SNode* pTable,\n                                      SLogicNode**
      pLogicNode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1687,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1693,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pExpr
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1683
    functionDepth: 6
    functionLinenumber: 1683
    functionLinenumberEnd: 1701
    functionName: createGroupingSetNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t createGroupingSetNode(SNode* pExpr, SNode** ppNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1704,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1706
    functionName: isWindowJoinStmt
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - IS_WINDOW_JOIN
    linkageType: ''
    returnType: bool
    signature: bool isWindowJoinStmt(SSelectStmt* pSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1712
    functionName: getGroupAction
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EGroupAction
    signature: EGroupAction getGroupAction(SLogicPlanContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - needTimeline
    - pSelect
    argTypes:
    - bool
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1717
    functionName: getRequireDataOrder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EDataOrderLevel
    signature: EDataOrderLevel getRequireDataOrder(bool needTimeline, SSelectStmt*
      pSelect)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1723,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1738,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1743,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1745,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1750,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1751,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1752,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1753,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1754,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1755,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1760,1
    - Dst: createGroupKeyAggFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1765,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1767,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1771,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1773,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 2
    argNames:
    - pSelect
    - pList
    argTypes:
    - SSelectStmt*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1719
    functionDepth: 7
    functionLinenumber: 1719
    functionLinenumberEnd: 1777
    functionName: addWinJoinPrimKeyToAggFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createGroupKeyAggFunc
    - nodesMakeList
    - nodesDestroyList
    - nodesListStrictAppend
    - nodesMakeNode
    - tstrncpy
    - IS_IDX_ON
    linkageType: ''
    returnType: int32_t
    signature: int32_t addWinJoinPrimKeyToAggFuncs(SSelectStmt* pSelect, SNodeList**
      pList)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1785,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1790,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1796,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1797,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1803,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1808,1
    - Dst: nodesListDeduplicate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1812,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1815,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1822,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1827,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1832,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1837,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1839,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1842,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1844,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1845,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1851,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1779
    functionDepth: 8
    functionLinenumber: 1779
    functionLinenumberEnd: 1855
    functionName: createAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - isWindowJoinStmt
    - nodesCollectFuncs
    - keysHasTbname
    - nodesDestroyList
    - getRequireDataOrder
    - getGroupAction
    - nodesMakeNode
    - createColumnByRewriteExprs
    - nodesListDeduplicate
    - rewriteExprsForSelect
    - nodesDestroyNode
    - nodesCloneNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t createAggLogicNode(SLogicPlanContext* pCxt, SSelectStmt* pSelect,
      SLogicNode** pLogicNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1864,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1872,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1873,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1877,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1879,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1884,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1890,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1857
    functionDepth: 8
    functionLinenumber: 1857
    functionLinenumberEnd: 1894
    functionName: createIndefRowsFuncLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - getRequireDataOrder
    - getGroupAction
    - nodesMakeNode
    - createColumnByRewriteExprs
    - rewriteExprsForSelect
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createIndefRowsFuncLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1897,1
    - Dst: fmIsInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1897,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1897,1
    - Dst: fmisSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1896
    functionDepth: 1
    functionLinenumber: 1896
    functionLinenumberEnd: 1899
    functionName: isInterpFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 2
    functionsReached:
    - fmIsInterpFunc
    - fmisSelectGroupConstValueFunc
    - fmIsInterpPseudoColumnFunc
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: bool
    signature: bool isInterpFunc(int32_t funcId)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1909,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1909,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1911,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1912,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1916,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1916,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1918,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1918,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1923,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1926,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1926,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1927,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1927,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1929,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1943,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1944,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1945,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1953,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1953,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1959,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1959,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1960,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1901
    functionDepth: 8
    functionLinenumber: 1901
    functionLinenumberEnd: 1962
    functionName: createInterpFuncLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesCollectFuncs
    - TSWAP
    - planError
    - getRequireDataOrder
    - getGroupAction
    - nodesMakeNode
    - nodeType
    - createColumnByRewriteExprs
    - rewriteExprsForSelect
    - tstrerror
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createInterpFuncLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForecastFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1965,1
    - Dst: fmIsAnalysisPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1965,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1965,1
    - Dst: fmisSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1966,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1967
    functionName: isForecastFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - fmIsForecastFunc
    - fmIsAnalysisPseudoColumnFunc
    - fmisSelectGroupConstValueFunc
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: bool
    signature: bool isForecastFunc(int32_t funcId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1975,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1980,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1981,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1985,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1987,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1992,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1998,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1969
    functionDepth: 8
    functionLinenumber: 1969
    functionLinenumberEnd: 2002
    functionName: createForecastFuncLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - getRequireDataOrder
    - getGroupAction
    - nodesMakeNode
    - createColumnByRewriteExprs
    - rewriteExprsForSelect
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createForecastFuncLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsImputationCorrelationFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2005,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2005,1
    - Dst: fmisSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2005,1
    - Dst: fmIsAnalysisPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 2004
    functionDepth: 1
    functionLinenumber: 2004
    functionLinenumberEnd: 2007
    functionName: isGenericAnalysisFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - fmIsAnalysisPseudoColumnFunc
    - fmIsImputationCorrelationFunc
    - fmisSelectGroupConstValueFunc
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: bool
    signature: bool isGenericAnalysisFunc(int32_t funcId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2015,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2020,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2021,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2025,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2027,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2032,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2009
    functionDepth: 8
    functionLinenumber: 2009
    functionLinenumberEnd: 2042
    functionName: createGenericAnalysisLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - getRequireDataOrder
    - getGroupAction
    - nodesMakeNode
    - createColumnByRewriteExprs
    - rewriteExprsForSelect
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createGenericAnalysisLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2049,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2051,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2055,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2059,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pWindow
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SWindowLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2044
    functionDepth: 8
    functionLinenumber: 2044
    functionLinenumberEnd: 2071
    functionName: createWindowLogicNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCollectFuncs
    - createColumnByRewriteExprs
    - rewriteExprsForSelect
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeFinalize(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SWindowLogicNode* pWindow,\n                                             SLogicNode**
      pLogicNode)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2081,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2083,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2083,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2089,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2091,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2093,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2093,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2094,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2094,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2095,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2095,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2101,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2101,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2102,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2102,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2106,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2108,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2109,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2110,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2115,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2122,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2123,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2129,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2134,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2136,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2149,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2149,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2150,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2153,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2156,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2160,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2160,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2164,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2164,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2168,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2170,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2172,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2172,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2173,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2173,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2177,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2177,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2178,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2179,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2180,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2185,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2186,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2186,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2187,1
    - Dst: createGroupKeyAggFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2190,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2192,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2194,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2195,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2196,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2196,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2204,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2204,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2207,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2207,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2208,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2208,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2209,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2209,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2210,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2220,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2223,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 106
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pWindow
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SWindowLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2073
    functionDepth: 8
    functionLinenumber: 2073
    functionLinenumberEnd: 2228
    functionName: createExternalWindowLogicNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesCollectFuncs
    - PLAN_ERR_RET
    - createGroupKeyAggFunc
    - planError
    - nodesDestroyList
    - LIST_LENGTH
    - strcasecmp
    - nodesIsExprNode
    - getRequireDataOrder
    - createColumnByRewriteExprs
    - nodeType
    - FOREACH
    - rewriteExprsForSelect
    - tstrncpy
    - nodesCloneNode
    - nodesCloneList
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createExternalWindowLogicNodeFinalize(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect, SWindowLogicNode* pWindow,\n                                                     SLogicNode**
      pLogicNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2185,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2186,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2186,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2187,1
    - Dst: createGroupKeyAggFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2190,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2192,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2194,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2195,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2196,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2184
    functionDepth: 7
    functionLinenumber: 2184
    functionLinenumberEnd: 2197
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 158
    functionsReached:
    - nodesListMakeStrictAppend
    - PLAN_ERR_RET
    - createGroupKeyAggFunc
    - planError
    - nodeType
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void FOREACH(pPartKey, pOutputPartitionKeys)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2233,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2239,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2240,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2244,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2245,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2247,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2250,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2252,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2259,1
    - Dst: rewriteExprForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2271,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2273,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - pCxt
    - pState
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SStateWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2230
    functionDepth: 9
    functionLinenumber: 2230
    functionLinenumberEnd: 2279
    functionName: createWindowLogicNodeByState
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - keysHasTbname
    - getRequireDataOrder
    - getGroupAction
    - nodesMakeNode
    - nodeType
    - rewriteExprForSelect
    - createWindowLogicNodeFinalize
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeByState(SLogicPlanContext* pCxt, SStateWindowNode*
      pState, SSelectStmt* pSelect,\n                                            SLogicNode**
      pLogicNode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2284,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2292,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2293,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2296,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2299,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2301,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2305,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2307,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pSession
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSessionWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2281
    functionDepth: 9
    functionLinenumber: 2281
    functionLinenumberEnd: 2312
    functionName: createWindowLogicNodeBySession
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - keysHasTbname
    - getRequireDataOrder
    - getGroupAction
    - nodesMakeNode
    - createWindowLogicNodeFinalize
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeBySession(SLogicPlanContext* pCxt, SSessionWindowNode*
      pSession,\n                                              SSelectStmt* pSelect,
      SLogicNode** pLogicNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2317,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2330,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2331,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2332,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2334,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2336,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2340,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pInterval
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SIntervalWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2314
    functionDepth: 9
    functionLinenumber: 2314
    functionLinenumberEnd: 2344
    functionName: createWindowLogicNodeByInterval
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - keysHasTbname
    - nodesCloneNode
    - getRequireDataOrder
    - getGroupAction
    - nodesMakeNode
    - createWindowLogicNodeFinalize
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeByInterval(SLogicPlanContext* pCxt, SIntervalWindowNode*
      pInterval,\n                                               SSelectStmt* pSelect,
      SLogicNode** pLogicNode)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2349,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2355,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2356,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2359,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2361,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2364,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2366,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2369,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2371,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2375,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2379,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2391,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2393,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - pCxt
    - pEvent
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SEventWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2346
    functionDepth: 9
    functionLinenumber: 2346
    functionLinenumberEnd: 2394
    functionName: createWindowLogicNodeByEvent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - keysHasTbname
    - nodesCloneNode
    - getRequireDataOrder
    - getGroupAction
    - nodesMakeNode
    - nodeType
    - createWindowLogicNodeFinalize
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeByEvent(SLogicPlanContext* pCxt, SEventWindowNode*
      pEvent, SSelectStmt* pSelect,\n                                            SLogicNode**
      pLogicNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2401,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2401,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2404,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2405,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2411,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2413,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2413,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2415,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2415,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2418,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2418,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2422,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pCount
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SCountWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2396
    functionDepth: 9
    functionLinenumber: 2396
    functionLinenumberEnd: 2425
    functionName: createWindowLogicNodeByCount
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - keysHasTbname
    - planError
    - getRequireDataOrder
    - getGroupAction
    - nodesMakeNode
    - createWindowLogicNodeFinalize
    - nodesDestroyNode
    - nodesCloneNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeByCount(SLogicPlanContext* pCxt, SCountWindowNode*
      pCount, SSelectStmt* pSelect,\n                                            SLogicNode**
      pLogicNode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2430,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2436,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2437,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2441,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2443,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2447,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2450,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2452,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2457,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2459,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - pCxt
    - pAnomaly
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SAnomalyWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2427
    functionDepth: 9
    functionLinenumber: 2427
    functionLinenumberEnd: 2465
    functionName: createWindowLogicNodeByAnomaly
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - getRequireDataOrder
    - getGroupAction
    - nodesMakeNode
    - createWindowLogicNodeFinalize
    - tstrncpy
    - rewriteExprsForSelect
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeByAnomaly(SLogicPlanContext* pCxt, SAnomalyWindowNode*
      pAnomaly,\n                                              SSelectStmt* pSelect,
      SLogicNode** pLogicNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2469,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - precision
    - ppCol
    argTypes:
    - uint8_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2467
    functionDepth: 5
    functionLinenumber: 2467
    functionLinenumberEnd: 2480
    functionName: makeStreamExtWindowTsCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t makeStreamExtWindowTsCol(uint8_t precision, SNode** ppCol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2489,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2489,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2490,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2491,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2492,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2497,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2497,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2499,1
    - Dst: nodesListMakePushFront
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2499,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2506,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 5
    argNames:
    - pFuncName
    - funcType
    - funcId
    - precision
    - ppFunc
    argTypes:
    - char*
    - int32_t
    - int32_t
    - uint8_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2482
    functionDepth: 6
    functionLinenumber: 2482
    functionLinenumberEnd: 2511
    functionName: makeStreamExtWindowPseudoFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesMakeValueNodeFromTimestamp
    - nodesListMakePushFront
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t makeStreamExtWindowPseudoFunc(const char* pFuncName, int32_t
      funcType, int32_t funcId,\n                                             uint8_t
      precision, SNode** ppFunc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2520,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2520,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2524,1
    - Dst: makeStreamExtWindowTsCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2524,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2525,1
    - Dst: makeStreamExtWindowPseudoFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2525,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2535,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2536,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 6
    argNames:
    - opType
    - pFuncName
    - funcType
    - funcId
    - precision
    - ppOp
    argTypes:
    - EOperatorType
    - char*
    - int32_t
    - int32_t
    - uint8_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2513
    functionDepth: 7
    functionLinenumber: 2513
    functionLinenumberEnd: 2539
    functionName: makeStreamExtWindowTimeRangeOp
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesMakeNode
    - makeStreamExtWindowPseudoFunc
    - nodesDestroyNode
    - makeStreamExtWindowTsCol
    linkageType: ''
    returnType: int32_t
    signature: "int32_t makeStreamExtWindowTimeRangeOp(EOperatorType opType, const
      char* pFuncName, int32_t funcType,\n                                              int32_t
      funcId, uint8_t precision, SNode** ppOp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2542,1
    - Dst: streamExtJoinTableKeyType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2544,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2553,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2553,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2556,1
    - Dst: makeStreamExtWindowTimeRangeOp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2556,1
    - Dst: fmGetTwstartFuncId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2557,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2558,1
    - Dst: makeStreamExtWindowTimeRangeOp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2558,1
    - Dst: fmGetTwendFuncId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2559,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2569,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2570,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2541
    functionDepth: 8
    functionLinenumber: 2541
    functionLinenumberEnd: 2573
    functionName: buildStreamExtJoinTwendTimeRange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - streamExtJoinTableKeyType
    - fmGetTwstartFuncId
    - makeStreamExtWindowTimeRangeOp
    - nodeType
    - nodesMakeNode
    - fmGetTwendFuncId
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildStreamExtJoinTwendTimeRange(SSelectStmt* pSelect)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2582,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2582,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2592,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2593,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2600,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2610,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2610,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2613,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2614,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2618,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2618,1
    - Dst: createExternalWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2621,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2624,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2625,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 4
    argNames:
    - pCxt
    - pExternal
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SExternalWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2575
    functionDepth: 9
    functionLinenumber: 2575
    functionLinenumberEnd: 2627
    functionName: createWindowLogicNodeByExternal
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - keysHasTbname
    - PLAN_ERR_RET
    - createExternalWindowLogicNodeFinalize
    - planError
    - nodesMakeNode
    - nodeType
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeByExternal(SLogicPlanContext* pCxt, SExternalWindowNode*
      pExternal,\n                                               SSelectStmt* pSelect,
      SLogicNode** pLogicNode)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2632,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2645,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2653,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2663,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2663,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2666,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2667,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2671,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2671,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2678,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2679,1
    - Dst: createExternalWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2685,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 4
    argNames:
    - pCxt
    - pExternal
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SExternalWindowNode*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2629
    functionDepth: 9
    functionLinenumber: 2629
    functionLinenumberEnd: 2686
    functionName: createWindowLogicNodeByStreamExternal
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_RET
    - createExternalWindowLogicNodeFinalize
    - planError
    - nodesMakeNode
    - nodeType
    - FOREACH
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createWindowLogicNodeByStreamExternal(SLogicPlanContext* pCxt,
      SExternalWindowNode* pExternal,\n                                                     SSelectStmt*
      pSelect, SLogicNode** pLogicNode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2691,1
    - Dst: createWindowLogicNodeByState
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2693,1
    - Dst: createWindowLogicNodeBySession
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2695,1
    - Dst: createWindowLogicNodeByInterval
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2697,1
    - Dst: createWindowLogicNodeByEvent
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2699,1
    - Dst: createWindowLogicNodeByCount
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2701,1
    - Dst: createWindowLogicNodeByAnomaly
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2703,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2710,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2687
    functionDepth: 10
    functionLinenumber: 2687
    functionLinenumberEnd: 2712
    functionName: createWindowLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createWindowLogicNodeByAnomaly
    - createWindowLogicNodeBySession
    - createWindowLogicNodeByCount
    - createWindowLogicNodeByInterval
    - planError
    - nodeType
    - createWindowLogicNodeByState
    - createWindowLogicNodeByEvent
    linkageType: ''
    returnType: int32_t
    signature: int32_t createWindowLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2725,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2730,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2732,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2751,1
    - Dst: nodesIsBasicArithmeticOp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2753,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2759,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 29
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2723
    functionDepth: 3
    functionLinenumber: 2723
    functionLinenumberEnd: 2765
    functionName: conditionOnlyPhAndConstImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsPlaceHolderFunc
    - nodesIsBasicArithmeticOp
    - nodesWalkExpr
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes conditionOnlyPhAndConstImpl(SNode* pNode, void* pContext)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - startType
    - endType
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2767
    functionDepth: 0
    functionLinenumber: 2767
    functionLinenumberEnd: 2791
    functionName: placeHolderCanMakeExternalWindow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool placeHolderCanMakeExternalWindow(int32_t startType, int32_t endType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2801,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2816,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2821
      start: 2793
    functionDepth: 3
    functionLinenumber: 2793
    functionLinenumberEnd: 2821
    functionName: filterHasPlaceHolderRange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool filterHasPlaceHolderRange(SOperatorNode *pOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2824,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2828,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2829,1
    - Dst: filterHasPlaceHolderRange
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2832,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pLogicCond
    argTypes:
    - SLogicConditionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2823
    functionDepth: 4
    functionLinenumber: 2823
    functionLinenumberEnd: 2837
    functionName: logicConditionSatisfyExternalWindow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - LIST_LENGTH
    - filterHasPlaceHolderRange
    linkageType: ''
    returnType: bool
    signature: bool logicConditionSatisfyExternalWindow(SLogicConditionNode *pLogicCond)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2845,1
    - Dst: filterHasPlaceHolderRange
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2846,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2849,1
    - Dst: logicConditionSatisfyExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2850,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2857,1
    - Dst: filterHasPlaceHolderRange
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2858,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2861,1
    - Dst: logicConditionSatisfyExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2862,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - pTimeRange
    argTypes:
    - STimeRangeNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2870
      start: 2840
    functionDepth: 5
    functionLinenumber: 2840
    functionLinenumberEnd: 2870
    functionName: timeRangeSatisfyExternalWindow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - logicConditionSatisfyExternalWindow
    - filterHasPlaceHolderRange
    linkageType: ''
    returnType: bool
    signature: bool timeRangeSatisfyExternalWindow(STimeRangeNode* pTimeRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2882,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2882,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2884,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2884,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2887,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2890,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pHasPlaceHolder
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2872
    functionDepth: 4
    functionLinenumber: 2872
    functionLinenumberEnd: 2893
    functionName: conditionHasPlaceHolder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesWalkExpr
    - filterPartitionCond
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t conditionHasPlaceHolder(SNode* pNode, bool* pHasPlaceHolder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2902,1
    - Dst: conditionHasPlaceHolder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2902,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2904,1
    - Dst: streamExtJoinTableIsSafe
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2906,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2909,1
    - Dst: timeRangeSatisfyExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2913,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pSatisfy
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2895
    functionDepth: 6
    functionLinenumber: 2895
    functionLinenumberEnd: 2927
    functionName: streamCurrentSelectSatisfyExternalWindow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - timeRangeSatisfyExternalWindow
    - PAR_ERR_RET
    - inStreamCalcClause
    - conditionHasPlaceHolder
    - nodeType
    - streamExtJoinTableIsSafe
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamCurrentSelectSatisfyExternalWindow(SLogicPlanContext*
      pCxt, SSelectStmt* pSelect, bool* pSatisfy)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2936,1
    - Dst: streamSelectTreeSatisfyExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2938,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2941,1
    - Dst: streamTableTreeSatisfyExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2941,1
    - Dst: streamTableTreeSatisfyExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pSatisfy
    argTypes:
    - SLogicPlanContext*
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2931
    functionDepth: 1
    functionLinenumber: 2931
    functionLinenumberEnd: 2950
    functionName: streamTableTreeSatisfyExternalWindow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - nodeType
    - streamTableTreeSatisfyExternalWindow
    - streamSelectTreeSatisfyExternalWindow
    - PLAN_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamTableTreeSatisfyExternalWindow(SLogicPlanContext* pCxt,
      SNode* pTable, bool* pSatisfy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2956,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2962,1
    - Dst: streamCurrentSelectSatisfyExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2962,1
    - Dst: streamTableTreeSatisfyExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pSatisfy
    argTypes:
    - SLogicPlanContext*
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2952
    functionDepth: 7
    functionLinenumber: 2952
    functionLinenumberEnd: 2968
    functionName: streamSelectTreeSatisfyExternalWindow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - nodeType
    - streamTableTreeSatisfyExternalWindow
    - PLAN_ERR_RET
    - streamCurrentSelectSatisfyExternalWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamSelectTreeSatisfyExternalWindow(SLogicPlanContext* pCxt,
      SNode* pStmt, bool* pSatisfy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2993
      start: 2987
    functionDepth: 1
    functionLinenumber: 2987
    functionLinenumberEnd: 2993
    functionName: hasExternalWindowDerivedFromSubquery
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool hasExternalWindowDerivedFromSubquery(SSelectStmt* pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generatePlanErrMsg
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2997,1
    - Dst: generatePlanErrMsg
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2995
    functionDepth: 1
    functionLinenumber: 2995
    functionLinenumberEnd: 3005
    functionName: checkExprListForExternalWin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - generatePlanErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkExprListForExternalWin(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasExternalWindowDerivedFromSubquery
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3008,1
    - Dst: checkExprListForExternalWin
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3009,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3017,1
    - Dst: streamSelectTreeSatisfyExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3017,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3019,1
    - Dst: buildStreamExtJoinTwendTimeRange
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 3007
    functionDepth: 9
    functionLinenumber: 3007
    functionLinenumberEnd: 3024
    functionName: checkExternalWindow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - checkExprListForExternalWin
    - PLAN_ERR_RET
    - hasExternalWindowDerivedFromSubquery
    - streamSelectTreeSatisfyExternalWindow
    - buildStreamExtJoinTwendTimeRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkExternalWindow(SLogicPlanContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasExternalWindowDerivedFromSubquery
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3027,1
    - Dst: createWindowLogicNodeByExternal
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3028,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3034,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3034,1
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3035,1
    - Dst: createWindowLogicNodeByStreamExternal
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 3026
    functionDepth: 10
    functionLinenumber: 3026
    functionLinenumberEnd: 3038
    functionName: createExternalWindowLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_RET
    - hasExternalWindowDerivedFromSubquery
    - nodesMakeNode
    - PLAN_RET
    - createWindowLogicNodeByStreamExternal
    - createWindowLogicNodeByExternal
    linkageType: ''
    returnType: int32_t
    signature: int32_t createExternalWindowLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3064
      start: 3056
    functionDepth: 5
    functionLinenumber: 3056
    functionLinenumberEnd: 3064
    functionName: nodeAlreadyContained
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: bool
    signature: bool nodeAlreadyContained(SNodeList* pList, SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3062
      start: 3058
    functionDepth: 5
    functionLinenumber: 3058
    functionLinenumberEnd: 3062
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 160
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pExpr, pList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3069,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3075,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3080,1
    - Dst: nodeAlreadyContained
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3086,1
    - Dst: nodeAlreadyContained
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3087,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3088,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3096
      start: 3066
    functionDepth: 6
    functionLinenumber: 3066
    functionLinenumberEnd: 3096
    functionName: needFillValueImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodeAlreadyContained
    - taosHashPut
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes needFillValueImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SNode*
    - SWalkFillSubExprCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3098
      start: 3098
    functionDepth: 3
    functionLinenumber: 3098
    functionLinenumberEnd: 3098
    functionName: needFillValue
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: void
    signature: void needFillValue(SNode* pNode, SWalkFillSubExprCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: needFillValue
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3104,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3110,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3111,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3113,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - pCollectFillCtx
    argTypes:
    - SNode*
    - SCollectFillExprsCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3100
    functionDepth: 6
    functionLinenumber: 3100
    functionLinenumberEnd: 3120
    functionName: collectFillExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - needFillValue
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectFillExpr(SNode* pNode, SCollectFillExprsCtx* pCollectFillCtx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3127,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3127,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3130,1
    - Dst: collectFillExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3131,1
    - Dst: collectFillExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3136,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3139,1
    - Dst: collectFillExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3140,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3145,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3148,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3150,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3153,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3155,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3160,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3161,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3162,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3166,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3167,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3168,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3170,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 4
    argNames:
    - pSelect
    - pFillExprs
    - pNotFillExprs
    - pPossibleFillNullCols
    argTypes:
    - SSelectStmt*
    - SNodeList**
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3122
    functionDepth: 7
    functionLinenumber: 3122
    functionLinenumberEnd: 3172
    functionName: collectFillExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - nodesListMakeStrictAppend
    - taosHashCancelIterate
    - TSWAP
    - nodesDestroyList
    - FOREACH
    - taosHashInit
    - taosHashCleanup
    - collectFillExpr
    - taosGetDefaultHashFunction
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t collectFillExprs(SSelectStmt* pSelect, SNodeList** pFillExprs,
      SNodeList** pNotFillExprs,\n                                SNodeList** pPossibleFillNullCols)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3175,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3186,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3191,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3192,1
    - Dst: collectFillExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3196,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3198,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3201,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3203,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3204,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3207,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3210,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3215,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3217,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3219,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3222,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3226,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3227,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3231,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3237,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3241
      start: 3174
    functionDepth: 8
    functionLinenumber: 3174
    functionLinenumberEnd: 3241
    functionName: createFillLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - TSWAP
    - createColumnByRewriteExpr
    - LIST_LENGTH
    - getRequireDataOrder
    - getGroupAction
    - nodeType
    - nodesMakeNode
    - createColumnByRewriteExprs
    - collectFillExprs
    - rewriteExprsForSelect
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createFillLogicNode(SLogicPlanContext* pCxt, SSelectStmt* pSelect,
      SLogicNode** pLogicNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3244,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3245,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pOrderByList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3249
      start: 3243
    functionDepth: 1
    functionLinenumber: 3243
    functionLinenumberEnd: 3249
    functionName: isPrimaryKeySort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    - isPrimaryKeyImpl
    linkageType: ''
    returnType: bool
    signature: bool isPrimaryKeySort(SNodeList* pOrderByList)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3257,1
    - Dst: isPrimaryKeySort
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3266,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3269,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3269,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3274,1
    - Dst: rewriteTargetsWithResId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3276,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3280,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3280,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3282,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3288,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3291,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3293,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3297,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3299,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3311,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3251
    functionDepth: 7
    functionLinenumber: 3251
    functionLinenumberEnd: 3315
    functionName: createSortLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - rewriteTargetsWithResId
    - inStreamCalcClause
    - nodesMakeNode
    - nodeType
    - FOREACH
    - isPrimaryKeySort
    - nodesCollectColumns
    - isPrimaryKeyImpl
    - nodesDestroyNode
    - nodesCloneNode
    - nodesCloneList
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSortLogicNode(SLogicPlanContext* pCxt, SSelectStmt* pSelect,
      SLogicNode** pLogicNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3320,1
    - Dst: createColumnByExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3328,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3329,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pStmtName
    - pExprs
    - pCols
    argTypes:
    - SLogicPlanContext*
    - char*
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3338
      start: 3317
    functionDepth: 6
    functionLinenumber: 3317
    functionLinenumberEnd: 3338
    functionName: createColumnByProjections
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - createColumnByExpr
    - nodesDestroyList
    - nodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createColumnByProjections(SLogicPlanContext* pCxt, const char*
      pStmtName, SNodeList* pExprs,\n                                         SNodeList**
      pCols)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createColumnByExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3328,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3329,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3334
      start: 3327
    functionDepth: 6
    functionLinenumber: 3327
    functionLinenumberEnd: 3334
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 162
    functionsReached:
    - nodesListStrictAppend
    - createColumnByExpr
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pExprs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3342,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3347,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3348,1
    - Dst: hasExternalWindowDerivedFromSubquery
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3350,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3351,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3358,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3359,1
    - Dst: createColumnByProjections
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3362,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3372
      start: 3340
    functionDepth: 7
    functionLinenumber: 3340
    functionLinenumberEnd: 3372
    functionName: createProjectLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - hasExternalWindowDerivedFromSubquery
    - TSWAP
    - createColumnByProjections
    - inStreamCalcClause
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t createProjectLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3382,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3382,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3388,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3388,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3392,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3392,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3392,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3393,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3393,1
    - Dst: rewriteTargetsWithResId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3396,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3398,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3398,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3401,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3401,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3403,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3404,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3415,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3415,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3422,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3422,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3423,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3425
      start: 3374
    functionDepth: 7
    functionLinenumber: 3374
    functionLinenumberEnd: 3425
    functionName: createPartitionLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - PLAN_ERR_JRET
    - nodesListMakeStrictAppend
    - nodesCollectFuncs
    - rewriteTargetsWithResId
    - planError
    - nodesMakeNode
    - nodeType
    - nodesCollectColumns
    - keysHasCol
    - tstrerror
    - nodesDestroyNode
    - nodesCloneNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t createPartitionLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3433,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3445,1
    - Dst: createGroupingSetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3447,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3449,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3452,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3462,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3467,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3473,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3427
    functionDepth: 8
    functionLinenumber: 3427
    functionLinenumberEnd: 3477
    functionName: createDistinctLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - createGroupingSetNode
    - createColumnByRewriteExprs
    - nodesMakeNode
    - FOREACH
    - rewriteExprsForSelect
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDistinctLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjectLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3482
      start: 3479
    functionDepth: 8
    functionLinenumber: 3479
    functionLinenumberEnd: 3482
    functionName: createSelectWithoutFromLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createProjectLogicNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSelectWithoutFromLogicNode(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect,\n                                                SLogicNode**
      pLogicNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3488,1
    - Dst: checkExternalWindow
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3488,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3490,1
    - Dst: createLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3490,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3492,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3492,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3494,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3494,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3496,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3496,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3498,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3498,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3500,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3500,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3502,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3502,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3504,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3504,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3506,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3506,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3508,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3508,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3510,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3510,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3512,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3512,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3514,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3514,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3520,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3520,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3484
    functionDepth: 14
    functionLinenumber: 3484
    functionLinenumberEnd: 3523
    functionName: createSelectFromLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createSelectRootLogicNode
    - PLAN_ERR_JRET
    - createLogicNodeByTable
    - planError
    - tstrerror
    - checkExternalWindow
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSelectFromLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSelectWithoutFromLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3529,1
    - Dst: createSelectFromLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3531,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3539
      start: 3525
    functionDepth: 15
    functionLinenumber: 3525
    functionLinenumberEnd: 3539
    functionName: createSelectLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createSelectWithoutFromLogicNode
    - createSelectFromLogicNode
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSelectLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSetOperator
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - FCreateSetOpLogicNode
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3541
    functionDepth: 6
    functionLinenumber: 3541
    functionLinenumberEnd: 3544
    functionName: createSetOpRootLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createRootLogicNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSetOpRootLogicNode(SLogicPlanContext* pCxt, SSetOperator*
      pSetOperator, FCreateSetOpLogicNode func,\n                                        SLogicNode**
      pRoot)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3552,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3557,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3560,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3564,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3574
      start: 3546
    functionDepth: 5
    functionLinenumber: 3546
    functionLinenumberEnd: 3574
    functionName: createSetOpSortLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneList
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSetOpSortLogicNode(SLogicPlanContext* pCxt, SSetOperator*
      pSetOperator, SLogicNode** pLogicNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3579,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3585,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3591,1
    - Dst: createColumnByProjections
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3594,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3605
      start: 3576
    functionDepth: 7
    functionLinenumber: 3576
    functionLinenumberEnd: 3605
    functionName: createSetOpProjectLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createColumnByProjections
    - TSWAP
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSetOpProjectLogicNode(SLogicPlanContext* pCxt, SSetOperator*
      pSetOperator,\n                                           SLogicNode** pLogicNode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3609,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3615,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3619,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3623,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3628,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3638
      start: 3607
    functionDepth: 7
    functionLinenumber: 3607
    functionLinenumberEnd: 3638
    functionName: createSetOpAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneList
    - TSWAP
    - createColumnByRewriteExprs
    - nodesMakeNode
    - nodesDestroyNode
    - rewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSetOpAggLogicNode(SLogicPlanContext* pCxt, SSetOperator*
      pSetOperator, SLogicNode** pLogicNode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: createSetOpProjectLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3645,1
    - Dst: createSetOpAggLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3648,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3657,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3660,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3664,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3667,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3678
      start: 3640
    functionDepth: 8
    functionLinenumber: 3640
    functionLinenumberEnd: 3678
    functionName: createSetOpLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - createSetOpProjectLogicNode
    - nodesListStrictAppend
    - createQueryLogicNode
    - nodesDestroyNode
    - createSetOpAggLogicNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSetOpLogicNode(SLogicPlanContext* pCxt, SSetOperator*
      pSetOperator, SLogicNode** pLogicNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSetOpLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3683,1
    - Dst: createSetOpRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3685,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3695
      start: 3680
    functionDepth: 9
    functionLinenumber: 3680
    functionLinenumberEnd: 3695
    functionName: createSetOperatorLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createSetOpRootLogicNode
    - nodesDestroyNode
    - createSetOpLogicNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSetOperatorLogicNode(SLogicPlanContext* pCxt, SSetOperator*
      pSetOperator,\n                                          SLogicNode** pLogicNode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - sqlType
    argTypes:
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3717
      start: 3697
    functionDepth: 0
    functionLinenumber: 3697
    functionLinenumberEnd: 3717
    functionName: getMsgType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getMsgType(ENodeType sqlType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3721,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3726,1
    - Dst: getMsgType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SVnodeModifyOpStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3719
    functionDepth: 5
    functionLinenumber: 3719
    functionLinenumberEnd: 3730
    functionName: createVnodeModifLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - getMsgType
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t createVnodeModifLogicNode(SLogicPlanContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SLogicNode** pLogicNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pDelete
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - FCreateDeleteLogicNode
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3735
      start: 3732
    functionDepth: 6
    functionLinenumber: 3732
    functionLinenumberEnd: 3735
    functionName: createDeleteRootLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createRootLogicNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createDeleteRootLogicNode(SLogicPlanContext* pCxt, SDeleteStmt*
      pDelete, FCreateDeleteLogicNode func,\n                                         SLogicNode**
      pRoot)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makeScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3739,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3746,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3750,1
    - Dst: addPrimaryKeyCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3751,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3755,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3760,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3770
      start: 3737
    functionDepth: 7
    functionLinenumber: 3737
    functionLinenumberEnd: 3770
    functionName: createDeleteScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - hasPkInTable
    - createColumnByRewriteExprs
    - addPrimaryKeyCol
    - nodesDestroyNode
    - nodesCloneNode
    - nodesCloneList
    - makeScanLogicNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDeleteScanLogicNode(SLogicPlanContext* pCxt, SDeleteStmt*
      pDelete, SLogicNode** pLogicNode)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3774,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3780,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3782,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3786,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3788,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3793,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3795,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3799,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3802,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3805,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3809,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3815,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3819
      start: 3772
    functionDepth: 7
    functionLinenumber: 3772
    functionLinenumberEnd: 3819
    functionName: createDeleteAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesListStrictAppend
    - createColumnByRewriteExprs
    - nodesMakeNode
    - nodesDestroyNode
    - rewriteExpr
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDeleteAggLogicNode(SLogicPlanContext* pCxt, SDeleteStmt*
      pDelete, SLogicNode** pLogicNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3824,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3834,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3835,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3840,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3842,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3845,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3847,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3850,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3858
      start: 3821
    functionDepth: 5
    functionLinenumber: 3821
    functionLinenumberEnd: 3858
    functionName: createVnodeModifLogicNodeByDelete
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesMakeNode
    - snprintf
    - tstrncpy
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createVnodeModifLogicNodeByDelete(SLogicPlanContext* pCxt,
      SDeleteStmt* pDelete,\n                                                 SLogicNode**
      pLogicNode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createDeleteScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3862,1
    - Dst: createDeleteRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3864,1
    - Dst: createDeleteRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3867,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3877
      start: 3860
    functionDepth: 8
    functionLinenumber: 3860
    functionLinenumberEnd: 3877
    functionName: createDeleteLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - createDeleteScanLogicNode
    - createDeleteRootLogicNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDeleteLogicNode(SLogicPlanContext* pCxt, SDeleteStmt*
      pDelete, SLogicNode** pLogicNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pInsert
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SInsertStmt*
    - FCreateInsertLogicNode
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3882
      start: 3879
    functionDepth: 6
    functionLinenumber: 3879
    functionLinenumberEnd: 3882
    functionName: creatInsertRootLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - createRootLogicNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t creatInsertRootLogicNode(SLogicPlanContext* pCxt, SInsertStmt*
      pInsert, FCreateInsertLogicNode func,\n                                        SLogicNode**
      pRoot)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3887,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3898,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3899,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3901,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pInsert
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SInsertStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3909
      start: 3884
    functionDepth: 5
    functionLinenumber: 3884
    functionLinenumberEnd: 3909
    functionName: createVnodeModifLogicNodeByInsert
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - TSWAP
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createVnodeModifLogicNodeByInsert(SLogicPlanContext* pCxt,
      SInsertStmt* pInsert,\n                                                 SLogicNode**
      pLogicNode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3913,1
    - Dst: creatInsertRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3915,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pInsert
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SInsertStmt*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3925
      start: 3911
    functionDepth: 7
    functionLinenumber: 3911
    functionLinenumberEnd: 3925
    functionName: createInsertLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - creatInsertRootLogicNode
    - nodesDestroyNode
    - createQueryLogicNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createInsertLogicNode(SLogicPlanContext* pCxt, SInsertStmt*
      pInsert, SLogicNode** pLogicNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3928,1
    - Dst: createSelectLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3930,1
    - Dst: createVnodeModifLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3932,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3934,1
    - Dst: createSetOperatorLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3936,1
    - Dst: createDeleteLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3938,1
    - Dst: createInsertLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3945
      start: 3927
    functionDepth: 16
    functionLinenumber: 3927
    functionLinenumberEnd: 3945
    functionName: createQueryLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 4
    functionsReached:
    - createSetOperatorLogicNode
    - createDeleteLogicNode
    - createInsertLogicNode
    - createSelectLogicNode
    - createQueryLogicNode
    - nodeType
    - createVnodeModifLogicNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createQueryLogicNode(SLogicPlanContext* pCxt, SNode* pStmt,
      SLogicNode** pLogicNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3950,1
    - Dst: doSetLogicNodeParent
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pParent
    argTypes:
    - SLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3951
      start: 3947
    functionDepth: 1
    functionLinenumber: 3947
    functionLinenumberEnd: 3951
    functionName: doSetLogicNodeParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - FOREACH
    - doSetLogicNodeParent
    linkageType: ''
    returnType: void
    signature: void doSetLogicNodeParent(SLogicNode* pNode, SLogicNode* pParent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doSetLogicNodeParent
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3953
      start: 3953
    functionDepth: 2
    functionLinenumber: 3953
    functionLinenumberEnd: 3953
    functionName: setLogicNodeParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - doSetLogicNodeParent
    linkageType: ''
    returnType: void
    signature: void setLogicNodeParent(SLogicNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3956,1
    - Dst: IS_HSYS_SCAN
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3968
      start: 3955
    functionDepth: 1
    functionLinenumber: 3955
    functionLinenumberEnd: 3968
    functionName: setLogicSubplanType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - IS_HSYS_SCAN
    linkageType: ''
    returnType: void
    signature: void setLogicSubplanType(SPlanContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3974,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3982,1
    - Dst: setLogicNodeParent
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3984,1
    - Dst: setLogicSubplanType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3985,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3986,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:3992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3996
      start: 3970
    functionDepth: 17
    functionLinenumber: 3970
    functionLinenumberEnd: 3996
    functionName: createLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: 1
    functionsReached:
    - setLogicNodeParent
    - adjustLogicNodeDataRequirement
    - createQueryLogicNode
    - nodesMakeNode
    - nodesDestroyNode
    - setLogicSubplanType
    linkageType: ''
    returnType: int32_t
    signature: int32_t createLogicPlan(SPlanContext* pCxt, SLogicSubplan** pLogicSubplan)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: SPLIT_FLAG_MASK
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLIT_FLAG_MASK(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: SPLIT_FLAG_SET_MASK
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLIT_FLAG_SET_MASK(val, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: SPLIT_FLAG_TEST_MASK
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLIT_FLAG_TEST_MASK(val, mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:55,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:56,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SVgroupsInfo**
    - SVgroupsInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: cloneVgroups
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - VGROUPS_INFO_SIZE
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneVgroups(SVgroupsInfo **pDst, SVgroupsInfo* pSrc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:68,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:69,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:70,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:72,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:73,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:75,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:76,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pSubplan
    - pNode
    argTypes:
    - SLogicSubplan*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: splSetSubplanVgroups
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - TSWAP
    - splSetSubplanVgroups
    - LIST_LENGTH
    - nodeType
    linkageType: ''
    returnType: void
    signature: void splSetSubplanVgroups(SLogicSubplan* pSubplan, SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:83,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:90,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:93,1
    - Dst: SPLIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - flag
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: splCreateScanSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - splSetSubplanVgroups
    - SPLIT_FLAG_SET_MASK
    - nodeType
    linkageType: ''
    returnType: SLogicSubplan
    signature: SLogicSubplan * splCreateScanSubplan(SSplitContext* pCxt, SLogicNode*
      pNode, int32_t flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:99,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:104,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:105,1
    - Dst: splHasScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: splHasScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodeType
    - splHasScan
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool splHasScan(SLogicNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splHasScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSubplan
    argTypes:
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: splSetSubplanType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splHasScan
    linkageType: ''
    returnType: void
    signature: void splSetSubplanType(SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:120,1
    - Dst: splSetSubplanType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - ppSubplan
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - SLogicSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: splCreateSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - splSetSubplanType
    linkageType: ''
    returnType: int32_t
    signature: int32_t splCreateSubplan(SSplitContext* pCxt, SLogicNode* pNode, SLogicSubplan**
      ppSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:137,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:137,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:144,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:144,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:148,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:148,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:161,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - pChild
    - pOutput
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - SExchangeLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 164
    functionName: splCreateExchangeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - planError
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t splCreateExchangeNode(SSplitContext* pCxt, SLogicNode* pChild,
      SExchangeLogicNode** pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:171,1
    - Dst: splCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:171,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:173,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:176,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:176,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:182,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - pSplitNode
    - subplanType
    - seqScan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - ESubplanType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 166
    functionDepth: 6
    functionLinenumber: 166
    functionLinenumberEnd: 185
    functionName: splCreateExchangeNodeForSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateExchangeNode
    - PLAN_ERR_JRET
    - planError
    - nodeType
    - replaceLogicNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t splCreateExchangeNodeForSubplan(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pSplitNode,\n                                               ESubplanType
      subplanType, bool seqScan)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:188,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:193,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:199,1
    - Dst: splIsChildSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pLogicNode
    - groupId
    argTypes:
    - SLogicNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: splIsChildSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodeType
    - FOREACH
    - splIsChildSubplan
    linkageType: ''
    returnType: bool
    signature: bool splIsChildSubplan(SLogicNode* pLogicNode, int32_t groupId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splIsChildSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:211,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:212,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:214,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pParent
    - pChildren
    argTypes:
    - SLogicSubplan*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 5
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: splMountSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - REPLACE_NODE
    - nodesListMakeAppend
    - splIsChildSubplan
    - ERASE_NODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t splMountSubplan(SLogicSubplan* pParent, SNodeList* pChildren)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splIsChildSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:211,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:212,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:214,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 222
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 12
    functionsReached:
    - REPLACE_NODE
    - nodesListMakeAppend
    - splIsChildSubplan
    - ERASE_NODE
    linkageType: ''
    returnType: void
    signature: void WHERE_EACH(pChild, pChildren)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:228,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:232,1
    - Dst: splMatchByNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - func
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - FSplFindSplitNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: splMatchByNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - FOREACH
    - splMatchByNode
    - func
    linkageType: ''
    returnType: bool
    signature: "bool splMatchByNode(SSplitContext* pCxt, SLogicSubplan* pSubplan,
      SLogicNode* pNode, FSplFindSplitNode func,\n                           void*
      pInfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SPLIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:241,1
    - Dst: splMatchByNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:242,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:247,1
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - flag
    - func
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - int32_t
    - FSplFindSplitNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: splMatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - FOREACH
    - splMatchByNode
    - splMatch
    - SPLIT_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool splMatch(SSplitContext* pCxt, SLogicSubplan* pSubplan, int32_t
      flag, FSplFindSplitNode func, void* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: splSetParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void splSetParent(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:268,1
    - Dst: fmIsDistExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: stbSplHasGatherExecFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - fmIsWindowPseudoColumnFunc
    - fmIsDistExecFunc
    linkageType: ''
    returnType: bool
    signature: bool stbSplHasGatherExecFunc(const SNodeList* pFuncs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:268,1
    - Dst: fmIsDistExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 169
    functionsReached:
    - fmIsWindowPseudoColumnFunc
    - fmIsDistExecFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFunc, pFuncs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: stbSplIsMultiTbScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stbSplIsMultiTbScan(SScanLogicNode* pScan)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:284,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:287,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:288,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:289,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:292,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:294,1
    - Dst: stbSplIsMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:294,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:298,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:299,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:299,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:304,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:306,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 309
    functionName: stbSplHasMultiTbScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - stbSplIsMultiTbScan
    - nodeType
    - stbSplHasMultiTbScan
    linkageType: ''
    returnType: bool
    signature: bool stbSplHasMultiTbScan(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:312,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:315,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:316,1
    - Dst: stbSplIsMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: stbSplIsMultiTbScanChild
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    - stbSplIsMultiTbScan
    linkageType: ''
    returnType: bool
    signature: bool stbSplIsMultiTbScanChild(SLogicNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stbSplHasGatherExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:322,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:322,1
    - Dst: stbSplHasGatherExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:326,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:326,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:330,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: stbSplNeedSplitWindow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplHasMultiTbScan
    - stbSplHasGatherExecFunc
    linkageType: ''
    returnType: bool
    signature: bool stbSplNeedSplitWindow(SLogicNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:341,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:342,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SJoinLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: stbSplNeedSplitJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool stbSplNeedSplitJoin(SJoinLogicNode* pJoin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:350,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:353,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:354,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:355,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:358,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 361
    functionName: stbSplIsTableCountQuery
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool stbSplIsTableCountQuery(SLogicNode* pNode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:364,1
    - Dst: stbSplIsMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:366,1
    - Dst: stbSplNeedSplitJoin
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:368,1
    - Dst: stbSplIsMultiTbScanChild
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:370,1
    - Dst: stbSplHasGatherExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:372,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:373,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:374,1
    - Dst: stbSplIsTableCountQuery
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:374,1
    - Dst: stbSplNeedSplitWindow
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:376,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:378,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:379,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:380,1
    - Dst: stbSplNeedSplitWindow
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:383,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:387,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pCtx
    - pNode
    argTypes:
    - SFindSplitNodeCtx*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 393
    functionName: stbSplNeedSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbSplNeedSplitJoin
    - isPartTableAgg
    - stbSplIsMultiTbScan
    - LIST_LENGTH
    - stbSplIsTableCountQuery
    - stbSplHasGatherExecFunc
    - nodeType
    - stbSplNeedSplitWindow
    - stbSplIsMultiTbScanChild
    - stbSplHasMultiTbScan
    linkageType: ''
    returnType: bool
    signature: bool stbSplNeedSplit(SFindSplitNodeCtx* pCtx, SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stbSplNeedSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: stbSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplNeedSplit
    linkageType: ''
    returnType: bool
    signature: "bool stbSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan* pSubplan,
      SLogicNode* pNode,\n                                SStableSplitInfo* pInfo)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:414,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:415,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:415,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:419,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:419,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:420,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:422,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:425,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:427,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:431,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:436,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:440,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:442,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:446,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:449,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:450,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:451,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - pFuncs
    - pPartialFuncs
    - pMidFuncs
    - pMergeFuncs
    argTypes:
    - SNodeList*
    - SNodeList**
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 406
    functionDepth: 6
    functionLinenumber: 406
    functionLinenumberEnd: 456
    functionName: stbSplRewriteFuns
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - planError
    - fmIsWindowPseudoColumnFunc
    - nodeType
    - fmGetDistMethod
    - nodesDestroyNode
    - nodesCloneNode
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplRewriteFuns(const SNodeList* pFuncs, SNodeList** pPartialFuncs,
      SNodeList** pMidFuncs, SNodeList** pMergeFuncs)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:414,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:415,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:415,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:419,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:419,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:420,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:422,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:425,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:427,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:431,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:436,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:440,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:442,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:446,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:449,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:450,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:451,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 408
    functionDepth: 6
    functionLinenumber: 408
    functionLinenumberEnd: 454
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 170
    functionsReached:
    - nodesListMakeStrictAppend
    - planError
    - fmIsWindowPseudoColumnFunc
    - nodeType
    - fmGetDistMethod
    - nodesDestroyNode
    - nodesCloneNode
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:461,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:462,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:470,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:474,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:477,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:478,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:479,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:482,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:484,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pFuncs
    - pIndex
    - precision
    argTypes:
    - SNodeList**
    - int32_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 458
    functionDepth: 6
    functionLinenumber: 458
    functionLinenumberEnd: 492
    functionName: stbSplAppendWStart
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - nodesListMakeStrictAppend
    - nodeType
    - nodesMakeNode
    - FOREACH
    - tstrncpy
    - snprintf
    - nodesDestroyNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplAppendWStart(SNodeList** pFuncs, int32_t* pIndex, uint8_t
      precision)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:497,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:506,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:510,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:513,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:514,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:515,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:517,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:519,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:523,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pWin
    - pIndex
    argTypes:
    - SWindowLogicNode*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 494
    functionDepth: 7
    functionLinenumber: 494
    functionLinenumberEnd: 526
    functionName: stbSplAppendWEnd
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - nodesListGetNode
    - nodesListStrictAppend
    - createColumnByRewriteExpr
    - nodesMakeNode
    - FOREACH
    - tstrncpy
    - snprintf
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplAppendWEnd(SWindowLogicNode* pWin, int32_t* pIndex)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:547,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:547,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:551,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:558,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:561,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:569,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:570,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:571,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:574,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:574,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:575,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:575,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:578,1
    - Dst: nodesListMakePushFront
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:578,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:580,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:580,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:584,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:586,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 4
    argNames:
    - pFuncs
    - pIndex
    - precision
    - winType
    argTypes:
    - SNodeList*
    - int32_t*
    - uint8_t
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 528
    functionDepth: 6
    functionLinenumber: 528
    functionLinenumberEnd: 589
    functionName: stbSplAppendPlaceHolder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - PLAN_ERR_JRET
    - PLAN_ERR_RET
    - nodesListStrictAppend
    - nodesMakeValueNodeFromTimestamp
    - nodesListMakePushFront
    - nodesMakeNode
    - snprintf
    - tstrncpy
    - nodesDestroyNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplAppendPlaceHolder(SNodeList* pFuncs, int32_t* pIndex,
      uint8_t precision, ENodeType winType)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 540
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 172
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFunc, pFuncs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:604,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:604,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:610,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:615,1
    - Dst: stbSplRewriteFuns
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:615,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:616,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:621,1
    - Dst: stbSplAppendPlaceHolder
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:621,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:625,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:632,1
    - Dst: stbSplAppendWStart
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:632,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:639,1
    - Dst: stbSplAppendWStart
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:639,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:643,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:645,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:648,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:648,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:649,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:657,1
    - Dst: stbSplCreateMergeKeysByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:657,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:657,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:661,1
    - Dst: stbSplCreateMergeKeysByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:661,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:661,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:667,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:667,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:667,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:670,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:675,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 4
    argNames:
    - pCxt
    - pMergeWindow
    - pPartWindow
    - pMergeKeys
    argTypes:
    - SSplitContext*
    - SWindowLogicNode*
    - SLogicNode**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 591
    functionDepth: 7
    functionLinenumber: 591
    functionLinenumberEnd: 677
    functionName: stbSplCreatePartWindowNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbSplCreateMergeKeysByExpr
    - PLAN_ERR_JRET
    - stbSplAppendWStart
    - planError
    - nodesDestroyList
    - splSetParent
    - inStreamCalcClause
    - createColumnByRewriteExprs
    - stbSplAppendPlaceHolder
    - stbSplRewriteFuns
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stbSplCreatePartWindowNode(SSplitContext* pCxt, SWindowLogicNode*
      pMergeWindow,\n                                          SLogicNode** pPartWindow,
      SNodeList** pMergeKeys)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:680,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:683,1
    - Dst: stbSplGetNumOfVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:684,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: stbSplGetNumOfVgroups
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    - stbSplGetNumOfVgroups
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplGetNumOfVgroups(SLogicNode* pNode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:695,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:707,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:711,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - pMerge
    - pNode
    argTypes:
    - SMergeLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 690
    functionDepth: 4
    functionLinenumber: 690
    functionLinenumberEnd: 726
    functionName: stbSplRewriteFromMergeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplRewriteFromMergeNode(SMergeLogicNode* pMerge, SLogicNode*
      pNode)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:731,1
    - Dst: stbSplGetNumOfVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:736,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:749,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:753,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:755,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:760,1
    - Dst: stbSplRewriteFromMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:769,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:773,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:775,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:779,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 7
    argNames:
    - pCxt
    - pSubplan
    - pSplitNode
    - pMergeKeys
    - pPartChild
    - groupSort
    - needSort
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SNodeList*
    - SLogicNode*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 728
    functionDepth: 6
    functionLinenumber: 728
    functionLinenumberEnd: 782
    functionName: stbSplCreateMergeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplGetNumOfVgroups
    - nodesListMakeAppend
    - nodesMakeNode
    - stbSplRewriteFromMergeNode
    - replaceLogicNode
    - nodesDestroyNode
    - nodesCloneNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stbSplCreateMergeNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pSplitNode,\n                                     SNodeList*
      pMergeKeys, SLogicNode* pPartChild, bool groupSort, bool needSort)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:786,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pParent
    - pPartChild
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 784
    functionDepth: 6
    functionLinenumber: 784
    functionLinenumberEnd: 792
    functionName: stbSplCreateExchangeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateExchangeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplCreateExchangeNode(SSplitContext* pCxt, SLogicNode* pParent,
      SLogicNode* pPartChild)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:796,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:801,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:803,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:808,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pExpr
    - order
    - pMergeKeys
    argTypes:
    - SNode*
    - EOrder
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 794
    functionDepth: 6
    functionLinenumber: 794
    functionLinenumberEnd: 809
    functionName: stbSplCreateMergeKeysByExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplCreateMergeKeysByExpr(SNode* pExpr, EOrder order, SNodeList**
      pMergeKeys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreateMergeKeysByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pPrimaryKey
    - order
    - pMergeKeys
    argTypes:
    - SNode*
    - EOrder
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 7
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: stbSplCreateMergeKeysByPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplCreateMergeKeysByExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplCreateMergeKeysByPrimaryKey(SNode* pPrimaryKey, EOrder
      order, SNodeList** pMergeKeys)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartWindowNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:825,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:830,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:832,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:837,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:844,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:845,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:851,1
    - Dst: stbSplCreatePartWindowNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:852,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:854,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:858,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:859,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 815
    functionDepth: 8
    functionLinenumber: 815
    functionLinenumberEnd: 862
    functionName: stbSplSplitIntervalForBatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppendList
    - splSetSubplanVgroups
    - nodesDestroyList
    - LIST_LENGTH
    - stbSplCreateMergeNode
    - FOREACH
    - stbSplCreatePartWindowNode
    - nodesDestroyNode
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitIntervalForBatch(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:872,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:880,1
    - Dst: stbSplSetTableMergeScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:881,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 884
    functionName: stbSplSetTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodeType
    - stbSplSetTableMergeScan
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: void
    signature: void stbSplSetTableMergeScan(SLogicNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:888,1
    - Dst: stbSplCreateMergeKeysByPrimaryKey
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:891,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:895,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:899,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:900,1
    - Dst: stbSplSetTableMergeScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:904,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 886
    functionDepth: 8
    functionLinenumber: 886
    functionLinenumberEnd: 913
    functionName: stbSplSplitSessionOrStateForBatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbSplCreateMergeKeysByPrimaryKey
    - stbSplSetTableMergeScan
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - stbSplCreateMergeNode
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitSessionOrStateForBatch(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:917,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:919,1
    - Dst: stbSplSplitIntervalForBatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:932,1
    - Dst: stbSplSplitSessionOrStateForBatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:938,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 915
    functionDepth: 9
    functionLinenumber: 915
    functionLinenumberEnd: 943
    functionName: stbSplSplitWindowForCrossTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbSplSplitIntervalForBatch
    - nodeType
    - stbSplSplitSessionOrStateForBatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitWindowForCrossTable(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stbSplNeedSeqRecvData
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 954
    functionName: stbSplNeedSeqRecvData
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - stbSplNeedSeqRecvData
    linkageType: ''
    returnType: bool
    signature: bool stbSplNeedSeqRecvData(SLogicNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:957,1
    - Dst: splCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:961,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:963,1
    - Dst: stbSplNeedSeqRecvData
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:966,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:968,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 956
    functionDepth: 6
    functionLinenumber: 956
    functionLinenumberEnd: 974
    functionName: stbSplSplitWindowForPartTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateExchangeNode
    - nodesListMakeStrictAppend
    - nodeType
    - replaceLogicNode
    - splCreateScanSubplan
    - stbSplNeedSeqRecvData
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitWindowForPartTable(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isPartTableWinodw
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:977,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:978,1
    - Dst: stbSplSplitWindowForPartTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:979,1
    - Dst: stbSplSplitWindowForCrossTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 976
    functionDepth: 10
    functionLinenumber: 976
    functionLinenumberEnd: 983
    functionName: stbSplSplitWindowNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSplitWindowForCrossTable
    - LIST_LENGTH
    - isPartTableWinodw
    - stbSplSplitWindowForPartTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitWindowNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1001,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1001,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1007,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1007,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1009,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1009,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1015,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1017,1
    - Dst: stbSplRewriteFuns
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1017,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1019,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1019,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1021,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1028,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1029,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 2
    argNames:
    - pMergeAgg
    - pOutput
    argTypes:
    - SAggLogicNode*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 985
    functionDepth: 7
    functionLinenumber: 985
    functionLinenumberEnd: 1033
    functionName: stbSplCreatePartAggNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - planError
    - nodesDestroyList
    - splSetParent
    - createColumnByRewriteExprs
    - stbSplRewriteFuns
    - nodesDestroyNode
    - nodesCloneNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplCreatePartAggNode(SAggLogicNode* pMergeAgg, SLogicNode**
      pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1036,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1038,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1035
    functionDepth: 7
    functionLinenumber: 1035
    functionLinenumberEnd: 1043
    functionName: stbSplSplitAggNodeForPartTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateScanSubplan
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitAggNodeForPartTable(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1060,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1061,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1068,1
    - Dst: stbSplCreateMergeKeys
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1069,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1074,1
    - Dst: createGroupKeyAggFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1076,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1081,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1083,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1089,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1092,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1100,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1102,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1103,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1104,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1107,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1108,1
    - Dst: memset
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1109,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1115,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1116,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1121,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1125,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1125,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 3
    argNames:
    - pCtx
    - pInfo
    - pChildAgg
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1052
    functionDepth: 7
    functionLinenumber: 1052
    functionLinenumberEnd: 1129
    functionName: stbSplAggNodeCreateMerge
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - createGroupKeyAggFunc
    - nodesDestroyList
    - LIST_LENGTH
    - stbSplCreateMergeKeys
    - createColumnByRewriteExprs
    - nodeType
    - stbSplCreateMergeNode
    - FOREACH
    - nodesEqualNode
    - tstrncpy
    - memset
    - nodesDestroyNode
    - strcmp
    - nodesListAppendList
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplAggNodeCreateMerge(SSplitContext* pCtx, SStableSplitInfo*
      pInfo, SLogicNode* pChildAgg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1100,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1102,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1103,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1104,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1107,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1108,1
    - Dst: memset
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1097
    functionDepth: 5
    functionLinenumber: 1097
    functionLinenumberEnd: 1112
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 175
    functionsReached:
    - nodesListGetNode
    - FOREACH
    - nodesEqualNode
    - tstrncpy
    - memset
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pMergeKeys)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1136,1
    - Dst: stbSplAggNodeCreateMerge
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1140,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1143,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1146,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1146,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1148,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1152,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1159,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1160,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1166,1
    - Dst: stbSplCreatePartAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1167,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1169,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1172,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1131
    functionDepth: 8
    functionLinenumber: 1131
    functionLinenumberEnd: 1176
    functionName: stbSplSplitAggNodeForCrossTableMulSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListMakeStrictAppendList
    - splSetSubplanVgroups
    - LIST_LENGTH
    - stbSplAggNodeCreateMerge
    - stbSplCreatePartAggNode
    - stbSplCreateMergeNode
    - FOREACH
    - nodesDestroyNode
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitAggNodeForCrossTableMulSubplan(SSplitContext* pCxt,
      SStableSplitInfo* pInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1193,1
    - Dst: stbSplAggNodeCreateMerge
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1197,1
    - Dst: stbSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1199,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1202,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1207,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1191
    functionDepth: 8
    functionLinenumber: 1191
    functionLinenumberEnd: 1218
    functionName: stbSplSplitAggNodeForCrossTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - stbSplCreateExchangeNode
    - stbSplAggNodeCreateMerge
    - stbSplCreatePartAggNode
    - nodesDestroyNode
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitAggNodeForCrossTable(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1221,1
    - Dst: stbSplSplitAggNodeForCrossTableMulSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1222,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1224,1
    - Dst: stbSplSplitAggNodeForPartTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1225,1
    - Dst: stbSplSplitAggNodeForCrossTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1220
    functionDepth: 9
    functionLinenumber: 1220
    functionLinenumberEnd: 1228
    functionName: stbSplSplitAggNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSplitAggNodeForPartTable
    - stbSplSplitAggNodeForCrossTableMulSubplan
    - isPartTableAgg
    - LIST_LENGTH
    - stbSplSplitAggNodeForCrossTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitAggNode(SSplitContext* pCxt, SStableSplitInfo* pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1232,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1236,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1237,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1238,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1239,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1240,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1242,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1244,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pExpr
    - ppNode
    argTypes:
    - SExprNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1230
    functionDepth: 5
    functionLinenumber: 1230
    functionLinenumberEnd: 1249
    functionName: stbSplCreateColumnNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplCreateColumnNode(SExprNode* pExpr, SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1253,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1258,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pSortKey
    - pCol
    - ppNode
    argTypes:
    - SOrderByExprNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1251
    functionDepth: 5
    functionLinenumber: 1251
    functionLinenumberEnd: 1267
    functionName: stbSplCreateOrderByExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplCreateOrderByExpr(SOrderByExprNode* pSortKey, SNode*
      pCol, SNode** ppNode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1279,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1279,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1280,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1282,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1284,1
    - Dst: stbSplCreateColumnNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1294,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1297,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1299,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1303,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1305,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1315,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - pSortKeys
    - pTargets
    - pOutput
    argTypes:
    - SNodeList*
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1269
    functionDepth: 6
    functionLinenumber: 1269
    functionLinenumberEnd: 1318
    functionName: stbSplCreateMergeKeys
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesListStrictAppend
    - nodesDestroyList
    - stbSplCreateColumnNode
    - stbSplCreateOrderByExpr
    - nodeType
    - nodesEqualNode
    - nodesDestroyNode
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplCreateMergeKeys(SNodeList* pSortKeys, SNodeList* pTargets,
      SNodeList** pOutput)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1279,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1279,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1280,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1282,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1284,1
    - Dst: stbSplCreateColumnNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1294,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1297,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1299,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1303,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1305,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1273
    functionDepth: 6
    functionLinenumber: 1273
    functionLinenumberEnd: 1311
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 176
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesListStrictAppend
    - stbSplCreateColumnNode
    - stbSplCreateOrderByExpr
    - nodeType
    - nodesEqualNode
    - nodesDestroyNode
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pSortKeys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1279,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1279,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1280,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1282,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1278
    functionDepth: 6
    functionLinenumber: 1278
    functionLinenumberEnd: 1291
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 176
    functionsReached:
    - nodesListMakeStrictAppend
    - stbSplCreateOrderByExpr
    - nodeType
    - nodesEqualNode
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pTarget, pTargets)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1329,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1334,1
    - Dst: stbSplCreateMergeKeys
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1337,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1344,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pSort
    - pOutputPartSort
    - pOutputMergeKeys
    argTypes:
    - SSortLogicNode*
    - SLogicNode**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1320
    functionDepth: 7
    functionLinenumber: 1320
    functionLinenumberEnd: 1349
    functionName: stbSplCreatePartSortNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesDestroyList
    - splSetParent
    - stbSplCreateMergeKeys
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stbSplCreatePartSortNode(SSortLogicNode* pSort, SLogicNode**
      pOutputPartSort,\n                                        SNodeList** pOutputMergeKeys)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1352,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1358,1
    - Dst: stbSplSetScanPartSort
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1359,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1362
    functionName: stbSplSetScanPartSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodeType
    - nodesListGetNode
    - LIST_LENGTH
    - stbSplSetScanPartSort
    linkageType: ''
    returnType: void
    signature: void stbSplSetScanPartSort(SLogicNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartSortNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1368,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1370,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1373,1
    - Dst: stbSplSetScanPartSort
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1376,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1378,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1364
    functionDepth: 8
    functionLinenumber: 1364
    functionLinenumberEnd: 1384
    functionName: stbSplSplitSortNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSetScanPartSort
    - nodesListMakeStrictAppend
    - stbSplCreateMergeNode
    - nodesDestroyNode
    - splCreateScanSubplan
    - stbSplCreatePartSortNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitSortNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1389,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - pInfo
    - pSplitNode
    argTypes:
    - SStableSplitInfo*
    - SLogicNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1386
    functionDepth: 3
    functionLinenumber: 1386
    functionLinenumberEnd: 1408
    functionName: stbSplGetSplitNodeForScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplGetSplitNodeForScan(SStableSplitInfo* pInfo, SLogicNode**
      pSplitNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stbSplGetSplitNodeForScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1412,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1414,1
    - Dst: splSetSubplanType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1417,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1418,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1410
    functionDepth: 7
    functionLinenumber: 1410
    functionLinenumberEnd: 1423
    functionName: stbSplSplitScanNodeWithoutPartTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    - splSetSubplanType
    - stbSplGetSplitNodeForScan
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitScanNodeWithoutPartTags(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stbSplGetSplitNodeForScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1427,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1430,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1433,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1436,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1425
    functionDepth: 7
    functionLinenumber: 1425
    functionLinenumberEnd: 1442
    functionName: stbSplSplitScanNodeWithPartTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - stbSplGetSplitNodeForScan
    - stbSplCreateMergeNode
    - nodeType
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitScanNodeWithPartTags(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1447,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1458,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1459,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1465,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pScan
    - ppNode
    argTypes:
    - SScanLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1444
    functionDepth: 5
    functionLinenumber: 1444
    functionLinenumberEnd: 1473
    functionName: stbSplFindPrimaryKeyFromScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesListStrictAppend
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplFindPrimaryKeyFromScan(SScanLogicNode* pScan, SNode**
      ppNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1479,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1490,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1491,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1497,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1499,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - pScan
    - ppNode
    argTypes:
    - SScanLogicNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1475
    functionDepth: 5
    functionLinenumber: 1475
    functionLinenumberEnd: 1505
    functionName: stbSplFindPkFromScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesListStrictAppend
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplFindPkFromScan(SScanLogicNode* pScan, SNode** ppNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1514,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1521,1
    - Dst: stbSplFindPrimaryKeyFromScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1524,1
    - Dst: stbSplCreateMergeKeysByPrimaryKey
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1526,1
    - Dst: stbSplFindPkFromScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1530,1
    - Dst: stbSplCreateMergeKeysByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1533,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1541,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - pScan
    - pOutputMergeScan
    - pOutputMergeKeys
    argTypes:
    - SScanLogicNode*
    - SLogicNode**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1507
    functionDepth: 8
    functionLinenumber: 1507
    functionLinenumberEnd: 1546
    functionName: stbSplCreateMergeScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplCreateMergeKeysByPrimaryKey
    - stbSplCreateMergeKeysByExpr
    - nodesDestroyList
    - splSetParent
    - nodesDestroyNode
    - stbSplFindPrimaryKeyFromScan
    - nodesCloneNode
    - stbSplFindPkFromScan
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stbSplCreateMergeScanNode(SScanLogicNode* pScan, SLogicNode**
      pOutputMergeScan,\n                                         SNodeList** pOutputMergeKeys)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreateMergeScanNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1552,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1562,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1568,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1569,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1570,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - pScan
    - groupSort
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SScanLogicNode*
    - bool
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1548
    functionDepth: 9
    functionLinenumber: 1548
    functionLinenumberEnd: 1574
    functionName: stbSplSplitMergeScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - stbSplCreateMergeNode
    - nodesDestroyNode
    - splCreateScanSubplan
    - stbSplCreateMergeScanNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t stbSplSplitMergeScanNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SScanLogicNode* pScan,\n                                        bool
      groupSort, SStableSplitInfo* pInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitMergeScanNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1580,1
    - Dst: stbSplSplitScanNodeWithPartTags
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1583,1
    - Dst: stbSplSplitScanNodeWithoutPartTags
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1576
    functionDepth: 10
    functionLinenumber: 1576
    functionLinenumberEnd: 1586
    functionName: stbSplSplitScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSplitMergeScanNode
    - stbSplSplitScanNodeWithoutPartTags
    - stbSplSplitScanNodeWithPartTags
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitScanNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1591,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1592,1
    - Dst: stbSplSplitMergeScanNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1596,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1598,1
    - Dst: stbSplSplitJoinNodeImpl
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pJoin
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SJoinLogicNode*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1588
    functionDepth: 10
    functionLinenumber: 1588
    functionLinenumberEnd: 1608
    functionName: stbSplSplitJoinNodeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodeType
    - FOREACH
    - stbSplSplitMergeScanNode
    - stbSplSplitJoinNodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitJoinNodeImpl(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SJoinLogicNode* pJoin, SStableSplitInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitJoinNodeImpl
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1610
    functionDepth: 11
    functionLinenumber: 1610
    functionLinenumberEnd: 1620
    functionName: stbSplSplitJoinNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSplitJoinNodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitJoinNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1623,1
    - Dst: stbSplFindPrimaryKeyFromScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1626,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1628,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1633,1
    - Dst: stbSplCreateMergeKeysByPrimaryKey
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pPart
    - pMergeKeys
    argTypes:
    - SLogicNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1622
    functionDepth: 8
    functionLinenumber: 1622
    functionLinenumberEnd: 1638
    functionName: stbSplCreateMergeKeysForPartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - stbSplCreateMergeKeysByPrimaryKey
    - nodesListStrictAppend
    - stbSplFindPrimaryKeyFromScan
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplCreateMergeKeysForPartitionNode(SLogicNode* pPart, SNodeList**
      pMergeKeys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreateMergeKeysForPartitionNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1644,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1647,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1650,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1640
    functionDepth: 9
    functionLinenumber: 1640
    functionLinenumberEnd: 1656
    functionName: stbSplSplitPartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateScanSubplan
    - stbSplCreateMergeNode
    - nodesListMakeStrictAppend
    - stbSplCreateMergeKeysForPartitionNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stbSplSplitPartitionNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1664,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1669,1
    - Dst: stbSplSplitScanNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1671,1
    - Dst: stbSplSplitJoinNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1674,1
    - Dst: stbSplSplitPartitionNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1677,1
    - Dst: stbSplSplitAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1680,1
    - Dst: stbSplSplitWindowNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1683,1
    - Dst: stbSplSplitSortNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1686,1
    - Dst: inStreamTriggerClause
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1692,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1692,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1658
    functionDepth: 12
    functionLinenumber: 1658
    functionLinenumberEnd: 1697
    functionName: stableSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSplitScanNode
    - stbSplSplitSortNode
    - stbSplSplitJoinNode
    - splMatch
    - inStreamCalcClause
    - nodeType
    - inStreamTriggerClause
    - stbSplSplitPartitionNode
    - stbSplSplitWindowNode
    - stbSplSplitAggNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t stableSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1706,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1714,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1714,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1715,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1705
    functionDepth: 1
    functionLinenumber: 1705
    functionLinenumberEnd: 1716
    functionName: sigTbJoinSplNeedSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool sigTbJoinSplNeedSplit(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigTbJoinSplNeedSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1720,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SSigTbJoinSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1718
    functionDepth: 2
    functionLinenumber: 1718
    functionLinenumberEnd: 1727
    functionName: sigTbJoinSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - sigTbJoinSplNeedSplit
    linkageType: ''
    returnType: bool
    signature: "bool sigTbJoinSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode,\n                                      SSigTbJoinSplitInfo*
      pInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1731,1
    - Dst: checkScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1734,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1734,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1735,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1737,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1729
    functionDepth: 7
    functionLinenumber: 1729
    functionLinenumberEnd: 1742
    functionName: singleTableJoinSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    - checkScanLogicNode
    - splMatch
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t singleTableJoinSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1751,1
    - Dst: splCreateSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1753,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1755,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1758,1
    - Dst: splMountSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1759,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1769,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1771,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1774,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pUnionSubplan
    - pSplitNode
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1744
    functionDepth: 6
    functionLinenumber: 1744
    functionLinenumberEnd: 1777
    functionName: unionSplitSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - splMountSubplan
    - REPLACE_NODE
    - nodesListMakeStrictAppendList
    - nodesDestroyList
    - FOREACH
    - splCreateSubplan
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: int32_t
    signature: int32_t unionSplitSubplan(SSplitContext* pCxt, SLogicSubplan* pUnionSubplan,
      SLogicNode* pSplitNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1786,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SUnionAllSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1792
    functionName: unAllSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: "bool unAllSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan* pSubplan,
      SLogicNode* pNode,\n                                  SUnionAllSplitInfo* pInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1797,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1805,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1807,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1811,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1813,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1816,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1822,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1827,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1828,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1829,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1830,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1834,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 4
    argNames:
    - pCxt
    - startGroupId
    - pSubplan
    - pProject
    argTypes:
    - SSplitContext*
    - int32_t
    - SLogicSubplan*
    - SProjectLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1794
    functionDepth: 5
    functionLinenumber: 1794
    functionLinenumberEnd: 1836
    functionName: unAllSplCreateExchangeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - REPLACE_NODE
    - TSWAP
    - nodesCloneNode
    - nodesMakeNode
    - FOREACH
    - nodesEqualNode
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t unAllSplCreateExchangeNode(SSplitContext* pCxt, int32_t startGroupId,
      SLogicSubplan* pSubplan,\n                                          SProjectLogicNode*
      pProject)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1840,1
    - Dst: unionSplitSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1845,1
    - Dst: unAllSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1838
    functionDepth: 7
    functionLinenumber: 1838
    functionLinenumberEnd: 1851
    functionName: unionAllSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - unionSplitSubplan
    - splMatch
    - unAllSplCreateExchangeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t unionAllSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1861,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1869,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1871,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - startGroupId
    - pSubplan
    - pAgg
    argTypes:
    - SSplitContext*
    - int32_t
    - SLogicSubplan*
    - SAggLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1858
    functionDepth: 6
    functionLinenumber: 1858
    functionLinenumberEnd: 1878
    functionName: unDistSplCreateExchangeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesListMakeStrictAppend
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t unDistSplCreateExchangeNode(SSplitContext* pCxt, int32_t startGroupId,
      SLogicSubplan* pSubplan,\n                                           SAggLogicNode*
      pAgg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1882,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SUnionDistinctSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1889
    functionName: unDistSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: "bool unDistSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan* pSubplan,
      SLogicNode* pNode,\n                                   SUnionDistinctSplitInfo*
      pInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1893,1
    - Dst: unionSplitSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1898,1
    - Dst: unDistSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1891
    functionDepth: 7
    functionLinenumber: 1891
    functionLinenumberEnd: 1904
    functionName: unionDistinctSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - unionSplitSubplan
    - unDistSplCreateExchangeNode
    - splMatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t unionDistinctSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1913,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1913,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1917,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1917,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SSmaIndexSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1911
    functionDepth: 1
    functionLinenumber: 1911
    functionLinenumberEnd: 1925
    functionName: smaIdxSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: "bool smaIdxSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan* pSubplan,
      SLogicNode* pNode,\n                                   SSmaIndexSplitInfo* pInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1929,1
    - Dst: unionSplitSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1927
    functionDepth: 7
    functionLinenumber: 1927
    functionLinenumberEnd: 1940
    functionName: smaIndexSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - unionSplitSubplan
    - splMatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t smaIndexSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1949,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1949,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SInsertSelectSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1956
    functionName: insSelSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: "bool insSelSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan* pSubplan,
      SLogicNode* pNode,\n                                   SInsertSelectSplitInfo*
      pInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1960,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1966,1
    - Dst: splCreateSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1968,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1971,1
    - Dst: splMountSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1974,1
    - Dst: SPLIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1977,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1958
    functionDepth: 7
    functionLinenumber: 1958
    functionLinenumberEnd: 1981
    functionName: insertSelectSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    - splMountSubplan
    - splMatch
    - SPLIT_FLAG_SET_MASK
    - splCreateSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t insertSelectSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1990,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1990,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1991,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SVirtualTableSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1988
    functionDepth: 1
    functionLinenumber: 1988
    functionLinenumberEnd: 1997
    functionName: virtualTableFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: "bool virtualTableFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode,\n                                      SVirtualTableSplitInfo*
      pInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pVirtual
    argTypes:
    - SVirtualScanLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1999
    functionDepth: 1
    functionLinenumber: 1999
    functionLinenumberEnd: 2004
    functionName: needProcessOneBlockEachTime
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool needProcessOneBlockEachTime(SVirtualScanLogicNode* pVirtual)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2009,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2013,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2015,1
    - Dst: splCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2015,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2017,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2021,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2024,1
    - Dst: needProcessOneBlockEachTime
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2025,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2026,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2006
    functionDepth: 6
    functionLinenumber: 2006
    functionLinenumberEnd: 2033
    functionName: virtualTableSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateExchangeNode
    - PLAN_ERR_JRET
    - nodesListMakeStrictAppend
    - REPLACE_NODE
    - splMatch
    - needProcessOneBlockEachTime
    - nodeType
    - FOREACH
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t virtualTableSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2058,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2066,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SMergeTableScanSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2076
    functionName: mergeTableScanFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: "bool mergeTableScanFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode,\n                                        SMergeTableScanSplitInfo*
      pInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2089,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2097,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2098,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2101,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2101,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2102,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2102,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2086
    functionDepth: 7
    functionLinenumber: 2086
    functionLinenumberEnd: 2111
    functionName: mergeTableScanSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    - PLAN_ERR_RET
    - splMatch
    - nodeType
    - FOREACH
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeTableScanSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2114,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2114,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2116,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2118,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2122
    functionName: mergeAggColsNeedSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool mergeAggColsNeedSplit(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mergeAggColsNeedSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2126,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SMergeAggColsSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2124
    functionDepth: 2
    functionLinenumber: 2124
    functionLinenumberEnd: 2133
    functionName: mergeAggColsFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - mergeAggColsNeedSplit
    linkageType: ''
    returnType: bool
    signature: "bool mergeAggColsFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode,\n                                      SMergeAggColsSplitInfo*
      pInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2138,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2142,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2142,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2143,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2143,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2135
    functionDepth: 7
    functionLinenumber: 2135
    functionLinenumberEnd: 2148
    functionName: mergeAggColsSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    - PLAN_ERR_RET
    - splMatch
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeAggColsSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2156,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2159,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2163,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2168,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2174,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2155
    functionDepth: 1
    functionLinenumber: 2155
    functionLinenumberEnd: 2180
    functionName: mergeExtWinNeedSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool mergeExtWinNeedSplit(SLogicNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mergeExtWinNeedSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SMergeExtWinSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2182
    functionDepth: 2
    functionLinenumber: 2182
    functionLinenumberEnd: 2190
    functionName: mergeExtWinFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - mergeExtWinNeedSplit
    linkageType: ''
    returnType: bool
    signature: "bool mergeExtWinFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode,\n                                     SMergeExtWinSplitInfo*
      pInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2195,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2199,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2199,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2200,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2200,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2192
    functionDepth: 7
    functionLinenumber: 2192
    functionLinenumberEnd: 2205
    functionName: mergeExtWinSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    - PLAN_ERR_RET
    - splMatch
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeExtWinSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2214,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2215,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SQnodeSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2212
    functionDepth: 1
    functionLinenumber: 2212
    functionLinenumberEnd: 2223
    functionName: qndSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: "bool qndSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan* pSubplan,
      SLogicNode* pNode,\n                                SQnodeSplitInfo* pInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2231,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2235,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2237,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2241,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2225
    functionDepth: 7
    functionLinenumber: 2225
    functionLinenumberEnd: 2254
    functionName: qnodeSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    - TSWAP
    - splMatch
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t qnodeSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2263,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2271,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2282,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2292,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2302,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SDynVirtualScanSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2261
    functionDepth: 1
    functionLinenumber: 2261
    functionLinenumberEnd: 2312
    functionName: dynVirtualScanFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: "bool dynVirtualScanFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode,\n                                        SDynVirtualScanSplitInfo*
      pInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2317,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2321,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2321,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2322,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2322,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2314
    functionDepth: 7
    functionLinenumber: 2314
    functionLinenumberEnd: 2329
    functionName: dynVirtualScanSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    - PLAN_ERR_RET
    - splMatch
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t dynVirtualScanSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2340,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2340,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2341,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2344,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SVstbAggSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2338
    functionDepth: 1
    functionLinenumber: 2338
    functionLinenumberEnd: 2360
    functionName: vstbAggFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: "bool vstbAggFindSplitNode(SSplitContext* pCxt, SLogicSubplan* pSubplan,
      SLogicNode* pNode,\n                                 SVstbAggSplitInfo* pInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2366,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2373,1
    - Dst: stbSplCreatePartAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2373,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2374,1
    - Dst: stbSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2374,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2375,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2375,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2375,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2377,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2377,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2378,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2378,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2378,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2362
    functionDepth: 8
    functionLinenumber: 2362
    functionLinenumberEnd: 2390
    functionName: vstbAggSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_JRET
    - nodesListMakeStrictAppend
    - splCreateExchangeNodeForSubplan
    - planError
    - stbSplCreateExchangeNode
    - splMatch
    - stbSplCreatePartAggNode
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t vstbAggSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2410,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2410,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2412,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2415,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SVstbIntervalSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2407
    functionDepth: 1
    functionLinenumber: 2407
    functionLinenumberEnd: 2422
    functionName: vstbIntervalFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: "bool vstbIntervalFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode,\n                                      SVstbIntervalSplitInfo*
      pInfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2434,1
    - Dst: stbSplSplitIntervalForBatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2432
    functionDepth: 9
    functionLinenumber: 2432
    functionLinenumberEnd: 2449
    functionName: vstbIntervalSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - stbSplSplitIntervalForBatch
    - splMatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t vstbIntervalSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SStreamScanSplitInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2456
    functionDepth: 1
    functionLinenumber: 2456
    functionLinenumberEnd: 2464
    functionName: streamScanFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: "bool streamScanFindSplitNode(SSplitContext* pCxt, SLogicSubplan* pSubplan,
      SLogicNode* pNode,\n                                           SStreamScanSplitInfo*
      pInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2469,1
    - Dst: inStreamTriggerClause
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2469,1
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2472,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2473,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2473,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2474,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2482,1
    - Dst: cloneVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2482,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2485,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2485,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2466
    functionDepth: 7
    functionLinenumber: 2466
    functionLinenumberEnd: 2496
    functionName: streamScanSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - cloneVgroups
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    - PLAN_ERR_RET
    - splMatch
    - inStreamCalcClause
    - inStreamTriggerClause
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamScanSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2524,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2527,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2529,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pRuleName
    - pSubplan
    argTypes:
    - char*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2518
    functionDepth: 4
    functionLinenumber: 2518
    functionLinenumberEnd: 2534
    functionName: dumpLogicSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - qDebugL
    - taosMemoryFree
    - nodesNodeToString
    linkageType: ''
    returnType: int32_t
    signature: int32_t dumpLogicSubplan(const char* pRuleName, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2541,1
    - Dst: dumpLogicSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2541,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2546,1
    - Dst: splitFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2546,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2549,1
    - Dst: dumpLogicSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2549,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2554,1
    - Dst: streamScanSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2554,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2555,1
    - Dst: qnodeSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2555,1
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2536
    functionDepth: 8
    functionLinenumber: 2536
    functionLinenumberEnd: 2560
    functionName: applySplitRule
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - PLAN_ERR_RET
    - qnodeSplit
    - PLAN_RET
    - streamScanSplit
    - dumpLogicSubplan
    - splitFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t applySplitRule(SPlanContext* pCxt, SLogicSubplan* pSubplan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2563,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2564,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2566,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2572,1
    - Dst: setVgroupsInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pSubplan
    argTypes:
    - SLogicNode*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2562
    functionDepth: 1
    functionLinenumber: 2562
    functionLinenumberEnd: 2573
    functionName: setVgroupsInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - nodeType
    - FOREACH
    - setVgroupsInfo
    - TSWAP
    linkageType: ''
    returnType: void
    signature: void setVgroupsInfo(SLogicNode* pNode, SLogicSubplan* pSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pLogicSubplan
    argTypes:
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2581
      start: 2575
    functionDepth: 1
    functionLinenumber: 2575
    functionLinenumberEnd: 2581
    functionName: needSplitSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool needSplitSubplan(SLogicSubplan* pLogicSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: needSplitSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2584,1
    - Dst: setVgroupsInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2585,1
    - Dst: applySplitRule
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2583
    functionDepth: 9
    functionLinenumber: 2583
    functionLinenumberEnd: 2589
    functionName: splitLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: 1
    functionsReached:
    - applySplitRule
    - needSplitSubplan
    - setVgroupsInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t splitLogicPlan(SPlanContext* pCxt, SLogicSubplan* pLogicSubplan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pMerge
    argTypes:
    - SValidatePlanContext*
    - SMergePhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: validateMergePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: 0
    functionsReached:
    - planError
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateMergePhysiNode(SValidatePlanContext* pCxt, SMergePhysiNode*
      pMerge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doValidatePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSubPlan
    argTypes:
    - SValidatePlanContext*
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: validateSubplanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: 0
    functionsReached:
    - doValidatePhysiNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateSubplanNode(SValidatePlanContext* pCxt, SSubplan* pSubPlan)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:49,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:50,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:57,1
    - Dst: doValidatePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pPlan
    argTypes:
    - SValidatePlanContext*
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: validateQueryPlanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: 0
    functionsReached:
    - nodeType
    - doValidatePhysiNode
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateQueryPlanNode(SValidatePlanContext* pCxt, SQueryPlan*
      pPlan)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:68,1
    - Dst: validateMergePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:84,1
    - Dst: validateSubplanNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:107,1
    - Dst: validateQueryPlanNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SValidatePlanContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 115
    functionName: doValidatePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: 2
    functionsReached:
    - nodeType
    - validateSubplanNode
    - validateMergePhysiNode
    - validateQueryPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t doValidatePhysiNode(SValidatePlanContext* pCxt, SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SValidatePlanContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: destoryValidatePlanContext
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void destoryValidatePlanContext(SValidatePlanContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: validateQueryPlanNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:128,1
    - Dst: destoryValidatePlanContext
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pPlan
    argTypes:
    - SPlanContext*
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: validateQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: 1
    functionsReached:
    - destoryValidatePlanContext
    - validateQueryPlanNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateQueryPlan(SPlanContext* pCxt, SQueryPlan* pPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:35,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: testPrint
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t testPrint(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: testPrintError
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t testPrintError(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:35,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: testPrint
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t testPrint(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: testPrintError
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t testPrintError(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initTaskQueue
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: QueryTestEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 0
    functionsReached:
    - initTaskQueue
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanupTaskQueue
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: QueryTestEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 0
    functionsReached:
    - cleanupTaskQueue
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: QueryTestEnv::QueryTestEnv
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryTestEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: ~QueryTestEnv()
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QueryTestEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::AddGlobalTestEnvironment
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:59,1
    - Dst: QueryTestEnv::QueryTestEnv
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:59,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:60,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 2
    functionsReached:
    - testing::InitGoogleTest
    - QueryTestEnv::QueryTestEnv
    - RUN_ALL_TESTS
    - testing::AddGlobalTestEnvironment
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:65,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:66,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - taosMemoryCalloc
    - taosAsyncExec
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, async_task_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:72,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:74,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - taosMemoryCalloc
    - taosAsyncExec
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, many_async_task_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:82,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:83,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:84,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qcom/test/queryTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qcom/test/queryTest.cpp
    functionUses: 0
    functionsReached:
    - taosMsleep
    - printf
    - taosMemoryCalloc
    - taosAsyncExec
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, error_in_async_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: VALIDNUMOFCOLS
    functionSourceFile: /src/tdengine/source/libs/qcom/inc/queryInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALIDNUMOFCOLS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: VALIDNUMOFCOLSVIRTUAL
    functionSourceFile: /src/tdengine/source/libs/qcom/inc/queryInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALIDNUMOFCOLSVIRTUAL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: VALIDNUMOFTAGS
    functionSourceFile: /src/tdengine/source/libs/qcom/inc/queryInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALIDNUMOFTAGS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: QUERY_PARAM_CHECK
    functionSourceFile: /src/tdengine/source/libs/qcom/inc/queryInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUERY_PARAM_CHECK(_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:33,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:34,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:35,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:38,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:50,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:58,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:58,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:64,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:66,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - pOut
    - usedbRsp
    argTypes:
    - SUseDbOutput*
    - SUseDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 74
    functionName: queryBuildUseDbOutput
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 3
    functionsReached:
    - memcpy
    - taosArrayGet
    - qDebug
    - taosHashInit
    - QUERY_PARAM_CHECK
    - taosGetDefaultHashFunction
    - taosHashPut
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryBuildUseDbOutput(SUseDbOutput *pOut, SUseDbRsp *usedbRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:78,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:79,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:80,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:89,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:91,1
    - Dst: tSerializeSTableInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:93,1
    - Dst: tSerializeSTableInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 108
    functionName: queryBuildTableMetaReqMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tSerializeSTableInfoReq
    - tstrncpy
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildTableMetaReqMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen,\n                                  void *(*mallcFp)(int64_t),
      void (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:112,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:113,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:114,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:118,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:125,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 140
    functionName: queryBuildUseDbMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tSerializeSUseDbReq
    - tstrncpy
    - 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),\n                           void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:144,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:145,1
    - Dst: tSerializeSQnodeListReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:150,1
    - Dst: tSerializeSQnodeListReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 166
    functionName: queryBuildQnodeListMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    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), \n                               void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:170,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:171,1
    - Dst: tSerializeSDnodeListReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:176,1
    - Dst: tSerializeSDnodeListReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: queryBuildDnodeListMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    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),\n                               void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:195,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:196,1
    - Dst: tSerializeSServerVerReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:200,1
    - Dst: tSerializeSServerVerReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 215
    functionName: queryBuildGetSerVerMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    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),\n                               void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - 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: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:221,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:224,1
    - Dst: tSerializeSDbCfgReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:226,1
    - Dst: tSerializeSDbCfgReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 241
    functionName: queryBuildGetDBCfgMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - QUERY_PARAM_CHECK
    - tSerializeSDbCfgReq
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetDBCfgMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t), \n                              void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:245,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:246,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:247,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:250,1
    - Dst: tSerializeSUserIndexReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:252,1
    - Dst: tSerializeSUserIndexReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 267
    functionName: queryBuildGetIndexMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tSerializeSUserIndexReq
    - tstrncpy
    - 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), \n                              void
      (*freeFp)(void *))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:271,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:272,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:273,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:278,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:278,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:282,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:283,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:287,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:290,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:293,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:295,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 306
    functionName: queryBuildRetrieveFuncMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tSerializeSRetrieveFuncReq
    - QUERY_PARAM_CHECK
    - taosArrayInit
    - strlen
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildRetrieveFuncMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen,\n                                  void *(*mallcFp)(int64_t),
      void (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:310,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:311,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:312,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:315,1
    - Dst: tSerializeSGetUserAuthReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:317,1
    - Dst: tSerializeSGetUserAuthReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 332
    functionName: queryBuildGetUserAuthMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - QUERY_PARAM_CHECK
    - tSerializeSGetUserAuthReq
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetUserAuthMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen, void *(*mallcFp)(int64_t),\n                                 void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:336,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:337,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:338,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:341,1
    - Dst: tSerializeSTableIndexReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:343,1
    - Dst: tSerializeSTableIndexReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 358
    functionName: queryBuildGetTbIndexMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    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),\n                                void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:362,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:363,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:364,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:369,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:370,1
    - Dst: tSerializeSTableCfgReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:372,1
    - Dst: tSerializeSTableCfgReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 387
    functionName: queryBuildGetTbCfgMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - QUERY_PARAM_CHECK
    - tSerializeSTableCfgReq
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetTbCfgMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t),\n                              void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:391,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:392,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:396,1
    - Dst: tSerializeSViewMetaReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:398,1
    - Dst: tSerializeSViewMetaReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 413
    functionName: queryBuildGetViewMetaMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tSerializeSViewMetaReq
    - tstrncpy
    - 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),\n                                 void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - 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:418,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:419,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:422,1
    - Dst: tSerializeTableTSMAInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:424,1
    - Dst: tSerializeTableTSMAInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 438
    functionName: queryBuildGetTableTSMAMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - QUERY_PARAM_CHECK
    - tSerializeTableTSMAInfoReq
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetTableTSMAMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen, void *(*mallcFp)(int64_t),\n                                  void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:442,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:443,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:444,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:448,1
    - Dst: tSerializeTableTSMAInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:450,1
    - Dst: tSerializeTableTSMAInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 464
    functionName: queryBuildGetTSMAMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - QUERY_PARAM_CHECK
    - tSerializeTableTSMAInfoReq
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetTSMAMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t),\n                             void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:468,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:469,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:470,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:473,1
    - Dst: tSerializeRsmaInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:475,1
    - Dst: tSerializeRsmaInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 489
    functionName: queryBuildGetRsmaMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tSerializeRsmaInfoReq
    - snprintf
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetRsmaMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen,\n                                    void *(*mallcFp)(int64_t),
      void (*freeFp)(void *))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:493,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:494,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:495,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:498,1
    - Dst: tSerializeGetStreamCreateSqlReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:500,1
    - Dst: tSerializeGetStreamCreateSqlReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 515
    functionName: queryBuildGetStreamCreateSqlMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tSerializeGetStreamCreateSqlReq
    - snprintf
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetStreamCreateSqlMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen,\n                                               void
      *(*mallcFp)(int64_t), void (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:519,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:520,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:521,1
    - Dst: tSerializeStreamProgressReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:523,1
    - Dst: tSerializeStreamProgressReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 538
    functionName: queryBuildGetStreamProgressMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - QUERY_PARAM_CHECK
    - tSerializeStreamProgressReq
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildGetStreamProgressMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen,\n                                       void *(*mallcFp)(int64_t),
      void (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:542,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:543,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:544,1
    - Dst: tSerializeSVSubTablesReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:549,1
    - Dst: tSerializeSVSubTablesReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 563
    functionName: queryBuildVSubTablesMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    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),\n                                void
      (*freeFp)(void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:567,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:568,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:569,1
    - Dst: tSerializeSVStbRefDbsReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:574,1
    - Dst: tSerializeSVStbRefDbsReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)(int64_t)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 588
    functionName: queryBuildVStbRefDBsMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - QUERY_PARAM_CHECK
    - tSerializeSVStbRefDbsReq
    linkageType: ''
    returnType: int32_t
    signature: "int32_t queryBuildVStbRefDBsMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t),\n                                void
      (*freeFp)(void *))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:597,1
    - Dst: tDeserializeSUseDbRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:601,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:602,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:608,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:613,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:615,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:616,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:618,1
    - Dst: queryBuildUseDbOutput
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:622,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:628,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:629,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:631,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:631,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:634,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 636
    functionName: queryProcessUseDBRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - qTrace
    - qError
    - tDeserializeSUseDbRsp
    - queryBuildUseDbOutput
    - terrstr
    - taosHashCleanup
    - tFreeSUsedbRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessUseDBRsp(void *output, char *msg, int32_t msgSize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:639,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:641,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:646,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:653,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:658,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:663,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:668,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:673,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - pMetaMsg
    argTypes:
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 678
    functionName: queryConvertTableMetaMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryConvertTableMetaMsg(STableMetaRsp *pMetaMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:681,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:682,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - pMeta
    argTypes:
    - STableMetaRsp*
    - SCTableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 692
    functionName: queryCreateCTableMetaFromMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 1
    functionsReached:
    - qDebug
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryCreateCTableMetaFromMsg(STableMetaRsp *msg, SCTableMeta
      *pMeta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:695,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:696,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:697,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:702,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:704,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:716,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:720,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - msg
    - pMeta
    argTypes:
    - STableMetaRsp*
    - SVCTableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 732
    functionName: queryCreateVCTableMetaFromMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 1
    functionsReached:
    - memcpy
    - qError
    - qDebug
    - QUERY_PARAM_CHECK
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryCreateVCTableMetaFromMsg(STableMetaRsp *msg, SVCTableMeta
      **pMeta)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:735,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:736,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:739,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:740,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:741,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:744,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:746,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:746,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:781,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:782,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:784,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:789,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:791,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:796,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:798,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:817,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 3
    argNames:
    - msg
    - isStb
    - pMeta
    argTypes:
    - STableMetaRsp*
    - bool
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 826
    functionName: queryCreateTableMetaFromMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 1
    functionsReached:
    - hasRefCol
    - withExtSchema
    - memcpy
    - qError
    - qDebug
    - QUERY_PARAM_CHECK
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryCreateTableMetaFromMsg(STableMetaRsp *msg, bool isStb,
      STableMeta **pMeta)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:829,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:830,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:833,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:834,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:835,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:838,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:840,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:862,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:863,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:865,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:870,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:872,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:890,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:892,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - msg
    - isStb
    - pMeta
    argTypes:
    - STableMetaRsp*
    - bool
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 901
    functionName: queryCreateTableMetaExFromMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - hasRefCol
    - withExtSchema
    - memcpy
    - qError
    - qDebug
    - TAOS_MEMCPY
    - tstrncpy
    - QUERY_PARAM_CHECK
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryCreateTableMetaExFromMsg(STableMetaRsp *msg, bool isStb,
      STableMeta **pMeta)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:908,1
    - Dst: tDeserializeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:913,1
    - Dst: queryConvertTableMetaMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:918,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:926,1
    - Dst: tIsValidSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:927,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:933,1
    - Dst: SET_META_TYPE_BOTH_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:937,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:939,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:940,1
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:947,1
    - Dst: SET_META_TYPE_BOTH_VTABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:949,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:951,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:952,1
    - Dst: queryCreateVCTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:954,1
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:958,1
    - Dst: SET_META_TYPE_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:960,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:961,1
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:962,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:967,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:967,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:970,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 972
    functionName: queryProcessTableMetaRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tFreeSTableMetaRsp
    - queryConvertTableMetaMsg
    - qError
    - queryCreateTableMetaFromMsg
    - SET_META_TYPE_TABLE
    - SET_META_TYPE_BOTH_TABLE
    - tstrncpy
    - SET_META_TYPE_BOTH_VTABLE
    - queryCreateVCTableMetaFromMsg
    - tIsValidSchema
    - tstrerror
    - tDeserializeSTableMetaRsp
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessTableMetaRsp(void *output, char *msg, int32_t msgSize)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:979,1
    - Dst: tDeserializeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:984,1
    - Dst: queryConvertTableMetaMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:989,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:998,1
    - Dst: tIsValidSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:999,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1005,1
    - Dst: SET_META_TYPE_BOTH_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1009,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1011,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1012,1
    - Dst: queryCreateTableMetaExFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1019,1
    - Dst: SET_META_TYPE_BOTH_VTABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1021,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1023,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1024,1
    - Dst: queryCreateVCTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1026,1
    - Dst: queryCreateTableMetaExFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1031,1
    - Dst: SET_META_TYPE_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1033,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1034,1
    - Dst: queryCreateTableMetaExFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1035,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1040,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1040,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1043,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 1045
    functionName: queryProcessTableNameRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tFreeSTableMetaRsp
    - queryConvertTableMetaMsg
    - qError
    - SET_META_TYPE_TABLE
    - SET_META_TYPE_BOTH_TABLE
    - tstrncpy
    - SET_META_TYPE_BOTH_VTABLE
    - queryCreateVCTableMetaFromMsg
    - queryCreateTableMetaExFromMsg
    - tIsValidSchema
    - tstrerror
    - tDeserializeSTableMetaRsp
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessTableNameRsp(void *output, char *msg, int32_t msgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1052,1
    - Dst: tDeserializeSQnodeListRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1058,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1065
    functionName: queryProcessQnodeListRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - tDeserializeSQnodeListRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessQnodeListRsp(void *output, char *msg, int32_t msgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1072,1
    - Dst: tDeserializeSDnodeListRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1077,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1078,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1086
    functionName: queryProcessDnodeListRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - tDeserializeSDnodeListRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessDnodeListRsp(void *output, char *msg, int32_t msgSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1093,1
    - Dst: tDeserializeSServerVerRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1098,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1099,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1110
    functionName: queryProcessGetSerVerRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - taosStrdup
    - tDeserializeSServerVerRsp
    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:1116,1
    - Dst: tDeserializeSDbCfgRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1120,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1121,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1128
    functionName: queryProcessGetDbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - memcpy
    - tDeserializeSDbCfgRsp
    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:1134,1
    - Dst: tDeserializeSUserIndexRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1138,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1139,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1146
    functionName: queryProcessGetIndexRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - memcpy
    - tDeserializeSUserIndexRsp
    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:1152,1
    - Dst: tDeserializeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1156,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1157,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1162,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1166,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1168,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1169,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1173
    functionName: queryProcessRetrieveFuncRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - qError
    - tDeserializeSRetrieveFuncRsp
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessRetrieveFuncRsp(void *output, char *msg, int32_t
      msgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1177,1
    - Dst: tDeserializeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1181,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1187
    functionName: queryProcessGetUserAuthRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - tDeserializeSGetUserAuthRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessGetUserAuthRsp(void *output, char *msg, int32_t
      msgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1191,1
    - Dst: tDeserializeSTableIndexRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1196,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1202
    functionName: queryProcessGetTbIndexRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - tDeserializeSTableIndexRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessGetTbIndexRsp(void *output, char *msg, int32_t
      msgSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1206,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1210,1
    - Dst: tDeserializeSTableCfgRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1214,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1215,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1216,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1224
    functionName: queryProcessGetTbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeSTableCfgRsp
    - qError
    - taosMemoryFree
    - taosMemoryCalloc
    - tFreeSTableCfgRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessGetTbCfgRsp(void *output, char *msg, int32_t msgSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1228,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1232,1
    - Dst: tDeserializeSViewMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1236,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1237,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1239,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1248
    functionName: queryProcessGetViewMetaRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeSViewMetaRsp
    - tFreeSViewMetaRsp
    - qError
    - taosMemoryFree
    - qDebugL
    - taosMemoryCalloc
    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:1252,1
    - Dst: tDeserializeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1256,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1262
    functionName: queryProcessGetTbTSMARsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - tDeserializeTableTSMAInfoRsp
    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:1266,1
    - Dst: tDeserializeRsmaInfoRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1270,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1276
    functionName: queryProcessGetRsmaRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - tDeserializeRsmaInfoRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessGetRsmaRsp(void* output, char* msg, int32_t msgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1280,1
    - Dst: tDeserializeGetStreamCreateSqlRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1285,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1292
    functionName: queryProcessGetStreamCreateSqlRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tstrerror
    - qError
    - tDeserializeGetStreamCreateSqlRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessGetStreamCreateSqlRsp(void* output, char* msg,
      int32_t msgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1296,1
    - Dst: tDeserializeSStreamProgressRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1300,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1305
    functionName: queryProcessStreamProgressRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - tDeserializeSStreamProgressRsp
    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:1309,1
    - Dst: tDeserializeSVSubTablesRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1314,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1321
    functionName: queryProcessVSubTablesRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - qError
    - tDeserializeSVSubTablesRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessVSubTablesRsp(void* output, char* msg, int32_t
      msgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1325,1
    - Dst: tDeserializeSVStbRefDbsRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1330,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1337
    functionName: queryProcessVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeSVStbRefDbsRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t queryProcessVStbRefDbsRsp(void* output, char* msg, int32_t
      msgSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1340,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1341,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1342,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1343,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1344,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1345,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1346,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1347,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1348,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1349,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1350,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1351,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1352,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1353,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1354,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1355,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1356,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1357,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1358,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1359,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1360,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1361,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1363,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1364,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1365,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1366,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1367,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1368,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1369,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1370,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1371,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1372,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1373,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1374,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1375,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1376,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1377,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1378,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1379,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1380,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1381,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1382,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1383,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1385
    functionName: initQueryModuleMsgHandle
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: 30
    functionsReached:
    - TMSG_INDEX
    linkageType: ''
    returnType: void
    signature: void initQueryModuleMsgHandle()
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - op
    argTypes:
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: getAsofJoinReverseOp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAsofJoinReverseOp(EOperatorType op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: tGetTbnameColumnSchema
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSchema
    signature: SSchema * tGetTbnameColumnSchema()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: hasDecimalBytesTypeInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasDecimalBytesTypeInfo(int32_t bytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:74,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:77,1
    - Dst: fillTypeFromTypeMod
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:79,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pSchema
    - typeMod
    - pType
    argTypes:
    - SSchema*
    - STypeMod
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: schemaToRefDataType
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 4
    functionsReached:
    - IS_DECIMAL_TYPE
    - extractDecimalTypeInfoFromBytes
    - memset
    - fillTypeFromTypeMod
    linkageType: ''
    returnType: void
    signature: void schemaToRefDataType(const SSchema* pSchema, STypeMod typeMod,
      SDataType* pType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:90,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - SDataType*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: isSameRefDataType
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: bool isSameRefDataType(const SDataType* pLeft, const SDataType* pRight)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pTableMeta
    - pColName
    argTypes:
    - STableMeta*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: getNormalColSchemaIndex
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t getNormalColSchemaIndex(const STableMeta* pTableMeta, const
      char* pColName)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:120,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:120,1
    - Dst: isValidDataType
      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: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:135,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:140,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:145,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:148,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:150,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:156,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:162,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:164,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:166,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:170,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:177,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:180,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 3
    argNames:
    - pSchema
    - numOfCols
    - maxLen
    argTypes:
    - SSchema*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 182
    functionName: doValidateSchema
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - qError
    - tSimpleHashPut
    - IS_STR_DATA_BLOB
    - tSimpleHashCleanup
    - isValidDataType
    - strnlen
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - tSimpleHashGet
    linkageType: ''
    returnType: bool
    signature: bool doValidateSchema(SSchema* pSchema, int32_t numOfCols, int32_t
      maxLen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:186,1
    - Dst: VALIDNUMOFCOLSVIRTUAL
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:190,1
    - Dst: VALIDNUMOFCOLS
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:190,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:191,1
    - Dst: VALIDNUMOFTAGS
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:195,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:196,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:202,1
    - Dst: doValidateSchema
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:206,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:207,1
    - Dst: doValidateSchema
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:211,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - pSchema
    - numOfCols
    - numOfTags
    - isVirtual
    argTypes:
    - struct SSchema*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 217
    functionName: tIsValidSchema
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 2
    functionsReached:
    - doValidateSchema
    - VALIDNUMOFCOLSVIRTUAL
    - qError
    - VALIDNUMOFTAGS
    - VALIDNUMOFCOLS
    linkageType: ''
    returnType: bool
    signature: bool tIsValidSchema(struct SSchema* pSchema, int32_t numOfCols, int32_t
      numOfTags, bool isVirtual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: beginAsyncWorkShutdown
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - atomic_val_compare_exchange_32
    linkageType: ''
    returnType: bool
    signature: bool beginAsyncWorkShutdown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: mayCreateAsyncWork
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 1
    functionsReached:
    - atomic_load_32
    linkageType: ''
    returnType: bool
    signature: bool mayCreateAsyncWork()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execFn
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:231,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pInfo
    - pSchedMsg
    argTypes:
    - SQueueInfo*
    - SSchedMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: processTaskQueue
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - execFn
    - taosFreeQitem
    linkageType: ''
    returnType: void
    signature: void processTaskQueue(SQueueInfo *pInfo, SSchedMsg *pSchedMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:236,1
    - Dst: tQueryAutoQWorkerInit
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:241,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:243,1
    - Dst: tQueryAutoQWorkerAllocQueue
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:247,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:249,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 255
    functionName: initTaskQueue
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 2
    functionsReached:
    - qError
    - tQueryAutoQWorkerAllocQueue
    - tQueryAutoQWorkerInit
    - qInfo
    - memset
    linkageType: ''
    returnType: int32_t
    signature: int32_t initTaskQueue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tQueryAutoQWorkerCleanup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: cleanupTaskQueue
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 2
    functionsReached:
    - tQueryAutoQWorkerCleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t cleanupTaskQueue()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mayCreateAsyncWork
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:264,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:268,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:277,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - execFn
    - execParam
    - code
    argTypes:
    - __async_exec_fn_t
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 283
    functionName: taosAsyncExec
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 6
    functionsReached:
    - taosAllocateQitem
    - taosWriteQitem
    - mayCreateAsyncWork
    - taosFreeQitem
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAsyncExec(__async_exec_fn_t execFn, void* execParam, int32_t*
      code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:287,1
    - Dst: wrokrerPool::pCb::beforeBlocking
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: taosAsyncWait
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - qError
    - wrokrerPool::pCb::beforeBlocking
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAsyncWait()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:295,1
    - Dst: wrokrerPool::pCb::afterRecoverFromBlocking
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: taosAsyncRecover
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - qError
    - wrokrerPool::pCb::afterRecoverFromBlocking
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAsyncRecover()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mayCreateAsyncWork
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:303,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:307,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:317,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - execFn
    - execParam
    argTypes:
    - __async_exec_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 323
    functionName: taosStmt2AsyncBind
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - taosAllocateQitem
    - taosWriteQitem
    - mayCreateAsyncWork
    - taosFreeQitem
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosStmt2AsyncBind(__async_exec_fn_t execFn, void* execParam)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:331,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:333,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:334,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pMsgBody
    argTypes:
    - SMsgSendInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 339
    functionName: destroySendMsgInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 6
    functionsReached:
    - qDebug
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destroySendMsgInfo(SMsgSendInfo* pMsgBody)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:345,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ahandle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: destroyAhandle
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 12
    functionsReached:
    - qDebug
    - destroySendMsgInfo
    linkageType: ''
    returnType: void
    signature: void destroyAhandle(void *ahandle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:354,1
    - Dst: mayCreateAsyncWork
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:358,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:359,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:363,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:365,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:365,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:366,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:370,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:371,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:381,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:382,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:382,1
    - Dst: rpcSendRequestWithCtx
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:385,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:387,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:389,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:389,1
    - Dst: TRACE_GET_ROOTID
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:389,1
    - Dst: TRACE_GET_MSGID
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - pTransporter
    - epSet
    - pTransporterId
    - pInfo
    - persistHandle
    - rpcCtx
    argTypes:
    - void*
    - SEpSet*
    - int64_t*
    - SMsgSendInfo*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 351
    functionDepth: 6
    functionLinenumber: 351
    functionLinenumberEnd: 392
    functionName: asyncSendMsgToServerExt
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 1
    functionsReached:
    - TMSG_INFO
    - TRACE_GET_ROOTID
    - rpcMallocCont
    - taosMemoryFreeClear
    - memcpy
    - TRACE_SET_MSGID
    - TRACE_GET_MSGID
    - qError
    - mayCreateAsyncWork
    - tGenIdPI64
    - qDebug
    - rpcSendRequestWithCtx
    - destroySendMsgInfo
    - TRACE_SET_ROOTID
    linkageType: ''
    returnType: int32_t
    signature: "int32_t asyncSendMsgToServerExt(void* pTransporter, SEpSet* epSet,
      int64_t* pTransporterId, SMsgSendInfo* pInfo,\n                                bool
      persistHandle, void* rpcCtx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asyncSendMsgToServerExt
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pTransporter
    - epSet
    - pTransporterId
    - pInfo
    argTypes:
    - void*
    - SEpSet*
    - int64_t*
    - SMsgSendInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 7
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: asyncSendMsgToServer
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 10
    functionsReached:
    - asyncSendMsgToServerExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t asyncSendMsgToServer(void* pTransporter, SEpSet* epSet, int64_t*
      pTransporterId, SMsgSendInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:399,1
    - Dst: rpcFreeConnById
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pTransporter
    - pid
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 5
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: asyncFreeConnById
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 4
    functionsReached:
    - rpcFreeConnById
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t asyncFreeConnById(void* pTransporter, int64_t pid)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - status
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 426
    functionName: jobTaskStatusStr
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * jobTaskStatusStr(int32_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:435,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - type
    - bytes
    - colId
    - name
    argTypes:
    - int8_t
    - int32_t
    - col_id_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: createSchema
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 4
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: SSchema
    signature: SSchema createSchema(int8_t type, int32_t bytes, col_id_t colId, const
      char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:441,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: freeSTableMetaRspPointer
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - tFreeSTableMetaRsp
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void freeSTableMetaRspPointer(void *p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:452,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:458,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:459,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:463,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:464,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:469,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:470,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - pRes
    argTypes:
    - SExecResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 476
    functionName: destroyQueryExecRes
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 1
    functionsReached:
    - tFreeSTableMetaRsp
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - qError
    - qDebug
    - tDestroySSubmitRsp2
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyQueryExecRes(SExecResult* pRes)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:479,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:480,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:485,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:489,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:493,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:497,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:501,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:506,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:510,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:510,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:514,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:514,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:524,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:528,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:531,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:542,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:553,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:561,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:565,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:569,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:573,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 6
    argNames:
    - str
    - capacity
    - type
    - buf
    - bufSize
    - len
    argTypes:
    - char*
    - int64_t
    - int
    - void*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 584
    functionName: dataConverToStr
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - taosUcs4ToMbs
    - memcpy
    - taosAscii2Hex
    - snprintf
    - taosMemoryFree
    - GET_DOUBLE_VAL
    - QUERY_PARAM_CHECK
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataConverToStr(char* str, int64_t capacity, int type, void*
      buf, int32_t bufSize, int32_t* len)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:588,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:594,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:598,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:603,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:608,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:613,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:617,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:621,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:627,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:631,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:633,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:635,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:638,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:639,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:644,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:652,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:657,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:661,1
    - Dst: cJSON_CreateBool
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:666,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:670,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:677,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:679,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:680,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:682,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:684,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 103
    argCount: 3
    argNames:
    - p
    - jsonStr
    - charsetCxt
    argTypes:
    - void*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 688
    functionName: parseTagDatatoJson
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 3
    functionsReached:
    - taosUcs4ToMbs
    - taosArrayGet
    - cJSON_CreateNull
    - qError
    - cJSON_CreateObject
    - cJSON_CreateString
    - taosArrayDestroy
    - cJSON_AddItemToObject
    - cJSON_CreateBool
    - cJSON_PrintUnformatted
    - tstrncpy
    - taosMemoryFree
    - taosArrayGetSize
    - cJSON_CreateNumber
    - cJSON_Delete
    - taosMemoryCalloc
    - taosStrdup
    - tTagToValArray
    linkageType: ''
    returnType: void
    signature: void parseTagDatatoJson(void* p, char** jsonStr, void* charsetCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:693,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:694,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:695,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - colRef
    - colId
    - colName
    - refColName
    - refTableName
    - refDbName
    argTypes:
    - SColRef*
    - col_id_t
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: setColRef
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t setColRef(SColRef* colRef, col_id_t colId, const char* colName,
      char* refColName, char* refTableName, char* refDbName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:705,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:714,1
    - Dst: TABLE_META_FULL_SIZE
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:718,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:719,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:723,1
    - Dst: tableMetaResetPointers
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STableMeta*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 727
    functionName: cloneTableMeta
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 4
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - qError
    - TABLE_META_FULL_SIZE
    - tableMetaResetPointers
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneTableMeta(STableMeta* pSrc, STableMeta** pDst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:733,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pMeta
    - pName
    - pType
    argTypes:
    - STableMeta*
    - char*
    - ETableColumnType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 740
    functionName: getColumnTypeFromMeta
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    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:747,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:748,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vgInfo
    argTypes:
    - SDBVgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 751
    functionName: freeVgInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 17
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void freeVgInfo(SDBVgInfo* vgInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:754,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:760,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:764,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:768,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:768,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:768,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:771,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:776,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:779,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:781,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:782,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:783,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:784,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:788,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDBVgInfo*
    - SDBVgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 793
    functionName: cloneDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 3
    functionsReached:
    - taosHashIterate
    - taosMemoryMalloc
    - memcpy
    - taosMemoryFreeClear
    - taosHashCancelIterate
    - freeVgInfo
    - qError
    - taosHashGetSize
    - taosHashGetKey
    - taosHashInit
    - QUERY_PARAM_CHECK
    - taosGetDefaultHashFunction
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneDbVgInfo(SDBVgInfo* pSrc, SDBVgInfo** pDst)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:796,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:802,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:809,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:817,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:824,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:830,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:835,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:837,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:843,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:845,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:852,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:853,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVCreateTbReq*
    - SVCreateTbReq**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 856
    functionName: cloneSVreateTbReq
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taosMemoryFree
    - QUERY_PARAM_CHECK
    - tdDestroySVCreateTbReq
    - taosArrayDup
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneSVreateTbReq(SVCreateTbReq* pSrc, SVCreateTbReq** pDst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:860,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 863
    functionName: freeDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 5
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeDbCfgInfo(SDbCfgInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 865
    functionName: getTaskPoolWorkerCb
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * getTaskPoolWorkerCb()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:875,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:877,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:878,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:879,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:880,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:883,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:884,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STagsInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 886
    functionName: destroySTagsInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - taosArrayGetSize
    - taosArrayDestroy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void destroySTagsInfo(STagsInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:894,1
    - Dst: destroySTagsInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 896
    functionName: qDestroyBoundColInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: 0
    functionsReached:
    - destroySTagsInfo
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void qDestroyBoundColInfo(void* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 20
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbUtilTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST(tdb_util_test, simple_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: openPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SPoolMem
    signature: SPoolMem *openPool()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:40,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: clearPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void clearPool(SPoolMem *pPool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:47,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: closePool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - clearPool
    linkageType: ''
    returnType: void
    signature: void closePool(SPoolMem *pPool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:56,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - arg
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: poolMalloc
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *poolMalloc(void *arg, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: poolFree
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void poolFree(void *arg, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:91,1
    - Dst: stoi
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: tKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - stoi
    linkageType: ''
    returnType: int
    signature: int tKeyCmpr(const void *pKey1, int kLen1, const void *pKey2, int kLen2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:107,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - pKey1
    - keyLen1
    - pKey2
    - keyLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tDefaultKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int tDefaultKeyCmpr(const void *pKey1, int keyLen1, const void *pKey2,
      int keyLen2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - val
    - valLen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: generateBigVal
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void generateBigVal(char *val, int valLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - envName
    - pageSize
    - pageNum
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: openEnv
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - tdbOpen
    linkageType: ''
    returnType: TDB
    signature: TDB *openEnv(char const *envName, int const pageSize, int const pageNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:155,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:160,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:161,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:167,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:168,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:171,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:176,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:182,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:187,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:187,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:188,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:191,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:192,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:194,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:197,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 201
    functionName: insertOfp
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - taosRemoveDir
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - closePool
    - tdbTbInsert
    - tdbTbClose
    - openEnv
    - openPool
    - generateBigVal
    - strlen
    - tdbClose
    linkageType: ''
    returnType: void
    signature: void insertOfp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertOfp
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - insertOfp
    linkageType: ''
    returnType: void
    signature: void TEST(TdbOVFLPagesTest, TbInsertTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertOfp
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:208,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:213,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:214,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:220,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:221,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:227,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:235,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:235,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:236,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:237,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:239,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:240,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:240,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:242,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:246,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 250
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - insertOfp
    - memcmp
    - tdbClose
    - tdbTbGet
    - ASSERT
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbTbOpen
    - tdbTbClose
    - openEnv
    - generateBigVal
    - strlen
    - tdbFree
    linkageType: ''
    returnType: void
    signature: void TEST(TdbOVFLPagesTest, TbGetTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:256,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:261,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:262,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:267,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:268,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:271,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:276,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:282,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:285,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:285,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:286,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:293,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:293,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:294,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:295,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:297,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:298,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:298,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:300,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:311,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:311,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:311,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:312,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:319,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:319,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:320,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:321,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:323,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:323,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:324,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:324,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:326,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:330,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:330,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:331,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:338,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:338,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:339,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:340,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:342,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:343,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:345,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:349,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:350,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:352,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:355,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 359
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - openEnv
    - openPool
    - tdbFree
    - tdbClose
    - ASSERT
    - taosRemoveDir
    - memcmp
    - tdbTbDelete
    - tdbTbGet
    - GTEST_ASSERT_NE
    - GTEST_ASSERT_EQ
    - tdbBegin
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbUpsert
    - tdbTbClose
    - closePool
    - generateBigVal
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(TdbOVFLPagesTest, TbDeleteTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:371,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:374,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:375,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:379,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:380,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:390,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:393,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:396,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:397,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:412,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:412,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:413,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:418,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:419,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:422,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:424,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:429,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:430,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:432,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:439,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:442,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:442,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:443,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:444,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:446,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:447,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:447,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:450,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:460,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:461,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:463,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:466,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:476,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:478,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:480,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:481,1
    - Dst: tdbTbDrop
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:485,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:486,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:489,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp:492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 493
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbExOVFLTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbTbcMoveToFirst
    - openPool
    - tdbFree
    - tdbTbcClose
    - tdbClose
    - tdbOpen
    - sprintf
    - ASSERT
    - taosRemoveDir
    - tdbTbcOpen
    - tdbTbDrop
    - memcmp
    - tdbTbGet
    - GTEST_ASSERT_EQ
    - tdbBegin
    - clearPool
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbcNext
    - tdbTbClose
    - closePool
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(tdb_test, simple_insert1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: openPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp
    functionUses: 3
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SPoolMem
    signature: SPoolMem *openPool()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:42,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: clearPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp
    functionUses: 2
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void clearPool(SPoolMem *pPool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:49,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: closePool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp
    functionUses: 3
    functionsReached:
    - taosMemoryFree
    - clearPool
    linkageType: ''
    returnType: void
    signature: void closePool(SPoolMem *pPool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:58,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - arg
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: poolMalloc
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *poolMalloc(void *arg, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: poolFree
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void poolFree(void *arg, void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:92,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - pKey1
    - keyLen1
    - pKey2
    - keyLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: tDefaultKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int tDefaultKeyCmpr(const void *pKey1, int keyLen1, const void *pKey2,
      int keyLen2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - envName
    - pageSize
    - pageNum
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: openEnv
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp
    functionUses: 3
    functionsReached:
    - tdbOpen
    linkageType: ''
    returnType: TDB
    signature: TDB *openEnv(char const *envName, int const pageSize, int const pageNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:141,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:144,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:145,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:150,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:151,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:156,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:160,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:168,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:169,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:170,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:174,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:175,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:179,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:180,1
    - Dst: tdbBtreeToStack
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:182,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:184,1
    - Dst: tdbBtreePopFreePage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:188,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:189,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:190,1
    - Dst: tdbBtreePopFreePage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:194,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:195,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:196,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:198,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:199,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:201,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:204,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 208
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPagerFetchPage
    - tdbPostCommit
    - tdbCommit
    - taosRemoveDir
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - tdbPagerWrite
    - tdbBtreePopFreePage
    - tdbTbInsert
    - closePool
    - openEnv
    - openPool
    - tdbTbClose
    - tdbClose
    - tdbPagerReturnPage
    - tdbBtreeToStack
    linkageType: ''
    returnType: void
    signature: void TEST(upgrade_test, upgrade_full)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:212,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:215,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:216,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:221,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:222,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:227,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:231,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:239,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:240,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:241,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:245,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:246,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:250,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:251,1
    - Dst: tdbBtreeToStack
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:253,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:255,1
    - Dst: tdbBtreePopFreePage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:258,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:259,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:260,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:268,1
    - Dst: tdbBtreePushFreePage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:269,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:270,1
    - Dst: tdbBtreePopFreePage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:275,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:276,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:277,1
    - Dst: tdbBtreePopFreePage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:280,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:281,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:282,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:284,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:285,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:287,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:290,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 294
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbPagerWrite
    - openEnv
    - openPool
    - tdbBtreeToStack
    - taosRemoveDir
    - tdbBtreePushFreePage
    - tdbPagerFetchPage
    - GTEST_ASSERT_NE
    - tdbPagerReturnPage
    - GTEST_ASSERT_EQ
    - tdbBegin
    - tdbBtreePopFreePage
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbClose
    - closePool
    - tdbClose
    linkageType: ''
    returnType: void
    signature: void TEST(upgrade_test, upgrade_rebalanced)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:298,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:301,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:302,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:307,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:308,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:313,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:317,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:325,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:326,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:327,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:331,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:332,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:336,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:337,1
    - Dst: tdbBtreeToStack
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:339,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:341,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:349,1
    - Dst: tdbBtreePushFreePage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:350,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:351,1
    - Dst: tdbBtreePopFreePage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:356,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:357,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:358,1
    - Dst: tdbBtreePopFreePage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:363,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:364,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:365,1
    - Dst: tdbBtreePopFreePage
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:369,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:370,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:371,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:373,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:374,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:376,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:379,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 383
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbBtreeToStackTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbPagerWrite
    - openEnv
    - openPool
    - tdbBtreeToStack
    - taosRemoveDir
    - tdbBtreePushFreePage
    - tdbPagerFetchPage
    - GTEST_ASSERT_NE
    - tdbPagerReturnPage
    - GTEST_ASSERT_EQ
    - tdbBegin
    - tdbBtreePopFreePage
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbClose
    - closePool
    - tdbClose
    linkageType: ''
    returnType: void
    signature: void TEST(upgrade_test, push_pop_after_upgrade)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: openPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 6
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SPoolMem
    signature: SPoolMem *openPool()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:55,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: clearPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 3
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void clearPool(SPoolMem *pPool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:62,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: closePool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 6
    functionsReached:
    - taosMemoryFree
    - clearPool
    linkageType: ''
    returnType: void
    signature: void closePool(SPoolMem *pPool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:71,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - arg
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: poolMalloc
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *poolMalloc(void *arg, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:97,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - arg
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 112
    functionName: poolMallocRestricted
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *poolMallocRestricted(void *arg, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: poolFree
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void poolFree(void *arg, void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:131,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - pKey1
    - keyLen1
    - pKey2
    - keyLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: tDefaultKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int tDefaultKeyCmpr(const void *pKey1, int keyLen1, const void *pKey2,
      int keyLen2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:152,1
    - Dst: stoi
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 162
    functionName: tKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - stoi
    linkageType: ''
    returnType: int
    signature: int tKeyCmpr(const void *pKey1, int kLen1, const void *pKey2, int kLen2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - envName
    - pageSize
    - pageNum
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: openEnv
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 6
    functionsReached:
    - tdbOpen
    linkageType: ''
    returnType: TDB
    signature: TDB *openEnv(char const *envName, int const pageSize, int const pageNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - db
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: clearDb
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - taosRemoveDir
    linkageType: ''
    returnType: void
    signature: void clearDb(char const *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - val
    - valLen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: generateBigVal
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void generateBigVal(char *val, int valLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:193,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:194,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:200,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:201,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:204,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:209,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:215,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:219,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:219,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:220,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:223,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:224,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:226,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:229,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 233
    functionName: insertOfp
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 2
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - closePool
    - tdbTbInsert
    - tdbTbClose
    - openPool
    - openEnv
    - generateBigVal
    - strlen
    - tdbClose
    linkageType: ''
    returnType: void
    signature: void insertOfp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:241,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:242,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:248,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:249,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:252,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:257,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:263,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:270,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:271,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:271,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:272,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:276,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:277,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:279,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:282,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 286
    functionName: insertMultipleOfp
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - sprintf
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - closePool
    - tdbTbInsert
    - tdbTbClose
    - openPool
    - openEnv
    - generateBigVal
    - strlen
    - tdbClose
    linkageType: ''
    returnType: void
    signature: void insertMultipleOfp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:290,1
    - Dst: insertMultipleOfp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - insertMultipleOfp
    - clearDb
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageFlushTest, TbRestoreTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:297,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:304,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:305,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:311,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:312,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:315,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:320,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:326,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:333,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:334,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:334,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:335,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:339,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:340,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:341,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:345,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:346,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:346,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:347,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:350,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:351,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:353,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:356,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 360
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - clearDb
    - sprintf
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - closePool
    - tdbTbInsert
    - tdbTbClose
    - openEnv
    - openPool
    - generateBigVal
    - strlen
    - tdbClose
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageFlushTest, TbRestoreTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:364,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:371,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:372,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:378,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:379,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:382,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:387,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:393,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:400,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:401,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:401,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:402,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:406,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:408,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:412,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:413,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:413,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:414,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:417,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:418,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:420,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:423,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 427
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbAbort
    - clearDb
    - sprintf
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - closePool
    - tdbTbInsert
    - tdbTbClose
    - openEnv
    - openPool
    - generateBigVal
    - strlen
    - tdbClose
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageFlushTest, TbRestoreTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:431,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:438,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:439,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:445,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:446,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:449,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:454,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:460,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:467,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:468,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:468,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:469,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:473,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:474,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:475,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:476,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:478,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:479,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:481,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:482,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:484,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:485,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:489,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:490,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:490,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:491,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:494,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:495,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:497,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:500,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 504
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbAbort
    - clearDb
    - sprintf
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - closePool
    - tdbTbInsert
    - tdbTbClose
    - openEnv
    - openPool
    - generateBigVal
    - strlen
    - tdbClose
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageFlushTest, TbRestoreTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:508,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:515,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:516,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:522,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:523,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:526,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:531,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:537,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:544,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:545,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:545,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:546,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:550,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:551,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:552,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:553,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:554,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:556,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:557,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:559,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:560,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:562,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:563,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:567,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:568,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:568,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:569,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:572,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:573,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:575,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:578,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 582
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageFlushTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - clearDb
    - sprintf
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - closePool
    - tdbTbInsert
    - tdbTbClose
    - openEnv
    - openPool
    - generateBigVal
    - strlen
    - tdbClose
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageFlushTest, TbRestoreTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: openPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 12
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SPoolMem
    signature: SPoolMem *openPool()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:40,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: clearPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 4
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void clearPool(SPoolMem *pPool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:47,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: closePool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 12
    functionsReached:
    - taosMemoryFree
    - clearPool
    linkageType: ''
    returnType: void
    signature: void closePool(SPoolMem *pPool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:56,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - arg
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: poolMalloc
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *poolMalloc(void *arg, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: poolFree
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void poolFree(void *arg, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:91,1
    - Dst: stoi
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: tKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - stoi
    linkageType: ''
    returnType: int
    signature: int tKeyCmpr(const void *pKey1, int kLen1, const void *pKey2, int kLen2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:107,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - pKey1
    - keyLen1
    - pKey2
    - keyLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tDefaultKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int tDefaultKeyCmpr(const void *pKey1, int keyLen1, const void *pKey2,
      int keyLen2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - envName
    - pageSize
    - pageNum
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: openEnv
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 12
    functionsReached:
    - tdbOpen
    linkageType: ''
    returnType: TDB
    signature: TDB *openEnv(char const *envName, int const pageSize, int const pageNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - val
    - valLen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: generateBigVal
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void generateBigVal(char *val, int valLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:150,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:151,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:157,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:158,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:161,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:166,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:172,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:177,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:177,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:178,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:181,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:182,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:184,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:187,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 191
    functionName: insertOfp
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 2
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - closePool
    - tdbTbInsert
    - tdbTbClose
    - openPool
    - openEnv
    - generateBigVal
    - strlen
    - tdbClose
    linkageType: ''
    returnType: void
    signature: void insertOfp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - db
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: clearDb
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 5
    functionsReached:
    - taosRemoveDir
    linkageType: ''
    returnType: void
    signature: void clearDb(char const *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:198,1
    - Dst: insertOfp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - insertOfp
    - clearDb
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, DISABLED_TbInsertTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:204,1
    - Dst: insertOfp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:205,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:210,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:211,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:217,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:218,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:224,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:232,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:232,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:233,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:234,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:236,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:237,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:237,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 241
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - insertOfp
    - clearDb
    - memcmp
    - tdbTbGet
    - ASSERT
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbTbOpen
    - openEnv
    - generateBigVal
    - strlen
    - tdbFree
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, DISABLED_TbGetTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:247,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:252,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:253,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:258,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:259,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:262,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:267,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:273,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:276,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:276,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:277,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:284,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:284,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:285,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:286,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:288,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:289,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:289,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:291,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:302,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:302,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:302,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:303,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:310,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:310,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:311,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:312,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:314,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:314,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:315,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:315,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:317,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:321,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:321,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:322,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:329,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:329,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:330,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:331,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:333,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:334,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:336,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:340,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 342
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - memcmp
    - tdbTbDelete
    - tdbTbGet
    - taosRemoveDir
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - ASSERT
    - tdbTbInsert
    - tdbTbUpsert
    - openEnv
    - openPool
    - generateBigVal
    - strlen
    - tdbFree
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, DISABLED_TbDeleteTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:354,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:357,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:358,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:362,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:363,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:373,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:376,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:379,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:380,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:395,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:395,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:396,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:401,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:402,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:405,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:407,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:412,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:413,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:420,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:423,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:423,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:424,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:425,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:427,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:428,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:428,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:431,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:441,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:442,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:444,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:447,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:457,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:459,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:461,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:462,1
    - Dst: tdbTbDrop
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:466,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:467,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:470,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:473,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 474
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbTbcMoveToFirst
    - openPool
    - tdbFree
    - tdbTbcClose
    - tdbClose
    - tdbOpen
    - sprintf
    - ASSERT
    - taosRemoveDir
    - tdbTbcOpen
    - tdbTbDrop
    - memcmp
    - tdbTbGet
    - GTEST_ASSERT_EQ
    - tdbBegin
    - clearPool
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbcNext
    - tdbTbClose
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, DISABLED_simple_insert1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:485,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:486,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:490,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:491,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:501,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:504,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:507,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:508,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:510,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:510,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:510,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:511,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:515,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:516,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:519,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:521,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:526,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:527,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:531,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:535,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:538,1
    - Dst: system
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - nData
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 541
    functionName: insertDb
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - sprintf
    - GTEST_ASSERT_EQ
    - tdbBegin
    - clearPool
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbClose
    - openPool
    - closePool
    - strlen
    - system
    - tdbClose
    - tdbOpen
    linkageType: ''
    returnType: void
    signature: void insertDb(int nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:552,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:553,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:557,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:558,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:568,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:571,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:576,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:577,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:580,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:580,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:581,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:586,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:587,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:590,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:592,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:597,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:598,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:600,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:604,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:607,1
    - Dst: system
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - nData
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 610
    functionName: deleteDb
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - sprintf
    - tdbTbDelete
    - GTEST_ASSERT_EQ
    - tdbBegin
    - clearPool
    - tdbTbOpen
    - tdbTbClose
    - openPool
    - closePool
    - strlen
    - system
    - tdbClose
    - tdbOpen
    linkageType: ''
    returnType: void
    signature: void deleteDb(int nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:616,1
    - Dst: insertDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - clearDb
    - insertDb
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, seq_insert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleteDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 621
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - deleteDb
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, seq_delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 624
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - insertDb
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, recycly_insert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:628,1
    - Dst: insertOfp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:629,1
    - Dst: system
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - insertOfp
    - clearDb
    - system
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, recycly_seq_insert_ofp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:638,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:639,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:644,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:645,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:648,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:653,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:657,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:657,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:658,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:662,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:663,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:665,1
    - Dst: tdbTbDrop
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:667,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:668,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:671,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 675
    functionName: deleteOfp
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbTbDrop
    - tdbTbDelete
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - closePool
    - tdbTbClose
    - openPool
    - openEnv
    - strlen
    - tdbClose
    linkageType: ''
    returnType: void
    signature: void deleteOfp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleteOfp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:679,1
    - Dst: system
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 681
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - deleteOfp
    - system
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, seq_delete_ofp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertOfp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:685,1
    - Dst: system
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - insertOfp
    - system
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, recycly_seq_insert_ofp_again)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clearDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:691,1
    - Dst: insertOfp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:692,1
    - Dst: system
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:693,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:699,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:700,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:705,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:706,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:709,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:714,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:718,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:718,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:719,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:730,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:731,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:733,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:733,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:733,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:734,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:738,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:739,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:742,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:744,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:750,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:751,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:753,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:756,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:759,1
    - Dst: system
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 762
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - openEnv
    - openPool
    - system
    - tdbClose
    - sprintf
    - insertOfp
    - tdbTbDelete
    - GTEST_ASSERT_NE
    - clearDb
    - GTEST_ASSERT_EQ
    - tdbBegin
    - clearPool
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbClose
    - closePool
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, recycly_seq_insert_ofp_nocommit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearDb
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:766,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:772,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:773,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:778,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:779,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:782,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:787,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:801,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:802,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:816,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:817,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:819,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:822,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:825,1
    - Dst: system
      Src: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 828
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageRecycleTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - clearDb
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - closePool
    - tdbTbInsert
    - tdbTbClose
    - openEnv
    - openPool
    - tdbClose
    - system
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageRecycleTest, recycly_delete_interior_ofp_nocommit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: openPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 20
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SPoolMem
    signature: SPoolMem *openPool()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:40,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: clearPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 9
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void clearPool(SPoolMem *pPool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:47,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: closePool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 18
    functionsReached:
    - taosMemoryFree
    - clearPool
    linkageType: ''
    returnType: void
    signature: void closePool(SPoolMem *pPool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:56,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - arg
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: poolMalloc
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *poolMalloc(void *arg, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: poolFree
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void poolFree(void *arg, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:91,1
    - Dst: stoi
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: tKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 0
    functionsReached:
    - stoi
    linkageType: ''
    returnType: int
    signature: int tKeyCmpr(const void *pKey1, int kLen1, const void *pKey2, int kLen2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:107,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - pKey1
    - keyLen1
    - pKey2
    - keyLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tDefaultKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int tDefaultKeyCmpr(const void *pKey1, int keyLen1, const void *pKey2,
      int keyLen2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:131,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:134,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:135,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:139,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:140,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:149,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:152,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:155,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:156,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:157,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:157,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:157,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:158,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:163,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:164,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:167,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:168,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:173,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:174,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:181,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:182,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:184,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:184,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:185,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:186,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:188,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:188,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:189,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:189,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:192,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:202,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:203,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:205,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:208,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:218,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:220,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:222,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:223,1
    - Dst: tdbTbDrop
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:227,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:228,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:231,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 235
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbTbcMoveToFirst
    - openPool
    - tdbFree
    - tdbTbcClose
    - tdbClose
    - tdbOpen
    - sprintf
    - ASSERT
    - taosRemoveDir
    - tdbTbcOpen
    - tdbTbDrop
    - memcmp
    - tdbTbGet
    - GTEST_ASSERT_EQ
    - tdbBegin
    - clearPool
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbcNext
    - tdbTbClose
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(tdb_test, DISABLED_simple_insert1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:245,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:248,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:249,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:253,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:254,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:262,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:265,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:268,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:269,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:270,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:270,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:270,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:271,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:281,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:282,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:284,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:287,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:297,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:299,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:301,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:302,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:307,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:308,1
    - Dst: tdbTbDrop
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:310,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:311,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:314,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 318
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbTbcMoveToFirst
    - openPool
    - tdbFree
    - tdbTbcClose
    - tdbClose
    - tdbOpen
    - sprintf
    - taosRemoveDir
    - tdbTbcOpen
    - tdbTbDrop
    - GTEST_ASSERT_EQ
    - tdbBegin
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbcNext
    - tdbTbClose
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(tdb_test, DISABLED_simple_insert2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:335,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:337,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:340,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:341,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:344,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:345,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:347,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:351,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:352,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:353,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:353,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:353,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:354,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:359,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:360,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:362,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:362,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:363,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:364,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:364,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:369,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:371,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:371,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:372,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:377,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:379,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:379,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:381,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:383,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:388,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:390,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:391,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:396,1
    - Dst: write
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:399,1
    - Dst: write
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:400,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:404,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:406,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:407,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:409,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:411,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 413
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbTbcMoveToFirst
    - openPool
    - tdbTbcClose
    - tdbClose
    - tdbOpen
    - sprintf
    - taosRemoveDir
    - tdbTbcOpen
    - memcmp
    - tdbTbDelete
    - tdbTbGet
    - write
    - GTEST_ASSERT_EQ
    - tdbBegin
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbcNext
    - tdbTbClose
    - closePool
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(tdb_test, DISABLED_simple_delete1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:426,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:429,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:430,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:433,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:434,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:436,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:438,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:441,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:442,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:443,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:443,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:443,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:444,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:449,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:450,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:451,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:451,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:452,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:453,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:453,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:458,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:459,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:460,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:460,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:460,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:461,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:464,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:465,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:469,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:470,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:471,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:471,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:472,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:473,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:473,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:476,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 478
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - memcmp
    - sprintf
    - tdbTbGet
    - taosRemoveDir
    - GTEST_ASSERT_EQ
    - tdbBegin
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbUpsert
    - openPool
    - tdbTbClose
    - strlen
    - tdbClose
    - tdbOpen
    linkageType: ''
    returnType: void
    signature: void TEST(tdb_test, DISABLED_simple_upsert1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:487,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:492,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:493,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:496,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:497,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:500,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:501,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:503,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:506,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:508,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:508,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:509,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:511,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:512,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:515,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 517
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tdbPostCommit
    - tdbCommit
    - taosRemoveDir
    - GTEST_ASSERT_EQ
    - tdbBegin
    - tdbTbOpen
    - memset
    - tdbTbClose
    - tdbTbUpsert
    - openPool
    - strlen
    - tdbClose
    - tdbOpen
    linkageType: ''
    returnType: void
    signature: void TEST(tdb_test, simple_upsert2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:527,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:530,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:531,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:535,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:536,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:544,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:547,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:550,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:551,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:552,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:552,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:552,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:553,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:565,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:572,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:573,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:575,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:578,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:588,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:590,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:592,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:593,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:603,1
    - Dst: std::thread
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:603,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:605,1
    - Dst: std::thread
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:605,1
    - Dst: join
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:610,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:614,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:615,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:618,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:621,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 622
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbTbcMoveToFirst
    - openPool
    - tdbFree
    - tdbTbcClose
    - tdbClose
    - tdbOpen
    - join
    - sprintf
    - taosRemoveDir
    - std::vector::push_back
    - tdbTbcOpen
    - std::thread
    - GTEST_ASSERT_EQ
    - tdbBegin
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbcNext
    - tdbTbClose
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(tdb_test, multi_thread_query)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:635,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:638,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:639,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:641,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:642,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:648,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:650,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:652,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:653,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:657,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:657,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:657,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:659,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:663,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:664,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:666,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:667,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:671,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:672,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:674,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:687,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:697,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:702,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:703,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:705,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:708,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:715,1
    - Dst: usleep
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:718,1
    - Dst: closePool
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:721,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:722,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:723,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:731,1
    - Dst: std::thread
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:731,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:733,1
    - Dst: std::thread
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:733,1
    - Dst: join
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:738,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:742,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbTest.cpp:745,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 747
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbTbcMoveToFirst
    - openPool
    - tdbFree
    - tdbTbcClose
    - tdbClose
    - tdbOpen
    - join
    - sprintf
    - taosRemoveDir
    - std::vector::push_back
    - tdbTbcOpen
    - std::thread
    - usleep
    - GTEST_ASSERT_EQ
    - tdbBegin
    - clearPool
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbcNext
    - tdbTbClose
    - closePool
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(tdb_test, DISABLED_multi_thread1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: openPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 27
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SPoolMem
    signature: SPoolMem *openPool()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:40,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: clearPool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 12
    functionsReached:
    - TD_ALWAYS_ASSERT
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void clearPool(SPoolMem *pPool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:47,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SPoolMem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: closePool
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 20
    functionsReached:
    - taosMemoryFree
    - clearPool
    linkageType: ''
    returnType: void
    signature: void closePool(SPoolMem *pPool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:56,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - arg
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: poolMalloc
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *poolMalloc(void *arg, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: poolFree
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void poolFree(void *arg, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:91,1
    - Dst: stoi
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: tKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 0
    functionsReached:
    - stoi
    linkageType: ''
    returnType: int
    signature: int tKeyCmpr(const void *pKey1, int kLen1, const void *pKey2, int kLen2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:107,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - pKey1
    - keyLen1
    - pKey2
    - keyLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: tDefaultKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT
    linkageType: ''
    returnType: int
    signature: int tDefaultKeyCmpr(const void *pKey1, int keyLen1, const void *pKey2,
      int keyLen2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - val
    - valLen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: generateBigVal
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void generateBigVal(char *val, int valLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - envName
    - pageSize
    - pageNum
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: openEnv
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 18
    functionsReached:
    - tdbOpen
    linkageType: ''
    returnType: TDB
    signature: TDB *openEnv(char const *envName, int const pageSize, int const pageNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:155,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:160,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:161,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:167,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:168,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:171,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:176,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:182,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:187,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:187,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:188,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:191,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 193
    functionName: insertOfp
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 7
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - taosRemoveDir
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - tdbTbInsert
    - openEnv
    - openPool
    - generateBigVal
    - strlen
    linkageType: ''
    returnType: void
    signature: void insertOfp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertOfp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 0
    functionsReached:
    - insertOfp
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageDefragmentTest, DISABLED_TbInsertTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insertOfp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:203,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:208,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:209,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:215,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:216,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:222,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:230,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:230,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:231,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:232,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:234,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:235,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:235,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 239
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 0
    functionsReached:
    - insertOfp
    - memcmp
    - tdbTbGet
    - ASSERT
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbTbOpen
    - openEnv
    - generateBigVal
    - strlen
    - tdbFree
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageDefragmentTest, DISABLED_TbGetTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:245,1
    - Dst: openEnv
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:250,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:251,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:256,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:257,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:260,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:265,1
    - Dst: generateBigVal
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:271,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:274,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:274,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:275,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:282,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:282,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:283,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:284,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:286,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:287,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:287,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:289,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:300,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:300,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:300,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:301,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:308,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:308,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:309,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:310,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:312,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:312,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:313,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:313,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:315,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:319,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:319,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:320,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:327,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:327,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:328,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:329,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:331,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:332,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:334,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:338,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 340
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - memcmp
    - tdbTbDelete
    - tdbTbGet
    - taosRemoveDir
    - GTEST_ASSERT_EQ
    - GTEST_ASSERT_NE
    - tdbBegin
    - tdbTbOpen
    - ASSERT
    - tdbTbInsert
    - tdbTbUpsert
    - openEnv
    - openPool
    - generateBigVal
    - strlen
    - tdbFree
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageDefragmentTest, DISABLED_TbDeleteTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:352,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:355,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:356,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:360,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:361,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:371,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:374,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:377,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:378,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:393,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:393,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:394,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:399,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:400,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:403,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:405,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:410,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:411,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:418,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:421,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:421,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:422,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:423,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:425,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:426,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:426,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:429,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:439,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:440,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:442,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:445,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:455,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:457,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:459,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:460,1
    - Dst: tdbTbDrop
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:464,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:465,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:468,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:471,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 472
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbTbcMoveToFirst
    - openPool
    - tdbFree
    - tdbTbcClose
    - tdbClose
    - tdbOpen
    - sprintf
    - ASSERT
    - taosRemoveDir
    - tdbTbcOpen
    - tdbTbDrop
    - memcmp
    - tdbTbGet
    - GTEST_ASSERT_EQ
    - tdbBegin
    - clearPool
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbcNext
    - tdbTbClose
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageDefragmentTest, DISABLED_simple_insert1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:484,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:487,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:488,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:492,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:493,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:504,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:507,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:510,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:511,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:513,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:513,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:513,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:514,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:532,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:533,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:536,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:538,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:543,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:544,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:550,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 554
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - sprintf
    - taosRemoveDir
    - GTEST_ASSERT_EQ
    - tdbBegin
    - clearPool
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbClose
    - openPool
    - strlen
    - tdbClose
    - tdbOpen
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageDefragmentTest, seq_insert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:567,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:568,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:572,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:573,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:584,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:587,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:592,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:593,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:596,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:596,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:597,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:617,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:618,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:621,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:623,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:628,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:629,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:633,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 637
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - sprintf
    - tdbTbDelete
    - GTEST_ASSERT_EQ
    - tdbBegin
    - clearPool
    - tdbTbOpen
    - tdbTbClose
    - openPool
    - strlen
    - tdbClose
    - tdbOpen
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageDefragmentTest, seq_delete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:650,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:651,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:655,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:656,1
    - Dst: openPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:667,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:670,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:674,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:675,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:677,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:677,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:677,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:678,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:696,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:697,1
    - Dst: clearPool
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:700,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:702,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:707,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:708,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:714,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 718
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tdb/test/tdbPageDefragmentTest.cpp
    functionUses: 0
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - sprintf
    - GTEST_ASSERT_EQ
    - tdbBegin
    - clearPool
    - tdbTbOpen
    - tdbTbInsert
    - tdbTbClose
    - openPool
    - strlen
    - tdbClose
    - tdbOpen
    linkageType: ''
    returnType: void
    signature: void TEST(TdbPageDefragmentTest, defragment_insert)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pTxn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: tdbTxnClose
    functionSourceFile: /src/tdengine/source/libs/tdb/inc/tdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbTxnClose(pTxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: tdbFreeClear
    functionSourceFile: /src/tdengine/source/libs/tdb/inc/tdb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbFreeClear(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: TDB_ROUND8
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_ROUND8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: tdbDefaultMalloc
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h
    functionUses: 0
    functionsReached:
    - tdbOsMalloc
    linkageType: ''
    returnType: void
    signature: void *tdbDefaultMalloc(void *arg, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: tdbDefaultFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h
    functionUses: 0
    functionsReached:
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: void tdbDefaultFree(void *arg, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: tdbPutVarInt
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tdbPutVarInt(u8 *p, int v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - u8*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: tdbGetVarInt
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tdbGetVarInt(const u8 *p, int *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h:80,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: tdbCstringHash
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h
    functionUses: 0
    functionsReached:
    - strlen
    - MurmurHash3_32
    linkageType: ''
    returnType: u32
    signature: u32 tdbCstringHash(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: TDB_GET_U24
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_GET_U24(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: TDB_PUT_U24
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PUT_U24(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: TDB_IS_PGSIZE_VLD
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_IS_PGSIZE_VLD(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flags
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: TDB_FLAG_IS
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_FLAG_IS(flags, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flags
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: TDB_FLAG_HAS
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_FLAG_HAS(flags, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flags
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: TDB_FLAG_NO
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_FLAG_NO(flags, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flags
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: TDB_FLAG_ADD
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_FLAG_ADD(flags, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flags
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: TDB_FLAG_REMOVE
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_FLAG_REMOVE(flags, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PTXN
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: TDB_TXN_IS_WRITE
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_TXN_IS_WRITE(PTXN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PTXN
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: TDB_TXN_IS_READ
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_TXN_IS_READ(PTXN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PTXN
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: TDB_TXN_IS_READ_UNCOMMITTED
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_TXN_IS_READ_UNCOMMITTED(PTXN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pCellDecoder
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: TDB_CELLDECODER_SET_FREE_NIL
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_CELLDECODER_SET_FREE_NIL(pCellDecoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pCellDecoder
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: TDB_CELLDECODER_CLZ_FREE_KEY
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_CELLDECODER_CLZ_FREE_KEY(pCellDecoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pCellDecoder
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: TDB_CELLDECODER_CLZ_FREE_VAL
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_CELLDECODER_CLZ_FREE_VAL(pCellDecoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pCellDecoder
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: TDB_CELLDECODER_SET_FREE_KEY
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_CELLDECODER_SET_FREE_KEY(pCellDecoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pCellDecoder
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: TDB_CELLDECODER_SET_FREE_VAL
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_CELLDECODER_SET_FREE_VAL(pCellDecoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pCellDecoder
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: TDB_CELLDECODER_FREE_KEY
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_CELLDECODER_FREE_KEY(pCellDecoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pCellDecoder
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: TDB_CELLDECODER_FREE_VAL
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_CELLDECODER_FREE_VAL(pCellDecoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: tdbRefPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached:
    - atomic_add_fetch_32
    linkageType: ''
    returnType: i32
    signature: i32 tdbRefPage(SPage *pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: tdbUnrefPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached:
    - atomic_sub_fetch_32
    linkageType: ''
    returnType: i32
    signature: i32 tdbUnrefPage(SPage *pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: tdbGetPageRef
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbGetPageRef(pPage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbSpinlockTrylock
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pLock
    argTypes:
    - tdb_spinlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: tdbTryLockPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached:
    - tdbSpinlockTrylock
    linkageType: ''
    returnType: int
    signature: int tdbTryLockPage(tdb_spinlock_t *pLock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: TDB_INIT_PAGE_LOCK
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_INIT_PAGE_LOCK(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: TDB_DESTROY_PAGE_LOCK
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_DESTROY_PAGE_LOCK(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: TDB_LOCK_PAGE
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_LOCK_PAGE(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: TDB_UNLOCK_PAGE
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_UNLOCK_PAGE(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: TDB_TRY_LOCK_PAGE
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_TRY_LOCK_PAGE(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: TDB_PAGE_TOTAL_CELLS
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_TOTAL_CELLS(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: TDB_PAGE_USABLE_SIZE
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_USABLE_SIZE(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: TDB_PAGE_FREE_SIZE
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_FREE_SIZE(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: TDB_PAGE_PGNO
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_PGNO(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pPage
    - ','
    - pCell
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: TDB_BYTES_CELL_TAKEN
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_BYTES_CELL_TAKEN(pPage, pCell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: TDB_PAGE_OFFSET_SIZE
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_OFFSET_SIZE(pPage)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h:352,1
    - Dst: SPage*::pPageMethods::getCellOffset
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pPage
    - idx
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 371
    functionName: tdbPageGetCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: 0
    functionsReached:
    - SPage*::pPageMethods::getCellOffset
    - TDB_PAGE_TOTAL_CELLS
    linkageType: ''
    returnType: SCell
    signature: SCell *tdbPageGetCell(SPage *pPage, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: tdbFatal
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: tdbError
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: tdbWarn
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: tdbInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: tdbDebug
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: tdbTrace
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: TDB_FD_INVALID
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_FD_INVALID(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - PATH
    - ','
    - OPTION
    - ','
    - MODE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: tdbOsOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbOsOpen(PATH, OPTION, MODE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: tdbOsClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbOsClose(FD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FD
    - ','
    - PSIZE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: tdbOsFileSize
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbOsFileSize(FD, PSIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - PATH
    - ','
    - OPTION
    - ','
    - MODE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: tdbOsOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbOsOpen(PATH, OPTION, MODE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: tdbOsClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbOs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tdbOsClose(FD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: tdbRealloc
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c
    functionUses: 0
    functionsReached:
    - tdbOsRealloc
    linkageType: ''
    returnType: void
    signature: void *tdbRealloc(void *ptr, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: tdbFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c
    functionUses: 13
    functionsReached:
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: void tdbFree(void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosDevInoFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:41,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:46,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - fileid
    - unique
    argTypes:
    - tdb_fd_t
    - uint8_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: tdbGnrtFileID
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c
    functionUses: 0
    functionsReached:
    - taosDevInoFile
    - memset
    - taosRand
    linkageType: ''
    returnType: int
    signature: int tdbGnrtFileID(tdb_fd_t fd, uint8_t *fileid, bool unique)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFileSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:61,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - szPage
    - size
    argTypes:
    - tdb_fd_t
    - int
    - SPgno*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: tdbGetFileSize
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c
    functionUses: 0
    functionsReached:
    - tdbOsFileSize
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int
    signature: int tdbGetFileSize(tdb_fd_t fd, int szPage, SPgno *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:71,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:73,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ppDir
    argTypes:
    - TdDirPtr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: tdbCloseDir
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c
    functionUses: 0
    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:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - pTxn
    - txnid
    - (*xMalloc)(void *, size_t)
    - xArg
    - flags
    argTypes:
    - TXN*
    - int64_t
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: tdbTxnOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c
    functionUses: 0
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: int
    signature: "int tdbTxnOpen(TXN *pTxn, int64_t txnid, void *(*xMalloc)(void *,
      size_t), void (*xFree)(void *, void *), void *xArg,\n               int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hashset_destroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c:37,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c:42,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c:44,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTxn
    argTypes:
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: tdbTxnCloseImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c
    functionUses: 0
    functionsReached:
    - hashset_destroy
    - tdbError
    - tdbOsFree
    - tdbOsClose
    linkageType: ''
    returnType: void
    signature: void tdbTxnCloseImpl(TXN *pTxn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:32,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:39,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: hashset_create
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbOsFree
    - tdbOsCalloc
    linkageType: ''
    returnType: hashset_t
    signature: hashset_t hashset_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:55,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - set
    argTypes:
    - hashset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: hashset_destroy
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 1
    functionsReached:
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: void hashset_destroy(hashset_t set)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - set
    - item
    argTypes:
    - hashset_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: hashset_add_member
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hashset_add_member(hashset_t set, void *item)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hashset_add_member
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:84,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:98,1
    - Dst: hashset_add_member
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:109,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:111,1
    - Dst: hashset_add_member
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - set
    - item
    argTypes:
    - hashset_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 119
    functionName: hashset_add
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbOsCalloc
    - tdbOsFree
    - hashset_add_member
    linkageType: ''
    returnType: int
    signature: int hashset_add(hashset_t set, void *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashset_add_member
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - set
    - item
    argTypes:
    - hashset_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 142
    functionName: hashset_remove
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - hashset_add_member
    linkageType: ''
    returnType: int
    signature: int hashset_remove(hashset_t set, void *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - set
    - item
    argTypes:
    - hashset_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: hashset_contains
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hashset_contains(hashset_t set, void *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: TDB_PAGE_INITIALIZED
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_INITIALIZED(pPage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:167,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - SRBTreeNode*
    - SRBTreeNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: pageCmpFn
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE pageCmpFn(const SRBTreeNode *lhs, const SRBTreeNode *rhs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:188,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:192,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:201,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:206,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:207,1
    - Dst: tdbOsOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:212,1
    - Dst: TDB_FD_INVALID
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:213,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:215,1
    - Dst: tdbGnrtFileID
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:219,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:222,1
    - Dst: tdbWarn
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:223,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:223,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:225,1
    - Dst: tdbPCacheGetPageSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:230,1
    - Dst: tdbGetFileSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:232,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:235,1
    - Dst: tdbWarn
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:236,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:238,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:243,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 3
    argNames:
    - pCache
    - fileName
    - ppPager
    argTypes:
    - SPCache*
    - char*
    - SPager**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 248
    functionName: tdbPagerOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tRBTreeCreate
    - tdbOsOpen
    - memcpy
    - tdbTrace
    - tdbOsFree
    - tdbPCacheGetPageSize
    - tdbOsCalloc
    - tdbGnrtFileID
    - tdbOsClose
    - tstrerror
    - strlen
    - tdbWarn
    - TDB_FD_INVALID
    - tdbGetFileSize
    linkageType: ''
    returnType: int
    signature: int tdbPagerOpen(SPCache *pCache, const char *fileName, SPager **ppPager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:252,1
    - Dst: tdbWarn
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:254,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:254,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pPager
    argTypes:
    - SPager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: tdbPagerClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbWarn
    - tdbOsFree
    - tdbOsClose
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void tdbPagerClose(SPager *pPager)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbRefPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:268,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:269,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:269,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:274,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:274,1
    - Dst: tRBTreePut
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:275,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:278,1
    - Dst: hashset_contains
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:280,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:280,1
    - Dst: tdbPagerWritePageToJournal
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:281,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:283,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:283,1
    - Dst: hashset_add
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:288,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pPager
    - pPage
    argTypes:
    - SPager*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 293
    functionName: tdbPagerWrite
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 3
    functionsReached:
    - tdbError
    - tdbPagerWritePageToJournal
    - tdbTrace
    - hashset_contains
    - tRBTreePut
    - tstrerror
    - tdbRefPage
    - TDB_PAGE_PGNO
    - hashset_add
    linkageType: ''
    returnType: int
    signature: int tdbPagerWrite(SPager *pPager, SPage *pPage)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:298,1
    - Dst: tdbOsOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:299,1
    - Dst: TDB_FD_INVALID
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:300,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:301,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:301,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:302,1
    - Dst: hashset_create
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:305,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:308,1
    - Dst: tdbWarn
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:309,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:309,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:311,1
    - Dst: tdbWarn
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:312,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:312,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 326
    functionName: tdbPagerBegin
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbOsOpen
    - tdbError
    - TAOS_SYSTEM_ERROR
    - hashset_create
    - tdbDebug
    - strerror
    - snprintf
    - tdbOsRemove
    - tdbOsClose
    - tstrerror
    - tdbWarn
    - TDB_FD_INVALID
    linkageType: ''
    returnType: int
    signature: int tdbPagerBegin(SPager *pPager, TXN *pTxn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:349,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:351,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:351,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:352,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:356,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:358,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:362,1
    - Dst: tdbPagerPWritePageToDB
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:366,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:368,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:368,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:373,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:378,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:379,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:384,1
    - Dst: hashset_remove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:386,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:386,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:389,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:389,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:391,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:394,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:395,1
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:398,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:399,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:399,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:400,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 404
    functionName: tdbPagerCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbError
    - TAOS_SYSTEM_ERROR
    - tRBTreeIterNext
    - tRBTreeIterCreate
    - tdbTrace
    - tdbDebug
    - strerror
    - hashset_remove
    - tdbPagerPWritePageToDB
    - tdbPCacheRelease
    - tdbOsFSync
    - tstrerror
    - tRBTreeCreate
    - TDB_PAGE_PGNO
    - tRBTreeDrop
    linkageType: ''
    returnType: int
    signature: int tdbPagerCommit(SPager *pPager, TXN *pTxn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:408,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:411,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:412,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:412,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:413,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:416,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:417,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:417,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:418,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 426
    functionName: tdbPagerPostCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tdbError
    - tdbDebug
    - strerror
    - snprintf
    - tdbOsRemove
    - tdbOsClose
    linkageType: ''
    returnType: int
    signature: int tdbPagerPostCommit(SPager *pPager, TXN *pTxn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:434,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:436,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:436,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:437,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:441,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:443,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:447,1
    - Dst: tdbPagerPWritePageToDB
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:451,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:453,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:453,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:458,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:463,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:464,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:469,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:470,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 474
    functionName: tdbPagerPrepareAsyncCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbError
    - TAOS_SYSTEM_ERROR
    - tRBTreeIterNext
    - tRBTreeIterCreate
    - tdbTrace
    - strerror
    - tdbPagerPWritePageToDB
    - tdbPCacheRelease
    - tdbOsFSync
    - tstrerror
    - TDB_PAGE_PGNO
    - tRBTreeDrop
    linkageType: ''
    returnType: int
    signature: int tdbPagerPrepareAsyncCommit(SPager *pPager, TXN *pTxn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:482,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:499,1
    - Dst: CBC_Encrypt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:501,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:503,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - pPager
    - pPageData
    - pageSize
    - function
    - offset
    argTypes:
    - SPager*
    - char*
    - int32_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 513
    functionName: tdbEncryptPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taosMemoryFreeClear
    - CBC_Encrypt
    - tstrncpy
    linkageType: ''
    returnType: char
    signature: char *tdbEncryptPage(SPager *pPager, char *pPageData, int32_t pageSize,
      const char *function, int64_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pPager
    - buf
    argTypes:
    - SPager*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: tdbFreeEncryptBuf
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tdbFreeEncryptBuf(SPager *pPager, char *buf)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:532,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:534,1
    - Dst: strerror
      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:535,1
    - Dst: tdbGetFileSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:540,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:545,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:546,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:546,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:547,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:550,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:555,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:561,1
    - Dst: tdbOsFree
      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:564,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:567,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:571,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:572,1
    - Dst: tdbPCacheInvalidatePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:576,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:578,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:580,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:581,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:585,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:586,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:586,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:587,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:588,1
    - Dst: tdbEncryptPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:591,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:593,1
    - Dst: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:597,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:599,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:599,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:601,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:602,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:603,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:606,1
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:609,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:610,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:610,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:611,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:612,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:615,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:618,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:620,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:622,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:624,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:628,1
    - Dst: hashset_remove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:630,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:630,1
    - Dst: tdbPCacheMarkFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:632,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:633,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:636,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:637,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:640,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:641,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:641,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:642,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:646,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:648,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:649,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:649,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:650,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 656
    functionName: tdbPagerAbort
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbError
    - tRBTreeIterNext
    - tdbOsWrite
    - tRBTreeIterCreate
    - tdbDebug
    - strerror
    - tdbEncryptPage
    - snprintf
    - TDB_PAGE_PGNO
    - TAOS_SYSTEM_ERROR
    - tdbOsLSeek
    - tdbOsCalloc
    - tdbOsRemove
    - tdbOsClose
    - tdbTrace
    - tdbOsFSync
    - tdbOsRead
    - tdbGetFileSize
    - tRBTreeDrop
    - tdbOsFree
    - hashset_remove
    - tdbFreeEncryptBuf
    - tdbPCacheRelease
    - tdbPCacheMarkFree
    - tdbPCacheInvalidatePage
    - tRBTreeCreate
    linkageType: ''
    returnType: int
    signature: int tdbPagerAbort(SPager *pPager, TXN *pTxn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:665,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:667,1
    - Dst: tdbGetPageRef
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:669,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:676,1
    - Dst: tdbPagerPWritePageToDB
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:680,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:682,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:682,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:686,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:691,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:691,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:692,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:693,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - pPager
    - pTxn
    - flushed
    argTypes:
    - SPager*
    - TXN*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 721
    functionName: tdbPagerFlushPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tRBTreeIterNext
    - tdbError
    - tRBTreeIterCreate
    - tdbTrace
    - tdbDebug
    - tdbPagerPWritePageToDB
    - tdbPCacheRelease
    - tdbGetPageRef
    - tstrerror
    - TDB_PAGE_PGNO
    - tRBTreeDrop
    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:740,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:742,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:748,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:753,1
    - Dst: tdbPCacheFetch
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:755,1
    - Dst: tdbPagerFlushPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:757,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:759,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:764,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:766,1
    - Dst: tdbPagerInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:767,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:769,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:770,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:775,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:776,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:777,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:781,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:782,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 5
    argNames:
    - pPager
    - ppgno
    - ppPage
    - arg
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - SPage**
    - void*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 789
    functionName: tdbPagerFetchPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 3
    functionsReached:
    - tdbError
    - memcpy
    - tdbPagerAllocPage
    - tdbTrace
    - tdbPCacheFetch
    - tdbPagerInitPage
    - tdbPCacheRelease
    - TDB_PAGE_INITIALIZED
    - tdbPagerFlushPage
    linkageType: ''
    returnType: int
    signature: "int tdbPagerFetchPage(SPager *pPager, SPgno *ppgno, SPage **ppPage,
      int (*initPage)(SPage *, void *, int), void *arg,\n                      TXN
      *pTxn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pPager
    - pPage
    - pTxn
    argTypes:
    - SPager*
    - SPage*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 793
    functionName: tdbPagerReturnPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 3
    functionsReached:
    - tdbPCacheRelease
    linkageType: ''
    returnType: void
    signature: void tdbPagerReturnPage(SPager *pPager, SPage *pPage, TXN *pTxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pPage
    - arg
    - init
    argTypes:
    - SPage*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 798
    functionName: initFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int initFreePage(SPage *pPage, void *arg, int init)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:813,1
    - Dst: tdbPCacheFetch
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:816,1
    - Dst: tdbPagerFlushPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:818,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:820,1
    - Dst: tdbPagerInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:826,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:828,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - pPager
    - pgno
    - ppPage
    - pTxn
    argTypes:
    - SPager*
    - SPgno
    - SPage**
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 837
    functionName: tdbPagerFetchFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbError
    - memcpy
    - tdbPCacheFetch
    - tdbPagerInitPage
    - tdbPCacheRelease
    - tdbPagerFlushPage
    linkageType: ''
    returnType: int
    signature: int tdbPagerFetchFreePage(SPager *pPager, SPgno pgno, SPage **ppPage,
      TXN *pTxn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:842,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:843,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:845,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:845,1
    - Dst: tdbTbPushFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:846,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pPager
    - pPage
    - pTxn
    argTypes:
    - SPager*
    - SPage*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 854
    functionName: tdbPagerInsertFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbError
    - tdbTrace
    - tdbTbPushFreePage
    - ASSERT_CORE
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: int
    signature: int tdbPagerInsertFreePage(SPager *pPager, SPage *pPage, TXN *pTxn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbPopFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:864,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pPager
    - pPgno
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 870
    functionName: tdbPagerRemoveFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbError
    - tdbTbPopFreePage
    linkageType: ''
    returnType: int
    signature: int tdbPagerRemoveFreePage(SPager *pPager, SPgno *pPgno, TXN *pTxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerRemoveFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pPager
    - ppgno
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 875
    functionName: tdbPagerAllocFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbPagerRemoveFreePage
    linkageType: ''
    returnType: int
    signature: int tdbPagerAllocFreePage(SPager *pPager, SPgno *ppgno, TXN *pTxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pPager
    - ppgno
    argTypes:
    - SPager*
    - SPgno*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 881
    functionName: tdbPagerAllocNewPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tdbPagerAllocNewPage(SPager *pPager, SPgno *ppgno)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerAllocFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:889,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:894,1
    - Dst: tdbPagerAllocNewPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:898,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pPager
    - ppgno
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 883
    functionDepth: 3
    functionLinenumber: 883
    functionLinenumberEnd: 908
    functionName: tdbPagerAllocPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 1
    functionsReached:
    - tdbPagerAllocFreePage
    - ASSERT_CORE
    - tdbPagerAllocNewPage
    - tdbError
    linkageType: ''
    returnType: int
    signature: int tdbPagerAllocPage(SPager *pPager, SPgno *ppgno, TXN *pTxn)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TDB_TRY_LOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:919,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:921,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:922,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:923,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:928,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:930,1
    - Dst: tdbOsPRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:934,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:935,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:937,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:938,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:939,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:942,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:958,1
    - Dst: CBC_Decrypt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:960,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:963,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:964,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:970,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:980,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:982,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:983,1
    - Dst: tmemory_barrier
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:989,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:993,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:994,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1000,1
    - Dst: sched_yield
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1003,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1008,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 4
    argNames:
    - pPager
    - pPage
    - arg
    - loadPage
    argTypes:
    - SPager*
    - SPage*
    - void*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 1014
    functionName: tdbPagerInitPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 2
    functionsReached:
    - TDB_TRY_LOCK_PAGE
    - tdbError
    - TAOS_SYSTEM_ERROR
    - memcpy
    - tdbTrace
    - TDB_UNLOCK_PAGE
    - tmemory_barrier
    - sched_yield
    - CBC_Decrypt
    - TDB_PAGE_INITIALIZED
    - tstrncpy
    - tdbOsPRead
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: int
    signature: "int tdbPagerInitPage(SPager *pPager, SPage *pPage, int (*initPage)(SPage
      *, void *, int), void *arg,\n                            u8 loadPage)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1021,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1022,1
    - Dst: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1024,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1026,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: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1031,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1033,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1033,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pPager
    - pPage
    argTypes:
    - SPager*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1039
    functionName: tdbPagerWritePageToJournal
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 1
    functionsReached:
    - tdbError
    - TAOS_SYSTEM_ERROR
    - tdbOsWrite
    - strerror
    - ASSERT_CORE
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: int
    signature: int tdbPagerWritePageToJournal(SPager *pPager, SPage *pPage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1067,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1068,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1069,1
    - Dst: tdbEncryptPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1071,1
    - Dst: tdbOsPWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1076,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1078,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1079,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1079,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1081,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pPager
    - pPage
    argTypes:
    - SPager*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1063
    functionDepth: 3
    functionLinenumber: 1063
    functionLinenumberEnd: 1087
    functionName: tdbPagerPWritePageToDB
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 3
    functionsReached:
    - tdbOsPWrite
    - tdbError
    - TAOS_SYSTEM_ERROR
    - tdbEncryptPage
    - strerror
    - tdbFreeEncryptBuf
    - ASSERT_CORE
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: int
    signature: int tdbPagerPWritePageToDB(SPager *pPager, SPage *pPage)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1094,1
    - Dst: tdbGetFileSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1099,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1101,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1104,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1105,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1105,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1106,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1109,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1114,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1120,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1122,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1123,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1126,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1130,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1131,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1135,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1137,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1138,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1142,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1143,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1143,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1144,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1145,1
    - Dst: tdbEncryptPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1148,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1150,1
    - Dst: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1154,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1156,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1156,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1158,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1159,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1160,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1163,1
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1166,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1167,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1167,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1168,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1169,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1172,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1174,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1175,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1175,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1176,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1179,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1180,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1180,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 2
    argNames:
    - pPager
    - jFileName
    argTypes:
    - SPager*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1185
    functionName: tdbPagerRestore
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbOsOpen
    - TAOS_SYSTEM_ERROR
    - tdbError
    - tdbTrace
    - tdbOsWrite
    - tdbDebug
    - strerror
    - tdbOsFree
    - tdbEncryptPage
    - tdbFreeEncryptBuf
    - tdbOsLSeek
    - tdbOsCalloc
    - tdbOsFSync
    - tdbOsClose
    - tdbOsRemove
    - tdbOsRead
    - tdbGetFileSize
    linkageType: ''
    returnType: int
    signature: int tdbPagerRestore(SPager *pPager, const char *jFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: txnIdCompareDesc
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t txnIdCompareDesc(const void *pLeft, const void *pRight)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1196,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1198,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1198,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1202,1
    - Dst: tdbReadDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1207,1
    - Dst: tdbDirEntryBaseName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1208,1
    - Dst: tdbGetDirEntryName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1208,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1209,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1211,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1212,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1217,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1218,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1219,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1221,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1222,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1224,1
    - Dst: tdbPagerRestore
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1225,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1227,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1228,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1229,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1229,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1234,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - pPager
    argTypes:
    - SPager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1193
    functionDepth: 4
    functionLinenumber: 1193
    functionLinenumberEnd: 1238
    functionName: tdbPagerRestoreJournals
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tdbError
    - taosArraySort
    - strerror
    - snprintf
    - taosArrayDestroy
    - taosOpenDir
    - memcpy
    - taosArrayGet
    - sscanf
    - tdbReadDir
    - tdbGetDirEntryName
    - tdbPagerRestore
    - TARRAY_SIZE
    - tdbDirEntryBaseName
    - strncmp
    - tdbCloseDir
    - taosArrayInit
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int
    signature: int tdbPagerRestoreJournals(SPager *pPager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1242,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1244,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1244,1
    - Dst: tdbReadDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1248,1
    - Dst: tdbDirEntryBaseName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1249,1
    - Dst: tdbGetDirEntryName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1249,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1251,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1253,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1254,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1256,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1256,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1257,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1258,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1260,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1260,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1261,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pPager
    argTypes:
    - SPager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1240
    functionDepth: 2
    functionLinenumber: 1240
    functionLinenumberEnd: 1269
    functionName: tdbPagerRollback
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: 0
    functionsReached:
    - tdbError
    - TAOS_SYSTEM_ERROR
    - memcpy
    - tdbDirEntryBaseName
    - strerror
    - tdbReadDir
    - tdbGetDirEntryName
    - strncmp
    - tdbOsRemove
    - tdbCloseDir
    - strlen
    - taosOpenDir
    linkageType: ''
    returnType: int
    signature: int tdbPagerRollback(SPager *pPager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPgid
    argTypes:
    - SPgid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: tdbPCachePageHash
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t tdbPCachePageHash(const SPgid *pPgid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbMutexInit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:48,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: tdbPCacheInitLock
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 0
    functionsReached:
    - tdbError
    - tdbMutexInit
    linkageType: ''
    returnType: void
    signature: void tdbPCacheInitLock(SPCache *pCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbMutexDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:54,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: tdbPCacheDestroyLock
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 0
    functionsReached:
    - tdbMutexDestroy
    - tdbError
    linkageType: ''
    returnType: void
    signature: void tdbPCacheDestroyLock(SPCache *pCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbMutexLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:60,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: tdbPCacheLock
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 0
    functionsReached:
    - tdbError
    - tdbMutexLock
    linkageType: ''
    returnType: void
    signature: void tdbPCacheLock(SPCache *pCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbMutexUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:66,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: tdbPCacheUnlock
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 0
    functionsReached:
    - tdbMutexUnlock
    - tdbError
    linkageType: ''
    returnType: void
    signature: void tdbPCacheUnlock(SPCache *pCache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:78,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:80,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:85,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:87,1
    - Dst: tdbPCacheOpenImpl
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:90,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:91,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:95,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:95,1
    - Dst: tdbPCacheClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - pageSize
    - cacheSize
    - ppCache
    argTypes:
    - int
    - int
    - SPCache**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 102
    functionName: tdbPCacheOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 0
    functionsReached:
    - tdbError
    - TSDB_CHECK_CODE
    - tdbOsCalloc
    - tdbPCacheClose
    - tstrerror
    - tdbPCacheOpenImpl
    linkageType: ''
    returnType: int
    signature: int tdbPCacheOpen(int pageSize, int cacheSize, SPCache **ppCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheCloseImpl
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:106,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:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: tdbPCacheClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbOsFree
    - tdbPCacheCloseImpl
    linkageType: ''
    returnType: void
    signature: void tdbPCacheClose(SPCache *pCache)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:125,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:131,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:134,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:136,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:164,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 2
    argNames:
    - pCache
    - nPage
    argTypes:
    - SPCache*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 184
    functionName: tdbPCacheAlterImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 0
    functionsReached:
    - tdbPageCreate
    - tdbPageDestroy
    - tdbOsFree
    - tdbOsCalloc
    linkageType: ''
    returnType: int
    signature: int tdbPCacheAlterImpl(SPCache *pCache, int32_t nPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:188,1
    - Dst: tdbPCacheAlterImpl
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:189,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCache
    - nPage
    argTypes:
    - SPCache*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: tdbPCacheAlter
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 0
    functionsReached:
    - tdbPCacheLock
    - tdbPCacheAlterImpl
    - tdbPCacheUnlock
    linkageType: ''
    returnType: int
    signature: int tdbPCacheAlter(SPCache *pCache, int32_t nPage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:198,1
    - Dst: tdbPCacheFetchImpl
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:200,1
    - Dst: tdbRefPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:202,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:205,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:208,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:208,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - pCache
    - pPgid
    - pTxn
    - force
    - loaded
    argTypes:
    - SPCache*
    - SPgid*
    - TXN*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 214
    functionName: tdbPCacheFetch
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 2
    functionsReached:
    - tdbPCacheUnlock
    - tdbTrace
    - tdbPCacheFetchImpl
    - tdbPCacheLock
    - tdbRefPage
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: SPage
    signature: SPage *tdbPCacheFetch(SPCache *pCache, const SPgid *pPgid, TXN *pTxn,
      bool force, bool* loaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:217,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:218,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: tdbPCacheMarkFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbPCacheLock
    - tdbPCacheRemovePageFromHash
    - tdbPCacheUnlock
    linkageType: ''
    returnType: void
    signature: void tdbPCacheMarkFree(SPCache *pCache, SPage *pPage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:229,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:229,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:231,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:231,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:233,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: tdbPCacheFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 0
    functionsReached:
    - TDB_PAGE_PGNO
    - tdbPCacheRemovePageFromHash
    - tdbPageDestroy
    - tdbTrace
    linkageType: ''
    returnType: void
    signature: void tdbPCacheFreePage(SPCache *pCache, SPage *pPage)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:243,1
    - Dst: tdbPCachePageHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:246,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:248,1
    - Dst: tdbPCachePinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:255,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:258,1
    - Dst: tdbPCacheFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - pCache
    - pPager
    - pgno
    argTypes:
    - SPCache*
    - SPager*
    - SPgno
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 263
    functionName: tdbPCacheInvalidatePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbPCacheFreePage
    - memcpy
    - tdbPCacheRemovePageFromHash
    - memcmp
    - tdbPCachePinPage
    - tdbPCachePageHash
    linkageType: ''
    returnType: void
    signature: void tdbPCacheInvalidatePage(SPCache *pCache, SPager *pPager, SPgno
      pgno)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:269,1
    - Dst: tdbPCacheLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:273,1
    - Dst: tdbUnrefPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:274,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:275,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:275,1
    - Dst: tdbPCacheUnpinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:283,1
    - Dst: tdbPCacheFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:285,1
    - Dst: TDB_TXN_IS_WRITE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:288,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:290,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:293,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pCache
    - pPage
    - pTxn
    argTypes:
    - SPCache*
    - SPage*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 298
    functionName: tdbPCacheRelease
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 7
    functionsReached:
    - tdbError
    - tdbPCacheFreePage
    - tdbPCacheUnpinPage
    - tdbPCacheRemovePageFromHash
    - tdbPageDestroy
    - tdbTrace
    - TDB_TXN_IS_WRITE
    - tdbUnrefPage
    - tdbPCacheUnlock
    - tdbPCacheLock
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: void
    signature: void tdbPCacheRelease(SPCache *pCache, SPage *pPage, TXN *pTxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: tdbPCacheGetPageSize
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tdbPCacheGetPageSize(SPCache *pCache)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:308,1
    - Dst: tdbPCachePageHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:318,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:320,1
    - Dst: TDB_TXN_IS_WRITE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:325,1
    - Dst: tdbPCachePinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:326,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:350,1
    - Dst: tdbPCachePinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:351,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:357,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:359,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:382,1
    - Dst: sched_yield
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:387,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:395,1
    - Dst: tdbPageInit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:398,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:404,1
    - Dst: TDB_TXN_IS_WRITE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:408,1
    - Dst: tdbPCacheAddPageToHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:409,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 5
    argNames:
    - pCache
    - pPgid
    - pTxn
    - force
    - loaded
    argTypes:
    - SPCache*
    - SPgid*
    - TXN*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 415
    functionName: tdbPCacheFetchImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbError
    - tdbPCacheRemovePageFromHash
    - memcpy
    - tdbPageCreate
    - TDB_TXN_IS_WRITE
    - memcmp
    - tdbPCachePinPage
    - sched_yield
    - tdbPageInit
    - tdbPCacheAddPageToHash
    - tdbPCachePageHash
    linkageType: ''
    returnType: SPage
    signature: SPage *tdbPCacheFetchImpl(SPCache *pCache, const SPgid *pPgid, TXN
      *pTxn, bool force, bool* loaded)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbGetPageRef
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:419,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:421,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:431,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 433
    functionName: tdbPCachePinPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 2
    functionsReached:
    - tdbGetPageRef
    - tdbError
    - TDB_PAGE_PGNO
    - tdbTrace
    linkageType: ''
    returnType: void
    signature: void tdbPCachePinPage(SPCache *pCache, SPage *pPage)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbGetPageRef
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:436,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:438,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:446,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:450,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:454,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:455,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:465,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:465,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:467,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:467,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:469,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 472
    functionName: tdbPCacheUnpinPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbError
    - tdbPageDestroy
    - tdbPCacheRemovePageFromHash
    - tdbTrace
    - tdbGetPageRef
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: void
    signature: void tdbPCacheUnpinPage(SPCache *pCache, SPage *pPage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCachePageHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:475,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:487,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 488
    functionName: tdbPCacheRemovePageFromHash
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 6
    functionsReached:
    - tdbPCachePageHash
    - TDB_PAGE_PGNO
    - tdbTrace
    linkageType: ''
    returnType: void
    signature: void tdbPCacheRemovePageFromHash(SPCache *pCache, SPage *pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCachePageHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:491,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:498,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 499
    functionName: tdbPCacheAddPageToHash
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbPCachePageHash
    - TDB_PAGE_PGNO
    - tdbTrace
    linkageType: ''
    returnType: void
    signature: void tdbPCacheAddPageToHash(SPCache *pCache, SPage *pPage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheInitLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:507,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:513,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 550
    functionName: tdbPCacheOpenImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbOsCalloc
    - tdbPCacheInitLock
    - tdbPageCreate
    linkageType: ''
    returnType: int
    signature: int tdbPCacheOpenImpl(SPCache *pCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:556,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:563,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:568,1
    - Dst: tdbPCacheDestroyLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 570
    functionName: tdbPCacheCloseImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: 1
    functionsReached:
    - tdbPCacheDestroyLock
    - tdbPageDestroy
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: void tdbPCacheCloseImpl(SPCache *pCache)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:29,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:30,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:32,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:41,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:46,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:48,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:48,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:49,1
    - Dst: tdbPCacheOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:55,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:62,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:66,1
    - Dst: taosMulModeMkDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:68,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:75,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:80,1
    - Dst: tdbTbBtreeToStack
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 6
    argNames:
    - dbname
    - szPage
    - pages
    - ppDb
    - rollback
    - encryptData
    argTypes:
    - char*
    - int32_t
    - int32_t
    - TDB**
    - int8_t
    - SEncryptData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 99
    functionName: tdbOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 20
    functionsReached:
    - tdbPCacheOpen
    - memcpy
    - tdbOsMalloc
    - tdbOsCalloc
    - tdbTbOpen
    - memset
    - taosMulModeMkDir
    - strlen
    - tdbTbBtreeToStack
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tdbOpen(const char *dbname, int32_t szPage, int32_t pages,
      TDB **ppDb, int8_t rollback,\n                SEncryptData *encryptData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:106,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:107,1
    - Dst: tdbPagerClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:112,1
    - Dst: tdbPCacheClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:115,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:116,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pDb
    argTypes:
    - TDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 121
    functionName: tdbClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 31
    functionsReached:
    - tdbPCacheClose
    - tdbOsFree
    - tdbTbClose
    - tdbPagerClose
    linkageType: ''
    returnType: void
    signature: void tdbClose(TDB *pDb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheAlter
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDb
    - pages
    argTypes:
    - TDB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: tdbAlter
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 0
    functionsReached:
    - tdbPCacheAlter
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdbAlter(TDB *pDb, int pages)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:134,1
    - Dst: tdbTxnOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:139,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:141,1
    - Dst: tdbPagerBegin
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:146,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:148,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:148,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - pDb
    - ppTxn
    - (*xMalloc)(void *, size_t)
    - xArg
    - flags
    argTypes:
    - TDB*
    - TXN**
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 158
    functionName: tdbBegin
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 33
    functionsReached:
    - tdbError
    - tdbOsFree
    - tdbTxnOpen
    - tdbOsCalloc
    - tdbPagerBegin
    - tdbTxnClose
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tdbBegin(TDB *pDb, TXN **ppTxn, void *(*xMalloc)(void *, size_t),
      void (*xFree)(void *, void *), void *xArg,\n                 int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:165,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:167,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: tdbCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 33
    functionsReached:
    - tdbError
    - tdbPagerCommit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdbCommit(TDB *pDb, TXN *pTxn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerPostCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:181,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:183,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:183,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: tdbPostCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 33
    functionsReached:
    - tstrerror
    - tdbPagerPostCommit
    - tdbTxnClose
    - tdbError
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdbPostCommit(TDB *pDb, TXN *pTxn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerPrepareAsyncCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:199,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:201,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: tdbPrepareAsyncCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 0
    functionsReached:
    - tdbError
    - tdbPagerPrepareAsyncCommit
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdbPrepareAsyncCommit(TDB *pDb, TXN *pTxn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerAbort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:215,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:217,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:217,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 225
    functionName: tdbAbort
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 2
    functionsReached:
    - tstrerror
    - tdbError
    - tdbTxnClose
    - tdbPagerAbort
    linkageType: ''
    returnType: void
    signature: void tdbAbort(TDB *pDb, TXN *pTxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbCstringHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:231,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:233,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:234,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pDb
    - fname
    argTypes:
    - TDB*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: tdbEnvGetPager
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 0
    functionsReached:
    - tdbCstringHash
    - strcmp
    - tdbTrace
    linkageType: ''
    returnType: SPager
    signature: SPager *tdbEnvGetPager(TDB *pDb, const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbCstringHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:254,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:256,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pDb
    - pPager
    argTypes:
    - TDB*
    - SPager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 264
    functionName: tdbEnvAddPager
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 0
    functionsReached:
    - tdbCstringHash
    - tdbTrace
    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:274,1
    - Dst: tdbCstringHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:280,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pDb
    - pPager
    argTypes:
    - TDB*
    - SPager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 297
    functionName: tdbEnvRemovePager
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: 0
    functionsReached:
    - tdbCstringHash
    - tdbError
    linkageType: ''
    returnType: void
    signature: void tdbEnvRemovePager(TDB *pDb, SPager *pPager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: TDB_PAGE_HDR_SIZE
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_HDR_SIZE(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: TDB_PAGE_FREE_CELL_SIZE
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_FREE_CELL_SIZE(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: TDB_PAGE_NCELLS
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_NCELLS(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: TDB_PAGE_CCELLS
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_CCELLS(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: TDB_PAGE_FCELL
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_FCELL(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pPage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: TDB_PAGE_NFREE
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_NFREE(pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pPage
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: TDB_PAGE_CELL_OFFSET_AT
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_CELL_OFFSET_AT(pPage, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pPage
    - ','
    - NCELLS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: TDB_PAGE_NCELLS_SET
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_NCELLS_SET(pPage, NCELLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pPage
    - ','
    - CCELLS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: TDB_PAGE_CCELLS_SET
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_CCELLS_SET(pPage, CCELLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pPage
    - ','
    - FCELL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: TDB_PAGE_FCELL_SET
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_FCELL_SET(pPage, FCELL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pPage
    - ','
    - NFREE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: TDB_PAGE_NFREE_SET
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_NFREE_SET(pPage, NFREE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pPage
    - ','
    - idx
    - ','
    - OFFSET
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: TDB_PAGE_CELL_OFFSET_AT_SET
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_CELL_OFFSET_AT_SET(pPage, idx, OFFSET)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pPage
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: TDB_PAGE_CELL_AT
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_CELL_AT(pPage, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pPage
    - ','
    - szAmHdr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: TDB_PAGE_MAX_FREE_BLOCK
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_PAGE_MAX_FREE_BLOCK(pPage, szAmHdr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:47,1
    - Dst: TDB_IS_PGSIZE_VLD
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:51,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:52,1
    - Dst: xMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:59,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:64,1
    - Dst: TDB_INIT_PAGE_LOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:67,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:70,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - pageSize
    - ppPage
    - (*xMalloc)(void *, size_t)
    - arg
    argTypes:
    - int
    - SPage**
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 85
    functionName: tdbPageCreate
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 3
    functionsReached:
    - TDB_INIT_PAGE_LOCK
    - tdbError
    - tdbTrace
    - xMalloc
    - TDB_IS_PGSIZE_VLD
    - memset
    linkageType: ''
    returnType: int
    signature: int tdbPageCreate(int pageSize, SPage **ppPage, void *(*xMalloc)(void
      *, size_t), void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:90,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:93,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:98,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:103,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:104,1
    - Dst: TDB_DESTROY_PAGE_LOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:107,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:108,1
    - Dst: xFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pPage
    - arg
    argTypes:
    - SPage*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 115
    functionName: tdbPageDestroy
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 5
    functionsReached:
    - tdbError
    - xFree
    - tdbTrace
    - tdbOsFree
    - 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: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:118,1
    - Dst: TDB_PAGE_NCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:120,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:121,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:122,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:123,1
    - Dst: TDB_PAGE_MAX_FREE_BLOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:123,1
    - Dst: TDB_PAGE_HDR_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:124,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:126,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - pPage
    - szAmHdr
    argTypes:
    - SPage*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 135
    functionName: tdbPageZero
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_PAGE_MAX_FREE_BLOCK
    - tdbError
    - tdbTrace
    - TDB_PAGE_HDR_SIZE
    - TDB_PAGE_CCELLS
    - TDB_PAGE_NFREE_SET
    - TDB_PAGE_CCELLS_SET
    - TDB_PAGE_FCELL_SET
    - TDB_PAGE_NCELLS_SET
    linkageType: ''
    returnType: void
    signature: void tdbPageZero(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:138,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:140,1
    - Dst: tdbPageZero
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:141,1
    - Dst: TDB_PAGE_HDR_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:144,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:145,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:145,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:146,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:152,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:155,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:156,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - pPage
    - szAmHdr
    argTypes:
    - SPage*
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 160
    functionName: tdbPageInit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 1
    functionsReached:
    - tdbError
    - TDB_PAGE_NFREE
    - TDB_PAGE_HDR_SIZE
    - tdbTrace
    - TDB_PAGE_CCELLS
    - TDB_PAGE_NCELLS
    - tdbPageZero
    - TDB_PAGE_OFFSET_SIZE
    linkageType: ''
    returnType: void
    signature: void tdbPageInit(SPage *pPage, u8 szAmHdr, int (*xCellSize)(const SPage
      *, SCell *, int *))
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_MAX_FREE_BLOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:170,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:171,1
    - Dst: TDB_PAGE_MAX_FREE_BLOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:172,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:176,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:177,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:187,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:188,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:189,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:200,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:202,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:205,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:207,1
    - Dst: tdbPageAllocate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:215,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:217,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:221,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:224,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:225,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:226,1
    - Dst: TDB_PAGE_CELL_OFFSET_AT_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:227,1
    - Dst: TDB_PAGE_NCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:228,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:230,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:231,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 5
    argNames:
    - pPage
    - idx
    - pCell
    - szCell
    - asOvfl
    argTypes:
    - SPage*
    - int
    - SCell*
    - int
    - u8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 242
    functionName: tdbPageInsertCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_PAGE_MAX_FREE_BLOCK
    - tdbPageAllocate
    - tdbError
    - memcpy
    - TDB_PAGE_OFFSET_SIZE
    - tdbOsMalloc
    - tdbTrace
    - tListLen
    - TDB_PAGE_NCELLS
    - memmove
    - TDB_PAGE_CELL_OFFSET_AT_SET
    - TDB_PAGE_NFREE
    - TDB_PAGE_NCELLS_SET
    linkageType: ''
    returnType: int
    signature: int tdbPageInsertCell(SPage *pPage, int idx, SCell *pCell, int szCell,
      u8 asOvfl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPageDropCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:245,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - pPage
    - idx
    - pCell
    - szCell
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - int
    - SCell*
    - int
    - TXN*
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: tdbPageUpdateCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - tdbPageDropCell
    - tdbPageInsertCell
    linkageType: ''
    returnType: int
    signature: int tdbPageUpdateCell(SPage *pPage, int idx, SCell *pCell, int szCell,
      TXN *pTxn, SBTree *pBt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:259,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:262,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:270,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:271,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:285,1
    - Dst: tdbFreeOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:291,1
    - Dst: tdbPageFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:294,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:296,1
    - Dst: TDB_PAGE_NCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:299,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:303,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - pPage
    - idx
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - int
    - TXN*
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 309
    functionName: tdbPageDropCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 1
    functionsReached:
    - tdbError
    - tdbTrace
    - tdbFreeOvflPage
    - TDB_PAGE_NCELLS
    - tdbOsFree
    - tdbPageFree
    - TDB_PAGE_CELL_AT
    - TDB_PAGE_NCELLS_SET
    linkageType: ''
    returnType: int
    signature: int tdbPageDropCell(SPage *pPage, int idx, TXN *pTxn, SBTree *pBt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:318,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:322,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:323,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:325,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:326,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:326,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:333,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:334,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:342,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:344,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:347,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pFromPage
    - pToPage
    - deepCopyOvfl
    argTypes:
    - SPage*
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 356
    functionName: tdbPageCopy
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - tdbError
    - memcpy
    - tdbOsMalloc
    - tdbTrace
    - TDB_PAGE_CCELLS
    - TDB_PAGE_NFREE_SET
    - TDB_PAGE_NFREE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdbPageCopy(SPage *pFromPage, SPage *pToPage, int deepCopyOvfl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pageSize
    - amHdrSize
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: tdbPageCapacity
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tdbPageCapacity(int pageSize, int amHdrSize)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:382,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:384,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:385,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:386,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:389,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:390,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:390,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:396,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:399,1
    - Dst: TDB_PAGE_FCELL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:404,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:406,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:409,1
    - Dst: SPage*::pPageMethods::getFreeCellInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:420,1
    - Dst: TDB_PAGE_FREE_CELL_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:427,1
    - Dst: SPage*::pPageMethods::setFreeCellInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:428,1
    - Dst: SPage*::pPageMethods::setFreeCellInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:430,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:432,1
    - Dst: SPage*::pPageMethods::setFreeCellInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:436,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:438,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:452,1
    - Dst: tdbPageDefragment
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:452,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:454,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:457,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:458,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:458,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:461,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:462,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:462,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:469,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:473,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:477,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:478,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:478,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:480,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:481,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 84
    argCount: 3
    argNames:
    - pPage
    - szCell
    - ppCell
    argTypes:
    - SPage*
    - int
    - SCell**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 483
    functionName: tdbPageAllocate
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 1
    functionsReached:
    - SPage*::pPageMethods::setFreeCellInfo
    - tdbError
    - TDB_PAGE_OFFSET_SIZE
    - TAOS_CHECK_RETURN
    - TDB_PAGE_CCELLS
    - TDB_PAGE_NFREE_SET
    - ASSERT_CORE
    - SPage*::pPageMethods::getFreeCellInfo
    - tdbPageDefragment
    - TDB_PAGE_FREE_CELL_SIZE
    - TDB_PAGE_CCELLS_SET
    - TDB_PAGE_NFREE
    - TDB_PAGE_FCELL_SET
    - TDB_PAGE_FCELL
    linkageType: ''
    returnType: int
    signature: int tdbPageAllocate(SPage *pPage, int szCell, SCell **ppCell)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:492,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:496,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:499,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:500,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:500,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:504,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:508,1
    - Dst: TDB_PAGE_FREE_CELL_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:509,1
    - Dst: TDB_PAGE_FCELL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:510,1
    - Dst: SPage*::pPageMethods::setFreeCellInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:511,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:512,1
    - Dst: tdbError
      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:518,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:519,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:520,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:522,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:523,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 4
    argNames:
    - pPage
    - idx
    - pCell
    - szCell
    argTypes:
    - SPage*
    - int
    - SCell*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 526
    functionName: tdbPageFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 1
    functionsReached:
    - SPage*::pPageMethods::setFreeCellInfo
    - tdbError
    - TDB_PAGE_OFFSET_SIZE
    - TDB_PAGE_NFREE_SET
    - TDB_PAGE_FREE_CELL_SIZE
    - memmove
    - TDB_PAGE_CCELLS_SET
    - TDB_PAGE_NFREE
    - TDB_PAGE_FCELL_SET
    - TDB_PAGE_CELL_AT
    - TDB_PAGE_FCELL
    linkageType: ''
    returnType: int
    signature: int tdbPageFree(SPage *pPage, int idx, SCell *pCell, int szCell)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 540
    functionName: tCellIdxCmprFn
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tCellIdxCmprFn(const void *p1, const void *p2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:542,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:543,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:545,1
    - Dst: TDB_PAGE_CELL_OFFSET_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:551,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:553,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:557,1
    - Dst: SPage*::xCellSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:558,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:561,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:567,1
    - Dst: TDB_PAGE_CELL_OFFSET_AT_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:568,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:572,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:573,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:574,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 583
    functionName: tdbPageDefragment
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 1
    functionsReached:
    - SPage*::xCellSize
    - tdbError
    - tdbOsMalloc
    - TDB_PAGE_NCELLS
    - tdbOsFree
    - TDB_PAGE_CCELLS_SET
    - memmove
    - TDB_PAGE_CELL_OFFSET_AT_SET
    - taosSort
    - TDB_PAGE_NFREE
    - TDB_PAGE_FCELL_SET
    - TDB_PAGE_CELL_AT
    - TDB_PAGE_CELL_OFFSET_AT
    linkageType: ''
    returnType: int
    signature: int tdbPageDefragment(SPage *pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: getPageCellNum
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPageCellNum(SPage *pPage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - cellNum
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 609
    functionName: setPageCellNum
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: void
    signature: void setPageCellNum(SPage *pPage, int cellNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 612
    functionName: getPageCellBody
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPageCellBody(SPage *pPage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - cellBody
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: setPageCellBody
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: void
    signature: void setPageCellBody(SPage *pPage, int cellBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: getPageCellFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPageCellFree(SPage *pPage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - cellFree
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 629
    functionName: setPageCellFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: void
    signature: void setPageCellFree(SPage *pPage, int cellFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 632
    functionName: getPageNFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPageNFree(SPage *pPage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - nFree
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 639
    functionName: setPageNFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: void
    signature: void setPageNFree(SPage *pPage, int nFree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPageCellNum
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:643,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - idx
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: getPageCellOffset
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - getPageCellNum
    - tdbError
    linkageType: ''
    returnType: int
    signature: int getPageCellOffset(SPage *pPage, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pPage
    - idx
    - offset
    argTypes:
    - SPage*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 658
    functionName: setPageCellOffset
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: void
    signature: void setPageCellOffset(SPage *pPage, int idx, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pCell
    - szCell
    - nxOffset
    argTypes:
    - SCell*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: getPageFreeCellInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getPageFreeCellInfo(SCell *pCell, int *szCell, int *nxOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pCell
    - szCell
    - nxOffset
    argTypes:
    - SCell*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 671
    functionName: setPageFreeCellInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPageFreeCellInfo(SCell *pCell, int szCell, int nxOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 706
    functionName: getLPageCellNum
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_GET_U24
    linkageType: ''
    returnType: int
    signature: int getLPageCellNum(SPage *pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - cellNum
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 709
    functionName: setLPageCellNum
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: void setLPageCellNum(SPage *pPage, int cellNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 712
    functionName: getLPageCellBody
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_GET_U24
    linkageType: ''
    returnType: int
    signature: int getLPageCellBody(SPage *pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - cellBody
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 715
    functionName: setLPageCellBody
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: void setLPageCellBody(SPage *pPage, int cellBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 718
    functionName: getLPageCellFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_GET_U24
    linkageType: ''
    returnType: int
    signature: int getLPageCellFree(SPage *pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - cellFree
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 721
    functionName: setLPageCellFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: void setLPageCellFree(SPage *pPage, int cellFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 724
    functionName: getLPageNFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_GET_U24
    linkageType: ''
    returnType: int
    signature: int getLPageNFree(SPage *pPage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - nFree
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 727
    functionName: setLPageNFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: void setLPageNFree(SPage *pPage, int nFree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLPageCellNum
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:731,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:733,1
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pPage
    - idx
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 738
    functionName: getLPageCellOffset
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - tdbError
    - getLPageCellNum
    - TDB_GET_U24
    linkageType: ''
    returnType: int
    signature: int getLPageCellOffset(SPage *pPage, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pPage
    - idx
    - offset
    argTypes:
    - SPage*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 742
    functionName: setLPageCellOffset
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: void setLPageCellOffset(SPage *pPage, int idx, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:747,1
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pCell
    - szCell
    - nxOffset
    argTypes:
    - SCell*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: getLPageFreeCellInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_GET_U24
    linkageType: ''
    returnType: void
    signature: void getLPageFreeCellInfo(SCell *pCell, int *szCell, int *nxOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:753,1
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pCell
    - szCell
    - nxOffset
    argTypes:
    - SCell*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 755
    functionName: setLPageFreeCellInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: 0
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: void setLPageFreeCellInfo(SCell *pCell, int szCell, int nxOffset)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:40,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:49,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:51,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:52,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:54,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:58,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:58,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:64,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:68,1
    - Dst: tdbPagerOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:70,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:72,1
    - Dst: tdbEnvAddPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:76,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:90,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:92,1
    - Dst: tdbPagerOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:93,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:95,1
    - Dst: tdbEnvAddPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:99,1
    - Dst: tdbPagerRestoreJournals
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:119,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:121,1
    - Dst: tdbBtreeOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:126,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 60
    argCount: 7
    argNames:
    - tbname
    - keyLen
    - valLen
    - keyCmprFn
    - pEnv
    - ppTb
    - rollback
    argTypes:
    - char*
    - int
    - int
    - tdb_cmpr_fn_t
    - TDB*
    - TTB**
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 134
    functionName: tdbTbOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 37
    functionsReached:
    - tdbBtreeOpen
    - tdbEnvGetPager
    - tdbPagerRestoreJournals
    - tdbOsFree
    - tdbTbGet
    - tdbEnvAddPager
    - tdbOsCalloc
    - snprintf
    - tdbPagerOpen
    - tdbFree
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int tdbTbOpen(const char *tbname, int keyLen, int valLen, tdb_cmpr_fn_t
      keyCmprFn, TDB *pEnv, TTB **ppTb,\n              int8_t rollback)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:138,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pTb
    argTypes:
    - TTB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: tdbTbClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 32
    functionsReached:
    - tdbBtreeClose
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: void tdbTbClose(TTB *pTb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:151,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:153,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:154,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:156,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:156,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:158,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:163,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tbname
    - pEnv
    argTypes:
    - char*
    - TDB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 170
    functionName: tdbTbExist
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbEnvGetPager
    - tdbTbGet
    - snprintf
    - taosCheckExistFile
    - strlen
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool tdbTbExist(const char *tbname, TDB *pEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTb
    argTypes:
    - TTB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: tdbTbDrop
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tdbTbDrop(TTB *pTb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:184,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:186,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:187,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:189,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:189,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:191,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:196,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - tbname
    - pEnv
    - pTxn
    argTypes:
    - char*
    - TDB*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 203
    functionName: tdbTbDropByName
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbEnvGetPager
    - taosRemoveFile
    - tdbTbDelete
    - snprintf
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int tdbTbDropByName(const char *tbname, TDB *pEnv, TXN *pTxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeInsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pTb
    - pKey
    - keyLen
    - pVal
    - valLen
    - pTxn
    argTypes:
    - TTB*
    - void*
    - int
    - void*
    - int
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: tdbTbInsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 29
    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: tdbBtreeDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pTb
    - pKey
    - kLen
    - pTxn
    argTypes:
    - TTB*
    - void*
    - int
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: tdbTbDelete
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 9
    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:212,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:212,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - pTb
    - pKey
    - kLen
    - pVal
    - vLen
    - pTxn
    argTypes:
    - TTB*
    - void*
    - int
    - void*
    - int
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: tdbTbUpsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 5
    functionsReached:
    - tdbTbDelete
    - tdbTbInsert
    - TAOS_UNUSED
    linkageType: ''
    returnType: int
    signature: int tdbTbUpsert(TTB *pTb, const void *pKey, int kLen, const void *pVal,
      int vLen, TXN *pTxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pTb
    - pKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - TTB*
    - void*
    - int
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: tdbTbGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 14
    functionsReached:
    - tdbBtreeGet
    linkageType: ''
    returnType: int
    signature: int tdbTbGet(TTB *pTb, const void *pKey, int kLen, void **ppVal, int
      *vLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreePGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pTb
    - pKey
    - kLen
    - ppKey
    - pkLen
    - ppVal
    - vLen
    argTypes:
    - TTB*
    - void*
    - int
    - void**
    - int*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: tdbTbPGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbBtreePGet
    linkageType: ''
    returnType: int
    signature: int tdbTbPGet(TTB *pTb, const void *pKey, int kLen, void **ppKey, int
      *pkLen, void **ppVal, int *vLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeToStack
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTb
    argTypes:
    - TTB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: tdbTbBtreeToStack
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 1
    functionsReached:
    - tdbBtreeToStack
    linkageType: ''
    returnType: int
    signature: int tdbTbBtreeToStack(TTB *pTb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreePushFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pTb
    - pPage
    - pTxn
    argTypes:
    - TTB*
    - SPage*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: tdbTbPushFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 1
    functionsReached:
    - tdbBtreePushFreePage
    linkageType: ''
    returnType: int
    signature: int tdbTbPushFreePage(TTB *pTb, SPage* pPage, TXN *pTxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreePopFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pTb
    - pgno
    - pTxn
    argTypes:
    - TTB*
    - SPgno*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: tdbTbPopFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 1
    functionsReached:
    - tdbBtreePopFreePage
    linkageType: ''
    returnType: int
    signature: int tdbTbPopFreePage(TTB *pTb, SPgno* pgno, TXN *pTxn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:243,1
    - Dst: tdbBtcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:248,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pTb
    - ppTbc
    - pTxn
    argTypes:
    - TTB*
    - TBC**
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: tdbTbcOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 8
    functionsReached:
    - tdbBtcOpen
    - tdbOsFree
    - tdbOsMalloc
    linkageType: ''
    returnType: int
    signature: int tdbTbcOpen(TTB *pTb, TBC **ppTbc, TXN *pTxn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:260,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:265,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:267,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:277,1
    - Dst: func
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:283,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:286,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:287,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pTb
    - data
    argTypes:
    - TTB*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 291
    functionName: tdbTbTraversal
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbTbcOpen
    - tdbTbcMoveToFirst
    - func
    - tdbTbcNext
    - tdbFree
    - tdbTbcClose
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tdbTbTraversal(TTB *pTb, void *data,\n                       int32_t
      (*func)(const void *pKey, int keyLen, const void *pVal, int valLen, void *data))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveTo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pTbc
    - pKey
    - kLen
    - c
    argTypes:
    - TBC*
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: tdbTbcMoveTo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbBtcMoveTo
    linkageType: ''
    returnType: int
    signature: int tdbTbcMoveTo(TBC *pTbc, const void *pKey, int kLen, int *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: tdbTbcMoveToFirst
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 9
    functionsReached:
    - tdbBtcMoveToFirst
    linkageType: ''
    returnType: int
    signature: int tdbTbcMoveToFirst(TBC *pTbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveToLast
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: tdbTbcMoveToLast
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbBtcMoveToLast
    linkageType: ''
    returnType: int
    signature: int tdbTbcMoveToLast(TBC *pTbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveToNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: tdbTbcMoveToNext
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbBtcMoveToNext
    linkageType: ''
    returnType: int
    signature: int tdbTbcMoveToNext(TBC *pTbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveToPrev
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: tdbTbcMoveToPrev
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbBtcMoveToPrev
    linkageType: ''
    returnType: int
    signature: int tdbTbcMoveToPrev(TBC *pTbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pTbc
    - ppKey
    - pkLen
    - ppVal
    - pvLen
    argTypes:
    - TBC*
    - void**
    - int*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: tdbTbcGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    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: tdbBtcDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 307
    functionName: tdbTbcDelete
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbBtcDelete
    linkageType: ''
    returnType: int
    signature: int tdbTbcDelete(TBC *pTbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pTbc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - TBC*
    - void**
    - int*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: tdbTbcNext
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 9
    functionsReached:
    - tdbBtreeNext
    linkageType: ''
    returnType: int
    signature: int tdbTbcNext(TBC *pTbc, void **ppKey, int *kLen, void **ppVal, int
      *vLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreePrev
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pTbc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - TBC*
    - void**
    - int*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: tdbTbcPrev
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbBtreePrev
    linkageType: ''
    returnType: int
    signature: int tdbTbcPrev(TBC *pTbc, void **ppKey, int *kLen, void **ppVal, int
      *vLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcUpsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pTbc
    - pKey
    - nKey
    - pData
    - nData
    - insert
    argTypes:
    - TBC*
    - void*
    - int
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: tdbTbcUpsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbBtcUpsert
    linkageType: ''
    returnType: int
    signature: int tdbTbcUpsert(TBC *pTbc, const void *pKey, int nKey, const void
      *pData, int nData, int insert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:323,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: tdbTbcClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 9
    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:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: tdbTbcIsValid
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: 0
    functionsReached:
    - tdbBtcIsValid
    linkageType: ''
    returnType: int
    signature: int tdbTbcIsValid(TBC *pTbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PAGE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: TDB_BTREE_PAGE_GET_FLAGS
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_BTREE_PAGE_GET_FLAGS(PAGE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - PAGE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: TDB_BTREE_PAGE_SET_FLAGS
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_BTREE_PAGE_SET_FLAGS(PAGE, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PAGE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: TDB_BTREE_PAGE_IS_ROOT
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_BTREE_PAGE_IS_ROOT(PAGE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PAGE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: TDB_BTREE_PAGE_IS_LEAF
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_BTREE_PAGE_IS_LEAF(PAGE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PAGE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: TDB_BTREE_PAGE_IS_OVFL
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_BTREE_PAGE_IS_OVFL(PAGE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PAGE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: TDB_BTREE_PAGE_IS_STACK
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDB_BTREE_PAGE_IS_STACK(PAGE)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:76,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:82,1
    - Dst: tdbPageCapacity
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:98,1
    - Dst: tdbPageCapacity
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:102,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:112,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:114,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:121,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:123,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:124,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:128,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:130,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:130,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:131,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:132,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:136,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:142,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:142,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:144,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:145,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:150,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:152,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:155,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:160,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:161,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 68
    argCount: 8
    argNames:
    - keyLen
    - valLen
    - pPager
    - tbname
    - pgno
    - kcmpr
    - pEnv
    - ppBt
    argTypes:
    - int
    - int
    - SPager*
    - char*
    - SPgno
    - tdb_cmpr_fn_t
    - TDB*
    - SBTree**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 175
    functionName: tdbBtreeOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbError
    - tdbPagerFetchPage
    - tdbPostCommit
    - tdbCommit
    - tdbPageCapacity
    - tdbAbort
    - tdbOsFree
    - tdbBegin
    - tdbOsCalloc
    - tdbPCacheRelease
    - tdbPagerWrite
    - terrstr
    - tdbTbInsert
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int tdbBtreeOpen(int keyLen, int valLen, SPager *pPager, char const
      *tbname, SPgno pgno, tdb_cmpr_fn_t kcmpr, TDB *pEnv,\n                 SBTree
      **ppBt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:179,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pBt
    argTypes:
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: tdbBtreeClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbFree
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: void tdbBtreeClose(SBTree *pBt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:189,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:191,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:195,1
    - Dst: tdbBtcMoveTo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:198,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:200,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:201,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:212,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:213,1
    - Dst: tdbBtcUpsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:218,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:220,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:221,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 6
    argNames:
    - pBt
    - pKey
    - kLen
    - pVal
    - vLen
    - pTxn
    argTypes:
    - SBTree*
    - void*
    - int
    - void*
    - int
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 227
    functionName: tdbBtreeInsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbError
    - tdbBtcUpsert
    - tdbTrace
    - tdbBtcMoveTo
    - tdbBtcClose
    - tdbBtcOpen
    linkageType: ''
    returnType: int
    signature: int tdbBtreeInsert(SBTree *pBt, const void *pKey, int kLen, const void
      *pVal, int vLen, TXN *pTxn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:234,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:236,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:240,1
    - Dst: tdbBtcMoveTo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:243,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:245,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:246,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:251,1
    - Dst: tdbBtcDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:256,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:258,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - pBt
    - pKey
    - kLen
    - pTxn
    argTypes:
    - SBTree*
    - void*
    - int
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 264
    functionName: tdbBtreeDelete
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbError
    - tdbTrace
    - tdbBtcMoveTo
    - tdbBtcClose
    - tdbBtcOpen
    - tdbBtcDelete
    linkageType: ''
    returnType: int
    signature: int tdbBtreeDelete(SBTree *pBt, const void *pKey, int kLen, TXN *pTxn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:272,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:274,1
    - Dst: tdbBtcMoveTo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:277,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:279,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:280,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:281,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:283,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:287,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:288,1
    - Dst: tdbBtcUpsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:300,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:302,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:303,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 6
    argNames:
    - pBt
    - pKey
    - nKey
    - pData
    - nData
    - pTxn
    argTypes:
    - SBTree*
    - void*
    - int
    - void*
    - int
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 309
    functionName: tdbBtreeUpsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - tdbError
    - tdbBtcUpsert
    - tdbTrace
    - tdbBtcMoveTo
    - tdbBtcClose
    - tdbBtcOpen
    - TDB_CELLDECODER_FREE_KEY
    - tdbFree
    linkageType: ''
    returnType: int
    signature: int tdbBtreeUpsert(SBTree *pBt, const void *pKey, int nKey, const void
      *pData, int nData, TXN *pTxn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreePGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pBt
    - pKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - SBTree*
    - void*
    - int
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: tdbBtreeGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbBtreePGet
    linkageType: ''
    returnType: int
    signature: int tdbBtreeGet(SBTree *pBt, const void *pKey, int kLen, void **ppVal,
      int *vLen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:325,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:327,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:331,1
    - Dst: tdbBtcMoveTo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:333,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:335,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:336,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:341,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:345,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:346,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:348,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:349,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:354,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:356,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:357,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:362,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:366,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:368,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:369,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:374,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:377,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:378,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:381,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:382,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:384,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:387,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:389,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 7
    argNames:
    - pBt
    - pKey
    - kLen
    - ppKey
    - pkLen
    - ppVal
    - vLen
    argTypes:
    - SBTree*
    - void*
    - int
    - void**
    - int*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 392
    functionName: tdbBtreePGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 2
    functionsReached:
    - tdbError
    - memcpy
    - tdbTrace
    - tdbBtreeDecodeCell
    - TDB_CELLDECODER_FREE_VAL
    - tdbBtcMoveTo
    - tdbBtcClose
    - tdbBtcOpen
    - TDB_CELLDECODER_FREE_KEY
    - tdbFree
    - tdbPageGetCell
    - tdbRealloc
    linkageType: ''
    returnType: int
    signature: int tdbBtreePGet(SBTree *pBt, const void *pKey, int kLen, void **ppKey,
      int *pkLen, void **ppVal, int *vLen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:400,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:402,1
    - Dst: TDB_BTREE_PAGE_IS_STACK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:407,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:408,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:412,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:414,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:414,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:415,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:427,1
    - Dst: tdbWarn
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:428,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:429,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:431,1
    - Dst: TDB_BTREE_PAGE_SET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:434,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:435,1
    - Dst: TDB_PAGE_FREE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:441,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:441,1
    - Dst: TDB_BTREE_PAGE_SET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:442,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:443,1
    - Dst: tdbInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:444,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:449,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:451,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:453,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:454,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:458,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:460,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:460,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:461,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:462,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:469,1
    - Dst: TDB_BTREE_PAGE_SET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:472,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:473,1
    - Dst: tdbInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 2
    argNames:
    - pBt
    - pTxn
    argTypes:
    - SBTree*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 477
    functionName: btreeToStack
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - tdbPagerFetchPage
    - tdbError
    - TDB_BTREE_PAGE_IS_LEAF
    - TDB_PAGE_OFFSET_SIZE
    - tdbBtreeInitPage
    - TDB_BTREE_PAGE_SET_FLAGS
    - tdbWarn
    - TDB_BTREE_PAGE_IS_STACK
    - tdbInfo
    - tdbPagerWrite
    - terrstr
    - TDB_PAGE_FREE_SIZE
    - tdbPagerReturnPage
    - tdbPageGetCell
    linkageType: ''
    returnType: int
    signature: int btreeToStack(SBTree* pBt, TXN* pTxn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:487,1
    - Dst: btreeToStack
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:492,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:494,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:498,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pBt
    argTypes:
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 502
    functionName: tdbBtreeToStack
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 4
    functionsReached:
    - tdbPostCommit
    - tdbCommit
    - tdbAbort
    - tdbBegin
    - btreeToStack
    linkageType: ''
    returnType: int
    signature: int tdbBtreeToStack(SBTree *pBt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:507,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:509,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:513,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:515,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:515,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:516,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:520,1
    - Dst: TDB_PAGE_FREE_SIZE
      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:526,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:527,1
    - Dst: tdbPageDropCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:528,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:530,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:531,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:537,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:539,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:540,1
    - Dst: TDB_PAGE_FREE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:546,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:546,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:548,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:550,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:550,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:551,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:557,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - pBt
    - pPage
    - pTxn
    argTypes:
    - SBTree*
    - SPage*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 559
    functionName: tdbBtreePushFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 3
    functionsReached:
    - tdbPagerFetchPage
    - tdbError
    - TDB_PAGE_OFFSET_SIZE
    - tdbPageInsertCell
    - terrstr
    - tdbPagerWrite
    - TDB_PAGE_FREE_SIZE
    - tdbPagerReturnPage
    - TDB_PAGE_PGNO
    - tdbPageDropCell
    - tdbPageGetCell
    linkageType: ''
    returnType: int
    signature: int tdbBtreePushFreePage(SBTree *pBt, SPage *pPage, TXN* pTxn)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:565,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:567,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:571,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:573,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:577,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:579,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:579,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:580,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:584,1
    - Dst: TDB_PAGE_FREE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:590,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:590,1
    - Dst: tdbPagerFetchFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:592,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:594,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:595,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:599,1
    - Dst: tdbPageDropCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:603,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:605,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:606,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:612,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:614,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:615,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:620,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 3
    argNames:
    - pBt
    - pgno
    - pTxn
    argTypes:
    - SBTree*
    - SPgno*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 622
    functionName: tdbBtreePopFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 4
    functionsReached:
    - tdbPagerFetchPage
    - tdbError
    - TDB_PAGE_OFFSET_SIZE
    - tdbPagerFetchFreePage
    - tdbPageInsertCell
    - tdbPagerWrite
    - terrstr
    - TDB_PAGE_TOTAL_CELLS
    - TDB_PAGE_FREE_SIZE
    - tdbPagerReturnPage
    - tdbPageDropCell
    - tdbPageGetCell
    linkageType: ''
    returnType: int
    signature: int tdbBtreePopFreePage(SBTree *pBt, SPgno *pgno, TXN* pTxn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pKey1
    - keyLen1
    - pKey2
    - keyLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 640
    functionName: tdbDefaultKeyCmprFn
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int tdbDefaultKeyCmprFn(const void *pKey1, int keyLen1, const void
      *pKey2, int keyLen2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_GET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:651,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:652,1
    - Dst: tdbPageInit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:654,1
    - Dst: tdbPageZero
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:660,1
    - Dst: TDB_BTREE_PAGE_IS_OVFL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:678,1
    - Dst: tdbPageCapacity
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 3
    argNames:
    - pPage
    - arg
    - init
    argTypes:
    - SPage*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 642
    functionDepth: 3
    functionLinenumber: 642
    functionLinenumberEnd: 691
    functionName: tdbBtreeInitPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbPageCapacity
    - tdbPageZero
    - tdbPageInit
    - TDB_BTREE_PAGE_GET_FLAGS
    - TDB_BTREE_PAGE_IS_OVFL
    linkageType: ''
    returnType: int
    signature: int tdbBtreeInitPage(SPage *pPage, void *arg, int init)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_GET_FLAGS
      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:706,1
    - Dst: TDB_FLAG_REMOVE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:710,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:712,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:721,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:723,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:723,1
    - Dst: tdbPageCopy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:728,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 4
    argNames:
    - pBt
    - pRoot
    - ppChild
    - pTxn
    argTypes:
    - SBTree*
    - SPage*
    - SPage**
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 694
    functionDepth: 4
    functionLinenumber: 694
    functionLinenumberEnd: 746
    functionName: tdbBtreeBalanceDeeper
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - tdbPagerFetchPage
    - tdbError
    - TDB_BTREE_PAGE_IS_LEAF
    - TDB_FLAG_REMOVE
    - tdbBtreeInitPage
    - tdbPagerWrite
    - terrstr
    - TDB_BTREE_PAGE_GET_FLAGS
    - tdbPageCopy
    linkageType: ''
    returnType: int
    signature: int tdbBtreeBalanceDeeper(SBTree *pBt, SPage *pRoot, SPage **ppChild,
      TXN *pTxn)
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:766,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:790,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:795,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:799,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:802,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:806,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:808,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:808,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:814,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:817,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:819,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:820,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:822,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:827,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:830,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:834,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:838,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:841,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:845,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:851,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:856,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:859,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:860,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:866,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:866,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:867,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:869,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:877,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:879,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:879,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:885,1
    - Dst: tdbPageDropCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:887,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:889,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:915,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:916,1
    - Dst: TDB_BYTES_CELL_TAKEN
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:917,1
    - Dst: TDB_PAGE_USABLE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:919,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:945,1
    - Dst: tdbBtreeCellSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:947,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:956,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:964,1
    - Dst: tdbBtreeCellSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:965,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:986,1
    - Dst: TDB_BTREE_PAGE_GET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1002,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1011,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1013,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1017,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1019,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1019,1
    - Dst: TDB_BTREE_PAGE_GET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1037,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1039,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1041,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1044,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1046,1
    - Dst: tdbPageCopy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1049,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1051,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1059,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1061,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1070,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1071,1
    - Dst: tdbBtreeCellSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1072,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1082,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1084,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1094,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1096,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1098,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1103,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1109,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1110,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1112,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1113,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1117,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1118,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1121,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1122,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1124,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1133,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1135,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1155,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1156,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1158,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1166,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1168,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1177,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1184,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1188,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1193,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1195,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1196,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1200,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1201,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1202,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1204,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1211,1
    - Dst: TDB_BTREE_PAGE_IS_ROOT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1215,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1215,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1216,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1218,1
    - Dst: tdbPageCopy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1222,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1227,1
    - Dst: tdbPagerInsertFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1231,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1239,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1242,1
    - Dst: tdbPagerInsertFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1248,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1253,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1256,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 369
    argCount: 4
    argNames:
    - pBt
    - pParent
    - idx
    - pTxn
    argTypes:
    - SBTree*
    - SPage*
    - int
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 1260
    functionName: tdbBtreeBalanceNonRoot
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - tdbError
    - tdbBtreeCellSize
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbPagerWrite
    - tdbFree
    - TDB_PAGE_PGNO
    - tdbRealloc
    - memcpy
    - TDB_CELLDECODER_FREE_VAL
    - tdbPageCreate
    - TDB_BTREE_PAGE_GET_FLAGS
    - tdbPageCopy
    - tdbPagerFetchPage
    - tdbPageDestroy
    - tdbBtreeDecodeCell
    - tdbBtreeInitPage
    - tdbPageInsertCell
    - terrstr
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtreeEncodeCell
    - tdbPagerInsertFreePage
    - TDB_CELLDECODER_FREE_KEY
    - tdbPagerReturnPage
    - tdbPageDropCell
    - tdbPageGetCell
    - tdbOsMalloc
    - tdbOsFree
    - TDB_BTREE_PAGE_IS_ROOT
    - TDB_BYTES_CELL_TAKEN
    - TDB_PAGE_USABLE_SIZE
    linkageType: ''
    returnType: int
    signature: int tdbBtreeBalanceNonRoot(SBTree *pBt, SPage *pParent, int idx, TXN
      *pTxn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1276,1
    - Dst: TDB_BTREE_PAGE_IS_ROOT
      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:1278,1
    - Dst: TDB_PAGE_USABLE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1282,1
    - Dst: tdbBtreeBalanceDeeper
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1291,1
    - Dst: tdbBtreeBalanceNonRoot
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1305,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1310,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1262
    functionDepth: 5
    functionLinenumber: 1262
    functionLinenumberEnd: 1318
    functionName: tdbBtreeBalance
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - tdbBtreeBalanceNonRoot
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbBtreeBalanceDeeper
    - TDB_PAGE_FREE_SIZE
    - TDB_BTREE_PAGE_IS_ROOT
    - tdbPagerReturnPage
    - TDB_PAGE_USABLE_SIZE
    linkageType: ''
    returnType: int
    signature: int tdbBtreeBalance(SBTC *pBtc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TDB_FLAG_ADD
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1327,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1328,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1334,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1336,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - pPgno
    - ppOfp
    - pTxn
    - pBt
    argTypes:
    - SPgno*
    - SPage**
    - TXN*
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1341
    functionName: tdbFetchOvflPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - tdbPagerFetchPage
    - tdbError
    - TDB_FLAG_ADD
    - terrstr
    - tdbPagerWrite
    linkageType: ''
    returnType: int
    signature: int tdbFetchOvflPage(SPgno *pPgno, SPage **ppOfp, TXN *pTxn, SBTree
      *pBt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TDB_FLAG_ADD
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1348,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pPgno
    - ppOfp
    - pTxn
    - pBt
    argTypes:
    - SPgno*
    - SPage**
    - TXN*
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1343
    functionDepth: 3
    functionLinenumber: 1343
    functionLinenumberEnd: 1355
    functionName: tdbLoadOvflPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - tdbPagerFetchPage
    - TDB_FLAG_ADD
    linkageType: ''
    returnType: int
    signature: int tdbLoadOvflPage(SPgno *pPgno, SPage **ppOfp, TXN *pTxn, SBTree
      *pBt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbLoadOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1364,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1369,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1377,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1379,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1381,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1381,1
    - Dst: tdbPagerInsertFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1385,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - pgno
    - nSize
    - pTxn
    - pBt
    argTypes:
    - SPgno
    - int
    - TXN*
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1358
    functionDepth: 4
    functionLinenumber: 1358
    functionLinenumberEnd: 1395
    functionName: tdbFreeOvflPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbError
    - memcpy
    - tdbLoadOvflPage
    - tdbPagerWrite
    - terrstr
    - tdbPagerInsertFreePage
    - tdbPagerReturnPage
    - tdbPageGetCell
    linkageType: ''
    returnType: int
    signature: int tdbFreeOvflPage(SPgno pgno, int nSize, TXN *pTxn, SBTree *pBt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - minLocal
    - maxLocal
    - dataSize
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1416
    functionName: calcLocalSize
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int calcLocalSize(int minLocal, int maxLocal, int dataSize)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1428,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1430,1
    - Dst: calcLocalSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1438,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1444,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1449,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1452,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1454,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1462,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1467,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1468,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1471,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1476,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1482,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1486,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1502,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1508,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1513,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1517,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1519,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1520,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1524,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1528,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1530,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1531,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1534,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1537,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1539,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1540,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1562,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1564,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1565,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1568,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1571,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1572,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1574,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1575,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1577,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1586,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1589,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 114
    argCount: 10
    argNames:
    - pPage
    - pCell
    - nHeader
    - pKey
    - kLen
    - pVal
    - vLen
    - szPayload
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - SCell*
    - int
    - void*
    - int
    - void*
    - int
    - int*
    - TXN*
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1420
    functionDepth: 4
    functionLinenumber: 1420
    functionLinenumberEnd: 1593
    functionName: tdbBtreeEncodePayload
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calcLocalSize
    - tdbPageInsertCell
    - tdbPCacheRelease
    - tdbFetchOvflPage
    - tdbFree
    - ASSERT_CORE
    - tdbRealloc
    linkageType: ''
    returnType: int
    signature: "int tdbBtreeEncodePayload(SPage *pPage, SCell *pCell, int nHeader,
      const void *pKey, int kLen, const void *pVal,\n                                 int
      vLen, int *szPayload, TXN *pTxn, SBTree *pBt)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1614,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1620,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1625,1
    - Dst: tdbPutVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1633,1
    - Dst: tdbPutVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1638,1
    - Dst: tdbBtreeEncodePayload
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1647,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1650,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 9
    argNames:
    - pPage
    - pKey
    - kLen
    - pVal
    - vLen
    - pCell
    - szCell
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - void*
    - int
    - void*
    - int
    - SCell*
    - int*
    - TXN*
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1595
    functionDepth: 5
    functionLinenumber: 1595
    functionLinenumberEnd: 1656
    functionName: tdbBtreeEncodeCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbError
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbPutVarInt
    - tdbBtreeEncodePayload
    - ASSERT_CORE
    linkageType: ''
    returnType: int
    signature: "int tdbBtreeEncodeCell(SPage *pPage, const void *pKey, int kLen, const
      void *pVal, int vLen, SCell *pCell,\n                              int *szCell,
      TXN *pTxn, SBTree *pBt)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1662,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1663,1
    - Dst: calcLocalSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1679,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1684,1
    - Dst: TDB_CELLDECODER_SET_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1688,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1696,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1697,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1701,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1702,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1706,1
    - Dst: TDB_CELLDECODER_SET_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1710,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1712,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1713,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1714,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1719,1
    - Dst: tdbLoadOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1722,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1727,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1737,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1741,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1742,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1743,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:1754,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1756,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1757,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1761,1
    - Dst: tdbLoadOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1769,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1774,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1780,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1781,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1782,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1784,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 89
    argCount: 6
    argNames:
    - pPage
    - pCell
    - nHeader
    - pDecoder
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - SCell*
    - int
    - SCellDecoder*
    - TXN*
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1658
    functionDepth: 4
    functionLinenumber: 1658
    functionLinenumberEnd: 1788
    functionName: tdbBtreeDecodePayload
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - tdbError
    - TDB_BTREE_PAGE_IS_LEAF
    - memcpy
    - tdbTrace
    - tdbDebug
    - calcLocalSize
    - TDB_CELLDECODER_SET_FREE_VAL
    - tdbLoadOvflPage
    - tdbPCacheRelease
    - TDB_CELLDECODER_SET_FREE_KEY
    - ASSERT_CORE
    - tdbPageGetCell
    - tdbRealloc
    linkageType: ''
    returnType: int
    signature: int tdbBtreeDecodePayload(SPage *pPage, const SCell *pCell, int nHeader,
      SCellDecoder *pDecoder, TXN *pTxn, SBTree *pBt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1796,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1799,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1800,1
    - Dst: TDB_CELLDECODER_CLZ_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1801,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1804,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1805,1
    - Dst: TDB_CELLDECODER_CLZ_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1806,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1818,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1828,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1835,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1838,1
    - Dst: tdbBtreeDecodePayload
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1844,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 5
    argNames:
    - pPage
    - pCell
    - pDecoder
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - SCell*
    - SCellDecoder*
    - TXN*
    - SBTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1790
    functionDepth: 5
    functionLinenumber: 1790
    functionLinenumberEnd: 1850
    functionName: tdbBtreeDecodeCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 2
    functionsReached:
    - tdbError
    - tdbBtreeDecodePayload
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbGetVarInt
    - TDB_CELLDECODER_FREE_VAL
    - TDB_CELLDECODER_CLZ_FREE_KEY
    - TDB_CELLDECODER_FREE_KEY
    - TDB_CELLDECODER_CLZ_FREE_VAL
    - tdbFree
    linkageType: ''
    returnType: int
    signature: int tdbBtreeDecodeCell(SPage *pPage, const SCell *pCell, 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:1860,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1867,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1874,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1874,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1877,1
    - Dst: calcLocalSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1900,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - pPage
    - pCell
    - pFullSize
    argTypes:
    - SPage*
    - SCell*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1901
    functionName: tdbBtreeCellSize
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbError
    - tdbGetVarInt
    - TDB_BTREE_PAGE_IS_LEAF
    - calcLocalSize
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: int
    signature: int tdbBtreeCellSize(const SPage *pPage, SCell *pCell, int *pFullSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1910,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1913,1
    - Dst: tdbTxnOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1919,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - pBtc
    - pBt
    - pTxn
    argTypes:
    - SBTC*
    - SBTree*
    - TXN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1905
    functionDepth: 2
    functionLinenumber: 1905
    functionLinenumberEnd: 1934
    functionName: tdbBtcOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 5
    functionsReached:
    - tdbOsFree
    - memset
    - tdbTxnOpen
    - tdbOsCalloc
    linkageType: ''
    returnType: int
    signature: int tdbBtcOpen(SBTC *pBtc, SBTree *pBt, TXN *pTxn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1948,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1951,1
    - Dst: TDB_BTREE_PAGE_IS_ROOT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1955,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1956,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1961,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1965,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1966,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1975,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1983,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1997,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2004,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2006,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2008,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1936
    functionDepth: 3
    functionLinenumber: 1936
    functionLinenumberEnd: 2016
    functionName: tdbBtcMoveToFirst
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbPagerFetchPage
    - tdbError
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbBtcMoveUpward
    - TDB_BTREE_PAGE_IS_ROOT
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtcMoveDownward
    linkageType: ''
    returnType: int
    signature: int tdbBtcMoveToFirst(SBTC *pBtc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2030,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2033,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2037,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2040,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2043,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2044,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2053,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2060,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2061,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2065,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2072,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2073,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2075,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2080,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2087,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2089,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2091,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2095,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2096,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2018
    functionDepth: 3
    functionLinenumber: 2018
    functionLinenumberEnd: 2104
    functionName: tdbBtcMoveToLast
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbPagerFetchPage
    - tdbError
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbBtcMoveUpward
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtcMoveDownward
    linkageType: ''
    returnType: int
    signature: int tdbBtcMoveToLast(SBTC *pBtc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2111,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2112,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2114,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2120,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2123,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2128,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2132,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2135,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2139,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2149,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2150,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2152,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 5
    argNames:
    - pBtc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - SBTC*
    - void**
    - int*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2107
    functionDepth: 6
    functionLinenumber: 2107
    functionLinenumberEnd: 2156
    functionName: tdbBtreeDecodeCurrentCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - tdbError
    - memcpy
    - TDB_CELLDECODER_FREE_VAL
    - tdbBtreeDecodeCell
    - TDB_CELLDECODER_FREE_KEY
    - tdbFree
    - tdbPageGetCell
    - tdbRealloc
    linkageType: ''
    returnType: int
    signature: int tdbBtreeDecodeCurrentCell(SBTC *pBtc, void **ppKey, int *kLen,
      void **ppVal, int *vLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeDecodeCurrentCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2165,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2167,1
    - Dst: tdbBtcMoveToNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2171,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pBtc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - SBTC*
    - void**
    - int*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2159
    functionDepth: 7
    functionLinenumber: 2159
    functionLinenumberEnd: 2178
    functionName: tdbBtreeNext
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbBtreeDecodeCurrentCell
    - tdbError
    - tdbBtcMoveToNext
    linkageType: ''
    returnType: int
    signature: int tdbBtreeNext(SBTC *pBtc, void **ppKey, int *kLen, void **ppVal,
      int *vLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeDecodeCurrentCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2187,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2189,1
    - Dst: tdbBtcMoveToPrev
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2193,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pBtc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - SBTC*
    - void**
    - int*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2181
    functionDepth: 7
    functionLinenumber: 2181
    functionLinenumberEnd: 2200
    functionName: tdbBtreePrev
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbBtreeDecodeCurrentCell
    - tdbError
    - tdbBtcMoveToPrev
    linkageType: ''
    returnType: int
    signature: int tdbBtreePrev(SBTC *pBtc, void **ppKey, int *kLen, void **ppVal,
      int *vLen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2208,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2209,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2216,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2227,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2229,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2234,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2235,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2238,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2245,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2247,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2249,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2203
    functionDepth: 1
    functionLinenumber: 2203
    functionLinenumberEnd: 2257
    functionName: tdbBtcMoveToNext
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 2
    functionsReached:
    - tdbError
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbBtcMoveUpward
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtcMoveDownward
    linkageType: ''
    returnType: int
    signature: int tdbBtcMoveToNext(SBTC *pBtc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2275,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2277,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2288,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2290,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2292,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2295,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2296,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2298,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2259
    functionDepth: 1
    functionLinenumber: 2259
    functionLinenumberEnd: 2303
    functionName: tdbBtcMoveToPrev
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 2
    functionsReached:
    - tdbError
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbBtcMoveUpward
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtcMoveDownward
    linkageType: ''
    returnType: int
    signature: int tdbBtcMoveToPrev(SBTC *pBtc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2311,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2315,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2316,1
    - Dst: TDB_BTREE_PAGE_IS_OVFL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2320,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2321,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2325,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2326,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2328,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2331,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2335,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2345,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2305
    functionDepth: 3
    functionLinenumber: 2305
    functionLinenumberEnd: 2353
    functionName: tdbBtcMoveDownward
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 4
    functionsReached:
    - tdbError
    - tdbPagerFetchPage
    - TDB_BTREE_PAGE_IS_LEAF
    - TDB_PAGE_TOTAL_CELLS
    - ASSERT_CORE
    - TDB_BTREE_PAGE_IS_OVFL
    - tdbPageGetCell
    linkageType: ''
    returnType: int
    signature: int tdbBtcMoveDownward(SBTC *pBtc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2355
    functionDepth: 2
    functionLinenumber: 2355
    functionLinenumberEnd: 2365
    functionName: tdbBtcMoveUpward
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 4
    functionsReached:
    - tdbPagerReturnPage
    linkageType: ''
    returnType: int
    signature: int tdbBtcMoveUpward(SBTC *pBtc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2370,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2374,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2375,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - pBtc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - SBTC*
    - void**
    - int*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2367
    functionDepth: 6
    functionLinenumber: 2367
    functionLinenumberEnd: 2392
    functionName: tdbBtcGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached:
    - tdbBtreeDecodeCell
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    - tdbPageGetCell
    linkageType: ''
    returnType: int
    signature: int tdbBtcGet(SBTC *pBtc, const void **ppKey, int *kLen, const void
      **ppVal, int *vLen)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2396,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2408,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2413,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2415,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2415,1
    - Dst: tdbPageDropCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2419,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2421,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2428,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2430,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2435,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2439,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2442,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2444,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2444,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2449,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2450,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2453,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2455,1
    - Dst: tdbPageUpdateCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2458,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2460,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2461,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2464,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2467,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2468,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2470,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2472,1
    - Dst: tdbBtreeBalance
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2477,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2479,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2486,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2491,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2492,1
    - Dst: tdbBtreeBalance
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2498,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2500,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2394
    functionDepth: 7
    functionLinenumber: 2394
    functionLinenumberEnd: 2507
    functionName: tdbBtcDelete
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 2
    functionsReached:
    - tdbBtcGet
    - tdbError
    - tdbOsMalloc
    - tdbDebug
    - tdbOsFree
    - tdbPageUpdateCell
    - tdbBtreeBalance
    - terrstr
    - tdbPagerWrite
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtreeEncodeCell
    - tdbPagerReturnPage
    - TDB_PAGE_PGNO
    - tdbPageDropCell
    linkageType: ''
    returnType: int
    signature: int tdbBtcDelete(SBTC *pBtc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2512,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2518,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2524,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2526,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2533,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2535,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2540,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2542,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2542,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2549,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2553,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2556,1
    - Dst: tdbPageUpdateCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2560,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2563,1
    - Dst: tdbBtreeBalance
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2569,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2571,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 6
    argNames:
    - pBtc
    - pKey
    - kLen
    - pData
    - nData
    - insert
    argTypes:
    - SBTC*
    - void*
    - int
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2509
    functionDepth: 6
    functionLinenumber: 2509
    functionLinenumberEnd: 2577
    functionName: tdbBtcUpsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 3
    functionsReached:
    - tdbError
    - tdbPageInsertCell
    - tdbPageUpdateCell
    - tdbBtreeBalance
    - tdbPagerWrite
    - terrstr
    - tdbBtreeEncodeCell
    - TDB_PAGE_TOTAL_CELLS
    - tdbRealloc
    linkageType: ''
    returnType: int
    signature: int tdbBtcUpsert(SBTC *pBtc, const void *pKey, int kLen, const void
      *pData, int nData, int insert)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2589,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2592,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2596,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2603,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2606,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2617,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2619,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2620,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2626,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2627,1
    - Dst: SBTree*::kcmpr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2628,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2634,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2635,1
    - Dst: SBTree*::kcmpr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2636,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2644,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2650,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2656,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2661,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2667,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2669,1
    - Dst: SBTree*::kcmpr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2672,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2681,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2683,1
    - Dst: SBTree*::kcmpr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2686,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2695,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2700,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2702,1
    - Dst: SBTree*::kcmpr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2705,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2719,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2726,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2727,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2733,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 115
    argCount: 4
    argNames:
    - pBtc
    - pKey
    - kLen
    - pCRst
    argTypes:
    - SBTC*
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2579
    functionDepth: 7
    functionLinenumber: 2579
    functionLinenumberEnd: 2736
    functionName: tdbBtcMoveTo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 5
    functionsReached:
    - tdbBtcGet
    - tdbError
    - tdbPagerFetchPage
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbTrace
    - tdbBtreeDecodeCell
    - tdbBtcMoveUpward
    - TDB_PAGE_TOTAL_CELLS
    - SBTree*::kcmpr
    - tdbBtcMoveDownward
    - tdbPageGetCell
    linkageType: ''
    returnType: int
    signature: int tdbBtcMoveTo(SBTC *pBtc, const void *pKey, int kLen, int *pCRst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2741,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2748,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2752,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2761,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2762,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2765,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2766,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2768,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2772,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2738
    functionDepth: 2
    functionLinenumber: 2738
    functionLinenumberEnd: 2776
    functionName: tdbBtcClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 5
    functionsReached:
    - tdbError
    - TDB_CELLDECODER_FREE_VAL
    - tdbDebug
    - tdbTxnClose
    - TDB_CELLDECODER_FREE_KEY
    - tdbPagerReturnPage
    - tdbFree
    linkageType: ''
    returnType: void
    signature: void tdbBtcClose(SBTC *pBtc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2784
      start: 2778
    functionDepth: 0
    functionLinenumber: 2778
    functionLinenumberEnd: 2784
    functionName: tdbBtcIsValid
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tdbBtcIsValid(SBTC *pBtc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2805,1
    - Dst: TDB_BTREE_PAGE_IS_ROOT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2807,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2808,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pPage
    - idx
    argTypes:
    - SPage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2800
    functionDepth: 1
    functionLinenumber: 2800
    functionLinenumberEnd: 2817
    functionName: tdbBtPageInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: 0
    functionsReached:
    - TDB_BTREE_PAGE_IS_LEAF
    - TDB_PAGE_PGNO
    - TDB_BTREE_PAGE_IS_ROOT
    - TDB_PAGE_TOTAL_CELLS
    linkageType: ''
    returnType: void
    signature: void tdbBtPageInfo(SPage *pPage, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/totp/src/totp.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - totp
    - digits
    - buffer
    - size
    argTypes:
    - int32_t
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: taosFormatTotp
    functionSourceFile: /src/tdengine/source/libs/totp/src/totp.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int taosFormatTotp(int32_t totp, int digits, char *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - secret
    - secretLen
    - digits
    argTypes:
    - uint8_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: taosGenerateTotpCode
    functionSourceFile: /src/tdengine/source/libs/totp/src/totp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosGenerateTotpCode(const uint8_t *secret, size_t secretLen,
      int digits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - secret
    - secretLen
    - userCode
    - digits
    - window
    argTypes:
    - uint8_t*
    - size_t
    - int32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: taosVerifyTotpCode
    functionSourceFile: /src/tdengine/source/libs/totp/src/totp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int taosVerifyTotpCode(const uint8_t *secret, size_t secretLen, int32_t
      userCode, int digits, int window)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/totp/src/totp.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - seed
    - seedLen
    - secret
    - secretLen
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: taosGenerateTotpSecret
    functionSourceFile: /src/tdengine/source/libs/totp/src/totp.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int taosGenerateTotpSecret(const char *seed, size_t seedLen, uint8_t
      *secret, size_t secretLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:19,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: WalCleanEnv::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT
    - walInit
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: WalCleanEnv::TearDownTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void TearDownTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:26,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:27,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:28,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:34,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:35,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: WalCleanEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - taosRemoveDir
    - memset
    - taosMemoryFree
    - walOpen
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: WalCleanEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walClose
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:51,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: WalCleanDeleteEnv::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT
    - walInit
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: WalCleanDeleteEnv::TearDownTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void TearDownTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:58,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:59,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:60,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:64,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:65,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: WalCleanDeleteEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - taosRemoveDir
    - memset
    - taosMemoryFree
    - walOpen
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: WalCleanDeleteEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walClose
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:81,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: WalKeepEnv::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT
    - walInit
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: WalKeepEnv::TearDownTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void TearDownTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalKeepEnv::TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:88,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:89,1
    - Dst: WalKeepEnv::SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: WalKeepEnv::walResetEnv
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - WalKeepEnv::SetUp
    - taosRemoveDir
    - WalKeepEnv::TearDown
    linkageType: ''
    returnType: void
    signature: void walResetEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:94,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:95,1
    - Dst: taosSetSkipKeyCheckMode
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:101,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:102,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:103,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: WalKeepEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - memset
    - taosMemoryFree
    - taosSetSkipKeyCheckMode
    - walOpen
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: WalKeepEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - walClose
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:119,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: WalRetentionEnv::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT
    - walInit
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: WalRetentionEnv::TearDownTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void TearDownTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalRetentionEnv::TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:126,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:127,1
    - Dst: WalRetentionEnv::SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: WalRetentionEnv::walResetEnv
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - WalRetentionEnv::SetUp
    - taosRemoveDir
    - WalRetentionEnv::TearDown
    linkageType: ''
    returnType: void
    signature: void walResetEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:141,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: WalRetentionEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - walOpen
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: WalRetentionEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - walClose
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:157,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: WalSkipLevel::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT
    - walInit
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: WalSkipLevel::TearDownTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void TearDownTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalSkipLevel::TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:164,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:165,1
    - Dst: WalSkipLevel::SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: WalSkipLevel::walResetEnv
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - WalSkipLevel::TearDown
    - taosRemoveDir
    - WalSkipLevel::SetUp
    linkageType: ''
    returnType: void
    signature: void walResetEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:179,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: WalSkipLevel::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - walOpen
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: WalSkipLevel::TearDown
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - walClose
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:195,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: WalEncrypted::SetUpTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT
    - walInit
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: WalEncrypted::TearDownTestCase
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void TearDownTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WalEncrypted::TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:202,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:203,1
    - Dst: WalEncrypted::SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: WalEncrypted::walResetEnv
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosRemoveDir
    - WalEncrypted::TearDown
    - WalEncrypted::SetUp
    linkageType: ''
    returnType: void
    signature: void walResetEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:218,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 220
    functionName: WalEncrypted::SetUp
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - walOpen
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: WalEncrypted::TearDown
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 1
    functionsReached:
    - walClose
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:232,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:233,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:234,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:235,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:236,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:237,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:238,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGetLast
    - ASSERT_EQ
    - walRollFileInfo
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, createNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:243,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:244,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:245,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:247,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:248,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:249,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:250,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:251,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:252,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:253,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:254,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:255,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:256,1
    - Dst: walMetaSerialize
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:258,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:259,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:260,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:261,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:262,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 264
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walSaveMeta
    - ASSERT
    - printf
    - walRollFileInfo
    - taosMemoryFree
    - walMetaSerialize
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, serialize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:267,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:268,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:269,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:270,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:271,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:272,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:273,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:274,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walSaveMeta
    - walRollFileInfo
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, removeOldMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:279,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:287,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:288,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:289,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:290,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:291,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:292,1
    - Dst: walMetaSerialize
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:295,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:296,1
    - Dst: TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:298,1
    - Dst: SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:299,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:301,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:302,1
    - Dst: walMetaSerialize
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:305,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:306,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:308,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:309,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:309,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:311,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:313,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 315
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - ASSERT
    - SetUp
    - EXPECT_EQ
    - ASSERT_EQ
    - taosMemoryFree
    - strlen
    - walMetaSerialize
    - TearDown
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, readOldMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:320,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:321,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:322,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:323,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:324,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:325,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:327,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walSaveMeta
    - ASSERT_EQ
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, write)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:334,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:335,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:336,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:338,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:339,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:340,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:341,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:342,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:343,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:344,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:345,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:346,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:347,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:348,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:349,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:350,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 352
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walSaveMeta
    - ASSERT_NE
    - walRollback
    - ASSERT_EQ
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, rollback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:357,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:358,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:359,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:361,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:362,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:365,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:366,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:367,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:368,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:369,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:370,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:371,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:372,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:373,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:374,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:375,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:377,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:379,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:380,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:381,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:383,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 385
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walSaveMeta
    - walBeginSnapshot
    - ASSERT_NE
    - walRollback
    - walEndSnapshot
    - ASSERT_EQ
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, rollbackMultiFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:391,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:392,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:393,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:394,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:395,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:398,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:399,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:400,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:401,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:402,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:404,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:405,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:408,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:409,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:410,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:411,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:414,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:415,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:416,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 418
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walBeginSnapshot
    - ASSERT_NE
    - walEndSnapshot
    - ASSERT_EQ
    - walCommit
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanDeleteEnv, roll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:421,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:423,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:424,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:429,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:430,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:431,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:432,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:435,1
    - Dst: walReadVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:436,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:437,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:445,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:446,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:448,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:449,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:450,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:452,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 456
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - walCloseReader
    - sprintf
    - walOpenReader
    - ASSERT
    - EXPECT_EQ
    - taosRand
    - ASSERT_EQ
    - walReadVer
    - strlen
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, readHandleRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:459,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:461,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:462,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:467,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:468,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:469,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:470,1
    - Dst: walLogExist
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:472,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:473,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 475
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - walCloseReader
    - sprintf
    - walOpenReader
    - ASSERT
    - walLogExist
    - ASSERT_EQ
    - strlen
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walLogExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:478,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:482,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:483,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:484,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:485,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:490,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:491,1
    - Dst: walGetCurFileOffset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:492,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:493,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:498,1
    - Dst: walCalcBodyCksum
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:503,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:504,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:505,1
    - Dst: walScanLogGetLastVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:508,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 510
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - sprintf
    - taosGetTimestampUs
    - walGetCurFileOffset
    - walGetCurFileInfo
    - taosWriteFile
    - ASSERT_EQ
    - walScanLogGetLastVer
    - strlen
    - walAppendLog
    - walCalcBodyCksum
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walScanLogGetLastVerHeadMissMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:513,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:517,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:518,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:519,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:520,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:525,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:526,1
    - Dst: walGetCurFileOffset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:527,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:528,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:533,1
    - Dst: walCalcHeadCksum
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:537,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:539,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:540,1
    - Dst: walScanLogGetLastVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:543,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 545
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - sprintf
    - taosGetTimestampUs
    - walGetCurFileOffset
    - walGetCurFileInfo
    - taosWriteFile
    - ASSERT_EQ
    - walScanLogGetLastVer
    - strlen
    - walAppendLog
    - walCalcHeadCksum
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walScanLogGetLastVerBodyMissMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:548,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:552,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:553,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:554,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:555,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:557,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:560,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:561,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:565,1
    - Dst: walCalcHeadCksum
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:567,1
    - Dst: walCalcBodyCksum
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:568,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:569,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:570,1
    - Dst: walCheckAndRepairIdx
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:574,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 576
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - sprintf
    - taosGetTimestampUs
    - walGetCurFileInfo
    - taosWriteFile
    - walCheckAndRepairIdx
    - ASSERT_EQ
    - strlen
    - walAppendLog
    - walCalcHeadCksum
    - walCalcBodyCksum
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walCheckAndRepairIdxFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:579,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:585,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:586,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:587,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:588,1
    - Dst: walRestoreFromSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:590,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 592
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - sprintf
    - ASSERT_EQ
    - strlen
    - walAppendLog
    - walRestoreFromSnapshot
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walRestoreFromSnapshot1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:595,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:601,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:602,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:603,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:604,1
    - Dst: walOpenRef
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:606,1
    - Dst: walRestoreFromSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:608,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 610
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - walOpenRef
    - sprintf
    - ASSERT_EQ
    - strlen
    - walAppendLog
    - walRestoreFromSnapshot
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walRestoreFromSnapshot2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:613,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:619,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:620,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:621,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:622,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:624,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:625,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:629,1
    - Dst: walRollback
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:631,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 633
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - sprintf
    - walGetCurFileInfo
    - walRollback
    - ASSERT_EQ
    - strlen
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walRollback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:636,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:642,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:643,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:644,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:645,1
    - Dst: walChangeWrite
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:648,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 650
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - sprintf
    - walChangeWrite
    - ASSERT_EQ
    - strlen
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walChangeWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:658,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:659,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:660,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:661,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:664,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:665,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:669,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:670,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:671,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:672,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:675,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:676,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:680,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:681,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:682,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:683,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:686,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:687,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:690,1
    - Dst: walCheckAndRepairMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:693,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 695
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - sprintf
    - walCheckAndRepairMeta
    - ASSERT_EQ
    - walRollImpl
    - strlen
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanEnv, walRepairLogFileTs2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:698,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:704,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:705,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:706,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:707,1
    - Dst: TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:710,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:714,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:715,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:716,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:717,1
    - Dst: SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:718,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:721,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:723,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:724,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:727,1
    - Dst: walReadVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:728,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:729,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:737,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:738,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:740,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:741,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:742,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:744,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:750,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:751,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:752,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:753,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:757,1
    - Dst: walReadVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:758,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:759,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:767,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:768,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:770,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:771,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:772,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:774,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:777,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 778
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - taosRemoveFile
    - sprintf
    - walOpenReader
    - SetUp
    - ASSERT
    - EXPECT_EQ
    - taosRand
    - walCloseReader
    - ASSERT_EQ
    - walReadVer
    - strlen
    - TearDown
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalRetentionEnv, repairMeta1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:781,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:787,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:788,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:789,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:790,1
    - Dst: TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:793,1
    - Dst: SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 796
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walResetEnv
    - sprintf
    - SetUp
    - ASSERT_EQ
    - strlen
    - TearDown
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalSkipLevel, restart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:802,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:803,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:804,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:806,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:807,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:808,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:809,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:811,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:812,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:813,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:815,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:816,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:817,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 819
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walBeginSnapshot
    - ASSERT_NE
    - walEndSnapshot
    - ASSERT_EQ
    - walCommit
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalSkipLevel, roll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:824,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:825,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:826,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:828,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 830
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walSaveMeta
    - ASSERT_EQ
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalEncrypted, write)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:833,1
    - Dst: walSetKeepVersion
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:837,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:838,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:839,1
    - Dst: walSetKeepVersion
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:842,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:843,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:844,1
    - Dst: walSetKeepVersion
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:847,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:848,1
    - Dst: walSetKeepVersion
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:851,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 853
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - walResetEnv
    - ASSERT_NE
    - walSetKeepVersion
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walSetKeepVersionBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:861,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:862,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:863,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:864,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:865,1
    - Dst: walSetKeepVersion
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:869,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:870,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:873,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:874,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:875,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:876,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:877,1
    - Dst: ASSERT_LE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:880,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:884,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:885,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:886,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:887,1
    - Dst: walSetKeepVersion
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:891,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:892,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:895,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:896,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:897,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:898,1
    - Dst: ASSERT_LE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 902
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - walBeginSnapshot
    - walAppendLog
    - walEndSnapshot
    - ASSERT_EQ
    - ASSERT_LE
    - walCommit
    - walSetKeepVersion
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalCleanDeleteEnv, walSetKeepVersionWithDeletion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:906,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:912,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:913,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:914,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:915,1
    - Dst: std::vector::push_back
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:925,1
    - Dst: std::thread
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:925,1
    - Dst: walSetKeepVersion
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:928,1
    - Dst: std::atomic::fetch_add
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:930,1
    - Dst: join
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:938,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:942,1
    - Dst: std::atomic::load
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:942,1
    - Dst: ASSERT_GE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:947,1
    - Dst: ASSERT_LT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:948,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 949
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - std::atomic::fetch_add
    - walResetEnv
    - std::thread
    - ASSERT_LT
    - join
    - std::atomic::load
    - sprintf
    - ASSERT_GE
    - walSetKeepVersion
    - ASSERT_EQ
    - std::vector::push_back
    - strlen
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, walSetKeepVersionConcurrent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:953,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:963,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:964,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:965,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:966,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:970,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:971,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:975,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:976,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:977,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:978,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:982,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:983,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:987,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:988,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:989,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:990,1
    - Dst: TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:993,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:996,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:997,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1001,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1002,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1002,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1003,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1004,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1005,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1009,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1011,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1013,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1014,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1015,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1018,1
    - Dst: SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1021,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1024,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1025,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1026,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1030,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 1035
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosGetDirEntryName
    - taosReadDir
    - ASSERT_EQ
    - snprintf
    - taosOpenDir
    - sprintf
    - SetUp
    - strncpy
    - walRollImpl
    - taosDirEntryBaseName
    - strcmp
    - taosRemoveFile
    - ASSERT_NE
    - printf
    - taosMsleep
    - walAppendLog
    - walResetEnv
    - strstr
    - strlen
    - TearDown
    - taosCloseDir
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalRetentionEnv, corruptedDirDeleteFirstFile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1040,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1049,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1050,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1051,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1052,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1055,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1056,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1060,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1061,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1062,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1063,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1066,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1067,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1071,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1072,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1073,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1074,1
    - Dst: TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1077,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1080,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1081,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1083,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1085,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1086,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1086,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1087,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1089,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1090,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1093,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1095,1
    - Dst: ASSERT_GT
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1096,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1099,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1102,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1104,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1105,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1106,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1108,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1111,1
    - Dst: SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1114,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1117,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1118,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1122
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosGetDirEntryName
    - taosArrayPush
    - taosArraySort
    - taosReadDir
    - ASSERT_EQ
    - snprintf
    - taosArrayDestroy
    - taosOpenDir
    - taosArrayGet
    - sprintf
    - SetUp
    - strncpy
    - taosArrayGetSize
    - walRollImpl
    - taosDirEntryBaseName
    - taosRemoveFile
    - ASSERT_NE
    - printf
    - taosMsleep
    - walAppendLog
    - walResetEnv
    - ASSERT_GT
    - strstr
    - taosArrayInit
    - strlen
    - TearDown
    - taosCloseDir
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalRetentionEnv, corruptedDirDeleteMiddleFile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walResetEnv
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1127,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1136,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1137,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1138,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1139,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1142,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1143,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1147,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1148,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1149,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1150,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1153,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1154,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1158,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1159,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1160,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1161,1
    - Dst: TearDown
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1164,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1167,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1168,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1172,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1173,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1173,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1174,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1175,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1176,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1180,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1182,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1184,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1185,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1186,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1189,1
    - Dst: SetUp
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1192,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1195,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1196,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1200
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosGetDirEntryName
    - taosReadDir
    - ASSERT_EQ
    - snprintf
    - taosOpenDir
    - sprintf
    - SetUp
    - strncpy
    - walRollImpl
    - taosDirEntryBaseName
    - strcmp
    - taosRemoveFile
    - ASSERT_NE
    - printf
    - taosMsleep
    - walAppendLog
    - walResetEnv
    - strstr
    - strlen
    - TearDown
    - taosCloseDir
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalRetentionEnv, corruptedDirDeleteLastFile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1211,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1212,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1220,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1221,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1228,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1229,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1230,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1231,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1235,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1236,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1241,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1243,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1246,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1250,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1252,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1252,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1254,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1258,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1259,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1260,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1261,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1263,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1266,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1267,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1270,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1275,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1276,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1277,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1278,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1281,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1284,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1285,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1286,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1289,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1292,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1293,1
    - Dst: walReadVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1296,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1297,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1299,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1301,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1302,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1303,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1306,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1310,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1313
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - strerror
    - walOpenReader
    - ASSERT_EQ
    - snprintf
    - memset
    - walCloseReader
    - sprintf
    - taosRemoveDir
    - walGetCurFileInfo
    - taosWriteFile
    - ASSERT_NE
    - printf
    - walOpen
    - walAppendLog
    - walClose
    - EXPECT_EQ
    - walReadVer
    - taosOpenFile
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, corruptionRecoveryDataLoss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1319,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1320,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1328,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1329,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1336,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1337,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1338,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1339,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1343,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1344,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1349,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1350,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1351,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1352,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1356,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1357,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1361,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1364,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1368,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1369,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1372,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1373,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1374,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1375,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1377,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1380,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1381,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1383,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1388,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1389,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1390,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1391,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1394,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1397,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1398,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1399,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1401,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1404,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1405,1
    - Dst: walReadVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1408,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1409,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1410,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1413,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1416
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - walOpenReader
    - ASSERT_EQ
    - snprintf
    - memset
    - walCloseReader
    - sprintf
    - taosRemoveDir
    - walGetCurFileInfo
    - taosWriteFile
    - walRollImpl
    - ASSERT_NE
    - printf
    - walOpen
    - walAppendLog
    - walClose
    - walReadVer
    - taosOpenFile
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, corruptionRecoveryMultipleFiles)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1424,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1425,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1433,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1434,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1441,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1442,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1443,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1444,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1447,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1448,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1453,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1456,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1460,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1461,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1464,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1467,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1468,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1469,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1471,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1474,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1475,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1476,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1479,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1480,1
    - Dst: walReadVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1483,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1484,1
    - Dst: walReadVer
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1489,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1491,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1495,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1497,1
    - Dst: printf
      Src: /src/tdengine/source/libs/wal/test/walMetaTest.cpp:1499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1422
    functionDepth: 1
    functionLinenumber: 1422
    functionLinenumberEnd: 1500
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/libs/wal/test/walMetaTest.cpp
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosLSeekFile
    - walOpenReader
    - ASSERT_EQ
    - snprintf
    - memset
    - walCloseReader
    - sprintf
    - taosRemoveDir
    - walGetCurFileInfo
    - taosWriteFile
    - ASSERT_TRUE
    - ASSERT_NE
    - printf
    - walOpen
    - walAppendLog
    - walClose
    - walReadVer
    - taosOpenFile
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(WalKeepEnv, corruptionInMiddleOfFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: wFatal
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: wError
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: wWarn
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: wInfo
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: wDebug
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: wTrace
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: wGTrace
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wGTrace(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: wGFatal
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wGFatal(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: wGError
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wGError(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: wGWarn
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wGWarn(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: wGInfo
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wGInfo(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: wGDebug
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wGDebug(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:65,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - pIdxEntry
    argTypes:
    - void**
    - SWalIdxEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: tSerializeWalIdxEntry
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - taosEncodeFixedI64
    linkageType: ''
    returnType: int
    signature: int tSerializeWalIdxEntry(void** buf, SWalIdxEntry* pIdxEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:71,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - pIdxEntry
    argTypes:
    - void*
    - SWalIdxEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: tDeserializeWalIdxEntry
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - taosDecodeFixedI64
    linkageType: ''
    returnType: void
    signature: void * tDeserializeWalIdxEntry(void* buf, SWalIdxEntry* pIdxEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareInt64Val
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: compareWalFileInfo
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - compareInt64Val
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareWalFileInfo(const void* pLeft, const void* pRight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:83,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: walGetLastFileSize
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    - taosArrayGetLast
    linkageType: ''
    returnType: int64_t
    signature: int64_t walGetLastFileSize(SWal* pWal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:89,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: walGetLastFileCachedSize
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    - taosArrayGetLast
    linkageType: ''
    returnType: int64_t
    signature: int64_t walGetLastFileCachedSize(SWal* pWal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:95,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: walGetLastFileFirstVer
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    - taosArrayGetLast
    linkageType: ''
    returnType: int64_t
    signature: int64_t walGetLastFileFirstVer(SWal* pWal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: walGetCurFileFirstVer
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int64_t
    signature: int64_t walGetCurFileFirstVer(SWal* pWal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: walGetCurFileLastVer
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int64_t
    signature: int64_t walGetCurFileLastVer(SWal* pWal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: walGetCurFileOffset
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 2
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int64_t
    signature: int64_t walGetCurFileOffset(SWal* pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: walCurFileClosed
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool walCurFileClosed(SWal* pWal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: walGetCurFileInfo
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 7
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: SWalFileInfo
    signature: SWalFileInfo * walGetCurFileInfo(SWal* pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:126,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pWal
    - fileFirstVer
    - buf
    argTypes:
    - SWal*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: walBuildLogName
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - snprintf
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void walBuildLogName(SWal* pWal, int64_t fileFirstVer, char* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:130,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pWal
    - fileFirstVer
    - buf
    argTypes:
    - SWal*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: walBuildIdxName
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - snprintf
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void walBuildIdxName(SWal* pWal, int64_t fileFirstVer, char* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHead
    argTypes:
    - SWalCkHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: walValidHeadCksum
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - taosCheckChecksum
    linkageType: ''
    returnType: int
    signature: int walValidHeadCksum(SWalCkHead* pHead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHead
    argTypes:
    - SWalCkHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: walValidBodyCksum
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - taosCheckChecksum
    linkageType: ''
    returnType: int
    signature: int walValidBodyCksum(SWalCkHead* pHead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:142,1
    - Dst: walValidBodyCksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - pHead
    - body
    - bodyLen
    argTypes:
    - SWalCkHead*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: walValidCksum
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - walValidBodyCksum
    - walValidHeadCksum
    linkageType: ''
    returnType: int
    signature: int walValidCksum(SWalCkHead* pHead, void* body, int64_t bodyLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pHead
    argTypes:
    - SWalCkHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: walCalcHeadCksum
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 2
    functionsReached:
    - taosCalcChecksum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t walCalcHeadCksum(SWalCkHead* pHead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - body
    - len
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: walCalcBodyCksum
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 2
    functionsReached:
    - taosCalcChecksum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t walCalcBodyCksum(const void* body, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: walGetVerIdxOffset
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached:
    - walGetCurFileFirstVer
    linkageType: ''
    returnType: int64_t
    signature: int64_t walGetVerIdxOffset(SWal* pWal, int64_t ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pVer
    argTypes:
    - SWalVer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: walResetVer
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void walResetVer(SWalVer* pVer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:22,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/wal/src/walRead.c:29,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/wal/src/walRead.c:36,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRead.c:38,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:42,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRead.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - pWal
    - id
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 54
    functionName: walOpenReader
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 6
    functionsReached:
    - taosMemoryMalloc
    - taosThreadMutexInit
    - tGenIdPI64
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: SWalReader
    signature: SWalReader *walOpenReader(SWal *pWal, int64_t id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:59,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:59,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:60,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:60,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walRead.c:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRead.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: walCloseReader
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 6
    functionsReached:
    - taosCloseFile
    - taosMemoryFreeClear
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: void walCloseReader(SWalReader *pReader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:67,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:68,1
    - Dst: walGetAppliedVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:69,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:71,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:76,1
    - Dst: walFetchHead
      Src: /src/tdengine/source/libs/wal/src/walRead.c:76,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:80,1
    - Dst: walFetchBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:80,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:82,1
    - Dst: walSkipFetchBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:82,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pReader
    - scanMeta
    argTypes:
    - SWalReader*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: walNextValidMsg
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - walSkipFetchBody
    - walGetLastVer
    - walGetCommittedVer
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - walGetAppliedVer
    - walFetchBody
    - wDebug
    - walFetchHead
    linkageType: ''
    returnType: int32_t
    signature: int32_t walNextValidMsg(SWalReader *pReader, bool scanMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: walReaderGetCurrentVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t walReaderGetCurrentVer(const SWalReader *pReader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: walReaderGetValidFirstVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - walGetFirstVer
    linkageType: ''
    returnType: int64_t
    signature: int64_t walReaderGetValidFirstVer(const SWalReader *pReader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:95,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pReader
    - sver
    - ever
    argTypes:
    - SWalReader*
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: walReaderValidVersionRange
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - walGetFirstVer
    - walGetCommittedVer
    linkageType: ''
    returnType: void
    signature: void walReaderValidVersionRange(SWalReader *pReader, int64_t *sver,
      int64_t *ever)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:101,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:101,1
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:102,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:103,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pWalReader
    - pOffset
    argTypes:
    - SWalReader*
    - STqOffsetVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: walReaderVerifyOffset
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 1
    functionsReached:
    - walGetFirstVer
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    - TAOS_UNUSED
    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:118,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:120,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:121,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:123,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:126,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:128,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:128,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:129,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:131,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:133,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:137,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:139,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:140,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:141,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pReader
    - fileFirstVer
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 145
    functionName: walReadSeekFilePos
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - taosReadFile
    - taosLSeekFile
    - wError
    - terrstr
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t walReadSeekFilePos(SWalReader *pReader, int64_t fileFirstVer,
      int64_t ver)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:150,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:150,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:151,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:151,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walRead.c:153,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:154,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:156,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:156,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:157,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walRead.c:162,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:163,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:165,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:165,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:166,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pReader
    - fileFirstVer
    argTypes:
    - SWalReader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: walReadChangeFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - walBuildIdxName
    - wError
    - terrstr
    - TAOS_UNUSED
    - TAOS_RETURN
    - taosOpenFile
    - walBuildLogName
    linkageType: ''
    returnType: int32_t
    signature: int32_t walReadChangeFile(SWalReader *pReader, int64_t fileFirstVer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:182,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:182,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/wal/src/walRead.c:183,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:185,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:186,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:186,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:187,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/wal/src/walRead.c:190,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:191,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:191,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:194,1
    - Dst: walReadChangeFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:194,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:198,1
    - Dst: walReadSeekFilePos
      Src: /src/tdengine/source/libs/wal/src/walRead.c:198,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:199,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pReader
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 204
    functionName: walReadSeekVerImpl
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockUnlock
    - TAOS_CHECK_RETURN
    - walReadChangeFile
    - taosThreadRwlockRdlock
    - taosArraySearch
    - wError
    - TAOS_MEMCPY
    - TAOS_UNUSED
    - TAOS_RETURN
    - walReadSeekFilePos
    - wDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t walReadSeekVerImpl(SWalReader *pReader, int64_t ver)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:209,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:211,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:215,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:218,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:221,1
    - Dst: walReadSeekVerImpl
      Src: /src/tdengine/source/libs/wal/src/walRead.c:221,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pReader
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 224
    functionName: walReaderSeekVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - walReadSeekVerImpl
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - wDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t walReaderSeekVer(SWalReader *pReader, int64_t ver)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:233,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:237,1
    - Dst: walReaderSeekVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:237,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:243,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:247,1
    - Dst: walReadSeekVerImpl
      Src: /src/tdengine/source/libs/wal/src/walRead.c:247,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:253,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:255,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pRead
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 270
    functionName: walFetchHead
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 1
    functionsReached:
    - walReaderSeekVer
    - TAOS_CHECK_RETURN
    - taosReadFile
    - TAOS_RETURN
    - walReadSeekVerImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t walFetchHead(SWalReader *pRead, int64_t ver)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:273,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:282,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:284,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:286,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:290,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pRead
    argTypes:
    - SWalReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 293
    functionName: walSkipFetchBody
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 1
    functionsReached:
    - ENCRYPTED_LEN
    - taosLSeekFile
    - TAOS_RETURN
    - wDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t walSkipFetchBody(SWalReader *pRead)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:302,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:310,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:314,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:316,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:323,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:325,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walRead.c:326,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:327,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:329,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:332,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:337,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:339,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:342,1
    - Dst: decryptBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:342,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:352,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - pRead
    argTypes:
    - SWalReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 354
    functionName: walFetchBody
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 1
    functionsReached:
    - taosReadFile
    - TAOS_CHECK_RETURN
    - ENCRYPTED_LEN
    - wError
    - TAOS_RETURN
    - tstrerror
    - taosMemoryRealloc
    - wDebug
    - decryptBody
    linkageType: ''
    returnType: int32_t
    signature: int32_t walFetchBody(SWalReader *pRead)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:357,1
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/wal/src/walRead.c:362,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:363,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:367,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:370,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:373,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:374,1
    - Dst: walReaderSeekVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:378,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:380,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:380,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:381,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:381,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:383,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:390,1
    - Dst: walReadSeekVerImpl
      Src: /src/tdengine/source/libs/wal/src/walRead.c:394,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:396,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:396,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:398,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:405,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walRead.c:406,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:409,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:414,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:414,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:415,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walRead.c:419,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:421,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:423,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:423,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:425,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:432,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:436,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:438,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:438,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:440,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:446,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:452,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walRead.c:453,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:454,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:454,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:455,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:459,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:462,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:462,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:464,1
    - Dst: decryptBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:467,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:469,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:469,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:471,1
    - Dst: walValidBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walRead.c:474,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:476,1
    - Dst: walCalcBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walRead.c:478,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:480,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:483,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:483,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:485,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:489,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:489,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:491,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 93
    argCount: 2
    argNames:
    - pReader
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 492
    functionName: walReadVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 5
    functionsReached:
    - walCalcBodyCksum
    - walIsEmpty
    - walReadSeekVerImpl
    - walReaderSeekVer
    - taosReadFile
    - walValidHeadCksum
    - wError
    - terrstr
    - ENCRYPTED_LEN
    - walValidBodyCksum
    - TAOS_RETURN
    - TAOS_UNUSED
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    - taosMemoryRealloc
    - wDebug
    - decryptBody
    linkageType: ''
    returnType: int32_t
    signature: int32_t walReadVer(SWalReader *pReader, int64_t ver)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:496,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:497,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:499,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/wal/src/walRead.c:508,1
    - Dst: CBC_Decrypt
      Src: /src/tdengine/source/libs/wal/src/walRead.c:510,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/wal/src/walRead.c:514,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRead.c:516,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - cfg
    - pHead
    - plainBodyLen
    - func
    argTypes:
    - SWalCfg*
    - SWalCkHead*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 520
    functionName: decryptBody
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - ENCRYPTED_LEN
    - CBC_Decrypt
    - tstrncpy
    - taosMemoryFree
    - TAOS_RETURN
    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:523,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:524,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:527,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:527,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:528,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:528,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:531,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 532
    functionName: walReadReset
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - wError
    - TAOS_UNUSED
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void walReadReset(SWalReader *pReader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: walGetSeq
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - atomic_load_32
    linkageType: ''
    returnType: int64_t
    signature: int64_t walGetSeq()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:42,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:47,1
    - Dst: walCreateThread
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:49,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:51,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:51,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:52,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:54,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:57,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:58,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - stopDnode
    argTypes:
    - stopDnodeFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 67
    functionName: walInit
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 6
    functionsReached:
    - walCreateThread
    - atomic_val_compare_exchange_8
    - taosOpenRef
    - wError
    - atomic_store_8
    - TAOS_RETURN
    - tstrerror
    - wInfo
    - wWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t walInit(stopDnodeFn stopDnode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:72,1
    - Dst: walStopThread
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:77,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:78,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:79,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: walCleanUp
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 6
    functionsReached:
    - atomic_val_compare_exchange_8
    - taosCloseRef
    - atomic_store_8
    - wInfo
    - walStopThread
    linkageType: ''
    returnType: void
    signature: void walCleanUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockAttrInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:86,1
    - Dst: taosThreadRwlockAttrSetKindNP
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:87,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:88,1
    - Dst: taosThreadRwlockAttrDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: walInitLock
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockAttrInit
    - taosThreadRwlockAttrDestroy
    - taosThreadRwlockAttrSetKindNP
    - taosThreadRwlockInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t walInitLock(SWal *pWal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:99,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:100,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:102,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:106,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:107,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:109,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:109,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:117,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:118,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:119,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:119,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:126,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:127,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 130
    functionName: walInitWriteFileForSkip
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosCloseFile
    - walBuildIdxName
    - taosOpenFile
    - wError
    - memset
    - TAOS_RETURN
    - tstrerror
    - walBuildLogName
    linkageType: ''
    returnType: int32_t
    signature: int32_t walInitWriteFileForSkip(SWal *pWal)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:134,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:136,1
    - Dst: walInitLock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:140,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:141,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:142,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:147,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:160,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:161,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:162,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:162,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:167,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:167,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:169,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:169,1
    - Dst: walResetVer
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:174,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:179,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:181,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:181,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:187,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:189,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:189,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:199,1
    - Dst: walLoadMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:204,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:206,1
    - Dst: walCheckAndRepairMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:209,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:211,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:211,1
    - Dst: walCheckAndRepairIdx
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:215,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:217,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:217,1
    - Dst: walInitWriteFileForSkip
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:221,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:223,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:224,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:230,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:232,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:232,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:238,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:243,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:244,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:245,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:246,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:246,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:247,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 96
    argCount: 2
    argNames:
    - path
    - pCfg
    argTypes:
    - char*
    - SWalCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 250
    functionName: walOpen
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 9
    functionsReached:
    - taosMemoryFreeClear
    - taosAddRef
    - walInitWriteFileForSkip
    - strerror
    - walCheckAndRepairMeta
    - memset
    - TAOS_UNUSED
    - wWarn
    - taosArrayDestroy
    - TAOS_SYSTEM_ERROR
    - memcpy
    - walInitLock
    - taosHashInit
    - taosMkDir
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - walResetVer
    - walLoadMeta
    - wError
    - tstrncpy
    - walCheckAndRepairIdx
    - taosMemoryFree
    - taosHashCleanup
    - taosArrayInit
    - tstrerror
    - taosThreadRwlockDestroy
    - wDebug
    linkageType: ''
    returnType: SWal
    signature: SWal *walOpen(const char *path, SWalCfg *pCfg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:253,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:257,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:260,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:263,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:269,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:270,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:271,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:272,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:272,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pWal
    - pCfg
    argTypes:
    - SWal*
    - SWalCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 285
    functionName: walAlter
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - taosRemoveDir
    - wError
    - taosMkDir
    - TAOS_RETURN
    - tstrerror
    - wInfo
    - wDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t walAlter(SWal *pWal, SWalCfg *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:290,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:290,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:291,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:292,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:292,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: walPersist
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - walSaveMeta
    - taosThreadRwlockUnlock
    - taosThreadRwlockWrlock
    - TAOS_RETURN
    - TAOS_UNUSED
    linkageType: ''
    returnType: int32_t
    signature: int32_t walPersist(SWal *pWal)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:298,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:298,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:299,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:300,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:300,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:302,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:302,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:304,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:306,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:308,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:313,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:316,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:318,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:320,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:323,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:324,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:325,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:326,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:326,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:330,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:331,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 333
    functionName: walClose
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 9
    functionsReached:
    - walSaveMeta
    - taosCloseFile
    - taosHashIterate
    - taosThreadRwlockUnlock
    - taosRemoveDir
    - wError
    - taosThreadRwlockWrlock
    - taosMkDir
    - taosMemoryFree
    - TAOS_UNUSED
    - taosHashCleanup
    - tstrerror
    - wInfo
    - taosRemoveRef
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void walClose(SWal *pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:337,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:339,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wal
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: walFreeObj
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosThreadRwlockDestroy
    - wDebug
    linkageType: ''
    returnType: void
    signature: void walFreeObj(void *wal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: walNeedFsync
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - atomic_load_32
    linkageType: ''
    returnType: bool
    signature: bool walNeedFsync(SWal *pWal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:356,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:357,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:358,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: walUpdateSeq
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - taosMsleep
    - wError
    - strerror
    - atomic_add_fetch_32
    linkageType: ''
    returnType: void
    signature: void walUpdateSeq()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:363,1
    - Dst: walNeedFsync
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:365,1
    - Dst: wTrace
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:366,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:367,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:368,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:370,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:370,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:371,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 376
    functionName: walFsyncAll
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - strerror
    - atomic_load_32
    - wError
    - walGetLastFileFirstVer
    - taosIterateRef
    - taosFsyncFile
    - walNeedFsync
    - wTrace
    linkageType: ''
    returnType: void
    signature: void walFsyncAll()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:379,1
    - Dst: walUpdateSeq
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:381,1
    - Dst: walFsyncAll
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:382,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 388
    functionName: walThreadFunc
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 0
    functionsReached:
    - walUpdateSeq
    - walFsyncAll
    - setThreadName
    - atomic_load_8
    linkageType: ''
    returnType: void
    signature: void *walThreadFunc(void *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:392,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:393,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:395,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:397,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:398,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:398,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:400,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:400,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:403,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:404,1
    - Dst: taosGetPthreadId
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:404,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 407
    functionName: walCreateThread
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrDestroy
    - wDebug
    - taosThreadAttrSetStackSize
    - strerror
    - taosGetPthreadId
    - wError
    - taosThreadAttrSetDetachState
    - TAOS_RETURN
    - taosThreadCreate
    - taosThreadAttrInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t walCreateThread()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:410,1
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:412,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:413,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:414,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 418
    functionName: walStopThread
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: 1
    functionsReached:
    - taosThreadClear
    - taosCheckPthreadValid
    - atomic_store_8
    - taosThreadJoin
    - wDebug
    linkageType: ''
    returnType: void
    signature: void walStopThread()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/wal/src/walRef.c:23,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/wal/src/walRef.c:29,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/wal/src/walRef.c:31,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRef.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: walOpenRef
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRef.c
    functionUses: 1
    functionsReached:
    - tGenIdPI64
    - taosHashPut
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: SWalRef
    signature: SWalRef *walOpenRef(SWal *pWal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/wal/src/walRef.c:44,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRef.c:49,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRef.c:50,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRef.c:52,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/wal/src/walRef.c:55,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRef.c:57,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walRef.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pWal
    - refId
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: walCloseRef
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRef.c
    functionUses: 0
    functionsReached:
    - taosHashRemove
    - taosHashGet
    - wError
    - taosMemoryFree
    - tstrerror
    - wDebug
    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:63,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walRef.c:63,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRef.c:67,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRef.c:67,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRef.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pWal
    - pRef
    argTypes:
    - SWal*
    - SWalRef*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: walRefFirstVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRef.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    - TAOS_UNUSED
    - wDebug
    linkageType: ''
    returnType: void
    signature: void walRefFirstVer(SWal *pWal, SWalRef *pRef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRef.c:72,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walRef.c:72,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRef.c:76,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRef.c:76,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRef.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pWal
    - pRef
    argTypes:
    - SWal*
    - SWalRef*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: walRefLastVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRef.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    - TAOS_UNUSED
    - wDebug
    linkageType: ''
    returnType: void
    signature: void walRefLastVer(SWal *pWal, SWalRef *pRef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FORCE_INLINE::walIsEmpty
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:26,1
    - Dst: FORCE_INLINE::walGetFirstVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:26,1
    - Dst: FORCE_INLINE::walGetLastVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: FORCE_INLINE::walLogExist
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - FORCE_INLINE::walGetFirstVer
    - FORCE_INLINE::walGetLastVer
    - FORCE_INLINE::walIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool FORCE_INLINE walLogExist(SWal* pWal, int64_t ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: FORCE_INLINE::walIsEmpty
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FORCE_INLINE walIsEmpty(SWal* pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: FORCE_INLINE::walGetFirstVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FORCE_INLINE walGetFirstVer(SWal* pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: FORCE_INLINE::walGetSnapshotVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FORCE_INLINE walGetSnapshotVer(SWal* pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: FORCE_INLINE::walGetLastVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FORCE_INLINE walGetLastVer(SWal* pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: FORCE_INLINE::walGetCommittedVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FORCE_INLINE walGetCommittedVer(SWal* pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: FORCE_INLINE::walGetAppliedVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FORCE_INLINE walGetAppliedVer(SWal* pWal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:49,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:54,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:58,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:58,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:64,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:66,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:66,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:69,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:70,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: walSetKeepVersion
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 3
    functionsReached:
    - walSaveMeta
    - taosThreadRwlockUnlock
    - wError
    - taosThreadRwlockWrlock
    - TAOS_UNUSED
    - tstrerror
    - wInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t walSetKeepVersion(SWal *pWal, int64_t ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pWal
    - metaVer
    - buf
    argTypes:
    - SWal*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: walBuildMetaName
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE walBuildMetaName(SWal* pWal, int64_t metaVer, char* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pWal
    - buf
    argTypes:
    - SWal*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: walBuildTmpMetaName
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE walBuildTmpMetaName(SWal* pWal, char* buf)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:90,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:93,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:96,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:99,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:99,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:101,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:102,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:105,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:114,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:122,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:129,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:130,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:135,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:136,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:139,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:141,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:141,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:142,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:145,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:146,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:146,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:148,1
    - Dst: tmemmem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:162,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:175,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:177,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:190,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:197,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:198,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:201,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:203,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:204,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:208,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:209,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:210,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:217,1
    - Dst: decryptBody
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:217,1
    - Dst: walValidBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:219,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:221,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:232,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:252,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:255,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:256,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:256,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:257,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:260,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:261,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:261,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:262,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:270,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:270,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:272,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:272,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:273,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:276,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 115
    argCount: 3
    argNames:
    - pWal
    - fileIdx
    - lastVer
    argTypes:
    - SWal*
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 277
    functionName: walScanLogGetLastVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 2
    functionsReached:
    - taosCloseFile
    - TAOS_CHECK_GOTO
    - walValidHeadCksum
    - TMIN
    - taosLSeekFile
    - strerror
    - tmemmem
    - TAOS_UNUSED
    - TSDB_CHECK_NULL
    - wWarn
    - taosArrayGet
    - walValidBodyCksum
    - taosArrayGetSize
    - decryptBody
    - taosStatFile
    - wError
    - ENCRYPTED_LEN
    - tstrerror
    - taosFsyncFile
    - walBuildLogName
    - taosReadFile
    - TMAX
    - taosMemoryFree
    - TAOS_RETURN
    - taosOpenFile
    - taosGetInt64Aligned
    - taosMemoryRealloc
    - taosFtruncateFile
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE walScanLogGetLastVer(SWal* pWal, int32_t fileIdx, int64_t*
      lastVer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:280,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:281,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:286,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:288,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:301,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:304,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:305,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:306,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - metaLogList
    - actualLogList
    argTypes:
    - SArray*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 311
    functionName: walRebuildFileInfoSet
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - TAOS_RETURN
    - taosArrayGetSize
    - taosArrayClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t walRebuildFileInfoSet(SArray* metaLogList, SArray* actualLogList)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:315,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:321,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:326,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:331,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 342
    functionName: walAlignVersions
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - wInfo
    - wWarn
    linkageType: ''
    returnType: void
    signature: void walAlignVersions(SWal* pWal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:345,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:351,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:357,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:359,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:360,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:360,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:362,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pWal
    - updateMeta
    argTypes:
    - SWal*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 372
    functionName: walRepairLogFileTs
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosStatFile
    - taosArrayGet
    - strerror
    - wError
    - taosArrayGetSize
    - TAOS_RETURN
    - walBuildLogName
    linkageType: ''
    returnType: int32_t
    signature: int32_t walRepairLogFileTs(SWal* pWal, bool* updateMeta)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:379,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:384,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:385,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:389,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:390,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:395,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:396,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:398,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:401,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:402,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:403,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:404,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:405,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:409,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:412,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:413,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:414,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:415,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:424,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:428,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:428,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 432
    functionName: walRenameCorruptedDir
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - TAOS_SYSTEM_ERROR
    - TAOS_CHECK_GOTO
    - taosArrayClear
    - wError
    - snprintf
    - taosGetTimestampMs
    - tstrncpy
    - taosMkDir
    - taosRenameFile
    - tstrerror
    - wInfo
    - TAOS_RETURN
    - wDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t walRenameCorruptedDir(SWal* pWal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:435,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:441,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:453,1
    - Dst: walShouldDeleteCorruption
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:456,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:457,1
    - Dst: walRenameCorruptedDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:457,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:459,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 464
    functionName: walLogEntriesComplete
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - walShouldDeleteCorruption
    - wError
    - TAOS_RETURN
    - taosArrayGetSize
    - walRenameCorruptedDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t walLogEntriesComplete(SWal* pWal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:471,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:472,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:475,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:478,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:478,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:480,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:483,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:485,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:486,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:488,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:491,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:491,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:495,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:495,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:498,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pWal
    - fileIdx
    argTypes:
    - SWal*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 500
    functionName: walTrimIdxFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - walBuildIdxName
    - taosStatFile
    - taosArrayGet
    - tstrerror
    - TMAX
    - wError
    - TAOS_RETURN
    - TSDB_CHECK_NULL
    - taosOpenFile
    - wInfo
    - TAOS_CHECK_EXIT
    - taosFtruncateFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t walTrimIdxFile(SWal* pWal, int32_t fileIdx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:503,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:505,1
    - Dst: wTrace
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vgId
    - fileSet
    - str
    argTypes:
    - int32_t
    - SArray*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 511
    functionName: printFileSet
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - wTrace
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void printFileSet(int32_t vgId, SArray* fileSet, const char* str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: regfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - regex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 518
    functionName: walRegfree
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - regfree
    linkageType: ''
    returnType: void
    signature: void walRegfree(regex_t* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmRepairNeedWalRepair
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    functionName: walShouldDeleteCorruption
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 1
    functionsReached:
    - dmRepairNeedWalRepair
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE walShouldDeleteCorruption(const SWal* pWal)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:534,1
    - Dst: TAOS_CHECK_EXIT_SET_CODE
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:538,1
    - Dst: regcomp
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:538,1
    - Dst: TAOS_CHECK_EXIT_SET_CODE
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:540,1
    - Dst: regcomp
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:540,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:542,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:543,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:545,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:549,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:550,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:550,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:551,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:554,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:555,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:556,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:556,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:560,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:562,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:563,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:564,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:566,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:574,1
    - Dst: walRebuildFileInfoSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:574,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:576,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:577,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:578,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:580,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:588,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:590,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:591,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:592,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:592,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:596,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:602,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:609,1
    - Dst: walTrimIdxFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:609,1
    - Dst: walScanLogGetLastVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:612,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:615,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:615,1
    - Dst: walShouldDeleteCorruption
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:616,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:617,1
    - Dst: walRenameCorruptedDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:617,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:626,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:635,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:640,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:641,1
    - Dst: walAlignVersions
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:646,1
    - Dst: walRepairLogFileTs
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:646,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:648,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:649,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:653,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:656,1
    - Dst: walLogEntriesComplete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:656,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:658,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:663,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:663,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:665,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:666,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:666,1
    - Dst: walRegfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:667,1
    - Dst: walRegfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:668,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 78
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 524
    functionDepth: 4
    functionLinenumber: 524
    functionLinenumberEnd: 671
    functionName: walCheckAndRepairMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 2
    functionsReached:
    - taosGetDirEntryName
    - taosArrayPush
    - taosArraySort
    - taosReadDir
    - regexec
    - walAlignVersions
    - memset
    - TAOS_UNUSED
    - TSDB_CHECK_NULL
    - wWarn
    - taosOpenDir
    - taosArrayDestroy
    - taosArrayGet
    - printFileSet
    - walShouldDeleteCorruption
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - taosDirEntryBaseName
    - walRenameCorruptedDir
    - regcomp
    - taosStatFile
    - walLogEntriesComplete
    - taosArrayGetLast
    - sscanf
    - wError
    - walScanLogGetLastVer
    - wInfo
    - walBuildLogName
    - walRegfree
    - walTrimIdxFile
    - walSaveMeta
    - TAOS_CHECK_EXIT_SET_CODE
    - walRebuildFileInfoSet
    - walRepairLogFileTs
    - TAOS_RETURN
    - taosArrayInit
    - tstrerror
    - taosCloseDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t walCheckAndRepairMeta(SWal* pWal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:674,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:676,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pLogFile
    - offset
    - pCkHead
    argTypes:
    - TdFilePtr
    - int64_t
    - SWalCkHead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 681
    functionName: walReadLogHead
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosLSeekFile
    - taosReadFile
    - walValidHeadCksum
    linkageType: ''
    returnType: int32_t
    signature: int32_t walReadLogHead(TdFilePtr pLogFile, int64_t offset, SWalCkHead*
      pCkHead)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:686,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:688,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:690,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:693,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:694,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:694,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:696,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:700,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:709,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:712,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:714,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:714,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:715,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:718,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:720,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:720,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:721,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:726,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:727,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:727,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:729,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:732,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:733,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:733,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:736,1
    - Dst: walReadLogHead
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:747,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:748,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:749,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:763,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:764,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:764,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:766,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:771,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:772,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:772,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:773,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:785,1
    - Dst: walReadLogHead
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:789,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:791,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:792,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:793,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:795,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:796,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:796,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:797,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:802,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:803,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:803,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:804,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:804,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:808,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:814,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:814,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:817,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:818,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:820,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 2
    argNames:
    - pWal
    - fileIdx
    argTypes:
    - SWal*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 821
    functionName: walCheckAndRepairIdxFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - walBuildIdxName
    - TAOS_CHECK_GOTO
    - taosLSeekFile
    - strerror
    - memset
    - wWarn
    - TAOS_SYSTEM_ERROR
    - taosArrayGet
    - taosWriteFile
    - taosArrayGetSize
    - taosStatFile
    - wError
    - terrstr
    - ENCRYPTED_LEN
    - tstrerror
    - taosFsyncFile
    - wInfo
    - walBuildLogName
    - taosReadFile
    - walReadLogHead
    - TAOS_RETURN
    - taosOpenFile
    - taosFtruncateFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t walCheckAndRepairIdxFile(SWal* pWal, int32_t fileIdx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:826,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:827,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:829,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:831,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:838,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pWal
    - bytes
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 842
    functionName: walGetVerRetention
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockUnlock
    - taosArrayGet
    - taosThreadRwlockRdlock
    - wError
    - taosArrayGetSize
    linkageType: ''
    returnType: int64_t
    signature: int64_t walGetVerRetention(SWal* pWal, int64_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:846,1
    - Dst: walCheckAndRepairIdxFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:850,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:852,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:852,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:854,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 844
    functionDepth: 4
    functionLinenumber: 844
    functionLinenumberEnd: 859
    functionName: walCheckAndRepairIdx
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 2
    functionsReached:
    - walCheckAndRepairIdxFile
    - wError
    - terrstr
    - taosArrayGetSize
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t walCheckAndRepairIdx(SWal* pWal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:862,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:865,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:866,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:872,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:874,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:882,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:883,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:884,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:887,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 889
    functionName: walRollFileInfo
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 3
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - taosArrayGetLast
    - taosGetTimestampSec
    - TAOS_RETURN
    - taosArrayGetSize
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t walRollFileInfo(SWal* pWal)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:893,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:894,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:895,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:896,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:900,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:903,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:906,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:909,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:911,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:912,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:913,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:914,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:915,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:916,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:917,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:918,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:919,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:920,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:921,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:923,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:927,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:927,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:928,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:931,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:932,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:936,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:937,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:938,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:939,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:940,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:941,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:942,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:943,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:944,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:945,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:947,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:948,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:952,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:954,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 75
    argCount: 2
    argNames:
    - pWal
    - serialized
    argTypes:
    - SWal*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 956
    functionName: walMetaSerialize
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 2
    functionsReached:
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - cJSON_CreateObject
    - cJSON_Print
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - TAOS_RETURN
    - taosArrayGetSize
    - wInfo
    - cJSON_Delete
    linkageType: ''
    returnType: int32_t
    signature: int32_t walMetaSerialize(SWal* pWal, char** serialized)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:961,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:963,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:965,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:967,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:967,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:968,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:970,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:970,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:971,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:973,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:973,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:974,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:976,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:976,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:978,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:980,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:980,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:985,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:986,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:989,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:990,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:995,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1000,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1002,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1002,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1003,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1005,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1005,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1006,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1008,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1008,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1009,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1011,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1011,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1012,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1014,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1014,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1015,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1016,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1022,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1026,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 2
    argNames:
    - pWal
    - bytes
    argTypes:
    - SWal*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 1028
    functionName: walMetaDeserialize
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - cJSON_GetArrayItem
    - cJSON_GetArraySize
    - cJSON_GetStringValue
    - cJSON_Parse
    - cJSON_GetObjectItem
    - cJSON_Delete
    - taosArrayEnsureCap
    - atoll
    linkageType: ''
    returnType: int32_t
    signature: int32_t walMetaDeserialize(SWal* pWal, const char* bytes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: regcomp
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1036,1
    - Dst: regerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1038,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1038,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1039,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1043,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1045,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1045,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1046,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1054,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1055,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1055,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1056,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1058,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1059,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1062,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1064,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1065,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1065,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1066,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1069,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pWal
    - pMetaVer
    argTypes:
    - SWal*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1072
    functionName: walFindCurMetaVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - taosGetDirEntryName
    - regcomp
    - taosReadDir
    - taosDirEntryBaseName
    - regfree
    - tListLen
    - regexec
    - sscanf
    - wError
    - tstrerror
    - taosOpenDir
    - regerror
    - wDebug
    - taosCloseDir
    linkageType: ''
    returnType: int
    signature: int walFindCurMetaVer(SWal* pWal, int64_t* pMetaVer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1078
    functionName: walUpdateSyncedOffset
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - walGetCurFileInfo
    linkageType: ''
    returnType: void
    signature: void walUpdateSyncedOffset(SWal* pWal)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1088,1
    - Dst: walFindCurMetaVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1088,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1090,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1091,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1091,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1092,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1092,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1095,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1096,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1096,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1097,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1097,1
    - Dst: walUpdateSyncedOffset
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1101,1
    - Dst: walBuildTmpMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1104,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1106,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1106,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1109,1
    - Dst: walMetaSerialize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1109,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1110,1
    - Dst: taosWriteCfgFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1113,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1115,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1115,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1116,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1119,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1123,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1125,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1128,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1129,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1129,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1130,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1130,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1135,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1137,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1137,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1139,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1141,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1141,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1143,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1147,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1151,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1080
    functionDepth: 3
    functionLinenumber: 1080
    functionLinenumberEnd: 1154
    functionName: walSaveMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 10
    functionsReached:
    - TAOS_CHECK_GOTO
    - strerror
    - taosRenameFile
    - walMetaSerialize
    - taosWriteCfgFile
    - TAOS_SYSTEM_ERROR
    - walFindCurMetaVer
    - walUpdateSyncedOffset
    - walBuildTmpMetaName
    - walBuildMetaName
    - taosRemoveFile
    - wError
    - wInfo
    - taosFsyncFile
    - TAOS_CHECK_RETURN
    - taosMemoryFree
    - TAOS_RETURN
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t walSaveMeta(SWal* pWal)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1164,1
    - Dst: walFindCurMetaVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1164,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1167,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1169,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1169,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1173,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1173,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1175,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1177,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1177,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1179,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1181,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1183,1
    - Dst: taosReadCfgFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1187,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1189,1
    - Dst: walMetaDeserialize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1193,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1195,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1199,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1201,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1202,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1206,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1206,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1209,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1155
    functionDepth: 2
    functionLinenumber: 1155
    functionLinenumberEnd: 1211
    functionName: walLoadMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 1
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosStatFile
    - walFindCurMetaVer
    - walBuildMetaName
    - walMetaDeserialize
    - taosRemoveFile
    - strerror
    - printFileSet
    - TSDB_CHECK_CODE
    - wError
    - taosMemoryFree
    - TAOS_RETURN
    - taosArrayGetSize
    - tstrerror
    - wInfo
    - taosReadCfgFile
    - TAOS_CHECK_EXIT
    - wDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t walLoadMeta(SWal* pWal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: walFindCurMetaVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1217,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1218,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1218,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1219,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1223,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1225,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1225,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1213
    functionDepth: 2
    functionLinenumber: 1213
    functionLinenumberEnd: 1228
    functionName: walRemoveMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - walFindCurMetaVer
    - walBuildMetaName
    - taosRemoveFile
    - wError
    - TAOS_RETURN
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t walRemoveMeta(SWal* pWal)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:26,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:26,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:28,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:32,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:36,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:37,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:37,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:39,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:43,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:43,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:44,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:44,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:47,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:49,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:51,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:52,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:53,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:53,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:54,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:54,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:56,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:58,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:60,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:61,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:62,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:62,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:63,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:63,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:65,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:67,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:71,1
    - Dst: walRemoveMeta
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:71,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:77,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:84,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:84,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:86,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 87
    functionName: walRestoreFromSnapshot
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 2
    functionsReached:
    - taosHashIterate
    - taosThreadRwlockUnlock
    - taosCloseFile
    - taosHashCancelIterate
    - taosArrayGet
    - walBuildIdxName
    - TAOS_CHECK_RETURN
    - taosRemoveFile
    - wError
    - taosThreadRwlockWrlock
    - terrstr
    - TAOS_UNUSED
    - TAOS_RETURN
    - taosArrayGetSize
    - wInfo
    - walBuildLogName
    - taosArrayClear
    - walRemoveMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t walRestoreFromSnapshot(SWal *pWal, int64_t ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: walApplyVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void walApplyVer(SWal *pWal, int64_t ver)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - 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:96,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: walCommit
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 3
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t walCommit(SWal *pWal, int64_t ver)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:108,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:111,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:117,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:120,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:129,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:131,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:134,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:135,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:141,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:142,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:144,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 155
    functionName: walChangeWrite
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 1
    functionsReached:
    - taosCloseFile
    - walBuildIdxName
    - taosArrayGet
    - taosArraySearchIdx
    - TAOS_UNUSED
    - taosOpenFile
    - taosFsyncFile
    - walBuildLogName
    linkageType: ''
    returnType: int64_t
    signature: int64_t walChangeWrite(SWal *pWal, int64_t ver)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:158,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:158,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:159,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:171,1
    - Dst: TAOS_CHECK_EXIT_SET_CODE
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:173,1
    - Dst: walChangeWrite
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:173,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:176,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:178,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:180,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:181,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:182,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:183,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:183,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:185,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:186,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:187,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:188,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:188,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:193,1
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:193,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:194,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:195,1
    - Dst: walGetVerIdxOffset
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:196,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:197,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:204,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:209,1
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:209,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:210,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:211,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:212,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:214,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:222,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:227,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:235,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:237,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:240,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:241,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:243,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:243,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:247,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:247,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:249,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:249,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:250,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:250,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:251,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:251,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:253,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 254
    functionName: walRollback
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 3
    functionsReached:
    - taosCloseFile
    - walBuildIdxName
    - walValidHeadCksum
    - taosLSeekFile
    - taosThreadRwlockWrlock
    - walGetLastFileFirstVer
    - TAOS_UNUSED
    - TSDB_CHECK_NULL
    - wWarn
    - taosThreadRwlockUnlock
    - walChangeWrite
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - taosArrayGetLast
    - taosRemoveFile
    - wError
    - terrstr
    - taosArrayPop
    - tstrerror
    - walGetCurFileFirstVer
    - wInfo
    - taosFtruncateFile
    - walBuildLogName
    - walSaveMeta
    - TAOS_CHECK_EXIT_SET_CODE
    - taosReadFile
    - walGetVerIdxOffset
    - TAOS_RETURN
    - taosOpenFile
    - wDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t walRollback(SWal *pWal, int64_t ver)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:260,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:263,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:264,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:266,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:268,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:273,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:274,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:276,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:278,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:286,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:287,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:288,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:290,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:291,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:292,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:293,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:295,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:295,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:300,1
    - Dst: walGetSeq
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:302,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:304,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:304,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:308,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:308,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:311,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 312
    functionName: walRollImpl
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 5
    functionsReached:
    - walSaveMeta
    - taosCloseFile
    - walBuildIdxName
    - TAOS_CHECK_GOTO
    - tstrerror
    - wError
    - walRollFileInfo
    - TAOS_RETURN
    - TSDB_CHECK_NULL
    - taosOpenFile
    - taosFsyncFile
    - taosArrayGetSize
    - walGetSeq
    - walBuildLogName
    - wDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t walRollImpl(SWal *pWal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:315,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:316,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:316,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:318,1
    - Dst: walGetSeq
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:321,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:323,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:323,1
    - Dst: walGetLastFileSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:324,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:325,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:325,1
    - Dst: walGetLastFileCachedSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:328,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:329,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:329,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 314
    functionDepth: 5
    functionLinenumber: 314
    functionLinenumberEnd: 333
    functionName: walCheckAndRoll
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached:
    - walGetLastFileCachedSize
    - walSaveMeta
    - walGetLastFileSize
    - TAOS_CHECK_RETURN
    - walGetSeq
    - TAOS_RETURN
    - taosArrayGetSize
    - walRollImpl
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE walCheckAndRoll(SWal *pWal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:340,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:344,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:347,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:347,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:351,1
    - Dst: walGetLastFileSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:355,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:355,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:359,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:359,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:361,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:361,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pWal
    - ver
    - logRetention
    argTypes:
    - SWal*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 335
    functionDepth: 5
    functionLinenumber: 335
    functionLinenumberEnd: 363
    functionName: walBeginSnapshot
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 4
    functionsReached:
    - taosThreadRwlockUnlock
    - walGetLastFileSize
    - wError
    - taosThreadRwlockWrlock
    - TAOS_RETURN
    - TAOS_UNUSED
    - tstrerror
    - walRollImpl
    - wDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t walBeginSnapshot(SWal *pWal, int64_t ver, int64_t logRetention)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:369,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:372,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:372,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:375,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:380,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:384,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:385,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:392,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:396,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:400,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:401,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:406,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:408,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:410,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:419,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:422,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:425,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:445,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:446,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:451,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:452,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:456,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:461,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:465,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:465,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:468,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:473,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:475,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:476,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:477,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:477,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:480,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:481,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:482,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:482,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:487,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:490,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:493,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:496,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:496,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 92
    argCount: 2
    argNames:
    - pWal
    - forceTrim
    argTypes:
    - SWal*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 500
    functionName: walEndSnapshot
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 4
    functionsReached:
    - taosArrayPush
    - walBuildIdxName
    - TAOS_CHECK_GOTO
    - TMIN
    - strerror
    - taosThreadRwlockWrlock
    - TAOS_UNUSED
    - taosThreadRwlockUnlock
    - taosArrayGet
    - taosArrayPopFrontBatch
    - taosArraySearch
    - taosGetTimestampSec
    - taosArrayGetSize
    - taosArrayClear
    - taosRemoveFile
    - wError
    - wInfo
    - walBuildLogName
    - walSaveMeta
    - taosHashIterate
    - TMAX
    - TAOS_RETURN
    - tstrerror
    - wDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t walEndSnapshot(SWal *pWal, bool forceTrim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:504,1
    - Dst: SWal*::stopDnode
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: walStopDnode
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached:
    - wWarn
    - SWal*::stopDnode
    linkageType: ''
    returnType: void
    signature: void walStopDnode(SWal *pWal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:513,1
    - Dst: wGTrace
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:516,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:519,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:521,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:521,1
    - Dst: walStopDnode
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:522,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:523,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:527,1
    - Dst: wGFatal
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:529,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:530,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:531,1
    - Dst: exit
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:532,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - pWal
    - ver
    - offset
    - trace
    argTypes:
    - SWal*
    - int64_t
    - int64_t
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 536
    functionName: walWriteIndex
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached:
    - wGError
    - exit
    - wGTrace
    - wGFatal
    - taosLSeekFile
    - strerror
    - walGetCurFileInfo
    - taosWriteFile
    - TAOS_RETURN
    - tstrerror
    - taosMsleep
    - walStopDnode
    linkageType: ''
    returnType: int32_t
    signature: int32_t walWriteIndex(SWal *pWal, int64_t ver, int64_t offset, const
      STraceId *trace)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: walGetCurFileOffset
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:543,1
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:544,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:549,1
    - Dst: walCalcHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:554,1
    - Dst: walCalcBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:555,1
    - Dst: wGDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:556,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:557,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:560,1
    - Dst: walWriteIndex
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:560,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:564,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:566,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:567,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:567,1
    - Dst: walStopDnode
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:568,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:569,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:578,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:580,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:581,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:583,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:584,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:586,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:588,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:589,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:589,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:591,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:593,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:602,1
    - Dst: CBC_Encrypt
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:604,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:605,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:612,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:614,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:615,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:615,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:618,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:619,1
    - Dst: walStopDnode
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:622,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:624,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:628,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:629,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:645,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:645,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:649,1
    - Dst: wGFatal
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:650,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:651,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:652,1
    - Dst: exit
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:653,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:657,1
    - Dst: wGFatal
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:658,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:659,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:660,1
    - Dst: exit
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:661,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:664,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 79
    argCount: 7
    argNames:
    - pWal
    - index
    - msgType
    - syncMeta
    - body
    - bodyLen
    - trace
    argTypes:
    - SWal*
    - int64_t
    - tmsg_t
    - SWalSyncInfo
    - void*
    - int32_t
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 665
    functionName: walWriteImpl
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_CHECK_GOTO
    - wGFatal
    - taosGetTimestampUs
    - strerror
    - walGetCurFileOffset
    - CBC_Encrypt
    - walGetLastFileFirstVer
    - memset
    - TSDB_CHECK_NULL
    - walCalcBodyCksum
    - TMSG_INFO
    - memcpy
    - exit
    - walGetCurFileInfo
    - taosWriteFile
    - walCalcHeadCksum
    - wGDebug
    - ENCRYPTED_LEN
    - terrstr
    - tstrncpy
    - taosMsleep
    - wGError
    - taosMemoryMalloc
    - TAOS_RETURN
    - tstrerror
    - walStopDnode
    - taosFtruncateFile
    - walWriteIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE walWriteImpl(SWal *pWal, int64_t index, tmsg_t msgType,
      SWalSyncInfo syncMeta,\n                                         const void
      *body, int32_t bodyLen, const STraceId *trace)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:671,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:678,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:679,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:681,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:683,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:684,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:686,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:686,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:687,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:692,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:693,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:695,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:695,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:696,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:699,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 702
    functionName: walInitWriteFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - walBuildIdxName
    - taosArrayGetLast
    - wError
    - terrstr
    - walRollFileInfo
    - TAOS_RETURN
    - TAOS_UNUSED
    - taosOpenFile
    - taosArrayGetSize
    - walBuildLogName
    linkageType: ''
    returnType: int32_t
    signature: int32_t walInitWriteFile(SWal *pWal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:708,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:708,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:711,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:714,1
    - Dst: walCheckAndRoll
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:714,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:717,1
    - Dst: walInitWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:717,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:720,1
    - Dst: walWriteImpl
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:720,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:724,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:724,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:727,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 7
    argNames:
    - pWal
    - index
    - msgType
    - syncMeta
    - body
    - bodyLen
    - trace
    argTypes:
    - SWal*
    - int64_t
    - tmsg_t
    - SWalSyncInfo
    - void*
    - int32_t
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 704
    functionDepth: 6
    functionLinenumber: 704
    functionLinenumberEnd: 729
    functionName: walAppendLog
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 27
    functionsReached:
    - walWriteImpl
    - taosThreadRwlockUnlock
    - TAOS_CHECK_GOTO
    - walCheckAndRoll
    - wError
    - taosThreadRwlockWrlock
    - TAOS_UNUSED
    - tstrerror
    - walInitWriteFile
    linkageType: ''
    returnType: int32_t
    signature: "int32_t walAppendLog(SWal *pWal, int64_t index, tmsg_t msgType, SWalSyncInfo
      syncMeta, const void *body,\n                     int32_t bodyLen, const STraceId
      *trace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:738,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:738,1
    - Dst: wTrace
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:740,1
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:740,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:741,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:742,1
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:742,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:743,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:747,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pWal
    - forceFsync
    argTypes:
    - SWal*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 750
    functionName: walFsync
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: 0
    functionsReached:
    - taosThreadRwlockUnlock
    - taosFsyncFile
    - strerror
    - wError
    - taosThreadRwlockWrlock
    - TAOS_UNUSED
    - walGetCurFileFirstVer
    - wTrace
    linkageType: ''
    returnType: int32_t
    signature: int32_t walFsync(SWal *pWal, bool forceFsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/command/test/commandTest.cpp:19,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/command/test/commandTest.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/command/test/commandTest.cpp
    functionUses: 2
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _order
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: EXPLAIN_ORDER_STRING
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_ORDER_STRING(_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: EXPLAIN_JOIN_STRING
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_JOIN_STRING(_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: EXPLAIN_MERGE_MODE_STRING
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_MERGE_MODE_STRING(_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _ctx
    - ','
    - _pid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: EXPLAIN_GET_CUR_PLAN_CTX
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_GET_CUR_PLAN_CTX(_ctx, _pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _t
    - ','
    - _u
    - ','
    - _p
    - ','
    - _r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: INVERAL_TIME_FROM_PRECISION_TO_UNIT
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVERAL_TIME_FROM_PRECISION_TO_UNIT(_t, _u, _p, _r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: EXPLAIN_SUB_PLAN_LINE
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_SUB_PLAN_LINE(_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: EXPLAIN_ROW_NEW
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_ROW_NEW(level, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: EXPLAIN_ROW_APPEND
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_ROW_APPEND(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: EXPLAIN_ROW_END
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_ROW_END()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: EXPLAIN_SUM_ROW_NEW
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_SUM_ROW_NEW(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: EXPLAIN_SUM_ROW_END
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_SUM_ROW_END()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _pLimit
    - ','
    - sl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: EXPLAIN_ROW_APPEND_LIMIT_IMPL
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_ROW_APPEND_LIMIT_IMPL(_pLimit, sl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _pLimit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: EXPLAIN_ROW_APPEND_LIMIT
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_ROW_APPEND_LIMIT(_pLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _pLimit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: EXPLAIN_ROW_APPEND_SLIMIT
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_ROW_APPEND_SLIMIT(_pLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: EXPLAIN_CONVERT_TS_US_TO_MS
    functionSourceFile: /src/tdengine/source/libs/command/inc/commandInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPLAIN_CONVERT_TS_US_TO_MS(_ts)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - pDyn
    argTypes:
    - SDynQueryCtrlPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: qExplainGetDynQryCtrlType
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * qExplainGetDynQryCtrlType(const SDynQueryCtrlPhysiNode* pDyn)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - opType
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: qExplainGetAsofOpStr
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * qExplainGetAsofOpStr(int32_t opType)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - target
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: qExplainGetTimerangeTargetStr
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * qExplainGetTimerangeTargetStr(int32_t target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pRsp
    - pVgIds
    argTypes:
    - SExplainRsp*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: qExplainRspMatchVgIds
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool qExplainRspMatchVgIds(const SExplainRsp* pRsp, const SArray* pVgIds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:125,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:128,1
    - Dst: qExplainFreeResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:128,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/command/src/explain.c:129,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/command/src/explain.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - resNode
    argTypes:
    - SExplainResNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: qExplainFreeResNode
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - nodesClearList
    - qExplainFreeResNode
    - FOREACH
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void qExplainFreeResNode(SExplainResNode *resNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/command/src/explain.c:136,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:140,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:142,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:143,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:145,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/command/src/explain.c:148,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/command/src/explain.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pCtx
    - isAnalyze
    argTypes:
    - SExplainPlanCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: qExplainFreePlanCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - tFreeSExplainRsp
    - taosArrayGet
    - taosArrayGetSize
    - taosHashCleanup
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void qExplainFreePlanCtx(SExplainPlanCtx* pCtx, bool isAnalyze)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:160,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:162,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/command/src/explain.c:163,1
    - Dst: qExplainFreePlanCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:166,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:168,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:170,1
    - Dst: qExplainFreePlanCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:171,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:173,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:176,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/command/src/explain.c:177,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SExplainCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 179
    functionName: qExplainFreeCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - qExplainFreePlanCtx
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void qExplainFreeCtx(SExplainCtx *pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      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: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:186,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/explain.c:189,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:191,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:192,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:195,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:197,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:198,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:213,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:214,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - pCtx
    - verbose
    - ratio
    - mode
    argTypes:
    - SExplainCtx**
    - bool
    - double
    - EExplainMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 217
    functionName: qExplainInitCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - QRY_RET
    - QRY_ERR_JRET
    - qError
    - taosMemoryFree
    - taosArrayInit
    - taosArrayDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainInitCtx(SExplainCtx **pCtx, bool verbose, double ratio,
      EExplainMode mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/command/src/explain.c:224,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:226,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:227,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:234,1
    - Dst: qExplainGenerateResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:234,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:235,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/command/src/explain.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - plan
    - pNode
    - group
    - pChildren
    argTypes:
    - SSubplan*
    - SPhysiNode*
    - SExplainGroup*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 239
    functionName: qExplainGenerateResChildren
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - qExplainGenerateResNode
    - nodesMakeList
    - qError
    - QRY_ERR_RET
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainGenerateResChildren(SSubplan *plan, SPhysiNode *pNode,
      SExplainGroup *group, SNodeList **pChildren)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:234,1
    - Dst: qExplainGenerateResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:234,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:235,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/command/src/explain.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 187
    functionsReached:
    - qExplainGenerateResNode
    - QRY_ERR_RET
    - nodesListAppend
    linkageType: ''
    returnType: void
    signature: void FOREACH(node, pPhysiChildren)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/explain.c:242,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:244,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:254,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:256,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:260,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:263,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:265,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pNode
    - pExecInfo
    - group
    argTypes:
    - SPhysiNode*
    - SArray**
    - SExplainGroup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 276
    functionName: qExplainGenerateResNodeExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qError
    - taosArrayGet
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainGenerateResNodeExecInfo(SPhysiNode *pNode, SArray **pExecInfo,
      SExplainGroup *group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:281,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:285,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:287,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:296,1
    - Dst: qExplainGenerateResNodeExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:296,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:299,1
    - Dst: qExplainGenerateResChildren
      Src: /src/tdengine/source/libs/command/src/explain.c:299,1
    - Dst: qExplainFreeResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:307,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - plan
    - pNode
    - group
    - pResNode
    argTypes:
    - SSubplan*
    - SPhysiNode*
    - SExplainGroup*
    - SExplainResNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 278
    functionDepth: 5
    functionLinenumber: 278
    functionLinenumberEnd: 310
    functionName: qExplainGenerateResNode
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 2
    functionsReached:
    - QRY_RET
    - qExplainGenerateResNodeExecInfo
    - QRY_ERR_JRET
    - qError
    - qExplainFreeResNode
    - qExplainGenerateResChildren
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainGenerateResNode(SSubplan *plan, SPhysiNode *pNode,
      SExplainGroup *group, SExplainResNode **pResNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:315,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:321,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:327,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:328,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:329,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:335,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:335,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:336,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:338,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:339,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:340,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:341,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pExecInfo
    - tbuf
    - len
    - filterEfficiency
    argTypes:
    - SArray*
    - char*
    - int32_t*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 349
    functionName: qExplainBufAppendExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TMAX
    - EXPLAIN_CONVERT_TS_US_TO_MS
    - taosArrayGetSize
    - EXPLAIN_ROW_APPEND
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qExplainBufAppendExecInfo(SArray *pExecInfo, char *tbuf,\n
      \                                        int32_t *len, double* filterEfficiency)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:353,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:355,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:356,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/command/src/explain.c:359,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:364,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:365,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:366,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - tbuf
    - len
    - level
    argTypes:
    - SExplainCtx*
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 371
    functionName: qExplainResAppendRow
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - memcpy
    - qError
    - QRY_ERR_RET
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainResAppendRow(SExplainCtx *ctx, char *tbuf, int32_t
      len, int32_t level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:384,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:385,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:386,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:386,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:390,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:392,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - level
    - pConditions
    - pLen
    - pFilterEfficiency
    argTypes:
    - SExplainCtx*
    - int32_t
    - SNode*
    - int32_t*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 396
    functionName: qExplainAppendFilterRow
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - EXPLAIN_ROW_END
    - QRY_ERR_RET
    - qExplainResAppendRow
    - nodesNodeToSQL
    - EXPLAIN_ROW_APPEND
    - EXPLAIN_ROW_NEW
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qExplainAppendFilterRow(SExplainCtx *ctx, int32_t level,\n
      \                                      SNode *pConditions, int32_t *pLen,\n
      \                                      const double *pFilterEfficiency)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pIntNode
    argTypes:
    - SIntervalPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: qExplainGetIntervalPrecision
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t qExplainGetIntervalPrecision(SIntervalPhysiNode *pIntNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:407,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:408,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/command/src/explain.c:409,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/command/src/explain.c:409,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 14
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - STableScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 424
    functionName: qExplainGetScanMode
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    - strcmp
    linkageType: ''
    returnType: char
    signature: char * qExplainGetScanMode(STableScanPhysiNode* pScan)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - STableScanPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: qExplainGetScanDataLoad
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * qExplainGetScanDataLoad(STableScanPhysiNode* pScan)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/command/src/explain.c:446,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 465
    functionName: qExplainVerifyIndex
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes qExplainVerifyIndex(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/command/src/explain.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SSubplan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 476
    functionName: qExplainCouldApplyTagIndex
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool qExplainCouldApplyTagIndex(SSubplan* pPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: compareExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareExecInfo(const void* p1, const void* p2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:492,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:501,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:503,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:510,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:512,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:523,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:524,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:525,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:526,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:527,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:528,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/command/src/explain.c:532,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:540,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:540,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:541,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:542,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:543,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:544,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:545,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:546,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:547,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:548,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:549,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:550,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:551,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:552,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:553,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/command/src/explain.c:557,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/command/src/explain.c:561,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:565,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:566,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:567,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:568,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:569,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:570,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:571,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:572,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:573,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:574,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:575,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:577,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:578,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:579,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:580,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:581,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:582,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:583,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:584,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:586,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:587,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:587,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 3
    argNames:
    - pResNode
    - ctx
    - level
    argTypes:
    - SExplainResNode*
    - SExplainCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 590
    functionName: qExplainExecAnalyze
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - EXPLAIN_ROW_END
    - taosArrayGet
    - TMAX
    - qError
    - QRY_ERR_RET
    - qExplainResAppendRow
    - taosArrayGetSize
    - formatTimestampLocal
    - EXPLAIN_CONVERT_TS_US_TO_MS
    - EXPLAIN_ROW_APPEND
    - EXPLAIN_ROW_NEW
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qExplainExecAnalyze(const SExplainResNode *pResNode,\n                                   SExplainCtx
      *ctx, int32_t level)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/command/src/explain.c:603,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:604,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:609,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:611,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:630,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:631,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:632,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:633,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:634,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:635,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:636,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:637,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:638,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:639,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:640,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/command/src/explain.c:641,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:644,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:646,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:648,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:649,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:650,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:651,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:652,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:654,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:655,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:656,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:657,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:658,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:658,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:660,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:661,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:662,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:664,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:665,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:666,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:667,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:668,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:669,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:670,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:670,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:672,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:674,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:676,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:677,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:679,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:680,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:682,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:683,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:685,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:686,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:688,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:689,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:691,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:692,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:692,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:694,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:696,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:697,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:699,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:700,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:702,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:703,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:705,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:706,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:708,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:709,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:709,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:711,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/command/src/explain.c:715,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:717,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:719,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:720,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:729,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:733,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:734,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:734,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 94
    argCount: 3
    argNames:
    - pResNode
    - ctx
    - level
    argTypes:
    - SExplainResNode*
    - SExplainCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 737
    functionName: qExplainIOAnalyze
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - EXPLAIN_ROW_END
    - taosArrayGet
    - taosArraySort
    - taosArrayGetLast
    - TMAX
    - qError
    - QRY_ERR_RET
    - qExplainResAppendRow
    - taosArrayGetSize
    - EXPLAIN_ROW_APPEND
    - EXPLAIN_ROW_NEW
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qExplainIOAnalyze(const SExplainResNode *pResNode,\n                                 SExplainCtx
      *ctx, int32_t level)"
  - BBCount: 171
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:746,1
    - Dst: EXPLAIN_SUB_PLAN_LINE
      Src: /src/tdengine/source/libs/command/src/explain.c:751,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:752,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:752,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:763,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:764,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:766,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:766,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:767,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:771,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:773,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:774,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:775,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:776,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:776,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:779,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:780,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:781,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:782,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:783,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:784,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:785,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:786,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:787,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:787,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:789,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:789,1
    - Dst: qExplainCouldApplyTagIndex
      Src: /src/tdengine/source/libs/command/src/explain.c:792,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:793,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:794,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:795,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:795,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:797,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:798,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:798,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:801,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:801,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:807,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:808,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:810,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:810,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:811,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:814,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:816,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:817,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:819,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:820,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:821,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:822,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:822,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:825,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:826,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:827,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:828,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:829,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:830,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:831,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:832,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:833,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:833,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:835,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:835,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:838,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:838,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:846,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:850,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:852,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:852,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:853,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:856,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:857,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:859,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:860,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:862,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:863,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:864,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:865,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:866,1
    - Dst: qExplainGetScanMode
      Src: /src/tdengine/source/libs/command/src/explain.c:866,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:868,1
    - Dst: qExplainGetScanDataLoad
      Src: /src/tdengine/source/libs/command/src/explain.c:868,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:869,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:870,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:871,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:871,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:874,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:875,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:876,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:877,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:878,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:879,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:880,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:881,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:882,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:882,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:884,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:886,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:887,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:887,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:890,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:891,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:892,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:893,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:893,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:896,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:896,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:900,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:901,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:901,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:903,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:904,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:904,1
    - Dst: qExplainCouldApplyTagIndex
      Src: /src/tdengine/source/libs/command/src/explain.c:907,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:908,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:910,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:910,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:912,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:913,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:913,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:916,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:916,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:920,1
    - Dst: qExplainIOAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:920,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:927,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:928,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:930,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:930,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:931,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:933,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:934,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:937,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:939,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:940,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:941,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:942,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:942,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:945,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:946,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:947,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:948,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:949,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:950,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:951,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:952,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:953,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:953,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:955,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:955,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:958,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:958,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:964,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:965,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:967,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:967,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:968,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:970,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:971,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:972,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:973,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:974,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:974,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:975,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:976,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:977,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:977,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:980,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:981,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:982,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:983,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:984,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:985,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:986,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:987,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:988,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:988,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:990,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:991,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:992,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:993,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:993,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:995,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:996,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:997,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:997,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:999,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:999,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1002,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1002,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1008,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1009,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1011,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1011,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1012,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:1015,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1016,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:1018,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1018,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:1020,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1021,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1022,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1023,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1023,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1026,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1027,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1028,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1029,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1030,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1031,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1032,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1033,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1034,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1034,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:1036,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:1036,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1037,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:1038,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1039,1
    - Dst: qExplainGetAsofOpStr
      Src: /src/tdengine/source/libs/command/src/explain.c:1039,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1040,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1046,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1047,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1051,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1052,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:1054,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1055,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1056,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1059,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1060,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1061,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1063,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1063,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1066,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1066,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1070,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1071,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1071,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1072,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1073,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1073,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1077,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:1079,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1080,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1082,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1083,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1083,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1087,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:1089,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1090,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1092,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1093,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1093,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1097,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1098,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1099,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1100,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1101,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1101,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1105,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1106,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1107,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1108,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1109,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1109,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1112,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1112,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1118,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1119,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1121,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1121,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1122,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1125,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1126,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1128,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1130,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1131,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:1134,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1134,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1135,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1136,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1137,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1137,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1140,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1141,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1142,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:1144,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1145,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1146,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1147,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1148,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1149,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1150,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1150,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1152,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1152,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1155,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1156,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1157,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1157,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1159,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1159,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1165,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1166,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1168,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1168,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1169,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1172,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1173,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1175,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1176,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1177,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1178,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1178,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1181,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1182,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1183,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1184,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1185,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1186,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1187,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1188,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1189,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1189,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1191,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1191,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1194,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1194,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/command/src/explain.c:1202,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:1204,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1205,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:1210,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:1212,1
    - Dst: qExplainRspMatchVgIds
      Src: /src/tdengine/source/libs/command/src/explain.c:1213,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1225,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1226,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1228,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1228,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1229,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1231,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1232,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1233,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1234,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1234,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1237,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1238,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1239,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:1241,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1242,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1243,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1244,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1245,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1245,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1247,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1247,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:1251,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1254,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1255,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1258,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1259,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1261,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1262,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1264,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1265,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:1266,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:1267,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1269,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1270,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1271,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1272,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1273,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1274,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:1275,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1277,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1278,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1278,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1282,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1282,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1288,1
    - Dst: qExplainAppendGroupResRowsByVgIds
      Src: /src/tdengine/source/libs/command/src/explain.c:1288,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1291,1
    - Dst: qExplainAppendGroupResRows
      Src: /src/tdengine/source/libs/command/src/explain.c:1291,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1298,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1299,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1300,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1300,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1301,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1302,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1302,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1303,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1304,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1306,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1306,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1307,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1311,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1311,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1312,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1313,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1314,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1315,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1316,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1316,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1320,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1321,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1322,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1323,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1323,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1326,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1327,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1327,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1330,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:1332,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:1333,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1335,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1337,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1339,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1341,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1344,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1345,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1346,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1346,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1350,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1351,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1352,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:1354,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1355,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1356,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1357,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1358,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1358,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1360,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1360,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1363,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1363,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1369,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1369,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1370,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1372,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1372,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1373,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1375,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1375,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1376,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1377,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1378,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1379,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1379,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1380,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1381,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1381,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1382,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1383,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1384,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1384,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1387,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1388,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1389,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1390,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1391,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1392,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1393,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1394,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1395,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1395,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1396,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1397,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1398,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1398,1
    - Dst: qExplainGetIntervalPrecision
      Src: /src/tdengine/source/libs/command/src/explain.c:1399,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1403,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1404,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1405,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1406,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1407,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/command/src/explain.c:1409,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1412,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1413,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1413,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1415,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1415,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1418,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1419,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1420,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1420,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1422,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1422,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1428,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1428,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1429,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1431,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1431,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1432,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1434,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1434,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1435,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1436,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1437,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1438,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1438,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1439,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1440,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1440,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1441,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1442,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1443,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1443,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1446,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1447,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1448,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1449,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1450,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1451,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1452,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1453,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1454,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1454,1
    - Dst: qExplainGetIntervalPrecision
      Src: /src/tdengine/source/libs/command/src/explain.c:1455,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1459,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1460,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1461,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1462,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1463,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/command/src/explain.c:1465,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1468,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1469,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1469,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1471,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1471,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1474,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1475,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1476,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1476,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1478,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1478,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1484,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1485,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1487,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1487,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1488,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1490,1
    - Dst: nodesGetFillModeString
      Src: /src/tdengine/source/libs/command/src/explain.c:1490,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1491,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1492,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1493,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1494,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1494,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1495,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1496,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1497,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1497,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1500,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1501,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1502,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:1504,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1505,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1506,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1507,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1508,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1508,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1511,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:1514,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1516,1
    - Dst: nodesGetStrValueFromNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1519,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1520,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:1521,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1525,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1526,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1526,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1529,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1530,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1531,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1531,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1533,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1533,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1536,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1536,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1542,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1543,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1545,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1545,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1546,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1548,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1548,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1549,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1550,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1551,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1552,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1553,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1553,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1556,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1557,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1558,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1559,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1560,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1561,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1562,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1563,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1564,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1564,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1566,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1567,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1568,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1568,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1570,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1570,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1573,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1573,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1580,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1581,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1582,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1584,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1584,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1585,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1588,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1588,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1589,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1590,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1591,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1592,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1593,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1593,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1596,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1597,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1598,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1599,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1600,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1601,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1602,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1603,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1604,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1604,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1606,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1607,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1607,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1609,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1609,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1612,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1612,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1619,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1620,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1620,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:1623,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1623,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1624,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1626,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1628,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1629,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1630,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1630,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1633,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1634,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1635,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1636,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1637,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1638,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1639,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1640,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1641,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1641,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1643,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1644,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1645,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1646,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1646,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1648,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1648,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1651,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1651,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1657,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1658,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1660,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1660,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1661,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1665,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1665,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1666,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1667,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1668,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1669,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1669,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1670,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1671,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1671,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1672,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1673,1
    - Dst: EXPLAIN_MERGE_MODE_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1673,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1674,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1675,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1676,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1676,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1681,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:1683,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:1684,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1686,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1688,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1690,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1692,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1695,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1696,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1697,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1697,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1702,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1703,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1704,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1705,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1706,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1707,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1708,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1709,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1710,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1710,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1713,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1714,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1715,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1716,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1716,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1718,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1720,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1721,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1722,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1725,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1726,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1727,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1727,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1728,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1729,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1729,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1730,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1731,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1734,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1735,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1735,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1738,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1738,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1741,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1741,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1747,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1748,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1750,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1750,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1751,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1753,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1754,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:1757,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1759,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1760,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1761,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1762,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1762,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1765,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1766,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1767,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1768,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1769,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1770,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1771,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1772,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1773,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1773,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1775,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1775,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1778,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1778,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1784,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1785,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1787,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1787,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1788,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1790,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1791,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1793,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1794,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1796,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1797,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1798,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1799,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1799,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1802,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1803,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1804,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1805,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1806,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1807,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1808,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1809,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1810,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1810,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1812,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1812,1
    - Dst: qExplainCouldApplyTagIndex
      Src: /src/tdengine/source/libs/command/src/explain.c:1815,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1816,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1817,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1818,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1818,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1820,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1821,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1821,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/explain.c:1832,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1833,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1835,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1837,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1839,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1841,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1843,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1843,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:1846,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1846,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1847,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1849,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1850,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1852,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1853,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1854,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1855,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1855,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1858,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1859,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1860,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1861,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1862,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1863,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1864,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1865,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1866,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1866,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1868,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1868,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1871,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1871,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1877,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1878,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1880,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1880,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1881,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1885,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1885,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1886,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1887,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1888,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1889,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1890,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1890,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1894,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1896,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1897,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1898,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1898,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1902,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1903,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1903,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1906,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:1908,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:1909,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1911,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1913,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1915,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1917,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1920,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1921,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1922,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1922,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1926,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1927,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1928,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1929,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1930,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1931,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1932,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1933,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1934,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1934,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1936,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1936,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1939,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1939,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1945,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1945,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1946,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1948,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1948,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1949,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1951,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1951,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1952,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1953,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1954,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1954,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1957,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1958,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1959,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1960,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1961,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1962,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1963,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1964,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1965,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1965,1
    - Dst: qExplainGetIntervalPrecision
      Src: /src/tdengine/source/libs/command/src/explain.c:1966,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1970,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1971,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1972,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1973,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1974,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/command/src/explain.c:1976,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1979,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1980,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1980,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1982,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1982,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1985,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:1985,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1991,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1992,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1994,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1994,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1995,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1998,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1999,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2002,1
    - Dst: nodesGetFillModeString
      Src: /src/tdengine/source/libs/command/src/explain.c:2002,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2004,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2005,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2006,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2006,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2009,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2010,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:2011,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2012,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2013,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2014,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2015,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2016,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2017,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2017,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2020,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:2023,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2025,1
    - Dst: nodesGetStrValueFromNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2028,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2029,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:2030,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2034,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2035,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2035,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2038,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2039,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2041,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2042,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2043,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2043,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2045,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2045,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2048,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:2048,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2054,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2055,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2057,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:2057,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2058,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2060,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2060,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2061,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2062,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2063,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2064,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2065,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2065,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2068,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2069,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:2069,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2071,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2072,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2072,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2074,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2075,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:2075,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2077,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2078,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2078,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2080,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:2080,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2086,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2087,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2089,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:2089,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2090,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2092,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2093,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2094,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2095,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2096,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:2096,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2097,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2098,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2099,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2100,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2101,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2101,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2104,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2105,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:2106,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2107,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2108,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2109,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2110,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2111,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2112,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2112,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2115,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2116,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:2116,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2119,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2120,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2120,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2124,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2126,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:2127,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2132,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2134,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:2135,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2140,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2142,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:2143,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2148,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2150,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:2150,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2153,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2154,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2154,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2157,1
    - Dst: qExplainGetTimerangeTargetStr
      Src: /src/tdengine/source/libs/command/src/explain.c:2157,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2158,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2159,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2159,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2162,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:2162,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2168,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2169,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2171,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:2171,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2172,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2174,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2175,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2176,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2177,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2178,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2179,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2180,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2181,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2182,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:2182,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2183,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2184,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2185,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2185,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2188,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2189,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:2190,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2191,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2192,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2193,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2194,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2195,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2196,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2196,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2197,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2197,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2200,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:2200,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2206,1
    - Dst: qExplainGetDynQryCtrlType
      Src: /src/tdengine/source/libs/command/src/explain.c:2206,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2207,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2209,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:2209,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2210,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2214,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2215,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2216,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2217,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2218,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2219,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2220,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2221,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2222,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2223,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2224,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:2224,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2225,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2230,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2231,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2232,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2233,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2234,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2235,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2240,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2241,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2242,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2243,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2244,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2245,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2246,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:2246,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2247,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2251,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2252,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2253,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2254,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2255,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:2255,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2256,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2263,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2264,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2264,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2267,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2268,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:2269,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2270,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2271,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2272,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2273,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2274,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2275,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2275,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2277,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2277,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2280,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:2280,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2286,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2287,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2289,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:2289,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2290,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2292,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2292,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2293,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2294,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2295,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2296,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2297,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2297,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2300,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2301,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2302,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2302,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2303,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2304,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2305,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2305,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2307,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:2307,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2313,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2313,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2314,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2316,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:2316,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2317,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2319,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2319,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2320,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2321,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2322,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2323,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:2323,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2324,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2325,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:2325,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2326,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2327,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2328,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2328,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2331,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2332,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:2333,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2334,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2335,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2336,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2337,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2338,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2339,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2339,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2340,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2341,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2342,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2342,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2344,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2344,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2347,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2348,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2349,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2349,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2351,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:2351,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2357,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2357,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2358,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2360,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:2360,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2361,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2363,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2363,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2364,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2365,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2366,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2367,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:2367,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2368,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2369,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:2369,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2370,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2371,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2372,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2372,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2375,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2376,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:2377,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2378,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2379,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2380,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2381,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2382,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2383,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2383,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2384,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2385,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2386,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2386,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2388,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2388,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2391,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2392,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2393,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2393,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2395,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:2395,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2401,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2401,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2402,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2404,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:2404,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2405,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2407,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2407,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2408,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2409,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2410,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2411,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:2411,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2412,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2413,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:2413,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2414,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2415,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2416,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2416,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2419,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2420,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:2421,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2422,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:2423,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2424,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:2425,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2426,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2427,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2427,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2429,1
    - Dst: qExplainAppendFilterRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2429,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2432,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2433,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2434,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2434,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2436,1
    - Dst: qExplainExecAnalyze
      Src: /src/tdengine/source/libs/command/src/explain.c:2436,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2441,1
    CyclomaticComplexity: 184
    EdgeCount: 184
    ICount: 1357
    argCount: 3
    argNames:
    - pResNode
    - ctx
    - pLevel
    argTypes:
    - SExplainResNode*
    - SExplainCtx*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 739
    functionDepth: 4
    functionLinenumber: 739
    functionLinenumberEnd: 2446
    functionName: qExplainResNodeToRowsImpl
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - qExplainGetAsofOpStr
    - nodesGetNameFromColumnNode
    - qExplainGetIntervalPrecision
    - qError
    - getPrecisionUnit
    - qExplainGetScanDataLoad
    - nodesNodeToSQL
    - EXPLAIN_ROW_APPEND_SLIMIT
    - EXPLAIN_ORDER_STRING
    - snprintf
    - EXPLAIN_ROW_APPEND_LIMIT
    - EXPLAIN_ROW_APPEND
    - EXPLAIN_SUB_PLAN_LINE
    - qExplainCouldApplyTagIndex
    - taosArrayGet
    - qExplainBufAppendExecInfo
    - qExplainGetTimerangeTargetStr
    - LIST_LENGTH
    - qExplainResAppendRow
    - taosArrayGetSize
    - qExplainIOAnalyze
    - EXPLAIN_ROW_NEW
    - EXPLAIN_MERGE_MODE_STRING
    - qExplainAppendFilterRow
    - qExplainGetScanMode
    - nodesGetStrValueFromNode
    - qExplainAppendGroupResRows
    - INVERAL_TIME_FROM_PRECISION_TO_UNIT
    - qExplainAppendGroupResRowsByVgIds
    - IS_WINDOW_JOIN
    - FOREACH
    - nodesGetFillModeString
    - EXPLAIN_CONVERT_TS_US_TO_MS
    - EXPLAIN_ROW_END
    - qExplainGetDynQryCtrlType
    - qExplainExecAnalyze
    - qExplainRspMatchVgIds
    - taosHashGet
    - QRY_ERR_RET
    - IS_ASOF_JOIN
    - taosMemoryFree
    - nodesGetOutputNumFromSlotList
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainResNodeToRowsImpl(SExplainResNode *pResNode, SExplainCtx
      *ctx, int32_t *pLevel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2450,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2451,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2455,1
    - Dst: qExplainResNodeToRowsImpl
      Src: /src/tdengine/source/libs/command/src/explain.c:2455,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:2458,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2460,1
    - Dst: qExplainResNodeToRows
      Src: /src/tdengine/source/libs/command/src/explain.c:2460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pResNode
    - ctx
    - level
    argTypes:
    - SExplainResNode*
    - SExplainCtx*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2448
    functionDepth: 5
    functionLinenumber: 2448
    functionLinenumberEnd: 2464
    functionName: qExplainResNodeToRows
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - qExplainResNodeToRows
    - qError
    - QRY_ERR_RET
    - FOREACH
    - qExplainResNodeToRowsImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainResNodeToRows(SExplainResNode *pResNode, SExplainCtx
      *ctx, int32_t *level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2471,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2473,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2474,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2480,1
    - Dst: qExplainGenerateResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2480,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2482,1
    - Dst: qExplainResNodeToRows
      Src: /src/tdengine/source/libs/command/src/explain.c:2482,1
    - Dst: qExplainFreeResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2486,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - pCtx
    - groupId
    - level
    - grpSingleChannel
    argTypes:
    - void*
    - int32_t
    - int32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2466
    functionDepth: 6
    functionLinenumber: 2466
    functionLinenumberEnd: 2489
    functionName: qExplainAppendGroupResRows
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - qExplainResNodeToRows
    - qExplainGenerateResNode
    - QRY_RET
    - QRY_ERR_JRET
    - qError
    - taosHashGet
    - QRY_ERR_RET
    - qExplainFreeResNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainAppendGroupResRows(void *pCtx, int32_t groupId, int32_t
      *level, bool grpSingleChannel)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2501,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2503,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2505,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2513,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/explain.c:2514,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2516,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2520,1
    - Dst: qExplainRspMatchVgIds
      Src: /src/tdengine/source/libs/command/src/explain.c:2521,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:2524,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2525,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2529,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2540,1
    - Dst: qExplainGenerateResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2540,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2541,1
    - Dst: qExplainResNodeToRows
      Src: /src/tdengine/source/libs/command/src/explain.c:2541,1
    - Dst: qExplainFreeResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2544,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:2546,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2548,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 5
    argNames:
    - pCtx
    - groupId
    - level
    - grpSingleChannel
    - pVgIds
    argTypes:
    - void*
    - int32_t
    - int32_t*
    - bool
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2494
    functionDepth: 6
    functionLinenumber: 2494
    functionLinenumberEnd: 2549
    functionName: qExplainAppendGroupResRowsByVgIds
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - qExplainResNodeToRows
    - qExplainGenerateResNode
    - QRY_RET
    - taosArrayGet
    - qExplainRspMatchVgIds
    - QRY_ERR_JRET
    - qError
    - taosHashGet
    - QRY_ERR_RET
    - qExplainFreeResNode
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qExplainAppendGroupResRowsByVgIds(void *pCtx, int32_t groupId,
      int32_t *level,\n                                                 bool grpSingleChannel,
      const SArray* pVgIds)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2555,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2557,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2558,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/explain.c:2561,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2562,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/explain.c:2564,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2565,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:2565,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2566,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/explain.c:2566,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2568,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2571,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2572,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/explain.c:2572,1
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2577,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:2580,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2582,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2583,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/command/src/explain.c:2587,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/command/src/explain.c:2589,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2589,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2591,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2592,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/explain.c:2595,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/explain.c:2596,1
    - Dst: SET_PAYLOAD_LEN
      Src: /src/tdengine/source/libs/command/src/explain.c:2599,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:2602,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - pRsp
    argTypes:
    - void*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2551
    functionDepth: 1
    functionLinenumber: 2551
    functionLinenumberEnd: 2606
    functionName: qExplainGetRspFromCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - blockGetEncodeSize
    - htobe64
    - htonl
    - QRY_RET
    - QRY_ERR_JRET
    - taosArrayGet
    - blockEncode
    - blockDataEnsureCapacity
    - qError
    - QRY_ERR_RET
    - createColumnInfoData
    - colDataSetVal
    - createDataBlock
    - taosArrayGetSize
    - SET_PAYLOAD_LEN
    - blockDataAppendColInfo
    - blockDataDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainGetRspFromCtx(void *ctx, SRetrieveTableRsp **pRsp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2615,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2616,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2619,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2621,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2622,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/command/src/explain.c:2625,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/command/src/explain.c:2625,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2628,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2629,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:2634,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2637,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2638,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2641,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2643,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2644,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:2650,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2652,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/command/src/explain.c:2663,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2664,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2665,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2672,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2673,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/command/src/explain.c:2679,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2683,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2690,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/explain.c:2690,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2693,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 2
    argNames:
    - pDag
    - pCtx
    argTypes:
    - SQueryPlan*
    - SExplainPlanCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2608
    functionDepth: 1
    functionLinenumber: 2608
    functionLinenumberEnd: 2694
    functionName: qExplainBuildPlanCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - QRY_RET
    - QRY_ERR_JRET
    - qError
    - LIST_LENGTH
    - QRY_ERR_RET
    - taosHashGet
    - taosHashGetSize
    - qDebug
    - taosHashInit
    - FOREACH
    - taosGetDefaultHashFunction
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainBuildPlanCtx(SQueryPlan *pDag, SExplainPlanCtx *pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2704,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2705,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2708,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2710,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2711,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2714,1
    - Dst: qExplainInitCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2714,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2716,1
    - Dst: qExplainBuildPlanCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2716,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/command/src/explain.c:2720,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2722,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/explain.c:2722,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2723,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:2728,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2729,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2730,1
    - Dst: qExplainBuildPlanCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2730,1
    - Dst: qExplainFreeCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2742,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - pDag
    - pCtx
    argTypes:
    - SQueryPlan*
    - SExplainCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2696
    functionDepth: 3
    functionLinenumber: 2696
    functionLinenumberEnd: 2745
    functionName: qExplainBuildCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - qExplainBuildPlanCtx
    - QRY_RET
    - QRY_ERR_JRET
    - taosArrayGet
    - qExplainFreeCtx
    - qError
    - LIST_LENGTH
    - QRY_ERR_RET
    - qExplainInitCtx
    - FOREACH
    - tstrerror
    - taosArrayInit_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainBuildCtx(SQueryPlan *pDag, SExplainCtx **pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPLAIN_SUM_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2760,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:2761,1
    - Dst: EXPLAIN_SUM_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2762,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2763,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2763,1
    - Dst: EXPLAIN_SUM_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2765,1
    - Dst: EXPLAIN_CONVERT_TS_US_TO_MS
      Src: /src/tdengine/source/libs/command/src/explain.c:2766,1
    - Dst: EXPLAIN_SUM_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2767,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2768,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SExplainCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2747
    functionDepth: 2
    functionLinenumber: 2747
    functionLinenumberEnd: 2771
    functionName: qExplainAppendPlanRows
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - QRY_ERR_RET
    - qExplainResAppendRow
    - EXPLAIN_CONVERT_TS_US_TO_MS
    - EXPLAIN_SUM_ROW_NEW
    - EXPLAIN_SUM_ROW_END
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainAppendPlanRows(SExplainCtx *pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2778,1
    - Dst: qExplainAppendGroupResRows
      Src: /src/tdengine/source/libs/command/src/explain.c:2778,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2781,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2783,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2785,1
    - Dst: qExplainAppendGroupResRows
      Src: /src/tdengine/source/libs/command/src/explain.c:2785,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2788,1
    - Dst: qExplainAppendPlanRows
      Src: /src/tdengine/source/libs/command/src/explain.c:2788,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2789,1
    - Dst: qExplainGetRspFromCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCtx
    - pRsp
    argTypes:
    - SExplainCtx*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2773
    functionDepth: 7
    functionLinenumber: 2773
    functionLinenumberEnd: 2792
    functionName: qExplainGenerateRsp
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - QRY_ERR_RET
    - qExplainGetRspFromCtx
    - taosArrayGetSize
    - qExplainAppendPlanRows
    - qExplainAppendGroupResRows
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainGenerateRsp(SExplainCtx *pCtx, SRetrieveTableRsp **pRsp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2800,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2802,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2803,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2804,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2807,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/explain.c:2809,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2811,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2813,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2817,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2818,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2818,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2821,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2825,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2828,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:2831,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2834,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2837,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2839,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/command/src/explain.c:2841,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/command/src/explain.c:2842,1
    - Dst: taosWTryLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2843,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2844,1
    - Dst: qExplainGenerateRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2844,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2853,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2854,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 5
    argNames:
    - pCtx
    - pCurrPlanCtx
    - pRspMsg
    - groupId
    - pRsp
    argTypes:
    - SExplainCtx*
    - SExplainPlanCtx*
    - SExplainRsp*
    - int32_t
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2794
    functionDepth: 8
    functionLinenumber: 2794
    functionLinenumberEnd: 2856
    functionName: qExplainUpdateExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tFreeSExplainRsp
    - atomic_load_8
    - qError
    - taosHashGet
    - QRY_ERR_RET
    - atomic_add_fetch_32
    - taosArrayGetSize
    - taosArrayInit
    - TAOS_CHECK_ERRNO
    - taosWUnLockLatch
    - qExplainGenerateRsp
    - taosWLockLatch
    - taosWTryLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExplainUpdateExecInfo(SExplainCtx *pCtx, SExplainPlanCtx *pCurrPlanCtx,
      SExplainRsp *pRspMsg, int32_t groupId, SRetrieveTableRsp **pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2863,1
    - Dst: qExplainBuildCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2863,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2864,1
    - Dst: qExplainGenerateRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2864,1
    - Dst: qExplainFreeCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2867,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pDag
    - pRsp
    argTypes:
    - SQueryPlan*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2858
    functionDepth: 8
    functionLinenumber: 2858
    functionLinenumberEnd: 2869
    functionName: qExecStaticExplain
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - QRY_RET
    - QRY_ERR_JRET
    - qExplainBuildCtx
    - qExplainFreeCtx
    - QRY_ERR_RET
    - qExplainGenerateRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExecStaticExplain(SQueryPlan *pDag, SRetrieveTableRsp **pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2873,1
    - Dst: qExplainBuildCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2873,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/command/src/explain.c:2876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pDag
    - pCtx
    - startTs
    argTypes:
    - SQueryPlan*
    - SExplainCtx**
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2871
    functionDepth: 4
    functionLinenumber: 2871
    functionLinenumberEnd: 2879
    functionName: qExecExplainBegin
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 2
    functionsReached:
    - qExplainBuildCtx
    - taosGetTimestampUs
    - QRY_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExecExplainBegin(SQueryPlan *pDag, SExplainCtx **pCtx, int64_t
      startTs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/command/src/explain.c:2887,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/command/src/explain.c:2889,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/command/src/explain.c:2891,1
    - Dst: taosWTryLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2892,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2893,1
    - Dst: qExplainGenerateRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pCtx
    - pRsp
    argTypes:
    - SExplainCtx*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2881
    functionDepth: 8
    functionLinenumber: 2881
    functionLinenumberEnd: 2899
    functionName: qExecExplainEnd
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 2
    functionsReached:
    - taosGetTimestampUs
    - QRY_ERR_RET
    - atomic_load_32
    - atomic_store_8
    - qExplainGenerateRsp
    - taosWTryLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExecExplainEnd(SExplainCtx *pCtx, SRetrieveTableRsp **pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPLAIN_GET_CUR_PLAN_CTX
      Src: /src/tdengine/source/libs/command/src/explain.c:2902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCtx
    - subJobId
    argTypes:
    - SExplainCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2901
    functionDepth: 1
    functionLinenumber: 2901
    functionLinenumberEnd: 2903
    functionName: qExplainGetCurrPlan
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: 1
    functionsReached:
    - EXPLAIN_GET_CUR_PLAN_CTX
    linkageType: ''
    returnType: SExplainPlanCtx
    signature: SExplainPlanCtx * qExplainGetCurrPlan(SExplainCtx *pCtx, int32_t subJobId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pCol
    - ','
    - rows
    - ','
    - buf
    - ','
    - isNull
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: COL_DATA_SET_VAL_AND_CHECK
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COL_DATA_SET_VAL_AND_CHECK(pCol, rows, buf, isNull)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/command/src/command.c:45,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/command.c:47,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/command/src/command.c:57,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/command.c:58,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/command/src/command.c:62,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:64,1
    - Dst: SET_PAYLOAD_LEN
      Src: /src/tdengine/source/libs/command/src/command.c:68,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/command.c:72,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/command.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - pBlock
    - numOfCols
    - pRsp
    argTypes:
    - SSDataBlock*
    - int32_t
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 76
    functionName: buildRetrieveTableRsp
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - blockGetEncodeSize
    - htonl
    - htobe64
    - blockEncode
    - taosMemoryFree
    - SET_PAYLOAD_LEN
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildRetrieveTableRsp(SSDataBlock* pBlock, int32_t numOfCols,
      SRetrieveTableRsp** pRsp)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pSchema
    argTypes:
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: getSchemaBytes
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSchemaBytes(const SSchema* pSchema)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - name
    - output
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: expandIdentifier
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * expandIdentifier(const char* name, char* output)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:117,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:120,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:126,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:128,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:129,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:132,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:133,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:136,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:137,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:140,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:141,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:144,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:145,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:148,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:149,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:152,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:153,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 161
    functionName: buildDescResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - QRY_PARAM_CHECK
    - createColumnInfoData
    - createDataBlock
    - blockDataAppendColInfo
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildDescResultDataBlock(SSDataBlock** pOutput)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:166,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:166,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:170,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:172,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:174,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:176,1
    - Dst: withColCompress
      Src: /src/tdengine/source/libs/command/src/command.c:185,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:186,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:187,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:188,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:191,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:192,1
    - Dst: invisibleColumn
      Src: /src/tdengine/source/libs/command/src/command.c:198,1
    - Dst: STR_TO_VARSTR
      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:202,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/command/src/command.c:204,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/command/src/command.c:204,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/command/src/command.c:206,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:207,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/command/src/command.c:209,1
    - Dst: STR_TO_VARSTR
      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:213,1
    - Dst: getSchemaBytes
      Src: /src/tdengine/source/libs/command/src/command.c:214,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:215,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:218,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:221,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:223,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:226,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:228,1
    - Dst: withColCompress
      Src: /src/tdengine/source/libs/command/src/command.c:229,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:231,1
    - Dst: columnEncodeStr
      Src: /src/tdengine/source/libs/command/src/command.c:231,1
    - Dst: COMPRESS_L1_TYPE_U32
      Src: /src/tdengine/source/libs/command/src/command.c:231,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:232,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:233,1
    - Dst: columnCompressStr
      Src: /src/tdengine/source/libs/command/src/command.c:233,1
    - Dst: COMPRESS_L2_TYPE_U32
      Src: /src/tdengine/source/libs/command/src/command.c:233,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:234,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:235,1
    - Dst: columnLevelStr
      Src: /src/tdengine/source/libs/command/src/command.c:235,1
    - Dst: COMPRESS_L2_TYPE_LEVEL_U32
      Src: /src/tdengine/source/libs/command/src/command.c:235,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:236,1
    - Dst: STR_TO_VARSTR
      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:239,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:240,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:241,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:242,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:243,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:245,1
    - Dst: sliceInit
      Src: /src/tdengine/source/libs/command/src/command.c:251,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:253,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/command/src/command.c:253,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:253,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:254,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/command/src/command.c:254,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:255,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/command/src/command.c:255,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:255,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:256,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/command/src/command.c:256,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:257,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/command/src/command.c:257,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:257,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:258,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:260,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:262,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:264,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:265,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:274,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:275,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:276,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:277,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:279,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:280,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:281,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:285,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 93
    argCount: 5
    argNames:
    - sysInfoUser
    - pBlock
    - numOfRows
    - pMeta
    - biMode
    argTypes:
    - bool
    - SSDataBlock*
    - int32_t
    - STableMeta*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 289
    functionName: setDescResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - hasRefCol
    - sliceAppend
    - columnEncodeStr
    - COMPRESS_L1_TYPE_U32
    - qError
    - snprintf
    - sliceInit
    - withExtSchema
    - taosArrayGet
    - STR_TO_VARSTR
    - strlen
    - decimalFromTypeMod
    - IS_DECIMAL_TYPE
    - withColCompress
    - columnCompressStr
    - invisibleColumn
    - varDataSetLen
    - COMPRESS_L2_TYPE_U32
    - blockDataEnsureCapacity
    - QRY_ERR_RET
    - COL_DATA_SET_VAL_AND_CHECK
    - getSchemaBytes
    - COMPRESS_L2_TYPE_LEVEL_U32
    - columnLevelStr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setDescResultIntoDataBlock(bool sysInfoUser, SSDataBlock*
      pBlock, int32_t numOfRows, STableMeta* pMeta,\n                                          int8_t
      biMode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TABLE_TOTAL_COL_NUM
      Src: /src/tdengine/source/libs/command/src/command.c:296,1
    - Dst: buildDescResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:299,1
    - Dst: setDescResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:301,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:305,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:306,1
    - Dst: withColCompress
      Src: /src/tdengine/source/libs/command/src/command.c:307,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:308,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:310,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:313,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - sysInfoUser
    - pStmt
    - pRsp
    - biMode
    argTypes:
    - bool
    - SNode*
    - SRetrieveTableRsp**
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 318
    functionName: execDescribe
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - withColCompress
    - hasRefCol
    - setDescResultIntoDataBlock
    - buildDescResultDataBlock
    - buildRetrieveTableRsp
    - TABLE_TOTAL_COL_NUM
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t execDescribe(bool sysInfoUser, SNode* pStmt, SRetrieveTableRsp**
      pRsp, int8_t biMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogClearCache
      Src: /src/tdengine/source/libs/command/src/command.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: execResetQueryCache
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - catalogClearCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t execResetQueryCache()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:323,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:326,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:331,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:332,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:334,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:335,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 344
    functionName: buildCreateDBResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - QRY_PARAM_CHECK
    - createColumnInfoData
    - createDataBlock
    - blockDataAppendColInfo
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateDBResultDataBlock(SSDataBlock** pOutput)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - unit
    - val
    argTypes:
    - int8_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 369
    functionName: getValOfDiffPrecision
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getValOfDiffPrecision(int8_t unit, int64_t val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/command.c:372,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/command.c:379,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/command/src/command.c:386,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/libs/command/src/command.c:387,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/libs/command/src/command.c:388,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:390,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:392,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pRetension
    - ppRetentions
    argTypes:
    - SArray*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 402
    functionName: buildRetension
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - snprintf
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - taosMemoryCalloc
    - getValOfDiffPrecision
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildRetension(SArray* pRetension, char** ppRetentions)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - cacheModel
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: cacheModelStr
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * cacheModelStr(int8_t cacheModel)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - encryptAlgorithm
    - algorithmsId
    argTypes:
    - int8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 436
    functionName: encryptAlgorithmStr
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * encryptAlgorithmStr(int8_t encryptAlgorithm, char* algorithmsId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:445,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:448,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - bufSize
    - timeInMinutes
    argTypes:
    - char*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 453
    functionName: formatDurationOrKeep
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t formatDurationOrKeep(char* buffer, int64_t bufSize, int32_t
      timeInMinutes)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:456,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:456,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:459,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:461,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:462,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:464,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:484,1
    - Dst: buildRetension
      Src: /src/tdengine/source/libs/command/src/command.c:484,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:485,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:500,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:501,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:502,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:503,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/command/src/command.c:504,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:504,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/command/src/command.c:505,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:505,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/command/src/command.c:506,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:506,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/command/src/command.c:508,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:509,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:513,1
    - Dst: cacheModelStr
      Src: /src/tdengine/source/libs/command/src/command.c:522,1
    - Dst: encryptAlgorithmStr
      Src: /src/tdengine/source/libs/command/src/command.c:527,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:532,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:537,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/command/src/command.c:539,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:541,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 4
    argNames:
    - pBlock
    - dbName
    - dbFName
    - pCfg
    argTypes:
    - SSDataBlock*
    - char*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 544
    functionName: setCreateDBResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - encryptAlgorithmStr
    - cacheModelStr
    - blockDataEnsureCapacity
    - QRY_ERR_RET
    - STR_TO_VARSTR
    - tsnprintf
    - varDataLen
    - COL_DATA_SET_VAL_AND_CHECK
    - snprintf
    - taosMemoryFree
    - IS_SYS_DBNAME
    - strlen
    - UNUSED
    - buildRetension
    - formatDurationOrKeep
    linkageType: ''
    returnType: int32_t
    signature: int32_t setCreateDBResultIntoDataBlock(SSDataBlock* pBlock, char* dbName,
      char* dbFName, SDbCfgInfo* pCfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateDBResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:548,1
    - Dst: setCreateDBResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:550,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:553,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - pRsp
    argTypes:
    - SShowCreateDatabaseStmt*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 557
    functionName: execShowCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - setCreateDBResultIntoDataBlock
    - buildRetrieveTableRsp
    - buildCreateDBResultDataBlock
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t execShowCreateDatabase(SShowCreateDatabaseStmt* pStmt, SRetrieveTableRsp**
      pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:560,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:563,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:568,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:569,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:571,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:572,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 581
    functionName: buildCreateTbResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - QRY_PARAM_CHECK
    - createColumnInfoData
    - createDataBlock
    - blockDataAppendColInfo
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateTbResultDataBlock(SSDataBlock** pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:584,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:587,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:592,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:593,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:595,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:596,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 605
    functionName: buildCreateViewResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - QRY_PARAM_CHECK
    - createColumnInfoData
    - createDataBlock
    - blockDataAppendColInfo
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateViewResultDataBlock(SSDataBlock** pOutput)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:616,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:617,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:620,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:622,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/command/src/command.c:624,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/command/src/command.c:627,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/libs/command/src/command.c:630,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:632,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:636,1
    - Dst: columnEncodeStr
      Src: /src/tdengine/source/libs/command/src/command.c:637,1
    - Dst: COMPRESS_L1_TYPE_U32
      Src: /src/tdengine/source/libs/command/src/command.c:637,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:638,1
    - Dst: columnCompressStr
      Src: /src/tdengine/source/libs/command/src/command.c:639,1
    - Dst: COMPRESS_L2_TYPE_U32
      Src: /src/tdengine/source/libs/command/src/command.c:639,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:640,1
    - Dst: columnLevelStr
      Src: /src/tdengine/source/libs/command/src/command.c:641,1
    - Dst: COMPRESS_L2_TYPE_LEVEL_U32
      Src: /src/tdengine/source/libs/command/src/command.c:641,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:644,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:645,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:646,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:648,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:648,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:649,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:650,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:650,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:654,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:655,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:658,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:659,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 662
    functionName: appendColumnFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - columnCompressStr
    - hasRefCol
    - COMPRESS_L2_TYPE_U32
    - columnEncodeStr
    - COMPRESS_L1_TYPE_U32
    - expandIdentifier
    - extractDecimalTypeInfoFromBytes
    - snprintf
    - strlen
    - COMPRESS_L2_TYPE_LEVEL_U32
    - columnLevelStr
    - decimalFromTypeMod
    linkageType: ''
    returnType: void
    signature: void appendColumnFields(char* buf, int32_t* len, STableCfg* pCfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:673,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:674,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:675,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:677,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:677,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:678,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:680,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:680,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:685,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:686,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 693
    functionName: appendColRefFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - snprintf
    - hasRefCol
    - expandIdentifier
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: void appendColRefFields(char* buf, int32_t* len, STableCfg* pCfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:700,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:703,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:703,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:703,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:706,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:706,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:706,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:710,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 713
    functionName: appendTagFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - expandIdentifier
    linkageType: ''
    returnType: void
    signature: void appendTagFields(char* buf, int32_t* len, STableCfg* pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:719,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 722
    functionName: appendTagNameFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - snprintf
    - expandIdentifier
    linkageType: ''
    returnType: void
    signature: void appendTagNameFields(char* buf, int32_t* len, STableCfg* pCfg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:730,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/command/src/command.c:734,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/command/src/command.c:736,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:738,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/command/src/command.c:741,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:741,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:752,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:754,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:756,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:759,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:764,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/command/src/command.c:764,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/command.c:765,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:771,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:781,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:782,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:783,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:789,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:794,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:796,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:798,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:805,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:807,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/command/src/command.c:809,1
    - Dst: dataConverToStr
      Src: /src/tdengine/source/libs/command/src/command.c:810,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:811,1
    - Dst: dataConverToStr
      Src: /src/tdengine/source/libs/command/src/command.c:813,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:815,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:820,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:825,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 4
    argNames:
    - buf
    - len
    - pCfg
    - charsetCxt
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 828
    functionName: appendTagValues
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - parseTagDatatoJson
    - taosArrayGet
    - qError
    - expandIdentifier
    - QRY_ERR_RET
    - taosArrayDestroy
    - taosMemCalloc
    - snprintf
    - taosMemoryFree
    - taosArrayGetSize
    - TAOS_CHECK_ERRNO
    - strlen
    - IS_VAR_DATA_TYPE
    - dataConverToStr
    - tTagIsJson
    - tTagToValArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendTagValues(char* buf, int32_t* len, STableCfg* pCfg, void*
      charsetCxt)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:832,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:835,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:840,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:843,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:849,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:852,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/command.c:857,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:859,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:862,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:863,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:867,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:871,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:876,1
    - Dst: IS_BSMA_ON
      Src: /src/tdengine/source/libs/command/src/command.c:883,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:890,1
    - Dst: IS_BSMA_ON
      Src: /src/tdengine/source/libs/command/src/command.c:893,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:895,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:900,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:906,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:911,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:916,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 4
    argNames:
    - buf
    - len
    - pDbCfg
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - SDbCfgInfo*
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 919
    functionName: appendTableOptions
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tsnprintf
    - snprintf
    - taosArrayGetSize
    - IS_BSMA_ON
    linkageType: ''
    returnType: void
    signature: void appendTableOptions(char* buf, int32_t* len, SDbCfgInfo* pDbCfg,
      STableCfg* pCfg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:924,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:924,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:927,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:929,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:930,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:930,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:932,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/command.c:933,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:935,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:941,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:942,1
    - Dst: appendColumnFields
      Src: /src/tdengine/source/libs/command/src/command.c:943,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:944,1
    - Dst: appendTagFields
      Src: /src/tdengine/source/libs/command/src/command.c:946,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:947,1
    - Dst: appendTableOptions
      Src: /src/tdengine/source/libs/command/src/command.c:949,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:951,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:952,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:953,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:954,1
    - Dst: appendTagNameFields
      Src: /src/tdengine/source/libs/command/src/command.c:955,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:956,1
    - Dst: appendTagValues
      Src: /src/tdengine/source/libs/command/src/command.c:958,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:959,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:961,1
    - Dst: appendTableOptions
      Src: /src/tdengine/source/libs/command/src/command.c:962,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:964,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:965,1
    - Dst: appendColumnFields
      Src: /src/tdengine/source/libs/command/src/command.c:966,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:968,1
    - Dst: appendTableOptions
      Src: /src/tdengine/source/libs/command/src/command.c:969,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:971,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:972,1
    - Dst: appendColumnFields
      Src: /src/tdengine/source/libs/command/src/command.c:973,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:975,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:977,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:978,1
    - Dst: appendColRefFields
      Src: /src/tdengine/source/libs/command/src/command.c:979,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:980,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:981,1
    - Dst: appendTagNameFields
      Src: /src/tdengine/source/libs/command/src/command.c:982,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:983,1
    - Dst: appendTagValues
      Src: /src/tdengine/source/libs/command/src/command.c:985,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:986,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:988,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/command/src/command.c:991,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:993,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:994,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:997,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 5
    argNames:
    - pBlock
    - pDbCfg
    - tbName
    - pCfg
    - charsetCxt
    argTypes:
    - SSDataBlock*
    - SDbCfgInfo*
    - char*
    - STableCfg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 921
    functionDepth: 3
    functionLinenumber: 921
    functionLinenumberEnd: 1000
    functionName: setCreateTBResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayGet
    - appendTagValues
    - blockDataEnsureCapacity
    - expandIdentifier
    - QRY_ERR_RET
    - STR_TO_VARSTR
    - appendTableOptions
    - colDataSetVal
    - tsnprintf
    - appendColRefFields
    - snprintf
    - appendTagNameFields
    - appendColumnFields
    - appendTagFields
    - TAOS_CHECK_ERRNO
    - varDataLen
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setCreateTBResultIntoDataBlock(SSDataBlock* pBlock, SDbCfgInfo*
      pDbCfg, char* tbName, STableCfg* pCfg,\n                                              void*
      charsetCxt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1004,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:1004,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1007,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1009,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1009,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/command/src/command.c:1010,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:1010,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1010,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1011,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1011,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1013,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/command.c:1014,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1021,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:1022,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1025,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1025,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:1027,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1027,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/command/src/command.c:1028,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1029,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:1030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - pBlock
    - pStmt
    argTypes:
    - SSDataBlock*
    - SShowCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1033
    functionName: setCreateViewResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosArrayGet
    - blockDataEnsureCapacity
    - qError
    - QRY_ERR_RET
    - colDataSetVal
    - varDataLen
    - snprintf
    - taosMemoryFree
    - varDataVal
    - strlen
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t setCreateViewResultIntoDataBlock(SSDataBlock* pBlock, SShowCreateViewStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/command/src/command.c:1046,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:1046,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1049,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1051,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1051,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:1051,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/command/src/command.c:1052,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:1052,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1052,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/command/src/command.c:1053,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1053,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1055,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/command.c:1056,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/command/src/command.c:1061,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/command/src/command.c:1061,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1064,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1064,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:1065,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:1066,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:1066,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1068,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1068,1
    - Dst: fmGetFuncName
      Src: /src/tdengine/source/libs/command/src/command.c:1069,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:1070,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/command/src/command.c:1070,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1072,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1072,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1075,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1075,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1078,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1078,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/command/src/command.c:1079,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1080,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:1082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - pBlock
    - pStmt
    argTypes:
    - SSDataBlock*
    - SShowCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1084
    functionName: setCreateRsmaResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - tNameFromString
    - taosMemoryMalloc
    - taosArrayGet
    - blockDataEnsureCapacity
    - qError
    - expandIdentifier
    - tsnprintf
    - colDataSetVal
    - varDataLen
    - snprintf
    - fmGetFuncName
    - taosMemoryFree
    - TARRAY_GET_ELEM
    - varDataVal
    - strlen
    - TAOS_CHECK_EXIT
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t setCreateRsmaResultIntoDataBlock(SSDataBlock* pBlock, SShowCreateRsmaStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateTbResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1088,1
    - Dst: setCreateTBResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1090,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1093,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pStmt
    - pRsp
    - charsetCxt
    argTypes:
    - SShowCreateTableStmt*
    - SRetrieveTableRsp**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1086
    functionDepth: 4
    functionLinenumber: 1086
    functionLinenumberEnd: 1097
    functionName: execShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - buildCreateTbResultDataBlock
    - setCreateTBResultIntoDataBlock
    - buildRetrieveTableRsp
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t execShowCreateTable(SShowCreateTableStmt* pStmt, SRetrieveTableRsp**
      pRsp, void* charsetCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateTbResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1101,1
    - Dst: setCreateTBResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1103,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1106,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pStmt
    - pRsp
    - charsetCxt
    argTypes:
    - SShowCreateTableStmt*
    - SRetrieveTableRsp**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1099
    functionDepth: 4
    functionLinenumber: 1099
    functionLinenumberEnd: 1110
    functionName: execShowCreateVTable
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - buildCreateTbResultDataBlock
    - setCreateTBResultIntoDataBlock
    - buildRetrieveTableRsp
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t execShowCreateVTable(SShowCreateTableStmt* pStmt, SRetrieveTableRsp**
      pRsp, void* charsetCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execShowCreateTable
      Src: /src/tdengine/source/libs/command/src/command.c:1119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pStmt
    - pRsp
    - charsetCxt
    argTypes:
    - SShowCreateTableStmt*
    - SRetrieveTableRsp**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1112
    functionDepth: 5
    functionLinenumber: 1112
    functionLinenumberEnd: 1120
    functionName: execShowCreateSTable
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - execShowCreateTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t execShowCreateSTable(SShowCreateTableStmt* pStmt, SRetrieveTableRsp**
      pRsp, void* charsetCxt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1125,1
    - Dst: taosResetLog
      Src: /src/tdengine/source/libs/command/src/command.c:1126,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/source/libs/command/src/command.c:1127,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1128,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/command/src/command.c:1130,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1132,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1132,1
    - Dst: schedulerUpdatePolicy
      Src: /src/tdengine/source/libs/command/src/command.c:1135,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1136,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/command/src/command.c:1138,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1140,1
    - Dst: schedulerEnableReSchedule
      Src: /src/tdengine/source/libs/command/src/command.c:1143,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1144,1
    - Dst: ctgdHandleDbgCommand
      Src: /src/tdengine/source/libs/command/src/command.c:1145,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1146,1
    - Dst: taosMemoryDbgInit
      Src: /src/tdengine/source/libs/command/src/command.c:1147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1149,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1149,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1153,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1154,1
    - Dst: taosMemoryDbgInitRestore
      Src: /src/tdengine/source/libs/command/src/command.c:1155,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1157,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1157,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1160,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 3
    argNames:
    - cmd
    - value
    - processed
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1122
    functionDepth: 3
    functionLinenumber: 1122
    functionLinenumberEnd: 1174
    functionName: execAlterCmd
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosStr2int32
    - taosMemoryDbgInit
    - qError
    - strcasecmp
    - taosResetLog
    - schedulerUpdatePolicy
    - qInfo
    - ctgdHandleDbgCommand
    - tstrerror
    - schedulerEnableReSchedule
    - cfgDumpCfg
    - taosMemoryDbgInitRestore
    linkageType: ''
    returnType: int32_t
    signature: int32_t execAlterCmd(char* cmd, char* value, bool* processed)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: execAlterCmd
      Src: /src/tdengine/source/libs/command/src/command.c:1179,1
    - Dst: cfgCheckRangeForDynUpdate
      Src: /src/tdengine/source/libs/command/src/command.c:1187,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/libs/command/src/command.c:1191,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/command/src/command.c:1195,1
    - Dst: taosCfgDynamicOptions
      Src: /src/tdengine/source/libs/command/src/command.c:1195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SAlterLocalStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1176
    functionDepth: 4
    functionLinenumber: 1176
    functionLinenumberEnd: 1200
    functionName: execAlterLocal
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_RETURN
    - taosCfgDynamicOptions
    - cfgSetItem
    - execAlterCmd
    - cfgCheckRangeForDynUpdate
    linkageType: ''
    returnType: int32_t
    signature: int32_t execAlterLocal(SAlterLocalStmt* pStmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/command.c:1203,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/command.c:1210,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:1212,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1220,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1226,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1232,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1238,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1244,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1252,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:1253,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1256
    functionName: buildLocalVariablesResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFree
    - taosArrayInit
    - taosArrayDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildLocalVariablesResultDataBlock(SSDataBlock** pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildLocalVariablesResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1261,1
    - Dst: dumpConfToDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1268,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1271,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pStmt
    - showVarPrivMask
    - pRsp
    argTypes:
    - SShowStmt*
    - uint8_t
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1275
    functionName: execShowLocalVariables
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - blockDataDestroy
    - dumpConfToDataBlock
    - buildLocalVariablesResultDataBlock
    - buildRetrieveTableRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t execShowLocalVariables(SShowStmt* pStmt, uint8_t showVarPrivMask,
      SRetrieveTableRsp** pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:1278,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1281,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1299,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pProjects
    - pOutput
    argTypes:
    - SNodeList*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1304
    functionName: createSelectResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - createDataBlock
    - QRY_ERR_RET
    - blockDataAppendColInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSelectResultDataBlock(SNodeList* pProjects, SSDataBlock**
      pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1299,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1300
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 191
    functionsReached:
    - blockDataAppendColInfo
    - QRY_ERR_RET
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProj, pProjects)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1307,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:1307,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/command/src/command.c:1312,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1316,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1316,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1316,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1318,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1318,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/command/src/command.c:1319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pProjects
    - pBlock
    argTypes:
    - SNodeList*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1326
    functionName: buildSelectResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - blockDataEnsureCapacity
    - QRY_ERR_RET
    - colDataSetVal
    - nodeType
    - nodesGetValueFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildSelectResultDataBlock(SNodeList* pProjects, SSDataBlock*
      pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/command/src/command.c:1312,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1316,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1316,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1316,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1318,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1318,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/command/src/command.c:1319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1322
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 191
    functionsReached:
    - taosArrayGet
    - QRY_ERR_RET
    - colDataSetVal
    - nodeType
    - nodesGetValueFromNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProj, pProjects)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSelectResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1330,1
    - Dst: buildSelectResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1332,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1335,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/command.c:1335,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pSelect
    - pRsp
    argTypes:
    - SSelectStmt*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1339
    functionName: execSelectWithoutFrom
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - createSelectResultDataBlock
    - LIST_LENGTH
    - buildSelectResultDataBlock
    - buildRetrieveTableRsp
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t execSelectWithoutFrom(SSelectStmt* pSelect, SRetrieveTableRsp**
      pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateViewResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1343,1
    - Dst: setCreateViewResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1345,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1348,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - pRsp
    argTypes:
    - SShowCreateViewStmt*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1341
    functionDepth: 2
    functionLinenumber: 1341
    functionLinenumberEnd: 1352
    functionName: execShowCreateView
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - buildCreateViewResultDataBlock
    - buildRetrieveTableRsp
    - setCreateViewResultIntoDataBlock
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t execShowCreateView(SShowCreateViewStmt* pStmt, SRetrieveTableRsp**
      pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateTbResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1356,1
    - Dst: setCreateRsmaResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1358,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1361,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - pRsp
    argTypes:
    - SShowCreateRsmaStmt*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1365
    functionName: execShowCreateRsma
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - buildCreateTbResultDataBlock
    - blockDataDestroy
    - buildRetrieveTableRsp
    - setCreateRsmaResultIntoDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t execShowCreateRsma(SShowCreateRsmaStmt* pStmt, SRetrieveTableRsp**
      pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:1368,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1371,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:1376,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1377,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:1379,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1380,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1389
    functionName: buildCreateStreamResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - QRY_PARAM_CHECK
    - createColumnInfoData
    - createDataBlock
    - blockDataAppendColInfo
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateStreamResultDataBlock(SSDataBlock** pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1393,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:1393,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1396,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:1398,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1398,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/command/src/command.c:1400,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:1400,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1400,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1401,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1401,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1403,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:1405,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/command.c:1407,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/command/src/command.c:1411,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1411,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:1412,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/command/src/command.c:1413,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1414,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:1415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - pBlock
    - pStmt
    argTypes:
    - SSDataBlock*
    - SShowCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1417
    functionName: setCreateStreamResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - blockDataEnsureCapacity
    - QRY_ERR_RET
    - colDataSetVal
    - snprintf
    - taosMemoryFree
    - varDataVal
    - strlen
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t setCreateStreamResultIntoDataBlock(SSDataBlock* pBlock, SShowCreateStreamStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateStreamResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1421,1
    - Dst: setCreateStreamResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1423,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1426,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - pRsp
    argTypes:
    - SShowCreateStreamStmt*
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1419
    functionDepth: 2
    functionLinenumber: 1419
    functionLinenumberEnd: 1430
    functionName: execShowCreateStream
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - setCreateStreamResultIntoDataBlock
    - buildRetrieveTableRsp
    - buildCreateStreamResultDataBlock
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t execShowCreateStream(SShowCreateStreamStmt* pStmt, SRetrieveTableRsp**
      pRsp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/command/src/command.c:1434,1
    - Dst: execDescribe
      Src: /src/tdengine/source/libs/command/src/command.c:1436,1
    - Dst: execResetQueryCache
      Src: /src/tdengine/source/libs/command/src/command.c:1438,1
    - Dst: execShowCreateDatabase
      Src: /src/tdengine/source/libs/command/src/command.c:1440,1
    - Dst: execShowCreateTable
      Src: /src/tdengine/source/libs/command/src/command.c:1442,1
    - Dst: execShowCreateVTable
      Src: /src/tdengine/source/libs/command/src/command.c:1444,1
    - Dst: execShowCreateSTable
      Src: /src/tdengine/source/libs/command/src/command.c:1446,1
    - Dst: execShowCreateView
      Src: /src/tdengine/source/libs/command/src/command.c:1448,1
    - Dst: execShowCreateRsma
      Src: /src/tdengine/source/libs/command/src/command.c:1450,1
    - Dst: execShowCreateStream
      Src: /src/tdengine/source/libs/command/src/command.c:1452,1
    - Dst: execAlterLocal
      Src: /src/tdengine/source/libs/command/src/command.c:1454,1
    - Dst: execShowLocalVariables
      Src: /src/tdengine/source/libs/command/src/command.c:1456,1
    - Dst: execSelectWithoutFrom
      Src: /src/tdengine/source/libs/command/src/command.c:1458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 7
    argNames:
    - pConnId
    - sysInfoUser
    - showVarPrivMask
    - pStmt
    - pRsp
    - biMode
    - charsetCxt
    argTypes:
    - int64_t*
    - bool
    - uint8_t
    - SNode*
    - SRetrieveTableRsp**
    - int8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1432
    functionDepth: 6
    functionLinenumber: 1432
    functionLinenumberEnd: 1463
    functionName: qExecCommand
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: 0
    functionsReached:
    - execShowLocalVariables
    - execShowCreateRsma
    - execAlterLocal
    - execShowCreateStream
    - execShowCreateView
    - execSelectWithoutFrom
    - execShowCreateDatabase
    - execResetQueryCache
    - execShowCreateTable
    - nodeType
    - execShowCreateVTable
    - execDescribe
    - execShowCreateSTable
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qExecCommand(int64_t* pConnId, bool sysInfoUser, uint8_t showVarPrivMask,
      SNode* pStmt,\n                     SRetrieveTableRsp** pRsp, int8_t biMode,
      void* charsetCxt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:29,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:31,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:32,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:32,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showCluster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:38,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:40,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:41,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:41,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showConsumers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:47,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:49,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:50,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:50,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:51,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:52,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:53,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - ASSERT_NE
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showCreateDatabase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:60,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:62,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:63,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:63,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:65,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:66,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:67,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - ASSERT_NE
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showCreateSTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:74,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:76,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:77,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:77,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:78,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:79,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:80,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:81,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - ASSERT_NE
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showCreateTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:88,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showDatabases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:94,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showDnodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:100,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:102,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showDnodeVariables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:108,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showFunctions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:116,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showLocalVariables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:122,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:124,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showIndexes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:130,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showMnodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:136,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showQnodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:145,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:147,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:149,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:151,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showStables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:157,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showStreams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:163,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:166,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:166,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showSubscriptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:172,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showTransactions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:178,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:180,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:182,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:184,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showTables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:190,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showTableDistributed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:196,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:198,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:200,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showTableTags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:206,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showTags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:214,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showUsers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:220,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showUserPrivileges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:226,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showVariables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:232,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:234,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showVgroups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:240,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:242,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showVnodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:248,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:254,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:255,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:255,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:256,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:258,1
    - Dst: tDeserializeSSplitVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:258,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:259,1
    - Dst: setSplitVgroupReqFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:262,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - tDeserializeSSplitVgroupReq
    - ASSERT_EQ
    - setSplitVgroupReqFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, splitVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:267,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:272,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:276,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:277,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:277,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:278,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:280,1
    - Dst: tDeserializeSTrimDbReq
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:280,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:281,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:281,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:281,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:282,1
    - Dst: setTrimDbReq
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:285,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:286,1
    - Dst: setTrimDbReq
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:288,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 290
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - setTrimDbReq
    - run
    - setCheckDdlFunc
    - std::string
    - nodeType
    - snprintf
    - ASSERT_EQ
    - useDb
    - tDeserializeSTrimDbReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, trimDatabase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:293,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, useDatabase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:29,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:31,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:32,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:32,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showCluster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:38,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:40,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:41,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:41,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showConsumers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:47,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:49,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:50,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:50,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:51,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:52,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:53,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - ASSERT_NE
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showCreateDatabase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:60,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:62,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:63,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:63,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:65,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:66,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:67,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - ASSERT_NE
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showCreateSTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:74,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:76,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:77,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:77,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:78,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:79,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:80,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:81,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - ASSERT_NE
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showCreateTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:88,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showDatabases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:94,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showDnodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:100,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:102,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showDnodeVariables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:108,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showFunctions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:116,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showLocalVariables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:122,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:124,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showIndexes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:130,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showMnodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:136,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showQnodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:145,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:147,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:149,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:151,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showStables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:157,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showStreams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:163,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:166,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:166,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showSubscriptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:172,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showTransactions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:178,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:180,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:182,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:184,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showTables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:190,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showTableDistributed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:196,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:198,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:200,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showTableTags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:206,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showTags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:214,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showUsers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:220,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showUserPrivileges)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:226,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showVariables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:232,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:234,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showVgroups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:240,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:242,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, showVnodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:248,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:254,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:255,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:255,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:256,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:258,1
    - Dst: tDeserializeSSplitVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:258,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:259,1
    - Dst: setSplitVgroupReqFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:262,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - tDeserializeSSplitVgroupReq
    - ASSERT_EQ
    - setSplitVgroupReqFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, splitVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:267,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:272,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:276,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:277,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:277,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:278,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:280,1
    - Dst: tDeserializeSTrimDbReq
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:280,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:281,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:281,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:281,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:282,1
    - Dst: setTrimDbReq
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:285,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:286,1
    - Dst: setTrimDbReq
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:288,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 290
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - setTrimDbReq
    - run
    - setCheckDdlFunc
    - std::string
    - nodeType
    - snprintf
    - ASSERT_EQ
    - useDb
    - tDeserializeSTrimDbReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, trimDatabase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:293,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parShowToUse.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parShowToUse.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserShowToUseTest, useDatabase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - std::function<void(const SQuery*, ParserStage)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ParserTest::ParserDdlTest::setCheckDdlFunc
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCheckDdlFunc(const std::function<void(const SQuery*, ParserStage)>&
      func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:55,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:56,1
    - Dst: checkDdl_
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pQuery
    - stage
    argTypes:
    - SQuery*
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: ParserTest::ParserDdlTest::checkDdl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.h
    functionUses: 0
    functionsReached:
    - checkDdl_
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void checkDdl(const SQuery* pQuery, ParserStage stage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - std::function<void(const SQuery*, ParserStage)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ParserTest::ParserDdlTest::setCheckDdlFunc
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCheckDdlFunc(const std::function<void(const SQuery*, ParserStage)>&
      func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:55,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:56,1
    - Dst: checkDdl_
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pQuery
    - stage
    argTypes:
    - SQuery*
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: ParserTest::ParserDdlTest::checkDdl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.h
    functionUses: 0
    functionsReached:
    - checkDdl_
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void checkDdl(const SQuery* pQuery, ParserStage stage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:25,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:27,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:29,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, explain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:35,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:43,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:43,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:44,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:44,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:48,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:48,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:49,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:51,1
    - Dst: tDeserializeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:51,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:52,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:53,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:53,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:53,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:54,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:54,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:54,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:55,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:58,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:59,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:61,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:62,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:64,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:65,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:67,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:68,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:70,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:71,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:73,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 75
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - run
    - setCheckDdlFunc
    - c_str
    - nodeType
    - snprintf
    - ASSERT_EQ
    - tFreeSAlterUserReq
    - useDb
    - setAlterUserReq
    - tDeserializeSAlterUserReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, grant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:78,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, insert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:88,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:97,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:98,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:98,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:99,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:101,1
    - Dst: tDeserializeSMergeVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:101,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:102,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:103,1
    - Dst: setMergeVgroupReqFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:106,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - tDeserializeSMergeVgroupReq
    - run
    - setCheckDdlFunc
    - setMergeVgroupReqFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, mergeVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:111,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:123,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:124,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:124,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:125,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:127,1
    - Dst: tDeserializeSRedistributeVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:127,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:129,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:130,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:131,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:132,1
    - Dst: tFreeSRedistributeVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:133,1
    - Dst: setRedistributeVgroupReqFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:136,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:137,1
    - Dst: setRedistributeVgroupReqFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:139,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 141
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - setRedistributeVgroupReqFunc
    - tFreeSRedistributeVgroupReq
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - tDeserializeSRedistributeVgroupReq
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, redistributeVgroup)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:144,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:148,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:155,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:173,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:173,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:174,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:176,1
    - Dst: tDeserializeSRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:176,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:177,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:178,1
    - Dst: tFreeSRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:179,1
    - Dst: setRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:182,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:183,1
    - Dst: clearRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:184,1
    - Dst: setRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:186,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:187,1
    - Dst: clearRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:188,1
    - Dst: setRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:190,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:191,1
    - Dst: clearRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:192,1
    - Dst: setRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:194,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:195,1
    - Dst: clearRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 197
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - setRestoreDnodeReq
    - clearRestoreDnodeReq
    - run
    - setCheckDdlFunc
    - tDeserializeSRestoreDnodeReq
    - nodeType
    - ASSERT_EQ
    - memset
    - useDb
    - tFreeSRestoreDnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, restoreDnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:204,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:212,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:212,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:213,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:213,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:216,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:217,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:217,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:218,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:220,1
    - Dst: tDeserializeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:220,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:221,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:222,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:222,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:223,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:223,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:223,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:224,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:227,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:228,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:230,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:231,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:233,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:234,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:236,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:237,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:239,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:240,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:242,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 244
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - run
    - setCheckDdlFunc
    - c_str
    - nodeType
    - snprintf
    - ASSERT_EQ
    - tFreeSAlterUserReq
    - useDb
    - setAlterUserReq
    - tDeserializeSAlterUserReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, revoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:25,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:27,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:29,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, explain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:35,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:43,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:43,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:44,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:44,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:48,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:48,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:49,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:51,1
    - Dst: tDeserializeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:51,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:52,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:53,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:53,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:53,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:54,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:54,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:54,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:55,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:58,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:59,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:61,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:62,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:64,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:65,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:67,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:68,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:70,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:71,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:73,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 75
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - run
    - setCheckDdlFunc
    - c_str
    - nodeType
    - snprintf
    - ASSERT_EQ
    - tFreeSAlterUserReq
    - useDb
    - setAlterUserReq
    - tDeserializeSAlterUserReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, grant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:78,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, insert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:88,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:97,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:98,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:98,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:99,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:101,1
    - Dst: tDeserializeSMergeVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:101,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:102,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:103,1
    - Dst: setMergeVgroupReqFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:106,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - tDeserializeSMergeVgroupReq
    - run
    - setCheckDdlFunc
    - setMergeVgroupReqFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, mergeVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:111,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:123,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:124,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:124,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:125,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:127,1
    - Dst: tDeserializeSRedistributeVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:127,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:129,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:130,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:131,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:132,1
    - Dst: tFreeSRedistributeVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:133,1
    - Dst: setRedistributeVgroupReqFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:136,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:137,1
    - Dst: setRedistributeVgroupReqFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:139,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 141
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - setRedistributeVgroupReqFunc
    - tFreeSRedistributeVgroupReq
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - tDeserializeSRedistributeVgroupReq
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, redistributeVgroup)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:144,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:148,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:155,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:173,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:173,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:174,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:176,1
    - Dst: tDeserializeSRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:176,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:177,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:178,1
    - Dst: tFreeSRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:179,1
    - Dst: setRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:182,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:183,1
    - Dst: clearRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:184,1
    - Dst: setRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:186,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:187,1
    - Dst: clearRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:188,1
    - Dst: setRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:190,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:191,1
    - Dst: clearRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:192,1
    - Dst: setRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:194,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:195,1
    - Dst: clearRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 197
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - setRestoreDnodeReq
    - clearRestoreDnodeReq
    - run
    - setCheckDdlFunc
    - tDeserializeSRestoreDnodeReq
    - nodeType
    - ASSERT_EQ
    - memset
    - useDb
    - tFreeSRestoreDnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, restoreDnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:204,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:212,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:212,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:213,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:213,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:216,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:217,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:217,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:218,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:220,1
    - Dst: tDeserializeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:220,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:221,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:222,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:222,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:223,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:223,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:223,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:224,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:227,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:228,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:230,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:231,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:233,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:234,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:236,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:237,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:239,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:240,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:242,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 244
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parExplainToSyncdbTest.cpp
    functionUses: 0
    functionsReached:
    - string
    - run
    - setCheckDdlFunc
    - c_str
    - nodeType
    - snprintf
    - ASSERT_EQ
    - tFreeSAlterUserReq
    - useDb
    - setAlterUserReq
    - tDeserializeSAlterUserReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserExplainToSyncdbTest, revoke)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:38,1
    - Dst: fmFuncMgtInit
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:38,1
    - Dst: initMetaDataEnv
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:39,1
    - Dst: generateMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:40,1
    - Dst: ParserTest::ParserEnv::initLog
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: ParserTest::ParserEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached:
    - initMetaDataEnv
    - generateMetaData
    - ParserTest::ParserEnv::initLog
    - ASSERT_EQ
    - fmFuncMgtInit
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyMetaDataEnv
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:45,1
    - Dst: taosCleanupKeywordsTable
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:46,1
    - Dst: fmFuncMgtDestroy
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:47,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: ParserTest::ParserEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached:
    - taosCloseLog
    - destroyMetaDataEnv
    - taosCleanupKeywordsTable
    - fmFuncMgtDestroy
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ParserTest::ParserEnv::ParserEnv
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParserEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~ParserEnv()
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ParserEnv()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLogLevel
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:56,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:72,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:73,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:73,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:74,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: ParserTest::ParserEnv::initLog
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 1
    functionsReached:
    - taosInitLog
    - getLogLevel
    - taosRemoveDir
    - ASSERT_EQ
    - taosMkDir
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void initLog(const char* path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:94,1
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:100,1
    - Dst: ParserTest::setSkipSqlNum
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:103,1
    - Dst: ParserTest::setLimitSqlNum
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:106,1
    - Dst: ParserTest::setLogLevel
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 115
    functionName: ParserTest::parseArg
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - ParserTest::setLimitSqlNum
    - ParserTest::setSkipSqlNum
    - getopt_long
    - ParserTest::setLogLevel
    linkageType: ''
    returnType: void
    signature: void parseArg(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:38,1
    - Dst: fmFuncMgtInit
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:38,1
    - Dst: initMetaDataEnv
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:39,1
    - Dst: generateMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:40,1
    - Dst: ParserTest::ParserEnv::initLog
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: ParserTest::ParserEnv::SetUp
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached:
    - initMetaDataEnv
    - generateMetaData
    - ParserTest::ParserEnv::initLog
    - ASSERT_EQ
    - fmFuncMgtInit
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyMetaDataEnv
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:45,1
    - Dst: taosCleanupKeywordsTable
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:46,1
    - Dst: fmFuncMgtDestroy
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:47,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: ParserTest::ParserEnv::TearDown
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached:
    - taosCloseLog
    - destroyMetaDataEnv
    - taosCleanupKeywordsTable
    - fmFuncMgtDestroy
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ParserTest::ParserEnv::ParserEnv
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParserEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~ParserEnv()
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ParserEnv()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLogLevel
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:56,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:72,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:73,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:73,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:74,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: ParserTest::ParserEnv::initLog
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 2
    functionsReached:
    - taosInitLog
    - getLogLevel
    - taosRemoveDir
    - ASSERT_EQ
    - taosMkDir
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void initLog(const char* path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:94,1
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:100,1
    - Dst: ParserTest::setSkipSqlNum
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:103,1
    - Dst: ParserTest::setLimitSqlNum
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:106,1
    - Dst: ParserTest::setLogLevel
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 115
    functionName: ParserTest::parseArg
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - ParserTest::setLimitSqlNum
    - ParserTest::setSkipSqlNum
    - getopt_long
    - ParserTest::setLogLevel
    linkageType: ''
    returnType: void
    signature: void parseArg(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::AddGlobalTestEnvironment
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:120,1
    - Dst: ParserTest::ParserEnv::ParserEnv
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:120,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:121,1
    - Dst: ParserTest::parseArg
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:122,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/parser/test/parTestMain.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestMain.cpp
    functionUses: 2
    functionsReached:
    - testing::InitGoogleTest
    - ParserTest::ParserEnv::ParserEnv
    - RUN_ALL_TESTS
    - ParserTest::parseArg
    - testing::AddGlobalTestEnvironment
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:33,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:38,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:39,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:39,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:40,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:42,1
    - Dst: tDeserializeSCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:42,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:43,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:43,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:43,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:44,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:45,1
    - Dst: tFreeSCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:46,1
    - Dst: setCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:49,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:50,1
    - Dst: setCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:52,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:53,1
    - Dst: setCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:55,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:56,1
    - Dst: setCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:58,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - setCompactDbReq
    - run
    - setCheckDdlFunc
    - tFreeSCompactDbReq
    - std::string
    - nodeType
    - snprintf
    - ASSERT_EQ
    - tDeserializeSCompactDbReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, compact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:81,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createAccount)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:123,1
    - Dst: tFreeSCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:128,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:129,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:133,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:194,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:195,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:197,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:197,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:210,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:211,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:211,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:212,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:214,1
    - Dst: tDeserializeSCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:214,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:216,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:216,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:216,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:217,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:218,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:219,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:220,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:221,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:223,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:224,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:225,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:226,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:227,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:228,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:229,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:230,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:231,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:232,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:233,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:234,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:235,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:236,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:237,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:238,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:239,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:240,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:241,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:242,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:243,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:244,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:245,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:247,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:247,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:248,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:248,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:248,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:250,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:251,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:253,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:255,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:257,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:258,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:259,1
    - Dst: tFreeSCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:262,1
    - Dst: setCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:265,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:266,1
    - Dst: clearCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:267,1
    - Dst: setCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:269,1
    - Dst: setDbBuffer
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:270,1
    - Dst: setDbCachelast
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:271,1
    - Dst: setDbCachelastSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:272,1
    - Dst: setDbCompression
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:273,1
    - Dst: setDbDays
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:274,1
    - Dst: setDbFsync
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:275,1
    - Dst: setDbMaxRows
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:276,1
    - Dst: setDbMinRows
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:277,1
    - Dst: setDbKeep
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:278,1
    - Dst: setDbPages
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:279,1
    - Dst: setDbPageSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:280,1
    - Dst: setDbPrecision
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:281,1
    - Dst: setDbReplica
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:282,1
    - Dst: addDbRetention
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:283,1
    - Dst: addDbRetention
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:284,1
    - Dst: addDbRetention
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:285,1
    - Dst: setDbWalLevel
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:287,1
    - Dst: setDbVgroups
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:288,1
    - Dst: setDbSingleStable
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:289,1
    - Dst: setDbSchemaless
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:290,1
    - Dst: setDbWalRetentionPeriod
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:291,1
    - Dst: setDbWalRetentionSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:292,1
    - Dst: setDbWalRollPeriod
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:293,1
    - Dst: setDbWalSegmentSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:294,1
    - Dst: setDbSstTrigger
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:295,1
    - Dst: setDbHashPrefix
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:296,1
    - Dst: setDbHashSuffix
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:297,1
    - Dst: setDbTsdbPageSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:298,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:300,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:329,1
    - Dst: clearCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:359,1
    - Dst: setCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:361,1
    - Dst: setDbDays
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:362,1
    - Dst: setDbKeep
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:363,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:364,1
    - Dst: clearCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:367,1
    - Dst: setCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:369,1
    - Dst: setDbReplica
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:370,1
    - Dst: setDbWalRetentionPeriod
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:371,1
    - Dst: setDbWalRetentionSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:372,1
    - Dst: setDbWalRollPeriod
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:373,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:374,1
    - Dst: clearCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 198
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 376
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tFreeSCreateDbReq
    - nodeType
    - snprintf
    - memset
    - ASSERT_EQ
    - setDbHashSuffix
    - tDeserializeSCreateDbReq
    - setDbPageSize
    - setDbSchemaless
    - setDbCachelast
    - setDbVgroups
    - setDbDays
    - setDbWalRetentionSize
    - taosArrayGet
    - std::string
    - setDbReplica
    - setDbHashPrefix
    - setDbMinRows
    - setDbWalRetentionPeriod
    - taosArrayGetSize
    - useDb
    - ASSERT_TRUE
    - setDbWalRollPeriod
    - setDbBuffer
    - setDbSstTrigger
    - setDbPrecision
    - setDbCachelastSize
    - run
    - addDbRetention
    - setCheckDdlFunc
    - setCreateDbReq
    - setDbPages
    - setDbWalLevel
    - setDbSingleStable
    - setDbCompression
    - setDbKeep
    - setDbMaxRows
    - taosArrayInit
    - setDbWalSegmentSize
    - setDbTsdbPageSize
    - setDbFsync
    - clearCreateDbReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createDatabase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:379,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:381,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:382,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:383,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:384,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:385,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createDatabaseSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:393,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:397,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:400,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:404,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:405,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:405,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:407,1
    - Dst: tDeserializeSCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:407,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:409,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:409,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:409,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:410,1
    - Dst: tFreeSCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:411,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:414,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:415,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:416,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:418,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:419,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:420,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:422,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:423,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:424,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:426,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:427,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:428,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:430,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:431,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:432,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:434,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:435,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 437
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - clearCreateDnodeReq
    - tFreeSCreateDnodeReq
    - strcpy
    - setCheckDdlFunc
    - setCreateDnodeReq
    - run
    - std::string
    - nodeType
    - ASSERT_EQ
    - memset
    - tDeserializeSCreateDnodeReq
    - useDb
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createDnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:444,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:451,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:452,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:462,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:463,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:463,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:465,1
    - Dst: tDeserializeSCreateFuncReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:465,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:467,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:467,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:468,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:469,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:470,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:471,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:472,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:473,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:474,1
    - Dst: tFreeSCreateFuncReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:476,1
    - Dst: std::ofstream::close
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:483,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    - Dst: remove
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    - Dst: setCreateFuncReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:489,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:490,1
    - Dst: setCreateFuncReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:492,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 494
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSCreateFuncReq
    - setCreateFuncReq
    - run
    - strcpy
    - setCheckDdlFunc
    - tDeserializeSCreateFuncReq
    - std::string
    - std::ofstream::close
    - c_str
    - nodeType
    - ASSERT_EQ
    - memset
    - useDb
    - ASSERT_TRUE
    - remove
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createFunction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ofstream::close
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: ParserTest::udfFile
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::close
    linkageType: ''
    returnType: void
    signature: void udfFile(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    - Dst: remove
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: ~udfFile()
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - TD_ALWAYS_ASSERT
    - remove
    linkageType: ''
    returnType: void
    signature: void ~udfFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 502
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createView)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:508,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:514,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:515,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:515,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:517,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:518,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:520,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:521,1
    - Dst: setCreateMnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:524,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 526
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSMCreateQnodeReq
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    - setCreateMnodeReq
    - tDeserializeSCreateDropMQSNodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createMnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:532,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:539,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:539,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:541,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:542,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:544,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:545,1
    - Dst: setCreateQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:548,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 550
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSMCreateQnodeReq
    - setCreateQnodeReq
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    - tDeserializeSCreateDropMQSNodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createQnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:645,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:651,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:652,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:652,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:654,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:655,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:657,1
    - Dst: setCreateSnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:660,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 662
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    - tDeserializeSCreateDropMQSNodeReq
    - setCreateSnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createSnode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:675,1
    - Dst: tFreeSMCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:680,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:681,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:689,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:700,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:701,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:708,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:715,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:717,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:717,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:721,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:723,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:723,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:728,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:729,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:729,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:731,1
    - Dst: tDeserializeSMCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:731,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:733,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:733,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:733,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:734,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:735,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:736,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:737,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:738,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:739,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:740,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:741,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:743,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:744,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:747,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:747,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:748,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:748,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:748,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:750,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:751,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:752,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:752,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:752,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:753,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:754,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:755,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:759,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:759,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:760,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:760,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:760,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:762,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:763,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:764,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:764,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:764,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:765,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:766,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:767,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:771,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:771,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:771,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:774,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:774,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:774,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:777,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:777,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:777,1
    - Dst: tFreeSMCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:779,1
    - Dst: setCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:782,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:783,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:784,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:785,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:786,1
    - Dst: clearCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:787,1
    - Dst: setCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:789,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:792,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:793,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:794,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:795,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:796,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:797,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:798,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:799,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:800,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:801,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:802,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:803,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:804,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:805,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:806,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:807,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:808,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:809,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:810,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:811,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:812,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:813,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:814,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:815,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:816,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:817,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:818,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:819,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:820,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:821,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:822,1
    - Dst: clearCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:831,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 832
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - nodeType
    - snprintf
    - memset
    - ASSERT_EQ
    - tFreeSMCreateStbReq
    - taosArrayGet
    - strcpy
    - std::string
    - taosArrayGetSize
    - useDb
    - ASSERT_TRUE
    - addFieldToCreateStbReq
    - run
    - setCheckDdlFunc
    - tDeserializeSMCreateStbReq
    - clearCreateStbReq
    - taosStrdup
    - setCreateStbReq
    - taosArrayInit
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createStable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:835,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:837,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:840,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 845
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createStableSemanticCheck)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:881,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:888,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:894,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:895,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:899,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:900,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:902,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:902,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:905,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:907,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:907,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:910,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:911,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:912,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:914,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:915,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:918,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:919,1
    - Dst: tDecodeSVCreateTbBatchReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:919,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:920,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:923,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:924,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:925,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:925,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:925,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:926,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:927,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:928,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:929,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:930,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:930,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:930,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:931,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:933,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:934,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:936,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:936,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:936,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:937,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:938,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:941,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:945,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:947,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:953,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:962,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:964,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:969,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 970
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecoderClear
    - nodeType
    - ASSERT_EQ
    - POINTER_SHIFT
    - taosArrayGetP
    - taosArrayGet
    - std::string
    - taosArrayGetSize
    - ASSERT_TRUE
    - useDb
    - run
    - setCheckDdlFunc
    - ASSERT_NE
    - tDecodeSVCreateTbBatchReq
    - taosStrdup
    - taosArrayInit
    - tDecoderInit
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:973,1
    - Dst: string::append
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:978,1
    - Dst: string::append
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:980,1
    - Dst: to_string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:980,1
    - Dst: string::append
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:982,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 985
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - to_string
    - useDb
    - string::append
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createTableSemanticCheck)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:993,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:997,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1001,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1007,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1013,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1017,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1018,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1018,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1020,1
    - Dst: tDeserializeSCMCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1021,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1023,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1023,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1023,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1024,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1025,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1026,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1026,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1026,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1027,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1030,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1030,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1030,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1033,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1033,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1033,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1036,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1039,1
    - Dst: tFreeSCMCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1041,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1044,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1045,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1046,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1048,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1049,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1050,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1052,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1053,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1054,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1056,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1057,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1058,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1060,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1061,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1062,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1064,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1065,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1066,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1068,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1069,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1070,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1072,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1074,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1075,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1076
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - setCreateTopicReq
    - ASSERT_NE
    - std::string
    - tFreeSCMCreateTopicReq
    - nodeType
    - snprintf
    - memset
    - ASSERT_EQ
    - tDeserializeSCMCreateTopicReq
    - useDb
    - ASSERT_TRUE
    - clearCreateTopicReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createTopic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1082,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1086,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1089,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1096,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1097,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1097,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1099,1
    - Dst: tDeserializeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1099,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1101,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1102,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1103,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1104,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1105,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1105,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1105,1
    - Dst: tFreeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1106,1
    - Dst: setCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1109,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1110,1
    - Dst: clearCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1111,1
    - Dst: setCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1113,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1114,1
    - Dst: clearCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1116
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSCreateUserReq
    - setCreateUserReq
    - run
    - strcpy
    - setCheckDdlFunc
    - tDeserializeSCreateUserReq
    - std::string
    - clearCreateUserReq
    - nodeType
    - ASSERT_EQ
    - memset
    - useDb
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createUser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:33,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:38,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:39,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:39,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:40,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:42,1
    - Dst: tDeserializeSCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:42,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:43,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:43,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:43,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:44,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:45,1
    - Dst: tFreeSCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:46,1
    - Dst: setCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:49,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:50,1
    - Dst: setCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:52,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:53,1
    - Dst: setCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:55,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:56,1
    - Dst: setCompactDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:58,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - setCompactDbReq
    - run
    - setCheckDdlFunc
    - tFreeSCompactDbReq
    - std::string
    - nodeType
    - snprintf
    - ASSERT_EQ
    - tDeserializeSCompactDbReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, compact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:81,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createAccount)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:123,1
    - Dst: tFreeSCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:128,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:129,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:133,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:194,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:195,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:197,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:197,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:210,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:211,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:211,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:212,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:214,1
    - Dst: tDeserializeSCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:214,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:216,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:216,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:216,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:217,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:218,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:219,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:220,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:221,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:223,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:224,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:225,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:226,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:227,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:228,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:229,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:230,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:231,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:232,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:233,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:234,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:235,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:236,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:237,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:238,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:239,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:240,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:241,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:242,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:243,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:244,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:245,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:247,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:247,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:248,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:248,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:248,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:250,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:251,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:253,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:255,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:257,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:258,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:259,1
    - Dst: tFreeSCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:262,1
    - Dst: setCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:265,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:266,1
    - Dst: clearCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:267,1
    - Dst: setCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:269,1
    - Dst: setDbBuffer
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:270,1
    - Dst: setDbCachelast
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:271,1
    - Dst: setDbCachelastSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:272,1
    - Dst: setDbCompression
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:273,1
    - Dst: setDbDays
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:274,1
    - Dst: setDbFsync
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:275,1
    - Dst: setDbMaxRows
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:276,1
    - Dst: setDbMinRows
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:277,1
    - Dst: setDbKeep
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:278,1
    - Dst: setDbPages
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:279,1
    - Dst: setDbPageSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:280,1
    - Dst: setDbPrecision
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:281,1
    - Dst: setDbReplica
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:282,1
    - Dst: addDbRetention
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:283,1
    - Dst: addDbRetention
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:284,1
    - Dst: addDbRetention
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:285,1
    - Dst: setDbWalLevel
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:287,1
    - Dst: setDbVgroups
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:288,1
    - Dst: setDbSingleStable
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:289,1
    - Dst: setDbSchemaless
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:290,1
    - Dst: setDbWalRetentionPeriod
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:291,1
    - Dst: setDbWalRetentionSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:292,1
    - Dst: setDbWalRollPeriod
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:293,1
    - Dst: setDbWalSegmentSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:294,1
    - Dst: setDbSstTrigger
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:295,1
    - Dst: setDbHashPrefix
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:296,1
    - Dst: setDbHashSuffix
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:297,1
    - Dst: setDbTsdbPageSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:298,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:300,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:329,1
    - Dst: clearCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:359,1
    - Dst: setCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:361,1
    - Dst: setDbDays
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:362,1
    - Dst: setDbKeep
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:363,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:364,1
    - Dst: clearCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:367,1
    - Dst: setCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:369,1
    - Dst: setDbReplica
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:370,1
    - Dst: setDbWalRetentionPeriod
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:371,1
    - Dst: setDbWalRetentionSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:372,1
    - Dst: setDbWalRollPeriod
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:373,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:374,1
    - Dst: clearCreateDbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 198
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 376
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tFreeSCreateDbReq
    - nodeType
    - snprintf
    - memset
    - ASSERT_EQ
    - setDbHashSuffix
    - tDeserializeSCreateDbReq
    - setDbPageSize
    - setDbSchemaless
    - setDbCachelast
    - setDbVgroups
    - setDbDays
    - setDbWalRetentionSize
    - taosArrayGet
    - std::string
    - setDbReplica
    - setDbHashPrefix
    - setDbMinRows
    - setDbWalRetentionPeriod
    - taosArrayGetSize
    - useDb
    - ASSERT_TRUE
    - setDbWalRollPeriod
    - setDbBuffer
    - setDbSstTrigger
    - setDbPrecision
    - setDbCachelastSize
    - run
    - addDbRetention
    - setCheckDdlFunc
    - setCreateDbReq
    - setDbPages
    - setDbWalLevel
    - setDbSingleStable
    - setDbCompression
    - setDbKeep
    - setDbMaxRows
    - taosArrayInit
    - setDbWalSegmentSize
    - setDbTsdbPageSize
    - setDbFsync
    - clearCreateDbReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createDatabase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:379,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:381,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:382,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:383,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:384,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:385,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createDatabaseSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:393,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:397,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:400,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:404,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:405,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:405,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:407,1
    - Dst: tDeserializeSCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:407,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:409,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:409,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:409,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:410,1
    - Dst: tFreeSCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:411,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:414,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:415,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:416,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:418,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:419,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:420,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:422,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:423,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:424,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:426,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:427,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:428,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:430,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:431,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:432,1
    - Dst: setCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:434,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:435,1
    - Dst: clearCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 437
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - clearCreateDnodeReq
    - tFreeSCreateDnodeReq
    - strcpy
    - setCheckDdlFunc
    - setCreateDnodeReq
    - run
    - std::string
    - nodeType
    - ASSERT_EQ
    - memset
    - tDeserializeSCreateDnodeReq
    - useDb
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createDnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:444,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:451,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:452,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:462,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:463,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:463,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:465,1
    - Dst: tDeserializeSCreateFuncReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:465,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:467,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:467,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:468,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:469,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:470,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:471,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:472,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:473,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:474,1
    - Dst: tFreeSCreateFuncReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:476,1
    - Dst: std::ofstream::close
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:483,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    - Dst: remove
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    - Dst: setCreateFuncReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:489,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:490,1
    - Dst: setCreateFuncReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:492,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 494
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSCreateFuncReq
    - setCreateFuncReq
    - run
    - strcpy
    - setCheckDdlFunc
    - tDeserializeSCreateFuncReq
    - std::string
    - std::ofstream::close
    - c_str
    - nodeType
    - ASSERT_EQ
    - memset
    - useDb
    - ASSERT_TRUE
    - remove
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createFunction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ofstream::close
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: ParserTest::udfFile
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::close
    linkageType: ''
    returnType: void
    signature: void udfFile(const std::string& filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    - Dst: remove
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 485
    functionName: ~udfFile()
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - TD_ALWAYS_ASSERT
    - remove
    linkageType: ''
    returnType: void
    signature: void ~udfFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 502
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createView)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:508,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:514,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:515,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:515,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:517,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:518,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:520,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:521,1
    - Dst: setCreateMnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:524,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 526
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSMCreateQnodeReq
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    - setCreateMnodeReq
    - tDeserializeSCreateDropMQSNodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createMnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:532,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:539,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:539,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:541,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:542,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:544,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:545,1
    - Dst: setCreateQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:548,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 550
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSMCreateQnodeReq
    - setCreateQnodeReq
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    - tDeserializeSCreateDropMQSNodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createQnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:645,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:651,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:652,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:652,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:654,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:655,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:657,1
    - Dst: setCreateSnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:660,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 662
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - ASSERT_TRUE
    - useDb
    - tDeserializeSCreateDropMQSNodeReq
    - setCreateSnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createSnode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:675,1
    - Dst: tFreeSMCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:680,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:681,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:689,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:700,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:701,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:708,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:715,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:717,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:717,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:721,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:723,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:723,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:728,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:729,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:729,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:731,1
    - Dst: tDeserializeSMCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:731,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:733,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:733,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:733,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:734,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:735,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:736,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:737,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:738,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:739,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:740,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:741,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:743,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:744,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:747,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:747,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:748,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:748,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:748,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:750,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:751,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:752,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:752,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:752,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:753,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:754,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:755,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:759,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:759,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:760,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:760,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:760,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:762,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:763,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:764,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:764,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:764,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:765,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:766,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:767,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:771,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:771,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:771,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:774,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:774,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:774,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:777,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:777,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:777,1
    - Dst: tFreeSMCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:779,1
    - Dst: setCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:782,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:783,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:784,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:785,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:786,1
    - Dst: clearCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:787,1
    - Dst: setCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:789,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:792,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:793,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:794,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:795,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:796,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:797,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:798,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:799,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:800,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:801,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:802,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:803,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:804,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:805,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:806,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:807,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:808,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:809,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:810,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:811,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:812,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:813,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:814,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:815,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:816,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:817,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:818,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:819,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:820,1
    - Dst: addFieldToCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:821,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:822,1
    - Dst: clearCreateStbReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:831,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 832
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - nodeType
    - snprintf
    - memset
    - ASSERT_EQ
    - tFreeSMCreateStbReq
    - taosArrayGet
    - strcpy
    - std::string
    - taosArrayGetSize
    - useDb
    - ASSERT_TRUE
    - addFieldToCreateStbReq
    - run
    - setCheckDdlFunc
    - tDeserializeSMCreateStbReq
    - clearCreateStbReq
    - taosStrdup
    - setCreateStbReq
    - taosArrayInit
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createStable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:835,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:837,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:840,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 845
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createStableSemanticCheck)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:881,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:888,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:894,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:895,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:899,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:900,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:902,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:902,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:905,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:907,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:907,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:910,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:911,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:912,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:914,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:915,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:918,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:919,1
    - Dst: tDecodeSVCreateTbBatchReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:919,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:920,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:923,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:924,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:925,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:925,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:925,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:926,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:927,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:928,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:929,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:930,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:930,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:930,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:931,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:933,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:934,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:936,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:936,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:936,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:937,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:938,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:941,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:945,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:947,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:953,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:962,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:964,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:969,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 970
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecoderClear
    - nodeType
    - ASSERT_EQ
    - POINTER_SHIFT
    - taosArrayGetP
    - taosArrayGet
    - std::string
    - taosArrayGetSize
    - ASSERT_TRUE
    - useDb
    - run
    - setCheckDdlFunc
    - ASSERT_NE
    - tDecodeSVCreateTbBatchReq
    - taosStrdup
    - taosArrayInit
    - tDecoderInit
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:973,1
    - Dst: string::append
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:978,1
    - Dst: string::append
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:980,1
    - Dst: to_string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:980,1
    - Dst: string::append
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:982,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 985
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - to_string
    - useDb
    - string::append
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createTableSemanticCheck)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:993,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:997,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1001,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1007,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1013,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1017,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1018,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1018,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1020,1
    - Dst: tDeserializeSCMCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1021,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1023,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1023,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1023,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1024,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1025,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1026,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1026,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1026,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1027,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1030,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1030,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1030,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1033,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1033,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1033,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1036,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1039,1
    - Dst: tFreeSCMCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1041,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1044,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1045,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1046,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1048,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1049,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1050,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1052,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1053,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1054,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1056,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1057,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1058,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1060,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1061,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1062,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1064,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1065,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1066,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1068,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1069,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1070,1
    - Dst: setCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1072,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1074,1
    - Dst: clearCreateTopicReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1075,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1076
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - setCreateTopicReq
    - ASSERT_NE
    - std::string
    - tFreeSCMCreateTopicReq
    - nodeType
    - snprintf
    - memset
    - ASSERT_EQ
    - tDeserializeSCMCreateTopicReq
    - useDb
    - ASSERT_TRUE
    - clearCreateTopicReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createTopic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1082,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1086,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1089,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1096,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1097,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1097,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1099,1
    - Dst: tDeserializeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1099,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1101,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1102,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1103,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1104,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1105,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1105,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1105,1
    - Dst: tFreeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1106,1
    - Dst: setCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1109,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1110,1
    - Dst: clearCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1111,1
    - Dst: setCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1113,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1114,1
    - Dst: clearCreateUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1116
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialCTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSCreateUserReq
    - setCreateUserReq
    - run
    - strcpy
    - setCheckDdlFunc
    - tDeserializeSCreateUserReq
    - std::string
    - clearCreateUserReq
    - nodeType
    - ASSERT_EQ
    - memset
    - useDb
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialCTest, createUser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addColumn
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - type
    argTypes:
    - std::string
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& addTag(const std::string& name, int8_t type)'
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.h
    functionUses: 0
    functionsReached:
    - addColumn
    linkageType: ''
    returnType: ITableBuilder
    signature: ITableBuilder & addTag(const std::string& name, int8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addColumn
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' name'
    - type
    - bytes
    argTypes:
    - std::string
    - int8_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& addTag(const std::string& name, int8_t type, int32_t bytes)'
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.h
    functionUses: 0
    functionsReached:
    - addColumn
    linkageType: ''
    returnType: ITableBuilder
    signature: ITableBuilder & addTag(const std::string& name, int8_t type, int32_t
      bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addColumn
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' name'
    - type
    argTypes:
    - std::string
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: '& addColumn(const std::string& name, int8_t type)'
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.h
    functionUses: 0
    functionsReached:
    - addColumn
    linkageType: ''
    returnType: ITableBuilder
    signature: ITableBuilder & addColumn(const std::string& name, int8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~MockTableMeta()
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.h
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ~MockTableMeta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schema
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:36,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:40,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ' name'
    - type
    - bytes
    argTypes:
    - string
    - int8_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: '& addColumn(const string& name, int8_t type, int32_t bytes)'
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - schema
    - c_str
    linkageType: ''
    returnType: TableBuilder
    signature: TableBuilder & addColumn(const string& name, int8_t type, int32_t bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schema
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:46,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:49,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:49,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:50,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:50,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:51,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:51,1
    - Dst: vgs::emplace_back
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - vgid
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: '& setVgid(int16_t vgid)'
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - vgs::emplace_back
    - addEpIntoEpSet
    - TD_ALWAYS_ASSERT
    - schema
    linkageType: ''
    returnType: TableBuilder
    signature: TableBuilder & setVgid(int16_t vgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schema
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '& setPrecision(uint8_t precision)'
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - schema
    linkageType: ''
    returnType: TableBuilder
    signature: TableBuilder & setPrecision(uint8_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TableBuilder::schema
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: TableBuilder::done
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - TableBuilder::schema
    linkageType: ''
    returnType: void
    signature: void done()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:70,1
    - Dst: std::bad_alloc
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:72,1
    - Dst: std::unique_ptr<TableBuilder>
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:77,1
    - Dst: TableBuilder::TableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tableType
    - numOfColumns
    - numOfTags
    argTypes:
    - int8_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: TableBuilder::createTableBuilder
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<TableBuilder>
    - TableBuilder::TableBuilder
    - taosMemoryCalloc
    - std::bad_alloc
    linkageType: ''
    returnType: std::unique_ptr<TableBuilder>
    signature: std::unique_ptr<TableBuilder> createTableBuilder(int8_t tableType,
      int32_t numOfColumns, int32_t numOfTags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockTableMeta::MockTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - schemaMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: TableBuilder::TableBuilder
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockTableMeta::MockTableMeta
    linkageType: ''
    returnType: void
    signature: void TableBuilder(STableMeta* schemaMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: TableBuilder::schema
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: STableMeta
    signature: STableMeta * schema()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: TableBuilder::table
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<MockTableMeta>
    signature: std::shared_ptr<MockTableMeta> table()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: MockCatalogServiceImpl::MockCatalogServiceImpl
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCatalogServiceImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:101,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: ~MockCatalogServiceImpl()
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void ~MockCatalogServiceImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: MockCatalogServiceImpl::catalogGetHandle
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetHandle() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:120,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:122,1
    - Dst: MockCatalogServiceImpl::copyTableSchemaMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:123,1
    - Dst: std::unique_ptr::release
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pTableName
    - pTableMeta
    argTypes:
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: MockCatalogServiceImpl::catalogGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - tNameGetTableName
    - MockCatalogServiceImpl::copyTableSchemaMeta
    - std::unique_ptr::release
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetTableMeta(const SName* pTableName, STableMeta** pTableMeta,
      bool onlyCache = false) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTableName
    - vgInfo
    argTypes:
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: MockCatalogServiceImpl::catalogGetTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetTableHashVgroup(const SName* pTableName, SVgroupInfo*
      vgInfo, bool onlyCache = false) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:143,1
    - Dst: MockCatalogServiceImpl::copyTableVgroup
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:144,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pTableName
    - vgList
    argTypes:
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: MockCatalogServiceImpl::catalogGetTableDistVgInfo
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - tNameGetTableName
    - MockCatalogServiceImpl::copyTableVgroup
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetTableDistVgInfo(const SName* pTableName, SArray**
      vgList) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:148,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:148,1
    - Dst: string::compare
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:149,1
    - Dst: string::compare
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:149,1
    - Dst: MockCatalogServiceImpl::catalogGetAllDBVgList
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:150,1
    - Dst: MockCatalogServiceImpl::catalogGetDBVgListImpl
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pDbFName
    - pVgList
    argTypes:
    - char*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: MockCatalogServiceImpl::catalogGetDBVgList
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogServiceImpl::catalogGetAllDBVgList
    - MockCatalogServiceImpl::catalogGetDBVgListImpl
    - string
    - string::compare
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetDBVgList(const char* pDbFName, SArray** pVgList)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:157,1
    - Dst: string::substr
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:157,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:157,1
    - Dst: end
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:158,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pDbFName
    - pDbCfg
    argTypes:
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: MockCatalogServiceImpl::catalogGetDBCfg
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - string
    - memcpy
    - string::substr
    - end
    - find
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetDBCfg(const char* pDbFName, SDbCfgInfo* pDbCfg) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:167,1
    - Dst: end
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:168,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:171,1
    - Dst: auto::second::get
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' funcName'
    - pInfo
    argTypes:
    - string
    - SFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: MockCatalogServiceImpl::catalogGetUdfInfo
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - auto::second::get
    - memcpy
    - end
    - find
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetUdfInfo(const string& funcName, SFuncInfo* pInfo)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:177,1
    - Dst: find
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:181,1
    - Dst: end
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:182,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:185,1
    - Dst: auto::second::size
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:185,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:189,1
    - Dst: MockCatalogServiceImpl::copyTableIndexInfo
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:189,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pTableName
    - pIndexes
    argTypes:
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 196
    functionName: MockCatalogServiceImpl::catalogGetTableIndex
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogServiceImpl::copyTableIndexInfo
    - taosArrayPush
    - taosArrayDestroy
    - auto::second::size
    - taosArrayInit
    - tNameExtractFullName
    - end
    - find
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetTableIndex(const SName* pTableName, SArray** pIndexes)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:199,1
    - Dst: size
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:199,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:204,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pDnodes
    argTypes:
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: MockCatalogServiceImpl::catalogGetDnodeList
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - size
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetDnodeList(SArray** pDnodes) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogServiceImpl::getAllTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:214,1
    - Dst: MockCatalogServiceImpl::getAllTableVgroup
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:216,1
    - Dst: MockCatalogServiceImpl::getAllDbVgroup
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:219,1
    - Dst: MockCatalogServiceImpl::getAllDbCfg
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:222,1
    - Dst: MockCatalogServiceImpl::getAllDbInfo
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:225,1
    - Dst: MockCatalogServiceImpl::getAllUserAuth
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:228,1
    - Dst: MockCatalogServiceImpl::getAllUdf
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:231,1
    - Dst: MockCatalogServiceImpl::getAllTableIndex
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:234,1
    - Dst: MockCatalogServiceImpl::getAllDnodeList
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:237,1
    - Dst: MockCatalogServiceImpl::getAllTableCfg
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:240,1
    - Dst: MockCatalogServiceImpl::getAllViewMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:243,1
    - Dst: MockCatalogServiceImpl::getAllVstbRefDbs
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:246,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - pCatalogReq
    - pMetaData
    argTypes:
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 249
    functionName: MockCatalogServiceImpl::catalogGetAllMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogServiceImpl::getAllDnodeList
    - MockCatalogServiceImpl::getAllTableCfg
    - MockCatalogServiceImpl::getAllTableMeta
    - MockCatalogServiceImpl::getAllTableIndex
    - MockCatalogServiceImpl::getAllVstbRefDbs
    - MockCatalogServiceImpl::getAllDbCfg
    - MockCatalogServiceImpl::getAllTableVgroup
    - MockCatalogServiceImpl::getAllUserAuth
    - MockCatalogServiceImpl::getAllViewMeta
    - MockCatalogServiceImpl::getAllUdf
    - MockCatalogServiceImpl::getAllDbVgroup
    - MockCatalogServiceImpl::getAllDbInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetAllMeta(const SCatalogReq* pCatalogReq, SMetaData*
      pMetaData) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TableBuilder::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:253,1
    - Dst: table
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:254,1
    - Dst: getNextId
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:255,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' db'
    - ' tbname'
    - tableType
    - numOfColumns
    - numOfTags
    argTypes:
    - string
    - string
    - int8_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: "& createTableBuilder(const string& db, const string& tbname, int8_t
      tableType, int32_t numOfColumns,\n                                   int32_t
      numOfTags)"
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - TableBuilder::createTableBuilder
    - get
    - getNextId
    - table
    linkageType: ''
    returnType: TableBuilder
    signature: "TableBuilder & createTableBuilder(const string& db, const string&
      tbname, int8_t tableType, int32_t numOfColumns,\n                                   int32_t
      numOfTags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogServiceImpl::copyTableSchemaMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:261,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:262,1
    - Dst: reset
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:264,1
    - Dst: MockTableMeta::MockTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:264,1
    - Dst: std::unique_ptr::release
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:265,1
    - Dst: MockCatalogServiceImpl::getNextId
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:266,1
    - Dst: MockCatalogServiceImpl::genEpSet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:270,1
    - Dst: vgs::emplace_back
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:272,1
    - Dst: vgs::emplace_back
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' db'
    - ' stbname'
    - ' tbname'
    - vgid
    argTypes:
    - string
    - string
    - string
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: MockCatalogServiceImpl::createSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogServiceImpl::genEpSet
    - MockCatalogServiceImpl::copyTableSchemaMeta
    - MockTableMeta::MockTableMeta
    - MockCatalogServiceImpl::getNextId
    - vgs::emplace_back
    - reset
    - std::unique_ptr::release
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void createSubTable(const string& db, const string& stbname, const
      string& tbname, int16_t vgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SH
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:303,1
    - Dst: SH
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:303,1
    - Dst: SH
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:303,1
    - Dst: IH
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:303,1
    - Dst: IH
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:303,1
    - Dst: SL
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:304,1
    - Dst: SF
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:307,1
    - Dst: SF
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:307,1
    - Dst: MockCatalogServiceImpl::ttToString
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:307,1
    - Dst: SF
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:307,1
    - Dst: MockCatalogServiceImpl::pToString
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:307,1
    - Dst: IF
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:308,1
    - Dst: IF
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:308,1
    - Dst: SH
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:317,1
    - Dst: SH
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:317,1
    - Dst: SH
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:317,1
    - Dst: IH
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:317,1
    - Dst: SL
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:318,1
    - Dst: SF
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:323,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:323,1
    - Dst: SH
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:323,1
    - Dst: MockCatalogServiceImpl::ftToString
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:323,1
    - Dst: SH
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:323,1
    - Dst: MockCatalogServiceImpl::dtToString
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:323,1
    - Dst: IF
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 329
    functionName: MockCatalogServiceImpl::showTables
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogServiceImpl::ttToString
    - string
    - IH
    - IF
    - MockCatalogServiceImpl::pToString
    - MockCatalogServiceImpl::dtToString
    - SL
    - MockCatalogServiceImpl::ftToString
    - SH
    - SF
    linkageType: ''
    returnType: void
    signature: void showTables() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: NOF
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOF(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: NOB
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOB(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: CA
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CA(n, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: SH
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SH(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: SF
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SF(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: IH
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IH(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: IF
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sn
    - ','
    - in
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: SL
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SL(sn, in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SFuncInfo::SFuncInfo
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:332,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:333,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:333,1
    - Dst: insert
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:341,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ' func'
    - funcType
    - outputType
    - outputLen
    - bufSize
    argTypes:
    - string
    - int8_t
    - int8_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionName: MockCatalogServiceImpl::createFunction
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - strcpy
    - c_str
    - SFuncInfo::SFuncInfo
    - insert
    linkageType: ''
    returnType: void
    signature: void createFunction(const string& func, int8_t funcType, int8_t outputType,
      int32_t outputLen, int32_t bufSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogServiceImpl::getNextId
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:351,1
    - Dst: MockCatalogServiceImpl::genEpSet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:353,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:354,1
    - Dst: find
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:355,1
    - Dst: end
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:356,1
    - Dst: insert
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:357,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:357,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:357,1
    - Dst: auto::second::push_back
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 361
    functionName: MockCatalogServiceImpl::createSmaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - string
    - MockCatalogServiceImpl::genEpSet
    - MockCatalogServiceImpl::getNextId
    - auto::second::push_back
    - taosStrdup
    - insert
    - end
    - find
    linkageType: ''
    returnType: void
    signature: void createSmaIndex(const SMCreateSmaReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:367,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:367,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:367,1
    - Dst: insert
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:368,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dnodeId
    - ' host'
    - port
    argTypes:
    - int32_t
    - string
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: MockCatalogServiceImpl::createDnode
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - c_str
    - addEpIntoEpSet
    - TD_ALWAYS_ASSERT
    - insert
    linkageType: ''
    returnType: void
    signature: void createDnode(int32_t dnodeId, const string& host, int16_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:374,1
    - Dst: insert
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:378,1
    - Dst: std::make_pair
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' db'
    - rollup
    - cacheLast
    - precision
    argTypes:
    - string
    - bool
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: MockCatalogServiceImpl::createDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - insert
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void createDatabase(const string& db, bool rollup, int8_t cacheLast,
      int8_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 389
    functionName: MockCatalogServiceImpl::getNextId
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getNextId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:392,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:392,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:393,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:393,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:394,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: MockCatalogServiceImpl::genEpSet
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 2
    functionsReached:
    - addEpIntoEpSet
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void genEpSet(SEpSet* pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:399,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - STableIndexInfo*
    - STableIndexInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: MockCatalogServiceImpl::copyTableIndexInfo
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - taosStrdup
    linkageType: ''
    returnType: STableIndexInfo
    signature: STableIndexInfo * copyTableIndexInfo(STableIndexInfo* pDst, const STableIndexInfo*
      pSrc) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:405,1
    - Dst: substr
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dbFullName'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: MockCatalogServiceImpl::toDbname
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - substr
    - find
    linkageType: ''
    returnType: string
    signature: string toDbname(const string& dbFullName) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 423
    functionName: MockCatalogServiceImpl::ttToString
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ttToString(int8_t tableType) const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 436
    functionName: MockCatalogServiceImpl::pToString
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string pToString(uint8_t precision) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: MockCatalogServiceImpl::dtToString
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string dtToString(int8_t type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - colid
    - numOfColumns
    argTypes:
    - int16_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: MockCatalogServiceImpl::ftToString
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string ftToString(int16_t colid, int16_t numOfColumns) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogServiceImpl::getTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' db'
    - ' tbname'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: MockCatalogServiceImpl::getTableSchemaMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogServiceImpl::getTableMeta
    linkageType: ''
    returnType: STableMeta
    signature: STableMeta * getTableSchemaMeta(const string& db, const string& tbname)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogServiceImpl::getTableSchemaMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:450,1
    - Dst: std::unique_ptr<STableMeta>*::reset
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:455,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:455,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:459,1
    - Dst: std::unique_ptr<STableMeta>*::get
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' db'
    - ' tbname'
    - dst
    argTypes:
    - string
    - string
    - std::unique_ptr<STableMeta>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 461
    functionName: MockCatalogServiceImpl::copyTableSchemaMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 2
    functionsReached:
    - MockCatalogServiceImpl::getTableSchemaMeta
    - memcpy
    - std::unique_ptr<STableMeta>*::get
    - taosMemoryCalloc
    - std::unique_ptr<STableMeta>*::reset
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyTableSchemaMeta(const string& db, const string& tbname,
      std::unique_ptr<STableMeta>* dst) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogServiceImpl::getTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:464,1
    - Dst: std::shared_ptr::vgs::empty
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:465,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' db'
    - ' tbname'
    - vg
    argTypes:
    - string
    - string
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 470
    functionName: MockCatalogServiceImpl::copyTableVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogServiceImpl::getTableMeta
    - memcpy
    - std::shared_ptr::vgs::empty
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyTableVgroup(const string& db, const string& tbname, SVgroupInfo*
      vg) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogServiceImpl::getTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:473,1
    - Dst: std::shared_ptr::vgs::empty
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:474,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:477,1
    - Dst: std::shared_ptr::vgs::size
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:477,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:482,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ' db'
    - ' tbname'
    - vgList
    argTypes:
    - string
    - string
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 489
    functionName: MockCatalogServiceImpl::copyTableVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - MockCatalogServiceImpl::getTableMeta
    - std::shared_ptr::vgs::empty
    - std::shared_ptr::vgs::size
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyTableVgroup(const string& db, const string& tbname, SArray**
      vgList) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:492,1
    - Dst: end
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:493,1
    - Dst: std::shared_ptr<MockTableMeta>
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:494,1
    - Dst: DbMetaCache::const_iterator::second::find
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:496,1
    - Dst: DbMetaCache::const_iterator::second::end
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:497,1
    - Dst: std::shared_ptr<MockTableMeta>
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' db'
    - ' tbname'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 501
    functionName: MockCatalogServiceImpl::getTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 3
    functionsReached:
    - DbMetaCache::const_iterator::second::find
    - std::shared_ptr<MockTableMeta>
    - DbMetaCache::const_iterator::second::end
    - end
    - find
    linkageType: ''
    returnType: std::shared_ptr<MockTableMeta>
    signature: std::shared_ptr<MockTableMeta> getTableMeta(const string& db, const
      string& tbname) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:505,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:506,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:511,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:512,1
    - Dst: MockCatalogServiceImpl::catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:515,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:515,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:516,1
    - Dst: MockCatalogService::destoryMetaRes
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:517,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pTableMetaReq
    - pTableMetaData
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 526
    functionName: MockCatalogServiceImpl::getAllTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayGet
    - MockCatalogService::destoryMetaRes
    - taosArrayGetSize
    - taosArrayInit
    - MockCatalogServiceImpl::catalogGetTableMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllTableMeta(SArray* pTableMetaReq, SArray** pTableMetaData)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:530,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:531,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:536,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:537,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:540,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:542,1
    - Dst: MockCatalogServiceImpl::catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:546,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:546,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:547,1
    - Dst: MockCatalogService::destoryMetaRes
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:548,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - pTableVgroupReq
    - pTableVgroupData
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 557
    functionName: MockCatalogServiceImpl::getAllTableVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayGet
    - MockCatalogService::destoryMetaRes
    - MockCatalogServiceImpl::catalogGetTableHashVgroup
    - taosArrayGetSize
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllTableVgroup(SArray* pTableVgroupReq, SArray** pTableVgroupData)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:562,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:563,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:569,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pDbVgroupReq
    - pDbVgroupData
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 577
    functionName: MockCatalogServiceImpl::getAllDbVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllDbVgroup(SArray* pDbVgroupReq, SArray** pDbVgroupData)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:580,1
    - Dst: end
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:581,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:585,1
    - Dst: DbMetaCache::const_iterator::second::size
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:585,1
    - Dst: std::set::count
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:591,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:592,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:593,1
    - Dst: std::set::insert
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:596,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' dbName'
    - pVgList
    argTypes:
    - string
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 601
    functionName: MockCatalogServiceImpl::catalogGetDBVgListImpl
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - DbMetaCache::const_iterator::second::size
    - std::set::count
    - taosArrayInit
    - std::set::insert
    - taosArrayDestroy
    - end
    - find
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetDBVgListImpl(const string& dbName, SArray** pVgList)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:605,1
    - Dst: std::set::count
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:612,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:613,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:614,1
    - Dst: std::set::insert
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pVgList
    argTypes:
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 623
    functionName: MockCatalogServiceImpl::catalogGetAllDBVgList
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - std::set::count
    - taosArrayInit
    - std::set::insert
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t catalogGetAllDBVgList(SArray** pVgList) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:628,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:629,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:635,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:637,1
    - Dst: MockCatalogServiceImpl::catalogGetDBCfg
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:641,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:641,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:642,1
    - Dst: MockCatalogService::destoryMetaRes
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:643,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pDbCfgReq
    - pDbCfgData
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 651
    functionName: MockCatalogServiceImpl::getAllDbCfg
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogServiceImpl::catalogGetDBCfg
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayGet
    - MockCatalogService::destoryMetaRes
    - taosArrayGetSize
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllDbCfg(SArray* pDbCfgReq, SArray** pDbCfgData) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:656,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:657,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:663,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:664,1
    - Dst: MockCatalogService::destoryMetaRes
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:665,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pDbInfoReq
    - pDbInfoData
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 673
    functionName: MockCatalogServiceImpl::getAllDbInfo
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - MockCatalogService::destoryMetaRes
    - taosArrayGetSize
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllDbInfo(SArray* pDbInfoReq, SArray** pDbInfoData) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:678,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:679,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:686,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:688,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:693,1
    - Dst: MockCatalogService::destoryMetaRes
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:694,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pUserAuthReq
    - pUserAuthData
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 702
    functionName: MockCatalogServiceImpl::getAllUserAuth
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - MockCatalogService::destoryMetaRes
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllUserAuth(SArray* pUserAuthReq, SArray** pUserAuthData)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:706,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:707,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:713,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:715,1
    - Dst: MockCatalogServiceImpl::catalogGetUdfInfo
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:719,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:719,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:720,1
    - Dst: MockCatalogService::destoryMetaRes
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:721,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pUdfReq
    - pUdfData
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 729
    functionName: MockCatalogServiceImpl::getAllUdf
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayGet
    - MockCatalogService::destoryMetaRes
    - MockCatalogServiceImpl::catalogGetUdfInfo
    - taosArrayGetSize
    - taosArrayInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllUdf(SArray* pUdfReq, SArray** pUdfData) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:733,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:734,1
    - Dst: MockCatalogServiceImpl::catalogGetTableIndex
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:740,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:740,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:741,1
    - Dst: MockCatalogService::destoryMetaRes
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:742,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pTableIndex
    - pTableIndexData
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 750
    functionName: MockCatalogServiceImpl::getAllTableIndex
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayGet
    - MockCatalogService::destoryMetaRes
    - taosArrayGetSize
    - taosArrayInit
    - MockCatalogServiceImpl::catalogGetTableIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllTableIndex(SArray* pTableIndex, SArray** pTableIndexData)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:754,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:755,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:763,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:764,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:765,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pTableCfgReq
    - pTableCfgData
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 773
    functionName: MockCatalogServiceImpl::getAllTableCfg
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllTableCfg(SArray* pTableCfgReq, SArray** pTableCfgData)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:777,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:778,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:786,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pViewMetaReq
    - pViewMetaData
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 794
    functionName: MockCatalogServiceImpl::getAllViewMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllViewMeta(SArray* pViewMetaReq, SArray** pViewMetaData)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:798,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:799,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:807,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pVstbRefDbsReq
    - pVstbRefDbsMetaData
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 815
    functionName: MockCatalogServiceImpl::getAllVstbRefDbs
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllVstbRefDbs(SArray* pVstbRefDbsReq, SArray** pVstbRefDbsMetaData)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogServiceImpl::catalogGetDnodeList
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:819,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:823,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:827,1
    - Dst: MockCatalogService::destoryMetaArrayRes
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:828,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pDnodes
    argTypes:
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 834
    functionName: MockCatalogServiceImpl::getAllDnodeList
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - MockCatalogService::destoryMetaArrayRes
    - taosArrayInit
    - MockCatalogServiceImpl::catalogGetDnodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAllDnodeList(SArray** pDnodes) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogServiceImpl::MockCatalogServiceImpl
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 846
    functionName: MockCatalogService::MockCatalogService
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogServiceImpl::MockCatalogServiceImpl
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::MockCatalogService()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 848
    functionName: MockCatalogService::~MockCatalogService()
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::~MockCatalogService()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' db'
    - ' tbname'
    - tableType
    - numOfColumns
    - numOfTags
    argTypes:
    - string
    - string
    - int8_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 853
    functionName: "& MockCatalogService::createTableBuilder(const string& db, const
      string& tbname, int8_t tableType,\n                                                      int32_t
      numOfColumns, int32_t numOfTags)"
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - createTableBuilder
    linkageType: ''
    returnType: ITableBuilder
    signature: "ITableBuilder & MockCatalogService::createTableBuilder(const string&
      db, const string& tbname, int8_t tableType,\n                                                      int32_t
      numOfColumns, int32_t numOfTags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::createSubTable
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' db'
    - ' stbname'
    - ' tbname'
    - vgid
    argTypes:
    - string
    - string
    - string
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 857
    functionName: MockCatalogService::createSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::createSubTable
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::createSubTable(const string& db, const string&
      stbname, const string& tbname, int16_t vgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::showTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 859
    functionName: MockCatalogService::showTables
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::showTables
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::showTables() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::createFunction
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' func'
    - funcType
    - outputType
    - outputLen
    - bufSize
    argTypes:
    - string
    - int8_t
    - int8_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 864
    functionName: MockCatalogService::createFunction
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::createFunction
    linkageType: ''
    returnType: void
    signature: "void MockCatalogService::createFunction(const string& func, int8_t
      funcType, int8_t outputType, int32_t outputLen,\n                                        int32_t
      bufSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::createSmaIndex
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 866
    functionName: MockCatalogService::createSmaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::createSmaIndex
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::createSmaIndex(const SMCreateSmaReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::createDnode
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dnodeId
    - ' host'
    - port
    argTypes:
    - int32_t
    - string
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 870
    functionName: MockCatalogService::createDnode
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::createDnode
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::createDnode(int32_t dnodeId, const string&
      host, int16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' db'
    - rollup
    - cacheLast
    - precision
    argTypes:
    - string
    - bool
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 874
    functionName: MockCatalogService::createDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::createDatabase
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::createDatabase(const string& db, bool rollup,
      int8_t cacheLast, int8_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pTableName
    - pTableMeta
    - onlyCache
    argTypes:
    - SName*
    - STableMeta**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 879
    functionName: MockCatalogService::catalogGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::catalogGetTableMeta
    linkageType: ''
    returnType: int32_t
    signature: "int32_t MockCatalogService::catalogGetTableMeta(const SName* pTableName,
      STableMeta** pTableMeta,\n                                                bool
      onlyCache) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pTableName
    - vgInfo
    - onlyCache
    argTypes:
    - SName*
    - SVgroupInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: MockCatalogService::catalogGetTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::catalogGetTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t MockCatalogService::catalogGetTableHashVgroup(const SName*
      pTableName, SVgroupInfo* vgInfo,\n                                                      bool
      onlyCache) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::catalogGetTableDistVgInfo
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTableName
    - pVgList
    argTypes:
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 888
    functionName: MockCatalogService::catalogGetTableDistVgInfo
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::catalogGetTableDistVgInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t MockCatalogService::catalogGetTableDistVgInfo(const SName*
      pTableName, SArray** pVgList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::catalogGetDBVgList
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDbFName
    - pVgList
    argTypes:
    - char*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 892
    functionName: MockCatalogService::catalogGetDBVgList
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::catalogGetDBVgList
    linkageType: ''
    returnType: int32_t
    signature: int32_t MockCatalogService::catalogGetDBVgList(const char* pDbFName,
      SArray** pVgList) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::catalogGetDBCfg
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDbFName
    - pDbCfg
    argTypes:
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 896
    functionName: MockCatalogService::catalogGetDBCfg
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::catalogGetDBCfg
    linkageType: ''
    returnType: int32_t
    signature: int32_t MockCatalogService::catalogGetDBCfg(const char* pDbFName, SDbCfgInfo*
      pDbCfg) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::catalogGetUdfInfo
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' funcName'
    - pInfo
    argTypes:
    - string
    - SFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 900
    functionName: MockCatalogService::catalogGetUdfInfo
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::catalogGetUdfInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t MockCatalogService::catalogGetUdfInfo(const string& funcName,
      SFuncInfo* pInfo) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::catalogGetTableIndex
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTableName
    - pIndexes
    argTypes:
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 904
    functionName: MockCatalogService::catalogGetTableIndex
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::catalogGetTableIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t MockCatalogService::catalogGetTableIndex(const SName* pTableName,
      SArray** pIndexes) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::catalogGetDnodeList
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pDnodes
    argTypes:
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 906
    functionName: MockCatalogService::catalogGetDnodeList
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::catalogGetDnodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t MockCatalogService::catalogGetDnodeList(SArray** pDnodes) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService::catalogGetAllMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCatalogReq
    - pMetaData
    argTypes:
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: MockCatalogService::catalogGetAllMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService::catalogGetAllMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t MockCatalogService::catalogGetAllMeta(const SCatalogReq* pCatalogReq,
      SMetaData* pMetaData) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: MockCatalogService::destoryTablesReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::destoryTablesReq(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:918,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:919,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:920,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:921,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:922,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:923,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:924,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:925,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:926,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:927,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:928,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 931
    functionName: MockCatalogService::destoryCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::destoryCatalogReq(SCatalogReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: MockCatalogService::destoryMetaRes
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 7
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::destoryMetaRes(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 941
    functionName: MockCatalogService::destoryMetaArrayRes
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::destoryMetaArrayRes(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:944,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:945,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:946,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:947,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:948,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:949,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:950,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:951,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:952,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:953,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:954,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:955,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:956,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 959
    functionName: MockCatalogService::destoryMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.cpp
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void MockCatalogService::destoryMetaData(SMetaData* pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:25,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:27,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:29,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:31,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:33,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:35,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:41,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:43,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:45,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:48,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:54,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:56,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:58,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:60,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:62,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, expression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:69,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:71,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:73,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:75,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:81,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, pseudoColumn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:87,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, pseudoColumnSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:93,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, aggFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:99,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:101,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:103,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, multiResFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:109,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:111,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:113,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:115,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:117,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:119,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:121,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:123,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:125,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, timelineFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:132,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:135,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:137,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:139,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:141,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:142,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:144,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:145,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:147,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:148,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, selectFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:153,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, IndefiniteRowsFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:159,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:161,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:163,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:165,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:167,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:169,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, IndefiniteRowsFuncSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:175,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:177,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, useDefinedFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:183,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:185,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:187,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, uniqueFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:193,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:195,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, uniqueFuncSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:201,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:203,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, tailFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:209,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:211,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, tailFuncSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:217,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:219,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, partitionBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:225,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, partitionBySemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:231,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:233,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:235,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:237,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:239,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, groupBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:245,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:247,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, groupBySemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:252,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:254,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:256,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:258,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, havingCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:265,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:267,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, orderBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:273,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:275,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:277,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:279,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, distinct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:285,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:287,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:296,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:298,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:300,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:302,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:309,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:311,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:312,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:313,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, intervalSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:320,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, interp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:326,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:328,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:330,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:332,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:334,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:337,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:339,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:341,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:343,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 346
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, subquery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:349,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:351,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:354,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, subquerySemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:361,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:364,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:366,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:369,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:371,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:374,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:377,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:379,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:382,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:384,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:386,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:389,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:391,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:393,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:396,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:398,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:401,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:403,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:405,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:407,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:410,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:412,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:414,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:416,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:418,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:420,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:422,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:424,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:426,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:428,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:430,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:432,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:434,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:436,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:439,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:441,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 444
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, semanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:447,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, syntaxError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:453,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:455,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:457,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:459,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, setOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:465,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, setOperatorSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:471,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:473,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:475,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, informationSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:481,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:483,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:485,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:487,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:489,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:491,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:493,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 496
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, withoutFrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:499,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:501,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, withoutFromSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:506,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:508,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, joinSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:25,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:27,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:29,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:31,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:33,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:35,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:41,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:43,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:45,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:48,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, constant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:54,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:56,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:58,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:60,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:62,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, expression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:69,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:71,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:73,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:75,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:81,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, pseudoColumn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:87,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, pseudoColumnSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:93,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, aggFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:99,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:101,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:103,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, multiResFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:109,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:111,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:113,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:115,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:117,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:119,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:121,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:123,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:125,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, timelineFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:132,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:135,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:137,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:139,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:141,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:142,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:144,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:145,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:147,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:148,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, selectFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:153,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, IndefiniteRowsFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:159,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:161,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:163,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:165,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:167,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:169,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, IndefiniteRowsFuncSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:175,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:177,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, useDefinedFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:183,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:185,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:187,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, uniqueFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:193,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:195,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, uniqueFuncSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:201,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:203,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, tailFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:209,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:211,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, tailFuncSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:217,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:219,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, partitionBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:225,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, partitionBySemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:231,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:233,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:235,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:237,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:239,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, groupBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:245,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:247,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, groupBySemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:252,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:254,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:256,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:258,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, havingCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:265,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:267,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, orderBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:273,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:275,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:277,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:279,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, distinct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:285,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:287,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:296,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:298,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:300,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:302,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:309,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:311,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:312,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:313,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, intervalSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:320,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, interp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:326,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:328,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:330,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:332,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:334,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:337,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:339,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:341,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:343,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 346
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, subquery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:349,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:351,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:354,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, subquerySemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:361,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:364,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:366,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:369,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:371,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:374,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:377,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:379,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:382,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:384,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:386,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:389,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:391,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:393,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:396,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:398,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:401,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:403,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:405,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:407,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:410,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:412,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:414,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:416,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:418,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:420,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:422,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:424,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:426,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:428,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:430,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:432,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:434,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:436,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:439,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:441,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 444
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, semanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:447,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, syntaxError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:453,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:455,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:457,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:459,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, setOperator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:465,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, setOperatorSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:471,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:473,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:475,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, informationSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:481,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:483,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:485,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:487,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:489,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:491,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:493,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 496
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, withoutFrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:499,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:501,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, withoutFromSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:506,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:508,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parSelectTest.cpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parSelectTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserSelectTest, joinSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:35,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:37,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInsertTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInsertTest, singleTableSingleRowTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:44,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInsertTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInsertTest, singleTableMultiRowTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:53,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInsertTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInsertTest, multiTableSingleRowTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:60,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInsertTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInsertTest, multiTableMultiRowTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:71,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:73,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:76,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:79,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInsertTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInsertTest, autoCreateTableTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:35,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:37,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInsertTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInsertTest, singleTableSingleRowTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:44,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInsertTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInsertTest, singleTableMultiRowTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:53,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInsertTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInsertTest, multiTableSingleRowTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:60,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInsertTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInsertTest, multiTableMultiRowTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:71,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:73,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:76,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:79,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInsertTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInsertTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInsertTest, autoCreateTableTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: DO_WITH_THROW
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_WITH_THROW(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: ParserTest::setAsyncFlag
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setAsyncFlag(const char* pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ParserTest::setSkipSqlNum
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setSkipSqlNum(const char* pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ParserTest::setLimitSqlNum
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setLimitSqlNum(const char* pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ParserTest::what
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogLevel
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ParserTest::setLogLevel
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setLogLevel(const char* pLogLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: ParserTest::getLogLevel
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getLogLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_once
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:69,1
    - Dst: qInitKeywordsTable
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:70,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: ParserTest::initKeywordsTableOnce
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - qInitKeywordsTable
    - TD_ALWAYS_ASSERT
    - call_once
    linkageType: ''
    returnType: void
    signature: void initKeywordsTableOnce()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initKeywordsTableOnce
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pBase
    argTypes:
    - ParserTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: ParserTest::ParserTestBaseImpl::ParserTestBaseImpl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - initKeywordsTableOnce
    linkageType: ''
    returnType: void
    signature: void ParserTestBaseImpl(ParserTestBase* pBase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' user'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ParserTest::ParserTestBaseImpl::login
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void login(const std::string& user)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' acctId'
    - ' db'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: ParserTest::ParserTestBaseImpl::useDb
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void useDb(const string& acctId, const string& db)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::runInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:106,1
    - Dst: ParserTest::ParserTestBaseImpl::runApis
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:107,1
    - Dst: ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:110,1
    - Dst: ParserTest::ParserTestBaseImpl::runAsyncApis
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: ParserTest::ParserTestBaseImpl::run
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::ParserTestBaseImpl::runInternalFuncs
    - ParserTest::ParserTestBaseImpl::runAsyncApis
    - ParserTest::ParserTestBaseImpl::runApis
    - ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
    linkageType: ''
    returnType: void
    signature: void run(const string& sql, int32_t expect, ParserStage checkStage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: ParserTest::ParserTestBaseImpl::caseEnv
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void caseEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:147,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: ParserTest::ParserTestBaseImpl::destoryParseContext
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destoryParseContext(SParseContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destoryParseMetaCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pMetaCache
    - request
    argTypes:
    - SParseMetaCache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: ParserTest::ParserTestBaseImpl::destoryParseMetaCacheWarpper
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - destoryParseMetaCache
    linkageType: ''
    returnType: void
    signature: void destoryParseMetaCacheWarpper(SParseMetaCache* pMetaCache, bool
      request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDestroyQuery
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:161,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: ParserTest::ParserTestBaseImpl::destroyQuery
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - qDestroyQuery
    linkageType: ''
    returnType: void
    signature: void destroyQuery(SQuery** pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFunc_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pFunc'
    - resultCode
    argTypes:
    - string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: ParserTest::ParserTestBaseImpl::checkResultCode
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - checkFunc_::empty
    linkageType: ''
    returnType: bool
    signature: bool checkResultCode(const string& pFunc, int32_t resultCode)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - stage
    - type
    argTypes:
    - ParserStage
    - TestInterfaceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 203
    functionName: ParserTest::ParserTestBaseImpl::stageFunc
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string stageFunc(ParserStage stage, TestInterfaceType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sql_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:206,1
    - Dst: msgBuf_::fill
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:207,1
    - Dst: ParserTest::ParserTestBaseImpl::stageFunc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:209,1
    - Dst: parsedAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:211,1
    - Dst: translatedAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:212,1
    - Dst: calcConstAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - expect
    - checkStage
    - type
    argTypes:
    - int32_t
    - ParserStage
    - TestInterfaceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: ParserTest::ParserTestBaseImpl::reset
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::ParserTestBaseImpl::stageFunc
    - translatedAst_::clear
    - parsedAst_::clear
    - msgBuf_::fill
    - calcConstAst_::clear
    - sql_::clear
    linkageType: ''
    returnType: void
    signature: void reset(int32_t expect, ParserStage checkStage, TestInterfaceType
      type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parsedAst_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:218,1
    - Dst: translatedAst_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:222,1
    - Dst: calcConstAst_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: ParserTest::ParserTestBaseImpl::dump
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - translatedAst_::empty
    - parsedAst_::empty
    - calcConstAst_::empty
    linkageType: ''
    returnType: void
    signature: void dump()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtolower
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:234,1
    - Dst: sql_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:234,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:234,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:236,1
    - Dst: acctId_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:236,1
    - Dst: db_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:237,1
    - Dst: user_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:238,1
    - Dst: sql_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:243,1
    - Dst: sql_::length
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:244,1
    - Dst: msgBuf_::data
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:245,1
    - Dst: msgBuf_::max_size
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ' sql'
    - pCxt
    argTypes:
    - string
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 250
    functionName: ParserTest::ParserTestBaseImpl::setParseContext
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - sql_::length
    - user_::c_str
    - msgBuf_::data
    - atoi
    - c_str
    - db_::c_str
    - acctId_::c_str
    - strtolower
    - sql_::c_str
    - msgBuf_::max_size
    linkageType: ''
    returnType: void
    signature: void setParseContext(const string& sql, SParseContext* pCxt, bool async
      = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:253,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:254,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: ParserTest::ParserTestBaseImpl::doParse
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    - ASSERT_NE
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doParse(SParseContext* pCxt, SQuery** pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: ParserTest::ParserTestBaseImpl::doCollectMetaKey
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doCollectMetaKey(SParseContext* pCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pMetaCache
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: ParserTest::ParserTestBaseImpl::doBuildCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doBuildCatalogReq(SParseContext* pCxt, SParseMetaCache* pMetaCache,
      SCatalogReq* pCatalogReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCatalogReq
    - pMetaData
    argTypes:
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: ParserTest::ParserTestBaseImpl::doGetAllMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doGetAllMeta(const SCatalogReq* pCatalogReq, SMetaData* pMetaData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCatalogReq
    - pMetaData
    - pMetaCache
    argTypes:
    - SCatalogReq*
    - SMetaData*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: ParserTest::ParserTestBaseImpl::doPutMetaDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doPutMetaDataToCache(const SCatalogReq* pCatalogReq, SMetaData*
      pMetaData, SParseMetaCache* pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: ParserTest::ParserTestBaseImpl::doAuthenticate
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doAuthenticate(SParseContext* pCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:279,1
    - Dst: ParserTest::ParserTestBaseImpl::checkQuery
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:280,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: ParserTest::ParserTestBaseImpl::doTranslate
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    - ParserTest::ParserTestBaseImpl::checkQuery
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doTranslate(SParseContext* pCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:285,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: ParserTest::ParserTestBaseImpl::doCalculateConstant
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doCalculateConstant(SParseContext* pCxt, SQuery* pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:290,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:291,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: ParserTest::ParserTestBaseImpl::doParseSql
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    - ASSERT_NE
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doParseSql(SParseContext* pCxt, SQuery** pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:296,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:297,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: ParserTest::ParserTestBaseImpl::doParseSqlSyntax
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    - ASSERT_NE
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doParseSqlSyntax(SParseContext* pCxt, SQuery** pQuery, SCatalogReq*
      pCatalogReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:305,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - SCatalogReq*
    - SMetaData*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: ParserTest::ParserTestBaseImpl::doAnalyseSqlSemantic
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: "void doAnalyseSqlSemantic(SParseContext* pCxt, const SCatalogReq*
      pCatalogReq, SMetaData* pMetaData,\n                            SQuery* pQuery)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:310,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:311,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: ParserTest::ParserTestBaseImpl::doParseInsertSql
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    - ASSERT_NE
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doParseInsertSql(SParseContext* pCxt, SQuery** pQuery, SCatalogReq*
      pCatalogReq, const SMetaData* pMetaData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - SCatalogReq*
    - SMetaData*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: ParserTest::ParserTestBaseImpl::doContinueParseSql
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doContinueParseSql(SParseContext* pCxt, SCatalogReq* pCatalogReq,
      const SMetaData* pMetaData, SQuery* pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:322,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:325,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:326,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pRoot
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: ParserTest::ParserTestBaseImpl::toString
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 7
    functionsReached:
    - DO_WITH_THROW
    - nodesDestroyNode
    - taosMemoryFreeClear
    linkageType: ''
    returnType: string
    signature: string toString(const SNode* pRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDdl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pQuery
    - stage
    argTypes:
    - SQuery*
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: ParserTest::ParserTestBaseImpl::checkQuery
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - checkDdl
    linkageType: ''
    returnType: void
    signature: void checkQuery(const SQuery* pQuery, ParserStage stage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:335,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:338,1
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:340,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:341,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseInsertSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:342,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:342,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:344,1
    - Dst: ParserTest::ParserTestBaseImpl::doParse
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:345,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:345,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:346,1
    - Dst: ParserTest::ParserTestBaseImpl::doAuthenticate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:348,1
    - Dst: ParserTest::ParserTestBaseImpl::doTranslate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:350,1
    - Dst: ParserTest::ParserTestBaseImpl::doCalculateConstant
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:352,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:356,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 365
    functionName: ParserTest::ParserTestBaseImpl::runInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::doParseInsertSql
    - ParserTest::ParserTestBaseImpl::doAuthenticate
    - ParserTest::ParserTestBaseImpl::setParseContext
    - ParserTest::ParserTestBaseImpl::doTranslate
    - ParserTest::ParserTestBaseImpl::doCalculateConstant
    - ParserTest::ParserTestBaseImpl::doParse
    - unique_ptr::get
    - qIsInsertValuesSql
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void runInternalFuncs(const string& sql, int32_t expect, ParserStage
      checkStage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:368,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:371,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:373,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:374,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:374,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:377,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 386
    functionName: ParserTest::ParserTestBaseImpl::runApis
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::setParseContext
    - ParserTest::ParserTestBaseImpl::doParseSql
    - unique_ptr::get
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void runApis(const string& sql, int32_t expect, ParserStage checkStage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:389,1
    - Dst: SParseMetaCache::SParseMetaCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:392,1
    - Dst: bind
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:392,1
    - Dst: cref
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:392,1
    - Dst: ParserTest::ParserTestBaseImpl::doParse
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:393,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:393,1
    - Dst: ParserTest::ParserTestBaseImpl::doCollectMetaKey
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:394,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:394,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:394,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:396,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:398,1
    - Dst: ParserTest::ParserTestBaseImpl::doBuildCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:400,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:400,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:400,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:405,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:406,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:406,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:406,1
    - Dst: unique_ptr::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:408,1
    - Dst: SParseMetaCache::SParseMetaCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:408,1
    - Dst: ParserTest::ParserTestBaseImpl::doPutMetaDataToCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:410,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:410,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:410,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:410,1
    - Dst: ParserTest::ParserTestBaseImpl::doAuthenticate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:412,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:412,1
    - Dst: ParserTest::ParserTestBaseImpl::doTranslate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:414,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:414,1
    - Dst: ParserTest::ParserTestBaseImpl::doCalculateConstant
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:416,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:420,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:426,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:427,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - pParCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 430
    functionName: ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - what
    - cref
    - ParserTest::ParserTestBaseImpl::doPutMetaDataToCache
    - string::empty
    - SParseMetaCache::SParseMetaCache
    - SCatalogReq::SCatalogReq
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    - ParserTest::ParserTestBaseImpl::doTranslate
    - ParserTest::ParserTestBaseImpl::doCalculateConstant
    - SMetaData::SMetaData
    - bind
    - ParserTest::ParserTestBaseImpl::doCollectMetaKey
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::doAuthenticate
    - unique_ptr::get
    - runtime_error
    - ParserTest::ParserTestBaseImpl::doParse
    - ParserTest::ParserTestBaseImpl::doBuildCatalogReq
    - thread::join
    - unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void runQueryAsyncInternalFuncs(SParseContext* pParCxt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::doParseInsertSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:434,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:443,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseInsertSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:445,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:448,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:453,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:459,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:460,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pParCxt
    - pQuery
    - pCatalogReq
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 463
    functionName: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - what
    - string::empty
    - ParserTest::ParserTestBaseImpl::doParseInsertSql
    - runtime_error
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    - thread::join
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    linkageType: ''
    returnType: void
    signature: "void runInsertAsyncInternalFuncsImpl(SParseContext* pParCxt, SQuery**
      pQuery, SCatalogReq* pCatalogReq,\n                                       SMetaData*
      pMetaData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:466,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:467,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:469,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:470,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:470,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:470,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - SCatalogReq::SCatalogReq
    - SMetaData::SMetaData
    - unique_ptr::get
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    linkageType: ''
    returnType: void
    signature: void runInsertAsyncInternalFuncs(SParseContext* pParCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:474,1
    - Dst: SParseContext::SParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:476,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:477,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:477,1
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:479,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:481,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:481,1
    - Dst: ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:483,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:483,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:487,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 496
    functionName: ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::reset
    - SParseContext::SParseContext
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
    - ParserTest::ParserTestBaseImpl::setParseContext
    - ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
    - unique_ptr::get
    - qIsInsertValuesSql
    linkageType: ''
    returnType: void
    signature: void runAsyncInternalFuncs(const string& sql, int32_t expect, ParserStage
      checkStage)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:499,1
    - Dst: SParseContext::SParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:501,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:502,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:502,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:504,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:506,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseSqlSyntax
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:507,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:507,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:507,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:507,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:508,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:516,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:518,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:518,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:518,1
    - Dst: ParserTest::ParserTestBaseImpl::doContinueParseSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:520,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:520,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:520,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:520,1
    - Dst: ParserTest::ParserTestBaseImpl::doAnalyseSqlSemantic
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:522,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:522,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:522,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:522,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:527,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:533,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:534,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:535,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:546,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 555
    functionName: ParserTest::ParserTestBaseImpl::runAsyncApis
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - what
    - string::empty
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::doParseSqlSyntax
    - ParserTest::ParserTestBaseImpl::doAnalyseSqlSemantic
    - runtime_error
    - SParseContext::SParseContext
    - ParserTest::ParserTestBaseImpl::doContinueParseSql
    - thread::join
    - SCatalogReq::SCatalogReq
    - ParserTest::ParserTestBaseImpl::setParseContext
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    - SMetaData::SMetaData
    - unique_ptr::get
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void runAsyncApis(const string& sql, int32_t expect, ParserStage checkStage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTestBaseImpl::ParserTestBaseImpl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: ParserTest::ParserTestBase::ParserTestBase
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - ParserTestBaseImpl::ParserTestBaseImpl
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::ParserTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: ParserTestBase::~ParserTestBase()
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::~ParserTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBase::login
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' user'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 569
    functionName: ParserTest::ParserTestBase::login
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::ParserTestBase::login
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::login(const std::string& user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBase::useDb
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' acctId'
    - ' db'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 571
    functionName: ParserTest::ParserTestBase::useDb
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::ParserTestBase::useDb
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::useDb(const std::string& acctId, const std::string&
      db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBase::run
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - std::string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 575
    functionName: ParserTest::ParserTestBase::run
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::ParserTestBase::run
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::run(const std::string& sql, int32_t expect, ParserStage
      checkStage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pQuery
    - stage
    argTypes:
    - SQuery*
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 577
    functionName: ParserTest::ParserTestBase::checkDdl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::checkDdl(const SQuery* pQuery, ParserStage stage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: DO_WITH_THROW
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_WITH_THROW(func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: ParserTest::setAsyncFlag
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setAsyncFlag(const char* pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ParserTest::setSkipSqlNum
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setSkipSqlNum(const char* pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pArg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ParserTest::setLimitSqlNum
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setLimitSqlNum(const char* pArg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ParserTest::what
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogLevel
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: ParserTest::setLogLevel
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - stoi
    linkageType: ''
    returnType: void
    signature: void setLogLevel(const char* pLogLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: ParserTest::getLogLevel
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getLogLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_once
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:69,1
    - Dst: qInitKeywordsTable
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:70,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: ParserTest::initKeywordsTableOnce
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - qInitKeywordsTable
    - TD_ALWAYS_ASSERT
    - call_once
    linkageType: ''
    returnType: void
    signature: void initKeywordsTableOnce()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initKeywordsTableOnce
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pBase
    argTypes:
    - ParserTestBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: ParserTest::ParserTestBaseImpl::ParserTestBaseImpl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - initKeywordsTableOnce
    linkageType: ''
    returnType: void
    signature: void ParserTestBaseImpl(ParserTestBase* pBase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' user'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ParserTest::ParserTestBaseImpl::login
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void login(const std::string& user)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' acctId'
    - ' db'
    argTypes:
    - string
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: ParserTest::ParserTestBaseImpl::useDb
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void useDb(const string& acctId, const string& db)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::runInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:106,1
    - Dst: ParserTest::ParserTestBaseImpl::runApis
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:107,1
    - Dst: ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:110,1
    - Dst: ParserTest::ParserTestBaseImpl::runAsyncApis
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: ParserTest::ParserTestBaseImpl::run
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::ParserTestBaseImpl::runInternalFuncs
    - ParserTest::ParserTestBaseImpl::runAsyncApis
    - ParserTest::ParserTestBaseImpl::runApis
    - ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
    linkageType: ''
    returnType: void
    signature: void run(const string& sql, int32_t expect, ParserStage checkStage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: ParserTest::ParserTestBaseImpl::caseEnv
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void caseEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:147,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: ParserTest::ParserTestBaseImpl::destoryParseContext
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destoryParseContext(SParseContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destoryParseMetaCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pMetaCache
    - request
    argTypes:
    - SParseMetaCache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: ParserTest::ParserTestBaseImpl::destoryParseMetaCacheWarpper
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - destoryParseMetaCache
    linkageType: ''
    returnType: void
    signature: void destoryParseMetaCacheWarpper(SParseMetaCache* pMetaCache, bool
      request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDestroyQuery
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:161,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: ParserTest::ParserTestBaseImpl::destroyQuery
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - qDestroyQuery
    linkageType: ''
    returnType: void
    signature: void destroyQuery(SQuery** pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkFunc_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pFunc'
    - resultCode
    argTypes:
    - string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: ParserTest::ParserTestBaseImpl::checkResultCode
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - checkFunc_::empty
    linkageType: ''
    returnType: bool
    signature: bool checkResultCode(const string& pFunc, int32_t resultCode)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - stage
    - type
    argTypes:
    - ParserStage
    - TestInterfaceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 203
    functionName: ParserTest::ParserTestBaseImpl::stageFunc
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: string
    signature: string stageFunc(ParserStage stage, TestInterfaceType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sql_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:206,1
    - Dst: msgBuf_::fill
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:207,1
    - Dst: ParserTest::ParserTestBaseImpl::stageFunc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:209,1
    - Dst: parsedAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:211,1
    - Dst: translatedAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:212,1
    - Dst: calcConstAst_::clear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - expect
    - checkStage
    - type
    argTypes:
    - int32_t
    - ParserStage
    - TestInterfaceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: ParserTest::ParserTestBaseImpl::reset
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 4
    functionsReached:
    - ParserTest::ParserTestBaseImpl::stageFunc
    - translatedAst_::clear
    - parsedAst_::clear
    - msgBuf_::fill
    - calcConstAst_::clear
    - sql_::clear
    linkageType: ''
    returnType: void
    signature: void reset(int32_t expect, ParserStage checkStage, TestInterfaceType
      type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parsedAst_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:218,1
    - Dst: translatedAst_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:222,1
    - Dst: calcConstAst_::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: ParserTest::ParserTestBaseImpl::dump
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 4
    functionsReached:
    - translatedAst_::empty
    - parsedAst_::empty
    - calcConstAst_::empty
    linkageType: ''
    returnType: void
    signature: void dump()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtolower
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:234,1
    - Dst: sql_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:234,1
    - Dst: c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:234,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:236,1
    - Dst: acctId_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:236,1
    - Dst: db_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:237,1
    - Dst: user_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:238,1
    - Dst: sql_::c_str
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:243,1
    - Dst: sql_::length
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:244,1
    - Dst: msgBuf_::data
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:245,1
    - Dst: msgBuf_::max_size
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ' sql'
    - pCxt
    argTypes:
    - string
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 250
    functionName: ParserTest::ParserTestBaseImpl::setParseContext
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 4
    functionsReached:
    - sql_::length
    - user_::c_str
    - msgBuf_::data
    - atoi
    - c_str
    - db_::c_str
    - acctId_::c_str
    - strtolower
    - sql_::c_str
    - msgBuf_::max_size
    linkageType: ''
    returnType: void
    signature: void setParseContext(const string& sql, SParseContext* pCxt, bool async
      = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:253,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:254,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 5
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: ParserTest::ParserTestBaseImpl::doParse
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - DO_WITH_THROW
    - ASSERT_NE
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doParse(SParseContext* pCxt, SQuery** pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: ParserTest::ParserTestBaseImpl::doCollectMetaKey
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doCollectMetaKey(SParseContext* pCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pMetaCache
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: ParserTest::ParserTestBaseImpl::doBuildCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doBuildCatalogReq(SParseContext* pCxt, SParseMetaCache* pMetaCache,
      SCatalogReq* pCatalogReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCatalogReq
    - pMetaData
    argTypes:
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: ParserTest::ParserTestBaseImpl::doGetAllMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 3
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doGetAllMeta(const SCatalogReq* pCatalogReq, SMetaData* pMetaData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCatalogReq
    - pMetaData
    - pMetaCache
    argTypes:
    - SCatalogReq*
    - SMetaData*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: ParserTest::ParserTestBaseImpl::doPutMetaDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doPutMetaDataToCache(const SCatalogReq* pCatalogReq, SMetaData*
      pMetaData, SParseMetaCache* pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: ParserTest::ParserTestBaseImpl::doAuthenticate
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doAuthenticate(SParseContext* pCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:279,1
    - Dst: ParserTest::ParserTestBaseImpl::checkQuery
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:280,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 5
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: ParserTest::ParserTestBaseImpl::doTranslate
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - DO_WITH_THROW
    - ParserTest::ParserTestBaseImpl::checkQuery
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doTranslate(SParseContext* pCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:285,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 5
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: ParserTest::ParserTestBaseImpl::doCalculateConstant
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - DO_WITH_THROW
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doCalculateConstant(SParseContext* pCxt, SQuery* pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:290,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:291,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: ParserTest::ParserTestBaseImpl::doParseSql
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - DO_WITH_THROW
    - ASSERT_NE
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doParseSql(SParseContext* pCxt, SQuery** pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:296,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:297,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: ParserTest::ParserTestBaseImpl::doParseSqlSyntax
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - DO_WITH_THROW
    - ASSERT_NE
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doParseSqlSyntax(SParseContext* pCxt, SQuery** pQuery, SCatalogReq*
      pCatalogReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:305,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - SCatalogReq*
    - SMetaData*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: ParserTest::ParserTestBaseImpl::doAnalyseSqlSemantic
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - DO_WITH_THROW
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: "void doAnalyseSqlSemantic(SParseContext* pCxt, const SCatalogReq*
      pCatalogReq, SMetaData* pMetaData,\n                            SQuery* pQuery)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:310,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:311,1
    - Dst: ParserTest::ParserTestBaseImpl::toString
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: ParserTest::ParserTestBaseImpl::doParseInsertSql
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - DO_WITH_THROW
    - ASSERT_NE
    - ParserTest::ParserTestBaseImpl::toString
    linkageType: ''
    returnType: void
    signature: void doParseInsertSql(SParseContext* pCxt, SQuery** pQuery, SCatalogReq*
      pCatalogReq, const SMetaData* pMetaData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - SCatalogReq*
    - SMetaData*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: ParserTest::ParserTestBaseImpl::doContinueParseSql
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - DO_WITH_THROW
    linkageType: ''
    returnType: void
    signature: void doContinueParseSql(SParseContext* pCxt, SCatalogReq* pCatalogReq,
      const SMetaData* pMetaData, SQuery* pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:322,1
    - Dst: DO_WITH_THROW
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:325,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:326,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pRoot
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: ParserTest::ParserTestBaseImpl::toString
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 14
    functionsReached:
    - DO_WITH_THROW
    - nodesDestroyNode
    - taosMemoryFreeClear
    linkageType: ''
    returnType: string
    signature: string toString(const SNode* pRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkDdl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pQuery
    - stage
    argTypes:
    - SQuery*
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: ParserTest::ParserTestBaseImpl::checkQuery
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - checkDdl
    linkageType: ''
    returnType: void
    signature: void checkQuery(const SQuery* pQuery, ParserStage stage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:335,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:338,1
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:340,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:341,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseInsertSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:342,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:342,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:344,1
    - Dst: ParserTest::ParserTestBaseImpl::doParse
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:345,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:345,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:346,1
    - Dst: ParserTest::ParserTestBaseImpl::doAuthenticate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:348,1
    - Dst: ParserTest::ParserTestBaseImpl::doTranslate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:350,1
    - Dst: ParserTest::ParserTestBaseImpl::doCalculateConstant
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:352,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:356,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 365
    functionName: ParserTest::ParserTestBaseImpl::runInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::doParseInsertSql
    - ParserTest::ParserTestBaseImpl::doAuthenticate
    - ParserTest::ParserTestBaseImpl::setParseContext
    - ParserTest::ParserTestBaseImpl::doTranslate
    - ParserTest::ParserTestBaseImpl::doCalculateConstant
    - ParserTest::ParserTestBaseImpl::doParse
    - unique_ptr::get
    - qIsInsertValuesSql
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void runInternalFuncs(const string& sql, int32_t expect, ParserStage
      checkStage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:368,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:371,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:373,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:374,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:374,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:377,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 386
    functionName: ParserTest::ParserTestBaseImpl::runApis
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::setParseContext
    - ParserTest::ParserTestBaseImpl::doParseSql
    - unique_ptr::get
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void runApis(const string& sql, int32_t expect, ParserStage checkStage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:389,1
    - Dst: SParseMetaCache::SParseMetaCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:392,1
    - Dst: bind
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:392,1
    - Dst: cref
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:392,1
    - Dst: ParserTest::ParserTestBaseImpl::doParse
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:393,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:393,1
    - Dst: ParserTest::ParserTestBaseImpl::doCollectMetaKey
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:394,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:394,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:394,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:396,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:398,1
    - Dst: ParserTest::ParserTestBaseImpl::doBuildCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:400,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:400,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:400,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:405,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:406,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:406,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:406,1
    - Dst: unique_ptr::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:408,1
    - Dst: SParseMetaCache::SParseMetaCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:408,1
    - Dst: ParserTest::ParserTestBaseImpl::doPutMetaDataToCache
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:410,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:410,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:410,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:410,1
    - Dst: ParserTest::ParserTestBaseImpl::doAuthenticate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:412,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:412,1
    - Dst: ParserTest::ParserTestBaseImpl::doTranslate
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:414,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:414,1
    - Dst: ParserTest::ParserTestBaseImpl::doCalculateConstant
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:416,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:420,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:426,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:427,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - pParCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 430
    functionName: ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - what
    - cref
    - ParserTest::ParserTestBaseImpl::doPutMetaDataToCache
    - string::empty
    - SParseMetaCache::SParseMetaCache
    - SCatalogReq::SCatalogReq
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    - ParserTest::ParserTestBaseImpl::doTranslate
    - ParserTest::ParserTestBaseImpl::doCalculateConstant
    - SMetaData::SMetaData
    - bind
    - ParserTest::ParserTestBaseImpl::doCollectMetaKey
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::doAuthenticate
    - unique_ptr::get
    - runtime_error
    - ParserTest::ParserTestBaseImpl::doParse
    - ParserTest::ParserTestBaseImpl::doBuildCatalogReq
    - thread::join
    - unique_ptr::reset
    linkageType: ''
    returnType: void
    signature: void runQueryAsyncInternalFuncs(SParseContext* pParCxt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::doParseInsertSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:434,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:443,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseInsertSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:445,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:448,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:453,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:459,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:460,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pParCxt
    - pQuery
    - pCatalogReq
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 463
    functionName: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 3
    functionsReached:
    - what
    - string::empty
    - ParserTest::ParserTestBaseImpl::doParseInsertSql
    - runtime_error
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    - thread::join
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    linkageType: ''
    returnType: void
    signature: "void runInsertAsyncInternalFuncsImpl(SParseContext* pParCxt, SQuery**
      pQuery, SCatalogReq* pCatalogReq,\n                                       SMetaData*
      pMetaData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:466,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:467,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:469,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:470,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:470,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:470,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 1
    functionsReached:
    - SCatalogReq::SCatalogReq
    - SMetaData::SMetaData
    - unique_ptr::get
    - taosMemoryCalloc
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncsImpl
    linkageType: ''
    returnType: void
    signature: void runInsertAsyncInternalFuncs(SParseContext* pParCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:474,1
    - Dst: SParseContext::SParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:476,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:477,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:477,1
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:479,1
    - Dst: ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:481,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:481,1
    - Dst: ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:483,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:483,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:487,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 496
    functionName: ParserTest::ParserTestBaseImpl::runAsyncInternalFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::reset
    - SParseContext::SParseContext
    - ParserTest::ParserTestBaseImpl::runInsertAsyncInternalFuncs
    - ParserTest::ParserTestBaseImpl::setParseContext
    - ParserTest::ParserTestBaseImpl::runQueryAsyncInternalFuncs
    - unique_ptr::get
    - qIsInsertValuesSql
    linkageType: ''
    returnType: void
    signature: void runAsyncInternalFuncs(const string& sql, int32_t expect, ParserStage
      checkStage)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBaseImpl::reset
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:499,1
    - Dst: SParseContext::SParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:501,1
    - Dst: ParserTest::ParserTestBaseImpl::setParseContext
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:502,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:502,1
    - Dst: SCatalogReq::SCatalogReq
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:504,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:506,1
    - Dst: ParserTest::ParserTestBaseImpl::doParseSqlSyntax
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:507,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:507,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:507,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:507,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:508,1
    - Dst: SMetaData::SMetaData
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:516,1
    - Dst: ParserTest::ParserTestBaseImpl::doGetAllMeta
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:518,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:518,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:518,1
    - Dst: ParserTest::ParserTestBaseImpl::doContinueParseSql
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:520,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:520,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:520,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:520,1
    - Dst: ParserTest::ParserTestBaseImpl::doAnalyseSqlSemantic
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:522,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:522,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:522,1
    - Dst: unique_ptr::get
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:522,1
    - Dst: what
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:527,1
    - Dst: thread::join
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:533,1
    - Dst: string::empty
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:534,1
    - Dst: runtime_error
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:535,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:546,1
    - Dst: ParserTest::ParserTestBaseImpl::dump
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 555
    functionName: ParserTest::ParserTestBaseImpl::runAsyncApis
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - what
    - string::empty
    - ParserTest::ParserTestBaseImpl::reset
    - ParserTest::ParserTestBaseImpl::dump
    - ParserTest::ParserTestBaseImpl::doParseSqlSyntax
    - ParserTest::ParserTestBaseImpl::doAnalyseSqlSemantic
    - runtime_error
    - SParseContext::SParseContext
    - ParserTest::ParserTestBaseImpl::doContinueParseSql
    - thread::join
    - SCatalogReq::SCatalogReq
    - ParserTest::ParserTestBaseImpl::setParseContext
    - ParserTest::ParserTestBaseImpl::doGetAllMeta
    - SMetaData::SMetaData
    - unique_ptr::get
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void runAsyncApis(const string& sql, int32_t expect, ParserStage checkStage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTestBaseImpl::ParserTestBaseImpl
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: ParserTest::ParserTestBase::ParserTestBase
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached:
    - ParserTestBaseImpl::ParserTestBaseImpl
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::ParserTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: ParserTestBase::~ParserTestBase()
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::~ParserTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBase::login
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' user'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 569
    functionName: ParserTest::ParserTestBase::login
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - ParserTest::ParserTestBase::login
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::login(const std::string& user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBase::useDb
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' acctId'
    - ' db'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 571
    functionName: ParserTest::ParserTestBase::useDb
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - ParserTest::ParserTestBase::useDb
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::useDb(const std::string& acctId, const std::string&
      db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::ParserTestBase::run
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.cpp:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' sql'
    - expect
    - checkStage
    argTypes:
    - std::string
    - int32_t
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 575
    functionName: ParserTest::ParserTestBase::run
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 2
    functionsReached:
    - ParserTest::ParserTestBase::run
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::run(const std::string& sql, int32_t expect, ParserStage
      checkStage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pQuery
    - stage
    argTypes:
    - SQuery*
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 577
    functionName: ParserTest::ParserTestBase::checkDdl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParserTestBase::checkDdl(const SQuery* pQuery, ParserStage stage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:26,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:28,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:30,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:32,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:38,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, deleteSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:44,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:48,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:48,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:50,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:54,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:57,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, deleteSecureDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:65,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:67,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, describe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:77,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:81,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:84,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:85,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:89,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:90,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:90,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:92,1
    - Dst: tDeserializeSMDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:92,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:94,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:94,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:94,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:95,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:95,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:95,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:96,1
    - Dst: setDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:99,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:100,1
    - Dst: clearDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:101,1
    - Dst: setDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:103,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:104,1
    - Dst: clearDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 106
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - tDeserializeSMDropCgroupReq
    - run
    - strcpy
    - setCheckDdlFunc
    - clearDropCgroupReq
    - std::string
    - nodeType
    - snprintf
    - memset
    - ASSERT_EQ
    - useDb
    - ASSERT_TRUE
    - setDropCgroupReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropConsumerGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:111,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:115,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:124,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:130,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:131,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:131,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:133,1
    - Dst: tDeserializeSDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:133,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:135,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:136,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:136,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:136,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:137,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:138,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:139,1
    - Dst: tFreeSDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:140,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:143,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:144,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:145,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:147,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:148,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:149,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:151,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:152,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:153,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:155,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:156,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:157,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:159,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:160,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:161,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:163,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:164,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:165,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:167,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:168,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:169,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:171,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:172,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:173,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:175,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:176,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 178
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - strcpy
    - setCheckDdlFunc
    - setDropDnodeReqByEndpoint
    - std::string
    - setDropDnodeReqById
    - nodeType
    - ASSERT_EQ
    - memset
    - tDeserializeSDropDnodeReq
    - useDb
    - ASSERT_TRUE
    - clearDropDnodeReq
    - tFreeSDropDnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropDnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:183,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:187,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:190,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:194,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:195,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:195,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:197,1
    - Dst: tDeserializeSMDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:197,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:199,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:199,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:199,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:200,1
    - Dst: setDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:203,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:204,1
    - Dst: clearDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:205,1
    - Dst: setDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:207,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:208,1
    - Dst: clearDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 210
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - tDeserializeSMDropSmaReq
    - clearDropSmaReq
    - run
    - setDropSmaReq
    - setCheckDdlFunc
    - sprintf
    - std::string
    - nodeType
    - ASSERT_EQ
    - memset
    - useDb
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:213,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropMnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:219,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:225,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:226,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:226,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:228,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:229,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:231,1
    - Dst: tFreeSDDropQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:232,1
    - Dst: setDropQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:235,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 237
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - tFreeSDDropQnodeReq
    - setDropQnodeReq
    - ASSERT_TRUE
    - useDb
    - tDeserializeSCreateDropMQSNodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropQnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:240,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropSnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:246,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropSTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:252,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:254,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:259,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:261,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropTopic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: login
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:267,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:268,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:272,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:274,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:275,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:275,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:277,1
    - Dst: tDeserializeSDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:277,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:279,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:279,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:279,1
    - Dst: tFreeSDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:280,1
    - Dst: setDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:283,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 285
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - tDeserializeSDropUserReq
    - tFreeSDropUserReq
    - run
    - setCheckDdlFunc
    - sprintf
    - std::string
    - nodeType
    - ASSERT_EQ
    - setDropUserReq
    - useDb
    - ASSERT_TRUE
    - login
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropUser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: login
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:288,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:289,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - login
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, IntervalOnSysTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:26,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:28,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:30,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:32,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:38,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, deleteSemanticCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:44,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:48,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:48,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:50,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:54,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:57,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, deleteSecureDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:65,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:67,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, describe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:77,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:81,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:84,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:85,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:89,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:90,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:90,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:92,1
    - Dst: tDeserializeSMDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:92,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:94,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:94,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:94,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:95,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:95,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:95,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:96,1
    - Dst: setDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:99,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:100,1
    - Dst: clearDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:101,1
    - Dst: setDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:103,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:104,1
    - Dst: clearDropCgroupReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 106
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - tDeserializeSMDropCgroupReq
    - run
    - strcpy
    - setCheckDdlFunc
    - clearDropCgroupReq
    - std::string
    - nodeType
    - snprintf
    - memset
    - ASSERT_EQ
    - useDb
    - ASSERT_TRUE
    - setDropCgroupReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropConsumerGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:111,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:115,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:124,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:130,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:131,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:131,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:133,1
    - Dst: tDeserializeSDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:133,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:135,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:136,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:136,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:136,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:137,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:138,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:139,1
    - Dst: tFreeSDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:140,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:143,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:144,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:145,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:147,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:148,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:149,1
    - Dst: setDropDnodeReqById
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:151,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:152,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:153,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:155,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:156,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:157,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:159,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:160,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:161,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:163,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:164,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:165,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:167,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:168,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:169,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:171,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:172,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:173,1
    - Dst: setDropDnodeReqByEndpoint
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:175,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:176,1
    - Dst: clearDropDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 178
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - strcpy
    - setCheckDdlFunc
    - setDropDnodeReqByEndpoint
    - std::string
    - setDropDnodeReqById
    - nodeType
    - ASSERT_EQ
    - memset
    - tDeserializeSDropDnodeReq
    - useDb
    - ASSERT_TRUE
    - clearDropDnodeReq
    - tFreeSDropDnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropDnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:183,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:187,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:190,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:194,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:195,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:195,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:197,1
    - Dst: tDeserializeSMDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:197,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:199,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:199,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:199,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:200,1
    - Dst: setDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:203,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:204,1
    - Dst: clearDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:205,1
    - Dst: setDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:207,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:208,1
    - Dst: clearDropSmaReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 210
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - tDeserializeSMDropSmaReq
    - clearDropSmaReq
    - run
    - setDropSmaReq
    - setCheckDdlFunc
    - sprintf
    - std::string
    - nodeType
    - ASSERT_EQ
    - memset
    - useDb
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:213,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropMnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:219,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:225,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:226,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:226,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:228,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:229,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:231,1
    - Dst: tFreeSDDropQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:232,1
    - Dst: setDropQnodeReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:235,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 237
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - tFreeSDDropQnodeReq
    - setDropQnodeReq
    - ASSERT_TRUE
    - useDb
    - tDeserializeSCreateDropMQSNodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropQnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:240,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropSnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:246,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropSTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:252,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:254,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:259,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:261,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropTopic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: login
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:267,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:268,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:272,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:274,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:275,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:275,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:277,1
    - Dst: tDeserializeSDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:277,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:279,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:279,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:279,1
    - Dst: tFreeSDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:280,1
    - Dst: setDropUserReq
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:283,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 285
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - tDeserializeSDropUserReq
    - tFreeSDropUserReq
    - run
    - setCheckDdlFunc
    - sprintf
    - std::string
    - nodeType
    - ASSERT_EQ
    - setDropUserReq
    - useDb
    - ASSERT_TRUE
    - login
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, dropUser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: login
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:288,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:289,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parInitialDTest.cpp
    functionUses: 0
    functionsReached:
    - login
    - run
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialDTest, IntervalOnSysTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:35,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:39,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:43,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:47,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:51,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:55,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:59,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:64,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:68,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:74,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:78,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:82,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:86,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:90,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:94,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:98,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:102,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:106,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:110,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:114,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - mcs
    argTypes:
    - MockCatalogService*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 125
    functionName: generateInformationSchema
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogService*::createTableBuilder
    linkageType: ''
    returnType: void
    signature: void generateInformationSchema(MockCatalogService* mcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:128,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:132,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mcs
    argTypes:
    - MockCatalogService*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: generatePerformanceSchema
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogService*::createTableBuilder
    linkageType: ''
    returnType: void
    signature: void generatePerformanceSchema(MockCatalogService* mcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mcs
    - ' db'
    argTypes:
    - MockCatalogService*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: generateTestTables
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogService*::createTableBuilder
    linkageType: ''
    returnType: void
    signature: void generateTestTables(MockCatalogService* mcs, const std::string&
      db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:204,1
    - Dst: done
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:212,1
    - Dst: MockCatalogService*::createSubTable
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:213,1
    - Dst: MockCatalogService*::createSubTable
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:214,1
    - Dst: MockCatalogService*::createSubTable
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:215,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:218,1
    - Dst: done
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:224,1
    - Dst: MockCatalogService*::createSubTable
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:225,1
    - Dst: MockCatalogService*::createSubTable
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:226,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:229,1
    - Dst: done
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:234,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:237,1
    - Dst: done
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - mcs
    - ' db'
    argTypes:
    - MockCatalogService*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 245
    functionName: generateTestStables
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogService*::createTableBuilder
    - MockCatalogService*::createSubTable
    - done
    linkageType: ''
    returnType: void
    signature: void generateTestStables(MockCatalogService* mcs, const std::string&
      db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createFunction
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:248,1
    - Dst: MockCatalogService*::createFunction
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mcs
    argTypes:
    - MockCatalogService*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: generateFunctions
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogService*::createFunction
    linkageType: ''
    returnType: void
    signature: void generateFunctions(MockCatalogService* mcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createDnode
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:254,1
    - Dst: MockCatalogService*::createDnode
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:255,1
    - Dst: MockCatalogService*::createDnode
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mcs
    argTypes:
    - MockCatalogService*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: generateDnodes
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogService*::createDnode
    linkageType: ''
    returnType: void
    signature: void generateDnodes(MockCatalogService* mcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:260,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:261,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:262,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:263,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:263,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:264,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:264,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:265,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:266,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:266,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:267,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:267,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:268,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:269,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:271,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:272,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:273,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:274,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:275,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:276,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:277,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:278,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:280,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:280,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:281,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:281,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:282,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:282,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:283,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:283,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:284,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:284,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:285,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:285,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:286,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:286,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:287,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:287,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:288,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:288,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:289,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - mcs
    argTypes:
    - MockCatalogService*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 290
    functionName: generateDatabases
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - generateTestTables
    - get
    - MockCatalogService*::createDatabase
    - generateTestStables
    linkageType: ''
    returnType: void
    signature: void generateDatabases(MockCatalogService* mcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:35,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:39,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:43,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:47,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:51,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:55,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:59,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:64,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:68,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:74,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:78,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:82,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:86,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:90,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:94,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:98,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:102,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:106,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:110,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:114,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - mcs
    argTypes:
    - MockCatalogService*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 125
    functionName: generateInformationSchema
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogService*::createTableBuilder
    linkageType: ''
    returnType: void
    signature: void generateInformationSchema(MockCatalogService* mcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:128,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:132,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mcs
    argTypes:
    - MockCatalogService*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: generatePerformanceSchema
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogService*::createTableBuilder
    linkageType: ''
    returnType: void
    signature: void generatePerformanceSchema(MockCatalogService* mcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mcs
    - ' db'
    argTypes:
    - MockCatalogService*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: generateTestTables
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService*::createTableBuilder
    linkageType: ''
    returnType: void
    signature: void generateTestTables(MockCatalogService* mcs, const std::string&
      db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:204,1
    - Dst: done
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:212,1
    - Dst: MockCatalogService*::createSubTable
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:213,1
    - Dst: MockCatalogService*::createSubTable
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:214,1
    - Dst: MockCatalogService*::createSubTable
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:215,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:218,1
    - Dst: done
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:224,1
    - Dst: MockCatalogService*::createSubTable
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:225,1
    - Dst: MockCatalogService*::createSubTable
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:226,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:229,1
    - Dst: done
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:234,1
    - Dst: MockCatalogService*::createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:237,1
    - Dst: done
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - mcs
    - ' db'
    argTypes:
    - MockCatalogService*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 245
    functionName: generateTestStables
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 1
    functionsReached:
    - MockCatalogService*::createTableBuilder
    - MockCatalogService*::createSubTable
    - done
    linkageType: ''
    returnType: void
    signature: void generateTestStables(MockCatalogService* mcs, const std::string&
      db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createFunction
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:248,1
    - Dst: MockCatalogService*::createFunction
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mcs
    argTypes:
    - MockCatalogService*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: generateFunctions
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogService*::createFunction
    linkageType: ''
    returnType: void
    signature: void generateFunctions(MockCatalogService* mcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createDnode
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:254,1
    - Dst: MockCatalogService*::createDnode
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:255,1
    - Dst: MockCatalogService*::createDnode
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mcs
    argTypes:
    - MockCatalogService*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: generateDnodes
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - MockCatalogService*::createDnode
    linkageType: ''
    returnType: void
    signature: void generateDnodes(MockCatalogService* mcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:260,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:261,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:262,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:263,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:263,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:264,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:264,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:265,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:266,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:266,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:267,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:267,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:268,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:269,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:271,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:272,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:273,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:274,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:275,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:276,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:277,1
    - Dst: MockCatalogService*::createDatabase
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:278,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:280,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:280,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:281,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:281,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:282,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:282,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:283,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:283,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:284,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:284,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:285,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:285,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:286,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:286,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:287,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:287,1
    - Dst: generateTestTables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:288,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:288,1
    - Dst: generateTestStables
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:289,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - mcs
    argTypes:
    - MockCatalogService*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 290
    functionName: generateDatabases
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - generateTestTables
    - get
    - MockCatalogService*::createDatabase
    - generateTestStables
    linkageType: ''
    returnType: void
    signature: void generateDatabases(MockCatalogService* mcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - clusterId
    - catalogHandle
    argTypes:
    - char*
    - struct SCatalog**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: __catalogGetHandle
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogGetHandle(const char* clusterId, struct SCatalog**
      catalogHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCatalog
    - pConn
    - pTableName
    - pTableMeta
    argTypes:
    - struct SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 11
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: __catalogGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetTableMeta
    linkageType: ''
    returnType: int32_t
    signature: "int32_t __catalogGetTableMeta(struct SCatalog* pCatalog, SRequestConnInfo*
      pConn, const SName* pTableName,\n                              STableMeta**
      pTableMeta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 11
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: __catalogGetCachedTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetTableMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogGetCachedTableMeta(SCatalog* pCtg, const SName* pTableName,
      STableMeta** pTableMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCatalog
    - pConn
    - pTableName
    - vgInfo
    argTypes:
    - struct SCatalog*
    - SRequestConnInfo*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 10
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: __catalogGetTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t __catalogGetTableHashVgroup(struct SCatalog* pCatalog, SRequestConnInfo*
      pConn, const SName* pTableName,\n                                    SVgroupInfo*
      vgInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    - exists
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 10
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: __catalogGetCachedTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogGetCachedTableHashVgroup(SCatalog* pCtg, const SName*
      pTableName, SVgroupInfo* pVgroup, bool* exists)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:318,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 11
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: __catalogGetCachedTableVgMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetTableMeta
    - catalogGetTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t __catalogGetCachedTableVgMeta(SCatalog* pCtg, const SName*
      pTableName, SVgroupInfo* pVgroup,\n                                      STableMeta**
      pTableMeta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetTableDistVgInfo
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 12
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: __catalogGetTableDistVgInfo
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetTableDistVgInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t __catalogGetTableDistVgInfo(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName,\n                                    SArray**
      pVgList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pCtg
    - dbFName
    - version
    - dbId
    - tableNum
    - stateTs
    argTypes:
    - SCatalog*
    - char*
    - int32_t*
    - int64_t*
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: __catalogGetDBVgVersion
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t __catalogGetDBVgVersion(SCatalog* pCtg, const char* dbFName,
      int32_t* version, int64_t* dbId, int32_t* tableNum,\n                                int64_t*
      stateTs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetDBVgList
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - pVgList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 9
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: __catalogGetDBVgList
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetDBVgList
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogGetDBVgList(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName, SArray** pVgList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetDBCfg
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - pDbCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 9
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: __catalogGetDBCfg
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetDBCfg
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogGetDBCfg(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName, SDbCfgInfo* pDbCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pAuth
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SUserAuthInfo*
    - SUserAuthRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: __catalogChkAuth
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogChkAuth(SCatalog* pCtg, SRequestConnInfo* pConn, SUserAuthInfo
      *pAuth, SUserAuthRes* pRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pCtg
    - pAuth
    - pRes
    - pRsp
    argTypes:
    - SCatalog*
    - SUserAuthInfo*
    - SUserAuthRes*
    - SUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: __catalogChkAuthFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogChkAuthFromCache(SCatalog* pCtg, SUserAuthInfo *pAuth,
      SUserAuthRes* pRes, SUserAuthRsp* pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetUdfInfo
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - funcName
    - pInfo
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 8
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: __catalogGetUdfInfo
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetUdfInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogGetUdfInfo(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* funcName, SFuncInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pCatalog
    - pConn
    - pTableName
    - pTableMeta
    - isSTable
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 11
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: __catalogRefreshGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetTableMeta
    linkageType: ''
    returnType: int32_t
    signature: "int32_t __catalogRefreshGetTableMeta(SCatalog* pCatalog, SRequestConnInfo*
      pConn, const SName* pTableName,\n                                     STableMeta**
      pTableMeta, int32_t isSTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCtg
    - pTableName
    argTypes:
    - SCatalog*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: __catalogRemoveTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogRemoveTableMeta(SCatalog* pCtg, SName* pTableName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCtg
    - pTableName
    argTypes:
    - SCatalog*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: __catalogRemoveTableRelatedMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogRemoveTableRelatedMeta(SCatalog* pCtg, SName* pTableName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCtg
    - pTableName
    argTypes:
    - SCatalog*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: __catalogRemoveViewMeta
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogRemoveViewMeta(SCatalog* pCtg, SName* pTableName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetTableIndex
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pCtg
    - pTrans
    - pMgmtEps
    - pName
    - pRes
    argTypes:
    - SCatalog*
    - void*
    - SEpSet*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 9
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: __catalogGetTableIndex
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetTableIndex
    linkageType: ''
    returnType: int32_t
    signature: "int32_t __catalogGetTableIndex(SCatalog* pCtg, void* pTrans, const
      SEpSet* pMgmtEps, const SName* pName,\n                               SArray**
      pRes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetDnodeList
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCatalog
    - pConn
    - pDnodeList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 8
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: __catalogGetDnodeList
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - catalogGetDnodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogGetDnodeList(SCatalog* pCatalog, SRequestConnInfo*
      pConn, SArray** pDnodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableCfg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: __catalogRefreshGetTableCfg
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t __catalogRefreshGetTableCfg(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName,\n                                    STableCfg**
      pCfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:384,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:385,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - user
    - pRsp
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 391
    functionName: __catalogGetUserAuth
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 0
    functionsReached:
    - memset
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t __catalogGetUserAuth(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* user, SGetUserAuthRsp* pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:394,1
    - Dst: MockCatalogService::MockCatalogService
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:394,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:397,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:398,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:399,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:400,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:401,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:402,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:403,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:404,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:405,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:406,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:407,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:408,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:409,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:410,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:411,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:412,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:413,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:414,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:415,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:416,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:417,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:418,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 420
    functionName: initMetaDataEnv
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 3
    functionsReached:
    - reset
    - MockCatalogService::MockCatalogService
    - Stub::set
    linkageType: ''
    returnType: void
    signature: void initMetaDataEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generateDatabases
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:423,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:423,1
    - Dst: generateInformationSchema
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:424,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:424,1
    - Dst: generatePerformanceSchema
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:425,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:425,1
    - Dst: generateFunctions
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:426,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:426,1
    - Dst: generateDnodes
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:427,1
    - Dst: get
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 5
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: generateMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 3
    functionsReached:
    - generateFunctions
    - generateDnodes
    - generateInformationSchema
    - get
    - generatePerformanceSchema
    - generateDatabases
    linkageType: ''
    returnType: void
    signature: void generateMetaData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/tdengine/source/libs/parser/test/mockCatalog.cpp:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 430
    functionName: destroyMetaDataEnv
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalog.cpp
    functionUses: 3
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void destroyMetaDataEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:44,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterAccount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:54,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:58,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:62,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:64,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:68,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:69,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:69,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:70,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:72,1
    - Dst: tDeserializeSMCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:72,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:73,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:74,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:74,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:74,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:75,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:75,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:75,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:76,1
    - Dst: setCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:79,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:80,1
    - Dst: clearCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:81,1
    - Dst: setCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:83,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:84,1
    - Dst: clearCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:85,1
    - Dst: setCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:87,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:88,1
    - Dst: clearCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:89,1
    - Dst: setCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:91,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:92,1
    - Dst: clearCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 94
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - tDeserializeSMCfgDnodeReq
    - tFreeSMCfgDnodeReq
    - setCfgDnodeReq
    - strcpy
    - setCheckDdlFunc
    - run
    - std::string
    - nodeType
    - ASSERT_EQ
    - memset
    - useDb
    - clearCfgDnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterDnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:117,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:121,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:124,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:166,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:166,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:167,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:169,1
    - Dst: tDeserializeSAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:169,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:170,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:170,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:171,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:172,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:173,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:174,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:175,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:176,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:177,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:178,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:180,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:181,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:182,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:183,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:184,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:185,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:186,1
    - Dst: tFreeSAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:187,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:193,1
    - Dst: setAlterDbCacheSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:194,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:195,1
    - Dst: setAlterDbFsync
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:196,1
    - Dst: setAlterDbWal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:197,1
    - Dst: setAlterDbCacheModel
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:198,1
    - Dst: setAlterDbSttTrigger
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:199,1
    - Dst: setAlterDbBuffer
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:200,1
    - Dst: setAlterDbPages
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:201,1
    - Dst: setAlterDbReplica
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:202,1
    - Dst: setAlterDbWalRetentionPeriod
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:203,1
    - Dst: setAlterDbWalRetentionSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:204,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:205,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:209,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:211,1
    - Dst: setAlterDbBuffer
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:212,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:213,1
    - Dst: setAlterDbBuffer
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:214,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:215,1
    - Dst: setAlterDbBuffer
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:216,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:217,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:218,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:220,1
    - Dst: setAlterDbCacheModel
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:221,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:222,1
    - Dst: setAlterDbCacheModel
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:223,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:224,1
    - Dst: setAlterDbCacheModel
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:225,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:226,1
    - Dst: setAlterDbCacheModel
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:227,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:228,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:229,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:231,1
    - Dst: setAlterDbCacheSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:232,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:233,1
    - Dst: setAlterDbCacheSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:234,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:235,1
    - Dst: setAlterDbCacheSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:236,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:237,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:238,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:240,1
    - Dst: setAlterDbFsync
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:241,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:242,1
    - Dst: setAlterDbFsync
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:243,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:244,1
    - Dst: setAlterDbFsync
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:245,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:246,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:247,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:249,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:250,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:251,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:252,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:253,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:254,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:255,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:256,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:257,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:258,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:259,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:260,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:261,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:262,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:263,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:264,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:265,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:266,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:268,1
    - Dst: setAlterDbPages
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:269,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:270,1
    - Dst: setAlterDbPages
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:271,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:272,1
    - Dst: setAlterDbPages
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:273,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:274,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:275,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:277,1
    - Dst: setAlterDbWal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:278,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:279,1
    - Dst: setAlterDbWal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:280,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:281,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:282,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:284,1
    - Dst: setAlterDbReplica
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:285,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:286,1
    - Dst: setAlterDbReplica
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:287,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:288,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:289,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:292,1
    - Dst: setAlterDbSttTrigger
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:293,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:294,1
    - Dst: setAlterDbSttTrigger
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:295,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:296,1
    - Dst: setAlterDbSttTrigger
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:297,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:298,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:299,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:302,1
    - Dst: setAlterDbMinRows
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:303,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:304,1
    - Dst: setAlterDbMinRows
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:305,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:306,1
    - Dst: setAlterDbMinRows
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:307,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:308,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:309,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:311,1
    - Dst: setAlterDbWalRetentionPeriod
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:312,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:313,1
    - Dst: setAlterDbWalRetentionPeriod
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:314,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:315,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:316,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:318,1
    - Dst: setAlterDbWalRetentionSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:319,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:320,1
    - Dst: setAlterDbWalRetentionSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:321,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:322,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 192
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 324
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSAlterDbReq
    - nodeType
    - setAlterDbWalRetentionSize
    - snprintf
    - memset
    - ASSERT_EQ
    - setAlterDbFsync
    - setAlterDbBuffer
    - setAlterDbMinRows
    - setAlterDbSttTrigger
    - std::string
    - clearAlterDbReq
    - useDb
    - tDeserializeSAlterDbReq
    - setAlterDbPages
    - run
    - setCheckDdlFunc
    - setAlterDbWalRetentionPeriod
    - setAlterDbKeep
    - setAlterDbReplica
    - initAlterDb
    - setAlterDbCacheSize
    - setAlterDbCacheModel
    - setAlterDbWal
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterDatabase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:327,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:329,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:330,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:331,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:332,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:333,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:335,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:336,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:337,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:338,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:339,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:340,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:341,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:343,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:345,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:346,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 349
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterDatabaseSemanticCheck)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:355,1
    - Dst: pair::first::clear
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:360,1
    - Dst: pair::second::clear
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:361,1
    - Dst: pair::first::assign
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:365,1
    - Dst: pair::second::assign
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:367,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:371,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:372,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:372,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:373,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:375,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:375,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:376,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:376,1
    - Dst: setAlterLocal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:379,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:380,1
    - Dst: clearAlterLocal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:381,1
    - Dst: setAlterLocal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:383,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:384,1
    - Dst: clearAlterLocal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 386
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - pair::second::clear
    - string
    - setAlterLocal
    - run
    - setCheckDdlFunc
    - clearAlterLocal
    - pair::first::clear
    - nodeType
    - ASSERT_EQ
    - useDb
    - pair::second::assign
    - pair::first::assign
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterLocal)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:413,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:418,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:419,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:425,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:429,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:430,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:435,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:436,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:438,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:438,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:439,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:439,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:442,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:444,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:445,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:447,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:452,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:454,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:455,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:457,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:463,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:464,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:464,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:465,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:467,1
    - Dst: tDeserializeSMAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:468,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:468,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:468,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:469,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:470,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:472,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:473,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:474,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:474,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:474,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:475,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:476,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:479,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:480,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:481,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:481,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:481,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:482,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:483,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:485,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:488,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:489,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:490,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:492,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:493,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:494,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:496,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:497,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:498,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:500,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:501,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:502,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:504,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:505,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:506,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:508,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:509,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:510,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:512,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:513,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:514,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:516,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:517,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 519
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - nodeType
    - snprintf
    - memset
    - ASSERT_EQ
    - tFreeSMAltertbReq
    - taosArrayGet
    - strcpy
    - std::string
    - clearAlterStbReq
    - useDb
    - ASSERT_TRUE
    - setAlterStbReq
    - run
    - setCheckDdlFunc
    - taosStrdup
    - tDeserializeSMAlterStbReq
    - taosArrayInit
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterSTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:522,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:524,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:525,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:526,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:527,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 529
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterSTableSemanticCheck)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:557,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:564,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:565,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:566,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:567,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:568,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:573,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:575,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:587,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:595,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:597,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:605,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:612,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:617,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:618,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:618,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:621,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:622,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:623,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:623,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:624,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:625,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:628,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:629,1
    - Dst: tDecodeSVAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:629,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:633,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:633,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:634,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:635,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:635,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:635,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:636,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:637,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:637,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:638,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:639,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:639,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:639,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:640,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:641,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:643,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:643,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:646,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:646,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:646,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:647,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:649,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:649,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:649,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:651,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:652,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:653,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:654,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:656,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:656,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:656,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:659,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:659,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:659,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:661,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:662,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:664,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:664,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:666,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:667,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:669,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:669,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:669,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:670,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:670,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:671,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:671,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:675,1
    - Dst: setAlterTableOptions
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:678,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:679,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:680,1
    - Dst: setAlterTableOptions
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:682,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:683,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:684,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:686,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:687,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:688,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:690,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:691,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:692,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:694,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:695,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:696,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:698,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:699,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:700,1
    - Dst: setAlterTableTag
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:703,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:704,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:705,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:713,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:714,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:720,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:724,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:725,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:730,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:731,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:733,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:733,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:734,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:734,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:737,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:739,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:740,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:742,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:747,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:749,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:750,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:752,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:758,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:759,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:759,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:760,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:762,1
    - Dst: tDeserializeSMAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:762,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:763,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:763,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:763,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:764,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:765,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:767,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:768,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:769,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:769,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:769,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:770,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:771,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:774,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:775,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:776,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:776,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:776,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:777,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:778,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:780,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:783,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:784,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:785,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:787,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:788,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:789,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:791,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:793,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:794,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:796,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:797,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:798,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 183
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 800
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - setAlterTableTag
    - taosArrayPush
    - tDecoderClear
    - nodeType
    - ASSERT_EQ
    - memset
    - snprintf
    - POINTER_SHIFT
    - taosArrayGetP
    - clearAlterTbReq
    - tFreeSMAltertbReq
    - taosArrayGet
    - tDecodeSVAlterTbReq
    - strcpy
    - std::string
    - clearAlterStbReq
    - free
    - taosArrayGetSize
    - useDb
    - ASSERT_TRUE
    - setAlterStbReq
    - strdup
    - run
    - memcmp
    - setCheckDdlFunc
    - ASSERT_NE
    - setAlterTableCol
    - tDeserializeSMAlterStbReq
    - setAlterTableOptions
    - taosArrayInit
    - tDecoderInit
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:803,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:805,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:806,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:807,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:808,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:809,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 811
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterTableSemanticCheck)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:824,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:828,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:832,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:837,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:837,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:839,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:842,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:843,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:843,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:844,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:846,1
    - Dst: tDeserializeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:846,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:848,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:849,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:850,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:851,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:851,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:851,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:852,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:852,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:852,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:853,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:853,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:853,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:854,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:857,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:858,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:859,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:861,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:862,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:863,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:865,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:866,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 868
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - strcpy
    - setCheckDdlFunc
    - taosEncryptPass_c
    - std::string
    - nodeType
    - ASSERT_EQ
    - memset
    - tFreeSAlterUserReq
    - useDb
    - ASSERT_TRUE
    - tDeserializeSAlterUserReq
    - strlen
    - setAlterUserReq
    - clearAlterUserReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterUser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:875,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:877,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:878,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:878,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:879,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:881,1
    - Dst: tDeserializeSBalanceVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:881,1
    - Dst: tFreeSBalanceVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:882,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 886
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSBalanceVgroupReq
    - tDeserializeSBalanceVgroupReq
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, balanceVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:892,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:894,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:895,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:895,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:896,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:898,1
    - Dst: tDeserializeSBalanceVgroupLeaderReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:898,1
    - Dst: tFreeSBalanceVgroupLeaderReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:900,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 904
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    - tDeserializeSBalanceVgroupLeaderReq
    - tFreeSBalanceVgroupLeaderReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, balanceVgroupLeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:44,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterAccount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:54,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:58,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:62,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:64,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:68,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:69,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:69,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:70,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:72,1
    - Dst: tDeserializeSMCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:72,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:73,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:74,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:74,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:74,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:75,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:75,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:75,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:76,1
    - Dst: setCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:79,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:80,1
    - Dst: clearCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:81,1
    - Dst: setCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:83,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:84,1
    - Dst: clearCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:85,1
    - Dst: setCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:87,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:88,1
    - Dst: clearCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:89,1
    - Dst: setCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:91,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:92,1
    - Dst: clearCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 94
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - tDeserializeSMCfgDnodeReq
    - tFreeSMCfgDnodeReq
    - setCfgDnodeReq
    - strcpy
    - setCheckDdlFunc
    - run
    - std::string
    - nodeType
    - ASSERT_EQ
    - memset
    - useDb
    - clearCfgDnodeReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterDnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:117,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:121,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:124,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:166,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:166,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:167,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:169,1
    - Dst: tDeserializeSAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:169,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:170,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:170,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:171,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:172,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:173,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:174,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:175,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:176,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:177,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:178,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:180,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:181,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:182,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:183,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:184,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:185,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:186,1
    - Dst: tFreeSAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:187,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:193,1
    - Dst: setAlterDbCacheSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:194,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:195,1
    - Dst: setAlterDbFsync
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:196,1
    - Dst: setAlterDbWal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:197,1
    - Dst: setAlterDbCacheModel
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:198,1
    - Dst: setAlterDbSttTrigger
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:199,1
    - Dst: setAlterDbBuffer
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:200,1
    - Dst: setAlterDbPages
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:201,1
    - Dst: setAlterDbReplica
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:202,1
    - Dst: setAlterDbWalRetentionPeriod
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:203,1
    - Dst: setAlterDbWalRetentionSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:204,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:205,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:209,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:211,1
    - Dst: setAlterDbBuffer
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:212,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:213,1
    - Dst: setAlterDbBuffer
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:214,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:215,1
    - Dst: setAlterDbBuffer
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:216,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:217,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:218,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:220,1
    - Dst: setAlterDbCacheModel
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:221,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:222,1
    - Dst: setAlterDbCacheModel
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:223,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:224,1
    - Dst: setAlterDbCacheModel
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:225,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:226,1
    - Dst: setAlterDbCacheModel
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:227,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:228,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:229,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:231,1
    - Dst: setAlterDbCacheSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:232,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:233,1
    - Dst: setAlterDbCacheSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:234,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:235,1
    - Dst: setAlterDbCacheSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:236,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:237,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:238,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:240,1
    - Dst: setAlterDbFsync
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:241,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:242,1
    - Dst: setAlterDbFsync
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:243,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:244,1
    - Dst: setAlterDbFsync
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:245,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:246,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:247,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:249,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:250,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:251,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:252,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:253,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:254,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:255,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:256,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:257,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:258,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:259,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:260,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:261,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:262,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:263,1
    - Dst: setAlterDbKeep
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:264,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:265,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:266,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:268,1
    - Dst: setAlterDbPages
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:269,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:270,1
    - Dst: setAlterDbPages
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:271,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:272,1
    - Dst: setAlterDbPages
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:273,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:274,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:275,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:277,1
    - Dst: setAlterDbWal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:278,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:279,1
    - Dst: setAlterDbWal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:280,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:281,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:282,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:284,1
    - Dst: setAlterDbReplica
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:285,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:286,1
    - Dst: setAlterDbReplica
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:287,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:288,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:289,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:292,1
    - Dst: setAlterDbSttTrigger
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:293,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:294,1
    - Dst: setAlterDbSttTrigger
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:295,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:296,1
    - Dst: setAlterDbSttTrigger
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:297,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:298,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:299,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:302,1
    - Dst: setAlterDbMinRows
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:303,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:304,1
    - Dst: setAlterDbMinRows
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:305,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:306,1
    - Dst: setAlterDbMinRows
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:307,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:308,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:309,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:311,1
    - Dst: setAlterDbWalRetentionPeriod
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:312,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:313,1
    - Dst: setAlterDbWalRetentionPeriod
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:314,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:315,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:316,1
    - Dst: initAlterDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:318,1
    - Dst: setAlterDbWalRetentionSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:319,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:320,1
    - Dst: setAlterDbWalRetentionSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:321,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:322,1
    - Dst: clearAlterDbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 192
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 324
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSAlterDbReq
    - nodeType
    - setAlterDbWalRetentionSize
    - snprintf
    - memset
    - ASSERT_EQ
    - setAlterDbFsync
    - setAlterDbBuffer
    - setAlterDbMinRows
    - setAlterDbSttTrigger
    - std::string
    - clearAlterDbReq
    - useDb
    - tDeserializeSAlterDbReq
    - setAlterDbPages
    - run
    - setCheckDdlFunc
    - setAlterDbWalRetentionPeriod
    - setAlterDbKeep
    - setAlterDbReplica
    - initAlterDb
    - setAlterDbCacheSize
    - setAlterDbCacheModel
    - setAlterDbWal
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterDatabase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:327,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:329,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:330,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:331,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:332,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:333,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:335,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:336,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:337,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:338,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:339,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:340,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:341,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:343,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:345,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:346,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 349
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterDatabaseSemanticCheck)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:355,1
    - Dst: pair::first::clear
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:360,1
    - Dst: pair::second::clear
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:361,1
    - Dst: pair::first::assign
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:365,1
    - Dst: pair::second::assign
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:367,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:371,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:372,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:372,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:373,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:375,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:375,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:376,1
    - Dst: string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:376,1
    - Dst: setAlterLocal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:379,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:380,1
    - Dst: clearAlterLocal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:381,1
    - Dst: setAlterLocal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:383,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:384,1
    - Dst: clearAlterLocal
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 386
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - pair::second::clear
    - string
    - setAlterLocal
    - run
    - setCheckDdlFunc
    - clearAlterLocal
    - pair::first::clear
    - nodeType
    - ASSERT_EQ
    - useDb
    - pair::second::assign
    - pair::first::assign
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterLocal)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:413,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:418,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:419,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:425,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:429,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:430,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:435,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:436,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:438,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:438,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:439,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:439,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:442,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:444,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:445,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:447,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:452,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:454,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:455,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:457,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:463,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:464,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:464,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:465,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:467,1
    - Dst: tDeserializeSMAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:468,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:468,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:468,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:469,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:470,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:472,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:473,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:474,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:474,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:474,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:475,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:476,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:479,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:480,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:481,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:481,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:481,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:482,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:483,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:485,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:488,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:489,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:490,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:492,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:493,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:494,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:496,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:497,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:498,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:500,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:501,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:502,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:504,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:505,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:506,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:508,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:509,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:510,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:512,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:513,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:514,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:516,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:517,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 519
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - nodeType
    - snprintf
    - memset
    - ASSERT_EQ
    - tFreeSMAltertbReq
    - taosArrayGet
    - strcpy
    - std::string
    - clearAlterStbReq
    - useDb
    - ASSERT_TRUE
    - setAlterStbReq
    - run
    - setCheckDdlFunc
    - taosStrdup
    - tDeserializeSMAlterStbReq
    - taosArrayInit
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterSTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:522,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:524,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:525,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:526,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:527,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 529
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterSTableSemanticCheck)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:557,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:564,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:565,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:566,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:567,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:568,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:573,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:575,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:587,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:595,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:597,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:605,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:612,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:617,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:618,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:618,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:621,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:622,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:623,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:623,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:624,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:625,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:628,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:629,1
    - Dst: tDecodeSVAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:629,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:632,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:633,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:633,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:634,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:635,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:635,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:635,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:636,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:637,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:637,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:638,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:639,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:639,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:639,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:640,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:641,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:643,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:643,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:646,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:646,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:646,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:647,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:649,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:649,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:649,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:651,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:652,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:653,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:654,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:656,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:656,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:656,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:659,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:659,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:659,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:661,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:662,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:664,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:664,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:666,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:667,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:669,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:669,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:669,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:670,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:670,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:671,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:671,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:675,1
    - Dst: setAlterTableOptions
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:678,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:679,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:680,1
    - Dst: setAlterTableOptions
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:682,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:683,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:684,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:686,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:687,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:688,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:690,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:691,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:692,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:694,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:695,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:696,1
    - Dst: setAlterTableCol
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:698,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:699,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:700,1
    - Dst: setAlterTableTag
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:703,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:704,1
    - Dst: clearAlterTbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:705,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:713,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:714,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:720,1
    - Dst: strdup
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:724,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:725,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:730,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:731,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:733,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:733,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:734,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:734,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:737,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:739,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:740,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:742,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:747,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:749,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:750,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:752,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:758,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:759,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:759,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:760,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:762,1
    - Dst: tDeserializeSMAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:762,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:763,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:763,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:763,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:764,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:765,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:767,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:768,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:769,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:769,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:769,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:770,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:771,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:774,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:775,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:776,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:776,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:776,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:777,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:778,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:780,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:783,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:784,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:785,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:787,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:788,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:789,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:791,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:793,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:794,1
    - Dst: setAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:796,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:797,1
    - Dst: clearAlterStbReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:798,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 183
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 800
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - setAlterTableTag
    - taosArrayPush
    - tDecoderClear
    - nodeType
    - ASSERT_EQ
    - memset
    - snprintf
    - POINTER_SHIFT
    - taosArrayGetP
    - clearAlterTbReq
    - tFreeSMAltertbReq
    - taosArrayGet
    - tDecodeSVAlterTbReq
    - strcpy
    - std::string
    - clearAlterStbReq
    - free
    - taosArrayGetSize
    - useDb
    - ASSERT_TRUE
    - setAlterStbReq
    - strdup
    - run
    - memcmp
    - setCheckDdlFunc
    - ASSERT_NE
    - setAlterTableCol
    - tDeserializeSMAlterStbReq
    - setAlterTableOptions
    - taosArrayInit
    - tDecoderInit
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:803,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:805,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:806,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:807,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:808,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:809,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 811
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterTableSemanticCheck)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:824,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:828,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:832,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:837,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:837,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:839,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:842,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:843,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:843,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:844,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:846,1
    - Dst: tDeserializeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:846,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:848,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:849,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:850,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:851,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:851,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:851,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:852,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:852,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:852,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:853,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:853,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:853,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:854,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:857,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:858,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:859,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:861,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:862,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:863,1
    - Dst: setAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:865,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:866,1
    - Dst: clearAlterUserReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 868
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - strcpy
    - setCheckDdlFunc
    - taosEncryptPass_c
    - std::string
    - nodeType
    - ASSERT_EQ
    - memset
    - tFreeSAlterUserReq
    - useDb
    - ASSERT_TRUE
    - tDeserializeSAlterUserReq
    - strlen
    - setAlterUserReq
    - clearAlterUserReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, alterUser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:875,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:877,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:878,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:878,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:879,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:881,1
    - Dst: tDeserializeSBalanceVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:881,1
    - Dst: tFreeSBalanceVgroupReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:882,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 886
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSBalanceVgroupReq
    - tDeserializeSBalanceVgroupReq
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, balanceVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:892,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:894,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:895,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:895,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:896,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:898,1
    - Dst: tDeserializeSBalanceVgroupLeaderReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:898,1
    - Dst: tFreeSBalanceVgroupLeaderReq
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:900,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 904
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parAlterToBalanceTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - setCheckDdlFunc
    - nodeType
    - ASSERT_EQ
    - useDb
    - tDeserializeSBalanceVgroupLeaderReq
    - tFreeSBalanceVgroupLeaderReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserInitialATest, balanceVgroupLeader)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:34,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:35,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:40,1
    - Dst: ParserTest::pstFindExternalWindowNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: ParserTest::pstFindExternalWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - nodeType
    - FOREACH
    - ParserTest::pstFindExternalWindowNode
    linkageType: ''
    returnType: SExternalWindowPhysiNode
    signature: SExternalWindowPhysiNode * pstFindExternalWindowNode(const SPhysiNode*
      pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:56,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:59,1
    - Dst: ParserTest::pstFindExternalWindowNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: ParserTest::pstFindExternalWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached:
    - FOREACH
    - ParserTest::pstFindExternalWindowNode
    linkageType: ''
    returnType: SExternalWindowPhysiNode
    signature: SExternalWindowPhysiNode * pstFindExternalWindowNode(const SQueryPlan*
      pPlan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:76,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:77,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:82,1
    - Dst: ParserTest::pstCountExternalWindowNodes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: ParserTest::pstCountExternalWindowNodes
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - nodeType
    - FOREACH
    - ParserTest::pstCountExternalWindowNodes
    linkageType: ''
    returnType: int32_t
    signature: int32_t pstCountExternalWindowNodes(const SPhysiNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:94,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:97,1
    - Dst: ParserTest::pstCountExternalWindowNodes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: ParserTest::pstCountExternalWindowNodes
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached:
    - FOREACH
    - ParserTest::pstCountExternalWindowNodes
    linkageType: ''
    returnType: int32_t
    signature: int32_t pstCountExternalWindowNodes(const SQueryPlan* pPlan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:112,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:113,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:120,1
    - Dst: ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - nodeType
    - FOREACH
    - ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t pstCountExternalWindowNodesNeedCalcTimeRange(const SPhysiNode*
      pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:132,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:135,1
    - Dst: ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 142
    functionName: ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached:
    - FOREACH
    - ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t pstCountExternalWindowNodesNeedCalcTimeRange(const SQueryPlan*
      pPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:145,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:146,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:146,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:149,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:149,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:151,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:154,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:154,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:156,1
    - Dst: ParserTest::pstCountExternalWindowNodes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pQuery
    - stage
    - expectedCount
    argTypes:
    - SQuery*
    - ParserStage
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: ParserTest::pstCheckCalcPlanExternalWindowCount
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - nodesStringToNode
    - ASSERT_NE
    - EXPECT_EQ
    - nodeType
    - ASSERT_EQ
    - ParserTest::pstCountExternalWindowNodes
    - tDeserializeSCMCreateStreamReq
    linkageType: ''
    returnType: void
    signature: void pstCheckCalcPlanExternalWindowCount(const SQuery* pQuery, ParserStage
      stage, int32_t expectedCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:164,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:165,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:168,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:168,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:173,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:173,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:175,1
    - Dst: ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:177,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pQuery
    - stage
    - expectedCount
    argTypes:
    - SQuery*
    - ParserStage
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: ParserTest::pstCheckCalcPlanExternalWindowNeedCalcTimeRangeCount
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - nodesStringToNode
    - ASSERT_NE
    - EXPECT_EQ
    - nodeType
    - ASSERT_EQ
    - ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
    - tDeserializeSCMCreateStreamReq
    linkageType: ''
    returnType: void
    signature: "void pstCheckCalcPlanExternalWindowNeedCalcTimeRangeCount(const SQuery*
      pQuery, ParserStage stage,\n                                                                 int32_t
      expectedCount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:182,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:183,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:183,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:186,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:187,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pQuery
    - stage
    argTypes:
    - SQuery*
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: ParserTest::pstGetCreateStreamSelect
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - nodeType
    - EXPECT_EQ
    - EXPECT_NE
    linkageType: ''
    returnType: SSelectStmt
    signature: SSelectStmt * pstGetCreateStreamSelect(const SQuery* pQuery, ParserStage
      stage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::pstGetCreateStreamSelect
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:193,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:194,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:197,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:201,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:202,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:202,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pQuery
    - stage
    - expectedPresent
    argTypes:
    - SQuery*
    - ParserStage
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: ParserTest::pstCheckCreateStreamSelectTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstGetCreateStreamSelect
    - EXPECT_EQ
    - ASSERT_NE
    - nodeType
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void pstCheckCreateStreamSelectTimeRange(const SQuery* pQuery, ParserStage
      stage, bool expectedPresent,\n                                                bool
      expectedNeedCalc = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:240,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pStream
    - pStreamDb
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: ParserTest::setCreateStreamStreamName
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamStreamName(SCMCreateStreamReq *expect, const char*
      pStream, const char* pStreamDb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - triggerType
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: ParserTest::setCreateStreamTriggerType
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerType(SCMCreateStreamReq *expect, int8_t
      triggerType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - triggerTableType
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: ParserTest::setCreateStreamTriggerTableType
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerTableType(SCMCreateStreamReq *expect, int8_t
      triggerTableType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - triggerTblSUid
    argTypes:
    - SCMCreateStreamReq*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: ParserTest::setCreateStreamTriggerTableSuid
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerTableSuid(SCMCreateStreamReq *expect, uint64_t
      triggerTblSUid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - triggerTblUid
    argTypes:
    - SCMCreateStreamReq*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: ParserTest::setCreateStreamTriggerTblUid
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerTblUid(SCMCreateStreamReq *expect, uint64_t
      triggerTblUid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - triggerTblVgid
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: ParserTest::setCreateStreamTriggerTblVgid
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerTblVgid(SCMCreateStreamReq *expect, int8_t
      triggerTblVgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:266,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pTriggerDb
    - pTriggerTblName
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: ParserTest::setCreateStreamTriggerName
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerName(SCMCreateStreamReq *expect, const char*
      pTriggerDb, const char* pTriggerTblName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setCreateStreamTriggerName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:272,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:273,1
    - Dst: ParserTest::setCreateStreamTriggerTblUid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:274,1
    - Dst: ParserTest::setCreateStreamTriggerTableType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:275,1
    - Dst: ParserTest::setCreateStreamTriggerTableSuid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:276,1
    - Dst: ParserTest::setCreateStreamTriggerTblVgid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 8
    argNames:
    - expect
    - pTriggerDb
    - pTriggerTblName
    - triggerType
    - triggerTblType
    - triggerTblUid
    - triggerTblSuid
    - triggerTblVgid
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    - int8_t
    - int8_t
    - uint64_t
    - uint64_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: ParserTest::setCreateStreamTriggerTable
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerTblVgid
    - ParserTest::setCreateStreamTriggerTableType
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::setCreateStreamTriggerTableSuid
    - ParserTest::setCreateStreamTriggerName
    - ParserTest::setCreateStreamTriggerTblUid
    linkageType: ''
    returnType: void
    signature: "void setCreateStreamTriggerTable(SCMCreateStreamReq *expect, const
      char* pTriggerDb, const char* pTriggerTblName,\n                                int8_t
      triggerType, int8_t triggerTblType, uint64_t triggerTblUid, uint64_t triggerTblSuid,
      int8_t triggerTblVgid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:282,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pOutDb
    - pOutTbleName
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: ParserTest::setCreateStreamOutName
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutName(SCMCreateStreamReq *expect, const char*
      pOutDb, const char* pOutTbleName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - outTblType
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: ParserTest::setCreateStreamOutTblType
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutTblType(SCMCreateStreamReq *expect, int8_t outTblType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - outStbExists
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: ParserTest::setCreateStreamOutStbExists
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutStbExists(SCMCreateStreamReq *expect, int8_t
      outStbExists)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - outStbUid
    argTypes:
    - SCMCreateStreamReq*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: ParserTest::setCreateStreamOutStbUid
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutStbUid(SCMCreateStreamReq *expect, uint64_t
      outStbUid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - outStbSversion
    argTypes:
    - SCMCreateStreamReq*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: ParserTest::setCreateStreamOutStbSversion
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutStbSversion(SCMCreateStreamReq *expect, int32_t
      outStbSversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - outTblVgid
    argTypes:
    - SCMCreateStreamReq*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: ParserTest::setCreateStreamOutTbleVgid
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutTbleVgid(SCMCreateStreamReq *expect, int32_t
      outTblVgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setCreateStreamOutName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:308,1
    - Dst: ParserTest::setCreateStreamOutTblType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:309,1
    - Dst: ParserTest::setCreateStreamOutStbExists
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:310,1
    - Dst: ParserTest::setCreateStreamOutStbUid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:311,1
    - Dst: ParserTest::setCreateStreamOutStbSversion
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:312,1
    - Dst: ParserTest::setCreateStreamOutTbleVgid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 8
    argNames:
    - expect
    - pOutDb
    - pOutTbleName
    - outTblType
    - outStbExists
    - outStbUid
    - outStbSversion
    - outTblVgid
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    - int8_t
    - int8_t
    - uint64_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: ParserTest::setCreateStreamOutTable
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamOutStbSversion
    - ParserTest::setCreateStreamOutStbExists
    - ParserTest::setCreateStreamOutName
    - ParserTest::setCreateStreamOutTblType
    - ParserTest::setCreateStreamOutTbleVgid
    - ParserTest::setCreateStreamOutStbUid
    linkageType: ''
    returnType: void
    signature: "void setCreateStreamOutTable(SCMCreateStreamReq *expect, const char*
      pOutDb, const char* pOutTbleName, int8_t outTblType,\n                            int8_t
      outStbExists, uint64_t outStbUid, int32_t outStbSversion, int32_t outTblVgid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:320,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:321,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:323,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:326,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:327,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:328,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - expect
    - pCalcDb
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: ParserTest::setCreateStreamCalcDb
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayGet
    - taosArrayInit
    - ASSERT_TRUE
    - taosArrayDestroy
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamCalcDb(SCMCreateStreamReq *expect, const char*
      pCalcDb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:333,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - expect
    - pSql
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: ParserTest::setCreateStreamSql
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamSql(SCMCreateStreamReq *expect, const char* pSql)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - igExists
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: ParserTest::setCreateStreamIgExists
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamIgExists(SCMCreateStreamReq *expect, int8_t igExists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setCreateStreamStreamName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:344,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:345,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:346,1
    - Dst: ParserTest::setCreateStreamIgExists
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - expect
    - pStream
    - pStreamDb
    - pCalcDb
    - pSql
    - igExists
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    - char*
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: ParserTest::setCreateStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::setCreateStreamIgExists
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamStreamName
    linkageType: ''
    returnType: void
    signature: "void setCreateStreamReq(SCMCreateStreamReq *expect, const char* pStream,
      const char* pStreamDb, const char* pCalcDb,\n                       const char*
      pSql, int8_t igExists)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:352,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - expect
    - pTriggerScanPlan
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: ParserTest::setCreateStreamTriggerScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerScanPlan(SCMCreateStreamReq *expect, const
      char* pTriggerScanPlan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:359,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - expect
    - pStreamQueryCalcPlan
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: ParserTest::setCreateStreamQueryCalcPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamQueryCalcPlan(SCMCreateStreamReq *expect, const
      char* pStreamQueryCalcPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pSubTblNameExpr
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: ParserTest::setCreateStreamSubTblNameExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamSubTblNameExpr(SCMCreateStreamReq *expect, const
      char* pSubTblNameExpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: ParserTest::resetCreateStreamSubTblNameExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamSubTblNameExpr(SCMCreateStreamReq *expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:374,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - expect
    - pTagValueExpr
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: ParserTest::setCreateStreamTagValueExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTagValueExpr(SCMCreateStreamReq *expect, const
      char* pTagValueExpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: ParserTest::resetCreateStreamTagValueExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamTagValueExpr(SCMCreateStreamReq *expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - igDisorder
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: ParserTest::setCreateStreamIgDisorder
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamIgDisorder(SCMCreateStreamReq *expect, int8_t igDisorder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - deleteReCalc
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: ParserTest::setCreateStreamDeleteReCalc
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamDeleteReCalc(SCMCreateStreamReq *expect, int8_t
      deleteReCalc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - deleteOutTbl
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: ParserTest::setCreateStreamDeleteOutTbl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamDeleteOutTbl(SCMCreateStreamReq *expect, int8_t
      deleteOutTbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - fillHistory
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: ParserTest::setCreateStreamFillHistory
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamFillHistory(SCMCreateStreamReq *expect, int8_t
      fillHistory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - fillHistoryFirst
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: ParserTest::setCreateStreamFillHistoryFirst
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamFillHistoryFirst(SCMCreateStreamReq *expect, int8_t
      fillHistoryFirst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - calcNotifyOnly
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: ParserTest::setCreateStreamCalcNotifyOnly
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamCalcNotifyOnly(SCMCreateStreamReq *expect, int8_t
      calcNotifyOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - lowLatencyCalc
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: ParserTest::setCreateStreamLowLatencyCalc
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamLowLatencyCalc(SCMCreateStreamReq *expect, int8_t
      lowLatencyCalc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - maxDelay
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: ParserTest::setCreateStreamMaxDelay
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamMaxDelay(SCMCreateStreamReq *expect, int64_t maxDelay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - fillHistoryStartTime
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: ParserTest::setCreateStreamFillHistoryStartTime
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamFillHistoryStartTime(SCMCreateStreamReq *expect,
      int64_t fillHistoryStartTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - watermark
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: ParserTest::setCreateStreamWatermark
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamWatermark(SCMCreateStreamReq *expect, int64_t watermark)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - expiredTime
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: ParserTest::setCreateStreamExpiredTime
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamExpiredTime(SCMCreateStreamReq *expect, int64_t
      expiredTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - eventTypes
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: ParserTest::setCreateStreamEventTypes
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamEventTypes(SCMCreateStreamReq *expect, int64_t
      eventTypes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - idleTimeoutMs
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: ParserTest::setCreateStreamIdleTimeout
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamIdleTimeout(SCMCreateStreamReq *expect, int64_t
      idleTimeoutMs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - flags
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: ParserTest::setCreateStreamFlags
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamFlags(SCMCreateStreamReq *expect, int64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - tsmaId
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: ParserTest::setCreateStreamTsmaId
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTsmaId(SCMCreateStreamReq *expect, int64_t tsmaId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - placeHolderBitmap
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: ParserTest::setCreateStreamPlaceHolderBitmap
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamPlaceHolderBitmap(SCMCreateStreamReq *expect, int64_t
      placeHolderBitmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - calcTsSlotId
    argTypes:
    - SCMCreateStreamReq*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: ParserTest::setCreateStreamCalcTsSlotId
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamCalcTsSlotId(SCMCreateStreamReq *expect, int16_t
      calcTsSlotId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setCreateStreamIgDisorder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:456,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:457,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:458,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:459,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:460,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:461,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:462,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:463,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:464,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:465,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:466,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:467,1
    - Dst: ParserTest::setCreateStreamFlags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:468,1
    - Dst: ParserTest::setCreateStreamTsmaId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:469,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:470,1
    - Dst: ParserTest::setCreateStreamCalcTsSlotId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 18
    argNames:
    - expect
    - igExists
    - igDisorder
    - deleteReCalc
    - deleteOutTbl
    - fillHistory
    - fillHistoryFirst
    - calcNotifyOnly
    - lowLatencyCalc
    - maxDelay
    - fillHistoryStartTime
    - watermark
    - expiredTime
    - eventTypes
    - flags
    - tsmaId
    - placeHolderBitmap
    - tsSlotId
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 472
    functionName: ParserTest::setCreateStreamOption
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamLowLatencyCalc
    - ParserTest::setCreateStreamIgDisorder
    - ParserTest::setCreateStreamExpiredTime
    - ParserTest::setCreateStreamDeleteReCalc
    - ParserTest::setCreateStreamEventTypes
    - ParserTest::setCreateStreamFlags
    - ParserTest::setCreateStreamTsmaId
    - ParserTest::setCreateStreamCalcTsSlotId
    - ParserTest::setCreateStreamWatermark
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - ParserTest::setCreateStreamCalcNotifyOnly
    - ParserTest::setCreateStreamFillHistoryStartTime
    - ParserTest::setCreateStreamFillHistory
    - ParserTest::setCreateStreamMaxDelay
    - ParserTest::setCreateStreamDeleteOutTbl
    - ParserTest::setCreateStreamFillHistoryFirst
    linkageType: ''
    returnType: void
    signature: "void setCreateStreamOption(SCMCreateStreamReq *expect, int8_t igExists,
      int8_t igDisorder, int8_t deleteReCalc,\n                          int8_t deleteOutTbl,
      int8_t fillHistory, int8_t fillHistoryFirst, int8_t calcNotifyOnly, int8_t lowLatencyCalc,\n
      \                         int64_t maxDelay, int64_t fillHistoryStartTime, int64_t
      watermark, int64_t expiredTime,\n                          int64_t eventTypes,
      int64_t flags, int64_t tsmaId, int64_t placeHolderBitmap, int16_t tsSlotId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:477,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:484,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:485,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:487,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - expect
    - name
    - type
    - flag
    - bytes
    - compress
    - typeMod
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - uint8_t
    - int8_t
    - int32_t
    - uint32_t
    - STypeMod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 488
    functionName: ParserTest::addCreateStreamOutCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - strcpy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void addCreateStreamOutCols(SCMCreateStreamReq *expect, const char*
      name, uint8_t type, int8_t flag, int32_t bytes, uint32_t compress, STypeMod
      typeMod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: ParserTest::resetCreateStreamOutCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamOutCols(SCMCreateStreamReq *expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:499,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:506,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:507,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:509,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - expect
    - name
    - type
    - flag
    - bytes
    - compress
    - typeMod
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - uint8_t
    - int8_t
    - int32_t
    - uint32_t
    - STypeMod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 510
    functionName: ParserTest::addCreateStreamOutTags
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - strcpy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void addCreateStreamOutTags(SCMCreateStreamReq *expect, const char*
      name, uint8_t type, int8_t flag, int32_t bytes, uint32_t compress, STypeMod
      typeMod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: ParserTest::resetCreateStreamOutTags
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamOutTags(SCMCreateStreamReq *expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pCols
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: ParserTest::setCreateStreamTriggerCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerCols(SCMCreateStreamReq *expect, const char*
      pCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 528
    functionName: ParserTest::resetCreateStreamTriggerCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamTriggerCols(SCMCreateStreamReq *expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: ParserTest::resetCreateStreamPartitionCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamPartitionCols(SCMCreateStreamReq *expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::resetCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:537,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - expect
    - pCols
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: ParserTest::setCreateStreamPartitionCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::resetCreateStreamPartitionCols
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamPartitionCols(SCMCreateStreamReq *expect, const
      char* pCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 10
    argNames:
    - expect
    - intervalUnit
    - slidingUnit
    - offsetUnit
    - soffsetUnit
    - precision
    - interval
    - offset
    - sliding
    - soffset
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 564
    functionName: ParserTest::setCreateStreamTriggerSliding
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setCreateStreamTriggerSliding(SCMCreateStreamReq *expect, int8_t
      intervalUnit, int8_t slidingUnit,\n  int8_t offsetUnit, int8_t soffsetUnit,
      int8_t precision, int64_t interval, int64_t offset, int64_t sliding,\n  int64_t
      soffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pSessionVal
    - slotId
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: ParserTest::setCreateStreamTriggerSession
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerSession(SCMCreateStreamReq *expect,int64_t
      pSessionVal, int16_t slotId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - countVal
    - sliding
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: ParserTest::setCreateStreamTriggerCount
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerCount(SCMCreateStreamReq *expect, int64_t
      countVal, int64_t sliding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:577,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - expect
    - startCond
    - endCond
    - trueForDuration
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: ParserTest::setCreateStreamTriggerEvent
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerEvent(SCMCreateStreamReq *expect, const
      char* startCond, const char* endCond, int64_t trueForDuration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - slotId
    - trueForDuration
    argTypes:
    - SCMCreateStreamReq*
    - int16_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: ParserTest::setCreateStreamTriggerState
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerState(SCMCreateStreamReq *expect, int16_t
      slotId, int64_t trueForDuration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - expect
    - offsetUnit
    - periodUnit
    - precision
    - offset
    - period
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    - int8_t
    - int8_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: ParserTest::setCreateStreamTriggerPeriod
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerPeriod(SCMCreateStreamReq *expect, int8_t
      offsetUnit, int8_t periodUnit, int8_t precision, int64_t offset, int64_t period)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:597,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:598,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:600,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:601,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - expect
    - pUrl
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: ParserTest::addCreateStreamNotifyUrl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - taosArrayPush
    - taosStrdup
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void addCreateStreamNotifyUrl(SCMCreateStreamReq *expect, const char*
      pUrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - expect
    - notifyEventTypes
    - notifyErrorHandle
    - notifyHistory
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: ParserTest::setCreateStreamNotify
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamNotify(SCMCreateStreamReq *expect, int8_t notifyEventTypes,
      int8_t notifyErrorHandle, int8_t notifyHistory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:616,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:618,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:619,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:621,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - expect
    - type
    - precision
    - scale
    - bytes
    - expr
    argTypes:
    - SCMCreateStreamReq*
    - uint8_t
    - uint8_t
    - uint8_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 622
    functionName: ParserTest::setCreateStreamForceOutputCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - taosArrayPush
    - taosArrayInit
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamForceOutputCols(SCMCreateStreamReq *expect, uint8_t
      type, uint8_t precision, uint8_t scale, int32_t bytes, const char* expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: ParserTest::destroyStreamCalcScan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destroyStreamCalcScan(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 634
    functionName: ParserTest::resetCreateStreamQueryScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamQueryScanPlan(SCMCreateStreamReq *expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:639,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:641,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:642,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:644,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - expect
    - readFromCache
    - pStreamQueryScanPlan
    argTypes:
    - SCMCreateStreamReq*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 645
    functionName: ParserTest::addCreateStreamQueryScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - taosArrayPush
    - taosArrayInit
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void addCreateStreamQueryScanPlan(SCMCreateStreamReq *expect, bool
      readFromCache, const char* pStreamQueryScanPlan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:650,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:657,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:658,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:660,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:666,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:667,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:669,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - node
    - fieldName
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 672
    functionName: ParserTest::delete_all_specified_fields
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::delete_all_specified_fields
    - cJSON_IsObject
    - cJSON_GetArrayItem
    - cJSON_GetArraySize
    - cJSON_IsArray
    - cJSON_DeleteItemFromObject
    - strcmp
    linkageType: ''
    returnType: void
    signature: void delete_all_specified_fields(cJSON* node, const char* fieldName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:675,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:676,1
    - Dst: printf
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:679,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:680,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:684,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:685,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:687,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:688,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:690,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:691,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:693,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:694,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:696,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:697,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:699,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:700,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:702,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:702,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:702,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:704,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:705,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:706,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 708
    functionName: ParserTest::checkCreateStreamTriggerScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::delete_all_specified_fields
    - std::string
    - printf
    - cJSON_PrintUnformatted
    - ASSERT_EQ
    - free
    - ASSERT_TRUE
    - cJSON_Delete
    - cJSON_Parse
    linkageType: ''
    returnType: void
    signature: void checkCreateStreamTriggerScanPlan(SCMCreateStreamReq *expect, SCMCreateStreamReq
      *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:711,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:712,1
    - Dst: printf
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:715,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:716,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:720,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:721,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:723,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:724,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:726,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:727,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:729,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:730,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:732,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:732,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:732,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:734,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:735,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:736,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 738
    functionName: ParserTest::checkCreateStreamCalcPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::delete_all_specified_fields
    - std::string
    - printf
    - cJSON_PrintUnformatted
    - ASSERT_EQ
    - free
    - ASSERT_TRUE
    - cJSON_Delete
    - cJSON_Parse
    linkageType: ''
    returnType: void
    signature: void checkCreateStreamCalcPlan(SCMCreateStreamReq *expect, SCMCreateStreamReq
      *req)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:743,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:744,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:744,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:744,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:745,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:745,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:745,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:746,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:746,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:746,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:747,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:747,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:747,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:748,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:748,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:748,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:749,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:749,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:749,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:750,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:750,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:750,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:751,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:751,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:751,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:752,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:753,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:754,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:755,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:755,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:755,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:759,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:760,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:761,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:762,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:763,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:764,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:765,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:766,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:767,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:771,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:773,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:774,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:774,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:774,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:775,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:776,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:777,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:778,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:778,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:778,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:782,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:783,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:784,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:787,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:789,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:789,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:789,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:793,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:795,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:796,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:796,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:796,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:799,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:799,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:799,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:800,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:801,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:802,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:803,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:804,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:805,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:806,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:807,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:808,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:808,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:808,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:811,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:811,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:811,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:812,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:813,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:814,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:815,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:816,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:817,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:818,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:819,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:820,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:820,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:820,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:823,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:824,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:825,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:826,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:830,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:831,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:832,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:833,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:834,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:835,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:836,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:837,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:838,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:842,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:843,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:847,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:848,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:852,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:852,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:852,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:853,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:853,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:853,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:854,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:858,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:859,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:863,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:864,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:865,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:866,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:867,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:871,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:874,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:875,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:876,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:877,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:878,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:879,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:880,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:881,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:882,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:883,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:884,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:885,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:888,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:889,1
    - Dst: ParserTest::checkCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:891,1
    - Dst: ParserTest::checkCreateStreamCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:892,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:894,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:894,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:894,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:895,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:896,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:897,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:898,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:899,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:899,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:899,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:903,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:905,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:906,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:906,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:906,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:910,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:912,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:913,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:913,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:913,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:917,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:919,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:920,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:920,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:920,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:921,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:922,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:923,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:924,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:925,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:926,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:927,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:929,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:929,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:929,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 160
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 740
    functionDepth: 3
    functionLinenumber: 740
    functionLinenumberEnd: 933
    functionName: ParserTest::checkCreateStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - ParserTest::checkCreateStreamTriggerScanPlan
    - ParserTest::checkCreateStreamCalcPlan
    - ASSERT_NE
    - std::string
    - BIT_FLAG_TEST_MASK
    - ASSERT_EQ
    - taosArrayGetSize
    - ASSERT_TRUE
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void checkCreateStreamReq(SCMCreateStreamReq *expect, SCMCreateStreamReq
      *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:936,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:940,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:941,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:944,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:945,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:945,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:947,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:948,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:949,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:950,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:953,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:955,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:957,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:959,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:960,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:961,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:962,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:963,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:964,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:965,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:966,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:968,1
    - Dst: ParserTest::setCreateStreamStreamName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:971,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:972,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:973,1
    - Dst: ParserTest::setCreateStreamStreamName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:976,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:977,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:978,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:981,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:982,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:983,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:984,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:985,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:988,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:989,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:989,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:990,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:991,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:992,1
    - Dst: ParserTest::setCreateStreamOutName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:995,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:996,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:997,1
    - Dst: ParserTest::setCreateStreamOutName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1000,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1001,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1002,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1005,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1006,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1007,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1008,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1009,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1010,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1013,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1014,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1015,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1016,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1017,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 935
    functionDepth: 4
    functionLinenumber: 935
    functionLinenumberEnd: 1020
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - nodeType
    - ASSERT_EQ
    - memset
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - clearCreateStreamReq
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::resetCreateStreamQueryScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamStreamName
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamOutName
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1023,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1027,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1028,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1031,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1032,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1032,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1034,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1035,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1036,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1037,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1040,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1042,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1044,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1046,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1047,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1048,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1049,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1050,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1051,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1052,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1053,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1055,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1058,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1059,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1060,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1062,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1063,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1064,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1065,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1068,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1069,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1070,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1072,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1073,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1074,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1075,1
    - Dst: ParserTest::setCreateStreamIgDisorder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1078,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1079,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1080,1
    - Dst: ParserTest::setCreateStreamIgDisorder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1081,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1084,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1085,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1086,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1087,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1090,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1091,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1092,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1093,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1096,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1097,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1098,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1099,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1100,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1101,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1104,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1105,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1106,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1107,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1108,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1109,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1112,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1113,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1114,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1115,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1118,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1119,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1120,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1121,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1131,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1132,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1133,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1135,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1136,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1137,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1138,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1141,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1142,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1143,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1145,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1146,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1147,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1149,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1150,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1151,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1154,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1155,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1156,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1157,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1158,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1159,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1160,1
    - Dst: ParserTest::setCreateStreamIdleTimeout
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1161,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1162,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1163,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1164,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1166,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1167,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1168,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1170,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1171,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1172,1
    - Dst: ParserTest::setCreateStreamIdleTimeout
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1174,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1022
    functionDepth: 4
    functionLinenumber: 1022
    functionLinenumberEnd: 1177
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamExpiredTime
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::resetCreateStreamOutCols
    - nodeType
    - ASSERT_EQ
    - memset
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamLowLatencyCalc
    - clearCreateStreamReq
    - ParserTest::setCreateStreamWatermark
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamFillHistory
    - ParserTest::setCreateStreamCalcNotifyOnly
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::setCreateStreamFillHistoryFirst
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamIdleTimeout
    - ParserTest::setCreateStreamIgDisorder
    - ParserTest::setCreateStreamEventTypes
    - ParserTest::setCreateStreamDeleteReCalc
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamFillHistoryStartTime
    - ParserTest::setCreateStreamMaxDelay
    - ParserTest::setCreateStreamDeleteOutTbl
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestTriggerOption)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1180,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1184,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1185,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1188,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1189,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1189,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1191,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1192,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1193,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1194,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1197,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1198,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1199,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1200,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1201,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1202,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1203,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1204,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1205,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1206,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1207,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1209,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1212,1
    - Dst: ParserTest::setCreateStreamTriggerSession
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1213,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1214,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1215,1
    - Dst: ParserTest::setCreateStreamTriggerSession
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1217,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1218,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1219,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1223,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1224,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1225,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1226,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1227,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1228,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1230,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1231,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1232,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1233,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1234,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1236,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1237,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1238,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1240,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1241,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1242,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1245,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1246,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1247,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1248,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1249,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1250,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1252,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1253,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1254,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1256,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1257,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1258,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1260,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1261,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1262,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1265,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1266,1
    - Dst: ParserTest::setCreateStreamTriggerEvent
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1267,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1271,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1272,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1273,1
    - Dst: ParserTest::setCreateStreamTriggerEvent
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1275,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1279,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1280,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1284,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1285,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1286,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1287,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1288,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1289,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1291,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1292,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1293,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1294,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1296,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1297,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1298,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1299,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1300,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1302,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1303,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1304,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1305,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1306,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1309,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1310,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1311,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1312,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1313,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1314,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1316,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1317,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1318,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1179
    functionDepth: 4
    functionLinenumber: 1179
    functionLinenumberEnd: 1321
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - nodeType
    - ASSERT_EQ
    - memset
    - ParserTest::setCreateStreamTriggerPeriod
    - ParserTest::setCreateStreamTriggerState
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamTriggerEvent
    - clearCreateStreamReq
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamTriggerSession
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamTriggerCount
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::resetCreateStreamTriggerCols
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestTriggerType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1324,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1325,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1329,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1330,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1333,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1334,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1334,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1336,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1337,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1338,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1339,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1342,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1343,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1344,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1345,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1346,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1347,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1348,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1349,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1350,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1351,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1352,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1353,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1354,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1355,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1356,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1357,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1360,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1361,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1362,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1363,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1364,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1365,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1366,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1367,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1368,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1369,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1323
    functionDepth: 4
    functionLinenumber: 1323
    functionLinenumberEnd: 1372
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - nodeType
    - ASSERT_EQ
    - memset
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - ParserTest::addCreateStreamOutTags
    - clearCreateStreamReq
    - ParserTest::setAsyncFlag
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamTagValueExpr
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamSubTblNameExpr
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestTriggerPartition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1375,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1379,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1380,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1383,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1384,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1384,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1386,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1387,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1388,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1389,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1392,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1393,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1394,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1395,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1396,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1397,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1398,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1399,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1400,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1401,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1402,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1404,1
    - Dst: ParserTest::addCreateStreamNotifyUrl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1407,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1408,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1409,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1410,1
    - Dst: ParserTest::addCreateStreamNotifyUrl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1412,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1413,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1414,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1415,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1418,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1419,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1420,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1422,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1423,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1424,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1426,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1427,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1428,1
    - Dst: ParserTest::setCreateStreamIdleTimeout
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1431,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1432,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1433,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1434,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1436,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1437,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1438,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1440,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1441,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1442,1
    - Dst: ParserTest::setCreateStreamIdleTimeout
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1444,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1450,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1451,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1452,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1374
    functionDepth: 4
    functionLinenumber: 1374
    functionLinenumberEnd: 1455
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamNotify
    - nodeType
    - ASSERT_EQ
    - memset
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - clearCreateStreamReq
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamIdleTimeout
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::addCreateStreamNotifyUrl
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestNotify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1458,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1459,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1463,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1464,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1468,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1468,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1470,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1471,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1472,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1473,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1476,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1477,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1478,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1479,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1480,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1481,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1482,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1483,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1484,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1485,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1486,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1488,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1491,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1492,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1493,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1494,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1495,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1496,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1497,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1498,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1499,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1500,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1501,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1503,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1504,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1505,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1506,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1507,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1508,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1509,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1510,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1511,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1512,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1513,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1514,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1515,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1516,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1517,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1518,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1519,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1520,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1521,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1523,1
    - Dst: ParserTest::resetCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1524,1
    - Dst: ParserTest::resetCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1525,1
    - Dst: ParserTest::resetCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1526,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1527,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1528,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1529,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1530,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1533,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1534,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1535,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1536,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1537,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1538,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1539,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1540,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1541,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1542,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1545,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1546,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1547,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1548,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1549,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1550,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1551,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1554,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1555,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1556,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1557,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1558,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1559,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1560,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1561,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1562,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1563,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1564,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1457
    functionDepth: 4
    functionLinenumber: 1457
    functionLinenumberEnd: 1567
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::resetCreateStreamPartitionCols
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::resetCreateStreamOutCols
    - nodeType
    - ASSERT_EQ
    - memset
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - ParserTest::addCreateStreamOutTags
    - clearCreateStreamReq
    - ParserTest::setAsyncFlag
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - ParserTest::setCreateStreamTagValueExpr
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::resetCreateStreamTagValueExpr
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::resetCreateStreamSubTblNameExpr
    - ParserTest::setCreateStreamSubTblNameExpr
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestOutTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1570,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1571,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1576,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1577,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1578,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1579,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1582,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1583,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1583,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1585,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1586,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1587,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1588,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1591,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1592,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1593,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1594,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1595,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1596,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1597,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1598,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1599,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1600,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1601,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1602,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1603,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1604,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1605,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1606,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1610,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1611,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1612,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1613,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1614,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1615,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1616,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1617,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1620,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1621,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1622,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1623,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1624,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1625,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1626,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1629,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1630,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1631,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1632,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1633,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1634,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1635,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1638,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1639,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1640,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1641,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1642,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1643,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1644,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1645,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1648,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1649,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1650,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1651,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1652,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1653,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1654,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1657,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1658,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1659,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1660,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1661,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1662,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1663,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1664,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1667,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1668,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1669,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1670,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1671,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1672,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1673,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1674,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1677,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1678,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1679,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1680,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1681,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1682,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1683,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1684,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1685,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1686,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1687,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1691,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1692,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1693,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1694,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1695,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1696,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1697,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1698,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1699,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1700,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1703,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1704,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1705,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1706,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1707,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1708,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1709,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1710,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1711,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1712,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1713,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1716,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1717,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1718,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1719,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1720,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1721,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1722,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1723,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1727,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1728,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1729,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1730,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1731,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1732,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1733,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1734,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1735,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1736,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1737,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1738,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1739,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1740,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1741,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1742,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1746,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1747,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1748,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1749,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1750,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1751,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1752,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1753,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1754,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1755,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1756,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1757,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1759,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1760,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1761,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1762,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1763,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1764,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1765,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1766,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1767,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1768,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1769,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1770,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1771,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1775,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1776,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1777,1
    - Dst: ParserTest::setCreateStreamCalcTsSlotId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1778,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1779,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1780,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1781,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1782,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1783,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1785,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1786,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1787,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1788,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1789,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1792,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1793,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1793,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1795,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1796,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1797,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1798,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1800,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1801,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1802,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1803,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1804,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1805,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1806,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1807,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1808,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1809,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1810,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1811,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1812,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1813,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1814,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1815,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1816,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1817,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1819,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1820,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1821,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1822,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1823,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1824,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 209
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1569
    functionDepth: 4
    functionLinenumber: 1569
    functionLinenumberEnd: 1827
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::resetCreateStreamOutCols
    - nodeType
    - ASSERT_EQ
    - memset
    - ParserTest::setCreateStreamTriggerPeriod
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - ParserTest::addCreateStreamOutTags
    - clearCreateStreamReq
    - ParserTest::setAsyncFlag
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamCalcTsSlotId
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - ParserTest::setCreateStreamTagValueExpr
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamSubTblNameExpr
    - ParserTest::resetCreateStreamTriggerCols
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1830,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1831,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1833,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1834,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1835,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1835,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1838,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1839,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1839,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1841,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1842,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1842,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1844,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1845,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1848,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1848,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1849,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1852,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1852,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1853,1
    - Dst: ParserTest::pstFindExternalWindowNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1855,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1856,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1857,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1859,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1860,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1829
    functionDepth: 5
    functionLinenumber: 1829
    functionLinenumberEnd: 1866
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSCMCreateStreamReq
    - ParserTest::pstFindExternalWindowNode
    - ParserTest::setAsyncFlag
    - run
    - nodesStringToNode
    - setCheckDdlFunc
    - ASSERT_NE
    - EXPECT_TRUE
    - nodeType
    - ASSERT_EQ
    - useDb
    - nodesDestroyNode
    - tDeserializeSCMCreateStreamReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestQueryFromPartTbnamePlaceholder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1869,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1870,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1872,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1873,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1868
    functionDepth: 6
    functionLinenumber: 1868
    functionLinenumberEnd: 1881
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinAggSubqueries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1884,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1885,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1887,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1888,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowNeedCalcTimeRangeCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1889,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1883
    functionDepth: 6
    functionLinenumber: 1883
    functionLinenumberEnd: 1898
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowNeedCalcTimeRangeCount
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinAggSubqueriesByTwend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1901,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1902,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1904,1
    - Dst: ParserTest::pstCheckCreateStreamSelectTimeRange
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1905,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1900
    functionDepth: 3
    functionLinenumber: 1900
    functionLinenumberEnd: 1913
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - ParserTest::pstCheckCreateStreamSelectTimeRange
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinAggSubqueriesByTwendAddsOuterTimeRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1916,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1917,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1919,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1920,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1915
    functionDepth: 6
    functionLinenumber: 1915
    functionLinenumberEnd: 1928
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowLeftJoinAggSubqueriesDisabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1931,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1932,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1934,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1935,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1930
    functionDepth: 6
    functionLinenumber: 1930
    functionLinenumberEnd: 1946
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowThreeInnerJoinAggSubqueries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1949,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1950,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1952,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1953,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1948
    functionDepth: 6
    functionLinenumber: 1948
    functionLinenumberEnd: 1961
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinNonWindowKeyDisabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1964,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1965,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1967,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1968,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1963
    functionDepth: 6
    functionLinenumber: 1963
    functionLinenumberEnd: 1976
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinParentLimitDisablesAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1979,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1980,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1982,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1983,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1978
    functionDepth: 6
    functionLinenumber: 1978
    functionLinenumberEnd: 1992
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinChildPlaceholderDisablesAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1995,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1996,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1998,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1999,1
    - Dst: ParserTest::pstCheckCreateStreamSelectTimeRange
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2000,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1994
    functionDepth: 6
    functionLinenumber: 1994
    functionLinenumberEnd: 2010
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - ParserTest::pstCheckCreateStreamSelectTimeRange
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinChildLimitKeepsOuterTimeRangeEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2013,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2014,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2016,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2017,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2012
    functionDepth: 6
    functionLinenumber: 2012
    functionLinenumberEnd: 2023
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinBaseTableDisabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2026,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2027,1
    - Dst: createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2030,1
    - Dst: done
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2034,1
    - Dst: createSubTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2035,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2037,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2025
    functionDepth: 1
    functionLinenumber: 2025
    functionLinenumberEnd: 2044
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    - createSubTable
    - useDb
    - createTableBuilder
    - done
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestOutTagExprSpecialCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2047,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2051,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2052,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2055,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2056,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2057,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2046
    functionDepth: 1
    functionLinenumber: 2046
    functionLinenumberEnd: 2060
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2063,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2066,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2071,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2074,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2077,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2078,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2079,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2084,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2087,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2090,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2091,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2092,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2093,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2098,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2099,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2102,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2103,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2106,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2107,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2108,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2109,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2110,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2111,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2114,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2117,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2120,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2123,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2126,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2131,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2134,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2135,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2136,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2139,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2142,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2143,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2144,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2145,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2149,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2150,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2153,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2156,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2159,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2162,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2163,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2164,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2165,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2170,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2171,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2176,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2177,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2180,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2181,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2182,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2183,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2062
    functionDepth: 1
    functionLinenumber: 2062
    functionLinenumberEnd: 2185
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorTriggerWindow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2188,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2187
    functionDepth: 1
    functionLinenumber: 2187
    functionLinenumberEnd: 2195
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorTriggerTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2198,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2201,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2197
    functionDepth: 1
    functionLinenumber: 2197
    functionLinenumberEnd: 2205
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorTriggerPartition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2208,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2211,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2212,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2213,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2214,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2215,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2218,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2221,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2222,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2223,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2224,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2225,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2228,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2229,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2233,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2236,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2239,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2207
    functionDepth: 1
    functionLinenumber: 2207
    functionLinenumberEnd: 2242
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorTriggerstream_options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2245,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2248,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2251,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2254,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2257,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2258,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2261,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2244
    functionDepth: 1
    functionLinenumber: 2244
    functionLinenumberEnd: 2265
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorNotify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2268,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2271,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2274,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2275,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2278,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2281,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2284,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2287,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2292,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2295,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2298,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2299,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2302,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2305,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2310,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2311,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2312,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2315,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2317,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2319,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2267
    functionDepth: 1
    functionLinenumber: 2267
    functionLinenumberEnd: 2323
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorOutTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2326,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2329,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2332,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2335,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2338,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2339,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2342,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2343,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2346,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2347,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2350,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2351,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2354,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2357,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2360,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2363,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2366,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2369,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2325
    functionDepth: 1
    functionLinenumber: 2325
    functionLinenumberEnd: 2372
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorQueryPlaceHolder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2375,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2379,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2382,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2385,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2388,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2392,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2395,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2398,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2401,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2404,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2407,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2410,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2413,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2417,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2418,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2419,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2374
    functionDepth: 1
    functionLinenumber: 2374
    functionLinenumberEnd: 2423
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestPeriodOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2427,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2430,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2433,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2436,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2439,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2442,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2445,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2448,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2452
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestIdleTimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2456,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2459,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2463,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2467,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2471,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2475,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2479,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2483,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2487,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2491,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2497
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestIdleTimeoutValidation)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:34,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:35,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:40,1
    - Dst: ParserTest::pstFindExternalWindowNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: ParserTest::pstFindExternalWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 4
    functionsReached:
    - nodeType
    - FOREACH
    - ParserTest::pstFindExternalWindowNode
    linkageType: ''
    returnType: SExternalWindowPhysiNode
    signature: SExternalWindowPhysiNode * pstFindExternalWindowNode(const SPhysiNode*
      pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:56,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:59,1
    - Dst: ParserTest::pstFindExternalWindowNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: ParserTest::pstFindExternalWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 5
    functionsReached:
    - FOREACH
    - ParserTest::pstFindExternalWindowNode
    linkageType: ''
    returnType: SExternalWindowPhysiNode
    signature: SExternalWindowPhysiNode * pstFindExternalWindowNode(const SQueryPlan*
      pPlan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:76,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:77,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:82,1
    - Dst: ParserTest::pstCountExternalWindowNodes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: ParserTest::pstCountExternalWindowNodes
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 4
    functionsReached:
    - nodeType
    - FOREACH
    - ParserTest::pstCountExternalWindowNodes
    linkageType: ''
    returnType: int32_t
    signature: int32_t pstCountExternalWindowNodes(const SPhysiNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:94,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:97,1
    - Dst: ParserTest::pstCountExternalWindowNodes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: ParserTest::pstCountExternalWindowNodes
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 5
    functionsReached:
    - FOREACH
    - ParserTest::pstCountExternalWindowNodes
    linkageType: ''
    returnType: int32_t
    signature: int32_t pstCountExternalWindowNodes(const SQueryPlan* pPlan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:112,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:113,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:120,1
    - Dst: ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 4
    functionsReached:
    - nodeType
    - FOREACH
    - ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t pstCountExternalWindowNodesNeedCalcTimeRange(const SPhysiNode*
      pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:132,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:135,1
    - Dst: ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 142
    functionName: ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 5
    functionsReached:
    - FOREACH
    - ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t pstCountExternalWindowNodesNeedCalcTimeRange(const SQueryPlan*
      pPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:145,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:146,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:146,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:149,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:149,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:151,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:154,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:154,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:156,1
    - Dst: ParserTest::pstCountExternalWindowNodes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pQuery
    - stage
    - expectedCount
    argTypes:
    - SQuery*
    - ParserStage
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 160
    functionName: ParserTest::pstCheckCalcPlanExternalWindowCount
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 9
    functionsReached:
    - nodesStringToNode
    - ASSERT_NE
    - EXPECT_EQ
    - nodeType
    - ASSERT_EQ
    - ParserTest::pstCountExternalWindowNodes
    - tDeserializeSCMCreateStreamReq
    linkageType: ''
    returnType: void
    signature: void pstCheckCalcPlanExternalWindowCount(const SQuery* pQuery, ParserStage
      stage, int32_t expectedCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:164,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:165,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:168,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:168,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:173,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:173,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:175,1
    - Dst: ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:177,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pQuery
    - stage
    - expectedCount
    argTypes:
    - SQuery*
    - ParserStage
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: ParserTest::pstCheckCalcPlanExternalWindowNeedCalcTimeRangeCount
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - nodesStringToNode
    - ASSERT_NE
    - EXPECT_EQ
    - nodeType
    - ASSERT_EQ
    - ParserTest::pstCountExternalWindowNodesNeedCalcTimeRange
    - tDeserializeSCMCreateStreamReq
    linkageType: ''
    returnType: void
    signature: "void pstCheckCalcPlanExternalWindowNeedCalcTimeRangeCount(const SQuery*
      pQuery, ParserStage stage,\n                                                                 int32_t
      expectedCount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:182,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:183,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:183,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:186,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:187,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pQuery
    - stage
    argTypes:
    - SQuery*
    - ParserStage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: ParserTest::pstGetCreateStreamSelect
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - nodeType
    - EXPECT_EQ
    - EXPECT_NE
    linkageType: ''
    returnType: SSelectStmt
    signature: SSelectStmt * pstGetCreateStreamSelect(const SQuery* pQuery, ParserStage
      stage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::pstGetCreateStreamSelect
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:193,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:194,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:197,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:201,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:202,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:202,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pQuery
    - stage
    - expectedPresent
    argTypes:
    - SQuery*
    - ParserStage
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: ParserTest::pstCheckCreateStreamSelectTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached:
    - ParserTest::pstGetCreateStreamSelect
    - EXPECT_EQ
    - ASSERT_NE
    - nodeType
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: "void pstCheckCreateStreamSelectTimeRange(const SQuery* pQuery, ParserStage
      stage, bool expectedPresent,\n                                                bool
      expectedNeedCalc = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:240,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pStream
    - pStreamDb
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: ParserTest::setCreateStreamStreamName
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamStreamName(SCMCreateStreamReq *expect, const char*
      pStream, const char* pStreamDb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - triggerType
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: ParserTest::setCreateStreamTriggerType
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerType(SCMCreateStreamReq *expect, int8_t
      triggerType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - triggerTableType
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: ParserTest::setCreateStreamTriggerTableType
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerTableType(SCMCreateStreamReq *expect, int8_t
      triggerTableType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - triggerTblSUid
    argTypes:
    - SCMCreateStreamReq*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: ParserTest::setCreateStreamTriggerTableSuid
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerTableSuid(SCMCreateStreamReq *expect, uint64_t
      triggerTblSUid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - triggerTblUid
    argTypes:
    - SCMCreateStreamReq*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: ParserTest::setCreateStreamTriggerTblUid
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerTblUid(SCMCreateStreamReq *expect, uint64_t
      triggerTblUid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - triggerTblVgid
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: ParserTest::setCreateStreamTriggerTblVgid
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerTblVgid(SCMCreateStreamReq *expect, int8_t
      triggerTblVgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:266,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pTriggerDb
    - pTriggerTblName
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: ParserTest::setCreateStreamTriggerName
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerName(SCMCreateStreamReq *expect, const char*
      pTriggerDb, const char* pTriggerTblName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setCreateStreamTriggerName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:272,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:273,1
    - Dst: ParserTest::setCreateStreamTriggerTblUid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:274,1
    - Dst: ParserTest::setCreateStreamTriggerTableType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:275,1
    - Dst: ParserTest::setCreateStreamTriggerTableSuid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:276,1
    - Dst: ParserTest::setCreateStreamTriggerTblVgid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 8
    argNames:
    - expect
    - pTriggerDb
    - pTriggerTblName
    - triggerType
    - triggerTblType
    - triggerTblUid
    - triggerTblSuid
    - triggerTblVgid
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    - int8_t
    - int8_t
    - uint64_t
    - uint64_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: ParserTest::setCreateStreamTriggerTable
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ParserTest::setCreateStreamTriggerTblVgid
    - ParserTest::setCreateStreamTriggerTableType
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::setCreateStreamTriggerTableSuid
    - ParserTest::setCreateStreamTriggerName
    - ParserTest::setCreateStreamTriggerTblUid
    linkageType: ''
    returnType: void
    signature: "void setCreateStreamTriggerTable(SCMCreateStreamReq *expect, const
      char* pTriggerDb, const char* pTriggerTblName,\n                                int8_t
      triggerType, int8_t triggerTblType, uint64_t triggerTblUid, uint64_t triggerTblSuid,
      int8_t triggerTblVgid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:282,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pOutDb
    - pOutTbleName
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: ParserTest::setCreateStreamOutName
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutName(SCMCreateStreamReq *expect, const char*
      pOutDb, const char* pOutTbleName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - outTblType
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: ParserTest::setCreateStreamOutTblType
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutTblType(SCMCreateStreamReq *expect, int8_t outTblType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - outStbExists
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: ParserTest::setCreateStreamOutStbExists
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutStbExists(SCMCreateStreamReq *expect, int8_t
      outStbExists)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - outStbUid
    argTypes:
    - SCMCreateStreamReq*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: ParserTest::setCreateStreamOutStbUid
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutStbUid(SCMCreateStreamReq *expect, uint64_t
      outStbUid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - outStbSversion
    argTypes:
    - SCMCreateStreamReq*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: ParserTest::setCreateStreamOutStbSversion
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutStbSversion(SCMCreateStreamReq *expect, int32_t
      outStbSversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - outTblVgid
    argTypes:
    - SCMCreateStreamReq*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: ParserTest::setCreateStreamOutTbleVgid
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamOutTbleVgid(SCMCreateStreamReq *expect, int32_t
      outTblVgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setCreateStreamOutName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:308,1
    - Dst: ParserTest::setCreateStreamOutTblType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:309,1
    - Dst: ParserTest::setCreateStreamOutStbExists
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:310,1
    - Dst: ParserTest::setCreateStreamOutStbUid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:311,1
    - Dst: ParserTest::setCreateStreamOutStbSversion
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:312,1
    - Dst: ParserTest::setCreateStreamOutTbleVgid
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 8
    argNames:
    - expect
    - pOutDb
    - pOutTbleName
    - outTblType
    - outStbExists
    - outStbUid
    - outStbSversion
    - outTblVgid
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    - int8_t
    - int8_t
    - uint64_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: ParserTest::setCreateStreamOutTable
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ParserTest::setCreateStreamOutStbSversion
    - ParserTest::setCreateStreamOutStbExists
    - ParserTest::setCreateStreamOutName
    - ParserTest::setCreateStreamOutTblType
    - ParserTest::setCreateStreamOutTbleVgid
    - ParserTest::setCreateStreamOutStbUid
    linkageType: ''
    returnType: void
    signature: "void setCreateStreamOutTable(SCMCreateStreamReq *expect, const char*
      pOutDb, const char* pOutTbleName, int8_t outTblType,\n                            int8_t
      outStbExists, uint64_t outStbUid, int32_t outStbSversion, int32_t outTblVgid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:320,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:321,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:323,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:326,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:327,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:328,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - expect
    - pCalcDb
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: ParserTest::setCreateStreamCalcDb
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayGet
    - taosArrayInit
    - ASSERT_TRUE
    - taosArrayDestroy
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamCalcDb(SCMCreateStreamReq *expect, const char*
      pCalcDb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:333,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - expect
    - pSql
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: ParserTest::setCreateStreamSql
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 8
    functionsReached:
    - taosMemoryFreeClear
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamSql(SCMCreateStreamReq *expect, const char* pSql)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - igExists
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: ParserTest::setCreateStreamIgExists
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamIgExists(SCMCreateStreamReq *expect, int8_t igExists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setCreateStreamStreamName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:344,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:345,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:346,1
    - Dst: ParserTest::setCreateStreamIgExists
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - expect
    - pStream
    - pStreamDb
    - pCalcDb
    - pSql
    - igExists
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    - char*
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: ParserTest::setCreateStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::setCreateStreamIgExists
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamStreamName
    linkageType: ''
    returnType: void
    signature: "void setCreateStreamReq(SCMCreateStreamReq *expect, const char* pStream,
      const char* pStreamDb, const char* pCalcDb,\n                       const char*
      pSql, int8_t igExists)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:352,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - expect
    - pTriggerScanPlan
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: ParserTest::setCreateStreamTriggerScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - taosMemoryFreeClear
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerScanPlan(SCMCreateStreamReq *expect, const
      char* pTriggerScanPlan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:359,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - expect
    - pStreamQueryCalcPlan
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: ParserTest::setCreateStreamQueryCalcPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - taosMemoryFreeClear
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamQueryCalcPlan(SCMCreateStreamReq *expect, const
      char* pStreamQueryCalcPlan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pSubTblNameExpr
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: ParserTest::setCreateStreamSubTblNameExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamSubTblNameExpr(SCMCreateStreamReq *expect, const
      char* pSubTblNameExpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: ParserTest::resetCreateStreamSubTblNameExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamSubTblNameExpr(SCMCreateStreamReq *expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:374,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - expect
    - pTagValueExpr
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: ParserTest::setCreateStreamTagValueExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - taosMemoryFreeClear
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTagValueExpr(SCMCreateStreamReq *expect, const
      char* pTagValueExpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: ParserTest::resetCreateStreamTagValueExpr
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamTagValueExpr(SCMCreateStreamReq *expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - igDisorder
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: ParserTest::setCreateStreamIgDisorder
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamIgDisorder(SCMCreateStreamReq *expect, int8_t igDisorder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - deleteReCalc
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: ParserTest::setCreateStreamDeleteReCalc
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamDeleteReCalc(SCMCreateStreamReq *expect, int8_t
      deleteReCalc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - deleteOutTbl
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: ParserTest::setCreateStreamDeleteOutTbl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamDeleteOutTbl(SCMCreateStreamReq *expect, int8_t
      deleteOutTbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - fillHistory
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: ParserTest::setCreateStreamFillHistory
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamFillHistory(SCMCreateStreamReq *expect, int8_t
      fillHistory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - fillHistoryFirst
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: ParserTest::setCreateStreamFillHistoryFirst
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamFillHistoryFirst(SCMCreateStreamReq *expect, int8_t
      fillHistoryFirst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - calcNotifyOnly
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: ParserTest::setCreateStreamCalcNotifyOnly
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamCalcNotifyOnly(SCMCreateStreamReq *expect, int8_t
      calcNotifyOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - lowLatencyCalc
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: ParserTest::setCreateStreamLowLatencyCalc
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamLowLatencyCalc(SCMCreateStreamReq *expect, int8_t
      lowLatencyCalc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - maxDelay
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: ParserTest::setCreateStreamMaxDelay
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamMaxDelay(SCMCreateStreamReq *expect, int64_t maxDelay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - fillHistoryStartTime
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: ParserTest::setCreateStreamFillHistoryStartTime
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamFillHistoryStartTime(SCMCreateStreamReq *expect,
      int64_t fillHistoryStartTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - watermark
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: ParserTest::setCreateStreamWatermark
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamWatermark(SCMCreateStreamReq *expect, int64_t watermark)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - expiredTime
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: ParserTest::setCreateStreamExpiredTime
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamExpiredTime(SCMCreateStreamReq *expect, int64_t
      expiredTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - eventTypes
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: ParserTest::setCreateStreamEventTypes
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamEventTypes(SCMCreateStreamReq *expect, int64_t
      eventTypes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - idleTimeoutMs
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: ParserTest::setCreateStreamIdleTimeout
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamIdleTimeout(SCMCreateStreamReq *expect, int64_t
      idleTimeoutMs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - flags
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: ParserTest::setCreateStreamFlags
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamFlags(SCMCreateStreamReq *expect, int64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - tsmaId
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: ParserTest::setCreateStreamTsmaId
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTsmaId(SCMCreateStreamReq *expect, int64_t tsmaId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - placeHolderBitmap
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: ParserTest::setCreateStreamPlaceHolderBitmap
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamPlaceHolderBitmap(SCMCreateStreamReq *expect, int64_t
      placeHolderBitmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - calcTsSlotId
    argTypes:
    - SCMCreateStreamReq*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: ParserTest::setCreateStreamCalcTsSlotId
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamCalcTsSlotId(SCMCreateStreamReq *expect, int16_t
      calcTsSlotId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setCreateStreamIgDisorder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:456,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:457,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:458,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:459,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:460,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:461,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:462,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:463,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:464,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:465,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:466,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:467,1
    - Dst: ParserTest::setCreateStreamFlags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:468,1
    - Dst: ParserTest::setCreateStreamTsmaId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:469,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:470,1
    - Dst: ParserTest::setCreateStreamCalcTsSlotId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 18
    argNames:
    - expect
    - igExists
    - igDisorder
    - deleteReCalc
    - deleteOutTbl
    - fillHistory
    - fillHistoryFirst
    - calcNotifyOnly
    - lowLatencyCalc
    - maxDelay
    - fillHistoryStartTime
    - watermark
    - expiredTime
    - eventTypes
    - flags
    - tsmaId
    - placeHolderBitmap
    - tsSlotId
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 472
    functionName: ParserTest::setCreateStreamOption
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ParserTest::setCreateStreamLowLatencyCalc
    - ParserTest::setCreateStreamIgDisorder
    - ParserTest::setCreateStreamExpiredTime
    - ParserTest::setCreateStreamDeleteReCalc
    - ParserTest::setCreateStreamEventTypes
    - ParserTest::setCreateStreamFlags
    - ParserTest::setCreateStreamTsmaId
    - ParserTest::setCreateStreamCalcTsSlotId
    - ParserTest::setCreateStreamWatermark
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - ParserTest::setCreateStreamCalcNotifyOnly
    - ParserTest::setCreateStreamFillHistoryStartTime
    - ParserTest::setCreateStreamFillHistory
    - ParserTest::setCreateStreamMaxDelay
    - ParserTest::setCreateStreamDeleteOutTbl
    - ParserTest::setCreateStreamFillHistoryFirst
    linkageType: ''
    returnType: void
    signature: "void setCreateStreamOption(SCMCreateStreamReq *expect, int8_t igExists,
      int8_t igDisorder, int8_t deleteReCalc,\n                          int8_t deleteOutTbl,
      int8_t fillHistory, int8_t fillHistoryFirst, int8_t calcNotifyOnly, int8_t lowLatencyCalc,\n
      \                         int64_t maxDelay, int64_t fillHistoryStartTime, int64_t
      watermark, int64_t expiredTime,\n                          int64_t eventTypes,
      int64_t flags, int64_t tsmaId, int64_t placeHolderBitmap, int16_t tsSlotId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:477,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:484,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:485,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:487,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - expect
    - name
    - type
    - flag
    - bytes
    - compress
    - typeMod
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - uint8_t
    - int8_t
    - int32_t
    - uint32_t
    - STypeMod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 488
    functionName: ParserTest::addCreateStreamOutCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ASSERT_TRUE
    - strcpy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void addCreateStreamOutCols(SCMCreateStreamReq *expect, const char*
      name, uint8_t type, int8_t flag, int32_t bytes, uint32_t compress, STypeMod
      typeMod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: ParserTest::resetCreateStreamOutCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamOutCols(SCMCreateStreamReq *expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:499,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:506,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:507,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:509,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - expect
    - name
    - type
    - flag
    - bytes
    - compress
    - typeMod
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - uint8_t
    - int8_t
    - int32_t
    - uint32_t
    - STypeMod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 510
    functionName: ParserTest::addCreateStreamOutTags
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - ASSERT_TRUE
    - strcpy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void addCreateStreamOutTags(SCMCreateStreamReq *expect, const char*
      name, uint8_t type, int8_t flag, int32_t bytes, uint32_t compress, STypeMod
      typeMod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: ParserTest::resetCreateStreamOutTags
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamOutTags(SCMCreateStreamReq *expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expect
    - pCols
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: ParserTest::setCreateStreamTriggerCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerCols(SCMCreateStreamReq *expect, const char*
      pCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 528
    functionName: ParserTest::resetCreateStreamTriggerCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamTriggerCols(SCMCreateStreamReq *expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: ParserTest::resetCreateStreamPartitionCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamPartitionCols(SCMCreateStreamReq *expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::resetCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:537,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - expect
    - pCols
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: ParserTest::setCreateStreamPartitionCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 3
    functionsReached:
    - ParserTest::resetCreateStreamPartitionCols
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamPartitionCols(SCMCreateStreamReq *expect, const
      char* pCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 10
    argNames:
    - expect
    - intervalUnit
    - slidingUnit
    - offsetUnit
    - soffsetUnit
    - precision
    - interval
    - offset
    - sliding
    - soffset
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int8_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 564
    functionName: ParserTest::setCreateStreamTriggerSliding
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setCreateStreamTriggerSliding(SCMCreateStreamReq *expect, int8_t
      intervalUnit, int8_t slidingUnit,\n  int8_t offsetUnit, int8_t soffsetUnit,
      int8_t precision, int64_t interval, int64_t offset, int64_t sliding,\n  int64_t
      soffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - pSessionVal
    - slotId
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: ParserTest::setCreateStreamTriggerSession
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerSession(SCMCreateStreamReq *expect,int64_t
      pSessionVal, int16_t slotId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - countVal
    - sliding
    argTypes:
    - SCMCreateStreamReq*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: ParserTest::setCreateStreamTriggerCount
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerCount(SCMCreateStreamReq *expect, int64_t
      countVal, int64_t sliding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:577,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - expect
    - startCond
    - endCond
    - trueForDuration
    argTypes:
    - SCMCreateStreamReq*
    - char*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: ParserTest::setCreateStreamTriggerEvent
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerEvent(SCMCreateStreamReq *expect, const
      char* startCond, const char* endCond, int64_t trueForDuration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expect
    - slotId
    - trueForDuration
    argTypes:
    - SCMCreateStreamReq*
    - int16_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: ParserTest::setCreateStreamTriggerState
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerState(SCMCreateStreamReq *expect, int16_t
      slotId, int64_t trueForDuration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - expect
    - offsetUnit
    - periodUnit
    - precision
    - offset
    - period
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    - int8_t
    - int8_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: ParserTest::setCreateStreamTriggerPeriod
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamTriggerPeriod(SCMCreateStreamReq *expect, int8_t
      offsetUnit, int8_t periodUnit, int8_t precision, int64_t offset, int64_t period)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:597,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:598,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:600,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:601,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - expect
    - pUrl
    argTypes:
    - SCMCreateStreamReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: ParserTest::addCreateStreamNotifyUrl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - ASSERT_TRUE
    - taosArrayPush
    - taosStrdup
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: void addCreateStreamNotifyUrl(SCMCreateStreamReq *expect, const char*
      pUrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - expect
    - notifyEventTypes
    - notifyErrorHandle
    - notifyHistory
    argTypes:
    - SCMCreateStreamReq*
    - int8_t
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: ParserTest::setCreateStreamNotify
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCreateStreamNotify(SCMCreateStreamReq *expect, int8_t notifyEventTypes,
      int8_t notifyErrorHandle, int8_t notifyHistory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:616,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:618,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:619,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:621,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - expect
    - type
    - precision
    - scale
    - bytes
    - expr
    argTypes:
    - SCMCreateStreamReq*
    - uint8_t
    - uint8_t
    - uint8_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 622
    functionName: ParserTest::setCreateStreamForceOutputCols
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - taosArrayPush
    - taosArrayInit
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void setCreateStreamForceOutputCols(SCMCreateStreamReq *expect, uint8_t
      type, uint8_t precision, uint8_t scale, int32_t bytes, const char* expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: ParserTest::destroyStreamCalcScan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destroyStreamCalcScan(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expect
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 634
    functionName: ParserTest::resetCreateStreamQueryScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 4
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void resetCreateStreamQueryScanPlan(SCMCreateStreamReq *expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:639,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:641,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:642,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:644,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - expect
    - readFromCache
    - pStreamQueryScanPlan
    argTypes:
    - SCMCreateStreamReq*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 645
    functionName: ParserTest::addCreateStreamQueryScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - ASSERT_TRUE
    - taosArrayPush
    - taosArrayInit
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void addCreateStreamQueryScanPlan(SCMCreateStreamReq *expect, bool
      readFromCache, const char* pStreamQueryScanPlan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:650,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:657,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:658,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:660,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:666,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:667,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:669,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - node
    - fieldName
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 672
    functionName: ParserTest::delete_all_specified_fields
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 4
    functionsReached:
    - ParserTest::delete_all_specified_fields
    - cJSON_IsObject
    - cJSON_GetArrayItem
    - cJSON_GetArraySize
    - cJSON_IsArray
    - cJSON_DeleteItemFromObject
    - strcmp
    linkageType: ''
    returnType: void
    signature: void delete_all_specified_fields(cJSON* node, const char* fieldName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:675,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:676,1
    - Dst: printf
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:679,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:680,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:684,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:685,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:687,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:688,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:690,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:691,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:693,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:694,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:696,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:697,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:699,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:700,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:702,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:702,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:702,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:704,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:705,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:706,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 708
    functionName: ParserTest::checkCreateStreamTriggerScanPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::delete_all_specified_fields
    - std::string
    - printf
    - cJSON_PrintUnformatted
    - ASSERT_EQ
    - free
    - ASSERT_TRUE
    - cJSON_Delete
    - cJSON_Parse
    linkageType: ''
    returnType: void
    signature: void checkCreateStreamTriggerScanPlan(SCMCreateStreamReq *expect, SCMCreateStreamReq
      *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:711,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:712,1
    - Dst: printf
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:715,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:716,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:720,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:721,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:723,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:724,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:726,1
    - Dst: ParserTest::delete_all_specified_fields
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:727,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:729,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:730,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:732,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:732,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:732,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:734,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:735,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:736,1
    - Dst: free
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 738
    functionName: ParserTest::checkCreateStreamCalcPlan
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 1
    functionsReached:
    - ParserTest::delete_all_specified_fields
    - std::string
    - printf
    - cJSON_PrintUnformatted
    - ASSERT_EQ
    - free
    - ASSERT_TRUE
    - cJSON_Delete
    - cJSON_Parse
    linkageType: ''
    returnType: void
    signature: void checkCreateStreamCalcPlan(SCMCreateStreamReq *expect, SCMCreateStreamReq
      *req)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:743,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:744,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:744,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:744,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:745,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:745,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:745,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:746,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:746,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:746,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:747,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:747,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:747,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:748,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:748,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:748,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:749,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:749,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:749,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:750,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:750,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:750,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:751,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:751,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:751,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:752,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:753,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:754,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:755,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:755,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:755,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:759,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:760,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:761,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:762,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:763,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:764,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:765,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:766,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:767,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:771,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:773,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:774,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:774,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:774,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:775,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:776,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:777,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:778,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:778,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:778,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:782,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:783,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:784,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:787,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:789,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:789,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:789,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:793,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:795,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:796,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:796,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:796,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:799,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:799,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:799,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:800,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:801,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:802,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:803,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:804,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:805,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:806,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:807,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:808,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:808,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:808,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:811,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:811,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:811,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:812,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:813,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:814,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:815,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:816,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:817,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:818,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:819,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:820,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:820,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:820,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:823,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:824,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:825,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:826,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:830,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:831,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:832,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:833,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:834,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:835,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:836,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:837,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:838,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:842,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:843,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:847,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:848,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:852,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:852,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:852,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:853,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:853,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:853,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:854,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:858,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:859,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:863,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:864,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:865,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:866,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:867,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:871,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:874,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:875,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:876,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:877,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:878,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:879,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:880,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:881,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:882,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:883,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:884,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:885,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:888,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:889,1
    - Dst: ParserTest::checkCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:891,1
    - Dst: ParserTest::checkCreateStreamCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:892,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:894,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:894,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:894,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:895,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:896,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:897,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:898,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:899,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:899,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:899,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:903,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:905,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:906,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:906,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:906,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:910,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:912,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:913,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:913,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:913,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:917,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:919,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:920,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:920,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:920,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:921,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:922,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:923,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:924,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:925,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:926,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:927,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:929,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:929,1
    - Dst: std::string
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:929,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 160
    argCount: 2
    argNames:
    - expect
    - req
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 740
    functionDepth: 3
    functionLinenumber: 740
    functionLinenumberEnd: 933
    functionName: ParserTest::checkCreateStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 7
    functionsReached:
    - taosArrayGet
    - ParserTest::checkCreateStreamTriggerScanPlan
    - ParserTest::checkCreateStreamCalcPlan
    - ASSERT_NE
    - std::string
    - BIT_FLAG_TEST_MASK
    - ASSERT_EQ
    - taosArrayGetSize
    - ASSERT_TRUE
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void checkCreateStreamReq(SCMCreateStreamReq *expect, SCMCreateStreamReq
      *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:936,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:940,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:941,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:944,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:945,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:945,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:947,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:948,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:949,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:950,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:953,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:955,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:957,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:959,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:960,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:961,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:962,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:963,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:964,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:965,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:966,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:968,1
    - Dst: ParserTest::setCreateStreamStreamName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:971,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:972,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:973,1
    - Dst: ParserTest::setCreateStreamStreamName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:976,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:977,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:978,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:981,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:982,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:983,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:984,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:985,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:988,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:989,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:989,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:990,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:991,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:992,1
    - Dst: ParserTest::setCreateStreamOutName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:995,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:996,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:997,1
    - Dst: ParserTest::setCreateStreamOutName
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1000,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1001,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1002,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1005,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1006,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1007,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1008,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1009,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1010,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1013,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1014,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1015,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1016,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1017,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 935
    functionDepth: 4
    functionLinenumber: 935
    functionLinenumberEnd: 1020
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - nodeType
    - ASSERT_EQ
    - memset
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - clearCreateStreamReq
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::resetCreateStreamQueryScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamStreamName
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamOutName
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1023,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1027,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1028,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1031,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1032,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1032,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1034,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1035,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1036,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1037,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1040,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1042,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1044,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1046,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1047,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1048,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1049,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1050,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1051,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1052,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1053,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1055,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1058,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1059,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1060,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1062,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1063,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1064,1
    - Dst: ParserTest::setCreateStreamWatermark
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1065,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1068,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1069,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1070,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1072,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1073,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1074,1
    - Dst: ParserTest::setCreateStreamExpiredTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1075,1
    - Dst: ParserTest::setCreateStreamIgDisorder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1078,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1079,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1080,1
    - Dst: ParserTest::setCreateStreamIgDisorder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1081,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1084,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1085,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1086,1
    - Dst: ParserTest::setCreateStreamDeleteReCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1087,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1090,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1091,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1092,1
    - Dst: ParserTest::setCreateStreamDeleteOutTbl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1093,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1096,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1097,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1098,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1099,1
    - Dst: ParserTest::setCreateStreamFillHistory
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1100,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1101,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1104,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1105,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1106,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1107,1
    - Dst: ParserTest::setCreateStreamFillHistoryFirst
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1108,1
    - Dst: ParserTest::setCreateStreamFillHistoryStartTime
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1109,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1112,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1113,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1114,1
    - Dst: ParserTest::setCreateStreamCalcNotifyOnly
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1115,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1118,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1119,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1120,1
    - Dst: ParserTest::setCreateStreamLowLatencyCalc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1121,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1131,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1132,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1133,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1135,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1136,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1137,1
    - Dst: ParserTest::setCreateStreamMaxDelay
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1138,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1141,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1142,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1143,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1145,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1146,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1147,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1149,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1150,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1151,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1154,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1155,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1156,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1157,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1158,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1159,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1160,1
    - Dst: ParserTest::setCreateStreamIdleTimeout
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1161,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1162,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1163,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1164,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1166,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1167,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1168,1
    - Dst: ParserTest::setCreateStreamEventTypes
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1170,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1171,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1172,1
    - Dst: ParserTest::setCreateStreamIdleTimeout
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1174,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1022
    functionDepth: 4
    functionLinenumber: 1022
    functionLinenumberEnd: 1177
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamExpiredTime
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::resetCreateStreamOutCols
    - nodeType
    - ASSERT_EQ
    - memset
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamLowLatencyCalc
    - clearCreateStreamReq
    - ParserTest::setCreateStreamWatermark
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamFillHistory
    - ParserTest::setCreateStreamCalcNotifyOnly
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::setCreateStreamFillHistoryFirst
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamIdleTimeout
    - ParserTest::setCreateStreamIgDisorder
    - ParserTest::setCreateStreamEventTypes
    - ParserTest::setCreateStreamDeleteReCalc
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamFillHistoryStartTime
    - ParserTest::setCreateStreamMaxDelay
    - ParserTest::setCreateStreamDeleteOutTbl
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestTriggerOption)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1180,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1184,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1185,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1188,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1189,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1189,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1191,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1192,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1193,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1194,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1197,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1198,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1199,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1200,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1201,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1202,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1203,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1204,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1205,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1206,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1207,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1209,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1212,1
    - Dst: ParserTest::setCreateStreamTriggerSession
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1213,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1214,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1215,1
    - Dst: ParserTest::setCreateStreamTriggerSession
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1217,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1218,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1219,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1223,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1224,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1225,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1226,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1227,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1228,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1230,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1231,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1232,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1233,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1234,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1236,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1237,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1238,1
    - Dst: ParserTest::setCreateStreamTriggerState
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1240,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1241,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1242,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1245,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1246,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1247,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1248,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1249,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1250,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1252,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1253,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1254,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1256,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1257,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1258,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1260,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1261,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1262,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1265,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1266,1
    - Dst: ParserTest::setCreateStreamTriggerEvent
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1267,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1271,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1272,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1273,1
    - Dst: ParserTest::setCreateStreamTriggerEvent
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1275,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1279,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1280,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1284,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1285,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1286,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1287,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1288,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1289,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1291,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1292,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1293,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1294,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1296,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1297,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1298,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1299,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1300,1
    - Dst: ParserTest::setCreateStreamTriggerCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1302,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1303,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1304,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1305,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1306,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1309,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1310,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1311,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1312,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1313,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1314,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1316,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1317,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1318,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1179
    functionDepth: 4
    functionLinenumber: 1179
    functionLinenumberEnd: 1321
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - nodeType
    - ASSERT_EQ
    - memset
    - ParserTest::setCreateStreamTriggerPeriod
    - ParserTest::setCreateStreamTriggerState
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - ParserTest::setCreateStreamTriggerEvent
    - clearCreateStreamReq
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamTriggerSession
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamTriggerCount
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::resetCreateStreamTriggerCols
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestTriggerType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1324,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1325,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1329,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1330,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1333,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1334,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1334,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1336,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1337,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1338,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1339,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1342,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1343,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1344,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1345,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1346,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1347,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1348,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1349,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1350,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1351,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1352,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1353,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1354,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1355,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1356,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1357,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1360,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1361,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1362,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1363,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1364,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1365,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1366,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1367,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1368,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1369,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1323
    functionDepth: 4
    functionLinenumber: 1323
    functionLinenumberEnd: 1372
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - nodeType
    - ASSERT_EQ
    - memset
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - ParserTest::addCreateStreamOutTags
    - clearCreateStreamReq
    - ParserTest::setAsyncFlag
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamTagValueExpr
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamSubTblNameExpr
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestTriggerPartition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1375,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1379,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1380,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1383,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1384,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1384,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1386,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1387,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1388,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1389,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1392,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1393,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1394,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1395,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1396,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1397,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1398,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1399,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1400,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1401,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1402,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1404,1
    - Dst: ParserTest::addCreateStreamNotifyUrl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1407,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1408,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1409,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1410,1
    - Dst: ParserTest::addCreateStreamNotifyUrl
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1412,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1413,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1414,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1415,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1418,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1419,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1420,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1422,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1423,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1424,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1426,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1427,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1428,1
    - Dst: ParserTest::setCreateStreamIdleTimeout
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1431,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1432,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1433,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1434,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1436,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1437,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1438,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1440,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1441,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1442,1
    - Dst: ParserTest::setCreateStreamIdleTimeout
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1444,1
    - Dst: ParserTest::setCreateStreamNotify
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1450,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1451,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1452,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1374
    functionDepth: 4
    functionLinenumber: 1374
    functionLinenumberEnd: 1455
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::setCreateStreamNotify
    - nodeType
    - ASSERT_EQ
    - memset
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - clearCreateStreamReq
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - ParserTest::setCreateStreamIdleTimeout
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::addCreateStreamNotifyUrl
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestNotify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1458,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1459,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1463,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1464,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1467,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1468,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1468,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1470,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1471,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1472,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1473,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1476,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1477,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1478,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1479,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1480,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1481,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1482,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1483,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1484,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1485,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1486,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1488,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1491,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1492,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1493,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1494,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1495,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1496,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1497,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1498,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1499,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1500,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1501,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1503,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1504,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1505,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1506,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1507,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1508,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1509,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1510,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1511,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1512,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1513,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1514,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1515,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1516,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1517,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1518,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1519,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1520,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1521,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1523,1
    - Dst: ParserTest::resetCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1524,1
    - Dst: ParserTest::resetCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1525,1
    - Dst: ParserTest::resetCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1526,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1527,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1528,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1529,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1530,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1533,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1534,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1535,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1536,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1537,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1538,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1539,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1540,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1541,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1542,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1545,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1546,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1547,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1548,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1549,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1550,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1551,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1554,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1555,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1556,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1557,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1558,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1559,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1560,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1561,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1562,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1563,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1564,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1457
    functionDepth: 4
    functionLinenumber: 1457
    functionLinenumberEnd: 1567
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::resetCreateStreamPartitionCols
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::resetCreateStreamOutCols
    - nodeType
    - ASSERT_EQ
    - memset
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - ParserTest::addCreateStreamOutTags
    - clearCreateStreamReq
    - ParserTest::setAsyncFlag
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - ParserTest::setCreateStreamTagValueExpr
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::resetCreateStreamTagValueExpr
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::resetCreateStreamSubTblNameExpr
    - ParserTest::setCreateStreamSubTblNameExpr
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestOutTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1570,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1571,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1576,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1577,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1578,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1579,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1582,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1583,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1583,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1585,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1586,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1587,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1588,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1591,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1592,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1593,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1594,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1595,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1596,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1597,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1598,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1599,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1600,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1601,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1602,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1603,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1604,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1605,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1606,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1610,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1611,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1612,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1613,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1614,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1615,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1616,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1617,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1620,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1621,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1622,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1623,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1624,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1625,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1626,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1629,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1630,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1631,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1632,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1633,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1634,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1635,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1638,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1639,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1640,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1641,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1642,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1643,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1644,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1645,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1648,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1649,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1650,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1651,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1652,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1653,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1654,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1657,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1658,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1659,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1660,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1661,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1662,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1663,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1664,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1667,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1668,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1669,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1670,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1671,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1672,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1673,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1674,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1677,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1678,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1679,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1680,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1681,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1682,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1683,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1684,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1685,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1686,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1687,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1691,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1692,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1693,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1694,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1695,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1696,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1697,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1698,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1699,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1700,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1703,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1704,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1705,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1706,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1707,1
    - Dst: ParserTest::setCreateStreamTriggerType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1708,1
    - Dst: ParserTest::setCreateStreamTriggerPeriod
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1709,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1710,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1711,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1712,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1713,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1716,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1717,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1718,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1719,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1720,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1721,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1722,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1723,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1727,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1728,1
    - Dst: ParserTest::resetCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1729,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1730,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1731,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1732,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1733,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1734,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1735,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1736,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1737,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1738,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1739,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1740,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1741,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1742,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1746,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1747,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1748,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1749,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1750,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1751,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1752,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1753,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1754,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1755,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1756,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1757,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1759,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1760,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1761,1
    - Dst: ParserTest::setCreateStreamCalcDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1762,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1763,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1764,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1765,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1766,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1767,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1768,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1769,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1770,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1771,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1775,1
    - Dst: ParserTest::resetCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1776,1
    - Dst: ParserTest::resetCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1777,1
    - Dst: ParserTest::setCreateStreamCalcTsSlotId
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1778,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1779,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1780,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1781,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1782,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1783,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1785,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1786,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1787,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1788,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1789,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1792,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1793,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1793,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1795,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1796,1
    - Dst: ParserTest::checkCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1797,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1798,1
    - Dst: ParserTest::setCreateStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1800,1
    - Dst: ParserTest::setCreateStreamOutTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1801,1
    - Dst: ParserTest::setCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1802,1
    - Dst: ParserTest::setCreateStreamOption
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1803,1
    - Dst: ParserTest::setCreateStreamTriggerScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1804,1
    - Dst: ParserTest::addCreateStreamQueryScanPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1805,1
    - Dst: ParserTest::setCreateStreamTriggerCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1806,1
    - Dst: ParserTest::setCreateStreamPartitionCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1807,1
    - Dst: ParserTest::addCreateStreamOutTags
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1808,1
    - Dst: ParserTest::setCreateStreamSubTblNameExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1809,1
    - Dst: ParserTest::setCreateStreamTagValueExpr
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1810,1
    - Dst: ParserTest::setCreateStreamTriggerSliding
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1811,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1812,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1813,1
    - Dst: ParserTest::setCreateStreamPlaceHolderBitmap
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1814,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1815,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1816,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1817,1
    - Dst: ParserTest::resetCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1819,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1820,1
    - Dst: ParserTest::addCreateStreamOutCols
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1821,1
    - Dst: ParserTest::setCreateStreamSql
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1822,1
    - Dst: ParserTest::setCreateStreamQueryCalcPlan
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1823,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1824,1
    - Dst: clearCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 209
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1569
    functionDepth: 4
    functionLinenumber: 1569
    functionLinenumberEnd: 1827
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setCreateStreamTriggerCols
    - ParserTest::setCreateStreamSql
    - ParserTest::setCreateStreamQueryCalcPlan
    - ParserTest::resetCreateStreamOutCols
    - nodeType
    - ASSERT_EQ
    - memset
    - ParserTest::setCreateStreamTriggerPeriod
    - ParserTest::setCreateStreamPartitionCols
    - tFreeSCMCreateStreamReq
    - ParserTest::addCreateStreamOutCols
    - ParserTest::addCreateStreamOutTags
    - clearCreateStreamReq
    - ParserTest::setAsyncFlag
    - ParserTest::resetCreateStreamOutTags
    - ParserTest::setCreateStreamTriggerScanPlan
    - useDb
    - ASSERT_TRUE
    - ParserTest::setCreateStreamOption
    - ParserTest::setCreateStreamCalcTsSlotId
    - ParserTest::setCreateStreamTriggerSliding
    - ParserTest::setCreateStreamReq
    - ParserTest::checkCreateStreamReq
    - run
    - setCheckDdlFunc
    - ParserTest::addCreateStreamQueryScanPlan
    - ParserTest::resetCreateStreamQueryScanPlan
    - ParserTest::setCreateStreamPlaceHolderBitmap
    - ParserTest::setCreateStreamTagValueExpr
    - tDeserializeSCMCreateStreamReq
    - ParserTest::setCreateStreamOutTable
    - ParserTest::setCreateStreamCalcDb
    - ParserTest::setCreateStreamTriggerType
    - ParserTest::setCreateStreamTriggerTable
    - ParserTest::setCreateStreamSubTblNameExpr
    - ParserTest::resetCreateStreamTriggerCols
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1830,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1831,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1833,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1834,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1835,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1835,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1838,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1839,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1839,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1841,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1842,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1842,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1844,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1845,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1848,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1848,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1849,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1852,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1852,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1853,1
    - Dst: ParserTest::pstFindExternalWindowNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1855,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1856,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1857,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1859,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1860,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1829
    functionDepth: 5
    functionLinenumber: 1829
    functionLinenumberEnd: 1866
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - tFreeSCMCreateStreamReq
    - ParserTest::pstFindExternalWindowNode
    - ParserTest::setAsyncFlag
    - run
    - nodesStringToNode
    - setCheckDdlFunc
    - ASSERT_NE
    - EXPECT_TRUE
    - nodeType
    - ASSERT_EQ
    - useDb
    - nodesDestroyNode
    - tDeserializeSCMCreateStreamReq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestQueryFromPartTbnamePlaceholder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1869,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1870,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1872,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1873,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1868
    functionDepth: 6
    functionLinenumber: 1868
    functionLinenumberEnd: 1881
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinAggSubqueries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1884,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1885,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1887,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1888,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowNeedCalcTimeRangeCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1889,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1883
    functionDepth: 6
    functionLinenumber: 1883
    functionLinenumberEnd: 1898
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowNeedCalcTimeRangeCount
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinAggSubqueriesByTwend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1901,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1902,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1904,1
    - Dst: ParserTest::pstCheckCreateStreamSelectTimeRange
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1905,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1900
    functionDepth: 3
    functionLinenumber: 1900
    functionLinenumberEnd: 1913
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - ParserTest::pstCheckCreateStreamSelectTimeRange
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinAggSubqueriesByTwendAddsOuterTimeRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1916,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1917,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1919,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1920,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1915
    functionDepth: 6
    functionLinenumber: 1915
    functionLinenumberEnd: 1928
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowLeftJoinAggSubqueriesDisabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1931,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1932,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1934,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1935,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1930
    functionDepth: 6
    functionLinenumber: 1930
    functionLinenumberEnd: 1946
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowThreeInnerJoinAggSubqueries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1949,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1950,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1952,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1953,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1948
    functionDepth: 6
    functionLinenumber: 1948
    functionLinenumberEnd: 1961
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinNonWindowKeyDisabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1964,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1965,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1967,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1968,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1963
    functionDepth: 6
    functionLinenumber: 1963
    functionLinenumberEnd: 1976
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinParentLimitDisablesAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1979,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1980,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1982,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1983,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1978
    functionDepth: 6
    functionLinenumber: 1978
    functionLinenumberEnd: 1992
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinChildPlaceholderDisablesAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1995,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1996,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1998,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:1999,1
    - Dst: ParserTest::pstCheckCreateStreamSelectTimeRange
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2000,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1994
    functionDepth: 6
    functionLinenumber: 1994
    functionLinenumberEnd: 2010
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - ParserTest::pstCheckCreateStreamSelectTimeRange
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinChildLimitKeepsOuterTimeRangeEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2013,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2014,1
    - Dst: setCheckDdlFunc
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2016,1
    - Dst: ParserTest::pstCheckCalcPlanExternalWindowCount
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2017,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2012
    functionDepth: 6
    functionLinenumber: 2012
    functionLinenumberEnd: 2023
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::pstCheckCalcPlanExternalWindowCount
    - ParserTest::setAsyncFlag
    - run
    - setCheckDdlFunc
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestStreamExternalWindowInnerJoinBaseTableDisabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2026,1
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2027,1
    - Dst: createTableBuilder
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2030,1
    - Dst: done
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2034,1
    - Dst: createSubTable
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2035,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2037,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2025
    functionDepth: 1
    functionLinenumber: 2025
    functionLinenumberEnd: 2044
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - ParserTest::setAsyncFlag
    - run
    - createSubTable
    - useDb
    - createTableBuilder
    - done
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestOutTagExprSpecialCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2047,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2051,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2052,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2055,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2056,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2057,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2046
    functionDepth: 1
    functionLinenumber: 2046
    functionLinenumberEnd: 2060
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2063,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2066,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2071,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2074,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2077,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2078,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2079,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2084,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2087,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2090,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2091,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2092,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2093,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2098,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2099,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2102,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2103,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2106,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2107,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2108,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2109,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2110,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2111,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2114,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2117,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2120,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2123,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2126,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2131,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2134,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2135,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2136,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2139,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2142,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2143,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2144,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2145,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2149,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2150,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2153,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2156,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2159,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2162,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2163,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2164,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2165,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2170,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2171,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2176,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2177,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2180,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2181,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2182,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2183,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2062
    functionDepth: 1
    functionLinenumber: 2062
    functionLinenumberEnd: 2185
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorTriggerWindow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2188,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2187
    functionDepth: 1
    functionLinenumber: 2187
    functionLinenumberEnd: 2195
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorTriggerTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2198,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2201,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2197
    functionDepth: 1
    functionLinenumber: 2197
    functionLinenumberEnd: 2205
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorTriggerPartition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2208,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2211,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2212,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2213,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2214,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2215,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2218,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2221,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2222,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2223,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2224,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2225,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2228,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2229,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2233,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2236,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2239,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2207
    functionDepth: 1
    functionLinenumber: 2207
    functionLinenumberEnd: 2242
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorTriggerstream_options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2245,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2248,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2251,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2254,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2257,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2258,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2261,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2244
    functionDepth: 1
    functionLinenumber: 2244
    functionLinenumberEnd: 2265
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorNotify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2268,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2271,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2274,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2275,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2278,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2281,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2284,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2287,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2292,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2295,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2298,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2299,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2302,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2305,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2310,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2311,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2312,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2315,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2317,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2319,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2267
    functionDepth: 1
    functionLinenumber: 2267
    functionLinenumberEnd: 2323
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorOutTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2326,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2329,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2332,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2335,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2338,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2339,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2342,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2343,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2346,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2347,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2350,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2351,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2354,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2357,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2360,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2363,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2366,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2369,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2325
    functionDepth: 1
    functionLinenumber: 2325
    functionLinenumberEnd: 2372
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestErrorQueryPlaceHolder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTest::setAsyncFlag
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2375,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2379,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2382,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2385,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2388,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2392,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2395,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2398,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2401,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2404,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2407,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2410,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2413,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2417,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2418,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2419,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2374
    functionDepth: 1
    functionLinenumber: 2374
    functionLinenumberEnd: 2423
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - ParserTest::setAsyncFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestPeriodOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2427,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2430,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2433,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2436,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2439,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2442,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2445,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2448,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2452
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestIdleTimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: useDb
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2456,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2459,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2463,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2467,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2471,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2475,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2479,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2483,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2487,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2491,1
    - Dst: run
      Src: /src/tdengine/source/libs/parser/test/parStreamTest.cpp:2495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2497
    functionName: ParserTest::TEST_F
    functionSourceFile: /src/tdengine/source/libs/parser/test/parStreamTest.cpp
    functionUses: 0
    functionsReached:
    - run
    - useDb
    linkageType: ''
    returnType: void
    signature: void TEST_F(ParserStreamTest, TestIdleTimeoutValidation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: parserFatal
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parserFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: parserError
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parserError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: parserWarn
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parserWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: parserInfo
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parserInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: parserDebug
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parserDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: parserTrace
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parserTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: IS_NOW_STR
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NOW_STR(s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: IS_TODAY_STR
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TODAY_STR(s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: IS_NULL_STR
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NULL_STR(s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSql
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: NEXT_TOKEN_WITH_PREV
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_TOKEN_WITH_PREV(pSql, token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pSql
    - ','
    - token
    - ','
    - pIgnoreComma
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: NEXT_TOKEN_WITH_PREV_EXT
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_TOKEN_WITH_PREV_EXT(pSql, token, pIgnoreComma)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pSql
    - ','
    - token
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: NEXT_TOKEN_KEEP_SQL
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_TOKEN_KEEP_SQL(pSql, token, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSql
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: NEXT_VALID_TOKEN
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_VALID_TOKEN(pSql, token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSql
    - ','
    - sToken
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: NEXT_TOKEN
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parInsertUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_TOKEN(pSql, sToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: CHECK_CODE
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parInsertUtil.h
    functionUses: 410
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CODE(expr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/inc/parInsertUtil.h:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - pColname
    - start
    - end
    - pSchema
    argTypes:
    - struct SToken*
    - int16_t
    - int16_t
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: insFindCol
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parInsertUtil.h
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE insFindCol(struct SToken *pColname, int16_t start, int16_t
      end, SSchema *pSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: IS_TRUE_STR
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parToken.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRUE_STR(s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: IS_FALSE_STR
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parToken.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_FALSE_STR(s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: isNumber
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parToken.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isNumber(tk)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:101,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:105,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:109,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:109,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:111,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:130,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:146,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:150,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:153,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:166,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:166,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:168,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 79
    argCount: 1
    argNames:
    - pToken
    argTypes:
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 184
    functionName: tGetNumericStringType
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parToken.h
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tGetNumericStringType(const SToken *pToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pCxt
    - ','
    - code
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: generateDealNodeErrMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: generateDealNodeErrMsg(pCxt, code, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: CHECK_RES_OUT_OF_MEM
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RES_OUT_OF_MEM(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: CHECK_POINTER_OUT_OF_MEM
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_POINTER_OUT_OF_MEM(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:574,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: isWindowJoinStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodeType
    - IS_WINDOW_JOIN
    linkageType: ''
    returnType: bool
    signature: bool isWindowJoinStmt(SSelectStmt* pSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clause
    argTypes:
    - ESqlClause
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 580
    functionName: afterGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool afterGroupBy(ESqlClause clause)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clause
    argTypes:
    - ESqlClause
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 582
    functionName: beforeHaving
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool beforeHaving(ESqlClause clause)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clause
    argTypes:
    - ESqlClause
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 584
    functionName: afterHaving
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool afterHaving(ESqlClause clause)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clause
    argTypes:
    - ESqlClause
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 586
    functionName: beforeWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool beforeWindow(ESqlClause clause)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:589,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:592,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:593,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:594,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pTables
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 600
    functionName: hasSameTableAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool hasSameTableAlias(SArray* pTables)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:604,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:606,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:607,1
    - Dst: hasSameTableAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:610,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:611,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:616,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:621,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:622,1
    - Dst: hasSameTableAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:625,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:626,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:627,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:631,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:633,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - STranslateContext*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 640
    functionName: addNamespace
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGetSize
    - hasSameTableAlias
    - taosArrayInit
    - generateSyntaxErrMsgExt
    - taosArrayDestroy
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t addNamespace(STranslateContext* pCxt, void* pTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:644,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:645,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFullDbName
    - pDbs
    argTypes:
    - char*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: collectUseDatabaseImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectUseDatabaseImpl(const char* pFullDbName, SHashObj* pDbs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:650,1
    - Dst: collectUseDatabaseImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pName
    - pDbs
    argTypes:
    - SName*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 652
    functionName: collectUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseDatabaseImpl
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectUseDatabase(const SName* pName, SHashObj* pDbs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:656,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:660,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pName
    - pTable
    argTypes:
    - SName*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 661
    functionName: collectUseTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tNameExtractFullName
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectUseTable(const SName* pName, SHashObj* pTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getViewMetaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:673,1
    - Dst: catalogGetViewMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:679,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:683,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pParCxt
    - pMetaCache
    - pName
    - pMeta
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 687
    functionName: getViewMetaImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - catalogGetViewMeta
    - getViewMetaFromCache
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getViewMetaImpl(SParseContext* pParCxt, SParseMetaCache* pMetaCache,
      const SName* pName,\n                               STableMeta** pMeta)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableNameFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:694,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:699,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pParCxt
    - pMetaCache
    - pName
    - pTbName
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SName*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 703
    functionName: getTargetNameImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - getTableNameFromCache
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getTargetNameImpl(SParseContext* pParCxt, SParseMetaCache*
      pMetaCache, const SName* pName,\n                                 char* pTbName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:707,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:709,1
    - Dst: getTargetNameImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:712,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:715,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pTbName
    argTypes:
    - STranslateContext*
    - SName*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 719
    functionName: getTargetName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - collectUseTable
    - getTargetNameImpl
    - collectUseDatabase
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTargetName(STranslateContext* pCxt, const SName* pName,
      char* pTbName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:725,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:726,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:730,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:732,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:736,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:736,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:737,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:742,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:745,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:746,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:749,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:752,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:753,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:756,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:757,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:759,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:760,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:762,1
    - Dst: TABLE_META_FULL_SIZE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:764,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:767,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:770,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:770,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:772,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:772,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:772,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:776,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:776,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:778,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 781
    functionName: rewriteDropTableWithMetaCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosHashIterate
    - taosHashCancelIterate
    - taosHashGetSize
    - toName
    - strstr
    - TABLE_META_FULL_SIZE
    - taosHashGetKey
    - taosHashInit
    - tstrncpy
    - taosGetDefaultHashFunction
    - tstrerror
    - strlen
    - tNameExtractFullName
    - taosHashPut
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteDropTableWithMetaCache(STranslateContext* pCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getTableMetaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:788,1
    - Dst: getViewMetaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:792,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:803,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:807,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:808,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - pParCxt
    - pMetaCache
    - pName
    - pMeta
    - couldBeView
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SName*
    - STableMeta**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 783
    functionDepth: 11
    functionLinenumber: 783
    functionLinenumberEnd: 811
    functionName: getTargetMetaImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - catalogGetTableMeta
    - tstrerror
    - getViewMetaFromCache
    - getTableMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getTargetMetaImpl(SParseContext* pParCxt, SParseMetaCache*
      pMetaCache, const SName* pName, STableMeta** pMeta,\n                          bool
      couldBeView)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:815,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:817,1
    - Dst: getTargetMetaImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:820,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:823,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pName
    - pMeta
    - couldBeView
    argTypes:
    - STranslateContext*
    - SName*
    - STableMeta**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 813
    functionDepth: 12
    functionLinenumber: 813
    functionLinenumberEnd: 827
    functionName: getTargetMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - collectUseTable
    - collectUseDatabase
    - tstrerror
    - getTargetMetaImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTargetMeta(STranslateContext* pCxt, const SName* pName,
      STableMeta** pMeta, bool couldBeView)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:831,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pMeta
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 829
    functionDepth: 13
    functionLinenumber: 829
    functionLinenumberEnd: 833
    functionName: getTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 3
    functionsReached:
    - getTargetMeta
    - toName
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableMeta(STranslateContext* pCxt, const char* pDbName,
      const char* pTableName, STableMeta** pMeta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:837,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:839,1
    - Dst: getTableCfgFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:843,1
    - Dst: catalogRefreshGetTableCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:849,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:853,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pCfg
    argTypes:
    - STranslateContext*
    - SName*
    - STableCfg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 835
    functionDepth: 13
    functionLinenumber: 835
    functionLinenumberEnd: 857
    functionName: getTableCfg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - collectUseTable
    - catalogRefreshGetTableCfg
    - collectUseDatabase
    - tstrerror
    - getTableCfgFromCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableCfg(STranslateContext* pCxt, const SName* pName, STableCfg**
      pCfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:863,1
    - Dst: getTableMetaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:866,1
    - Dst: catalogRefreshGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:873,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:876,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pMeta
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 859
    functionDepth: 11
    functionLinenumber: 859
    functionLinenumberEnd: 880
    functionName: refreshGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - toName
    - tstrerror
    - catalogRefreshGetTableMeta
    - getTableMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: "int32_t refreshGetTableMeta(STranslateContext* pCxt, const char* pDbName,
      const char* pTableName,\n                                   STableMeta** pMeta)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:885,1
    - Dst: collectUseDatabaseImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:886,1
    - Dst: getDbVgInfoFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:889,1
    - Dst: catalogGetDBVgList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:895,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:899,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pVgInfo
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 882
    functionDepth: 9
    functionLinenumber: 882
    functionLinenumberEnd: 903
    functionName: getDBVgInfoImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - getDbVgInfoFromCache
    - collectUseDatabaseImpl
    - catalogGetDBVgList
    - tstrerror
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDBVgInfoImpl(STranslateContext* pCxt, const SName* pName,
      SArray** pVgInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:907,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:907,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:910,1
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pVgInfo
    argTypes:
    - STranslateContext*
    - char*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 905
    functionDepth: 10
    functionLinenumber: 905
    functionLinenumberEnd: 912
    functionName: getDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tNameSetDbName
    - getDBVgInfoImpl
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDBVgInfo(STranslateContext* pCxt, const char* pDbName, SArray**
      pVgInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:916,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:918,1
    - Dst: getDbTableVgroupFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:923,1
    - Dst: getTableVgroupFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:925,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:932,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:936,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:937,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pInfo
    argTypes:
    - STranslateContext*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 914
    functionDepth: 10
    functionLinenumber: 914
    functionLinenumberEnd: 940
    functionName: getTableHashVgroupImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - collectUseTable
    - catalogGetTableHashVgroup
    - getTableVgroupFromCache
    - collectUseDatabase
    - getDbTableVgroupFromCache
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableHashVgroupImpl(STranslateContext* pCxt, const SName*
      pName, SVgroupInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:945,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pInfo
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 942
    functionDepth: 11
    functionLinenumber: 942
    functionLinenumberEnd: 947
    functionName: getTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toName
    - getTableHashVgroupImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getTableHashVgroup(STranslateContext* pCxt, const char* pDbName,
      const char* pTableName,\n                                  SVgroupInfo* pInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:952,1
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - vgId
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 949
    functionDepth: 12
    functionLinenumber: 949
    functionLinenumberEnd: 955
    functionName: getTableVgId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableHashVgroup
    - PAR_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableVgId(STranslateContext* pCxt, const char* pDbName,
      const char* pTableName, int32_t* vgId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabaseImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:960,1
    - Dst: getDbVgVersionFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:963,1
    - Dst: catalogGetDBVgVersion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:965,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:969,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - pCxt
    - pDbFName
    - pVersion
    - pDbId
    - pTableNum
    - pStateTs
    argTypes:
    - STranslateContext*
    - char*
    - int32_t*
    - int64_t*
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 957
    functionDepth: 6
    functionLinenumber: 957
    functionLinenumberEnd: 973
    functionName: getDBVgVersion
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - getDbVgVersionFromCache
    - collectUseDatabaseImpl
    - tstrerror
    - catalogGetDBVgVersion
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getDBVgVersion(STranslateContext* pCxt, const char* pDbFName,
      int32_t* pVersion, int64_t* pDbId,\n                              int32_t* pTableNum,
      int64_t* pStateTs)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:976,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:982,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:982,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:985,1
    - Dst: collectUseDatabaseImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:986,1
    - Dst: getDbCfgFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:989,1
    - Dst: catalogGetDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:996,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1000,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pInfo
    argTypes:
    - STranslateContext*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 975
    functionDepth: 9
    functionLinenumber: 975
    functionLinenumberEnd: 1004
    functionName: getDBCfg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - getDbCfgFromCache
    - collectUseDatabaseImpl
    - tNameSetDbName
    - catalogGetDBCfg
    - tstrerror
    - strlen
    - tNameGetFullDbName
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDBCfg(STranslateContext* pCxt, const char* pDbName, SDbCfgInfo*
      pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getUdfInfoFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1011,1
    - Dst: catalogGetUdfInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1018,1
    - Dst: tFreeSFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1026,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1029,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1006
    functionDepth: 8
    functionLinenumber: 1006
    functionLinenumberEnd: 1033
    functionName: getUdfInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - catalogGetUdfInfo
    - getUdfInfoFromCache
    - tstrerror
    - tFreeSFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t getUdfInfo(STranslateContext* pCxt, SFunctionNode* pFunc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1038,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1040,1
    - Dst: getTableIndexFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1044,1
    - Dst: catalogGetTableIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1051,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1055,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pIndexes
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1036
    functionDepth: 9
    functionLinenumber: 1036
    functionLinenumberEnd: 1059
    functionName: getTableIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - catalogGetTableIndex
    - parserError
    - collectUseTable
    - getTableIndexFromCache
    - collectUseDatabase
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableIndex(STranslateContext* pCxt, const SName* pName,
      SArray** pIndexes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDnodeListFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1066,1
    - Dst: catalogGetDnodeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1072,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1075,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDnodes
    argTypes:
    - STranslateContext*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1062
    functionDepth: 8
    functionLinenumber: 1062
    functionLinenumberEnd: 1078
    functionName: getDnodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - catalogGetDnodeList
    - getDnodeListFromCache
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDnodeList(STranslateContext* pCxt, SArray** pDnodes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1084,1
    - Dst: catalogGetTableTsmas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1090,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1093,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pName
    - ppTsmas
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1080
    functionDepth: 9
    functionLinenumber: 1080
    functionLinenumberEnd: 1096
    functionName: getTableTsmas
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - getTableTsmasFromCache
    - catalogGetTableTsmas
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableTsmas(STranslateContext* pCxt, const SName* pName,
      SArray** ppTsmas)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTsmaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1102,1
    - Dst: catalogGetTsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1108,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1111,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pTsma
    argTypes:
    - STranslateContext*
    - SName*
    - STableTSMAInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1098
    functionDepth: 9
    functionLinenumber: 1098
    functionLinenumberEnd: 1114
    functionName: getTsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - catalogGetTsma
    - getTsmaFromCache
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTsma(STranslateContext* pCxt, const SName* pName, STableTSMAInfo**
      pTsma)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SParseStreamInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1125
    functionName: initStreamInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initStreamInfo(SParseStreamInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1133,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1139,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1139,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1140,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1140,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1141,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1141,1
    - Dst: initStreamInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1142,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pParseCxt
    - pMetaCache
    - isSubCtx
    - pCxt
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - bool
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1127
    functionDepth: 4
    functionLinenumber: 1127
    functionLinenumberEnd: 1147
    functionName: initTranslateContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - taosHashInit
    - initStreamInfo
    - taosArrayInit
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initTranslateContext(SParseContext* pParseCxt, SParseMetaCache*
      pMetaCache, bool isSubCtx,\n                                    STranslateContext*
      pCxt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1151,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1158,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1158,1
    - Dst: taosArrayPopTailBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1160,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1169
    functionName: resetHighLevelTranslateNamespace
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPopTailBatch
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetHighLevelTranslateNamespace(STranslateContext* pCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1173,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1175,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1175,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1177,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1184
    functionName: resetTranslateNamespace
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetTranslateNamespace(STranslateContext* pCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1188,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1190,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1190,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1192,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1196,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1197,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1200,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1201,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1202,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1186
    functionDepth: 6
    functionLinenumber: 1186
    functionLinenumberEnd: 1204
    functionName: destroyTranslateContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - nodesDestroyList
    - taosHashCleanup
    - taosArrayGetSize
    - taosArrayDestroy
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void destroyTranslateContext(STranslateContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1208
    functionName: isSelectStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isSelectStmt(SNode* pCurrStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1212
    functionName: isDeleteStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isDeleteStmt(SNode* pCurrStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1216
    functionName: isSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isSetOperator(SNode* pCurrStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1220
    functionName: isCreateTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isCreateTSMAStmt(SNode* pCurrStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1223,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1222
    functionDepth: 2
    functionLinenumber: 1222
    functionLinenumberEnd: 1230
    functionName: getProjectListFromCurrStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - isSetOperator
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * getProjectListFromCurrStmt(SNode* pCurrStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1233,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1236,1
    - Dst: isDeleteStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1239,1
    - Dst: isCreateTSMAStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCurrStmt
    - defaultVal
    argTypes:
    - SNode*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1246
    functionName: getPrecisionFromCurrStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - isDeleteStmt
    - isSetOperator
    - isCreateTSMAStmt
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getPrecisionFromCurrStmt(SNode* pCurrStmt, uint8_t defaultVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1250
    functionName: isAliasColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isAliasColumn(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1253,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1254
    functionName: isAggFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsAggFunc
    linkageType: ''
    returnType: bool
    signature: bool isAggFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1258,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1259
    functionName: isSelectFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsSelectFunc
    linkageType: ''
    returnType: bool
    signature: bool isSelectFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1263,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1264
    functionName: isWindowPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsWindowPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: bool isWindowPseudoColumnFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1267,1
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1268
    functionName: isInterpFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - nodeType
    - fmIsInterpFunc
    linkageType: ''
    returnType: bool
    signature: bool isInterpFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1271,1
    - Dst: fmIsInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1272
    functionName: isInterpPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsInterpPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: bool isInterpPseudoColumnFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1275,1
    - Dst: fmIsForecastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1276
    functionName: isForecastFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsForecastFunc
    linkageType: ''
    returnType: bool
    signature: bool isForecastFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1279,1
    - Dst: fmIsAnalysisPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1280
    functionName: isForecastPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsAnalysisPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: bool isForecastPseudoColumnFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1283,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1282
    functionDepth: 2
    functionLinenumber: 1282
    functionLinenumberEnd: 1284
    functionName: isColsFunctionResult
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesIsExprNode
    - isRelatedToOtherExpr
    linkageType: ''
    returnType: bool
    signature: bool isColsFunctionResult(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1287,1
    - Dst: fmIsMultiRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1287,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1289
    functionName: isInvalidColsBindFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsIndefiniteRowsFunc
    - fmIsMultiRowsFunc
    - fmIsSelectFunc
    linkageType: ''
    returnType: bool
    signature: bool isInvalidColsBindFunction(const SFunctionNode* pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1293,1
    - Dst: fmIsTimelineFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1294
    functionName: isTimelineFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsTimelineFunc
    linkageType: ''
    returnType: bool
    signature: bool isTimelineFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1298,1
    - Dst: fmIsImplicitTsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1299
    functionName: isImplicitTsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsImplicitTsFunc
    linkageType: ''
    returnType: bool
    signature: bool isImplicitTsFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1302,1
    - Dst: fmIsPrimaryKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1303
    functionName: isPkFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsPrimaryKeyFunc
    linkageType: ''
    returnType: bool
    signature: bool isPkFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1306,1
    - Dst: fmIsScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1307
    functionName: isScanPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsScanPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: bool isScanPseudoColumnFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1310,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1311
    functionName: isIndefiniteRowsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsIndefiniteRowsFunc
    linkageType: ''
    returnType: bool
    signature: bool isIndefiniteRowsFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1314,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1315
    functionName: isVectorFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsVectorFunc
    linkageType: ''
    returnType: bool
    signature: bool isVectorFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1318,1
    - Dst: fmIsSelectColsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1319
    functionName: isColsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsSelectColsFunc
    linkageType: ''
    returnType: bool
    signature: bool isColsFunc(const SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1321
    functionDepth: 2
    functionLinenumber: 1321
    functionLinenumberEnd: 1324
    functionName: isDistinctOrderBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    linkageType: ''
    returnType: bool
    signature: bool isDistinctOrderBy(STranslateContext* pCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1329,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCol
    - pTable
    argTypes:
    - SColumnNode*
    - STableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1335
    functionName: belongTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool belongTable(const SColumnNode* pCol, const STableNode* pTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1338,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1344
    functionName: getProjectList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * getProjectList(const SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1347,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1353
    functionName: hasGroupOrPartition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool hasGroupOrPartition(const SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1356,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1365
    functionName: isBlockTimeLineQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isBlockTimeLineQuery(SNode* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1368,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1377
    functionName: isTimeLineQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isTimeLineQuery(SNode* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1380,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1387
    functionName: isGlobalTimeLineQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isGlobalTimeLineQuery(SNode* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1390,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1397
    functionName: isCurGlobalTimeLineQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isCurGlobalTimeLineQuery(SNode* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isBlockTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1401,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1404,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1399
    functionDepth: 3
    functionLinenumber: 1399
    functionLinenumberEnd: 1412
    functionName: isBlockTimeLineAlignedQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListMatch
    - isBlockTimeLineQuery
    linkageType: ''
    returnType: bool
    signature: bool isBlockTimeLineAlignedQuery(SNode* pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1422,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1424,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1430,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1433,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1435,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pOrderList
    - nodesNum
    - ppOut
    argTypes:
    - SNodeList*
    - int32_t
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1414
    functionDepth: 6
    functionLinenumber: 1414
    functionLinenumberEnd: 1443
    functionName: buildPartitionListFromOrderList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - isPrimaryKeyImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildPartitionListFromOrderList(SNodeList* pOrderList, int32_t
      nodesNum, SNodeList** ppOut)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1448,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1452,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1456,1
    - Dst: buildPartitionListFromOrderList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1462,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1464,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1465,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1476,1
    - Dst: buildPartitionListFromOrderList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1480,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1482,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1483,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - pStmt
    - pRes
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1445
    functionDepth: 7
    functionLinenumber: 1445
    functionLinenumberEnd: 1495
    functionName: isTimeLineAlignedQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isTimeLineQuery
    - nodesListMatch
    - nodesDestroyList
    - buildPartitionListFromOrderList
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t isTimeLineAlignedQuery(SNode* pStmt, bool* pRes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1501,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1503,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1508,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1508,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1519,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1524,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1527,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 28
    argCount: 1
    argNames:
    - pExpr
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1497
    functionDepth: 1
    functionLinenumber: 1497
    functionLinenumberEnd: 1533
    functionName: isPrimaryKeyImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 6
    functionsReached:
    - nodeType
    - nodesListGetNode
    - isPrimaryKeyImpl
    linkageType: ''
    returnType: bool
    signature: bool isPrimaryKeyImpl(SNode* pExpr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1536,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pTable
    - pExpr
    argTypes:
    - STempTableNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1540
    functionName: isPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isTimeLineQuery
    - isPrimaryKeyImpl
    linkageType: ''
    returnType: bool
    signature: bool isPrimaryKey(STempTableNode* pTable, SNode* pExpr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1545,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1550
    functionName: hasPkInTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 3
    functionsReached:
    - uDebug
    linkageType: ''
    returnType: bool
    signature: bool hasPkInTable(const STableMeta* pTableMeta)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1554,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1555,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1556,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1557,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1559,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1562,1
    - Dst: fillTypeFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1577,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1584,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1587,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1588,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1589,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1595,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1596,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1597,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 5
    argNames:
    - pTable
    - pColSchema
    - tagFlag
    - pColRefMap
    - pCol
    argTypes:
    - SVirtualTableNode*
    - SSchema*
    - int32_t
    - SHashObj*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1601
    functionName: setVtbColumnInfoBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcpy
    - tstrncpy
    - taosHashGet
    - fillTypeFromTypeMod
    linkageType: ''
    returnType: void
    signature: "void setVtbColumnInfoBySchema(const SVirtualTableNode* pTable, const
      SSchema* pColSchema, int32_t tagFlag,\n                                     SHashObj*
      pColRefMap, SColumnNode* pCol)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1605,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1606,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1607,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1608,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1610,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1613,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1619,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1625,1
    - Dst: fillTypeFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - pTable
    - pColSchema
    - tagFlag
    - pCol
    - pExtSchema
    argTypes:
    - SRealTableNode*
    - SSchema*
    - int32_t
    - SColumnNode*
    - SSchemaExt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1603
    functionDepth: 1
    functionLinenumber: 1603
    functionLinenumberEnd: 1630
    functionName: setColumnInfoBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_IDX_ON
    - tstrncpy
    - hasPkInTable
    - fillTypeFromTypeMod
    linkageType: ''
    returnType: void
    signature: "void setColumnInfoBySchema(const SRealTableNode* pTable, const SSchema*
      pColSchema, int32_t tagFlag,\n                                  SColumnNode*
      pCol, const SSchemaExt* pExtSchema)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1636,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1642,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1646,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1647,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1649,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1654,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1656,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1659,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - pTable
    - pExpr
    - pColRef
    - joinSrc
    argTypes:
    - STempTableNode*
    - SExprNode*
    - SColumnNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1632
    functionDepth: 2
    functionLinenumber: 1632
    functionLinenumberEnd: 1664
    functionName: setColumnInfoByExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - nodeType
    - tstrncpy
    - isPrimaryKeyImpl
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t setColumnInfoByExpr(STempTableNode* pTable, SExprNode* pExpr,
      SColumnNode** pColRef, bool joinSrc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1673,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1674,1
    - Dst: IS_SEMI_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1690,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1691,1
    - Dst: IS_SEMI_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1696,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1697,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pTable
    argTypes:
    - STranslateContext*
    - SColumnNode*
    - STableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1705
    functionName: setColumnPrimTs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - IS_SEMI_JOIN
    - strcmp
    linkageType: ''
    returnType: void
    signature: void setColumnPrimTs(STranslateContext* pCxt, SColumnNode* pCol, const
      STableNode* pTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1707
    functionName: inStreamTriggerClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inStreamTriggerClause(STranslateContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1709
    functionName: inStreamCalcClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inStreamCalcClause(STranslateContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1711
    functionName: inStreamOutTableClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inStreamOutTableClause(STranslateContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1713
    functionName: getStreamTriggerPartition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * getStreamTriggerPartition(STranslateContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1715
    functionName: getStreamTriggerTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SNode
    signature: SNode * getStreamTriggerTable(STranslateContext* pCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: invisibleColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1728,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1732,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1732,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1735,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1737,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1738,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1738,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1744,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1744,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pTable
    - igTags
    - pList
    argTypes:
    - STranslateContext*
    - STableNode*
    - bool
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1717
    functionDepth: 5
    functionLinenumber: 1717
    functionLinenumberEnd: 1747
    functionName: createColumnByRealTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesListStrictAppend
    - nodesMakeNode
    - PAR_ERR_JRET
    - tstrerror
    - invisibleColumn
    - nodesDestroyNode
    - setColumnInfoBySchema
    - setColumnPrimTs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createColumnByRealTable(STranslateContext* pCxt, const STableNode*
      pTable, bool igTags,\n                                       SNodeList* pList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1755,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1760,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1760,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1762,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1762,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1765,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1765,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1766,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1768,1
    - Dst: setColumnInfoByExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1768,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1776,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1776,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - pCxt
    - pTable
    - igTags
    - pList
    - skipProjRef
    argTypes:
    - STranslateContext*
    - STableNode*
    - bool
    - SNodeList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1749
    functionDepth: 5
    functionLinenumber: 1749
    functionLinenumberEnd: 1781
    functionName: createColumnsByTempTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesListStrictAppend
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    - setColumnInfoByExpr
    - nodesMakeNode
    - tstrerror
    - nodesDestroyNode
    - getProjectList
    - PAR_ERR_JRET
    - nodesListGetCell
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createColumnsByTempTable(STranslateContext* pCxt, const STableNode*
      pTable, bool igTags,\n                                        SNodeList* pList,
      bool skipProjRef)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1760,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1760,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1762,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1762,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1765,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1765,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1766,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1768,1
    - Dst: setColumnInfoByExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1759
    functionDepth: 5
    functionLinenumber: 1759
    functionLinenumberEnd: 1772
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 203
    functionsReached:
    - nodesListStrictAppend
    - LIST_LENGTH
    - QUERY_CHECK_NULL
    - setColumnInfoByExpr
    - nodesMakeNode
    - PAR_ERR_JRET
    - nodesListGetCell
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pProjectList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1795,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1795,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1796,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1804,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1804,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1809,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1809,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1810,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1812,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1813,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1813,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1817,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1821,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1821,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1822,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - pCxt
    - pTable
    - igTags
    - pList
    argTypes:
    - STranslateContext*
    - STableNode*
    - bool
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1783
    functionDepth: 5
    functionLinenumber: 1783
    functionLinenumberEnd: 1825
    functionName: createColumnsByVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesListStrictAppend
    - QUERY_CHECK_NULL
    - nodesMakeNode
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - tstrerror
    - nodesDestroyNode
    - taosHashPut
    - setColumnPrimTs
    - PAR_ERR_JRET
    - setVtbColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createColumnsByVirtualTable(STranslateContext* pCxt, const
      STableNode* pTable, bool igTags,\n                                           SNodeList*
      pList)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1829,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1831,1
    - Dst: createColumnByRealTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1831,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1833,1
    - Dst: createColumnsByTempTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1833,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1835,1
    - Dst: createColumnsByVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1835,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1837,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - pCxt
    - pTable
    - igTags
    - pList
    - skipProjRef
    argTypes:
    - STranslateContext*
    - STableNode*
    - bool
    - SNodeList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1827
    functionDepth: 6
    functionLinenumber: 1827
    functionLinenumberEnd: 1840
    functionName: createColumnsByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_RET
    - createColumnsByVirtualTable
    - createColumnsByTempTable
    - nodeType
    - createColumnByRealTable
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createColumnsByTable(STranslateContext* pCxt, const STableNode*
      pTable, bool igTags, SNodeList* pList,\n                                    bool
      skipProjRef)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1844,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCol
    argTypes:
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1845
    functionName: isInternalPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isInternalPrimaryKey(const SColumnNode* pCol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1848,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1851,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1856,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1858,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCol
    - pFuncNode
    argTypes:
    - SColumnNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1847
    functionDepth: 5
    functionLinenumber: 1847
    functionLinenumberEnd: 1863
    functionName: createTbnameFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - snprintf
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTbnameFunctionNode(SColumnNode* pCol, SFunctionNode**
      pFuncNode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1872,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1874,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1877,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1883,1
    - Dst: createTbnameFunctionNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1885,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1888,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1897,1
    - Dst: invisibleColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1898,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1899,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1903,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1905,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1912,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1912,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1913,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1913,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1914,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1914,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 4
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1865
    functionDepth: 6
    functionLinenumber: 1865
    functionLinenumberEnd: 1922
    functionName: findAndSetRealTableColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - generateSyntaxErrMsg
    - isInternalPrimaryKey
    - strncmp
    - createTbnameFunctionNode
    - invisibleColumn
    - nodesDestroyNode
    - setColumnInfoBySchema
    - setColumnPrimTs
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t findAndSetRealTableColumn(STranslateContext* pCxt, SColumnNode**
      pColRef, STableNode* pTable,\n                                         bool*
      pFound)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1929,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1935,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1937,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1942,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1942,1
    - Dst: setColumnInfoByExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1950,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1924
    functionDepth: 3
    functionLinenumber: 1924
    functionLinenumberEnd: 1956
    functionName: findAndSetTempTableColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - isInternalPrimaryKey
    - setColumnInfoByExpr
    - isPrimaryKeyImpl
    - getProjectList
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t findAndSetTempTableColumn(STranslateContext* pCxt, SColumnNode**
      pColRef, STableNode* pTable,\n                                         bool*
      pFound)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1935,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1937,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1942,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1942,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1933
    functionDepth: 2
    functionLinenumber: 1933
    functionLinenumberEnd: 1948
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 203
    functionsReached:
    - generateSyntaxErrMsg
    - isPrimaryKeyImpl
    - strcmp
    - isInternalPrimaryKey
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pProjectList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1964,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1965,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1973,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1974,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1958
    functionDepth: 2
    functionLinenumber: 1958
    functionLinenumberEnd: 1983
    functionName: findAndSetVirtualTableColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcmp
    - setColumnPrimTs
    - setVtbColumnInfoBySchema
    - isInternalPrimaryKey
    linkageType: ''
    returnType: int32_t
    signature: "int32_t findAndSetVirtualTableColumn(STranslateContext* pCxt, SColumnNode**
      pColRef, STableNode* pTable,\n                                            bool*
      pFound)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1992,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1993,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1996,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1996,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2011,1
    - Dst: findAndSetRealTableColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2013,1
    - Dst: findAndSetTempTableColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2016,1
    - Dst: findAndSetVirtualTableColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2019,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2027,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 5
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    - keepOriginTable
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 1985
    functionDepth: 7
    functionLinenumber: 1985
    functionLinenumberEnd: 2030
    functionName: findAndSetColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - findAndSetRealTableColumn
    - findAndSetTempTableColumn
    - isInternalPrimaryKey
    - nodeType
    - IS_WINDOW_JOIN
    - findAndSetVirtualTableColumn
    linkageType: ''
    returnType: int32_t
    signature: "int32_t findAndSetColumn(STranslateContext* pCxt, SColumnNode** pColRef,
      STableNode* pTable, bool* pFound,\n                                bool keepOriginTable)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2035,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2036,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2039,1
    - Dst: belongTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2040,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2043,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2050,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2061,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2063,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2066,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2067,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2072,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pCol
    argTypes:
    - STranslateContext*
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2032
    functionDepth: 8
    functionLinenumber: 2032
    functionLinenumberEnd: 2083
    functionName: translateColumnWithPrefix
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - belongTable
    - findAndSetColumn
    - nodeType
    - strncmp
    - taosArrayGetSize
    - generateDealNodeErrMsg
    - taosArrayGetP
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateColumnWithPrefix(STranslateContext* pCxt, SColumnNode**
      pCol)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2089,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2090,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2091,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2095,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2097,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2088
    functionDepth: 8
    functionLinenumber: 2088
    functionLinenumberEnd: 2113
    functionName: translateColumnWithoutPrefix
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - findAndSetColumn
    - isInternalPrimaryKey
    - taosArrayGetSize
    - generateDealNodeErrMsg
    - taosArrayGetP
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateColumnWithoutPrefix(STranslateContext* pCxt, SColumnNode**
      pCol, bool* pFound)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: translateColumnWithoutPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2115
    functionDepth: 9
    functionLinenumber: 2115
    functionLinenumberEnd: 2136
    functionName: translateSubQColumnWithoutPrefix
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateColumnWithoutPrefix
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateSubQColumnWithoutPrefix(STranslateContext* pCxt,
      SColumnNode** pCol, bool* pFound)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getProjectListFromCurrStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2144,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2150,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2152,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2155,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2163,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2163,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2167,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2173,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2143
    functionDepth: 5
    functionLinenumber: 2143
    functionLinenumberEnd: 2182
    functionName: translateColumnUseAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - nodeType
    - nodesEqualNode
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - nodesCloneNode
    - fmIsPlaceHolderFunc
    - strcmp
    - getProjectListFromCurrStmt
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateColumnUseAlias(STranslateContext* pCxt, SColumnNode**
      pCol, bool* pFound)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2150,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2152,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2148
    functionDepth: 5
    functionLinenumber: 2148
    functionLinenumberEnd: 2161
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 203
    functionsReached:
    - generateSyntaxErrMsg
    - nodesEqualNode
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pProjectionList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2186,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2187,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2188,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2190,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pExprStr
    - len
    - pAlias
    argTypes:
    - char*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2184
    functionDepth: 1
    functionLinenumber: 2184
    functionLinenumberEnd: 2194
    functionName: biMakeAliasNameInMD5
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tMD5Final
    - tListLen
    - snprintf
    - tMD5Update
    - tMD5Init
    linkageType: ''
    returnType: void
    signature: void biMakeAliasNameInMD5(char* pExprStr, int32_t len, char* pAlias)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2201,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2203,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2205,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2209,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2215,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2217,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2221,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2223,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2228,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2230,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2236,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2239,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2240,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2246,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2248,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2250,1
    - Dst: biMakeAliasNameInMD5
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2252,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2252,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2257,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2261,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 3
    argNames:
    - funcName
    - tableAlias
    - pOutNode
    argTypes:
    - char*
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2196
    functionDepth: 6
    functionLinenumber: 2196
    functionLinenumberEnd: 2263
    functionName: biMakeTbnameProjectAstNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrdup
    - nodesListMakeStrictAppend
    - biMakeAliasNameInMD5
    - nodesMakeNode
    - snprintf
    - tstrncpy
    - strlen
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t biMakeTbnameProjectAstNode(char* funcName, char* tableAlias,
      SNode** pOutNode)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2268,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2272,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2272,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2273,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2277,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2278,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2279,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2281,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2282,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2285,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2286,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2289,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2290,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2293,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2296,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2297,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2301,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2302,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2304,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2305,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2312,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pNode
    - pSelectListCell
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SNode*
    - SListCell*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2265
    functionDepth: 7
    functionLinenumber: 2265
    functionLinenumberEnd: 2314
    functionName: biRewriteSelectFuncParamStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - biMakeTbnameProjectAstNode
    - nodesMakeList
    - nodesListStrictAppend
    - LIST_LENGTH
    - strcasecmp
    - nodesIsTableStar
    - nodesDestroyList
    - nodeType
    - nodesIsStar
    - taosArrayGetSize
    - nodesListInsertListAfterPos
    - findTable
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: "int32_t biRewriteSelectFuncParamStar(STranslateContext* pCxt, SSelectStmt*
      pSelect, SNode* pNode,\n                                            SListCell*
      pSelectListCell)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2277,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2278,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2279,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2281,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2282,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2285,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2286,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2289,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2290,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2293,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2296,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2297,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2301,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2302,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2304,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2305,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2310
      start: 2276
    functionDepth: 7
    functionLinenumber: 2276
    functionLinenumberEnd: 2310
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 203
    functionsReached:
    - biMakeTbnameProjectAstNode
    - nodesListStrictAppend
    - LIST_LENGTH
    - nodesIsTableStar
    - nodeType
    - nodesIsStar
    - taosArrayGetSize
    - nodesListInsertListAfterPos
    - findTable
    - taosArrayGetP
    linkageType: ''
    returnType: void
    signature: void FOREACH(pPara, pParams)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2322,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2324,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2325,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2326,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2327,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2329,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2330,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2333,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2334,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2337,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2338,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2341,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2344,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2345,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2348,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2349,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2351,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2352,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2355,1
    - Dst: biRewriteSelectFuncParamStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2356,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2361,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2318
    functionDepth: 8
    functionLinenumber: 2318
    functionLinenumberEnd: 2364
    functionName: biRewriteSelectStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - biMakeTbnameProjectAstNode
    - nodesMakeList
    - nodesListStrictAppend
    - LIST_LENGTH
    - nodesDestroyList
    - nodesIsTableStar
    - WHERE_EACH
    - nodeType
    - nodesIsStar
    - biRewriteSelectFuncParamStar
    - taosArrayGetSize
    - nodesListInsertListAfterPos
    - findTable
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t biRewriteSelectStar(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2368,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2369,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2371,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2375,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2376,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRet
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2366
    functionDepth: 7
    functionLinenumber: 2366
    functionLinenumberEnd: 2386
    functionName: biRewriteToTbnameFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - biMakeTbnameProjectAstNode
    - strcasecmp
    - nodeType
    - tstrncpy
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t biRewriteToTbnameFunc(STranslateContext* pCxt, SNode** ppNode,
      bool* pRet)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2393,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2394,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2404,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pTags
    - pCols
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2388
    functionDepth: 1
    functionLinenumber: 2388
    functionLinenumberEnd: 2412
    functionName: biCheckCreateTableTbnameCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t biCheckCreateTableTbnameCol(STranslateContext* pCxt, SNodeList*
      pTags, SNodeList* pCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2393,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2391
    functionDepth: 1
    functionLinenumber: 2391
    functionLinenumberEnd: 2398
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 203
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2404,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2409
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 203
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - clause
    argTypes:
    - ESqlClause
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2416
    functionName: clauseSupportAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clauseSupportAlias(ESqlClause clause)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2421,1
    - Dst: biRewriteToTbnameFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2428,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2431,1
    - Dst: translateColumnWithPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2437,1
    - Dst: translateColumnWithoutPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2440,1
    - Dst: translateColumnUseAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2442,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2446,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2447,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2448,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2450,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2452,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - translateAsAlias
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2418
    functionDepth: 9
    functionLinenumber: 2418
    functionLinenumberEnd: 2457
    functionName: translateColumnInGroupByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - translateFunction
    - isInternalPrimaryKey
    - biRewriteToTbnameFunc
    - translateColumnUseAlias
    - translateColumnWithPrefix
    - translateColumnWithoutPrefix
    - generateDealNodeErrMsg
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateColumnInGroupByClause(STranslateContext* pCxt, SColumnNode**
      pCol, bool* translateAsAlias)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2461,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2462,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2466,1
    - Dst: biRewriteToTbnameFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2473,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2476,1
    - Dst: translateColumnWithPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2483,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2488,1
    - Dst: translateColumnUseAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2489,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2491,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2501,1
    - Dst: translateColumnUseAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2502,1
    - Dst: translateColumnWithoutPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2511,1
    - Dst: clauseSupportAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2518,1
    - Dst: translateColumnUseAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2519,1
    - Dst: translateSubQColumnWithoutPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2523,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2527,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2528,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2529,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2531,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2533,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 49
    argCount: 2
    argNames:
    - pCxt
    - pCol
    argTypes:
    - STranslateContext*
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2459
    functionDepth: 10
    functionLinenumber: 2459
    functionLinenumberEnd: 2538
    functionName: translateColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSetOperator
    - isSelectStmt
    - translateFunction
    - clauseSupportAlias
    - translateSubQColumnWithoutPrefix
    - isInternalPrimaryKey
    - biRewriteToTbnameFunc
    - translateColumnUseAlias
    - translateColumnWithPrefix
    - translateColumnWithoutPrefix
    - generateDealNodeErrMsg
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateColumn(STranslateContext* pCxt, SColumnNode** pCol)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2541,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2542,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2546,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2548,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2557,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2559,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2559,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2563,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2540
    functionDepth: 1
    functionLinenumber: 2540
    functionLinenumberEnd: 2568
    functionName: parseTimeFromValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateValue
    - IS_NUMERIC_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - strlen
    - taosStr2Int64
    - IS_VAR_DATA_TYPE
    - taosParseTime
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseTimeFromValueNode(STranslateContext* pCxt, SValueNode*
      pVal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2571,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2572,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2574,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2575,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2577,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2570
    functionDepth: 1
    functionLinenumber: 2570
    functionLinenumberEnd: 2583
    functionName: parseBoolFromValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - IS_FLOAT_TYPE
    - IS_INTEGER_TYPE
    - taosStr2Double
    - taosStr2Int64
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseBoolFromValueNode(STranslateContext* pCxt, SValueNode*
      pVal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2586,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2586,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2588,1
    - Dst: parseNatualDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2589,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2589,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2585
    functionDepth: 1
    functionLinenumber: 2585
    functionLinenumberEnd: 2595
    functionName: translateDurationValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getPrecisionUnit
    - parseNatualDuration
    - strncmp
    - strlen
    - generateDealNodeErrMsg
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateDurationValue(STranslateContext* pCxt, SValueNode*
      pVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseNatualDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2598,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2598,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2597
    functionDepth: 1
    functionLinenumber: 2597
    functionLinenumberEnd: 2604
    functionName: translateTimeOffsetValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - generateDealNodeErrMsg
    - parseNatualDuration
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateTimeOffsetValue(STranslateContext* pCxt, SValueNode*
      pVal)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: parseBoolFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2610,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2611,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2616,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2616,1
    - Dst: IS_VALID_TINYINT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2617,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2618,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2624,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2624,1
    - Dst: IS_VALID_SMALLINT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2625,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2626,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2632,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2632,1
    - Dst: IS_VALID_INT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2633,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2634,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2640,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2640,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2642,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2648,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2648,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2650,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2656,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2656,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2658,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2664,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2664,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2666,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2672,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2672,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2674,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2680,1
    - Dst: IS_VALID_FLOAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2681,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2682,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2688,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2690,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2690,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2691,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2698,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2703,1
    - Dst: isHex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2704,1
    - Dst: isValidateHex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2706,1
    - Dst: taosHex2Ascii
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2709,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2718,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2719,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2721,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2723,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2724,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2726,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2727,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2727,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2728,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2733,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2733,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2735,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2737,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2738,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2740,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2742,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2743,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2743,1
    - Dst: parseTimeFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2747,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2748,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2754,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2756,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2760,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2760,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2760,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2762,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2764,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2769,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 158
    argCount: 4
    argNames:
    - pCxt
    - pVal
    - targetDt
    - strict
    argTypes:
    - STranslateContext*
    - SValueNode*
    - SDataType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2774
      start: 2606
    functionDepth: 2
    functionLinenumber: 2606
    functionLinenumberEnd: 2774
    functionName: translateNormalValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_VALID_SMALLINT
    - toUInteger
    - taosHex2Ascii
    - TMIN
    - isHex
    - toInteger
    - memcpy
    - taosStr2Double
    - varDataVal
    - IS_VALID_TINYINT
    - taosMemoryCalloc
    - parseTimeFromValueNode
    - parseBoolFromValueNode
    - tstrncpy
    - isnan
    - IS_VALID_FLOAT
    - isValidateHex
    - varDataSetLen
    - isinf
    - IS_VALID_INT
    - taosMemoryFree
    - strlen
    - taosMbsToUcs4
    - generateDealNodeErrMsg
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateNormalValue(STranslateContext* pCxt, SValueNode*
      pVal, SDataType targetDt, bool strict)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getPrecisionFromCurrStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2787,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2790,1
    - Dst: translateDurationValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2791,1
    - Dst: IS_TIME_OFFSET_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2792,1
    - Dst: translateTimeOffsetValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2793,1
    - Dst: translateNormalValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2795,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - pCxt
    - pVal
    - targetDt
    - strict
    argTypes:
    - STranslateContext*
    - SValueNode*
    - SDataType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2776
    functionDepth: 3
    functionLinenumber: 2776
    functionLinenumberEnd: 2805
    functionName: translateValueImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DURATION_VAL
    - translateDurationValue
    - IS_TIME_OFFSET_VAL
    - getPrecisionFromCurrStmt
    - translateTimeOffsetValue
    - translateNormalValue
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateValueImpl(STranslateContext* pCxt, SValueNode* pVal,
      SDataType targetDt, bool strict)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - dt
    argTypes:
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2807
    functionDepth: 0
    functionLinenumber: 2807
    functionLinenumberEnd: 2817
    functionName: calcTypeBytes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcTypeBytes(SDataType dt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2825,1
    - Dst: translateValueImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2819
    functionDepth: 4
    functionLinenumber: 2819
    functionLinenumberEnd: 2827
    functionName: translateValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - calcTypeBytes
    - translateValueImpl
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateValue(STranslateContext* pCxt, SValueNode* pVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2829
    functionDepth: 5
    functionLinenumber: 2829
    functionLinenumberEnd: 2831
    functionName: doTranslateValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTranslateValue(STranslateContext* pCxt, SValueNode* pVal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2837,1
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2837,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2844,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2847,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2848,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2848,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2833
    functionDepth: 1
    functionLinenumber: 2833
    functionLinenumberEnd: 2849
    functionName: isMultiResFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    - fmIsMultiResFunc
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isMultiResFunc(SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - SDataType*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2853
    functionName: dataTypeEqual
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dataTypeEqual(const SDataType* l, const SDataType* r)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - SDataType*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2867
    functionName: dataTypeComp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataTypeComp(const SDataType* l, const SDataType* r)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: validateExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2874,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2877,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2883,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2884,1
    - Dst: getExprSubQueryResType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2885,1
    - Dst: validateExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2890,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2898,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2906,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2907,1
    - Dst: getExprSubQueryResType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2908,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2910,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2919,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2920,1
    - Dst: getExprSubQueryResType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2921,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2927,1
    - Dst: getExprSubQueryResCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2935,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2940,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2948,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2949,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 80
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - pSubQuery
    - rewriteType
    argTypes:
    - STranslateContext*
    - SNode**
    - SNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2965
      start: 2869
    functionDepth: 5
    functionLinenumber: 2869
    functionLinenumberEnd: 2965
    functionName: replaceExprSubQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getExprSubQueryResCols
    - getExprSubQueryResType
    - nodesMakeNode
    - tstrncpy
    - validateExprSubQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t replaceExprSubQuery(STranslateContext* pCxt, SNode** pNode,
      SNode* pSubQuery, int32_t rewriteType)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2984,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2987,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2987,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3010,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3010,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - opType
    - pSubq
    - pRes
    argTypes:
    - EOperatorType
    - SNode*
    - ESubQRewriteType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 2967
    functionDepth: 1
    functionLinenumber: 2967
    functionLinenumberEnd: 3012
    functionName: getExprSubQRewriteType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - operatorTypeStr
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getExprSubQRewriteType(EOperatorType opType, SNode* pSubq,
      ESubQRewriteType* pRes)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3018,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3020,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3026,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3028,1
    - Dst: createSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3032,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3034,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3040,1
    - Dst: getJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3046,1
    - Dst: getStmtPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3047,1
    - Dst: stmtIsSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3048,1
    - Dst: initTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3053,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3055,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3056,1
    - Dst: setCurrLevelNsFromParent
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3060,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3062,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3063,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3067,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3069,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3070,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3077,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3078,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3080,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 5
    argNames:
    - pCxt
    - stmtName
    - pProjectionList
    - pSubQ
    - ppStmt
    argTypes:
    - STranslateContext*
    - char*
    - SNodeList*
    - SNode*
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3014
    functionDepth: 7
    functionLinenumber: 3014
    functionLinenumberEnd: 3090
    functionName: createSimpleSubQStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setCurrLevelNsFromParent
    - createSelectStmtImpl
    - getJoinContais
    - nodesDestroyList
    - nodesMakeNode
    - nodeType
    - getStmtPrecision
    - tstrncpy
    - initTranslateContext
    - destroyTranslateContext
    - addNamespace
    - stmtIsSingleTable
    - nodesDestroyNode
    - translateExprList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSimpleSubQStmt(STranslateContext* pCxt, char* stmtName,
      SNodeList* pProjectionList, SNode* pSubQ,\n                                    SSelectStmt**
      ppStmt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3095,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3100,1
    - Dst: createColumnByExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3101,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3104,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3108,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3110,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3114,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3120,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3125,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3126,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3128,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 5
    argNames:
    - pCxt
    - stmtName
    - pSrcProjection
    - ppNew
    - isMin
    argTypes:
    - STranslateContext*
    - char*
    - SNodeList*
    - SNodeList**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3133
      start: 3092
    functionDepth: 6
    functionLinenumber: 3092
    functionLinenumberEnd: 3133
    functionName: createNewSubQProjectionList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesMakeNode
    - createColumnByExpr
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createNewSubQProjectionList(STranslateContext* pCxt, char*
      stmtName, SNodeList* pSrcProjection,\n                                           SNodeList**
      ppNew, bool isMin)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: validateExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3136,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3141,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3142,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3149,1
    - Dst: createNewSubQProjectionList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3157,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3159,1
    - Dst: createSimpleSubQStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3164,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3174,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - pCxt
    - pSubQuery
    - isMin
    argTypes:
    - STranslateContext*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3179
      start: 3135
    functionDepth: 8
    functionLinenumber: 3135
    functionLinenumberEnd: 3179
    functionName: rewriteExprSubQResToMinMax
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesDestroyList
    - LIST_LENGTH
    - createNewSubQProjectionList
    - nodeType
    - createSimpleSubQStmt
    - nodesDestroyNode
    - validateExprSubQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteExprSubQResToMinMax(STranslateContext* pCxt, SNode*
      pSubQuery, bool isMin)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getExprSubQRewriteType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3183,1
    - Dst: replaceExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3191,1
    - Dst: replaceExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3196,1
    - Dst: replaceExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3200,1
    - Dst: replaceExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3205,1
    - Dst: rewriteExprSubQResToMinMax
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3208,1
    - Dst: replaceExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3210,1
    - Dst: rewriteExprSubQResToMinMax
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3214,1
    - Dst: replaceExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3216,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3221,1
    - Dst: replaceExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3223,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3228,1
    - Dst: replaceExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3230,1
    - Dst: replaceExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3234,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - pCxt
    - pOp
    - ppSubQ
    argTypes:
    - STranslateContext*
    - SOperatorNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3239
      start: 3181
    functionDepth: 9
    functionLinenumber: 3181
    functionLinenumberEnd: 3239
    functionName: doRewriteExprSubQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeValueNodeFromInt32
    - rewriteExprSubQResToMinMax
    - replaceExprSubQuery
    - getExprSubQRewriteType
    linkageType: ''
    returnType: int32_t
    signature: int32_t doRewriteExprSubQuery(STranslateContext* pCxt, SOperatorNode*
      pOp, SNode** ppSubQ)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3251
      start: 3241
    functionDepth: 2
    functionLinenumber: 3241
    functionLinenumberEnd: 3251
    functionName: getNodeDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesIsExprNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t getNodeDataType(SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3255,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3255,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3260,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3261,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3268,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - leftType
    - rightType
    - opType
    argTypes:
    - int32_t
    - int32_t
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3253
    functionDepth: 1
    functionLinenumber: 3253
    functionLinenumberEnd: 3274
    functionName: isValidSubQCompDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - operatorTypeStr
    linkageType: ''
    returnType: bool
    signature: bool isValidSubQCompDataType(int32_t leftType, int32_t rightType, EOperatorType
      opType)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: isSubQueryNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3286,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3287,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3287,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3288,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3294,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3294,1
    - Dst: isValidSubQCompDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3299,1
    - Dst: getNodeDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3299,1
    - Dst: getNodeDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3299,1
    - Dst: doRewriteExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3304,1
    - Dst: isSubQueryNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3309,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3310,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3310,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3311,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3317,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3317,1
    - Dst: doRewriteExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3322,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3326,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3326,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 2
    argNames:
    - pCxt
    - pOp
    argTypes:
    - STranslateContext*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3334
      start: 3276
    functionDepth: 10
    functionLinenumber: 3276
    functionLinenumberEnd: 3334
    functionName: rewriteExprSubQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - doRewriteExprSubQuery
    - getNodeDataType
    - operatorTypeStr
    - nodeType
    - isSubQueryNode
    - isValidSubQCompDataType
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteExprSubQuery(STranslateContext* pCxt, SOperatorNode*
      pOp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3338,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3339,1
    - Dst: isMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3342,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3343,1
    - Dst: rewriteExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3348,1
    - Dst: scalarGetOperatorResultType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pOp
    argTypes:
    - STranslateContext*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3361
      start: 3336
    functionDepth: 11
    functionLinenumber: 3336
    functionLinenumberEnd: 3361
    functionName: translateOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - scalarGetOperatorResultType
    - generateDealNodeErrMsg
    - rewriteExprSubQuery
    - isMultiResFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateOperator(STranslateContext* pCxt, SOperatorNode*
      pOp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3364,1
    - Dst: isIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3364,1
    - Dst: isWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3364,1
    - Dst: isInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3365,1
    - Dst: isForecastPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3365,1
    - Dst: isColsFunctionResult
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3370
      start: 3363
    functionDepth: 3
    functionLinenumber: 3363
    functionLinenumberEnd: 3370
    functionName: haveVectorFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isForecastPseudoColumnFunc
    - isIndefiniteRowsFunc
    - isInterpPseudoColumnFunc
    - isColsFunctionResult
    - isAggFunc
    - isWindowPseudoColumnFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes haveVectorFunction(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3373,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3374,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3376,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3377,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pTableAlias
    - pOutput
    argTypes:
    - STranslateContext*
    - char*
    - STableNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3384
      start: 3372
    functionDepth: 1
    functionLinenumber: 3372
    functionLinenumberEnd: 3384
    functionName: findTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 3
    functionsReached:
    - generateSyntaxErrMsg
    - taosArrayGetP
    - strcmp
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t findTable(STranslateContext* pCxt, const char* pTableAlias,
      STableNode** pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3387,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3390,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3391,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3392
      start: 3386
    functionDepth: 1
    functionLinenumber: 3386
    functionLinenumberEnd: 3392
    functionName: isCountStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isCountStar(SFunctionNode* pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3397,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3404,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3407,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3407,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3411
      start: 3394
    functionDepth: 5
    functionLinenumber: 3394
    functionLinenumberEnd: 3411
    functionName: rewriteCountStarAsCount1
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesSetValueNodeValue
    - nodesListErase
    - nodesMakeNode
    - nodesListAppend
    - nodesListGetCell
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCountStarAsCount1(STranslateContext* pCxt, SFunctionNode*
      pCount)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3414,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3434
      start: 3413
    functionDepth: 1
    functionLinenumber: 3413
    functionLinenumberEnd: 3434
    functionName: getJoinProbeTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: STableNode
    signature: STableNode * getJoinProbeTable(STranslateContext* pCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3438,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3440,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3441,1
    - Dst: rewriteCountStarAsCount1
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3446,1
    - Dst: getJoinProbeTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3450,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3452,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3452,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3455,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3456,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3457,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3458,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3461,1
    - Dst: rewriteCountStarAsCount1
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3461,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3468
      start: 3437
    functionDepth: 6
    functionLinenumber: 3437
    functionLinenumberEnd: 3468
    functionName: rewriteCountStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - parserError
    - taosArrayGetP
    - nodeType
    - taosArrayGetSize
    - rewriteCountStarAsCount1
    - PAR_ERR_JRET
    - findTable
    - setColumnInfoBySchema
    - getJoinProbeTable
    - setVtbColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCountStar(STranslateContext* pCxt, SFunctionNode* pCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3471,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3474,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3476
      start: 3470
    functionDepth: 1
    functionLinenumber: 3470
    functionLinenumberEnd: 3476
    functionName: isCountNotNullValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isCountNotNullValue(SFunctionNode* pFunc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3492,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3492,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3493,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3493,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3495,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3496,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3497,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3498,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3503,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3504,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3504,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3510,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3514
      start: 3479
    functionDepth: 5
    functionLinenumber: 3479
    functionLinenumberEnd: 3514
    functionName: rewriteCountNotNullValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesListMakeAppend
    - nodesMakeNode
    - nodeType
    - findTable
    - nodesDestroyNode
    - NODES_DESTORY_LIST
    - setColumnInfoBySchema
    - PAR_ERR_JRET
    - setVtbColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCountNotNullValue(STranslateContext* pCxt, SFunctionNode*
      pCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3517,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3520,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3522
      start: 3516
    functionDepth: 1
    functionLinenumber: 3516
    functionLinenumberEnd: 3522
    functionName: isCountTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isCountTbname(SFunctionNode* pFunc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3526,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3533,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3534,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3537,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3537,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3539,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3539,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3542,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3543,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3546,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3549,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3550,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3550,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3556,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3560
      start: 3525
    functionDepth: 5
    functionLinenumber: 3525
    functionLinenumberEnd: 3560
    functionName: rewriteCountTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - parserError
    - nodesListMakeAppend
    - LIST_LENGTH
    - nodesMakeNode
    - nodeType
    - findTable
    - nodesDestroyNode
    - NODES_DESTORY_LIST
    - setColumnInfoBySchema
    - PAR_ERR_JRET
    - setVtbColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCountTbname(STranslateContext* pCxt, SFunctionNode*
      pCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3562
    functionDepth: 4
    functionLinenumber: 3562
    functionLinenumberEnd: 3566
    functionName: hasInvalidFuncNesting
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: bool hasInvalidFuncNesting(SFunctionNode* pFunc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3571,1
    - Dst: getPrecisionFromCurrStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3572,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3573,1
    - Dst: getUdfInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3575,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3582
      start: 3568
    functionDepth: 9
    functionLinenumber: 3568
    functionLinenumberEnd: 3582
    functionName: getFuncInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - getPrecisionFromCurrStmt
    - getUdfInfo
    - generateSyntaxErrMsgExt
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFuncInfo(STranslateContext* pCxt, SFunctionNode* pFunc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3585,1
    - Dst: beforeHaving
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3588,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3589,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3591,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3592,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3595,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3597,1
    - Dst: isCountStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3601,1
    - Dst: rewriteCountStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3602,1
    - Dst: isCountNotNullValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3604,1
    - Dst: rewriteCountNotNullValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3605,1
    - Dst: isCountTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3607,1
    - Dst: rewriteCountTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3611
      start: 3584
    functionDepth: 7
    functionLinenumber: 3584
    functionLinenumberEnd: 3611
    functionName: translateAggFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - fmIsAggFunc
    - rewriteCountNotNullValue
    - hasInvalidFuncNesting
    - isSelectStmt
    - isCountStar
    - isCountTbname
    - beforeHaving
    - rewriteCountStar
    - rewriteCountTbname
    - isCountNotNullValue
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAggFunc(STranslateContext* pCxt, SFunctionNode* pFunc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3614,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3617,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3618,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3623,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3628,1
    - Dst: fmIsProcessByRowFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3629,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3630,1
    - Dst: canCoexistIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3633,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3634,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3637,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3641,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3642,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3613
    functionDepth: 5
    functionLinenumber: 3613
    functionLinenumberEnd: 3645
    functionName: translateIndefiniteRowsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsProcessByRowFunc
    - generateSyntaxErrMsg
    - hasInvalidFuncNesting
    - isSelectStmt
    - fmGetFuncReturnRows
    - fmIsIndefiniteRowsFunc
    - canCoexistIndefiniteRowsFunc
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateIndefiniteRowsFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsMultiRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3648,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3651,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3654,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3657,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3661
      start: 3647
    functionDepth: 5
    functionLinenumber: 3647
    functionLinenumberEnd: 3661
    functionName: translateMultiRowsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - hasInvalidFuncNesting
    - isSelectStmt
    - fmIsMultiRowsFunc
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateMultiRowsFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3664,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3668,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3670,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3678,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3685,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3686,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3693,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3697,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3698,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3701
      start: 3663
    functionDepth: 5
    functionLinenumber: 3663
    functionLinenumberEnd: 3701
    functionName: translateInterpFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - hasInvalidFuncNesting
    - isSelectStmt
    - fmGetFuncReturnRows
    - fmIsInterpFunc
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInterpFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3705,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3708,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3709,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3713,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3720,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3721,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3721,1
    - Dst: replacePsedudoColumnFuncWithColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3728,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3732,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3703
    functionDepth: 11
    functionLinenumber: 3703
    functionLinenumberEnd: 3736
    functionName: translateInterpPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - replacePsedudoColumnFuncWithColumn
    - strcasecmp
    - nodeType
    - FOREACH
    - translateColumn
    - fmIsInterpPseudoColumnFunc
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInterpPseudoColumnFunc(STranslateContext* pCxt, SNode**
      ppNode, bool* pRewriteToColumn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForecastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3739,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3742,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3743,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3750,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3757,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3758,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3765,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3769,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3770,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3773
      start: 3738
    functionDepth: 5
    functionLinenumber: 3738
    functionLinenumberEnd: 3773
    functionName: translateForecastFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsForecastFunc
    - generateSyntaxErrMsg
    - hasInvalidFuncNesting
    - isSelectStmt
    - generateSyntaxErrMsgExt
    - fmGetFuncReturnRows
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateForecastFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fmIsAnalysisPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3782,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3786,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3787,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3792,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3796,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3797,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3803,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3809,1
    - Dst: replacePsedudoColumnFuncWithColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3822,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3827,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3832
      start: 3775
    functionDepth: 11
    functionLinenumber: 3775
    functionLinenumberEnd: 3832
    functionName: translateAnalysisPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - replacePsedudoColumnFuncWithColumn
    - strcasecmp
    - generateSyntaxErrMsgExt
    - nodeType
    - FOREACH
    - translateColumn
    - fmIsAnalysisPseudoColumnFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAnalysisPseudoColumnFunc(STranslateContext* pCxt,
      SNode** ppNode, bool* pRewriteToColumn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsTimelineFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3835,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3838,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3839,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3844,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3845,1
    - Dst: isTimeLineAlignedQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3846,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3849,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3852,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3854,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3834
    functionDepth: 8
    functionLinenumber: 3834
    functionLinenumberEnd: 3859
    functionName: translateTimelineFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isTimeLineAlignedQuery
    - isSelectStmt
    - isGlobalTimeLineQuery
    - fmIsTimelineFunc
    - nodeType
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTimelineFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsDateTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3862,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3874
      start: 3861
    functionDepth: 2
    functionLinenumber: 3861
    functionLinenumberEnd: 3874
    functionName: translateDateTimeFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - fmIsDateTimeFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDateTimeFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3877,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3883
      start: 3876
    functionDepth: 2
    functionLinenumber: 3876
    functionLinenumberEnd: 3883
    functionName: hasFillClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool hasFillClause(SNode* pCurrStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3887,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3891,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3892,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ppFunc
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3898
      start: 3885
    functionDepth: 5
    functionLinenumber: 3885
    functionLinenumberEnd: 3898
    functionName: createTbnameFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTbnameFunction(SFunctionNode** ppFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3902
      start: 3900
    functionDepth: 0
    functionLinenumber: 3900
    functionLinenumberEnd: 3902
    functionName: externalWindowColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool externalWindowColumnFunc(SFunctionNode* pFunc)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: externalWindowColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3909,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3912,1
    - Dst: inStreamOutTableClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3912,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3913,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3913,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3919,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3919,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3925,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3926,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3926,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3930,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3931,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3931,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3935,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3936,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3936,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3940,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3941,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3941,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3945,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3946,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3946,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3950,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3951,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3951,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3955,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3956,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3956,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3960,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3961,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3961,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3965,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3966,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3966,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3970,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3971,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3971,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3975,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3976,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3976,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3980,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3981,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3981,1
    - Dst: getStreamTriggerPartition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3986,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3988,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3988,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3991,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3992,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3994,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3994,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3997,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3999,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3999,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4002,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4004,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4004,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4008,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4008,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4019,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4020,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4020,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4024,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4025,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4025,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4029,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4029,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4034,1
    - Dst: nodesListMakePushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4034,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4038,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4039,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 117
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4041
      start: 3904
    functionDepth: 6
    functionLinenumber: 3904
    functionLinenumberEnd: 4041
    functionName: translatePlaceHolderFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - parserError
    - nodesMakeValueNodeFromString
    - getStreamTriggerPartition
    - nodesMakeValueNodeFromTimestamp
    - inStreamCalcClause
    - nodesMakeValueNodeFromInt64
    - nodesListMakePushFront
    - inStreamOutTableClause
    - BIT_FLAG_SET_MASK
    - nodesGetValueFromNode
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - externalWindowColumnFunc
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translatePlaceHolderFunc(STranslateContext* pCxt, SNode**
      pFunc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4050,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4050,1
    - Dst: fmGetTwstartFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4057,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4058,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4059,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4060,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4060,1
    - Dst: fmGetTwendFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4065,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4066,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4067,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4068,1
    - Dst: nodesMakeValueNodeFromTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4068,1
    - Dst: fmGetTwdurationFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4073,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4074,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4075,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4076,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4076,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4080,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4080,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4085,1
    - Dst: nodesListMakePushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4085,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4086,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4091,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4092,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4094
      start: 4043
    functionDepth: 6
    functionLinenumber: 4043
    functionLinenumberEnd: 4094
    functionName: translateExternalWindowPlaceHolderFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - fmGetTwstartFuncId
    - parserDebug
    - nodesMakeValueNodeFromTimestamp
    - nodesMakeValueNodeFromInt64
    - nodesListMakePushFront
    - fmGetTwendFuncId
    - tstrncpy
    - fmGetTwdurationFuncId
    - generateSyntaxErrMsgExt
    - BIT_FLAG_SET_MASK
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateExternalWindowPlaceHolderFunc(STranslateContext*
      pCxt, SNode** pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForbidFillFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4097,1
    - Dst: hasFillClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4100,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4104
      start: 4096
    functionDepth: 3
    functionLinenumber: 4096
    functionLinenumberEnd: 4104
    functionName: translateForbidFillFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - hasFillClause
    - fmIsForbidFillFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateForbidFillFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForbidSysTableFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4107,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4111,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4114,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4120
      start: 4106
    functionDepth: 2
    functionLinenumber: 4106
    functionLinenumberEnd: 4120
    functionName: translateForbidSysTableFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - generateSyntaxErrMsg
    - fmIsForbidSysTableFunc
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateForbidSysTableFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - table
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4134
      start: 4122
    functionDepth: 0
    functionLinenumber: 4122
    functionLinenumberEnd: 4134
    functionName: fromSingleTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fromSingleTable(SNode* table)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsRepeatScanFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4137,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4140,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4141,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4147,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4150,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4154,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4159,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4160,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4166
      start: 4136
    functionDepth: 2
    functionLinenumber: 4136
    functionLinenumberEnd: 4166
    functionName: translateRepeatScanFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - generateSyntaxErrMsgExt
    - nodeType
    - fmIsRepeatScanFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRepeatScanFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsBlockDistFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4169,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4172,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4173,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4178,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4187
      start: 4168
    functionDepth: 2
    functionLinenumber: 4168
    functionLinenumberEnd: 4187
    functionName: translateBlockDistFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - generateSyntaxErrMsgExt
    - fmIsBlockDistFunc
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateBlockDistFunc(STranslateContext* pCtx, SFunctionNode*
      pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsDBUsageFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4189,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4192,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4207
      start: 4188
    functionDepth: 2
    functionLinenumber: 4188
    functionLinenumberEnd: 4207
    functionName: translateDBUsageFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - generateSyntaxErrMsgExt
    - fmIsDBUsageFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDBUsageFunc(STranslateContext* pCtx, SFunctionNode*
      pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4209,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4209
      start: 4209
    functionDepth: 2
    functionLinenumber: 4209
    functionLinenumberEnd: 4209
    functionName: isStarParam
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesIsStar
    - nodesIsTableStar
    linkageType: ''
    returnType: bool
    signature: bool isStarParam(SNode* pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4212,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4216,1
    - Dst: isStarParam
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4217,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4218,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4222,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4223,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4223,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4225,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4229
      start: 4211
    functionDepth: 3
    functionLinenumber: 4211
    functionLinenumberEnd: 4229
    functionName: translateMultiResFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - tstrncpy
    - fmIsMultiResFunc
    - isStarParam
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateMultiResFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4232,1
    - Dst: isStarParam
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4233,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4233,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pParameterList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4231
    functionDepth: 3
    functionLinenumber: 4231
    functionLinenumberEnd: 4236
    functionName: getMultiResFuncNum
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - isStarParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t getMultiResFuncNum(SNodeList* pParameterList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsCumulativeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4239,1
    - Dst: fmIsSelectColsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4242,1
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4245,1
    - Dst: fmIsLastRowFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4245,1
    - Dst: getMultiResFuncNum
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pFunc
    - currSelectFuncNum
    argTypes:
    - SFunctionNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4248
      start: 4238
    functionDepth: 4
    functionLinenumber: 4238
    functionLinenumberEnd: 4248
    functionName: calcSelectFuncNum
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsSelectColsFunc
    - fmIsLastRowFunc
    - fmIsMultiResFunc
    - getMultiResFuncNum
    - fmIsCumulativeFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcSelectFuncNum(SFunctionNode* pFunc, int32_t currSelectFuncNum)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4252,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4254,1
    - Dst: fmIsRepeatScanFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4256,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4258,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4260,1
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4261,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4262,1
    - Dst: fmIsForecastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4263,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4264,1
    - Dst: fmIsProcessByRowFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4266,1
    - Dst: fmIsMultiRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4270,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4271,1
    - Dst: calcSelectFuncNum
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4273,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4274,1
    - Dst: fmIsInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4283,1
    - Dst: fmIsAnalysisPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4291,1
    - Dst: fmIsTimelineFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4294,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4295,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4295,1
    - Dst: fmIsKeepOrderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4297,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4300
      start: 4250
    functionDepth: 5
    functionLinenumber: 4250
    functionLinenumberEnd: 4300
    functionName: setFuncClassification
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsKeepOrderFunc
    - fmIsForecastFunc
    - fmIsAnalysisPseudoColumnFunc
    - fmIsProcessByRowFunc
    - fmIsAggFunc
    - fmIsMultiRowsFunc
    - fmIsSelectFunc
    - calcSelectFuncNum
    - fmIsTimelineFunc
    - nodeType
    - fmIsIndefiniteRowsFunc
    - fmIsInterpFunc
    - fmIsInterpPseudoColumnFunc
    - fmIsRepeatScanFunc
    - fmIsUserDefinedFunc
    - fmGetFuncReturnRows
    - fmIsVectorFunc
    linkageType: ''
    returnType: void
    signature: void setFuncClassification(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4304,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4308,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4309,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4315,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4316,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4320,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4321,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pLiteral
    - pNode
    argTypes:
    - STranslateContext*
    - char**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4327
      start: 4302
    functionDepth: 5
    functionLinenumber: 4302
    functionLinenumberEnd: 4327
    functionName: rewriteFuncToValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateValue
    - nodesMakeNode
    - tstrncpy
    - strlen
    - nodesDestroyNode
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteFuncToValue(STranslateContext* pCxt, char** pLiteral,
      SNode** pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4332,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4337,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4340
      start: 4329
    functionDepth: 6
    functionLinenumber: 4329
    functionLinenumberEnd: 4340
    functionName: rewriteDatabaseFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteFuncToValue
    - taosMemoryFree
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteDatabaseFunc(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4343,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4347,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4350
      start: 4342
    functionDepth: 6
    functionLinenumber: 4342
    functionLinenumberEnd: 4350
    functionName: rewriteClentVersionFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteFuncToValue
    - taosMemoryFree
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteClentVersionFunc(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4353,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4357,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4352
    functionDepth: 6
    functionLinenumber: 4352
    functionLinenumberEnd: 4360
    functionName: rewriteServerVersionFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteFuncToValue
    - taosMemoryFree
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteServerVersionFunc(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4366,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4370,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4373
      start: 4362
    functionDepth: 6
    functionLinenumber: 4362
    functionLinenumberEnd: 4373
    functionName: rewriteServerStatusFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteFuncToValue
    - taosMemoryFree
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteServerStatusFunc(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4377,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4378,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4381,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4385,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4390
      start: 4375
    functionDepth: 6
    functionLinenumber: 4375
    functionLinenumberEnd: 4390
    functionName: rewriteUserFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosGetFqdn
    - snprintf
    - taosMemoryFree
    - rewriteFuncToValue
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteUserFunc(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rewriteDatabaseFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4395,1
    - Dst: rewriteClentVersionFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4397,1
    - Dst: rewriteServerVersionFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4399,1
    - Dst: rewriteServerStatusFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4401,1
    - Dst: rewriteUserFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4404,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4410
      start: 4392
    functionDepth: 7
    functionLinenumber: 4392
    functionLinenumberEnd: 4410
    functionName: rewriteSystemInfoFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteUserFunc
    - parserError
    - rewriteServerVersionFunc
    - rewriteDatabaseFunc
    - rewriteClentVersionFunc
    - rewriteServerStatusFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteSystemInfoFunc(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4414,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4420,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4422,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4423,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4425,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4426,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4427,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4428,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4429,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4436,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4437,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4438,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4439,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4441,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - ppNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4448
      start: 4412
    functionDepth: 5
    functionLinenumber: 4412
    functionLinenumberEnd: 4448
    functionName: replacePsedudoColumnFuncWithColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - nodesMakeNode
    - nodeType
    - tstrncpy
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t replacePsedudoColumnFuncWithColumn(STranslateContext* pCxt,
      SNode** ppNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: replacePsedudoColumnFuncWithColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4451,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4455,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - errCode
    argTypes:
    - STranslateContext*
    - SNode**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4461
      start: 4450
    functionDepth: 11
    functionLinenumber: 4450
    functionLinenumberEnd: 4461
    functionName: rewriteToColumnAndRetranslate
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - replacePsedudoColumnFuncWithColumn
    - translateColumn
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteToColumnAndRetranslate(STranslateContext* pCxt, SNode**
      ppNode, int32_t errCode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4465,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4468,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4470,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4472,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4473,1
    - Dst: beforeWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4475,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4476,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4484
      start: 4463
    functionDepth: 12
    functionLinenumber: 4463
    functionLinenumberEnd: 4484
    functionName: translateWindowPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - isSetOperator
    - rewriteToColumnAndRetranslate
    - isSelectStmt
    - fmIsWindowPseudoColumnFunc
    - beforeWindow
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateWindowPseudoColumnFunc(STranslateContext* pCxt, SNode**
      ppNode, bool* pRewriteToColumn)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fmIsScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4488,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4491,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4495,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4497,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4499,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4500,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4502,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4503,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4505,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4508,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4510,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4512,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4514,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4516,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4520
      start: 4486
    functionDepth: 12
    functionLinenumber: 4486
    functionLinenumberEnd: 4520
    functionName: translateScanPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - rewriteToColumnAndRetranslate
    - fmIsScanPseudoColumnFunc
    - isSetOperator
    - generateSyntaxErrMsg
    - isSelectStmt
    - LIST_LENGTH
    - nodeType
    - findTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateScanPseudoColumnFunc(STranslateContext* pCxt, SNode**
      ppNode, bool* pRewriteToColumn)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: translateAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4524,1
    - Dst: translateScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4527,1
    - Dst: translateIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4533,1
    - Dst: translateForbidFillFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4536,1
    - Dst: translateWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4540,1
    - Dst: translateForbidSysTableFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4546,1
    - Dst: translateRepeatScanFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4549,1
    - Dst: translateMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4552,1
    - Dst: translateMultiRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4555,1
    - Dst: translateInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4558,1
    - Dst: translateInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4562,1
    - Dst: translateForecastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4568,1
    - Dst: translateAnalysisPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4572,1
    - Dst: translateTimelineFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4578,1
    - Dst: translateDateTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4581,1
    - Dst: translateBlockDistFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4584,1
    - Dst: translateDBUsageFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4588,1
    - Dst: setFuncClassification
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4591,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - pCxt
    - ppNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4594
      start: 4522
    functionDepth: 13
    functionLinenumber: 4522
    functionLinenumberEnd: 4594
    functionName: translateNormalFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateAggFunc
    - translateWindowPseudoColumnFunc
    - translateInterpPseudoColumnFunc
    - setFuncClassification
    - translateIndefiniteRowsFunc
    - translateScanPseudoColumnFunc
    - translateForbidSysTableFunc
    - translateRepeatScanFunc
    - translateMultiResFunc
    - translateBlockDistFunc
    - translateAnalysisPseudoColumnFunc
    - translateDateTimeFunc
    - translateInterpFunc
    - translateDBUsageFunc
    - translateForbidFillFunc
    - translateTimelineFunc
    - translateForecastFunc
    - translateMultiRowsFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateNormalFunction(STranslateContext* pCxt, SNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4598,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4601,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4605,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4606,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - val
    - pNode
    argTypes:
    - STranslateContext*
    - int64_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4609
      start: 4596
    functionDepth: 6
    functionLinenumber: 4596
    functionLinenumberEnd: 4609
    functionName: rewriteQueryTimeFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteFuncToValue
    - snprintf
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteQueryTimeFunc(STranslateContext* pCxt, int64_t val,
      SNode** pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteQueryTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4613
      start: 4611
    functionDepth: 7
    functionLinenumber: 4611
    functionLinenumberEnd: 4613
    functionName: rewriteQstartFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteQueryTimeFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteQstartFunc(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteQueryTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4617
      start: 4615
    functionDepth: 7
    functionLinenumber: 4615
    functionLinenumberEnd: 4617
    functionName: rewriteQendFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteQueryTimeFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteQendFunc(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rewriteQueryTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4622,1
    - Dst: rewriteQueryTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4625
      start: 4619
    functionDepth: 7
    functionLinenumber: 4619
    functionLinenumberEnd: 4625
    functionName: rewriteQdurationFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteQueryTimeFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteQdurationFunc(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4628,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4630,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4632,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4633,1
    - Dst: rewriteQstartFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4638,1
    - Dst: rewriteQendFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4640,1
    - Dst: rewriteQdurationFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4642,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4646,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4648
      start: 4627
    functionDepth: 8
    functionLinenumber: 4627
    functionLinenumberEnd: 4648
    functionName: rewriteClientPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteQendFunc
    - rewriteQstartFunc
    - inStreamCalcClause
    - nodeType
    - rewriteQdurationFunc
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteClientPseudoColumnFunc(STranslateContext* pCxt, SNode**
      pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsSystemInfoFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4651,1
    - Dst: rewriteSystemInfoFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4652,1
    - Dst: fmIsClientPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4654,1
    - Dst: rewriteClientPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4655,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4657,1
    - Dst: translatePlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4658,1
    - Dst: translateNormalFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4661
      start: 4650
    functionDepth: 14
    functionLinenumber: 4650
    functionLinenumberEnd: 4661
    functionName: translateFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteSystemInfoFunc
    - fmIsClientPseudoColumnFunc
    - fmIsSystemInfoFunc
    - translatePlaceHolderFunc
    - rewriteClientPseudoColumnFunc
    - translateNormalFunction
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateFunctionImpl(STranslateContext* pCxt, SFunctionNode**
      pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4664,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4671
      start: 4663
    functionDepth: 1
    functionLinenumber: 4663
    functionLinenumberEnd: 4671
    functionName: currentStmtWithExternalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool currentStmtWithExternalWindow(STranslateContext* pCxt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4678,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4678,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4679,1
    - Dst: fmIsClientPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4685,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4692,1
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4694,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4695,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4701
      start: 4673
    functionDepth: 1
    functionLinenumber: 4673
    functionLinenumberEnd: 4701
    functionName: validateDualQueryFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmGetScalarFuncExecFuncs
    - fmIsClientPseudoColumnFunc
    - fmIsWindowPseudoColumnFunc
    - fmIsScalarFunc
    - fmIsUserDefinedFunc
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateDualQueryFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4705,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4706,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4707,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4710,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4712,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4713,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4719,1
    - Dst: isMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4720,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4726,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4729,1
    - Dst: validateDualQueryFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4735,1
    - Dst: isInvalidColsBindFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4738,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4743,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4744,1
    - Dst: translatePlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4745,1
    - Dst: currentStmtWithExternalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4748,1
    - Dst: fmIsPlaceHolderFuncForExternalWin
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4748,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4749,1
    - Dst: translateExternalWindowPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4751,1
    - Dst: translateFunctionImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4755,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4758
      start: 4703
    functionDepth: 15
    functionLinenumber: 4703
    functionLinenumberEnd: 4758
    functionName: translateFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - nodesListGetNode
    - isInvalidColsBindFunction
    - parserDebug
    - translatePlaceHolderFunc
    - translateFunctionImpl
    - currentStmtWithExternalWindow
    - translateExternalWindowPlaceHolderFunc
    - nodeType
    - FOREACH
    - getFuncInfo
    - isMultiResFunc
    - validateDualQueryFunc
    - fmIsVectorFunc
    - NODES_DESTORY_LIST
    - fmIsPlaceHolderFunc
    - fmIsPlaceHolderFuncForExternalWin
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateFunction(STranslateContext* pCxt, SFunctionNode**
      pFunc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4763,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4766,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4773,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4784
      start: 4760
    functionDepth: 1
    functionLinenumber: 4760
    functionLinenumberEnd: 4784
    functionName: updateSubQResType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateSubQResType(SNode* pNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4788,1
    - Dst: updateExprSubQueryType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4792,1
    - Dst: translateExprSubqueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4795,1
    - Dst: replaceExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4798,1
    - Dst: replaceExprSubQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4801,1
    - Dst: updateSubQResType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4804,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4808
      start: 4786
    functionDepth: 6
    functionLinenumber: 4786
    functionLinenumberEnd: 4808
    functionName: translateExprSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - translateExprSubqueryImpl
    - replaceExprSubQuery
    - updateSubQResType
    - updateExprSubQueryType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateExprSubquery(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pCond
    argTypes:
    - STranslateContext*
    - SLogicConditionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4814
      start: 4810
    functionDepth: 0
    functionLinenumber: 4810
    functionLinenumberEnd: 4814
    functionName: translateLogicCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateLogicCond(STranslateContext* pCxt, SLogicConditionNode*
      pCond)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4818,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4822,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4824,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4825,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4828,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4831,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - dt
    - pCast
    argTypes:
    - STranslateContext*
    - SNode*
    - SDataType
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4838
      start: 4816
    functionDepth: 5
    functionLinenumber: 4816
    functionLinenumberEnd: 4838
    functionName: createCastFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesClearList
    - nodesListMakeAppend
    - nodesMakeNode
    - tstrncpy
    - getFuncInfo
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createCastFunc(STranslateContext* pCxt, SNode* pExpr, SDataType
      dt, SNode** pCast)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pWhenThen
    argTypes:
    - STranslateContext*
    - SWhenThenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4843
      start: 4840
    functionDepth: 0
    functionLinenumber: 4840
    functionLinenumberEnd: 4843
    functionName: translateWhenThen
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateWhenThen(STranslateContext* pCxt, SWhenThenNode*
      pWhenThen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4846,1
    - Dst: nodesIsComparisonOp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4847,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4850
      start: 4845
    functionDepth: 1
    functionLinenumber: 4845
    functionLinenumberEnd: 4850
    functionName: isCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesIsComparisonOp
    linkageType: ''
    returnType: bool
    signature: bool isCondition(const SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pIsTrue
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4864
      start: 4852
    functionDepth: 5
    functionLinenumber: 4852
    functionLinenumberEnd: 4864
    functionName: rewriteIsTrue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteIsTrue(SNode* pSrc, SNode** pIsTrue)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4886,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4892,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4897,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4897,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4898,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4898,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4900,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4900,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4901,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4901,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4902,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4911,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4912,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4912,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - commonType
    - newType
    argTypes:
    - SDataType*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4918
      start: 4867
    functionDepth: 1
    functionLinenumber: 4867
    functionLinenumberEnd: 4918
    functionName: selectCommonType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - TMAX
    - IS_NULL_TYPE
    - IS_MATHABLE_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t selectCommonType(SDataType* commonType, const SDataType* newType)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4923,1
    - Dst: isCondition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4925,1
    - Dst: rewriteIsTrue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4927,1
    - Dst: selectCommonType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4939,1
    - Dst: selectCommonType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4947,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4963,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4965,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4967,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4976,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4978,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - pCxt
    - pCaseWhen
    argTypes:
    - STranslateContext*
    - SCaseWhenNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4986
      start: 4920
    functionDepth: 6
    functionLinenumber: 4920
    functionLinenumberEnd: 4986
    functionName: translateCaseWhen
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteIsTrue
    - isCondition
    - createCastFunc
    - FOREACH
    - selectCommonType
    - dataTypeEqual
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateCaseWhen(STranslateContext* pCxt, SCaseWhenNode*
      pCaseWhen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4991,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4993,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4995,1
    - Dst: translateOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4997,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4999,1
    - Dst: translateLogicCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5001,1
    - Dst: translateExprSubquery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5005,1
    - Dst: translateWhenThen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5007,1
    - Dst: translateCaseWhen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5014
      start: 4988
    functionDepth: 16
    functionLinenumber: 4988
    functionLinenumberEnd: 5014
    functionName: doTranslateExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateCaseWhen
    - translateValue
    - translateFunction
    - nodeType
    - translateExprSubquery
    - translateColumn
    - translateOperator
    - translateLogicCond
    - translateWhenThen
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doTranslateExpr(SNode** pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5019
      start: 5016
    functionDepth: 1
    functionLinenumber: 5016
    functionLinenumberEnd: 5019
    functionName: translateExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateExpr(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pList
    argTypes:
    - STranslateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5024
      start: 5021
    functionDepth: 1
    functionLinenumber: 5021
    functionLinenumberEnd: 5024
    functionName: translateExprList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesRewriteExprsPostOrder
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateExprList(STranslateContext* pCxt, SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5031
      start: 5026
    functionDepth: 3
    functionLinenumber: 5026
    functionLinenumberEnd: 5031
    functionName: getGroupByList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isDistinctOrderBy
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * getGroupByList(STranslateContext* pCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5034,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5038
      start: 5033
    functionDepth: 1
    functionLinenumber: 5033
    functionLinenumberEnd: 5038
    functionName: getGroupByNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: SNode
    signature: SNode * getGroupByNode(SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5041,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5048
      start: 5040
    functionDepth: 3
    functionLinenumber: 5040
    functionLinenumberEnd: 5048
    functionName: getGroupByErrorCode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - isDistinctOrderBy
    linkageType: ''
    returnType: int32_t
    signature: int32_t getGroupByErrorCode(STranslateContext* pCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5053,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5059,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5060,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5061,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5065,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5065,1
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5066,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5066,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5067,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5072,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5074,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5080,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5083
      start: 5050
    functionDepth: 5
    functionLinenumber: 5050
    functionLinenumberEnd: 5083
    functionName: rewriteColToSelectValFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - tListLen
    - MurmurHash3_64
    - nodesMakeNode
    - strncmp
    - snprintf
    - tstrncpy
    - getFuncInfo
    - strlen
    - nodesDestroyNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteColToSelectValFunc(STranslateContext* pCxt, SNode**
      pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5087,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5093,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5094,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5095,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5096,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5103
      start: 5085
    functionDepth: 5
    functionLinenumber: 5085
    functionLinenumberEnd: 5103
    functionName: rewriteExprToGroupKeyFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - nodesListMakeAppend
    - fmGetFuncInfo
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteExprToGroupKeyFunc(STranslateContext* pCxt, SNode**
      pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5107,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5112,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5113,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5114,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5115,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5122
      start: 5105
    functionDepth: 5
    functionLinenumber: 5105
    functionLinenumberEnd: 5122
    functionName: rewriteExprToSelectTagFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - nodesListMakeAppend
    - fmGetFuncInfo
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteExprToSelectTagFunc(STranslateContext* pCxt, SNode**
      pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5125,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5143,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5149
      start: 5124
    functionDepth: 1
    functionLinenumber: 5124
    functionLinenumberEnd: 5149
    functionName: isWindowJoinProbeTablePrimCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isWindowJoinProbeTablePrimCol(SSelectStmt* pSelect, SNode* pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5152,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5170,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5176
      start: 5151
    functionDepth: 1
    functionLinenumber: 5151
    functionLinenumberEnd: 5176
    functionName: isWindowJoinProbeTableCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isWindowJoinProbeTableCol(SSelectStmt* pSelect, SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5184,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5195
      start: 5183
    functionDepth: 5
    functionLinenumber: 5183
    functionLinenumberEnd: 5195
    functionName: checkColContains
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesEqualNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes checkColContains(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5198,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5208
      start: 5197
    functionDepth: 3
    functionLinenumber: 5197
    functionLinenumberEnd: 5208
    functionName: isWindowJoinGroupCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool isWindowJoinGroupCol(SSelectStmt* pSelect, SNode* pNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5211,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5245
      start: 5210
    functionDepth: 1
    functionLinenumber: 5210
    functionLinenumberEnd: 5245
    functionName: isWindowJoinSubTbTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - taosStrcasecmp
    linkageType: ''
    returnType: bool
    signature: bool isWindowJoinSubTbTag(SSelectStmt* pSelect, SNode* pNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5248,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5275,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5287
      start: 5247
    functionDepth: 1
    functionLinenumber: 5247
    functionLinenumberEnd: 5287
    functionName: isWindowJoinSubTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - taosStrcasecmp
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool isWindowJoinSubTbname(SSelectStmt* pSelect, SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5291
      start: 5289
    functionDepth: 1
    functionLinenumber: 5289
    functionLinenumberEnd: 5291
    functionName: isTbnameFuction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isTbnameFuction(SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pPartitionByList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5301
      start: 5293
    functionDepth: 2
    functionLinenumber: 5293
    functionLinenumberEnd: 5301
    functionName: hasTbnameFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isTbnameFuction
    linkageType: ''
    returnType: bool
    signature: bool hasTbnameFunction(SNodeList* pPartitionByList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5299
      start: 5295
    functionDepth: 2
    functionLinenumber: 5295
    functionLinenumberEnd: 5299
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 207
    functionsReached:
    - isTbnameFuction
    linkageType: ''
    returnType: void
    signature: void FOREACH(pPartKey, pPartitionByList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5304,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5304,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5305,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5306,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5310,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pSelect
    - pFunc1
    - pFunc2
    argTypes:
    - SSelectStmt*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5322
      start: 5303
    functionDepth: 2
    functionLinenumber: 5303
    functionLinenumberEnd: 5322
    functionName: IsEqualTbNameFuncNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - strcmp
    - isTbnameFuction
    linkageType: ''
    returnType: bool
    signature: bool IsEqualTbNameFuncNode(SSelectStmt* pSelect, SNode* pFunc1, SNode*
      pFunc2)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5327,1
    - Dst: isAliasColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5327,1
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5330,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5330,1
    - Dst: fromSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5333,1
    - Dst: getGroupByNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5336,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5337,1
    - Dst: IsEqualTbNameFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5340,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5341,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5343,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5343,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5345,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5347,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5348,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5352,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5353,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5355,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5356,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5360,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5361,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5362,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5363,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5366,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5368,1
    - Dst: IsEqualTbNameFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5370,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5371,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5374,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5375,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5377,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5381,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5383,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5384,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5385,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5385,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5389,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5390,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5391,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5392,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5392,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5396,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5396,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5397,1
    - Dst: isWindowJoinProbeTableCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5398,1
    - Dst: isWindowJoinGroupCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5398,1
    - Dst: isWindowJoinSubTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5399,1
    - Dst: isWindowJoinSubTbTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5399,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5400,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5403,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5404,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5404,1
    - Dst: rewriteColToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5407,1
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5409,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5409,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5410,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5410,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 66
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5413
      start: 5324
    functionDepth: 6
    functionLinenumber: 5324
    functionLinenumberEnd: 5413
    functionName: doCheckExprForGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - hasTbnameFunction
    - nodesIsExprNode
    - isScanPseudoColumnFunc
    - nodeType
    - isDistinctOrderBy
    - isWindowJoinProbeTableCol
    - IsEqualTbNameFuncNode
    - isRelatedToOtherExpr
    - isVectorFunc
    - rewriteColToSelectValFunc
    - isWindowJoinSubTbTag
    - isWindowJoinGroupCol
    - isWindowJoinSubTbname
    - fromSingleTable
    - FOREACH
    - rewriteExprToGroupKeyFunc
    - isWindowJoinStmt
    - rewriteExprToSelectTagFunc
    - getGroupByErrorCode
    - getGroupByNode
    - isTbnameFuction
    - isAliasColumn
    - nodesEqualNode
    - generateDealNodeErrMsg
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doCheckExprForGroupBy(SNode** pNode, void* pContext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getGroupByNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5336,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5337,1
    - Dst: IsEqualTbNameFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5340,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5341,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5343,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5343,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5345,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5347,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5350
      start: 5335
    functionDepth: 6
    functionLinenumber: 5335
    functionLinenumberEnd: 5350
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 208
    functionsReached:
    - rewriteExprToSelectTagFunc
    - getGroupByNode
    - isTbnameFuction
    - nodeType
    - nodesEqualNode
    - rewriteExprToGroupKeyFunc
    - IsEqualTbNameFuncNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pGroupNode, getGroupByList(pCxt))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5418
      start: 5415
    functionDepth: 1
    functionLinenumber: 5415
    functionLinenumberEnd: 5418
    functionName: checkExprForGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkExprForGroupBy(STranslateContext* pCxt, SNode** pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getGroupByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5421,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5422,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5423,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pList
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5428
      start: 5420
    functionDepth: 4
    functionLinenumber: 5420
    functionLinenumberEnd: 5428
    functionName: checkExprListForGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - getGroupByList
    - isWindowJoinStmt
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkExprListForGroupBy(STranslateContext* pCxt, SSelectStmt*
      pSelect, SNodeList* pList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5436,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5437,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5437,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5446
      start: 5431
    functionDepth: 1
    functionLinenumber: 5431
    functionLinenumberEnd: 5446
    functionName: hasBlobParameter
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: bool hasBlobParameter(SFunctionNode* pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5452,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5459,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5459,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5460,1
    - Dst: hasBlobParameter
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5461,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5468
      start: 5449
    functionDepth: 2
    functionLinenumber: 5449
    functionLinenumberEnd: 5468
    functionName: checkGroupByExprForBlobFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsg
    - strcasecmp
    - hasBlobParameter
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes checkGroupByExprForBlobFunc(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5476
      start: 5470
    functionDepth: 4
    functionLinenumber: 5470
    functionLinenumberEnd: 5476
    functionName: checkGroupByListForBlob
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkGroupByListForBlob(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5479,1
    - Dst: isIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5479,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5482,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5482,1
    - Dst: rewriteColToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5486
      start: 5478
    functionDepth: 6
    functionLinenumber: 5478
    functionLinenumberEnd: 5486
    functionName: rewriteColsToSelectValFuncImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteColToSelectValFunc
    - isIndefiniteRowsFunc
    - isScanPseudoColumnFunc
    - nodeType
    - isAggFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteColsToSelectValFuncImpl(SNode** pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5489,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5494
      start: 5488
    functionDepth: 1
    functionLinenumber: 5488
    functionLinenumberEnd: 5494
    functionName: rewriteColsToSelectValFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteColsToSelectValFunc(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5505,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5511
      start: 5504
    functionDepth: 2
    functionLinenumber: 5504
    functionLinenumberEnd: 5511
    functionName: getExistColName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - isScanPseudoColumnFunc
    linkageType: ''
    returnType: char
    signature: char * getExistColName(SNode* pNode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5515,1
    - Dst: isColsFunctionResult
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5518,1
    - Dst: fromSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5524,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5525,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5528,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5529,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5530,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5534,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5535,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5538,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5539,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5541,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5541,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5542,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5542,1
    - Dst: getExistColName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5544,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5548
      start: 5513
    functionDepth: 6
    functionLinenumber: 5513
    functionLinenumberEnd: 5548
    functionName: doCheckAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteExprToSelectTagFunc
    - isVectorFunc
    - getExistColName
    - hasTbnameFunction
    - fromSingleTable
    - isScanPseudoColumnFunc
    - nodesIsExprNode
    - nodeType
    - isColsFunctionResult
    - FOREACH
    - nodesEqualNode
    - rewriteExprToGroupKeyFunc
    - isRelatedToOtherExpr
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doCheckAggColCoexist(SNode** pNode, void* pContext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5553,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5556,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5556,1
    - Dst: getExistColName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5558,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5567
      start: 5550
    functionDepth: 6
    functionLinenumber: 5550
    functionLinenumberEnd: 5567
    functionName: doCheckGetAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - isVectorFunc
    - getExistColName
    - isScanPseudoColumnFunc
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doCheckGetAggColCoexist(SNode** pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5574
      start: 5569
    functionDepth: 0
    functionLinenumber: 5569
    functionLinenumberEnd: 5574
    functionName: checkIsEmptyResult
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkIsEmptyResult(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5581,1
    - Dst: nodesCollectSelectFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5583,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5585,1
    - Dst: calcSelectFuncNum
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5590,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5594
      start: 5576
    functionDepth: 7
    functionLinenumber: 5576
    functionLinenumberEnd: 5594
    functionName: resetSelectFuncNumWithoutDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - calcSelectFuncNum
    - nodesCollectSelectFuncs
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetSelectFuncNumWithoutDup(SSelectStmt* pSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calcSelectFuncNum
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5591
      start: 5589
    functionDepth: 5
    functionLinenumber: 5589
    functionLinenumberEnd: 5591
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 210
    functionsReached:
    - calcSelectFuncNum
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pNodeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5608,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5609,1
    - Dst: IsEqualTbNameFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5617
      start: 5602
    functionDepth: 5
    functionLinenumber: 5602
    functionLinenumberEnd: 5617
    functionName: extWinIsNodeInPartitionByList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - nodesEqualNode
    - IsEqualTbNameFuncNode
    linkageType: ''
    returnType: bool
    signature: bool extWinIsNodeInPartitionByList(SSelectStmt* pSelect, SNode* pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5625,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5625,1
    - Dst: extWinIsNodeInPartitionByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5626,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5632,1
    - Dst: extWinIsNodeInPartitionByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5640
      start: 5619
    functionDepth: 6
    functionLinenumber: 5619
    functionLinenumberEnd: 5640
    functionName: checkExtWinPartAggProjectionWalker
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - extWinIsNodeInPartitionByList
    - isTbnameFuction
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes checkExtWinPartAggProjectionWalker(SNode* pNode, void* pContext)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5644,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5645,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5655,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5660,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5662,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5671,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5673,1
    - Dst: rewriteColsToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5677,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5680,1
    - Dst: rewriteColsToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5683,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5686
      start: 5642
    functionDepth: 4
    functionLinenumber: 5642
    functionLinenumberEnd: 5686
    functionName: checkAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isWindowJoinStmt
    - generateSyntaxErrMsg
    - nodeType
    - rewriteColsToSelectValFunc
    - nodesWalkExprs
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAggColCoexist(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5689,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5697,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5699,1
    - Dst: rewriteColsToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5703,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5709,1
    - Dst: isWindowJoinProbeTableCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5710,1
    - Dst: isWindowJoinGroupCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5710,1
    - Dst: isWindowJoinSubTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5711,1
    - Dst: isWindowJoinSubTbTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5711,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5720,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5724
      start: 5688
    functionDepth: 4
    functionLinenumber: 5688
    functionLinenumberEnd: 5724
    functionName: checkWinJoinAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isWindowJoinStmt
    - generateSyntaxErrMsg
    - isWindowJoinSubTbTag
    - isWindowJoinGroupCol
    - isWindowJoinSubTbname
    - FOREACH
    - rewriteColsToSelectValFunc
    - isWindowJoinProbeTableCol
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkWinJoinAggColCoexist(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getGroupByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5728,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5729,1
    - Dst: checkExprForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5745
      start: 5726
    functionDepth: 4
    functionLinenumber: 5726
    functionLinenumberEnd: 5745
    functionName: checkHavingGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getGroupByList
    - checkExprForGroupBy
    - isWindowJoinStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkHavingGroupBy(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5748,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5756
      start: 5747
    functionDepth: 1
    functionLinenumber: 5747
    functionLinenumberEnd: 5756
    functionName: searchAggFuncNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsAggFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes searchAggFuncNode(SNode* pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5759,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5761,1
    - Dst: checkExprListForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5777
      start: 5758
    functionDepth: 5
    functionLinenumber: 5758
    functionLinenumberEnd: 5777
    functionName: checkWindowGrpFuncCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isWindowJoinStmt
    - generateSyntaxErrMsg
    - checkExprListForGroupBy
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkWindowGrpFuncCoexist(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5780,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5781,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pVgs
    - pVgsInfo
    argTypes:
    - SArray*
    - SVgroupsInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5791
      start: 5779
    functionDepth: 1
    functionLinenumber: 5779
    functionLinenumberEnd: 5791
    functionName: toVgroupsInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosMemoryCalloc
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t toVgroupsInfo(SArray* pVgs, SVgroupsInfo** pVgsInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5795,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5801,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pEpSet
    - pVgroupList
    argTypes:
    - SEpSet*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5806
      start: 5793
    functionDepth: 1
    functionLinenumber: 5793
    functionLinenumberEnd: 5806
    functionName: addMnodeToVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - memcpy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t addMnodeToVgroupList(const SEpSet* pEpSet, SArray** pVgroupList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5809,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5810,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5816,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pDnodes
    - pVgsInfo
    argTypes:
    - SArray*
    - SVgroupsInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5821
      start: 5808
    functionDepth: 1
    functionLinenumber: 5808
    functionLinenumberEnd: 5821
    functionName: dnodeToVgroupsInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosMemoryCalloc
    - taosArrayGetSize
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t dnodeToVgroupsInfo(SArray* pDnodes, SVgroupsInfo** pVgsInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5824,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5824,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5825,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5825,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5826,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5826,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5827,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5828
      start: 5823
    functionDepth: 0
    functionLinenumber: 5823
    functionLinenumberEnd: 5828
    functionName: sysTableFromVnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool sysTableFromVnode(const char* pTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5830
      start: 5830
    functionDepth: 0
    functionLinenumber: 5830
    functionLinenumberEnd: 5830
    functionName: sysTableFromDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool sysTableFromDnode(const char* pTable)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5835,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5838,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5839,1
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5845,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5855,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5857,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5861,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - pCxt
    - pTargetName
    - pName
    - pVgroupList
    argTypes:
    - STranslateContext*
    - SName*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5871
      start: 5832
    functionDepth: 11
    functionLinenumber: 5832
    functionLinenumberEnd: 5871
    functionName: getVnodeSysTableVgroupListImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - getTableHashVgroupImpl
    - taosArrayInit
    - getDBVgInfoImpl
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getVnodeSysTableVgroupListImpl(STranslateContext* pCxt, SName*
      pTargetName, SName* pName,\n                                              SArray**
      pVgroupList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5874,1
    - Dst: getVnodeSysTableTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5879,1
    - Dst: getVnodeSysTableVgroupListImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5881,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pName
    - pVgs
    - pHasUserDbCond
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5885
      start: 5873
    functionDepth: 12
    functionLinenumber: 5873
    functionLinenumberEnd: 5885
    functionName: getVnodeSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isSelectStmt
    - getVnodeSysTableTargetName
    - getVnodeSysTableVgroupListImpl
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVnodeSysTableVgroupList(STranslateContext* pCxt, SName*
      pName, SArray** pVgs, bool* pHasUserDbCond)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getVnodeSysTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5890,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5892,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5893,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5893,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5898,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5899,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5900,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5901,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5902,1
    - Dst: addMnodeToVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5903,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5907,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5909,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5912
      start: 5887
    functionDepth: 13
    functionLinenumber: 5887
    functionLinenumberEnd: 5912
    functionName: setVnodeSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toVgroupsInfo
    - isSelectStmt
    - addMnodeToVgroupList
    - getVnodeSysTableVgroupList
    - taosArrayGetSize
    - taosArrayDestroy
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t setVnodeSysTableVgroupList(STranslateContext* pCxt, SName*
      pName, SRealTableNode* pRealTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDnodeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5916,1
    - Dst: dnodeToVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5918,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5922
      start: 5914
    functionDepth: 9
    functionLinenumber: 5914
    functionLinenumberEnd: 5922
    functionName: setDnodeSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - dnodeToVgroupsInfo
    - getDnodeList
    linkageType: ''
    returnType: int32_t
    signature: int32_t setDnodeSysTableVgroupList(STranslateContext* pCxt, SName*
      pName, SRealTableNode* pRealTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysTableFromVnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5925,1
    - Dst: setVnodeSysTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5926,1
    - Dst: sysTableFromDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5927,1
    - Dst: setDnodeSysTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5932
      start: 5924
    functionDepth: 14
    functionLinenumber: 5924
    functionLinenumberEnd: 5932
    functionName: setSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setVnodeSysTableVgroupList
    - sysTableFromVnode
    - setDnodeSysTableVgroupList
    - sysTableFromDnode
    linkageType: ''
    returnType: int32_t
    signature: int32_t setSysTableVgroupList(STranslateContext* pCxt, SName* pName,
      SRealTableNode* pRealTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5936,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5938,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5942
      start: 5934
    functionDepth: 10
    functionLinenumber: 5934
    functionLinenumberEnd: 5942
    functionName: setSuperTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toVgroupsInfo
    - taosArrayDestroy
    - getDBVgInfoImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t setSuperTableVgroupList(STranslateContext* pCxt, SName* pName,
      SRealTableNode* pRealTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5947,1
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5947,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5948,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5950,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5953,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5955,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5957,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5962
      start: 5944
    functionDepth: 10
    functionLinenumber: 5944
    functionLinenumberEnd: 5962
    functionName: setTrowsTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - PAR_ERR_JRET
    - taosArrayDestroy
    - taosMemoryCalloc
    - getDBVgInfoImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t setTrowsTableVgroupList(STranslateContext* pCxt, SName* pName,
      SRealTableNode* pRealTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5966,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5968,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5969,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pVirtualTable
    argTypes:
    - STranslateContext*
    - SName*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5973
      start: 5964
    functionDepth: 10
    functionLinenumber: 5964
    functionLinenumberEnd: 5973
    functionName: setVSuperTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toVgroupsInfo
    - taosArrayDestroy
    - taosMemoryFreeClear
    - getDBVgInfoImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t setVSuperTableVgroupList(STranslateContext* pCxt, SName* pName,
      SVirtualTableNode* pVirtualTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5984,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5985,1
    - Dst: getVStbRefDbsFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5988,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5989,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5991,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5991,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5991,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5992,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5997,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5998,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5999,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6002,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6003,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6004,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6007,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6007,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6008,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6008,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6008,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6009,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6009,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6009,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6010,1
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6010,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6011,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6011,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6012,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6019,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6020,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6020,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6024,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6026,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6027,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRefScanTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6030
      start: 5975
    functionDepth: 10
    functionLinenumber: 5975
    functionLinenumberEnd: 6030
    functionName: setVSuperTableRefScanVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - qError
    - taosArrayAddAll
    - taosArrayDestroy
    - taosArrayGetP
    - toVgroupsInfo
    - taosArrayGet
    - tNameSetDbName
    - tSimpleHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - getDBVgInfoImpl
    - PAR_ERR_JRET
    - tSimpleHashGet
    - QUERY_CHECK_NULL
    - tSimpleHashCleanup
    - getVStbRefDbsFromCache
    - tSimpleHashPut
    - taosArrayInit
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t setVSuperTableRefScanVgroupList(STranslateContext* pCxt, SName*
      pName, SRealTableNode* pRefScanTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6033,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pVirtualTable
    argTypes:
    - STranslateContext*
    - SName*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6039
      start: 6032
    functionDepth: 11
    functionLinenumber: 6032
    functionLinenumberEnd: 6039
    functionName: setVirtualTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - getTableHashVgroupImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t setVirtualTableVgroupList(STranslateContext* pCxt, SName* pName,
      SVirtualTableNode* pVirtualTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6042,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6048
      start: 6041
    functionDepth: 11
    functionLinenumber: 6041
    functionLinenumberEnd: 6048
    functionName: setNormalTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - getTableHashVgroupImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t setNormalTableVgroupList(STranslateContext* pCxt, SName* pName,
      SRealTableNode* pRealTable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setTrowsTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6057,1
    - Dst: setSuperTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6059,1
    - Dst: setSysTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6064,1
    - Dst: setNormalTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6068
      start: 6050
    functionDepth: 15
    functionLinenumber: 6050
    functionLinenumberEnd: 6068
    functionName: setTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setSuperTableVgroupList
    - setNormalTableVgroupList
    - setSysTableVgroupList
    - setTrowsTableVgroupList
    linkageType: ''
    returnType: int32_t
    signature: int32_t setTableVgroupList(STranslateContext* pCxt, SName* pName, SRealTableNode*
      pRealTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6071,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6077
      start: 6070
    functionDepth: 1
    functionLinenumber: 6070
    functionLinenumberEnd: 6077
    functionName: getStmtPrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getStmtPrecision(SNode* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6085
      start: 6079
    functionDepth: 1
    functionLinenumber: 6079
    functionLinenumberEnd: 6085
    functionName: stmtIsSingleTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool stmtIsSingleTable(SNode* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6087
      start: 6087
    functionDepth: 0
    functionLinenumber: 6087
    functionLinenumberEnd: 6087
    functionName: calcPrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t calcPrecision(uint8_t lp, uint8_t rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calcPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pJoinTable
    argTypes:
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6091
      start: 6089
    functionDepth: 1
    functionLinenumber: 6089
    functionLinenumberEnd: 6091
    functionName: calcJoinTablePrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - calcPrecision
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t calcJoinTablePrecision(SJoinTableNode* pJoinTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pJoinTable
    argTypes:
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6095
      start: 6093
    functionDepth: 0
    functionLinenumber: 6093
    functionLinenumberEnd: 6095
    functionName: joinTableIsSingleTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool joinTableIsSingleTable(SJoinTableNode* pJoinTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6100,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6101,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6102,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6103,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6104,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6105,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6106,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 1
    argNames:
    - pRealTable
    argTypes:
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6110
      start: 6097
    functionDepth: 0
    functionLinenumber: 6097
    functionLinenumberEnd: 6110
    functionName: isSingleTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isSingleTable(SRealTableNode* pRealTable)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6117,1
    - Dst: getTableTsmas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6118,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6123,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6128,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6132,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6133,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6135,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6136,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6137,1
    - Dst: catalogGetCachedTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6139,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6142,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6148,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6155,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6169,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6173,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6180,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6182,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6187,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6195
      start: 6112
    functionDepth: 11
    functionLinenumber: 6112
    functionLinenumberEnd: 6195
    functionName: setTableTsmas
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - collectUseTable
    - catalogGetCachedTableHashVgroup
    - isSelectStmt
    - toName
    - taosArrayDestroyP
    - taosCreateMD5Hash
    - snprintf
    - tstrncpy
    - catalogGetTableMeta
    - taosMemoryFree
    - taosArrayInit
    - getTableTsmas
    - taosMemoryCalloc
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t setTableTsmas(STranslateContext* pCxt, SName* pName, SRealTableNode*
      pRealTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6198,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6210
      start: 6197
    functionDepth: 10
    functionLinenumber: 6197
    functionLinenumberEnd: 6210
    functionName: setTableCacheLastMode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: int32_t setTableCacheLastMode(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6213,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6219,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6225,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6226,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6229,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6235,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6238,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6241,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6242,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6242,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6243,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6244,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6254
      start: 6212
    functionDepth: 5
    functionLinenumber: 6212
    functionLinenumberEnd: 6254
    functionName: doTranslateTbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesMakeNode
    - tstrncpy
    - varDataVal
    - strlen
    - nodesDestroyNode
    - taosMemoryCalloc
    - taosStrdup
    - varDataSetLen
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doTranslateTbName(SNode** pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6257,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6258,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6274,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6275,1
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6277,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6278,1
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6279,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6280,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6281,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6282,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6290
      start: 6256
    functionDepth: 1
    functionLinenumber: 6256
    functionLinenumberEnd: 6290
    functionName: replaceTbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesRewriteExpr
    - nodeType
    - nodesRewriteExprPostOrder
    - nodesRewriteExprsPostOrder
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t replaceTbName(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6298,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6306,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6315,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6317,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6325,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6326,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6327,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6332,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6334,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6342,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6343,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 5
    argNames:
    - pCond
    - leftTable
    - rightTable
    - joinType
    - subType
    argTypes:
    - SNode**
    - SRealTableNode*
    - SRealTableNode*
    - EJoinType
    - EJoinSubType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6349
      start: 6292
    functionDepth: 5
    functionLinenumber: 6292
    functionLinenumberEnd: 6349
    functionName: addPrimJoinEqCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - tstrncpy
    - IS_WINDOW_JOIN
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addPrimJoinEqCond(SNode** pCond, SRealTableNode* leftTable,
      SRealTableNode* rightTable,\n                                 EJoinType joinType,
      EJoinSubType subType)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6352,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6355,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6358,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6362,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6388
      start: 6351
    functionDepth: 1
    functionLinenumber: 6351
    functionLinenumberEnd: 6388
    functionName: getJoinContais
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool getJoinContais(SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6394,1
    - Dst: getJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6402
      start: 6390
    functionDepth: 2
    functionLinenumber: 6390
    functionLinenumberEnd: 6402
    functionName: getBothJoinContais
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getJoinContais
    linkageType: ''
    returnType: bool
    signature: bool getBothJoinContais(SNode* pLeft, SNode* pRight)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: getBothJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6405,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6406,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6409,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6409,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6410,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6410,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6411,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6418,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6425,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6429,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6431,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6440,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6443,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6448,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6451,1
    - Dst: addPrimJoinEqCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6460,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6466,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6469,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6474,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6475,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6476,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6476,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6477,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6483,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6484,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6485,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6485,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6486,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 61
    argCount: 2
    argNames:
    - pCxt
    - pJoinTable
    argTypes:
    - STranslateContext*
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6493
      start: 6404
    functionDepth: 6
    functionLinenumber: 6404
    functionLinenumberEnd: 6493
    functionName: checkJoinTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getBothJoinContais
    - generateSyntaxErrMsg
    - isGlobalTimeLineQuery
    - IS_WINDOW_JOIN
    - nodeType
    - IS_ASOF_JOIN
    - addPrimJoinEqCond
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkJoinTable(STranslateContext* pCxt, SJoinTableNode* pJoinTable)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6505,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6511,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6523,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6525,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6530,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6533,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6536,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6541,1
    - Dst: buildInvalidOperationMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6546,1
    - Dst: getFullJoinTypeString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6547,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6550,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6555,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 53
    argCount: 2
    argNames:
    - pCxt
    - pJoinTable
    argTypes:
    - STranslateContext*
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6563
      start: 6495
    functionDepth: 2
    functionLinenumber: 6495
    functionLinenumberEnd: 6563
    functionName: translateJoinTableImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - buildInvalidOperationMsgExt
    - TSWAP
    - translateExpr
    - getFullJoinTypeString
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateJoinTableImpl(STranslateContext* pCxt, SJoinTableNode*
      pJoinTable)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6566,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6579,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6579,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6580,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6582,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6582,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6583,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6587,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6593,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6599,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6602,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6603,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6611,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6614,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6615,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 48
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6631
      start: 6565
    functionDepth: 1
    functionLinenumber: 6565
    functionLinenumberEnd: 6631
    functionName: joinCondsValidater
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes joinCondsValidater(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pJoinTable
    argTypes:
    - STranslateContext*
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6642
      start: 6633
    functionDepth: 3
    functionLinenumber: 6633
    functionLinenumberEnd: 6642
    functionName: validateJoinConds
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateJoinConds(STranslateContext* pCxt, SJoinTableNode*
      pJoinTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6649,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6650,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SVgroupsInfo**
    - SVgroupsInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6656
      start: 6644
    functionDepth: 1
    functionLinenumber: 6644
    functionLinenumberEnd: 6656
    functionName: cloneVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - VGROUPS_INFO_SIZE
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneVgroups(SVgroupsInfo** pDst, SVgroupsInfo* pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6663,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6663,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6664,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6665,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6666,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6667,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6667,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pScan
    argTypes:
    - STranslateContext*
    - SRealTableNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6675
      start: 6658
    functionDepth: 5
    functionLinenumber: 6658
    functionLinenumberEnd: 6675
    functionName: makeVtableMetaScanTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - translateTable
    - nodesMakeNode
    - tstrncpy
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t makeVtableMetaScanTable(STranslateContext* pCxt, SRealTableNode**
      pScan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6686,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6689,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6689,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6690,1
    - Dst: setVSuperTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6690,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6691,1
    - Dst: setVSuperTableRefScanVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6691,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6694,1
    - Dst: cloneVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6694,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6696,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6696,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6698,1
    - Dst: makeVtableMetaScanTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6698,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6699,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6699,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6706,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6706,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - pCxt
    - pTable
    - pName
    - pVTable
    argTypes:
    - STranslateContext*
    - SNode**
    - SName*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6713
      start: 6677
    functionDepth: 13
    functionLinenumber: 6677
    functionLinenumberEnd: 6713
    functionName: translateVirtualSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - cloneVgroups
    - nodesListMakeAppend
    - makeVtableMetaScanTable
    - getTargetMeta
    - setVSuperTableRefScanVgroupList
    - qError
    - setVSuperTableVgroupList
    - tstrerror
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateVirtualSuperTable(STranslateContext* pCxt, SNode**
      pTable, SName* pName,\n                                          SVirtualTableNode*
      pVTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6716,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6717,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pTable
    - pRef
    argTypes:
    - SRealTableNode*
    - SColRef*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6719
      start: 6715
    functionDepth: 1
    functionLinenumber: 6715
    functionLinenumberEnd: 6719
    functionName: setTableNameByColRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void setTableNameByColRef(SRealTableNode* pTable, SColRef* pRef)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6731,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6731,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6732,1
    - Dst: setVirtualTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6732,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6733,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6733,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6734,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6736,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6737,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6745,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6746,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6746,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6747,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6748,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6748,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6749,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6750,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6756,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6757,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6757,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6760,1
    - Dst: cloneVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6760,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6762,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6762,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6764,1
    - Dst: makeVtableMetaScanTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6764,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6765,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6765,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6769,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6770,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6774,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6774,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6775,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6776,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 4
    argNames:
    - pCxt
    - pTable
    - pName
    - pVTable
    argTypes:
    - STranslateContext*
    - SNode**
    - SName*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6779
      start: 6721
    functionDepth: 13
    functionLinenumber: 6721
    functionLinenumberEnd: 6779
    functionName: translateVirtualNormalChildTableInStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - qError
    - toName
    - taosArrayDestroy
    - toVgroupsInfo
    - cloneVgroups
    - getTableHashVgroupImpl
    - taosHashInit
    - taosGetDefaultHashFunction
    - PAR_ERR_JRET
    - makeVtableMetaScanTable
    - QUERY_CHECK_NULL
    - nodesDestroyNode
    - nodesListMakeAppend
    - getTargetMeta
    - taosHashGet
    - setVirtualTableVgroupList
    - taosHashCleanup
    - taosArrayInit
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateVirtualNormalChildTableInStream(STranslateContext*
      pCxt, SNode** pTable, SName* pName,\n                                                        SVirtualTableNode*
      pVTable)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6790,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6791,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6794,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6794,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6795,1
    - Dst: sliceInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6804,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6806,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6806,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6806,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6807,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6807,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6808,1
    - Dst: sliceAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6808,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6808,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6810,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6810,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6811,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6811,1
    - Dst: setTableNameByColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6812,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6813,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6813,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6814,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6814,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6815,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6815,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6815,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6821,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6828,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6828,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6832,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6835,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6839,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6839,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6840,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6841,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - pCxt
    - pTable
    - pName
    - pVTable
    argTypes:
    - STranslateContext*
    - SNode**
    - SName*
    - SVirtualTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6843
      start: 6781
    functionDepth: 5
    functionLinenumber: 6781
    functionLinenumberEnd: 6843
    functionName: translateVirtualNormalChildTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - sliceAppend
    - qError
    - sliceInit
    - taosHashGetSize
    - taosHashInit
    - taosGetDefaultHashFunction
    - PAR_ERR_JRET
    - translateTable
    - TSWAP
    - QUERY_CHECK_NULL
    - nodesMakeNode
    - setColRef
    - nodesDestroyNode
    - setTableNameByColRef
    - nodesListMakeAppend
    - taosHashGet
    - taosHashCleanup
    - tstrerror
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateVirtualNormalChildTable(STranslateContext* pCxt,
      SNode** pTable, SName* pName,\n                                                SVirtualTableNode*
      pVTable)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6851,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6853,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6857,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6860,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6860,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6861,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6862,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6863,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6870,1
    - Dst: translateVirtualSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6870,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6874,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6875,1
    - Dst: translateVirtualNormalChildTableInStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6875,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6877,1
    - Dst: translateVirtualNormalChildTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6877,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6882,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6887,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6887,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6890,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6890,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6894,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pName
    argTypes:
    - STranslateContext*
    - SNode**
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6896
      start: 6845
    functionDepth: 14
    functionLinenumber: 6845
    functionLinenumberEnd: 6896
    functionName: translateVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateVirtualNormalChildTable
    - isSelectStmt
    - PAR_ERR_RET
    - qError
    - inStreamCalcClause
    - nodesMakeNode
    - translateVirtualSuperTable
    - addNamespace
    - tstrncpy
    - tstrerror
    - nodesDestroyNode
    - PAR_ERR_JRET
    - translateVirtualNormalChildTableInStream
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateVirtualTable(STranslateContext* pCxt, SNode** pTable,
      SName* pName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_AUDIT_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6900,1
    - Dst: IS_AUDIT_STB_NAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6900,1
    - Dst: IS_AUDIT_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6906,1
    - Dst: IS_AUDIT_CTB_NAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pRealTable
    - pName
    argTypes:
    - STranslateContext*
    - SRealTableNode*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6915
      start: 6898
    functionDepth: 1
    functionLinenumber: 6898
    functionLinenumberEnd: 6915
    functionName: translateAudit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_AUDIT_DBNAME
    - IS_AUDIT_STB_NAME
    - IS_AUDIT_CTB_NAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAudit(STranslateContext* pCxt, SRealTableNode* pRealTable,
      SName* pName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6918,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6922,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6923,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6942,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6943,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6944,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6945,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - pCond
    - leftTableAlias
    - rightTableAlias
    argTypes:
    - SNode*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6949
      start: 6917
    functionDepth: 1
    functionLinenumber: 6917
    functionLinenumberEnd: 6949
    functionName: isJoinTagEqualOnCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isJoinTagEqualOnCond(SNode* pCond, char* leftTableAlias, char*
      rightTableAlias)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6952,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6958,1
    - Dst: isJoinTagEqualOnCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6959,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6967,1
    - Dst: isJoinTagEqualOnCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6968,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pCond
    - leftTableAlias
    - rightTableAlias
    argTypes:
    - SNode*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6972
      start: 6951
    functionDepth: 2
    functionLinenumber: 6951
    functionLinenumberEnd: 6972
    functionName: joinTagEqCondContains
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - isJoinTagEqualOnCond
    linkageType: ''
    returnType: bool
    signature: bool joinTagEqCondContains(SNode* pCond, char* leftTableAlias, char*
      rightTableAlias)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: joinTagEqCondContains
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6981,1
    - Dst: joinTagEqCondContains
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pJoinTable
    - pWhere
    argTypes:
    - SJoinTableNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6988
      start: 6974
    functionDepth: 3
    functionLinenumber: 6974
    functionLinenumberEnd: 6988
    functionName: innerJoinTagEqCondContains
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - joinTagEqCondContains
    linkageType: ''
    returnType: bool
    signature: bool innerJoinTagEqCondContains(SJoinTableNode* pJoinTable, SNode*
      pWhere)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6995,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7002,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7003,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7010,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7011,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7014,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7014,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7023,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7028,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7029,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7032,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7032,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 1
    argNames:
    - pJoinTable
    argTypes:
    - SJoinTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7040
      start: 6990
    functionDepth: 2
    functionLinenumber: 6990
    functionLinenumberEnd: 7040
    functionName: joinNonPrimColCondContains
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - isPrimaryKeyImpl
    linkageType: ''
    returnType: bool
    signature: bool joinNonPrimColCondContains(SJoinTableNode* pJoinTable)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7044,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7055,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7055,1
    - Dst: joinNonPrimColCondContains
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7056,1
    - Dst: innerJoinTagEqCondContains
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7069,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7077
      start: 7042
    functionDepth: 4
    functionLinenumber: 7042
    functionLinenumberEnd: 7077
    functionName: setJoinTimeLineResMode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - joinNonPrimColCondContains
    - nodeType
    - IS_WINDOW_JOIN
    - IS_ASOF_JOIN
    - innerJoinTagEqCondContains
    linkageType: ''
    returnType: int32_t
    signature: int32_t setJoinTimeLineResMode(STranslateContext* pCxt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7084,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7087,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7090,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7093,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7097,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7106,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7115,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7122,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - ppDst
    - ppSrc
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7136
      start: 7079
    functionDepth: 6
    functionLinenumber: 7079
    functionLinenumberEnd: 7136
    functionName: mergeInnerJoinConds
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesListMakeStrictAppendList
    - nodeType
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeInnerJoinConds(SNode** ppDst, SNode** ppSrc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7144,1
    - Dst: nodesContainsColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7150,1
    - Dst: nodesContainsColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7150,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7151,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7162,1
    - Dst: splitJoinColPrimaryCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7163,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7169,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7170,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7181,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - ppSrc
    - ppDst
    argTypes:
    - SNode**
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7191
      start: 7138
    functionDepth: 7
    functionLinenumber: 7138
    functionLinenumberEnd: 7191
    functionName: splitJoinColPrimaryCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - TSWAP
    - ERASE_NODE
    - nodeType
    - WHERE_EACH
    - nodesMergeNode
    - splitJoinColPrimaryCond
    - nodesDestroyNode
    - nodesContainsColumn
    linkageType: ''
    returnType: int32_t
    signature: int32_t splitJoinColPrimaryCond(SNode** ppSrc, SNode** ppDst)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - meta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7199
      start: 7193
    functionDepth: 0
    functionLinenumber: 7193
    functionLinenumberEnd: 7199
    functionName: isVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVirtualTable(STableMeta* meta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7201
      start: 7201
    functionDepth: 0
    functionLinenumber: 7201
    functionLinenumberEnd: 7201
    functionName: isVirtualSTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVirtualSTable(STableMeta* meta)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - stmtType
    argTypes:
    - STranslateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7209
      start: 7204
    functionDepth: 0
    functionLinenumber: 7204
    functionLinenumberEnd: 7209
    functionName: transBypassSysTablePrivForShow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool transBypassSysTablePrivForShow(STranslateContext* pCxt, ENodeType
      stmtType)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: transBypassSysTablePrivForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7215,1
    - Dst: getSysTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7218,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7220,1
    - Dst: IS_INFORMATION_SCHEMA_DB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7224,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - dbName
    - tableName
    argTypes:
    - STranslateContext*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7243
      start: 7211
    functionDepth: 1
    functionLinenumber: 7211
    functionLinenumberEnd: 7243
    functionName: transCheckSysTablePriv
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_INFORMATION_SCHEMA_DB
    - getSysTableMeta
    - transBypassSysTablePrivForShow
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t transCheckSysTablePriv(STranslateContext* pCxt, const char*
      dbName, const char* tableName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7255,1
    - Dst: catalogGetUserAuth
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7255,1
    - Dst: PRIV_SET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7256,1
    - Dst: PRIV_SET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7257,1
    - Dst: PRIV_SET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7258,1
    - Dst: PRIV_SET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7259,1
    - Dst: PRIV_SET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7260,1
    - Dst: PRIV_SET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7261,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - qualDbName
    argTypes:
    - STranslateContext*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7265
      start: 7246
    functionDepth: 9
    functionLinenumber: 7246
    functionLinenumberEnd: 7265
    functionName: transSetSysDbPrivs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - catalogGetUserAuth
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    - PRIV_SET
    linkageType: ''
    returnType: int32_t
    signature: int32_t transSetSysDbPrivs(STranslateContext* pCxt, const char* qualDbName)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7276,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7278,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7278,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7280,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7282,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7282,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7284,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7284,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7287,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7287,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7291,1
    - Dst: translateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7291,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7293,1
    - Dst: translateAudit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7293,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7295,1
    - Dst: setTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7295,1
    - Dst: inStreamTriggerClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7298,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7299,1
    - Dst: isVirtualSTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7299,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7300,1
    - Dst: translateVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7300,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7303,1
    - Dst: setTableTsmas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7303,1
    - Dst: isSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7307,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7313,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7314,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7315,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7317,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7321,1
    - Dst: transSetSysDbPrivs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7321,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7322,1
    - Dst: transCheckSysTablePriv
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7322,1
    - Dst: isDeleteStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7324,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7325,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7328,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7328,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7332,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7332,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - inJoin
    argTypes:
    - STranslateContext*
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7334
      start: 7267
    functionDepth: 16
    functionLinenumber: 7267
    functionLinenumberEnd: 7334
    functionName: translateRealTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - PAR_RET
    - toName
    - addNamespace
    - isDeleteStmt
    - isVirtualTable
    - inStreamCalcClause
    - inStreamTriggerClause
    - translateView
    - PAR_ERR_JRET
    - strcmp
    - translateAudit
    - translateVirtualTable
    - isSelectStmt
    - setTableTsmas
    - transCheckSysTablePriv
    - isVirtualSTable
    - generateSyntaxErrMsg
    - collectUseTable
    - tNameGetFullDbName
    - getTargetMeta
    - transSetSysDbPrivs
    - isSingleTable
    - setTableVgroupList
    - tstrerror
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRealTable(STranslateContext* pCxt, SNode** pTable,
      bool inJoin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7342,1
    - Dst: translateTableSubquery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7342,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7344,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7344,1
    - Dst: getJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7354,1
    - Dst: getStmtPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7355,1
    - Dst: stmtIsSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7356,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7357,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7357,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7361,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - inJoin
    argTypes:
    - STranslateContext*
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7363
      start: 7336
    functionDepth: 3
    functionLinenumber: 7336
    functionLinenumberEnd: 7363
    functionName: translateTempTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - isSelectStmt
    - getJoinContais
    - translateTableSubquery
    - nodeType
    - getStmtPrecision
    - addNamespace
    - tstrerror
    - stmtIsSingleTable
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTempTable(STranslateContext* pCxt, SNode** pTable,
      bool inJoin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7371,1
    - Dst: translateJoinTableImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7371,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7372,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7372,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7373,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7373,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7374,1
    - Dst: checkJoinTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7374,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7377,1
    - Dst: splitJoinColPrimaryCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7377,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7380,1
    - Dst: mergeInnerJoinConds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7380,1
    - Dst: calcJoinTablePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7387,1
    - Dst: joinTableIsSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7388,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7390,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7390,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7392,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7392,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7393,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7396,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7399,1
    - Dst: validateJoinConds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7399,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7404,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7404,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7406,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - inJoin
    argTypes:
    - STranslateContext*
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7408
      start: 7365
    functionDepth: 8
    functionLinenumber: 7365
    functionLinenumberEnd: 7408
    functionName: translateJoinTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - mergeInnerJoinConds
    - translateTable
    - joinTableIsSingleTable
    - translateExpr
    - calcJoinTablePrecision
    - nodeType
    - validateJoinConds
    - splitJoinColPrimaryCond
    - tstrerror
    - translateJoinTableImpl
    - nodesDestroyNode
    - PAR_ERR_JRET
    - checkJoinTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateJoinTable(STranslateContext* pCxt, SNode** pTable,
      bool inJoin)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getStreamTriggerTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7413,1
    - Dst: getStreamTriggerPartition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7414,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7417,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7418,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7418,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7423,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7424,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7427,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7427,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7430,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7431,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7434,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7437,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7441,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7441,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7445,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7453,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7454,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7459,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7459,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7465,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7466,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7470,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7475,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7476,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7476,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - inJoin
    argTypes:
    - STranslateContext*
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7478
      start: 7410
    functionDepth: 5
    functionLinenumber: 7410
    functionLinenumberEnd: 7478
    functionName: translatePlaceHolderTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - getStreamTriggerPartition
    - translateTable
    - hasTbnameFunction
    - inStreamCalcClause
    - nodesMakeNode
    - tstrncpy
    - tstrerror
    - getStreamTriggerTable
    - generateSyntaxErrMsgExt
    - BIT_FLAG_SET_MASK
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translatePlaceHolderTable(STranslateContext* pCxt, SNode**
      pTable, bool inJoin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7486,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7488,1
    - Dst: translateRealTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7488,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7492,1
    - Dst: translateTempTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7492,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7496,1
    - Dst: translateJoinTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7496,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7500,1
    - Dst: translatePlaceHolderTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - inJoin
    argTypes:
    - STranslateContext*
    - SNode**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7508
      start: 7480
    functionDepth: 17
    functionLinenumber: 7480
    functionLinenumberEnd: 7508
    functionName: translateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 4
    functionsReached:
    - translateJoinTable
    - translateTempTable
    - nodeType
    - translateRealTable
    - translatePlaceHolderTable
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTable(STranslateContext* pCxt, SNode** pTable, bool
      inJoin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7511,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7513,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7515,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7516,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7518,1
    - Dst: createColumnsByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - igTags
    - pCols
    argTypes:
    - STranslateContext*
    - bool
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7525
      start: 7510
    functionDepth: 7
    functionLinenumber: 7510
    functionLinenumberEnd: 7525
    functionName: createAllColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - nodesMakeList
    - taosArrayGetSize
    - createColumnsByTable
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t createAllColumns(STranslateContext* pCxt, bool igTags, SNodeList**
      pCols)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7529,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7533,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7535,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7536,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7537,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7544,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7547,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7550,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7551,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7553,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7554,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7555,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7556,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7558,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7561,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7562,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7563,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7564,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7566,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pSrcFunc
    - pExpr
    - ppNodeOut
    argTypes:
    - SFunctionNode*
    - SExprNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7570
      start: 7527
    functionDepth: 5
    functionLinenumber: 7527
    functionLinenumberEnd: 7570
    functionName: createMultiResFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - nodesMakeList
    - nodesListStrictAppend
    - nodesMakeNode
    - nodeType
    - snprintf
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createMultiResFunc(SFunctionNode* pSrcFunc, SExprNode* pExpr,
      SNode** ppNodeOut)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7574,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7576,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7578,1
    - Dst: createColumnsByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pCol
    - igTags
    - pOutput
    argTypes:
    - STranslateContext*
    - SColumnNode*
    - bool
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7585
      start: 7572
    functionDepth: 7
    functionLinenumber: 7572
    functionLinenumberEnd: 7585
    functionName: createTableAllCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - generateSyntaxErrMsg
    - findTable
    - createColumnsByTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTableAllCols(STranslateContext* pCxt, SColumnNode* pCol,
      bool igTags, SNodeList** pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7593,1
    - Dst: createAllColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7594,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7595,1
    - Dst: createTableAllCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7596,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7599,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7601,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pSrcParas
    - pOutput
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7615
      start: 7587
    functionDepth: 8
    functionLinenumber: 7587
    functionLinenumberEnd: 7615
    functionName: createMultiResFuncsParas
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - nodesIsTableStar
    - nodesIsStar
    - createTableAllCols
    - nodesCloneNode
    - createAllColumns
    linkageType: ''
    returnType: int32_t
    signature: int32_t createMultiResFuncsParas(STranslateContext* pCxt, SNodeList*
      pSrcParas, SNodeList** pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7593,1
    - Dst: createAllColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7594,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7595,1
    - Dst: createTableAllCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7596,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7599,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7606
      start: 7592
    functionDepth: 8
    functionLinenumber: 7592
    functionLinenumberEnd: 7606
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 214
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesIsTableStar
    - nodesIsStar
    - createTableAllCols
    - nodesCloneNode
    - createAllColumns
    linkageType: ''
    returnType: void
    signature: void FOREACH(pPara, pSrcParas)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7619,1
    - Dst: createMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7627,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7629,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pSrcFunc
    - pExprs
    - pOutput
    argTypes:
    - SFunctionNode*
    - SNodeList*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7642
      start: 7617
    functionDepth: 6
    functionLinenumber: 7617
    functionLinenumberEnd: 7642
    functionName: createMultiResFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesListStrictAppend
    - nodesDestroyList
    - createMultiResFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createMultiResFuncs(SFunctionNode* pSrcFunc, SNodeList* pExprs,
      SNodeList** pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7627,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7633
      start: 7625
    functionDepth: 6
    functionLinenumber: 7625
    functionLinenumberEnd: 7633
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 214
    functionsReached:
    - nodesListStrictAppend
    - createMultiResFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pExpr, pExprs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createMultiResFuncsParas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7646,1
    - Dst: createMultiResFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7648,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pSrcFunc
    - pOutput
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7653
      start: 7644
    functionDepth: 9
    functionLinenumber: 7644
    functionLinenumberEnd: 7653
    functionName: createMultiResFuncsFromStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - createMultiResFuncsParas
    - createMultiResFuncs
    linkageType: ''
    returnType: int32_t
    signature: int32_t createMultiResFuncsFromStar(STranslateContext* pCxt, SFunctionNode*
      pSrcFunc, SNodeList** pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7656,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7657,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7664,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7668,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7671,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7673,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7675,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7676,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - STranslateContext*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7682
      start: 7655
    functionDepth: 6
    functionLinenumber: 7655
    functionLinenumberEnd: 7682
    functionName: createTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - getTableTagSchema
    - nodesListMakeStrictAppend
    - nodeType
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - NODES_DESTORY_LIST
    - setColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTags(STranslateContext* pCxt, SNodeList** pOutput)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7686,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7688,1
    - Dst: createAllColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7690,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7697,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7698,1
    - Dst: isMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7701,1
    - Dst: createTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7704,1
    - Dst: createMultiResFuncsFromStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7706,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7709,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7710,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7713,1
    - Dst: createTableAllCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7715,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7717,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7718,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7728
      start: 7684
    functionDepth: 10
    functionLinenumber: 7684
    functionLinenumberEnd: 7728
    functionName: translateStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesIsTableStar
    - ERASE_NODE
    - WHERE_EACH
    - createMultiResFuncsFromStar
    - nodesIsStar
    - INSERT_LIST
    - isMultiResFunc
    - createTableAllCols
    - createTags
    - createAllColumns
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateStar(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7696
      start: 7693
    functionDepth: 0
    functionLinenumber: 7693
    functionLinenumberEnd: 7696
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 214
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(tmp, pCols)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7759
      start: 7730
    functionDepth: 0
    functionLinenumber: 7730
    functionLinenumberEnd: 7759
    functionName: getPositionValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getPositionValue(const SValueNode* pVal)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getGroupByNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7769,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7778,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7781,1
    - Dst: getPositionValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7784,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7787,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7788,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - pCxt
    - pProjectionList
    - pClauseList
    - pOther
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7798
      start: 7761
    functionDepth: 5
    functionLinenumber: 7761
    functionLinenumberEnd: 7798
    functionName: translateClausePosition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - getGroupByNode
    - translateValue
    - LIST_LENGTH
    - nodeType
    - getPositionValue
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateClausePosition(STranslateContext* pCxt, SNodeList*
      pProjectionList, SNodeList* pClauseList,\n                                       bool*
      pOther)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getGroupByNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7769,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7778,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7781,1
    - Dst: getPositionValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7784,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7787,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7788,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7796
      start: 7765
    functionDepth: 5
    functionLinenumber: 7765
    functionLinenumberEnd: 7796
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 15
    functionsReached:
    - generateSyntaxErrMsg
    - getGroupByNode
    - translateValue
    - LIST_LENGTH
    - nodeType
    - getPositionValue
    linkageType: ''
    returnType: void
    signature: void WHERE_EACH(pNode, pClauseList)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7806,1
    - Dst: rewriteColsFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7808,1
    - Dst: rewriteHavingColsNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7810,1
    - Dst: rewriteColsFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7812,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7815,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7817,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7818,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7820,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - clause
    - pSelect
    argTypes:
    - STranslateContext*
    - ESqlClause
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7824
      start: 7804
    functionDepth: 2
    functionLinenumber: 7804
    functionLinenumberEnd: 7824
    functionName: prepareColumnExpansion
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - rewriteHavingColsNode
    - rewriteColsFunction
    - generateSyntaxErrMsgExt
    - translateExprList
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareColumnExpansion(STranslateContext* pCxt, ESqlClause
      clause, SSelectStmt* pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - found
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7833
      start: 7826
    functionDepth: 2
    functionLinenumber: 7826
    functionLinenumberEnd: 7833
    functionName: checkAggFuncExist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isAggFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes checkAggFuncExist(SNode* pNode, void* found)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7839
      start: 7835
    functionDepth: 4
    functionLinenumber: 7835
    functionLinenumberEnd: 7839
    functionName: hasAggFuncInList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: bool hasAggFuncInList(SNodeList* pProjectionList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: prepareColumnExpansion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7843,1
    - Dst: translateClausePosition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7848,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7850,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7851,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7858,1
    - Dst: hasAggFuncInList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7861,1
    - Dst: hasAggFuncInList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7862,1
    - Dst: checkExprListForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7867,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7870
      start: 7841
    functionDepth: 6
    functionLinenumber: 7841
    functionLinenumberEnd: 7870
    functionName: translateOrderBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - hasAggFuncInList
    - checkExprListForGroupBy
    - LIST_LENGTH
    - prepareColumnExpansion
    - NODES_DESTORY_LIST
    - translateExprList
    - translateClausePosition
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOrderBy(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7873,1
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7879
      start: 7872
    functionDepth: 2
    functionLinenumber: 7872
    functionLinenumberEnd: 7879
    functionName: needFillImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isInterpFunc
    - isAggFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes needFillImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7885
      start: 7881
    functionDepth: 3
    functionLinenumber: 7881
    functionLinenumberEnd: 7885
    functionName: needFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool needFill(SNode* pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7888,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7889,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7889,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7893,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7895,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7897,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7899,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7901,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - dt
    - pValues
    - index
    argTypes:
    - STranslateContext*
    - SDataType
    - SNodeList*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7904
      start: 7887
    functionDepth: 6
    functionLinenumber: 7887
    functionLinenumberEnd: 7904
    functionName: convertFillValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - nodeType
    - createCastFunc
    - dataTypeEqual
    - generateSyntaxErrMsgExt
    - nodesListGetCell
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertFillValue(STranslateContext* pCxt, SDataType dt, SNodeList*
      pValues, int32_t index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: needFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7911,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7912,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7913,1
    - Dst: convertFillValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7915,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7924,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pFill
    - pProjectionList
    argTypes:
    - STranslateContext*
    - SFillNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7928
      start: 7906
    functionDepth: 7
    functionLinenumber: 7906
    functionLinenumberEnd: 7928
    functionName: doCheckFillValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - needFill
    - convertFillValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCheckFillValues(STranslateContext* pCxt, SFillNode* pFill,
      SNodeList* pProjectionList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: needFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7911,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7912,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7913,1
    - Dst: convertFillValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7915,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7922
      start: 7910
    functionDepth: 7
    functionLinenumber: 7910
    functionLinenumberEnd: 7922
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 214
    functionsReached:
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - needFill
    - convertFillValue
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProject, pProjectionList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doCheckFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pFill
    - pSelect
    argTypes:
    - STranslateContext*
    - SFillNode*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7942
      start: 7930
    functionDepth: 8
    functionLinenumber: 7930
    functionLinenumberEnd: 7942
    functionName: checkFillValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - doCheckFillValues
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkFillValues(STranslateContext* pCxt, SFillNode* pFill,
      SSelectStmt* pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7946,1
    - Dst: checkFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7953,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7954
      start: 7944
    functionDepth: 9
    functionLinenumber: 7944
    functionLinenumberEnd: 7954
    functionName: translateFillValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - checkFillValues
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateFillValues(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7962,1
    - Dst: rewriteExprAliasName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7967
      start: 7956
    functionDepth: 2
    functionLinenumber: 7956
    functionLinenumberEnd: 7967
    functionName: rewriteProjectAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteExprAliasName
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteProjectAlias(SNodeList* pProjectionList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7962,1
    - Dst: rewriteExprAliasName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7965
      start: 7959
    functionDepth: 2
    functionLinenumber: 7959
    functionLinenumberEnd: 7965
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 214
    functionsReached:
    - rewriteExprAliasName
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProject, pProjectionList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7970,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7970,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7971,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7977,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7977,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7978,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7979,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7981,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7981,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7987,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pProjectionList
    - pOutput
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7990
      start: 7969
    functionDepth: 1
    functionLinenumber: 7969
    functionLinenumberEnd: 7990
    functionName: checkProjectAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - taosHashGet
    - LIST_LENGTH
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkProjectAlias(STranslateContext* pCxt, SNodeList* pProjectionList,
      SHashObj** pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7977,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7977,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7978,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7979,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7981,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7983
      start: 7975
    functionDepth: 1
    functionLinenumber: 7975
    functionLinenumberEnd: 7983
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 214
    functionsReached:
    - generateSyntaxErrMsg
    - taosHashGet
    - taosHashCleanup
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProject, pProjectionList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7995,1
    - Dst: rewriteProjectAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8001
      start: 7992
    functionDepth: 3
    functionLinenumber: 7992
    functionLinenumberEnd: 8001
    functionName: translateProjectionList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - rewriteProjectAlias
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateProjectionList(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8014,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8016,1
    - Dst: getPositionValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8022,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8023,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8025,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8025,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8030,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8033,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8039,1
    - Dst: translateColumnInGroupByClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8041,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8046,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8049,1
    - Dst: doTranslateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8056,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8057
      start: 8008
    functionDepth: 17
    functionLinenumber: 8008
    functionLinenumberEnd: 8057
    functionName: translateGroupPartitionByImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - translateExpr
    - translateValue
    - LIST_LENGTH
    - nodeType
    - getPositionValue
    - nodesDestroyNode
    - nodesCloneNode
    - doTranslateExpr
    - translateColumnInGroupByClause
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes translateGroupPartitionByImpl(SNode** pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8067
      start: 8059
    functionDepth: 1
    functionLinenumber: 8059
    functionLinenumberEnd: 8067
    functionName: translateGroupByList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExprsPostOrder
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateGroupByList(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8078
      start: 8069
    functionDepth: 1
    functionLinenumber: 8069
    functionLinenumberEnd: 8078
    functionName: translatePartitionByList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExprsPostOrder
    linkageType: ''
    returnType: int32_t
    signature: int32_t translatePartitionByList(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8090
      start: 8086
    functionDepth: 0
    functionLinenumber: 8086
    functionLinenumberEnd: 8090
    functionName: colIdNameKVComp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t colIdNameKVComp(const void* pLeft, const void* pRight)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8098,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8106
      start: 8097
    functionDepth: 1
    functionLinenumber: 8097
    functionLinenumberEnd: 8106
    functionName: setMaskFlagWalker
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes setMaskFlagWalker(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8111,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pSelect
    - tableId
    - colId
    argTypes:
    - SSelectStmt*
    - uint64_t
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8112
      start: 8108
    functionDepth: 3
    functionLinenumber: 8108
    functionLinenumberEnd: 8112
    functionName: setMaskFlagOnProjCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - nodesWalkExpr
    linkageType: ''
    returnType: void
    signature: void setMaskFlagOnProjCol(SSelectStmt* pSelect, uint64_t tableId, col_id_t
      colId)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8125,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8131,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8133,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8138,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8138,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8140,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8143,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8143,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8147,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8161,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8162,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8165,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8166,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8169,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8174,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8178,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8178,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8180,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8195,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8196,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8197,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8198,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8201,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8202,1
    - Dst: catalogChkAuth
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8202,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8205,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8205,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8207,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8210,1
    - Dst: IS_MASK_ON
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8212,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8216,1
    - Dst: setMaskFlagOnProjCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8219,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8228,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8229,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8231,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8236,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8238,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8244,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8245,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8247,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8248,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 98
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8251
      start: 8114
    functionDepth: 10
    functionLinenumber: 8114
    functionLinenumberEnd: 8251
    functionName: translateCheckPrivCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArraySort
    - nodesDestroyList
    - nodeType
    - snprintf
    - setMaskFlagOnProjCol
    - tSimpleHashGetKey
    - taosArrayDestroy
    - memcpy
    - taosArrayRemoveDuplicate
    - LIST_LENGTH
    - nodesCollectColumns
    - tSimpleHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    - tSimpleHashGet
    - IS_MASK_ON
    - tSimpleHashCleanup
    - tstrncpy
    - tSimpleHashIterate
    - nodesDestroyNode
    - IS_SYS_DBNAME
    - generateSyntaxErrMsg
    - tSimpleHashPut
    - taosArrayInit
    - catalogChkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCheckPrivCols(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8147,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8161,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8162,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8165,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8166,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8169,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8174,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8178,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8178,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8180,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8185
      start: 8146
    functionDepth: 1
    functionLinenumber: 8146
    functionLinenumberEnd: 8185
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 216
    functionsReached:
    - taosArrayPush
    - tSimpleHashPut
    - nodeType
    - snprintf
    - tstrncpy
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pRetrievedCols)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8265,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8268,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8269,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8270,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8277,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8283,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8291,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8294,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8302,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8309,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - ppFunc
    argTypes:
    - STranslateContext*
    - SColumnNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8311
      start: 8253
    functionDepth: 6
    functionLinenumber: 8253
    functionLinenumberEnd: 8311
    functionName: createMaskFuncNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeValueNodeFromString
    - nodesListMakeStrictAppend
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneNode
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t createMaskFuncNode(STranslateContext* pCxt, SColumnNode* pCol,
      SNode** ppFunc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8323,1
    - Dst: createMaskFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8326,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ppNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8340
      start: 8322
    functionDepth: 7
    functionLinenumber: 8322
    functionLinenumberEnd: 8340
    functionName: rewriteMaskedColWalker
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - createMaskFuncNode
    - nodesDestroyNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteMaskedColWalker(SNode** ppNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8350
      start: 8342
    functionDepth: 1
    functionLinenumber: 8342
    functionLinenumberEnd: 8350
    functionName: translateProcessMaskColFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateProcessMaskColFunc(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8364,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8369,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8382,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8382,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - pCol
    - pSubquery
    - pIndex
    - pExpr
    argTypes:
    - SColumnNode*
    - SNode*
    - int32_t*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8393
      start: 8359
    functionDepth: 2
    functionLinenumber: 8359
    functionLinenumberEnd: 8393
    functionName: getColIndexFromSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - getProjectList
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t getColIndexFromSubquery(SColumnNode* pCol, SNode* pSubquery,
      int32_t* pIndex, SNode** pExpr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8382,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8390
      start: 8375
    functionDepth: 0
    functionLinenumber: 8375
    functionLinenumberEnd: 8390
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 216
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pProjectionList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8405,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8406,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8407,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8411,1
    - Dst: fmGetExternalWindowColumnFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8416,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8417,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8418,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8420,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8423,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8427,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8432,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8433,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8439,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8439,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8444,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8445,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8447,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8448,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8450,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8456,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8456,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8458,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8461,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 4
    argNames:
    - pNode
    - pSubquery
    - colIndex
    - pSrcExpr
    argTypes:
    - SNode**
    - SNode*
    - int32_t
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8465
      start: 8395
    functionDepth: 6
    functionLinenumber: 8395
    functionLinenumberEnd: 8465
    functionName: translateExternalWindowColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - parserError
    - nodesListMakeStrictAppend
    - LIST_LENGTH
    - nodesMakeValueNodeFromInt64
    - nodesMakeNode
    - fmGetExternalWindowColumnFuncId
    - tstrncpy
    - QUERY_CHECK_CODE
    - tstrerror
    - nodesDestroyNode
    - getProjectList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateExternalWindowColumnFunc(SNode** pNode, SNode* pSubquery,
      int32_t colIndex,\n                                                 SNode* pSrcExpr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8471,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8475,1
    - Dst: getColIndexFromSubquery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8478,1
    - Dst: translateExternalWindowColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8491
      start: 8467
    functionDepth: 3
    functionLinenumber: 8467
    functionLinenumberEnd: 8491
    functionName: replaceExternalWindowPlace
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strncmp
    - getColIndexFromSubquery
    - translateExternalWindowColumnFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes replaceExternalWindowPlace(SNode** pNode, void* pContext)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8495,1
    - Dst: hasGroupOrPartition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8499,1
    - Dst: hasGroupOrPartition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8499,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8500,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8504,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8505,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8506,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8510,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8511,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8514,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pSubQuery
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8519
      start: 8493
    functionDepth: 2
    functionLinenumber: 8493
    functionLinenumberEnd: 8519
    functionName: checkExternalWindowSubquerySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - hasGroupOrPartition
    - generateSyntaxErrMsgExt
    - getProjectList
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkExternalWindowSubquerySchema(STranslateContext* pCxt,
      SNode* pSubQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateExprSubquery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8523,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8529,1
    - Dst: checkExternalWindowSubquerySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8530,1
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8537,1
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8542
      start: 8521
    functionDepth: 7
    functionLinenumber: 8521
    functionLinenumberEnd: 8542
    functionName: translateExternalWindowSelectList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesRewriteExprsPostOrder
    - translateExprSubquery
    - checkExternalWindowSubquerySchema
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateExternalWindowSelectList(STranslateContext* pCxt,
      SSelectStmt* pSelect)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8548,1
    - Dst: translateExternalWindowSelectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8549,1
    - Dst: prepareColumnExpansion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8552,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8555,1
    - Dst: translateStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8558,1
    - Dst: translateProjectionList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8561,1
    - Dst: checkExprListForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8564,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8574
      start: 8544
    functionDepth: 11
    functionLinenumber: 8544
    functionLinenumberEnd: 8574
    functionName: translateSelectList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateProjectionList
    - translateExprList
    - checkExprListForGroupBy
    - nodeType
    - translateExternalWindowSelectList
    - prepareColumnExpansion
    - translateStar
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSelectList(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8579,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8580,1
    - Dst: prepareColumnExpansion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8584,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8589,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8592,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8594,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8598,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8599
      start: 8576
    functionDepth: 3
    functionLinenumber: 8576
    functionLinenumberEnd: 8599
    functionName: translateHaving
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isWindowJoinStmt
    - generateSyntaxErrMsg
    - translateExpr
    - nodesWalkExpr
    - prepareColumnExpansion
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateHaving(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8606,1
    - Dst: translateClausePosition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8610,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8612,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8613,1
    - Dst: translateGroupByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8620
      start: 8601
    functionDepth: 6
    functionLinenumber: 8601
    functionLinenumberEnd: 8620
    functionName: translateGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - translateGroupByList
    - LIST_LENGTH
    - NODES_DESTORY_LIST
    - translateClausePosition
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateGroupBy(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8624,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8627,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8628,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pPrimaryKeyCond
    - pTimeRange
    - pIsStrict
    argTypes:
    - SNode**
    - STimeWindow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8634
      start: 8622
    functionDepth: 8
    functionLinenumber: 8622
    functionLinenumberEnd: 8634
    functionName: getTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - filterGetTimeRange
    - scalarCalculateConstants
    - TAOS_SET_OBJ_ALIGNED
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTimeRange(SNode** pPrimaryKeyCond, STimeWindow* pTimeRange,
      bool* pIsStrict)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8643,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8647,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8649,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8664
      start: 8641
    functionDepth: 1
    functionLinenumber: 8641
    functionLinenumberEnd: 8664
    functionName: conditionOnlyPhAndConstImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsPlaceHolderFunc
    - fmIsScalarFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes conditionOnlyPhAndConstImpl(SNode* pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8673,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - pOnlyTsConst
    argTypes:
    - SNode*
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8689
      start: 8672
    functionDepth: 3
    functionLinenumber: 8672
    functionLinenumberEnd: 8689
    functionName: filterExtractTsNeedCollect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool filterExtractTsNeedCollect(SNode* pLeft, SNode* pRight, bool*
      pOnlyTsConst)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8694,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8697,1
    - Dst: scalarConvertOpValueNodeTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8697,1
    - Dst: filterExtractTsNeedCollect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8700,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8703,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8703,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8705,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8705,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8707,1
    - Dst: nodesMakeValueNodeFromBool
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8707,1
    - Dst: filterExtractTsNeedCollect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8710,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8713,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8716,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8716,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8718,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8720,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8720,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8722,1
    - Dst: nodesMakeValueNodeFromBool
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8722,1
    - Dst: filterExtractTsNeedCollect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8729,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8733,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8733,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8734,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8734,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8737,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8737,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8738,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8738,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8739,1
    - Dst: nodesMakeValueNodeFromBool
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8739,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8740,1
    - Dst: filterExtractTsNeedCollect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8743,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8747,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8747,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8748,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8748,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8751,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8752,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8753,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8753,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8754,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8754,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8755,1
    - Dst: nodesMakeValueNodeFromBool
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8755,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8756,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 80
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8781
      start: 8691
    functionDepth: 6
    functionLinenumber: 8691
    functionLinenumberEnd: 8781
    functionName: filterExtractTsCondImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - scalarConvertOpValueNodeTs
    - nodesListMakeAppend
    - filterExtractTsNeedCollect
    - TSWAP
    - nodesMakeValueNodeFromBool
    - nodeType
    - nodesDestroyNode
    - nodesCloneNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes filterExtractTsCondImpl(SNode** pNode, void* pContext)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8784,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8784,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8790,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8792,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8796,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8797,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8806,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - pCond
    - start
    - equal
    argTypes:
    - SNode*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8823
      start: 8783
    functionDepth: 1
    functionLinenumber: 8783
    functionLinenumberEnd: 8823
    functionName: tsRangeSameToWindowRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool tsRangeSameToWindowRange(SNode* pCond, bool start, bool equal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8831,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8836,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8836,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8841,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8841,1
    - Dst: tsRangeSameToWindowRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8842,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8845,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8845,1
    - Dst: tsRangeSameToWindowRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8846,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8856,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - pCond
    - pTimeRangeExpr
    - leftEq
    - rightEq
    - onlyTsConst
    argTypes:
    - SNode**
    - SNode**
    - bool
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8858
      start: 8825
    functionDepth: 6
    functionLinenumber: 8825
    functionLinenumberEnd: 8858
    functionName: filterExtractTsCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMergeConds
    - tsRangeSameToWindowRange
    - nodesRewriteExpr
    - nodesMakeNode
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t filterExtractTsCond(SNode** pCond, SNode** pTimeRangeExpr,
      bool leftEq, bool rightEq,\n                                   bool* onlyTsConst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8863,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8870,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8870,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8873,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8880,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8880,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8881,1
    - Dst: filterExtractTsCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8881,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8885,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8886,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8886,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8887,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8891,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8896,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8896,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8900,1
    - Dst: getTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8900,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8902,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8906,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8907,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - pCxt
    - pWhere
    - pTimeRange
    - pTimeRangeExpr
    - pFromTable
    argTypes:
    - STranslateContext*
    - SNode**
    - STimeWindow*
    - SNode**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8909
      start: 8860
    functionDepth: 9
    functionLinenumber: 8860
    functionLinenumberEnd: 8909
    functionName: getQueryTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTimeRange
    - TSWAP
    - filterExtractTsCond
    - inStreamCalcClause
    - TAOS_SET_OBJ_ALIGNED
    - nodeType
    - filterPartitionCond
    - nodesDestroyNode
    - nodesCloneNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getQueryTimeRange(STranslateContext* pCxt, SNode** pWhere,
      STimeWindow* pTimeRange,\n                                 SNode** pTimeRangeExpr,
      SNode* pFromTable)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8916,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8921,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pSurroundingTime
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8931
      start: 8911
    functionDepth: 1
    functionLinenumber: 8911
    functionLinenumberEnd: 8931
    functionName: translateSurroundingTime
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSurroundingTime(STranslateContext* pCxt, SNode* pSurroundingTime)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8937,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8943,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8944,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8949,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8953,1
    - Dst: int64SafeSub
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8963,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8965,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8967,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8977,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8978,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - pCxt
    - pFill
    - pInterval
    - isInterpFill
    - precision
    argTypes:
    - STranslateContext*
    - SFillNode*
    - SValueNode*
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8982
      start: 8933
    functionDepth: 1
    functionLinenumber: 8933
    functionLinenumberEnd: 8982
    functionName: checkFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - TSWINDOW_IS_EQUAL
    - generateSyntaxErrMsg
    - convertTimePrecision
    - IS_CALENDAR_TIME_DURATION
    - inStreamCalcClause
    - int64SafeSub
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkFill(STranslateContext* pCxt, SFillNode* pFill, SValueNode*
      pInterval, bool isInterpFill,\n                         uint8_t precision)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8991,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8991,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8992,1
    - Dst: translateSurroundingTime
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8992,1
    - Dst: checkFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pInterval
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SIntervalWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8994
      start: 8984
    functionDepth: 3
    functionLinenumber: 8984
    functionLinenumberEnd: 8994
    functionName: translateFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - nodesCloneNode
    - translateSurroundingTime
    - checkFill
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateFill(STranslateContext* pCxt, SSelectStmt* pSelect,
      SIntervalWindowNode* pInterval)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - val
    - fromPrecision
    - unit
    - pMonth
    argTypes:
    - int64_t
    - int32_t
    - char
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9024
      start: 8996
    functionDepth: 1
    functionLinenumber: 8996
    functionLinenumberEnd: 9024
    functionName: getMonthsFromTimeVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - convertTimeFromPrecisionToUnit
    linkageType: ''
    returnType: int32_t
    signature: int32_t getMonthsFromTimeVal(int64_t val, int32_t fromPrecision, char
      unit, double* pMonth)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9038
      start: 9026
    functionDepth: 0
    functionLinenumber: 9026
    functionLinenumberEnd: 9038
    functionName: getPrecisionStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getPrecisionStr(uint8_t precision)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9052
      start: 9040
    functionDepth: 0
    functionLinenumber: 9040
    functionLinenumberEnd: 9052
    functionName: getPrecisionMultiple
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getPrecisionMultiple(uint8_t precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pOffset
    - precision
    argTypes:
    - SValueNode*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9065
      start: 9054
    functionDepth: 0
    functionLinenumber: 9054
    functionLinenumberEnd: 9065
    functionName: convertVarDuration
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertVarDuration(SValueNode* pOffset, uint8_t precision)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9076,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9078,1
    - Dst: getPrecisionStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9079,1
    - Dst: getPrecisionMultiple
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9080,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9081,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9087,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9088,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9092,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9095,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9097,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9099,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9103,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9104,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9106,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9107,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9110,1
    - Dst: convertVarDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9115,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9123,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9124,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9127,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9129,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9132,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9134,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9135,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9137,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9138,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9141,1
    - Dst: convertCalendarTimeFromUnitToPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9145,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9146,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9152,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9157,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9164,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9168,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9173,1
    - Dst: getPrecisionStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9175,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9182,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9182,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 83
    argCount: 2
    argNames:
    - pCxt
    - pInterval
    argTypes:
    - STranslateContext*
    - SIntervalWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9184
      start: 9069
    functionDepth: 2
    functionLinenumber: 9069
    functionLinenumberEnd: 9184
    functionName: checkIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getPrecisionMultiple
    - parserError
    - generateSyntaxErrMsg
    - convertTimePrecision
    - TAOS_CHECK_GOTO
    - getPrecisionStr
    - getPrecisionUnit
    - IS_CALENDAR_TIME_DURATION
    - getMonthsFromTimeVal
    - tstrerror
    - convertVarDuration
    - generateSyntaxErrMsgExt
    - convertCalendarTimeFromUnitToPrecision
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkIntervalWindow(STranslateContext* pCxt, SIntervalWindowNode*
      pInterval)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9189,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9189,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9193,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9193,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9194,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - pLeftTime
    - pRightTime
    - precision
    - greateEqual
    - res
    argTypes:
    - SValueNode*
    - SValueNode*
    - uint8_t
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9217
      start: 9187
    functionDepth: 2
    functionLinenumber: 9187
    functionLinenumberEnd: 9217
    functionName: checkTimeGreater
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - IS_CALENDAR_TIME_DURATION
    - getMonthsFromTimeVal
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTimeGreater(SValueNode* pLeftTime, SValueNode* pRightTime,
      uint8_t precision, bool greateEqual,\n                                bool*
      res)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9228,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9230,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9230,1
    - Dst: getPrecisionStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9231,1
    - Dst: getPrecisionMultiple
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9232,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9233,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9233,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9239,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9239,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9244,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9244,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9248,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9248,1
    - Dst: checkTimeGreater
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9252,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9256,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9256,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9262,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9263,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9263,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9266,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9266,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9269,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9269,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9275,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9275,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9280,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9280,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9285,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9285,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9289,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9289,1
    - Dst: checkTimeGreater
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9293,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9297,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9297,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 2
    argNames:
    - pCxt
    - pInterval
    argTypes:
    - STranslateContext*
    - SIntervalWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9302
      start: 9219
    functionDepth: 3
    functionLinenumber: 9219
    functionLinenumberEnd: 9302
    functionName: checkStreamIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getPrecisionMultiple
    - generateSyntaxErrMsg
    - getPrecisionStr
    - checkTimeGreater
    - PAR_ERR_RET
    - IS_CALENDAR_TIME_DURATION
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkStreamIntervalWindow(STranslateContext* pCxt, SIntervalWindowNode*
      pInterval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9333,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9334,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - pInterval
    argTypes:
    - SIntervalWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9341
      start: 9304
    functionDepth: 1
    functionLinenumber: 9304
    functionLinenumberEnd: 9341
    functionName: tryCalcIntervalAutoOffset
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - calcIntervalAutoOffset
    - IS_CALENDAR_TIME_DURATION
    linkageType: ''
    returnType: void
    signature: void tryCalcIntervalAutoOffset(SIntervalWindowNode* pInterval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryCalcIntervalAutoOffset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9348,1
    - Dst: checkIntervalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9350,1
    - Dst: translateFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9355
      start: 9343
    functionDepth: 4
    functionLinenumber: 9343
    functionLinenumberEnd: 9355
    functionName: translateIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tryCalcIntervalAutoOffset
    - checkIntervalWindow
    - translateFill
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateIntervalWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9391,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9396,1
    - Dst: getPrecisionMultiple
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9423,1
    - Dst: getPrecisionMultiple
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9424,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9432,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9438,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9438,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9442,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9443,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9449,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9453,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9453,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9463,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9466,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9470,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9470,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 52
    argCount: 2
    argNames:
    - pCxt
    - pPeriod
    argTypes:
    - STranslateContext*
    - SPeriodWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9476
      start: 9382
    functionDepth: 1
    functionLinenumber: 9382
    functionLinenumberEnd: 9476
    functionName: checkPeriodWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getPrecisionMultiple
    - convertTimePrecision
    - PAR_ERR_RET
    - snprintf
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkPeriodWindow(STranslateContext* pCxt, SPeriodWindowNode*
      pPeriod)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9480,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9480,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9481,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9484,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9489
      start: 9478
    functionDepth: 1
    functionLinenumber: 9478
    functionLinenumberEnd: 9489
    functionName: checkStateExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsg
    - IS_INTEGER_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkStateExpr(STranslateContext* pCxt, SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9502
      start: 9491
    functionDepth: 1
    functionLinenumber: 9491
    functionLinenumberEnd: 9502
    functionName: checkStateExtend
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkStateExtend(STranslateContext* pCxt, SNode* pNode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9511,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9516,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9528,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9530,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9531,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9535
      start: 9504
    functionDepth: 1
    functionLinenumber: 9504
    functionLinenumberEnd: 9535
    functionName: checkTrueForLimit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsg
    - IS_CALENDAR_TIME_DURATION
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkTrueForLimit(STranslateContext* pCxt, SNode* pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9541,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9542,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9555,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9557,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pStateWin
    argTypes:
    - STranslateContext*
    - SStateWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9564
      start: 9537
    functionDepth: 6
    functionLinenumber: 9537
    functionLinenumberEnd: 9564
    functionName: checkAndConvertZerothValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - createCastFunc
    - scalarCalculateConstants
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAndConvertZerothValue(STranslateContext* pCxt, SStateWindowNode*
      pStateWin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9567,1
    - Dst: checkStateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9567,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9568,1
    - Dst: checkStateExtend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9568,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9569,1
    - Dst: checkTrueForLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9569,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9570,1
    - Dst: checkAndConvertZerothValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStateWin
    argTypes:
    - STranslateContext*
    - SStateWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9572
      start: 9566
    functionDepth: 7
    functionLinenumber: 9566
    functionLinenumberEnd: 9572
    functionName: checkStateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkTrueForLimit
    - checkStateExtend
    - PAR_ERR_RET
    - checkStateExpr
    - checkAndConvertZerothValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkStateWindow(STranslateContext* pCxt, SStateWindowNode*
      pStateWin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9581,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9583,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9583,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9587,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9589,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9593,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9593,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9594,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9600,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9602,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9602,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9609
      start: 9574
    functionDepth: 7
    functionLinenumber: 9574
    functionLinenumberEnd: 9609
    functionName: translateZerothState
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesCloneNode
    - nodesMakeNode
    - nodesMergeNode
    - tstrerror
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateZerothState(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9613,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9614,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9615,1
    - Dst: checkStateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9619,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9621,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9621,1
    - Dst: translateZerothState
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9625,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9627,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9630
      start: 9611
    functionDepth: 8
    functionLinenumber: 9611
    functionLinenumberEnd: 9630
    functionName: translateStateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - translateZerothState
    - isGlobalTimeLineQuery
    - nodeType
    - tstrerror
    - generateSyntaxErrMsgExt
    - checkStateWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateStateWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9634,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9634,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9636,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9637,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pSession
    argTypes:
    - STranslateContext*
    - SSessionWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9640
      start: 9632
    functionDepth: 2
    functionLinenumber: 9632
    functionLinenumberEnd: 9640
    functionName: checkSessionWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - generateSyntaxErrMsg
    - isPrimaryKeyImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkSessionWindow(STranslateContext* pCxt, SSessionWindowNode*
      pSession)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9643,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9644,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9645,1
    - Dst: checkSessionWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9650
      start: 9642
    functionDepth: 3
    functionLinenumber: 9642
    functionLinenumberEnd: 9650
    functionName: translateSessionWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - checkSessionWindow
    - isGlobalTimeLineQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSessionWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9655,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9660,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9667
      start: 9652
    functionDepth: 5
    functionLinenumber: 9652
    functionLinenumberEnd: 9667
    functionName: collectWindowsPseudocolumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesListStrictAppend
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectWindowsPseudocolumns(SNode* pNode, void* pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9673,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9673,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9676,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9678,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9681,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9683,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pEventWindowNode
    argTypes:
    - SEventWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9689
      start: 9669
    functionDepth: 6
    functionLinenumber: 9669
    functionLinenumberEnd: 9689
    functionName: checkWindowsConditonValid
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - PAR_ERR_JRET
    - nodesWalkExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkWindowsConditonValid(SEventWindowNode* pEventWindowNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9692,1
    - Dst: checkTrueForLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9692,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9693,1
    - Dst: checkWindowsConditonValid
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pEvent
    argTypes:
    - STranslateContext*
    - SEventWindowNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9694
      start: 9691
    functionDepth: 7
    functionLinenumber: 9691
    functionLinenumberEnd: 9694
    functionName: checkEventWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkTrueForLimit
    - checkWindowsConditonValid
    - PAR_ERR_RET
    - PAR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkEventWindow(STranslateContext* pCxt, SEventWindowNode*
      pEvent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9697,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9698,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9699,1
    - Dst: checkEventWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9703
      start: 9696
    functionDepth: 8
    functionLinenumber: 9696
    functionLinenumberEnd: 9703
    functionName: translateEventWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - checkEventWindow
    - isGlobalTimeLineQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateEventWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9707,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9707,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9712,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9712,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9717,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9717,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9722,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9722,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9728,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9729,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9730,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9730,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9735,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9735,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - pCountWin
    - streamTrigger
    argTypes:
    - STranslateContext*
    - SCountWindowNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9742
      start: 9705
    functionDepth: 1
    functionLinenumber: 9705
    functionLinenumberEnd: 9742
    functionName: checkCountWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - PAR_ERR_RET
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCountWindow(STranslateContext* pCxt, SCountWindowNode*
      pCountWin, bool streamTrigger)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9747,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9748,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9749,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9754,1
    - Dst: extractCondFromCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9754,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9757,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9757,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9758,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9758,1
    - Dst: checkCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9761,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9768
      start: 9744
    functionDepth: 4
    functionLinenumber: 9744
    functionLinenumberEnd: 9768
    functionName: translateCountWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - extractCondFromCountWindow
    - translateExpr
    - insertCondIntoSelectStmt
    - isGlobalTimeLineQuery
    - nodeType
    - checkCountWindow
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCountWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9772,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9774,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9775,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9779,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pNodeList
    argTypes:
    - STranslateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9786
      start: 9770
    functionDepth: 1
    functionLinenumber: 9770
    functionLinenumberEnd: 9786
    functionName: checkAnomalyExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - generateSyntaxErrMsgExt
    - nodeType
    - IS_MATHABLE_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAnomalyExpr(STranslateContext* pCxt, SNodeList* pNodeList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9789,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9790,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9791,1
    - Dst: checkAnomalyExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9796,1
    - Dst: taosAnalyGetOptStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9798,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9805
      start: 9788
    functionDepth: 2
    functionLinenumber: 9788
    functionLinenumberEnd: 9805
    functionName: translateAnomalyWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkAnomalyExpr
    - isGlobalTimeLineQuery
    - nodeType
    - taosAnalyGetOptStr
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAnomalyWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9813
      start: 9807
    functionDepth: 0
    functionLinenumber: 9807
    functionLinenumberEnd: 9813
    functionName: translatePeriodWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translatePeriodWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9817
      start: 9815
    functionDepth: 0
    functionLinenumber: 9815
    functionLinenumberEnd: 9817
    functionName: translateExternalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateExternalWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9820,1
    - Dst: translateStateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9822,1
    - Dst: translateSessionWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9824,1
    - Dst: translateIntervalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9826,1
    - Dst: translateEventWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9828,1
    - Dst: translateCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9830,1
    - Dst: translateAnomalyWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9832,1
    - Dst: translatePeriodWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9834,1
    - Dst: translateExternalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9841
      start: 9819
    functionDepth: 9
    functionLinenumber: 9819
    functionLinenumberEnd: 9841
    functionName: translateSpecificWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateSessionWindow
    - translateCountWindow
    - translateExternalWindow
    - nodeType
    - translatePeriodWindow
    - translateEventWindow
    - translateAnomalyWindow
    - translateIntervalWindow
    - translateStateWindow
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSpecificWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9847,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9849,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9854,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9860,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9863,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9864,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9865,1
    - Dst: isTimeLineAlignedQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9867,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9869,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9871,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9873,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9877,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9878,1
    - Dst: isBlockTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9879,1
    - Dst: isTimeLineAlignedQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9881,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9883,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9885,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9887,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9892,1
    - Dst: translateSpecificWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9894,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 45
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9897
      start: 9843
    functionDepth: 10
    functionLinenumber: 9843
    functionLinenumberEnd: 9897
    functionName: translateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isTimeLineAlignedQuery
    - generateSyntaxErrMsg
    - isBlockTimeLineQuery
    - translateExpr
    - isGlobalTimeLineQuery
    - nodeType
    - translateSpecificWindow
    - generateSyntaxErrMsgExt
    - generateDealNodeErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateWindow(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9901,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9909,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9911,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9920
      start: 9899
    functionDepth: 5
    functionLinenumber: 9899
    functionLinenumberEnd: 9920
    functionName: createDefaultFillNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDefaultFillNode(STranslateContext* pCxt, SNode** pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9924,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9932,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9941
      start: 9922
    functionDepth: 5
    functionLinenumber: 9922
    functionLinenumberEnd: 9941
    functionName: createDefaultEveryNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDefaultEveryNode(STranslateContext* pCxt, SNode** pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9944,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInterval
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9953
      start: 9943
    functionDepth: 1
    functionLinenumber: 9943
    functionLinenumberEnd: 9953
    functionName: checkEvery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkEvery(STranslateContext* pCxt, SValueNode* pInterval)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createDefaultEveryNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9959,1
    - Dst: checkEvery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9962,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9965,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pEvery
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9975
      start: 9955
    functionDepth: 6
    functionLinenumber: 9955
    functionLinenumberEnd: 9975
    functionName: translateInterpEvery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateExpr
    - checkEvery
    - generateSyntaxErrMsgExt
    - createDefaultEveryNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInterpEvery(STranslateContext* pCxt, SNode** pEvery)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9979,1
    - Dst: fmIsRowTsOriginFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9987
      start: 9977
    functionDepth: 1
    functionLinenumber: 9977
    functionLinenumberEnd: 9987
    functionName: hasRowTsOriginFuncWalkNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsRowTsOriginFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes hasRowTsOriginFuncWalkNode(SNode* pNode, void* ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: createDefaultFillNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9995,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9998,1
    - Dst: getQueryTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10001,1
    - Dst: translateSurroundingTime
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10004,1
    - Dst: checkFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10007,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10009,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10011,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10014,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10022,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10029,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10035,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10040
      start: 9989
    functionDepth: 10
    functionLinenumber: 9989
    functionLinenumberEnd: 10040
    functionName: translateInterpFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - translateSurroundingTime
    - createDefaultFillNode
    - translateExpr
    - getQueryTimeRange
    - QUERY_CHECK_CODE
    - generateSyntaxErrMsgExt
    - nodesWalkExprs
    - checkFill
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInterpFill(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10046,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10048,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10052,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10057,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10061,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10066
      start: 10042
    functionDepth: 2
    functionLinenumber: 10042
    functionLinenumberEnd: 10066
    functionName: translateInterpAround
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateExpr
    - generateSyntaxErrMsgExt
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInterpAround(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10071,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10074,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10080,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10082,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10083,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10090,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10093,1
    - Dst: translateInterpAround
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10099,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10102,1
    - Dst: translateInterpEvery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10105,1
    - Dst: translateInterpFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10108,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10111
      start: 10068
    functionDepth: 11
    functionLinenumber: 10068
    functionLinenumberEnd: 10111
    functionName: translateInterp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - translateExpr
    - translateInterpFill
    - translateInterpEvery
    - nodeType
    - IS_WINDOW_JOIN
    - generateSyntaxErrMsgExt
    - translateInterpAround
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInterp(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10116,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10122,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10124,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10131
      start: 10113
    functionDepth: 1
    functionLinenumber: 10113
    functionLinenumberEnd: 10131
    functionName: translateForecast
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - IS_WINDOW_JOIN
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateForecast(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10135,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10136,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10137,1
    - Dst: fmIsConstantResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10137,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10138,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10139,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10151
      start: 10133
    functionDepth: 6
    functionLinenumber: 10133
    functionLinenumberEnd: 10151
    functionName: removeConstantValueFromList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fmIsConstantResFunc
    - nodesDestroyList
    - ERASE_NODE
    - WHERE_EACH
    - nodeType
    - fmIsScalarFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t removeConstantValueFromList(SNodeList** pList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateClausePosition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10159,1
    - Dst: getTableTypeFromTableNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10163,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10164,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10166,1
    - Dst: translatePartitionByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10172
      start: 10153
    functionDepth: 6
    functionLinenumber: 10153
    functionLinenumberEnd: 10172
    functionName: translatePartitionBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableTypeFromTableNode
    - nodesListGetNode
    - nodeType
    - translatePartitionByList
    - translateClausePosition
    linkageType: ''
    returnType: int32_t
    signature: int32_t translatePartitionBy(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10189,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10191,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10194,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10196,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10205,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10206,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10207,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10208,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10216,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10224,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10227,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10228,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10230,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10237,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10238,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 5
    argNames:
    - pCxt
    - pOperator
    - ppTableAlias
    - ppTabNames
    - pRet
    argTypes:
    - STranslateContext*
    - SOperatorNode*
    - char**
    - SArray**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10245
      start: 10180
    functionDepth: 1
    functionLinenumber: 10180
    functionLinenumberEnd: 10245
    functionName: isOperatorEqTbnameCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - LIST_LENGTH
    - nodeType
    - taosArrayInit
    - varDataVal
    - taosArrayDestroy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t isOperatorEqTbnameCond(STranslateContext* pCxt, SOperatorNode*
      pOperator, char** ppTableAlias,\n                                      SArray**
      ppTabNames, bool* pRet)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10251,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10253,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10259,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10261,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10262,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10263,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10271,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10271,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10276,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10280,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10281,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 5
    argNames:
    - pCxt
    - pOperator
    - ppTableAlias
    - ppTbNames
    - pRet
    argTypes:
    - STranslateContext*
    - SOperatorNode*
    - char**
    - SArray**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10288
      start: 10248
    functionDepth: 1
    functionLinenumber: 10248
    functionLinenumberEnd: 10288
    functionName: isOperatorTbnameInCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - LIST_LENGTH
    - nodeType
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t isOperatorTbnameInCond(STranslateContext* pCxt, SOperatorNode*
      pOperator, char** ppTableAlias,\n                                      SArray**
      ppTbNames, bool* pRet)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10276,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10280,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10285
      start: 10275
    functionDepth: 1
    functionLinenumber: 10275
    functionLinenumberEnd: 10285
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 217
    functionsReached:
    - nodeType
    - taosArrayPush
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void FOREACH(pValNode, pValueNodeList)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isOperatorEqTbnameCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10295,1
    - Dst: isOperatorTbnameInCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10297,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10305,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10307,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10313,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - pWhere
    - pInfo
    - pRet
    argTypes:
    - STranslateContext*
    - SNode*
    - SEqCondTbNameTableInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10318
      start: 10290
    functionDepth: 2
    functionLinenumber: 10290
    functionLinenumberEnd: 10318
    functionName: findEqCondTbNameInOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isOperatorEqTbnameCond
    - isOperatorTbnameInCond
    - nodeType
    - findTable
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t findEqCondTbNameInOperatorNode(STranslateContext* pCxt, SNode*
      pWhere, SEqCondTbNameTableInfo* pInfo,\n                                              bool*
      pRet)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10321,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - aTableTbNames
    - pTable
    argTypes:
    - SArray*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10328
      start: 10320
    functionDepth: 1
    functionLinenumber: 10320
    functionLinenumberEnd: 10328
    functionName: isTableExistInTableTbnames
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool isTableExistInTableTbnames(SArray* aTableTbNames, SRealTableNode*
      pTable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10333,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10334,1
    - Dst: findEqCondTbNameInOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10337,1
    - Dst: isTableExistInTableTbnames
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10340,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10342,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pWhere
    - aTableTbnames
    argTypes:
    - STranslateContext*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10354
      start: 10330
    functionDepth: 3
    functionLinenumber: 10330
    functionLinenumberEnd: 10354
    functionName: findEqualCondTbnameInLogicCondAnd
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - isTableExistInTableTbnames
    - nodeType
    - FOREACH
    - findEqCondTbNameInOperatorNode
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t findEqualCondTbnameInLogicCondAnd(STranslateContext* pCxt,
      SNode* pWhere, SArray* aTableTbnames)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10359,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10360,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10362,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10366,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - aTableTbnames
    - pInfo
    argTypes:
    - SArray*
    - SEqCondTbNameTableInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10378
      start: 10356
    functionDepth: 1
    functionLinenumber: 10356
    functionLinenumberEnd: 10378
    functionName: unionEqualCondTbnamesOfSameTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArrayAddAll
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t unionEqualCondTbnamesOfSameTable(SArray* aTableTbnames, SEqCondTbNameTableInfo*
      pInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10384,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10386,1
    - Dst: findEqCondTbNameInOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10389,1
    - Dst: unionEqualCondTbnamesOfSameTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10395,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10404,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10405,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10406,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pWhere
    - aTableTbnames
    argTypes:
    - STranslateContext*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10412
      start: 10380
    functionDepth: 3
    functionLinenumber: 10380
    functionLinenumberEnd: 10412
    functionName: findEqualCondTbnameInLogicCondOr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - nodeType
    - FOREACH
    - taosArrayGetSize
    - findEqCondTbNameInOperatorNode
    - unionEqualCondTbnamesOfSameTable
    - taosArrayClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t findEqualCondTbnameInLogicCondOr(STranslateContext* pCxt, SNode*
      pWhere, SArray* aTableTbnames)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10417,1
    - Dst: findEqCondTbNameInOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10420,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10423,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10427,1
    - Dst: findEqualCondTbnameInLogicCondAnd
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10429,1
    - Dst: findEqualCondTbnameInLogicCondOr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10431,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pWhere
    - aTableTbnames
    argTypes:
    - STranslateContext*
    - SNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10435
      start: 10414
    functionDepth: 4
    functionLinenumber: 10414
    functionLinenumberEnd: 10435
    functionName: findEqualCondTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - findEqualCondTbnameInLogicCondOr
    - findEqualCondTbnameInLogicCondAnd
    - nodeType
    - findEqCondTbNameInOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t findEqualCondTbname(STranslateContext* pCxt, SNode* pWhere,
      SArray* aTableTbnames)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10440,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10449,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10450,1
    - Dst: catalogGetCachedTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10453,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - pCxt
    - aTbnames
    - dbName
    - numOfVgroups
    - vgsInfo
    argTypes:
    - STranslateContext*
    - SArray*
    - char*
    - int32_t
    - SVgroupsInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10472
      start: 10437
    functionDepth: 10
    functionLinenumber: 10437
    functionLinenumberEnd: 10472
    functionName: findVgroupsFromEqualTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - catalogGetCachedTableHashVgroup
    - toName
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: "void findVgroupsFromEqualTbname(STranslateContext* pCxt, SArray* aTbnames,
      const char* dbName,\n                                       int32_t numOfVgroups,
      SVgroupsInfo* vgsInfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10478,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10479,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10482,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10482,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10490,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10498,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10500,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10501,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10503,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10504,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10507,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10513,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10516,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10525,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - STranslateContext*
    - SEqCondTbNameTableInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10527
      start: 10474
    functionDepth: 11
    functionLinenumber: 10474
    functionLinenumberEnd: 10527
    functionName: replaceToChildTableQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - catalogGetCachedTableMeta
    - TAOS_CHECK_RETURN
    - toName
    - taosCreateMD5Hash
    - snprintf
    - tstrncpy
    - taosMemoryFree
    - taosArrayInit
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t replaceToChildTableQuery(STranslateContext* pCxt, SEqCondTbNameTableInfo*
      pInfo)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10531,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10536,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10538,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10540,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10542,1
    - Dst: findVgroupsFromEqualTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10547,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10549,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10552,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10558,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10562,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10563,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10567,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10568,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10573,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10574,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10578,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10581,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10581,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10584,1
    - Dst: findVgroupsFromEqualTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10588,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10590,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10591,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10595,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10598,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10607,1
    - Dst: replaceToChildTableQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10611,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - aTables
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10615
      start: 10529
    functionDepth: 12
    functionLinenumber: 10529
    functionLinenumberEnd: 10615
    functionName: setEqualTbnameTableVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - findVgroupsFromEqualTbname
    - taosArrayGet
    - taosMemoryFreeClear
    - parserDebug
    - replaceToChildTableQuery
    - taosArrayDestroyP
    - taosCreateMD5Hash
    - snprintf
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - strlen
    - taosMemoryCalloc
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t setEqualTbnameTableVgroups(STranslateContext* pCxt, SSelectStmt*
      pSelect, SArray* aTables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10619,1
    - Dst: findEqualCondTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10620,1
    - Dst: setEqualTbnameTableVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10622,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10624,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10625,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10626,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10630
      start: 10617
    functionDepth: 13
    functionLinenumber: 10617
    functionLinenumberEnd: 10630
    functionName: setTableVgroupsFromEqualTbnameCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setEqualTbnameTableVgroups
    - taosArrayGet
    - findEqualCondTbname
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t setTableVgroupsFromEqualTbnameCond(STranslateContext* pCxt,
      SSelectStmt* pSelect)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10637,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10656
      start: 10636
    functionDepth: 1
    functionLinenumber: 10636
    functionLinenumberEnd: 10656
    functionName: fixStmtTsPlaceholderPrecisionWalker
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - convertTimePrecision
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes fixStmtTsPlaceholderPrecisionWalker(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10665
      start: 10658
    functionDepth: 3
    functionLinenumber: 10658
    functionLinenumberEnd: 10665
    functionName: fixStmtTsPlaceholderPrecisionInWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: void
    signature: void fixStmtTsPlaceholderPrecisionInWhere(SSelectStmt* pSelect)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10670,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10671,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10672,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10672,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10675,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10675,1
    - Dst: fixStmtTsPlaceholderPrecisionInWhere
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10677,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10680,1
    - Dst: getQueryTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10681,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10683,1
    - Dst: setTableVgroupsFromEqualTbnameCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10686
      start: 10667
    functionDepth: 14
    functionLinenumber: 10667
    functionLinenumberEnd: 10686
    functionName: translateWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - fixStmtTsPlaceholderPrecisionInWhere
    - translateExpr
    - PAR_ERR_RET
    - getQueryTimeRange
    - BIT_FLAG_TEST_MASK
    - inStreamCalcClause
    - generateSyntaxErrMsgExt
    - setTableVgroupsFromEqualTbnameCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateWhere(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10691
      start: 10688
    functionDepth: 18
    functionLinenumber: 10688
    functionLinenumberEnd: 10691
    functionName: translateFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateFrom(STranslateContext* pCxt, SNode** pTable)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10697,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10700,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10703,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10706,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10712,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10717,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10721
      start: 10693
    functionDepth: 2
    functionLinenumber: 10693
    functionLinenumberEnd: 10721
    functionName: checkLimit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateExpr
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkLimit(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10725,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10730,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10732,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pPrimaryKey
    argTypes:
    - STranslateContext*
    - STableNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10738
      start: 10723
    functionDepth: 8
    functionLinenumber: 10723
    functionLinenumberEnd: 10738
    functionName: createPrimaryKeyColByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - generateSyntaxErrMsg
    - tstrncpy
    - findAndSetColumn
    linkageType: ''
    returnType: int32_t
    signature: int32_t createPrimaryKeyColByTable(STranslateContext* pCxt, STableNode*
      pTable, SNode** pPrimaryKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10742,1
    - Dst: createPrimaryKeyColByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - tableAlias
    - pPrimaryKey
    argTypes:
    - STranslateContext*
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10747
      start: 10740
    functionDepth: 9
    functionLinenumber: 10740
    functionLinenumberEnd: 10747
    functionName: tranCreatePrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyColByTable
    - findTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t tranCreatePrimaryKeyCol(STranslateContext* pCxt, const char*
      tableAlias, SNode** pPrimaryKey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10750,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10756,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10756,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10763,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10769
      start: 10749
    functionDepth: 1
    functionLinenumber: 10749
    functionLinenumberEnd: 10769
    functionName: collectTableAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tSimpleHashPut
    - nodeType
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - strlen
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectTableAlias(SNode* pNode, void* pContext)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isImplicitTsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10773,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10775,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10776,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10796,1
    - Dst: tranCreatePrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10798,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10800,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10801,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10805,1
    - Dst: tranCreatePrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10806,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10807,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10815
      start: 10771
    functionDepth: 10
    functionLinenumber: 10771
    functionLinenumberEnd: 10815
    functionName: appendTsForImplicitTsFuncImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isImplicitTsFunc
    - generateSyntaxErrMsg
    - nodesListMakeStrictAppend
    - isSelectStmt
    - tSimpleHashCleanup
    - tranCreatePrimaryKeyCol
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - generateSyntaxErrMsgExt
    - nodesWalkExprs
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes appendTsForImplicitTsFuncImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10820
      start: 10817
    functionDepth: 6
    functionLinenumber: 10817
    functionLinenumberEnd: 10820
    functionName: appendTsForImplicitTsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendTsForImplicitTsFunc(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10826,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10826,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10828,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10830,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10830,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10832,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10832,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pPk
    argTypes:
    - STranslateContext*
    - SRealTableNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10841
      start: 10822
    functionDepth: 8
    functionLinenumber: 10822
    functionLinenumberEnd: 10841
    functionName: createPkColByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - findAndSetColumn
    - nodesMakeNode
    - tstrncpy
    - generateSyntaxErrMsgExt
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t createPkColByTable(STranslateContext* pCxt, SRealTableNode*
      pTable, SNode** pPk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10849
      start: 10843
    functionDepth: 1
    functionLinenumber: 10843
    functionLinenumberEnd: 10849
    functionName: hasPkColImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes hasPkColImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10855
      start: 10851
    functionDepth: 3
    functionLinenumber: 10851
    functionLinenumberEnd: 10855
    functionName: hasPkCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprPostOrder
    linkageType: ''
    returnType: bool
    signature: bool hasPkCol(SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10860,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10861,1
    - Dst: isPkFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10861,1
    - Dst: hasPkCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10861,1
    - Dst: createPkColByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10865,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10867,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10876
      start: 10857
    functionDepth: 9
    functionLinenumber: 10857
    functionLinenumberEnd: 10876
    functionName: appendPkForPkFuncImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - createPkColByTable
    - nodeType
    - findTable
    - hasPkCol
    - isPkFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes appendPkForPkFuncImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10881
      start: 10878
    functionDepth: 6
    functionLinenumber: 10878
    functionLinenumberEnd: 10881
    functionName: appendPkParamForPkFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendPkParamForPkFunc(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10894,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10897,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10898,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10898,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10899,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10899,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10903,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10908,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10917,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10920,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10923,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10925,1
    - Dst: getPositionValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10928,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10929,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10931,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10931,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10937,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10944
      start: 10890
    functionDepth: 5
    functionLinenumber: 10890
    functionLinenumberEnd: 10944
    functionName: replaceOrderByAliasImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesCloneNode
    - translateValue
    - LIST_LENGTH
    - nodeType
    - nodesEqualNode
    - getPositionValue
    - nodesDestroyNode
    - generateDealNodeErrMsg
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes replaceOrderByAliasImpl(SNode** pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10897,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10898,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10898,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10899,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10899,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10903,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10908,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10912
      start: 10895
    functionDepth: 5
    functionLinenumber: 10895
    functionLinenumberEnd: 10912
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 219
    functionsReached:
    - nodesCloneNode
    - nodeType
    - nodesEqualNode
    - nodesDestroyNode
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProject, pProjectionList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - pCxt
    - pProjectionList
    - pOrderByList
    - checkExists
    - nameMatch
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10959
      start: 10946
    functionDepth: 1
    functionLinenumber: 10946
    functionLinenumberEnd: 10959
    functionName: replaceOrderByAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExprsPostOrder
    linkageType: ''
    returnType: int32_t
    signature: "int32_t replaceOrderByAlias(STranslateContext* pCxt, SNodeList* pProjectionList,
      SNodeList* pOrderByList,\n                                   bool checkExists,
      bool nameMatch)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10963,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10964,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10965,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10965,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10966,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10973,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10974,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10974,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10975,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10975,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10980,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10982,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10991
      start: 10961
    functionDepth: 2
    functionLinenumber: 10961
    functionLinenumberEnd: 10991
    functionName: resetResultTimeline
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - inStreamCalcClause
    - nodeType
    - isPrimaryKeyImpl
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: void
    signature: void resetResultTimeline(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: replaceOrderByAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10994,1
    - Dst: resetResultTimeline
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10999
      start: 10993
    functionDepth: 3
    functionLinenumber: 10993
    functionLinenumberEnd: 10999
    functionName: replaceOrderByAliasForSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - replaceOrderByAlias
    - resetResultTimeline
    linkageType: ''
    returnType: int32_t
    signature: int32_t replaceOrderByAliasForSelect(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11006
      start: 11001
    functionDepth: 2
    functionLinenumber: 11001
    functionLinenumberEnd: 11006
    functionName: translateSelectWithoutFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateExprList
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSelectWithoutFrom(STranslateContext* pCxt, SSelectStmt*
      pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11019
      start: 11014
    functionDepth: 0
    functionLinenumber: 11014
    functionLinenumberEnd: 11019
    functionName: isColsFuncByName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool isColsFuncByName(SFunctionNode* pFunc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11022,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11031
      start: 11021
    functionDepth: 1
    functionLinenumber: 11021
    functionLinenumberEnd: 11031
    functionName: isMultiColsFuncNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - isColsFuncByName
    linkageType: ''
    returnType: bool
    signature: bool isMultiColsFuncNode(SNode* pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11040,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11043,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11048,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11051,1
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11052,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11053,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11055,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11060
      start: 11038
    functionDepth: 2
    functionLinenumber: 11038
    functionLinenumberEnd: 11060
    functionName: pushDownBindSelectFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - MurmurHash3_64
    - nodesIsExprNode
    - nodeType
    - snprintf
    - strlen
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes pushDownBindSelectFunc(SNode** pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - FuncNodeList
    - pSelectFunc
    argTypes:
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11072
      start: 11062
    functionDepth: 5
    functionLinenumber: 11062
    functionLinenumberEnd: 11072
    functionName: getSelectFuncIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSelectFuncIndex(SNodeList* FuncNodeList, SNode* pSelectFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11070
      start: 11065
    functionDepth: 5
    functionLinenumber: 11065
    functionLinenumberEnd: 11070
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 219
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, FuncNodeList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11075,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11083
      start: 11074
    functionDepth: 1
    functionLinenumber: 11074
    functionLinenumberEnd: 11083
    functionName: checkHasColsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - isColsFuncByName
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes checkHasColsFunc(SNode** pNode, void* pContext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11086,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11088,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11093
      start: 11085
    functionDepth: 1
    functionLinenumber: 11085
    functionLinenumberEnd: 11093
    functionName: isStarColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool isStarColumn(SNode* pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11103,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11103,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11112,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11114,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pParameterList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11129
      start: 11095
    functionDepth: 1
    functionLinenumber: 11095
    functionLinenumberEnd: 11129
    functionName: checkMultColsFuncParam
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - isColsFuncByName
    - FOREACH
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkMultColsFuncParam(SNodeList* pParameterList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11103,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11103,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11112,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11114,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11127
      start: 11101
    functionDepth: 1
    functionLinenumber: 11101
    functionLinenumberEnd: 11127
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 221
    functionsReached:
    - nodeType
    - isColsFuncByName
    - FOREACH
    - nodesRewriteExpr
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pParameterList)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11133,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11138,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11143,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11144,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11145,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11145,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11147,1
    - Dst: isStarColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11150,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11152,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11158,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11162,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11163,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11167,1
    - Dst: getSelectFuncIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11174,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11179,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11182,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11187,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11189,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11191,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11194,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11197,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11204
      start: 11131
    functionDepth: 6
    functionLinenumber: 11131
    functionLinenumberEnd: 11204
    functionName: rewriteSingleColsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - isColsFuncByName
    - parserError
    - nodesListMakeStrictAppend
    - getSelectFuncIndex
    - nodesMakeList
    - isStarColumn
    - nodesIsExprNode
    - nodesRewriteExpr
    - nodeType
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteSingleColsFunc(SNode** pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isMultiColsFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11209,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11210,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - selectFuncList
    argTypes:
    - STranslateContext*
    - SNode**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11220
      start: 11206
    functionDepth: 2
    functionLinenumber: 11206
    functionLinenumberEnd: 11220
    functionName: rewriteHavingColsNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - isMultiColsFuncNode
    - parserWarn
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteHavingColsNode(STranslateContext* pCxt, SNode** pNode,
      SNodeList** selectFuncList)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH_FOR_REWRITE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11227,1
    - Dst: isMultiColsFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11228,1
    - Dst: checkMultColsFuncParam
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11229,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11236,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11246,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11251,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11253,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11261,1
    - Dst: isMultiColsFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11262,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11266,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11270,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11271,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11273,1
    - Dst: getSelectFuncIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11276,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11280,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11283,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11288,1
    - Dst: isStarColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11290,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11292,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11296,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11298,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11300,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11303,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11307,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11313,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11315,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11318,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11324,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11325,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 103
    argCount: 4
    argNames:
    - pCxt
    - clause
    - nodeList
    - selectFuncList
    argTypes:
    - STranslateContext*
    - ESqlClause
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11328
      start: 11222
    functionDepth: 6
    functionLinenumber: 11222
    functionLinenumberEnd: 11328
    functionName: rewriteColsFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - parserError
    - nodesListGetNode
    - nodesListMakeStrictAppend
    - getSelectFuncIndex
    - nodesMakeList
    - nodesDestroyList
    - isMultiColsFuncNode
    - isStarColumn
    - nodesIsExprNode
    - nodesRewriteExpr
    - nodeType
    - FOREACH
    - FOREACH_FOR_REWRITE
    - checkMultColsFuncParam
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rewriteColsFunction(STranslateContext* pCxt, ESqlClause clause,
      SNodeList** nodeList,\n                                   SNodeList** selectFuncList)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: translateFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11333,1
    - Dst: translateWhere
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11336,1
    - Dst: setJoinTimeLineResMode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11339,1
    - Dst: translatePartitionBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11342,1
    - Dst: translateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11345,1
    - Dst: translateGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11348,1
    - Dst: translateHaving
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11351,1
    - Dst: biRewriteSelectStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11354,1
    - Dst: translateSelectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11357,1
    - Dst: checkHavingGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11360,1
    - Dst: checkGroupByListForBlob
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11363,1
    - Dst: translateOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11366,1
    - Dst: checkIsEmptyResult
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11369,1
    - Dst: resetSelectFuncNumWithoutDup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11372,1
    - Dst: checkAggColCoexist
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11373,1
    - Dst: checkWindowGrpFuncCoexist
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11381,1
    - Dst: checkLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11384,1
    - Dst: translateInterp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11387,1
    - Dst: translateFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11390,1
    - Dst: translateForecast
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11393,1
    - Dst: appendTsForImplicitTsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11396,1
    - Dst: appendPkParamForPkFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11399,1
    - Dst: replaceOrderByAliasForSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11402,1
    - Dst: translateCheckPrivCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11408,1
    - Dst: translateProcessMaskColFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11411,1
    - Dst: setTableCacheLastMode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11415,1
    - Dst: replaceTbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11418,1
    - Dst: removeConstantValueFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11422,1
    - Dst: removeConstantValueFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11427,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11431
      start: 11330
    functionDepth: 19
    functionLinenumber: 11330
    functionLinenumberEnd: 11431
    functionName: translateSelectFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translatePartitionBy
    - translateGroupBy
    - appendPkParamForPkFunc
    - biRewriteSelectStar
    - translateSelectList
    - checkGroupByListForBlob
    - translateFillValues
    - translateHaving
    - checkAggColCoexist
    - removeConstantValueFromList
    - translateCheckPrivCols
    - translateInterp
    - setJoinTimeLineResMode
    - resetSelectFuncNumWithoutDup
    - replaceOrderByAliasForSelect
    - setTableCacheLastMode
    - translateWhere
    - checkLimit
    - translateForecast
    - translateProcessMaskColFunc
    - translateWindow
    - translateFrom
    - replaceTbName
    - translateOrderBy
    - checkIsEmptyResult
    - checkHavingGroupBy
    - appendTsForImplicitTsFunc
    - checkWindowGrpFuncCoexist
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSelectFrom(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11439,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11440,1
    - Dst: translateSelectWithoutFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11443,1
    - Dst: translateSelectFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11447
      start: 11433
    functionDepth: 20
    functionLinenumber: 11433
    functionLinenumberEnd: 11447
    functionName: translateSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateSelectWithoutFrom
    - inStreamCalcClause
    - translateSelectFrom
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSelect(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11451,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11456,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11457,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11458,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pTableAlias
    - pNode
    argTypes:
    - char*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11461
      start: 11449
    functionDepth: 5
    functionLinenumber: 11449
    functionLinenumberEnd: 11461
    functionName: createSetOperProject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - snprintf
    linkageType: ''
    returnType: SNode
    signature: SNode * createSetOperProject(const char* pTableAlias, SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11466
      start: 11463
    functionDepth: 1
    functionLinenumber: 11463
    functionLinenumberEnd: 11466
    functionName: isUionOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isUionOperator(SNode* pNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isUionOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11470,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11472,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11473,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11474,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11474,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11475,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11487,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11491,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11492,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11496,1
    - Dst: REPLACE_LIST1_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11500,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11501,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - pExpr
    - pos
    argTypes:
    - STranslateContext*
    - SNode*
    - SExprNode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11507
      start: 11468
    functionDepth: 6
    functionLinenumber: 11468
    functionLinenumberEnd: 11507
    functionName: pushdownCastForUnion
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - isUionOperator
    - generateSyntaxErrMsg
    - pushdownCastForUnion
    - LIST_LENGTH
    - createCastFunc
    - REPLACE_LIST2_NODE
    - REPLACE_LIST1_NODE
    - getProjectList
    linkageType: ''
    returnType: int32_t
    signature: int32_t pushdownCastForUnion(STranslateContext* pCxt, SNode* pNode,
      SExprNode* pExpr, int pos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11487,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11491,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11492,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11496,1
    - Dst: REPLACE_LIST1_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11500,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11501,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11504
      start: 11481
    functionDepth: 7
    functionLinenumber: 11481
    functionLinenumberEnd: 11504
    functionName: FORBOTH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - createCastFunc
    - REPLACE_LIST2_NODE
    - pushdownCastForUnion
    - REPLACE_LIST1_NODE
    linkageType: ''
    returnType: void
    signature: void FORBOTH(pLeft, pLeftProjections, pRight, pRightProjections)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11510,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11511,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11512,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11512,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11513,1
    - Dst: dataTypeComp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11523,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11526,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11530,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11532,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11536,1
    - Dst: REPLACE_LIST1_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11540,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11542,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11543,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11546,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11549,1
    - Dst: createSetOperProject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11550,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11551,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11552,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11559,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pCxt
    - pSetOperator
    argTypes:
    - STranslateContext*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11564
      start: 11509
    functionDepth: 7
    functionLinenumber: 11509
    functionLinenumberEnd: 11564
    functionName: translateSetOperProject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - dataTypeComp
    - generateSyntaxErrMsg
    - pushdownCastForUnion
    - nodesListMakeStrictAppend
    - LIST_LENGTH
    - createCastFunc
    - REPLACE_LIST2_NODE
    - snprintf
    - isPrimaryKeyImpl
    - createSetOperProject
    - REPLACE_LIST1_NODE
    - getProjectList
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSetOperProject(STranslateContext* pCxt, SSetOperator*
      pSetOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dataTypeComp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11523,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11526,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11530,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11532,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11536,1
    - Dst: REPLACE_LIST1_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11540,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11542,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11543,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11546,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11549,1
    - Dst: createSetOperProject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11550,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11551,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11552,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11559,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11562
      start: 11519
    functionDepth: 7
    functionLinenumber: 11519
    functionLinenumberEnd: 11562
    functionName: FORBOTH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - dataTypeComp
    - nodesListMakeStrictAppend
    - pushdownCastForUnion
    - createCastFunc
    - REPLACE_LIST2_NODE
    - snprintf
    - isPrimaryKeyImpl
    - createSetOperProject
    - REPLACE_LIST1_NODE
    linkageType: ''
    returnType: void
    signature: void FORBOTH(pLeft, pLeftProjections, pRight, pRightProjections)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calcPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11567,1
    - Dst: getStmtPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11567,1
    - Dst: getStmtPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSetOperator
    argTypes:
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11568
      start: 11566
    functionDepth: 2
    functionLinenumber: 11566
    functionLinenumberEnd: 11568
    functionName: calcSetOperatorPrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getStmtPrecision
    - calcPrecision
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t calcSetOperatorPrecision(SSetOperator* pSetOperator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: translateClausePosition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11576,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11581,1
    - Dst: replaceOrderByAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11585,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11588,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11589,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11594,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11595,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pSetOperator
    argTypes:
    - STranslateContext*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11606
      start: 11570
    functionDepth: 6
    functionLinenumber: 11570
    functionLinenumberEnd: 11606
    functionName: translateSetOperOrderBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - replaceOrderByAlias
    - isPrimaryKeyImpl
    - translateExprList
    - translateClausePosition
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSetOperOrderBy(STranslateContext* pCxt, SSetOperator*
      pSetOperator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11611,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11614,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pLimit
    argTypes:
    - STranslateContext*
    - SLimitNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11620
      start: 11608
    functionDepth: 2
    functionLinenumber: 11608
    functionLinenumberEnd: 11620
    functionName: checkSetOperLimit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateExpr
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkSetOperLimit(STranslateContext* pCxt, SLimitNode* pLimit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11629,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11629,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11631,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11632,1
    - Dst: BIT_FLAG_UNSET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11633,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11636,1
    - Dst: resetHighLevelTranslateNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11636,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11637,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11637,1
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11639,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11640,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11641,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11641,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11644,1
    - Dst: getBothJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11648,1
    - Dst: calcSetOperatorPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11649,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11651,1
    - Dst: translateSetOperProject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11651,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11652,1
    - Dst: translateSetOperOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11652,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11653,1
    - Dst: checkSetOperLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pSetOperator
    argTypes:
    - STranslateContext*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11656
      start: 11622
    functionDepth: 8
    functionLinenumber: 11622
    functionLinenumberEnd: 11656
    functionName: translateSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getBothJoinContais
    - translateSetOperOrderBy
    - translateSetOperProject
    - PAR_ERR_RET
    - BIT_FLAG_UNSET_MASK
    - BIT_FLAG_TEST_MASK
    - inStreamCalcClause
    - checkSetOperLimit
    - resetHighLevelTranslateNamespace
    - generateSyntaxErrMsgExt
    - BIT_FLAG_SET_MASK
    - calcSetOperatorPrecision
    - translateQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSetOperator(STranslateContext* pCxt, SSetOperator*
      pSetOperator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11660,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11665,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11667,1
    - Dst: getTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11672,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11674,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11677,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11680,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11681,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - STranslateContext*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11683
      start: 11658
    functionDepth: 9
    functionLinenumber: 11658
    functionLinenumberEnd: 11683
    functionName: partitionDeleteWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTimeRange
    - generateSyntaxErrMsg
    - TAOS_SET_OBJ_ALIGNED
    - filterPartitionCond
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t partitionDeleteWhere(STranslateContext* pCxt, SDeleteStmt*
      pDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11687,1
    - Dst: partitionDeleteWhere
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - STranslateContext*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11692
      start: 11685
    functionDepth: 10
    functionLinenumber: 11685
    functionLinenumberEnd: 11692
    functionName: translateDeleteWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateExpr
    - partitionDeleteWhere
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDeleteWhere(STranslateContext* pCxt, SDeleteStmt*
      pDelete)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11696,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11697,1
    - Dst: translateFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11701,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11703,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11706,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11714,1
    - Dst: translateDeleteWhere
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11720,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11724,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11727,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11730,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - STranslateContext*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11733
      start: 11694
    functionDepth: 19
    functionLinenumber: 11694
    functionLinenumberEnd: 11733
    functionName: translateDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateDeleteWhere
    - translateFrom
    - translateExpr
    - nodeType
    - generateSyntaxErrMsgExt
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDelete(STranslateContext* pCxt, SDeleteStmt* pDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createAllColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11737,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11740
      start: 11735
    functionDepth: 8
    functionLinenumber: 11735
    functionLinenumberEnd: 11740
    functionName: translateInsertCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateExprList
    - createAllColumns
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInsertCols(STranslateContext* pCxt, SInsertStmt* pInsert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetTranslateNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11743,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11748
      start: 11742
    functionDepth: 2
    functionLinenumber: 11742
    functionLinenumberEnd: 11748
    functionName: translateInsertQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - resetTranslateNamespace
    - translateQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInsertQuery(STranslateContext* pCxt, SInsertStmt*
      pInsert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11753,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11759,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11761,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pPrimaryKeyExpr
    - pOrderByList
    argTypes:
    - STranslateContext*
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11766
      start: 11750
    functionDepth: 6
    functionLinenumber: 11750
    functionLinenumberEnd: 11766
    functionName: addOrderByPrimaryKeyToQueryImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addOrderByPrimaryKeyToQueryImpl(STranslateContext* pCxt, SNode*
      pPrimaryKeyExpr,\n                                               SNodeList**
      pOrderByList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11773,1
    - Dst: addOrderByPrimaryKeyToQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11774,1
    - Dst: addOrderByPrimaryKeyToQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pPrimaryKeyExpr
    - pStmt
    argTypes:
    - STranslateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11777
      start: 11768
    functionDepth: 7
    functionLinenumber: 11768
    functionLinenumberEnd: 11777
    functionName: addOrderByPrimaryKeyToQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - addOrderByPrimaryKeyToQueryImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t addOrderByPrimaryKeyToQuery(STranslateContext* pCxt, SNode*
      pPrimaryKeyExpr, SNode* pStmt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11780,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11781,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11781,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11782,1
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11790,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11791,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11792,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11793,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11799,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11801,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11805,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11808,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11817,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11822,1
    - Dst: addOrderByPrimaryKeyToQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11825,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11826
      start: 11779
    functionDepth: 8
    functionLinenumber: 11779
    functionLinenumberEnd: 11826
    functionName: translateInsertProject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - FORBOTH
    - LIST_LENGTH
    - nodeType
    - createCastFunc
    - REPLACE_LIST2_NODE
    - snprintf
    - addOrderByPrimaryKeyToQuery
    - dataTypeEqual
    - IS_STR_DATA_TYPE
    - generateSyntaxErrMsgExt
    - getProjectList
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInsertProject(STranslateContext* pCxt, SInsertStmt*
      pInsert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: translateFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11836
      start: 11828
    functionDepth: 19
    functionLinenumber: 11828
    functionLinenumberEnd: 11836
    functionName: translateInsertTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateFrom
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInsertTable(STranslateContext* pCxt, SNode** pTable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateInsertTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11839,1
    - Dst: translateInsertCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11841,1
    - Dst: translateInsertQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11844,1
    - Dst: translateInsertProject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11850
      start: 11837
    functionDepth: 20
    functionLinenumber: 11837
    functionLinenumberEnd: 11850
    functionName: translateInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateInsertTable
    - translateInsertQuery
    - translateInsertProject
    - translateInsertCols
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInsert(STranslateContext* pCxt, SInsertStmt* pInsert)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11864
      start: 11852
    functionDepth: 0
    functionLinenumber: 11852
    functionLinenumberEnd: 11864
    functionName: getUnitPerMinute
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t getUnitPerMinute(uint8_t precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11867,1
    - Dst: getUnitPerMinute
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11871
      start: 11866
    functionDepth: 1
    functionLinenumber: 11866
    functionLinenumberEnd: 11871
    functionName: getBigintFromValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getUnitPerMinute
    - IS_DURATION_VAL
    linkageType: ''
    returnType: int64_t
    signature: int64_t getBigintFromValueNode(SValueNode* pVal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11876,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11876,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11885,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11886,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11889,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pRetentions
    - pReq
    argTypes:
    - SNodeList*
    - SCreateDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11899
      start: 11873
    functionDepth: 1
    functionLinenumber: 11873
    functionLinenumberEnd: 11899
    functionName: buildCreateDbRetentions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    - LIST_LENGTH
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateDbRetentions(const SNodeList* pRetentions, SCreateDbReq*
      pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11885,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11886,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11893
      start: 11884
    functionDepth: 1
    functionLinenumber: 11884
    functionLinenumberEnd: 11893
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 222
    functionsReached:
    - nodesListGetNode
    - taosArrayPush
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pRetentions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11903,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11903,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11905,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11941,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11942,1
    - Dst: buildCreateDbRetentions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateDatabaseStmt*
    - SCreateDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11955
      start: 11901
    functionDepth: 2
    functionLinenumber: 11901
    functionLinenumberEnd: 11955
    functionName: buildCreateDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCreateDbRetentions
    - tNameSetDbName
    - tstrncpy
    - strlen
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateDbReq(STranslateContext* pCxt, SCreateDatabaseStmt*
      pStmt, SCreateDbReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11960,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 7
    argNames:
    - pCxt
    - code
    - pName
    - val
    - minVal
    - maxVal
    - skipUndef
    argTypes:
    - STranslateContext*
    - int32_t
    - char*
    - int64_t
    - int64_t
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11965
      start: 11957
    functionDepth: 1
    functionLinenumber: 11957
    functionLinenumberEnd: 11965
    functionName: checkRangeOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkRangeOption(STranslateContext* pCxt, int32_t code, const
      char* pName, int64_t val, int64_t minVal,\n                                int64_t
      maxVal, bool skipUndef)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pName
    - val
    - minVal
    - maxVal
    argTypes:
    - STranslateContext*
    - char*
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11970
      start: 11967
    functionDepth: 2
    functionLinenumber: 11967
    functionLinenumberEnd: 11970
    functionName: checkDbRangeOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkRangeOption
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkDbRangeOption(STranslateContext* pCxt, const char* pName,
      int64_t val, int64_t minVal,\n                                  int64_t maxVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pName
    - val
    - minVal
    - maxVal
    argTypes:
    - STranslateContext*
    - char*
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11975
      start: 11972
    functionDepth: 2
    functionLinenumber: 11972
    functionLinenumberEnd: 11975
    functionName: checkTableRangeOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkRangeOption
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTableRangeOption(STranslateContext* pCxt, const char*
      pName, int64_t val, int64_t minVal,\n                                     int64_t
      maxVal)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11979,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11984,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11988,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11990,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11991
      start: 11977
    functionDepth: 5
    functionLinenumber: 11977
    functionLinenumberEnd: 11991
    functionName: checkDbSsKeepLocalOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateValue
    - checkDbRangeOption
    - getBigintFromValueNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbSsKeepLocalOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11995,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12000,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12004,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12007
      start: 11993
    functionDepth: 5
    functionLinenumber: 11993
    functionLinenumberEnd: 12007
    functionName: checkDbDaysOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateValue
    - checkDbRangeOption
    - getBigintFromValueNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbDaysOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12014,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12016,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12020,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12022,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12025,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12027,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12030,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12035,1
    - Dst: nodesListGetNode
      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: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12040,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12045,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12045,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12055,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12062,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12067
      start: 12009
    functionDepth: 5
    functionLinenumber: 12009
    functionLinenumberEnd: 12067
    functionName: checkDbKeepOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getBigintFromValueNode
    - IS_DURATION_VAL
    - translateValue
    - LIST_LENGTH
    - FOREACH
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbKeepOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12071,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12075,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12079,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12082,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12089
      start: 12069
    functionDepth: 5
    functionLinenumber: 12069
    functionLinenumberEnd: 12089
    functionName: checkDbKeepTimeOffsetOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateValue
    - getBigintFromValueNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbKeepTimeOffsetOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12093,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12095,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12097,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12099,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12107
      start: 12091
    functionDepth: 1
    functionLinenumber: 12091
    functionLinenumberEnd: 12107
    functionName: checkDbCacheModelOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbCacheModelOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12115
      start: 12109
    functionDepth: 1
    functionLinenumber: 12109
    functionLinenumberEnd: 12115
    functionName: checkDbEncryptAlgorithmOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbEncryptAlgorithmOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12119,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12121,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12123,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12131
      start: 12117
    functionDepth: 1
    functionLinenumber: 12117
    functionLinenumberEnd: 12131
    functionName: checkDbPrecisionOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbPrecisionOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12135,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12137,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12145
      start: 12133
    functionDepth: 1
    functionLinenumber: 12133
    functionLinenumberEnd: 12145
    functionName: checkDbStrictOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbStrictOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - pCxt
    - pName
    - val
    - v1
    - v2
    argTypes:
    - STranslateContext*
    - char*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12153
      start: 12147
    functionDepth: 1
    functionLinenumber: 12147
    functionLinenumberEnd: 12153
    functionName: checkDbEnumOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbEnumOption(STranslateContext* pCxt, const char* pName,
      int32_t val, int32_t v1, int32_t v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 6
    argNames:
    - pCxt
    - pName
    - val
    - v1
    - v2
    - v3
    argTypes:
    - STranslateContext*
    - char*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12162
      start: 12155
    functionDepth: 1
    functionLinenumber: 12155
    functionLinenumberEnd: 12162
    functionName: checkDbEnumOption3
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkDbEnumOption3(STranslateContext* pCxt, const char* pName,
      int32_t val, int32_t v1, int32_t v2,\n                                  int32_t
      v3)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12169,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12170,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12179,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12183,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12184,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12192,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12197,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12198,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12200,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12200,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12201,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12206,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12208,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12212,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12214,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12220,1
    - Dst: getUnitPerMinute
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12223,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12226,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12234,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12240,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12246,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 49
    argCount: 3
    argNames:
    - pCxt
    - pRetentions
    - precision
    argTypes:
    - STranslateContext*
    - SNodeList*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12256
      start: 12164
    functionDepth: 5
    functionLinenumber: 12164
    functionLinenumberEnd: 12256
    functionName: checkDbRetentionsOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_DURATION_VAL
    - translateValue
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - FOREACH
    - getUnitPerMinute
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbRetentionsOption(STranslateContext* pCxt, SNodeList*
      pRetentions, int8_t precision)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12179,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12183,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12184,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12192,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12197,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12198,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12200,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12200,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12201,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12206,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12208,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12212,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12214,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12220,1
    - Dst: getUnitPerMinute
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12223,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12226,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12234,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12240,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12246,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12253
      start: 12177
    functionDepth: 5
    functionLinenumber: 12177
    functionLinenumberEnd: 12253
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 225
    functionsReached:
    - nodesListGetNode
    - IS_DURATION_VAL
    - translateValue
    - generateSyntaxErrMsgExt
    - FOREACH
    - getUnitPerMinute
    - strlen
    linkageType: ''
    returnType: void
    signature: void FOREACH(pRetention, pRetentions)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12260,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12266,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12272,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - tbPrefix
    - tbSuffix
    argTypes:
    - STranslateContext*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12282
      start: 12258
    functionDepth: 1
    functionLinenumber: 12258
    functionLinenumberEnd: 12282
    functionName: checkDbTbPrefixSuffixOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbTbPrefixSuffixOptions(STranslateContext* pCxt, int32_t
      tbPrefix, int32_t tbSuffix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12288,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - ppDbCfg
    argTypes:
    - STranslateContext*
    - char*
    - SDbCfgInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12292
      start: 12284
    functionDepth: 10
    functionLinenumber: 12284
    functionLinenumberEnd: 12292
    functionName: translateGetDbCfg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getDBCfg
    - taosMemoryCalloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE translateGetDbCfg(STranslateContext* pCxt, const char*
      pDbName, SDbCfgInfo** ppDbCfg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12301,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12301,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12306,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12310,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12315,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12320,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12325
      start: 12294
    functionDepth: 11
    functionLinenumber: 12294
    functionLinenumberEnd: 12325
    functionName: checkOptionsDependency
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateGetDbCfg
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkOptionsDependency(STranslateContext* pCxt, const char*
      pDbName, SDatabaseOptions* pOptions)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12332,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12338,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12343,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12346,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12346,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12349,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12350,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12356,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12356,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12359,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12364
      start: 12327
    functionDepth: 11
    functionLinenumber: 12327
    functionLinenumberEnd: 12364
    functionName: checkDbCompactIntervalOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getBigintFromValueNode
    - translateGetDbCfg
    - checkDbRangeOption
    - TAOS_CHECK_RETURN
    - translateValue
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbCompactIntervalOption(STranslateContext* pCxt, const
      char* pDbName, SDatabaseOptions* pOptions)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12371,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12372,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12376,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12377,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12378,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12381,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12384,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12386,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12393,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12395,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12402,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12403,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12410,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12419,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12419,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12424,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12429,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12435
      start: 12366
    functionDepth: 11
    functionLinenumber: 12366
    functionLinenumberEnd: 12435
    functionName: checkDbCompactTimeRangeOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getBigintFromValueNode
    - translateGetDbCfg
    - IS_DURATION_VAL
    - TAOS_CHECK_RETURN
    - translateValue
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbCompactTimeRangeOption(STranslateContext* pCxt, const
      char* pDbName, SDatabaseOptions* pOptions)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12439,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12443,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12447,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12451
      start: 12437
    functionDepth: 5
    functionLinenumber: 12437
    functionLinenumberEnd: 12451
    functionName: checkDbCompactTimeOffsetOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateValue
    - checkDbRangeOption
    - getBigintFromValueNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbCompactTimeOffsetOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12455,1
    - Dst: checkDbCacheModelOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12457,1
    - Dst: checkDbEncryptAlgorithmOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12460,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12464,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12468,1
    - Dst: checkDbDaysOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12471,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12474,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12477,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12481,1
    - Dst: checkDbPrecisionOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12485,1
    - Dst: checkDbKeepOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12488,1
    - Dst: checkDbKeepTimeOffsetOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12491,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12494,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12497,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12501,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12505,1
    - Dst: checkDbStrictOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12508,1
    - Dst: checkDbEnumOption3
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12511,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12515,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12518,1
    - Dst: checkDbRetentionsOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12522,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12525,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12528,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12532,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12536,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12540,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12543,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12546,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12550,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12556,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12559,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12563,1
    - Dst: checkDbTbPrefixSuffixOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12574,1
    - Dst: checkDbSsKeepLocalOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12577,1
    - Dst: checkOptionsDependency
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12580,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12583,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12587,1
    - Dst: checkDbCompactIntervalOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12590,1
    - Dst: checkDbCompactTimeRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12593,1
    - Dst: checkDbCompactTimeOffsetOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12596,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 122
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12599
      start: 12453
    functionDepth: 12
    functionLinenumber: 12453
    functionLinenumberEnd: 12599
    functionName: checkDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkDbEncryptAlgorithmOption
    - checkOptionsDependency
    - checkDbRangeOption
    - checkDbEnumOption
    - checkDbTbPrefixSuffixOptions
    - checkDbCacheModelOption
    - checkDbKeepOption
    - checkDbPrecisionOption
    - checkDbEnumOption3
    - checkDbCompactTimeRangeOption
    - checkDbCompactIntervalOption
    - checkDbCompactTimeOffsetOption
    - checkDbSsKeepLocalOption
    - checkDbRetentionsOption
    - checkDbKeepTimeOffsetOption
    - checkDbDaysOption
    - checkDbStrictOption
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDatabaseOptions(STranslateContext* pCxt, const char* pDbName,
      SDatabaseOptions* pOptions)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12602,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12603,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12606,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12607,1
    - Dst: checkDatabaseOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12611
      start: 12601
    functionDepth: 13
    functionLinenumber: 12601
    functionLinenumberEnd: 12611
    functionName: checkCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - checkDatabaseOptions
    - strchr
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCreateDatabase(STranslateContext* pCxt, SCreateDatabaseStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12614,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12615,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12618,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12619,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12624,1
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateMountStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12628
      start: 12613
    functionDepth: 2
    functionLinenumber: 12613
    functionLinenumberEnd: 12628
    functionName: checkCreateMount
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - checkRangeOption
    - strchr
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCreateMount(STranslateContext* pCxt, SCreateMountStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - sql
    - ','
    - sqlLen
    - ','
    - pCmdReq
    - ','
    - CMD_TYPE
    - ','
    - genericCmd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12639
      start: 12630
    functionDepth: 0
    functionLinenumber: 12630
    functionLinenumberEnd: 12639
    functionName: FILL_CMD_SQL
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILL_CMD_SQL(sql, sqlLen, pCmdReq, CMD_TYPE, genericCmd)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12646,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12650,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12654,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12658,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12662,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12666,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12671,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12675,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12680,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12685,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12689,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12693,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12697,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12701,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12705,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12709,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12714,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12718,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12722,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12726,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12730,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12735,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12739,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12743,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12748,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12752,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12757,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12761,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12765,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12770,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12774,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12779,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12783,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12787,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12791,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12795,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12799,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12803,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12807,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12811,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12815,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12819,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12823,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12827,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12831,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12835,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12839,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12843,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12847,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12851,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12855,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12859,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12863,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12867,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12871,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12876,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12880,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12885,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12889,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12893,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12898,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12902,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 255
    argCount: 3
    argNames:
    - pCxt
    - msgType
    - pReq
    argTypes:
    - STranslateContext*
    - int16_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12912
      start: 12640
    functionDepth: 1
    functionLinenumber: 12640
    functionLinenumberEnd: 12912
    functionName: fillCmdSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - FILL_CMD_SQL
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillCmdSql(STranslateContext* pCxt, int16_t msgType, void*
      pReq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fillCmdSql
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12918,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12920,1
    - Dst: func
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12926,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12928,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12931,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12933,1
    - Dst: func
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12936,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12937,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12938,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - pCxt
    - msgType
    - func
    - pReq
    argTypes:
    - STranslateContext*
    - int16_t
    - FSerializeFunc
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12942
      start: 12916
    functionDepth: 2
    functionLinenumber: 12916
    functionLinenumberEnd: 12942
    functionName: buildCmdMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - fillCmdSql
    - func
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCmdMsg(STranslateContext* pCxt, int16_t msgType, FSerializeFunc
      func, void* pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12946,1
    - Dst: buildCreateDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12948,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12951,1
    - Dst: tFreeSCreateDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12955
      start: 12944
    functionDepth: 14
    functionLinenumber: 12944
    functionLinenumberEnd: 12955
    functionName: translateCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkCreateDatabase
    - tFreeSCreateDbReq
    - buildCreateDbReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateDatabase(STranslateContext* pCxt, SCreateDatabaseStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12958,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12959,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12964,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12964,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12966,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12970,1
    - Dst: tFreeSDropDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12973
      start: 12957
    functionDepth: 3
    functionLinenumber: 12957
    functionLinenumberEnd: 12973
    functionName: translateDropDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - tFreeSDropDbReq
    - tNameSetDbName
    - strlen
    - tNameGetFullDbName
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropDatabase(STranslateContext* pCxt, SDropDatabaseStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12978,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12978,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12980,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterDatabaseStmt*
    - SAlterDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13013
      start: 12975
    functionDepth: 1
    functionLinenumber: 12975
    functionLinenumberEnd: 13013
    functionName: buildAlterDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - tNameSetDbName
    - tstrncpy
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildAlterDbReq(STranslateContext* pCxt, SAlterDatabaseStmt*
      pStmt, SAlterDbReq* pReq)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13016,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13017,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13021,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13021,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13023,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13031,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13033,1
    - Dst: checkDatabaseOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13038,1
    - Dst: buildAlterDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13049,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13052,1
    - Dst: tFreeSAlterDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13053,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13055
      start: 13015
    functionDepth: 13
    functionLinenumber: 13015
    functionLinenumberEnd: 13055
    functionName: translateAlterDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSAlterDbReq
    - translateGetDbCfg
    - TAOS_CHECK_RETURN
    - buildAlterDbReq
    - getDBCfg
    - buildCmdMsg
    - generateSyntaxErrMsgExt
    - checkDatabaseOptions
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterDatabase(STranslateContext* pCxt, SAlterDatabaseStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13060,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13064,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13064,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13066,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13067,1
    - Dst: tFreeSTrimDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - STrimDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13070
      start: 13057
    functionDepth: 3
    functionLinenumber: 13057
    functionLinenumberEnd: 13070
    functionName: translateTrimDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSTrimDbReq
    - buildCmdMsg
    - taosGetTimestampMs
    - tNameSetDbName
    - strlen
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTrimDatabase(STranslateContext* pCxt, STrimDatabaseStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13075,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13075,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13077,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - STrimDbWalStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13079
      start: 13072
    functionDepth: 3
    functionLinenumber: 13072
    functionLinenumberEnd: 13079
    functionName: translateTrimDbWal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTrimDbWal(STranslateContext* pCxt, STrimDbWalStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13084,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13085,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13089,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13090,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13092,1
    - Dst: tFreeSCreateTokenReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTokenStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13095
      start: 13081
    functionDepth: 3
    functionLinenumber: 13081
    functionLinenumberEnd: 13095
    functionName: translateCreateToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSCreateTokenReq
    - tstrncpy
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateToken(STranslateContext* pCxt, SCreateTokenStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13101,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13109,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13113,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13116,1
    - Dst: tFreeSAlterTokenReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterTokenStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13119
      start: 13097
    functionDepth: 3
    functionLinenumber: 13097
    functionLinenumberEnd: 13119
    functionName: translateAlterToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSAlterTokenReq
    - tstrncpy
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterToken(STranslateContext* pCxt, SAlterTokenStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13123,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13125,1
    - Dst: tFreeSDropTokenReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropTokenStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13128
      start: 13121
    functionDepth: 3
    functionLinenumber: 13121
    functionLinenumberEnd: 13128
    functionName: translateDropToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tFreeSDropTokenReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropToken(STranslateContext* pCxt, SDropTokenStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13132,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13133,1
    - Dst: tFreeSCreateTotpSecretReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTotpSecretStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13136
      start: 13130
    functionDepth: 3
    functionLinenumber: 13130
    functionLinenumberEnd: 13136
    functionName: translateCreateTotpSecret
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tFreeSCreateTotpSecretReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateTotpSecret(STranslateContext* pCxt, SCreateTotpSecretStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13140,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13141,1
    - Dst: tFreeSDropTotpSecretReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropTotpSecretStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13144
      start: 13138
    functionDepth: 3
    functionLinenumber: 13138
    functionLinenumberEnd: 13144
    functionName: translateDropTotpSecret
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tFreeSDropTotpSecretReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropTotpSecret(STranslateContext* pCxt, SDropTotpSecretStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkColumnEncodeOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13151,1
    - Dst: checkColumnCompressOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13153,1
    - Dst: checkColumnLevelOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13160
      start: 13146
    functionDepth: 1
    functionLinenumber: 13146
    functionLinenumberEnd: 13160
    functionName: checkColumnOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkColumnCompressOrSetDefault
    - checkColumnLevelOrSetDefault
    - checkColumnEncodeOrSetDefault
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkColumnOptions(SNodeList* pList, bool virtual)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkColumnEncodeOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13151,1
    - Dst: checkColumnCompressOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13153,1
    - Dst: checkColumnLevelOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13158
      start: 13148
    functionDepth: 1
    functionLinenumber: 13148
    functionLinenumberEnd: 13158
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 225
    functionsReached:
    - checkColumnCompressOrSetDefault
    - checkColumnLevelOrSetDefault
    - checkColumnEncodeOrSetDefault
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13168,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - pList
    - virtualTable
    argTypes:
    - SNodeList*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13193
      start: 13162
    functionDepth: 0
    functionLinenumber: 13162
    functionLinenumberEnd: 13193
    functionName: checkColumnType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkColumnType(SNodeList* pList, int8_t virtualTable)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13168,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13191
      start: 13166
    functionDepth: 0
    functionLinenumber: 13166
    functionLinenumberEnd: 13191
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 225
    functionsReached:
    - IS_STR_DATA_BLOB
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13201,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13205,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13210,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13218,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13223,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - createStable
    - daysToKeep2
    argTypes:
    - STranslateContext*
    - STableOptions*
    - bool
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13228
      start: 13195
    functionDepth: 5
    functionLinenumber: 13195
    functionLinenumberEnd: 13228
    functionName: checkTableKeepOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateValue
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTableKeepOption(STranslateContext* pCxt, STableOptions*
      pOptions, bool createStable,\n                                    int32_t daysToKeep2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13233,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13233,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13235,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SSsMigrateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13237
      start: 13230
    functionDepth: 3
    functionLinenumber: 13230
    functionLinenumberEnd: 13237
    functionName: translateSsMigrateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSsMigrateDatabase(STranslateContext* pCxt, SSsMigrateDatabaseStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13244,1
    - Dst: checkCreateMount
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13244,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13246,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13246,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13248,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13248,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13250,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13250,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13253,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13257,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13258,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13258,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13259,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13259,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13262,1
    - Dst: tFreeSCreateMountReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateMountStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13267
      start: 13240
    functionDepth: 3
    functionLinenumber: 13240
    functionLinenumberEnd: 13267
    functionName: translateCreateMount
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - buildCmdMsg
    - tFreeSCreateMountReq
    - snprintf
    - TAOS_UNUSED
    - TSDB_CHECK_NULL
    - checkCreateMount
    - strlen
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateMount(STranslateContext* pCxt, SCreateMountStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13270,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13271,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13276,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13276,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13279,1
    - Dst: tFreeSDropMountReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropMountStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13282
      start: 13269
    functionDepth: 3
    functionLinenumber: 13269
    functionLinenumberEnd: 13282
    functionName: translateDropMount
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    - snprintf
    - TAOS_UNUSED
    - generateSyntaxErrMsgExt
    - tFreeSDropMountReq
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropMount(STranslateContext* pCxt, SDropMountStmt*
      pStmt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13286,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13286,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13293,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13298,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13300,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13304,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13305,1
    - Dst: setColEncode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13307,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13307,1
    - Dst: setColCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13308,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13308,1
    - Dst: setColLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13309,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13309,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13321,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13327,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - pList
    - pArray
    - calBytes
    - virtualTable
    argTypes:
    - SNodeList*
    - SArray**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13331
      start: 13285
    functionDepth: 1
    functionLinenumber: 13285
    functionLinenumberEnd: 13331
    functionName: columnDefNodeToField
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - columnEncodeVal
    - LIST_LENGTH
    - calcTypeBytes
    - IS_STR_DATA_BLOB
    - setColCompress
    - columnLevelVal
    - tstrncpy
    - calcTypeMod
    - setColEncode
    - taosArrayInit
    - setColLevel
    - taosArrayDestroy
    - columnCompressVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t columnDefNodeToField(SNodeList* pList, SArray** pArray, bool
      calBytes, bool virtualTable)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13293,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13298,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13300,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13304,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13305,1
    - Dst: setColEncode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13307,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13307,1
    - Dst: setColCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13308,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13308,1
    - Dst: setColLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13309,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13309,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13321,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13325
      start: 13291
    functionDepth: 1
    functionLinenumber: 13291
    functionLinenumberEnd: 13325
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 225
    functionsReached:
    - taosArrayPush
    - columnEncodeVal
    - IS_STR_DATA_BLOB
    - calcTypeBytes
    - setColCompress
    - columnLevelVal
    - tstrncpy
    - calcTypeMod
    - setColEncode
    - setColLevel
    - columnCompressVal
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13334,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13334,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13342,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13343,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13348,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13352,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13356,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - pList
    - pArray
    - calBytes
    - virtualTable
    argTypes:
    - SNodeList*
    - SArray**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13363
      start: 13333
    functionDepth: 1
    functionLinenumber: 13333
    functionLinenumberEnd: 13363
    functionName: tagDefNodeToField
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - LIST_LENGTH
    - calcTypeBytes
    - IS_STR_DATA_BLOB
    - tstrncpy
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tagDefNodeToField(SNodeList* pList, SArray** pArray, bool calBytes,
      bool virtualTable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13342,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13343,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13348,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13352,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13356,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13361
      start: 13337
    functionDepth: 1
    functionLinenumber: 13337
    functionLinenumberEnd: 13361
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 225
    functionsReached:
    - taosArrayPush
    - IS_STR_DATA_BLOB
    - calcTypeBytes
    - tstrncpy
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13368,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13368,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13370,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13377,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13378,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13380,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13381,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13382,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pList
    - pArray
    - calBytes
    argTypes:
    - SNodeList*
    - SArray**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13389
      start: 13365
    functionDepth: 1
    functionLinenumber: 13365
    functionLinenumberEnd: 13389
    functionName: streamTagDefNodeToField
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosArrayPush
    - LIST_LENGTH
    - calcTypeBytes
    - tstrncpy
    - calcTypeMod
    - taosArrayInit
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamTagDefNodeToField(SNodeList* pList, SArray** pArray,
      bool calBytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13377,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13378,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13380,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13381,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13384
      start: 13372
    functionDepth: 1
    functionLinenumber: 13372
    functionLinenumberEnd: 13384
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 225
    functionsReached:
    - taosArrayPush
    - calcTypeBytes
    - tstrncpy
    - calcTypeMod
    - PAR_ERR_JRET
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCols
    - pCol
    argTypes:
    - SNodeList*
    - SColumnNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13399
      start: 13391
    functionDepth: 0
    functionLinenumber: 13391
    functionLinenumberEnd: 13399
    functionName: findColDef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: SColumnDefNode
    signature: SColumnDefNode * findColDef(SNodeList* pCols, const SColumnNode* pCol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13397
      start: 13393
    functionDepth: 0
    functionLinenumber: 13393
    functionLinenumberEnd: 13397
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 225
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pColDef, pCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13404,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13405,1
    - Dst: findColDef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13407,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13414
      start: 13401
    functionDepth: 1
    functionLinenumber: 13401
    functionLinenumberEnd: 13414
    functionName: checkTableSmaOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - FOREACH
    - findColDef
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkTableSmaOption(STranslateContext* pCxt, SCreateTableStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13427
      start: 13418
    functionDepth: 0
    functionLinenumber: 13418
    functionLinenumberEnd: 13427
    functionName: validRollupFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool validRollupFunc(const char* pFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13438
      start: 13429
    functionDepth: 0
    functionLinenumber: 13429
    functionLinenumberEnd: 13438
    functionName: aggrRollupFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool aggrRollupFunc(const char* pFunc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13444,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13452,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13456,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13457,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13460,1
    - Dst: validRollupFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13461,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pFuncs
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - SNodeList*
    - bool
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13466
      start: 13440
    functionDepth: 1
    functionLinenumber: 13440
    functionLinenumberEnd: 13466
    functionName: checkTableRollupOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - generateSyntaxErrMsgExt
    - validRollupFunc
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTableRollupOption(STranslateContext* pCxt, SNodeList*
      pFuncs, bool createStable,\n                                      SDbCfgInfo*
      pDbCfg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13469,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pDataType
    argTypes:
    - STranslateContext*
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13478
      start: 13468
    functionDepth: 1
    functionLinenumber: 13468
    functionLinenumberEnd: 13478
    functionName: checkDecimalDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDecimalDataType(STranslateContext* pCxt, SDataType pDataType)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13481,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13485,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13493,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13494,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13495,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13498,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13502,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13504,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13506,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13508,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13509,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13513,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13516,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13521,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13523,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13529,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 4
    argNames:
    - pCxt
    - pHash
    - pTags
    - calBytes
    argTypes:
    - STranslateContext*
    - SHashObj*
    - SNodeList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13533
      start: 13480
    functionDepth: 1
    functionLinenumber: 13480
    functionLinenumberEnd: 13533
    functionName: checkTableTagsSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - generateSyntaxErrMsg
    - LIST_LENGTH
    - calcTypeBytes
    - taosHashGet
    - generateSyntaxErrMsgExt
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkTableTagsSchema(STranslateContext* pCxt, SHashObj* pHash,
      SNodeList* pTags, bool calBytes)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13493,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13494,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13495,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13498,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13502,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13504,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13506,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13508,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13509,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13513,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13516,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13521,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13523,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13526
      start: 13491
    functionDepth: 1
    functionLinenumber: 13491
    functionLinenumberEnd: 13526
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 226
    functionsReached:
    - IS_DECIMAL_TYPE
    - generateSyntaxErrMsg
    - taosHashGet
    - calcTypeBytes
    - generateSyntaxErrMsgExt
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTags)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13537,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13541,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13543,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13555,1
    - Dst: aggrRollupFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13556,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13562,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13567,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13573,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13576,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13578,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13579,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13580,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13584,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13586,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13588,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13590,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13591,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13598,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13603,1
    - Dst: checkDecimalDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13604,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13608,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13611,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13620,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 55
    argCount: 7
    argNames:
    - pCxt
    - pHash
    - ntags
    - pCols
    - pRollupFuncs
    - calBytes
    - isVirtual
    argTypes:
    - STranslateContext*
    - SHashObj*
    - int32_t
    - SNodeList*
    - SNodeList*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13624
      start: 13535
    functionDepth: 2
    functionLinenumber: 13535
    functionLinenumberEnd: 13624
    functionName: checkTableColsSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_DECIMAL_TYPE
    - generateSyntaxErrMsg
    - checkDecimalDataType
    - LIST_LENGTH
    - taosHashGet
    - calcTypeBytes
    - generateSyntaxErrMsgExt
    - aggrRollupFunc
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTableColsSchema(STranslateContext* pCxt, SHashObj* pHash,
      int32_t ntags, SNodeList* pCols,\n                                    SNodeList*
      pRollupFuncs, bool calBytes, bool isVirtual)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13562,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13567,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13573,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13576,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13578,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13579,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13580,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13584,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13586,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13588,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13590,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13591,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13598,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13603,1
    - Dst: checkDecimalDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13604,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13608,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13611,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13617
      start: 13558
    functionDepth: 2
    functionLinenumber: 13558
    functionLinenumberEnd: 13617
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 226
    functionsReached:
    - IS_DECIMAL_TYPE
    - generateSyntaxErrMsg
    - checkDecimalDataType
    - taosHashGet
    - calcTypeBytes
    - generateSyntaxErrMsgExt
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13628,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13628,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13628,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13629,1
    - Dst: checkTableTagsSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13634,1
    - Dst: checkTableColsSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13636,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13636,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - pCxt
    - pTags
    - pCols
    - pRollupFuncs
    - calBytes
    - isVirtual
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - SNodeList*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13641
      start: 13626
    functionDepth: 3
    functionLinenumber: 13626
    functionLinenumberEnd: 13641
    functionName: checkTableSchemaImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - checkTableColsSchema
    - checkTableTagsSchema
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTableSchemaImpl(STranslateContext* pCxt, SNodeList* pTags,
      SNodeList* pCols,\n                                    SNodeList* pRollupFuncs,
      bool calBytes, bool isVirtual)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTableSchemaImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13646
      start: 13643
    functionDepth: 4
    functionLinenumber: 13643
    functionLinenumberEnd: 13646
    functionName: checkTableSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkTableSchemaImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkTableSchema(STranslateContext* pCxt, SCreateTableStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTableSchemaImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateVTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13650
      start: 13648
    functionDepth: 4
    functionLinenumber: 13648
    functionLinenumberEnd: 13650
    functionName: checkVTableSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkTableSchemaImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkVTableSchema(STranslateContext* pCxt, SCreateVTableStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13654,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13657,1
    - Dst: checkTableRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 6
    argNames:
    - pCxt
    - pName
    - minVal
    - maxVal
    - pVal
    - pMaxDelay
    argTypes:
    - STranslateContext*
    - char*
    - int64_t
    - int64_t
    - SValueNode*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13668
      start: 13652
    functionDepth: 5
    functionLinenumber: 13652
    functionLinenumberEnd: 13668
    functionName: getTableDelayOrWatermarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateValue
    - checkTableRangeOption
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getTableDelayOrWatermarkOption(STranslateContext* pCxt, const
      char* pName, int64_t minVal,\n                                              int64_t
      maxVal, SValueNode* pVal, int64_t* pMaxDelay)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableDelayOrWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pVal
    - pMaxDelay
    argTypes:
    - STranslateContext*
    - SValueNode*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13673
      start: 13670
    functionDepth: 6
    functionLinenumber: 13670
    functionLinenumberEnd: 13673
    functionName: getTableMaxDelayOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableDelayOrWatermarkOption
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableMaxDelayOption(STranslateContext* pCxt, SValueNode*
      pVal, int64_t* pMaxDelay)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13682,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13687,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13688,1
    - Dst: getTableMaxDelayOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13692,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13692,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13693,1
    - Dst: getTableMaxDelayOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13694,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - STableOptions*
    - bool
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13698
      start: 13675
    functionDepth: 7
    functionLinenumber: 13675
    functionLinenumberEnd: 13698
    functionName: checkTableMaxDelayOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - getTableMaxDelayOption
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTableMaxDelayOption(STranslateContext* pCxt, STableOptions*
      pOptions, bool createStable,\n                                        SDbCfgInfo*
      pDbCfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableDelayOrWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pVal
    - pMaxDelay
    argTypes:
    - STranslateContext*
    - SValueNode*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13703
      start: 13700
    functionDepth: 6
    functionLinenumber: 13700
    functionLinenumberEnd: 13703
    functionName: getTableWatermarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableDelayOrWatermarkOption
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableWatermarkOption(STranslateContext* pCxt, SValueNode*
      pVal, int64_t* pMaxDelay)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13712,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13717,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13718,1
    - Dst: getTableWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13722,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13722,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13723,1
    - Dst: getTableWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13724,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - STableOptions*
    - bool
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13728
      start: 13705
    functionDepth: 7
    functionLinenumber: 13705
    functionLinenumberEnd: 13728
    functionName: checkTableWatermarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - getTableWatermarkOption
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTableWatermarkOption(STranslateContext* pCxt, STableOptions*
      pOptions, bool createStable,\n                                         SDbCfgInfo*
      pDbCfg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableDelayOrWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pVal
    - pMaxDelay
    argTypes:
    - STranslateContext*
    - SValueNode*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13733
      start: 13730
    functionDepth: 6
    functionLinenumber: 13730
    functionLinenumberEnd: 13733
    functionName: getTableDeleteMarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableDelayOrWatermarkOption
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableDeleteMarkOption(STranslateContext* pCxt, SValueNode*
      pVal, int64_t* pMaxDelay)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13742,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13747,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13748,1
    - Dst: getTableDeleteMarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13752,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13752,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13753,1
    - Dst: getTableDeleteMarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13755,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13755,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - STableOptions*
    - bool
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13759
      start: 13735
    functionDepth: 7
    functionLinenumber: 13735
    functionLinenumberEnd: 13759
    functionName: checkTableDeleteMarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - getTableDeleteMarkOption
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTableDeleteMarkOption(STranslateContext* pCxt, STableOptions*
      pOptions, bool createStable,\n                                          SDbCfgInfo*
      pDbCfg)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13762,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13763,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13767,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13768,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13774,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13776,1
    - Dst: checkTableMaxDelayOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13781,1
    - Dst: checkTableWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13784,1
    - Dst: checkTableDeleteMarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13787,1
    - Dst: checkTableRollupOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13790,1
    - Dst: checkTableSmaOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13793,1
    - Dst: checkTableSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13796,1
    - Dst: checkColumnOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13799,1
    - Dst: checkColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13803,1
    - Dst: checkTableKeepOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13807,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13811,1
    - Dst: biCheckCreateTableTbnameCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13817,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - createStable
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13820
      start: 13761
    functionDepth: 10
    functionLinenumber: 13761
    functionLinenumberEnd: 13820
    functionName: checkCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - biCheckCreateTableTbnameCol
    - checkColumnType
    - checkTableWatermarkOption
    - checkTableKeepOption
    - checkTableSchema
    - getDBCfg
    - checkTableRollupOption
    - checkTableSmaOption
    - checkTableDeleteMarkOption
    - strchr
    - checkColumnOptions
    - generateSyntaxErrMsgExt
    - IS_SYS_DBNAME
    - checkTableMaxDelayOption
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCreateTable(STranslateContext* pCxt, SCreateTableStmt*
      pStmt, bool createStable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13830,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13835,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pCol
    - colId
    - pSchema
    argTypes:
    - SColumnDefNode*
    - col_id_t
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13838
      start: 13822
    functionDepth: 1
    functionLinenumber: 13822
    functionLinenumberEnd: 13838
    functionName: toSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - tstrncpy
    - calcTypeBytes
    linkageType: ''
    returnType: void
    signature: void toSchema(const SColumnDefNode* pCol, col_id_t colId, SSchema*
      pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13856,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13860,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13861,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13862,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pInfo
    - pOutput
    argTypes:
    - SSampleAstInfo*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13866
      start: 13854
    functionDepth: 5
    functionLinenumber: 13854
    functionLinenumberEnd: 13866
    functionName: buildTableForSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - snprintf
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableForSampleAst(SSampleAstInfo* pInfo, SNode** pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13870,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13874,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13875,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13877
      start: 13868
    functionDepth: 5
    functionLinenumber: 13868
    functionLinenumberEnd: 13877
    functionName: addWstartToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesListPushFront
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t addWstartToSampleProjects(SNodeList* pProjectionList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13881,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13885,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13886,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13888
      start: 13879
    functionDepth: 5
    functionLinenumber: 13879
    functionLinenumberEnd: 13888
    functionName: addWendToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addWendToSampleProjects(SNodeList* pProjectionList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13892,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13896,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13897,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13899
      start: 13890
    functionDepth: 5
    functionLinenumber: 13890
    functionLinenumberEnd: 13899
    functionName: addWdurationToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addWdurationToSampleProjects(SNodeList* pProjectionList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13903,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13907,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13908,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13910
      start: 13901
    functionDepth: 5
    functionLinenumber: 13901
    functionLinenumberEnd: 13910
    functionName: addTWstartToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesListPushFront
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t addTWstartToSampleProjects(SNodeList* pProjectionList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13914,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13918,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13919,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13921
      start: 13912
    functionDepth: 5
    functionLinenumber: 13912
    functionLinenumberEnd: 13921
    functionName: addTWendToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addTWendToSampleProjects(SNodeList* pProjectionList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13925,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13929,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13930,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13932
      start: 13923
    functionDepth: 5
    functionLinenumber: 13923
    functionLinenumberEnd: 13932
    functionName: addTWdurationToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addTWdurationToSampleProjects(SNodeList* pProjectionList)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: addWstartToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13938,1
    - Dst: addWendToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13940,1
    - Dst: addWdurationToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13942,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13950,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13955,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pInfo
    - pList
    - pProjectionTotalLen
    argTypes:
    - SSampleAstInfo*
    - SNodeList**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13958
      start: 13934
    functionDepth: 6
    functionLinenumber: 13934
    functionLinenumberEnd: 13958
    functionName: buildProjectsForSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - addWendToSampleProjects
    - addWstartToSampleProjects
    - nodesDestroyList
    - snprintf
    - addWdurationToSampleProjects
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildProjectsForSampleAst(SSampleAstInfo* pInfo, SNodeList**
      pList, int32_t* pProjectionTotalLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13952
      start: 13949
    functionDepth: 0
    functionLinenumber: 13949
    functionLinenumberEnd: 13952
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 226
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProject, pProjectionList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13962,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13966,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13967,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13968,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13972,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13977,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13979,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pInfo
    - pOutput
    argTypes:
    - SSampleAstInfo*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13986
      start: 13960
    functionDepth: 5
    functionLinenumber: 13960
    functionLinenumberEnd: 13986
    functionName: buildIntervalForSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - TSWAP
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildIntervalForSampleAst(SSampleAstInfo* pInfo, SNode** pOutput)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13991,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13995,1
    - Dst: buildTableForSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13996,1
    - Dst: buildProjectsForSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13998,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14001,1
    - Dst: buildIntervalForSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14002,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14005,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14008,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14011,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14013,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 7
    argNames:
    - pCxt
    - pInfo
    - pAst
    - pLen
    - pExpr
    - pExprLen
    - pProjectionTotalLen
    argTypes:
    - STranslateContext*
    - SSampleAstInfo*
    - char**
    - int32_t*
    - char**
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14015
      start: 13988
    functionDepth: 7
    functionLinenumber: 13988
    functionLinenumberEnd: 14015
    functionName: buildSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - TSWAP
    - nodesListToString
    - nodesMakeNode
    - snprintf
    - buildTableForSampleAst
    - nodesNodeToString
    - buildIntervalForSampleAst
    - nodesDestroyNode
    - buildProjectsForSampleAst
    - translateQuery
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildSampleAst(STranslateContext* pCxt, SSampleAstInfo* pInfo,
      char** pAst, int32_t* pLen, char** pExpr,\n                              int32_t*
      pExprLen, int32_t* pProjectionTotalLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14018,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14019,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14020,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14021,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14022,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SSampleAstInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14024
      start: 14017
    functionDepth: 6
    functionLinenumber: 14017
    functionLinenumberEnd: 14024
    functionName: clearSampleAstInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void clearSampleAstInfo(SSampleAstInfo* pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14028,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14033,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14035,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14039,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14040,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14042,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pRetension
    - precision
    - ppNode
    argTypes:
    - SRetention*
    - int8_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14051
      start: 14026
    functionDepth: 5
    functionLinenumber: 14026
    functionLinenumberEnd: 14051
    functionName: makeIntervalVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - snprintf
    - convertTimeFromPrecisionToUnit
    - taosStrndup
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t makeIntervalVal(SRetention* pRetension, int8_t precision, SNode**
      ppNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14055,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pDef
    - ppCol
    argTypes:
    - SColumnDefNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14062
      start: 14053
    functionDepth: 5
    functionLinenumber: 14053
    functionLinenumberEnd: 14062
    functionName: createColumnFromDef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createColumnFromDef(SColumnDefNode* pDef, SNode** ppCol)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14066,1
    - Dst: createColumnFromDef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14071,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14073,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pSrcFunc
    - pColDef
    - ppRollupFunc
    argTypes:
    - SNode*
    - SColumnDefNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14082
      start: 14064
    functionDepth: 6
    functionLinenumber: 14064
    functionLinenumberEnd: 14082
    functionName: createRollupFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createColumnFromDef
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t createRollupFunc(SNode* pSrcFunc, SColumnDefNode* pColDef,
      SNode** ppRollupFunc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14086,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14092,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14095,1
    - Dst: createRollupFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14101,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14103,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14106,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - pStmt
    - ppList
    argTypes:
    - SCreateTableStmt*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14117
      start: 14084
    functionDepth: 7
    functionLinenumber: 14084
    functionLinenumberEnd: 14117
    functionName: createRollupFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - createRollupFunc
    - nodesListStrictAppend
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t createRollupFuncs(SCreateTableStmt* pStmt, SNodeList** ppList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14120,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14120,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14121,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14126,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14128,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14132,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14133,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14137,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - pStmt
    - precision
    - ppTbMeta
    argTypes:
    - SCreateTableStmt*
    - int8_t
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14144
      start: 14119
    functionDepth: 2
    functionLinenumber: 14119
    functionLinenumberEnd: 14144
    functionName: createRollupTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toSchema
    - FOREACH
    - LIST_LENGTH
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createRollupTableMeta(SCreateTableStmt* pStmt, int8_t precision,
      STableMeta** ppTbMeta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createRollupFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14150,1
    - Dst: makeIntervalVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14153,1
    - Dst: createRollupTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14156,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14159,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - pRetension
    - precision
    - pInfo
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SRetention*
    - int8_t
    - SSampleAstInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14162
      start: 14146
    functionDepth: 8
    functionLinenumber: 14146
    functionLinenumberEnd: 14162
    functionName: buildSampleAstInfoByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - makeIntervalVal
    - createRollupFuncs
    - createRollupTableMeta
    - createTbnameFunction
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildSampleAstInfoByTable(STranslateContext* pCxt, SCreateTableStmt*
      pStmt, SRetention* pRetension,\n                                         int8_t
      precision, SSampleAstInfo* pInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildSampleAstInfoByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14167,1
    - Dst: buildSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14169,1
    - Dst: clearSampleAstInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - pCxt
    - pStmt
    - pRetension
    - precision
    - pAst
    - pLen
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SRetention*
    - int8_t
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14173
      start: 14164
    functionDepth: 9
    functionLinenumber: 14164
    functionLinenumberEnd: 14173
    functionName: getRollupAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildSampleAstInfoByTable
    - clearSampleAstInfo
    - buildSampleAst
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getRollupAst(STranslateContext* pCxt, SCreateTableStmt* pStmt,
      SRetention* pRetension, int8_t precision,\n                            char**
      pAst, int32_t* pLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14177,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14178,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14183,1
    - Dst: initTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14185,1
    - Dst: getRollupAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14187,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SMCreateStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14197
      start: 14175
    functionDepth: 10
    functionLinenumber: 14175
    functionLinenumberEnd: 14197
    functionName: buildRollupAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - getDBCfg
    - getRollupAst
    - destroyTranslateContext
    - initTranslateContext
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildRollupAst(STranslateContext* pCxt, SCreateTableStmt* pStmt,
      SMCreateStbReq* pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14203,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14203,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14207,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pFuncs
    - pArray
    argTypes:
    - SNodeList*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14214
      start: 14199
    functionDepth: 1
    functionLinenumber: 14199
    functionLinenumberEnd: 14214
    functionName: buildRollupFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - LIST_LENGTH
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildRollupFuncs(SNodeList* pFuncs, SArray** pArray)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14207,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14212
      start: 14206
    functionDepth: 1
    functionLinenumber: 14206
    functionLinenumberEnd: 14212
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 228
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: columnDefNodeToField
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14233,1
    - Dst: tagDefNodeToField
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14235,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14237,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14238,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14240,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14244,1
    - Dst: buildRollupFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14248,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14251,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14252,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14253,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14255,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14257,1
    - Dst: buildRollupAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14260,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SMCreateStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14267
      start: 14216
    functionDepth: 11
    functionLinenumber: 14216
    functionLinenumberEnd: 14267
    functionName: buildCreateStbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - tagDefNodeToField
    - LIST_LENGTH
    - toName
    - columnDefNodeToField
    - taosArrayGetSize
    - tNameExtractFullName
    - strlen
    - buildRollupFuncs
    - buildRollupAst
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateStbReq(STranslateContext* pCxt, SCreateTableStmt*
      pStmt, SMCreateStbReq* pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14271,1
    - Dst: buildCreateStbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14273,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14276,1
    - Dst: tFreeSMCreateStbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14280
      start: 14269
    functionDepth: 12
    functionLinenumber: 14269
    functionLinenumberEnd: 14280
    functionName: translateCreateSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCreateStbReq
    - buildCmdMsg
    - tFreeSMCreateStbReq
    - checkCreateTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateSuperTable(STranslateContext* pCxt, SCreateTableStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14283,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14286,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14289,1
    - Dst: tFreeSMDropStbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pTableName
    - ignoreNotExists
    argTypes:
    - STranslateContext*
    - SName*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14294
      start: 14282
    functionDepth: 3
    functionLinenumber: 14282
    functionLinenumberEnd: 14294
    functionName: doTranslateDropSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tNameExtractFullName
    - collectUseTable
    - tFreeSMDropStbReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTranslateDropSuperTable(STranslateContext* pCxt, const SName*
      pTableName, bool ignoreNotExists)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14297,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14300,1
    - Dst: doTranslateDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14302
      start: 14296
    functionDepth: 4
    functionLinenumber: 14296
    functionLinenumberEnd: 14302
    functionName: translateDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - toName
    - doTranslateDropSuperTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropTable(STranslateContext* pCxt, SDropTableStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14306,1
    - Dst: doTranslateDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropSuperTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14308
      start: 14304
    functionDepth: 4
    functionLinenumber: 14304
    functionLinenumberEnd: 14308
    functionName: translateDropSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toName
    - doTranslateDropSuperTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropSuperTable(STranslateContext* pCxt, SDropSuperTableStmt*
      pStmt)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14312,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14313,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14320,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14324,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14348,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14352,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14354,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14358,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14366,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14367,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14368,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14376,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14377,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14381,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14382,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14389,1
    - Dst: checkColumnEncode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14390,1
    - Dst: checkColumnCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14391,1
    - Dst: checkColumnLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14392,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14394,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14394,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14395,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14396,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14400,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14406,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14408,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14410,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14412,1
    - Dst: checkColumnEncodeOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14414,1
    - Dst: checkColumnCompressOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14416,1
    - Dst: checkColumnLevelOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14418,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14420,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14420,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14421,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14422,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14428,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14429,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14436,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 109
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pAlterReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SMAlterStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14438
      start: 14310
    functionDepth: 1
    functionLinenumber: 14310
    functionLinenumberEnd: 14438
    functionName: buildAlterSuperTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setColCompressByOption
    - taosArrayPush
    - toName
    - checkColumnCompressOrSetDefault
    - taosArrayDestroy
    - checkColumnLevel
    - columnEncodeVal
    - calcTypeBytes
    - checkColumnCompress
    - taosArrayGetSize
    - tNameExtractFullName
    - columnLevelVal
    - tstrncpy
    - checkColumnEncode
    - taosStrdup
    - checkColumnLevelOrSetDefault
    - checkColumnEncodeOrSetDefault
    - calcTypeMod
    - taosArrayInit
    - strlen
    - columnCompressVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildAlterSuperTableReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, SMAlterStbReq* pAlterReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14441,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14441,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTableMeta
    - pColName
    argTypes:
    - STableMeta*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14449
      start: 14440
    functionDepth: 1
    functionLinenumber: 14440
    functionLinenumberEnd: 14449
    functionName: getColSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getNumOfColumns
    - strcmp
    - getNumOfTags
    linkageType: ''
    returnType: SSchema
    signature: SSchema * getColSchema(const STableMeta* pTableMeta, const char* pColName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14452,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14453,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTableMeta
    - pColName
    argTypes:
    - STableMeta*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14461
      start: 14451
    functionDepth: 1
    functionLinenumber: 14451
    functionLinenumberEnd: 14461
    functionName: getNormalColSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getNumOfColumns
    - strcmp
    - getTableColumnSchema
    linkageType: ''
    returnType: SSchema
    signature: SSchema * getNormalColSchema(const STableMeta* pTableMeta, const char*
      pColName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14464,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14465,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTableMeta
    - pTagName
    argTypes:
    - STableMeta*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14473
      start: 14463
    functionDepth: 1
    functionLinenumber: 14463
    functionLinenumberEnd: 14473
    functionName: getTagSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableTagSchema
    - strcmp
    - getNumOfTags
    linkageType: ''
    returnType: SSchema
    signature: SSchema * getTagSchema(const STableMeta* pTableMeta, const char* pTagName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14478,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14483,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14486,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14490,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14493,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14504
      start: 14475
    functionDepth: 1
    functionLinenumber: 14475
    functionLinenumberEnd: 14504
    functionName: checkAlterTableByColumnType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getNumOfColumns
    - generateSyntaxErrMsg
    - IS_STR_DATA_BLOB
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkAlterTableByColumnType(STranslateContext* pCxt, SAlterTableStmt*
      pStmt,\n                                           const STableMeta* pTableMeta)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14507,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14508,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14511,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14524,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14527,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14529,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14536,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14540,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14545,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14546,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14547,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14551,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14552,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14553,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14554,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14557,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14558,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14563,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14564,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14567,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14568,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14576,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14579,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14580,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14581,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14582,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14585,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14586,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14592,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14595,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14596,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14599,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14600,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14604,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14605,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14610,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 68
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14615
      start: 14505
    functionDepth: 2
    functionLinenumber: 14505
    functionLinenumberEnd: 14615
    functionName: checkAlterSuperTableBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - generateSyntaxErrMsg
    - getTableTagSchema
    - getColSchema
    - hasPkInTable
    - calcTypeBytes
    - generateSyntaxErrMsgExt
    - IS_VAR_DATA_TYPE
    - getNumOfTags
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkAlterSuperTableBySchema(STranslateContext* pCxt, SAlterTableStmt*
      pStmt,\n                                            const STableMeta* pTableMeta)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14618,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14619,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14628,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14633,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14638,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14644,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14649,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14653,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14657,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14661,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14665,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14671,1
    - Dst: checkAlterSuperTableBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14674,1
    - Dst: checkAlterTableByColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14677,1
    - Dst: checkTableKeepOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14681,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14683,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14685
      start: 14617
    functionDepth: 10
    functionLinenumber: 14617
    functionLinenumberEnd: 14685
    functionName: checkAlterSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkAlterSuperTableBySchema
    - generateSyntaxErrMsg
    - getTableMeta
    - checkTableKeepOption
    - getDBCfg
    - checkAlterTableByColumnType
    - taosMemoryFree
    - generateSyntaxErrMsgExt
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAlterSuperTable(STranslateContext* pCxt, SAlterTableStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkAlterSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14689,1
    - Dst: buildAlterSuperTableReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14691,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14694,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14698
      start: 14687
    functionDepth: 11
    functionLinenumber: 14687
    functionLinenumberEnd: 14698
    functionName: translateAlterSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMAltertbReq
    - buildAlterSuperTableReq
    - checkAlterSuperTable
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterSuperTable(STranslateContext* pCxt, SAlterTableStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14703,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14703,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14705,1
    - Dst: getDBVgVersion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14709,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SUseDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14714
      start: 14700
    functionDepth: 7
    functionLinenumber: 14700
    functionLinenumberEnd: 14714
    functionName: translateUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getDBVgVersion
    - buildCmdMsg
    - tNameSetDbName
    - strlen
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateUseDatabase(STranslateContext* pCxt, SUseDatabaseStmt*
      pStmt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14727,1
    - Dst: catalogGetUserAuth
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14727,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14740,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14741,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14744,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14745,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14752,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14753,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14754,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14758,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14759,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14767,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14768,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14777,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14778,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 43
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - ops
    - isAlter
    argTypes:
    - STranslateContext*
    - void*
    - SUserOptions*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14785
      start: 14717
    functionDepth: 9
    functionLinenumber: 14717
    functionLinenumberEnd: 14785
    functionName: translateCheckUserOptsPriv
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PRIV_HAS
    - strncmp
    - generateSyntaxErrMsgExt
    - TAOS_CHECK_EXIT
    - catalogGetUserAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCheckUserOptsPriv(STranslateContext* pCxt, void* pStmt,
      SUserOptions* ops, bool isAlter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14791,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14793,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14800,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14801,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14804,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14806,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14816,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - pSecurityLevels
    - pMinLevel
    - pMaxLevel
    argTypes:
    - STranslateContext*
    - SNodeList*
    - int8_t*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14824
      start: 14788
    functionDepth: 5
    functionLinenumber: 14788
    functionLinenumberEnd: 14824
    functionName: translateCheckUserSecurityLevel
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateValue
    - LIST_LENGTH
    - getBigintFromValueNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateCheckUserSecurityLevel(STranslateContext* pCxt, SNodeList*
      pSecurityLevels, int8_t* pMinLevel,\n                                               int8_t*
      pMaxLevel)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14800,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14801,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14804,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14806,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14821
      start: 14798
    functionDepth: 5
    functionLinenumber: 14798
    functionLinenumberEnd: 14821
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 228
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateValue
    - getBigintFromValueNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pSecurityLevels)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14834
      start: 14826
    functionDepth: 0
    functionLinenumber: 14826
    functionLinenumberEnd: 14834
    functionName: containsBlankChar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool containsBlankChar(const char* name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: containsBlankChar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14861,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14863,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14864,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14869
      start: 14836
    functionDepth: 1
    functionLinenumber: 14836
    functionLinenumberEnd: 14869
    functionName: isReservedPrincipalName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tListLen
    - containsBlankChar
    - taosStrcasecmp
    linkageType: ''
    returnType: bool
    signature: bool isReservedPrincipalName(const char* name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: translateCheckUserOptsPriv
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14876,1
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14880,1
    - Dst: isPrivInheritName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14883,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14884,1
    - Dst: isReservedPrincipalName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14887,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14888,1
    - Dst: translateCheckUserSecurityLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14897,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14917,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14922,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14923,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14924,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14952,1
    - Dst: tFreeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14957,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 68
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14959
      start: 14871
    functionDepth: 10
    functionLinenumber: 14871
    functionLinenumberEnd: 14959
    functionName: translateCreateUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSCreateUserReq
    - translateCheckUserSecurityLevel
    - isReservedPrincipalName
    - buildCmdMsg
    - isPrivInheritName
    - translateCheckUserOptsPriv
    - tstrncpy
    - generateSyntaxErrMsgExt
    - checkRangeOption
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateUser(STranslateContext* pCxt, SCreateUserStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14965,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14966,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14967,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14968,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14969,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14971,1
    - Dst: tFreeSCreateEncryptAlgrReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateEncryptAlgrStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14974
      start: 14961
    functionDepth: 3
    functionLinenumber: 14961
    functionLinenumberEnd: 14974
    functionName: translateCreateEncryptAlgr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tFreeSCreateEncryptAlgrReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateEncryptAlgr(STranslateContext* pCxt, SCreateEncryptAlgrStmt*
      pStmt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: translateCheckUserOptsPriv
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14982,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14988,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14990,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15019,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15022,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15038,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15039,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15040,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15041,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15043,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15045,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15050,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15057,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15059,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15064,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15071,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15073,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15078,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15085,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15087,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15092,1
    - Dst: translateCheckUserSecurityLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15100,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15102,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15107,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15108,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 105
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15110
      start: 14976
    functionDepth: 10
    functionLinenumber: 14976
    functionLinenumberEnd: 15110
    functionName: translateAlterUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - translateCheckUserSecurityLevel
    - LIST_LENGTH
    - buildCmdMsg
    - FOREACH
    - tstrncpy
    - translateCheckUserOptsPriv
    - tFreeSAlterUserReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterUser(STranslateContext* pCxt, SAlterUserStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15114,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15117,1
    - Dst: tFreeSDropUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15120
      start: 15112
    functionDepth: 3
    functionLinenumber: 15112
    functionLinenumberEnd: 15120
    functionName: translateDropUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tFreeSDropUserReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropUser(STranslateContext* pCxt, SDropUserStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isReservedPrincipalName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15126,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15127,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15130,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15132,1
    - Dst: tFreeSCreateRoleReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15133,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateRoleStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15139
      start: 15122
    functionDepth: 3
    functionLinenumber: 15122
    functionLinenumberEnd: 15139
    functionName: translateCreateRole
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSCreateRoleReq
    - isReservedPrincipalName
    - buildCmdMsg
    - tstrncpy
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateRole(STranslateContext* pCxt, SCreateRoleStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15144,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15146,1
    - Dst: tFreeSDropRoleReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15147,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropRoleStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15154
      start: 15141
    functionDepth: 3
    functionLinenumber: 15141
    functionLinenumberEnd: 15154
    functionName: translateDropRole
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - tstrncpy
    - tFreeSDropRoleReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropRole(STranslateContext* pCxt, SDropRoleStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15160,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15163,1
    - Dst: tFreeSAlterRoleReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15164,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterRoleStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15170
      start: 15156
    functionDepth: 3
    functionLinenumber: 15156
    functionLinenumberEnd: 15170
    functionName: translateAlterRole
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSAlterRoleReq
    - tstrncpy
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterRole(STranslateContext* pCxt, SAlterRoleStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15174,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15176,1
    - Dst: tFreeSDropEncryptAlgrReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropEncryptAlgrStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15179
      start: 15172
    functionDepth: 3
    functionLinenumber: 15172
    functionLinenumberEnd: 15179
    functionName: translateDropEncryptAlgr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSDropEncryptAlgrReq
    - tstrncpy
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropEncryptAlgr(STranslateContext* pCxt, SDropEncryptAlgrStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15183,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15188,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15193,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15195,1
    - Dst: tFreeSMCreateAnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateAnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15198
      start: 15181
    functionDepth: 3
    functionLinenumber: 15181
    functionLinenumberEnd: 15198
    functionName: translateCreateAnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    - tstrncpy
    - strlen
    - tFreeSMCreateAnodeReq
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateAnode(STranslateContext* pCxt, SCreateAnodeStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15204,1
    - Dst: tFreeSMDropAnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropAnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15207
      start: 15200
    functionDepth: 3
    functionLinenumber: 15200
    functionLinenumberEnd: 15207
    functionName: translateDropAnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMDropAnodeReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropAnode(STranslateContext* pCxt, SDropAnodeStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15213,1
    - Dst: tFreeSMUpdateAnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SUpdateAnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15216
      start: 15209
    functionDepth: 3
    functionLinenumber: 15209
    functionLinenumberEnd: 15216
    functionName: translateUpdateAnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMUpdateAnodeReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateUpdateAnode(STranslateContext* pCxt, SUpdateAnodeStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15220,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15223,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15223,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15223,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pOptions
    - name
    argTypes:
    - SXnodeTaskOptions*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15228
      start: 15218
    functionDepth: 1
    functionLinenumber: 15218
    functionLinenumberEnd: 15228
    functionName: getXnodeTaskOptionByName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strlen
    - parserDebug
    linkageType: ''
    returnType: char
    signature: char * getXnodeTaskOptionByName(SXnodeTaskOptions* pOptions, const
      char* name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15252,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15256,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15260,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15263,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15267,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15271,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15275,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15279,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15283,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15289,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15289,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15292,1
    - Dst: tFreeSMCreateXnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15293,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateXnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15295
      start: 15249
    functionDepth: 3
    functionLinenumber: 15249
    functionLinenumberEnd: 15295
    functionName: translateCreateXnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMCreateXnodeReq
    - buildCmdMsg
    - tstrncpy
    - xCreateCowStr
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateXnode(STranslateContext* pCxt, SCreateXnodeStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15301,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15302,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15306,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15310,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15312,1
    - Dst: tFreeSMDropXnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropXnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15315
      start: 15297
    functionDepth: 3
    functionLinenumber: 15297
    functionLinenumberEnd: 15315
    functionName: translateDropXnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMDropXnodeReq
    - buildCmdMsg
    - tstrncpy
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropXnode(STranslateContext* pCxt, SDropXnodeStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15320,1
    - Dst: tFreeSMDrainXnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDrainXnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15323
      start: 15317
    functionDepth: 3
    functionLinenumber: 15317
    functionLinenumberEnd: 15323
    functionName: translateDrainXnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMDrainXnodeReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDrainXnode(STranslateContext* pCxt, SDrainXnodeStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xCloneRefCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15328,1
    - Dst: xCloneRefCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15329,1
    - Dst: xCloneRefCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15330,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15332,1
    - Dst: tFreeSMUpdateXnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterXnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15335
      start: 15325
    functionDepth: 3
    functionLinenumber: 15325
    functionLinenumberEnd: 15335
    functionName: translateAlterXnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - xCloneRefCowStr
    - tFreeSMUpdateXnodeReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterXnode(STranslateContext* pCxt, SAlterXnodeStmt*
      pStmt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15340,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15349,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15349,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15353,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15353,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15356,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15356,1
    - Dst: xSetCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15363,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pOptions
    - pOpts
    argTypes:
    - SXnodeTaskOptions*
    - xTaskOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15367
      start: 15337
    functionDepth: 1
    functionLinenumber: 15337
    functionLinenumberEnd: 15367
    functionName: covertXNodeTaskOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - xSetCowStr
    - strlen
    - xCreateCowStr
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t covertXNodeTaskOptions(SXnodeTaskOptions* pOptions, xTaskOptions*
      pOpts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15372,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15372,1
    - Dst: xCloneTaskSourceRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15373,1
    - Dst: xCloneTaskSinkRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15374,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15376,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15377,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15378,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15381,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15382,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15383,1
    - Dst: covertXNodeTaskOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15386,1
    - Dst: tFreeSMCreateXnodeTaskReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15388,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15393,1
    - Dst: tFreeSMCreateXnodeTaskReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateXnodeTaskStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15396
      start: 15368
    functionDepth: 3
    functionLinenumber: 15368
    functionLinenumberEnd: 15396
    functionName: translateCreateXnodeTask
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMCreateXnodeTaskReq
    - getXnodeTaskOptionByName
    - xCloneTaskSinkRef
    - covertXNodeTaskOptions
    - xCloneTaskSourceRef
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - xCreateCowStr
    - strlen
    - taosStr2Int32
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateXnodeTask(STranslateContext* pCxt, SCreateXnodeTaskStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xCloneRefCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15401,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15403,1
    - Dst: tFreeSMStartXnodeTaskReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SStartXnodeTaskStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15406
      start: 15398
    functionDepth: 3
    functionLinenumber: 15398
    functionLinenumberEnd: 15406
    functionName: translateStartXnodeTask
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - xCloneRefCowStr
    - tFreeSMStartXnodeTaskReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateStartXnodeTask(STranslateContext* pCxt, SStartXnodeTaskStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xCloneRefCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15411,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15413,1
    - Dst: tFreeSMStopXnodeTaskReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SStopXnodeTaskStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15416
      start: 15408
    functionDepth: 3
    functionLinenumber: 15408
    functionLinenumberEnd: 15416
    functionName: translateStopXnodeTask
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - xCloneRefCowStr
    - tFreeSMStopXnodeTaskReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateStopXnodeTask(STranslateContext* pCxt, SStopXnodeTaskStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15423,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15423,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15426,1
    - Dst: tFreeSMDropXnodeTaskReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropXnodeTaskStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15429
      start: 15418
    functionDepth: 3
    functionLinenumber: 15418
    functionLinenumberEnd: 15429
    functionName: translateDropXnodeTask
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - xCreateCowStr
    - tFreeSMDropXnodeTaskReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropXnodeTask(STranslateContext* pCxt, SDropXnodeTaskStmt*
      pStmt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xCloneRefCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15436,1
    - Dst: xCloneTaskSourceRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15439,1
    - Dst: xCloneTaskSinkRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15442,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15447,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15449,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15449,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15451,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15453,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15455,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15457,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15458,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15461,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15461,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15464,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15466,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15468,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15468,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15470,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15472,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15472,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15477,1
    - Dst: tFreeSMUpdateXnodeTaskReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15478,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SUpdateXnodeTaskStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15480
      start: 15431
    functionDepth: 3
    functionLinenumber: 15431
    functionLinenumberEnd: 15480
    functionName: translateUpdateXnodeTask
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - getXnodeTaskOptionByName
    - xCloneTaskSinkRef
    - xCloneTaskSourceRef
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - xCreateCowStr
    - xCloneRefCowStr
    - taosStr2Int32
    - tFreeSMUpdateXnodeTaskReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateUpdateXnodeTask(STranslateContext* pCxt, SUpdateXnodeTaskStmt*
      pStmt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15484,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15486,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15488,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15489,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15495,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15497,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15500,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15502,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15503,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15506,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15506,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15509,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15509,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15514,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15516,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15516,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15520,1
    - Dst: tFreeSMCreateXnodeJobReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateXnodeJobStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15523
      start: 15482
    functionDepth: 3
    functionLinenumber: 15482
    functionLinenumberEnd: 15523
    functionName: translateCreateXnodeJob
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getXnodeTaskOptionByName
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - xCreateCowStr
    - tFreeSMCreateXnodeJobReq
    - strlen
    - taosStr2Int32
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateXnodeJob(STranslateContext* pCxt, SCreateXnodeJobStmt*
      pStmt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15530,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15532,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15535,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15537,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15538,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15541,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15541,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15544,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15546,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15550,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15554,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15557,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15559,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15563,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15567,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15571,1
    - Dst: tFreeSMUpdateXnodeJobReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15572,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterXnodeJobStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15574
      start: 15525
    functionDepth: 3
    functionLinenumber: 15525
    functionLinenumberEnd: 15574
    functionName: translateAlterXnodeJob
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getXnodeTaskOptionByName
    - memcpy
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - tFreeSMUpdateXnodeJobReq
    - xCreateCowStr
    - strlen
    - taosStr2Int32
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterXnodeJob(STranslateContext* pCxt, SAlterXnodeJobStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15580,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15582,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15584,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15587,1
    - Dst: tFreeSMRebalanceXnodeJobReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRebalanceXnodeJobStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15590
      start: 15576
    functionDepth: 3
    functionLinenumber: 15576
    functionLinenumberEnd: 15590
    functionName: translateRebalanceXnodeJob
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getXnodeTaskOptionByName
    - tFreeSMRebalanceXnodeJobReq
    - buildCmdMsg
    - generateSyntaxErrMsgExt
    - taosStr2Int32
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRebalanceXnodeJob(STranslateContext* pCxt, SRebalanceXnodeJobStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15597,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15597,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15598,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15606
      start: 15596
    functionDepth: 1
    functionLinenumber: 15596
    functionLinenumberEnd: 15606
    functionName: supportNodeType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes supportNodeType(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15609,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15609,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pWhere
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15615
      start: 15608
    functionDepth: 3
    functionLinenumber: 15608
    functionLinenumberEnd: 15615
    functionName: isXnodeSupportNodeType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool isXnodeSupportNodeType(SNode* pWhere)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15624,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15624,1
    - Dst: isXnodeSupportNodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15626,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15627,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15632,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15632,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15635,1
    - Dst: tFreeSMRebalanceXnodeJobsWhereReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15637,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRebalanceXnodeJobWhereStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15644
      start: 15617
    functionDepth: 4
    functionLinenumber: 15617
    functionLinenumberEnd: 15644
    functionName: translateRebalanceXnodeJobWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - isXnodeSupportNodeType
    - TAOS_CHECK_GOTO
    - buildCmdMsg
    - xCreateCowStr
    - taosMemoryFree
    - nodesNodeToString
    - generateSyntaxErrMsgExt
    - tFreeSMRebalanceXnodeJobsWhereReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRebalanceXnodeJobWhere(STranslateContext* pCxt, SRebalanceXnodeJobWhereStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15653,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15653,1
    - Dst: isXnodeSupportNodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15655,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15656,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15661,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15661,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15665,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15669,1
    - Dst: tFreeSMDropXnodeJobReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropXnodeJobStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15674
      start: 15646
    functionDepth: 4
    functionLinenumber: 15646
    functionLinenumberEnd: 15674
    functionName: translateDropXnodeJob
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - isXnodeSupportNodeType
    - TAOS_CHECK_GOTO
    - buildCmdMsg
    - tFreeSMDropXnodeJobReq
    - xCreateCowStr
    - taosMemoryFree
    - nodesNodeToString
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropXnodeJob(STranslateContext* pCxt, SDropXnodeJobStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15680,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15680,1
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15682,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15683,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15684,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15688,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15688,1
    - Dst: covertXNodeTaskOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15691,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15696,1
    - Dst: tFreeSMCreateXnodeAgentReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateXnodeAgentStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15701
      start: 15676
    functionDepth: 3
    functionLinenumber: 15676
    functionLinenumberEnd: 15701
    functionName: translateCreateXnodeAgent
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getXnodeTaskOptionByName
    - tFreeSMCreateXnodeAgentReq
    - covertXNodeTaskOptions
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - xCreateCowStr
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateXnodeAgent(STranslateContext* pCxt, SCreateXnodeAgentStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getXnodeTaskOptionByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15707,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15708,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15709,1
    - Dst: xCloneRefCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15714,1
    - Dst: covertXNodeTaskOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15717,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15722,1
    - Dst: tFreeSMUpdateXnodeAgentReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterXnodeAgentStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15727
      start: 15703
    functionDepth: 3
    functionLinenumber: 15703
    functionLinenumberEnd: 15727
    functionName: translateAlterXnodeAgent
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getXnodeTaskOptionByName
    - xCloneRefCowStr
    - covertXNodeTaskOptions
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - tFreeSMUpdateXnodeAgentReq
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterXnodeAgent(STranslateContext* pCxt, SAlterXnodeAgentStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15734,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15734,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15737,1
    - Dst: tFreeSMDropXnodeAgentReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropXnodeAgentStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15740
      start: 15729
    functionDepth: 3
    functionLinenumber: 15729
    functionLinenumberEnd: 15740
    functionName: translateDropXnodeAgent
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - xCreateCowStr
    - tFreeSMDropXnodeAgentReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropXnodeAgent(STranslateContext* pCxt, SDropXnodeAgentStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15746,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateBnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15754
      start: 15742
    functionDepth: 1
    functionLinenumber: 15742
    functionLinenumberEnd: 15754
    functionName: checkCreateBnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCreateBnode(STranslateContext* pCxt, SCreateBnodeStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateBnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15759,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15763,1
    - Dst: tFreeSMCreateBnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateBnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15768
      start: 15756
    functionDepth: 3
    functionLinenumber: 15756
    functionLinenumberEnd: 15768
    functionName: translateCreateBnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkCreateBnode
    - tFreeSMCreateBnodeReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateBnode(STranslateContext* pCxt, SCreateBnodeStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15774,1
    - Dst: tFreeSMDropBnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropBnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15777
      start: 15770
    functionDepth: 3
    functionLinenumber: 15770
    functionLinenumberEnd: 15777
    functionName: translateDropBnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMDropBnodeReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropBnode(STranslateContext* pCxt, SDropBnodeStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15781,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15784,1
    - Dst: tFreeSCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateDnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15787
      start: 15779
    functionDepth: 3
    functionLinenumber: 15779
    functionLinenumberEnd: 15787
    functionName: translateCreateDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSCreateDnodeReq
    - tstrncpy
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateDnode(STranslateContext* pCxt, SCreateDnodeStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15792,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15797,1
    - Dst: tFreeSDropDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropDnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15800
      start: 15789
    functionDepth: 3
    functionLinenumber: 15789
    functionLinenumberEnd: 15800
    functionName: translateDropDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tFreeSDropDnodeReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropDnode(STranslateContext* pCxt, SDropDnodeStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15808,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15809,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15816,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15816,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15817,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15819,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15820,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15824,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15825,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15825,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15826,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15826,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15827,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15829,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15832,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterDnodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15834
      start: 15805
    functionDepth: 3
    functionLinenumber: 15805
    functionLinenumberEnd: 15834
    functionName: translateAlterDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMCfgDnodeReq
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - tstrncpy
    - taosStrncasecmp
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterDnode(STranslateContext* pCxt, SAlterDnodeStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15840,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15857,1
    - Dst: tFreeSRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRestoreComponentNodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15860
      start: 15836
    functionDepth: 3
    functionLinenumber: 15836
    functionLinenumberEnd: 15860
    functionName: translateRestoreDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - tFreeSRestoreDnodeReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRestoreDnode(STranslateContext* pCxt, SRestoreComponentNodeStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15864,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15865,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15867,1
    - Dst: tFreeSMCfgClusterReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterClusterStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15870
      start: 15862
    functionDepth: 3
    functionLinenumber: 15862
    functionLinenumberEnd: 15870
    functionName: translateAlterCluster
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMCfgClusterReq
    - tstrncpy
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterCluster(STranslateContext* pCxt, SAlterClusterStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15875,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15878,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15885,1
    - Dst: tFreeSMAlterEncryptKeyReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterEncryptKeyStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15888
      start: 15872
    functionDepth: 3
    functionLinenumber: 15872
    functionLinenumberEnd: 15888
    functionName: translateAlterEncryptKey
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMAlterEncryptKeyReq
    - tstrncpy
    - taosStrdup
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterEncryptKey(STranslateContext* pCxt, SAlterEncryptKeyStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15893,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15896,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15903,1
    - Dst: tFreeSMAlterKeyExpirationReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterKeyExpirationStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15906
      start: 15890
    functionDepth: 3
    functionLinenumber: 15890
    functionLinenumberEnd: 15906
    functionName: translateAlterKeyExpiration
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - tFreeSMAlterKeyExpirationReq
    - taosStrdup
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterKeyExpiration(STranslateContext* pCxt, SAlterKeyExpirationStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pSql
    - pLen
    argTypes:
    - STranslateContext*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15915
      start: 15908
    functionDepth: 1
    functionLinenumber: 15908
    functionLinenumberEnd: 15915
    functionName: getSmaIndexSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSmaIndexSql(STranslateContext* pCxt, char** pSql, int32_t*
      pLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    - SMCreateFullTextReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15920
      start: 15917
    functionDepth: 0
    functionLinenumber: 15917
    functionLinenumberEnd: 15920
    functionName: buildCreateFullTextReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateFullTextReq(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt, SMCreateFullTextReq* pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15924,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15925,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15927,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15928,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15929,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15932,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15933,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15933,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15936,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15939,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15942,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    - SCreateTagIndexReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15949
      start: 15922
    functionDepth: 1
    functionLinenumber: 15922
    functionLinenumberEnd: 15949
    functionName: buildCreateTagIndexReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - LIST_LENGTH
    - toName
    - FOREACH
    - memset
    - tNameSetDbName
    - strlen
    - tNameExtractFullName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateTagIndexReq(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt, SCreateTagIndexReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateFullTextReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15953,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15955,1
    - Dst: tFreeSMCreateFullTextReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15959
      start: 15951
    functionDepth: 3
    functionLinenumber: 15951
    functionLinenumberEnd: 15959
    functionName: translateCreateFullTextIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSMCreateFullTextReq
    - buildCreateFullTextReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateFullTextIndex(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15965,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15966,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15968,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15972,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15973,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15974,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15978,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15979,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15981,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15982,1
    - Dst: buildCreateTagIndexReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15987,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15989,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15992,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15994
      start: 15961
    functionDepth: 13
    functionLinenumber: 15961
    functionLinenumberEnd: 15994
    functionName: translateCreateNormalIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTagSchema
    - generateSyntaxErrMsg
    - getTargetMeta
    - LIST_LENGTH
    - toName
    - buildCreateTagIndexReq
    - buildCmdMsg
    - FOREACH
    - taosMemoryFree
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateNormalIndex(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: translateCreateFullTextIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15998,1
    - Dst: translateCreateNormalIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16000,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16004
      start: 15996
    functionDepth: 14
    functionLinenumber: 15996
    functionLinenumberEnd: 16004
    functionName: translateCreateIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateCreateFullTextIndex
    - generateSyntaxErrMsgExt
    - translateCreateNormalIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateIndex(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16009,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16010,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16014
      start: 16006
    functionDepth: 3
    functionLinenumber: 16006
    functionLinenumberEnd: 16014
    functionName: translateDropIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tNameExtractFullName
    - toName
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropIndex(STranslateContext* pCxt, SDropIndexStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16030
      start: 16016
    functionDepth: 0
    functionLinenumber: 16016
    functionLinenumberEnd: 16030
    functionName: getCreateComponentNodeMsgType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: int16_t getCreateComponentNodeMsgType(ENodeType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16034,1
    - Dst: getCreateComponentNodeMsgType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16034,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16034,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateComponentNodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16038
      start: 16032
    functionDepth: 3
    functionLinenumber: 16032
    functionLinenumberEnd: 16038
    functionName: translateCreateComponentNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - tFreeSMCreateQnodeReq
    - getCreateComponentNodeMsgType
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateComponentNode(STranslateContext* pCxt, SCreateComponentNodeStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16054
      start: 16040
    functionDepth: 0
    functionLinenumber: 16040
    functionLinenumberEnd: 16054
    functionName: getDropComponentNodeMsgType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: int16_t getDropComponentNodeMsgType(ENodeType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16058,1
    - Dst: getDropComponentNodeMsgType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16058,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16058,1
    - Dst: tFreeSDDropQnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropComponentNodeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16062
      start: 16056
    functionDepth: 3
    functionLinenumber: 16056
    functionLinenumberEnd: 16062
    functionName: translateDropComponentNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - tFreeSDDropQnodeReq
    - getDropComponentNodeMsgType
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropComponentNode(STranslateContext* pCxt, SDropComponentNodeStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16066,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16069
      start: 16064
    functionDepth: 1
    functionLinenumber: 16064
    functionLinenumberEnd: 16069
    functionName: checkTopicQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkTopicQuery(STranslateContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16072,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16077,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16086,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16087,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16089,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16091,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16096,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16096,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16097,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16101,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16102,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16105,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16108,1
    - Dst: checkTopicQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16111,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    - SCMCreateTopicReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16119
      start: 16071
    functionDepth: 4
    functionLinenumber: 16071
    functionLinenumberEnd: 16119
    functionName: buildCreateTopicReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toName
    - snprintf
    - tNameSetDbName
    - nodesNodeToString
    - checkTopicQuery
    - strlen
    - tNameExtractFullName
    - tNameGetFullDbName
    - translateQuery
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateTopicReq(STranslateContext* pCxt, SCreateTopicStmt*
      pStmt, SCMCreateTopicReq* pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16124,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16128,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ppList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16135
      start: 16121
    functionDepth: 6
    functionLinenumber: 16121
    functionLinenumberEnd: 16135
    functionName: addTagList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesDestroyList
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addTagList(SNodeList** ppList, SNode* pNode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16139,1
    - Dst: getColumnTypeFromMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16141,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16147,1
    - Dst: addTagList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16149,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16151,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16158,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16160,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16162,1
    - Dst: addTagList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16164,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16172
      start: 16137
    functionDepth: 7
    functionLinenumber: 16137
    functionLinenumberEnd: 16172
    functionName: checkColumnTagsInCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - addTagList
    - strcasecmp
    - getColumnTypeFromMeta
    - nodeType
    - nodesDestroyNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes checkColumnTagsInCond(SNode* pNode, void* pContext)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16177,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16179,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16180,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16182,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16183,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16189,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16193,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16194,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16195,1
    - Dst: addTagList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16196,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pMeta
    - ppProjection
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    - STableMeta*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16205
      start: 16174
    functionDepth: 7
    functionLinenumber: 16174
    functionLinenumberEnd: 16205
    functionName: checkCollectTopicTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - addTagList
    - nodesDestroyList
    - nodesMakeNode
    - tstrncpy
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - nodesWalkExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkCollectTopicTags(STranslateContext* pCxt, SCreateTopicStmt*
      pStmt, STableMeta* pMeta,\n                                     SNodeList**
      ppProjection)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16215,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16216,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16218,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16222,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16223,1
    - Dst: checkCollectTopicTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16228,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16230,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16232,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16233,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16234,1
    - Dst: createSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16235,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16241,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16245,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16248,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16249,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - ppSelect
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16252
      start: 16207
    functionDepth: 13
    functionLinenumber: 16207
    functionLinenumberEnd: 16252
    functionName: buildQueryForTableTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtImpl
    - getTargetMeta
    - nodesDestroyList
    - checkCollectTopicTags
    - toName
    - nodesMakeNode
    - tstrncpy
    - taosMemoryFree
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - nodesCloneNode
    - translateQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildQueryForTableTopic(STranslateContext* pCxt, SCreateTopicStmt*
      pStmt, SNode** ppSelect)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: buildQueryForTableTopic
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16260,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16261,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16264,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16271,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16273,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16274,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16279,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16280
      start: 16254
    functionDepth: 14
    functionLinenumber: 16254
    functionLinenumberEnd: 16280
    functionName: checkCreateTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - isSelectStmt
    - buildQueryForTableTopic
    - nodeType
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCreateTopic(STranslateContext* pCxt, SCreateTopicStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateTopic
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16284,1
    - Dst: buildCreateTopicReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16286,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16289,1
    - Dst: tFreeSCMCreateTopicReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16293
      start: 16282
    functionDepth: 15
    functionLinenumber: 16282
    functionLinenumberEnd: 16293
    functionName: translateCreateTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSCMCreateTopicReq
    - buildCreateTopicReq
    - checkCreateTopic
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateTopic(STranslateContext* pCxt, SCreateTopicStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16298,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16302,1
    - Dst: tFreeSMDropTopicReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropTopicStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16305
      start: 16295
    functionDepth: 3
    functionLinenumber: 16295
    functionLinenumberEnd: 16305
    functionName: translateDropTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - snprintf
    - tFreeSMDropTopicReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropTopic(STranslateContext* pCxt, SDropTopicStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16312,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16312,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16314,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16317,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropCGroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16320
      start: 16307
    functionDepth: 3
    functionLinenumber: 16307
    functionLinenumberEnd: 16320
    functionName: translateDropCGroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    - tNameSetDbName
    - tstrncpy
    - strlen
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropCGroup(STranslateContext* pCxt, SDropCGroupStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16327,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterLocalStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16333
      start: 16322
    functionDepth: 1
    functionLinenumber: 16322
    functionLinenumberEnd: 16333
    functionName: translateAlterLocal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - strchr
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterLocal(STranslateContext* pCxt, SAlterLocalStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SExplainStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16340
      start: 16335
    functionDepth: 1
    functionLinenumber: 16335
    functionLinenumberEnd: 16340
    functionName: translateExplain
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateExplain(STranslateContext* pCxt, SExplainStmt* pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: refreshGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16343,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16356,1
    - Dst: getViewMetaFromMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16358,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16364,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16368,1
    - Dst: buildTableMetaFromViewMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16378,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16379,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16382,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDescribeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16388
      start: 16342
    functionDepth: 12
    functionLinenumber: 16342
    functionLinenumberEnd: 16388
    functionName: translateDescribe
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - buildTableMetaFromViewMeta
    - getViewMetaFromMetaCache
    - parserDebug
    - toName
    - refreshGetTableMeta
    - taosMemoryFree
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDescribe(STranslateContext* pCxt, SDescribeStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16393,1
    - Dst: doTranslateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16397,1
    - Dst: doTranslateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - pCxt
    - dbName
    - pStart
    - pEnd
    - timeRange
    argTypes:
    - STranslateContext*
    - char*
    - SNode*
    - SNode*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16409
      start: 16390
    functionDepth: 10
    functionLinenumber: 16390
    functionLinenumberEnd: 16409
    functionName: translateTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getDBCfg
    - doTranslateValue
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateTimeRange(STranslateContext* pCxt, const char* dbName,
      SNode* pStart, SNode* pEnd,\n                                  STimeWindow*
      timeRange)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16418,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16418,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16421,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16422,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16424,1
    - Dst: tFreeSCompactDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCompactDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16428
      start: 16411
    functionDepth: 11
    functionLinenumber: 16411
    functionLinenumberEnd: 16428
    functionName: translateCompactDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateTimeRange
    - buildCmdMsg
    - tNameSetDbName
    - strlen
    - tNameGetFullDbName
    - tFreeSCompactDbReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCompactDb(STranslateContext* pCxt, SCompactDatabaseStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16434,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16437,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16441,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - dbName
    - req
    argTypes:
    - STranslateContext*
    - char*
    - STrimDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16448
      start: 16431
    functionDepth: 10
    functionLinenumber: 16431
    functionLinenumberEnd: 16448
    functionName: translateRollupAdjustTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getDBCfg
    - convertTimePrecision
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRollupAdjustTimeRange(STranslateContext* pCxt, const
      char* dbName, STrimDbReq* req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16456,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16456,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16458,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16459,1
    - Dst: translateRollupAdjustTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16462,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16466,1
    - Dst: tFreeSTrimDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRollupDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16473
      start: 16451
    functionDepth: 11
    functionLinenumber: 16451
    functionLinenumberEnd: 16473
    functionName: translateRollupDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSTrimDbReq
    - translateTimeRange
    - buildCmdMsg
    - tNameSetDbName
    - strlen
    - tNameGetFullDbName
    - translateRollupAdjustTimeRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRollupDb(STranslateContext* pCxt, SRollupDatabaseStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16480,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16480,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16483,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16484,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16486,1
    - Dst: tFreeSScanDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SScanDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16491
      start: 16475
    functionDepth: 11
    functionLinenumber: 16475
    functionLinenumberEnd: 16491
    functionName: translateScanDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSScanDbReq
    - translateTimeRange
    - buildCmdMsg
    - tNameSetDbName
    - strlen
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateScanDb(STranslateContext* pCxt, SScanDatabaseStmt*
      pStmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16496,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16498,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16503,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16503,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16512,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16517,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16519,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16524,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16529,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16536,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16538,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 3
    argNames:
    - pCxt
    - vgroupList
    - ppVgroups
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16542
      start: 16493
    functionDepth: 5
    functionLinenumber: 16493
    functionLinenumberEnd: 16542
    functionName: translateVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - getBigintFromValueNode
    - translateValue
    - LIST_LENGTH
    - taosHashGet
    - taosHashInit
    - taosHashCleanup
    - taosArrayInit
    - taosGetDefaultHashFunction
    - taosArrayDestroy
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateVgroupList(STranslateContext* pCxt, SNodeList* vgroupList,
      SArray** ppVgroups)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16512,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16517,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16519,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16524,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16533
      start: 16510
    functionDepth: 5
    functionLinenumber: 16510
    functionLinenumberEnd: 16533
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 231
    functionsReached:
    - taosArrayPush
    - getBigintFromValueNode
    - translateValue
    - taosHashGet
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, vgroupList)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16552,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16553,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16555,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16559,1
    - Dst: translateVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16563,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16567,1
    - Dst: tFreeSCompactDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCompactVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16572
      start: 16544
    functionDepth: 11
    functionLinenumber: 16544
    functionLinenumberEnd: 16572
    functionName: translateCompactVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateTimeRange
    - buildCmdMsg
    - translateVgroupList
    - tNameSetDbName
    - strlen
    - tNameGetFullDbName
    - tFreeSCompactDbReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCompactVgroups(STranslateContext* pCxt, SCompactVgroupsStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16580,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16581,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16583,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16587,1
    - Dst: translateRollupAdjustTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16591,1
    - Dst: translateVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16595,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16599,1
    - Dst: tFreeSTrimDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRollupVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16607
      start: 16574
    functionDepth: 11
    functionLinenumber: 16574
    functionLinenumberEnd: 16607
    functionName: translateRollupVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSTrimDbReq
    - translateTimeRange
    - buildCmdMsg
    - translateVgroupList
    - tNameSetDbName
    - strlen
    - tNameGetFullDbName
    - translateRollupAdjustTimeRange
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRollupVgroups(STranslateContext* pCxt, SRollupVgroupsStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16615,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16616,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16618,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16622,1
    - Dst: translateVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16626,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16630,1
    - Dst: tFreeSScanDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SScanVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16635
      start: 16609
    functionDepth: 11
    functionLinenumber: 16609
    functionLinenumberEnd: 16635
    functionName: translateScanVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSScanDbReq
    - translateTimeRange
    - buildCmdMsg
    - translateVgroupList
    - tNameSetDbName
    - strlen
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateScanVgroups(STranslateContext* pCxt, SScanVgroupsStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16641
      start: 16637
    functionDepth: 3
    functionLinenumber: 16637
    functionLinenumberEnd: 16641
    functionName: translateKillConnection
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateKillConnection(STranslateContext* pCxt, SKillStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16647
      start: 16643
    functionDepth: 3
    functionLinenumber: 16643
    functionLinenumberEnd: 16647
    functionName: translateKillCompact
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateKillCompact(STranslateContext* pCxt, SKillStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16653
      start: 16649
    functionDepth: 3
    functionLinenumber: 16649
    functionLinenumberEnd: 16653
    functionName: translateKillRetention
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateKillRetention(STranslateContext* pCxt, SKillStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16658
      start: 16654
    functionDepth: 3
    functionLinenumber: 16654
    functionLinenumberEnd: 16658
    functionName: translateKillScan
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateKillScan(STranslateContext* pCxt, SKillStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16662,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillQueryStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16664
      start: 16660
    functionDepth: 3
    functionLinenumber: 16660
    functionLinenumberEnd: 16664
    functionName: translateKillQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateKillQuery(STranslateContext* pCxt, SKillQueryStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16670
      start: 16666
    functionDepth: 3
    functionLinenumber: 16666
    functionLinenumberEnd: 16670
    functionName: translateKillTransaction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateKillTransaction(STranslateContext* pCxt, SKillStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16676
      start: 16672
    functionDepth: 3
    functionLinenumber: 16672
    functionLinenumberEnd: 16676
    functionName: translateKillSsMigrate
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateKillSsMigrate(STranslateContext* pCxt, SKillStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16684
      start: 16678
    functionDepth: 1
    functionLinenumber: 16678
    functionLinenumberEnd: 16684
    functionName: isSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool isSlidingWindow(SNode* pWindow)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16694,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16694,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16697,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16698,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16698,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16702,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16702,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16703,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16703,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16707,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16709,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16710,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16710,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16715,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16716,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16716,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16721,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16721,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16725,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16726,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16726,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16731,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16731,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16736,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16736,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16740,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16740,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16745,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16746,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16751,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16751,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16755,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16755,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16761,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16761,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16766,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16767,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16768,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16768,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16772,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16775,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16775,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16782,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16784,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16784,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16789,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16790,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16792,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16792,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16798,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16799,1
    - Dst: isSlidingWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16799,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16801,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16801,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16808,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16808,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16809,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16810,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16810,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16816,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 79
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16819
      start: 16687
    functionDepth: 10
    functionLinenumber: 16687
    functionLinenumberEnd: 16819
    functionName: checkCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - parserError
    - isSetOperator
    - PAR_RET
    - isSelectStmt
    - getDBCfg
    - LIST_LENGTH
    - nodeType
    - isSlidingWindow
    - strchr
    - generateSyntaxErrMsgExt
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCreateStream(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16829,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16834,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16835,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16836,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16837,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16837,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16839,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - pNode
    - pPreName
    - name
    - ppKey
    - callocLen
    - pLen
    - extraBufLen
    - slotKeyType
    argTypes:
    - SNode*
    - char*
    - char*
    - char**
    - int32_t
    - int32_t*
    - uint16_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16844
      start: 16826
    functionDepth: 1
    functionLinenumber: 16826
    functionLinenumberEnd: 16844
    functionName: streamGetSlotKeyHelper
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - strlen
    - taosMemoryCalloc
    - TAOS_STRNCAT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamGetSlotKeyHelper(SNode* pNode, const char* pPreName,
      const char* name, char** ppKey,\n                                      int32_t
      callocLen, int32_t* pLen, uint16_t extraBufLen, int8_t slotKeyType)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16849,1
    - Dst: streamGetSlotKeyHelper
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16853,1
    - Dst: streamGetSlotKeyHelper
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16857,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16859,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16862,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16864,1
    - Dst: streamGetSlotKeyHelper
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16865,1
    - Dst: streamGetSlotKeyHelper
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pNode
    - ppKey
    - pLen
    - extraBufLen
    argTypes:
    - SNode*
    - char**
    - int32_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16874
      start: 16846
    functionDepth: 2
    functionLinenumber: 16846
    functionLinenumberEnd: 16874
    functionName: streamGetSlotKey
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strlen
    - streamGetSlotKeyHelper
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t streamGetSlotKey(SNode* pNode, char** ppKey, int32_t* pLen,
      uint16_t extraBufLen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16883,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16883,1
    - Dst: streamGetSlotKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16887,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16892,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16895,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16897,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16903,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16907,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16912,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16914,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16920,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16924,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16932
      start: 16882
    functionDepth: 4
    functionLinenumber: 16882
    functionLinenumberEnd: 16932
    functionName: doStreamSetSlotId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - streamGetSlotKey
    - taosHashGet
    - nodeType
    - taosMemoryFree
    - nodesCloneNode
    - nodesListAppend
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doStreamSetSlotId(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16936,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pNode
    - slotHash
    - pCollect
    argTypes:
    - SNode*
    - SHashObj*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16938
      start: 16934
    functionDepth: 3
    functionLinenumber: 16934
    functionLinenumberEnd: 16938
    functionName: createStreamSetNodeSlotId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_RET
    - nodesWalkExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamSetNodeSlotId(SNode* pNode, SHashObj* slotHash,
      SNodeList* pCollect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16942,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pNodeList
    - slotHash
    - pCollect
    argTypes:
    - SNodeList*
    - SHashObj*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16944
      start: 16940
    functionDepth: 4
    functionLinenumber: 16940
    functionLinenumberEnd: 16944
    functionName: createStreamSetListSlotId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    - PAR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamSetListSlotId(SNodeList* pNodeList, SHashObj* slotHash,
      SNodeList* pCollect)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16959,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16960,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16964,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16974,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16977,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16982,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16982,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16983,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16983,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16984,1
    - Dst: createFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16984,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16985,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16988,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16990,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17001
      start: 16954
    functionDepth: 16
    functionLinenumber: 16954
    functionLinenumberEnd: 17001
    functionName: rewriteTagSubtableExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - createFunction
    - translateFunction
    - nodeType
    - FOREACH
    - nodesEqualNode
    - nodesMakeValueNodeFromInt32
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteTagSubtableExpr(SNode** pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17009,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17009,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17013,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17016,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17019,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17019,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pPartitionByList
    - pNode
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17026
      start: 17003
    functionDepth: 2
    functionLinenumber: 17003
    functionLinenumberEnd: 17026
    functionName: translateCreateStreamTagSubtableExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - translateExpr
    - nodesRewriteExpr
    - generateSyntaxErrMsgExt
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateCreateStreamTagSubtableExpr(STranslateContext* pCxt,
      SNodeList* pPartitionByList,\n                                                    SNode**
      pNode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17040,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17040,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17052,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17052,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17053,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17055,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17057,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17057,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17058,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17058,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17060,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17060,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17061,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17063,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17065,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17067,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17069,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17070,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17071,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17072,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17073,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17074,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17075,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17077,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17078,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17079,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17080,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17080,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17081,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17081,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17083,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17083,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17084,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17084,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17086,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17086,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17087,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17089,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17091,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17091,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17092,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17096,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17097,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17097,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17099,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17099,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17104,1
    - Dst: translateCreateStreamTagSubtableExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17104,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17105,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17106,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17107,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17110,1
    - Dst: createStreamSetNodeSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17110,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17111,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17111,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17112,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17117,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 63
    argCount: 9
    argNames:
    - pCxt
    - streamDb
    - streamName
    - outDbName
    - outTableName
    - pSubtable
    - pTriggerSlotHash
    - pPartitionByList
    - subTblNameExpr
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - char*
    - char*
    - SNode*
    - SHashObj*
    - SNodeList*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17121
      start: 17028
    functionDepth: 6
    functionLinenumber: 17028
    functionLinenumberEnd: 17121
    functionName: createStreamReqBuildOutSubtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateCreateStreamTagSubtableExpr
    - parserError
    - nodesMakeValueNodeFromString
    - nodesListMakeStrictAppend
    - createStreamSetNodeSlotId
    - fmGetFuncId
    - nodesIsExprNode
    - nodesMakeNode
    - snprintf
    - taosMemoryFree
    - nodesNodeToString
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - nodesCloneNode
    - taosMemoryCalloc
    - PAR_ERR_JRET
    - TAOS_STRNCAT
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildOutSubtable(STranslateContext* pCxt, const
      char* streamDb, const char* streamName,\n                                               const
      char* outDbName, const char* outTableName, SNode* pSubtable,\n                                               SHashObj*
      pTriggerSlotHash, SNodeList* pPartitionByList,\n                                               char**
      subTblNameExpr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17132,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17136,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17136,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17141,1
    - Dst: translateCreateStreamTagSubtableExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17141,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17145,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17150,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17150,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17154,1
    - Dst: createStreamSetNodeSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17154,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17155,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17155,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17156,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17156,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17159,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17163,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17163,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17167,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17169,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - pCxt
    - pList
    - pPartitionByList
    - pTriggerSlotHash
    - tagValueExpr
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - SHashObj*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17172
      start: 17123
    functionDepth: 6
    functionLinenumber: 17123
    functionLinenumberEnd: 17172
    functionName: createStreamReqBuildStreamTagExprStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - parserError
    - createStreamSetNodeSlotId
    - nodesListMakeAppend
    - nodesMakeList
    - nodesDestroyList
    - LIST_LENGTH
    - nodesListToString
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - nodesCloneNode
    - PAR_ERR_JRET
    - translateCreateStreamTagSubtableExpr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildStreamTagExprStr(STranslateContext* pCxt,
      SNodeList* pList,\n                                                    SNodeList*
      pPartitionByList, SHashObj* pTriggerSlotHash,\n                                                    char**
      tagValueExpr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17141,1
    - Dst: translateCreateStreamTagSubtableExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17141,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17145,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17150,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17150,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17154,1
    - Dst: createStreamSetNodeSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17154,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17155,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17155,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17156,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17156,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17161
      start: 17138
    functionDepth: 5
    functionLinenumber: 17138
    functionLinenumberEnd: 17161
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 232
    functionsReached:
    - IS_DECIMAL_TYPE
    - createStreamSetNodeSlotId
    - nodesListMakeAppend
    - generateSyntaxErrMsgExt
    - nodesCloneNode
    - PAR_ERR_JRET
    - translateCreateStreamTagSubtableExpr
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17175,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pTime
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17183
      start: 17174
    functionDepth: 1
    functionLinenumber: 17174
    functionLinenumberEnd: 17183
    functionName: checkExpiredTime
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkExpiredTime(STranslateContext* pCxt, SValueNode* pTime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17188,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17191,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pTime
    argTypes:
    - STranslateContext*
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17199
      start: 17187
    functionDepth: 1
    functionLinenumber: 17187
    functionLinenumberEnd: 17199
    functionName: checkDelayTime
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDelayTime(STranslateContext* pCxt, SValueNode* pTime)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17206,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17209,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17217,1
    - Dst: checkExpiredTime
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17217,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17218,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17218,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17227,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17227,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17229,1
    - Dst: checkDelayTime
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17229,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17234,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17234,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17240,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17240,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17247,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17247,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17258,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17258,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17264,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17264,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17272,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17272,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17289,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pOptions
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SStreamTriggerOptions*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17291
      start: 17202
    functionDepth: 11
    functionLinenumber: 17202
    functionLinenumberEnd: 17291
    functionName: createStreamReqBuildTriggerOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - checkDelayTime
    - parserDebug
    - translateExpr
    - translateTimeRange
    - generateSyntaxErrMsgExt
    - checkExpiredTime
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerOptions(STranslateContext* pCxt,
      SCreateStreamStmt* pStmt,\n                                                  SStreamTriggerOptions*
      pOptions, SCMCreateStreamReq* pReq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17299,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17302,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17306,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17307,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17308,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17311,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17313,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17316,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17317,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17318,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17319,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17320,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17327,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17328,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17330,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17330,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pNotifyOptions
    - pNotifyCond
    - pReq
    argTypes:
    - STranslateContext*
    - SStreamNotifyOptions*
    - SNode**
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17338
      start: 17294
    functionDepth: 3
    functionLinenumber: 17294
    functionLinenumberEnd: 17338
    functionName: createStreamReqBuildNotifyOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosArrayPush
    - taosMemoryFreeClear
    - parserDebug
    - LIST_LENGTH
    - BIT_FLAG_TEST_MASK
    - FOREACH
    - taosArrayInit
    - taosStrndup
    - generateSyntaxErrMsgExt
    - nodesCloneNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildNotifyOptions(STranslateContext* pCxt,
      SStreamNotifyOptions* pNotifyOptions,\n                                                 SNode**
      pNotifyCond, SCMCreateStreamReq* pReq)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17346,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17348,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17355,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17356,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17366,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17371,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17374,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17375,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17378,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17379,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17385,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17386,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - pCxt
    - pTags
    - pMeta
    - ptagCids
    argTypes:
    - STranslateContext*
    - SNodeList*
    - STableMeta*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17391
      start: 17340
    functionDepth: 1
    functionLinenumber: 17340
    functionLinenumberEnd: 17391
    functionName: createStreamCheckOutTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosArrayPush
    - PAR_ERR_RET
    - LIST_LENGTH
    - taosArrayInit
    - generateSyntaxErrMsgExt
    - taosArrayDestroy
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamCheckOutTags(STranslateContext* pCxt, SNodeList*
      pTags, STableMeta* pMeta,\n                                        SArray**
      ptagCids)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17366,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17371,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17374,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17375,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17378,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17382
      start: 17360
    functionDepth: 1
    functionLinenumber: 17360
    functionLinenumberEnd: 17382
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 233
    functionsReached:
    - PAR_ERR_RET
    - generateSyntaxErrMsgExt
    - taosArrayPush
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17399,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17401,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17408,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17409,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17419,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17425,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17426,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17432,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17437,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17437,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17438,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17441,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17442,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17448,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17449,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - pCxt
    - pCols
    - pMeta
    - pcolCids
    argTypes:
    - STranslateContext*
    - SNodeList*
    - STableMeta*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17454
      start: 17393
    functionDepth: 1
    functionLinenumber: 17393
    functionLinenumberEnd: 17454
    functionName: createStreamCheckOutCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - strlen
    - taosArrayPush
    - parserError
    - extractTypeFromTypeMod
    - PAR_ERR_RET
    - LIST_LENGTH
    - strncmp
    - taosArrayInit
    - generateSyntaxErrMsgExt
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamCheckOutCols(STranslateContext* pCxt, SNodeList*
      pCols, STableMeta* pMeta,\n                                        SArray**
      pcolCids)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17419,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17425,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17426,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17432,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17437,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17437,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17438,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17441,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17442,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17445
      start: 17412
    functionDepth: 1
    functionLinenumber: 17412
    functionLinenumberEnd: 17445
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 233
    functionsReached:
    - IS_DECIMAL_TYPE
    - strlen
    - taosArrayPush
    - extractTypeFromTypeMod
    - PAR_ERR_RET
    - strncmp
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCols)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17462,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17464,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17464,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17465,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17469,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17470,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17472,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17474,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17476,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17485,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17485,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17495,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17495,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17499,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17499,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17508,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17508,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17515,1
    - Dst: createStreamCheckOutTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17515,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17516,1
    - Dst: createStreamCheckOutCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17516,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17519,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17519,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17527,1
    - Dst: createStreamCheckOutCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17527,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17530,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17533,1
    - Dst: checkTableSchemaImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17533,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17535,1
    - Dst: streamTagDefNodeToField
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17535,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17537,1
    - Dst: createStreamReqBuildStreamTagExprStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17537,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17541,1
    - Dst: getTableVgId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17541,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17544,1
    - Dst: columnDefNodeToField
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17544,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17545,1
    - Dst: createStreamReqBuildOutSubtable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17545,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17553,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17555,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 77
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTriggerSlotHash
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SHashObj*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17557
      start: 17457
    functionDepth: 13
    functionLinenumber: 17457
    functionLinenumberEnd: 17557
    functionName: createStreamReqBuildOutTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosMemoryFreeClear
    - parserDebug
    - snprintf
    - getTableVgId
    - PAR_ERR_RET
    - createStreamCheckOutTags
    - strlen
    - checkTableSchemaImpl
    - PAR_ERR_JRET
    - getTableMeta
    - createStreamReqBuildOutSubtable
    - streamTagDefNodeToField
    - taosStrdup
    - taosMemoryMalloc
    - createStreamCheckOutCols
    - columnDefNodeToField
    - generateSyntaxErrMsgExt
    - createStreamReqBuildStreamTagExprStr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildOutTable(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt,\n                                            SHashObj* pTriggerSlotHash,
      SCMCreateStreamReq* pReq)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isVirtualSTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17565,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17566,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17575,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17575,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17579,1
    - Dst: getTableVgId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17579,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17581,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17582,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17584,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17587,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pTriggerTable
    - pMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SRealTableNode*
    - STableMeta*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17599
      start: 17559
    functionDepth: 13
    functionLinenumber: 17559
    functionLinenumberEnd: 17599
    functionName: createStreamReqBuildTriggerTableInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - isVirtualSTable
    - taosMemoryMalloc
    - PAR_ERR_RET
    - getTableVgId
    - snprintf
    - generateSyntaxErrMsgExt
    - BIT_FLAG_SET_MASK
    - PAR_ERR_JRET
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerTableInfo(STranslateContext* pCxt,
      SRealTableNode* pTriggerTable,\n                                                    STableMeta*
      pMeta, SCMCreateStreamReq* pReq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17601
      start: 17601
    functionDepth: 0
    functionLinenumber: 17601
    functionLinenumberEnd: 17601
    functionName: createStreamReqWindowGetBigInt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t createStreamReqWindowGetBigInt(SNode* pVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17603
      start: 17603
    functionDepth: 0
    functionLinenumber: 17603
    functionLinenumberEnd: 17603
    functionName: createStreamReqWindowGetUnit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t createStreamReqWindowGetUnit(SNode* pVal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - pVal
    - pType
    - pCount
    - pDuration
    argTypes:
    - SNode*
    - int32_t*
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17620
      start: 17605
    functionDepth: 1
    functionLinenumber: 17605
    functionLinenumberEnd: 17620
    functionName: createStreamReqGetTrueForOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void createStreamReqGetTrueForOptions(SNode* pVal, int32_t* pType,
      int32_t* pCount, int64_t* pDuration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17625,1
    - Dst: checkSessionWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17625,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SSessionWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17629
      start: 17622
    functionDepth: 3
    functionLinenumber: 17622
    functionLinenumberEnd: 17629
    functionName: createStreamReqBuildTriggerSessionWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - checkSessionWindow
    - createStreamReqWindowGetBigInt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerSessionWindow(STranslateContext*
      pCxt, SSessionWindowNode* pTriggerWindow,\n                                                        SCMCreateStreamReq*
      pReq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17635,1
    - Dst: checkStreamIntervalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17635,1
    - Dst: checkTimeGreater
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17638,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17640,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17646,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17647,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17648,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17649,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17650,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17651,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17652,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SIntervalWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17655
      start: 17631
    functionDepth: 4
    functionLinenumber: 17631
    functionLinenumberEnd: 17655
    functionName: createStreamReqBuildTriggerIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqWindowGetUnit
    - checkTimeGreater
    - PAR_ERR_RET
    - checkStreamIntervalWindow
    - createStreamReqWindowGetBigInt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerIntervalWindow(STranslateContext*
      pCxt, SIntervalWindowNode* pTriggerWindow,\n                                                         SCMCreateStreamReq*
      pReq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17660,1
    - Dst: checkEventWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17660,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17661,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17661,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17663,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17663,1
    - Dst: createStreamReqGetTrueForOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SEventWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17668
      start: 17657
    functionDepth: 8
    functionLinenumber: 17657
    functionLinenumberEnd: 17668
    functionName: createStreamReqBuildTriggerEventWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - nodesNodeToString
    - checkEventWindow
    - createStreamReqGetTrueForOptions
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerEventWindow(STranslateContext*
      pCxt, SEventWindowNode* pTriggerWindow,\n                                                      SCMCreateStreamReq*
      pReq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17673,1
    - Dst: checkPeriodWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17673,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17674,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17675,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17676,1
    - Dst: createStreamReqWindowGetUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SPeriodWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17680
      start: 17670
    functionDepth: 2
    functionLinenumber: 17670
    functionLinenumberEnd: 17680
    functionName: createStreamReqBuildTriggerPeriodWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - createStreamReqWindowGetUnit
    - createStreamReqWindowGetBigInt
    - checkPeriodWindow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerPeriodWindow(STranslateContext*
      pCxt, SPeriodWindowNode* pTriggerWindow,\n                                                       SCMCreateStreamReq*
      pReq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17685,1
    - Dst: checkCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SCountWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17690
      start: 17682
    functionDepth: 2
    functionLinenumber: 17682
    functionLinenumberEnd: 17690
    functionName: createStreamReqBuildTriggerCountWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkCountWindow
    - PAR_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerCountWindow(STranslateContext*
      pCxt, SCountWindowNode* pTriggerWindow,\n                                                      SCMCreateStreamReq*
      pReq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17695,1
    - Dst: checkStateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17695,1
    - Dst: createStreamReqWindowGetBigInt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17697,1
    - Dst: createStreamReqGetTrueForOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17698,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17701,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17701,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17703,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SStateWindowNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17705
      start: 17692
    functionDepth: 8
    functionLinenumber: 17692
    functionLinenumberEnd: 17705
    functionName: createStreamReqBuildTriggerStateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqGetTrueForOptions
    - PAR_ERR_RET
    - nodesNodeToString
    - checkStateWindow
    - createStreamReqWindowGetBigInt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerStateWindow(STranslateContext*
      pCxt, SStateWindowNode* pTriggerWindow,\n                                                      SCMCreateStreamReq*
      pReq)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17710,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17712,1
    - Dst: createStreamReqBuildTriggerSessionWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17712,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17715,1
    - Dst: createStreamReqBuildTriggerIntervalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17715,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17718,1
    - Dst: createStreamReqBuildTriggerEventWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17718,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17721,1
    - Dst: createStreamReqBuildTriggerPeriodWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17721,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17724,1
    - Dst: createStreamReqBuildTriggerCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17724,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17727,1
    - Dst: createStreamReqBuildTriggerStateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17727,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17730,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17730,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17731,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17735,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pReq
    argTypes:
    - STranslateContext*
    - SNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17737
      start: 17707
    functionDepth: 9
    functionLinenumber: 17707
    functionLinenumberEnd: 17737
    functionName: createStreamReqBuildTriggerBuildWindowInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqBuildTriggerStateWindow
    - parserError
    - createStreamReqBuildTriggerSessionWindow
    - createStreamReqBuildTriggerIntervalWindow
    - nodeType
    - createStreamReqBuildTriggerPeriodWindow
    - generateSyntaxErrMsgExt
    - createStreamReqBuildTriggerCountWindow
    - createStreamReqBuildTriggerEventWindow
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerBuildWindowInfo(STranslateContext*
      pCxt, SNode* pTriggerWindow,\n                                                          SCMCreateStreamReq*
      pReq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17741,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pScanNode
    - pTsSlotId
    argTypes:
    - SScanPhysiNode*
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17750
      start: 17739
    functionDepth: 1
    functionLinenumber: 17739
    functionLinenumberEnd: 17750
    functionName: findTsSlotId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void findTsSlotId(SScanPhysiNode* pScanNode, int16_t* pTsSlotId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17754,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pScanNode
    - pPkSlotId
    argTypes:
    - SScanPhysiNode*
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17763
      start: 17752
    functionDepth: 1
    functionLinenumber: 17752
    functionLinenumberEnd: 17763
    functionName: findPkSlotId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: void
    signature: void findPkSlotId(SScanPhysiNode* pScanNode, int16_t* pPkSlotId)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17785,1
    - Dst: qCreateQueryPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17785,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17787,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17788,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17793,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17793,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17795,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17798,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17802,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17802,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17804,1
    - Dst: findTsSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17807,1
    - Dst: findPkSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17808,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17811,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17811,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17815,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17817,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17817,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17817,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17820,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17820,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17821,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17821,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17822,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17822,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17825,1
    - Dst: createStreamSetNodeSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17825,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17828,1
    - Dst: createStreamSetListSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17828,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17831,1
    - Dst: createStreamSetNodeSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17831,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17833,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17833,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17834,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17834,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17835,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17835,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17837,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17837,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17841,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17844,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17844,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17848,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17849,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17850,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17851,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17852,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17854,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 6
    argNames:
    - pCxt
    - pTriggerSelect
    - pReq
    - pTriggerSlotHash
    - pTriggerWindow
    - pTriggerPartition
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SCMCreateStreamReq*
    - SHashObj**
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17857
      start: 17766
    functionDepth: 22
    functionLinenumber: 17766
    functionLinenumberEnd: 17857
    functionName: createStreamReqBuildTriggerBuildPlan
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - createStreamSetNodeSlotId
    - createStreamSetListSlotId
    - nodesDestroyList
    - nodesListToString
    - generateSyntaxErrMsgExt
    - qCreateQueryPlan
    - nodesCloneNode
    - findTsSlotId
    - taosHashInit
    - nodesNodeToString
    - taosGetDefaultHashFunction
    - PAR_ERR_JRET
    - nodesMakeList
    - BIT_FLAG_TEST_MASK
    - FOREACH
    - nodesDestroyNode
    - findPkSlotId
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerBuildPlan(STranslateContext* pCxt,
      SSelectStmt* pTriggerSelect,\n                                                    SCMCreateStreamReq*
      pReq, SHashObj** pTriggerSlotHash,\n                                                    SNode*
      pTriggerWindow, SNodeList* pTriggerPartition)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17871,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17873,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17879,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17879,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17880,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17884,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17888,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17895,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17901,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17901,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17902,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17902,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17906,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17907,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTriggerPartition
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SNodeList*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17909
      start: 17860
    functionDepth: 5
    functionLinenumber: 17860
    functionLinenumberEnd: 17909
    functionName: createStreamReqSetDefaultTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesListMakeAppend
    - calcTypeBytes
    - nodesMakeNode
    - nodeType
    - FOREACH
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqSetDefaultTag(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt,\n                                            SNodeList* pTriggerPartition,
      SCMCreateStreamReq* pReq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17879,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17879,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17880,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17884,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17888,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17895,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17901,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17901,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17902,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17902,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17903
      start: 17878
    functionDepth: 5
    functionLinenumber: 17878
    functionLinenumberEnd: 17903
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 237
    functionsReached:
    - nodesListMakeAppend
    - nodesMakeNode
    - nodeType
    - tstrncpy
    - nodesCloneNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTriggerPartition)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17918,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17920,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17927,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17928,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17928,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17932,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17933,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17933,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17945,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17945,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17955,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17957,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17957,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17958,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17961,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17963,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17964,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17966,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17968,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17970,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17973,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17980,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17982,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17983,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17989,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17990,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17990,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17996,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pCalcProjection
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SNodeList*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17998
      start: 17912
    functionDepth: 5
    functionLinenumber: 17912
    functionLinenumberEnd: 17998
    functionName: createStreamReqSetDefaultOutCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - parserError
    - nodesListMakeAppend
    - parserDebug
    - TAOS_STRCAT
    - PAR_ERR_RET
    - LIST_LENGTH
    - nodesMakeNode
    - nodeType
    - tstrncpy
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - PAR_ERR_JRET
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqSetDefaultOutCols(STranslateContext* pCxt,
      SCreateStreamStmt* pStmt,\n                                                SNodeList*
      pCalcProjection, SCMCreateStreamReq* pReq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17945,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17945,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17955,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17957,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17957,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17958,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17961,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17963,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17964,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17966,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17968,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17970,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17973,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17980,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17982,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17983,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17987
      start: 17939
    functionDepth: 5
    functionLinenumber: 17939
    functionLinenumberEnd: 17987
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 237
    functionsReached:
    - nodesListGetNode
    - nodesListMakeAppend
    - TAOS_STRCAT
    - nodeType
    - nodesMakeNode
    - tstrncpy
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - PAR_ERR_JRET
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCalcProjection)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18006,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18025
      start: 18004
    functionDepth: 1
    functionLinenumber: 18004
    functionLinenumberEnd: 18025
    functionName: placeHolderNeedFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes placeHolderNeedFill(SNode* pNode, void* pContext)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18040,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18040,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18042,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18049,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18051,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18051,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18054,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18058,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18058,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18061,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18061,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18062,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18065,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18066,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18073,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18076
      start: 18027
    functionDepth: 5
    functionLinenumber: 18027
    functionLinenumberEnd: 18076
    functionName: createStreamReqBuildForceOutput
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosArrayPush
    - taosArrayDestroyEx
    - LIST_LENGTH
    - nodesWalkExpr
    - nodesMakeNode
    - nodesNodeToString
    - taosArrayInit
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildForceOutput(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt,\n                                               SCMCreateStreamReq* pReq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18049,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18051,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18051,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18054,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18058,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18058,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18061,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18061,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18062,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18065,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18069
      start: 18046
    functionDepth: 5
    functionLinenumber: 18046
    functionLinenumberEnd: 18069
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 237
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - nodesWalkExpr
    - nodesMakeNode
    - nodesNodeToString
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pProjection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18079,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18087,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18088,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18091,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18091,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18092,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18092,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18094,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18099,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pCountWindow
    - pCond
    argTypes:
    - STranslateContext*
    - SCountWindowNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18105
      start: 18078
    functionDepth: 5
    functionLinenumber: 18078
    functionLinenumberEnd: 18105
    functionName: extractCondFromCountWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesListMakeAppend
    - PAR_ERR_RET
    - LIST_LENGTH
    - nodeType
    - nodesMakeNode
    - FOREACH
    - createOperatorNode
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractCondFromCountWindow(STranslateContext* pCxt, SCountWindowNode*
      pCountWindow, SNode** pCond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18109,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18118,1
    - Dst: createIsOperatorNodeByNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18118,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18119,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18119,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18121,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStateWindow
    - pCond
    argTypes:
    - STranslateContext*
    - SStateWindowNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18127
      start: 18107
    functionDepth: 5
    functionLinenumber: 18107
    functionLinenumberEnd: 18127
    functionName: extractCondFromStateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - PAR_ERR_RET
    - nodesMakeNode
    - createIsOperatorNodeByNode
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractCondFromStateWindow(STranslateContext* pCxt, SStateWindowNode*
      pStateWindow, SNode** pCond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18144,1
    - Dst: createSimpleSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18145,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18147,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18147,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18150,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18150,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18154,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18154,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18155,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18155,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18159,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pTriggerTable
    - pTriggerSelect
    - pStmt
    argTypes:
    - STranslateContext*
    - SRealTableNode*
    - SSelectStmt**
    - SCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18162
      start: 18134
    functionDepth: 8
    functionLinenumber: 18134
    functionLinenumberEnd: 18162
    functionName: createStreamReqBuildTriggerSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - createSimpleSelectStmtImpl
    - nodesListMakeStrictAppend
    - nodesCollectColumnsFromNode
    - nodesDestroyNode
    - createTbnameFunction
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerSelect(STranslateContext* pCxt,
      SRealTableNode* pTriggerTable,\n                                                 SSelectStmt**
      pTriggerSelect, SCreateStreamStmt* pStmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18169,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18169,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18170,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18170,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18175,1
    - Dst: translateSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18175,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pTrigger
    - pTriggerSelect
    - pTriggerFilter
    argTypes:
    - STranslateContext*
    - SStreamTriggerNode*
    - SSelectStmt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18183
      start: 18165
    functionDepth: 21
    functionLinenumber: 18165
    functionLinenumberEnd: 18183
    functionName: createStreamReqBuildTriggerTranslateSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - translateSelect
    - nodesCloneNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerTranslateSelect(STranslateContext*
      pCxt, SStreamTriggerNode* pTrigger,\n                                                          SSelectStmt*
      pTriggerSelect, SNode** pTriggerFilter)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18190,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18192,1
    - Dst: extractCondFromCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18192,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18194,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18194,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18204,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pTriggerWindow
    - pTriggerFilter
    argTypes:
    - STranslateContext*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18208
      start: 18185
    functionDepth: 7
    functionLinenumber: 18185
    functionLinenumberEnd: 18208
    functionName: createStreamReqBulidTriggerExtractCondFromWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - extractCondFromCountWindow
    - nodeType
    - nodesMergeNode
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBulidTriggerExtractCondFromWindow(STranslateContext*
      pCxt, SNode* pTriggerWindow,\n                                                                SNode**
      pTriggerFilter)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18217,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18221,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18229,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18240
      start: 18215
    functionDepth: 1
    functionLinenumber: 18215
    functionLinenumberEnd: 18240
    functionName: createStreamReqBuildTriggerCheckPartitionWalker
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - fmIsScalarFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes createStreamReqBuildTriggerCheckPartitionWalker(SNode* pNode,
      void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18248,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18249,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18251,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18252,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18252,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18253,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18253,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18254,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18254,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pTriggerPartition
    - pTriggerTableMeta
    - pTriggerWindow
    argTypes:
    - STranslateContext*
    - SNodeList*
    - STableMeta*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18263
      start: 18242
    functionDepth: 4
    functionLinenumber: 18242
    functionLinenumberEnd: 18263
    functionName: createStreamReqBuildTriggerCheckPartition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - hasTbnameFunction
    - LIST_LENGTH
    - nodeType
    - generateSyntaxErrMsgExt
    - nodesWalkExprs
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerCheckPartition(STranslateContext*
      pCxt, SNodeList* pTriggerPartition,\n                                                         STableMeta*
      pTriggerTableMeta, SNode* pTriggerWindow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18270,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18270,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pTriggerWindow
    argTypes:
    - STranslateContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18277
      start: 18266
    functionDepth: 2
    functionLinenumber: 18266
    functionLinenumberEnd: 18277
    functionName: createStreamReqBuildTriggerTranslateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateExpr
    - PAR_ERR_JRET
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildTriggerTranslateWindow(STranslateContext*
      pCxt, SNode** pTriggerWindow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18285,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18285,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18287,1
    - Dst: createStreamReqBuildTriggerCheckPartition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18287,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pTriggerPartition
    - pTriggerTableMeta
    - pTriggerWindow
    argTypes:
    - STranslateContext*
    - SNodeList*
    - STableMeta*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18293
      start: 18280
    functionDepth: 5
    functionLinenumber: 18280
    functionLinenumberEnd: 18293
    functionName: createStreamReqBuildTriggerTranslatePartition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - translateExprList
    - PAR_ERR_JRET
    - createStreamReqBuildTriggerCheckPartition
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerTranslatePartition(STranslateContext*
      pCxt, SNodeList* pTriggerPartition,\n                                                             STableMeta*
      pTriggerTableMeta, SNode* pTriggerWindow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18306,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18310,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18311,1
    - Dst: createStreamReqBuildTriggerTranslateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18311,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18312,1
    - Dst: createStreamReqBuildTriggerBuildWindowInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18312,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18315,1
    - Dst: createStreamReqBulidTriggerExtractCondFromWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18315,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18319,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18319,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18322,1
    - Dst: createStreamReqBuildTriggerTableInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18322,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18323,1
    - Dst: createStreamReqBuildTriggerSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18323,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18325,1
    - Dst: createStreamReqBuildTriggerTranslateSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18325,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18326,1
    - Dst: createStreamReqBuildTriggerTranslateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18326,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18327,1
    - Dst: createStreamReqBuildTriggerTranslatePartition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18328,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18332,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 6
    argNames:
    - pCxt
    - pStmt
    - pTriggerSelect
    - pTriggerSlotHash
    - pTriggerFilter
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SSelectStmt**
    - SHashObj**
    - SNode**
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18336
      start: 18296
    functionDepth: 22
    functionLinenumber: 18296
    functionLinenumberEnd: 18336
    functionName: createStreamReqBuildTriggerAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - getTableMeta
    - createStreamReqBuildTriggerSelect
    - taosMemoryFreeClear
    - PAR_RET
    - parserDebug
    - createStreamReqBuildTriggerTranslateWindow
    - createStreamReqBulidTriggerExtractCondFromWindow
    - createStreamReqBuildTriggerTranslatePartition
    - createStreamReqBuildTriggerBuildWindowInfo
    - createStreamReqBuildTriggerTableInfo
    - PAR_ERR_JRET
    - createStreamReqBuildTriggerTranslateSelect
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerAst(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt,\n                                              SSelectStmt** pTriggerSelect,
      SHashObj** pTriggerSlotHash,\n                                              SNode**
      pTriggerFilter, SCMCreateStreamReq* pReq)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18342,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18343,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18344,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18346,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18346,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18350,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18350,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18356,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18357,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18358,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18359,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18362,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18362,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18367,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18367,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18373,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18374,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18376,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:18380,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18380,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18386,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18387,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18388,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18388,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18393,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18395,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18395,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18400,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18401,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18404,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18405,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18412,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 45
    argCount: 4
    argNames:
    - pCxt
    - pReq
    - placeHolderBitmap
    - pTriggerPartition
    argTypes:
    - STranslateContext*
    - SCMCreateStreamReq*
    - int32_t
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18414
      start: 18338
    functionDepth: 3
    functionLinenumber: 18338
    functionLinenumberEnd: 18414
    functionName: createStreamReqCheckPlaceHolder
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - hasTbnameFunction
    - BIT_FLAG_TEST_MASK
    - generateSyntaxErrMsgExt
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqCheckPlaceHolder(STranslateContext* pCxt, SCMCreateStreamReq*
      pReq,\n                                               int32_t placeHolderBitmap,
      SNodeList* pTriggerPartition)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18426,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18430,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18433,1
    - Dst: createStreamReqBuildTriggerBuildPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18433,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18435,1
    - Dst: createStreamReqBuildTriggerBuildWindowInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18435,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18436,1
    - Dst: createStreamReqCheckPlaceHolder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18436,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18437,1
    - Dst: createStreamReqSetDefaultTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18437,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - pTriggerSelect
    - pTriggerSlotHash
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SSelectStmt**
    - SHashObj**
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18444
      start: 18417
    functionDepth: 23
    functionLinenumber: 18417
    functionLinenumberEnd: 18444
    functionName: createStreamReqBuildTriggerPlan
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - createStreamReqSetDefaultTag
    - PAR_RET
    - parserDebug
    - createStreamReqBuildTriggerBuildPlan
    - createStreamReqBuildTriggerBuildWindowInfo
    - createStreamReqCheckPlaceHolder
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildTriggerPlan(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt,\n                                               SSelectStmt** pTriggerSelect,
      SHashObj** pTriggerSlotHash,\n                                               SCMCreateStreamReq*
      pReq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18449,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18450,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTarget
    - pList
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18456
      start: 18446
    functionDepth: 5
    functionLinenumber: 18446
    functionLinenumberEnd: 18456
    functionName: eliminateNodeFromList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    - REPLACE_NODE
    - ERASE_NODE
    linkageType: ''
    returnType: void
    signature: void eliminateNodeFromList(SNode* pTarget, SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18449,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18450,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18455
      start: 18448
    functionDepth: 5
    functionLinenumber: 18448
    functionLinenumberEnd: 18455
    functionName: WHERE_EACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 16
    functionsReached:
    - nodesEqualNode
    - REPLACE_NODE
    - ERASE_NODE
    linkageType: ''
    returnType: void
    signature: void WHERE_EACH(pNode, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18463,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18465,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18465,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pTarget
    - pList
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18471
      start: 18458
    functionDepth: 6
    functionLinenumber: 18458
    functionLinenumberEnd: 18471
    functionName: replaceSubPlanFromList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - nodesEqualNode
    - nodesMakeValueNodeFromInt64
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t replaceSubPlanFromList(SNode* pTarget, SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18463,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18465,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18465,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18469
      start: 18462
    functionDepth: 6
    functionLinenumber: 18462
    functionLinenumberEnd: 18469
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 238
    functionsReached:
    - PAR_ERR_RET
    - nodesEqualNode
    - nodesMakeValueNodeFromInt64
    - REPLACE_NODE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18483,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18487,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18488,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18491,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18491,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18495,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18497,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18499,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18500,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18503,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18515
      start: 18478
    functionDepth: 5
    functionLinenumber: 18478
    functionLinenumberEnd: 18515
    functionName: doCheckNotifyCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodeType
    - FOREACH
    - nodesEqualNode
    - nodesIsStar
    - nodesDestroyNode
    - nodesCloneNode
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doCheckNotifyCond(SNode** pNode, void* pContext)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18518,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18534,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18534,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pTriggerWindow
    - eqLeft
    - eqRight
    argTypes:
    - STranslateContext*
    - SNode*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18538
      start: 18517
    functionDepth: 1
    functionLinenumber: 18517
    functionLinenumberEnd: 18538
    functionName: getExtWindowBorder
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - PAR_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t getExtWindowBorder(STranslateContext* pCxt, SNode* pTriggerWindow,
      bool* eqLeft, bool* eqRight)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18541,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18552,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18552,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18555
      start: 18540
    functionDepth: 2
    functionLinenumber: 18540
    functionLinenumberEnd: 18555
    functionName: checkSubQueryStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesNodeName
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkSubQueryStmt(SNode* pNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18562,1
    - Dst: transferSubQueries
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18577,1
    - Dst: transferSubQueries
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18582,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18588
      start: 18557
    functionDepth: 1
    functionLinenumber: 18557
    functionLinenumberEnd: 18588
    functionName: transferSubQueries
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodeType
    - transferSubQueries
    linkageType: ''
    returnType: void
    signature: void transferSubQueries(STranslateContext* pCxt, SNode* pNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18597,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18599,1
    - Dst: getExtWindowBorder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18599,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18612,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18614,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18614,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18618,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18620,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18620,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18624,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18624,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18628,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18628,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18634,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18634,1
    - Dst: checkSubQueryStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18637,1
    - Dst: transferSubQueries
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18639,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 6
    argNames:
    - pCxt
    - pTriggerPartition
    - pTriggerTbl
    - pStreamCalcQuery
    - pNotifyCond
    - pTriggerWindow
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNode*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18653
      start: 18590
    functionDepth: 5
    functionLinenumber: 18590
    functionLinenumberEnd: 18653
    functionName: translateStreamCalcQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesListMakeAppend
    - translateQuery
    - parserDebug
    - transferSubQueries
    - nodesRewriteExpr
    - nodeType
    - getExtWindowBorder
    - generateSyntaxErrMsgExt
    - PAR_ERR_JRET
    - checkSubQueryStmt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateStreamCalcQuery(STranslateContext* pCxt, SNodeList*
      pTriggerPartition, SNode* pTriggerTbl,\n                                        SNode*
      pStreamCalcQuery, SNode* pNotifyCond, SNode* pTriggerWindow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pTarget
    - pList
    argTypes:
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18663
      start: 18655
    functionDepth: 5
    functionLinenumber: 18655
    functionLinenumberEnd: 18663
    functionName: findNodeInList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: bool
    signature: bool findNodeInList(SNode* pTarget, SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18661
      start: 18657
    functionDepth: 5
    functionLinenumber: 18657
    functionLinenumberEnd: 18661
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 239
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18671,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18673,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18676,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18679,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18680,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18682,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18685,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18687,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18688,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18690,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18695,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pDbs
    - pReq
    argTypes:
    - STranslateContext*
    - SHashObj*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18698
      start: 18666
    functionDepth: 1
    functionLinenumber: 18666
    functionLinenumberEnd: 18698
    functionName: createStreamReqBuildCalcDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosArrayPush
    - taosHashIterate
    - taosMemoryFreeClear
    - memcpy
    - taosHashGetKey
    - taosArrayInit
    - taosMemoryCalloc
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStreamReqBuildCalcDb(STranslateContext* pCxt, SHashObj*
      pDbs, SCMCreateStreamReq* pReq)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18708,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18709,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18711,1
    - Dst: eliminateNodeFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18720,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18725,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18726,1
    - Dst: replaceSubPlanFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18726,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18731,1
    - Dst: findNodeInList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18733,1
    - Dst: eliminateNodeFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18734,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18735,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18736,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18737,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18747,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18750,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18750,1
    - Dst: findTsSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18754,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18756,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18756,1
    - Dst: findPkSlotId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18759,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18764,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18765,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18765,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18766,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18767,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18769,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18770,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18778,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18779,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18782,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 5
    argNames:
    - pCxt
    - calcPlan
    - pScanPlanArray
    - pReq
    - pPlanMap
    argTypes:
    - STranslateContext*
    - SQueryPlan*
    - SArray*
    - SCMCreateStreamReq*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18785
      start: 18702
    functionDepth: 7
    functionLinenumber: 18702
    functionLinenumberEnd: 18785
    functionName: streamSplitCalcPlan
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosArrayPush
    - taosArrayDestroy
    - findNodeInList
    - taosArrayGet
    - LIST_LENGTH
    - findTsSlotId
    - taosArrayGetSize
    - eliminateNodeFromList
    - nodesNodeToString
    - PAR_ERR_JRET
    - replaceSubPlanFromList
    - TSWAP
    - FOREACH
    - nodesDestroyNode
    - REPLACE_NODE
    - taosHashGet
    - ERASE_NODE
    - WHERE_EACH
    - findPkSlotId
    - generateSyntaxErrMsgExt
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t streamSplitCalcPlan(STranslateContext* pCxt, SQueryPlan* calcPlan,
      SArray* pScanPlanArray,\n                                   SCMCreateStreamReq*
      pReq, SHashObj* pPlanMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18794,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18796,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18797,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18797,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18799,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18805,1
    - Dst: streamSplitCalcPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18805,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18806,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18811,1
    - Dst: streamSplitCalcPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18811,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18815,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18815,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18817,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18821,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - calcPlan
    - pScanPlanArray
    - pReq
    argTypes:
    - STranslateContext*
    - SQueryPlan*
    - SArray*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18824
      start: 18788
    functionDepth: 8
    functionLinenumber: 18788
    functionLinenumberEnd: 18824
    functionName: createStreamReqBuildCalcPlan
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - streamSplitCalcPlan
    - parserDebug
    - taosHashInit
    - FOREACH
    - nodesNodeToString
    - taosArrayInit
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildCalcPlan(STranslateContext* pCxt, SQueryPlan*
      calcPlan, SArray* pScanPlanArray,\n                                            SCMCreateStreamReq*
      pReq)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18836,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18839,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18841,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18844,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18845,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18846,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18847,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18848,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18849,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18849,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18854,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18855,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18858,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18859,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18860,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18861,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18862,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18863,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18863,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18869,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18871,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18872,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18872,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18881,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18883,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18886,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18887,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18888,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18889,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18890,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18891,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18891,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18896,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18898,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18901,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18902,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18903,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18904,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18905,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18906,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18906,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18912,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18914,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18915,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18915,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18929
      start: 18832
    functionDepth: 5
    functionLinenumber: 18832
    functionLinenumberEnd: 18929
    functionName: checkTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - QUERY_CHECK_NULL
    - isTbnameFuction
    - nodeType
    - nodesGetValueFromNode
    - nodesEqualNode
    - FOREACH
    - taosHashPut
    - PAR_ERR_JRET
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes checkTagCond(SNode* pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18935,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18935,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18937,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18939,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18941,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18943,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18943,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pTriggerPartition
    - pCond
    - satisfy
    argTypes:
    - SNodeList*
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18952
      start: 18931
    functionDepth: 3
    functionLinenumber: 18931
    functionLinenumberEnd: 18952
    functionName: collectTagPlaceHolderCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - taosHashGetSize
    - LIST_LENGTH
    - nodesWalkExpr
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectTagPlaceHolderCond(SNodeList* pTriggerPartition, SNode*
      pCond, bool* satisfy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18960,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18964
      start: 18958
    functionDepth: 1
    functionLinenumber: 18958
    functionLinenumberEnd: 18964
    functionName: conditionHasTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes conditionHasTag(SNode* pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18976,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18977,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18979,1
    - Dst: collectTagPlaceHolderCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18979,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18981,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18981,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18982,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18982,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18984,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18990,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18992,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - pTriggerPartition
    - pTriggerSelect
    - pCalcSelect
    - satisfy
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SSelectStmt*
    - SSelectStmt*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18995
      start: 18966
    functionDepth: 4
    functionLinenumber: 18966
    functionLinenumberEnd: 18995
    functionName: createStreamCheckMultiGroupCalc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesWalkExpr
    - PAR_ERR_JRET
    - filterPartitionCond
    - nodesDestroyNode
    - nodesCloneNode
    - collectTagPlaceHolderCond
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamCheckMultiGroupCalc(STranslateContext* pCxt, SNodeList*
      pTriggerPartition,\n                                            SSelectStmt*
      pTriggerSelect, SSelectStmt* pCalcSelect, bool *satisfy)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19009,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19012,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19016,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19017,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19017,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19019,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19024,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19025,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19033,1
    - Dst: translateStreamCalcQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19033,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19037,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19039,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19042,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19042,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19048,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19051,1
    - Dst: createStreamReqSetDefaultOutCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19051,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19053,1
    - Dst: createStreamReqBuildForceOutput
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19053,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19057,1
    - Dst: calculateConstant
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19057,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19060,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19060,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19064,1
    - Dst: createStreamCheckMultiGroupCalc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19064,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19076,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19079,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19080,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19082,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19089,1
    - Dst: qCreateQueryPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19089,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19098,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19099,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19101,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19101,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19103,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19104,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19106,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19111,1
    - Dst: createStreamReqBuildCalcDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19111,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19113,1
    - Dst: createStreamReqBuildCalcPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19113,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19117,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19119,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19120,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19121,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 7
    argNames:
    - pCxt
    - pStmt
    - pTriggerPartition
    - pTriggerSelect
    - pTriggerWindow
    - pNotifyCond
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SNodeList*
    - SSelectStmt*
    - SNode*
    - SNode*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19123
      start: 18998
    functionDepth: 22
    functionLinenumber: 18998
    functionLinenumberEnd: 19123
    functionName: createStreamReqBuildCalc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - parserDebug
    - nodeType
    - qCreateQueryPlan
    - createStreamCheckMultiGroupCalc
    - createStreamReqBuildCalcPlan
    - taosArrayDestroy
    - translateStreamCalcQuery
    - calculateConstant
    - LIST_LENGTH
    - taosHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - createStreamReqBuildCalcDb
    - PAR_ERR_JRET
    - createStreamReqBuildForceOutput
    - BIT_FLAG_TEST_MASK
    - FOREACH
    - tstrncpy
    - createStreamReqSetDefaultOutCols
    - nodesDestroyNode
    - taosHashCleanup
    - taosArrayInit
    - generateSyntaxErrMsgExt
    - nodesListAppendList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildCalc(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt, SNodeList* pTriggerPartition,\n                                        SSelectStmt*
      pTriggerSelect, SNode* pTriggerWindow, SNode* pNotifyCond,\n                                        SCMCreateStreamReq*
      pReq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19154
      start: 19126
    functionDepth: 0
    functionLinenumber: 19126
    functionLinenumberEnd: 19154
    functionName: createStreamReqBuildDefaultReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildDefaultReq(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt,\n                                              SCMCreateStreamReq* pReq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19162,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19164,1
    - Dst: taosGetSystemUUIDU64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19164,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19167,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19168,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19169,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19172,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19174,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19177,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19178,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19178,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19179,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19179,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19186
      start: 19157
    functionDepth: 1
    functionLinenumber: 19157
    functionLinenumberEnd: 19186
    functionName: createStreamReqBuildNameAndId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosMemoryMalloc
    - taosGetSystemUUIDU64
    - parserDebug
    - toName
    - tNameExtractFullName
    - tNameGetFullDbName
    - taosMemoryCalloc
    - PAR_ERR_JRET
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createStreamReqBuildNameAndId(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt,\n                                             SCMCreateStreamReq* pReq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19201,1
    - Dst: createStreamReqBuildDefaultReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19201,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19202,1
    - Dst: createStreamReqBuildNameAndId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19202,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19203,1
    - Dst: createStreamReqBuildNotifyOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19203,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19206,1
    - Dst: createStreamReqBuildTriggerAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19206,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19207,1
    - Dst: createStreamReqBuildTriggerOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19207,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19208,1
    - Dst: createStreamReqBuildCalc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19208,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19210,1
    - Dst: createStreamReqBuildTriggerPlan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19210,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19211,1
    - Dst: createStreamReqBuildOutTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19211,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19215,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19217,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19218,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19221
      start: 19189
    functionDepth: 24
    functionLinenumber: 19189
    functionLinenumberEnd: 19221
    functionName: buildCreateStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStreamReqBuildTriggerAst
    - parserError
    - createStreamReqBuildTriggerOptions
    - createStreamReqBuildTriggerPlan
    - createStreamReqBuildNameAndId
    - createStreamReqBuildOutTable
    - taosHashCleanup
    - createStreamReqBuildDefaultReq
    - createStreamReqBuildCalc
    - nodesDestroyNode
    - createStreamReqBuildNotifyOptions
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateStreamReq(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt, SCMCreateStreamReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19227,1
    - Dst: checkCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19227,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19228,1
    - Dst: buildCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19228,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19229,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19229,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19233,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19237
      start: 19223
    functionDepth: 25
    functionLinenumber: 19223
    functionLinenumberEnd: 19237
    functionName: translateCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - checkCreateStream
    - buildCmdMsg
    - buildCreateStreamReq
    - tFreeSCMCreateStreamReq
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateStream(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19243,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19244,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19248,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19248,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19251,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19256,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19260,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19261,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19264,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19267,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19267,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19273,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19273,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19278
      start: 19239
    functionDepth: 3
    functionLinenumber: 19239
    functionLinenumberEnd: 19278
    functionName: translateDropStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - LIST_LENGTH
    - toName
    - buildCmdMsg
    - tFreeMDropStreamReq
    - FOREACH
    - generateSyntaxErrMsgExt
    - tNameExtractFullName
    - taosMemoryCalloc
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropStream(STranslateContext* pCxt, SDropStreamStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19285,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19287,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19290,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19291,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19291,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19293,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19293,1
    - Dst: tFreeMPauseStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SPauseStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19298
      start: 19280
    functionDepth: 3
    functionLinenumber: 19280
    functionLinenumberEnd: 19298
    functionName: translatePauseStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeMPauseStreamReq
    - toName
    - buildCmdMsg
    - tNameExtractFullName
    - taosMemoryCalloc
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translatePauseStream(STranslateContext* pCxt, SPauseStreamStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19305,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19307,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19310,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19311,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19311,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19315,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19315,1
    - Dst: tFreeMResumeStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SResumeStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19320
      start: 19300
    functionDepth: 3
    functionLinenumber: 19300
    functionLinenumberEnd: 19320
    functionName: translateResumeStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toName
    - buildCmdMsg
    - tFreeMResumeStreamReq
    - tNameExtractFullName
    - taosMemoryCalloc
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateResumeStream(STranslateContext* pCxt, SResumeStreamStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19327,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19329,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19332,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19333,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19333,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19335,1
    - Dst: translateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19335,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19337,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19337,1
    - Dst: tFreeMRecalcStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRecalcStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19342
      start: 19322
    functionDepth: 11
    functionLinenumber: 19322
    functionLinenumberEnd: 19342
    functionName: translateRecalcStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateTimeRange
    - toName
    - buildCmdMsg
    - tFreeMRecalcStreamReq
    - tNameExtractFullName
    - taosMemoryCalloc
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRecalcStream(STranslateContext* pCxt, SRecalcStreamStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19345,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19345,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19360
      start: 19344
    functionDepth: 1
    functionLinenumber: 19344
    functionLinenumberEnd: 19360
    functionName: validateCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateCreateView(STranslateContext* pCxt, SCreateViewStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19370,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19371,1
    - Dst: validateCreateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19373,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19379,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19385,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19386,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19387,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19389,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19391,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19397,1
    - Dst: tFreeSCMCreateViewReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19402
      start: 19362
    functionDepth: 3
    functionLinenumber: 19362
    functionLinenumberEnd: 19402
    functionName: translateCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrdup
    - collectUseTable
    - TSWAP
    - toName
    - buildCmdMsg
    - snprintf
    - tstrncpy
    - tFreeSCMCreateViewReq
    - validateCreateView
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateView(STranslateContext* pCxt, SCreateViewStmt*
      pStmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19411,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19411,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19413,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19414,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19415,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19421,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19422,1
    - Dst: getViewMetaFromMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19427,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19440
      start: 19404
    functionDepth: 3
    functionLinenumber: 19404
    functionLinenumberEnd: 19440
    functionName: translateDropView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - getViewMetaFromMetaCache
    - toName
    - buildCmdMsg
    - snprintf
    - tNameSetDbName
    - tstrncpy
    - strlen
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropView(STranslateContext* pCxt, SDropViewStmt* pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19444,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19454,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19459,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19461,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19465,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19467,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19468,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19468,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19469,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pName
    - len
    - buf
    argTypes:
    - char*
    - int32_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19473
      start: 19442
    functionDepth: 1
    functionLinenumber: 19442
    functionLinenumberEnd: 19473
    functionName: readFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosCloseFile
    - taosMemoryFreeClear
    - taosStatFile
    - taosReadFile
    - taosOpenFile
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t readFromFile(char* pName, int32_t* len, char** buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmIsBuiltinFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19476,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19477,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19483,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19487,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19491,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19497,1
    - Dst: readFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19500,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19502,1
    - Dst: tFreeSCreateFuncReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19504,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateFunctionStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19506
      start: 19475
    functionDepth: 3
    functionLinenumber: 19475
    functionLinenumberEnd: 19506
    functionName: translateCreateFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - fmIsBuiltinFunc
    - tFreeSCreateFuncReq
    - calcTypeBytes
    - buildCmdMsg
    - tstrncpy
    - readFromFile
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateFunction(STranslateContext* pCxt, SCreateFunctionStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19510,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropFunctionStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19513
      start: 19508
    functionDepth: 3
    functionLinenumber: 19508
    functionLinenumberEnd: 19513
    functionName: translateDropFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropFunction(STranslateContext* pCxt, SDropFunctionStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19517,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19521,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19522,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - pTable
    argTypes:
    - SGrantStmt*
    - SRealTableNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19526
      start: 19515
    functionDepth: 5
    functionLinenumber: 19515
    functionLinenumberEnd: 19526
    functionName: createRealTableForGrantTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createRealTableForGrantTable(SGrantStmt* pStmt, SRealTableNode**
      pTable)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19532,1
    - Dst: createRealTableForGrantTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19543,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19546,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19547,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19549,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19556,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19556,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19556,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19557,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19560,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19561,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19565,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19566,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19573,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19577,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19578,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19579,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19580,1
    - Dst: privInfoGetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19581,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19583,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19584,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19585,1
    - Dst: privInfoGetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19586,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19588,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19589,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19590,1
    - Dst: privInfoGetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19591,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19593,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19594,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19595,1
    - Dst: privInfoGetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19597,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19604,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19607,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19610,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19612,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - grant
    argTypes:
    - STranslateContext*
    - SGrantStmt*
    - SAlterRoleReq*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19614
      start: 19528
    functionDepth: 13
    functionLinenumber: 19528
    functionLinenumberEnd: 19614
    functionName: translateGrantTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createRealTableForGrantTable
    - privInfoGetName
    - translateExpr
    - getTargetMeta
    - toName
    - PRIV_HAS
    - addNamespace
    - nodesNodeToString
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateGrantTagCond(STranslateContext* pCxt, SGrantStmt*
      pStmt, SAlterRoleReq* pReq, bool grant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTsmaColWithColId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode1
    - pNode2
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19616
      start: 19616
    functionDepth: 1
    functionLinenumber: 19616
    functionLinenumberEnd: 19616
    functionName: comparePrivColWithColId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - compareTsmaColWithColId
    linkageType: ''
    returnType: int32_t
    signature: int32_t comparePrivColWithColId(SNode* pNode1, SNode* pNode2)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19620,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19637,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19644,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19652,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19660,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19660,1
    - Dst: nodesSortList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19664,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19677,1
    - Dst: COL_SET_MASK_ON
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19680,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19682,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19683,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19684,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19695,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19696,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 5
    argNames:
    - pCxt
    - ppReqCols
    - pTableMeta
    - pCols
    - needPrimaryKey
    argTypes:
    - STranslateContext*
    - SArray**
    - STableMeta*
    - SNodeList*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19714
      start: 19617
    functionDepth: 1
    functionLinenumber: 19617
    functionLinenumberEnd: 19714
    functionName: fillPrivSetRowCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - nodesSortList
    - TMIN
    - LIST_LENGTH
    - snprintf
    - COL_SET_MASK_ON
    - taosArrayInit
    - taosArrayGetSize
    - generateSyntaxErrMsgExt
    - TAOS_CHECK_EXIT
    - TARRAY_GET_ELEM
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t fillPrivSetRowCols(STranslateContext* pCxt, SArray** ppReqCols,
      STableMeta* pTableMeta, SNodeList* pCols,\n                                  bool
      needPrimaryKey)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19637,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19644,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19652,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19658
      start: 19632
    functionDepth: 1
    functionLinenumber: 19632
    functionLinenumberEnd: 19658
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 244
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCols)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19677,1
    - Dst: COL_SET_MASK_ON
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19680,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19682,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19683,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19684,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19687
      start: 19667
    functionDepth: 1
    functionLinenumber: 19667
    functionLinenumberEnd: 19687
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 244
    functionsReached:
    - taosArrayPush
    - snprintf
    - COL_SET_MASK_ON
    - generateSyntaxErrMsgExt
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pCols)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19727,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19728,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19732,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19733,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19735,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19735,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19739,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19740,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19743,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19748,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19748,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19749,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19758,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19759,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19763,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19763,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19764,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19767,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19767,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19768,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19771,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19771,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19772,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19777,1
    - Dst: createRealTableForGrantTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19777,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19779,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19780,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19782,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19782,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19782,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19786,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19786,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19791,1
    - Dst: fillPrivSetRowCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19792,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19793,1
    - Dst: fillPrivSetRowCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19794,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19795,1
    - Dst: fillPrivSetRowCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19796,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19800,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19801,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19802,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SGrantStmt*
    - SAlterRoleReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19803
      start: 19716
    functionDepth: 13
    functionLinenumber: 19716
    functionLinenumberEnd: 19803
    functionName: translateGrantFillColPrivileges
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getBigintFromValueNode
    - createRealTableForGrantTable
    - fillPrivSetRowCols
    - translateValue
    - LIST_LENGTH
    - toName
    - getTargetMeta
    - PRIV_HAS
    - strncmp
    - taosMemoryFree
    - TAOS_RETURN
    - tstrerror
    - generateSyntaxErrMsgExt
    - TAOS_CHECK_EXIT
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateGrantFillColPrivileges(STranslateContext* pCxt, SGrantStmt*
      pStmt, SAlterRoleReq* pReq)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19815,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19819,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19825,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19831,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19836,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19836,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19837,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19841,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19843,1
    - Dst: privRemoveType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19845,1
    - Dst: privIsEmptySet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19846,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19851,1
    - Dst: IS_SPECIFIC_OBJ
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19855,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19858,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19862,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19863,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19867,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19878,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19881,1
    - Dst: privExpandAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19881,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19882,1
    - Dst: privExpandRw
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19882,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19886,1
    - Dst: translateGrantFillColPrivileges
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19886,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19890,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19893,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19894,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19896,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19896,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19900,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19901,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19903,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19906,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19909,1
    - Dst: privExpandAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19909,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19910,1
    - Dst: privExpandRw
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19910,1
    - Dst: translateGrantTagCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19912,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19922,1
    - Dst: privExpandAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19922,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19929,1
    - Dst: privExpandAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19929,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19932,1
    - Dst: privExpandAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19932,1
    - Dst: IS_WILDCARD_OBJ
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19935,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19939,1
    - Dst: privExpandAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19939,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19943,1
    - Dst: privExpandAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19943,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19946,1
    - Dst: privExpandAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19946,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19957,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19963,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19966,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19969,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 132
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - category
    - pReq
    - grant
    argTypes:
    - STranslateContext*
    - SGrantStmt*
    - EPrivCategory
    - SAlterRoleReq*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19970
      start: 19805
    functionDepth: 14
    functionLinenumber: 19805
    functionLinenumberEnd: 19970
    functionName: translateGrantCheckFillObject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_WILDCARD_OBJ
    - toName
    - snprintf
    - privExpandRw
    - translateGrantTagCond
    - translateGrantFillColPrivileges
    - IS_SPECIFIC_OBJ
    - getDBCfg
    - PRIV_HAS
    - TAOS_CHECK_EXIT
    - privRemoveType
    - privExpandAll
    - IS_SYS_DBNAME
    - getTargetMeta
    - strncmp
    - taosMemoryFree
    - TAOS_RETURN
    - tstrerror
    - generateSyntaxErrMsgExt
    - privIsEmptySet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateGrantCheckFillObject(STranslateContext* pCxt, SGrantStmt*
      pStmt, EPrivCategory category,\n                                             SAlterRoleReq*
      pReq, bool grant)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: isPrivInheritName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19978,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19979,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19983,1
    - Dst: privObjGetLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19990,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19995,1
    - Dst: privAddType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20003,1
    - Dst: privAddType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20004,1
    - Dst: privAddType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20005,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20006,1
    - Dst: privRemoveType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20007,1
    - Dst: privIsEmptySet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20008,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20009,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20016,1
    - Dst: privAddType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20017,1
    - Dst: privRemoveType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20018,1
    - Dst: IS_SPECIFIC_OBJ
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20021,1
    - Dst: IS_SPECIFIC_OBJ
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20022,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20025,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20026,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20028,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20036,1
    - Dst: privAddType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20037,1
    - Dst: privRemoveType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20038,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20042,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20045,1
    - Dst: IS_WILDCARD_OBJ
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20057,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20060,1
    - Dst: privDeduceObjType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20064,1
    - Dst: privCheckConflicts
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20068,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20080,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20084,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20087,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20091,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20093,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20097,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20099,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20104,1
    - Dst: privAddType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20105,1
    - Dst: privRemoveType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20112,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20112,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20116,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20116,1
    - Dst: privInfoGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20118,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20123,1
    - Dst: translateGrantCheckFillObject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20123,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20128,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20137,1
    - Dst: tFreeSAlterRoleReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20140,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 134
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - grant
    argTypes:
    - STranslateContext*
    - SGrantStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20142
      start: 19972
    functionDepth: 15
    functionLinenumber: 19972
    functionLinenumberEnd: 20142
    functionName: translateGrantRevoke
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_WILDCARD_OBJ
    - privInfoGet
    - privObjGetLevel
    - toName
    - snprintf
    - tFreeSAlterRoleReq
    - IS_SPECIFIC_OBJ
    - getDBCfg
    - PRIV_HAS
    - buildCmdMsg
    - TAOS_CHECK_EXIT
    - privCheckConflicts
    - privRemoveType
    - privDeduceObjType
    - translateGrantCheckFillObject
    - generateSyntaxErrMsg
    - getTargetMeta
    - privAddType
    - isPrivInheritName
    - taosMemoryFree
    - generateSyntaxErrMsgExt
    - privIsEmptySet
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateGrantRevoke(STranslateContext* pCxt, SGrantStmt* pStmt,
      bool grant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateGrantRevoke
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20146,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SGrantStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20151
      start: 20144
    functionDepth: 16
    functionLinenumber: 20144
    functionLinenumberEnd: 20151
    functionName: translateGrant
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateGrantRevoke
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateGrant(STranslateContext* pCxt, SGrantStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateGrantRevoke
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20155,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRevokeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20160
      start: 20153
    functionDepth: 16
    functionLinenumber: 20153
    functionLinenumberEnd: 20160
    functionName: translateRevoke
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateGrantRevoke
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRevoke(STranslateContext* pCxt, SRevokeStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20164,1
    - Dst: tFreeSBalanceVgroupReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SBalanceVgroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20167
      start: 20162
    functionDepth: 3
    functionLinenumber: 20162
    functionLinenumberEnd: 20167
    functionName: translateBalanceVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSBalanceVgroupReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateBalanceVgroup(STranslateContext* pCxt, SBalanceVgroupStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20171,1
    - Dst: tFreeSAssignLeaderReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAssignLeaderStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20174
      start: 20169
    functionDepth: 3
    functionLinenumber: 20169
    functionLinenumberEnd: 20174
    functionName: translateAssignLeader
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSAssignLeaderReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAssignLeader(STranslateContext* pCxt, SAssignLeaderStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20179,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20181,1
    - Dst: tFreeSBalanceVgroupLeaderReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SBalanceVgroupLeaderStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20184
      start: 20176
    functionDepth: 3
    functionLinenumber: 20176
    functionLinenumberEnd: 20184
    functionName: translateBalanceVgroupLeader
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tFreeSBalanceVgroupLeaderReq
    - tstrncpy
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateBalanceVgroupLeader(STranslateContext* pCxt, SBalanceVgroupLeaderStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SSetVgroupKeepVersionStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20193
      start: 20186
    functionDepth: 3
    functionLinenumber: 20186
    functionLinenumberEnd: 20193
    functionName: translateSetVgroupKeepVersion
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSetVgroupKeepVersion(STranslateContext* pCxt, SSetVgroupKeepVersionStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SMergeVgroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20198
      start: 20195
    functionDepth: 3
    functionLinenumber: 20195
    functionLinenumberEnd: 20198
    functionName: translateMergeVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateMergeVgroup(STranslateContext* pCxt, SMergeVgroupStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20201,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20203,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20207,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20209,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20214,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20214,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20218,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20218,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20221,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRedistributeVgroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20225
      start: 20200
    functionDepth: 5
    functionLinenumber: 20200
    functionLinenumberEnd: 20225
    functionName: checkDnodeIds
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getBigintFromValueNode
    - generateSyntaxErrMsg
    - translateValue
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDnodeIds(STranslateContext* pCxt, SRedistributeVgroupStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkDnodeIds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20229,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20234,1
    - Dst: tFreeSRedistributeVgroupReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRedistributeVgroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20238
      start: 20227
    functionDepth: 6
    functionLinenumber: 20227
    functionLinenumberEnd: 20238
    functionName: translateRedistributeVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkDnodeIds
    - tFreeSRedistributeVgroupReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRedistributeVgroup(STranslateContext* pCxt, SRedistributeVgroupStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SSplitVgroupStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20243
      start: 20240
    functionDepth: 3
    functionLinenumber: 20240
    functionLinenumberEnd: 20243
    functionName: translateSplitVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSplitVgroup(STranslateContext* pCxt, SSplitVgroupStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20249,1
    - Dst: taosStrdupi
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20251,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20254,1
    - Dst: tFreeSShowVariablesReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20257
      start: 20245
    functionDepth: 3
    functionLinenumber: 20245
    functionLinenumberEnd: 20257
    functionName: translateShowVariables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosStrdupi
    - strlen
    - tFreeSShowVariablesReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateShowVariables(STranslateContext* pCxt, SShowStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20260,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20266,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20266,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20267,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20270
      start: 20259
    functionDepth: 10
    functionLinenumber: 20259
    functionLinenumberEnd: 20270
    functionName: translateShowCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getDBCfg
    - tNameSetDbName
    - strlen
    - tNameGetFullDbName
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateShowCreateDatabase(STranslateContext* pCxt, SShowCreateDatabaseStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20273,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20278,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20278,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20280,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20281,1
    - Dst: getTableCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20281,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20296,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - showVtable
    argTypes:
    - STranslateContext*
    - SShowCreateTableStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20301
      start: 20272
    functionDepth: 14
    functionLinenumber: 20272
    functionLinenumberEnd: 20301
    functionName: translateShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableCfg
    - PAR_ERR_RET
    - getDBCfg
    - toName
    - generateSyntaxErrMsgExt
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateShowCreateTable(STranslateContext* pCxt, SShowCreateTableStmt*
      pStmt, bool showVtable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateShowCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20305
      start: 20303
    functionDepth: 15
    functionLinenumber: 20303
    functionLinenumberEnd: 20305
    functionName: translateShowCreateVTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - translateShowCreateTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateShowCreateVTable(STranslateContext* pCxt, SShowCreateTableStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20310,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20311,1
    - Dst: getTableCfgFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20313,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowValidateVirtualTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20329
      start: 20307
    functionDepth: 1
    functionLinenumber: 20307
    functionLinenumberEnd: 20329
    functionName: translateShowVirtualTableValidate
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableCfgFromCache
    - generateSyntaxErrMsgExt
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateShowVirtualTableValidate(STranslateContext* pCxt,
      SShowValidateVirtualTable* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20337,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20338,1
    - Dst: getViewMetaFromMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20348
      start: 20331
    functionDepth: 1
    functionLinenumber: 20331
    functionLinenumberEnd: 20348
    functionName: translateShowCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getViewMetaFromMetaCache
    - TAOS_CHECK_EXIT
    - toName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateShowCreateView(STranslateContext* pCxt, SShowCreateViewStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20358,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20360,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - name
    - pInfo
    argTypes:
    - STranslateContext*
    - char*
    - SRsmaInfoRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20363
      start: 20351
    functionDepth: 8
    functionLinenumber: 20351
    functionLinenumberEnd: 20363
    functionName: getRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - catalogGetRsma
    - parserError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t getRsma(STranslateContext* pCxt, const char* name, SRsmaInfoRsp**
      pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20370,1
    - Dst: getRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20382
      start: 20366
    functionDepth: 9
    functionLinenumber: 20366
    functionLinenumberEnd: 20382
    functionName: translateShowCreateRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - getRsma
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateShowCreateRsma(STranslateContext* pCxt, SShowCreateRsmaStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20394,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20395,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20397,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20398,1
    - Dst: catalogGetStreamCreateSQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20403,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20405,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20409
      start: 20384
    functionDepth: 8
    functionLinenumber: 20384
    functionLinenumberEnd: 20409
    functionName: translateShowCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - catalogGetStreamCreateSQL
    - toName
    - tstrerror
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateShowCreateStream(STranslateContext* pCxt, SShowCreateStreamStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20413,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20415,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20416,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - name
    - ppCol
    argTypes:
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20420
      start: 20411
    functionDepth: 5
    functionLinenumber: 20411
    functionLinenumberEnd: 20420
    functionName: createColumnNodeWithName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createColumnNodeWithName(const char* name, SNode** ppCol)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode1
    - pNode2
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20431
      start: 20422
    functionDepth: 0
    functionLinenumber: 20422
    functionLinenumberEnd: 20431
    functionName: compareTsmaColWithColId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareTsmaColWithColId(SNode* pNode1, SNode* pNode2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compareTsmaColWithColId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pNode1
    - pNode2
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20445
      start: 20433
    functionDepth: 1
    functionLinenumber: 20433
    functionLinenumberEnd: 20445
    functionName: compareTsmaFuncWithFuncAndColId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - compareTsmaColWithColId
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareTsmaFuncWithFuncAndColId(SNode* pNode1, SNode* pNode2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compareTsmaFuncWithFuncAndColId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20454,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20464
      start: 20448
    functionDepth: 2
    functionLinenumber: 20448
    functionLinenumberEnd: 20464
    functionName: deduplicateTsmaFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - ERASE_NODE
    - compareTsmaFuncWithFuncAndColId
    linkageType: ''
    returnType: void
    signature: void deduplicateTsmaFuncs(SNodeList* pFuncs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compareTsmaFuncWithFuncAndColId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20454,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20463
      start: 20452
    functionDepth: 2
    functionLinenumber: 20452
    functionLinenumberEnd: 20463
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 245
    functionsReached:
    - ERASE_NODE
    - compareTsmaFuncWithFuncAndColId
    linkageType: ''
    returnType: void
    signature: void FOREACH(pFunc, pFuncs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createColumnNodeWithName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20478,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20479,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20482,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20483,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20484,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20487,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20488,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20489,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20490,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20495,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20496,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20497,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20499,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20500,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20501,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20502,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20503,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20504,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20506,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20507,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20508,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20509,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20510,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20516,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20518,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20520,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20522,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20524,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20525,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 5
    argNames:
    - pStmt
    - pReq
    - numOfTags
    - pTags
    - pSubTable
    argTypes:
    - SCreateTSMAStmt*
    - SMCreateSmaReq*
    - int32_t
    - SSchema*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20527
      start: 20466
    functionDepth: 6
    functionLinenumber: 20466
    functionLinenumberEnd: 20527
    functionName: buildCreateTsmaReqBuildStreamSubTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesMakeValueNodeFromString
    - nodesListMakeStrictAppend
    - nodesListMakeAppend
    - createColumnNodeWithName
    - nodesMakeNode
    - snprintf
    - QUERY_CHECK_CODE
    - tstrerror
    - nodesDestroyNode
    - createTbnameFunction
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTsmaReqBuildStreamSubTableName(SCreateTSMAStmt*
      pStmt, SMCreateSmaReq* pReq,\n                                                         int32_t
      numOfTags, const SSchema* pTags, SNode** pSubTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20534,1
    - Dst: addTWstartToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20534,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20535,1
    - Dst: addTWendToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20535,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20536,1
    - Dst: addTWdurationToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20536,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20540,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20549
      start: 20529
    functionDepth: 6
    functionLinenumber: 20529
    functionLinenumberEnd: 20549
    functionName: buildProjectsForTSMAQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - addTWstartToSampleProjects
    - PAR_ERR_RET
    - snprintf
    - addTWendToSampleProjects
    - addTWdurationToSampleProjects
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildProjectsForTSMAQuery(SNodeList* pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20542
      start: 20539
    functionDepth: 0
    functionLinenumber: 20539
    functionLinenumberEnd: 20542
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 245
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProject, pProjectionList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20555,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20555,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20556,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20556,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20557,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20557,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20558,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20558,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20561,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pInt
    - pOutput
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20567
      start: 20551
    functionDepth: 5
    functionLinenumber: 20551
    functionLinenumberEnd: 20567
    functionName: buildTriggerWindowForCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTriggerWindowForCreateStream(SNode* pInt, SNode** pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20587,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20587,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20588,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20589,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20591,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20591,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20592,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20593,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20595,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20595,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20596,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20597,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20598,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20601,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20601,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20602,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20604,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20604,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20608,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20608,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20610,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20613,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20613,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20615,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20615,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20616,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20617,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20620,1
    - Dst: createOperatorNodeByNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20620,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20624,1
    - Dst: createTsOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20624,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20626,1
    - Dst: createTsOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20626,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20628,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20628,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20632,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20632,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20633,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20633,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20634,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20634,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20640,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20643,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20646,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20647,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20648,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20650,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20652,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20653,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20654,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20655,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 56
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - numOfTags
    - pCondition
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - int32_t
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20659
      start: 20569
    functionDepth: 6
    functionLinenumber: 20569
    functionLinenumberEnd: 20659
    functionName: buildCreateTSMAReqBuildStreamQueryCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - createTsOperatorNode
    - nodesListMakeAppend
    - PAR_ERR_RET
    - createOperatorNodeByNode
    - nodesMakeNode
    - snprintf
    - tstrncpy
    - createOperatorNode
    - nodesMakeValueNodeFromInt32
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqBuildStreamQueryCondition(STranslateContext*
      pCxt, SCreateTSMAStmt* pStmt,\n                                                           int32_t
      numOfTags, SNode** pCondition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20665,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20665,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20670,1
    - Dst: nodesMakeDurationValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20670,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20675,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ppOptions
    argTypes:
    - SStreamTriggerOptions**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20678
      start: 20661
    functionDepth: 6
    functionLinenumber: 20661
    functionLinenumberEnd: 20678
    functionName: buildTriggerOptionForCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesMakeDurationValueNodeFromString
    - nodesMakeNode
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTriggerOptionForCreateStream(SStreamTriggerOptions** ppOptions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20689,1
    - Dst: createColumnNodeWithName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20689,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20690,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20690,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20695,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20695,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20696,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20697,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20697,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20704,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20705,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20706,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - ppTriggerPartition
    - pStmt
    - numOfTags
    - pTags
    argTypes:
    - SNodeList**
    - SCreateTSMAStmt*
    - int32_t
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20709
      start: 20680
    functionDepth: 6
    functionLinenumber: 20680
    functionLinenumberEnd: 20709
    functionName: buildTriggerPartitionForCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesListMakeStrictAppend
    - createColumnNodeWithName
    - nodesDestroyList
    - snprintf
    - nodesDestroyNode
    - createTbnameFunction
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildTriggerPartitionForCreateStream(SNodeList** ppTriggerPartition,
      SCreateTSMAStmt* pStmt,\n                                                    int32_t
      numOfTags, const SSchema* pTags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20721,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20721,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20722,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20723,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20724,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20726,1
    - Dst: buildTriggerWindowForCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20726,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20727,1
    - Dst: buildTriggerOptionForCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20727,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20728,1
    - Dst: buildTriggerPartitionForCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20728,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20730,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20730,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20740,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20742,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20744,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20745,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20746,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 7
    argNames:
    - pCxt
    - pStmt
    - pReq
    - tbName
    - numOfTags
    - pTags
    - ppTrigger
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - SMCreateSmaReq*
    - char*
    - int32_t
    - SSchema*
    - SStreamTriggerNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20750
      start: 20711
    functionDepth: 7
    functionLinenumber: 20711
    functionLinenumberEnd: 20750
    functionName: buildCreateTSMAReqBuildStreamTriggerAndTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - buildTriggerWindowForCreateStream
    - nodesDestroyList
    - nodesMakeNode
    - tstrncpy
    - buildTriggerPartitionForCreateStream
    - nodesDestroyNode
    - PAR_ERR_JRET
    - buildTriggerOptionForCreateStream
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqBuildStreamTriggerAndTag(STranslateContext*
      pCxt, SCreateTSMAStmt* pStmt,\n                                                          SMCreateSmaReq*
      pReq, const char* tbName, int32_t numOfTags,\n                                                          const
      SSchema* pTags, SStreamTriggerNode** ppTrigger)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20760,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20760,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20762,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20762,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20764,1
    - Dst: fmCreateStateFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20764,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20767,1
    - Dst: buildProjectsForTSMAQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20767,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20769,1
    - Dst: createSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20769,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20770,1
    - Dst: buildCreateTSMAReqBuildStreamQueryCondition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20770,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20776,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20778,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20780,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 6
    argNames:
    - pCxt
    - pTrigger
    - pStmt
    - numOfTags
    - pTags
    - ppStreamQuery
    argTypes:
    - STranslateContext*
    - SStreamTriggerNode*
    - SCreateTSMAStmt*
    - int32_t
    - SSchema*
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20784
      start: 20752
    functionDepth: 7
    functionLinenumber: 20752
    functionLinenumberEnd: 20784
    functionName: buildCreateTSMAReqBuildStreamQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - buildProjectsForTSMAQuery
    - createSelectStmtImpl
    - nodesDestroyList
    - buildCreateTSMAReqBuildStreamQueryCondition
    - fmCreateStateFuncs
    - PAR_ERR_JRET
    - nodesDestroyNode
    - nodesCloneNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqBuildStreamQuery(STranslateContext* pCxt,
      SStreamTriggerNode* pTrigger,\n                                                  SCreateTSMAStmt*
      pStmt, int32_t numOfTags, const SSchema* pTags,\n                                                  SSelectStmt**
      ppStreamQuery)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20794,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20795,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20795,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20796,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20796,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20797,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20797,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20799,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20804,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20811,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20821,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20822,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 5
    argNames:
    - pTrigger
    - pStmt
    - numOfTags
    - pTags
    - ppTagList
    argTypes:
    - SStreamTriggerNode*
    - SCreateTSMAStmt*
    - int32_t
    - SSchema*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20825
      start: 20786
    functionDepth: 6
    functionLinenumber: 20786
    functionLinenumberEnd: 20825
    functionName: buildCreateTSMAReqBuildStreamOutTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - nodesMakeNode
    - FOREACH
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqBuildStreamOutTags(SStreamTriggerNode* pTrigger,
      SCreateTSMAStmt* pStmt,\n                                                    int32_t
      numOfTags, const SSchema* pTags, SNodeList** ppTagList)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20833,1
    - Dst: checkCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20833,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20840,1
    - Dst: buildCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20840,1
    - Dst: tSerializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20847,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20848,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20850,1
    - Dst: tSerializeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20852,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20853,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20857,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20859,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20861,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20864,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20865,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20867,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20869,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20870,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20875,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20877,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20878,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - pCxt
    - pCreateStream
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SMCreateSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20881
      start: 20827
    functionDepth: 25
    functionLinenumber: 20827
    functionLinenumberEnd: 20881
    functionName: buildCreateTSMAReqBuildCreateDropStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tSerializeSMDropStreamReq
    - parserError
    - tFreeSCMCreateStreamReq
    - checkCreateStream
    - buildCreateStreamReq
    - tFreeMDropStreamReq
    - taosMemoryCalloc
    - tSerializeSCMCreateStreamReq
    - PAR_ERR_JRET
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqBuildCreateDropStreamReq(STranslateContext*
      pCxt, SCreateStreamStmt* pCreateStream,\n                                                          SMCreateSmaReq*
      pReq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20893,1
    - Dst: buildCreateTSMAReqBuildStreamTriggerAndTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20893,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20894,1
    - Dst: buildCreateTsmaReqBuildStreamSubTableName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20894,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20895,1
    - Dst: buildCreateTSMAReqBuildStreamQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20895,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20896,1
    - Dst: buildCreateTSMAReqBuildStreamOutTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20896,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20898,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20898,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20902,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20902,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20906,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20906,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20907,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20907,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20909,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20909,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20910,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20911,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20912,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20913,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20920,1
    - Dst: buildCreateTSMAReqBuildCreateDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20920,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20924,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20926,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20928,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20930,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20931,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20932,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 6
    argNames:
    - pCxt
    - pStmt
    - pReq
    - tbName
    - numOfTags
    - pTags
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - SMCreateSmaReq*
    - char*
    - int32_t
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20936
      start: 20883
    functionDepth: 26
    functionLinenumber: 20883
    functionLinenumberEnd: 20936
    functionName: buildCreateTSMAReqBuildStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - buildCreateTSMAReqBuildStreamOutTags
    - buildCreateTSMAReqBuildCreateDropStreamReq
    - translateQuery
    - nodesDestroyList
    - nodesListToString
    - buildCreateTsmaReqBuildStreamSubTableName
    - nodesMakeNode
    - snprintf
    - tstrncpy
    - buildCreateTSMAReqBuildStreamQuery
    - nodesNodeToString
    - PAR_ERR_JRET
    - nodesDestroyNode
    - nodesCloneNode
    - buildCreateTSMAReqBuildStreamTriggerAndTag
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqBuildStreamReq(STranslateContext* pCxt,
      SCreateTSMAStmt* pStmt, SMCreateSmaReq* pReq,\n                                                const
      char* tbName, int32_t numOfTags, const SSchema* pTags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20939,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pSchema
    - ppCol
    argTypes:
    - SSchema*
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20947
      start: 20938
    functionDepth: 5
    functionLinenumber: 20938
    functionLinenumberEnd: 20947
    functionName: createColumnBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createColumnBySchema(const SSchema* pSchema, SColumnNode**
      ppCol)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20959,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20963,1
    - Dst: createColumnBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20963,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20964,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20965,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20965,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20967,1
    - Dst: fmIsImplicitTsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20969,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20969,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20970,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20975,1
    - Dst: fmCreateStateMergeFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20975,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20977,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20979,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20980,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20981,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20986,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20994,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20996,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20996,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20997,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20998,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:20999,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21003,1
    - Dst: nodesSortList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21006,1
    - Dst: deduplicateTsmaFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21007,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21010,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21011,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21011,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21017,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21017,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - columnNum
    - tagNum
    - pCols
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - int32_t
    - int32_t
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21019
      start: 20949
    functionDepth: 6
    functionLinenumber: 20949
    functionLinenumberEnd: 21019
    functionName: buildCreateTSMAReqRewriteFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesListPushFront
    - nodesListErase
    - nodesSortList
    - deduplicateTsmaFuncs
    - LIST_LENGTH
    - fmCreateStateMergeFuncs
    - nodeType
    - fmIsTSMASupportedFunc
    - FOREACH
    - snprintf
    - fmIsImplicitTsFunc
    - PAR_ERR_JRET
    - tstrerror
    - generateSyntaxErrMsgExt
    - fmGetFuncInfo
    - createColumnBySchema
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqRewriteFuncs(STranslateContext* pCxt, SCreateTSMAStmt*
      pStmt, int32_t columnNum,\n                                              int32_t
      tagNum, const SSchema* pCols)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21028,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21028,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21031,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21031,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21036,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21037,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21037,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21039,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21039,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21044,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21044,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21048,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21048,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21054,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21054,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - SMCreateSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21056
      start: 21024
    functionDepth: 10
    functionLinenumber: 21024
    functionLinenumberEnd: 21056
    functionName: buildCreateTSMAReqSetInterval
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - translateExpr
    - getDBCfg
    - IS_CALENDAR_TIME_DURATION
    - TSDB_TICK_PER_SECOND
    - tstrerror
    - generateSyntaxErrMsgExt
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateTSMAReqSetInterval(STranslateContext* pCxt, SCreateTSMAStmt*
      pStmt, SMCreateSmaReq* pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21065,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21065,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21066,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21068,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21069,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21069,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21071,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21071,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21078,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21078,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21081,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21083,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pRecursiveTsma
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - STableTSMAInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21086
      start: 21058
    functionDepth: 6
    functionLinenumber: 21058
    functionLinenumberEnd: 21086
    functionName: buildCreateTSMAReqProcessRecursiveFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesListMakeStrictAppend
    - nodesStringToNode
    - FOREACH
    - tstrerror
    - nodesDestroyNode
    - nodesCloneNode
    - PAR_ERR_JRET
    - fmIsTSMASupportedFunc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqProcessRecursiveFuncs(STranslateContext*
      pCxt, SCreateTSMAStmt* pStmt,\n                                                       STableTSMAInfo*
      pRecursiveTsma)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21093,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21094,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21094,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21096,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21097,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21097,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21098,1
    - Dst: getSmaIndexSql
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21098,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21101,1
    - Dst: taosGetSystemUUIDU64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21101,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21105,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - useTbName
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - SName*
    - SMCreateSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21107
      start: 21088
    functionDepth: 2
    functionLinenumber: 21088
    functionLinenumberEnd: 21107
    functionName: buildCreateTSMAReqBuildNameAndUid
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosGetSystemUUIDU64
    - toName
    - getSmaIndexSql
    - tstrerror
    - tNameExtractFullName
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReqBuildNameAndUid(STranslateContext* pCxt,
      SCreateTSMAStmt* pStmt, SName* useTbName,\n                                                 SMCreateSmaReq*
      pReq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21118,1
    - Dst: buildCreateTSMAReqBuildNameAndUid
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21118,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21120,1
    - Dst: buildCreateTSMAReqSetInterval
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21120,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21124,1
    - Dst: getTsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21124,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21126,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21126,1
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21128,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21130,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21130,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21134,1
    - Dst: buildCreateTSMAReqProcessRecursiveFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21134,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21136,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21137,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21138,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21139,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21139,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21145,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21145,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21147,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21147,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21149,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21149,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21160,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21162,1
    - Dst: buildCreateTSMAReqRewriteFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21162,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21164,1
    - Dst: buildCreateTSMAReqBuildStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21164,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21170,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - useTbName
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - SMCreateSmaReq*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21174
      start: 21109
    functionDepth: 27
    functionLinenumber: 21109
    functionLinenumberEnd: 21174
    functionName: buildCreateTSMAReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - getTableMeta
    - memcpy
    - convertTimePrecision
    - buildCreateTSMAReqBuildStreamReq
    - buildCreateTSMAReqProcessRecursiveFuncs
    - toName
    - buildCreateTSMAReqRewriteFuncs
    - memset
    - taosMemoryFree
    - buildCreateTSMAReqBuildNameAndUid
    - PAR_ERR_JRET
    - generateSyntaxErrMsgExt
    - tNameExtractFullName
    - buildCreateTSMAReqSetInterval
    - getTsma
    - checkRecursiveTsmaInterval
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTSMAReq(STranslateContext* pCxt, SCreateTSMAStmt*
      pStmt, SMCreateSmaReq* pReq,\n                                  SName* useTbName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21183,1
    - Dst: buildCreateTSMAReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21183,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21184,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21184,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21185,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21185,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21189,1
    - Dst: tFreeSMCreateSmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21193
      start: 21176
    functionDepth: 28
    functionLinenumber: 21176
    functionLinenumberEnd: 21193
    functionName: translateCreateTSMA
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - collectUseTable
    - buildCreateTSMAReq
    - buildCmdMsg
    - tFreeSMCreateSmaReq
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateTSMA(STranslateContext* pCxt, SCreateTSMAStmt*
      pStmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21202,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21203,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21203,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21207,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21209,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21211,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21213,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21215,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21215,1
    - Dst: getTsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21217,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21222,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21223,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21224,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21224,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21228,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21229,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21231,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21234,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21235,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21238,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21238,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21242,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21244,1
    - Dst: tFreeSMDropSmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropTSMAStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21247
      start: 21195
    functionDepth: 10
    functionLinenumber: 21195
    functionLinenumberEnd: 21247
    functionName: translateDropTSMA
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tSerializeSMDropStreamReq
    - parserError
    - collectUseTable
    - tFreeSMDropSmaReq
    - toName
    - buildCmdMsg
    - tFreeMDropStreamReq
    - PAR_ERR_JRET
    - tNameExtractFullName
    - taosMemoryCalloc
    - getTsma
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropTSMA(STranslateContext* pCxt, SDropTSMAStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareTsmaColWithColId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pNode1
    - pNode2
    argTypes:
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21255
      start: 21249
    functionDepth: 1
    functionLinenumber: 21249
    functionLinenumberEnd: 21255
    functionName: compareRsmaFuncWithColId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - compareTsmaColWithColId
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareRsmaFuncWithColId(SNode* pNode1, SNode* pNode2)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21259,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21266,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21268,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21269,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21270,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21277,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21284,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21291,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21299,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21304,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21311,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21312,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21312,1
    - Dst: fmIsRsmaSupportedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21315,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21316,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21321,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21327,1
    - Dst: nodesSortList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21331,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21333,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21337,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 4
    argNames:
    - pCxt
    - ppFuncs
    - columnNum
    - pCols
    argTypes:
    - STranslateContext*
    - SNodeList**
    - int32_t
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21345
      start: 21257
    functionDepth: 1
    functionLinenumber: 21257
    functionLinenumberEnd: 21345
    functionName: rewriteRsmaFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesSortList
    - LIST_LENGTH
    - strcasecmp
    - fmIsRsmaSupportedFunc
    - nodeType
    - FOREACH
    - snprintf
    - tstrerror
    - generateSyntaxErrMsgExt
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteRsmaFuncs(STranslateContext* pCxt, SNodeList** ppFuncs,
      int32_t columnNum, const SSchema* pCols)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21355,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21356,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21359,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21361,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21362,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21362,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21366,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21366,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21368,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21368,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21369,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21374,1
    - Dst: getDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21374,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21377,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21378,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21380,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21385,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21391,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21396,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21404,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21409,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21415,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21424,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21425,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21425,1
    - Dst: nFuncs < 0 || nFuncs >
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21428,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21429,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21429,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21433,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21434,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21440,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21440,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21448,1
    - Dst: rewriteRsmaFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21448,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21449,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21450,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21452,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21457,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21467,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21468,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 76
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - useTbName
    argTypes:
    - STranslateContext*
    - SCreateRsmaStmt*
    - SMCreateRsmaReq*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21469
      start: 21347
    functionDepth: 10
    functionLinenumber: 21347
    functionLinenumberEnd: 21469
    functionName: buildCreateRsmaReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableMeta
    - taosMemoryFreeClear
    - rewriteRsmaFuncs
    - getDBCfg
    - LIST_LENGTH
    - toName
    - getPrecisionUnit
    - translateValue
    - nFuncs < 0 || nFuncs >
    - snprintf
    - FOREACH
    - TAOS_RETURN
    - generateSyntaxErrMsgExt
    - tNameExtractFullName
    - getDuration
    - taosMemoryCalloc
    - PAR_ERR_JRET
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateRsmaReq(STranslateContext* pCxt, SCreateRsmaStmt*
      pStmt, SMCreateRsmaReq* pReq,\n                                  SName* useTbName)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21479,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21482,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21482,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21483,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21484,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21484,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21488,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21492,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21500,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21500,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21505,1
    - Dst: rewriteRsmaFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21505,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21508,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21514,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21514,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21525,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21526,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21528,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21533,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21541,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21541,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21546,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21547,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - pRsmaInfo
    - pReq
    - useTbName
    argTypes:
    - STranslateContext*
    - SAlterRsmaStmt*
    - SRsmaInfoRsp*
    - SMAlterRsmaReq*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21548
      start: 21471
    functionDepth: 10
    functionLinenumber: 21471
    functionLinenumberEnd: 21548
    functionName: buildAlterRsmaReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tNameFromString
    - getTableMeta
    - taosMemoryFreeClear
    - rewriteRsmaFuncs
    - getDBCfg
    - LIST_LENGTH
    - toName
    - snprintf
    - FOREACH
    - TAOS_RETURN
    - generateSyntaxErrMsgExt
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildAlterRsmaReq(STranslateContext* pCxt, SAlterRsmaStmt*
      pStmt, SRsmaInfoRsp* pRsmaInfo,\n                                 SMAlterRsmaReq*
      pReq, SName* useTbName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21560,1
    - Dst: buildCreateRsmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21560,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21561,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21561,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21562,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21562,1
    - Dst: tFreeSMCreateRsmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21569
      start: 21552
    functionDepth: 11
    functionLinenumber: 21552
    functionLinenumberEnd: 21569
    functionName: translateCreateRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - tFreeSMCreateRsmaReq
    - buildCmdMsg
    - buildCreateRsmaReq
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCreateRsma(STranslateContext* pCxt, SCreateRsmaStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21577,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21578,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21578,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21579,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21582,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21588
      start: 21571
    functionDepth: 3
    functionLinenumber: 21571
    functionLinenumberEnd: 21588
    functionName: translateDropRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - toName
    - buildCmdMsg
    - snprintf
    - tNameExtractFullName
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDropRsma(STranslateContext* pCxt, SDropRsmaStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21598,1
    - Dst: getRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21598,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21599,1
    - Dst: buildAlterRsmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21599,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21600,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21600,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21601,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21601,1
    - Dst: tFreeRsmaInfoRsp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21604,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21605,1
    - Dst: tFreeSMAlterRsmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21612
      start: 21590
    functionDepth: 11
    functionLinenumber: 21590
    functionLinenumberEnd: 21612
    functionName: translateAlterRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - collectUseTable
    - tFreeRsmaInfoRsp
    - getRsma
    - buildCmdMsg
    - tFreeSMAlterRsmaReq
    - buildAlterRsmaReq
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAlterRsma(STranslateContext* pCxt, SAlterRsmaStmt*
      pStmt)
  - BBCount: 129
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21616,1
    - Dst: translateSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21618,1
    - Dst: translateSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21621,1
    - Dst: translateDelete
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21624,1
    - Dst: translateInsert
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21627,1
    - Dst: translateCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21630,1
    - Dst: translateDropDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21633,1
    - Dst: translateAlterDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21636,1
    - Dst: translateTrimDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21639,1
    - Dst: translateSsMigrateDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21642,1
    - Dst: translateTrimDbWal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21645,1
    - Dst: translateCreateToken
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21648,1
    - Dst: translateAlterToken
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21651,1
    - Dst: translateDropToken
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21654,1
    - Dst: translateCreateTotpSecret
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21657,1
    - Dst: translateDropTotpSecret
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21660,1
    - Dst: translateCreateSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21663,1
    - Dst: translateDropTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21666,1
    - Dst: translateDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21669,1
    - Dst: translateAlterSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21673,1
    - Dst: translateCreateMount
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21677,1
    - Dst: translateDropMount
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21680,1
    - Dst: translateCreateUser
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21684,1
    - Dst: translateCreateEncryptAlgr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21687,1
    - Dst: translateAlterUser
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21690,1
    - Dst: translateDropUser
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21693,1
    - Dst: translateCreateRole
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21696,1
    - Dst: translateDropRole
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21699,1
    - Dst: translateAlterRole
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21702,1
    - Dst: translateDropEncryptAlgr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21705,1
    - Dst: translateUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21708,1
    - Dst: translateCreateDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21711,1
    - Dst: translateDropDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21714,1
    - Dst: translateAlterDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21717,1
    - Dst: translateAlterDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21720,1
    - Dst: translateCreateAnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21723,1
    - Dst: translateDropAnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21726,1
    - Dst: translateUpdateAnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21729,1
    - Dst: translateCreateBnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21732,1
    - Dst: translateDropBnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21735,1
    - Dst: translateCreateIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21738,1
    - Dst: translateDropIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21741,1
    - Dst: translateCreateComponentNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21747,1
    - Dst: translateDropComponentNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21753,1
    - Dst: translateCreateTopic
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21756,1
    - Dst: translateDropTopic
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21759,1
    - Dst: translateDropCGroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21762,1
    - Dst: translateAlterLocal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21765,1
    - Dst: translateExplain
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21768,1
    - Dst: translateDescribe
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21771,1
    - Dst: translateCompactDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21774,1
    - Dst: translateRollupDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21777,1
    - Dst: translateScanDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21780,1
    - Dst: translateCompactVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21783,1
    - Dst: translateRollupVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21786,1
    - Dst: translateScanVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21789,1
    - Dst: translateAlterCluster
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21792,1
    - Dst: translateAlterEncryptKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21795,1
    - Dst: translateAlterKeyExpiration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21798,1
    - Dst: translateKillConnection
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21801,1
    - Dst: translateKillCompact
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21804,1
    - Dst: translateKillRetention
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21807,1
    - Dst: translateKillScan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21810,1
    - Dst: translateKillQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21813,1
    - Dst: translateKillTransaction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21816,1
    - Dst: translateKillSsMigrate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21819,1
    - Dst: translateCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21822,1
    - Dst: translateDropStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21825,1
    - Dst: translatePauseStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21828,1
    - Dst: translateResumeStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21831,1
    - Dst: translateRecalcStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21834,1
    - Dst: translateCreateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21837,1
    - Dst: translateDropFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21840,1
    - Dst: translateGrant
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21843,1
    - Dst: translateRevoke
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21846,1
    - Dst: translateBalanceVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21849,1
    - Dst: translateAssignLeader
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21852,1
    - Dst: translateBalanceVgroupLeader
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21856,1
    - Dst: translateSetVgroupKeepVersion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21859,1
    - Dst: translateMergeVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21862,1
    - Dst: translateRedistributeVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21865,1
    - Dst: translateSplitVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21868,1
    - Dst: translateShowVariables
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21871,1
    - Dst: translateShowCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21874,1
    - Dst: translateShowCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21878,1
    - Dst: translateShowCreateVTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21881,1
    - Dst: translateShowCreateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21884,1
    - Dst: translateShowCreateRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21887,1
    - Dst: translateShowCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21890,1
    - Dst: translateShowVirtualTableValidate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21893,1
    - Dst: translateRestoreDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21899,1
    - Dst: translateCreateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21902,1
    - Dst: translateDropView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21905,1
    - Dst: translateCreateTSMA
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21908,1
    - Dst: translateDropTSMA
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21913,1
    - Dst: translateCreateRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21916,1
    - Dst: translateDropRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21919,1
    - Dst: translateAlterRsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21922,1
    - Dst: translateCreateXnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21926,1
    - Dst: translateDropXnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21929,1
    - Dst: translateDrainXnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21932,1
    - Dst: translateAlterXnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21935,1
    - Dst: translateCreateXnodeTask
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21938,1
    - Dst: translateStartXnodeTask
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21941,1
    - Dst: translateStopXnodeTask
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21944,1
    - Dst: translateDropXnodeTask
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21947,1
    - Dst: translateUpdateXnodeTask
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21950,1
    - Dst: translateCreateXnodeJob
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21953,1
    - Dst: translateAlterXnodeJob
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21956,1
    - Dst: translateRebalanceXnodeJob
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21959,1
    - Dst: translateRebalanceXnodeJobWhere
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21962,1
    - Dst: translateDropXnodeJob
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21965,1
    - Dst: translateCreateXnodeAgent
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21968,1
    - Dst: translateAlterXnodeAgent
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21971,1
    - Dst: translateDropXnodeAgent
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21974,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 362
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21980
      start: 21614
    functionDepth: 29
    functionLinenumber: 21614
    functionLinenumberEnd: 21980
    functionName: translateQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 8
    functionsReached:
    - translateTrimDatabase
    - translateKillQuery
    - translateDropFunction
    - translateShowCreateDatabase
    - translateCreateAnode
    - translateAlterDnode
    - translateDropXnode
    - translateRebalanceXnodeJob
    - translateDropRole
    - translateDropSuperTable
    - translateDropTopic
    - translateResumeStream
    - translateCreateEncryptAlgr
    - translateDescribe
    - translateSelect
    - translateCreateXnodeJob
    - translateKillSsMigrate
    - translateCreateTSMA
    - translateAlterDatabase
    - translateCreateComponentNode
    - translateSplitVgroup
    - translateShowCreateStream
    - translateSetOperator
    - translateCreateUser
    - translateCompactDb
    - translateCreateTopic
    - translateDropStream
    - translateRevoke
    - translateGrant
    - translateDropComponentNode
    - nodeType
    - translateRebalanceXnodeJobWhere
    - translateDropEncryptAlgr
    - translateCreateXnode
    - translateUpdateXnodeTask
    - translateAlterXnodeAgent
    - translateKillCompact
    - translateAlterRole
    - translateDropMount
    - translateDropXnodeTask
    - translateAlterXnodeJob
    - translateDropDatabase
    - translateDropTSMA
    - translateCreateTotpSecret
    - translateCreateRsma
    - translateUpdateAnode
    - translateDropXnodeJob
    - translateRedistributeVgroup
    - translateShowCreateRsma
    - translateAlterToken
    - translateStopXnodeTask
    - translateCreateToken
    - translateDropToken
    - translateShowVariables
    - translateUseDatabase
    - translateDrainXnode
    - translateInsert
    - translateCreateDnode
    - translateDropTable
    - translateCreateRole
    - translateCreateStream
    - translateDropAnode
    - translateShowVirtualTableValidate
    - translateCreateDatabase
    - translateCreateBnode
    - translateDropUser
    - translateAlterEncryptKey
    - translateCreateSuperTable
    - translateRestoreDnode
    - translateAlterCluster
    - translateCreateXnodeAgent
    - translateKillScan
    - translateTrimDbWal
    - translateRecalcStream
    - translateCompactVgroups
    - translateCreateXnodeTask
    - translateDelete
    - translateRollupVgroups
    - translateBalanceVgroup
    - translateBalanceVgroupLeader
    - translateSsMigrateDatabase
    - translateShowCreateTable
    - translateDropDnode
    - translateAssignLeader
    - translateAlterXnode
    - translateCreateView
    - translateCreateIndex
    - translateScanDb
    - translateSetVgroupKeepVersion
    - translateDropBnode
    - translateDropRsma
    - translateShowCreateView
    - translateAlterRsma
    - translateCreateMount
    - translateDropTotpSecret
    - translateAlterLocal
    - translateShowCreateVTable
    - translateAlterUser
    - translateDropIndex
    - translateExplain
    - translateRollupDb
    - translateCreateFunction
    - translateAlterKeyExpiration
    - translatePauseStream
    - translateKillRetention
    - translateStartXnodeTask
    - translateScanVgroups
    - translateDropView
    - translateDropCGroup
    - translateAlterSuperTable
    - translateKillConnection
    - translateMergeVgroup
    - translateKillTransaction
    - translateDropXnodeAgent
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateQuery(STranslateContext* pCxt, SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21984,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21986,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21991,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21992,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21994,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21997,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21998,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:21999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STranslateContext*
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22008
      start: 21982
    functionDepth: 1
    functionLinenumber: 21982
    functionLinenumberEnd: 22008
    functionName: setCurrLevelNsFromParent
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - parserError
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayDup
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t setCurrLevelNsFromParent(STranslateContext* pSrc, STranslateContext*
      pDst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22023,1
    - Dst: updateContextFromSubQ
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22032,1
    - Dst: updateContextFromSubQ
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22033,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pChild
    argTypes:
    - STranslateContext*
    - SNode*
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22041
      start: 22010
    functionDepth: 1
    functionLinenumber: 22010
    functionLinenumberEnd: 22041
    functionName: updateContextFromSubQ
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodeType
    - updateContextFromSubQ
    linkageType: ''
    returnType: void
    signature: void updateContextFromSubQ(STranslateContext* pCxt, SNode* pNode, STranslateContext*
      pChild)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22047,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22050,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22050,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22052,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22055,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22061,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22063,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22065,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22068,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22068,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22070,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22073,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22079,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22081,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22083,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22086,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22086,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22088,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22091,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - pCxt
    - pSrc
    argTypes:
    - STranslateContext*
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22096
      start: 22043
    functionDepth: 1
    functionLinenumber: 22043
    functionLinenumberEnd: 22096
    functionName: mergeTranslateContextMetas
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCancelIterate
    - strlen
    - tNameExtractFullName
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeTranslateContextMetas(STranslateContext* pCxt, STranslateContext*
      pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22113
      start: 22098
    functionDepth: 30
    functionLinenumber: 22098
    functionLinenumberEnd: 22113
    functionName: translateTableSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - translateQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTableSubquery(STranslateContext* pCxt, SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inStreamCalcClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSubCxt
    argTypes:
    - STranslateContext*
    - STranslateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22123
      start: 22115
    functionDepth: 0
    functionLinenumber: 22115
    functionLinenumberEnd: 22123
    functionName: updateStreamSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - inStreamCalcClause
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateStreamSubquery(STranslateContext* pCxt, STranslateContext*
      pSubCxt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: initTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22130,1
    - Dst: updateStreamSubquery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22132,1
    - Dst: setCurrLevelNsFromParent
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22136,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22139,1
    - Dst: updateContextFromSubQ
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22142,1
    - Dst: mergeTranslateContextMetas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22144,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22150,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22153,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22167
      start: 22125
    functionDepth: 30
    functionLinenumber: 22125
    functionLinenumberEnd: 22167
    functionName: translateExprSubqueryImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - parserError
    - setCurrLevelNsFromParent
    - destroyTranslateContext
    - initTranslateContext
    - updateContextFromSubQ
    - updateStreamSubquery
    - mergeTranslateContextMetas
    - nodesListAppend
    - translateQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateExprSubqueryImpl(STranslateContext* pCxt, SNode* pNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22171,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22172,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22176,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22178,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22193,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22198,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - pProjections
    - numOfCols
    - pSchema
    - ppExtSchemas
    argTypes:
    - SNodeList*
    - int32_t*
    - SSchema**
    - SExtSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22206
      start: 22169
    functionDepth: 1
    functionLinenumber: 22169
    functionLinenumberEnd: 22206
    functionName: extractQueryResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - LIST_LENGTH
    - tstrncpy
    - calcTypeMod
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t extractQueryResultSchema(const SNodeList* pProjections, int32_t*
      numOfCols, SSchema** pSchema,\n                                        SExtSchema**
      ppExtSchemas)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22193,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22198,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22203
      start: 22184
    functionDepth: 1
    functionLinenumber: 22184
    functionLinenumberEnd: 22203
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 251
    functionsReached:
    - tstrncpy
    - calcTypeMod
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pProjections)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22208
      start: 22208
    functionDepth: 0
    functionLinenumber: 22208
    functionLinenumberEnd: 22208
    functionName: extractResultTsPrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t extractResultTsPrecision(const SSelectStmt* pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22212,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22220
      start: 22210
    functionDepth: 1
    functionLinenumber: 22210
    functionLinenumberEnd: 22220
    functionName: extractExplainResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractExplainResultSchema(int32_t* numOfCols, SSchema** pSchema)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22225,1
    - Dst: withColCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22227,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22231,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22238,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22242,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22246,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22250,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22253,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22256,1
    - Dst: withColCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22257,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22260,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22264,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - pMeta
    - numOfCols
    - pSchema
    argTypes:
    - STableMeta*
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22273
      start: 22222
    functionDepth: 1
    functionLinenumber: 22222
    functionLinenumberEnd: 22273
    functionName: extractDescribeResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - withColCompress
    - hasRefCol
    - taosMemoryCalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractDescribeResultSchema(STableMeta* pMeta, int32_t* numOfCols,
      SSchema** pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22277,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22284,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22291
      start: 22275
    functionDepth: 1
    functionLinenumber: 22275
    functionLinenumberEnd: 22291
    functionName: extractShowCreateDatabaseResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractShowCreateDatabaseResultSchema(int32_t* numOfCols, SSchema**
      pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22295,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22302,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22309
      start: 22293
    functionDepth: 1
    functionLinenumber: 22293
    functionLinenumberEnd: 22309
    functionName: extractShowCreateTableResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractShowCreateTableResultSchema(int32_t* numOfCols, SSchema**
      pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22313,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22320,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22327
      start: 22311
    functionDepth: 1
    functionLinenumber: 22311
    functionLinenumberEnd: 22327
    functionName: extractShowCreateRsmaResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractShowCreateRsmaResultSchema(int32_t* numOfCols, SSchema**
      pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22331,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22338,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22345
      start: 22329
    functionDepth: 1
    functionLinenumber: 22329
    functionLinenumberEnd: 22345
    functionName: extractShowCreateVTableResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractShowCreateVTableResultSchema(int32_t* numOfCols, SSchema**
      pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22349,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22356,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22363
      start: 22347
    functionDepth: 1
    functionLinenumber: 22347
    functionLinenumberEnd: 22363
    functionName: extractShowCreateViewResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractShowCreateViewResultSchema(int32_t* numOfCols, SSchema**
      pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22367,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22374,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22381
      start: 22365
    functionDepth: 1
    functionLinenumber: 22365
    functionLinenumberEnd: 22381
    functionName: extractShowCreateStreamResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractShowCreateStreamResultSchema(int32_t* numOfCols, SSchema**
      pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22385,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22392,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22396,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22400,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22404,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22411
      start: 22383
    functionDepth: 1
    functionLinenumber: 22383
    functionLinenumberEnd: 22411
    functionName: extractShowVariablesResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractShowVariablesResultSchema(int32_t* numOfCols, SSchema**
      pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22415,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22422,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22426,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22433
      start: 22413
    functionDepth: 1
    functionLinenumber: 22413
    functionLinenumberEnd: 22433
    functionName: extractCompactDbResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractCompactDbResultSchema(int32_t* numOfCols, SSchema**
      pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22437,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22444,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22448,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22455
      start: 22435
    functionDepth: 1
    functionLinenumber: 22435
    functionLinenumberEnd: 22455
    functionName: extractScanDbResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractScanDbResultSchema(int32_t* numOfCols, SSchema** pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22459,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22469
      start: 22457
    functionDepth: 1
    functionLinenumber: 22457
    functionLinenumberEnd: 22469
    functionName: extractCreateTokenResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractCreateTokenResultSchema(int32_t* numOfCols, SSchema**
      pSchema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22473,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22483
      start: 22471
    functionDepth: 1
    functionLinenumber: 22471
    functionLinenumberEnd: 22483
    functionName: extractCreateTotpSecretResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractCreateTotpSecretResultSchema(int32_t* numOfCols, SSchema**
      pSchema)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22490,1
    - Dst: extractQueryResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22493,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22493,1
    - Dst: extractExplainResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22495,1
    - Dst: extractDescribeResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22498,1
    - Dst: extractShowCreateDatabaseResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22501,1
    - Dst: extractShowCreateTableResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22504,1
    - Dst: extractShowCreateVTableResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22506,1
    - Dst: extractShowCreateViewResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22508,1
    - Dst: extractShowCreateRsmaResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22510,1
    - Dst: extractShowCreateStreamResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22512,1
    - Dst: extractShowVariablesResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22515,1
    - Dst: extractCompactDbResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22521,1
    - Dst: extractScanDbResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22524,1
    - Dst: extractCreateTokenResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22526,1
    - Dst: extractCreateTotpSecretResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 4
    argNames:
    - pRoot
    - numOfCols
    - pSchema
    - ppExtSchemas
    argTypes:
    - SNode*
    - int32_t*
    - SSchema**
    - SExtSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22534
      start: 22485
    functionDepth: 2
    functionLinenumber: 22485
    functionLinenumberEnd: 22534
    functionName: extractResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - extractDescribeResultSchema
    - extractCompactDbResultSchema
    - extractShowCreateStreamResultSchema
    - extractShowCreateDatabaseResultSchema
    - extractQueryResultSchema
    - extractShowCreateVTableResultSchema
    - extractShowCreateTableResultSchema
    - extractShowCreateViewResultSchema
    - extractScanDbResultSchema
    - nodeType
    - extractCreateTokenResultSchema
    - extractShowCreateRsmaResultSchema
    - extractCreateTotpSecretResultSchema
    - getProjectList
    - extractExplainResultSchema
    - extractShowVariablesResultSchema
    linkageType: ''
    returnType: int32_t
    signature: int32_t extractResultSchema(const SNode* pRoot, int32_t* numOfCols,
      SSchema** pSchema, SExtSchema** ppExtSchemas)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22538,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22545
      start: 22536
    functionDepth: 5
    functionLinenumber: 22536
    functionLinenumberEnd: 22545
    functionName: createStarCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createStarCol(SNode** ppNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22549,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pProjCol
    - ppNode
    argTypes:
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22556
      start: 22547
    functionDepth: 5
    functionLinenumber: 22547
    functionLinenumberEnd: 22556
    functionName: createProjectCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t createProjectCol(const char* pProjCol, SNode** ppNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createStarCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22563,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22565,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22569,1
    - Dst: createProjectCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22574,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22576,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22579,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22581,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - ncols
    - pCols
    - pResList
    argTypes:
    - int32_t
    - char*[]
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22587
      start: 22558
    functionDepth: 6
    functionLinenumber: 22558
    functionLinenumberEnd: 22587
    functionName: createProjectCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createStarCol
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - createProjectCol
    linkageType: ''
    returnType: int32_t
    signature: int32_t createProjectCols(int32_t ncols, const char* const pCols[],
      SNodeList** pResList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22592,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22596,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22599,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22601,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22604,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22605,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - pDb
    - pTable
    - pProjectionList
    - pStmt
    argTypes:
    - char*
    - char*
    - SNodeList*
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22613
      start: 22589
    functionDepth: 5
    functionLinenumber: 22589
    functionLinenumberEnd: 22613
    functionName: createSimpleSelectStmtImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSimpleSelectStmtImpl(const char* pDb, const char* pTable,
      SNodeList* pProjectionList,\n                                          SSelectStmt**
      pStmt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22620,1
    - Dst: createProjectCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22620,1
    - Dst: createSimpleSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pDb
    - pTable
    - numOfProjs
    - pProjCol
    - pStmt
    argTypes:
    - char*
    - char*
    - int32_t
    - char*[]
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22624
      start: 22615
    functionDepth: 7
    functionLinenumber: 22615
    functionLinenumberEnd: 22624
    functionName: createSimpleSelectStmtFromCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - createProjectCols
    - createSimpleSelectStmtImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSimpleSelectStmtFromCols(const char* pDb, const char*
      pTable, int32_t numOfProjs,\n                                              const
      char* const pProjCol[], SSelectStmt** pStmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSimpleSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pDb
    - pTable
    - pProjectionList
    - pStmt
    argTypes:
    - char*
    - char*
    - SNodeList*
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22629
      start: 22626
    functionDepth: 6
    functionLinenumber: 22626
    functionLinenumberEnd: 22629
    functionName: createSimpleSelectStmtFromProjList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSimpleSelectStmtImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSimpleSelectStmtFromProjList(const char* pDb, const
      char* pTable, SNodeList* pProjectionList,\n                                                  SSelectStmt**
      pStmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSimpleSelectStmtFromCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - showType
    - pStmt
    argTypes:
    - ENodeType
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22635
      start: 22631
    functionDepth: 8
    functionLinenumber: 22631
    functionLinenumberEnd: 22635
    functionName: createSelectStmtForShow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSimpleSelectStmtFromCols
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSelectStmtForShow(ENodeType showType, SSelectStmt** pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSimpleSelectStmtFromCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pStmt
    - pOutput
    argTypes:
    - SShowTableDistributedStmt*
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22639
      start: 22637
    functionDepth: 8
    functionLinenumber: 22637
    functionLinenumberEnd: 22639
    functionName: createSelectStmtForShowTableDist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSimpleSelectStmtFromCols
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSelectStmtForShowTableDist(SShowTableDistributedStmt*
      pStmt, SSelectStmt** pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22641,1
    - Dst: createSimpleSelectStmtFromCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pStmt
    - pOutput
    argTypes:
    - SShowStmt*
    - SSelectStmt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22645
      start: 22640
    functionDepth: 8
    functionLinenumber: 22640
    functionLinenumberEnd: 22645
    functionName: createSelectStmtForShowDBUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - createSimpleSelectStmtFromCols
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSelectStmtForShowDBUsage(SShowStmt* pStmt, SSelectStmt**
      pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22653,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22659,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22662,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22664,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - opType
    - pRight
    - pOp
    argTypes:
    - EOperatorType
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22672
      start: 22647
    functionDepth: 5
    functionLinenumber: 22647
    functionLinenumberEnd: 22672
    functionName: createTsOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    - snprintf
    - nodesCloneNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTsOperatorNode(EOperatorType opType, const SNode* pRight,
      SNode** pOp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22680,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22686,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22688,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22691,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22693,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - opType
    - pColName
    - pRight
    - pOp
    argTypes:
    - EOperatorType
    - char*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22700
      start: 22674
    functionDepth: 5
    functionLinenumber: 22674
    functionLinenumberEnd: 22700
    functionName: createOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createOperatorNode(EOperatorType opType, const char* pColName,
      const SNode* pRight, SNode** pOp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22705,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22709,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22711,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22714,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22716,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22719,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - opType
    - pLeftCol
    - pRightCol
    - ppResOp
    argTypes:
    - EOperatorType
    - char*
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22724
      start: 22702
    functionDepth: 5
    functionLinenumber: 22702
    functionLinenumberEnd: 22724
    functionName: createParOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createParOperatorNode(EOperatorType opType, const char* pLeftCol,
      const char* pRightCol,\n                                     SNode** ppResOp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22732,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22738,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22740,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22743,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - opType
    - pLeft
    - pRight
    - pOp
    argTypes:
    - EOperatorType
    - SNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22751
      start: 22726
    functionDepth: 5
    functionLinenumber: 22726
    functionLinenumberEnd: 22751
    functionName: createOperatorNodeByNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createOperatorNodeByNode(EOperatorType opType, const SNode*
      pLeft, const SNode* pRight, SNode** pOp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22755,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22761,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22763,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - opType
    - pColName
    - pOp
    argTypes:
    - EOperatorType
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22772
      start: 22753
    functionDepth: 5
    functionLinenumber: 22753
    functionLinenumberEnd: 22772
    functionName: createIsOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createIsOperatorNode(EOperatorType opType, const char* pColName,
      SNode** pOp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22776,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22782,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - opType
    - pNode
    - pOp
    argTypes:
    - EOperatorType
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22791
      start: 22774
    functionDepth: 5
    functionLinenumber: 22774
    functionLinenumberEnd: 22791
    functionName: createIsOperatorNodeByNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createIsOperatorNodeByNode(EOperatorType opType, SNode* pNode,
      SNode** pOp)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22810
      start: 22793
    functionDepth: 0
    functionLinenumber: 22793
    functionLinenumberEnd: 22810
    functionName: getTbNameColName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getTbNameColName(ENodeType type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22815,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22820,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22822,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22825,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22828,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - pCond1
    - pCond2
    - pCond
    - logicCondType
    argTypes:
    - SNode**
    - SNode**
    - SNode**
    - ELogicConditionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22838
      start: 22812
    functionDepth: 5
    functionLinenumber: 22812
    functionLinenumberEnd: 22838
    functionName: createLogicCondNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesMakeList
    - nodesDestroyNode
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t createLogicCondNode(SNode** pCond1, SNode** pCond2, SNode**
      pCond, ELogicConditionType logicCondType)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22848,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22853,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22860,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22865,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22873,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22878,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22887,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22888,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - pSelect
    - pCond
    argTypes:
    - SSelectStmt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22892
      start: 22840
    functionDepth: 6
    functionLinenumber: 22840
    functionLinenumberEnd: 22892
    functionName: insertCondIntoSelectStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached:
    - nodesListMakeAppend
    - nodesDestroyList
    - nodeType
    - nodesMakeNode
    - nodesListAppendList
    linkageType: ''
    returnType: int32_t
    signature: int32_t insertCondIntoSelectStmt(SSelectStmt* pSelect, SNode** pCond)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22900,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22903,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22906,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22909,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22911,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22912,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22913,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22915,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22918,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22919,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22920,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22923
      start: 22894
    functionDepth: 7
    functionLinenumber: 22894
    functionLinenumberEnd: 22923
    functionName: addShowUserDatabasesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeValueNodeFromString
    - insertCondIntoSelectStmt
    - createLogicCondNode
    - createOperatorNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t addShowUserDatabasesCond(SSelectStmt* pSelect)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22931,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22933,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22936,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22939,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22941,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22942,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22944,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22947,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22950,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22951,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22952,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22955
      start: 22925
    functionDepth: 7
    functionLinenumber: 22925
    functionLinenumberEnd: 22955
    functionName: addShowSystemDatabasesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeValueNodeFromString
    - insertCondIntoSelectStmt
    - createLogicCondNode
    - createOperatorNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t addShowSystemDatabasesCond(SSelectStmt* pSelect)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22961,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22964,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22966,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22968,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22971
      start: 22957
    functionDepth: 7
    functionLinenumber: 22957
    functionLinenumberEnd: 22971
    functionName: addShowNormalTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - insertCondIntoSelectStmt
    - nodesMakeValueNodeFromString
    - nodesDestroyNode
    - createOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t addShowNormalTablesCond(SSelectStmt* pSelect, bool equal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22977,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22980,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22982,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22984,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22987
      start: 22973
    functionDepth: 7
    functionLinenumber: 22973
    functionLinenumberEnd: 22987
    functionName: addShowChildTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - insertCondIntoSelectStmt
    - nodesMakeValueNodeFromString
    - nodesDestroyNode
    - createOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t addShowChildTablesCond(SSelectStmt* pSelect, bool equal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22993,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22993,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22995,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22995,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22997,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:22997,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23000,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23003
      start: 22989
    functionDepth: 7
    functionLinenumber: 22989
    functionLinenumberEnd: 23003
    functionName: addShowVirtualNormalTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeValueNodeFromString
    - insertCondIntoSelectStmt
    - createOperatorNode
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t addShowVirtualNormalTablesCond(SSelectStmt* pSelect, bool equal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23009,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23009,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23011,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23011,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23013,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23013,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23016,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23019
      start: 23005
    functionDepth: 7
    functionLinenumber: 23005
    functionLinenumberEnd: 23019
    functionName: addShowVirtualChildTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeValueNodeFromString
    - insertCondIntoSelectStmt
    - createOperatorNode
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t addShowVirtualChildTablesCond(SSelectStmt* pSelect, bool equal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23025,1
    - Dst: nodesMakeValueNodeFromBool
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23025,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23027,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23028,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23030,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23030,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23033,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23036
      start: 23021
    functionDepth: 7
    functionLinenumber: 23021
    functionLinenumberEnd: 23036
    functionName: addShowVirtualSuperTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - insertCondIntoSelectStmt
    - nodesMakeValueNodeFromBool
    - createOperatorNode
    - nodesDestroyNode
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t addShowVirtualSuperTablesCond(SSelectStmt* pSelect, bool equal)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23043,1
    - Dst: addShowUserDatabasesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23043,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23045,1
    - Dst: addShowSystemDatabasesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23045,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23047,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23053,1
    - Dst: addShowNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23053,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23055,1
    - Dst: addShowChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23055,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23057,1
    - Dst: addShowVirtualNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23057,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23058,1
    - Dst: addShowVirtualChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23058,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23064,1
    - Dst: addShowVirtualNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23064,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23066,1
    - Dst: addShowVirtualChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23066,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23068,1
    - Dst: addShowNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23068,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23069,1
    - Dst: addShowChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23069,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23075,1
    - Dst: addShowVirtualSuperTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23075,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23077,1
    - Dst: addShowVirtualSuperTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23077,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23079,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23084,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - pShow
    - pSelect
    argTypes:
    - SShowStmt*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23088
      start: 23038
    functionDepth: 8
    functionLinenumber: 23038
    functionLinenumberEnd: 23088
    functionName: addShowKindCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - addShowChildTablesCond
    - addShowNormalTablesCond
    - addShowSystemDatabasesCond
    - addShowUserDatabasesCond
    - PAR_RET
    - addShowVirtualSuperTablesCond
    - PAR_ERR_RET
    - addShowVirtualChildTablesCond
    - addShowVirtualNormalTablesCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t addShowKindCond(const SShowStmt* pShow, SSelectStmt* pSelect)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23093,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23095,1
    - Dst: getTbNameColName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23095,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23095,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23096,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23097,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23102,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23103,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23104,1
    - Dst: addShowKindCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23111,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pShow
    - pSelect
    argTypes:
    - SShowStmt*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23122
      start: 23090
    functionDepth: 9
    functionLinenumber: 23090
    functionLinenumberEnd: 23122
    functionName: createShowCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTbNameColName
    - addShowKindCond
    - nodeType
    - tstrncpy
    - createLogicCondNode
    - createOperatorNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createShowCondition(const SShowStmt* pShow, SSelectStmt* pSelect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23126,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23126,1
    - Dst: createShowCondition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23128,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23133,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23139
      start: 23124
    functionDepth: 10
    functionLinenumber: 23124
    functionLinenumberEnd: 23139
    functionName: rewriteShow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - createSelectStmtForShow
    - nodesDestroyNode
    - createShowCondition
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShow(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23143,1
    - Dst: getDBVgInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23145,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23146,1
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23152
      start: 23141
    functionDepth: 11
    functionLinenumber: 23141
    functionLinenumberEnd: 23152
    functionName: rewriteShowStreams
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - taosArrayDestroy
    - rewriteShow
    - getDBVgInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowStreams(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23154
      start: 23154
    functionDepth: 11
    functionLinenumber: 23154
    functionLinenumberEnd: 23154
    functionName: rewriteShowVtables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteShow
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowVtables(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pShow
    argTypes:
    - STranslateContext*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23160
      start: 23156
    functionDepth: 10
    functionLinenumber: 23156
    functionLinenumberEnd: 23160
    functionName: checkShowVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkShowVgroups(STranslateContext* pCxt, SShowStmt* pShow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkShowVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23163,1
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23168
      start: 23162
    functionDepth: 11
    functionLinenumber: 23162
    functionLinenumberEnd: 23168
    functionName: rewriteShowVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkShowVgroups
    - rewriteShow
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowVgroups(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23174,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23176,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23178,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23178,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23183,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pShow
    argTypes:
    - STranslateContext*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23191
      start: 23170
    functionDepth: 13
    functionLinenumber: 23170
    functionLinenumberEnd: 23191
    functionName: checkShowTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - generateSyntaxErrMsg
    - getTargetMeta
    - toName
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkShowTags(STranslateContext* pCxt, const SShowStmt* pShow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkShowTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23194,1
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23199
      start: 23193
    functionDepth: 14
    functionLinenumber: 23193
    functionLinenumberEnd: 23199
    functionName: rewriteShowTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - checkShowTags
    - rewriteShow
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowTags(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23203,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23210
      start: 23201
    functionDepth: 5
    functionLinenumber: 23201
    functionLinenumberEnd: 23210
    functionName: createTagsFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createTagsFunction(SFunctionNode** ppNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23214,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23218,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23220,1
    - Dst: createTagsFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23224,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pProjections
    - pTags
    argTypes:
    - SNodeList**
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23230
      start: 23212
    functionDepth: 6
    functionLinenumber: 23212
    functionLinenumberEnd: 23230
    functionName: createShowTableTagsProjections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createTagsFunction
    - nodesListMakeStrictAppend
    - TSWAP
    - nodesListStrictAppend
    - createTbnameFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t createShowTableTagsProjections(SNodeList** pProjections, SNodeList**
      pTags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSimpleSelectStmtFromCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23235,1
    - Dst: createShowTableTagsProjections
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23238,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23244,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23250
      start: 23232
    functionDepth: 8
    functionLinenumber: 23232
    functionLinenumberEnd: 23250
    functionName: rewriteShowStableTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSimpleSelectStmtFromCols
    - createShowTableTagsProjections
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowStableTags(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23257,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23257,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23259,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23262,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23266,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23278
      start: 23252
    functionDepth: 9
    functionLinenumber: 23252
    functionLinenumberEnd: 23278
    functionName: rewriteShowDnodeVariables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - createSelectStmtForShow
    - createLogicCondNode
    - createOperatorNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowDnodeVariables(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23284,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23286,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23296,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23299,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23303
      start: 23280
    functionDepth: 9
    functionLinenumber: 23280
    functionLinenumberEnd: 23303
    functionName: rewriteShowInstances
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtForShow
    - nodesDestroyNode
    - createOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowInstances(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23308,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23311,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23321
      start: 23305
    functionDepth: 9
    functionLinenumber: 23305
    functionLinenumberEnd: 23321
    functionName: rewriteShowVnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtForShow
    - nodesDestroyNode
    - createOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowVnodes(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23328,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23329,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23331,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23331,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23340,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowValidateVirtualTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23348
      start: 23323
    functionDepth: 13
    functionLinenumber: 23323
    functionLinenumberEnd: 23348
    functionName: validateShowValidateMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - taosMemoryFreeClear
    - getTargetMeta
    - toName
    - tstrerror
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateShowValidateMeta(STranslateContext* pCxt, SShowValidateVirtualTable*
      pStmt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: validateShowValidateMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23354,1
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23359,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23359,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23361,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23370,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23371,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23371,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23372,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23372,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23375,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23376,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23376,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23378,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23378,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23380,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23380,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23385,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23385,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23395,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23395,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23401,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23405,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23406,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23407,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23408,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23409,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23411,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23414
      start: 23349
    functionDepth: 14
    functionLinenumber: 23349
    functionLinenumberEnd: 23414
    functionName: rewriteShowValidateVtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeValueNodeFromString
    - insertCondIntoSelectStmt
    - nodeType
    - createSelectStmtForShow
    - createOperatorNode
    - createLogicCondNode
    - strlen
    - nodesDestroyNode
    - PAR_ERR_JRET
    - validateShowValidateMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowValidateVtable(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23418,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23423,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23427
      start: 23416
    functionDepth: 5
    functionLinenumber: 23416
    functionLinenumberEnd: 23427
    functionName: createBlockDistInfoFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createBlockDistInfoFunc(SFunctionNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23431,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23436,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23437,1
    - Dst: createBlockDistInfoFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23439,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23441,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23449
      start: 23429
    functionDepth: 6
    functionLinenumber: 23429
    functionLinenumberEnd: 23449
    functionName: createBlockDistFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - createBlockDistInfoFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t createBlockDistFunc(SFunctionNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShowTableDist
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23453,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23455,1
    - Dst: createBlockDistFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23457,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23458,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23467
      start: 23451
    functionDepth: 9
    functionLinenumber: 23451
    functionLinenumberEnd: 23467
    functionName: rewriteShowTableDist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - createBlockDistFunc
    - createSelectStmtForShowTableDist
    - NODES_DESTORY_LIST
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowTableDist(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23471,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23476,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23480
      start: 23469
    functionDepth: 5
    functionLinenumber: 23469
    functionLinenumberEnd: 23480
    functionName: createBlockDBUsageInfoFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createBlockDBUsageInfoFunc(SFunctionNode** ppNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23483,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23488,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23489,1
    - Dst: createBlockDBUsageInfoFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23491,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23493,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23501
      start: 23481
    functionDepth: 6
    functionLinenumber: 23481
    functionLinenumberEnd: 23501
    functionName: createDBUsageFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - createBlockDBUsageInfoFunc
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDBUsageFunc(SFunctionNode** ppNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShowDBUsage
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23504,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23506,1
    - Dst: createDBUsageFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23508,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23509,1
    - Dst: createShowCondition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23513,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pCtx
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23523
      start: 23502
    functionDepth: 10
    functionLinenumber: 23502
    functionLinenumberEnd: 23523
    functionName: rewriteShowDBUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - createDBUsageFunc
    - nodesDestroyNode
    - createShowCondition
    - createSelectStmtForShowDBUsage
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowDBUsage(STranslateContext* pCtx, SQuery* pQuery)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23539,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23540,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23542,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23545,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23550,1
    - Dst: tInitDefaultSColRefWrapperByCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23550,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23552,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23555,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23556,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23558,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23560,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23563,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23566,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23567,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23574,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23575,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23576,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23577,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23582,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23583,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pVgroupInfo
    - pBatch
    argTypes:
    - STranslateContext*
    - SCreateVTableStmt*
    - SVgroupInfo*
    - SVgroupCreateTableBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23585
      start: 23531
    functionDepth: 2
    functionLinenumber: 23531
    functionLinenumberEnd: 23585
    functionName: buildVirtualTableBatchReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - tInitDefaultSColRefWrapperByCols
    - toSchema
    - taosArrayPush
    - LIST_LENGTH
    - taosArrayDestroy
    - FOREACH
    - tstrncpy
    - calcTypeMod
    - taosArrayInit
    - tdDestroySVCreateTbReq
    - setColRef
    - taosMemoryCalloc
    - PAR_ERR_JRET
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildVirtualTableBatchReq(STranslateContext* pCxt, const SCreateVTableStmt*
      pStmt,\n                                         const SVgroupInfo* pVgroupInfo,
      SVgroupCreateTableBatch* pBatch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23588,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23589,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pTableMeta
    - pTagName
    argTypes:
    - STableMeta*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23596
      start: 23587
    functionDepth: 1
    functionLinenumber: 23587
    functionLinenumberEnd: 23596
    functionName: getTagSchemaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableTagSchema
    - strcmp
    - getNumOfTags
    linkageType: ''
    returnType: col_id_t
    signature: col_id_t getTagSchemaIndex(const STableMeta* pTableMeta, const char*
      pTagName)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23606,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23611,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23613,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23619,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23622,1
    - Dst: tInitDefaultSColRefWrapperByCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23622,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23625,1
    - Dst: getNormalColSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23627,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23629,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23631,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23632,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23632,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23637,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23639,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23640,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23640,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23649,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23650,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23651,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23652,1
    - Dst: tInitDefaultSColRefWrapperByTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23652,1
    - Dst: getTagSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23657,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23659,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23662,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23662,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23668,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23669,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23670,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23671,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23676,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23677,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 8
    argNames:
    - pStmt
    - pStbMeta
    - tagName
    - tagNum
    - pTag
    - pVgroupInfo
    - pBatch
    - pTagRefNodes
    argTypes:
    - SCreateVSubTableStmt*
    - STableMeta*
    - SArray*
    - uint8_t
    - STag*
    - SVgroupInfo*
    - SVgroupCreateTableBatch*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23679
      start: 23598
    functionDepth: 2
    functionLinenumber: 23598
    functionLinenumberEnd: 23679
    functionName: buildVirtualSubTableBatchReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayDup
    - getNumOfTags
    - getTableTagSchema
    - PAR_ERR_RET
    - LIST_LENGTH
    - getNormalColSchemaIndex
    - tdDestroySVCreateTbReq
    - PAR_ERR_JRET
    - getTagSchemaIndex
    - FOREACH
    - tstrncpy
    - getTableColumnSchema
    - setColRef
    - taosStrdup
    - tInitDefaultSColRefWrapperByCols
    - tInitDefaultSColRefWrapperByTags
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildVirtualSubTableBatchReq(const SCreateVSubTableStmt* pStmt,
      STableMeta* pStbMeta, SArray* tagName,\n                                            uint8_t
      tagNum, const STag* pTag, const SVgroupInfo* pVgroupInfo,\n                                            SVgroupCreateTableBatch*
      pBatch, SNodeList* pTagRefNodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTagSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23657,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23659,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23662,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23664
      start: 23655
    functionDepth: 2
    functionLinenumber: 23655
    functionLinenumberEnd: 23664
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 253
    functionsReached:
    - getTagSchemaIndex
    - setColRef
    - PAR_ERR_JRET
    linkageType: ''
    returnType: void
    signature: void FOREACH(pRefNode, pTagRefNodes)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23685,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23687,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23692,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23694,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23697,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23701,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23703,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23706,1
    - Dst: tInitDefaultSColCmprWrapperByCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23714,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23716,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23719,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23722,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23725,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23725,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23726,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23727,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23730,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23734,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23736,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23738,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23742,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23747,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23748,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23750,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23753,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23754,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pVgroupInfo
    - pBatch
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SVgroupInfo*
    - SVgroupCreateTableBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23759
      start: 23681
    functionDepth: 2
    functionLinenumber: 23681
    functionLinenumberEnd: 23759
    functionName: buildNormalTableBatchReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setColCompressByOption
    - toSchema
    - columnEncodeVal
    - IS_DECIMAL_TYPE
    - taosArrayPush
    - LIST_LENGTH
    - tInitDefaultSColCmprWrapperByCols
    - FOREACH
    - columnLevelVal
    - calcTypeMod
    - tstrncpy
    - taosArrayInit
    - tdDestroySVCreateTbReq
    - strlen
    - taosMemoryCalloc
    - columnCompressVal
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildNormalTableBatchReq(STranslateContext* pCxt, const SCreateTableStmt*
      pStmt,\n                                        const SVgroupInfo* pVgroupInfo,
      SVgroupCreateTableBatch* pBatch)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23766,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23775,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23779,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23780,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23781,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23783,1
    - Dst: tEncodeSVCreateTbBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23784,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23785,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23787,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23791,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23793,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23799,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23800,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23802,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23803,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - pTbBatch
    - pBufArray
    argTypes:
    - SVgroupCreateTableBatch*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23807
      start: 23761
    functionDepth: 1
    functionLinenumber: 23761
    functionLinenumberEnd: 23807
    functionName: serializeVgroupCreateTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosArrayPush
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - tEncodeSize
    - tEncoderClear
    - tEncodeSVCreateTbBatchReq
    - POINTER_SHIFT
    - taosArrayGetSize
    - tEncoderInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t serializeVgroupCreateTableBatch(SVgroupCreateTableBatch* pTbBatch,
      SArray* pBufArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23811,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23813,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23814,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23818
      start: 23809
    functionDepth: 1
    functionLinenumber: 23809
    functionLinenumberEnd: 23818
    functionName: destroyCreateTbReqBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosArrayGetSize
    - tdDestroySVCreateTbReq
    linkageType: ''
    returnType: void
    signature: void destroyCreateTbReqBatch(void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23822,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23826,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pQuery
    - pBufArray
    argTypes:
    - SQuery*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23831
      start: 23820
    functionDepth: 5
    functionLinenumber: 23820
    functionLinenumberEnd: 23831
    functionName: rewriteToVnodeModifyOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteToVnodeModifyOpStmt(SQuery* pQuery, SArray* pBufArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23834,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23836,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23837,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23838,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23841
      start: 23833
    functionDepth: 1
    functionLinenumber: 23833
    functionLinenumberEnd: 23841
    functionName: destroyCreateTbReqArray
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - taosMemoryFreeClear
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyCreateTbReqArray(SArray* pArray)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23845,1
    - Dst: buildNormalTableBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23851,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23853,1
    - Dst: destroyCreateTbReqBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23856,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pInfo
    - pBufArray
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SVgroupInfo*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23861
      start: 23843
    functionDepth: 3
    functionLinenumber: 23843
    functionLinenumberEnd: 23861
    functionName: buildCreateTableDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - destroyCreateTbReqArray
    - buildNormalTableBatchReq
    - destroyCreateTbReqBatch
    - taosArrayInit
    - serializeVgroupCreateTableBatch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateTableDataBlock(STranslateContext* pCxt, const SCreateTableStmt*
      pStmt,\n                                         const SVgroupInfo* pInfo, SArray**
      pBufArray)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23866,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23869,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23871,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23874,1
    - Dst: buildCreateTableDataBlock
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23878,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23881,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23888
      start: 23863
    functionDepth: 11
    functionLinenumber: 23863
    functionLinenumberEnd: 23888
    functionName: rewriteCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - destroyCreateTbReqArray
    - buildCreateTableDataBlock
    - toName
    - getTableHashVgroupImpl
    - checkCreateTable
    - rewriteToVnodeModifyOpStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCreateTable(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23896,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23899,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23900,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23906,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23908,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23914,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23919,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23923,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23925,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23928,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23929,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23932,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23934,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23938,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23944,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23948
      start: 23890
    functionDepth: 1
    functionLinenumber: 23890
    functionLinenumberEnd: 23948
    functionName: addCreateTbReqIntoVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashGet
    - taosArrayDestroy
    - tstrncpy
    - taosArrayInit
    - tdDestroySVCreateTbReq
    - strlen
    - taosArrayDup
    - taosHashPut
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t addCreateTbReqIntoVgroup(SHashObj* pVgroupHashmap, const char*
      dbName, uint64_t suid,\n                                        const char*
      sTableName, const char* tableName, SArray* tagName, uint8_t tagNum,\n                                        const
      STag* pTag, int32_t ttl, const char* comment, bool ignoreExists,\n                                        SVgroupInfo*
      pVgInfo)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23952,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23953,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23953,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23953,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23954,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23957,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23957,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23972,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23976,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23977,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23982,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23990,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23995,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23997,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24006,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24009,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24010,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24011,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24012,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24015,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 6
    argNames:
    - pCxt
    - pSpecificTags
    - pValsOfTags
    - pSuperTableMeta
    - ppTag
    - tagName
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - STableMeta*
    - STag**
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24017
      start: 23950
    functionDepth: 2
    functionLinenumber: 23950
    functionLinenumberEnd: 24017
    functionName: buildKVRowForBindTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - getTagSchema
    - taosArrayGet
    - taosMemoryFreeClear
    - checkAndTrimValue
    - NEXT_VALID_TOKEN
    - LIST_LENGTH
    - NEXT_TOKEN_WITH_PREV
    - parseTagValue
    - taosArrayDestroy
    - tTagNew
    - taosArrayGetSize
    - taosArrayInit
    - IS_VAR_DATA_TYPE
    - buildSyntaxErrMsg
    - getNumOfTags
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildKVRowForBindTags(STranslateContext* pCxt, SNodeList*
      pSpecificTags, SNodeList* pValsOfTags,\n                                     STableMeta*
      pSuperTableMeta, STag** ppTag, SArray* tagName)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23972,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23976,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23977,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23982,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23990,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23995,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:23997,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24004
      start: 23970
    functionDepth: 2
    functionLinenumber: 23970
    functionLinenumberEnd: 24004
    functionName: FORBOTH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - generateSyntaxErrMsg
    - getTagSchema
    - checkAndTrimValue
    - NEXT_VALID_TOKEN
    - NEXT_TOKEN_WITH_PREV
    - parseTagValue
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: void
    signature: void FORBOTH(pTagNode, pSpecificTags, pNode, pValsOfTags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24021,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24021,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24022,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24025,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24025,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24035,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24041,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24043,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24045,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24052,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24057,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24059,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24070,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24073,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24074,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24075,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24076,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24079,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 5
    argNames:
    - pCxt
    - pValsOfTags
    - pSuperTableMeta
    - ppTag
    - tagName
    argTypes:
    - STranslateContext*
    - SNodeList*
    - STableMeta*
    - STag**
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24081
      start: 24019
    functionDepth: 1
    functionLinenumber: 24019
    functionLinenumberEnd: 24081
    functionName: buildKVRowForAllTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - getTableTagSchema
    - TARRAY_SIZE
    - taosMemoryFreeClear
    - checkAndTrimValue
    - NEXT_VALID_TOKEN
    - LIST_LENGTH
    - NEXT_TOKEN_WITH_PREV
    - parseTagValue
    - taosArrayDestroy
    - tTagNew
    - taosArrayInit
    - TARRAY_GET_ELEM
    - IS_VAR_DATA_TYPE
    - buildSyntaxErrMsg
    - getNumOfTags
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildKVRowForAllTags(STranslateContext* pCxt, SNodeList* pValsOfTags,
      STableMeta* pSuperTableMeta,\n                                    STag** ppTag,
      SArray* tagName)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24041,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24043,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24045,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24052,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24057,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24059,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24067
      start: 24039
    functionDepth: 1
    functionLinenumber: 24039
    functionLinenumberEnd: 24067
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 254
    functionsReached:
    - checkAndTrimValue
    - NEXT_VALID_TOKEN
    - NEXT_TOKEN_WITH_PREV
    - parseTagValue
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pValsOfTags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24084,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24085,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24087,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24088,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24092,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateSubTableClause*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24096
      start: 24083
    functionDepth: 1
    functionLinenumber: 24083
    functionLinenumberEnd: 24096
    functionName: checkCreateSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - generateSyntaxErrMsg
    - strchr
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCreateSubTable(STranslateContext* pCxt, SCreateSubTableClause*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24099,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24100,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24102,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateVSubTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24107
      start: 24098
    functionDepth: 1
    functionLinenumber: 24098
    functionLinenumberEnd: 24107
    functionName: checkCreateVSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - generateSyntaxErrMsg
    - strchr
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCreateVSubTable(STranslateContext* pCxt, SCreateVSubTableStmt*
      pStmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24110,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24114,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24119,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24125,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24126,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24130,1
    - Dst: buildKVRowForBindTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24134,1
    - Dst: buildKVRowForAllTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24136,1
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24142,1
    - Dst: addCreateTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24150,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24153,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pVgroupHashmap
    argTypes:
    - STranslateContext*
    - SCreateSubTableClause*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24156
      start: 24109
    functionDepth: 12
    functionLinenumber: 24109
    functionLinenumberEnd: 24156
    functionName: rewriteCreateSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildKVRowForAllTags
    - generateSyntaxErrMsg
    - getTableMeta
    - collectUseTable
    - taosMemoryFreeClear
    - toName
    - getTableHashVgroup
    - buildKVRowForBindTags
    - taosMemoryFree
    - taosArrayInit
    - checkCreateSubTable
    - taosArrayDestroy
    - addCreateTbReqIntoVgroup
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCreateSubTable(STranslateContext* pCxt, SCreateSubTableClause*
      pStmt, SHashObj* pVgroupHashmap)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24162,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24163,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24165,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24165,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24173,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24177,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24180,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24180,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24181,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24188,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24192,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24193,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24196,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24198,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24198,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24198,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24199,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24205,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24206,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24210,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24217,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24222,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24229,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24233,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 4
    argNames:
    - pMsgBuf
    - pStmt
    - pSuperTableMeta
    - aTagIndexs
    argTypes:
    - SMsgBuf*
    - SCreateSubTableFromFileClause*
    - STableMeta*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24235
      start: 24158
    functionDepth: 1
    functionLinenumber: 24158
    functionLinenumberEnd: 24235
    functionName: buildTagIndexForBindTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - generateSyntaxErrMsg
    - getTableTagSchema
    - taosHashGet
    - nodeType
    - taosHashInit
    - FOREACH
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - strlen
    - taosHashPut
    - strcmp
    - getNumOfTags
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildTagIndexForBindTags(SMsgBuf* pMsgBuf, SCreateSubTableFromFileClause*
      pStmt,\n                                        STableMeta* pSuperTableMeta,
      SArray* aTagIndexs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24261,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24265,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pParseCxt
    - pName
    - pVgInfo
    argTypes:
    - SParseContext*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24270
      start: 24254
    functionDepth: 10
    functionLinenumber: 24254
    functionLinenumberEnd: 24270
    functionName: fillVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - catalogGetTableHashVgroup
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillVgroupInfo(SParseContext* pParseCxt, const SName* pName,
      SVgroupInfo* pVgInfo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24274,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24275,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24276,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24277,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24283,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24287,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24291,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24297,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24299,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24303,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24308,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24310,1
    - Dst: parseTbnameToken
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24315,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24325,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - pMsgBuf
    - pParFileCxt
    - tz
    - charsetCxt
    argTypes:
    - SMsgBuf*
    - SParseFileContext*
    - timezone_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24330
      start: 24272
    functionDepth: 1
    functionLinenumber: 24272
    functionLinenumberEnd: 24330
    functionName: parseOneStbRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - tStrGetToken
    - generateSyntaxErrMsg
    - getTableTagSchema
    - taosArrayGet
    - checkAndTrimValue
    - parseTagValue
    - buildInvalidOperationMsg
    - parseTbnameToken
    - tTagNew
    - taosArrayGetSize
    - getTableInfo
    - getNumOfTags
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseOneStbRow(SMsgBuf* pMsgBuf, SParseFileContext* pParFileCxt,
      timezone_t tz, void* charsetCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24341,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24344
      start: 24339
    functionDepth: 1
    functionLinenumber: 24339
    functionLinenumberEnd: 24344
    functionName: clearTagValArrayFp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void clearTagValArrayFp(void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24349
      start: 24346
    functionDepth: 1
    functionLinenumber: 24346
    functionLinenumberEnd: 24349
    functionName: clearCreateTbArrayFp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void clearCreateTbArrayFp(void* data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetLineFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24358,1
    - Dst: strtolower
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24367,1
    - Dst: parseOneStbRow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24370,1
    - Dst: fillVgroupInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24373,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24382,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24383,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24387,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24391,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24397,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24400,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 5
    argNames:
    - pMsgBuf
    - pParseCxt
    - pParFileCxt
    - fp
    - maxLineCount
    argTypes:
    - SMsgBuf*
    - SParseContext*
    - SParseFileContext*
    - TdFilePtr
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24402
      start: 24351
    functionDepth: 11
    functionLinenumber: 24351
    functionLinenumberEnd: 24402
    functionName: parseCsvFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - fillVgroupInfo
    - taosGetLineFile
    - parseOneStbRow
    - taosMemoryFree
    - strtolower
    - taosArrayClearEx
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseCsvFile(SMsgBuf* pMsgBuf, SParseContext* pParseCxt, SParseFileContext*
      pParFileCxt, TdFilePtr fp,\n                            int32_t maxLineCount)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24411,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24412,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24413,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24414,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24415,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ppParFileCxt
    argTypes:
    - SParseFileContext**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24421
      start: 24404
    functionDepth: 1
    functionLinenumber: 24404
    functionLinenumberEnd: 24421
    functionName: destructParseFileContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destructParseFileContext(SParseFileContext** ppParFileCxt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24427,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24434,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24437,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24445,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24453,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24461,1
    - Dst: destructParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24473,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 4
    argNames:
    - pStmt
    - pSuperTableMeta
    - acctId
    - ppParFileCxt
    argTypes:
    - SCreateSubTableFromFileClause*
    - STableMeta*
    - int32_t
    - SParseFileContext**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24476
      start: 24423
    functionDepth: 2
    functionLinenumber: 24423
    functionLinenumberEnd: 24476
    functionName: constructParseFileContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - destructParseFileContext
    - tstrncpy
    - taosMemoryCalloc
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: "int32_t constructParseFileContext(SCreateSubTableFromFileClause* pStmt,
      STableMeta* pSuperTableMeta,\n                                         int32_t
      acctId, SParseFileContext** ppParFileCxt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24493,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24501,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24508,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24509,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24514,1
    - Dst: constructParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24517,1
    - Dst: buildTagIndexForBindTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24520,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24532,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24532,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24533,1
    - Dst: destructParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24534,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - pCxt
    - pCreateStmt
    - pModifyStmt
    argTypes:
    - STranslateContext*
    - SCreateSubTableFromFileClause*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24536
      start: 24484
    functionDepth: 3
    functionLinenumber: 24484
    functionLinenumberEnd: 24536
    functionName: prepareReadCsvFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - constructParseFileContext
    - taosCloseFile
    - getTableMeta
    - taosMemoryFreeClear
    - buildTagIndexForBindTags
    - destructParseFileContext
    - tstrncpy
    - TAOS_UNUSED
    - taosOpenFile
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t prepareReadCsvFile(STranslateContext* pCxt, SCreateSubTableFromFileClause*
      pCreateStmt,\n                                  SVnodeModifyOpStmt* pModifyStmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24539,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pParFileCxt
    argTypes:
    - SParseFileContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24541
      start: 24538
    functionDepth: 1
    functionLinenumber: 24538
    functionLinenumberEnd: 24541
    functionName: resetParseFileContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - taosArrayClearEx
    linkageType: ''
    returnType: void
    signature: void resetParseFileContext(SParseFileContext* pParFileCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parseCsvFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24550,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24555,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24557,1
    - Dst: addCreateTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24564,1
    - Dst: resetParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pMsgBuf
    - pParseCxt
    - pModifyStmt
    argTypes:
    - SMsgBuf*
    - SParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24582
      start: 24543
    functionDepth: 2
    functionLinenumber: 24543
    functionLinenumberEnd: 24582
    functionName: createSubTableFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - resetParseFileContext
    - parseCsvFile
    - taosArrayGetSize
    - addCreateTbReqIntoVgroup
    linkageType: ''
    returnType: int32_t
    signature: int32_t createSubTableFromFile(SMsgBuf* pMsgBuf, SParseContext* pParseCxt,
      SVnodeModifyOpStmt* pModifyStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24585,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24585,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24593,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24598,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24600,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24600,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24601,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24607,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pVgroupHashmap
    - pOut
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24613
      start: 24584
    functionDepth: 2
    functionLinenumber: 24584
    functionLinenumberEnd: 24613
    functionName: serializeVgroupsCreateTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosHashIterate
    - taosHashCancelIterate
    - taosHashGetSize
    - taosArrayInit
    - tstrerror
    - serializeVgroupCreateTableBatch
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t serializeVgroupsCreateTableBatch(SHashObj* pVgroupHashmap,
      SArray** pOut)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24618,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24618,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24623,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24626,1
    - Dst: rewriteCreateSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24628,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24630,1
    - Dst: serializeVgroupsCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24636,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24637,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24643
      start: 24615
    functionDepth: 13
    functionLinenumber: 24615
    functionLinenumberEnd: 24643
    functionName: rewriteCreateMultiTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - serializeVgroupsCreateTableBatch
    - rewriteCreateSubTable
    - FOREACH
    - taosHashInit
    - taosHashSetFreeFp
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - rewriteToVnodeModifyOpStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCreateMultiTable(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24647,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24651,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24654,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24654,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24658,1
    - Dst: prepareReadCsvFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24662,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24664,1
    - Dst: createSubTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24668,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24670,1
    - Dst: serializeVgroupsCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24675,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24676,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24679,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24681,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24690
      start: 24645
    functionDepth: 5
    functionLinenumber: 24645
    functionLinenumberEnd: 24690
    functionName: rewriteCreateTableFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - parserError
    - serializeVgroupsCreateTableBatch
    - prepareReadCsvFile
    - nodesMakeNode
    - nodeType
    - taosHashInit
    - taosHashSetFreeFp
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - taosHashClear
    - nodesDestroyNode
    - createSubTableFromFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCreateTableFromFile(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24696,1
    - Dst: createSubTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24700,1
    - Dst: serializeVgroupsCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24704,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24705,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24718,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pParseCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24720
      start: 24692
    functionDepth: 3
    functionLinenumber: 24692
    functionLinenumberEnd: 24720
    functionName: continueCreateTbFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - serializeVgroupsCreateTableBatch
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - taosHashClear
    - createSubTableFromFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t continueCreateTbFromFile(SParseContext* pParseCxt, SQuery**
      pQuery)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24729,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24734,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24735,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24736,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24741,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24743,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pVgroupHashmap
    - pVgInfo
    - pReq
    argTypes:
    - SHashObj*
    - SVgroupInfo*
    - SVDropTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24753
      start: 24728
    functionDepth: 1
    functionLinenumber: 24728
    functionLinenumberEnd: 24753
    functionName: addDropTbReqIntoVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashGet
    - taosArrayInit
    - taosArrayDestroy
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t addDropTbReqIntoVgroup(SHashObj* pVgroupHashmap, SVgroupInfo*
      pVgInfo, SVDropTbReq* pReq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24758,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24760,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24765,1
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24780,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24784,1
    - Dst: addDropTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24786,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24790,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 5
    argNames:
    - pCxt
    - pClause
    - name
    - tableType
    - pVgroupHashmap
    argTypes:
    - STranslateContext*
    - SDropTableClause*
    - SName*
    - int8_t*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24792
      start: 24755
    functionDepth: 13
    functionLinenumber: 24755
    functionLinenumberEnd: 24792
    functionName: buildDropTableVgroupHashmap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - collectUseTable
    - addDropTbReqIntoVgroup
    - getTargetMeta
    - getTableHashVgroup
    - generateSyntaxErrMsgExt
    - isVirtualTable
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildDropTableVgroupHashmap(STranslateContext* pCxt, SDropTableClause*
      pClause, const SName* name,\n                                           int8_t*
      tableType, SHashObj* pVgroupHashmap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24797,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24799,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24804,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24806,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24808,1
    - Dst: isVirtualSTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24808,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24809,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24809,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24814,1
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24814,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24818,1
    - Dst: addDropTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24818,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - name
    - tableType
    - pVgroupHashmap
    argTypes:
    - STranslateContext*
    - SDropVirtualTableStmt*
    - SName*
    - int8_t*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24823
      start: 24794
    functionDepth: 13
    functionLinenumber: 24794
    functionLinenumberEnd: 24823
    functionName: buildDropVirtualTableVgroupHashmap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isVirtualSTable
    - taosMemoryFreeClear
    - collectUseTable
    - addDropTbReqIntoVgroup
    - PAR_RET
    - getTargetMeta
    - getTableHashVgroup
    - generateSyntaxErrMsgExt
    - isVirtualTable
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildDropVirtualTableVgroupHashmap(STranslateContext* pCxt,
      SDropVirtualTableStmt* pStmt,\n                                                  const
      SName* name, int8_t* tableType, SHashObj* pVgroupHashmap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24828
      start: 24825
    functionDepth: 1
    functionLinenumber: 24825
    functionLinenumberEnd: 24828
    functionName: destroyDropTbReqBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destroyDropTbReqBatch(void* data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24835,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24838,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24842,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24843,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24844,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24846,1
    - Dst: tEncodeSVDropTbBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24847,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24848,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24850,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24854,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24856,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24862,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24863,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24865,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24866,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - pTbBatch
    - pBufArray
    argTypes:
    - SVgroupDropTableBatch*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24870
      start: 24830
    functionDepth: 1
    functionLinenumber: 24830
    functionLinenumberEnd: 24870
    functionName: serializeVgroupDropTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosArrayPush
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - tEncodeSize
    - tEncoderClear
    - tEncodeSVDropTbBatchReq
    - POINTER_SHIFT
    - taosArrayGetSize
    - tEncoderInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t serializeVgroupDropTableBatch(SVgroupDropTableBatch* pTbBatch,
      SArray* pBufArray)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24873,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24873,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24881,1
    - Dst: serializeVgroupDropTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24886,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24888,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pVgroupHashmap
    - pOut
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24896
      start: 24872
    functionDepth: 2
    functionLinenumber: 24872
    functionLinenumberEnd: 24896
    functionName: serializeVgroupsDropTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCancelIterate
    - taosHashGetSize
    - taosArrayInit
    - serializeVgroupDropTableBatch
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t serializeVgroupsDropTableBatch(SHashObj* pVgroupHashmap, SArray**
      pOut)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24906,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24912,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24913,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24918,1
    - Dst: getTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24919,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24921,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24921,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24924,1
    - Dst: rewriteDropTableWithMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24927,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24929,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24930
      start: 24898
    functionDepth: 3
    functionLinenumber: 24898
    functionLinenumberEnd: 24930
    functionName: rewriteDropTableWithOpt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTargetName
    - isdigit
    - toName
    - rewriteDropTableWithMetaCache
    - FOREACH
    - tstrncpy
    - TAOS_RETURN
    - tstrerror
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteDropTableWithOpt(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24938,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24940,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24941,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24947,1
    - Dst: rewriteDropTableWithOpt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24947,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24949,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24949,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24954,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24955,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24958,1
    - Dst: buildDropTableVgroupHashmap
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24959,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24961,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24964,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24965,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24966,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24969,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24971,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24979,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24984,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24985,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24993,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24993,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:24997,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25005,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25006,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25012,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25014,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25016,1
    - Dst: serializeVgroupsDropTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25021,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25022,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25027,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25028
      start: 24932
    functionDepth: 14
    functionLinenumber: 24932
    functionLinenumberEnd: 25028
    functionName: rewriteDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashCancelIterate
    - toName
    - serializeVgroupsDropTableBatch
    - taosArrayDestroy
    - rewriteToVnodeModifyOpStmt
    - rewriteDropTableWithOpt
    - LIST_LENGTH
    - taosHashGetSize
    - buildCmdMsg
    - taosHashInit
    - taosHashSetFreeFp
    - getTableTsmasFromCache
    - taosGetDefaultHashFunction
    - buildDropTableVgroupHashmap
    - FOREACH
    - IS_SYS_DBNAME
    - taosHashIterate
    - generateSyntaxErrMsg
    - TAOS_CHECK_RETURN
    - taosHashCleanup
    - taosArrayInit
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteDropTable(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25034,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25044,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25045,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25051,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25052,1
    - Dst: getTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25052,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25053,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25055,1
    - Dst: rewriteDropTableWithMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25056
      start: 25030
    functionDepth: 3
    functionLinenumber: 25030
    functionLinenumberEnd: 25056
    functionName: rewriteDropVirtualTableWithOpt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - PAR_RET
    - PAR_ERR_RET
    - isdigit
    - toName
    - getTargetName
    - rewriteDropTableWithMetaCache
    - tstrncpy
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteDropVirtualTableWithOpt(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25067,1
    - Dst: rewriteDropVirtualTableWithOpt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25067,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25069,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25069,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25074,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25076,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25077,1
    - Dst: buildDropVirtualTableVgroupHashmap
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25077,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25078,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25079,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25082,1
    - Dst: serializeVgroupsDropTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25082,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25083,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25083,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25088
      start: 25058
    functionDepth: 14
    functionLinenumber: 25058
    functionLinenumberEnd: 25088
    functionName: rewriteDropVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashGetSize
    - toName
    - serializeVgroupsDropTableBatch
    - taosHashSetFreeFp
    - taosHashInit
    - rewriteDropVirtualTableWithOpt
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - buildDropVirtualTableVgroupHashmap
    - PAR_ERR_JRET
    - rewriteToVnodeModifyOpStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteDropVirtualTable(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25100,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25101,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25108,1
    - Dst: getTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25109,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25111,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25114,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25117,1
    - Dst: rewriteDropTableWithMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25119,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25122
      start: 25090
    functionDepth: 3
    functionLinenumber: 25090
    functionLinenumberEnd: 25122
    functionName: rewriteDropSuperTablewithOpt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isdigit
    - getTargetName
    - toName
    - rewriteDropTableWithMetaCache
    - tstrncpy
    - TAOS_RETURN
    - tstrerror
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteDropSuperTablewithOpt(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25126,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25127,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25130,1
    - Dst: rewriteDropSuperTablewithOpt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25130,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25132
      start: 25124
    functionDepth: 4
    functionLinenumber: 25124
    functionLinenumberEnd: 25132
    functionName: rewriteDropSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_RETURN
    - rewriteDropSuperTablewithOpt
    - TAOS_RETURN
    - generateSyntaxErrMsgExt
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteDropSuperTable(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25138,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25140,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25147,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25149,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25152,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25154,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25162,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25164,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25166,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25171,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25175,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25177,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25187,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25190,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25204,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25205,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25206,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25207,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25210,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25212,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 5
    argNames:
    - pCxt
    - tagStr
    - pTableMeta
    - colName
    - pReq
    argTypes:
    - STranslateContext*
    - char*
    - STableMeta*
    - char*
    - SUpdatedTagVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25216
      start: 25134
    functionDepth: 2
    functionLinenumber: 25134
    functionLinenumberEnd: 25216
    functionName: buildUpdateTagValReqImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTagSchema
    - taosMemoryFreeClear
    - taosArrayGet
    - TAOS_CHECK_GOTO
    - checkAndTrimValue
    - NEXT_VALID_TOKEN
    - NEXT_TOKEN_WITH_PREV
    - buildSyntaxErrMsg
    - parseTagValue
    - taosArrayDestroy
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - generateSyntaxErrMsgExt
    - IS_VAR_DATA_TYPE
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildUpdateTagValReqImpl(STranslateContext* pCxt, const char*
      tagStr, STableMeta* pTableMeta,\n                                        char*
      colName, SUpdatedTagVal* pReq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25223,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25223,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25226,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25226,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25231,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25231,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25238,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25238,1
    - Dst: getNormalColSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25243,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25245,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25245,1
    - Dst: schemaToRefDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25255,1
    - Dst: isSameRefDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25257,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25258,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25258,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 7
    argNames:
    - pCxt
    - colName
    - pRefDbName
    - pRefTableName
    - pRefColName
    - type
    - precision
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - char*
    - char*
    - SDataType
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25266
      start: 25218
    functionDepth: 2
    functionLinenumber: 25218
    functionLinenumberEnd: 25266
    functionName: checkColRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableMeta
    - taosMemoryFreeClear
    - schemaToRefDataType
    - isSameRefDataType
    - getNormalColSchemaIndex
    - generateSyntaxErrMsgExt
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkColRef(STranslateContext* pCxt, char* colName, char*
      pRefDbName, char* pRefTableName,\n                           char* pRefColName,
      SDataType type, int8_t precision)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25273,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25273,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25277,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25277,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25281,1
    - Dst: getNormalColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25283,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25285,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25285,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25289,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25289,1
    - Dst: schemaToRefDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25296,1
    - Dst: isSameRefDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25298,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25299,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25299,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - pCxt
    - tagName
    - pRefDbName
    - pRefTableName
    - pRefColName
    - type
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - char*
    - char*
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25307
      start: 25268
    functionDepth: 2
    functionLinenumber: 25268
    functionLinenumberEnd: 25307
    functionName: checkTagRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableMeta
    - getNormalColSchema
    - getTagSchema
    - schemaToRefDataType
    - taosMemoryFreeClear
    - isSameRefDataType
    - generateSyntaxErrMsgExt
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTagRef(STranslateContext* pCxt, char* tagName, char*
      pRefDbName, char* pRefTableName,\n                           char* pRefColName,
      SDataType type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25313,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25316,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25317,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25320,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25321,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25322,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25323,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25326,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25327,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25329,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25332,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25333,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25338,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25343,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25344,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25344,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25348,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25349,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25350,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25351,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25352,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25357,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25363,1
    - Dst: checkColumnEncodeOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25365,1
    - Dst: checkColumnCompressOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25367,1
    - Dst: checkColumnLevelOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25369,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25371,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25371,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25372,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25373,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25378,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25379,1
    - Dst: checkAlterTableByColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25383,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25384
      start: 25309
    functionDepth: 2
    functionLinenumber: 25309
    functionLinenumberEnd: 25384
    functionName: buildAddColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setColCompressByOption
    - IS_DECIMAL_TYPE
    - checkColumnLevelOrSetDefault
    - generateSyntaxErrMsg
    - columnEncodeVal
    - checkColumnEncodeOrSetDefault
    - getColSchema
    - PAR_ERR_RET
    - calcTypeBytes
    - checkColumnCompressOrSetDefault
    - checkColRef
    - columnLevelVal
    - checkAlterTableByColumnType
    - decimalCalcTypeMod
    - isVirtualTable
    - columnCompressVal
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildAddColReq(STranslateContext* pCxt, SAlterTableStmt* pStmt,
      STableMeta* pTableMeta,\n                              SVAlterTbReq* pReq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25389,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25392,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25393,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25395,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25397,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25399,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25409
      start: 25386
    functionDepth: 2
    functionLinenumber: 25386
    functionLinenumberEnd: 25409
    functionName: buildDropColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getNumOfColumns
    - generateSyntaxErrMsg
    - taosStrdup
    - getColSchema
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildDropColReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, const STableMeta* pTableMeta,\n                               SVAlterTbReq*
      pReq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - pColRef
    - pTableMeta
    - colId
    argTypes:
    - SColRef*
    - STableMeta*
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25418
      start: 25411
    functionDepth: 0
    functionLinenumber: 25411
    functionLinenumberEnd: 25418
    functionName: findColRefIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t findColRefIndex(SColRef* pColRef, const STableMeta* pTableMeta,
      col_id_t colId)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25423,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25426,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25428,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25430,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25431,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25433,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25436,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25437,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25438,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25439,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25447,1
    - Dst: findColRefIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25451,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25453,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25457,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25464
      start: 25420
    functionDepth: 2
    functionLinenumber: 25420
    functionLinenumberEnd: 25464
    functionName: buildUpdateColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - findColRefIndex
    - getColSchema
    - calcTypeBytes
    - taosStrdup
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildUpdateColReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, const STableMeta* pTableMeta,\n                                 SVAlterTbReq*
      pReq)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25469,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25472,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25473,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25475,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25476,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25482,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25483,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25490,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25491,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25496
      start: 25466
    functionDepth: 2
    functionLinenumber: 25466
    functionLinenumberEnd: 25496
    functionName: buildRenameColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - getColSchema
    - toName
    - getTableTsmasFromCache
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildRenameColReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta,\n                                 SVAlterTbReq*
      pReq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25508,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25520
      start: 25498
    functionDepth: 1
    functionLinenumber: 25498
    functionLinenumberEnd: 25520
    functionName: buildUpdateOptionsReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildUpdateOptionsReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, SVAlterTbReq* pReq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25524,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25525,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25528,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25530,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25533,1
    - Dst: checkColumnEncode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25539,1
    - Dst: checkColumnCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25540,1
    - Dst: checkColumnLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25541,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25542,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25542,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25543,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25546
      start: 25522
    functionDepth: 2
    functionLinenumber: 25522
    functionLinenumberEnd: 25546
    functionName: buildAlterTableColumnCompress
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - setColCompressByOption
    - checkColumnLevel
    - columnEncodeVal
    - generateSyntaxErrMsg
    - getColSchema
    - checkColumnCompress
    - columnLevelVal
    - checkColumnEncode
    - isVirtualTable
    - columnCompressVal
    - taosStrdup
    linkageType: ''
    returnType: int
    signature: "int buildAlterTableColumnCompress(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta,\n                                         SVAlterTbReq*
      pReq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25550,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25551,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25554,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25556,1
    - Dst: getNormalColSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25558,1
    - Dst: schemaToRefDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25564,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25566,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25566,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25569,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25570,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25571,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25572,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25579
      start: 25548
    functionDepth: 2
    functionLinenumber: 25548
    functionLinenumberEnd: 25579
    functionName: buildAlterTableColumnRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - schemaToRefDataType
    - getColSchema
    - getNormalColSchemaIndex
    - checkColRef
    - isVirtualTable
    - PAR_ERR_JRET
    - taosStrdup
    linkageType: ''
    returnType: int
    signature: "int buildAlterTableColumnRef(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta,\n                                    SVAlterTbReq*
      pReq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25583,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25584,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25589,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25591,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25600
      start: 25581
    functionDepth: 2
    functionLinenumber: 25581
    functionLinenumberEnd: 25600
    functionName: buildRemoveTableColumnRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - isVirtualTable
    - taosStrdup
    - getColSchema
    linkageType: ''
    returnType: int
    signature: "int buildRemoveTableColumnRef(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta,\n                                     SVAlterTbReq*
      pReq)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25604,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25615,1
    - Dst: buildAddColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25625,1
    - Dst: buildDropColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25627,1
    - Dst: buildUpdateColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25629,1
    - Dst: buildUpdateOptionsReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25631,1
    - Dst: buildRenameColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25633,1
    - Dst: buildAlterTableColumnCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25635,1
    - Dst: buildAlterTableColumnRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25637,1
    - Dst: buildRemoveTableColumnRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25645
      start: 25602
    functionDepth: 3
    functionLinenumber: 25602
    functionLinenumberEnd: 25645
    functionName: buildAlterTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - buildAlterTableColumnRef
    - generateSyntaxErrMsg
    - buildAlterTableColumnCompress
    - buildUpdateOptionsReq
    - buildAddColReq
    - buildUpdateColReq
    - buildRemoveTableColumnRef
    - buildRenameColReq
    - taosStrdup
    - buildDropColReq
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildAlterTbReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta,\n                               SVAlterTbReq*
      pReq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25650,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25653,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25657,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25661,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25662,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25663,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25665,1
    - Dst: tEncodeSVAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25666,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25667,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25670,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25672,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25674,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - pArray
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SVAlterTbReq*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25687
      start: 25647
    functionDepth: 12
    functionLinenumber: 25647
    functionLinenumberEnd: 25687
    functionName: serializeAlterTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosArrayPush
    - taosMemoryMalloc
    - tEncodeSize
    - tEncoderClear
    - tEncodeSVAlterTbReq
    - getTableHashVgroup
    - taosMemoryFree
    - POINTER_SHIFT
    - tEncoderInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t serializeAlterTbReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, SVAlterTbReq* pReq,\n                                   SArray* pArray)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25691,1
    - Dst: serializeAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25696,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - pArray
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SVAlterTbReq*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25704
      start: 25689
    functionDepth: 13
    functionLinenumber: 25689
    functionLinenumberEnd: 25704
    functionName: buildModifyVnodeArray
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - serializeAlterTbReq
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildModifyVnodeArray(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, SVAlterTbReq* pReq,\n                                     SArray** pArray)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25707,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25708,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25709,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25710,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25711,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25712,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25713,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25714,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25716,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25717,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25718,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25719,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25724,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25727,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25730,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SVAlterTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25732
      start: 25706
    functionDepth: 1
    functionLinenumber: 25706
    functionLinenumberEnd: 25732
    functionName: destroyAlterTbReqInner
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - taosArrayGet
    - taosMemoryFree
    - taosArrayGetSize
    - tTagFree
    - taosArrayDestroy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void destroyAlterTbReqInner(SVAlterTbReq* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyAlterTbReqInner
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25741,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25743
      start: 25739
    functionDepth: 2
    functionLinenumber: 25739
    functionLinenumberEnd: 25743
    functionName: destroyVgroupAlterTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - destroyAlterTbReqInner
    linkageType: ''
    returnType: void
    signature: void destroyVgroupAlterTableReq(void* data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25749,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25752,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25756,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25757,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25758,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25760,1
    - Dst: tEncodeSVAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25761,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25762,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25765,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25767,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25769,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25776,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25778,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - pVgReq
    - pBufArray
    argTypes:
    - SVgroupAlterTableReq*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25783
      start: 25745
    functionDepth: 1
    functionLinenumber: 25745
    functionLinenumberEnd: 25783
    functionName: serializeVgroupAlterTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosArrayPush
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - tEncodeSize
    - tEncoderClear
    - tEncodeSVAlterTbReq
    - POINTER_SHIFT
    - tEncoderInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t serializeVgroupAlterTableReq(SVgroupAlterTableReq* pVgReq,
      SArray* pBufArray)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25786,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25786,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25794,1
    - Dst: serializeVgroupAlterTableReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25799,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25801,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25802,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pVgroupReqs
    - pOut
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25809
      start: 25785
    functionDepth: 2
    functionLinenumber: 25785
    functionLinenumberEnd: 25809
    functionName: serializeVgroupsAlterTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCancelIterate
    - taosHashGetSize
    - taosArrayInit
    - taosArrayDestroy
    - serializeVgroupAlterTableReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t serializeVgroupsAlterTableReq(SHashObj* pVgroupReqs, SArray**
      pOut)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25821,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25825,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25825,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25829,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25832,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25834,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25835,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25838,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25839,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25846,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25852,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25854,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25858,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25858,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25859,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25864,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25869,1
    - Dst: isVirtualSTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25869,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25870,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25876,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25882,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25888,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25895,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25906,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25906,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25913,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25914,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25917,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25922,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25924,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25924,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25926,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25928,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25932,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25932,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25934,1
    - Dst: buildUpdateTagValReqImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25940,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25942,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25946,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25948,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25950,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25954,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25956,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25959,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25962,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25963,1
    - Dst: tfreeMultiTagUpateVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25966,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25967,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25972,1
    - Dst: tfreeMultiTagUpateVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25973,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25974,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25981,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25983,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25987,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25991,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25993,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:25998,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26000,1
    - Dst: destroyAlterTbReqInner
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26001,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26002,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26006,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26008,1
    - Dst: destroyAlterTbReqInner
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26009,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26010,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26014,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26017,1
    - Dst: tfreeUpdateTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26018,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26024,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26025,1
    - Dst: serializeVgroupsAlterTableReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26027,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26032,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26037,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26041,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26042,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26043,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26044,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 204
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - isVirtual
    argTypes:
    - STranslateContext*
    - SQuery*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26046
      start: 25811
    functionDepth: 13
    functionLinenumber: 25811
    functionLinenumberEnd: 26046
    functionName: doRewriteAlterMultiTableTagVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - toName
    - generateSyntaxErrMsgExt
    - taosArrayDestroy
    - isVirtualTable
    - rewriteToVnodeModifyOpStmt
    - tfreeUpdateTableTagVal
    - getTableHashVgroupImpl
    - serializeVgroupsAlterTableReq
    - taosHashInit
    - taosHashSetFreeFp
    - getTableTsmasFromCache
    - taosGetDefaultHashFunction
    - tNameExtractFullName
    - taosMemoryCalloc
    - FOREACH
    - destroyAlterTbReqInner
    - taosStrdup
    - IS_SYS_DBNAME
    - isVirtualSTable
    - getTagSchema
    - getTargetMeta
    - taosHashGet
    - tfreeMultiTagUpateVal
    - buildUpdateTagValReqImpl
    - taosMemoryFree
    - taosHashCleanup
    - taosArrayInit
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t doRewriteAlterMultiTableTagVal(STranslateContext* pCxt, SQuery*
      pQuery, bool isVirtual)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26057,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26060,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26062,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26076,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26078,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26087,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26088,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26089,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26091,1
    - Dst: isAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26096,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26098,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26103,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26107,1
    - Dst: translateOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26109,1
    - Dst: translateLogicCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26117
      start: 26054
    functionDepth: 16
    functionLinenumber: 26054
    functionLinenumberEnd: 26117
    functionName: rewriteAlterChildTableTagValWhereCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTagSchema
    - translateValue
    - translateFunction
    - strcasecmp
    - nodeType
    - nodesMakeNode
    - isAggFunc
    - tstrncpy
    - translateOperator
    - generateSyntaxErrMsgExt
    - translateLogicCond
    - nodesDestroyNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteAlterChildTableTagValWhereCond(SNode** pNode, void*
      pContext)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26126,1
    - Dst: getDBVgInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26132,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26138,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26138,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26138,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26140,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26143,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26145,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26147,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26149,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26151,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26152,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26156,1
    - Dst: destroyVgroupAlterTableReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26158,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26159,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26160,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26164,1
    - Dst: destroyVgroupAlterTableReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26166,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26167,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26168,1
    - Dst: nodesNodeToMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26173,1
    - Dst: destroyVgroupAlterTableReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26175,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26176,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26177,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26184,1
    - Dst: destroyVgroupAlterTableReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26186,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26187,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26188,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - ppVgroupReqs
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26196
      start: 26119
    functionDepth: 11
    functionLinenumber: 26119
    functionLinenumberEnd: 26196
    functionName: createAlterChildTableTagValVgroupReqs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - nodesNodeToMsg
    - getDBVgInfo
    - nodesRewriteExprPostOrder
    - taosHashInit
    - taosHashSetFreeFp
    - taosArrayGetSize
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - taosArrayInit
    - taosArrayDestroy
    - taosHashPut
    - taosMemoryCalloc
    - taosStrdup
    - destroyVgroupAlterTableReq
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createAlterChildTableTagValVgroupReqs(STranslateContext* pCxt,
      SAlterTableStmt* pStmt,\n                                                     STableMeta*
      pTableMeta, SHashObj** ppVgroupReqs)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26208,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26212,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26213,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26219,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26221,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26226,1
    - Dst: isVirtualSTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26231,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26232,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26238,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26244,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26251,1
    - Dst: createAlterChildTableTagValVgroupReqs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26261,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26267,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26267,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26274,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26276,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26276,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26278,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26283,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26283,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26288,1
    - Dst: buildUpdateTagValReqImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26292,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26297,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26299,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26304,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26308,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26311,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26312,1
    - Dst: tfreeMultiTagUpateVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26315,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26320,1
    - Dst: tfreeMultiTagUpateVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26321,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26326,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26330,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26331,1
    - Dst: serializeVgroupsAlterTableReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26333,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26338,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26343,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26347,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26348,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26349,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26350,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 131
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - isVirtual
    argTypes:
    - STranslateContext*
    - SQuery*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26353
      start: 26198
    functionDepth: 13
    functionLinenumber: 26198
    functionLinenumberEnd: 26353
    functionName: doRewriteAlterChildTableTagVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createAlterChildTableTagValVgroupReqs
    - taosArrayPush
    - taosMemoryFreeClear
    - toName
    - generateSyntaxErrMsgExt
    - taosArrayDestroy
    - rewriteToVnodeModifyOpStmt
    - serializeVgroupsAlterTableReq
    - taosHashInit
    - getTableTsmasFromCache
    - taosGetDefaultHashFunction
    - tNameExtractFullName
    - FOREACH
    - taosStrdup
    - IS_SYS_DBNAME
    - isVirtualSTable
    - taosHashIterate
    - getTagSchema
    - getTargetMeta
    - taosHashGet
    - tfreeMultiTagUpateVal
    - buildUpdateTagValReqImpl
    - taosHashCleanup
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t doRewriteAlterChildTableTagVal(STranslateContext* pCxt, SQuery*
      pQuery, bool isVirtual)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26358,1
    - Dst: isVirtualSTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26358,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26359,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26365,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26372,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26373,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26376,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26380,1
    - Dst: getNormalColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26384,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26385,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26388,1
    - Dst: buildAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26392,1
    - Dst: buildModifyVnodeArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26396,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26399,1
    - Dst: destroyAlterTbReqInner
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26401,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pQuery
    - isVirtual
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SQuery*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26403
      start: 26355
    functionDepth: 14
    functionLinenumber: 26355
    functionLinenumberEnd: 26403
    functionName: rewriteAlterTableImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - isVirtualSTable
    - generateSyntaxErrMsg
    - getNormalColSchema
    - hasPkInTable
    - buildAlterTbReq
    - buildModifyVnodeArray
    - destroyAlterTbReqInner
    - generateSyntaxErrMsgExt
    - isVirtualTable
    - rewriteToVnodeModifyOpStmt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rewriteAlterTableImpl(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta,\n                                     SQuery*
      pQuery, bool isVirtual)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26409,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26410,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26415,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26419,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26419,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26420,1
    - Dst: rewriteAlterTableImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26420,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - isVirtual
    argTypes:
    - STranslateContext*
    - SQuery*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26425
      start: 26405
    functionDepth: 15
    functionLinenumber: 26405
    functionLinenumberEnd: 26425
    functionName: doRewriteAlterTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - getTableMeta
    - generateSyntaxErrMsg
    - rewriteAlterTableImpl
    - taosMemoryFree
    - generateSyntaxErrMsgExt
    - PAR_ERR_JRET
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t doRewriteAlterTable(STranslateContext* pCxt, SQuery* pQuery,
      bool isVirtual)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doRewriteAlterMultiTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26431,1
    - Dst: doRewriteAlterChildTableTagVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26433,1
    - Dst: doRewriteAlterTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - isVirtual
    argTypes:
    - STranslateContext*
    - SQuery*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26437
      start: 26427
    functionDepth: 16
    functionLinenumber: 26427
    functionLinenumberEnd: 26437
    functionName: rewriteAlterTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - doRewriteAlterMultiTableTagVal
    - doRewriteAlterTable
    - doRewriteAlterChildTableTagVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteAlterTable(STranslateContext* pCxt, SQuery* pQuery,
      bool isVirtual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26443,1
    - Dst: buildVirtualTableBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26443,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26444,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26444,1
    - Dst: destroyCreateTbReqBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pInfo
    - pBufArray
    argTypes:
    - STranslateContext*
    - SCreateVTableStmt*
    - SVgroupInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26449
      start: 26439
    functionDepth: 3
    functionLinenumber: 26439
    functionLinenumberEnd: 26449
    functionName: buildCreateVTableDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - serializeVgroupCreateTableBatch
    - buildVirtualTableBatchReq
    - PAR_ERR_JRET
    - destroyCreateTbReqBatch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateVTableDataBlock(STranslateContext* pCxt, const
      SCreateVTableStmt* pStmt,\n                                          const SVgroupInfo*
      pInfo, SArray* pBufArray)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26456,1
    - Dst: buildVirtualSubTableBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26456,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26457,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26457,1
    - Dst: destroyCreateTbReqBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 8
    argNames:
    - pStmt
    - pInfo
    - pBufArray
    - pStbMeta
    - tagName
    - tagNum
    - pTag
    - pTagRefNodes
    argTypes:
    - SCreateVSubTableStmt*
    - SVgroupInfo*
    - SArray*
    - STableMeta*
    - SArray*
    - uint8_t
    - STag*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26462
      start: 26451
    functionDepth: 3
    functionLinenumber: 26451
    functionLinenumberEnd: 26462
    functionName: buildCreateVSubTableDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - serializeVgroupCreateTableBatch
    - buildVirtualSubTableBatchReq
    - PAR_ERR_JRET
    - destroyCreateTbReqBatch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildCreateVSubTableDataBlock(const SCreateVSubTableStmt*
      pStmt, const SVgroupInfo* pInfo,\n                                             SArray*
      pBufArray, STableMeta* pStbMeta, SArray* tagName, uint8_t tagNum,\n                                             const
      STag* pTag, SNodeList* pTagRefNodes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26465,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26466,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26470,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26471,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26476,1
    - Dst: checkVTableSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26476,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26478,1
    - Dst: checkColumnOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26478,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26480,1
    - Dst: checkColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26480,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26482,1
    - Dst: checkColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26482,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26484,1
    - Dst: checkColumnType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26484,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26487,1
    - Dst: biCheckCreateTableTbnameCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateVTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26491
      start: 26464
    functionDepth: 5
    functionLinenumber: 26464
    functionLinenumberEnd: 26491
    functionName: checkCreateVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - biCheckCreateTableTbnameCol
    - checkColumnType
    - PAR_ERR_RET
    - strchr
    - checkColumnOptions
    - generateSyntaxErrMsgExt
    - checkVTableSchema
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCreateVirtualTable(STranslateContext* pCxt, SCreateVTableStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26503,1
    - Dst: checkCreateVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26503,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26505,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26507,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26510,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26511,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26511,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26513,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26518,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26518,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26521,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26522,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26522,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26529,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26529,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26530,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26530,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26532,1
    - Dst: buildCreateVTableDataBlock
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26532,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26533,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26533,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26539
      start: 26493
    functionDepth: 11
    functionLinenumber: 26493
    functionLinenumberEnd: 26539
    functionName: rewriteCreateVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - collectUseTable
    - destroyCreateTbReqArray
    - getDBCfg
    - toName
    - calcTypeBytes
    - getTableHashVgroupImpl
    - buildCreateVTableDataBlock
    - FOREACH
    - checkColRef
    - taosArrayInit
    - checkCreateVirtualTable
    - PAR_ERR_JRET
    - rewriteToVnodeModifyOpStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCreateVirtualTable(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26553,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26565,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26572,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26579,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26582,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26584,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26588,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26594,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26594,1
    - Dst: schemaToRefDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26600,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26601,1
    - Dst: checkTagRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26601,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26606,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26606,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26610,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26610,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26611,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26612,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26613,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26614,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26615,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26615,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26619,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26619,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26620,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26622,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26623,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26628,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26639,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 5
    argNames:
    - pCxt
    - pSpecificTags
    - pValsOfTags
    - pSuperTableMeta
    - ppTagRefNodes
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - STableMeta*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26641
      start: 26544
    functionDepth: 6
    functionLinenumber: 26544
    functionLinenumberEnd: 26641
    functionName: checkAndReplaceTagRefs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getTagSchema
    - getTableTagSchema
    - schemaToRefDataType
    - nodesMakeList
    - nodesDestroyList
    - nodeType
    - nodesMakeNode
    - tstrncpy
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - checkTagRef
    - nodesListAppend
    - PAR_ERR_JRET
    - taosStrdup
    - getNumOfTags
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkAndReplaceTagRefs(STranslateContext* pCxt, SNodeList*
      pSpecificTags, SNodeList* pValsOfTags,\n                                      STableMeta*
      pSuperTableMeta, SNodeList** ppTagRefNodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26557
      start: 26552
    functionDepth: 1
    functionLinenumber: 26552
    functionLinenumberEnd: 26557
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 261
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pValsOfTags)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26655,1
    - Dst: checkCreateVSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26655,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26657,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26658,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26660,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26663,1
    - Dst: refreshGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26663,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26666,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26669,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26672,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26674,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26676,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26679,1
    - Dst: getNormalColSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26681,1
    - Dst: schemaToRefDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26687,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26688,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26688,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26693,1
    - Dst: schemaToRefDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26700,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26701,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26701,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26709,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26709,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26710,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26710,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26715,1
    - Dst: checkAndReplaceTagRefs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26715,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26718,1
    - Dst: buildKVRowForBindTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26719,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26721,1
    - Dst: buildKVRowForAllTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26721,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26724,1
    - Dst: buildCreateVSubTableDataBlock
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26724,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26725,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26726,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26726,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26728,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26729,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26730,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26733,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26734,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26735,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26736,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26738
      start: 26643
    functionDepth: 12
    functionLinenumber: 26643
    functionLinenumberEnd: 26738
    functionName: rewriteCreateVirtualSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - getColSchema
    - nodesDestroyList
    - toName
    - taosArrayDestroy
    - buildCreateVSubTableDataBlock
    - rewriteToVnodeModifyOpStmt
    - checkCreateVSubTable
    - schemaToRefDataType
    - getTableHashVgroupImpl
    - getNormalColSchemaIndex
    - taosArrayGetSize
    - PAR_ERR_JRET
    - buildKVRowForAllTags
    - checkAndReplaceTagRefs
    - FOREACH
    - collectUseTable
    - destroyCreateTbReqArray
    - buildKVRowForBindTags
    - checkColRef
    - refreshGetTableMeta
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCreateVirtualSubTable(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26742,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26747,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26748,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26750,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26752,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pVg
    - pBufArray
    argTypes:
    - SVgroupInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26763
      start: 26740
    functionDepth: 1
    functionLinenumber: 26740
    functionLinenumberEnd: 26763
    functionName: serializeFlushVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - htonl
    - taosArrayPush
    - taosMemoryMalloc
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t serializeFlushVgroup(SVgroupInfo* pVg, SArray* pBufArray)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26766,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26768,1
    - Dst: serializeFlushVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26774,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26774,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pVgs
    - pOutput
    argTypes:
    - SArray*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26783
      start: 26765
    functionDepth: 2
    functionLinenumber: 26765
    functionLinenumberEnd: 26783
    functionName: serializeFlushDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - serializeFlushVgroup
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t serializeFlushDb(SArray* pVgs, SArray** pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getDBVgInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26790,1
    - Dst: serializeFlushDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26792,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26795,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26798,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26802
      start: 26785
    functionDepth: 11
    functionLinenumber: 26785
    functionLinenumberEnd: 26802
    functionName: rewriteFlushDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - getDBVgInfo
    - rewriteToVnodeModifyOpStmt
    - serializeFlushDb
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteFlushDatabase(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26807,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26815
      start: 26804
    functionDepth: 9
    functionLinenumber: 26804
    functionLinenumberEnd: 26815
    functionName: rewriteShowCompacts
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtForShow
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowCompacts(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26820,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26828
      start: 26817
    functionDepth: 9
    functionLinenumber: 26817
    functionLinenumberEnd: 26828
    functionName: rewriteShowScans
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtForShow
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowScans(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26833,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26836,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26846
      start: 26830
    functionDepth: 9
    functionLinenumber: 26830
    functionLinenumberEnd: 26846
    functionName: rewriteShowCompactDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtForShow
    - nodesDestroyNode
    - createOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowCompactDetailsStmt(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26851,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26854,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26864
      start: 26848
    functionDepth: 9
    functionLinenumber: 26848
    functionLinenumberEnd: 26864
    functionName: rewriteShowRetentionDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtForShow
    - nodesDestroyNode
    - createOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowRetentionDetailsStmt(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26869,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26872,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26882
      start: 26866
    functionDepth: 9
    functionLinenumber: 26866
    functionLinenumberEnd: 26882
    functionName: rewriteShowScanDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtForShow
    - nodesDestroyNode
    - createOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowScanDetailsStmt(STranslateContext* pCxt, SQuery*
      pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26887,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26895
      start: 26884
    functionDepth: 9
    functionLinenumber: 26884
    functionLinenumberEnd: 26895
    functionName: rewriteShowSsMigrates
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtForShow
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowSsMigrates(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26900,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26908
      start: 26897
    functionDepth: 9
    functionLinenumber: 26897
    functionLinenumberEnd: 26908
    functionName: rewriteShowTokens
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtForShow
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowTokens(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26913,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26916,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26922,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26926
      start: 26910
    functionDepth: 9
    functionLinenumber: 26910
    functionLinenumberEnd: 26926
    functionName: rewriteShowTransactionDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - createSelectStmtForShow
    - nodesDestroyNode
    - createOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowTransactionDetailsStmt(STranslateContext* pCxt,
      SQuery* pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pWhen
    - pThen
    - ppResWhenThen
    argTypes:
    - SNode*
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26937
      start: 26928
    functionDepth: 5
    functionLinenumber: 26928
    functionLinenumberEnd: 26937
    functionName: createParWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createParWhenThenNode(SNode* pWhen, SNode* pThen, SNode** ppResWhenThen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26942,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26951,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - pCase
    - pWhenThenList
    - pElse
    - pAias
    - ppResCaseWhen
    argTypes:
    - SNode*
    - SNodeList*
    - SNode*
    - char*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26956
      start: 26939
    functionDepth: 5
    functionLinenumber: 26939
    functionLinenumberEnd: 26956
    functionName: createParCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createParCaseWhenNode(SNode* pCase, SNodeList* pWhenThenList,
      SNode* pElse, const char* pAias,\n                                     SNode**
      ppResCaseWhen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26961,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26965,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26966,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pFunName
    - pAias
    - pParameterList
    - ppResFunc
    argTypes:
    - char*
    - char*
    - SNodeList*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26971
      start: 26958
    functionDepth: 5
    functionLinenumber: 26958
    functionLinenumberEnd: 26971
    functionName: createParFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createParFunctionNode(const char* pFunName, const char* pAias,
      SNodeList* pParameterList,\n                                     SNode** ppResFunc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26975,1
    - Dst: CHECK_RES_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26979,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pItem
    - ppResList
    argTypes:
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26982
      start: 26973
    functionDepth: 4
    functionLinenumber: 26973
    functionLinenumberEnd: 26982
    functionName: createParListNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - CHECK_RES_OUT_OF_MEM
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t createParListNode(SNode* pItem, SNodeList** ppResList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26986,1
    - Dst: taosRandStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26991,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:26992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pSubquery
    - ppResTempTable
    argTypes:
    - SSelectStmt*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26996
      start: 26984
    functionDepth: 5
    functionLinenumber: 26984
    functionLinenumberEnd: 26996
    functionName: createParTempTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - taosRandStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t createParTempTableNode(SSelectStmt* pSubquery, SNode** ppResTempTable)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27003,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27010,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27017,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27018,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27019,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27020,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27021,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27023,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27024,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27025,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27026,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27034,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27035,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27036,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27038,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27039,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27040,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27041,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27042,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27043,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27044,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27051,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27053,1
    - Dst: createParWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27060,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27062,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27063,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27069,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27071,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27078,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27080,1
    - Dst: createParCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27089,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27091,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27092,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27099,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27101,1
    - Dst: createParFunctionNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27110,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27112,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27119,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27121,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27127,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27129,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27130,1
    - Dst: createParFunctionNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27139,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27141,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27142,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27149,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27151,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27152,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27158,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27160,1
    - Dst: createSimpleSelectStmtFromProjList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27168,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27170,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27181,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27183,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27188,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27189,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27191,1
    - Dst: createParOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27204,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27206,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27213,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27215,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27216,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27221,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27223,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27224,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27225,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27232,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27234,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27235,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27236,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27237,1
    - Dst: createIsOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27242,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27244,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27245,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27246,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27251,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27253,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27254,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27255,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27256,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27263,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27265,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27266,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27267,1
    - Dst: createParWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27273,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27275,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27276,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27277,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27278,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27284,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27286,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27287,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27288,1
    - Dst: createParOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27295,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27297,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27298,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27299,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27305,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27307,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27308,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27309,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27310,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27317,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27318,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27321,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27322,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27323,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27324,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27331,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27333,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27334,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27335,1
    - Dst: createParWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27341,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27343,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27344,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27345,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27346,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27351,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27353,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27354,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27362,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27364,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27365,1
    - Dst: createParCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27371,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27373,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27374,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27375,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27381,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27383,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27384,1
    - Dst: createParTempTableNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27390,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27392,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27393,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27399,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27401,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27402,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27408,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27410,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 286
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27413
      start: 26998
    functionDepth: 10
    functionLinenumber: 26998
    functionLinenumberEnd: 27413
    functionName: rewriteShowAliveStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesMakeValueNodeFromString
    - createParWhenThenNode
    - createParOperatorNode
    - createParFunctionNode
    - nodesListStrictAppend
    - getDBCfg
    - nodesDestroyList
    - createSimpleSelectStmtFromProjList
    - createParCaseWhenNode
    - nodesMakeNode
    - snprintf
    - createParListNode
    - createLogicCondNode
    - createOperatorNode
    - nodesMakeValueNodeFromInt32
    - nodesDestroyNode
    - createIsOperatorNode
    - createParTempTableNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowAliveStmt(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27419,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27419,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27421,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27423,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27427,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27429,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27431,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27436,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27438,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27441,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27445,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27450,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27453,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27456
      start: 27415
    functionDepth: 9
    functionLinenumber: 27415
    functionLinenumberEnd: 27456
    functionName: rewriteShowXnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - nodeType
    - nodesMakeNode
    - createSelectStmtForShow
    - tstrncpy
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteShowXnodeStmt(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27460,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27461,1
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27504,1
    - Dst: rewriteShowStreams
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27507,1
    - Dst: rewriteShowInstances
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27510,1
    - Dst: rewriteShowVtables
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27513,1
    - Dst: rewriteShowDBUsage
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27516,1
    - Dst: rewriteShowTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27519,1
    - Dst: rewriteShowVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27522,1
    - Dst: rewriteShowStableTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27525,1
    - Dst: rewriteShowDnodeVariables
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27528,1
    - Dst: rewriteShowVnodes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27531,1
    - Dst: rewriteShowValidateVtable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27534,1
    - Dst: rewriteShowTableDist
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27537,1
    - Dst: rewriteCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27541,1
    - Dst: rewriteCreateVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27545,1
    - Dst: rewriteCreateVirtualSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27548,1
    - Dst: rewriteCreateMultiTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27551,1
    - Dst: rewriteCreateTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27554,1
    - Dst: rewriteDropTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27557,1
    - Dst: rewriteDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27560,1
    - Dst: rewriteDropVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27563,1
    - Dst: rewriteAlterTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27566,1
    - Dst: rewriteAlterTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27569,1
    - Dst: rewriteFlushDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27572,1
    - Dst: rewriteShowCompacts
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27575,1
    - Dst: rewriteShowScans
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27578,1
    - Dst: rewriteShowCompactDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27581,1
    - Dst: rewriteShowRetentionDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27584,1
    - Dst: rewriteShowScanDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27587,1
    - Dst: rewriteShowSsMigrates
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27590,1
    - Dst: rewriteShowTokens
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27593,1
    - Dst: rewriteShowTransactionDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27596,1
    - Dst: rewriteShowAliveStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27600,1
    - Dst: rewriteShowXnodeStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27606,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 153
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27612
      start: 27458
    functionDepth: 17
    functionLinenumber: 27458
    functionLinenumberEnd: 27612
    functionName: rewriteQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - rewriteCreateTableFromFile
    - rewriteShowStableTags
    - rewriteShowSsMigrates
    - rewriteDropVirtualTable
    - nodeType
    - rewriteShowInstances
    - rewriteShowScans
    - rewriteShowTags
    - rewriteShowAliveStmt
    - rewriteShowCompacts
    - rewriteShowStreams
    - rewriteShowTableDist
    - rewriteCreateVirtualTable
    - rewriteCreateMultiTable
    - rewriteDropTable
    - rewriteShowRetentionDetailsStmt
    - rewriteShowTokens
    - rewriteShowVgroups
    - rewriteShowXnodeStmt
    - rewriteShowCompactDetailsStmt
    - rewriteShowTransactionDetailsStmt
    - rewriteShowDnodeVariables
    - rewriteCreateTable
    - rewriteDropSuperTable
    - rewriteAlterTable
    - rewriteFlushDatabase
    - rewriteShow
    - rewriteShowDBUsage
    - rewriteShowValidateVtable
    - rewriteShowVnodes
    - rewriteShowScanDetailsStmt
    - rewriteShowVtables
    - rewriteCreateVirtualSubTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteQuery(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27630
      start: 27614
    functionDepth: 0
    functionLinenumber: 27614
    functionLinenumberEnd: 27630
    functionName: toMsgType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t toMsgType(ENodeType type)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27634,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27635,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27635,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27639,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27641,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27642,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27645,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27650,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27651,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27651,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27655,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27657,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27658,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27661,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27666,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27667,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27667,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27671,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27673,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27674,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27677,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27682
      start: 27632
    functionDepth: 1
    functionLinenumber: 27632
    functionLinenumberEnd: 27682
    functionName: setRefreshMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - taosHashCancelIterate
    - taosHashGetSize
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t setRefreshMeta(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27685,1
    - Dst: toMsgType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27708,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27739,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27747,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27756,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27757,1
    - Dst: extractResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27759,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27763,1
    - Dst: extractResultTsPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27764,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27765,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27771
      start: 27684
    functionDepth: 3
    functionLinenumber: 27684
    functionLinenumberEnd: 27771
    functionName: setQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - TSWAP
    - extractResultSchema
    - nodeType
    - extractResultTsPrecision
    - toMsgType
    linkageType: ''
    returnType: int32_t
    signature: int32_t setQuery(STranslateContext* pCxt, SQuery* pQuery)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: initTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27776,1
    - Dst: rewriteQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27778,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27781,1
    - Dst: checkSubQueryStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27789,1
    - Dst: transferSubQueries
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27791,1
    - Dst: setQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27794,1
    - Dst: setRefreshMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27796,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:27798,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27800
      start: 27773
    functionDepth: 30
    functionLinenumber: 27773
    functionLinenumberEnd: 27800
    functionName: translate
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: 2
    functionsReached:
    - translateQuery
    - destroyTranslateContext
    - rewriteQuery
    - initTranslateContext
    - checkSubQueryStmt
    - setQuery
    - transferSubQueries
    - setRefreshMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t translate(SParseContext* pParseCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:38,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pQuery
    - pRootNode
    - placeholderNo
    - pPlaceholderValues
    argTypes:
    - SQuery**
    - SNode*
    - int16_t
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 5
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: buildQueryAfterParse
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildQueryAfterParse(SQuery** pQuery, SNode* pRootNode, int16_t
      placeholderNo, SArray** pPlaceholderValues)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: initAstCreateContext
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:52,1
    - Dst: ParseAlloc
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:53,1
    - Dst: Parse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:59,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:64,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:67,1
    - Dst: Parse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:78,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:82,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:87,1
    - Dst: Parse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:93,1
    - Dst: ParseFree
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:101,1
    - Dst: buildQueryAfterParse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:103,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:108,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - pParseCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 50
    functionDepth: 6
    functionLinenumber: 50
    functionLinenumberEnd: 110
    functionName: parse
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 43
    functionsReached:
    - ParseAlloc
    - Parse
    - ParseFree
    - snprintf
    - buildQueryAfterParse
    - taosArrayDestroy
    - tGetToken
    - initAstCreateContext
    linkageType: ''
    returnType: int32_t
    signature: int32_t parse(SParseContext* pParseCxt, SQuery** pQuery)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:131,1
    - Dst: reserveUdfInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: collectMetaKeyFromFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - fmGetFuncType
    - reserveUdfInCache
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectMetaKeyFromFunction(SCollectMetaKeyFromExprCxt* pCxt,
      SFunctionNode* pFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:147,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: needGetTableIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool needGetTableIndex(SNode* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:159,1
    - Dst: reserveTableVgroupInCacheExt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pName
    argTypes:
    - SCollectMetaKeyCxt*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: collectMetaKeyFromInsTagsImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableVgroupInCacheExt
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromInsTagsImpl(SCollectMetaKeyCxt* pCxt, SName*
      pName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getVnodeSysTableTargetName
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:167,1
    - Dst: collectMetaKeyFromInsTagsImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SCollectMetaKeyCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: collectMetaKeyFromInsTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - getVnodeSysTableTargetName
    - collectMetaKeyFromInsTagsImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromInsTags(SCollectMetaKeyCxt* pCxt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:176,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:178,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:182,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:185,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:188,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:193,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:198,1
    - Dst: needGetTableIndex
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:200,1
    - Dst: reserveTableIndexInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:201,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:203,1
    - Dst: reserveDnodeRequiredInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:204,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:207,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:207,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:208,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:208,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:209,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:209,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:210,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:211,1
    - Dst: collectMetaKeyFromInsTags
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:212,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:215,1
    - Dst: reserveTableTSMAInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:216,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 32
    argCount: 5
    argNames:
    - pCxt
    - pDb
    - pTable
    - privType
    - objType
    argTypes:
    - SCollectMetaKeyCxt*
    - char*
    - char*
    - EPrivType
    - EPrivObjType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 219
    functionName: collectMetaKeyFromRealTableImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveTableTSMAInfoInCache
    - reserveTableVgroupInCache
    - reserveUserAuthInCache
    - reserveDnodeRequiredInCache
    - reserveDbVgInfoInCache
    - nodeType
    - reserveTableIndexInCache
    - collectMetaKeyFromInsTags
    - reserveDbCfgInCache
    - needGetTableIndex
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t collectMetaKeyFromRealTableImpl(SCollectMetaKeyCxt* pCxt,
      const char* pDb, const char* pTable,\n                                               EPrivType
      privType, EPrivObjType objType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:222,1
    - Dst: reserveVStbRefDbsInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pRealTable
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - SRealTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: collectMetaKeyFromRealTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromRealTableImpl
    - reserveVStbRefDbsInCache
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectMetaKeyFromRealTable(SCollectMetaKeyFromExprCxt* pCxt,
      SRealTableNode* pRealTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pTempTable
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - STempTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: collectMetaKeyFromTempTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromQuery
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectMetaKeyFromTempTable(SCollectMetaKeyFromExprCxt* pCxt,
      STempTableNode* pTempTable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:242,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:243,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:244,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:246,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:247,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pOperator
    - ppTableName
    argTypes:
    - SOperatorNode*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: isTbnameEqCondOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - nodeType
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t isTbnameEqCondOperator(SOperatorNode* pOperator, char** ppTableName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isTbnameEqCondOperator
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:265,1
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pOpNode
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - SOperatorNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: collectMetaKeyFromOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - isTbnameEqCondOperator
    - collectMetaKeyFromRealTableImpl
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectMetaKeyFromOperator(SCollectMetaKeyFromExprCxt* pCxt,
      SOperatorNode* pOpNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:278,1
    - Dst: collectMetaKeyFromFunction
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:280,1
    - Dst: collectMetaKeyFromRealTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:282,1
    - Dst: collectMetaKeyFromTempTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:284,1
    - Dst: collectMetaKeyFromOperator
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:286,1
    - Dst: collectMetaKeyFromSetOperator
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:288,1
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 295
    functionName: collectMetaKeyFromExprImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromRealTable
    - nodeType
    - collectMetaKeyFromFunction
    - collectMetaKeyFromSetOperator
    - collectMetaKeyFromTempTable
    - collectMetaKeyFromQuery
    - collectMetaKeyFromOperator
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes collectMetaKeyFromExprImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pList
    argTypes:
    - SCollectMetaKeyCxt*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: collectMetaKeyFromExprs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromExprs(SCollectMetaKeyCxt* pCxt, SNodeList*
      pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:304,1
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:306,1
    - Dst: collectMetaKeyFromExprs
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: collectMetaKeyFromSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 1
    functionsReached:
    - collectMetaKeyFromExprs
    - collectMetaKeyFromQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromSetOperator(SCollectMetaKeyCxt* pCxt, SSetOperator*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:315,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - SCollectMetaKeyCxt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: reserveDbCfgForLastRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - nodeType
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveDbCfgForLastRow(SCollectMetaKeyCxt* pCxt, SNode* pTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:323,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:327,1
    - Dst: reserveDbCfgForLastRow
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 321
    functionDepth: 6
    functionLinenumber: 321
    functionLinenumberEnd: 332
    functionName: collectMetaKeyFromSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - nodeType
    - reserveDbCfgForLastRow
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromSelect(SCollectMetaKeyCxt* pCxt, SSelectStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:335,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 343
    functionName: collectMetaKeyFromCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateDatabase(SCollectMetaKeyCxt* pCxt,
      SCreateDatabaseStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:346,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:348,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: collectMetaKeyFromAlterDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromAlterDatabase(SCollectMetaKeyCxt* pCxt, SAlterDatabaseStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:360,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: collectMetaKeyFromDropDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropDatabase(SCollectMetaKeyCxt* pCxt, SDropDatabaseStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:369,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SFlushDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: collectMetaKeyFromFlushDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromFlushDatabase(SCollectMetaKeyCxt* pCxt, SFlushDatabaseStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:378,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:380,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:383,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 391
    functionName: collectMetaKeyFromCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    - reserveTableVgroupInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateTable(SCollectMetaKeyCxt* pCxt, SCreateTableStmt*
      pStmt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:394,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:396,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:399,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:403,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:408,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:416,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:419,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:422,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateVTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 432
    functionName: collectMetaKeyFromCreateVTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    - reserveUserAuthInCache
    - FOREACH
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateVTable(SCollectMetaKeyCxt* pCxt, SCreateVTableStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:436,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:436,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:438,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:439,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:441,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:441,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:443,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:443,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:445,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:445,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:457,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:458,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:459,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:459,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:461,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:461,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:470,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:471,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:473,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:474,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:475,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:475,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:477,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateVSubTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 484
    functionName: collectMetaKeyFromCreateVSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    - reserveUserAuthInCache
    - PAR_ERR_RET
    - nodeType
    - FOREACH
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateVSubTable(SCollectMetaKeyCxt* pCxt,
      SCreateVSubTableStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:457,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:458,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:459,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:459,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:461,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 463
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 264
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - PAR_ERR_RET
    - reserveTableVgroupInCache
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTmpNodeList)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:489,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:492,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:494,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:499,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:502,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:506,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:511,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:513,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:517,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateMultiTablesStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 531
    functionName: collectMetaKeyFromCreateMultiTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    - reserveUserAuthInCache
    - FOREACH
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateMultiTable(SCollectMetaKeyCxt* pCxt,
      SCreateMultiTablesStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:538,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:541,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:544,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pClause
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateSubTableFromFileClause*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 553
    functionName: collectMetaKeyFromCreateSubTableFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: "int32_t collectMetaKeyFromCreateSubTableFromFile(SCollectMetaKeyCxt*
      \           pCxt,\n                                                        SCreateSubTableFromFileClause*
      pClause)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:558,1
    - Dst: reserveTableUidInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:561,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:563,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:566,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:569,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:572,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:577,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:580,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 589
    functionName: collectMetaKeyFromDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableUidInCache
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    - reserveUserAuthInCache
    - reserveDbVgInfoInCache
    - FOREACH
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropTable(SCollectMetaKeyCxt* pCxt, SDropTableStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:592,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:595,1
    - Dst: reserveTableUidInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:599,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropSuperTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 606
    functionName: collectMetaKeyFromDropStable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableUidInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropStable(SCollectMetaKeyCxt* pCxt, SDropSuperTableStmt*
      pStmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableUidInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:611,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:613,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:616,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:619,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:621,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:624,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:628,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropVirtualTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 633
    functionName: collectMetaKeyFromDropVtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableUidInCache
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    - reserveUserAuthInCache
    - reserveDbVgInfoInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropVtable(SCollectMetaKeyCxt* pCxt, SDropVirtualTableStmt*
      pStmt)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:642,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:644,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:650,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:651,1
    - Dst: catalogRemoveTableRelatedMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:652,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:657,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:662,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:667,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:672,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:682,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:687,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:692,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:697,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:702,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:706,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:711,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:716,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:721,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:726,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:729,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 637
    functionDepth: 9
    functionLinenumber: 637
    functionLinenumberEnd: 733
    functionName: collectMetaKeyFromAlterTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    - reserveUserAuthInCache
    - reserveDbVgInfoInCache
    - catalogRemoveTableRelatedMeta
    - FOREACH
    - tstrncpy
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromAlterTable(SCollectMetaKeyCxt* pCxt, SAlterTableStmt*
      pStmt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:742,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:744,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:746,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:748,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:750,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:756,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:758,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:761,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:765,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:770,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 774
    functionName: collectMetaKeyFromAlterStable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    - FOREACH
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromAlterStable(SCollectMetaKeyCxt* pCxt, SAlterTableStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:779,1
    - Dst: collectMetaKeyFromAlterTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:779,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:783,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:784,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:785,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:785,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:787,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 778
    functionDepth: 10
    functionLinenumber: 778
    functionLinenumberEnd: 792
    functionName: collectMetaKeyFromAlterVtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - PAR_ERR_RET
    - collectMetaKeyFromAlterTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromAlterVtable(SCollectMetaKeyCxt* pCxt, SAlterTableStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbVgVersionInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:797,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:799,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SUseDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 806
    functionName: collectMetaKeyFromUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbVgVersionInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromUseDatabase(SCollectMetaKeyCxt* pCxt, SUseDatabaseStmt*
      pStmt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:811,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:813,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:816,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:819,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:822,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:826,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:830,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 835
    functionName: collectMetaKeyFromCreateIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    - reserveUserAuthInCache
    - reserveDbVgInfoInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateIndex(SCollectMetaKeyCxt* pCxt, SCreateIndexStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:838,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:840,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 848
    functionName: collectMetaKeyFromDropIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropIndex(SCollectMetaKeyCxt* pCxt, SDropIndexStmt*
      pStmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:853,1
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:856,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:860,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:863,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:867,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateTopicStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 850
    functionDepth: 4
    functionLinenumber: 850
    functionLinenumberEnd: 872
    functionName: collectMetaKeyFromCreateTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - collectMetaKeyFromRealTableImpl
    - collectMetaKeyFromQuery
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateTopic(SCollectMetaKeyCxt* pCxt, SCreateTopicStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SExplainStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 876
    functionName: collectMetaKeyFromExplain
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromExplain(SCollectMetaKeyCxt* pCxt, SExplainStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:880,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:881,1
    - Dst: catalogRemoveTableRelatedMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:882,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:886,1
    - Dst: catalogRemoveViewMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:887,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:891,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDescribeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 878
    functionDepth: 9
    functionLinenumber: 878
    functionLinenumberEnd: 897
    functionName: collectMetaKeyFromDescribe
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - catalogRemoveViewMeta
    - catalogRemoveTableRelatedMeta
    - tstrncpy
    - reserveDbCfgInCache
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDescribe(SCollectMetaKeyCxt* pCxt, SDescribeStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:902,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:903,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:904,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:905,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:907,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:907,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:909,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:909,1
    - Dst: collectMetaKeyFromRealTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:915,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:916,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:917,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:917,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:918,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:918,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:919,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:919,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:922,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:922,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:926,1
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:926,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:928,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:928,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:930,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:930,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:933,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:933,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:935,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 899
    functionDepth: 5
    functionLinenumber: 899
    functionLinenumberEnd: 940
    functionName: collectMetaKeyFromCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    - reserveUserAuthInCache
    - PAR_ERR_RET
    - collectMetaKeyFromRealTable
    - reserveDbVgInfoInCache
    - reserveDbCfgInCache
    - collectMetaKeyFromQuery
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateStream(SCollectMetaKeyCxt* pCxt, SCreateStreamStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SRecalcStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 944
    functionName: collectMetaKeyFromRecalculateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromRecalculateStream(SCollectMetaKeyCxt* pCxt,
      SRecalcStreamStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:947,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 954
    functionName: collectMetaKeyFromShowDnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowDnodes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:957,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 964
    functionName: collectMetaKeyFromShowMnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowMnodes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 970
    functionName: collectMetaKeyFromShowModules
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowModules(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:973,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 980
    functionName: collectMetaKeyFromShowQnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowQnodes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:983,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 990
    functionName: collectMetaKeyFromShowSnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowSnodes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:993,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1000
    functionName: collectMetaKeyFromShowAnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowAnodes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1003,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1010
    functionName: collectMetaKeyFromShowAnodesFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowAnodesFull(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1013,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1020
    functionName: collectMetaKeyFromShowBnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowBnodes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1023,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1030
    functionName: collectMetaKeyFromShowBackupNodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowBackupNodes(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1033,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1040
    functionName: collectMetaKeyFromShowXnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowXnodes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1043,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1050
    functionName: collectMetaKeyFromShowXnodeTasks
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowXnodeTasks(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1052,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1059
    functionName: collectMetaKeyFromShowXnodeAgents
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowXnodeAgents(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1061,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1068
    functionName: collectMetaKeyFromShowXnodeJobs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowXnodeJobs(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1071,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1078
    functionName: collectMetaKeyFromShowVirtualTablesReferencing
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowVirtualTablesReferencing(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1084
    functionName: collectMetaKeyFromShowArbGroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowArbGroups(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1087,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1094
    functionName: collectMetaKeyFromShowCluster
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCluster(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1097,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1104
    functionName: collectMetaKeyFromShowSecurityPolicies
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowSecurityPolicies(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: collectMetaKeyFromShowDatabases
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowDatabases(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1112,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1119
    functionName: collectMetaKeyFromShowFunctions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowFunctions(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1122,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1130
    functionName: collectMetaKeyFromShowIndexes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowIndexes(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1133,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1136,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1144
    functionName: collectMetaKeyFromShowStables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowStables(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1147,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1150,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1153,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1161
    functionName: collectMetaKeyFromShowStreams
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowStreams(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1164,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1167,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1171,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1179
    functionName: collectMetaKeyFromShowTables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowTables(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1182,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1185,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1188,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1196
    functionName: collectMetaKeyFromShowFilesets
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowFilesets(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1199,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1202,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1206,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1213
    functionName: collectMetaKeyFromShowTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowTags(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowTableTagsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1215
    functionDepth: 4
    functionLinenumber: 1215
    functionLinenumberEnd: 1218
    functionName: collectMetaKeyFromShowStableTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromRealTableImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowStableTags(SCollectMetaKeyCxt* pCxt,
      SShowTableTagsStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1221,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1220
    functionDepth: 1
    functionLinenumber: 1220
    functionLinenumberEnd: 1228
    functionName: collectMetaKeyFromShowUsers
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowUsers(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1231,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1238
    functionName: collectMetaKeyFromShowUsersFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowUsersFull(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1241,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1248
    functionName: collectMetaKeyFromShowRoles
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowRoles(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1251,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1258
    functionName: collectMetaKeyFromShowLicence
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowLicence(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1261,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1268
    functionName: collectMetaKeyFromShowVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowVgroups(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: collectMetaKeyFromShowTopics
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowTopics(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1276,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1283
    functionName: collectMetaKeyFromShowConsumers
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowConsumers(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1286,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1293
    functionName: collectMetaKeyFromShowConnections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowConnections(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1296,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1303
    functionName: collectMetaKeyFromShowQueries
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowQueries(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1308
    functionName: collectMetaKeyFromShowVariables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowVariables(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1311,1
    - Dst: reserveDnodeRequiredInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowDnodeVariablesStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1317
    functionName: collectMetaKeyFromShowDnodeVariables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveDnodeRequiredInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowDnodeVariables(SCollectMetaKeyCxt* pCxt,
      SShowDnodeVariablesStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowVnodesStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1322
    functionName: collectMetaKeyFromShowVnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowVnodes(SCollectMetaKeyCxt* pCxt, SShowVnodesStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1325,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1332
    functionName: collectMetaKeyFromShowUserPrivileges
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowUserPrivileges(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1335,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1342
    functionName: collectMetaKeyFromShowRolePrivileges
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowRolePrivileges(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1345,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1352
    functionName: collectMetaKeyFromShowRoleColPrivileges
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowRoleColPrivileges(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1355,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1358,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1366
    functionName: collectMetaKeyFromShowViews
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowViews(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1372
    functionName: collectMetaKeyFromShowCompacts
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCompacts(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1378
    functionName: collectMetaKeyFromShowScans
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowScans(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1384
    functionName: collectMetaKeyFromShowCompactDetails
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCompactDetails(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1390
    functionName: collectMetaKeyFromShowScanDetails
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowScanDetails(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1392
    functionDepth: 1
    functionLinenumber: 1392
    functionLinenumberEnd: 1396
    functionName: collectMetaKeyFromShowSsMigrates
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowSsMigrates(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1402
    functionName: collectMetaKeyFromShowTokens
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowTokens(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1405,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1412
    functionName: collectMetaKeyFromShowTransactionDetails
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowTransactionDetails(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1415,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1422
    functionName: collectMetaKeyFromShowGrantsFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowGrantsFull(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1425,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1432
    functionName: collectMetaKeyFromShowGrantsLogs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowGrantsLogs(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1435,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1434
    functionDepth: 1
    functionLinenumber: 1434
    functionLinenumberEnd: 1442
    functionName: collectMetaKeyFromShowClusterMachines
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowClusterMachines(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1447
    functionName: collectMetaKeyFromShowEncryptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowEncryptions(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1453
    functionName: collectMetaKeyFromShowEncryptAlgorithms
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowEncryptAlgorithms(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1459
    functionName: collectMetaKeyFromShowEncryptStatus
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowEncryptStatus(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1462,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1469
    functionName: collectMetaKeyFromShowMounts
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowMounts(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1472,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1478
    functionName: collectMetaKeyFromShowCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCreateDatabase(SCollectMetaKeyCxt* pCxt,
      SShowCreateDatabaseStmt* pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1482,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1483,1
    - Dst: catalogRemoveTableMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1484,1
    - Dst: reserveTableCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1486,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1489,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1496,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1480
    functionDepth: 9
    functionLinenumber: 1480
    functionLinenumberEnd: 1504
    functionName: collectMetaKeyFromShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableCfgInCache
    - tstrncpy
    - catalogRemoveTableMeta
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCreateTable(SCollectMetaKeyCxt* pCxt,
      SShowCreateTableStmt* pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1508,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1509,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1511,1
    - Dst: catalogRemoveViewMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1512,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1514,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1517,1
    - Dst: reserveViewUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1521,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1506
    functionDepth: 5
    functionLinenumber: 1506
    functionLinenumberEnd: 1529
    functionName: collectMetaKeyFromShowCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - catalogRemoveViewMeta
    - reserveViewUserAuthInCache
    - tstrncpy
    - reserveDbCfgInCache
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCreateView(SCollectMetaKeyCxt* pCxt,
      SShowCreateViewStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1532,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1535,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1542
    functionName: collectMetaKeyFromShowCreateRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCreateRsma(SCollectMetaKeyCxt* pCxt,
      SShowCreateRsmaStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1545,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1552
    functionName: collectMetaKeyFromShowCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowCreateStream(SCollectMetaKeyCxt* pCxt,
      SShowCreateStreamStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1555,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1554
    functionDepth: 1
    functionLinenumber: 1554
    functionLinenumberEnd: 1562
    functionName: collectMetaKeyFromShowApps
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowApps(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1567
    functionName: collectMetaKeyFromShowInstances
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowInstances(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1570,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1577
    functionName: collectMetaKeyFromShowTransactions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowTransactions(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1579
    functionDepth: 4
    functionLinenumber: 1579
    functionLinenumberEnd: 1582
    functionName: collectMetaKeyFromDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromRealTableImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDelete(SCollectMetaKeyCxt* pCxt, SDeleteStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1587,1
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1584
    functionDepth: 4
    functionLinenumber: 1584
    functionLinenumberEnd: 1592
    functionName: collectMetaKeyFromInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromRealTableImpl
    - collectMetaKeyFromQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromInsert(SCollectMetaKeyCxt* pCxt, SInsertStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1596,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1597,1
    - Dst: catalogRemoveTableMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1598,1
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowTableDistributedStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1594
    functionDepth: 9
    functionLinenumber: 1594
    functionLinenumberEnd: 1603
    functionName: collectMetaKeyFromShowBlockDist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromRealTableImpl
    - tstrncpy
    - catalogRemoveTableMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowBlockDist(SCollectMetaKeyCxt* pCxt, SShowTableDistributedStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1608,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1611,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1615,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowValidateVirtualTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1621
    functionName: collectMetaKeyFromShowValidateVtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowValidateVtable(SCollectMetaKeyCxt* pCxt,
      SShowValidateVirtualTable* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1623
    functionDepth: 1
    functionLinenumber: 1623
    functionLinenumberEnd: 1626
    functionName: collectMetaKeyFromShowSubscriptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowSubscriptions(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1629,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCompactDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1628
    functionDepth: 1
    functionLinenumber: 1628
    functionLinenumberEnd: 1635
    functionName: collectMetaKeyFromCompactDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCompactDatabase(SCollectMetaKeyCxt* pCxt,
      SCompactDatabaseStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1638,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SRollupDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1637
    functionDepth: 1
    functionLinenumber: 1637
    functionLinenumberEnd: 1644
    functionName: collectMetaKeyFromRollupDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromRollupDatabase(SCollectMetaKeyCxt* pCxt,
      SRollupDatabaseStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1647,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SScanDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1646
    functionDepth: 1
    functionLinenumber: 1646
    functionLinenumberEnd: 1653
    functionName: collectMetaKeyFromScanDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromScanDatabase(SCollectMetaKeyCxt* pCxt, SScanDatabaseStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1656,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SSsMigrateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1655
    functionDepth: 1
    functionLinenumber: 1655
    functionLinenumberEnd: 1662
    functionName: collectMetaKeyFromSsmigrateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromSsmigrateDatabase(SCollectMetaKeyCxt* pCxt,
      SSsMigrateDatabaseStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1665,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - STrimDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1664
    functionDepth: 1
    functionLinenumber: 1664
    functionLinenumberEnd: 1671
    functionName: collectMetaKeyFromTrimDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromTrimDatabase(SCollectMetaKeyCxt* pCxt, STrimDatabaseStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCompactVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1675
    functionName: collectMetaKeyFromCompactVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCompactVgroups(SCollectMetaKeyCxt* pCxt,
      SCompactVgroupsStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SRollupVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1677
    functionDepth: 1
    functionLinenumber: 1677
    functionLinenumberEnd: 1679
    functionName: collectMetaKeyFromRollupVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromRollupVgroups(SCollectMetaKeyCxt* pCxt, SRollupVgroupsStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SScanVgroupsStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1683
    functionName: collectMetaKeyFromScanVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromScanVgroups(SCollectMetaKeyCxt* pCxt, SScanVgroupsStmt*
      pStmt)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1690,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1691,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1694,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1695,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1698,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1699,1
    - Dst: IS_SPECIFIC_OBJ
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1704,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1706,1
    - Dst: IS_SPECIFIC_OBJ
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1709,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1711,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1713,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1722,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - grant
    argTypes:
    - SCollectMetaKeyCxt*
    - SGrantStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1727
    functionName: collectMetaKeyFromGrantImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - IS_SPECIFIC_OBJ
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromGrantImpl(SCollectMetaKeyCxt* pCxt, SGrantStmt*
      pStmt, bool grant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromGrantImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SGrantStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1729
    functionDepth: 2
    functionLinenumber: 1729
    functionLinenumberEnd: 1731
    functionName: collectMetaKeyFromGrant
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromGrantImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromGrant(SCollectMetaKeyCxt* pCxt, SGrantStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromGrantImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SRevokeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1735
    functionName: collectMetaKeyFromRevoke
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromGrantImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromRevoke(SCollectMetaKeyCxt* pCxt, SRevokeStmt*
      pStmt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1738,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1741,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1745,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1749,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1753,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1758,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1758,1
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1761,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1737
    functionDepth: 1
    functionLinenumber: 1737
    functionLinenumberEnd: 1766
    functionName: collectMetaKeyFromCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - nodeType
    - reserveDbCfgInCache
    - collectMetaKeyFromQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateViewStmt(SCollectMetaKeyCxt* pCxt,
      SCreateViewStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveViewUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1769,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1773,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1777,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1768
    functionDepth: 1
    functionLinenumber: 1768
    functionLinenumberEnd: 1783
    functionName: collectMetaKeyFromDropViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - reserveViewUserAuthInCache
    - reserveTableMetaInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropViewStmt(SCollectMetaKeyCxt* pCxt, SDropViewStmt*
      pStmt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: reserveTSMAInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1789,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1792,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1793,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1795,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1799,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1801,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1804,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1808,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1812,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1817,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1820,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1824,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1828,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateTSMAStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1785
    functionDepth: 1
    functionLinenumber: 1785
    functionLinenumberEnd: 1833
    functionName: collectMetaKeyFromCreateTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    - reserveUserAuthInCache
    - reserveDbVgInfoInCache
    - reserveTSMAInfoInCache
    - snprintf
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateTSMAStmt(SCollectMetaKeyCxt* pCxt,
      SCreateTSMAStmt* pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reserveTSMAInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1837,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1839,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1842,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1846,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropTSMAStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1835
    functionDepth: 1
    functionLinenumber: 1835
    functionLinenumberEnd: 1854
    functionName: collectMetaKeyFromDropTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTSMAInfoInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropTSMAStmt(SCollectMetaKeyCxt* pCxt, SDropTSMAStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1857,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1860,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1863,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1871
    functionName: collectMetaKeyFromShowUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowUsage(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1876
    functionName: collectMetaKeyFromShowTSMASStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowTSMASStmt(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1879,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1881,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1884,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1888,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1892,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1896,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1878
    functionDepth: 1
    functionLinenumber: 1878
    functionLinenumberEnd: 1900
    functionName: collectMetaKeyFromCreateRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromCreateRsmaStmt(SCollectMetaKeyCxt* pCxt,
      SCreateRsmaStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1903,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1905,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1902
    functionDepth: 1
    functionLinenumber: 1902
    functionLinenumberEnd: 1913
    functionName: collectMetaKeyFromDropRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromDropRsmaStmt(SCollectMetaKeyCxt* pCxt, SDropRsmaStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1916,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1915
    functionDepth: 1
    functionLinenumber: 1915
    functionLinenumberEnd: 1922
    functionName: collectMetaKeyFromAlterRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromAlterRsmaStmt(SCollectMetaKeyCxt* pCxt, SAlterRsmaStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1924
    functionDepth: 1
    functionLinenumber: 1924
    functionLinenumberEnd: 1927
    functionName: collectMetaKeyFromShowRsmasStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowRsmasStmt(SCollectMetaKeyCxt* pCxt, SShowStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1929
    functionDepth: 1
    functionLinenumber: 1929
    functionLinenumberEnd: 1932
    functionName: collectMetaKeyFromShowRetentionsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowRetentionsStmt(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1934
    functionDepth: 1
    functionLinenumber: 1934
    functionLinenumberEnd: 1937
    functionName: collectMetaKeyFromShowRetentionDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowRetentionDetailsStmt(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1940,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowAliveStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1939
    functionDepth: 1
    functionLinenumber: 1939
    functionLinenumberEnd: 1947
    functionName: collectMetaKeyFromShowAlive
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveTableMetaInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromShowAlive(SCollectMetaKeyCxt* pCxt, SShowAliveStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1951,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1954,1
    - Dst: cfgGetPrivType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1957,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterLocalStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1949
    functionDepth: 1
    functionLinenumber: 1949
    functionLinenumberEnd: 1961
    functionName: collectMetaKeyFromAlterLocalStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - cfgGetPrivType
    - tstrncpy
    - strchr
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromAlterLocalStmt(SCollectMetaKeyCxt* pCxt,
      SAlterLocalStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1973,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 9
    argCount: 2
    argNames:
    - pCurrentUser
    - pStmt
    argTypes:
    - char*
    - SAlterUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1980
    functionName: getAlterUserPrivType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: EPrivType
    signature: EPrivType getAlterUserPrivType(const char* pCurrentUser, const SAlterUserStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAlterUserPrivType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1983,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1982
    functionDepth: 1
    functionLinenumber: 1982
    functionLinenumberEnd: 1986
    functionName: collectMetaKeyFromAlterUserStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    - getAlterUserPrivType
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromAlterUserStmt(SCollectMetaKeyCxt* pCxt, SAlterUserStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - privType
    argTypes:
    - SCollectMetaKeyCxt*
    - EPrivType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1988
    functionDepth: 1
    functionLinenumber: 1988
    functionLinenumberEnd: 1991
    functionName: collectMetaKeyFromSysPrivStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromSysPrivStmt(SCollectMetaKeyCxt* pCxt, EPrivType
      privType)
  - BBCount: 153
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1998,1
    - Dst: collectMetaKeyFromSetOperator
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2000,1
    - Dst: collectMetaKeyFromSelect
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2003,1
    - Dst: collectMetaKeyFromAlterDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2006,1
    - Dst: collectMetaKeyFromFlushDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2009,1
    - Dst: collectMetaKeyFromCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2012,1
    - Dst: collectMetaKeyFromCreateVTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2015,1
    - Dst: collectMetaKeyFromCreateVSubTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2018,1
    - Dst: collectMetaKeyFromCreateMultiTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2021,1
    - Dst: collectMetaKeyFromCreateSubTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2024,1
    - Dst: collectMetaKeyFromDropTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2027,1
    - Dst: collectMetaKeyFromDropStable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2030,1
    - Dst: collectMetaKeyFromDropVtable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2033,1
    - Dst: collectMetaKeyFromAlterTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2036,1
    - Dst: collectMetaKeyFromAlterStable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2039,1
    - Dst: collectMetaKeyFromAlterVtable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2042,1
    - Dst: collectMetaKeyFromUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2045,1
    - Dst: collectMetaKeyFromCreateIndex
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2048,1
    - Dst: collectMetaKeyFromDropIndex
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2051,1
    - Dst: collectMetaKeyFromCreateTopic
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2054,1
    - Dst: collectMetaKeyFromExplain
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2057,1
    - Dst: collectMetaKeyFromDescribe
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2060,1
    - Dst: collectMetaKeyFromCompactDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2063,1
    - Dst: collectMetaKeyFromRollupDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2066,1
    - Dst: collectMetaKeyFromScanDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2069,1
    - Dst: collectMetaKeyFromSsmigrateDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2072,1
    - Dst: collectMetaKeyFromTrimDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2075,1
    - Dst: collectMetaKeyFromCompactVgroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2078,1
    - Dst: collectMetaKeyFromRollupVgroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2081,1
    - Dst: collectMetaKeyFromScanVgroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2084,1
    - Dst: collectMetaKeyFromCreateStream
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2087,1
    - Dst: collectMetaKeyFromRecalculateStream
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2090,1
    - Dst: collectMetaKeyFromGrant
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2093,1
    - Dst: collectMetaKeyFromRevoke
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2096,1
    - Dst: collectMetaKeyFromShowDnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2099,1
    - Dst: collectMetaKeyFromShowMnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2102,1
    - Dst: collectMetaKeyFromShowModules
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2105,1
    - Dst: collectMetaKeyFromShowQnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2108,1
    - Dst: collectMetaKeyFromShowSnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2111,1
    - Dst: collectMetaKeyFromShowAnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2114,1
    - Dst: collectMetaKeyFromShowAnodesFull
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2117,1
    - Dst: collectMetaKeyFromShowBnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2120,1
    - Dst: collectMetaKeyFromShowBackupNodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2123,1
    - Dst: collectMetaKeyFromShowXnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2126,1
    - Dst: collectMetaKeyFromShowXnodeTasks
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2129,1
    - Dst: collectMetaKeyFromShowXnodeAgents
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2132,1
    - Dst: collectMetaKeyFromShowXnodeJobs
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2135,1
    - Dst: collectMetaKeyFromShowArbGroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2138,1
    - Dst: collectMetaKeyFromShowCluster
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2141,1
    - Dst: collectMetaKeyFromShowSecurityPolicies
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2144,1
    - Dst: collectMetaKeyFromShowDatabases
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2147,1
    - Dst: collectMetaKeyFromShowFunctions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2150,1
    - Dst: collectMetaKeyFromShowIndexes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2153,1
    - Dst: collectMetaKeyFromShowStables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2156,1
    - Dst: collectMetaKeyFromShowStreams
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2159,1
    - Dst: collectMetaKeyFromShowTables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2163,1
    - Dst: collectMetaKeyFromShowFilesets
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2166,1
    - Dst: collectMetaKeyFromShowTags
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2169,1
    - Dst: collectMetaKeyFromShowStableTags
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2172,1
    - Dst: collectMetaKeyFromShowUsers
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2175,1
    - Dst: collectMetaKeyFromShowUsersFull
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2178,1
    - Dst: collectMetaKeyFromShowRoles
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2181,1
    - Dst: collectMetaKeyFromShowLicence
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2184,1
    - Dst: collectMetaKeyFromShowVgroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2187,1
    - Dst: collectMetaKeyFromShowTopics
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2190,1
    - Dst: collectMetaKeyFromShowConsumers
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2193,1
    - Dst: collectMetaKeyFromShowConnections
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2196,1
    - Dst: collectMetaKeyFromShowQueries
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2199,1
    - Dst: collectMetaKeyFromShowVariables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2202,1
    - Dst: collectMetaKeyFromShowDnodeVariables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2205,1
    - Dst: collectMetaKeyFromShowVnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2208,1
    - Dst: collectMetaKeyFromShowUserPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2211,1
    - Dst: collectMetaKeyFromShowRolePrivileges
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2214,1
    - Dst: collectMetaKeyFromShowRoleColPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2217,1
    - Dst: collectMetaKeyFromShowViews
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2220,1
    - Dst: collectMetaKeyFromShowCompacts
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2223,1
    - Dst: collectMetaKeyFromShowScans
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2226,1
    - Dst: collectMetaKeyFromShowCompactDetails
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2229,1
    - Dst: collectMetaKeyFromShowScanDetails
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2232,1
    - Dst: collectMetaKeyFromShowSsMigrates
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2235,1
    - Dst: collectMetaKeyFromShowTokens
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2238,1
    - Dst: collectMetaKeyFromShowTransactionDetails
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2241,1
    - Dst: collectMetaKeyFromShowGrantsFull
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2244,1
    - Dst: collectMetaKeyFromShowGrantsLogs
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2247,1
    - Dst: collectMetaKeyFromShowClusterMachines
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2250,1
    - Dst: collectMetaKeyFromShowEncryptions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2253,1
    - Dst: collectMetaKeyFromShowEncryptAlgorithms
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2256,1
    - Dst: collectMetaKeyFromShowEncryptStatus
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2259,1
    - Dst: collectMetaKeyFromShowMounts
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2262,1
    - Dst: collectMetaKeyFromShowCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2265,1
    - Dst: collectMetaKeyFromShowCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2270,1
    - Dst: collectMetaKeyFromShowCreateView
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2273,1
    - Dst: collectMetaKeyFromShowCreateRsma
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2276,1
    - Dst: collectMetaKeyFromShowCreateStream
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2279,1
    - Dst: collectMetaKeyFromShowApps
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2282,1
    - Dst: collectMetaKeyFromShowInstances
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2285,1
    - Dst: collectMetaKeyFromShowTransactions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2288,1
    - Dst: collectMetaKeyFromShowUsage
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2291,1
    - Dst: collectMetaKeyFromDelete
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2294,1
    - Dst: collectMetaKeyFromInsert
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2297,1
    - Dst: collectMetaKeyFromShowBlockDist
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2300,1
    - Dst: collectMetaKeyFromShowValidateVtable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2303,1
    - Dst: collectMetaKeyFromShowSubscriptions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2306,1
    - Dst: collectMetaKeyFromCreateViewStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2309,1
    - Dst: collectMetaKeyFromDropViewStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2312,1
    - Dst: collectMetaKeyFromCreateTSMAStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2315,1
    - Dst: collectMetaKeyFromDropTSMAStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2318,1
    - Dst: collectMetaKeyFromShowTSMASStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2321,1
    - Dst: collectMetaKeyFromCreateRsmaStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2324,1
    - Dst: collectMetaKeyFromDropRsmaStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2327,1
    - Dst: collectMetaKeyFromAlterRsmaStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2330,1
    - Dst: collectMetaKeyFromShowRsmasStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2333,1
    - Dst: collectMetaKeyFromShowRetentionsStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2336,1
    - Dst: collectMetaKeyFromShowRetentionDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2339,1
    - Dst: collectMetaKeyFromShowAlive
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2343,1
    - Dst: collectMetaKeyFromCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2346,1
    - Dst: collectMetaKeyFromDropDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2349,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2352,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2356,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2359,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2362,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2365,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2368,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2371,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2374,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2377,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2380,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2383,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2386,1
    - Dst: collectMetaKeyFromAlterUserStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2389,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2392,1
    - Dst: collectMetaKeyFromAlterLocalStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2395,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2402,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2410,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2413,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2416,1
    - Dst: collectMetaKeyFromSysPrivStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2419,1
    CyclomaticComplexity: 137
    EdgeCount: 137
    ICount: 430
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 1993
    functionDepth: 11
    functionLinenumber: 1993
    functionLinenumberEnd: 2428
    functionName: collectMetaKeyFromQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 8
    functionsReached:
    - collectMetaKeyFromCompactDatabase
    - collectMetaKeyFromCreateRsmaStmt
    - collectMetaKeyFromShowQnodes
    - collectMetaKeyFromShowScans
    - collectMetaKeyFromShowRetentionsStmt
    - collectMetaKeyFromShowTransactions
    - collectMetaKeyFromDropRsmaStmt
    - collectMetaKeyFromRollupVgroups
    - collectMetaKeyFromDropTable
    - collectMetaKeyFromShowStables
    - collectMetaKeyFromShowDnodeVariables
    - collectMetaKeyFromSelect
    - collectMetaKeyFromShowMnodes
    - collectMetaKeyFromDelete
    - collectMetaKeyFromShowTopics
    - collectMetaKeyFromShowAlive
    - collectMetaKeyFromCreateMultiTable
    - collectMetaKeyFromShowFunctions
    - collectMetaKeyFromShowUsers
    - collectMetaKeyFromShowRsmasStmt
    - collectMetaKeyFromAlterVtable
    - collectMetaKeyFromShowMounts
    - collectMetaKeyFromShowDatabases
    - collectMetaKeyFromShowLicence
    - collectMetaKeyFromRecalculateStream
    - collectMetaKeyFromShowStreams
    - collectMetaKeyFromShowXnodeAgents
    - collectMetaKeyFromDropVtable
    - collectMetaKeyFromShowVgroups
    - collectMetaKeyFromShowXnodeJobs
    - collectMetaKeyFromAlterStable
    - collectMetaKeyFromCreateVTable
    - collectMetaKeyFromShowUsersFull
    - collectMetaKeyFromShowGrantsFull
    - collectMetaKeyFromShowAnodes
    - collectMetaKeyFromCreateTable
    - collectMetaKeyFromShowEncryptAlgorithms
    - collectMetaKeyFromScanVgroups
    - collectMetaKeyFromAlterUserStmt
    - collectMetaKeyFromShowInstances
    - collectMetaKeyFromShowBnodes
    - collectMetaKeyFromCreateDatabase
    - nodeType
    - collectMetaKeyFromShowCreateStream
    - collectMetaKeyFromShowClusterMachines
    - collectMetaKeyFromRollupDatabase
    - collectMetaKeyFromShowXnodeTasks
    - collectMetaKeyFromUseDatabase
    - collectMetaKeyFromDescribe
    - collectMetaKeyFromDropIndex
    - collectMetaKeyFromDropStable
    - collectMetaKeyFromShowSsMigrates
    - collectMetaKeyFromExplain
    - collectMetaKeyFromCreateStream
    - collectMetaKeyFromShowRolePrivileges
    - collectMetaKeyFromTrimDatabase
    - collectMetaKeyFromShowFilesets
    - collectMetaKeyFromCreateVSubTable
    - collectMetaKeyFromShowConnections
    - collectMetaKeyFromSysPrivStmt
    - collectMetaKeyFromShowIndexes
    - collectMetaKeyFromRevoke
    - collectMetaKeyFromShowApps
    - collectMetaKeyFromShowCompactDetails
    - collectMetaKeyFromShowCompacts
    - collectMetaKeyFromShowViews
    - collectMetaKeyFromShowTokens
    - collectMetaKeyFromShowModules
    - collectMetaKeyFromShowRoleColPrivileges
    - collectMetaKeyFromCreateSubTableFromFile
    - collectMetaKeyFromDropViewStmt
    - collectMetaKeyFromShowQueries
    - collectMetaKeyFromShowSecurityPolicies
    - collectMetaKeyFromCreateIndex
    - collectMetaKeyFromShowRoles
    - collectMetaKeyFromGrant
    - collectMetaKeyFromSetOperator
    - collectMetaKeyFromScanDatabase
    - collectMetaKeyFromShowBackupNodes
    - collectMetaKeyFromShowVnodes
    - collectMetaKeyFromAlterDatabase
    - collectMetaKeyFromShowStableTags
    - collectMetaKeyFromShowRetentionDetailsStmt
    - collectMetaKeyFromDropDatabase
    - collectMetaKeyFromShowUsage
    - collectMetaKeyFromShowSubscriptions
    - collectMetaKeyFromCompactVgroups
    - collectMetaKeyFromShowCluster
    - collectMetaKeyFromShowTSMASStmt
    - collectMetaKeyFromShowBlockDist
    - collectMetaKeyFromShowUserPrivileges
    - collectMetaKeyFromSsmigrateDatabase
    - collectMetaKeyFromShowTags
    - collectMetaKeyFromShowCreateTable
    - collectMetaKeyFromShowArbGroups
    - collectMetaKeyFromCreateTSMAStmt
    - collectMetaKeyFromShowEncryptions
    - collectMetaKeyFromAlterTable
    - collectMetaKeyFromShowDnodes
    - collectMetaKeyFromShowValidateVtable
    - collectMetaKeyFromShowGrantsLogs
    - collectMetaKeyFromShowEncryptStatus
    - collectMetaKeyFromShowConsumers
    - collectMetaKeyFromAlterLocalStmt
    - collectMetaKeyFromDropTSMAStmt
    - collectMetaKeyFromAlterRsmaStmt
    - collectMetaKeyFromShowCreateView
    - collectMetaKeyFromFlushDatabase
    - collectMetaKeyFromCreateTopic
    - collectMetaKeyFromShowTables
    - collectMetaKeyFromShowAnodesFull
    - collectMetaKeyFromShowXnodes
    - collectMetaKeyFromShowTransactionDetails
    - collectMetaKeyFromShowCreateDatabase
    - collectMetaKeyFromShowScanDetails
    - collectMetaKeyFromInsert
    - collectMetaKeyFromCreateViewStmt
    - collectMetaKeyFromShowVariables
    - collectMetaKeyFromShowSnodes
    - collectMetaKeyFromShowCreateRsma
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKeyFromQuery(SCollectMetaKeyCxt* pCxt, SNode* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:2432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2430
    functionDepth: 12
    functionLinenumber: 2430
    functionLinenumberEnd: 2433
    functionName: collectMetaKey
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: 0
    functionsReached:
    - collectMetaKeyFromQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectMetaKey(SParseContext* pParseCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:514,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:516,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:518,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:520,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 527
    functionName: doInitKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: 0
    functionsReached:
    - tListLen
    - taosHashInit
    - taosHashCleanup
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t doInitKeywordsTable(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:531,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - z
    - n
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 549
    functionName: tKeywordCode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: 0
    functionsReached:
    - tListLen
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t tKeywordCode(const char* z, int n)
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:563,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:734,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:735,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:739,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:739,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:741,1
    - Dst: isxdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:769,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:789,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:803,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:805,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:825,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:825,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:827,1
    - Dst: IS_TRUE_STR
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:859,1
    - Dst: IS_FALSE_STR
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:859,1
    - Dst: tKeywordCode
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:863,1
    - Dst: tKeywordCode
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:883,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 300
    argCount: 3
    argNames:
    - z
    - tokenId
    - dupQuoteChar
    argTypes:
    - char*
    - uint32_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 890
    functionName: tGetToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: 1
    functionsReached:
    - IS_FALSE_STR
    - isdigit
    - IS_TRUE_STR
    - isxdigit
    - tKeywordCode
    - isspace
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t tGetToken(const char* z, uint32_t* tokenId, char* dupQuoteChar)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:920,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:950,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:963,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:976,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 62
    argCount: 4
    argNames:
    - str
    - i
    - isPrevOptr
    - pIgnoreComma
    argTypes:
    - char*
    - int32_t*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 892
    functionDepth: 3
    functionLinenumber: 892
    functionLinenumberEnd: 988
    functionName: tStrGetToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: 1
    functionsReached:
    - tGetToken
    linkageType: ''
    returnType: SToken
    signature: SToken tStrGetToken(const char* str, int32_t* i, bool isPrevOptr, bool*
      pIgnoreComma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tKeywordCode
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - z
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: taosIsKeyWordToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: 0
    functionsReached:
    - tKeywordCode
    linkageType: ''
    returnType: bool
    signature: bool taosIsKeyWordToken(const char* z, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doInitKeywordsTable
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 992
    functionDepth: 2
    functionLinenumber: 992
    functionLinenumberEnd: 992
    functionName: taosInitKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: 0
    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:996,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 999
    functionName: taosCleanupKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: 2
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void taosCleanupKeywordsTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:82,1
    - Dst: IS_NULL_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dataType
    - pToken
    argTypes:
    - int8_t
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: isNullValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_TYPE
    - IS_NULL_STR
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE isNullValue(int8_t dataType, SToken* pToken)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:86,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pToken
    - value
    - endPtr
    argTypes:
    - SToken*
    - double*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: toDouble
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - SET_ERRNO
    - taosStr2Double
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE toDouble(SToken* pToken, double* value, char** endPtr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:99,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:101,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:103,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pSql
    - pMsg
    argTypes:
    - char**
    - SMsgBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: skipInsertInto
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - NEXT_TOKEN
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t skipInsertInto(const char** pSql, SMsgBuf* pMsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:114,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pSql
    argTypes:
    - SInsertParseContext*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: skipParentheses
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - NEXT_TOKEN
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t skipParentheses(SInsertParseContext* pCxt, const char** pSql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:131,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pSql
    argTypes:
    - SInsertParseContext*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: skipTableOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - NEXT_TOKEN_WITH_PREV
    - NEXT_TOKEN_KEEP_SQL
    linkageType: ''
    returnType: int32_t
    signature: int32_t skipTableOptions(SInsertParseContext* pCxt, const char** pSql)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:147,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:149,1
    - Dst: skipParentheses
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:151,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:153,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:160,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:162,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:167,1
    - Dst: skipParentheses
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:169,1
    - Dst: skipTableOptions
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 178
    functionName: ignoreUsingClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - skipTableOptions
    - NEXT_TOKEN
    - buildSyntaxErrMsg
    - skipParentheses
    linkageType: ''
    returnType: int32_t
    signature: int32_t ignoreUsingClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parseBoundTagsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:183,1
    - Dst: parseTagsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:188,1
    - Dst: skipTableOptions
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 198
    functionName: ignoreUsingClauseAndCheckTagValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - skipTableOptions
    - parseTagsClause
    - parseBoundTagsClause
    linkageType: ''
    returnType: int32_t
    signature: int32_t ignoreUsingClauseAndCheckTagValues(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:205,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:209,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:209,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:213,1
    - Dst: ignoreUsingClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pDuplicate
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 221
    functionName: parseDuplicateUsingClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - cloneTableMeta
    - taosHashGet
    - strlen
    - tNameExtractFullName
    - ignoreUsingClause
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseDuplicateUsingClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, bool* pDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: getTbnameSchemaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTbnameSchemaIndex(STableMeta* pTableMeta)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:234,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:236,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:239,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:240,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:240,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:244,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:246,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:258,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:262,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:270,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:271,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:273,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:275,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:277,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:277,1
    - Dst: insFindCol
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:286,1
    - Dst: insFindCol
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:288,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:291,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:293,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:305,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:313,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:321,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:322,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:330,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:333,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:337,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:339,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 86
    argCount: 6
    argNames:
    - pCxt
    - pStmt
    - pSql
    - boundColsType
    - pTableMeta
    - pBoundInfo
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - char**
    - EBoundColumnsType
    - STableMeta*
    - SBoundColInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 342
    functionName: parseBoundColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parserError
    - generateSyntaxErrMsg
    - getTableTagSchema
    - NEXT_TOKEN
    - insFindCol
    - strcasecmp
    - strdequote
    - buildInvalidOperationMsg
    - tstrncpy
    - taosMemoryFree
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - getTableColumnSchema
    - strlen
    - taosMemoryCalloc
    - getTbnameSchemaIndex
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseBoundColumns(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, const char** pSql,\n                                 EBoundColumnsType
      boundColsType, STableMeta* pTableMeta, SBoundColInfo* pBoundInfo)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:348,1
    - Dst: taosGetTimestampToday
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:351,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:354,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:355,1
    - Dst: parseAbsoluteDuration
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:360,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:365,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:368,1
    - Dst: IS_NOW_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:370,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:372,1
    - Dst: IS_TODAY_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:373,1
    - Dst: taosGetTimestampToday
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:375,1
    - Dst: toIntegerPure
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:376,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:379,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 8
    argNames:
    - end
    - pToken
    - timePrec
    - ts
    - interval
    - pMsgBuf
    - isTs
    - tz
    argTypes:
    - char**
    - SToken*
    - int16_t
    - int64_t*
    - int64_t*
    - SMsgBuf*
    - bool*
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 385
    functionName: parseTimestampOrInterval
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosGetTimestamp
    - toIntegerPure
    - parseAbsoluteDuration
    - IS_TODAY_STR
    - taosGetTimestampToday
    - IS_NOW_STR
    - toInteger
    - buildSyntaxErrMsg
    - taosParseTime
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseTimestampOrInterval(const char** end, SToken* pToken,
      int16_t timePrec, int64_t* ts,\n                                        int64_t*
      interval, SMsgBuf* pMsgBuf, bool* isTs, timezone_t tz)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: parseTimestampOrInterval
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:396,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:397,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:426,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:441,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:452,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:457,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:462,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:464,1
    - Dst: parseTimestampOrInterval
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:470,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:471,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:475,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:481,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:487,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:494,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:512,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 107
    argCount: 6
    argNames:
    - end
    - pToken
    - timePrec
    - time
    - pMsgBuf
    - tz
    argTypes:
    - char**
    - SToken*
    - int16_t
    - int64_t*
    - SMsgBuf*
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 387
    functionDepth: 4
    functionLinenumber: 387
    functionLinenumberEnd: 518
    functionName: parseTime
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - tStrGetToken
    - parseTimestampOrInterval
    - trimString
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int
    signature: "int parseTime(const char** end, SToken* pToken, int16_t timePrec,
      int64_t* time, SMsgBuf* pMsgBuf,\n                     timezone_t tz)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initCtxGeomFromText
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:527,1
    - Dst: doGeomFromText
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:532,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pToken
    - output
    - size
    argTypes:
    - SToken*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 542
    functionName: parseGeometry
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    - initCtxGeomFromText
    - doGeomFromText
    linkageType: ''
    returnType: int
    signature: int parseGeometry(SToken* pToken, unsigned char** output, size_t* size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:546,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:548,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:551,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:553,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:563,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:566,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:568,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 7
    argNames:
    - pCxt
    - ppSql
    - pToken
    - pVal
    - tokenBuf
    - inputBytes
    - final
    argTypes:
    - SInsertParseContext*
    - char**
    - SToken*
    - SColVal*
    - char*
    - int32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 574
    functionName: parseSingleStrParam
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - NEXT_VALID_TOKEN
    - trimString
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseSingleStrParam(SInsertParseContext* pCxt, const char**
      ppSql, SToken* pToken, SColVal* pVal,\n                                   char*
      tokenBuf, int32_t* inputBytes, bool* final)"
  - BBCount: 100
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:591,1
    - Dst: parseSingleStrParam
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:597,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:599,1
    - Dst: tbase64_decode_len
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:606,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:608,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:610,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:613,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:615,1
    - Dst: tbase64_decode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:620,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:623,1
    - Dst: parseSingleStrParam
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:629,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:631,1
    - Dst: tbase64_encode_len
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:638,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:640,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:642,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:645,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:647,1
    - Dst: tbase64_encode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:652,1
    - Dst: parseSingleStrParam
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:655,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:657,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:665,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:667,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:670,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:671,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:673,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:678,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:679,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:682,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:684,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:686,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:689,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:691,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:693,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:695,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:698,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:700,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:702,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:705,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:709,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:714,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:716,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:719,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:724,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:726,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:730,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:732,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:734,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:736,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:737,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:739,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:743,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:745,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:749,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:751,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:753,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:757,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:759,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:762,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:763,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:765,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:770,1
    - Dst: taosCreateSHA2Hash
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:771,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:774,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:776,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:778,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:781,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:783,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:787,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:792,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:794,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:797,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:800,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:802,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:804,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:808,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:810,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:813,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:814,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:816,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:821,1
    - Dst: taosCreateSHA1Hash
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:822,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:825,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:827,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:829,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:832,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:834,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:836,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:838,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:840,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:842,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:845,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:847,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:849,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:852,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:856,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:860,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:864,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:869,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:871,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:874,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:878,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:880,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:882,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:889,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:891,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:893,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:895,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:903,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:905,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:907,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:909,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:912,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:914,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:916,1
    - Dst: taes_encrypt_len
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:920,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:922,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:924,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:928,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:930,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:935,1
    - Dst: taes_encrypt_len
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:937,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:938,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:940,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:944,1
    - Dst: taosAesEncrypt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:946,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:949,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:951,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:953,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:955,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:958,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:960,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:962,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:964,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:966,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:968,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:971,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:973,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:975,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:978,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:982,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:986,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:990,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:995,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:997,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1000,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1004,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1006,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1008,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1015,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1017,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1019,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1021,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1029,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1031,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1033,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1035,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1038,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1040,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1042,1
    - Dst: taes_encrypt_len
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1046,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1048,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1050,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1054,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1056,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1061,1
    - Dst: taes_encrypt_len
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1063,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1064,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1066,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1070,1
    - Dst: taosAesDecrypt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1072,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1075,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1077,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1079,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1081,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1084,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1086,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1088,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1090,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1092,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1094,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1097,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1099,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1101,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1104,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1112,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1114,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1117,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1121,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1123,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1125,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1132,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1134,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1136,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1138,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1142,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1144,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1146,1
    - Dst: tsm4_encrypt_len
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1149,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1151,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1153,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1159,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1164,1
    - Dst: tsm4_encrypt_len
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1166,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1169,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1173,1
    - Dst: taosSm4Encrypt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1175,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1178,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1180,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1182,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1184,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1187,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1189,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1191,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1193,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1195,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1197,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1200,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1202,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1204,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1207,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1211,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1215,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1217,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1220,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1224,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1226,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1228,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1235,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1237,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1239,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1241,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1245,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1247,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1249,1
    - Dst: tsm4_encrypt_len
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1252,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1254,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1256,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1260,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1262,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1267,1
    - Dst: tsm4_encrypt_len
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1269,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1270,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1272,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1276,1
    - Dst: taosSm4Decrypt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1278,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1281,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1283,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1285,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1288,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1291,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1294,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1298,1
    CyclomaticComplexity: 121
    EdgeCount: 121
    ICount: 508
    argCount: 5
    argNames:
    - pCxt
    - ppSql
    - pToken
    - pVal
    - pSchema
    argTypes:
    - SInsertParseContext*
    - char**
    - SToken*
    - SColVal*
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 1304
    functionName: parseBinary
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosCreateSHA1Hash
    - tbase64_encode_len
    - taosAesDecrypt
    - toInteger
    - memcpy
    - tsm4_encrypt_len
    - taosCreateMD5Hash
    - taosMemoryCalloc
    - taosSm4Encrypt
    - tbase64_encode
    - taosCreateSHA2Hash
    - tbase64_decode
    - parseSingleStrParam
    - taosAesEncrypt
    - taes_encrypt_len
    - buildSyntaxErrMsg
    - generateSyntaxErrMsg
    - taosMemoryMalloc
    - trimString
    - TMAX
    - NEXT_VALID_TOKEN
    - tbase64_decode_len
    - taosSm4Decrypt
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseBinary(SInsertParseContext* pCxt, const char** ppSql,
      SToken* pToken, SColVal* pVal,\n                           SSchema* pSchema)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isHex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1311,1
    - Dst: isValidateHex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1312,1
    - Dst: taosHex2Ascii
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1318,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1323,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1329,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - pToken
    - pData
    - nData
    - bytes
    argTypes:
    - SToken*
    - uint8_t**
    - uint32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1339
    functionName: parseVarbinary
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosHex2Ascii
    - trimString
    - isHex
    - taosMemoryFree
    - isValidateHex
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseVarbinary(SToken* pToken, uint8_t** pData, uint32_t* nData,
      int32_t bytes)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isHex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1349,1
    - Dst: isValidateHex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1350,1
    - Dst: taosHex2Ascii
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1355,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1356,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1361,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1363,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1368,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1373,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1374,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - pToken
    - pData
    - nData
    - bytes
    argTypes:
    - SToken*
    - uint8_t**
    - uint32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1379
    functionName: parseBlob
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosHex2Ascii
    - uError
    - trimString
    - isHex
    - TSDB_CHECK_CODE
    - taosMemoryFree
    - tstrerror
    - isValidateHex
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseBlob(SToken* pToken, uint8_t** pData, uint32_t* nData,
      int32_t bytes)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: isNullValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1389,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1391,1
    - Dst: IS_TRUE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1404,1
    - Dst: IS_FALSE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1406,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1408,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1411,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1414,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1416,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1418,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1421,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1427,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1429,1
    - Dst: IS_VALID_TINYINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1430,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1431,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1439,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1441,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1443,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1450,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1452,1
    - Dst: IS_VALID_SMALLINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1453,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1454,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1461,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1463,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1465,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1472,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1474,1
    - Dst: IS_VALID_INT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1475,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1476,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1483,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1485,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1487,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1494,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1496,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1503,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1505,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1513,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1515,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1517,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1517,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1518,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1526,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1528,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1530,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1530,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1531,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1541,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1543,1
    - Dst: parseVarbinary
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1551,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1553,1
    - Dst: parseGeometry
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1561,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1563,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1563,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1566,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1568,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1572,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1577,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1585,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1589,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1590,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1591,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1592,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1595,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1595,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1596,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1597,1
    - Dst: parseTime
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1604,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1605,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1613,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 211
    argCount: 8
    argNames:
    - end
    - pToken
    - pSchema
    - timePrec
    - val
    - pMsgBuf
    - tz
    - charsetCxt
    argTypes:
    - char**
    - SToken*
    - SSchema*
    - int16_t
    - STagVal*
    - SMsgBuf*
    - timezone_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1381
    functionDepth: 5
    functionLinenumber: 1381
    functionLinenumberEnd: 1619
    functionName: parseTagToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - IS_VALID_SMALLINT
    - getGeosErrMsg
    - IS_FALSE_STR
    - strerror
    - geosFreeBuffer
    - IS_TRUE_STR
    - toDoubleEx
    - snprintf
    - taosStr2Int64
    - isNullValue
    - TAOS_SYSTEM_ERROR
    - memcpy
    - parseVarbinary
    - parseTime
    - taosStr2Double
    - toIntegerEx
    - IS_VALID_TINYINT
    - tListLen
    - isnan
    - parseGeometry
    - taosStrdup
    - buildSyntaxErrMsg
    - isinf
    - IS_VALID_INT
    - generateSyntaxErrMsg
    - taosMemoryMalloc
    - toUIntegerEx
    - taosMemoryFree
    - taosMbsToUcs4
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseTagToken(const char** end, SToken* pToken, SSchema* pSchema,
      int16_t timePrec, STagVal* val,\n                             SMsgBuf* pMsgBuf,
      timezone_t tz, void* charsetCxt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insInitBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1624,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1624,1
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1631,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1623
    functionDepth: 2
    functionLinenumber: 1623
    functionLinenumberEnd: 1638
    functionName: parseBoundTagsClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - parseBoundColumns
    - insInitBoundColsInfo
    - NEXT_TOKEN_KEEP_SQL
    - getNumOfTags
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseBoundTagsClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isNullValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1642,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1644,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1651,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1655,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1657,1
    - Dst: parseTagToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1664,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1666,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1671,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1672,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1640
    functionDepth: 6
    functionLinenumber: 1640
    functionLinenumberEnd: 1676
    functionName: parseTagValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 6
    functionsReached:
    - isNullValue
    - taosArrayPush
    - tTagNew
    - taosMemoryFree
    - parseJsontoTagData
    - parseTagToken
    - IS_VAR_DATA_TYPE
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseTagValue(SMsgBuf* pMsgBuf, const char** pSql, uint8_t
      precision, SSchema* pTagSchema, SToken* pToken,\n                      SArray*
      pTagName, SArray* pTagVals, STag** pTag, timezone_t tz, void* charsetCxt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1680,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1681,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1683,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pStmt
    - pTag
    - pTagName
    argTypes:
    - SVnodeModifyOpStmt*
    - STag*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1678
    functionDepth: 1
    functionLinenumber: 1678
    functionLinenumberEnd: 1690
    functionName: buildCreateTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosMemoryCalloc
    - insBuildCreateTbReq
    - tdDestroySVCreateTbReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCreateTbReq(SVnodeModifyOpStmt* pStmt, STag* pTag, SArray*
      pTagName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1694,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1705,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1709,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1710,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1712,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1715,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1720,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1723,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 23
    argCount: 4
    argNames:
    - pToken
    - tmpTokenBuf
    - pMsgBuf
    - type
    argTypes:
    - SToken*
    - char*
    - SMsgBuf*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1730
    functionName: checkAndTrimValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 6
    functionsReached:
    - trimString
    - IS_STR_DATA_BLOB
    - buildSyntaxErrMsg
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAndTrimValue(SToken* pToken, char* tmpTokenBuf, SMsgBuf*
      pMsgBuf, int8_t type)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1740,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1746,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1781,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1785,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1786,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1786,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 2
    argNames:
    - pVal
    - pNode
    argTypes:
    - STagVal*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1738
    functionDepth: 5
    functionLinenumber: 1738
    functionLinenumberEnd: 1816
    functionName: rewriteTagCondColumnImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - memcpy
    - nodesMakeNode
    - varDataVal
    - nodesDestroyNode
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteTagCondColumnImpl(STagVal* pVal, SNode** pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1820,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1822,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1823,1
    - Dst: rewriteTagCondColumnImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1824,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pTagVals
    - pTagName
    - pNode
    argTypes:
    - SArray*
    - SArray*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1818
    functionDepth: 6
    functionLinenumber: 1818
    functionLinenumberEnd: 1828
    functionName: rewriteTagCondColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - rewriteTagCondColumnImpl
    - taosArrayGet
    - taosArrayGetSize
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteTagCondColumn(SArray* pTagVals, SArray* pTagName, SNode**
      pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1831,1
    - Dst: rewriteTagCondColumn
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1830
    functionDepth: 7
    functionLinenumber: 1830
    functionLinenumberEnd: 1837
    functionName: rewriteTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - nodeType
    - rewriteTagCondColumn
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteTagCond(SNode** pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pTagVals
    - pTagName
    - pCond
    argTypes:
    - SArray*
    - SArray*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1839
    functionDepth: 1
    functionLinenumber: 1839
    functionLinenumberEnd: 1843
    functionName: setTagVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: int32_t setTagVal(SArray* pTagVals, SArray* pTagName, SNode* pCond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pResult
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1845
    functionDepth: 1
    functionLinenumber: 1845
    functionLinenumberEnd: 1848
    functionName: checkTagCondResult
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkTagCondResult(SNode* pResult)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setTagVal
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1851,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1853,1
    - Dst: checkTagCondResult
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1856,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pTagVals
    - pTagName
    - pCond
    argTypes:
    - SArray*
    - SArray*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1850
    functionDepth: 4
    functionLinenumber: 1850
    functionLinenumberEnd: 1860
    functionName: checkSubtablePrivilege
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - NODES_DESTORY_NODE
    - checkTagCondResult
    - scalarCalculateConstants
    - setTagVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkSubtablePrivilege(SArray* pTagVals, SArray* pTagName,
      SNode** pCond)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1865,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1876,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1879,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1880,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1886,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1890,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1899,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1901,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1904,1
    - Dst: checkSubtablePrivilege
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1913,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1922,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1938,1
    - Dst: buildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1942,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1948,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1949,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1950,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1951,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1954,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1955,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1957,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1961,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - autoCreate
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1863
    functionDepth: 7
    functionLinenumber: 1863
    functionLinenumberEnd: 1963
    functionName: parseTagsClauseImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - getTableTagSchema
    - taosMemoryFreeClear
    - checkAndTrimValue
    - NEXT_TOKEN_WITH_PREV
    - parseTagValue
    - taosArrayDestroy
    - checkSubtablePrivilege
    - tTagNew
    - taosArrayGetSize
    - taosArrayInit
    - tTagFree
    - TARRAY_GET_ELEM
    - IS_VAR_DATA_TYPE
    - taosMemoryCalloc
    - buildCreateTbReq
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseTagsClauseImpl(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, bool autoCreate)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1969,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1971,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1974,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1976,1
    - Dst: parseTagsClauseImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1979,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1981,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1983,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1985,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - autoCreate
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1967
    functionDepth: 8
    functionLinenumber: 1967
    functionLinenumberEnd: 1989
    functionName: parseTagsClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - generateSyntaxErrMsg
    - NEXT_VALID_TOKEN
    - parseTagsClauseImpl
    - NEXT_TOKEN
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseTagsClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, bool autoCreate)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1997,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2002,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2004,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2007,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2007,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1991
    functionDepth: 2
    functionLinenumber: 1991
    functionLinenumberEnd: 2012
    functionName: storeChildTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - cloneTableMeta
    - taosMemoryFree
    - strlen
    - tNameExtractFullName
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t storeChildTableMeta(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2018,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2021,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2023,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2025,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2027,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2031,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2033,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2036,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2038,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2039,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2049
    functionName: parseTableOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - NEXT_TOKEN_KEEP_SQL
    - trimString
    - NEXT_TOKEN_WITH_PREV
    - taosStrndup
    - taosStr2Int32
    - NEXT_TOKEN
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseTableOptions(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parseBoundTagsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2062,1
    - Dst: parseTagsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2064,1
    - Dst: parseTableOptions
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2057
    functionDepth: 9
    functionLinenumber: 2057
    functionLinenumberEnd: 2071
    functionName: parseUsingClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseTagsClause
    - parseBoundTagsClause
    - parseTableOptions
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseUsingClauseBottom(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2074,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pTbName
    - pInfo
    argTypes:
    - SParseContext*
    - SName*
    - SUserAuthInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2079
    functionName: setUserAuthInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - snprintf
    - memcpy
    linkageType: ''
    returnType: void
    signature: void setUserAuthInfo(SParseContext* pCxt, SName* pTbName, SUserAuthInfo*
      pInfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: setUserAuthInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2085,1
    - Dst: catalogChkAuthFromCache
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2093,1
    - Dst: catalogChkAuth
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2099,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 7
    argNames:
    - pCxt
    - pTbName
    - isAudit
    - pMissCache
    - pWithInsertCond
    - pTagCond
    - pPrivCols
    argTypes:
    - SParseContext*
    - SName*
    - bool
    - bool*
    - bool*
    - SNode**
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2081
    functionDepth: 10
    functionLinenumber: 2081
    functionLinenumberEnd: 2120
    functionName: checkAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - catalogChkAuth
    - setUserAuthInfo
    - catalogChkAuthFromCache
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkAuth(SParseContext* pCxt, SName* pTbName, bool isAudit,
      bool* pMissCache, bool* pWithInsertCond, SNode** pTagCond,\n                         SArray**
      pPrivCols)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetCachedSTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2128,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2130,1
    - Dst: catalogGetSTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2138,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2140,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 5
    argNames:
    - pCxt
    - pTbName
    - pTableMeta
    - pMissCache
    - bUsingTable
    argTypes:
    - SInsertParseContext*
    - SName*
    - STableMeta**
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2122
    functionDepth: 11
    functionLinenumber: 2122
    functionLinenumberEnd: 2154
    functionName: getTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 14
    functionsReached:
    - catalogGetCachedTableMeta
    - catalogGetCachedSTableMeta
    - catalogGetSTableMeta
    - buildInvalidOperationMsg
    - catalogGetTableMeta
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getTableMeta(SInsertParseContext* pCxt, SName* pTbName, STableMeta**
      pTableMeta, bool* pMissCache,\n                            bool bUsingTable)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetCachedTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2161,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2167,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - isStb
    - pMissCache
    argTypes:
    - SParseContext*
    - SVnodeModifyOpStmt*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2156
    functionDepth: 10
    functionLinenumber: 2156
    functionLinenumberEnd: 2179
    functionName: getTargetTableVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosHashPut
    - catalogGetCachedTableHashVgroup
    - catalogGetTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTargetTableVgroup(SParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, bool isStb, bool* pMissCache)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetCachedTableVgMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2187,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2193,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2201,1
    - Dst: getTargetTableVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pMissCache
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2181
    functionDepth: 11
    functionLinenumber: 2181
    functionLinenumberEnd: 2212
    functionName: getTargetTableMetaAndVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - catalogGetCachedTableVgMeta
    - getTargetTableVgroup
    - getTableMeta
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTargetTableMetaAndVgroup(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, bool* pMissCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2216,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2220,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pName
    - pTable
    argTypes:
    - SName*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2214
    functionDepth: 1
    functionLinenumber: 2214
    functionLinenumberEnd: 2221
    functionName: collectUseTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 22
    functionsReached:
    - strlen
    - tNameExtractFullName
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectUseTable(const SName* pName, SHashObj* pTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2225,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2226,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pName
    - pDbs
    argTypes:
    - SName*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2223
    functionDepth: 1
    functionLinenumber: 2223
    functionLinenumberEnd: 2227
    functionName: collectUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 5
    functionsReached:
    - strlen
    - tNameGetFullDbName
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t collectUseDatabase(const SName* pName, SHashObj* pDbs)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2237,1
    - Dst: getTargetTableMetaAndVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2240,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2265,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2267,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2290,1
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2293,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2295,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2229
    functionDepth: 12
    functionLinenumber: 2229
    functionLinenumberEnd: 2299
    functionName: getTargetTableSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - collectUseTable
    - collectUseDatabase
    - checkAuth
    - nodesDestroyNode
    - getTargetTableMetaAndVgroup
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTargetTableSchema(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insCreateSName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2303
    functionName: preParseUsingTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - insCreateSName
    linkageType: ''
    returnType: int32_t
    signature: int32_t preParseUsingTableName(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SToken* pTbName)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2314,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2320,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2325,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2330,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2334,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2334,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2340,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2342,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2342,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2344,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2354,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2364,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2366,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2369,1
    - Dst: getTargetTableVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2371,1
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2374,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2376,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - ctbCacheHit
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2305
    functionDepth: 11
    functionLinenumber: 2305
    functionLinenumberEnd: 2380
    functionName: getUsingTableSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - getTableMeta
    - taosMemoryFreeClear
    - collectUseTable
    - cloneTableMeta
    - taosHashGet
    - getTargetTableVgroup
    - collectUseDatabase
    - taosMemoryFree
    - strlen
    - tNameExtractFullName
    - taosHashPut
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t getUsingTableSchema(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, bool* ctbCacheHit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2384,1
    - Dst: preParseUsingTableName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2386,1
    - Dst: getUsingTableSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2388,1
    - Dst: ignoreUsingClauseAndCheckTagValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2391,1
    - Dst: storeChildTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2382
    functionDepth: 12
    functionLinenumber: 2382
    functionLinenumberEnd: 2398
    functionName: parseUsingTableNameImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - ignoreUsingClauseAndCheckTagValues
    - getUsingTableSchema
    - storeChildTableMeta
    - preParseUsingTableName
    - NEXT_TOKEN
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseUsingTableNameImpl(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2409,1
    - Dst: getTargetTableSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2411,1
    - Dst: parseDuplicateUsingClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2417,1
    - Dst: parseUsingTableNameImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2406
    functionDepth: 13
    functionLinenumber: 2406
    functionLinenumberEnd: 2422
    functionName: parseUsingTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - getTargetTableSchema
    - parseUsingTableNameImpl
    - NEXT_TOKEN_KEEP_SQL
    - parseDuplicateUsingClause
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseUsingTableName(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insCreateSName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2425,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2424
    functionDepth: 1
    functionLinenumber: 2424
    functionLinenumberEnd: 2433
    functionName: preParseTargetTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - insCreateSName
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t preParseTargetTableName(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SToken* pTbName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2445,1
    - Dst: skipParentheses
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2442
    functionDepth: 2
    functionLinenumber: 2442
    functionLinenumberEnd: 2454
    functionName: preParseBoundColumnsClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - NEXT_TOKEN_KEEP_SQL
    - skipParentheses
    linkageType: ''
    returnType: int32_t
    signature: int32_t preParseBoundColumnsClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2458,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2465,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2466,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2471,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2479,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - STableDataCxt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2456
    functionDepth: 1
    functionLinenumber: 2456
    functionLinenumberEnd: 2481
    functionName: getTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - strlen
    - tNameExtractFullName
    - tstrncpy
    - insGetTableDataCxt
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableDataCxt(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, STableDataCxt** pTableCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2484,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2502,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2483
    functionDepth: 1
    functionLinenumber: 2483
    functionLinenumberEnd: 2518
    functionName: parseCheckNoBoundColPriv
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - TARRAY_GET_ELEM
    - generateSyntaxErrMsg
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseCheckNoBoundColPriv(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2524,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2528,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2531,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2535,1
    - Dst: insResetBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2538,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2541,1
    - Dst: parseCheckNoBoundColPriv
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - STableDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2521
    functionDepth: 2
    functionLinenumber: 2521
    functionLinenumberEnd: 2547
    functionName: parseBoundColumnsClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - NEXT_TOKEN_KEEP_SQL
    - insResetBoundColsInfo
    - PAR_ERR_RET
    - parseBoundColumns
    - buildSyntaxErrMsg
    - parseCheckNoBoundColPriv
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseBoundColumnsClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, STableDataCxt* pTableCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2556,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pTableCxt
    argTypes:
    - STableDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2549
    functionDepth: 1
    functionLinenumber: 2549
    functionLinenumberEnd: 2564
    functionName: initTableColSubmitData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayReserve
    - tColDataInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t initTableColSubmitData(STableDataCxt* pTableCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2567,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2571,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pTableCxt
    - pBoundColsInfo
    argTypes:
    - STableDataCxt*
    - SBoundColInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2566
    functionDepth: 3
    functionLinenumber: 2566
    functionLinenumberEnd: 2579
    functionName: initTableColSubmitDataWithBoundInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayReserve
    - qDestroyBoundColInfo
    - tColDataInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t initTableColSubmitDataWithBoundInfo(STableDataCxt* pTableCxt,
      SBoundColInfo pBoundColsInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parseUsingClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2587,1
    - Dst: getTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2589,1
    - Dst: parseBoundColumnsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2592,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - STableDataCxt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2585
    functionDepth: 10
    functionLinenumber: 2585
    functionLinenumberEnd: 2598
    functionName: parseSchemaClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - getTableDataCxt
    - initTableColSubmitData
    - parseBoundColumnsClause
    - parseUsingClauseBottom
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseSchemaClauseBottom(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt,\n                                       STableDataCxt** pTableCxt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: preParseTargetTableName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2605,1
    - Dst: preParseBoundColumnsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2608,1
    - Dst: parseUsingTableName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2604
    functionDepth: 14
    functionLinenumber: 2604
    functionLinenumberEnd: 2615
    functionName: parseSchemaClauseTop
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseUsingTableName
    - preParseBoundColumnsClause
    - preParseTargetTableName
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseSchemaClauseTop(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SToken* pTbName)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: IS_TRUE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2622,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2623,1
    - Dst: IS_FALSE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2624,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2625,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2627,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2627,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2628,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2629,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2631,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2634,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2635,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2637,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2638,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2641,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2641,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2642,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2643,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2645,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2650,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2650,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2652,1
    - Dst: IS_VALID_TINYINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2653,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2653,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2654,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2660,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2660,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2662,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2663,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2664,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2669,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2669,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2671,1
    - Dst: IS_VALID_SMALLINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2672,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2672,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2673,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2678,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2678,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2680,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2681,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2682,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2687,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2687,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2689,1
    - Dst: IS_VALID_INT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2690,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2690,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2691,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2696,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2696,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2698,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2699,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2700,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2705,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2705,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2707,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2712,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2712,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2714,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2720,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2722,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2724,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2724,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2725,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2728,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2733,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2735,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2737,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2737,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2738,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2740,1
    - Dst: parseBinary
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2744,1
    - Dst: parseVarbinary
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2747,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2749,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2758,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2762,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2763,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2764,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2765,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2768,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2768,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2768,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2769,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2777,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2779,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2783,1
    - Dst: parseGeometry
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2792,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2794,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2794,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2798,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2800,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2804,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2809,1
    - Dst: parseTime
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2817,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2817,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2819,1
    - Dst: parseBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2825,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2827,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2832,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2836,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2838,1
    - Dst: decimal128ToDataVal
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2846,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2854,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2858,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2860,1
    - Dst: decimal64ToDataVal
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2864,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 224
    argCount: 7
    argNames:
    - pCxt
    - pSql
    - pToken
    - pSchema
    - pExtSchema
    - timePrec
    - pVal
    argTypes:
    - SInsertParseContext*
    - char**
    - SToken*
    - SSchema*
    - SSchemaExt*
    - int16_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2617
    functionDepth: 7
    functionLinenumber: 2617
    functionLinenumberEnd: 2877
    functionName: parseValueTokenImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - IS_VALID_SMALLINT
    - getGeosErrMsg
    - IS_FALSE_STR
    - qError
    - strerror
    - decimal128FromStr
    - geosFreeBuffer
    - IS_TRUE_STR
    - toDoubleEx
    - snprintf
    - taosStr2Int64
    - valueSetDatum
    - VALUE_GET_TRIVIAL_DATUM
    - parseBlob
    - TAOS_SYSTEM_ERROR
    - memcpy
    - parseVarbinary
    - parseTime
    - taosStr2Double
    - toIntegerEx
    - decimal128ToDataVal
    - parseBinary
    - IS_VALID_TINYINT
    - decimalFromTypeMod
    - tListLen
    - decimal64ToDataVal
    - isnan
    - parseGeometry
    - buildSyntaxErrMsg
    - isinf
    - IS_VALID_INT
    - generateSyntaxErrMsg
    - taosMemoryMalloc
    - toUIntegerEx
    - VALUE_SET_TRIVIAL_DATUM
    - taosMemoryFree
    - decimal64FromStr
    - taosMbsToUcs4
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseValueTokenImpl(SInsertParseContext* pCxt, const char**
      pSql, SToken* pToken, SSchema* pSchema,\n                                   const
      SSchemaExt* pExtSchema, int16_t timePrec, SColVal* pVal)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2881,1
    - Dst: isNullValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2882,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2884,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2892,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2893,1
    - Dst: parseValueTokenImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2895,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 7
    argNames:
    - pCxt
    - pSql
    - pToken
    - pSchema
    - pExtSchema
    - timePrec
    - pVal
    argTypes:
    - SInsertParseContext*
    - char**
    - SToken*
    - SSchema*
    - SSchemaExt*
    - int16_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2879
    functionDepth: 8
    functionLinenumber: 2879
    functionLinenumberEnd: 2899
    functionName: parseValueToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - isNullValue
    - checkAndTrimValue
    - parseValueTokenImpl
    - IS_NUMERIC_TYPE
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseValueToken(SInsertParseContext* pCxt, const char** pSql,
      SToken* pToken, SSchema* pSchema,\n                               const SSchemaExt*
      pExtSchema, int16_t timePrec, SColVal* pVal)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2902,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2904,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2905,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pCols
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2901
    functionDepth: 1
    functionLinenumber: 2901
    functionLinenumberEnd: 2909
    functionName: clearColValArray
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosMemoryFreeClear
    - taosArrayGetSize
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void clearColValArray(SArray* pCols)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNullValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2938,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2939,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2946,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2954,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2957,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - pMsgBuf
    - tname
    - pToken
    - pFoundCtbName
    argTypes:
    - SMsgBuf*
    - char*
    - SToken*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2935
    functionDepth: 2
    functionLinenumber: 2935
    functionLinenumberEnd: 2960
    functionName: parseTbnameToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - isNullValue
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseTbnameToken(SMsgBuf* pMsgBuf, char* tname, SToken* pToken,
      bool* pFoundCtbName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2972,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2974,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2978,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2984,1
    - Dst: checkSubtablePrivilege
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2988,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 7
    argNames:
    - pCxt
    - pStmt
    - pStbRowsCxt
    - ctbFirst
    - tagTokens
    - tagSchemas
    - numOfTagTokens
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SStbRowsDataContext*
    - bool
    - SToken*
    - SSchema**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2962
    functionDepth: 7
    functionLinenumber: 2962
    functionLinenumberEnd: 2991
    functionName: processCtbTagsAfterCtbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - checkAndTrimValue
    - parseTagValue
    - buildInvalidOperationMsg
    - checkSubtablePrivilege
    - tTagNew
    linkageType: ''
    returnType: int32_t
    signature: "int32_t processCtbTagsAfterCtbName(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt,\n                                          SStbRowsDataContext* pStbRowsCxt,
      bool ctbFirst, const SToken* tagTokens,\n                                          SSchema*
      const* tagSchemas, int numOfTagTokens)"
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3002,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3003,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3004,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3005,1
    - Dst: NEXT_TOKEN_WITH_PREV_EXT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3011,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3014,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3019,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3026,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3033,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3034,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3035,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3036,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3044,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3055,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3061,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3069,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3076,1
    - Dst: parseValueToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3077,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3079,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3083,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3094,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3094,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3098,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3103,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3103,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3104,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3109,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3113,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3115,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3115,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3116,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3124,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3128,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3129,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3130,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3146,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3148,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3151,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3159,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3165,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3174,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3180,1
    - Dst: parseValueToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3181,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3183,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3192,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3194,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3197,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3202,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3204,1
    - Dst: parseTbnameToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3208,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3215,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3217,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 181
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 2993
    functionDepth: 9
    functionLinenumber: 2993
    functionLinenumberEnd: 3223
    functionName: doGetStbRowValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - NEXT_TOKEN_WITH_PREV_EXT
    - parseTagValue
    - parseTbnameToken
    - tSimpleHashSetFreeFp
    - getNumOfTags
    - memcpy
    - taosArrayGet
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - COL_VAL_IS_VALUE
    - getTbnameSchemaIndex
    - getNumOfColumns
    - tstrncpy
    - getTableInfo
    - buildSyntaxErrMsg
    - generateSyntaxErrMsg
    - taosMemoryMalloc
    - checkAndTrimValue
    - NEXT_VALID_TOKEN
    - tSimpleHashPut
    - buildInvalidOperationMsg
    - taosMemoryFree
    - taosArrayInit
    - parseValueToken
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doGetStbRowValues(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, const char** ppSql,\n                                 SStbRowsDataContext*
      pStbRowsCxt, SToken* pToken, const SBoundColInfo* pCols,\n                                 const
      SSchema* pSchemas, const SSchemaExt* pExtSchemas, SToken* tagTokens,\n                                 SSchema**
      tagSchemas, int* pNumOfTagTokens, bool* bFoundTbName, bool* setCtbName,\n                                 SBoundColInfo*
      ctbCols)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3229,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3230,1
    - Dst: doGetStbRowValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3240,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3248,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3254,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3257,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3257,1
    - Dst: processCtbTagsAfterCtbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 9
    argNames:
    - pCxt
    - pStmt
    - ppSql
    - pStbRowsCxt
    - pGotRow
    - pToken
    - pCtbFirst
    - setCtbName
    - ctbCols
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - char**
    - SStbRowsDataContext*
    - bool*
    - SToken*
    - bool*
    - bool*
    - SBoundColInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3225
    functionDepth: 10
    functionLinenumber: 3225
    functionLinenumberEnd: 3274
    functionName: getStbRowValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - doGetStbRowValues
    - processCtbTagsAfterCtbName
    - getTableColumnExtSchema
    - taosHashGet
    - getTableColumnSchema
    - strlen
    - tNameExtractFullName
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getStbRowValues(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, const char** ppSql,\n                               SStbRowsDataContext*
      pStbRowsCxt, bool* pGotRow, SToken* pToken, bool* pCtbFirst,\n                               bool*
      setCtbName, SBoundColInfo* ctbCols)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3282,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3287,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3289,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3296,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3303,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3306,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3313,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3318,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3319,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3324,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3328,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3332,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3336,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3336,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3339,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pStbRowsCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SStbRowsDataContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3343
      start: 3276
    functionDepth: 11
    functionLinenumber: 3276
    functionLinenumberEnd: 3343
    functionName: processCtbAutoCreationAndCtbMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - catalogGetTableHashVgroup
    - generateSyntaxErrMsg
    - cloneTableMeta
    - collectUseTable
    - taosHashGetSize
    - catalogGetTableMeta
    - insBuildCreateTbReq
    - strlen
    - tNameExtractFullName
    - taosHashPut
    - taosMemoryCalloc
    - getNumOfTags
    linkageType: ''
    returnType: int32_t
    signature: "int32_t processCtbAutoCreationAndCtbMeta(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt,\n                                                SStbRowsDataContext*
      pStbRowsCxt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3348,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3349,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3350,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3351,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3352,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3355,1
    - Dst: clearColValArray
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3357,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3359,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3361,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3362,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3366,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3369,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - pStbRowsCxt
    argTypes:
    - SStbRowsDataContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3373
      start: 3345
    functionDepth: 2
    functionLinenumber: 3345
    functionLinenumberEnd: 3373
    functionName: clearStbRowsDataContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - tdDestroySVCreateTbReq
    - clearColValArray
    - taosArrayGetSize
    - tTagFree
    - taosArrayClear
    - taosArrayDestroy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void clearStbRowsDataContext(SStbRowsDataContext* pStbRowsCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SInsertParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3375
    functionDepth: 1
    functionLinenumber: 3375
    functionLinenumberEnd: 3382
    functionName: clearInsertParseContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void clearInsertParseContext(SInsertParseContext* pCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3387,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3395,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3395,1
    - Dst: qDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3401,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3404,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pStmt
    - pStbRowsCxt
    - ppTableDataCxt
    argTypes:
    - SVnodeModifyOpStmt*
    - SStbRowsDataContext*
    - STableDataCxt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3411
      start: 3384
    functionDepth: 3
    functionLinenumber: 3384
    functionLinenumberEnd: 3411
    functionName: parseStbBoundInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - memcpy
    - qDestroyBoundColInfo
    - insGetTableDataCxt
    - strlen
    - tNameExtractFullName
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseStbBoundInfo(SVnodeModifyOpStmt* pStmt, SStbRowsDataContext*
      pStbRowsCxt,\n                                 STableDataCxt** ppTableDataCxt)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getStbRowValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3419,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3422,1
    - Dst: parseStbBoundInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3423,1
    - Dst: processCtbAutoCreationAndCtbMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3431,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3436,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3440,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3440,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3444,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3450,1
    - Dst: initTableColSubmitDataWithBoundInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3451,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3453,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3457,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3461,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3462,1
    - Dst: tRowBuildWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3464,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3468,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3472,1
    - Dst: insCheckTableDataOrder
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3473,1
    - Dst: clearStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3481,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 7
    argNames:
    - pCxt
    - pStmt
    - ppSql
    - pStbRowsCxt
    - pGotRow
    - pToken
    - ppTableDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - char**
    - SStbRowsDataContext*
    - bool*
    - SToken*
    - STableDataCxt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3413
    functionDepth: 12
    functionLinenumber: 3413
    functionLinenumberEnd: 3484
    functionName: parseOneStbRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - insCheckTableDataOrder
    - tRowGetKey
    - parseStbBoundInfo
    - taosMemoryFreeClear
    - TAOS_CHECK_RETURN
    - processCtbAutoCreationAndCtbMeta
    - initTableColSubmitData
    - getTbnameSchemaIndex
    - tRowBuildWithBlob
    - tBlobSetCreate
    - taosArrayReserve
    - tRowBuild
    - clearStbRowsDataContext
    - insGetTableDataCxt
    - strlen
    - tNameExtractFullName
    - initTableColSubmitDataWithBoundInfo
    - getStbRowValues
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseOneStbRow(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, const char** ppSql,\n                              SStbRowsDataContext*
      pStbRowsCxt, bool* pGotRow, SToken* pToken,\n                              STableDataCxt**
      ppTableDataCxt)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3489,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3490,1
    - Dst: NEXT_TOKEN_WITH_PREV_EXT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3497,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3499,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3505,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3509,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3514,1
    - Dst: parseValueToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3519,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3519,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3524,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3524,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3529,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3533,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3533,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3534,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3539,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3542,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3544,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3544,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3545,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3555,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3559,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3562,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3569,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3573,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3574,1
    - Dst: tRowBuildWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3576,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3579,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3583,1
    - Dst: insCheckTableDataOrder
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3584,1
    - Dst: clearColValArray
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3592,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 79
    argCount: 5
    argNames:
    - pCxt
    - pSql
    - pTableCxt
    - pGotRow
    - pToken
    argTypes:
    - SInsertParseContext*
    - char**
    - STableDataCxt*
    - bool*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3595
      start: 3486
    functionDepth: 9
    functionLinenumber: 3486
    functionLinenumberEnd: 3595
    functionName: parseOneRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - NEXT_TOKEN_WITH_PREV_EXT
    - tRowGetKey
    - tRowBuildWithBlob
    - tSimpleHashSetFreeFp
    - tBlobSetCreate
    - insCheckTableDataOrder
    - memcpy
    - taosArrayGet
    - tRowBuild
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - COL_VAL_IS_VALUE
    - getTableColumnExtSchema
    - getTableColumnSchema
    - getTableInfo
    - buildSyntaxErrMsg
    - generateSyntaxErrMsg
    - taosMemoryMalloc
    - TAOS_CHECK_RETURN
    - NEXT_VALID_TOKEN
    - tSimpleHashPut
    - parserWarn
    - clearColValArray
    - taosArrayReserve
    - taosMemoryFree
    - parseValueToken
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int
    signature: "int parseOneRow(SInsertParseContext* pCxt, const char** pSql, STableDataCxt*
      pTableCxt, bool* pGotRow,\n                       SToken* pToken)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3605,1
    - Dst: parseOneRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3614,1
    - Dst: parseOneStbRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3618,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3623,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3625,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3627,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3637,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3638,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    - pNumOfRows
    - pToken
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    - int32_t*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3641
      start: 3598
    functionDepth: 10
    functionLinenumber: 3598
    functionLinenumberEnd: 3641
    functionName: parseValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - TSDB_QUERY_HAS_TYPE
    - generateSyntaxErrMsg
    - NEXT_TOKEN_KEEP_SQL
    - NEXT_VALID_TOKEN
    - parseOneStbRow
    - parseOneRow
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseValues(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SRowsDataContext rowsDataCxt,\n                           int32_t* pNumOfRows,
      SToken* pToken)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3647,1
    - Dst: TSDB_QUERY_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - rowsDataContext
    - pToken
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3654
      start: 3644
    functionDepth: 11
    functionLinenumber: 3644
    functionLinenumberEnd: 3654
    functionName: parseValuesClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - TSDB_QUERY_SET_TYPE
    - parseValues
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseValuesClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SRowsDataContext rowsDataContext,\n                                 SToken*
      pToken)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: csvParserFillBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3672,1
    - Dst: csvParserExpandLineBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3708,1
    - Dst: csvParserExpandLineBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3757,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 78
    argCount: 1
    argNames:
    - parser
    argTypes:
    - SCsvParser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3774
      start: 3657
    functionDepth: 1
    functionLinenumber: 3657
    functionLinenumberEnd: 3774
    functionName: csvParserReadLine
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - csvParserExpandLineBuffer
    - csvParserFillBuffer
    linkageType: ''
    returnType: int32_t
    signature: int32_t csvParserReadLine(SCsvParser* parser)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3784,1
    - Dst: csvParserInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3788,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3790,1
    - Dst: csvParserReadLine
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3802,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3810,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3818,1
    - Dst: strtolower
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3825,1
    - Dst: parseOneRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3829,1
    - Dst: parseOneStbRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3832,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3836,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3864,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3867,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3868,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    - pNumOfRows
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3871
      start: 3776
    functionDepth: 10
    functionLinenumber: 3776
    functionLinenumberEnd: 3871
    functionName: parseCsvFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - strlen
    - TSDB_QUERY_HAS_TYPE
    - taosMemoryMalloc
    - parserDebug
    - csvParserReadLine
    - parseOneRow
    - parseOneStbRow
    - taosMemoryFree
    - strtolower
    - csvParserInit
    - taosHashPut
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseCsvFile(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SRowsDataContext rowsDataCxt,\n                            int32_t* pNumOfRows)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3877,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3877,1
    - Dst: parseCsvFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3883,1
    - Dst: TSDB_QUERY_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3887,1
    - Dst: destroySavedCsvParser
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3893,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3894,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3896,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3899,1
    - Dst: destroySavedCsvParser
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3902,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3903,1
    - Dst: destroySavedCsvParser
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3907,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3911,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3911,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3917,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3922
      start: 3873
    functionDepth: 1
    functionLinenumber: 3873
    functionLinenumberEnd: 3922
    functionName: parseDataFromFileImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - TSDB_QUERY_SET_TYPE
    - parserDebug
    - parseCsvFile
    - destroySavedCsvParser
    - parserWarn
    - buildInvalidOperationMsg
    - taosHashInit
    - taosGetDefaultHashFunction
    - tstrerror
    - taosHashPut
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseDataFromFileImpl(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt,\n                                     SRowsDataContext rowsDataCxt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3928,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3929,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3930,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3934,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3936,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3938,1
    - Dst: parseDataFromFileImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pFilePath
    - rowsDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    - SRowsDataContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3924
    functionDepth: 2
    functionLinenumber: 3924
    functionLinenumberEnd: 3944
    functionName: parseDataFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - trimString
    - parseDataFromFileImpl
    - tstrncpy
    - taosOpenFile
    - strlen
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseDataFromFile(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SToken* pFilePath,\n                                 SRowsDataContext
      rowsDataCxt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3949,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3952,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3954,1
    - Dst: parseDataFromFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    - pToken
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3957
      start: 3946
    functionDepth: 3
    functionLinenumber: 3946
    functionLinenumberEnd: 3957
    functionName: parseFileClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseDataFromFile
    - NEXT_TOKEN
    - buildSyntaxErrMsg
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseFileClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SRowsDataContext rowsDataCxt,\n                               SToken*
      pToken)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3962,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3965,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3966,1
    - Dst: parseValuesClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3968,1
    - Dst: parseFileClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3970,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3975
      start: 3960
    functionDepth: 12
    functionLinenumber: 3960
    functionLinenumberEnd: 3975
    functionName: parseDataClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - TSDB_QUERY_HAS_TYPE
    - buildSyntaxErrMsg
    - parseFileClause
    - NEXT_TOKEN
    - parseValuesClause
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseDataClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SRowsDataContext rowsDataCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clearStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3979,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3980,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3982,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3984,1
    - Dst: qDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3986,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3987,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3989,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3990,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - pStbRowsCxt
    argTypes:
    - SStbRowsDataContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3992
      start: 3977
    functionDepth: 3
    functionLinenumber: 3977
    functionLinenumberEnd: 3992
    functionName: destroyStbRowsDataContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - clearStbRowsDataContext
    - qDestroyBoundColInfo
    - tdDestroySVCreateTbReq
    - taosArrayDestroy
    - tTagFree
    linkageType: ''
    returnType: void
    signature: void destroyStbRowsDataContext(SStbRowsDataContext* pStbRowsCxt)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3995,1
    - Dst: tNameAssign
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3999,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4000,1
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4002,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4007,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4012,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4018,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4024,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4031,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4031,1
    - Dst: insInitColValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4035,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4038,1
    - Dst: insInitBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4039,1
    - Dst: clearStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4044,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - pStmt
    - ppStbRowsCxt
    argTypes:
    - SVnodeModifyOpStmt*
    - SStbRowsDataContext**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4047
      start: 3994
    functionDepth: 3
    functionLinenumber: 3994
    functionLinenumberEnd: 4047
    functionName: constructStbRowsDataContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - insInitColValues
    - collectUseTable
    - memcpy
    - cloneTableMeta
    - tNameAssign
    - collectUseDatabase
    - getNumOfColumns
    - insInitBoundColsInfo
    - clearStbRowsDataContext
    - taosArrayInit
    - taosMemoryCalloc
    - getTableInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t constructStbRowsDataContext(SVnodeModifyOpStmt* pStmt, SStbRowsDataContext**
      ppStbRowsCxt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4052,1
    - Dst: constructStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4057,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4060,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4065,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4065,1
    - Dst: parseDataClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4080,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4084
      start: 4049
    functionDepth: 13
    functionLinenumber: 4049
    functionLinenumberEnd: 4084
    functionName: parseInsertStbClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseDataClause
    - parseBoundColumns
    - getNumOfColumns
    - constructStbRowsDataContext
    - getTbnameSchemaIndex
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseInsertStbClauseBottom(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseSchemaClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4092,1
    - Dst: parseDataClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4096,1
    - Dst: parseInsertStbClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4103
      start: 4089
    functionDepth: 14
    functionLinenumber: 4089
    functionLinenumberEnd: 4103
    functionName: parseInsertTableClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseDataClause
    - parseSchemaClauseBottom
    - parseInsertStbClauseBottom
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseInsertTableClauseBottom(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4106,1
    - Dst: clearInsertParseContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4107,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4108,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4109,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4110,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4111,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4112,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4113,1
    - Dst: destroyStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4123,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4126
      start: 4105
    functionDepth: 4
    functionLinenumber: 4105
    functionLinenumberEnd: 4126
    functionName: resetEnvPreTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - destroyStbRowsDataContext
    - clearInsertParseContext
    - tdDestroySVCreateTbReq
    - qDestroyBoundColInfo
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void resetEnvPreTable(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetEnvPreTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4130,1
    - Dst: parseSchemaClauseTop
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4131,1
    - Dst: parseInsertTableClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4137
      start: 4129
    functionDepth: 15
    functionLinenumber: 4129
    functionLinenumberEnd: 4137
    functionName: parseInsertTableClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - resetEnvPreTable
    - parseInsertTableClauseBottom
    - parseSchemaClauseTop
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseInsertTableClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SToken* pTbName)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4144,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4147,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4148,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4155,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4156,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4162,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4170,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4180,1
    - Dst: strnchr
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4184,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4190,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4196,1
    - Dst: parserTrace
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4204,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTbName
    - pHasData
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4216
      start: 4139
    functionDepth: 1
    functionLinenumber: 4139
    functionLinenumberEnd: 4216
    functionName: checkTableClauseFirstToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - TSDB_QUERY_HAS_TYPE
    - strnchr
    - parserTrace
    - buildInvalidOperationMsg
    - strlen
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkTableClauseFirstToken(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SToken* pTbName,\n                                          bool* pHasData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4219,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4223,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4234
      start: 4218
    functionDepth: 0
    functionLinenumber: 4218
    functionLinenumberEnd: 4234
    functionName: setStmtInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - memset
    - taosMemoryMalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t setStmtInfo(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4237,1
    - Dst: setStmtInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4238,1
    - Dst: SVnodeModifyOpStmt*::freeArrayFunc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4242,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4248,1
    - Dst: insMergeTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4255,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4258,1
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4265
      start: 4236
    functionDepth: 1
    functionLinenumber: 4236
    functionLinenumberEnd: 4265
    functionName: parseInsertBodyBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - TSDB_QUERY_HAS_TYPE
    - SVnodeModifyOpStmt*::freeArrayFunc
    - setStmtInfo
    - taosHashGetSize
    - taosHashClear
    - insBuildVgDataBlocks
    - insMergeTableDataCxt
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseInsertBodyBottom(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4279,1
    - Dst: checkTableClauseFirstToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4280,1
    - Dst: parseInsertTableClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4282,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4289,1
    - Dst: parseInsertBodyBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4294,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4297
      start: 4272
    functionDepth: 16
    functionLinenumber: 4272
    functionLinenumberEnd: 4297
    functionName: parseInsertBody
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - checkTableClauseFirstToken
    - parseInsertBodyBottom
    - buildInvalidOperationMsg
    - parseInsertTableClause
    - NEXT_TOKEN
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseInsertBody(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4299
      start: 4299
    functionDepth: 0
    functionLinenumber: 4299
    functionLinenumberEnd: 4299
    functionName: destroySubTableHashElem
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroySubTableHashElem(void* p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4303,1
    - Dst: TSDB_QUERY_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4309,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4319,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4319,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4322,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4322,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4325,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4325,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4328,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4328,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4329,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4329,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4330,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4330,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4331,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4331,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4334,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4338,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4339,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - pCxt
    - reentry
    - pOutput
    argTypes:
    - SInsertParseContext*
    - bool
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4343
      start: 4301
    functionDepth: 5
    functionLinenumber: 4301
    functionLinenumberEnd: 4343
    functionName: createVnodeModifOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - TSDB_QUERY_SET_TYPE
    - nodesMakeNode
    - taosHashInit
    - taosHashSetFreeFp
    - taosGetDefaultHashFunction
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createVnodeModifOpStmt(SInsertParseContext* pCxt, bool reentry,
      SNode** pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4347,1
    - Dst: createVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4356,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - SInsertParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4363
      start: 4345
    functionDepth: 6
    functionLinenumber: 4345
    functionLinenumberEnd: 4363
    functionName: createInsertQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - createVnodeModifOpStmt
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createInsertQuery(SInsertParseContext* pCxt, SQuery** pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4367,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4369,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4369,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4369,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4373,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4376,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pMetaData
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SMetaData*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4387
      start: 4365
    functionDepth: 3
    functionLinenumber: 4365
    functionLinenumberEnd: 4387
    functionName: checkAuthFromMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - uError
    - taosArrayGetSize
    - tstrerror
    - TARRAY_GET_ELEM
    - taosArrayDup
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAuthFromMetaData(SInsertParseContext* pCxt, const SMetaData*
      pMetaData, SVnodeModifyOpStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4390,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4390,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4394,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4395,1
    - Dst: tableMetaDup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pTables
    - pMeta
    argTypes:
    - SArray*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4403
      start: 4389
    functionDepth: 1
    functionLinenumber: 4389
    functionLinenumberEnd: 4403
    functionName: getTableMetaFromMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tableMetaDup
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableMetaFromMetaData(const SArray* pTables, STableMeta**
      pMeta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4408,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4409,1
    - Dst: catalogChkAuth
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pTbName
    - isAudit
    argTypes:
    - SParseContext*
    - SName*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4430
      start: 4405
    functionDepth: 10
    functionLinenumber: 4405
    functionLinenumberEnd: 4430
    functionName: checkAuthUseDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - catalogChkAuth
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAuthUseDb(SParseContext* pCxt, SName* pTbName, bool isAudit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4433,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4437,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pTables
    - pStmt
    - isStb
    argTypes:
    - SArray*
    - SVnodeModifyOpStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4448
      start: 4432
    functionDepth: 1
    functionLinenumber: 4432
    functionLinenumberEnd: 4448
    functionName: addTableVgroupFromMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t addTableVgroupFromMetaData(const SArray* pTables, SVnodeModifyOpStmt*
      pStmt, bool isStb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4451,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4455,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4458,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pMeta
    - pTagName
    argTypes:
    - STableMeta*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4466
      start: 4450
    functionDepth: 1
    functionLinenumber: 4450
    functionLinenumberEnd: 4466
    functionName: buildTagNameFromMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - getTableTagSchema
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTagNameFromMeta(STableMeta* pMeta, SArray** pTagName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4470,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4474,1
    - Dst: buildTagNameFromMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4480,1
    - Dst: checkSubtablePrivilege
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4482,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pTables
    - pStmt
    argTypes:
    - SArray*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4489
      start: 4468
    functionDepth: 5
    functionLinenumber: 4468
    functionLinenumberEnd: 4489
    functionName: checkSubtablePrivilegeForTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - buildTagNameFromMeta
    - checkSubtablePrivilege
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkSubtablePrivilegeForTable(const SArray* pTables, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4495,1
    - Dst: storeChildTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4499,1
    - Dst: addTableVgroupFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4502,1
    - Dst: checkSubtablePrivilegeForTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pMetaData
    - pStmt
    - isStb
    argTypes:
    - SInsertParseContext*
    - SMetaData*
    - SVnodeModifyOpStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4508
      start: 4491
    functionDepth: 6
    functionLinenumber: 4491
    functionLinenumberEnd: 4508
    functionName: processTableSchemaFromMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - addTableVgroupFromMetaData
    - checkSubtablePrivilegeForTable
    - buildInvalidOperationMsg
    - storeChildTableMeta
    linkageType: ''
    returnType: int32_t
    signature: "int32_t processTableSchemaFromMetaData(SInsertParseContext* pCxt,
      const SMetaData* pMetaData,\n                                              SVnodeModifyOpStmt*
      pStmt, bool isStb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4513
      start: 4510
    functionDepth: 1
    functionLinenumber: 4510
    functionLinenumberEnd: 4513
    functionName: destoryTablesReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destoryTablesReq(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4520,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4522,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4524,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pCatalogReq
    argTypes:
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4528
      start: 4515
    functionDepth: 1
    functionLinenumber: 4515
    functionLinenumberEnd: 4528
    functionName: clearCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void clearCatalogReq(SCatalogReq* pCatalogReq)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: clearCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4532,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4534,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4538,1
    - Dst: checkAuthFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4542,1
    - Dst: getTableMetaFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4545,1
    - Dst: checkAuthUseDb
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4563,1
    - Dst: processTableSchemaFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4571,1
    - Dst: processTableSchemaFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4573,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SCatalogReq*
    - SMetaData*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4577
      start: 4530
    functionDepth: 11
    functionLinenumber: 4530
    functionLinenumberEnd: 4577
    functionName: setVnodeModifOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - clearCatalogReq
    - checkAuthFromMetaData
    - getTableMetaFromMetaData
    - checkAuthUseDb
    - taosArrayDestroy
    - nodesDestroyNode
    - processTableSchemaFromMetaData
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setVnodeModifOpStmt(SInsertParseContext* pCxt, SCatalogReq*
      pCatalogReq, const SMetaData* pMetaData,\n                                   SVnodeModifyOpStmt*
      pStmt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4580,1
    - Dst: createVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4582,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4590,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4590,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4594,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SInsertParseContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4603
      start: 4579
    functionDepth: 6
    functionLinenumber: 4579
    functionLinenumberEnd: 4603
    functionName: resetVnodeModifOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - createVnodeModifOpStmt
    - nodesDestroyNode
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetVnodeModifOpStmt(SInsertParseContext* pCxt, SQuery* pQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createInsertQuery
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4608,1
    - Dst: resetVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4612,1
    - Dst: setVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SInsertParseContext*
    - SCatalogReq*
    - SMetaData*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4622
      start: 4605
    functionDepth: 12
    functionLinenumber: 4605
    functionLinenumberEnd: 4622
    functionName: initInsertQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - resetVnodeModifOpStmt
    - setVnodeModifOpStmt
    - createInsertQuery
    linkageType: ''
    returnType: int32_t
    signature: "int32_t initInsertQuery(SInsertParseContext* pCxt, SCatalogReq* pCatalogReq,
      const SMetaData* pMetaData,\n                               SQuery** pQuery)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4628,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4629,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4630,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4630,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4634,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4636,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4638,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4641,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4646,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4647,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4648,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4648,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4652,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4654,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4656,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4659,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4665
      start: 4624
    functionDepth: 1
    functionLinenumber: 4624
    functionLinenumberEnd: 4665
    functionName: setRefreshMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - taosHashCancelIterate
    - taosHashGetSize
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t setRefreshMeta(SQuery* pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skipInsertInto
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4674,1
    - Dst: parseInsertBody
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4679
      start: 4673
    functionDepth: 17
    functionLinenumber: 4673
    functionLinenumberEnd: 4679
    functionName: parseInsertSqlFromStart
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - skipInsertInto
    - parseInsertBody
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseInsertSqlFromStart(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4687,1
    - Dst: parseDataFromFileImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4693,1
    - Dst: parseInsertBodyBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4698,1
    - Dst: parseInsertBody
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4705
      start: 4681
    functionDepth: 17
    functionLinenumber: 4681
    functionLinenumberEnd: 4705
    functionName: parseInsertSqlFromCsv
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - getTableDataCxt
    - parseDataFromFileImpl
    - parseInsertBody
    - parseInsertBodyBottom
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseInsertSqlFromCsv(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseInsertTableClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4708,1
    - Dst: parseInsertBody
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4713
      start: 4707
    functionDepth: 17
    functionLinenumber: 4707
    functionLinenumberEnd: 4713
    functionName: parseInsertSqlFromTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseInsertTableClauseBottom
    - parseInsertBody
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseInsertSqlFromTable(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInsertSqlFromStart
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4717,1
    - Dst: parseInsertSqlFromCsv
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4721,1
    - Dst: parseInsertSqlFromTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4725
      start: 4715
    functionDepth: 18
    functionLinenumber: 4715
    functionLinenumberEnd: 4725
    functionName: parseInsertSqlImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - parseInsertSqlFromTable
    - parseInsertSqlFromStart
    - parseInsertSqlFromCsv
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseInsertSqlImpl(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4729,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4734,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4737,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - pSName
    - pCName
    - pTables
    argTypes:
    - SName*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4748
      start: 4727
    functionDepth: 1
    functionLinenumber: 4727
    functionLinenumberEnd: 4748
    functionName: buildUsingInsertTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildUsingInsertTableReq(SName* pSName, SName* pCName, SArray**
      pTables)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4751,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4756,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pName
    - pTables
    argTypes:
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4762
      start: 4750
    functionDepth: 1
    functionLinenumber: 4750
    functionLinenumberEnd: 4762
    functionName: buildInsertTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInsertTableReq(SName* pName, SArray** pTables)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4766,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4774,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4775,1
    - Dst: buildUsingInsertTableReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4777,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pSName
    - pCName
    - pDbs
    argTypes:
    - SName*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4782
      start: 4764
    functionDepth: 2
    functionLinenumber: 4764
    functionLinenumberEnd: 4782
    functionName: buildInsertUsingDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildUsingInsertTableReq
    - taosArrayPush
    - tNameGetFullDbName
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInsertUsingDbReq(SName* pSName, SName* pCName, SArray**
      pDbs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4786,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4793,1
    - Dst: buildInsertTableReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4794,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pName
    - pDbs
    argTypes:
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4800
      start: 4784
    functionDepth: 2
    functionLinenumber: 4784
    functionLinenumberEnd: 4800
    functionName: buildInsertDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildInsertTableReq
    - taosArrayPush
    - tNameGetFullDbName
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInsertDbReq(SName* pName, SArray** pDbs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4803,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4809,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4810,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4811,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pUserAuth
    argTypes:
    - SParseContext*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4818
      start: 4802
    functionDepth: 1
    functionLinenumber: 4802
    functionLinenumberEnd: 4818
    functionName: buildInsertUserAuthReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - memcpy
    - snprintf
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInsertUserAuthReq(SParseContext* pCxt, SName* pName, SArray**
      pUserAuth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildInsertTableReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pName
    - pTables
    argTypes:
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4820
      start: 4820
    functionDepth: 2
    functionLinenumber: 4820
    functionLinenumberEnd: 4820
    functionName: buildInsertTableTagReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildInsertTableReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInsertTableTagReq(SName* pName, SArray** pTables)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildInsertUserAuthReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4823,1
    - Dst: buildInsertTableTagReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4827,1
    - Dst: buildInsertDbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4831,1
    - Dst: buildInsertUsingDbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4833,1
    - Dst: buildInsertDbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pCatalogReq
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4840
      start: 4822
    functionDepth: 3
    functionLinenumber: 4822
    functionLinenumberEnd: 4840
    functionName: buildInsertCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildInsertUsingDbReq
    - buildInsertTableTagReq
    - buildInsertDbReq
    - buildInsertUserAuthReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInsertCatalogReq(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SCatalogReq* pCatalogReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4845,1
    - Dst: buildInsertCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4849,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SInsertParseContext*
    - SQuery*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4857
      start: 4842
    functionDepth: 4
    functionLinenumber: 4842
    functionLinenumberEnd: 4857
    functionName: setNextStageInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - buildInsertCatalogReq
    - parserDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t setNextStageInfo(SInsertParseContext* pCxt, SQuery* pQuery,
      SCatalogReq* pCatalogReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initInsertQuery
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4867,1
    - Dst: parseInsertSqlImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4869,1
    - Dst: setNextStageInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4873,1
    - Dst: NEED_CLIENT_HANDLE_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4875,1
    - Dst: setRefreshMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4877,1
    - Dst: qDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4880,1
    - Dst: clearInsertParseContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4887
      start: 4859
    functionDepth: 19
    functionLinenumber: 4859
    functionLinenumberEnd: 4887
    functionName: parseInsertSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - setNextStageInfo
    - NEED_CLIENT_HANDLE_ERROR
    - clearInsertParseContext
    - parseInsertSqlImpl
    - qDestroyBoundColInfo
    - initInsertQuery
    - setRefreshMeta
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseInsertSql(SParseContext* pCxt, SQuery** pQuery, SCatalogReq*
      pCatalogReq, const SMetaData* pMetaData)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4895,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4905,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4912,1
    - Dst: csvParserFillBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4923,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - parser
    - pFile
    argTypes:
    - SCsvParser*
    - TdFilePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4960
      start: 4890
    functionDepth: 1
    functionLinenumber: 4890
    functionLinenumberEnd: 4960
    functionName: csvParserInit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - memset
    - csvParserFillBuffer
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t csvParserInit(SCsvParser* parser, TdFilePtr pFile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4964,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4965,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - SCsvParser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4968
      start: 4962
    functionDepth: 0
    functionLinenumber: 4962
    functionLinenumberEnd: 4968
    functionName: csvParserDestroy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 0
    functionsReached:
    - memset
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void csvParserDestroy(SCsvParser* parser)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4984,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:4986,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - parser
    argTypes:
    - SCsvParser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4996
      start: 4970
    functionDepth: 1
    functionLinenumber: 4970
    functionLinenumberEnd: 4996
    functionName: csvParserFillBuffer
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 2
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosReadFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t csvParserFillBuffer(SCsvParser* parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: csvParserDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:5001,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:5002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SVnodeModifyOpStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5005
      start: 4999
    functionDepth: 1
    functionLinenumber: 4999
    functionLinenumberEnd: 5005
    functionName: destroySavedCsvParser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - csvParserDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroySavedCsvParser(SVnodeModifyOpStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:5017,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - parser
    - requiredLen
    argTypes:
    - SCsvParser*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5025
      start: 5007
    functionDepth: 1
    functionLinenumber: 5007
    functionLinenumberEnd: 5025
    functionName: csvParserExpandLineBuffer
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: 1
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t csvParserExpandLineBuffer(SCsvParser* parser, size_t requiredLen)
  - BBCount: 144
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 289
    argCount: 1
    argNames:
    - errCode
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 319
    functionName: getSyntaxErrFormat
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getSyntaxErrFormat(int32_t errCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:323,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:324,1
    - Dst: getSyntaxErrFormat
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:324,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pBuf
    - errCode
    argTypes:
    - SMsgBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: generateSyntaxErrMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 96
    functionsReached:
    - vsnprintf
    - getSyntaxErrFormat
    - va_end
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: int32_t generateSyntaxErrMsg(SMsgBuf* pBuf, int32_t errCode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:331,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:332,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pBuf
    - errCode
    - pFormat
    argTypes:
    - SMsgBuf*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: generateSyntaxErrMsgExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 188
    functionsReached:
    - vsnprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: int32_t generateSyntaxErrMsgExt(SMsgBuf* pBuf, int32_t errCode, const
      char* pFormat, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pBuf
    - msg
    argTypes:
    - SMsgBuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: buildInvalidOperationMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 13
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInvalidOperationMsg(SMsgBuf* pBuf, const char* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:347,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:348,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pBuf
    - pFormat
    argTypes:
    - SMsgBuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: buildInvalidOperationMsgExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - vsnprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildInvalidOperationMsgExt(SMsgBuf* pBuf, const char* pFormat,
      ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:361,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:366,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:366,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:369,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:371,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:371,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pBuf
    - additionalInfo
    - sourceStr
    argTypes:
    - SMsgBuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 376
    functionName: buildSyntaxErrMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 33
    functionsReached:
    - tListLen
    - strncmp
    - snprintf
    - tstrncpy
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildSyntaxErrMsg(SMsgBuf* pBuf, const char* additionalInfo,
      const char* sourceStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 378
    functionName: getTableColumnSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: SSchema
    signature: SSchema * getTableColumnSchema(const STableMeta* pTableMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 380
    functionName: getTableColumnExtSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SSchemaExt
    signature: SSchemaExt * getTableColumnExtSchema(const STableMeta* pTableMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTableMeta
    - colIndex
    argTypes:
    - STableMeta*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: getOneColumnSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSchema
    signature: SSchema * getOneColumnSchema(const STableMeta* pTableMeta, int32_t
      colIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOneColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:388,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: getTableTagSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 12
    functionsReached:
    - getOneColumnSchema
    - getTableInfo
    linkageType: ''
    returnType: SSchema
    signature: SSchema * getTableTagSchema(const STableMeta* pTableMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: getNumOfColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 7
    functionsReached:
    - getTableInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t getNumOfColumns(const STableMeta* pTableMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: getNumOfTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 13
    functionsReached:
    - getTableInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t getNumOfTags(const STableMeta* pTableMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: getTableInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: STableComInfo
    signature: STableComInfo getTableInfo(const STableMeta* pTableMeta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 408
    functionName: getTableTypeFromTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableTypeFromTableNode(SNode* pTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TABLE_TOTAL_COL_NUM
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:411,1
    - Dst: TABLE_META_FULL_SIZE
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:416,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:417,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:420,1
    - Dst: tableMetaResetPointers
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 423
    functionName: tableMetaDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - TABLE_META_FULL_SIZE
    - tableMetaResetPointers
    - TABLE_TOTAL_COL_NUM
    linkageType: ''
    returnType: STableMeta
    signature: STableMeta * tableMetaDup(const STableMeta* pTableMeta)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 4
    argNames:
    - src
    - len
    - dst
    - dlen
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 476
    functionName: trimString
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 8
    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: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:480,1
    - Dst: isprint
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 488
    functionName: isValidateTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - strlen
    - isprint
    linkageType: ''
    returnType: bool
    signature: bool isValidateTag(char* input)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:496,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:496,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:502,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:504,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:508,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:509,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:510,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:514,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:514,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:520,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:522,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:523,1
    - Dst: isValidateTag
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:528,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:529,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:532,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:534,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:535,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:538,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:544,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:552,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:553,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:559,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:560,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:562,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:563,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:564,1
    - Dst: isfinite
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:570,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:571,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:572,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:583,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:586,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:593,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:595,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:597,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:598,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:599,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:600,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:603,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 108
    argCount: 5
    argNames:
    - json
    - pTagVals
    - ppTag
    - pMsgBuf
    - charsetCxt
    argTypes:
    - char*
    - SArray*
    - STag**
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 605
    functionName: parseJsontoTagData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 4
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - isValidateTag
    - cJSON_GetArraySize
    - strerror
    - strcasecmp
    - cJSON_IsObject
    - cJSON_GetArrayItem
    - taosArrayGet
    - cJSON_Parse
    - taosHashInit
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - strtrim
    - taosMemoryCalloc
    - tTagNew
    - buildSyntaxErrMsg
    - uError
    - taosHashGet
    - taosHashPut
    - taosMemoryFree
    - taosHashCleanup
    - strlen
    - cJSON_Delete
    - taosMbsToUcs4
    - isfinite
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseJsontoTagData(const char* json, SArray* pTagVals, STag**
      ppTag, void* pMsgBuf, void *charsetCxt)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:614,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:616,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:619,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:621,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:631,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:631,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:632,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:632,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:635,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:641,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:642,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:646,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:646,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:648,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:653,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:654,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:655,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:656,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:659,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:663,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:667,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:673,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:674,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:675,1
    - Dst: tNameAddTbName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:676,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:677,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:678,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:679,1
    - Dst: tNameAddTbName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:680,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:684,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 3
    argNames:
    - acctId
    - pOper
    - pName
    argTypes:
    - int32_t
    - SOperatorNode*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 688
    functionName: getInsTagsTableTargetNameFromOp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosUcs4ToMbs
    - tNameAddTbName
    - qError
    - varDataLen
    - nodeType
    - qDebug
    - tNameSetDbName
    - taosMemoryFree
    - varDataVal
    - strlen
    - IS_VAR_DATA_TYPE
    - taosMemoryCalloc
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t getInsTagsTableTargetNameFromOp(int32_t acctId, SOperatorNode*
      pOper, SName* pName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:691,1
    - Dst: getInsTagsTableTargetNameFromOp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - acctId
    - pNode
    - pName
    argTypes:
    - int32_t
    - SNode*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 690
    functionDepth: 2
    functionLinenumber: 690
    functionLinenumberEnd: 695
    functionName: getInsTagsTableTargetObjName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - nodeType
    - getInsTagsTableTargetNameFromOp
    linkageType: ''
    returnType: int32_t
    signature: int32_t getInsTagsTableTargetObjName(int32_t acctId, SNode* pNode,
      SName* pName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:703,1
    - Dst: getInsTagsTableTargetObjName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - acctId
    - pCond
    - pName
    argTypes:
    - int32_t
    - SLogicConditionNode*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 713
    functionName: getInsTagsTableTargetNameFromCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - getInsTagsTableTargetObjName
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t getInsTagsTableTargetNameFromCond(int32_t acctId, SLogicConditionNode*
      pCond, SName* pName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:720,1
    - Dst: getInsTagsTableTargetNameFromOp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:721,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:728,1
    - Dst: getInsTagsTableTargetNameFromCond
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - acctId
    - pWhere
    - pName
    argTypes:
    - int32_t
    - SNode*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 715
    functionDepth: 4
    functionLinenumber: 715
    functionLinenumberEnd: 733
    functionName: getVnodeSysTableTargetName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - nodeType
    - getInsTagsTableTargetNameFromOp
    - getInsTagsTableTargetNameFromCond
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVnodeSysTableTargetName(int32_t acctId, SNode* pWhere, SName*
      pName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 7
    argNames:
    - acctId
    - pUser
    - pDb
    - pTable
    - type
    - objType
    - pStr
    argTypes:
    - int32_t
    - char*
    - char*
    - char*
    - EPrivType
    - EPrivObjType
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 739
    functionName: userAuthToString
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t userAuthToString(int32_t acctId, const char* pUser, const
      char* pDb, const char* pTable, EPrivType type,\n                                EPrivObjType
      objType, char* pStr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:742,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:745,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:749,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pStart
    - pNext
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 753
    functionName: getIntegerFromAuthStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - strchr
    - taosStr2Int32
    linkageType: ''
    returnType: int32_t
    signature: int32_t getIntegerFromAuthStr(const char* pStart, char** pNext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:756,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:758,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:761,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:763,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:768,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:768,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - pStart
    - pStr
    - dstLen
    - pNext
    argTypes:
    - char*
    - char*
    - uint32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 777
    functionName: getBackQuotedStringFromAuthStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - qWarn
    - TAOS_STRNCPY
    - strchr
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: int32_t getBackQuotedStringFromAuthStr(const char* pStart, char* pStr,
      uint32_t dstLen, char** pNext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:780,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:782,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pStart
    - pStr
    - dstLen
    - pNext
    argTypes:
    - char*
    - char*
    - uint32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 791
    functionName: getStringFromAuthStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - TAOS_STRNCPY
    - tstrncpy
    - strchr
    linkageType: ''
    returnType: void
    signature: void getStringFromAuthStr(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:795,1
    - Dst: getIntegerFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:797,1
    - Dst: getBackQuotedStringFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:798,1
    - Dst: getBackQuotedStringFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:801,1
    - Dst: getIntegerFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:809,1
    - Dst: getIntegerFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:810,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pStr
    - len
    - pUserAuth
    argTypes:
    - char*
    - int32_t
    - SUserAuthInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 813
    functionName: stringToUserAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - getBackQuotedStringFromAuthStr
    - getIntegerFromAuthStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t stringToUserAuth(const char* pStr, int32_t len, SUserAuthInfo*
      pUserAuth)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:817,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:817,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:821,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:824,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:826,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:828,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:830,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:835,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:836,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - pTablesHash
    - pTables
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 844
    functionName: buildTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - tNameFromString
    - taosHashCancelIterate
    - taosHashGetSize
    - taosHashGetKey
    - tstrncpy
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableReq(SHashObj* pTablesHash, SArray** pTables)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:848,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:848,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:852,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:855,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:857,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:858,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:859,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:860,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:864,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pDbsHash
    - pDbs
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 868
    functionName: buildDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - taosHashCancelIterate
    - taosHashGetSize
    - taosHashGetKey
    - taosArrayInit
    - taosArrayDestroy
    - TAOS_STRNCPY
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildDbReq(SHashObj* pDbsHash, SArray** pDbs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:873,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:873,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:878,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:881,1
    - Dst: buildTableReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:882,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:884,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:889,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:890,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:894,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pDbsHash
    - pDbs
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 898
    functionName: buildTableReqFromDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - taosHashCancelIterate
    - taosHashGetSize
    - tstrncpy
    - taosArrayInit
    - buildTableReq
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableReqFromDb(SHashObj* pDbsHash, SArray** pDbs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:902,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:902,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:906,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:909,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:911,1
    - Dst: stringToUserAuth
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:913,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:915,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:916,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:917,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:921,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pUserAuthHash
    - pUserAuth
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 900
    functionDepth: 3
    functionLinenumber: 900
    functionLinenumberEnd: 925
    functionName: buildUserAuthReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - taosHashCancelIterate
    - taosHashGetSize
    - taosArrayDestroy
    - taosHashGetKey
    - taosArrayInit
    - stringToUserAuth
    - TAOS_STRNCPY
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildUserAuthReq(SHashObj* pUserAuthHash, SArray** pUserAuth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:929,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:929,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:933,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:936,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:938,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:939,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:940,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:941,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pUdfHash
    - pUdf
    argTypes:
    - SHashObj*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 949
    functionName: buildUdfReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashIterate
    - taosHashCancelIterate
    - taosHashGetSize
    - taosHashGetKey
    - taosArrayInit
    - taosArrayDestroy
    - TAOS_STRNCPY
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildUdfReq(SHashObj* pUdfHash, SArray** pUdf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:952,1
    - Dst: buildDbReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:954,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:957,1
    - Dst: buildDbReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:960,1
    - Dst: buildDbReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:963,1
    - Dst: buildUserAuthReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:966,1
    - Dst: buildUdfReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:969,1
    - Dst: buildTableReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:972,1
    - Dst: buildTableReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:975,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:978,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:981,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:984,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:988,1
    - Dst: buildTableReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:992,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - pMetaCache
    - pCatalogReq
    argTypes:
    - SParseMetaCache*
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 951
    functionDepth: 4
    functionLinenumber: 951
    functionLinenumberEnd: 997
    functionName: buildCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - buildDbReq
    - buildTableReqFromDb
    - buildUserAuthReq
    - buildTableReq
    - buildUdfReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCatalogReq(SParseMetaCache* pMetaCache, SCatalogReq* pCatalogReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1002,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1009,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - isDistinct
    - pProjectionList
    - pTable
    - pHint
    - ppSelect
    argTypes:
    - bool
    - SNodeList*
    - SNode*
    - SNodeList*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 999
    functionDepth: 5
    functionLinenumber: 999
    functionLinenumberEnd: 1018
    functionName: createSelectStmtImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 3
    functionsReached:
    - nodesMakeNode
    - snprintf
    - TAOS_SET_OBJ_ALIGNED
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createSelectStmtImpl(bool isDistinct, SNodeList* pProjectionList,
      SNode* pTable, SNodeList* pHint,\n                             SNode** ppSelect)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1022,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1022,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1027,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - pKey
    - len
    - pData
    - index
    - pHash
    argTypes:
    - char*
    - int32_t
    - SArray*
    - int32_t
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1029
    functionName: putMetaDataToHash
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - taosHashPut
    - taosArrayGet
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t putMetaDataToHash(const char* pKey, int32_t len, const SArray*
      pData, int32_t index, SHashObj** pHash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1032,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pKey
    - len
    - pHash
    - pOutput
    argTypes:
    - char*
    - int32_t
    - SHashObj*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1041
    functionName: getMetaDataFromHash
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - parserDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t getMetaDataFromHash(const char* pKey, int32_t len, SHashObj*
      pHash, void** pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1044,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1047,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1047,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1051,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pTableReq
    - pTableData
    - pTable
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1056
    functionName: putTableDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - putMetaDataToHash
    - strlen
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: 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:1059,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1061,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1062,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pDbReq
    - pDbData
    - pDb
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1067
    functionName: putDbDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosArrayGet
    - taosArrayGetSize
    - putMetaDataToHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t putDbDataToCache(const SArray* pDbReq, const SArray* pDbData,
      SHashObj** pDb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1071,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1074,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1075,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1078,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1078,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1082,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1082,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pDbReq
    - pTableData
    - pTable
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1089
    functionName: putDbTableDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - putMetaDataToHash
    - strlen
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: int32_t putDbTableDataToCache(const SArray* pDbReq, const SArray* pTableData,
      SHashObj** pTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1092,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1094,1
    - Dst: userAuthToString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1096,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pUserAuthReq
    - pUserAuthData
    - pUserAuth
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1103
    functionName: putUserAuthToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - putMetaDataToHash
    - taosArrayGet
    - taosArrayGetSize
    - userAuthToString
    linkageType: ''
    returnType: int32_t
    signature: int32_t putUserAuthToCache(const SArray* pUserAuthReq, const SArray*
      pUserAuthData, SHashObj** pUserAuth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1108,1
    - Dst: putMetaDataToHash
      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: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pUdfReq
    - pUdfData
    - pUdf
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1114
    functionName: putUdfToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosArrayGet
    - taosArrayGetSize
    - putMetaDataToHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t putUdfToCache(const SArray* pUdfReq, const SArray* pUdfData,
      SHashObj** pUdf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1117,1
    - Dst: putDbDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1119,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1122,1
    - Dst: putDbDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1125,1
    - Dst: putDbDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1128,1
    - Dst: putUserAuthToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1131,1
    - Dst: putUdfToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1134,1
    - Dst: putTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1137,1
    - Dst: putTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1140,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1143,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1146,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1149,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1153,1
    - Dst: putTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1157,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - pCatalogReq
    - pMetaData
    - pMetaCache
    argTypes:
    - SCatalogReq*
    - SMetaData*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1162
    functionName: putMetaDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - putUserAuthToCache
    - putDbTableDataToCache
    - putDbDataToCache
    - putUdfToCache
    - putTableDataToCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t putMetaDataToCache(const SCatalogReq* pCatalogReq, SMetaData*
      pMetaData, SParseMetaCache* pMetaCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1166,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1166,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pTbFName
    - len
    - pTables
    argTypes:
    - char*
    - int32_t
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1172
    functionName: reserveTableReqInCacheImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - taosHashPut
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableReqInCacheImpl(const char* pTbFName, int32_t len,
      SHashObj** pTables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1176,1
    - Dst: reserveTableReqInCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pTables
    argTypes:
    - int32_t
    - char*
    - char*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1174
    functionDepth: 2
    functionLinenumber: 1174
    functionLinenumberEnd: 1178
    functionName: reserveTableReqInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - snprintf
    - reserveTableReqInCacheImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableReqInCache(int32_t acctId, const char* pDb, const
      char* pTable, SHashObj** pTables)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1182,1
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1183,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pDbs
    argTypes:
    - int32_t
    - char*
    - char*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1180
    functionDepth: 3
    functionLinenumber: 1180
    functionLinenumberEnd: 1188
    functionName: reserveTableReqInDbCacheImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - reserveTableReqInCache
    - snprintf
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableReqInDbCacheImpl(int32_t acctId, const char* pDb,
      const char* pTable, SHashObj* pDbs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1192,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1192,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1198,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1199,1
    - Dst: reserveTableReqInDbCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1201,1
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pDbs
    argTypes:
    - int32_t
    - char*
    - char*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1190
    functionDepth: 4
    functionLinenumber: 1190
    functionLinenumberEnd: 1204
    functionName: reserveTableReqInDbCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - reserveTableReqInCache
    - taosHashGet
    - taosHashInit
    - snprintf
    - taosGetDefaultHashFunction
    - reserveTableReqInDbCacheImpl
    linkageType: ''
    returnType: int32_t
    signature: 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:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1206
    functionDepth: 5
    functionLinenumber: 1206
    functionLinenumberEnd: 1208
    functionName: reserveTableMetaInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 86
    functionsReached:
    - reserveTableReqInDbCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableMetaInCache(int32_t acctId, const char* pDb, const
      char* pTable, SParseMetaCache* pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInDbCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pName
    - pMetaCache
    argTypes:
    - SName*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1210
    functionDepth: 5
    functionLinenumber: 1210
    functionLinenumberEnd: 1212
    functionName: reserveTableMetaInCacheExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - reserveTableReqInDbCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableMetaInCacheExt(const SName* pName, SParseMetaCache*
      pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInDbCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1214
    functionDepth: 5
    functionLinenumber: 1214
    functionLinenumberEnd: 1216
    functionName: reserveTableUidInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 3
    functionsReached:
    - reserveTableReqInDbCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableUidInCache(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:1220,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1225,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1225,1
    - Dst: tableMetaDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pMeta
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1233
    functionName: getTableMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - strlen
    - tNameExtractFullName
    - tableMetaDup
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableMetaFromCache(SParseMetaCache* pMetaCache, const SName*
      pName, STableMeta** pMeta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1237,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1242,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1242,1
    - Dst: TABLE_META_FULL_SIZE
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1245,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pTbName
    argTypes:
    - SParseMetaCache*
    - SName*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1250
    functionName: getTableNameFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - TABLE_META_FULL_SIZE
    - tstrncpy
    - getMetaDataFromHash
    - strlen
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableNameFromCache(SParseMetaCache* pMetaCache, const SName*
      pName, char* pTbName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1253,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - pMeta
    - pViewMeta
    argTypes:
    - STableMeta**
    - SViewMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1272
    functionName: buildTableMetaFromViewMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildTableMetaFromViewMeta(STableMeta** pMeta, SViewMeta* pViewMeta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1276,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1281,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1281,1
    - Dst: buildTableMetaFromViewMeta
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pMeta
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableMeta**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1274
    functionDepth: 2
    functionLinenumber: 1274
    functionLinenumberEnd: 1286
    functionName: getViewMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - buildTableMetaFromViewMeta
    - strlen
    - tNameExtractFullName
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getViewMetaFromCache(SParseMetaCache* pMetaCache, const SName*
      pName, STableMeta** pMeta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1290,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1290,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1296,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pDbs
    argTypes:
    - int32_t
    - char*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1298
    functionName: reserveDbReqInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosHashPut
    - taosHashInit
    - snprintf
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveDbReqInCache(int32_t acctId, const char* pDb, SHashObj**
      pDbs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1302
    functionName: reserveDbVgInfoInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 16
    functionsReached:
    - reserveDbReqInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveDbVgInfoInCache(int32_t acctId, const char* pDb, SParseMetaCache*
      pMetaCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1306,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1306,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pMetaCache
    - pDbFName
    - pVgInfo
    argTypes:
    - SParseMetaCache*
    - char*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1315
    functionName: getDbVgInfoFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - taosArrayDup
    - getMetaDataFromHash
    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:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1317
    functionDepth: 5
    functionLinenumber: 1317
    functionLinenumberEnd: 1319
    functionName: reserveTableVgroupInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 14
    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: reserveTableReqInDbCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pName
    - pMetaCache
    argTypes:
    - SName*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1321
    functionDepth: 5
    functionLinenumber: 1321
    functionLinenumberEnd: 1323
    functionName: reserveTableVgroupInCacheExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - reserveTableReqInDbCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableVgroupInCacheExt(const SName* pName, SParseMetaCache*
      pMetaCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1327,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1332,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1332,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pVgroup
    argTypes:
    - SParseMetaCache*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1325
    functionDepth: 2
    functionLinenumber: 1325
    functionLinenumberEnd: 1337
    functionName: getTableVgroupFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - tNameExtractFullName
    - memcpy
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableVgroupFromCache(SParseMetaCache* pMetaCache, const
      SName* pName, SVgroupInfo* pVgroup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1343,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1343,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1345,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1347,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1350,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1352,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1357,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1361,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1361,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1362,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1362,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1365,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1366,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1368,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1370,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1371,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pVgroup
    argTypes:
    - SParseMetaCache*
    - SName*
    - SVgroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1339
    functionDepth: 2
    functionLinenumber: 1339
    functionLinenumberEnd: 1378
    functionName: getDbTableVgroupFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - parserError
    - taosGetTbHashVal
    - memcpy
    - strstr
    - taosArraySearch
    - getMetaDataFromHash
    - strlen
    - tNameExtractFullName
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDbTableVgroupFromCache(SParseMetaCache* pMetaCache, const
      SName* pName, SVgroupInfo* pVgroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1380
    functionDepth: 2
    functionLinenumber: 1380
    functionLinenumberEnd: 1382
    functionName: reserveDbVgVersionInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - reserveDbReqInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveDbVgVersionInCache(int32_t acctId, const char* pDb,
      SParseMetaCache* pMetaCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1387,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1387,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1390,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - pMetaCache
    - pDbFName
    - pVersion
    - pDbId
    - pTableNum
    - pStateTs
    argTypes:
    - SParseMetaCache*
    - char*
    - int32_t*
    - int64_t*
    - int32_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1384
    functionDepth: 2
    functionLinenumber: 1384
    functionLinenumberEnd: 1395
    functionName: getDbVgVersionFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - taosSetInt64Aligned
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: "int32_t getDbVgVersionFromCache(SParseMetaCache* pMetaCache, const
      char* pDbFName, int32_t* pVersion, int64_t* pDbId,\n                                int32_t*
      pTableNum, int64_t* pStateTs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1397
    functionDepth: 2
    functionLinenumber: 1397
    functionLinenumberEnd: 1399
    functionName: reserveDbCfgInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 49
    functionsReached:
    - reserveDbReqInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveDbCfgInCache(int32_t acctId, const char* pDb, SParseMetaCache*
      pMetaCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1403,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1403,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pMetaCache
    - pDbFName
    - pInfo
    argTypes:
    - SParseMetaCache*
    - char*
    - SDbCfgInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1408
    functionName: getDbCfgFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - memcpy
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDbCfgFromCache(SParseMetaCache* pMetaCache, const char*
      pDbFName, SDbCfgInfo* pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1412,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1412,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pKey
    - len
    - pMetaCache
    argTypes:
    - char*
    - int32_t
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1418
    functionName: reserveUserAuthInCacheImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - taosHashPut
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: 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:1423,1
    - Dst: reserveUserAuthInCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - acctId
    - pUser
    - pDb
    - pTable
    - privType
    - objType
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - char*
    - EPrivType
    - EPrivObjType
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1420
    functionDepth: 2
    functionLinenumber: 1420
    functionLinenumberEnd: 1425
    functionName: reserveUserAuthInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 83
    functionsReached:
    - reserveUserAuthInCacheImpl
    - userAuthToString
    linkageType: ''
    returnType: int32_t
    signature: "int32_t reserveUserAuthInCache(int32_t acctId, const char* pUser,
      const char* pDb, const char* pTable, EPrivType privType, EPrivObjType objType,\n
      \                              SParseMetaCache* pMetaCache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: userAuthToString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1430,1
    - Dst: reserveUserAuthInCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - acctId
    - pUser
    - pDb
    - pTable
    - privType
    - objType
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - char*
    - EPrivType
    - EPrivObjType
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1427
    functionDepth: 2
    functionLinenumber: 1427
    functionLinenumberEnd: 1432
    functionName: reserveViewUserAuthInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - reserveUserAuthInCacheImpl
    - userAuthToString
    linkageType: ''
    returnType: int32_t
    signature: "int32_t reserveViewUserAuthInCache(int32_t acctId, const char* pUser,
      const char* pDb, const char* pTable,\n                                   EPrivType
      privType, EPrivObjType objType, SParseMetaCache* pMetaCache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: userAuthToString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1436,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1439,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pMetaCache
    - pAuthReq
    - pAuthRes
    argTypes:
    - SParseMetaCache*
    - SUserAuthInfo*
    - SUserAuthRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1434
    functionDepth: 2
    functionLinenumber: 1434
    functionLinenumberEnd: 1444
    functionName: getUserAuthFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - userAuthToString
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getUserAuthFromCache(SParseMetaCache* pMetaCache, SUserAuthInfo*
      pAuthReq, SUserAuthRes* pAuthRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1448,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1448,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1453,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pFunc
    - pMetaCache
    argTypes:
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1454
    functionName: reserveUdfInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - taosHashInit
    - taosHashPut
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveUdfInCache(const char* pFunc, SParseMetaCache* pMetaCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1458,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1458,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pMetaCache
    - pFunc
    - pInfo
    argTypes:
    - SParseMetaCache*
    - char*
    - SFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1456
    functionDepth: 2
    functionLinenumber: 1456
    functionLinenumberEnd: 1463
    functionName: getUdfInfoFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - memcpy
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getUdfInfoFromCache(SParseMetaCache* pMetaCache, const char*
      pFunc, SFuncInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1465
    functionName: destroySmaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroySmaIndex(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1468,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1472,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1474,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1477,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1478,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1478,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1485
    functionName: smaIndexesDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - taosArrayGet
    - taosArrayGetSize
    - taosArrayDup
    - taosStrdup
    linkageType: ''
    returnType: SArray
    signature: SArray * smaIndexesDup(SArray* pSrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1489
    functionName: reserveTableIndexInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - reserveTableReqInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableIndexInCache(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:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1491
    functionDepth: 3
    functionLinenumber: 1491
    functionLinenumberEnd: 1493
    functionName: reserveTableCfgInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - reserveTableReqInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableCfgInCache(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:1496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1495
    functionDepth: 3
    functionLinenumber: 1495
    functionLinenumberEnd: 1497
    functionName: reserveTableTSMAInfoInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - reserveTableReqInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTableTSMAInfoInCache(int32_t acctId, const char* pDb,
      const char* pTable, SParseMetaCache* pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInDbCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTsmaName
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1499
    functionDepth: 5
    functionLinenumber: 1499
    functionLinenumberEnd: 1501
    functionName: reserveTSMAInfoInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - reserveTableReqInDbCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveTSMAInfoInCache(int32_t acctId, const char* pDb, const
      char* pTsmaName, SParseMetaCache* pMetaCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1503
    functionDepth: 3
    functionLinenumber: 1503
    functionLinenumberEnd: 1505
    functionName: reserveVStbRefDbsInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - reserveTableReqInCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveVStbRefDbsInCache(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:1509,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1513,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1513,1
    - Dst: smaIndexesDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pIndexes
    argTypes:
    - SParseMetaCache*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1521
    functionName: getTableIndexFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - tNameExtractFullName
    - smaIndexesDup
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableIndexFromCache(SParseMetaCache* pMetaCache, const SName*
      pName, SArray** pIndexes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1525,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1530,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pMetaCache
    - pTbName
    - pTsmas
    argTypes:
    - SParseMetaCache*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1523
    functionDepth: 2
    functionLinenumber: 1523
    functionLinenumberEnd: 1535
    functionName: getTableTsmasFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 5
    functionsReached:
    - strlen
    - tNameExtractFullName
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableTsmasFromCache(SParseMetaCache* pMetaCache, const SName*
      pTbName, SArray** pTsmas)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1541,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1541,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1544,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1544,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1547,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1548,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1550,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1552,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pMetaCache
    - pTsmaName
    - pTsma
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableTSMAInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1537
    functionDepth: 2
    functionLinenumber: 1537
    functionLinenumberEnd: 1559
    functionName: getTsmaFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - parserError
    - taosArrayGetP
    - getMetaDataFromHash
    - strlen
    - tNameExtractFullName
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTsmaFromCache(SParseMetaCache* pMetaCache, const SName*
      pTsmaName, STableTSMAInfo** pTsma)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1562,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1566,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1575,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1577,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1580,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1584,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1586,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1591,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1593,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1597,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1599,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1601,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1607,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1609,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1611,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1617,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1619,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1621,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1627,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1628,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1629,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1630,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1631,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1632,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1633,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1634,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 80
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - STableCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1636
    functionName: tableCfgDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - withExtSchema
    - memcpy
    - hasRefCol
    - taosMemoryFreeClear
    - taosArrayDestroy
    - taosArrayDup
    - taosMemoryCalloc
    linkageType: ''
    returnType: STableCfg
    signature: STableCfg * tableCfgDup(STableCfg* pCfg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1640,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1645,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1645,1
    - Dst: tableCfgDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pOutput
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableCfg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1638
    functionDepth: 2
    functionLinenumber: 1638
    functionLinenumberEnd: 1653
    functionName: getTableCfgFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - strlen
    - tNameExtractFullName
    - tableCfgDup
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTableCfgFromCache(SParseMetaCache* pMetaCache, const SName*
      pName, STableCfg** pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1657,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1667,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pOutput
    argTypes:
    - SParseMetaCache*
    - SName*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1655
    functionDepth: 2
    functionLinenumber: 1655
    functionLinenumberEnd: 1681
    functionName: getVStbRefDbsFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - strlen
    - tNameExtractFullName
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: int32_t getVStbRefDbsFromCache(SParseMetaCache* pMetaCache, const SName*
      pName, SArray** pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMetaCache
    argTypes:
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1686
    functionName: reserveDnodeRequiredInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveDnodeRequiredInCache(SParseMetaCache* pMetaCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1689,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pMetaCache
    - pDnodes
    argTypes:
    - SParseMetaCache*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1699
    functionName: getDnodeListFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayDup
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDnodeListFromCache(SParseMetaCache* pMetaCache, SArray**
      pDnodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1702,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1704,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1705,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pHash
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1701
    functionDepth: 1
    functionLinenumber: 1701
    functionLinenumberEnd: 1708
    functionName: destoryParseTablesMetaReqHash
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void destoryParseTablesMetaReqHash(SHashObj* pHash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1712,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1713,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1714,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1715,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1716,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1718,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1719,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1720,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1721,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1722,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1724,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1725,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1726,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1727,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1728,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1729,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1730,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1731,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - pMetaCache
    - request
    argTypes:
    - SParseMetaCache*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1710
    functionDepth: 2
    functionLinenumber: 1710
    functionLinenumberEnd: 1733
    functionName: destoryParseMetaCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - taosHashCleanup
    - destoryParseTablesMetaReqHash
    linkageType: ''
    returnType: void
    signature: void destoryParseMetaCache(SParseMetaCache* pMetaCache, bool request)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1748
    functionName: int64SafeSub
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t int64SafeSub(int64_t a, int64_t b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1751,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pType
    argTypes:
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1750
    functionDepth: 1
    functionLinenumber: 1750
    functionLinenumberEnd: 1755
    functionName: calcTypeMod
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 9
    functionsReached:
    - IS_DECIMAL_TYPE
    - decimalCalcTypeMod
    linkageType: ''
    returnType: STypeMod
    signature: STypeMod calcTypeMod(const SDataType* pType)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1761,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1758
    functionDepth: 1
    functionLinenumber: 1758
    functionLinenumberEnd: 1782
    functionName: validateExprSubQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 2
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateExprSubQuery(SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1785,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1788,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1789,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1794,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pNode
    - pType
    argTypes:
    - SNode*
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1801
    functionName: getExprSubQueryResType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - nodeType
    - memcpy
    - nodesListGetNode
    linkageType: ''
    returnType: void
    signature: void getExprSubQueryResType(SNode* pNode, SDataType* pType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1804,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1807,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - cols
    argTypes:
    - SNode*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1819
    functionName: getExprSubQueryResCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: void
    signature: void getExprSubQueryResCols(SNode* pNode, int32_t* cols)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1824,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1831,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - pNode
    - type
    argTypes:
    - SNode*
    - ESubQueryType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 1849
    functionName: updateExprSubQueryType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: 1
    functionsReached:
    - nodeType
    - parserDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateExprSubQueryType(SNode* pNode, ESubQueryType* type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:29,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:30,1
    - Dst: insCreateSName
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:31,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:32,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:33,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:34,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:38,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - pName
    - pTableName
    - acctId
    - dbName
    - msgBuf
    - msgBufLen
    argTypes:
    - SName*
    - char*
    - int32_t
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: qCreateSName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - uError
    - TSDB_CHECK_CONDITION
    - insCreateSName
    - TSDB_CHECK_CODE
    - tstrerror
    - NEXT_TOKEN
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qCreateSName(SName* pName, const char* pTableName, int32_t
      acctId, char* dbName, char* msgBuf,\n                     int32_t msgBufLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:50,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:56,1
    - Dst: insCreateSName
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:59,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:60,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:64,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - pName
    - pTableName
    - acctId
    - dbName
    - msgBuf
    - msgBufLen
    argTypes:
    - SName*
    - char*
    - int32_t
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: qCreateSName2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - uError
    - insCreateSName
    - TSDB_CHECK_CODE
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qCreateSName2(SName* pName, const char* pTableName, int32_t
      acctId, char* dbName, char* msgBuf,\n                      int32_t msgBufLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:72,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:73,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:77,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:78,1
    - Dst: insFindCol
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:81,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:82,1
    - Dst: insFindCol
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:84,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:87,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:88,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:98,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:98,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - cols
    - pBoundInfo
    - pSchema
    - isTag
    argTypes:
    - SArray*
    - SBoundColInfo*
    - SSchema*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 102
    functionName: smlBoundColumnData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - uError
    - TSDB_CHECK_CONDITION
    - taosArrayGet
    - insFindCol
    - uTrace
    - taosMemoryFree
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t smlBoundColumnData(SArray* cols, SBoundColInfo* pBoundInfo,
      SSchema* pSchema, bool isTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:109,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:110,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:111,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:111,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:118,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:118,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - mbs
    - mbsLen
    - result
    - resultLen
    - maxLen
    - charsetCxt
    argTypes:
    - char*
    - size_t
    - void**
    - int32_t*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: smlMbsToUcs4
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - uError
    - TSDB_CHECK_CONDITION
    - taosMemoryFree
    - TSDB_CHECK_NULL
    - tstrerror
    - taosMbsToUcs4
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t smlMbsToUcs4(const char* mbs, size_t mbsLen, void** result,
      int32_t* resultLen, int32_t maxLen,\n                            void* charsetCxt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:137,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:138,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:139,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:140,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:144,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:145,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:146,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:146,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:148,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:149,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:149,1
    - Dst: smlMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:156,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:158,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:160,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:162,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:162,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:164,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:168,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:168,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:170,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:171,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:173,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 7
    argNames:
    - cols
    - tags
    - pSchema
    - ppTag
    - tagName
    - msg
    - charsetCxt
    argTypes:
    - SArray*
    - SBoundColInfo*
    - SSchema*
    - STag**
    - SArray**
    - SMsgBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 178
    functionName: smlBuildTagRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - uError
    - TSDB_CHECK_CONDITION
    - memcpy
    - taosArrayGet
    - tstrerror
    - memcmp
    - TSDB_CHECK_CODE
    - taosArrayDestroy
    - tTagNew
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - taosArrayInit
    - smlMbsToUcs4
    - strlen
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: "int32_t smlBuildTagRow(SArray* cols, SBoundColInfo* tags, SSchema*
      pSchema, STag** ppTag, SArray** tagName,\n                              SMsgBuf*
      msg, void* charsetCxt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:184,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:186,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:187,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:188,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - query
    - pTableMeta
    - cxt
    argTypes:
    - SQuery*
    - STableMeta*
    - STableDataCxt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 195
    functionName: smlInitTableDataCtx
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - uError
    - initTableColSubmitData
    - TSDB_CHECK_CODE
    - insGetTableDataCxt
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t smlInitTableDataCtx(SQuery* query, STableMeta* pTableMeta,
      STableDataCxt** cxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:198,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:200,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pCols
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 208
    functionName: clearColValArraySml
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosMemoryFreeClear
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void clearColValArraySml(SArray* pCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:213,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:214,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:217,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:218,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:220,1
    - Dst: insCheckTableDataOrder
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:221,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:224,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pTableCxt
    argTypes:
    - STableDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 227
    functionName: smlBuildRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - insCheckTableDataOrder
    - tRowGetKey
    - uError
    - TSDB_CHECK_CODE
    - tRowBuild
    - taosArrayReserve
    - TSDB_CHECK_NULL
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t smlBuildRow(STableDataCxt* pTableCxt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:233,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:234,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:236,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:236,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:239,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:240,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:241,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:242,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:244,1
    - Dst: smlMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:248,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:250,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:256,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:257,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:259,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:261,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:267,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:267,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - pTableCxt
    - schema
    - data
    - index
    - charsetCxt
    argTypes:
    - STableDataCxt*
    - SSchema*
    - void*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 270
    functionName: smlBuildCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - uInfo
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - uError
    - memcmp
    - TSDB_CHECK_CODE
    - taosMemoryFree
    - TSDB_CHECK_NULL
    - smlMbsToUcs4
    - tstrerror
    - strlen
    - taosMemoryCalloc
    - valueSetDatum
    linkageType: ''
    returnType: int32_t
    signature: int32_t smlBuildCol(STableDataCxt* pTableCxt, SSchema* schema, void*
      data, int32_t index, void* charsetCxt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:279,1
    - Dst: insInitBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:284,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:284,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:285,1
    - Dst: smlBoundColumnData
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:287,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:288,1
    - Dst: smlBuildTagRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:291,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:292,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:294,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:295,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:297,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:299,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:301,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:302,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:304,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:307,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:309,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:319,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:321,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:323,1
    - Dst: smlBoundColumnData
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:324,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:325,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:327,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:328,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:330,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:331,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:334,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:335,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:340,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:341,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:342,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:342,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:347,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:350,1
    - Dst: smlMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:353,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:355,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:361,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:362,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:363,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:365,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:370,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:371,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:373,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:374,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:376,1
    - Dst: insCheckTableDataOrder
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:377,1
    - Dst: clearColValArraySml
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:378,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:383,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:383,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:384,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:384,1
    - Dst: qDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:386,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:387,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:388,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:389,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 78
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 391
    functionName: smlBindData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - tRowGetKey
    - TSDB_CHECK_CODE
    - TSDB_CHECK_NULL
    - taosArrayDestroy
    - taosArrayGetP
    - valueSetDatum
    - getNumOfTags
    - insCheckTableDataOrder
    - getTableTagSchema
    - memcpy
    - taosArrayGet
    - initTableColSubmitData
    - tRowBuild
    - insBuildCreateTbReq
    - taosArrayGetSize
    - tdDestroySVCreateTbReq
    - taosMemoryCalloc
    - TSDB_CHECK_CONDITION
    - insInitBoundColsInfo
    - smlBoundColumnData
    - getTableColumnSchema
    - tstrerror
    - qDestroyBoundColInfo
    - uError
    - convertTimePrecision
    - taosMemoryMalloc
    - smlBuildTagRow
    - taosHashGet
    - buildInvalidOperationMsg
    - taosArrayReserve
    - taosMemoryFree
    - insGetTableDataCxt
    - smlMbsToUcs4
    - clearColValArraySml
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t smlBindData(SQuery* query, bool dataFormat, SArray* tags,
      SArray* colsSchema, SArray* cols,\n                    STableMeta* pTableMeta,
      char* tableName, const char* sTableName, int32_t sTableNameLen, int32_t ttl,\n
      \                   char* msgBuf, int32_t msgBufLen, void* charsetCxt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:398,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:401,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:402,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:406,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:407,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:408,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:408,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:409,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:419,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:419,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:421,1
    - Dst: qDestroyQuery
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - query
    argTypes:
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 393
    functionDepth: 5
    functionLinenumber: 393
    functionLinenumberEnd: 424
    functionName: smlInitHandle
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - uError
    - qDestroyQuery
    - TSDB_CHECK_CODE
    - nodesMakeNode
    - taosHashInit
    - TSDB_CHECK_NULL
    - taosGetDefaultHashFunction
    - tstrerror
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t smlInitHandle(SQuery** query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insMergeTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:431,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:432,1
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:433,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:434,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:438,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - pVgHash
    argTypes:
    - SQuery*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 441
    functionName: smlBuildOutput
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - uError
    - TSDB_CHECK_CODE
    - tstrerror
    - insBuildVgDataBlocks
    - insMergeTableDataCxt
    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:448,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:449,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:453,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - pVgHash
    argTypes:
    - SQuery*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 456
    functionName: smlBuildOutputRaw
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: 0
    functionsReached:
    - insBuildVgDataBlocks
    - uError
    - TSDB_CHECK_CODE
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t smlBuildOutputRaw(SQuery* handle, SHashObj* pVgHash)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:37,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:45,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - pStr
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 56
    functionName: qIsInsertValuesSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 4
    functionsReached:
    - tStrGetToken
    linkageType: ''
    returnType: bool
    signature: bool qIsInsertValuesSql(const char* pStr, size_t length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:67,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:74,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:76,1
    - Dst: insCreateSName
      Src: /src/tdengine/source/libs/parser/src/parser.c:81,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 8
    argNames:
    - pStr
    - length
    - pTableName
    - acctId
    - dbName
    - msgBuf
    - msgBufLen
    - pCode
    argTypes:
    - char*
    - size_t
    - SName*
    - int32_t
    - char*
    - char*
    - int32_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 98
    functionName: qIsUpdateSetSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - tStrGetToken
    - generateSyntaxErrMsgExt
    - insCreateSName
    linkageType: ''
    returnType: bool
    signature: "bool qIsUpdateSetSql(const char* pStr, size_t length, SName* pTableName,
      int32_t acctId, const char* dbName,\n                     char* msgBuf, int32_t
      msgBufLen, int* pCode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:108,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pStr
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 126
    functionName: qIsSelectFromSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - tStrGetToken
    linkageType: ''
    returnType: bool
    signature: bool qIsSelectFromSql(const char* pStr, size_t length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parser.c:135,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parser.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - pTableMeta
    - colName
    - colNameLen
    - colId
    argTypes:
    - STableMeta*
    - char*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: isColumnPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool isColumnPrimaryKey(const STableMeta* pTableMeta, const char* colName,
      int32_t colNameLen, int32_t* colId)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parser.c:154,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parser.c:155,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:156,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:169,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:170,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:177,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:179,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:180,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parser.c:186,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:188,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:189,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:198,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:200,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:201,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:214,1
    - Dst: isColumnPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parser.c:220,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:221,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:222,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:231,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:240,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:241,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:248,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:253,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:254,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:260,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:274,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:291,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:304,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:311,1
    - Dst: isColumnPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parser.c:319,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:323,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parser.c:328,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:329,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parser.c:330,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:339,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parser.c:351,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 165
    argCount: 6
    argNames:
    - pSql
    - pNewSql
    - pTableMeta
    - predicateCols
    - msgBuf
    - msgBufLen
    argTypes:
    - char*
    - char**
    - STableMeta*
    - SSHashObj*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 363
    functionName: convertUpdateToInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - tStrGetToken
    - taosMemoryMalloc
    - memcpy
    - tSimpleHashPut
    - generateSyntaxErrMsgExt
    - snprintf
    - taosMemoryFree
    - isColumnPrimaryKey
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t convertUpdateToInsert(const char* pSql, char** pNewSql, STableMeta*
      pTableMeta, SSHashObj* predicateCols,\n                              char* msgBuf,
      int32_t msgBufLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:373,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pStr
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 390
    functionName: qIsCreateTbFromFileSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - tStrGetToken
    linkageType: ''
    returnType: bool
    signature: bool qIsCreateTbFromFileSql(const char* pStr, size_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:402,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:408,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:414,1
    - Dst: strnchr
      Src: /src/tdengine/source/libs/parser/src/parser.c:419,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:422,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:426,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pStr
    - length
    - pDbName
    argTypes:
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 430
    functionName: qParseDbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - tStrGetToken
    - taosMemoryMalloc
    - tstrncpy
    - strnchr
    linkageType: ''
    returnType: bool
    signature: bool qParseDbName(const char* pStr, size_t length, char** pDbName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: authenticate
      Src: /src/tdengine/source/libs/parser/src/parser.c:433,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parser.c:440,1
    - Dst: translate
      Src: /src/tdengine/source/libs/parser/src/parser.c:445,1
    - Dst: calculateConstant
      Src: /src/tdengine/source/libs/parser/src/parser.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 432
    functionDepth: 31
    functionLinenumber: 432
    functionLinenumberEnd: 451
    functionName: analyseSemantic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - calculateConstant
    - translate
    - authenticate
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: int32_t analyseSemantic(SParseContext* pCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/tdengine/source/libs/parser/src/parser.c:454,1
    - Dst: analyseSemantic
      Src: /src/tdengine/source/libs/parser/src/parser.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 32
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: parseSqlIntoAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - analyseSemantic
    - parse
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseSqlIntoAst(SParseContext* pCxt, SQuery** pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/tdengine/source/libs/parser/src/parser.c:462,1
    - Dst: collectMetaKey
      Src: /src/tdengine/source/libs/parser/src/parser.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery**
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 461
    functionDepth: 13
    functionLinenumber: 461
    functionLinenumberEnd: 467
    functionName: parseSqlSyntax
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - collectMetaKey
    - parse
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseSqlSyntax(SParseContext* pCxt, SQuery** pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parser.c:470,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parser.c:473,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parser.c:474,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:489,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:493,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:494,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:494,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:499,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:503,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/parser/src/parser.c:504,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:504,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:509,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parser.c:515,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:515,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:519,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parser.c:524,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 3
    argNames:
    - pVal
    - pParam
    - charsetCxt
    argTypes:
    - SValueNode*
    - TAOS_MULTI_BIND*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 533
    functionName: setValueByBindParam
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - taosMemoryFreeClear
    - memcpy
    - TAOS_STRNCPY
    - nodesSetValueNodeValue
    - varDataVal
    - taosMbsToUcs4
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t setValueByBindParam(SValueNode* pVal, TAOS_MULTI_BIND* pParam,
      void *charsetCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:536,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:536,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parser.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: rewriteQueryExprAliasImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - nodeType
    - snprintf
    - nodesIsExprNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteQueryExprAliasImpl(SNode* pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:544,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parser.c:546,1
    - Dst: rewriteQueryExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:550,1
    - Dst: rewriteQueryExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pRoot
    - pNo
    argTypes:
    - SNode*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 543
    functionDepth: 6
    functionLinenumber: 543
    functionLinenumberEnd: 557
    functionName: rewriteQueryExprAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 1
    functionsReached:
    - nodeType
    - rewriteQueryExprAlias
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: void
    signature: void rewriteQueryExprAlias(SNode* pRoot, int32_t* pNo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteQueryExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRoot
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 7
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: rewriteExprAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - rewriteQueryExprAlias
    linkageType: ''
    returnType: void
    signature: void rewriteExprAlias(SNode* pRoot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:566,1
    - Dst: parseInsertSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:567,1
    - Dst: parseSqlIntoAst
      Src: /src/tdengine/source/libs/parser/src/parser.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 564
    functionDepth: 33
    functionLinenumber: 564
    functionLinenumberEnd: 573
    functionName: qParseSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - qIsInsertValuesSql
    - parseInsertSql
    - parseSqlIntoAst
    linkageType: ''
    returnType: int32_t
    signature: int32_t qParseSql(SParseContext* pCxt, SQuery** pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseSqlSyntax
      Src: /src/tdengine/source/libs/parser/src/parser.c:577,1
    - Dst: buildCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parser.c:579,1
    - Dst: destoryParseMetaCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - struct SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 14
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: parseQuerySyntax
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - buildCatalogReq
    - parseSqlSyntax
    - destoryParseMetaCache
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseQuerySyntax(SParseContext* pCxt, SQuery** pQuery, struct
      SCatalogReq* pCatalogReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseQuerySyntax
      Src: /src/tdengine/source/libs/parser/src/parser.c:586,1
    - Dst: continueCreateTbFromFile
      Src: /src/tdengine/source/libs/parser/src/parser.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - struct SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 15
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: parseCreateTbFromFileSyntax
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - continueCreateTbFromFile
    - parseQuerySyntax
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseCreateTbFromFileSyntax(SParseContext* pCxt, SQuery** pQuery,
      struct SCatalogReq* pCatalogReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesAcquireAllocator
      Src: /src/tdengine/source/libs/parser/src/parser.c:592,1
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:594,1
    - Dst: parseInsertSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:595,1
    - Dst: qIsCreateTbFromFileSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:596,1
    - Dst: parseCreateTbFromFileSyntax
      Src: /src/tdengine/source/libs/parser/src/parser.c:597,1
    - Dst: parseQuerySyntax
      Src: /src/tdengine/source/libs/parser/src/parser.c:599,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/parser/src/parser.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - struct SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 591
    functionDepth: 20
    functionLinenumber: 591
    functionLinenumberEnd: 605
    functionName: qParseSqlSyntax
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 1
    functionsReached:
    - parseInsertSql
    - nodesAcquireAllocator
    - nodesReleaseAllocator
    - qIsCreateTbFromFileSql
    - parseQuerySyntax
    - qIsInsertValuesSql
    - parseCreateTbFromFileSyntax
    linkageType: ''
    returnType: int32_t
    signature: int32_t qParseSqlSyntax(SParseContext* pCxt, SQuery** pQuery, struct
      SCatalogReq* pCatalogReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesAcquireAllocator
      Src: /src/tdengine/source/libs/parser/src/parser.c:610,1
    - Dst: putMetaDataToCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:612,1
    - Dst: analyseSemantic
      Src: /src/tdengine/source/libs/parser/src/parser.c:615,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/parser/src/parser.c:617,1
    - Dst: destoryParseMetaCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - struct SCatalogReq*
    - struct SMetaData*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 607
    functionDepth: 32
    functionLinenumber: 607
    functionLinenumberEnd: 621
    functionName: qAnalyseSqlSemantic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - nodesAcquireAllocator
    - destoryParseMetaCache
    - putMetaDataToCache
    - nodesReleaseAllocator
    - analyseSemantic
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qAnalyseSqlSemantic(SParseContext* pCxt, const struct SCatalogReq*
      pCatalogReq,\n                            struct SMetaData* pMetaData, SQuery*
      pQuery)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInsertSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - struct SCatalogReq*
    - struct SMetaData*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 20
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: qContinueParseSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - parseInsertSql
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qContinueParseSql(SParseContext* pCxt, struct SCatalogReq*
      pCatalogReq, const struct SMetaData* pMetaData,\n                          SQuery*
      pQuery)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pBlock
    argTypes:
    - SParseContext*
    - SQuery*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 636
    functionName: qContinueParsePostQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t qContinueParsePostQuery(SParseContext* pCxt, SQuery* pQuery,
      SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 641
    functionName: destoryTablesReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void destoryTablesReq(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:647,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:648,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:649,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:651,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:652,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:654,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:656,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:657,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:658,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:660,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:661,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:663,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:665,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:666,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:667,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:669,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:670,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:671,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:672,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:673,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:674,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - pCatalogReq
    argTypes:
    - SCatalogReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 676
    functionName: destoryCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void destoryCatalogReq(SCatalogReq* pCatalogReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destoryCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parser.c:684,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:685,1
    - Dst: catalogFreeMetaData
      Src: /src/tdengine/source/libs/parser/src/parser.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 678
    functionDepth: 3
    functionLinenumber: 678
    functionLinenumberEnd: 687
    functionName: tfreeSParseQueryRes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - catalogFreeMetaData
    - taosMemoryFree
    - destoryCatalogReq
    linkageType: ''
    returnType: void
    signature: void tfreeSParseQueryRes(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:694,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:695,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:696,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 698
    functionName: qDestroyParseContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void qDestroyParseContext(SParseContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pQueryNode
    argTypes:
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 700
    functionDepth: 4
    functionLinenumber: 700
    functionLinenumberEnd: 700
    functionName: qDestroyQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 7
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void qDestroyQuery(SQuery* pQueryNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extractResultSchema
      Src: /src/tdengine/source/libs/parser/src/parser.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pRoot
    - numOfCols
    - pSchema
    argTypes:
    - SNode*
    - int32_t*
    - SSchema**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 704
    functionName: qExtractResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - extractResultSchema
    linkageType: ''
    returnType: int32_t
    signature: int32_t qExtractResultSchema(const SNode* pRoot, int32_t* numOfCols,
      SSchema** pSchema)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:707,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - uid
    argTypes:
    - SNode*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 716
    functionName: qSetSTableIdForRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: int32_t qSetSTableIdForRsma(SNode* pStmt, int64_t uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosInitKeywordsTable
      Src: /src/tdengine/source/libs/parser/src/parser.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 718
    functionName: qInitKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 4
    functionsReached:
    - taosInitKeywordsTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t qInitKeywordsTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCleanupKeywordsTable
      Src: /src/tdengine/source/libs/parser/src/parser.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 720
    functionName: qCleanupKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 1
    functionsReached:
    - taosCleanupKeywordsTable
    linkageType: ''
    returnType: void
    signature: void qCleanupKeywordsTable()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parser.c:726,1
    - Dst: setValueByBindParam
      Src: /src/tdengine/source/libs/parser/src/parser.c:728,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:728,1
    - Dst: setValueByBindParam
      Src: /src/tdengine/source/libs/parser/src/parser.c:734,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:734,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:738,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:740,1
    - Dst: rewriteExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:743,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - pQuery
    - pParams
    - colIdx
    - charsetCxt
    argTypes:
    - SQuery*
    - TAOS_MULTI_BIND*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 722
    functionDepth: 8
    functionLinenumber: 722
    functionLinenumberEnd: 746
    functionName: qStmtBindParams
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - rewriteExprAlias
    - setValueByBindParam
    - taosArrayGetSize
    - nodesDestroyNode
    - nodesCloneNode
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStmtBindParams(SQuery* pQuery, TAOS_MULTI_BIND* pParams, int32_t
      colIdx, void *charsetCxt)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parser.c:749,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parser.c:752,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parser.c:753,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:768,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:772,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:773,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:773,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:778,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:782,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/parser/src/parser.c:783,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:783,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parser.c:785,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parser.c:786,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parser.c:787,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parser.c:788,1
    - Dst: parseNatualDuration
      Src: /src/tdengine/source/libs/parser/src/parser.c:794,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parser.c:794,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:807,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parser.c:813,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:813,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:817,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/libs/parser/src/parser.c:834,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/parser/src/parser.c:838,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parser.c:844,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:854,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/libs/parser/src/parser.c:871,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:873,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:878,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:881,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parser.c:920,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 132
    argCount: 3
    argNames:
    - pVal
    - pParam
    - charsetCxt
    argTypes:
    - SValueNode*
    - TAOS_STMT2_BIND*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 748
    functionDepth: 7
    functionLinenumber: 748
    functionLinenumberEnd: 929
    functionName: setValueByBindParam2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - taosMemoryFreeClear
    - memcpy
    - TAOS_STRNCPY
    - IS_DURATION_VAL
    - DECIMAL64_GET_VALUE
    - nodesSetValueNodeValue
    - decimal128FromStr
    - parseNatualDuration
    - taosMemoryFree
    - taosStrndup
    - varDataVal
    - strlen
    - decimal64FromStr
    - taosMbsToUcs4
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t setValueByBindParam2(SValueNode* pVal, TAOS_STMT2_BIND* pParam,
      void* charsetCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parser.c:935,1
    - Dst: setValueByBindParam2
      Src: /src/tdengine/source/libs/parser/src/parser.c:937,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:937,1
    - Dst: setValueByBindParam2
      Src: /src/tdengine/source/libs/parser/src/parser.c:943,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:943,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:947,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:949,1
    - Dst: rewriteExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:952,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - pQuery
    - pParams
    - colIdx
    - charsetCxt
    argTypes:
    - SQuery*
    - TAOS_STMT2_BIND*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 931
    functionDepth: 8
    functionLinenumber: 931
    functionLinenumberEnd: 955
    functionName: qStmtBindParams2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - rewriteExprAlias
    - setValueByBindParam2
    - taosArrayGetSize
    - nodesDestroyNode
    - nodesCloneNode
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStmtBindParams2(SQuery* pQuery, TAOS_STMT2_BIND* pParams,
      int32_t colIdx, void* charsetCxt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKey
      Src: /src/tdengine/source/libs/parser/src/parser.c:971,1
    - Dst: buildCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parser.c:974,1
    - Dst: destoryParseMetaCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:978,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parser.c:979,1
    - Dst: putMetaDataToCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:983,1
    - Dst: destoryCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parser.c:986,1
    - Dst: destoryParseMetaCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:988,1
    - Dst: translate
      Src: /src/tdengine/source/libs/parser/src/parser.c:993,1
    - Dst: calculateConstant
      Src: /src/tdengine/source/libs/parser/src/parser.c:995,1
    - Dst: destoryParseMetaCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery*
    - SMetaData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 957
    functionDepth: 31
    functionLinenumber: 957
    functionLinenumberEnd: 999
    functionName: qStmtParseQuerySql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: 0
    functionsReached:
    - destoryParseMetaCache
    - calculateConstant
    - putMetaDataToCache
    - destoryCatalogReq
    - collectMetaKey
    - buildCatalogReq
    - memset
    - translate
    linkageType: ''
    returnType: int32_t
    signature: int32_t qStmtParseQuerySql(SParseContext* pCxt, SQuery* pQuery, SMetaData*
      pMetaData)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - secLvl
    - checkNWD
    argTypes:
    - SAuthCxt*
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: macCheckBySecLvl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t macCheckBySecLvl(SAuthCxt* pCxt, int8_t secLvl, bool checkNWD)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:90,1
    - Dst: getTargetMetaImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:92,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:95,1
    - Dst: macCheckBySecLvl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - dbName
    - tableName
    - checkNWD
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 75
    functionDepth: 12
    functionLinenumber: 75
    functionLinenumberEnd: 99
    functionName: macCheckTableAccess
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - toName
    - taosMemoryFree
    - macCheckBySecLvl
    - getTargetMetaImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t macCheckTableAccess(SAuthCxt* pCxt, const char* dbName, const
      char* tableName, bool checkNWD)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:105,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:108,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:114,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:114,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 8
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - privType
    - objType
    - isView
    - effective
    - pAuth
    argTypes:
    - SParseContext*
    - char*
    - char*
    - EPrivType
    - EPrivObjType
    - bool
    - bool
    - SUserAuthInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 127
    functionName: setUserAuthInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 1
    functionsReached:
    - strlen
    - snprintf
    - tNameSetDbName
    - toName
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setUserAuthInfo(SParseContext* pCxt, const char* pDbName,
      const char* pTabName, EPrivType privType,\n                               EPrivObjType
      objType, bool isView, bool effective, SUserAuthInfo* pAuth)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: privInfoGet
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:131,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:143,1
    - Dst: getDbCfgFromCache
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:144,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 4
    argNames:
    - pCxt
    - pAuthInfo
    - pAuthRes
    - recheck
    argTypes:
    - SAuthCxt*
    - SUserAuthInfo*
    - SUserAuthRes*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 190
    functionName: checkAuthByOwner
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - getDbCfgFromCache
    - tNameGetFullDbName
    - privInfoGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAuthByOwner(SAuthCxt* pCxt, SUserAuthInfo* pAuthInfo,
      SUserAuthRes* pAuthRes, bool *recheck)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: setUserAuthInfo
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:201,1
    - Dst: checkAuthByOwner
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:206,1
    - Dst: getUserAuthFromCache
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:216,1
    - Dst: getUserAuthFromCache
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:220,1
    - Dst: catalogChkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:231,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 9
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - privType
    - objType
    - pCond
    - pPrivCols
    - isView
    - effective
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - EPrivType
    - EPrivObjType
    - SNode**
    - SArray**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 192
    functionDepth: 10
    functionLinenumber: 192
    functionLinenumberEnd: 244
    functionName: checkAuthImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuthByOwner
    - setUserAuthInfo
    - taosArrayGetSize
    - getUserAuthFromCache
    - catalogChkAuth
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkAuthImpl(SAuthCxt* pCxt, const char* pDbName, const char*
      pTabName, EPrivType privType,\n                             EPrivObjType objType,
      SNode** pCond, SArray** pPrivCols, bool isView, bool effective)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - privType
    - objType
    - pCond
    - pPrivCols
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - EPrivType
    - EPrivObjType
    - SNode**
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 11
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: checkAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 1
    functionsReached:
    - checkAuthImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkAuth(SAuthCxt* pCxt, const char* pDbName, const char*
      pTabName, EPrivType privType,\n                         EPrivObjType objType,
      SNode** pCond, SArray** pPrivCols)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - type
    argTypes:
    - SAuthCxt*
    - SNode*
    - EPrivType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: authSysPrivileges
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authSysPrivileges(SAuthCxt* pCxt, SNode* pStmt, EPrivType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - privType
    - objType
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - EPrivType
    - EPrivObjType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: authObjPrivileges
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: "int32_t authObjPrivileges(SAuthCxt* pCxt, const char* pDbName, const
      char* pTabName, EPrivType privType,\n                                 EPrivObjType
      objType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAuthCxt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: checkDbUseAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkDbUseAuth(SAuthCxt* pCxt, const char* pDbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - privType
    - objType
    - pCond
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - EPrivType
    - EPrivObjType
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 11
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: checkEffectiveAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuthImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkEffectiveAuth(SAuthCxt* pCxt, const char* pDbName, const
      char* pTabName, EPrivType privType,\n                                  EPrivObjType
      objType, SNode** pCond)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - privType
    - objType
    - pCond
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - EPrivType
    - EPrivObjType
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 11
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: checkViewAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuthImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkViewAuth(SAuthCxt* pCxt, const char* pDbName, const char*
      pTabName, EPrivType privType,\n                             EPrivObjType objType,
      SNode** pCond)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - privType
    - objType
    - pCond
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - EPrivType
    - EPrivObjType
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 11
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: checkViewEffectiveAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkAuthImpl
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkViewEffectiveAuth(SAuthCxt* pCxt, const char* pDbName,
      const char* pTabName, EPrivType privType,\n                                      EPrivObjType
      objType, SNode** pCond)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: authSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authQuery
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes authSubquery(SAuthCxt* pCxt, SNode* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:299,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:306,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:308,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pWhere
    - pTagCond
    argTypes:
    - SNode**
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 297
    functionDepth: 6
    functionLinenumber: 297
    functionLinenumberEnd: 316
    functionName: mergeStableTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesListMakeStrictAppend
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t mergeStableTagCond(SNode** pWhere, SNode* pTagCond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:319,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:322,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: rewriteAuthTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - nodeType
    - tstrncpy
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteAuthTable(SNode* pNode, void* pContext)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:332,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:338,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:345,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:347,1
    - Dst: mergeStableTagCond
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pWhere
    - pTagCond
    - pTable
    argTypes:
    - SNode**
    - SNode*
    - STableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 330
    functionDepth: 7
    functionLinenumber: 330
    functionLinenumberEnd: 351
    functionName: rewriteAppendStableTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - nodesWalkExpr
    - nodeType
    - mergeStableTagCond
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteAppendStableTagCond(SNode** pWhere, SNode* pTagCond,
      STableNode* pTable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:359,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:365,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:365,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:377,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:378,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:386,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:387,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:399,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - pSelect
    - pTable
    - pPrivCols
    argTypes:
    - SSelectStmt*
    - STableNode*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 356
    functionDepth: 7
    functionLinenumber: 356
    functionLinenumberEnd: 401
    functionName: authSelectTblCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - nodesCollectColumns
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - PAR_ERR_JRET
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t authSelectTblCols(SSelectStmt* pSelect, STableNode* pTable,
      SArray* pPrivCols)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:377,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:378,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:386,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:387,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 397
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 269
    functionsReached:
    - TARRAY_GET_ELEM
    - strcmp
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pRetrievedCols)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:409,1
    - Dst: IS_INFORMATION_SCHEMA_DB
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:413,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:414,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:418,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:425,1
    - Dst: getTargetMetaImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:427,1
    - Dst: macCheckBySecLvl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:431,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:432,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:440,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:447,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:451,1
    - Dst: checkEffectiveAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:454,1
    - Dst: authSelectTblCols
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:459,1
    - Dst: rewriteAppendStableTagCond
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:463,1
    - Dst: checkViewAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:467,1
    - Dst: checkViewEffectiveAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:470,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:474,1
    - Dst: authSubquery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:475,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 404
    functionDepth: 12
    functionLinenumber: 404
    functionLinenumberEnd: 478
    functionName: authSelectImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkViewAuth
    - macCheckBySecLvl
    - rewriteAppendStableTagCond
    - IS_INFORMATION_SCHEMA_DB
    - checkViewEffectiveAuth
    - checkDbUseAuth
    - toName
    - checkEffectiveAuth
    - authSubquery
    - nodeType
    - taosMemoryFree
    - authSelectTblCols
    - checkAuth
    - strcmp
    - getTargetMetaImpl
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes authSelectImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - SAuthCxt*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 6
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: authSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: int32_t authSelect(SAuthCxt* pCxt, SSelectStmt* pSelect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:487,1
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSetOper
    argTypes:
    - SAuthCxt*
    - SSetOperator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: authSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t authSetOperator(SAuthCxt* pCxt, SSetOperator* pSetOper)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:498,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 502
    functionName: authDropUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authSysPrivileges
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropUser(SAuthCxt* pCxt, SDropUserStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:507,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:509,1
    - Dst: macCheckTableAccess
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:514,1
    - Dst: rewriteAppendStableTagCond
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - SAuthCxt*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 504
    functionDepth: 13
    functionLinenumber: 504
    functionLinenumberEnd: 521
    functionName: authDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - rewriteAppendStableTagCond
    - checkDbUseAuth
    - macCheckTableAccess
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDelete(SAuthCxt* pCxt, SDeleteStmt* pDelete)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:528,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:530,1
    - Dst: macCheckTableAccess
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:535,1
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - SAuthCxt*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 523
    functionDepth: 13
    functionLinenumber: 523
    functionLinenumberEnd: 543
    functionName: authInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authQuery
    - checkDbUseAuth
    - macCheckTableAccess
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authInsert(SAuthCxt* pCxt, SInsertStmt* pInsert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:548,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: authShowTables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authShowTables(SAuthCxt* pCxt, SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authShowTables
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 552
    functionName: authShowVtables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authShowTables
    linkageType: ''
    returnType: int32_t
    signature: int32_t authShowVtables(SAuthCxt* pCxt, SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:555,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: authShowUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authShowUsage(SAuthCxt* pCxt, SShowStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:563,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:563,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:566,1
    - Dst: macCheckTableAccess
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:566,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 559
    functionDepth: 13
    functionLinenumber: 559
    functionLinenumberEnd: 569
    functionName: authShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - PAR_ERR_RET
    - checkDbUseAuth
    - macCheckTableAccess
    linkageType: ''
    returnType: int32_t
    signature: int32_t authShowCreateTable(SAuthCxt* pCxt, SShowCreateTableStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:575,1
    - Dst: checkViewAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 571
    functionDepth: 12
    functionLinenumber: 571
    functionLinenumberEnd: 583
    functionName: authShowCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkViewAuth
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authShowCreateView(SAuthCxt* pCxt, SShowCreateViewStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:589,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:589,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:590,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 605
    functionName: authCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - PAR_ERR_RET
    - checkDbUseAuth
    - authSysPrivileges
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateTable(SAuthCxt* pCxt, SCreateTableStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:608,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:608,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:609,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:609,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:611,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:614,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateVTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 624
    functionName: authCreateVTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - PAR_ERR_RET
    - checkDbUseAuth
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateVTable(SAuthCxt* pCxt, SCreateVTableStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:629,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:629,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:630,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:630,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:639,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateVSubTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 646
    functionName: authCreateVSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - PAR_ERR_RET
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateVSubTable(SAuthCxt* pCxt, SCreateVSubTableStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:639,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 644
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 270
    functionsReached:
    - authObjPrivileges
    - PAR_ERR_RET
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pTmpList)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:651,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:654,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:661,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:662,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:665,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:665,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:669,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:669,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:670,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:671,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:673,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:673,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:674,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:679,1
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:679,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 682
    functionName: authCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - PAR_ERR_RET
    - checkDbUseAuth
    - authQuery
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateStream(SAuthCxt* pCxt, SCreateStreamStmt* pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:687,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:691,1
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:691,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:694,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:700,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateTopicStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 704
    functionName: authCreateTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - PAR_ERR_RET
    - checkDbUseAuth
    - authQuery
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateTopic(SAuthCxt* pCxt, SCreateTopicStmt* pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:709,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:712,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:714,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:720,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:722,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateMultiTablesStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 729
    functionName: authCreateMultiTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - FOREACH
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateMultiTable(SAuthCxt* pCxt, SCreateMultiTablesStmt*
      pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:737,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:739,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:744,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 752
    functionName: authDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - FOREACH
    - checkDbUseAuth
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropTable(SAuthCxt* pCxt, SDropTableStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:758,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:758,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:760,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropSuperTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 763
    functionName: authDropStable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - checkDbUseAuth
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropStable(SAuthCxt* pCxt, SDropSuperTableStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:769,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:769,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:771,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropVirtualTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 774
    functionName: authDropVtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - checkDbUseAuth
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropVtable(SAuthCxt* pCxt, SDropVirtualTableStmt* pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:785,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:787,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:787,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:788,1
    - Dst: macCheckTableAccess
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:792,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:806,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:810,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:810,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:811,1
    - Dst: macCheckTableAccess
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:815,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 776
    functionDepth: 13
    functionLinenumber: 776
    functionLinenumberEnd: 820
    functionName: authAlterTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - PAR_ERR_RET
    - checkDbUseAuth
    - macCheckTableAccess
    - FOREACH
    - authSysPrivileges
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authAlterTable(SAuthCxt* pCxt, SAlterTableStmt* pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:831,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:833,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:833,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:834,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:839,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:842,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:842,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:843,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:843,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:846,1
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:846,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:847,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 852
    functionName: authAlterVTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - PAR_RET
    - PAR_ERR_RET
    - checkDbUseAuth
    - FOREACH
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authAlterVTable(SAuthCxt* pCxt, SAlterTableStmt* pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:858,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:860,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:862,1
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:866,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 872
    functionName: authCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authQuery
    - checkDbUseAuth
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateView(SAuthCxt* pCxt, SCreateViewStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:878,1
    - Dst: checkViewAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropViewStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 874
    functionDepth: 12
    functionLinenumber: 874
    functionLinenumberEnd: 889
    functionName: authDropView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - checkViewAuth
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropView(SAuthCxt* pCxt, SDropViewStmt* pStmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:892,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:895,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 907
    functionName: authCreateIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateIndex(SAuthCxt* pCxt, SCreateIndexStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:910,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropIndexStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 916
    functionName: authDropIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropIndex(SAuthCxt* pCxt, SDropIndexStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authShowTables
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 918
    functionName: authShowIndexes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authShowTables
    linkageType: ''
    returnType: int32_t
    signature: int32_t authShowIndexes(SAuthCxt* pCxt, SShowStmt* pStmt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:921,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:923,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:929,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:936,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:941,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateTSMAStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 947
    functionName: authCreateTsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateTsma(SAuthCxt* pCxt, SCreateTSMAStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:950,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropTSMAStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 956
    functionName: authDropTsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropTsma(SAuthCxt* pCxt, SDropTSMAStmt* pStmt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:959,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:961,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:967,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 977
    functionName: authCreateRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateRsma(SAuthCxt* pCxt, SCreateRsmaStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:980,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 986
    functionName: authDropRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropRsma(SAuthCxt* pCxt, SDropRsmaStmt* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkDbUseAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:992,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowCreateRsmaStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1000
    functionName: authShowCreateRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - checkDbUseAuth
    linkageType: ''
    returnType: int32_t
    signature: int32_t authShowCreateRsma(SAuthCxt* pCxt, SShowCreateRsmaStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1003,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowCreateStreamStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1010
    functionName: authShowCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    linkageType: ''
    returnType: int32_t
    signature: int32_t authShowCreateStream(SAuthCxt* pCxt, SShowCreateStreamStmt*
      pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1013,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1020,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1025
    functionName: authCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authSysPrivileges
    linkageType: ''
    returnType: int32_t
    signature: int32_t authCreateDatabase(SAuthCxt* pCxt, SCreateDatabaseStmt* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1032,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SAlterDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1037
    functionName: authAlterDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    - authSysPrivileges
    linkageType: ''
    returnType: int32_t
    signature: int32_t authAlterDatabase(SAuthCxt* pCxt, SAlterDatabaseStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfgGetPrivType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1040,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SAlterLocalStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: authAlterLocal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - cfgGetPrivType
    - authSysPrivileges
    linkageType: ''
    returnType: int32_t
    signature: int32_t authAlterLocal(SAuthCxt* pCxt, SAlterLocalStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAlterUserPrivType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1045,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SAlterUserStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1047
    functionName: authAlterUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authSysPrivileges
    - getAlterUserPrivType
    linkageType: ''
    returnType: int32_t
    signature: int32_t authAlterUser(SAuthCxt* pCxt, SAlterUserStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropRoleStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1051
    functionName: authDropRole
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authSysPrivileges
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropRole(SAuthCxt* pCxt, SDropRoleStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1055
    functionName: authDropDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    linkageType: ''
    returnType: int32_t
    signature: int32_t authDropDatabase(SAuthCxt* pCxt, SDropDatabaseStmt* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SUseDatabaseStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1059
    functionName: authUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authObjPrivileges
    linkageType: ''
    returnType: int32_t
    signature: int32_t authUseDatabase(SAuthCxt* pCxt, SUseDatabaseStmt* pStmt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_PREFIX
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1064,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1065,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1066,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1068,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1069,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1071,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1072,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1080,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SGrantStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1081
    functionName: authGrant
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authSysPrivileges
    - IS_SYS_PREFIX
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t authGrant(SAuthCxt* pCxt, SGrantStmt* pStmt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_PREFIX
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1086,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1087,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1088,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1090,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1091,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1093,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1094,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SRevokeStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1103
    functionName: authRevoke
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 0
    functionsReached:
    - authSysPrivileges
    - IS_SYS_PREFIX
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t authRevoke(SAuthCxt* pCxt, SRevokeStmt* pStmt)
  - BBCount: 127
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1108,1
    - Dst: authSetOperator
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1110,1
    - Dst: authSelect
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1112,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1114,1
    - Dst: authDropRole
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1116,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1118,1
    - Dst: authAlterUser
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1120,1
    - Dst: authDropUser
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1122,1
    - Dst: authDelete
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1124,1
    - Dst: authInsert
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1126,1
    - Dst: authCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1128,1
    - Dst: authCreateVTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1130,1
    - Dst: authCreateVSubTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1132,1
    - Dst: authCreateMultiTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1134,1
    - Dst: authCreateStream
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1136,1
    - Dst: authCreateTopic
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1138,1
    - Dst: authDropTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1140,1
    - Dst: authDropStable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1142,1
    - Dst: authDropVtable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1144,1
    - Dst: authAlterTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1147,1
    - Dst: authAlterVTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1149,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1164,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1166,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1169,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1171,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1175,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1185,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1196,1
    - Dst: authShowTables
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1199,1
    - Dst: authShowVtables
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1201,1
    - Dst: authShowCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1205,1
    - Dst: authShowCreateView
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1207,1
    - Dst: authCreateView
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1209,1
    - Dst: authDropView
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1211,1
    - Dst: authCreateIndex
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1213,1
    - Dst: authDropIndex
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1215,1
    - Dst: authShowIndexes
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1217,1
    - Dst: authCreateTsma
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1219,1
    - Dst: authDropTsma
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1221,1
    - Dst: authCreateRsma
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1223,1
    - Dst: authDropRsma
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1225,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1227,1
    - Dst: authShowCreateRsma
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1230,1
    - Dst: authShowCreateStream
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1232,1
    - Dst: authCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1234,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1236,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1239,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1241,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1243,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1245,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1247,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1249,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1251,1
    - Dst: authGrant
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1253,1
    - Dst: authRevoke
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1255,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1262,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1269,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1272,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1274,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1276,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1278,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1280,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1282,1
    - Dst: authAlterDatabase
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1284,1
    - Dst: authAlterLocal
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1286,1
    - Dst: authDropDatabase
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1288,1
    - Dst: authUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1290,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1292,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1294,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1296,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1298,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1300,1
    - Dst: authObjPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1302,1
    - Dst: authShowUsage
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1304,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1306,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1308,1
    - Dst: authSysPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 211
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1105
    functionDepth: 14
    functionLinenumber: 1105
    functionLinenumberEnd: 1324
    functionName: authQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 6
    functionsReached:
    - authObjPrivileges
    - authUseDatabase
    - authDropView
    - authCreateVTable
    - nodeType
    - authAlterLocal
    - authDropVtable
    - authDropStable
    - authShowVtables
    - authCreateView
    - authShowCreateView
    - authShowCreateTable
    - authCreateMultiTable
    - authDropTsma
    - authAlterUser
    - authCreateStream
    - authShowIndexes
    - authDelete
    - authCreateVSubTable
    - authShowTables
    - authInsert
    - authDropUser
    - authAlterTable
    - authAlterVTable
    - authShowCreateStream
    - authGrant
    - authSysPrivileges
    - authRevoke
    - authAlterDatabase
    - authCreateIndex
    - authSetOperator
    - authDropDatabase
    - authShowUsage
    - authDropRole
    - authSelect
    - authCreateTopic
    - authDropIndex
    - authCreateRsma
    - authCreateTsma
    - authDropTable
    - authShowCreateRsma
    - authCreateDatabase
    - authCreateTable
    - authDropRsma
    linkageType: ''
    returnType: int32_t
    signature: int32_t authQuery(SAuthCxt* pCxt, SNode* pStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1336,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1340,1
    - Dst: IS_INFORMATION_SCHEMA_DB
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1340,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1341,1
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:1352,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1326
    functionDepth: 15
    functionLinenumber: 1326
    functionLinenumberEnd: 1353
    functionName: authenticate
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: 1
    functionsReached:
    - nodeType
    - IS_INFORMATION_SCHEMA_DB
    - authQuery
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t authenticate(SParseContext* pParseCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - pToken
    - target
    argTypes:
    - SToken*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: tableNameGetPosition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * tableNameGetPosition(SToken* pToken, char target)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tableNameGetPosition
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:69,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:75,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:78,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:82,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:83,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:87,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:90,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:93,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:95,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:101,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:104,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:108,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:109,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:113,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:116,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:119,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:121,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:127,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:131,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:135,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:136,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:139,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:142,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:145,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:146,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:149,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:149,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:151,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:155,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:157,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:161,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:162,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 5
    argNames:
    - pName
    - pTableName
    - acctId
    - dbName
    - pMsgBuf
    argTypes:
    - SName*
    - SToken*
    - int32_t
    - char*
    - SMsgBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 166
    functionName: insCreateSName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 5
    functionsReached:
    - tNameFromString
    - generateSyntaxErrMsg
    - tableNameGetPosition
    - generateSyntaxErrMsgExt
    - strdequote
    - tNameSetDbName
    - tstrncpy
    - strchr
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t insCreateSName(SName* pName, SToken* pTableName, int32_t acctId,
      const char* dbName, SMsgBuf* pMsgBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pColname
    - start
    - end
    - pSchema
    argTypes:
    - SToken*
    - int16_t
    - int16_t
    - SSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: insFindCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 2
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int16_t
    signature: int16_t insFindCol(SToken* pColname, int16_t start, int16_t end, SSchema*
      pSchema)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:183,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:188,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 8
    argNames:
    - pTbReq
    - tname
    - pTag
    - suid
    - sname
    - tagName
    - tagNum
    - ttl
    argTypes:
    - SVCreateTbReq*
    - char*
    - STag*
    - int64_t
    - char*
    - SArray*
    - uint8_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 197
    functionName: insBuildCreateTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 3
    functionsReached:
    - taosArrayDup
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t insBuildCreateTbReq(SVCreateTbReq* pTbReq, const char* tname,
      STag* pTag, int64_t suid, const char* sname,\n                            SArray*
      tagName, uint8_t tagNum, int32_t ttl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ncols
    - pBoundCols
    argTypes:
    - int32_t
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: initBoundCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initBoundCols(int32_t ncols, int16_t* pBoundCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:206,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:209,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pTableMeta
    - pValues
    argTypes:
    - STableMeta*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: initColValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - COL_VAL_NONE
    - getTableColumnSchema
    linkageType: ''
    returnType: int32_t
    signature: int32_t initColValues(STableMeta* pTableMeta, SArray* pValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initColValues
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTableMeta
    - aColValues
    argTypes:
    - STableMeta*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: insInitColValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 1
    functionsReached:
    - initColValues
    linkageType: ''
    returnType: int32_t
    signature: int32_t insInitColValues(STableMeta* pTableMeta, SArray* aColValues)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - numOfBound
    - pInfo
    argTypes:
    - int32_t
    - SBoundColInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: insInitBoundColsInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 3
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t insInitBoundColsInfo(int32_t numOfBound, SBoundColInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SBoundColInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: insResetBoundColsInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void insResetBoundColsInfo(SBoundColInfo* pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:250,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pTableCxt
    - rowKey
    argTypes:
    - STableDataCxt*
    - SRowKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: insCheckTableDataOrder
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 4
    functionsReached:
    - tRowKeyCompare
    linkageType: ''
    returnType: void
    signature: void insCheckTableDataOrder(STableDataCxt* pTableCxt, SRowKey* rowKey)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:265,1
    - Dst: tableMetaDup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:277,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:283,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:283,1
    - Dst: schemaHasBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:288,1
    - Dst: insInitBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:291,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:294,1
    - Dst: initColValues
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:298,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:302,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:315,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:320,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:329,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:332,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 5
    argNames:
    - pTableMeta
    - pCreateTbReq
    - pOutput
    - colMode
    - ignoreColVals
    argTypes:
    - STableMeta*
    - SVCreateTbReq**
    - STableDataCxt**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 336
    functionName: createTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - schemaHasBlob
    - parserDebug
    - tBuildTSchema
    - tableMetaDup
    - initColValues
    - insInitBoundColsInfo
    - taosArrayInit
    - getTableColumnSchema
    - insDestroyTableDataCxt
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createTableDataCxt(STableMeta* pTableMeta, SVCreateTbReq**
      pCreateTbReq, STableDataCxt** pOutput,\n                                  bool
      colMode, bool ignoreColVals)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:340,1
    - Dst: cloneSVreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:351,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:358,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:361,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:364,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:367,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:371,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:372,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:377,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:381,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - pSrc
    - pDst
    - hasBlob
    argTypes:
    - SSubmitTbData*
    - SSubmitTbData**
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 387
    functionName: rebuildTableData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - taosArrayInit
    - taosArrayDestroy
    - taosMemoryCalloc
    - cloneSVreateTbReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t rebuildTableData(SSubmitTbData* pSrc, SSubmitTbData** pDst,
      int8_t hasBlob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:390,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pValues
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: resetColValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void resetColValues(SArray* pValues)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:399,1
    - Dst: resetColValues
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:403,1
    - Dst: createTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:407,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:410,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 8
    argNames:
    - pHash
    - id
    - idLen
    - pTableMeta
    - pCreateTbReq
    - pTableCxt
    - colMode
    - ignoreColVals
    argTypes:
    - SHashObj*
    - void*
    - int32_t
    - STableMeta*
    - SVCreateTbReq**
    - STableDataCxt**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 417
    functionName: insGetTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 5
    functionsReached:
    - taosHashGet
    - resetColValues
    - createTableDataCxt
    - insDestroyTableDataCxt
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t insGetTableDataCxt(SHashObj* pHash, void* id, int32_t idLen,
      STableMeta* pTableMeta,\n                           SVCreateTbReq** pCreateTbReq,
      STableDataCxt** pTableCxt, bool colMode, bool ignoreColVals)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:424,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 427
    functionName: destroyColVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void destroyColVal(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:434,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:435,1
    - Dst: qDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:436,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:437,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:440,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pTableCxt
    argTypes:
    - STableDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 443
    functionName: insDestroyTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 2
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - tDestroySubmitTbData
    - tDestroyTSchema
    - taosMemoryFree
    - qDestroyBoundColInfo
    linkageType: ''
    returnType: void
    signature: void insDestroyTableDataCxt(STableDataCxt* pTableCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: destroyColValSml
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destroyColValSml(void* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:458,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:459,1
    - Dst: qDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:460,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:461,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:463,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:464,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pTableCxt
    argTypes:
    - STableDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 453
    functionDepth: 3
    functionLinenumber: 453
    functionLinenumberEnd: 467
    functionName: insDestroyTableDataCxtSml
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - tDestroySubmitTbData
    - tDestroyTSchema
    - taosMemoryFree
    - qDestroyBoundColInfo
    linkageType: ''
    returnType: void
    signature: void insDestroyTableDataCxtSml(STableDataCxt* pTableCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:474,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:475,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pVgCxt
    argTypes:
    - SVgroupDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 478
    functionName: insDestroyVgroupDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - tDestroySubmitReq
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void insDestroyVgroupDataCxt(SVgroupDataCxt* pVgCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:485,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:487,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:488,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pVgCxtList
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 492
    functionName: insDestroyVgroupDataCxtList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - insDestroyVgroupDataCxt
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void insDestroyVgroupDataCxtList(SArray* pVgCxtList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:499,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:501,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:503,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pVgCxtHash
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 507
    functionName: insDestroyVgroupDataCxtHashMap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCleanup
    - insDestroyVgroupDataCxt
    linkageType: ''
    returnType: void
    signature: void insDestroyVgroupDataCxtHashMap(SHashObj* pVgCxtHash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:514,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:516,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:518,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pTableCxtHash
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 522
    functionName: insDestroyTableDataCxtHashMap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosHashCleanup
    - insDestroyTableDataCxt
    linkageType: ''
    returnType: void
    signature: void insDestroyTableDataCxtHashMap(SHashObj* pTableCxtHash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:529,1
    - Dst: insDestroyTableDataCxtSml
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:531,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:533,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pTableCxtHash
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 524
    functionDepth: 4
    functionLinenumber: 524
    functionLinenumberEnd: 537
    functionName: insDestroyTableDataCxtHashMapSml
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - insDestroyTableDataCxtSml
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void insDestroyTableDataCxtHashMapSml(SHashObj* pTableCxtHash)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:542,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:547,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:557,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:562,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:563,1
    - Dst: rebuildTableData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:570,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:572,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:574,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - pTableCxt
    - pVgCxt
    - isRebuild
    - clear
    argTypes:
    - STableDataCxt*
    - SVgroupDataCxt*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 577
    functionName: fillVgroupDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - rebuildTableData
    - parserDebug
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillVgroupDataCxt(STableDataCxt* pTableCxt, SVgroupDataCxt*
      pVgCxt, bool isRebuild, bool clear)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:580,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:584,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:586,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:591,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:593,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:595,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - vgId
    - pVgroupHash
    - pVgroupList
    - pOutput
    argTypes:
    - int32_t
    - SHashObj*
    - SArray*
    - SVgroupDataCxt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 604
    functionName: createVgroupDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosHashPut
    - taosMemoryCalloc
    - insDestroyVgroupDataCxt
    linkageType: ''
    returnType: int32_t
    signature: int32_t createVgroupDataCxt(int32_t vgId, SHashObj* pVgroupHash, SArray*
      pVgroupList, SVgroupDataCxt** pOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 616
    functionName: insColDataComp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int insColDataComp(const void* lp, const void* rp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:620,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:630,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - pAllVgHash
    - pBuildInfo
    - vgId
    - pTbData
    - sname
    argTypes:
    - SHashObj*
    - SStbInterlaceInfo*
    - int32_t*
    - STableColsData*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 618
    functionDepth: 10
    functionLinenumber: 618
    functionLinenumberEnd: 641
    functionName: insTryAddTableVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - catalogGetTableHashVgroup
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t insTryAddTableVgroupInfo(SHashObj* pAllVgHash, SStbInterlaceInfo*
      pBuildInfo, int32_t* vgId,\n                                 STableColsData*
      pTbData, SName* sname)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:649,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:649,1
    - Dst: qCreateSName2
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:654,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:664,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:667,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:672,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:681,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:681,1
    - Dst: insTryAddTableVgroupInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:683,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 6
    argNames:
    - pAllVgHash
    - pBuildInfo
    - pTbData
    - uid
    - vgId
    - suid
    argTypes:
    - SHashObj*
    - SStbInterlaceInfo*
    - STableColsData*
    - uint64_t*
    - int32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 643
    functionDepth: 11
    functionLinenumber: 643
    functionLinenumberEnd: 694
    functionName: insGetStmtTableVgUid
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - parserError
    - qCreateSName2
    - tSimpleHashPut
    - parserWarn
    - insTryAddTableVgroupInfo
    - catalogGetTableMeta
    - taosMemoryFree
    - strlen
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t insGetStmtTableVgUid(SHashObj* pAllVgHash, SStbInterlaceInfo*
      pBuildInfo, STableColsData* pTbData,\n                             uint64_t*
      uid, int32_t* vgId, uint64_t* suid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pQuery
    - pAllVgHash
    - pVgDataBlocks
    argTypes:
    - SQuery*
    - SHashObj*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 705
    functionName: qBuildStmtFinOutput1
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - insBuildVgDataBlocks
    linkageType: ''
    returnType: int32_t
    signature: int32_t qBuildStmtFinOutput1(SQuery* pQuery, SHashObj* pAllVgHash,
      SArray* pVgDataBlocks)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:710,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:715,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:725,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:725,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:728,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:730,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:732,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:739,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:740,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:742,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:743,1
    - Dst: tRowSortWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:745,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:746,1
    - Dst: tRowMergeWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:748,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:749,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:752,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:754,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:756,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:757,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:767,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:772,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:773,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:779,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:779,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:785,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 4
    argNames:
    - pTbCtx
    - pVgCxt
    - pTableNameHash
    - tbname
    argTypes:
    - STableDataCxt*
    - SVgroupDataCxt*
    - SSHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 788
    functionName: checkAndMergeSVgroupDataCxtByTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tRowMerge
    - TAOS_CHECK_RETURN
    - tRowSortWithBlob
    - parserDebug
    - tSimpleHashPut
    - tRowSort
    - tdDestroySVCreateTbReq
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - tRowMergeWithBlob
    - strlen
    - taosArrayDestroy
    - taosArrayGetP
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t checkAndMergeSVgroupDataCxtByTbname(STableDataCxt* pTbCtx,
      SVgroupDataCxt* pVgCxt, SSHashObj* pTableNameHash,\n                                            char*
      tbname)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: insGetStmtTableVgUid
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:799,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:809,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:812,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:820,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:822,1
    - Dst: createVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:824,1
    - Dst: fillVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:833,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:836,1
    - Dst: qBuildStmtFinOutput1
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:837,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:839,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - pAllVgHash
    - pTbData
    - pTbCtx
    - pBuildInfo
    argTypes:
    - SHashObj*
    - STableColsData*
    - STableDataCxt*
    - SStbInterlaceInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 790
    functionDepth: 12
    functionLinenumber: 790
    functionLinenumberEnd: 844
    functionName: insAppendStmtTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - qBuildStmtFinOutput1
    - taosHashGet
    - tDestroySubmitReq
    - tRowSort
    - fillVgroupDataCxt
    - taosArrayGetSize
    - createVgroupDataCxt
    - insGetStmtTableVgUid
    - tRowMerge
    linkageType: ''
    returnType: int32_t
    signature: "int32_t insAppendStmtTableDataCxt(SHashObj* pAllVgHash, STableColsData*
      pTbData, STableDataCxt* pTbCtx,\n                                  SStbInterlaceInfo*
      pBuildInfo)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: insGetStmtTableVgUid
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:856,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:881,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:882,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:889,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:892,1
    - Dst: tRowSortWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:896,1
    - Dst: tRowMergeWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:899,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:908,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:910,1
    - Dst: createVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:912,1
    - Dst: checkAndMergeSVgroupDataCxtByTbname
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:921,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:924,1
    - Dst: qBuildStmtFinOutput1
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:925,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:927,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 5
    argNames:
    - pAllVgHash
    - pTbData
    - pTbCtx
    - pBuildInfo
    - ctbReq
    argTypes:
    - SHashObj*
    - STableColsData*
    - STableDataCxt*
    - SStbInterlaceInfo*
    - SVCreateTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 846
    functionDepth: 12
    functionLinenumber: 846
    functionLinenumberEnd: 932
    functionName: insAppendStmt2TableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - createVgroupDataCxt
    - qBuildStmtFinOutput1
    - taosHashGet
    - tDestroySubmitReq
    - tRowSort
    - checkAndMergeSVgroupDataCxtByTbname
    - taosMemoryFree
    - tRowMergeWithBlob
    - taosArrayGetSize
    - tdDestroySVCreateTbReq
    - insGetStmtTableVgUid
    - tRowMerge
    - tRowSortWithBlob
    linkageType: ''
    returnType: int32_t
    signature: "int32_t insAppendStmt2TableDataCxt(SHashObj* pAllVgHash, STableColsData*
      pTbData, STableDataCxt* pTbCtx,\n                                   SStbInterlaceInfo*
      pBuildInfo, SVCreateTbReq* ctbReq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCol
    argTypes:
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 997
    functionName: colDataHasBlob
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    linkageType: ''
    returnType: int8_t
    signature: int8_t colDataHasBlob(SColData* pCol)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:999,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:999,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1000,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1002,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1003,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1010,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1019,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1021,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1028,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1030,1
    - Dst: tColDataSortMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1031,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1033,1
    - Dst: tColDataSortMergeWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1034,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1046,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1049,1
    - Dst: tRowSortWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1053,1
    - Dst: tRowMergeWithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1056,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1064,1
    - Dst: createVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1066,1
    - Dst: fillVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1071,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1075,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1079,1
    - Dst: insDestroyVgroupDataCxtList
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1083,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 3
    argNames:
    - pTableHash
    - pVgDataBlocks
    - isRebuild
    argTypes:
    - SHashObj*
    - SArray**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 998
    functionDepth: 4
    functionLinenumber: 998
    functionLinenumberEnd: 1087
    functionName: insMergeTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 2
    functionsReached:
    - taosArraySort
    - tRowMergeWithBlob
    - taosArrayDestroy
    - insDestroyVgroupDataCxtList
    - taosArrayGet
    - tRowSort
    - taosHashInit
    - fillVgroupDataCxt
    - taosGetDefaultHashFunction
    - tColDataSortMergeWithBlob
    - tColDataSortMerge
    - taosHashIterate
    - taosHashGet
    - IS_STR_DATA_BLOB
    - taosHashCleanup
    - taosArrayInit
    - createVgroupDataCxt
    - tRowMerge
    - tRowSortWithBlob
    linkageType: ''
    returnType: int32_t
    signature: int32_t insMergeTableDataCxt(SHashObj* pTableHash, SArray** pVgDataBlocks,
      bool isRebuild)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1093,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1097,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1101,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1102,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1103,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1104,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1104,1
    - Dst: tEncodeSubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1105,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1106,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - vgId
    - pReq
    - pData
    - pLen
    argTypes:
    - int32_t
    - SSubmitReq2*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1116
    functionName: buildSubmitReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - htonl
    - htobe64
    - taosMemoryMalloc
    - tEncodeSubmitReq
    - tEncodeSize
    - tEncoderClear
    - taosMemoryFree
    - POINTER_SHIFT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildSubmitReq(int32_t vgId, SSubmitReq2* pReq, void** pData,
      uint32_t* pLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1121,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1123
    functionName: destroyVgDataBlocks
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void destroyVgDataBlocks(void* p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1132,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1133,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1134,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1136,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1139,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1141,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1146,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSubmitReq2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1153
    functionName: insResetBlob
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - uTrace
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t insResetBlob(SSubmitReq2* p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1155,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1156,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1163,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1164,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1167,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1173,1
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1174,1
    - Dst: insResetBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1177,1
    - Dst: buildSubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1181,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1184,1
    - Dst: destroyVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1187,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1201,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - pVgroupsHashObj
    - pVgDataCxtList
    - pVgDataBlocks
    - append
    argTypes:
    - SHashObj*
    - SArray*
    - SArray**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1205
    functionName: insBuildVgDataBlocks
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 4
    functionsReached:
    - taosArrayPush
    - destroyVgDataBlocks
    - buildSubmitReq
    - taosArrayDestroyP
    - taosHashGetDup
    - taosArrayGetSize
    - taosArrayInit
    - taosMemoryCalloc
    - taosArrayGetP
    - insResetBlob
    linkageType: ''
    returnType: int32_t
    signature: int32_t insBuildVgDataBlocks(SHashObj* pVgroupsHashObj, SArray* pVgDataCxtList,
      SArray** pVgDataBlocks, bool append)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pSchema
    - fields
    - numFields
    argTypes:
    - SSchema*
    - TAOS_FIELD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1215
    functionName: findFileds
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool findFileds(SSchema* pSchema, TAOS_FIELD* fields, int numFields)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1220,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1224,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1226,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1231,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1233,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1236,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1239,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1247,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1252,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1259,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1261,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1263,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1270,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1276,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1280,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1287,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1289,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1295,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1299,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 5
    argNames:
    - pColSchema
    - pColExtSchema
    - fields
    - errstr
    - errstrLen
    argTypes:
    - SSchema*
    - SSchemaExt*
    - int8_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1304
    functionName: checkSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - uError
    - IS_STR_DATA_BLOB
    - extractDecimalTypeInfoFromBytes
    - snprintf
    - IS_VAR_DATA_TYPE
    - decimalFromTypeMod
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkSchema(SSchema* pColSchema, SSchemaExt* pColExtSchema,
      int8_t* fields, char* errstr, int32_t errstrLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1341
    functionName: PRCESS_DATA
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRCESS_DATA(i, j)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1348,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1352,1
    - Dst: cloneSVreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1355,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1357,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1363,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1366,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1367,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1372,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1374,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1380,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1387,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1389,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1412,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1423,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1424,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1428,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1435,1
    - Dst: PRCESS_DATA
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1439,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1452,1
    - Dst: PRCESS_DATA
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1453,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1461,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1469,1
    - Dst: tColDataAddValueByDataBlock
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1470,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 101
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1342
    functionDepth: 4
    functionLinenumber: 1342
    functionLinenumberEnd: 1481
    functionName: rawBlockBindData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - uError
    - getTableColumnSchema
    - taosArrayGet
    - tColDataAddValueByDataBlock
    - initTableColSubmitData
    - getTableColumnExtSchema
    - taosHashGet
    - TMIN
    - PRCESS_DATA
    - tBlobSetCreate
    - snprintf
    - taosMemoryFree
    - insGetTableDataCxt
    - tdDestroySVCreateTbReq
    - strcmp
    - cloneSVreateTbReq
    linkageType: ''
    returnType: int
    signature: "int rawBlockBindData(SQuery* query, STableMeta* pTableMeta, void*
      data, SVCreateTbReq* pCreateTb, void* tFields,\n                     int numFields,
      bool needChangeLength, char* errstr, int32_t errstrLen, bool raw)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: transformRawSSubmitTbData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1484,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1489,1
    - Dst: createVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1491,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1499,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1507,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - pVgroupHash
    - pVgroupList
    - pTableMeta
    - data
    argTypes:
    - SHashObj*
    - SArray*
    - STableMeta*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1514
    functionName: rawBlockBindRawData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - transformRawSSubmitTbData
    - uTrace
    - taosHashGet
    - taosArrayInit
    - createVgroupDataCxt
    linkageType: ''
    returnType: int
    signature: int rawBlockBindRawData(SHashObj* pVgroupHash, SArray* pVgroupList,
      STableMeta* pTableMeta, void* data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:36,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:39,1
    - Dst: cloneSVreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:50,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:52,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:55,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:58,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:62,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:65,1
    - Dst: tColDataDeepClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:66,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:68,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - pDataBlock
    - pData
    argTypes:
    - STableDataCxt*
    - SSubmitTbData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 78
    functionName: qCloneCurrentTbData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - qError
    - tColDataDeepClear
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDup
    - taosMemoryCalloc
    - cloneSVreateTbReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t qCloneCurrentTbData(STableDataCxt* pDataBlock, SSubmitTbData**
      pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insAppendStmtTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pQuery
    - pAllVgHash
    - pTbData
    - pTbCtx
    - pBuildInfo
    argTypes:
    - SQuery*
    - SHashObj*
    - STableColsData*
    - STableDataCxt*
    - SStbInterlaceInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 13
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: qAppendStmtTableOutput
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - insAppendStmtTableDataCxt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qAppendStmtTableOutput(SQuery* pQuery, SHashObj* pAllVgHash,
      STableColsData* pTbData, STableDataCxt* pTbCtx,\n                               SStbInterlaceInfo*
      pBuildInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insAppendStmt2TableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pQuery
    - pAllVgHash
    - pTbData
    - pTbCtx
    - pBuildInfo
    - ctbReq
    argTypes:
    - SQuery*
    - SHashObj*
    - STableColsData*
    - STableDataCxt*
    - SStbInterlaceInfo*
    - SVCreateTbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 13
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: qAppendStmt2TableOutput
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - insAppendStmt2TableDataCxt
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qAppendStmt2TableOutput(SQuery* pQuery, SHashObj* pAllVgHash,
      STableColsData* pTbData, STableDataCxt* pTbCtx,\n                                SStbInterlaceInfo*
      pBuildInfo, SVCreateTbReq* ctbReq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:97,1
    - Dst: SVnodeModifyOpStmt*::freeArrayFunc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pQuery
    - pAllVgHash
    - pVgDataBlocks
    argTypes:
    - SQuery*
    - SHashObj*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: qBuildStmtFinOutput
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - insBuildVgDataBlocks
    - SVnodeModifyOpStmt*::freeArrayFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qBuildStmtFinOutput(SQuery* pQuery, SHashObj* pAllVgHash, SArray*
      pVgDataBlocks)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:133,1
    - Dst: insMergeTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:134,1
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:138,1
    - Dst: SVnodeModifyOpStmt*::freeArrayFunc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pQuery
    - pVgHash
    - pBlockHash
    argTypes:
    - SQuery*
    - SHashObj*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: qBuildStmtOutput
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - SVnodeModifyOpStmt*::freeArrayFunc
    - insBuildVgDataBlocks
    - taosHashGetSize
    - insMergeTableDataCxt
    linkageType: ''
    returnType: int32_t
    signature: int32_t qBuildStmtOutput(SQuery* pQuery, SHashObj* pVgHash, SHashObj*
      pBlockHash)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:157,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:159,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:162,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:164,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:168,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:180,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:182,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:187,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:191,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:197,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:202,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:207,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:208,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:209,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:218,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:220,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:220,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:223,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:225,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:233,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:238,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:239,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:240,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:241,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:245,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:245,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:245,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:246,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:247,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:253,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:255,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:259,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:266,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:271,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:278,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:279,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:280,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:281,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:285,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:290,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:291,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:293,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:296,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:297,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:298,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 139
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 301
    functionName: qBindStmtTagsValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - qError
    - strerror
    - snprintf
    - taosArrayDestroy
    - initCtxAsText
    - TAOS_SYSTEM_ERROR
    - getTableTagSchema
    - memcpy
    - taosArrayGet
    - insBuildCreateTbReq
    - taosArrayGetSize
    - taosMemoryCalloc
    - tListLen
    - tTagNew
    - checkWKB
    - parseJsontoTagData
    - buildSyntaxErrMsg
    - generateSyntaxErrMsg
    - buildInvalidOperationMsg
    - taosMemoryFree
    - taosArrayInit
    - tstrerror
    - taosMbsToUcs4
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qBindStmtTagsValue(void* pBlock, void* boundTags, int64_t
      suid, const char* sTableName, char* tName,\n                           TAOS_MULTI_BIND*
      bind, char* msgBuf, int32_t msgBufLen, void* charsetCxt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:308,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:315,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:317,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:329,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:332,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:333,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:336,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:336,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:336,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:337,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - pMsgBuf
    - pSchema
    - src
    - dst
    - charsetCxt
    argTypes:
    - SMsgBuf*
    - SSchema*
    - TAOS_MULTI_BIND*
    - TAOS_MULTI_BIND*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 348
    functionName: convertStmtNcharCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - generateSyntaxErrMsg
    - taosMemoryFreeClear
    - tListLen
    - strerror
    - snprintf
    - taosMbsToUcs4
    - taosMemoryRealloc
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t convertStmtNcharCol(SMsgBuf* pMsgBuf, SSchema* pSchema, TAOS_MULTI_BIND*
      src, TAOS_MULTI_BIND* dst,\n                            void* charsetCxt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:353,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:364,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:377,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:383,1
    - Dst: convertStmtNcharCol
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:388,1
    - Dst: tRowBuildFromBind
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:402,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:405,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:409,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:410,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 8
    argNames:
    - pBlock
    - pCols
    - bind
    - msgBuf
    - msgBufLen
    - pTSchema
    - pBindInfos
    - charsetCxt
    argTypes:
    - void*
    - SArray*
    - TAOS_MULTI_BIND*
    - char*
    - int32_t
    - STSchema**
    - SBindInfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 413
    functionName: qBindStmtStbColsValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - parserDebug
    - tBuildTSchema
    - buildInvalidOperationMsg
    - taosMemoryFree
    - convertStmtNcharCol
    - getTableColumnSchema
    - tRowBuildFromBind
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qBindStmtStbColsValue(void* pBlock, SArray* pCols, TAOS_MULTI_BIND*
      bind, char* msgBuf, int32_t msgBufLen,\n                              STSchema**
      pTSchema, SBindInfo* pBindInfos, void* charsetCxt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:418,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:428,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:431,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:437,1
    - Dst: convertStmtNcharCol
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:442,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:452,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:453,1
    - Dst: tColDataAddValueByBind
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:461,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:467,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:471,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:472,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 6
    argNames:
    - pBlock
    - pCols
    - bind
    - msgBuf
    - msgBufLen
    - charsetCxt
    argTypes:
    - void*
    - SArray*
    - TAOS_MULTI_BIND*
    - char*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 475
    functionName: qBindStmtColsValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - parserDebug
    - IS_STR_DATA_BLOB
    - buildInvalidOperationMsg
    - tColDataAddValueByBind
    - taosMemoryFree
    - getTableColumnSchema
    - convertStmtNcharCol
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qBindStmtColsValue(void* pBlock, SArray* pCols, TAOS_MULTI_BIND*
      bind, char* msgBuf, int32_t msgBufLen,\n                           void* charsetCxt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:480,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:488,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:491,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:495,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:498,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:504,1
    - Dst: convertStmtNcharCol
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:509,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:519,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:520,1
    - Dst: tColDataAddValueByBind
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:528,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:535,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:540,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 7
    argNames:
    - pBlock
    - pCols
    - bind
    - msgBuf
    - msgBufLen
    - charsetCxt
    - parsedCols
    argTypes:
    - void*
    - SArray*
    - TAOS_MULTI_BIND*
    - char*
    - int32_t
    - void*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 543
    functionName: qBindUpdateStmtColsValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - parserDebug
    - IS_STR_DATA_BLOB
    - buildInvalidOperationMsg
    - tColDataAddValueByBind
    - taosMemoryFree
    - tSimpleHashGetSize
    - getTableColumnSchema
    - convertStmtNcharCol
    - IS_VAR_DATA_TYPE
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qBindUpdateStmtColsValue(void* pBlock, SArray* pCols, TAOS_MULTI_BIND*
      bind, char* msgBuf, int32_t msgBufLen,\n                                 void*
      charsetCxt, SSHashObj* parsedCols)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:548,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:552,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:558,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:563,1
    - Dst: buildInvalidOperationMsgExt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:567,1
    - Dst: convertStmtNcharCol
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:572,1
    - Dst: tColDataAddValueByBind
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:581,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:582,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:585,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:589,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 593
    functionName: qBindStmtSingleColValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsgExt
    - taosArrayGet
    - parserDebug
    - buildInvalidOperationMsg
    - tColDataAddValueByBind
    - taosMemoryFree
    - getTableColumnSchema
    - convertStmtNcharCol
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qBindStmtSingleColValue(void* pBlock, SArray* pCols, TAOS_MULTI_BIND*
      bind, char* msgBuf, int32_t msgBufLen,\n                                int32_t
      colIdx, int32_t rowNum, void* charsetCxt)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:603,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:608,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:610,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:613,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:618,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:620,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:624,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:628,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:659,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:660,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:664,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:669,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:673,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:679,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:684,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:689,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:690,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:691,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:700,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:702,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:702,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:705,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:707,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:715,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:721,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:723,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:724,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:728,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:728,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:728,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:729,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:730,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:742,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:744,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:748,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:755,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:760,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:767,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:774,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:775,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:776,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:777,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:781,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:786,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:787,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:789,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:792,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:793,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:794,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 177
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 797
    functionName: qBindStmtTagsValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - qError
    - strerror
    - snprintf
    - taosArrayDup
    - taosArrayDestroy
    - initCtxAsText
    - TAOS_SYSTEM_ERROR
    - getTableTagSchema
    - memcpy
    - taosArrayGet
    - insBuildCreateTbReq
    - taosArrayGetSize
    - taosMemoryCalloc
    - tListLen
    - tTagNew
    - checkWKB
    - parseJsontoTagData
    - buildSyntaxErrMsg
    - generateSyntaxErrMsg
    - IS_STR_DATA_BLOB
    - buildInvalidOperationMsg
    - taosMemoryFree
    - taosArrayInit
    - tstrerror
    - taosMbsToUcs4
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qBindStmtTagsValue2(void* pBlock, void* boundTags, int64_t
      suid, const char* sTableName, char* tName,\n                            TAOS_STMT2_BIND*
      bind, char* msgBuf, int32_t msgBufLen, void* charsetCxt,\n                            SVCreateTbReq*
      pCreateTbReq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:804,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:809,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:811,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:827,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:828,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:829,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:832,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:832,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:832,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:833,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 5
    argNames:
    - pMsgBuf
    - pSchema
    - src
    - dst
    - charsetCxt
    argTypes:
    - SMsgBuf*
    - SSchema*
    - TAOS_STMT2_BIND*
    - TAOS_STMT2_BIND*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 846
    functionName: convertStmtStbNcharCol2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - generateSyntaxErrMsg
    - taosMemoryFreeClear
    - tListLen
    - strerror
    - snprintf
    - taosMbsToUcs4
    - taosMemoryCalloc
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t convertStmtStbNcharCol2(SMsgBuf* pMsgBuf, SSchema* pSchema,
      TAOS_STMT2_BIND* src, TAOS_STMT2_BIND* dst,\n                                       void*
      charsetCxt)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:852,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:853,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:867,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:876,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:879,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:892,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:904,1
    - Dst: buildInvalidOperationMsgExt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:910,1
    - Dst: convertStmtStbNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:916,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:917,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:919,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:923,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:925,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:927,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:935,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:937,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:944,1
    - Dst: tRowBuildFromBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:956,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:958,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:960,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:961,1
    - Dst: tRowBuildFromBind2WithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:963,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:965,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:968,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:972,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:973,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
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:977,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:980,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:980,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 103
    argCount: 10
    argNames:
    - pBlock
    - pCols
    - parsedCols
    - bind
    - msgBuf
    - msgBufLen
    - pTSchema
    - pBindInfos
    - charsetCxt
    - ppBlob
    argTypes:
    - void*
    - SArray*
    - SSHashObj*
    - TAOS_STMT2_BIND*
    - char*
    - int32_t
    - STSchema**
    - SBindInfo2*
    - void*
    - SBlobSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 848
    functionDepth: 3
    functionLinenumber: 848
    functionLinenumberEnd: 984
    functionName: qBindStmtStbColsValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosArrayPush
    - TAOS_CHECK_GOTO
    - parserDebug
    - tBlobSetCreate
    - taosArrayDestroy
    - initCtxAsText
    - TARRAY_DATA
    - tSimpleHashGet
    - taosArrayGetLast
    - getTableColumnExtSchema
    - tBuildTSchema
    - convertStmtStbNcharCol2
    - tRowBuildFromBind2
    - getTableColumnSchema
    - tstrerror
    - checkWKB
    - TARRAY_SIZE
    - buildInvalidOperationMsgExt
    - IS_STR_DATA_BLOB
    - buildInvalidOperationMsg
    - taosMemoryFree
    - taosArrayInit
    - tRowBuildFromBind2WithBlob
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qBindStmtStbColsValue2(void* pBlock, SArray* pCols, SSHashObj*
      parsedCols, TAOS_STMT2_BIND* bind, char* msgBuf,\n                               int32_t
      msgBufLen, STSchema** pTSchema, SBindInfo2* pBindInfos, void* charsetCxt,\n
      \                              SBlobSet** ppBlob)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:993,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1000,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1002,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1022,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1023,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1024,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1027,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1027,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1027,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1028,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - pMsgBuf
    - pSchema
    - src
    - dst
    - charsetCxt
    argTypes:
    - SMsgBuf*
    - SSchema*
    - TAOS_STMT2_BIND*
    - TAOS_STMT2_BIND*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 1041
    functionName: convertStmtNcharCol2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - generateSyntaxErrMsg
    - taosMemoryFreeClear
    - tListLen
    - strerror
    - snprintf
    - taosMbsToUcs4
    - taosMemoryRealloc
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t convertStmtNcharCol2(SMsgBuf* pMsgBuf, SSchema* pSchema, TAOS_STMT2_BIND*
      src, TAOS_STMT2_BIND* dst,\n                                    void* charsetCxt)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1046,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1047,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1059,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1061,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1070,1
    - Dst: tColDataAppendValue
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1073,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1075,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1084,1
    - Dst: buildInvalidOperationMsgExt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1090,1
    - Dst: convertStmtNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1096,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1106,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1107,1
    - Dst: tColDataAddValueByBind2WithGeos
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1116,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1119,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1121,1
    - Dst: tColDataAddValueByBind2WithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1125,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1126,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1128,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1132,1
    - Dst: tColDataAddValueByBind2WithDecimal
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1133,1
    - Dst: tColDataAddValueByBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1135,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1139,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1149,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1150,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 89
    argCount: 7
    argNames:
    - pBlock
    - pCols
    - parsedCols
    - bind
    - msgBuf
    - msgBufLen
    - charsetCxt
    argTypes:
    - void*
    - SArray*
    - SSHashObj*
    - TAOS_STMT2_BIND*
    - char*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1043
    functionDepth: 3
    functionLinenumber: 1043
    functionLinenumberEnd: 1153
    functionName: qBindStmtColsValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - parserError
    - parserDebug
    - tBlobSetCreate
    - taosArrayGet
    - tColDataAddValueByBind2
    - convertStmtNcharCol2
    - tColDataAddValueByBind2WithGeos
    - decimalFromTypeMod
    - IS_DECIMAL_TYPE
    - tSimpleHashGet
    - getTableColumnExtSchema
    - tColDataAddValueByBind2WithDecimal
    - getTableColumnSchema
    - tColDataAddValueByBind2WithBlob
    - buildInvalidOperationMsgExt
    - IS_STR_DATA_BLOB
    - buildInvalidOperationMsg
    - taosMemoryFree
    - tColDataAppendValue
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qBindStmtColsValue2(void* pBlock, SArray* pCols, SSHashObj*
      parsedCols, TAOS_STMT2_BIND* bind, char* msgBuf,\n                            int32_t
      msgBufLen, void* charsetCxt)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1158,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1162,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1169,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1174,1
    - Dst: buildInvalidOperationMsgExt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1178,1
    - Dst: convertStmtNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1183,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1194,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1195,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1207,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1209,1
    - Dst: tColDataAddValueByBind2WithBlob
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1213,1
    - Dst: tColDataAddValueByBind2WithGeos
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1215,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1216,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1217,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1219,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1223,1
    - Dst: tColDataAddValueByBind2WithDecimal
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1224,1
    - Dst: tColDataAddValueByBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1226,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1230,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1234,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1239,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1155
    functionDepth: 3
    functionLinenumber: 1155
    functionLinenumberEnd: 1242
    functionName: qBindStmtSingleColValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - parserError
    - IS_DECIMAL_TYPE
    - buildInvalidOperationMsgExt
    - taosArrayGet
    - parserDebug
    - getTableColumnExtSchema
    - IS_STR_DATA_BLOB
    - buildInvalidOperationMsg
    - tBlobSetCreate
    - tColDataAddValueByBind2WithDecimal
    - tColDataAddValueByBind2
    - taosMemoryFree
    - convertStmtNcharCol2
    - getTableColumnSchema
    - tColDataAddValueByBind2WithGeos
    - tColDataAddValueByBind2WithBlob
    - IS_VAR_DATA_TYPE
    - decimalFromTypeMod
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qBindStmtSingleColValue2(void* pBlock, SArray* pCols, TAOS_STMT2_BIND*
      bind, char* msgBuf, int32_t msgBufLen,\n                                 int32_t
      colIdx, int32_t rowNum, void* charsetCxt)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1247,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1248,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1260,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1272,1
    - Dst: buildInvalidOperationMsgExt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1278,1
    - Dst: convertStmtNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1284,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1290,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1292,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1292,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1300,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1302,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1309,1
    - Dst: tRowBuildFromBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1330,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1335,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1339,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1340,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 9
    argNames:
    - pBlock
    - pCols
    - parsedCols
    - bind
    - msgBuf
    - msgBufLen
    - pTSchema
    - pBindInfos
    - charsetCxt
    argTypes:
    - void*
    - SArray*
    - SSHashObj*
    - TAOS_STMT2_BIND*
    - char*
    - int32_t
    - STSchema**
    - SBindInfo2*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1244
    functionDepth: 3
    functionLinenumber: 1244
    functionLinenumberEnd: 1343
    functionName: qBindStmt2RowValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - buildInvalidOperationMsgExt
    - getTableColumnExtSchema
    - tBuildTSchema
    - qError
    - IS_STR_DATA_BLOB
    - buildInvalidOperationMsg
    - qDebug
    - taosMemoryFree
    - tRowBuildFromBind2
    - convertStmtNcharCol2
    - getTableColumnSchema
    - tstrerror
    - checkWKB
    - initCtxAsText
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qBindStmt2RowValue(void* pBlock, SArray* pCols, SSHashObj*
      parsedCols, TAOS_STMT2_BIND* bind, char* msgBuf,\n                           int32_t
      msgBufLen, STSchema** pTSchema, SBindInfo2* pBindInfos, void* charsetCxt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1348,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1360,1
    - Dst: calcTypeBytesFromSchemaBytes
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - numOfBound
    - boundColumns
    - pSchema
    - fieldNum
    - fields
    - timePrec
    argTypes:
    - int32_t
    - int16_t*
    - SSchema*
    - int32_t*
    - TAOS_FIELD_E**
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1369
    functionName: buildBoundFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - calcTypeBytesFromSchemaBytes
    - tstrncpy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildBoundFields(int32_t numOfBound, int16_t* boundColumns,
      SSchema* pSchema, int32_t* fieldNum,\n                         TAOS_FIELD_E**
      fields, uint8_t timePrec)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1388,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1393,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1401,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1408,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1433,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1453,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1460,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1493,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1500,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 111
    argCount: 10
    argNames:
    - boundColsInfo
    - pSchema
    - fieldNum
    - fields
    - pMeta
    - boundTags
    - parsedCols
    - tbNameFlag
    - placeholderOfTags
    - placeholderOfCols
    argTypes:
    - SBoundColInfo
    - SSchema*
    - int32_t*
    - TAOS_FIELD_ALL**
    - STableMeta*
    - void*
    - SSHashObj*
    - uint8_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1371
    functionDepth: 2
    functionLinenumber: 1371
    functionLinenumberEnd: 1512
    functionName: buildStbBoundFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - getTableTagSchema
    - tstrncpy
    - tSimpleHashGetSize
    - decimalFromTypeMod
    - taosMemoryCalloc
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildStbBoundFields(SBoundColInfo boundColsInfo, SSchema*
      pSchema, int32_t* fieldNum, TAOS_FIELD_ALL** fields,\n                            STableMeta*
      pMeta, void* boundTags, SSHashObj* parsedCols, uint8_t tbNameFlag,\n                            int32_t*
      placeholderOfTags, int32_t* placeholderOfCols)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1525,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1533,1
    - Dst: buildBoundFields
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pBlock
    - boundTags
    - fieldNum
    - fields
    argTypes:
    - void*
    - void*
    - int32_t*
    - TAOS_FIELD_E**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1514
    functionDepth: 2
    functionLinenumber: 1514
    functionLinenumberEnd: 1536
    functionName: qBuildStmtTagFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - CHECK_CODE
    - getTableTagSchema
    - buildBoundFields
    linkageType: ''
    returnType: int32_t
    signature: int32_t qBuildStmtTagFields(void* pBlock, void* boundTags, int32_t*
      fieldNum, TAOS_FIELD_E** fields)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1540,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1550,1
    - Dst: buildBoundFields
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pBlock
    - fieldNum
    - fields
    argTypes:
    - void*
    - int32_t*
    - TAOS_FIELD_E**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1538
    functionDepth: 2
    functionLinenumber: 1538
    functionLinenumberEnd: 1554
    functionName: qBuildStmtColFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - CHECK_CODE
    - buildBoundFields
    - getTableColumnSchema
    linkageType: ''
    returnType: int32_t
    signature: int32_t qBuildStmtColFields(void* pBlock, int32_t* fieldNum, TAOS_FIELD_E**
      fields)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1558,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1559,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1570,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1578,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1584,1
    - Dst: calcTypeBytesFromSchemaBytes
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - pBlock
    - fieldNum
    - fields
    - parsedCols
    argTypes:
    - void*
    - int32_t*
    - TAOS_FIELD_E**
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1596
    functionName: qBuildUpdateStmtColFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - calcTypeBytesFromSchemaBytes
    - tstrncpy
    - tSimpleHashGetSize
    - getTableColumnSchema
    - taosMemoryCalloc
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t qBuildUpdateStmtColFields(void* pBlock, int32_t* fieldNum,
      TAOS_FIELD_E** fields, SSHashObj* parsedCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1602,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1612,1
    - Dst: buildStbBoundFields
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 8
    argNames:
    - pBlock
    - boundTags
    - parsedCols
    - tbNameFlag
    - fieldNum
    - fields
    - placeholderOfTags
    - placeholderOfCols
    argTypes:
    - void*
    - void*
    - SSHashObj*
    - uint8_t
    - int32_t*
    - TAOS_FIELD_ALL**
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1598
    functionDepth: 3
    functionLinenumber: 1598
    functionLinenumberEnd: 1616
    functionName: qBuildStmtStbColFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - CHECK_CODE
    - buildStbBoundFields
    - getTableColumnSchema
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qBuildStmtStbColFields(void* pBlock, void* boundTags, SSHashObj*
      parsedCols, uint8_t tbNameFlag,\n                               int32_t* fieldNum,
      TAOS_FIELD_ALL** fields, int32_t* placeholderOfTags,\n                               int32_t*
      placeholderOfCols)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1619,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1622,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1624,1
    - Dst: tColDataDeepClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1628,1
    - Dst: tColDataClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pCols
    - deepClear
    argTypes:
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1618
    functionDepth: 1
    functionLinenumber: 1618
    functionLinenumberEnd: 1635
    functionName: qResetStmtColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosArrayGet
    - tColDataClear
    - tColDataDeepClear
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t qResetStmtColumns(SArray* pCols, bool deepClear)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1640,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1646,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1648,1
    - Dst: tColDataDeepClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1652,1
    - Dst: tColDataClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1655,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1659,1
    - Dst: tBlobSetDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - block
    - deepClear
    argTypes:
    - STableDataCxt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1637
    functionDepth: 1
    functionLinenumber: 1637
    functionLinenumberEnd: 1666
    functionName: qResetStmtDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - parserError
    - taosArrayGet
    - tColDataClear
    - tColDataDeepClear
    - taosArrayGetSize
    - taosArrayInit
    - tBlobSetDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t qResetStmtDataBlock(STableDataCxt* block, bool deepClear)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1671,1
    - Dst: tableMetaDup
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1683,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1693,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1697,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1699,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1702,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1709,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1711,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1715,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1722,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1724,1
    - Dst: qResetStmtDataBlock
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - pDst
    - pSrc
    - reset
    argTypes:
    - STableDataCxt**
    - STableDataCxt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1668
    functionDepth: 4
    functionLinenumber: 1668
    functionLinenumberEnd: 1736
    functionName: qCloneStmtDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - qResetStmtDataBlock
    - tableMetaDup
    - insDestroyTableDataCxt
    - taosArrayDup
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qCloneStmtDataBlock(STableDataCxt** pDst, STableDataCxt* pSrc,
      bool reset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qCloneStmtDataBlock
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1740,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - pDst
    - pSrc
    - uid
    - suid
    - vgId
    - rebuildCreateTb
    argTypes:
    - STableDataCxt**
    - STableDataCxt*
    - uint64_t
    - uint64_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1738
    functionDepth: 5
    functionLinenumber: 1738
    functionLinenumberEnd: 1763
    functionName: qRebuildStmtDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - qCloneStmtDataBlock
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qRebuildStmtDataBlock(STableDataCxt** pDst, STableDataCxt*
      pSrc, uint64_t uid, uint64_t suid, int32_t vgId,\n                              bool
      rebuildCreateTb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - STableDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1765
    functionName: qGetTableMetaInDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STableMeta
    signature: STableMeta * qGetTableMetaInDataBlock(STableDataCxt* pDataBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - STableDataCxt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1767
    functionDepth: 4
    functionLinenumber: 1767
    functionLinenumberEnd: 1774
    functionName: qDestroyStmtDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: 0
    functionsReached:
    - insDestroyTableDataCxt
    linkageType: ''
    returnType: void
    signature: void qDestroyStmtDataBlock(STableDataCxt* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: CHECK_MAKE_NODE
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_MAKE_NODE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: CHECK_OUT_OF_MEM
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OUT_OF_MEM(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pCxt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: CHECK_PARSER_STATUS
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PARSER_STATUS(pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: CHECK_NAME
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_NAME(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - pToken
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: COPY_STRING_FORM_ID_TOKEN
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_STRING_FORM_ID_TOKEN(buf, pToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - pToken
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: TRIM_STRING_FORM_ID_TOKEN
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIM_STRING_FORM_ID_TOKEN(buf, pToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - pToken
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: COPY_STRING_FORM_STR_TOKEN
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_STRING_FORM_STR_TOKEN(buf, pToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cow
    - ','
    - pToken
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: COPY_COW_STR_FROM_ID_TOKEN
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_COW_STR_FROM_ID_TOKEN(cow, pToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cow
    - ','
    - pToken
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: COPY_COW_STR_FROM_STR_TOKEN
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_COW_STR_FROM_STR_TOKEN(cow, pToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pParseCxt
    - pCxt
    argTypes:
    - SParseContext*
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: initAstCreateContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void initAstCreateContext(SParseContext* pParseCxt, SAstCreateContext*
      pCxt)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pName
    - trimStar
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: trimEscape
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trimEscape(SAstCreateContext* pCxt, SToken* pName, bool trimStar)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:143,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pUserName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: checkUserName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkUserName(SAstCreateContext* pCxt, SToken* pUserName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - password
    - imported
    argTypes:
    - SAstCreateContext*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: isValidPassword
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool isValidPassword(SAstCreateContext* pCxt, const char* password,
      bool imported)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:167,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - p
    - pPort
    argTypes:
    - SAstCreateContext*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: parsePort
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - taosStr2Int32
    linkageType: ''
    returnType: int32_t
    signature: int32_t parsePort(SAstCreateContext* pCxt, const char* p, int32_t*
      pPort)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:176,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:180,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:181,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:182,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:184,1
    - Dst: strrchr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:187,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:190,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:193,1
    - Dst: parsePort
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pEp
    - pFqdn
    - pPort
    argTypes:
    - SAstCreateContext*
    - SToken*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 195
    functionName: parseEndpoint
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - parsePort
    - strdequote
    - COPY_STRING_FORM_ID_TOKEN
    - tstrncpy
    - strrchr
    - strtrim
    - TAOS_STRNCPY
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseEndpoint(SAstCreateContext* pCxt, const SToken* pEp, char*
      pFqdn, int32_t* pPort)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parsePort
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:205,1
    - Dst: parseEndpoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - pCxt
    - pEp
    - pPortToken
    - pFqdn
    - pPort
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 197
    functionDepth: 4
    functionLinenumber: 197
    functionLinenumberEnd: 213
    functionName: checkAndSplitEndpoint
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - parsePort
    - parseEndpoint
    linkageType: ''
    returnType: bool
    signature: "bool checkAndSplitEndpoint(SAstCreateContext* pCxt, const SToken*
      pEp, const SToken* pPortToken, char* pFqdn,\n                                  int32_t*
      pPort)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:218,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:221,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pObjName
    - need
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 227
    functionName: checkObjName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkObjName(SAstCreateContext* pCxt, SToken* pObjName, bool need)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:232,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:235,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - demandDb
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 241
    functionName: checkDbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkDbName(SAstCreateContext* pCxt, SToken* pDbName, bool demandDb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:244,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pTableName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: checkTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkTableName(SAstCreateContext* pCxt, SToken* pTableName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:254,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pColumnName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: checkColumnName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkColumnName(SAstCreateContext* pCxt, SToken* pColumnName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:264,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pIndexName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: checkIndexName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkIndexName(SAstCreateContext* pCxt, SToken* pIndexName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:273,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pTopicName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: checkTopicName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkTopicName(SAstCreateContext* pCxt, SToken* pTopicName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:282,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pCGroup
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: checkCGroupName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkCGroupName(SAstCreateContext* pCxt, SToken* pCGroup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:291,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pViewName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: checkViewName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkViewName(SAstCreateContext* pCxt, SToken* pViewName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:300,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStreamName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: checkStreamName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkStreamName(SAstCreateContext* pCxt, SToken* pStreamName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pCommentToken
    - demand
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: checkComment
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkComment(SAstCreateContext* pCxt, const SToken* pCommentToken,
      bool demand)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:318,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:322,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pRsmaToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 327
    functionName: checkRsmaName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkRsmaName(SAstCreateContext* pCxt, SToken* pRsmaToken)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:330,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:333,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:334,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pTsmaToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: checkTsmaName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkTsmaName(SAstCreateContext* pCxt, SToken* pTsmaToken)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:342,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pMountPath
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: checkMountPath
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkMountPath(SAstCreateContext* pCxt, SToken* pMountPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:351,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:353,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:354,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pToken
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 350
    functionDepth: 5
    functionLinenumber: 350
    functionLinenumberEnd: 362
    functionName: createRawExprNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createRawExprNode(SAstCreateContext* pCxt, const SToken* pToken,
      SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:365,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:367,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:368,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pStart
    - pEnd
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: createRawExprNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createRawExprNodeExt(SAstCreateContext* pCxt, const SToken*
      pStart, const SToken* pEnd, SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:379,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:380,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - isPseudoColumn
    argTypes:
    - SAstCreateContext*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 378
    functionDepth: 4
    functionLinenumber: 378
    functionLinenumberEnd: 388
    functionName: setRawExprNodeIsPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * setRawExprNodeIsPseudoColumn(SAstCreateContext* pCxt, SNode*
      pNode, bool isPseudoColumn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:391,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:394,1
    - Dst: nodeType
      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: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:398,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:401,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:402,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:403,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:404,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:405,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:406,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:408,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:411,1
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:416,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:417,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:418,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:423,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 428
    functionName: releaseRawExprNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - TMIN
    - MurmurHash3_64
    - nodesIsExprNode
    - nodeType
    - snprintf
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesDestroyNode
    - strcmp
    linkageType: ''
    returnType: SNode
    signature: SNode * releaseRawExprNode(SAstCreateContext* pCxt, SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: getTokenFromRawExprNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SToken
    signature: SToken getTokenFromRawExprNode(SAstCreateContext* pCxt, SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:443,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:444,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:447,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:451,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:453,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:454,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:455,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:456,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:457,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:458,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:462,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - pNodeList
    - pAlias
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 440
    functionDepth: 6
    functionLinenumber: 440
    functionLinenumberEnd: 465
    functionName: createColsFuncParamNodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeList
    - nodesDestroyList
    - nodeType
    - nodesDestroyNode
    - nodesListAppendList
    - nodesListAppend
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * createColsFuncParamNodeList(SAstCreateContext* pCxt, SNode*
      pNode, SNodeList* pNodeList, SToken* pAlias)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:468,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:470,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:471,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:472,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:474,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 467
    functionDepth: 6
    functionLinenumber: 467
    functionLinenumberEnd: 481
    functionName: createNodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeList
    - nodesDestroyList
    - nodesDestroyNode
    - nodesListAppend
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * createNodeList(SAstCreateContext* pCxt, SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:484,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:485,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:488,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 6
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: addNodeToList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - nodesDestroyNode
    - nodesListAppend
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * addNodeToList(SAstCreateContext* pCxt, SNodeList* pList,
      SNode* pNode)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:494,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:496,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:498,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:505,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:507,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:516,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:517,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:522,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:524,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:526,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:530,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:531,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:536,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:538,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:540,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:544,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:545,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:550,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:552,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:554,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 3
    argNames:
    - pCxt
    - arg1
    - arg2
    argTypes:
    - SAstCreateContext*
    - SPrivSetArgs
    - SPrivSetArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 558
    functionName: privArgsAdd
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - nodesListAppendList
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SPrivSetArgs
    signature: SPrivSetArgs privArgsAdd(SAstCreateContext* pCxt, SPrivSetArgs arg1,
      SPrivSetArgs arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:561,1
    - Dst: privAddType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - EPrivType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 566
    functionName: privArgsSetType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - privAddType
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SPrivSetArgs
    signature: SPrivSetArgs privArgsSetType(SAstCreateContext* pCxt, EPrivType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pCxt
    - selectCols
    - insertCols
    - updateCols
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 574
    functionName: privArgsSetCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SPrivSetArgs
    signature: "SPrivSetArgs privArgsSetCols(SAstCreateContext* pCxt, SNodeList* selectCols,
      SNodeList* insertCols,\n                             SNodeList* updateCols)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:586,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:591,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:592,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:593,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:597,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:598,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:599,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:601,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:602,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:603,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:607,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:608,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:609,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:613,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:614,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:615,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:616,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:617,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:622,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:625,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:626,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:627,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:628,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:630,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:631,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:632,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:633,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:635,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:638,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:639,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:641,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:642,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:648,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:649,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:650,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:652,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:653,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:654,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:658,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:659,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:660,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:664,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:665,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:666,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:667,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:668,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:673,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:674,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:675,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:677,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:678,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:679,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:682,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:683,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:684,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:689,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:690,1
    - Dst: PRIV_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:691,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 137
    argCount: 4
    argNames:
    - pCxt
    - type
    - t1
    - t2
    argTypes:
    - SAstCreateContext*
    - int32_t
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 699
    functionName: privArgsSet
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - PRIV_SET_TYPE
    - taosStrncasecmp
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SPrivSetArgs
    signature: SPrivSetArgs privArgsSet(SAstCreateContext* pCxt, int32_t type, SToken*
      t1, SToken* t2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:702,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:703,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:703,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:707,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:708,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:710,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pTableAlias
    - pColumnName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 701
    functionDepth: 5
    functionLinenumber: 701
    functionLinenumberEnd: 716
    functionName: createColumnNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkTableName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createColumnNode(SAstCreateContext* pCxt, SToken* pTableAlias,
      SToken* pColumnName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createColumnNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pCxt
    - pTableAlias
    - pColumnName
    - type
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 721
    functionDepth: 6
    functionLinenumber: 721
    functionLinenumberEnd: 727
    functionName: createColumnNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createColumnNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createColumnNodeExt(SAstCreateContext* pCxt, SToken* pTableAlias,
      SToken* pColumnName, int8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:730,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:732,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:733,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:734,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:736,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pColId
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 729
    functionDepth: 5
    functionLinenumber: 729
    functionLinenumberEnd: 743
    functionName: createPlaceHolderColumnNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - nodesListMakeAppend
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createPlaceHolderColumnNode(SAstCreateContext* pCxt, SNode*
      pColId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:746,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - bufLen
    - pToken
    - trim
    argTypes:
    - char*
    - int32_t
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 759
    functionName: copyValueTrimEscape
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - TMIN
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void copyValueTrimEscape(char* buf, int32_t bufLen, const SToken* pToken,
      bool trim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:762,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:764,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:765,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:766,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:768,1
    - Dst: copyValueTrimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:771,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:774,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:777,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - dataType
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - int32_t
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 761
    functionDepth: 5
    functionLinenumber: 761
    functionLinenumberEnd: 787
    functionName: createValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - trimString
    - CHECK_MAKE_NODE
    - copyValueTrimEscape
    - nodesMakeNode
    - strlen
    - IS_VAR_DATA_TYPE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createValueNode(SAstCreateContext* pCxt, int32_t dataType,
      const SToken* pLiteral)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:790,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:792,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:794,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:798,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:800,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:805,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:806,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:809,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:811,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:815,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:819,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:824,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:824,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:829,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:831,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:836,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 4
    argNames:
    - pCxt
    - dataType
    - pLiteral
    - pNode
    argTypes:
    - SAstCreateContext*
    - int32_t
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 789
    functionDepth: 5
    functionLinenumber: 789
    functionLinenumberEnd: 838
    functionName: createRawValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - nodesIsExprNode
    - nodesMakeNode
    - taosStrndup
    - strlen
    - IS_VAR_DATA_TYPE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createRawValueNode(SAstCreateContext* pCxt, int32_t dataType,
      const SToken* pLiteral, SNode* pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:843,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:845,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:847,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:851,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:852,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:856,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:861,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:861,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:866,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:867,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:868,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:871,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:872,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:873,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - pCxt
    - dataType
    - pLiteral
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - int32_t
    - SToken*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 840
    functionDepth: 5
    functionLinenumber: 840
    functionLinenumberEnd: 875
    functionName: createRawValueNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - nodesMakeNode
    - taosStrndup
    - CHECK_PARSER_STATUS
    - strlen
    - nodesDestroyNode
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: SNode
    signature: "SNode * createRawValueNodeExt(SAstCreateContext* pCxt, int32_t dataType,
      const SToken* pLiteral, SNode* pLeft,\n                             SNode* pRight)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pHintList
    - hint
    argTypes:
    - SNodeList*
    - EHintOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 887
    functionName: hasHint
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasHint(SNodeList* pHintList, EHintOption hint)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 885
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 274
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pHintList)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:902,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:905,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:908,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:911,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:914,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:917,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:920,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:927,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:935,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:937,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:942,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 5
    argNames:
    - pCxt
    - ppHintList
    - opt
    - paramList
    - paramNum
    argTypes:
    - SAstCreateContext*
    - SNodeList**
    - EHintOption
    - SToken*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 889
    functionDepth: 5
    functionLinenumber: 889
    functionLinenumberEnd: 948
    functionName: addHintNodeToList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeList
    - nodesListStrictAppend
    - hasHint
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: bool
    signature: "bool addHintNodeToList(SAstCreateContext* pCxt, SNodeList** ppHintList,
      EHintOption opt, SToken* paramList,\n                       int32_t paramNum)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:951,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:956,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:970,1
    - Dst: addHintNodeToList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1067,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1096,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 140
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 950
    functionDepth: 6
    functionLinenumber: 950
    functionLinenumberEnd: 1100
    functionName: createHintNodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - addHintNodeToList
    - taosMemoryFree
    - taosStrndup
    - tGetToken
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * createHintNodeList(SAstCreateContext* pCxt, const SToken*
      pLiteral)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1103,1
    - Dst: createValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 6
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: createIdentifierValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - createValueNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createIdentifierValueNode(SAstCreateContext* pCxt, SToken*
      pLiteral)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1108,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1110,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1111,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1116,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1133,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1137,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1138,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1142,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1144,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1107
    functionDepth: 5
    functionLinenumber: 1107
    functionLinenumberEnd: 1159
    functionName: createDurationValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - isdigit
    - nodesMakeNode
    - taosStrndup
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDurationValueNode(SAstCreateContext* pCxt, const SToken*
      pLiteral)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1162,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1164,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1165,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1170,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1185,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1189,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1190,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1194,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1196,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1161
    functionDepth: 5
    functionLinenumber: 1161
    functionLinenumberEnd: 1211
    functionName: createTimeOffsetValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - isdigit
    - nodesMakeNode
    - taosStrndup
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createTimeOffsetValueNode(SAstCreateContext* pCxt, const SToken*
      pLiteral)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1214,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1220,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1221,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1222,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1225,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1213
    functionDepth: 5
    functionLinenumber: 1213
    functionLinenumberEnd: 1235
    functionName: createDefaultDatabaseCondValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    - strlen
    - nodesDestroyNode
    - taosStrdup
    linkageType: ''
    returnType: SNode
    signature: SNode * createDefaultDatabaseCondValue(SAstCreateContext* pCxt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1238,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1240,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1244,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1245,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1246,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1249,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1254,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1256,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1260,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1262,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1237
    functionDepth: 5
    functionLinenumber: 1237
    functionLinenumberEnd: 1269
    functionName: createPlaceholderValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - taosStrndup
    - taosArrayInit
    - taosArrayDestroy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createPlaceholderValueNode(SAstCreateContext* pCxt, const SToken*
      pLiteral)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPlaceholderValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1271
    functionDepth: 6
    functionLinenumber: 1271
    functionLinenumberEnd: 1281
    functionName: createDurationPlaceholderValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPlaceholderValueNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createDurationPlaceholderValueNode(SAstCreateContext* pCxt,
      const SToken* pLiteral)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1284,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1286,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1288,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCond
    - pParam
    argTypes:
    - SLogicConditionNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1283
    functionDepth: 4
    functionLinenumber: 1283
    functionLinenumberEnd: 1293
    functionName: addParamToLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - nodesListAppendList
    - nodesListAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addParamToLogicConditionNode(SLogicConditionNode* pCond, SNode*
      pParam)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1296,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1298,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1299,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1302,1
    - Dst: addParamToLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1304,1
    - Dst: addParamToLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1307,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:1315,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - type
    - pParam1
    - pParam2
    argTypes:
    - SAstCreateContext*
    - ELogicConditionType
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1295
    functionDepth: 5
    functionLinenumber: 1295
    functionLinenumberEnd: 1318
    functionName: createLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeList
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    - nodesDestroyNode
    - addParamToLogicConditionNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createLogicConditionNode(SAstCreateContext* pCxt, ELogicConditionType
      type, SNode* pParam1, SNode* pParam2)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - orgType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1331
    functionName: getMinusDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getMinusDataType(uint8_t orgType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1334,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1336,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EQuantifyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1359
    functionName: setNodeQuantifyType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * setNodeQuantifyType(SAstCreateContext* pCxt, SNode* pNode,
      EQuantifyType type)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1362,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1363,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1365,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1365,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1371,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1371,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1373,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1373,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1375,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1375,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1377,1
    - Dst: getMinusDataType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1379,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1383,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1385,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1390,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1392,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1396,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1400,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1406,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1407,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1415,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1416,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 4
    argNames:
    - pCxt
    - type
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - EOperatorType
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1361
    functionDepth: 5
    functionLinenumber: 1361
    functionLinenumberEnd: 1418
    functionName: createOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 19
    functionsReached:
    - CHECK_MAKE_NODE
    - nodeType
    - nodesMakeNode
    - snprintf
    - taosMemoryFree
    - getMinusDataType
    - strlen
    - nodesDestroyNode
    - taosMemoryCalloc
    - CHECK_PARSER_STATUS
    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:1422,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1423,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1424,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1425,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1426,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1427,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1428,1
    - Dst: createLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1429,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1430,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1433,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1434,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1435,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1436,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1437,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1420
    functionDepth: 6
    functionLinenumber: 1420
    functionLinenumberEnd: 1440
    functionName: createBetweenAnd
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createLogicConditionNode
    - nodesCloneNode
    - createOperatorNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createBetweenAnd(SAstCreateContext* pCxt, SNode* pExpr, SNode*
      pLeft, SNode* pRight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1444,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1445,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1446,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1447,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1448,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1449,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1450,1
    - Dst: createLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1451,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1452,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1455,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1456,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1457,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: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1442
    functionDepth: 6
    functionLinenumber: 1442
    functionLinenumberEnd: 1462
    functionName: createNotBetweenAnd
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createLogicConditionNode
    - nodesCloneNode
    - createOperatorNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:1465,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: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1471,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pFuncName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1464
    functionDepth: 5
    functionLinenumber: 1464
    functionLinenumberEnd: 1479
    functionName: createPrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createPrimaryKeyCol(SAstCreateContext* pCxt, const SToken*
      pFuncName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1482,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1483,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1483,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1484,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1487,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1488,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1489,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pFuncName
    - pParameterList
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1481
    functionDepth: 6
    functionLinenumber: 1481
    functionLinenumberEnd: 1497
    functionName: createFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_MAKE_NODE
    - strncasecmp
    - nodesDestroyList
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createFunctionNode(SAstCreateContext* pCxt, const SToken* pFuncName,
      SNodeList* pParameterList)
  - BBCount: 1
    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:1502,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1503,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1504,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pFuncName
    - pParameterList
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1499
    functionDepth: 6
    functionLinenumber: 1499
    functionLinenumberEnd: 1512
    functionName: createPHTbnameFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createPHTbnameFunctionNode(SAstCreateContext* pCxt, const SToken*
      pFuncName, SNodeList* pParameterList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1516,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1517,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1518,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1519,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1526,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1527,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
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - dt
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1514
    functionDepth: 5
    functionLinenumber: 1514
    functionLinenumberEnd: 1536
    functionName: createCastFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:1540,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1541,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1542,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1543,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1544,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1545,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1546,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1547,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1550,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1551,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1538
    functionDepth: 5
    functionLinenumber: 1538
    functionLinenumberEnd: 1554
    functionName: createPositionFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:1558,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1559,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1560,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1561,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1563,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1564,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1568,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ETrimType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1556
    functionDepth: 5
    functionLinenumber: 1556
    functionLinenumberEnd: 1571
    functionName: createTrimFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:1575,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1576,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1577,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1578,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1580,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1581,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1582,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1583,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1587,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1588,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - ETrimType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1573
    functionDepth: 5
    functionLinenumber: 1573
    functionLinenumberEnd: 1591
    functionName: createTrimFunctionNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:1595,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1596,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1597,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1598,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1599,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1600,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1601,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1602,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1605,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1606,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1593
    functionDepth: 5
    functionLinenumber: 1593
    functionLinenumberEnd: 1609
    functionName: createSubstrFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:1613,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1614,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1615,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1616,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1617,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1618,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1619,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1620,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1621,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1622,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1625,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1626,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1627,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    - pExpr3
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1611
    functionDepth: 5
    functionLinenumber: 1611
    functionLinenumberEnd: 1630
    functionName: createSubstrFunctionNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createSubstrFunctionNodeExt(SAstCreateContext* pCxt, SNode*
      pExpr, SNode* pExpr2, SNode* pExpr3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1634,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1635,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1636,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pList
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1632
    functionDepth: 6
    functionLinenumber: 1632
    functionLinenumberEnd: 1642
    functionName: createNodeListNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - 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:1646,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1647,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1648,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1649,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1650,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1651,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1652,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1655,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1656,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - p1
    - p2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1644
    functionDepth: 6
    functionLinenumber: 1644
    functionLinenumberEnd: 1659
    functionName: createNodeListNodeEx
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - CHECK_MAKE_NODE
    - nodesListStrictAppend
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createNodeListNodeEx(SAstCreateContext* pCxt, SNode* p1, SNode*
      p2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1662,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1663,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1663,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1664,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1664,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1665,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1665,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1667,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1668,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1670,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1672,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1675,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1677,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pTableAlias
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1661
    functionDepth: 5
    functionLinenumber: 1661
    functionLinenumberEnd: 1683
    functionName: createRealTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - snprintf
    - checkTableName
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createRealTableNode(SAstCreateContext* pCxt, SToken* pDbName,
      SToken* pTableName, SToken* pTableAlias)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1686,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1689,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1690,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - type
    - pTableAlias
    argTypes:
    - SAstCreateContext*
    - EStreamPlaceholder
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1685
    functionDepth: 5
    functionLinenumber: 1685
    functionLinenumberEnd: 1700
    functionName: createPlaceHolderTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createPlaceHolderTableNode(SAstCreateContext* pCxt, EStreamPlaceholder
      type, SToken* pTableAlias)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1703,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1704,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1704,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1705,1
    - Dst: checkStreamName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1705,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1707,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1708,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1710,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1712,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pStreamName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1702
    functionDepth: 5
    functionLinenumber: 1702
    functionLinenumberEnd: 1718
    functionName: createStreamNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - checkStreamName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - snprintf
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createStreamNode(SAstCreateContext* pCxt, SToken* pDbName,
      SToken* pStreamName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1722,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1723,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1724,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1735,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1736,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pStart
    - pEnd
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1720
    functionDepth: 5
    functionLinenumber: 1720
    functionLinenumberEnd: 1739
    functionName: createRecalcRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createRecalcRange(SAstCreateContext* pCxt, SNode* pStart, SNode*
      pEnd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1742,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1743,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1747,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1748,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1751,1
    - Dst: taosRandStr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1753,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1755,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1756,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1758,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1759,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - pSubquery
    - pTableAlias
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1741
    functionDepth: 5
    functionLinenumber: 1741
    functionLinenumberEnd: 1765
    functionName: createTempTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodeType
    - tstrncpy
    - checkTableName
    - taosRandStr
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createTempTableNode(SAstCreateContext* pCxt, SNode* pSubquery,
      SToken* pTableAlias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1769,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1771,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1772,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1780,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1781,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 6
    argNames:
    - pCxt
    - type
    - stype
    - pLeft
    - pRight
    - pJoinCond
    argTypes:
    - SAstCreateContext*
    - EJoinType
    - EJoinSubType
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1767
    functionDepth: 5
    functionLinenumber: 1767
    functionLinenumberEnd: 1784
    functionName: createJoinTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createJoinTableNode(SAstCreateContext* pCxt, EJoinType type,
      EJoinSubType stype, SNode* pLeft, SNode* pRight,\n                           SNode*
      pJoinCond)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1787,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1788,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1788,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1789,1
    - Dst: checkViewName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1789,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1791,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1792,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1794,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1796,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pViewName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1786
    functionDepth: 5
    functionLinenumber: 1786
    functionLinenumberEnd: 1802
    functionName: createViewNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - snprintf
    - CHECK_PARSER_STATUS
    - checkDbName
    - checkViewName
    linkageType: ''
    returnType: SNode
    signature: SNode * createViewNode(SAstCreateContext* pCxt, SToken* pDbName, SToken*
      pViewName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1805,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1807,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pLimit
    - pOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1804
    functionDepth: 5
    functionLinenumber: 1804
    functionLinenumberEnd: 1816
    functionName: createLimitNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - 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:1819,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1821,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1822,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - order
    - nullOrder
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EOrder
    - ENullOrder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1818
    functionDepth: 5
    functionLinenumber: 1818
    functionLinenumberEnd: 1833
    functionName: createOrderByExprNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 2
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createOrderByExprNode(SAstCreateContext* pCxt, SNode* pExpr,
      EOrder order, ENullOrder nullOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1836,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1838,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1839,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1844,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pGap
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1835
    functionDepth: 5
    functionLinenumber: 1835
    functionLinenumberEnd: 1847
    functionName: createSessionWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createSessionWindowNode(SAstCreateContext* pCxt, SNode* pCol,
      SNode* pGap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1851,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1852,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1853,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1854,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1855,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1860,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1860,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1861,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1864,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1864,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1865,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1867,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1871,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1872,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1873,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pOptions
    - pTrueForLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1849
    functionDepth: 6
    functionLinenumber: 1849
    functionLinenumberEnd: 1876
    functionName: createStateWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - createPrimaryKeyCol
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - nodesDestroyNode
    - nodesCloneNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createStateWindowNode(SAstCreateContext* pCxt, SNode* pExpr,
      SNodeList* pOptions, SNode* pTrueForLimit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1880,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1881,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1882,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1883,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1884,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1890,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1891,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1892,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pStartCond
    - pEndCond
    - pTrueForLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1878
    functionDepth: 6
    functionLinenumber: 1878
    functionLinenumberEnd: 1895
    functionName: createEventWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createEventWindowNode(SAstCreateContext* pCxt, SNode* pStartCond,
      SNode* pEndCond, SNode* pTrueForLimit)
  - BBCount: 2
    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:1900,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1901,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1904,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1906,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1897
    functionDepth: 5
    functionLinenumber: 1897
    functionLinenumberEnd: 1913
    functionName: createTrueForCountNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createTrueForCountNode(SAstCreateContext* pCxt, const SToken*
      pCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1917,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1918,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1919,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1923,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1926,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pDuration
    - pCount
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1915
    functionDepth: 5
    functionLinenumber: 1915
    functionLinenumberEnd: 1929
    functionName: createTrueForAndNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createTrueForAndNode(SAstCreateContext* pCxt, SNode* pDuration,
      const SToken* pCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1933,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1934,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1935,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1939,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1942,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pDuration
    - pCount
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1931
    functionDepth: 5
    functionLinenumber: 1931
    functionLinenumberEnd: 1945
    functionName: createTrueForOrNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createTrueForOrNode(SAstCreateContext* pCxt, SNode* pDuration,
      const SToken* pCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1950,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1951,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1952,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1953,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1954,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1955,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1957,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1959,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pCountToken
    - pSlidingToken
    - pColList
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1947
    functionDepth: 6
    functionLinenumber: 1947
    functionLinenumberEnd: 1966
    functionName: createCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - taosStr2Int64
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCountWindowNode(SAstCreateContext* pCxt, const SToken*
      pCountToken, const SToken* pSlidingToken,\n                             SNodeList*
      pColList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1971,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1972,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1973,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1974,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1975,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1980,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - arg
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1968
    functionDepth: 6
    functionLinenumber: 1968
    functionLinenumberEnd: 1985
    functionName: createCountWindowNodeFromArgs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCountWindowNodeFromArgs(SAstCreateContext* pCxt, SNode*
      arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1989,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1992,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1993,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1994,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1996,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - countToken
    - slidingToken
    - colList
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1987
    functionDepth: 5
    functionLinenumber: 1987
    functionLinenumberEnd: 2004
    functionName: createCountWindowArgs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int64
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCountWindowArgs(SAstCreateContext* pCxt, const SToken*
      countToken, const SToken* slidingToken,\n                             SNodeList*
      colList)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2008,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2009,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2010,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2012,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2013,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2017,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2019,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2021,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2022,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2023,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2025,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2026,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2027,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2029,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pExprList
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 2006
    functionDepth: 6
    functionLinenumber: 2006
    functionLinenumberEnd: 2038
    functionName: createAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - createPrimaryKeyCol
    - CHECK_MAKE_NODE
    - nodesListErase
    - LIST_LENGTH
    - nodesMakeNode
    - nodeType
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodesListGetCell
    linkageType: ''
    returnType: SNode
    signature: SNode * createAnomalyWindowNode(SAstCreateContext* pCxt, SNodeList*
      pExprList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2042,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2046,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2047,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2049,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2050,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2055,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2056,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pInter
    - pSliding
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2040
    functionDepth: 6
    functionLinenumber: 2040
    functionLinenumberEnd: 2059
    functionName: createIntervalWindowNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createIntervalWindowNodeExt(SAstCreateContext* pCxt, SNode*
      pInter, SNode* pSliding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2064,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2065,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2066,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2067,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2068,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2073,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2077,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2078,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2079,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2080,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - pInterval
    - pOffset
    - pSliding
    - pFill
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2061
    functionDepth: 6
    functionLinenumber: 2061
    functionLinenumberEnd: 2083
    functionName: createIntervalWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_MAKE_NODE
    - TAOS_SET_OBJ_ALIGNED
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createIntervalWindowNode(SAstCreateContext* pCxt, SNode* pInterval,
      SNode* pOffset, SNode* pSliding,\n                                SNode* pFill)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2087,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2088,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2089,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2094,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2095,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pPeriodTime
    - pOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2085
    functionDepth: 5
    functionLinenumber: 2085
    functionLinenumberEnd: 2098
    functionName: createPeriodWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createPeriodWindowNode(SAstCreateContext* pCxt, SNode* pPeriodTime,
      SNode* pOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2102,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2103,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2104,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2109,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2110,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pStartOffset
    - pEndOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2100
    functionDepth: 5
    functionLinenumber: 2100
    functionLinenumberEnd: 2113
    functionName: createWindowOffsetNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createWindowOffsetNode(SAstCreateContext* pCxt, SNode* pStartOffset,
      SNode* pEndOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2118,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2119,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2120,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2125,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2126,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pSurroundingTime
    - pValues
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2115
    functionDepth: 5
    functionLinenumber: 2115
    functionLinenumberEnd: 2129
    functionName: createSurroundNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createSurroundNode(SAstCreateContext* pCxt, SNode* pSurroundingTime,\n
      \                         SNode* pValues)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFillNodeWithSurroundingTime
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - mode
    - pValues
    argTypes:
    - SAstCreateContext*
    - EFillMode
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2131
    functionDepth: 1
    functionLinenumber: 2131
    functionLinenumberEnd: 2133
    functionName: createFillNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createFillNodeWithSurroundingTime
    linkageType: ''
    returnType: SNode
    signature: SNode * createFillNode(SAstCreateContext* pCxt, EFillMode mode, SNode*
      pValues)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createFillNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2138,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2148,1
    - Dst: createFillNodeWithSurroundingTime
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - mode
    - pSurroundNode
    argTypes:
    - SAstCreateContext*
    - EFillMode
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2135
    functionDepth: 4
    functionLinenumber: 2135
    functionLinenumberEnd: 2152
    functionName: createFillNodeWithSurroundNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - createFillNode
    - createFillNodeWithSurroundingTime
    linkageType: ''
    returnType: SNode
    signature: "SNode * createFillNodeWithSurroundNode(SAstCreateContext* pCxt, EFillMode
      mode,\n                                      SNode* pSurroundNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2158,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2159,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2160,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2165,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2167,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2168,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2172,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2173,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - mode
    - pValues
    - pSurroundingTime
    argTypes:
    - SAstCreateContext*
    - EFillMode
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2154
    functionDepth: 5
    functionLinenumber: 2154
    functionLinenumberEnd: 2176
    functionName: createFillNodeWithSurroundingTime
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 2
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createFillNodeWithSurroundingTime(SAstCreateContext* pCxt,\n
      \                                        EFillMode mode, SNode* pValues,\n                                         SNode*
      pSurroundingTime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2180,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2181,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2182,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2185,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2186,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2189,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2178
    functionDepth: 5
    functionLinenumber: 2178
    functionLinenumberEnd: 2192
    functionName: createGroupingSetNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 1
    functionsReached:
    - nodesListMakeAppend
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createGroupingSetNode(SAstCreateContext* pCxt, SNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2195,1
    - Dst: isSubQueryNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2196,1
    - Dst: isSubQueryNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2196,1
    - Dst: isSubQueryNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2196,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2198,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2202,1
    - Dst: createInterpTimeAround
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2203,1
    - Dst: createBetweenAnd
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2205,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2205,1
    - Dst: createInterpTimeAround
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2208,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2212,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2213,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pStart
    - pEnd
    - pInterval
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2194
    functionDepth: 7
    functionLinenumber: 2194
    functionLinenumberEnd: 2216
    functionName: createInterpTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - nodeType
    - nodesDestroyNode
    - isSubQueryNode
    - createInterpTimeAround
    - createBetweenAnd
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createInterpTimeRange(SAstCreateContext* pCxt, SNode* pStart,
      SNode* pEnd, SNode* pInterval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2219,1
    - Dst: isSubQueryNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2220,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2222,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2225,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2225,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pPoint
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2218
    functionDepth: 6
    functionLinenumber: 2218
    functionLinenumberEnd: 2229
    functionName: createInterpTimePoint
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - createOperatorNode
    - isSubQueryNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createInterpTimePoint(SAstCreateContext* pCxt, SNode* pPoint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2232,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2234,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2235,1
    - Dst: createInterpTimePoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2237,1
    - Dst: createBetweenAnd
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2239,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2239,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pStart
    - pEnd
    - pInterval
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2231
    functionDepth: 7
    functionLinenumber: 2231
    functionLinenumberEnd: 2246
    functionName: createInterpTimeAround
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 1
    functionsReached:
    - createPrimaryKeyCol
    - nodesMakeNode
    - createInterpTimePoint
    - createBetweenAnd
    - CHECK_PARSER_STATUS
    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:2249,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2251,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2252,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2257,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pWhen
    - pThen
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2248
    functionDepth: 5
    functionLinenumber: 2248
    functionLinenumberEnd: 2260
    functionName: createWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createWhenThenNode(SAstCreateContext* pCxt, SNode* pWhen, SNode*
      pThen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2264,1
    - Dst: printf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2266,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2262
    functionDepth: 4
    functionLinenumber: 2262
    functionLinenumberEnd: 2270
    functionName: debugPrintNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - printf
    - taosMemoryFree
    - nodesNodeToString
    linkageType: ''
    returnType: int32_t
    signature: int32_t debugPrintNode(SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2273,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2275,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2276,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2285,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2286,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pCase
    - pWhenThenList
    - pElse
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2272
    functionDepth: 6
    functionLinenumber: 2272
    functionLinenumberEnd: 2289
    functionName: createCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:2297,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2298,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2299,1
    - Dst: createValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2305,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2306,1
    - Dst: createWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2307,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2308,1
    - Dst: createNodeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2309,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2310,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2311,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2312,1
    - Dst: createCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2313,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2314,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2318,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2319,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2320,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2321,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2322,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pExpr1
    - pExpr2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2291
    functionDepth: 7
    functionLinenumber: 2291
    functionLinenumberEnd: 2325
    functionName: createNullIfNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createCaseWhenNode
    - createValueNode
    - nodesDestroyList
    - createOperatorNode
    - createWhenThenNode
    - nodesDestroyNode
    - nodesCloneNode
    - CHECK_PARSER_STATUS
    - createNodeList
    linkageType: ''
    returnType: SNode
    signature: SNode * createNullIfNode(SAstCreateContext* pCxt, SNode* pExpr1, SNode*
      pExpr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2333,1
    - Dst: createWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2334,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2335,1
    - Dst: createNodeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2336,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2337,1
    - Dst: createCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2338,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2339,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2343,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2344,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pExpr1
    - pExpr2
    - pExpr3
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2327
    functionDepth: 7
    functionLinenumber: 2327
    functionLinenumberEnd: 2347
    functionName: createIfNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createCaseWhenNode
    - nodesDestroyList
    - createWhenThenNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createNodeList
    linkageType: ''
    returnType: SNode
    signature: SNode * createIfNode(SAstCreateContext* pCxt, SNode* pExpr1, SNode*
      pExpr2, SNode* pExpr3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2355,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2356,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2357,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2358,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2359,1
    - Dst: createWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2360,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2361,1
    - Dst: createNodeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2362,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2363,1
    - Dst: createCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2364,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2365,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2369,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2370,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2371,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pExpr1
    - pExpr2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2349
    functionDepth: 7
    functionLinenumber: 2349
    functionLinenumberEnd: 2374
    functionName: createNvlNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createCaseWhenNode
    - nodesDestroyList
    - createOperatorNode
    - createWhenThenNode
    - nodesDestroyNode
    - nodesCloneNode
    - CHECK_PARSER_STATUS
    - createNodeList
    linkageType: ''
    returnType: SNode
    signature: SNode * createNvlNode(SAstCreateContext* pCxt, SNode* pExpr1, SNode*
      pExpr2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2381,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2382,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2383,1
    - Dst: createWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2384,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2385,1
    - Dst: createNodeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2386,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2387,1
    - Dst: createCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2388,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2389,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2393,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2394,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pExpr1
    - pExpr2
    - pExpr3
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2376
    functionDepth: 7
    functionLinenumber: 2376
    functionLinenumberEnd: 2397
    functionName: createNvl2Node
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createCaseWhenNode
    - nodesDestroyList
    - createOperatorNode
    - createWhenThenNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createNodeList
    linkageType: ''
    returnType: SNode
    signature: SNode * createNvl2Node(SAstCreateContext* pCxt, SNode* pExpr1, SNode*
      pExpr2, SNode* pExpr3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2400,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2405,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2408,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2410,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2411,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2413,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2414,1
    - Dst: createWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2416,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2417,1
    - Dst: createNodeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2420,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2422,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2424,1
    - Dst: createCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2427,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2428,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2432,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2433,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2434,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2435,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pParamList
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2399
    functionDepth: 7
    functionLinenumber: 2399
    functionLinenumberEnd: 2438
    functionName: createCoalesceNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - createCaseWhenNode
    - nodesDestroyList
    - LIST_LENGTH
    - createOperatorNode
    - createWhenThenNode
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListAppend
    - CHECK_PARSER_STATUS
    - createNodeList
    linkageType: ''
    returnType: SNode
    signature: SNode * createCoalesceNode(SAstCreateContext* pCxt, SNodeList* pParamList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2441,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2442,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2444,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2445,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2446,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pAlias
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2440
    functionDepth: 4
    functionLinenumber: 2440
    functionLinenumberEnd: 2452
    functionName: setProjectionAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - TMIN
    - trimEscape
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * setProjectionAlias(SAstCreateContext* pCxt, SNode* pNode, SToken*
      pAlias)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2455,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2456,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2461,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pWhere
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2454
    functionDepth: 4
    functionLinenumber: 2454
    functionLinenumberEnd: 2464
    functionName: addWhereClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    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:2467,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2468,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2473,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pPartitionByList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2466
    functionDepth: 6
    functionLinenumber: 2466
    functionLinenumberEnd: 2476
    functionName: addPartitionByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyList
    - nodesDestroyNode
    - 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:2479,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2480,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2485,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pWindow
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2478
    functionDepth: 4
    functionLinenumber: 2478
    functionLinenumberEnd: 2488
    functionName: addWindowClauseClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * addWindowClauseClause(SAstCreateContext* pCxt, SNode* pStmt,
      SNode* pWindow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2491,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2492,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2497,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pGroupByList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2490
    functionDepth: 6
    functionLinenumber: 2490
    functionLinenumberEnd: 2500
    functionName: addGroupByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyList
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * addGroupByClause(SAstCreateContext* pCxt, SNode* pStmt, SNodeList*
      pGroupByList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2503,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2504,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2509,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pHaving
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2502
    functionDepth: 4
    functionLinenumber: 2502
    functionLinenumberEnd: 2512
    functionName: addHavingClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * addHavingClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pHaving)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2515,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2519,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2526,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pOrderByList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2514
    functionDepth: 6
    functionLinenumber: 2514
    functionLinenumberEnd: 2529
    functionName: addOrderByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyList
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * addOrderByClause(SAstCreateContext* pCxt, SNode* pStmt, SNodeList*
      pOrderByList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2532,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2536,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2541,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pSlimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2531
    functionDepth: 4
    functionLinenumber: 2531
    functionLinenumberEnd: 2544
    functionName: addSlimitClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * addSlimitClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pSlimit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2547,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2551,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2558,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2546
    functionDepth: 4
    functionLinenumber: 2546
    functionLinenumberEnd: 2561
    functionName: addLimitClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * addLimitClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pLimit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2564,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2566,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2567,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2570,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2577,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pRange
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2563
    functionDepth: 4
    functionLinenumber: 2563
    functionLinenumberEnd: 2580
    functionName: addRangeClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - TSWAP
    linkageType: ''
    returnType: SNode
    signature: SNode * addRangeClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2583,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2584,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2589,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pEvery
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2592
      start: 2582
    functionDepth: 4
    functionLinenumber: 2582
    functionLinenumberEnd: 2592
    functionName: addEveryClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * addEveryClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pEvery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2595,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2596,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2598,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2599,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2600,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2605,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pFill
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2594
    functionDepth: 6
    functionLinenumber: 2594
    functionLinenumberEnd: 2608
    functionName: addFillClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createPrimaryKeyCol
    - CHECK_MAKE_NODE
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * addFillClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pFill)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2612,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2613,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2614,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2616,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2618,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2622,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2623,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2632,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2634,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2638,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2647,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2649,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - pCxt
    - pSubquery
    - pAlias
    - pFill
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2610
    functionDepth: 6
    functionLinenumber: 2610
    functionLinenumberEnd: 2652
    functionName: createExternalWindowClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - createPrimaryKeyCol
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodeType
    - trimEscape
    - strncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createExternalWindowClause(SAstCreateContext* pCxt, SNode*
      pSubquery, SToken* pAlias, SNode* pFill)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2655,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2664,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pJLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2654
    functionDepth: 4
    functionLinenumber: 2654
    functionLinenumberEnd: 2667
    functionName: addJLimitClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * addJLimitClause(SAstCreateContext* pCxt, SNode* pJoin, SNode*
      pJLimit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2670,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:2680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pWinOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2669
    functionDepth: 4
    functionLinenumber: 2669
    functionLinenumberEnd: 2682
    functionName: addWindowOffsetClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * addWindowOffsetClause(SAstCreateContext* pCxt, SNode* pJoin,
      SNode* pWinOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2686,1
    - Dst: createSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2688,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2689,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2692,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2693,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - pCxt
    - isDistinct
    - pProjectionList
    - pTable
    - pHint
    argTypes:
    - SAstCreateContext*
    - bool
    - SNodeList*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2684
    functionDepth: 6
    functionLinenumber: 2684
    functionLinenumberEnd: 2696
    functionName: createSelectStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - createSelectStmtImpl
    - nodesDestroyList
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createSelectStmt(SAstCreateContext* pCxt, bool isDistinct,
      SNodeList* pProjectionList, SNode* pTable,\n                        SNodeList*
      pHint)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - bSelectTags
    argTypes:
    - SAstCreateContext*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2698
    functionDepth: 1
    functionLinenumber: 2698
    functionLinenumberEnd: 2707
    functionName: setSelectStmtTagMode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNode
    signature: SNode * setSelectStmtTagMode(SAstCreateContext* pCxt, SNode* pStmt,
      bool bSelectTags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2709
    functionDepth: 1
    functionLinenumber: 2709
    functionLinenumberEnd: 2713
    functionName: setSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void setSubquery(SNode* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2716,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2718,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2719,1
    - Dst: setSubquery
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2722,1
    - Dst: setSubquery
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2724,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2725,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:2729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - type
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - ESetOperatorType
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2715
    functionDepth: 5
    functionLinenumber: 2715
    functionLinenumberEnd: 2731
    functionName: createSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    - setSubquery
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createSetOperator(SAstCreateContext* pCxt, ESetOperatorType
      type, SNode* pLeft, SNode* pRight)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pOptions
    argTypes:
    - SDatabaseOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2733
    functionDepth: 0
    functionLinenumber: 2733
    functionLinenumberEnd: 2745
    functionName: updateWalOptionsDefault
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateWalOptionsDefault(SDatabaseOptions* pOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2748,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2750,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2751,1
    - Dst: updateWalOptionsDefault
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2747
    functionDepth: 5
    functionLinenumber: 2747
    functionLinenumberEnd: 2797
    functionName: createDefaultDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - updateWalOptionsDefault
    - CHECK_MAKE_NODE
    - 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:2800,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2802,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2799
    functionDepth: 5
    functionLinenumber: 2799
    functionLinenumberEnd: 2851
    functionName: createAlterDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterDatabaseOptions(SAstCreateContext* pCxt)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2855,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2859,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2862,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2865,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2868,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2871,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2876,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2878,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2883,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2886,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2889,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2895,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2898,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2901,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2904,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2907,1
    - Dst: updateWalOptionsDefault
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2910,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2914,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2917,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2920,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2923,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2929,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2933,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2937,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2941,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2944,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2949,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2951,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2954,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2960,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2962,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2965,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2969,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2974,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2976,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2981,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2985,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2987,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2991,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2992,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2996,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3000,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3005,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3007,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3015,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3017,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3021,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3024,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3026,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3031,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3034,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3041,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 185
    argCount: 5
    argNames:
    - pCxt
    - pOptions
    - type
    - pVal
    - alter
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EDatabaseOptionType
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3043
      start: 2853
    functionDepth: 6
    functionLinenumber: 2853
    functionLinenumberEnd: 3043
    functionName: setDatabaseOptionImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - updateWalOptionsDefault
    - taosStr2Int8
    - createDurationValueNode
    - snprintf
    - COPY_STRING_FORM_STR_TOKEN
    - strlen
    - nodesDestroyNode
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * setDatabaseOptionImpl(SAstCreateContext* pCxt, SNode* pOptions,
      EDatabaseOptionType type, void* pVal,\n                                    bool
      alter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setDatabaseOptionImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - type
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EDatabaseOptionType
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3047
      start: 3045
    functionDepth: 7
    functionLinenumber: 3045
    functionLinenumberEnd: 3047
    functionName: setDatabaseOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - setDatabaseOptionImpl
    linkageType: ''
    returnType: SNode
    signature: SNode * setDatabaseOption(SAstCreateContext* pCxt, SNode* pOptions,
      EDatabaseOptionType type, void* pVal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3050,1
    - Dst: setDatabaseOptionImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3055,1
    - Dst: setDatabaseOptionImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3059,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3061,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pAlterOption
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SAlterOption*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3064
      start: 3049
    functionDepth: 7
    functionLinenumber: 3049
    functionLinenumberEnd: 3064
    functionName: setAlterDatabaseOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - setDatabaseOptionImpl
    - nodesDestroyList
    - 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:3067,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3068,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3068,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3070,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3071,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3072,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - ignoreExists
    - pDbName
    - pOptions
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3066
    functionDepth: 5
    functionLinenumber: 3066
    functionLinenumberEnd: 3079
    functionName: createCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateDatabaseStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SToken* pDbName, SNode* pOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3082,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3083,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3083,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3085,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3086,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - ignoreNotExists
    - pDbName
    - force
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3093
      start: 3081
    functionDepth: 5
    functionLinenumber: 3081
    functionLinenumberEnd: 3093
    functionName: createDropDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropDatabaseStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SToken* pDbName, bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3096,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3097,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3097,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3099,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3100,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3101,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3107
      start: 3095
    functionDepth: 5
    functionLinenumber: 3095
    functionLinenumberEnd: 3107
    functionName: createAlterDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName,
      SNode* pOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3110,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3111,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3111,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3113,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3114,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3119
      start: 3109
    functionDepth: 5
    functionLinenumber: 3109
    functionLinenumberEnd: 3119
    functionName: createFlushDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createFlushDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3122,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3123,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3123,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3125,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3126,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - maxSpeed
    argTypes:
    - SAstCreateContext*
    - SToken*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3121
    functionDepth: 5
    functionLinenumber: 3121
    functionLinenumberEnd: 3132
    functionName: createTrimDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_PARSER_STATUS
    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:3135,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3136,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3136,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3138,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3139,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3134
    functionDepth: 5
    functionLinenumber: 3134
    functionLinenumberEnd: 3144
    functionName: createTrimDbWalStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createTrimDbWalStmt(SAstCreateContext* pCxt, SToken* pDbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3147,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3148,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3148,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3150,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3151,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3156
      start: 3146
    functionDepth: 5
    functionLinenumber: 3146
    functionLinenumberEnd: 3156
    functionName: createSsMigrateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createSsMigrateDatabaseStmt(SAstCreateContext* pCxt, SToken*
      pDbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3160,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3161,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3161,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3163,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3164,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3165,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3172,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 6
    argNames:
    - pCxt
    - pDbName
    - pStart
    - pEnd
    - metaOnly
    - force
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    - SNode*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3175
      start: 3158
    functionDepth: 5
    functionLinenumber: 3158
    functionLinenumberEnd: 3175
    functionName: createCompactStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCompactStmt(SAstCreateContext* pCxt, SToken* pDbName,
      SNode* pStart, SNode* pEnd, bool metaOnly,\n                         bool force)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3180,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3181,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3181,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3182,1
    - Dst: checkMountPath
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3182,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3184,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3185,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3186,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3187,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3190,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - pCxt
    - ignoreExists
    - pMountName
    - pDnodeId
    - pMountPath
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3177
    functionDepth: 5
    functionLinenumber: 3177
    functionLinenumberEnd: 3202
    functionName: createCreateMountStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - checkMountPath
    - COPY_STRING_FORM_ID_TOKEN
    - COPY_STRING_FORM_STR_TOKEN
    - nodesDestroyNode
    - taosStr2Int32
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateMountStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SToken* pMountName, SToken* pDnodeId,\n                             SToken*
      pMountPath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3206,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3207,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3207,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3209,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3210,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pMountName
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3220
      start: 3204
    functionDepth: 5
    functionLinenumber: 3204
    functionLinenumberEnd: 3220
    functionName: createDropMountStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropMountStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SToken* pMountName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3224,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3226,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3228,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3231,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3232,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3241,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3242,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3243,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 7
    argNames:
    - pCxt
    - pDbName
    - vgidList
    - pStart
    - pEnd
    - metaOnly
    - force
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    - SNode*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3246
      start: 3222
    functionDepth: 6
    functionLinenumber: 3222
    functionLinenumberEnd: 3246
    functionName: createCompactVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCompactVgroupsStmt(SAstCreateContext* pCxt, SNode* pDbName,
      SNodeList* vgidList, SNode* pStart,\n                                SNode*
      pEnd, bool metaOnly, bool force)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3249,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3251,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3266
      start: 3248
    functionDepth: 5
    functionLinenumber: 3248
    functionLinenumberEnd: 3266
    functionName: createDefaultTableOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - 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:3269,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3271,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3268
    functionDepth: 5
    functionLinenumber: 3268
    functionLinenumberEnd: 3281
    functionName: createAlterTableOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterTableOptions(SAstCreateContext* pCxt)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3284,1
    - Dst: checkComment
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3287,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3289,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3302,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3319,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3321,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3325,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3334,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3343,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3356,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - type
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ETableOptionType
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3283
    functionDepth: 6
    functionLinenumber: 3283
    functionLinenumberEnd: 3358
    functionName: setTableOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - COPY_STRING_FORM_STR_TOKEN
    - createDurationValueNode
    - nodesDestroyNode
    - checkComment
    - taosStr2Int64
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    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:3361,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3363,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3371
      start: 3360
    functionDepth: 5
    functionLinenumber: 3360
    functionLinenumberEnd: 3371
    functionName: createDefaultColumnOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDefaultColumnOptions(SAstCreateContext* pCxt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3374,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3376,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3373
    functionDepth: 0
    functionLinenumber: 3373
    functionLinenumberEnd: 3382
    functionName: getColumnOptionType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: EColumnOptionType
    signature: EColumnOptionType getColumnOptionType(const char* optionType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3385,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3388,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3389,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3390,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pRef
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3384
    functionDepth: 4
    functionLinenumber: 3384
    functionLinenumberEnd: 3395
    functionName: setColumnReference
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - tstrncpy
    - 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:3398,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3397
    functionDepth: 4
    functionLinenumber: 3397
    functionLinenumberEnd: 3404
    functionName: setColumnOptionsPK
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * setColumnOptionsPK(SAstCreateContext* pCxt, SNode* pOptions)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3407,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3410,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3411,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3413,1
    - Dst: getColumnOptionType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3417,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3420,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3421,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3422,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3427,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3428,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3429,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3434,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3435,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3436,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3446,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - pVal1
    - pVal2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3448
      start: 3406
    functionDepth: 4
    functionLinenumber: 3406
    functionLinenumberEnd: 3448
    functionName: setColumnOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - memset
    - tstrncpy
    - COPY_STRING_FORM_STR_TOKEN
    - strlen
    - getColumnOptionType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * setColumnOptions(SAstCreateContext* pCxt, SNode* pOptions,
      const SToken* pVal1, void* pVal2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3451,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3452,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3452,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3455,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3456,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3458,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3460,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3461,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pColName
    - pRef
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3450
    functionDepth: 5
    functionLinenumber: 3450
    functionLinenumberEnd: 3466
    functionName: createColumnRefNodeByNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - tstrncpy
    - CHECK_PARSER_STATUS
    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:3470,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3471,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3471,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3472,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3472,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3473,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3473,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3476,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3477,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3478,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3479,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pDb
    - pTable
    - pCol
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3469
    functionDepth: 5
    functionLinenumber: 3469
    functionLinenumberEnd: 3484
    functionName: createColumnRefNodeFromTriplet
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkTableName
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createColumnRefNodeFromTriplet(SAstCreateContext* pCxt, SToken*
      pDb, SToken* pTable, SToken* pCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3488,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3489,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3489,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3490,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3490,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3493,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3494,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3495,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3496,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pCol
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3487
    functionDepth: 5
    functionLinenumber: 3487
    functionLinenumberEnd: 3501
    functionName: createColumnRefNodeFromPair
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - snprintf
    - COPY_STRING_FORM_ID_TOKEN
    - checkTableName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createColumnRefNodeFromPair(SAstCreateContext* pCxt, SToken*
      pTable, SToken* pCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3504,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3506,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pName
    argTypes:
    - SAstCreateContext*
    - SToken
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3514
      start: 3503
    functionDepth: 1
    functionLinenumber: 3503
    functionLinenumberEnd: 3514
    functionName: createTokenTriplet
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - CHECK_OUT_OF_MEM
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: STokenTriplet
    signature: STokenTriplet * createTokenTriplet(SAstCreateContext* pCxt, SToken
      pName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pTokenTri
    - pName
    argTypes:
    - SAstCreateContext*
    - STokenTriplet*
    - SToken
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3529
      start: 3516
    functionDepth: 1
    functionLinenumber: 3516
    functionLinenumberEnd: 3529
    functionName: setColumnName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: STokenTriplet
    signature: STokenTriplet * setColumnName(SAstCreateContext* pCxt, STokenTriplet*
      pTokenTri, SToken pName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3533,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3534,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3535,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3539,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3539,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3540,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3540,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3541,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3542,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3543,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3547,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3547,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3548,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3548,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3549,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3549,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3550,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3551,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3552,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3561,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3564,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pTokenTri
    argTypes:
    - SAstCreateContext*
    - STokenTriplet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3531
    functionDepth: 5
    functionLinenumber: 3531
    functionLinenumberEnd: 3567
    functionName: createColumnRefNodeByName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosMemFree
    - CHECK_MAKE_NODE
    - checkColumnName
    - nodesMakeNode
    - CHECK_NAME
    - snprintf
    - COPY_STRING_FORM_ID_TOKEN
    - checkTableName
    - nodesDestroyNode
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createColumnRefNodeByName(SAstCreateContext* pCxt, STokenTriplet*
      pTokenTri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3570,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3571,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3571,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3572,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3573,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3574,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3577,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3578,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3579,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pColName
    - dataType
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SDataType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3587
      start: 3569
    functionDepth: 5
    functionLinenumber: 3569
    functionLinenumberEnd: 3587
    functionName: createColumnDefNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_PARSER_STATUS
    - nodesDestroyNode
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: SNode
    signature: SNode * createColumnDefNode(SAstCreateContext* pCxt, SToken* pColName,
      SDataType dataType, SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3592
      start: 3589
    functionDepth: 0
    functionLinenumber: 3589
    functionLinenumberEnd: 3592
    functionName: createDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SDataType
    signature: SDataType createDataType(uint8_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - type
    - pLen
    argTypes:
    - uint8_t
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3600
      start: 3594
    functionDepth: 1
    functionLinenumber: 3594
    functionLinenumberEnd: 3600
    functionName: createVarLenDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    linkageType: ''
    returnType: SDataType
    signature: SDataType createVarLenDataType(uint8_t type, const SToken* pLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3604,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3605,1
    - Dst: decimalTypeFromPrecision
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - type
    - pPrecisionToken
    - pScaleToken
    argTypes:
    - uint8_t
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3602
    functionDepth: 1
    functionLinenumber: 3602
    functionLinenumberEnd: 3609
    functionName: createDecimalDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - decimalTypeFromPrecision
    - taosStr2Int32
    - 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:3613,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3614,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3615,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3616,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3617,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3620,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3623,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - ignoreExists
    - pRealTable
    - pCols
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3626
      start: 3611
    functionDepth: 6
    functionLinenumber: 3611
    functionLinenumberEnd: 3626
    functionName: createCreateVTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateVTableStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SNode* pRealTable, SNodeList* pCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3632,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3634,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3635,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3641,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3642,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3643,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3644,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3652,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3653,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3656,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3657,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3658,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3659,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3660,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3661,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3662,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 10
    argNames:
    - pCxt
    - ignoreExists
    - pRealTable
    - pSpecificColRefs
    - pColRefs
    - pUseRealTable
    - pSpecificTags
    - pValsOfTags
    - pSpecificTagRefs
    - pTagRefs
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNodeList*
    - SNodeList*
    - SNode*
    - SNodeList*
    - SNodeList*
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3665
      start: 3628
    functionDepth: 6
    functionLinenumber: 3628
    functionLinenumberEnd: 3665
    functionName: createCreateVSubTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateVSubTableStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SNode* pRealTable,\n                                 SNodeList* pSpecificColRefs,
      SNodeList* pColRefs, SNode* pUseRealTable,\n                                 SNodeList*
      pSpecificTags, SNodeList* pValsOfTags,\n                                 SNodeList*
      pSpecificTagRefs, SNodeList* pTagRefs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3669,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3671,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3672,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3673,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3674,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3679,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3682,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3683,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3684,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - pCxt
    - ignoreExists
    - pRealTable
    - pCols
    - pTags
    - pOptions
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNodeList*
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3687
      start: 3667
    functionDepth: 6
    functionLinenumber: 3667
    functionLinenumberEnd: 3687
    functionName: createCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateTableStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SNode* pRealTable, SNodeList* pCols,\n                             SNodeList*
      pTags, SNode* pOptions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3691,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3693,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3694,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3695,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3696,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3697,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3698,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3703,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3704,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3707,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3708,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3709,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3710,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 7
    argNames:
    - pCxt
    - ignoreExists
    - pRealTable
    - pUseRealTable
    - pSpecificTags
    - pValsOfTags
    - pOptions
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNode*
    - SNodeList*
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3713
      start: 3689
    functionDepth: 6
    functionLinenumber: 3689
    functionLinenumberEnd: 3713
    functionName: createCreateSubTableClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateSubTableClause(SAstCreateContext* pCxt, bool ignoreExists,
      SNode* pRealTable, SNode* pUseRealTable,\n                                  SNodeList*
      pSpecificTags, SNodeList* pValsOfTags, SNode* pOptions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3717,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3719,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3720,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3721,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3722,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3726,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3728,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3732,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3735,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - pCxt
    - ignoreExists
    - pUseRealTable
    - pSpecificTags
    - pFilePath
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNodeList*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3738
      start: 3715
    functionDepth: 6
    functionLinenumber: 3715
    functionLinenumberEnd: 3738
    functionName: createCreateSubTableFromFileClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimString
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateSubTableFromFileClause(SAstCreateContext* pCxt,
      bool ignoreExists, SNode* pUseRealTable,\n                                          SNodeList*
      pSpecificTags, const SToken* pFilePath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3741,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3743,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3744,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubTables
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3750
      start: 3740
    functionDepth: 6
    functionLinenumber: 3740
    functionLinenumberEnd: 3750
    functionName: createCreateMultiTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - 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:3753,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3755,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3756,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3757,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3758,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3760,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3765
      start: 3752
    functionDepth: 5
    functionLinenumber: 3752
    functionLinenumberEnd: 3765
    functionName: createDropTableClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:3768,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3770,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3771,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - withOpt
    - pTables
    argTypes:
    - SAstCreateContext*
    - bool
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3778
      start: 3767
    functionDepth: 6
    functionLinenumber: 3767
    functionLinenumberEnd: 3778
    functionName: createDropTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - 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:3781,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3783,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3784,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3785,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3786,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3789,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - withOpt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3794
      start: 3780
    functionDepth: 5
    functionLinenumber: 3780
    functionLinenumberEnd: 3794
    functionName: createDropSuperTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropSuperTableStmt(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:3797,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3799,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3800,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3801,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3802,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3805,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - withOpt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3810
      start: 3796
    functionDepth: 5
    functionLinenumber: 3796
    functionLinenumberEnd: 3810
    functionName: createDropVirtualTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropVirtualTableStmt(SAstCreateContext* pCxt, bool withOpt,
      bool ignoreNotExists, SNode* pRealTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3813,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3814,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pRealTable
    - pStmt
    argTypes:
    - SNode*
    - SAlterTableStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3817
      start: 3812
    functionDepth: 4
    functionLinenumber: 3812
    functionLinenumberEnd: 3817
    functionName: createAlterTableStmtFinalize
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - tstrncpy
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterTableStmtFinalize(SNode* pRealTable, SAlterTableStmt*
      pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3820,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3822,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3823,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3826,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3828,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pRealTable
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3831
      start: 3819
    functionDepth: 5
    functionLinenumber: 3819
    functionLinenumberEnd: 3831
    functionName: createAlterTableModifyOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createAlterTableStmtFinalize
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:3835,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3836,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3836,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3838,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3839,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3841,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3843,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    - dataType
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3847
      start: 3833
    functionDepth: 5
    functionLinenumber: 3833
    functionLinenumberEnd: 3847
    functionName: createAlterTableAddModifyCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - createAlterTableStmtFinalize
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createAlterTableAddModifyCol(SAstCreateContext* pCxt, SNode*
      pRealTable, int8_t alterType, SToken* pColName,\n                                    SDataType
      dataType)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3852,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3853,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3853,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3854,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3855,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3857,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3864,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3865,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3865,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3866,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3869,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3870,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3871,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3872,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3874,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3874,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3874,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3882,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3884,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3887,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3889,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3890,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3891,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 6
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    - dataType
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SDataType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3893
      start: 3849
    functionDepth: 5
    functionLinenumber: 3849
    functionLinenumberEnd: 3893
    functionName: createAlterTableAddModifyColOptions2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strcmp
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - createAlterTableStmtFinalize
    - checkColumnName
    - generateSyntaxErrMsgExt
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - tstrncpy
    - strlen
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createAlterTableAddModifyColOptions2(SAstCreateContext* pCxt,
      SNode* pRealTable, int8_t alterType,\n                                            SToken*
      pColName, SDataType dataType, SNode* pOptions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3897,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3898,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3898,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3900,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3901,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3903,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3905,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3907,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3910
      start: 3895
    functionDepth: 5
    functionLinenumber: 3895
    functionLinenumberEnd: 3910
    functionName: createAlterTableAddModifyColOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - createAlterTableStmtFinalize
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createAlterTableAddModifyColOptions(SAstCreateContext* pCxt,
      SNode* pRealTable, int8_t alterType,\n                                           SToken*
      pColName, SNode* pOptions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3913,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3914,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3914,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3916,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3917,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3919,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3920,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3924
      start: 3912
    functionDepth: 5
    functionLinenumber: 3912
    functionLinenumberEnd: 3924
    functionName: createAlterTableDropCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - createAlterTableStmtFinalize
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterTableDropCol(SAstCreateContext* pCxt, SNode* pRealTable,
      int8_t alterType, SToken* pColName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3928,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3929,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3929,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3930,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3930,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3932,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3933,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3935,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3936,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3937,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pOldColName
    - pNewColName
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3941
      start: 3926
    functionDepth: 5
    functionLinenumber: 3926
    functionLinenumberEnd: 3941
    functionName: createAlterTableRenameCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - createAlterTableStmtFinalize
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createAlterTableRenameCol(SAstCreateContext* pCxt, SNode*
      pRealTable, int8_t alterType, SToken* pOldColName,\n                                 SToken*
      pNewColName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3945,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3946,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3946,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3948,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3949,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3951,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: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3954,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3955,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 5
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    - pRef
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3959
      start: 3943
    functionDepth: 5
    functionLinenumber: 3943
    functionLinenumberEnd: 3959
    functionName: createAlterTableAlterColRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - createAlterTableStmtFinalize
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createAlterTableAlterColRef(SAstCreateContext* pCxt, SNode*
      pRealTable, int8_t alterType, SToken* pColName,\n                                   SNode*
      pRef)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3963,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3964,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3964,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3966,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3967,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3969,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3970,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3974
      start: 3961
    functionDepth: 5
    functionLinenumber: 3961
    functionLinenumberEnd: 3974
    functionName: createAlterTableRemoveColRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - createAlterTableStmtFinalize
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createAlterTableRemoveColRef(SAstCreateContext* pCxt, SNode*
      pRealTable, int8_t alterType, SToken* pColName,\n                                    const
      SToken* pLiteral)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3979,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3980,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3980,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3982,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3983,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3984,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pTagName
    - pVal
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3978
    functionDepth: 5
    functionLinenumber: 3978
    functionLinenumberEnd: 3991
    functionName: createAlterTagValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterTagValueNode(SAstCreateContext* pCxt, SToken* pTagName,
      SNode* pVal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3998,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3999,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3999,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4001,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4002,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4003,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4005,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4010,1
    - Dst: checkRegexPattern
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4012,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4014,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4018,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4023,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - pCxt
    - pTagName
    - pattern
    - replacement
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4030
      start: 3997
    functionDepth: 5
    functionLinenumber: 3997
    functionLinenumberEnd: 4030
    functionName: createAlterTagValueNodeWithExpression
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - trimString
    - CHECK_MAKE_NODE
    - checkColumnName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkRegexPattern
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterTagValueNodeWithExpression(SAstCreateContext* pCxt,
      SToken* pTagName, const SToken* pattern, const SToken* replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4035,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4037,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4039,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4042,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4043,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4044,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pRealTable
    - pTagList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4051
      start: 4034
    functionDepth: 5
    functionLinenumber: 4034
    functionLinenumberEnd: 4051
    functionName: createAlterTableUpdateTagValClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterTableUpdateTagValClause(SAstCreateContext* pCxt,
      SNode* pRealTable, SNodeList* pTagList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4056,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4058,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4060,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pTableList
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 4055
    functionDepth: 5
    functionLinenumber: 4055
    functionLinenumberEnd: 4068
    functionName: createAlterMultiTableUpdateTagValStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterMultiTableUpdateTagValStmt(SAstCreateContext* pCxt,
      SNodeList* pTableList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4073,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4075,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4077,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4081,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pRealTable
    - pTagList
    - pWhere
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4086
      start: 4072
    functionDepth: 5
    functionLinenumber: 4072
    functionLinenumberEnd: 4086
    functionName: createAlterChildTableUpdateTagValStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createAlterTableStmtFinalize
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterChildTableUpdateTagValStmt(SAstCreateContext* pCxt,
      SNode* pRealTable, SNodeList* pTagList, SNode* pWhere)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setNodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4094
      start: 4090
    functionDepth: 1
    functionLinenumber: 4090
    functionLinenumberEnd: 4094
    functionName: setAlterSuperTableType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - setNodeType
    linkageType: ''
    returnType: SNode
    signature: SNode * setAlterSuperTableType(SNode* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setNodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4100
      start: 4096
    functionDepth: 1
    functionLinenumber: 4096
    functionLinenumberEnd: 4100
    functionName: setAlterVirtualTableType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - setNodeType
    linkageType: ''
    returnType: SNode
    signature: SNode * setAlterVirtualTableType(SNode* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4103,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4104,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4104,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4106,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4107,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4112
      start: 4102
    functionDepth: 5
    functionLinenumber: 4102
    functionLinenumberEnd: 4112
    functionName: createUseDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createUseDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4121
      start: 4114
    functionDepth: 0
    functionLinenumber: 4114
    functionLinenumberEnd: 4121
    functionName: needDbShowStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool needDbShowStmt(ENodeType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4124,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4126,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4127,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - type
    - pLikePattern
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4137
      start: 4123
    functionDepth: 5
    functionLinenumber: 4123
    functionLinenumberEnd: 4137
    functionName: createShowStmtWithLike
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - 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:4140,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4142,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4148
      start: 4139
    functionDepth: 5
    functionLinenumber: 4139
    functionLinenumberEnd: 4148
    functionName: createShowStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowStmt(SAstCreateContext* pCxt, ENodeType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4151,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4153,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - type
    - pWhere
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4159
      start: 4150
    functionDepth: 5
    functionLinenumber: 4150
    functionLinenumberEnd: 4159
    functionName: createShowXnodeStmtWithCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowXnodeStmtWithCond(SAstCreateContext* pCxt, ENodeType
      type, SNode* pWhere)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4162,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4176,1
    - Dst: createShowXnodeStmtWithCond
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4181,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - resourceType
    - pWhere
    argTypes:
    - SAstCreateContext*
    - EXnodeResourceType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4187
      start: 4161
    functionDepth: 6
    functionLinenumber: 4161
    functionLinenumberEnd: 4187
    functionName: createShowXNodeResourcesWhereStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - generateSyntaxErrMsgExt
    - CHECK_PARSER_STATUS
    - createShowXnodeStmtWithCond
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowXNodeResourcesWhereStmt(SAstCreateContext* pCxt,
      EXnodeResourceType resourceType, SNode* pWhere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4190,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4192,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4198
      start: 4189
    functionDepth: 5
    functionLinenumber: 4189
    functionLinenumberEnd: 4198
    functionName: createShowStmtWithFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowStmtWithFull(SAstCreateContext* pCxt, ENodeType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4201,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4203,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4208
      start: 4200
    functionDepth: 5
    functionLinenumber: 4200
    functionLinenumberEnd: 4208
    functionName: createShowCompactsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowCompactsStmt(SAstCreateContext* pCxt, ENodeType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4211,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4213,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4218
      start: 4210
    functionDepth: 5
    functionLinenumber: 4210
    functionLinenumberEnd: 4218
    functionName: createShowSsMigratesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowSsMigratesStmt(SAstCreateContext* pCxt, ENodeType
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4221,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4223,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4228
      start: 4220
    functionDepth: 5
    functionLinenumber: 4220
    functionLinenumberEnd: 4228
    functionName: createShowTokensStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowTokensStmt(SAstCreateContext* pCxt, ENodeType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - showKind
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EShowKind
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4237
      start: 4230
    functionDepth: 0
    functionLinenumber: 4230
    functionLinenumberEnd: 4237
    functionName: setShowKind
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SNode
    signature: SNode * setShowKind(SAstCreateContext* pCxt, SNode* pStmt, EShowKind
      showKind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4241,1
    - Dst: needDbShowStmt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4242,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4243,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4245,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4248,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4249,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4255,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - pCxt
    - type
    - pDbName
    - pTbName
    - tableCondType
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    - SNode*
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4258
      start: 4239
    functionDepth: 5
    functionLinenumber: 4239
    functionLinenumberEnd: 4258
    functionName: createShowStmtWithCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - snprintf
    - needDbShowStmt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createShowStmtWithCond(SAstCreateContext* pCxt, ENodeType
      type, SNode* pDbName, SNode* pTbName,\n                              EOperatorType
      tableCondType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4262,1
    - Dst: createDefaultDatabaseCondValue
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4265,1
    - Dst: createIdentifierValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4267,1
    - Dst: createShowStmtWithCond
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4275,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4276,1
    - Dst: setShowKind
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4277,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - option
    - pTbName
    - tableCondType
    argTypes:
    - SAstCreateContext*
    - SShowTablesOption
    - SNode*
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4282
      start: 4260
    functionDepth: 7
    functionLinenumber: 4260
    functionLinenumberEnd: 4282
    functionName: createShowTablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createIdentifierValueNode
    - createShowStmtWithCond
    - setShowKind
    - createDefaultDatabaseCondValue
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createShowTablesStmt(SAstCreateContext* pCxt, SShowTablesOption
      option, SNode* pTbName,\n                            EOperatorType tableCondType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4286,1
    - Dst: createDefaultDatabaseCondValue
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4289,1
    - Dst: createIdentifierValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4291,1
    - Dst: createShowStmtWithCond
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4299,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4300,1
    - Dst: setShowKind
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4301,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - option
    - pTbName
    - tableCondType
    argTypes:
    - SAstCreateContext*
    - SShowTablesOption
    - SNode*
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4306
      start: 4284
    functionDepth: 7
    functionLinenumber: 4284
    functionLinenumberEnd: 4306
    functionName: createShowVTablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createIdentifierValueNode
    - createShowStmtWithCond
    - setShowKind
    - createDefaultDatabaseCondValue
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createShowVTablesStmt(SAstCreateContext* pCxt, SShowTablesOption
      option, SNode* pTbName,\n                             EOperatorType tableCondType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4310,1
    - Dst: createDefaultDatabaseCondValue
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4313,1
    - Dst: createIdentifierValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4315,1
    - Dst: createShowStmtWithCond
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4324,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4325,1
    - Dst: setShowKind
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4326,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - option
    - pTbName
    - tableCondType
    argTypes:
    - SAstCreateContext*
    - SShowTablesOption
    - SNode*
    - EOperatorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4331
      start: 4308
    functionDepth: 7
    functionLinenumber: 4308
    functionLinenumberEnd: 4331
    functionName: createShowSTablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createIdentifierValueNode
    - createShowStmtWithCond
    - setShowKind
    - createDefaultDatabaseCondValue
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createShowSTablesStmt(SAstCreateContext* pCxt, SShowTablesOption
      option, SNode* pTbName,\n                             EOperatorType tableCondType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4334,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4335,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4335,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4337,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4338,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4343
      start: 4333
    functionDepth: 5
    functionLinenumber: 4333
    functionLinenumberEnd: 4343
    functionName: createShowCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowCreateDatabaseStmt(SAstCreateContext* pCxt, SToken*
      pDbName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4346,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4354,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4360,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4360,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4364,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4365,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4368,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4371,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4378
      start: 4345
    functionDepth: 5
    functionLinenumber: 4345
    functionLinenumberEnd: 4378
    functionName: createShowAliveStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - strlen
    - nodesDestroyNode
    - checkDbName
    - CHECK_PARSER_STATUS
    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:4381,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4383,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4384,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4385,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4386,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4387,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - type
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4392
      start: 4380
    functionDepth: 5
    functionLinenumber: 4380
    functionLinenumberEnd: 4392
    functionName: createShowCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowCreateTableStmt(SAstCreateContext* pCxt, ENodeType
      type, SNode* pRealTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4395,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4397,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4398,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4399,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4400,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4401,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - type
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4406
      start: 4394
    functionDepth: 5
    functionLinenumber: 4394
    functionLinenumberEnd: 4406
    functionName: createShowCreateVTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:4409,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4411,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4412,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4413,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4414,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4415,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - type
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4420
      start: 4408
    functionDepth: 5
    functionLinenumber: 4408
    functionLinenumberEnd: 4420
    functionName: createShowCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowCreateViewStmt(SAstCreateContext* pCxt, ENodeType
      type, SNode* pRealTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4423,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4425,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4426,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4427,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4428,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4429,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4434
      start: 4422
    functionDepth: 5
    functionLinenumber: 4422
    functionLinenumberEnd: 4434
    functionName: createShowTableDistributedStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:4437,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4439,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4440,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4445,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pDnodeId
    - pLikePattern
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4448
      start: 4436
    functionDepth: 5
    functionLinenumber: 4436
    functionLinenumberEnd: 4448
    functionName: createShowDnodeVariablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - 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:4451,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4453,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4454,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4459,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pDnodeId
    - pDnodeEndpoint
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4462
      start: 4450
    functionDepth: 5
    functionLinenumber: 4450
    functionLinenumberEnd: 4462
    functionName: createShowVnodesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - 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:4465,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4467,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4469,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4472,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4473,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4479,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4480,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pTbName
    - pDbName
    - pTags
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4483
      start: 4464
    functionDepth: 6
    functionLinenumber: 4464
    functionLinenumberEnd: 4483
    functionName: createShowTableTagsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:4486,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4488,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4489,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pCompactId
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4495
      start: 4485
    functionDepth: 5
    functionLinenumber: 4485
    functionLinenumberEnd: 4495
    functionName: createShowCompactDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - 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:4498,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4500,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4501,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pId
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4507
      start: 4497
    functionDepth: 5
    functionLinenumber: 4497
    functionLinenumberEnd: 4507
    functionName: createShowRetentionDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowRetentionDetailsStmt(SAstCreateContext* pCxt, SNode*
      pId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4510,1
    - Dst: nodesMakeNode
      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: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pTransactionIdNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4519
      start: 4509
    functionDepth: 5
    functionLinenumber: 4509
    functionLinenumberEnd: 4519
    functionName: createShowTransactionDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - 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:4522,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4524,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4525,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4527,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4528,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4529,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - type
    - pVTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4534
      start: 4521
    functionDepth: 5
    functionLinenumber: 4521
    functionLinenumberEnd: 4534
    functionName: createShowValidateVirtualTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowValidateVirtualTableStmt(SAstCreateContext* pCxt,
      ENodeType type, SNode* pVTable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4537,1
    - Dst: inet_pton
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4539,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4541,1
    - Dst: inet_pton
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4546,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4548,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - strIp
    - pIpRange
    argTypes:
    - char*
    - SIpRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4555
      start: 4536
    functionDepth: 0
    functionLinenumber: 4536
    functionLinenumberEnd: 4555
    functionName: parseIp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strchr
    - inet_pton
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool parseIp(const char* strIp, SIpRange* pIpRange)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4560,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4567,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4577,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4579,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4581,1
    - Dst: parseIp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4586,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4594,1
    - Dst: tIpRangeSetMask
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4599,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4607,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4608,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - pCxt
    - token
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4612
      start: 4559
    functionDepth: 5
    functionLinenumber: 4559
    functionLinenumberEnd: 4612
    functionName: parseIpRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - memcpy
    - taosStr2int32
    - tIpRangeSetMask
    - strdequote
    - parseIp
    - nodesMakeNode
    - strchr
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SIpRangeNode
    signature: SIpRangeNode * parseIpRange(SAstCreateContext* pCxt, const SToken*
      token)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4617,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4620,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4622,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4629,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4632,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4634,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4640,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4650,1
    - Dst: taosParseShortWeekday
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4654,1
    - Dst: isValidDateTimeRange
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4667,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4675,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4677,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 2
    argNames:
    - pCxt
    - token
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4679
      start: 4616
    functionDepth: 5
    functionLinenumber: 4616
    functionLinenumberEnd: 4679
    functionName: parseDateTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - memcpy
    - sscanf
    - taosParseShortWeekday
    - strdequote
    - nodesMakeNode
    - isValidDateTimeRange
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SDateTimeRangeNode
    signature: SDateTimeRangeNode * parseDateTimeRange(SAstCreateContext* pCxt, const
      SToken* token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4711
      start: 4682
    functionDepth: 5
    functionLinenumber: 4682
    functionLinenumberEnd: 4711
    functionName: createDefaultUserOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: SUserOptions
    signature: SUserOptions * createDefaultUserOptions(SAstCreateContext* pCxt)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: createDefaultUserOptions
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4717,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4728,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4731,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4737,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4740,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4746,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4755,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4764,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4773,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4782,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4791,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4800,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4809,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4818,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4827,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4836,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4845,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4854,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4863,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4872,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4881,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4890,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4901,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4913,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4925,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4937,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4950,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4954,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 212
    argCount: 3
    argNames:
    - pCxt
    - a
    - b
    argTypes:
    - SAstCreateContext*
    - SUserOptions*
    - SUserOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4956
      start: 4715
    functionDepth: 6
    functionLinenumber: 4715
    functionLinenumberEnd: 4956
    functionName: mergeUserOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - createDefaultUserOptions
    - tstrncpy
    - nodesDestroyNode
    - nodesListAppendList
    linkageType: ''
    returnType: SUserOptions
    signature: SUserOptions * mergeUserOptions(SAstCreateContext* pCxt, SUserOptions*
      a, SUserOptions* b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4964,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4969,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4974,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4976,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4977,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4980,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4982,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pUserOptions
    - pTotpseed
    argTypes:
    - SAstCreateContext*
    - SUserOptions*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4986
      start: 4960
    functionDepth: 2
    functionLinenumber: 4960
    functionLinenumberEnd: 4986
    functionName: setUserOptionsTotpseed
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - memcpy
    - strdequote
    - memset
    - tstrncpy
    - strtrim
    linkageType: ''
    returnType: void
    signature: void setUserOptionsTotpseed(SAstCreateContext* pCxt, SUserOptions*
      pUserOptions, const SToken* pTotpseed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4994,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4999,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5001,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5002,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5005,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5007,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pUserOptions
    - pPassword
    argTypes:
    - SAstCreateContext*
    - SUserOptions*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5011
      start: 4990
    functionDepth: 2
    functionLinenumber: 4990
    functionLinenumberEnd: 5011
    functionName: setUserOptionsPassword
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - memcpy
    - strdequote
    - tstrncpy
    - strtrim
    linkageType: ''
    returnType: void
    signature: void setUserOptionsPassword(SAstCreateContext* pCxt, SUserOptions*
      pUserOptions, const SToken* pPassword)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5017,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5022,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5027,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5032,1
    - Dst: taosIsComplexString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5036,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5037,1
    - Dst: isValidPassword
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5041,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5042,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5047,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5052,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5057,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5062,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5067,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5072,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5077,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5082,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5087,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5092,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5097,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5102,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5107,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5112,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 82
    argCount: 2
    argNames:
    - pCxt
    - opts
    argTypes:
    - SAstCreateContext*
    - SUserOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5119
      start: 5015
    functionDepth: 2
    functionLinenumber: 5015
    functionLinenumberEnd: 5119
    functionName: isValidUserOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - taosIsComplexString
    - isValidPassword
    linkageType: ''
    returnType: bool
    signature: bool isValidUserOptions(SAstCreateContext* pCxt, const SUserOptions*
      opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5126,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5127,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5127,1
    - Dst: isValidUserOptions
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5129,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5133,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5134,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5150,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5151,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5152,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5175,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5176,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5177,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5180,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5185,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5186,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5187,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5190,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5195,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5197,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5201,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 67
    argCount: 4
    argNames:
    - pCxt
    - pUserName
    - opts
    - ignoreExists
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SUserOptions*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5204
      start: 5123
    functionDepth: 5
    functionLinenumber: 5123
    functionLinenumberEnd: 5204
    functionName: createCreateUserStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - isValidUserOptions
    - taosMemoryMalloc
    - CHECK_MAKE_NODE
    - checkUserName
    - TSWAP
    - LIST_LENGTH
    - CHECK_OUT_OF_MEM
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - tstrncpy
    - FOREACH
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateUserStmt(SAstCreateContext* pCxt, SToken* pUserName,
      SUserOptions* opts, bool ignoreExists)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5210,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5211,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5211,1
    - Dst: isValidUserOptions
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5212,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5216,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5217,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5218,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5223,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pUserName
    - pUserOptions
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SUserOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5226
      start: 5208
    functionDepth: 5
    functionLinenumber: 5208
    functionLinenumberEnd: 5226
    functionName: createAlterUserStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - isValidUserOptions
    - CHECK_MAKE_NODE
    - checkUserName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterUserStmt(SAstCreateContext* pCxt, SToken* pUserName,
      SUserOptions* pUserOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5231,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5232,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5232,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5234,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5235,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pUserName
    - ignoreNotExists
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5241
      start: 5230
    functionDepth: 5
    functionLinenumber: 5230
    functionLinenumberEnd: 5241
    functionName: createDropUserStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - checkUserName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropUserStmt(SAstCreateContext* pCxt, SToken* pUserName,
      bool ignoreNotExists)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5248,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5252,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5255,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pName
    - checkSysName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5261
      start: 5243
    functionDepth: 2
    functionLinenumber: 5243
    functionLinenumberEnd: 5261
    functionName: checkRoleName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - trimEscape
    - generateSyntaxErrMsg
    - taosStrncasecmp
    linkageType: ''
    returnType: bool
    signature: bool checkRoleName(SAstCreateContext* pCxt, SToken* pName, bool checkSysName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5275
      start: 5264
    functionDepth: 5
    functionLinenumber: 5264
    functionLinenumberEnd: 5275
    functionName: createDefaultTokenOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: STokenOptions
    signature: STokenOptions * createDefaultTokenOptions(SAstCreateContext* pCxt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: createDefaultTokenOptions
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5281,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5292,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5301,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5310,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5313,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5319,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5322,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - pCxt
    - a
    - b
    argTypes:
    - SAstCreateContext*
    - STokenOptions*
    - STokenOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5327
      start: 5279
    functionDepth: 6
    functionLinenumber: 5279
    functionLinenumberEnd: 5327
    functionName: mergeTokenOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesDestroyNode
    - generateSyntaxErrMsg
    - createDefaultTokenOptions
    - tstrncpy
    linkageType: ''
    returnType: STokenOptions
    signature: STokenOptions * mergeTokenOptions(SAstCreateContext* pCxt, STokenOptions*
      a, STokenOptions* b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5335,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5340,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5342,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5343,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5346,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pTokenOptions
    - pProvider
    argTypes:
    - SAstCreateContext*
    - STokenOptions*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5350
      start: 5331
    functionDepth: 2
    functionLinenumber: 5331
    functionLinenumberEnd: 5350
    functionName: setTokenOptionsProvider
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - memcpy
    - strdequote
    - tstrncpy
    - strtrim
    linkageType: ''
    returnType: void
    signature: void setTokenOptionsProvider(SAstCreateContext* pCxt, STokenOptions*
      pTokenOptions, const SToken* pProvider)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5358,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5363,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5365,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5366,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5369,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pTokenOptions
    - pExtraInfo
    argTypes:
    - SAstCreateContext*
    - STokenOptions*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5373
      start: 5354
    functionDepth: 2
    functionLinenumber: 5354
    functionLinenumberEnd: 5373
    functionName: setTokenOptionsExtraInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - memcpy
    - strdequote
    - tstrncpy
    - strtrim
    linkageType: ''
    returnType: void
    signature: void setTokenOptionsExtraInfo(SAstCreateContext* pCxt, STokenOptions*
      pTokenOptions, const SToken* pExtraInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5379,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - opts
    argTypes:
    - SAstCreateContext*
    - STokenOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5389
      start: 5377
    functionDepth: 2
    functionLinenumber: 5377
    functionLinenumberEnd: 5389
    functionName: isValidTokenOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool isValidTokenOptions(SAstCreateContext* pCxt, const STokenOptions*
      opts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5398,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pTokenName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5405
      start: 5393
    functionDepth: 2
    functionLinenumber: 5393
    functionLinenumberEnd: 5405
    functionName: checkTokenName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: bool checkTokenName(SAstCreateContext* pCxt, SToken* pTokenName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5408,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5409,1
    - Dst: checkRoleName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5409,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5411,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5412,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - ignoreExists
    - pName
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5418
      start: 5407
    functionDepth: 5
    functionLinenumber: 5407
    functionLinenumberEnd: 5418
    functionName: createCreateRoleStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkRoleName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateRoleStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SToken* pName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5421,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5422,1
    - Dst: checkRoleName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5422,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5424,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5425,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pName
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5431
      start: 5420
    functionDepth: 5
    functionLinenumber: 5420
    functionLinenumberEnd: 5431
    functionName: createDropRoleStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkRoleName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropRoleStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SToken* pName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5438,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5439,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5439,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5440,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5441,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5442,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5447,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pName
    - alterType
    - pAlterInfo
    argTypes:
    - SAstCreateContext*
    - SToken*
    - int8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5457
      start: 5436
    functionDepth: 5
    functionLinenumber: 5436
    functionLinenumberEnd: 5457
    functionName: createAlterRoleStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int8
    - CHECK_MAKE_NODE
    - checkUserName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterRoleStmt(SAstCreateContext* pCxt, SToken* pName,
      int8_t alterType, void* pAlterInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5463,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5464,1
    - Dst: checkTokenName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5464,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5465,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5465,1
    - Dst: createDefaultTokenOptions
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5468,1
    - Dst: isValidTokenOptions
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5469,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5473,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5474,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5476,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5477,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5481,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5482,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5483,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5487,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 5
    argNames:
    - pCxt
    - pTokenName
    - pUserName
    - opts
    - ignoreExists
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - STokenOptions*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5490
      start: 5460
    functionDepth: 6
    functionLinenumber: 5460
    functionLinenumberEnd: 5490
    functionName: createCreateTokenStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkTokenName
    - CHECK_MAKE_NODE
    - checkUserName
    - createDefaultTokenOptions
    - CHECK_NAME
    - isValidTokenOptions
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateTokenStmt(SAstCreateContext* pCxt, SToken* pTokenName,
      SToken* pUserName, STokenOptions* opts, bool ignoreExists)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5497,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5498,1
    - Dst: checkTokenName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5498,1
    - Dst: isValidTokenOptions
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5499,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5503,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5504,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5506,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5511,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pTokenName
    - opts
    argTypes:
    - SAstCreateContext*
    - SToken*
    - STokenOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5514
      start: 5494
    functionDepth: 5
    functionLinenumber: 5494
    functionLinenumberEnd: 5514
    functionName: createAlterTokenStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkTokenName
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - isValidTokenOptions
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterTokenStmt(SAstCreateContext* pCxt, SToken* pTokenName,
      STokenOptions* opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5521,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5522,1
    - Dst: checkTokenName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5522,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5524,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5525,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5527,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pTokenName
    - ignoreNotExists
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5534
      start: 5518
    functionDepth: 5
    functionLinenumber: 5518
    functionLinenumberEnd: 5534
    functionName: createDropTokenStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkTokenName
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropTokenStmt(SAstCreateContext* pCxt, SToken* pTokenName,
      bool ignoreNotExists)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5539,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5540,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5540,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5542,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5543,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5545,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pUserName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5551
      start: 5536
    functionDepth: 5
    functionLinenumber: 5536
    functionLinenumberEnd: 5551
    functionName: createCreateTotpSecretStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - checkUserName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateTotpSecretStmt(SAstCreateContext* pCxt, SToken*
      pUserName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5557,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5558,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5558,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5560,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5561,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5563,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pUserName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5569
      start: 5554
    functionDepth: 5
    functionLinenumber: 5554
    functionLinenumberEnd: 5569
    functionName: createDropTotpSecretStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - checkUserName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropTotpSecretStmt(SAstCreateContext* pCxt, SToken* pUserName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5573,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5575,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5579,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5580,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - algorithmId
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5585
      start: 5572
    functionDepth: 5
    functionLinenumber: 5572
    functionLinenumberEnd: 5585
    functionName: createDropEncryptAlgrStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropEncryptAlgrStmt(SAstCreateContext* pCxt, SToken*
      algorithmId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5588,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5590,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5591,1
    - Dst: checkAndSplitEndpoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5592,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pFqdn
    - pPort
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5599
      start: 5587
    functionDepth: 5
    functionLinenumber: 5587
    functionLinenumberEnd: 5599
    functionName: createCreateDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkAndSplitEndpoint
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateDnodeStmt(SAstCreateContext* pCxt, const SToken*
      pFqdn, const SToken* pPort)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5602,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5604,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5605,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5607,1
    - Dst: checkAndSplitEndpoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5609,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pDnode
    - force
    - unsafe
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5619
      start: 5601
    functionDepth: 5
    functionLinenumber: 5601
    functionLinenumberEnd: 5619
    functionName: createDropDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkAndSplitEndpoint
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropDnodeStmt(SAstCreateContext* pCxt, const SToken*
      pDnode, bool force, bool unsafe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5623,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5625,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5626,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5628,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5632,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pDnode
    - pConfig
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5639
      start: 5621
    functionDepth: 5
    functionLinenumber: 5621
    functionLinenumberEnd: 5639
    functionName: createAlterDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createAlterDnodeStmt(SAstCreateContext* pCxt, const SToken*
      pDnode, const SToken* pConfig,\n                            const SToken* pValue)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5643,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5645,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5646,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5648,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5652,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5656,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5660,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5664,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5667,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5668,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5669,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5670,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5671,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 6
    argNames:
    - pCxt
    - algorithmId
    - name
    - desc
    - type
    - osslAlgrName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SToken*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5675
      start: 5641
    functionDepth: 5
    functionLinenumber: 5641
    functionLinenumberEnd: 5675
    functionName: createCreateAlgrStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateAlgrStmt(SAstCreateContext* pCxt, SToken* algorithmId,
      const SToken* name, const SToken* desc,\n                            const SToken*
      type, const SToken* osslAlgrName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5678,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5680,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5681,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pUrl
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5686
      start: 5677
    functionDepth: 5
    functionLinenumber: 5677
    functionLinenumberEnd: 5686
    functionName: createCreateAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - trimString
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateAnodeStmt(SAstCreateContext* pCxt, const SToken*
      pUrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5689,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5691,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5692,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pAnode
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5701
      start: 5688
    functionDepth: 5
    functionLinenumber: 5688
    functionLinenumberEnd: 5701
    functionName: createDropAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropAnodeStmt(SAstCreateContext* pCxt, const SToken*
      pAnode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5704,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5706,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5707,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pAnode
    - updateAll
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5716
      start: 5703
    functionDepth: 5
    functionLinenumber: 5703
    functionLinenumberEnd: 5716
    functionName: createUpdateAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createUpdateAnodeStmt(SAstCreateContext* pCxt, const SToken*
      pAnode, bool updateAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5719,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5721,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5722,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pDnodeId
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5730
      start: 5718
    functionDepth: 5
    functionLinenumber: 5718
    functionLinenumberEnd: 5730
    functionName: createCreateBnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateBnodeStmt(SAstCreateContext* pCxt, const SToken*
      pDnodeId, SNode* pOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5733,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5735,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5736,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pDnodeId
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5742
      start: 5732
    functionDepth: 5
    functionLinenumber: 5732
    functionLinenumberEnd: 5742
    functionName: createDropBnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropBnodeStmt(SAstCreateContext* pCxt, const SToken*
      pDnodeId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5745,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5747,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5748,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5756
      start: 5744
    functionDepth: 5
    functionLinenumber: 5744
    functionLinenumberEnd: 5756
    functionName: createDefaultBnodeOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDefaultBnodeOptions(SAstCreateContext* pCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5760,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5764,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - pBodeOptions
    - type
    - pVal
    - alter
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EBnodeOptionType
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5774
      start: 5758
    functionDepth: 4
    functionLinenumber: 5758
    functionLinenumberEnd: 5774
    functionName: setBnodeOptionImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - COPY_STRING_FORM_STR_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * setBnodeOptionImpl(SAstCreateContext* pCxt, SNode* pBodeOptions,
      EBnodeOptionType type, void* pVal,\n                                 bool alter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5777,1
    - Dst: setBnodeOptionImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - pOption
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5783
      start: 5776
    functionDepth: 5
    functionLinenumber: 5776
    functionLinenumberEnd: 5783
    functionName: setBnodeOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - setBnodeOptionImpl
    linkageType: ''
    returnType: SNode
    signature: SNode * setBnodeOption(SAstCreateContext* pCxt, SNode* pOptions, const
      SToken* pOption, void* pVal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5786,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5788,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5789,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5791,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5796,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5801,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5804,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pUrl
    - pToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5809
      start: 5785
    functionDepth: 5
    functionLinenumber: 5785
    functionLinenumberEnd: 5809
    functionName: createCreateXnodeWithTokenStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimString
    - CHECK_MAKE_NODE
    - TMIN
    - nodesMakeNode
    - tstrncpy
    - generateSyntaxErrMsgExt
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateXnodeWithTokenStmt(SAstCreateContext* pCxt, const
      SToken* pUrl, SToken* pToken)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5813,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5815,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5816,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5818,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5821,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5821,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5822,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5827,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - pCxt
    - pUrl
    - pUser
    - pPass
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5836
      start: 5811
    functionDepth: 5
    functionLinenumber: 5811
    functionLinenumberEnd: 5836
    functionName: createCreateXnodeWithUserPassStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimString
    - CHECK_MAKE_NODE
    - checkUserName
    - nodesMakeNode
    - CHECK_NAME
    - COPY_STRING_FORM_ID_TOKEN
    - tstrncpy
    - generateSyntaxErrMsgExt
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateXnodeWithUserPassStmt(SAstCreateContext* pCxt,
      const SToken* pUrl, SToken* pUser,\n                                         const
      SToken* pPass)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5838,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5840,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5841,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pUrl
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5846
      start: 5837
    functionDepth: 5
    functionLinenumber: 5837
    functionLinenumberEnd: 5846
    functionName: createCreateXnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - trimString
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateXnodeStmt(SAstCreateContext* pCxt, const SToken*
      pUrl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5851,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5854,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5856,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5857,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5863,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5866,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5868,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5871,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pXnode
    - force
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5877
      start: 5848
    functionDepth: 5
    functionLinenumber: 5848
    functionLinenumberEnd: 5877
    functionName: createDropXnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - COPY_STRING_FORM_STR_TOKEN
    - generateSyntaxErrMsgExt
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropXnodeStmt(SAstCreateContext* pCxt, const SToken*
      pXnode, bool force)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5880,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5883,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5887,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5892,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5893,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5894,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5897,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pXnode
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5904
      start: 5879
    functionDepth: 5
    functionLinenumber: 5879
    functionLinenumberEnd: 5904
    functionName: createDrainXnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDrainXnodeStmt(SAstCreateContext* pCxt, const SToken*
      pXnode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5907,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5909,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5910,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5912,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5917,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5921,1
    - Dst: COPY_COW_STR_FROM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5926,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5927,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5932,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - pCxt
    - pToken
    - pUser
    - pPass
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5934
      start: 5906
    functionDepth: 5
    functionLinenumber: 5906
    functionLinenumberEnd: 5934
    functionName: createAlterXnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - COPY_COW_STR_FROM_ID_TOKEN
    - nodesMakeNode
    - xCreateCowStr
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterXnodeStmt(SAstCreateContext* pCxt, const SToken*
      pToken, const SToken* pUser, const SToken* pPass)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5937,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5946,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5946,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5949,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5950,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5953,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5953,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5957,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5961,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5961,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5964,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5964,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5967,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5967,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5970,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pResourceId
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5976
      start: 5936
    functionDepth: 1
    functionLinenumber: 5936
    functionLinenumberEnd: 5976
    functionName: setXnodeResourceType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strncmp
    - generateSyntaxErrMsgExt
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: EXnodeResourceType
    signature: EXnodeResourceType setXnodeResourceType(SAstCreateContext* pCxt, const
      SToken* pResourceId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5979,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5980,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5982,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5987,1
    - Dst: COPY_COW_STR_FROM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:5993,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5997
      start: 5977
    functionDepth: 5
    functionLinenumber: 5977
    functionLinenumberEnd: 5997
    functionName: createXnodeSourceAsDsn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - COPY_COW_STR_FROM_STR_TOKEN
    - CHECK_MAKE_NODE
    linkageType: ''
    returnType: SNode
    signature: SNode * createXnodeSourceAsDsn(SAstCreateContext* pCxt, const SToken*
      pToken)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6000,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6001,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6003,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6008,1
    - Dst: COPY_COW_STR_FROM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6014,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6018
      start: 5998
    functionDepth: 5
    functionLinenumber: 5998
    functionLinenumberEnd: 6018
    functionName: createXnodeSourceAsDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - CHECK_MAKE_NODE
    - COPY_COW_STR_FROM_ID_TOKEN
    linkageType: ''
    returnType: SNode
    signature: SNode * createXnodeSourceAsDatabase(SAstCreateContext* pCxt, const
      SToken* pToken)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6021,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6022,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6024,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6029,1
    - Dst: COPY_COW_STR_FROM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6035,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6039
      start: 6019
    functionDepth: 5
    functionLinenumber: 6019
    functionLinenumberEnd: 6039
    functionName: createXnodeSourceAsTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - COPY_COW_STR_FROM_STR_TOKEN
    - CHECK_MAKE_NODE
    linkageType: ''
    returnType: SNode
    signature: SNode * createXnodeSourceAsTopic(SAstCreateContext* pCxt, const SToken*
      pToken)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6042,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6043,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6045,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6050,1
    - Dst: COPY_COW_STR_FROM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6056,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6060
      start: 6040
    functionDepth: 5
    functionLinenumber: 6040
    functionLinenumberEnd: 6060
    functionName: createXnodeSinkAsDsn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - COPY_COW_STR_FROM_STR_TOKEN
    - CHECK_MAKE_NODE
    linkageType: ''
    returnType: SNode
    signature: SNode * createXnodeSinkAsDsn(SAstCreateContext* pCxt, const SToken*
      pToken)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6063,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6064,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6066,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6071,1
    - Dst: COPY_COW_STR_FROM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6078,1
    - Dst: COPY_COW_STR_FROM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6080,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6082,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6090
      start: 6061
    functionDepth: 5
    functionLinenumber: 6061
    functionLinenumberEnd: 6090
    functionName: createXnodeSinkAsDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - COPY_COW_STR_FROM_STR_TOKEN
    - COPY_COW_STR_FROM_ID_TOKEN
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: SNode
    signature: SNode * createXnodeSinkAsDatabase(SAstCreateContext* pCxt, const SToken*
      pToken)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6097,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6101,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6105,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6105,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6106,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6110,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6111,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6116,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6120,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6122,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6124,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6138,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6146,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6149,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 5
    argNames:
    - pCxt
    - pResourceName
    - pSource
    - pSink
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6152
      start: 6092
    functionDepth: 5
    functionLinenumber: 6092
    functionLinenumberEnd: 6152
    functionName: createXnodeTaskWithOptionsDirectly
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodeType
    - nodesMakeNode
    - COPY_STRING_FORM_STR_TOKEN
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: "SNode * createXnodeTaskWithOptionsDirectly(SAstCreateContext* pCxt,
      const SToken* pResourceName, SNode* pSource,\n                                          SNode*
      pSink, SNode* pNode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6156,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6157,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6161,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6170,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6174,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6176,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pResourceName
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6187
      start: 6154
    functionDepth: 5
    functionLinenumber: 6154
    functionLinenumberEnd: 6187
    functionName: createXnodeAgentWithOptionsDirectly
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodeType
    - COPY_STRING_FORM_STR_TOKEN
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createXnodeAgentWithOptionsDirectly(SAstCreateContext* pCxt,
      const SToken* pResourceName, SNode* pOptions)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6191,1
    - Dst: createXnodeTaskWithOptionsDirectly
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6195,1
    - Dst: createXnodeAgentWithOptionsDirectly
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6202,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6209,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6214,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6215,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 6
    argNames:
    - pCxt
    - resourceType
    - pResourceName
    - pSource
    - pSink
    - pOptions
    argTypes:
    - SAstCreateContext*
    - EXnodeResourceType
    - SToken*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6218
      start: 6189
    functionDepth: 6
    functionLinenumber: 6189
    functionLinenumberEnd: 6218
    functionName: createXnodeTaskWithOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createXnodeAgentWithOptionsDirectly
    - createXnodeTaskWithOptionsDirectly
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createXnodeTaskWithOptions(SAstCreateContext* pCxt, EXnodeResourceType
      resourceType, const SToken* pResourceName,\n                                  SNode*
      pSource, SNode* pSink, SNode* pOptions)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6222,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6224,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6229,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6234,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6235,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6238,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6241,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6247,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6252,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6253,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6253,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6259,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - pCxt
    - resourceType
    - pIdOrName
    argTypes:
    - SAstCreateContext*
    - EXnodeResourceType
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6262
      start: 6220
    functionDepth: 5
    functionLinenumber: 6220
    functionLinenumberEnd: 6262
    functionName: createStartXnodeTaskStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - xCreateCowStr
    - COPY_STRING_FORM_STR_TOKEN
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createStartXnodeTaskStmt(SAstCreateContext* pCxt, const EXnodeResourceType
      resourceType, SToken* pIdOrName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6266,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6268,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6273,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6277,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6278,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6281,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6284,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6290,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6295,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6296,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6296,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6302,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - pCxt
    - resourceType
    - pIdOrName
    argTypes:
    - SAstCreateContext*
    - EXnodeResourceType
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6305
      start: 6264
    functionDepth: 5
    functionLinenumber: 6264
    functionLinenumberEnd: 6305
    functionName: createStopXnodeTaskStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - xCreateCowStr
    - COPY_STRING_FORM_STR_TOKEN
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createStopXnodeTaskStmt(SAstCreateContext* pCxt, const EXnodeResourceType
      resourceType, SToken* pIdOrName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6311,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6316,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6321,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6324,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6325,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6329,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6330,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pResourceId
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6340
      start: 6307
    functionDepth: 5
    functionLinenumber: 6307
    functionLinenumberEnd: 6340
    functionName: rebalanceXnodeJobWithOptionsDirectly
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodeType
    - generateSyntaxErrMsgExt
    - taosStr2Int32
    linkageType: ''
    returnType: SNode
    signature: SNode * rebalanceXnodeJobWithOptionsDirectly(SAstCreateContext* pCxt,
      const SToken* pResourceId, SNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6344,1
    - Dst: rebalanceXnodeJobWithOptionsDirectly
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6348,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - resourceType
    - resourceId
    - pNodeOptions
    argTypes:
    - SAstCreateContext*
    - EXnodeResourceType
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6358
      start: 6342
    functionDepth: 6
    functionLinenumber: 6342
    functionLinenumberEnd: 6358
    functionName: createRebalanceXnodeJobStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - rebalanceXnodeJobWithOptionsDirectly
    - generateSyntaxErrMsgExt
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createRebalanceXnodeJobStmt(SAstCreateContext* pCxt, EXnodeResourceType
      resourceType, const SToken* resourceId,\n                                   SNode*
      pNodeOptions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6364,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pWhere
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6373
      start: 6360
    functionDepth: 5
    functionLinenumber: 6360
    functionLinenumberEnd: 6373
    functionName: rebalanceXnodeJobWhereDirectly
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    linkageType: ''
    returnType: SNode
    signature: SNode * rebalanceXnodeJobWhereDirectly(SAstCreateContext* pCxt, SNode*
      pWhere)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6376,1
    - Dst: rebalanceXnodeJobWhereDirectly
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6380,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - resourceType
    - pWhere
    argTypes:
    - SAstCreateContext*
    - EXnodeResourceType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6390
      start: 6375
    functionDepth: 6
    functionLinenumber: 6375
    functionLinenumberEnd: 6390
    functionName: createRebalanceXnodeJobWhereStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsgExt
    - rebalanceXnodeJobWhereDirectly
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createRebalanceXnodeJobWhereStmt(SAstCreateContext* pCxt, EXnodeResourceType
      resourceType, SNode* pWhere)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6396,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6397,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6398,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6403,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6408,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6409,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6412,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6416,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6420,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6421,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6421,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6433,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6441,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 5
    argNames:
    - pCxt
    - pResIdOrName
    - pSource
    - pSink
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6444
      start: 6392
    functionDepth: 5
    functionLinenumber: 6392
    functionLinenumberEnd: 6444
    functionName: updateXnodeTaskWithOptionsDirectly
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_MAKE_NODE
    - nodeType
    - nodesMakeNode
    - xCreateCowStr
    - COPY_STRING_FORM_STR_TOKEN
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - taosStr2Int32
    linkageType: ''
    returnType: SNode
    signature: "SNode * updateXnodeTaskWithOptionsDirectly(SAstCreateContext* pCxt,
      const SToken* pResIdOrName, SNode* pSource,\n                                          SNode*
      pSink, SNode* pNode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6450,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6455,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6460,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6463,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6464,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6468,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6469,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6471,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6478,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pCxt
    - pResourceName
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6481
      start: 6446
    functionDepth: 5
    functionLinenumber: 6446
    functionLinenumberEnd: 6481
    functionName: alterXnodeJobWithOptionsDirectly
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodeType
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - taosStr2Int32
    linkageType: ''
    returnType: SNode
    signature: SNode * alterXnodeJobWithOptionsDirectly(SAstCreateContext* pCxt, const
      SToken* pResourceName, SNode* pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6487,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6491,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6492,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6495,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6499,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6503,1
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6504,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6504,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6507,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6515,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - pCxt
    - pResIdOrName
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6518
      start: 6483
    functionDepth: 5
    functionLinenumber: 6483
    functionLinenumberEnd: 6518
    functionName: alterXnodeAgentWithOptionsDirectly
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodeType
    - xCreateCowStr
    - COPY_STRING_FORM_STR_TOKEN
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - taosStr2Int32
    linkageType: ''
    returnType: SNode
    signature: SNode * alterXnodeAgentWithOptionsDirectly(SAstCreateContext* pCxt,
      const SToken* pResIdOrName, SNode* pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6522,1
    - Dst: updateXnodeTaskWithOptionsDirectly
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6526,1
    - Dst: alterXnodeAgentWithOptionsDirectly
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6529,1
    - Dst: alterXnodeJobWithOptionsDirectly
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6532,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 6
    argNames:
    - pCxt
    - resourceType
    - pResIdOrName
    - pSource
    - pSink
    - pNode
    argTypes:
    - SAstCreateContext*
    - EXnodeResourceType
    - SToken*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6541
      start: 6520
    functionDepth: 6
    functionLinenumber: 6520
    functionLinenumberEnd: 6541
    functionName: alterXnodeTaskWithOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - updateXnodeTaskWithOptionsDirectly
    - alterXnodeAgentWithOptionsDirectly
    - alterXnodeJobWithOptionsDirectly
    - generateSyntaxErrMsgExt
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * alterXnodeTaskWithOptions(SAstCreateContext* pCxt, EXnodeResourceType
      resourceType, const SToken* pResIdOrName,\n                                 SNode*
      pSource, SNode* pSink, SNode* pNode)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6547,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6549,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6554,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6561,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6562,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6567,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6572,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6573,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6575,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6576,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6578,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6580,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6586,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6587,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6592,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6597,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6598,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6600,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6601,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6603,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6605,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6611,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6612,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6616,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6618,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6620,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6631,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 3
    argNames:
    - pCxt
    - resourceType
    - pResourceName
    argTypes:
    - SAstCreateContext*
    - EXnodeResourceType
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6634
      start: 6543
    functionDepth: 5
    functionLinenumber: 6543
    functionLinenumberEnd: 6634
    functionName: dropXnodeResource
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - taosStrndupi
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - COPY_STRING_FORM_STR_TOKEN
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * dropXnodeResource(SAstCreateContext* pCxt, EXnodeResourceType
      resourceType, SToken* pResourceName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6637,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6642,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6646,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6647,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - resourceType
    - pWhere
    argTypes:
    - SAstCreateContext*
    - EXnodeResourceType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6657
      start: 6636
    functionDepth: 5
    functionLinenumber: 6636
    functionLinenumberEnd: 6657
    functionName: dropXnodeResourceWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * dropXnodeResourceWhere(SAstCreateContext* pCxt, EXnodeResourceType
      resourceType, SNode* pWhere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6660,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6662,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6667
      start: 6659
    functionDepth: 5
    functionLinenumber: 6659
    functionLinenumberEnd: 6667
    functionName: createDefaultXnodeTaskOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDefaultXnodeTaskOptions(SAstCreateContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6675
      start: 6675
    functionDepth: 0
    functionLinenumber: 6675
    functionLinenumberEnd: 6675
    functionName: createTriggerToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SToken
    signature: SToken * createTriggerToken()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6678,1
    - Dst: createDefaultXnodeTaskOptions
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6680,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6683,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6691,1
    - Dst: TRIM_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6694,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6696,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6698,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6703,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6705,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6709,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6712,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6712,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6715,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6721,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6724,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6725,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6728,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6731,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6733,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6737,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6740,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6743,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6744,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6746,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6752,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6756,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6762,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6763,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6764,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6766,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6767,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6768,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6773,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6775,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6775,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6779,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6780,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6781,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6782,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6783,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6788,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6795,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 112
    argCount: 4
    argNames:
    - pCxt
    - pTaskOptions
    - pKey
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6797
      start: 6677
    functionDepth: 6
    functionLinenumber: 6677
    functionLinenumberEnd: 6797
    functionName: setXnodeTaskOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strcmp
    - taosMemoryMalloc
    - memcpy
    - trimString
    - taosStr2Int32
    - parserDebug
    - TAOS_STRNCPY
    - TMIN
    - CHECK_OUT_OF_MEM
    - generateSyntaxErrMsgExt
    - memset
    - CHECK_PARSER_STATUS
    - nodesDestroyNode
    - strlen
    - TRIM_STRING_FORM_ID_TOKEN
    - taosMemFreeClear
    - taosMemoryCalloc
    - createDefaultXnodeTaskOptions
    linkageType: ''
    returnType: SNode
    signature: SNode *  setXnodeTaskOption(SAstCreateContext* pCxt, SNode* pTaskOptions,
      SToken* pKey, SToken* pVal)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6801,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6807,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6811,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6812,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6816,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6817,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6820,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6824,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6831,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - pCxt
    - resourceType
    - pTidToken
    - pNodeOptions
    argTypes:
    - SAstCreateContext*
    - EXnodeResourceType
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6834
      start: 6799
    functionDepth: 5
    functionLinenumber: 6799
    functionLinenumberEnd: 6834
    functionName: createXnodeTaskJobWithOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodeType
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createXnodeTaskJobWithOptions(SAstCreateContext* pCxt, EXnodeResourceType
      resourceType, const SToken* pTidToken,\n                                     SNode*
      pNodeOptions)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6837,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6842,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6843,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6846,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6850,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6851,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6854,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pResourceId
    - privType
    argTypes:
    - SAstCreateContext*
    - SToken*
    - EPrivType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6859
      start: 6836
    functionDepth: 1
    functionLinenumber: 6836
    functionLinenumberEnd: 6859
    functionName: xnodeResourceToPrivType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strncmp
    - generateSyntaxErrMsgExt
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: EPrivType
    signature: EPrivType xnodeResourceToPrivType(SAstCreateContext* pCxt, SToken*
      pResourceId, EPrivType privType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xnodeResourceToPrivType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6862,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - resId
    - privLevelArgs
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SPrivLevelArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6867
      start: 6861
    functionDepth: 2
    functionLinenumber: 6861
    functionLinenumberEnd: 6867
    functionName: xnodeTaskObjPrivLevelSet
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - xnodeResourceToPrivType
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SPrivLevelArgs
    signature: SPrivLevelArgs xnodeTaskObjPrivLevelSet(SAstCreateContext* pCxt, SToken*
      resId, SPrivLevelArgs privLevelArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6873,1
    - Dst: createAlterDnodeStmt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6875
      start: 6869
    functionDepth: 6
    functionLinenumber: 6869
    functionLinenumberEnd: 6875
    functionName: createEncryptKeyStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - createAlterDnodeStmt
    linkageType: ''
    returnType: SNode
    signature: SNode * createEncryptKeyStmt(SAstCreateContext* pCxt, const SToken*
      pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6878,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6880,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6881,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - keyType
    - pValue
    argTypes:
    - SAstCreateContext*
    - int8_t
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6891
      start: 6877
    functionDepth: 5
    functionLinenumber: 6877
    functionLinenumberEnd: 6891
    functionName: createAlterEncryptKeyStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - trimString
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterEncryptKeyStmt(SAstCreateContext* pCxt, int8_t keyType,
      const SToken* pValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6894,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6896,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6897,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6900,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pDays
    - pStrategy
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6909
      start: 6893
    functionDepth: 5
    functionLinenumber: 6893
    functionLinenumberEnd: 6909
    functionName: createAlterKeyExpirationStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterKeyExpirationStmt(SAstCreateContext* pCxt, const
      SToken* pDays, const SToken* pStrategy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkIndexName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6912,1
    - Dst: createRealTableNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pIndexName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6916
      start: 6911
    functionDepth: 6
    functionLinenumber: 6911
    functionLinenumberEnd: 6916
    functionName: createRealTableNodeForIndexName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkIndexName
    - createRealTableNode
    linkageType: ''
    returnType: SNode
    signature: SNode * createRealTableNodeForIndexName(SAstCreateContext* pCxt, SToken*
      pDbName, SToken* pIndexName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6920,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6922,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6923,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6928,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6931,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6932,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6934,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6937,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6939,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6940,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6941,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6942,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6943,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6948,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6949,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6950,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 7
    argNames:
    - pCxt
    - type
    - ignoreExists
    - pIndexName
    - pRealTable
    - pCols
    - pOptions
    argTypes:
    - SAstCreateContext*
    - EIndexType
    - bool
    - SNode*
    - SNode*
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6953
      start: 6918
    functionDepth: 6
    functionLinenumber: 6918
    functionLinenumberEnd: 6953
    functionName: createCreateIndexStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - generateSyntaxErrMsg
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - snprintf
    - strlen
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateIndexStmt(SAstCreateContext* pCxt, EIndexType
      type, bool ignoreExists, SNode* pIndexName,\n                             SNode*
      pRealTable, SNodeList* pCols, SNode* pOptions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6957,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6959,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6960,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6968,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6969,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6970,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 6
    argNames:
    - pCxt
    - pFuncs
    - pInterval
    - pOffset
    - pSliding
    - pStreamOptions
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    - SNode*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6973
      start: 6955
    functionDepth: 5
    functionLinenumber: 6955
    functionLinenumberEnd: 6973
    functionName: createIndexOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createIndexOption(SAstCreateContext* pCxt, SNodeList* pFuncs,
      SNode* pInterval, SNode* pOffset, SNode* pSliding,\n                         SNode*
      pStreamOptions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6976,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6978,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6979,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6981,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6982,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6983,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pIndexName
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6988
      start: 6975
    functionDepth: 5
    functionLinenumber: 6975
    functionLinenumberEnd: 6988
    functionName: createDropIndexStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:6991,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6993,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6994,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:6995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - type
    - pDnodeId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6999
      start: 6990
    functionDepth: 5
    functionLinenumber: 6990
    functionLinenumberEnd: 6999
    functionName: createCreateComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - 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:7002,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7004,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7005,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - type
    - pDnodeId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7010
      start: 7001
    functionDepth: 5
    functionLinenumber: 7001
    functionLinenumberEnd: 7010
    functionName: createDropComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - 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:7013,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7015,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7016,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - type
    - pDnodeId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7022
      start: 7012
    functionDepth: 5
    functionLinenumber: 7012
    functionLinenumberEnd: 7022
    functionName: createRestoreComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createRestoreComponentNodeStmt(SAstCreateContext* pCxt, ENodeType
      type, const SToken* pDnodeId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createRestoreComponentNodeStmt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7025,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pCxt
    - type
    - pDnodeId
    - pVgId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7032
      start: 7024
    functionDepth: 6
    functionLinenumber: 7024
    functionLinenumberEnd: 7032
    functionName: createRestoreComponentNodeStmtWithVgId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - createRestoreComponentNodeStmt
    linkageType: ''
    returnType: SNode
    signature: SNode * createRestoreComponentNodeStmtWithVgId(SAstCreateContext* pCxt,
      ENodeType type, const SToken* pDnodeId, const SToken* pVgId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7035,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7036,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7036,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7038,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7039,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7040,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - ignoreExists
    - pTopicName
    - pQuery
    - reload
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7048
      start: 7034
    functionDepth: 5
    functionLinenumber: 7034
    functionLinenumberEnd: 7048
    functionName: createCreateTopicStmtUseQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkTopicName
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createCreateTopicStmtUseQuery(SAstCreateContext* pCxt, bool
      ignoreExists, SToken* pTopicName, SNode* pQuery, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7052,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7053,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7053,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7054,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7054,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7056,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7057,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7058,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - ignoreExists
    - pTopicName
    - pSubDbName
    - withMeta
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SToken*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7065
      start: 7050
    functionDepth: 5
    functionLinenumber: 7050
    functionLinenumberEnd: 7065
    functionName: createCreateTopicStmtUseDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkTopicName
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateTopicStmtUseDb(SAstCreateContext* pCxt, bool ignoreExists,
      SToken* pTopicName, SToken* pSubDbName,\n                                  int8_t
      withMeta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7069,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7070,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7070,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7072,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7073,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7074,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7079,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7080,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7081,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7084,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 6
    argNames:
    - pCxt
    - ignoreExists
    - pTopicName
    - pRealTable
    - withMeta
    - pWhere
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    - int8_t
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7087
      start: 7067
    functionDepth: 5
    functionLinenumber: 7067
    functionLinenumberEnd: 7087
    functionName: createCreateTopicStmtUseTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkTopicName
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateTopicStmtUseTable(SAstCreateContext* pCxt, bool
      ignoreExists, SToken* pTopicName, SNode* pRealTable,\n                                     int8_t
      withMeta, SNode* pWhere)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7090,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7091,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7091,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7093,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7094,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - ignoreNotExists
    - pTopicName
    - force
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7101
      start: 7089
    functionDepth: 5
    functionLinenumber: 7089
    functionLinenumberEnd: 7101
    functionName: createDropTopicStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkTopicName
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_PARSER_STATUS
    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:7105,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7106,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7106,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7107,1
    - Dst: checkCGroupName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7107,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7109,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7110,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7113,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - ignoreNotExists
    - pCGroupId
    - pTopicName
    - force
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7118
      start: 7103
    functionDepth: 5
    functionLinenumber: 7103
    functionLinenumberEnd: 7118
    functionName: createDropCGroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkTopicName
    - checkCGroupName
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createDropCGroupStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SToken* pCGroupId, SToken* pTopicName,\n                            bool force)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7121,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7123,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7124,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7125,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pConfig
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7132
      start: 7120
    functionDepth: 5
    functionLinenumber: 7120
    functionLinenumberEnd: 7132
    functionName: createAlterClusterStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - trimString
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterClusterStmt(SAstCreateContext* pCxt, const SToken*
      pConfig, const SToken* pValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7135,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7137,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7138,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7139,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pConfig
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7146
      start: 7134
    functionDepth: 5
    functionLinenumber: 7134
    functionLinenumberEnd: 7146
    functionName: createAlterLocalStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - trimString
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterLocalStmt(SAstCreateContext* pCxt, const SToken*
      pConfig, const SToken* pValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7149,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7151,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7158
      start: 7148
    functionDepth: 5
    functionLinenumber: 7148
    functionLinenumberEnd: 7158
    functionName: createDefaultExplainOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDefaultExplainOptions(SAstCreateContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7161,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7166
      start: 7160
    functionDepth: 1
    functionLinenumber: 7160
    functionLinenumberEnd: 7166
    functionName: setExplainVerbose
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    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:7169,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7174
      start: 7168
    functionDepth: 1
    functionLinenumber: 7168
    functionLinenumberEnd: 7174
    functionName: setExplainRatio
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - taosStr2Double
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * setExplainRatio(SAstCreateContext* pCxt, SNode* pOptions, const
      SToken* pVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7177,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7179,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7180,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7186,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - analyze
    - pOptions
    - pQuery
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7189
      start: 7176
    functionDepth: 5
    functionLinenumber: 7176
    functionLinenumberEnd: 7189
    functionName: createExplainStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createExplainStmt(SAstCreateContext* pCxt, bool analyze, SNode*
      pOptions, SNode* pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7192,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7194,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7195,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7196,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7197,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7198,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7203
      start: 7191
    functionDepth: 5
    functionLinenumber: 7191
    functionLinenumberEnd: 7203
    functionName: createDescribeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:7206,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7208,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7213
      start: 7205
    functionDepth: 5
    functionLinenumber: 7205
    functionLinenumberEnd: 7213
    functionName: createResetQueryCacheStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createResetQueryCacheStmt(SAstCreateContext* pCxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7216,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7218,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pLanguageToken
    - pLanguage
    argTypes:
    - SAstCreateContext*
    - SToken*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7225
      start: 7215
    functionDepth: 1
    functionLinenumber: 7215
    functionLinenumberEnd: 7225
    functionName: convertUdfLanguageType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertUdfLanguageType(SAstCreateContext* pCxt, const SToken*
      pLanguageToken, int8_t* pLanguage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7230,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7233,1
    - Dst: convertUdfLanguageType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7236,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7237,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7239,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7240,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7243,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 9
    argNames:
    - pCxt
    - ignoreExists
    - aggFunc
    - pFuncName
    - pLibPath
    - dataType
    - bufSize
    - pLanguage
    - orReplace
    argTypes:
    - SAstCreateContext*
    - bool
    - bool
    - SToken*
    - SToken*
    - SDataType
    - int32_t
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7252
      start: 7227
    functionDepth: 5
    functionLinenumber: 7227
    functionLinenumberEnd: 7252
    functionName: createCreateFunctionStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - convertUdfLanguageType
    - COPY_STRING_FORM_STR_TOKEN
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateFunctionStmt(SAstCreateContext* pCxt, bool ignoreExists,
      bool aggFunc, const SToken* pFuncName,\n                                const
      SToken* pLibPath, SDataType dataType, int32_t bufSize, const SToken* pLanguage,\n
      \                               bool orReplace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7255,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7257,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7258,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pFuncName
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7264
      start: 7254
    functionDepth: 5
    functionLinenumber: 7254
    functionLinenumberEnd: 7264
    functionName: createDropFunctionStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_MAKE_NODE
    - 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:7268,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7269,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7270,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7272,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7275,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7276,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7277,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7278,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7279,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7284,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7285,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - orReplace
    - pView
    - pAs
    - pQuery
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SToken*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7288
      start: 7266
    functionDepth: 5
    functionLinenumber: 7266
    functionLinenumberEnd: 7288
    functionName: createCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - tstrdup
    - CHECK_MAKE_NODE
    - CHECK_OUT_OF_MEM
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - isspace
    - CHECK_PARSER_STATUS
    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:7291,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7293,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7294,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7296,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7297,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7298,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pView
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7303
      start: 7290
    functionDepth: 5
    functionLinenumber: 7290
    functionLinenumberEnd: 7303
    functionName: createDropViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropViewStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SNode* pView)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7308,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7309,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7310,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7319,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7320,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7321,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7322,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 6
    argNames:
    - pCxt
    - pIntoTable
    - pOutputSubTable
    - pColList
    - pTagList
    - nodelayCreateSubtable
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNodeList*
    - SNodeList*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7325
      start: 7305
    functionDepth: 6
    functionLinenumber: 7305
    functionLinenumberEnd: 7325
    functionName: createStreamOutTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createStreamOutTableNode(SAstCreateContext* pCxt, SNode* pIntoTable,
      SNode* pOutputSubTable, SNodeList* pColList,\n                                SNodeList*
      pTagList, int32_t nodelayCreateSubtable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7330,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7331,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7332,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7342,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7343,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7344,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7345,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7346,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - pCxt
    - pTriggerWindow
    - pTriggerTable
    - pPartitionList
    - pOptions
    - pNotification
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNodeList*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7349
      start: 7327
    functionDepth: 6
    functionLinenumber: 7327
    functionLinenumberEnd: 7349
    functionName: createStreamTriggerNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createStreamTriggerNode(SAstCreateContext* pCxt, SNode* pTriggerWindow,
      SNode* pTriggerTable,\n                               SNodeList* pPartitionList,
      SNode* pOptions, SNode* pNotification)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7353,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7354,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7355,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7360,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7361,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pSlidingVal
    - pOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7364
      start: 7351
    functionDepth: 5
    functionLinenumber: 7351
    functionLinenumberEnd: 7364
    functionName: createSlidingWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createSlidingWindowNode(SAstCreateContext* pCxt, SNode* pSlidingVal,
      SNode* pOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7368,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7369,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7370,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7391
      start: 7366
    functionDepth: 5
    functionLinenumber: 7366
    functionLinenumberEnd: 7391
    functionName: createStreamTriggerOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createStreamTriggerOptions(SAstCreateContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7395,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7396,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7397,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7398,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7399,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7405,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pTagName
    - dataType
    - tagExpression
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SDataType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7408
      start: 7393
    functionDepth: 5
    functionLinenumber: 7393
    functionLinenumberEnd: 7408
    functionName: createStreamTagDefNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - strdequote
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createStreamTagDefNode(SAstCreateContext* pCxt, SToken* pTagName,
      SDataType dataType, SNode* tagExpression)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7411,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7416,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7424,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7432,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7441,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7449,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7456,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7462,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7467,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7468,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7475,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7480,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7486,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7487,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7494,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7502,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7511,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7519,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7527,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7535,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7542,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7551,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7561,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7562,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 154
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pOptionUnit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SStreamTriggerOption*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7564
      start: 7410
    functionDepth: 6
    functionLinenumber: 7410
    functionLinenumberEnd: 7564
    functionName: setStreamTriggerOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeValueNodeFromInt64
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * setStreamTriggerOptions(SAstCreateContext* pCxt, SNode* pOptions,
      SStreamTriggerOption* pOptionUnit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7572,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7573,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7573,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7580
      start: 7566
    functionDepth: 1
    functionLinenumber: 7566
    functionLinenumberEnd: 7580
    functionName: validateNotifyUrl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosStrncasecmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool validateNotifyUrl(const char* url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7585,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7587,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7589,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7595,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7596,1
    - Dst: validateNotifyUrl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7601,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7602,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7609,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7610,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - pCxt
    - pAddrUrls
    - eventType
    - pWhere
    - notifyType
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    - int64_t
    - SNode*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7619
      start: 7582
    functionDepth: 6
    functionLinenumber: 7582
    functionLinenumberEnd: 7619
    functionName: createStreamNotifyOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - nodesMakeNode
    - validateNotifyUrl
    - strlen
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createStreamNotifyOptions(SAstCreateContext* pCxt, SNodeList*
      pAddrUrls, int64_t eventType, SNode* pWhere,\n                                 int64_t
      notifyType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7595,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7596,1
    - Dst: validateNotifyUrl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7601,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7606
      start: 7593
    functionDepth: 2
    functionLinenumber: 7593
    functionLinenumberEnd: 7606
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 275
    functionsReached:
    - validateNotifyUrl
    - strlen
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pAddrUrls)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7624,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7625,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7626,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7629,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7631,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7636,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7637,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7639,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7642,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7653,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7654,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7655,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 6
    argNames:
    - pCxt
    - ignoreExists
    - pStream
    - pTrigger
    - pOutTable
    - pQuery
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7658
      start: 7621
    functionDepth: 5
    functionLinenumber: 7621
    functionLinenumberEnd: 7658
    functionName: createCreateStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateStreamStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SNode* pStream, SNode* pTrigger,\n                              SNode* pOutTable,
      SNode* pQuery)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7661,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7663,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7664,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7669,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pStreamList
    argTypes:
    - SAstCreateContext*
    - bool
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7678
      start: 7660
    functionDepth: 6
    functionLinenumber: 7660
    functionLinenumberEnd: 7678
    functionName: createDropStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - generateSyntaxErrMsgExt
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropStreamStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SNodeList* pStreamList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7681,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7683,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7684,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7686,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7687,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7689,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pStream
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7697
      start: 7680
    functionDepth: 5
    functionLinenumber: 7680
    functionLinenumberEnd: 7697
    functionName: createPauseStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createPauseStreamStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SNode* pStream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7700,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7702,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7703,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7705,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7706,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7708,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - ignoreNotExists
    - ignoreUntreated
    - pStream
    argTypes:
    - SAstCreateContext*
    - bool
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7717
      start: 7699
    functionDepth: 5
    functionLinenumber: 7699
    functionLinenumberEnd: 7717
    functionName: createResumeStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createResumeStreamStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      bool ignoreUntreated, SNode* pStream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7720,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7722,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7723,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7725,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7726,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pStream
    - pRange
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7735
      start: 7719
    functionDepth: 5
    functionLinenumber: 7719
    functionLinenumberEnd: 7735
    functionName: createRecalcStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - generateSyntaxErrMsgExt
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createRecalcStreamStmt(SAstCreateContext* pCxt, SNode* pStream,
      SNode* pRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7738,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7740,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7741,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - type
    - pId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7746
      start: 7737
    functionDepth: 5
    functionLinenumber: 7737
    functionLinenumberEnd: 7746
    functionName: createKillStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - 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:7749,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7751,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7752,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pQueryId
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7757
      start: 7748
    functionDepth: 5
    functionLinenumber: 7748
    functionLinenumberEnd: 7757
    functionName: createKillQueryStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - trimString
    - CHECK_MAKE_NODE
    - 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:7760,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7762,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7767
      start: 7759
    functionDepth: 5
    functionLinenumber: 7759
    functionLinenumberEnd: 7767
    functionName: createBalanceVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createBalanceVgroupStmt(SAstCreateContext* pCxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7770,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7772,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7777
      start: 7769
    functionDepth: 5
    functionLinenumber: 7769
    functionLinenumberEnd: 7777
    functionName: createAssignLeaderStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAssignLeaderStmt(SAstCreateContext* pCxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7780,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7782,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7783,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pVgId
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7790
      start: 7779
    functionDepth: 5
    functionLinenumber: 7779
    functionLinenumberEnd: 7790
    functionName: createBalanceVgroupLeaderStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createBalanceVgroupLeaderStmt(SAstCreateContext* pCxt, const
      SToken* pVgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7793,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7794,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7794,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7796,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7797,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7804
      start: 7792
    functionDepth: 5
    functionLinenumber: 7792
    functionLinenumberEnd: 7804
    functionName: createBalanceVgroupLeaderDBNameStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createBalanceVgroupLeaderDBNameStmt(SAstCreateContext* pCxt,
      SToken* pDbName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7807,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7809,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7810,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7812,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pVgId
    - pKeepVersion
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7820
      start: 7806
    functionDepth: 5
    functionLinenumber: 7806
    functionLinenumberEnd: 7820
    functionName: createSetVgroupKeepVersionStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - taosStr2Int64
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createSetVgroupKeepVersionStmt(SAstCreateContext* pCxt, const
      SToken* pVgId, const SToken* pKeepVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7823,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7825,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7826,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7827,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pVgId1
    - pVgId2
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7832
      start: 7822
    functionDepth: 5
    functionLinenumber: 7822
    functionLinenumberEnd: 7832
    functionName: createMergeVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - 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:7835,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7837,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7838,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7839,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pVgId
    - pDnodes
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7845
      start: 7834
    functionDepth: 6
    functionLinenumber: 7834
    functionLinenumberEnd: 7845
    functionName: createRedistributeVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createRedistributeVgroupStmt(SAstCreateContext* pCxt, const
      SToken* pVgId, SNodeList* pDnodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7848,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7850,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7851,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pVgId
    - force
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7857
      start: 7847
    functionDepth: 5
    functionLinenumber: 7847
    functionLinenumberEnd: 7857
    functionName: createSplitVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createSplitVgroupStmt(SAstCreateContext* pCxt, const SToken*
      pVgId, bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7860,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7862,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7867
      start: 7859
    functionDepth: 5
    functionLinenumber: 7859
    functionLinenumberEnd: 7867
    functionName: createSyncdbStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createSyncdbStmt(SAstCreateContext* pCxt, const SToken* pDbName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7871,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7872,1
    - Dst: checkRoleName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7872,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7874,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7875,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7877,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7882,1
    - Dst: checkObjName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7882,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7883,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7883,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7886,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7890,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7893,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7901,1
    - Dst: checkRoleName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7901,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7902,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7906,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7911,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 6
    argNames:
    - pCxt
    - resouces
    - pPrivLevel
    - pPrincipal
    - pCond
    - optrType
    argTypes:
    - SAstCreateContext*
    - void*
    - SPrivLevelArgs*
    - SToken*
    - SNode*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7913
      start: 7869
    functionDepth: 5
    functionLinenumber: 7869
    functionLinenumberEnd: 7913
    functionName: createGrantStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - checkObjName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkTableName
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - checkRoleName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createGrantStmt(SAstCreateContext* pCxt, void* resouces, SPrivLevelArgs*
      pPrivLevel, SToken* pPrincipal,\n                       SNode* pCond, int8_t
      optrType)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7917,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7918,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7918,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7920,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7921,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7923,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7925,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7925,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7926,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7926,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7929,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7932,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7938,1
    - Dst: checkRoleName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7938,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7939,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7941,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7947,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 6
    argNames:
    - pCxt
    - resouces
    - pPrivLevel
    - pPrincipal
    - pCond
    - optrType
    argTypes:
    - SAstCreateContext*
    - void*
    - SPrivLevelArgs*
    - SToken*
    - SNode*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7949
      start: 7915
    functionDepth: 5
    functionLinenumber: 7915
    functionLinenumberEnd: 7949
    functionName: createRevokeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - checkUserName
    - checkRoleName
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - checkTableName
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createRevokeStmt(SAstCreateContext* pCxt, void* resouces,
      SPrivLevelArgs* pPrivLevel, SToken* pPrincipal,\n                        SNode*
      pCond, int8_t optrType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7953,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7954,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7955,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7956,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7957,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7958,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7959,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7960,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pFuncName
    argTypes:
    - SAstCreateContext*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7965
      start: 7951
    functionDepth: 6
    functionLinenumber: 7951
    functionLinenumberEnd: 7965
    functionName: createFuncForDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesListMakeStrictAppend
    - createPrimaryKeyCol
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createFuncForDelete(SAstCreateContext* pCxt, const char* pFuncName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7969,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7970,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7971,1
    - Dst: createFuncForDelete
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7974,1
    - Dst: createFuncForDelete
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7975,1
    - Dst: createFuncForDelete
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7976,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7977,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7978,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7979,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7983,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7984,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pWhere
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7987
      start: 7967
    functionDepth: 7
    functionLinenumber: 7967
    functionLinenumberEnd: 7987
    functionName: createDeleteStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - createFuncForDelete
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDeleteStmt(SAstCreateContext* pCxt, SNode* pTable, SNode*
      pWhere)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createDeleteStmt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pWhere
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7995
      start: 7989
    functionDepth: 8
    functionLinenumber: 7989
    functionLinenumberEnd: 7995
    functionName: createSecureDeleteStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - createDeleteStmt
    linkageType: ''
    returnType: SNode
    signature: SNode * createSecureDeleteStmt(SAstCreateContext* pCxt, SNode* pTable,
      SNode* pWhere)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:7998,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8000,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8001,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8005,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8006,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8007,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8008,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8012,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8013,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pTable
    - pCols
    - pQuery
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8016
      start: 7997
    functionDepth: 6
    functionLinenumber: 7997
    functionLinenumberEnd: 8016
    functionName: createInsertStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - nodeType
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createInsertStmt(SAstCreateContext* pCxt, SNode* pTable, SNodeList*
      pCols, SNode* pQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8022,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8023,1
    - Dst: checkRsmaName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8023,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8024,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8025,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8030,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8033,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8034,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8035,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8039,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8040,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8041,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 6
    argNames:
    - pCxt
    - ignoreExists
    - rsmaName
    - pRealTable
    - pFuncs
    - pIntervals
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    - SNodeList*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8044
      start: 8018
    functionDepth: 6
    functionLinenumber: 8018
    functionLinenumberEnd: 8044
    functionName: createCreateRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - checkRsmaName
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateRsmaStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SToken* rsmaName, SNode* pRealTable,\n                            SNodeList*
      pFuncs, SNodeList* pIntervals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8047,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8049,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8050,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8055,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8056,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8058,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8063
      start: 8046
    functionDepth: 5
    functionLinenumber: 8046
    functionLinenumberEnd: 8063
    functionName: createDropRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createDropRsmaStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SNode* pRealTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8067,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8069,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8070,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8074,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8075,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - ignoreNotExists
    - pRsma
    - alterType
    - alterInfo
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - int8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8090
      start: 8065
    functionDepth: 5
    functionLinenumber: 8065
    functionLinenumberEnd: 8090
    functionName: createAlterRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createAlterRsmaStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SNode* pRsma, int8_t alterType,\n                           void* alterInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8093,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8095,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8096,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8097,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8098,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8099,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - type
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8104
      start: 8092
    functionDepth: 5
    functionLinenumber: 8092
    functionLinenumberEnd: 8104
    functionName: createShowCreateRsmaStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowCreateRsmaStmt(SAstCreateContext* pCxt, ENodeType
      type, SNode* pRealTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8107,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8109,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8110,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8112,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8113,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8115,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8118,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pStream
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8123
      start: 8106
    functionDepth: 5
    functionLinenumber: 8106
    functionLinenumberEnd: 8123
    functionName: createShowCreateStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - tstrncpy
    - generateSyntaxErrMsgExt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowCreateStreamStmt(SAstCreateContext* pCxt, SNode*
      pStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8126,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8127,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8127,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8129,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8130,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8131,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8136,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pStart
    - pEnd
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8139
      start: 8125
    functionDepth: 5
    functionLinenumber: 8125
    functionLinenumberEnd: 8139
    functionName: createRollupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createRollupStmt(SAstCreateContext* pCxt, SToken* pDbName,
      SNode* pStart, SNode* pEnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8143,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8145,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8147,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8150,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8151,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8158,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8159,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8160,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - vgidList
    - pStart
    - pEnd
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8163
      start: 8141
    functionDepth: 6
    functionLinenumber: 8141
    functionLinenumberEnd: 8163
    functionName: createRollupVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createRollupVgroupsStmt(SAstCreateContext* pCxt, SNode* pDbName,
      SNodeList* vgidList, SNode* pStart,\n                                SNode*
      pEnd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8169,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8170,1
    - Dst: checkTsmaName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8170,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8171,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8172,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8178,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8179,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8185,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8188,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8189,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8190,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8191,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8195,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8196,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8197,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 6
    argNames:
    - pCxt
    - ignoreExists
    - tsmaName
    - pOptions
    - pRealTable
    - pInterval
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8200
      start: 8165
    functionDepth: 5
    functionLinenumber: 8165
    functionLinenumberEnd: 8200
    functionName: createCreateTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - checkTsmaName
    - memcpy
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: "SNode * createCreateTSMAStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SToken* tsmaName, SNode* pOptions,\n                            SNode* pRealTable,
      SNode* pInterval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8203,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8205,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8206,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pFuncs
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8212
      start: 8202
    functionDepth: 6
    functionLinenumber: 8202
    functionLinenumberEnd: 8212
    functionName: createTSMAOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyList
    - CHECK_MAKE_NODE
    - 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:8215,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8217,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8222
      start: 8214
    functionDepth: 5
    functionLinenumber: 8214
    functionLinenumberEnd: 8222
    functionName: createDefaultTSMAOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - 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:8225,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8227,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8228,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8233,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8234,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8236,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8241
      start: 8224
    functionDepth: 5
    functionLinenumber: 8224
    functionLinenumberEnd: 8241
    functionName: createDropTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    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:8244,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8247,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8248,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - dbName
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8255
      start: 8243
    functionDepth: 5
    functionLinenumber: 8243
    functionLinenumberEnd: 8255
    functionName: createShowTSMASStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowTSMASStmt(SAstCreateContext* pCxt, SNode* dbName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8257,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8259,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8261,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8265,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8266,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - dbName
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8273
      start: 8256
    functionDepth: 5
    functionLinenumber: 8256
    functionLinenumberEnd: 8273
    functionName: createShowDiskUsageStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowDiskUsageStmt(SAstCreateContext* pCxt, SNode* dbName,
      ENodeType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8276,1
    - Dst: needDbShowStmt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8278,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8279,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8281,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8285,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8286,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8295
      start: 8275
    functionDepth: 5
    functionLinenumber: 8275
    functionLinenumberEnd: 8295
    functionName: createShowStreamsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - snprintf
    - needDbShowStmt
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowStreamsStmt(SAstCreateContext* pCxt, SNode* pDbName,
      ENodeType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8298,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8299,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8299,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8301,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8302,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8303,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8308,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pStart
    - pEnd
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8311
      start: 8297
    functionDepth: 5
    functionLinenumber: 8297
    functionLinenumberEnd: 8311
    functionName: createScanStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_NAME
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - nodesDestroyNode
    - checkDbName
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createScanStmt(SAstCreateContext* pCxt, SToken* pDbName, SNode*
      pStart, SNode* pEnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8314,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8316,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8318,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8321,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8322,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8329,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8330,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8331,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - vgidList
    - pStart
    - pEnd
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8334
      start: 8313
    functionDepth: 6
    functionLinenumber: 8313
    functionLinenumberEnd: 8334
    functionName: createScanVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - snprintf
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createScanVgroupsStmt(SAstCreateContext* pCxt, SNode* pDbName,
      SNodeList* vgidList, SNode* pStart, SNode* pEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8337,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8339,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8344
      start: 8336
    functionDepth: 5
    functionLinenumber: 8336
    functionLinenumberEnd: 8344
    functionName: createShowScansStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowScansStmt(SAstCreateContext* pCxt, ENodeType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8347,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8349,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8350,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pScanIdNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8356
      start: 8346
    functionDepth: 5
    functionLinenumber: 8346
    functionLinenumberEnd: 8356
    functionName: createShowScanDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createShowScanDetailsStmt(SAstCreateContext* pCxt, SNode* pScanIdNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8359,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8363,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8367,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8367,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8368,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8370,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8370,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8371,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8371,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8374,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:8378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - alterName
    argTypes:
    - SAstCreateContext*
    - SToken*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8383
      start: 8358
    functionDepth: 5
    functionLinenumber: 8358
    functionLinenumberEnd: 8383
    functionName: createAlterAllDnodeTLSStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CHECK_MAKE_NODE
    - generateSyntaxErrMsgExt
    - nodesMakeNode
    - taosStrncasecmp
    - strlen
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode
    signature: SNode * createAlterAllDnodeTLSStmt(SAstCreateContext* pCxt, SToken*
      alterName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pTempTable
    argTypes:
    - SCalcConstContext*
    - STempTableNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: calcConstSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - calcConstQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstSubquery(SCalcConstContext* pCxt, STempTableNode*
      pTempTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: calcConstNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstNode(SNode** pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:57,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: calcConstList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstList(SNodeList* pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:57,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 275
    functionsReached:
    - scalarCalculateConstants
    - REPLACE_NODE
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:68,1
    - Dst: nodesIsComparisonOp
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:69,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: isCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 1
    functionsReached:
    - nodeType
    - nodesIsComparisonOp
    linkageType: ''
    returnType: bool
    signature: bool isCondition(const SNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pIsTrue
    argTypes:
    - SNode*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: rewriteIsTrue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 1
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteIsTrue(SNode* pSrc, SNode** pIsTrue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:89,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:91,1
    - Dst: isCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:92,1
    - Dst: rewriteIsTrue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:94,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: doRewriteCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - rewriteIsTrue
    - REPLACE_NODE
    - isCondition
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doRewriteCondition(SNode** pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:106,1
    - Dst: rewriteIsTrue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:107,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SCalcConstContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: rewriteCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - isCondition
    - rewriteIsTrue
    - nodesRewriteExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteCondition(SCalcConstContext* pCxt, SNode** pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rewriteCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:114,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SCalcConstContext*
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: calcConstCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - rewriteCondition
    - calcConstNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstCondition(SCalcConstContext* pCxt, SNode** pNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:126,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:128,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:131,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:133,1
    - Dst: calcConstCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:141,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 121
    functionDepth: 6
    functionLinenumber: 121
    functionLinenumberEnd: 152
    functionName: rewriteCalcConstValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - calcConstCondition
    - qError
    - calcConstNode
    - nodeType
    - tstrerror
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes rewriteCalcConstValue(SNode** pNode, void* pContext)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:156,1
    - Dst: calcConstSubquery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:158,1
    - Dst: rewriteConditionForFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:164,1
    - Dst: rewriteConditionForFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:166,1
    - Dst: rewriteCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:169,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - SCalcConstContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 196
    functionName: rewriteConditionForFromTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 1
    functionsReached:
    - rewriteConditionForFromTable
    - nodesRewriteExpr
    - nodeType
    - calcConstSubquery
    - rewriteCondition
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteConditionForFromTable(SCalcConstContext* pCxt, SNode*
      pTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteConditionForFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - SCalcConstContext*
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: calcConstFromTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - rewriteConditionForFromTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstFromTable(SCalcConstContext* pCxt, SNode* pTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:203,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCond
    - pAlwaysFalse
    argTypes:
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: rewriteConstCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: void rewriteConstCondition(SNode** pCond, bool* pAlwaysFalse)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rewriteCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:219,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:221,1
    - Dst: rewriteConstCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pCond
    - pAlwaysFalse
    argTypes:
    - SCalcConstContext*
    - SNode**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: calcConstStmtCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - rewriteConstCondition
    - rewriteCondition
    - calcConstNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstStmtCondition(SCalcConstContext* pCxt, SNode** pCond,
      bool* pAlwaysFalse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:233,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:234,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:236,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 246
    functionName: doFindAndReplaceNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodesCloneNode
    - nodesDestroyNode
    - tstrncpy
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes doFindAndReplaceNode(SNode** pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:252,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - pCxt
    - pRoot
    - pTarget
    - pNew
    - strict
    argTypes:
    - SCalcConstContext*
    - SNode**
    - SNode*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: findAndReplaceNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - parserError
    - nodesRewriteExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: int32_t findAndReplaceNode(SCalcConstContext* pCxt, SNode** pRoot,
      SNode* pTarget, SNode* pNew, bool strict)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:264,1
    - Dst: scalarCalculateConstantsFromDual
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:273,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:275,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:278,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:279,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:281,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:289,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:290,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:291,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:294,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:295,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:297,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:299,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:301,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:303,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:305,1
    - Dst: findAndReplaceNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:310,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:318,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 4
    argNames:
    - pCxt
    - pProject
    - dual
    - pNew
    argTypes:
    - SCalcConstContext*
    - SNode*
    - bool
    - SNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 320
    functionName: calcConstProject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - scalarCalculateConstants
    - taosArrayGet
    - TSWAP
    - nodesCloneNode
    - scalarCalculateConstantsFromDual
    - taosArrayDestroy
    - nodeType
    - tstrncpy
    - taosArrayGetSize
    - taosArrayDup
    - nodesDestroyNode
    - findAndReplaceNode
    linkageType: ''
    returnType: int32_t
    signature: 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:328,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:329,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: checkUselessCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodeType
    - fmIsPseudoColumnFunc
    - fmIsScalarFunc
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes checkUselessCol(SNode* pNode, void* pContext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pProj
    argTypes:
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: isUselessCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: bool isUselessCol(SExprNode* pProj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:349,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:356,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SValueNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 347
    functionDepth: 5
    functionLinenumber: 347
    functionLinenumberEnd: 364
    functionName: createConstantValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesSetValueNodeValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t createConstantValue(SValueNode** ppNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:368,1
    - Dst: isUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:369,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:369,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:370,1
    - Dst: calcConstProject
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:374,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:376,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:382,1
    - Dst: createConstantValue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:384,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:386,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 366
    functionDepth: 6
    functionLinenumber: 366
    functionLinenumberEnd: 390
    functionName: calcConstProjections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - REPLACE_NODE
    - calcConstProject
    - nodesListStrictAppend
    - LIST_LENGTH
    - createConstantValue
    - ERASE_NODE
    - WHERE_EACH
    - nodeType
    - isUselessCol
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstProjections(SCalcConstContext* pCxt, SSelectStmt*
      pSelect, bool subquery)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:393,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:396,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:399,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:400,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:407,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 392
    functionDepth: 5
    functionLinenumber: 392
    functionLinenumberEnd: 416
    functionName: calcConstGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodeType
    - FOREACH
    - calcConstList
    - ERASE_NODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstGroupBy(SCalcConstContext* pCxt, SSelectStmt* pSelect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calcConstProjections
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 7
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: calcConstSelectWithoutFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - calcConstProjections
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstSelectWithoutFrom(SCalcConstContext* pCxt, SSelectStmt*
      pSelect, bool subquery)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: calcConstFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:423,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:424,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:426,1
    - Dst: calcConstProjections
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:435,1
    - Dst: calcConstStmtCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:438,1
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:441,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:444,1
    - Dst: calcConstGroupBy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:447,1
    - Dst: calcConstStmtCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:450,1
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:453,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:456,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:459,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 422
    functionDepth: 7
    functionLinenumber: 422
    functionLinenumberEnd: 462
    functionName: calcConstSelectFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - calcConstList
    - calcConstProjections
    - calcConstNode
    - nodeType
    - calcConstStmtCondition
    - calcConstGroupBy
    - calcConstFromTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstSelectFrom(SCalcConstContext* pCxt, SSelectStmt* pSelect,
      bool subquery)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:467,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:472,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:476,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:478,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 489
    functionName: isEmptyResultQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 1
    functionsReached:
    - nodeType
    - isEmptyResultQuery
    linkageType: ''
    returnType: bool
    signature: bool isEmptyResultQuery(SNode* pStmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pSubQueries
    argTypes:
    - SCalcConstContext*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 510
    functionName: calcSubQueries
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - calcConstQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcSubQueries(SCalcConstContext* pCxt, SNodeList* pSubQueries)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 507
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 277
    functionsReached:
    - calcConstQuery
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pSubQueries)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calcConstSelectWithoutFrom
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:516,1
    - Dst: calcConstSelectFrom
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:518,1
    - Dst: calcSubQueries
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 512
    functionDepth: 8
    functionLinenumber: 512
    functionLinenumberEnd: 526
    functionName: calcConstSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - calcSubQueries
    - calcConstSelectWithoutFrom
    - calcConstSelectFrom
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstSelect(SCalcConstContext* pCxt, SSelectStmt* pSelect,
      bool subquery)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calcConstFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:529,1
    - Dst: calcConstStmtCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - SCalcConstContext*
    - SDeleteStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 6
    functionLinenumber: 528
    functionLinenumberEnd: 537
    functionName: calcConstDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - calcConstStmtCondition
    - calcConstFromTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstDelete(SCalcConstContext* pCxt, SDeleteStmt* pDelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calcConstFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:540,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - SCalcConstContext*
    - SInsertStmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: calcConstInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - calcConstQuery
    - calcConstFromTable
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstInsert(SCalcConstContext* pCxt, SInsertStmt* pInsert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 557
    functionName: getChildProjection
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNodeList
    signature: SNodeList * getChildProjection(SNode* pStmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:560,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:561,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:561,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:562,1
    - Dst: eraseSetOpChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:563,1
    - Dst: getChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:565,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:566,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:566,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:567,1
    - Dst: eraseSetOpChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pSetOp
    - index
    argTypes:
    - SSetOperator*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 559
    functionDepth: 5
    functionLinenumber: 559
    functionLinenumberEnd: 570
    functionName: eraseSetOpChildProjection
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 1
    functionsReached:
    - nodesListErase
    - getChildProjection
    - nodeType
    - eraseSetOpChildProjection
    - nodesListGetCell
    linkageType: ''
    returnType: void
    signature: void eraseSetOpChildProjection(SSetOperator* pSetOp, int32_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:578,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 577
    functionDepth: 5
    functionLinenumber: 577
    functionLinenumberEnd: 586
    functionName: notRefByOrderByImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodeType
    - nodesEqualNode
    linkageType: ''
    returnType: EDealRes
    signature: EDealRes notRefByOrderByImpl(SNode* pNode, void* pContext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCol
    - pOrderByList
    argTypes:
    - SColumnNode*
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 588
    functionDepth: 4
    functionLinenumber: 588
    functionLinenumberEnd: 592
    functionName: notRefByOrderBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: bool notRefByOrderBy(SColumnNode* pCol, SNodeList* pOrderByList)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:612,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:618,1
    - Dst: isUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:619,1
    - Dst: isSubqueryProjUseless
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:630,1
    - Dst: isSubqueryProjUseless
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:631,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pStmt
    - index
    argTypes:
    - SNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 607
    functionDepth: 4
    functionLinenumber: 607
    functionLinenumberEnd: 637
    functionName: isSubqueryProjUseless
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 1
    functionsReached:
    - nodeType
    - isSubqueryProjUseless
    - nodesListGetNode
    - isUselessCol
    linkageType: ''
    returnType: bool
    signature: bool isSubqueryProjUseless(SNode* pStmt, int32_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:640,1
    - Dst: isSubqueryProjUseless
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:644,1
    - Dst: isSubqueryProjUseless
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pSetOp
    - index
    - pProj
    argTypes:
    - SSetOperator*
    - int32_t
    - SExprNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 639
    functionDepth: 5
    functionLinenumber: 639
    functionLinenumberEnd: 646
    functionName: isSetUselessCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - isSubqueryProjUseless
    - isUselessCol
    linkageType: ''
    returnType: bool
    signature: bool isSetUselessCol(SSetOperator* pSetOp, int32_t index, SExprNode*
      pProj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:654,1
    - Dst: notRefByOrderBy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:655,1
    - Dst: isSetUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:656,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:657,1
    - Dst: eraseSetOpChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:658,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:664,1
    - Dst: createConstantValue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:666,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:668,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pSetOp
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSetOperator*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 648
    functionDepth: 6
    functionLinenumber: 648
    functionLinenumberEnd: 672
    functionName: calcConstSetOpProjections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodesListStrictAppend
    - LIST_LENGTH
    - createConstantValue
    - ERASE_NODE
    - WHERE_EACH
    - notRefByOrderBy
    - eraseSetOpChildProjection
    - isSetUselessCol
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstSetOpProjections(SCalcConstContext* pCxt, SSetOperator*
      pSetOp, bool subquery)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calcConstSetOpProjections
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:675,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:677,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:680,1
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:683,1
    - Dst: calcSubQueries
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pSetOp
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSetOperator*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 674
    functionDepth: 7
    functionLinenumber: 674
    functionLinenumberEnd: 690
    functionName: calcConstSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - calcSubQueries
    - calcConstList
    - calcConstQuery
    - calcConstSetOpProjections
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstSetOperator(SCalcConstContext* pCxt, SSetOperator*
      pSetOp, bool subquery)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:694,1
    - Dst: calcConstSelect
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:696,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:699,1
    - Dst: calcConstSetOperator
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:702,1
    - Dst: calcConstDelete
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:706,1
    - Dst: calcConstInsert
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - subquery
    argTypes:
    - SCalcConstContext*
    - SNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 692
    functionDepth: 9
    functionLinenumber: 692
    functionLinenumberEnd: 715
    functionName: calcConstQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 6
    functionsReached:
    - calcConstSelect
    - calcConstDelete
    - nodeType
    - calcConstSetOperator
    - calcConstInsert
    - calcConstQuery
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcConstQuery(SCalcConstContext* pCxt, SNode* pStmt, bool
      subquery)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pProjects
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 730
    functionName: resetProjectNullTypeImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void resetProjectNullTypeImpl(SNodeList* pProjects)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 729
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 277
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: void FOREACH(pProj, pProjects)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:733,1
    - Dst: resetProjectNullTypeImpl
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:735,1
    - Dst: resetProjectNullTypeImpl
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:739,1
    - Dst: resetProjectNullType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:741,1
    - Dst: resetProjectNullType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 749
    functionName: resetProjectNullType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 1
    functionsReached:
    - nodeType
    - resetProjectNullType
    - resetProjectNullTypeImpl
    linkageType: ''
    returnType: void
    signature: void resetProjectNullType(SNode* pStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pParseCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 754
    functionName: rewriteScalarSubQResValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t rewriteScalarSubQResValue(SParseContext* pParseCxt, SQuery*
      pQuery)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:765,1
    - Dst: resetProjectNullType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:768,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:769,1
    - Dst: rewriteScalarSubQResValue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pParseCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 756
    functionDepth: 10
    functionLinenumber: 756
    functionLinenumberEnd: 776
    functionName: calculateConstant
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: 3
    functionsReached:
    - resetProjectNullType
    - isEmptyResultQuery
    - calcConstQuery
    - rewriteScalarSubQResValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t calculateConstant(SParseContext* pParseCxt, SQuery* pQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:66,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:70,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:72,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:75,1
    - Dst: xndDebug
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pipeName
    - size
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: getXnodedPidPath
    functionSourceFile: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - xndDebug
    linkageType: ''
    returnType: void
    signature: void getXnodedPidPath(char *pipeName, int32_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_XNODED_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:81,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:83,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:86,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:90,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:91,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:92,1
    - Dst: getXnodedPipeName
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:95,1
    - Dst: unlink
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:96,1
    - Dst: xndWarn
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:97,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:97,1
    - Dst: memset
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:101,1
    - Dst: getXnodedPidPath
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:102,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:103,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:104,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:106,1
    - Dst: xnodeMgmtSpawnXnoded
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:107,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:109,1
    - Dst: uv_sleep
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - process
    - exitStatus
    - termSignal
    argTypes:
    - uv_process_t*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 113
    functionName: xnodeMgmtXnodedExit
    functionSourceFile: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c
    functionUses: 0
    functionsReached:
    - xndWarn
    - uv_sleep
    - TAOS_XNODED_MGMT_CHECK_PTR_RVOID
    - getXnodedPipeName
    - taosRemoveFile
    - uv_async_send
    - atomic_load_32
    - xnodeMgmtSpawnXnoded
    - terrstr
    - memset
    - unlink
    - xndError
    - xndInfo
    - getXnodedPidPath
    linkageType: ''
    returnType: void
    signature: void xnodeMgmtXnodedExit(uv_process_t *process, int64_t exitStatus,
      int32_t termSignal)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getXnodedPidPath
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:116,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:119,1
    - Dst: xndWarn
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:121,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:124,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:127,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:127,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:129,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:132,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:134,1
    - Dst: uv_kill
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:135,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:138,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 142
    functionName: killPreXnoded
    functionSourceFile: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c
    functionUses: 0
    functionsReached:
    - xndWarn
    - taosCloseFile
    - taosReadFile
    - uv_strerror
    - taosOpenFile
    - terrstr
    - uv_kill
    - xndError
    - taosStr2Int32
    - getXnodedPidPath
    linkageType: ''
    returnType: void
    signature: void killPreXnoded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getXnodedPidPath
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:146,1
    - Dst: taosCreateFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:147,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:148,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:149,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:149,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pid
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: saveXnodedPid
    functionSourceFile: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosWriteFile
    - taosCreateFile
    - snprintf
    - strlen
    - getXnodedPidPath
    linkageType: ''
    returnType: void
    signature: void saveXnodedPid(int32_t pid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleFileName
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:157,1
    - Dst: _NSGetExecutablePath
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:160,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:163,1
    - Dst: TAOS_DIRNAME
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:166,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:167,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:168,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:169,1
    - Dst: xndDebug
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:172,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:176,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:177,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:178,1
    - Dst: xndDebug
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:181,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:184,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:185,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:186,1
    - Dst: xndDebug
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:189,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:194,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:195,1
    - Dst: xndDebug
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:198,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:201,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:202,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:206,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 208
    functionName: locateXnodedExecFile
    functionSourceFile: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c
    functionUses: 0
    functionsReached:
    - xndDebug
    - GetModuleFileName
    - TAOS_STRCAT
    - TAOS_DIRNAME
    - _NSGetExecutablePath
    - taosCheckExistFile
    - xndInfo
    - strlen
    - TAOS_STRNCPY
    linkageType: ''
    returnType: void
    signature: void locateXnodedExecFile(char *path)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: xndDebug
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:211,1
    - Dst: TAOS_XNODED_MGMT_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:212,1
    - Dst: locateXnodedExecFile
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:218,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:220,1
    - Dst: killPreXnoded
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:228,1
    - Dst: getXnodedPipeName
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:231,1
    - Dst: unlink
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:232,1
    - Dst: xndWarn
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:233,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:233,1
    - Dst: TAOS_UV_LIB_ERROR_RET
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:236,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:236,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:250,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:252,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:254,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:257,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:261,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:264,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:266,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:270,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:273,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:276,1
    - Dst: xndDebug
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:279,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:288,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:294,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:301,1
    - Dst: xndDebug
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:302,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:303,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:309,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:314,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:315,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:320,1
    - Dst: uv_spawn
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:331,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:334,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:334,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:336,1
    - Dst: saveXnodedPid
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:337,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:344,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:347,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 98
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SXnodedData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 351
    functionName: xnodeMgmtSpawnXnoded
    functionSourceFile: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c
    functionUses: 1
    functionsReached:
    - saveXnodedPid
    - locateXnodedExecFile
    - snprintf
    - xndError
    - TAOS_XNODED_MGMT_CHECK_PTR_RCODE
    - getXnodedPipeName
    - ARRAY_SIZE
    - unlink
    - uv_spawn
    - taosMemoryCalloc
    - uv_pipe_init
    - killPreXnoded
    - uv_strerror
    - terrstr
    - tstrncpy
    - xndInfo
    - TAOS_UV_LIB_ERROR_RET
    - xndWarn
    - xndDebug
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t xnodeMgmtSpawnXnoded(SXnodedData *pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_XNODED_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:354,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:355,1
    - Dst: xndDebug
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:356,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: xnodeMgmtXnodedCloseWalkCb
    functionSourceFile: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c
    functionUses: 0
    functionsReached:
    - xndDebug
    - uv_is_closing
    - uv_close
    - TAOS_XNODED_MGMT_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void xnodeMgmtXnodedCloseWalkCb(uv_handle_t *handle, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_XNODED_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:362,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: xnodeMgmtXnodedStopAsyncCb
    functionSourceFile: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c
    functionUses: 0
    functionsReached:
    - uv_stop
    - TAOS_XNODED_MGMT_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void xnodeMgmtXnodedStopAsyncCb(uv_async_t *async)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_XNODED_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:368,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:370,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:370,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:371,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:371,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:373,1
    - Dst: xnodeMgmtSpawnXnoded
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:373,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:374,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:375,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:376,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:377,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:379,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:380,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:381,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:382,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:383,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:389,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:390,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:391,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:392,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 398
    functionName: xnodeMgmtWatchXnoded
    functionSourceFile: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c
    functionUses: 0
    functionsReached:
    - TAOS_UV_CHECK_ERRNO
    - TAOS_XNODED_MGMT_CHECK_PTR_RVOID
    - uv_async_init
    - uv_barrier_wait
    - xnodeMgmtSpawnXnoded
    - uv_run
    - atomic_store_32
    - xndError
    - xndInfo
    - uv_walk
    - uv_loop_close
    - uv_loop_init
    linkageType: ''
    returnType: void
    signature: void xnodeMgmtWatchXnoded(void *args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:411,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:416,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:417,1
    - Dst: uv_os_setenv
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:417,1
    - Dst: memset
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:420,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:421,1
    - Dst: memset
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:422,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:423,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:425,1
    - Dst: uv_barrier_init
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:425,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:426,1
    - Dst: uv_thread_create
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:426,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:427,1
    - Dst: uv_sleep
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:428,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:429,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:431,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:432,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:433,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:435,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:436,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:439,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:440,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:443,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:447,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 1
    argNames:
    - pXnode
    argTypes:
    - SXnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 450
    functionName: xnodeMgmtStartXnoded
    functionSourceFile: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c
    functionUses: 0
    functionsReached:
    - xndError
    - uv_thread_create
    - uv_sleep
    - memcpy
    - uv_barrier_destroy
    - TAOS_CHECK_GOTO
    - uv_barrier_wait
    - uv_async_send
    - atomic_load_32
    - uv_strerror
    - snprintf
    - memset
    - uv_thread_join
    - atomic_store_32
    - uv_barrier_init
    - xndInfo
    - uv_os_setenv
    linkageType: ''
    returnType: int32_t
    signature: int32_t xnodeMgmtStartXnoded(SXnode *pXnode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:457,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:457,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:458,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:461,1
    - Dst: uv_process_kill
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:463,1
    - Dst: uv_sleep
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:464,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:465,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:467,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:468,1
    - Dst: xndError
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:469,1
    - Dst: xndInfo
      Src: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 476
    functionName: xnodeMgmtStopXnoded
    functionSourceFile: /src/tdengine/source/libs/txnode/src/txnodeMgmt.c
    functionUses: 0
    functionsReached:
    - uv_sleep
    - uv_barrier_destroy
    - atomic_load_32
    - uv_thread_join
    - atomic_store_32
    - xndError
    - xndInfo
    - uv_process_kill
    linkageType: ''
    returnType: void
    signature: void xnodeMgmtStopXnoded(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:108,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:110,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: qwtInitLogFile
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - taosInitLog
    - printf
    linkageType: ''
    returnType: void
    signature: void qwtInitLogFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:116,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:116,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:117,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:118,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - queryRpc
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: qwtBuildQueryReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - htobe64
    - htonl
    - atomic_add_fetch_64
    linkageType: ''
    returnType: void
    signature: void qwtBuildQueryReqMsg(SRpcMsg *queryRpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:127,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:128,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:128,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fetchMsg
    - fetchRpc
    argTypes:
    - SResFetchReq*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: qwtBuildFetchReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - htobe64
    - atomic_load_64
    linkageType: ''
    returnType: void
    signature: void qwtBuildFetchReqMsg(SResFetchReq *fetchMsg, SRpcMsg *fetchRpc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:137,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:140,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:145,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:150,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - dropMsg
    - dropRpc
    argTypes:
    - STaskDropReq*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: qwtBuildDropReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - atomic_load_64
    - tSerializeSTaskDropReq
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int qwtBuildDropReqMsg(STaskDropReq *dropMsg, SRpcMsg *dropRpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - subplan
    argTypes:
    - char*
    - SSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: qwtStringToPlan
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtStringToPlan(const char *str, SSubplan **subplan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:169,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:170,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:172,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:173,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:175,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:184,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:185,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:187,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:189,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:190,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - node
    - pMsg
    argTypes:
    - void*
    - struct SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 195
    functionName: qwtPutReqToFetchQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - tsem_post
    - TD_ALWAYS_ASSERT
    - printf
    - taosWUnLockLatch
    - taosWLockLatch
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtPutReqToFetchQueue(void *node, struct SRpcMsg *pMsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:198,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:199,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:201,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:202,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:204,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:213,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:214,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:216,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:218,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:219,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - node
    - qtype
    - pMsg
    argTypes:
    - void*
    - EQueueType
    - struct SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: qwtPutReqToQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - tsem_post
    - TD_ALWAYS_ASSERT
    - printf
    - taosWUnLockLatch
    - taosWLockLatch
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtPutReqToQueue(void *node, EQueueType qtype, struct SRpcMsg
      *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pVnode
    - epSet
    - pReq
    argTypes:
    - void*
    - struct SEpSet*
    - struct SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: qwtSendReqToDnode
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qwtSendReqToDnode(void *pVnode, struct SEpSet *epSet, struct SRpcMsg
      *pReq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:236,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:238,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:241,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:243,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:248,1
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:256,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:257,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:259,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:262,1
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:266,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:268,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:271,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:273,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:276,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:282,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 292
    functionName: qwtRpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qwtPutReqToFetchQueue
    - qwtBuildFetchReqMsg
    - TD_ALWAYS_ASSERT
    - qwtBuildDropReqMsg
    - rpcFreeCont
    linkageType: ''
    returnType: int
    signature: int qwtRpcSendResponse(const SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 10
    argNames:
    - tsdb
    - vgId
    - taskId
    - pPlan
    - pTaskInfo
    - handle
    - compressResult
    - sql
    - model
    - subEndPoints
    argTypes:
    - void*
    - int32_t
    - uint64_t
    - struct SSubplan*
    - qTaskInfo_t*
    - DataSinkHandle*
    - int8_t
    - char*
    - EOPTR_EXEC_MODEL
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: qwtCreateExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qwtCreateExecTask(void *tsdb, int32_t vgId, uint64_t taskId,
      struct SSubplan *pPlan, qTaskInfo_t *pTaskInfo,\n                          DataSinkHandle
      *handle, int8_t compressResult, char* sql,\n                        EOPTR_EXEC_MODEL
      model, SArray** subEndPoints)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:318,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:322,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:326,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:331,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:336,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:340,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - tinfo
    - pRes
    - useconds
    argTypes:
    - qTaskInfo_t
    - SSDataBlock**
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 348
    functionName: qwtExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosUsleep
    - taosMemoryCalloc
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtExecTask(qTaskInfo_t tinfo, SSDataBlock **pRes, uint64_t
      *useconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qinfo
    - rspCode
    argTypes:
    - qTaskInfo_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: qwtKillTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtKillTask(qTaskInfo_t qinfo, int32_t rspCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - qHandle
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: qwtDestroyTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qwtDestroyTask(qTaskInfo_t qHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:356,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:359,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:361,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - handle
    - pInput
    - pContinue
    argTypes:
    - DataSinkHandle
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 373
    functionName: qwtPutDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosWLockLatch
    - TD_ALWAYS_ASSERT
    - taosMemoryFree
    - taosWUnLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtPutDataBlock(DataSinkHandle handle, const SInputData *pInput,
      bool *pContinue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - useconds
    argTypes:
    - DataSinkHandle
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: qwtEndPut
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void qwtEndPut(DataSinkHandle handle, uint64_t useconds)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:387,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:390,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:393,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:396,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:398,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:404,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - handle
    - pLen
    - pQueryEnd
    argTypes:
    - DataSinkHandle
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 409
    functionName: qwtGetDataLength
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - atomic_add_fetch_32
    - atomic_sub_fetch_32
    - taosWUnLockLatch
    - taosWLockLatch
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void qwtGetDataLength(DataSinkHandle handle, int64_t *pLen, bool *pQueryEnd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:412,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:414,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:424,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:438,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:441,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - handle
    - pOutput
    argTypes:
    - DataSinkHandle
    - SOutputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 446
    functionName: qwtGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosWLockLatch
    - TD_ALWAYS_ASSERT
    - taosWUnLockLatch
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtGetDataBlock(DataSinkHandle handle, SOutputData *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DataSinkHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: qwtDestroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qwtDestroyDataSinker(DataSinkHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:452,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:455,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:457,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:462,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 468
    functionName: stubSetStringToPlan
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetStringToPlan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:472,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:475,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:477,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:482,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 488
    functionName: stubSetExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetExecTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:492,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:495,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:497,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:502,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 508
    functionName: stubSetCreateExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetCreateExecTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:512,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:515,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:517,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:522,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 528
    functionName: stubSetAsyncKillTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetAsyncKillTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:532,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:535,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:537,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:542,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 548
    functionName: stubSetDestroyTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetDestroyTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:552,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:555,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:557,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:562,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 568
    functionName: stubSetDestroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetDestroyDataSinker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:572,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:575,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:577,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:582,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 588
    functionName: stubSetGetDataLength
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetGetDataLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:592,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:595,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:597,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:602,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 608
    functionName: stubSetEndPut
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetEndPut()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:612,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:615,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:617,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:622,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 628
    functionName: stubSetPutDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetPutDataBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:632,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:635,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:637,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:642,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 648
    functionName: stubSetRpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetRpcSendResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:652,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:655,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:657,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:662,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 668
    functionName: stubSetGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetGetDataBlock()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:678,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:679,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:681,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:681,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 689
    functionName: queryThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosUsleep
    - taosRand
    - qWorkerProcessQueryMsg
    - printf
    - qwtBuildQueryReqMsg
    linkageType: ''
    returnType: void
    signature: void *queryThread(void *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:700,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:701,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:703,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:703,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 711
    functionName: fetchThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerProcessFetchMsg
    - taosUsleep
    - taosRand
    - printf
    - qwtBuildFetchReqMsg
    linkageType: ''
    returnType: void
    signature: void *fetchThread(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:722,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:725,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:728,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:728,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 736
    functionName: dropThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosUsleep
    - taosRand
    - printf
    - qWorkerProcessDropMsg
    - qwtBuildDropReqMsg
    linkageType: ''
    returnType: void
    signature: void *dropThread(void *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:745,1
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:750,1
    - Dst: qwtPutReqToQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:751,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:754,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:758,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 765
    functionName: qwtclientThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosUsleep
    - qwtPutReqToQueue
    - printf
    - atomic_add_fetch_32
    - qwtBuildQueryReqMsg
    - taosSsleep
    linkageType: ''
    returnType: void
    signature: void *qwtclientThread(void *param)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:773,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:779,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:781,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:782,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:792,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:795,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:798,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:803,1
    - Dst: qWorkerProcessCQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:805,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:807,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:808,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:811,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:818,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 821
    functionName: queryQueueThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - tsem_wait
    - taosUsleep
    - qWorkerProcessCQueryMsg
    - taosRand
    - printf
    - qWorkerProcessQueryMsg
    - taosMemoryFree
    - atomic_add_fetch_32
    - taosWUnLockLatch
    - taosWLockLatch
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *queryQueueThread(void *param)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:829,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:835,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:837,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:838,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:848,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:851,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:854,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:861,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:867,1
    - Dst: qWorkerProcessNotifyMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:870,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:873,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:874,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:878,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:885,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 888
    functionName: fetchQueueThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerProcessNotifyMsg
    - tsem_wait
    - qWorkerProcessFetchMsg
    - taosUsleep
    - taosRand
    - printf
    - taosMemoryFree
    - atomic_add_fetch_32
    - taosWUnLockLatch
    - qWorkerProcessDropMsg
    - taosWLockLatch
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *fetchQueueThread(void *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:108,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:110,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: qwtInitLogFile
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - taosInitLog
    - printf
    linkageType: ''
    returnType: void
    signature: void qwtInitLogFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:116,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:116,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:117,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:118,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - queryRpc
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: qwtBuildQueryReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 2
    functionsReached:
    - htobe64
    - htonl
    - atomic_add_fetch_64
    linkageType: ''
    returnType: void
    signature: void qwtBuildQueryReqMsg(SRpcMsg *queryRpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:127,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:128,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:128,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fetchMsg
    - fetchRpc
    argTypes:
    - SResFetchReq*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: qwtBuildFetchReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 2
    functionsReached:
    - htobe64
    - atomic_load_64
    linkageType: ''
    returnType: void
    signature: void qwtBuildFetchReqMsg(SResFetchReq *fetchMsg, SRpcMsg *fetchRpc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:137,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:140,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:145,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:150,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - dropMsg
    - dropRpc
    argTypes:
    - STaskDropReq*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: qwtBuildDropReqMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 2
    functionsReached:
    - atomic_load_64
    - tSerializeSTaskDropReq
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int
    signature: int qwtBuildDropReqMsg(STaskDropReq *dropMsg, SRpcMsg *dropRpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - subplan
    argTypes:
    - char*
    - SSubplan**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: qwtStringToPlan
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtStringToPlan(const char *str, SSubplan **subplan)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:169,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:170,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:172,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:173,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:175,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:184,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:185,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:187,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:189,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:190,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - node
    - pMsg
    argTypes:
    - void*
    - struct SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 195
    functionName: qwtPutReqToFetchQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - tsem_post
    - TD_ALWAYS_ASSERT
    - printf
    - taosWUnLockLatch
    - taosWLockLatch
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtPutReqToFetchQueue(void *node, struct SRpcMsg *pMsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:198,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:199,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:201,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:202,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:204,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:213,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:214,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:216,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:218,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:219,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - node
    - qtype
    - pMsg
    argTypes:
    - void*
    - EQueueType
    - struct SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: qwtPutReqToQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - tsem_post
    - TD_ALWAYS_ASSERT
    - printf
    - taosWUnLockLatch
    - taosWLockLatch
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtPutReqToQueue(void *node, EQueueType qtype, struct SRpcMsg
      *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pVnode
    - epSet
    - pReq
    argTypes:
    - void*
    - struct SEpSet*
    - struct SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: qwtSendReqToDnode
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qwtSendReqToDnode(void *pVnode, struct SEpSet *epSet, struct SRpcMsg
      *pReq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:236,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:238,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:241,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:243,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:248,1
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:256,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:257,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:259,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:262,1
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:266,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:268,1
    - Dst: qwtPutReqToFetchQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:271,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:273,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:276,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:282,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 292
    functionName: qwtRpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qwtPutReqToFetchQueue
    - qwtBuildFetchReqMsg
    - TD_ALWAYS_ASSERT
    - qwtBuildDropReqMsg
    - rpcFreeCont
    linkageType: ''
    returnType: int
    signature: int qwtRpcSendResponse(const SRpcMsg *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 10
    argNames:
    - tsdb
    - vgId
    - taskId
    - pPlan
    - pTaskInfo
    - handle
    - compressResult
    - sql
    - model
    - subEndPoints
    argTypes:
    - void*
    - int32_t
    - uint64_t
    - struct SSubplan*
    - qTaskInfo_t*
    - DataSinkHandle*
    - int8_t
    - char*
    - EOPTR_EXEC_MODEL
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: qwtCreateExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qwtCreateExecTask(void *tsdb, int32_t vgId, uint64_t taskId,
      struct SSubplan *pPlan, qTaskInfo_t *pTaskInfo,\n                          DataSinkHandle
      *handle, int8_t compressResult, char* sql,\n                        EOPTR_EXEC_MODEL
      model, SArray** subEndPoints)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:318,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:322,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:326,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:331,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:336,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:340,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - tinfo
    - pRes
    - useconds
    argTypes:
    - qTaskInfo_t
    - SSDataBlock**
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 348
    functionName: qwtExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosUsleep
    - taosMemoryCalloc
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtExecTask(qTaskInfo_t tinfo, SSDataBlock **pRes, uint64_t
      *useconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qinfo
    - rspCode
    argTypes:
    - qTaskInfo_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: qwtKillTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtKillTask(qTaskInfo_t qinfo, int32_t rspCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - qHandle
    argTypes:
    - qTaskInfo_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: qwtDestroyTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qwtDestroyTask(qTaskInfo_t qHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:356,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:359,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:361,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - handle
    - pInput
    - pContinue
    argTypes:
    - DataSinkHandle
    - SInputData*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 373
    functionName: qwtPutDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosWLockLatch
    - TD_ALWAYS_ASSERT
    - taosMemoryFree
    - taosWUnLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtPutDataBlock(DataSinkHandle handle, const SInputData *pInput,
      bool *pContinue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - useconds
    argTypes:
    - DataSinkHandle
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: qwtEndPut
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void qwtEndPut(DataSinkHandle handle, uint64_t useconds)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:387,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:390,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:393,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:396,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:398,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:404,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - handle
    - pLen
    - pQueryEnd
    argTypes:
    - DataSinkHandle
    - int64_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 409
    functionName: qwtGetDataLength
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosRand
    - atomic_add_fetch_32
    - atomic_sub_fetch_32
    - taosWUnLockLatch
    - taosWLockLatch
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void qwtGetDataLength(DataSinkHandle handle, int64_t *pLen, bool *pQueryEnd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:412,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:414,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:424,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:438,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:441,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - handle
    - pOutput
    argTypes:
    - DataSinkHandle
    - SOutputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 446
    functionName: qwtGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosWLockLatch
    - TD_ALWAYS_ASSERT
    - taosWUnLockLatch
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwtGetDataBlock(DataSinkHandle handle, SOutputData *pOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DataSinkHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: qwtDestroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void qwtDestroyDataSinker(DataSinkHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:452,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:455,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:457,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:462,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 468
    functionName: stubSetStringToPlan
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetStringToPlan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:472,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:475,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:477,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:482,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 488
    functionName: stubSetExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetExecTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:492,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:495,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:497,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:502,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 508
    functionName: stubSetCreateExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetCreateExecTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:512,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:515,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:517,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:522,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 528
    functionName: stubSetAsyncKillTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetAsyncKillTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:532,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:535,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:537,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:542,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 548
    functionName: stubSetDestroyTask
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetDestroyTask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:552,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:555,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:557,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:562,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 568
    functionName: stubSetDestroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetDestroyDataSinker()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:572,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:575,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:577,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:582,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 588
    functionName: stubSetGetDataLength
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetGetDataLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:592,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:595,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:597,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:602,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 608
    functionName: stubSetEndPut
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetEndPut()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:612,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:615,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:617,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:622,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 628
    functionName: stubSetPutDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetPutDataBlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:632,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:635,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:637,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:642,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 648
    functionName: stubSetRpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetRpcSendResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:652,1
    - Dst: AddrAny::AddrAny
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:655,1
    - Dst: AddrAny::get_func_addr
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:657,1
    - Dst: AddrAny::get_global_func_addr_dynsym
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:662,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 668
    functionName: stubSetGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - AddrAny::get_global_func_addr_dynsym
    - AddrAny::get_func_addr
    - Stub::set
    - AddrAny::AddrAny
    linkageType: ''
    returnType: void
    signature: void stubSetGetDataBlock()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:678,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:679,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:681,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:681,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 689
    functionName: queryThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosUsleep
    - taosRand
    - qWorkerProcessQueryMsg
    - printf
    - qwtBuildQueryReqMsg
    linkageType: ''
    returnType: void
    signature: void *queryThread(void *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:700,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:701,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:703,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:703,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 711
    functionName: fetchThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerProcessFetchMsg
    - taosUsleep
    - taosRand
    - printf
    - qwtBuildFetchReqMsg
    linkageType: ''
    returnType: void
    signature: void *fetchThread(void *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:722,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:725,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:728,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:728,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 736
    functionName: dropThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosUsleep
    - taosRand
    - printf
    - qWorkerProcessDropMsg
    - qwtBuildDropReqMsg
    linkageType: ''
    returnType: void
    signature: void *dropThread(void *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:745,1
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:750,1
    - Dst: qwtPutReqToQueue
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:751,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:754,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:758,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 765
    functionName: qwtclientThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - taosUsleep
    - qwtPutReqToQueue
    - printf
    - atomic_add_fetch_32
    - qwtBuildQueryReqMsg
    - taosSsleep
    linkageType: ''
    returnType: void
    signature: void *qwtclientThread(void *param)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:773,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:779,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:781,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:782,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:792,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:795,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:798,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:803,1
    - Dst: qWorkerProcessCQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:805,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:807,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:808,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:811,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:818,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 821
    functionName: queryQueueThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - tsem_wait
    - taosUsleep
    - qWorkerProcessCQueryMsg
    - taosRand
    - printf
    - qWorkerProcessQueryMsg
    - taosMemoryFree
    - atomic_add_fetch_32
    - taosWUnLockLatch
    - taosWLockLatch
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *queryQueueThread(void *param)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:829,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:835,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:837,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:838,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:848,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:851,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:854,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:861,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:867,1
    - Dst: qWorkerProcessNotifyMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:870,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:873,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:874,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:878,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:885,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 888
    functionName: fetchQueueThread
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerProcessNotifyMsg
    - tsem_wait
    - qWorkerProcessFetchMsg
    - taosUsleep
    - taosRand
    - printf
    - taosMemoryFree
    - atomic_add_fetch_32
    - taosWUnLockLatch
    - qWorkerProcessDropMsg
    - taosWLockLatch
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void *fetchQueueThread(void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:900,1
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:902,1
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:903,1
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:904,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:906,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:907,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:908,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:909,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:910,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:911,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:912,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:913,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:914,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:915,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:916,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:921,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:922,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:924,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:925,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:930,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:931,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:933,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:934,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 937
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetPutDataBlock
    - qWorkerProcessQueryMsg
    - ASSERT_EQ
    - stubSetGetDataBlock
    - stubSetDestroyDataSinker
    - qwtBuildFetchReqMsg
    - qwtBuildQueryReqMsg
    - stubSetStringToPlan
    - stubSetCreateExecTask
    - qWorkerDestroy
    - qWorkerInit
    - qWorkerProcessFetchMsg
    - stubSetEndPut
    - qwtInitLogFile
    - qwtBuildDropReqMsg
    - stubSetGetDataLength
    - stubSetAsyncKillTask
    - qWorkerProcessDropMsg
    - stubSetRpcSendResponse
    - stubSetDestroyTask
    - stubSetExecTask
    linkageType: ''
    returnType: void
    signature: void TEST(seqTest, normalCase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:946,1
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:948,1
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:949,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:951,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:952,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:957,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:958,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:960,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:961,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:963,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:964,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 967
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerInit
    - qWorkerProcessDropMsg
    - qWorkerDestroy
    - qWorkerProcessQueryMsg
    - ASSERT_EQ
    - qwtBuildQueryReqMsg
    - ASSERT_TRUE
    - qwtInitLogFile
    - stubSetRpcSendResponse
    - stubSetStringToPlan
    - qwtBuildDropReqMsg
    linkageType: ''
    returnType: void
    signature: void TEST(seqTest, cancelFirst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:983,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:985,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:986,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:987,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:989,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:989,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:994,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:995,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1000,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1003,1
    - Dst: qwtBuildQueryReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1004,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1005,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1014,1
    - Dst: qwtBuildFetchReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1015,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1016,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1018,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1021,1
    - Dst: qwtBuildDropReqMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1022,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1023,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1025,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1028,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1030,1
    - Dst: printf
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1033,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1038,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 1039
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerInit
    - qWorkerProcessDropMsg
    - taosSeedRand
    - qWorkerProcessFetchMsg
    - qWorkerDestroy
    - qwtBuildFetchReqMsg
    - taosUsleep
    - taosRand
    - printf
    - ASSERT_EQ
    - qwtBuildQueryReqMsg
    - taosGetTimestampSec
    - qWorkerProcessQueryMsg
    - qwtInitLogFile
    - stubSetRpcSendResponse
    - stubSetStringToPlan
    - qwtBuildDropReqMsg
    - stubSetCreateExecTask
    linkageType: ''
    returnType: void
    signature: void TEST(seqTest, randCase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1046,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1048,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1049,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1050,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1051,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1052,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1053,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1054,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1055,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1056,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1057,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1058,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1060,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1060,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1065,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1066,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1069,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1072,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1074,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1075,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1076,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1080,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1082,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1088,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1099,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1100
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetPutDataBlock
    - ASSERT_EQ
    - stubSetGetDataBlock
    - stubSetDestroyDataSinker
    - stubSetStringToPlan
    - stubSetCreateExecTask
    - qWorkerDestroy
    - taosGetTimestampSec
    - taosSsleep
    - taosThreadAttrInit
    - qWorkerInit
    - taosSeedRand
    - stubSetEndPut
    - taosThreadCreate
    - qwtInitLogFile
    - stubSetGetDataLength
    - stubSetAsyncKillTask
    - stubSetRpcSendResponse
    - stubSetDestroyTask
    - stubSetExecTask
    linkageType: ''
    returnType: void
    signature: void TEST(seqTest, multithreadRand)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1107,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1109,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1110,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1111,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1112,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1113,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1114,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1115,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1116,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1117,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1118,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1119,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1121,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1121,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1128,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1129,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1134,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1135,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1138,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1141,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1142,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1143,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1147,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1149,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1161,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1165,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1166,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1168,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1102
    functionDepth: 2
    functionLinenumber: 1102
    functionLinenumberEnd: 1183
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetPutDataBlock
    - taosUsleep
    - ASSERT_EQ
    - stubSetGetDataBlock
    - stubSetDestroyDataSinker
    - stubSetStringToPlan
    - stubSetCreateExecTask
    - tsem_post
    - qWorkerDestroy
    - taosGetTimestampSec
    - taosSsleep
    - taosThreadAttrInit
    - qWorkerInit
    - taosSeedRand
    - stubSetEndPut
    - tsem_init
    - taosThreadCreate
    - qwtInitLogFile
    - stubSetGetDataLength
    - stubSetAsyncKillTask
    - stubSetRpcSendResponse
    - stubSetDestroyTask
    - stubSetExecTask
    linkageType: ''
    returnType: void
    signature: void TEST(rcTest, shortExecshortDelay)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1190,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1192,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1193,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1194,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1195,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1196,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1197,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1198,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1199,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1200,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1201,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1202,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1204,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1204,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1211,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1212,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1217,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1218,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1221,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1224,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1225,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1226,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1230,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1232,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1244,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1248,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1249,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1251,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1266
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetPutDataBlock
    - taosUsleep
    - ASSERT_EQ
    - stubSetGetDataBlock
    - stubSetDestroyDataSinker
    - stubSetStringToPlan
    - stubSetCreateExecTask
    - tsem_post
    - qWorkerDestroy
    - taosGetTimestampSec
    - taosSsleep
    - taosThreadAttrInit
    - qWorkerInit
    - taosSeedRand
    - stubSetEndPut
    - tsem_init
    - taosThreadCreate
    - qwtInitLogFile
    - stubSetGetDataLength
    - stubSetAsyncKillTask
    - stubSetRpcSendResponse
    - stubSetDestroyTask
    - stubSetExecTask
    linkageType: ''
    returnType: void
    signature: void TEST(rcTest, longExecshortDelay)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1273,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1275,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1276,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1277,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1278,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1279,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1280,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1281,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1282,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1283,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1284,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1285,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1287,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1287,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1294,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1295,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1300,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1301,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1304,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1307,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1308,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1309,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1313,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1315,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1327,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1331,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1332,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1334,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1349
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetPutDataBlock
    - taosUsleep
    - ASSERT_EQ
    - stubSetGetDataBlock
    - stubSetDestroyDataSinker
    - stubSetStringToPlan
    - stubSetCreateExecTask
    - tsem_post
    - qWorkerDestroy
    - taosGetTimestampSec
    - taosSsleep
    - taosThreadAttrInit
    - qWorkerInit
    - taosSeedRand
    - stubSetEndPut
    - tsem_init
    - taosThreadCreate
    - qwtInitLogFile
    - stubSetGetDataLength
    - stubSetAsyncKillTask
    - stubSetRpcSendResponse
    - stubSetDestroyTask
    - stubSetExecTask
    linkageType: ''
    returnType: void
    signature: void TEST(rcTest, shortExeclongDelay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1356,1
    - Dst: stubSetStringToPlan
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1358,1
    - Dst: stubSetRpcSendResponse
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1359,1
    - Dst: stubSetExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1360,1
    - Dst: stubSetCreateExecTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1361,1
    - Dst: stubSetAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1362,1
    - Dst: stubSetDestroyTask
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1363,1
    - Dst: stubSetDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1364,1
    - Dst: stubSetGetDataLength
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1365,1
    - Dst: stubSetEndPut
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1366,1
    - Dst: stubSetPutDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1367,1
    - Dst: stubSetGetDataBlock
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1368,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1370,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1370,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1375,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1376,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1378,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1379,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1382,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1385,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1386,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1387,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1391,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1393,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1399,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1351
    functionDepth: 2
    functionLinenumber: 1351
    functionLinenumberEnd: 1402
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - stubSetPutDataBlock
    - ASSERT_EQ
    - stubSetGetDataBlock
    - stubSetDestroyDataSinker
    - stubSetStringToPlan
    - stubSetCreateExecTask
    - qWorkerDestroy
    - taosGetTimestampSec
    - taosSsleep
    - taosThreadAttrInit
    - qWorkerInit
    - taosSeedRand
    - stubSetEndPut
    - tsem_init
    - taosThreadCreate
    - qwtInitLogFile
    - stubSetGetDataLength
    - stubSetAsyncKillTask
    - stubSetRpcSendResponse
    - stubSetDestroyTask
    - stubSetExecTask
    linkageType: ''
    returnType: void
    signature: void TEST(rcTest, dropTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - capacity
    - fn
    - update
    - type
    argTypes:
    - size_t
    - _hash_fn_t
    - bool
    - SHashLockTypeE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1411
    functionName: qwtMockHashInitNull
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SHashObj
    signature: SHashObj *qwtMockHashInitNull(size_t capacity, _hash_fn_t fn, bool
      update, SHashLockTypeE type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - maxTmr
    - resolution
    - longest
    - label
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1416
    functionName: qwtMockTmrInitNull
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *qwtMockTmrInitNull(int32_t maxTmr, int32_t resolution, int32_t
      longest, const char *label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1425,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1428,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1435,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1436,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1421
    functionDepth: 2
    functionLinenumber: 1421
    functionLinenumberEnd: 1439
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerInit
    - ASSERT_NE
    - ASSERT_EQ
    - qwtInitLogFile
    - Stub::set
    linkageType: ''
    returnType: void
    signature: void TEST(initErrorTest, schHashAllocFail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwtInitLogFile
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1448,1
    - Dst: Stub::set
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1451,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1457,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1458,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1444
    functionDepth: 2
    functionLinenumber: 1444
    functionLinenumberEnd: 1460
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 0
    functionsReached:
    - qWorkerInit
    - ASSERT_NE
    - ASSERT_EQ
    - qwtInitLogFile
    - Stub::set
    linkageType: ''
    returnType: void
    signature: void TEST(initErrorTest, timerInitFail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1463,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1463,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1464,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1466
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/qworker/test/qworkerTests.cpp
    functionUses: 2
    functionsReached:
    - testing::InitGoogleTest
    - taosGetTimestampSec
    - RUN_ALL_TESTS
    - taosSeedRand
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mgmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: QW_CTX_NOT_EXISTS_ERR_CODE
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_CTX_NOT_EXISTS_ERR_CODE(mgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: QW_IDS
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_IDS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: QW_FPARAMS
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_FPARAMS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: QW_SINK_ENABLE_MEMPOOL
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SINK_ENABLE_MEMPOOL(_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: QW_SINK_DISABLE_MEMPOOL
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SINK_DISABLE_MEMPOOL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _item
    - ','
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: QW_STAT_INC
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_STAT_INC(_item, _n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _item
    - ','
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: QW_STAT_DEC
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_STAT_DEC(_item, _n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: QW_STAT_GET
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_STAT_GET(_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: QW_GET_EVENT
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_GET_EVENT(ctx, event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 335
    functionName: QW_EVENT_RECEIVED
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_EVENT_RECEIVED(ctx, event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: QW_EVENT_PROCESSED
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_EVENT_PROCESSED(ctx, event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: QW_SET_EVENT_RECEIVED
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SET_EVENT_RECEIVED(ctx, event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - event
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: QW_SET_EVENT_PROCESSED
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SET_EVENT_PROCESSED(ctx, event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: QW_GET_PHASE
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_GET_PHASE(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - _value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 358
    functionName: QW_SET_PHASE
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SET_PHASE(ctx, _value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    functionName: QW_SET_RSP_CODE
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SET_RSP_CODE(ctx, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: QW_UPDATE_RSP_CODE
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_UPDATE_RSP_CODE(ctx, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: QW_IS_SUBQ
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_IS_SUBQ(_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: QW_IS_SCALAR_SUBQ
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_IS_SCALAR_SUBQ(_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 366
    functionName: QW_QUERY_RUNNING
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_QUERY_RUNNING(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: QW_FETCH_RUNNING
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_FETCH_RUNNING(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    functionName: QW_QUERY_NOT_STARTED
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_QUERY_NOT_STARTED(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - id
    - ','
    - qId
    - ','
    - cId
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: QW_SET_QCID
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SET_QCID(id, qId, cId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - id
    - ','
    - qId
    - ','
    - cId
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: QW_GET_QCID
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_GET_QCID(id, qId, cId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - id
    - ','
    - qId
    - ','
    - cId
    - ','
    - tId
    - ','
    - eId
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: QW_SET_QTID
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SET_QTID(id, qId, cId, tId, eId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - id
    - ','
    - qId
    - ','
    - cId
    - ','
    - tId
    - ','
    - eId
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: QW_GET_QTID
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_GET_QTID(id, qId, cId, tId, eId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - id
    - ','
    - tId
    - ','
    - eId
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: QW_SET_TEID
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SET_TEID(id, tId, eId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - id
    - ','
    - tId
    - ','
    - eId
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: QW_GET_TEID
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_GET_TEID(id, tId, eId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: QW_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: QW_RET
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 434
    functionName: QW_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_ERR_JRET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: QW_ELOG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_ELOG(_param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    functionName: QW_DLOG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_DLOG(_param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: QW_TLOG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_TLOG(_param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: QW_DUMP
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_DUMP(_param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: QW_SCH_ELOG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SCH_ELOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: QW_SCH_DLOG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SCH_DLOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: QW_TASK_ELOG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_TASK_ELOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: QW_TASK_WLOG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_TASK_WLOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: QW_TASK_DLOG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_TASK_DLOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: QW_TASK_DLOGL
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_TASK_DLOGL(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: QW_TASK_ELOG_E
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_TASK_ELOG_E(param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: QW_TASK_WLOG_E
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_TASK_WLOG_E(param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: QW_TASK_DLOG_E
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_TASK_DLOG_E(param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: QW_SCH_TASK_ELOG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SCH_TASK_ELOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: QW_SCH_TASK_WLOG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SCH_TASK_WLOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: QW_SCH_TASK_DLOG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_SCH_TASK_DLOG(param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: QW_LOCK_DEBUG
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_LOCK_DEBUG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - _lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 512
    functionName: QW_LOCK
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_LOCK(type, _lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - _lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 543
    functionName: QW_UNLOCK
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_UNLOCK(type, _lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - _lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: QW_UNLOCK
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QW_UNLOCK(type, _lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/qworker/inc/qwInt.h:557,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/inc/qwInt.h:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 558
    functionName: qwAcquire
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached:
    - taosAcquireRef
    - atomic_load_32
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE *qwAcquire(int64_t refId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/qworker/inc/qwInt.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 559
    functionName: qwRelease
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: 0
    functionsReached:
    - taosReleaseRef
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE qwRelease(int64_t refId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:30,1
    - Dst: qwAcquireScheduler
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:30,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:32,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:34,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:37,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:41,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:43,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:46,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:48,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - mgmt
    - qwMsg
    - req
    argTypes:
    - SQWorker*
    - SQWMsg*
    - SSchedulerHbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 51
    functionName: qwProcessHbLinkBroken
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - qwAcquireScheduler
    - tmsgReleaseHandle
    - QW_UNLOCK
    - qwReleaseScheduler
    - QW_RET
    - QW_DLOG
    - taosGetTimestampMs
    - QW_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwProcessHbLinkBroken(SQWorker *mgmt, SQWMsg *qwMsg, SSchedulerHbReq
      *req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:61,1
    - Dst: qwSendExplainResponse
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:61,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:61,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:65,1
    - Dst: dsGetDataLength
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:66,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:67,1
    - Dst: qwFreeTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 78
    functionName: qwHandleTaskComplete
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_SINK_DISABLE_MEMPOOL
    - qwSendExplainResponse
    - QW_FPARAMS
    - QW_ERR_JRET
    - QW_SINK_ENABLE_MEMPOOL
    - qwFreeTaskHandle
    - dsGetDataLength
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwHandleTaskComplete(QW_FPARAMS_DEF, SQWTaskCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_IS_SCALAR_SUBQ
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:81,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:83,1
    - Dst: qwBuildAndSendQueryRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:83,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:84,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:84,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - msgType
    - ctx
    - rspCode
    - quickRsp
    argTypes:
    - int32_t
    - SQWTaskCtx*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: qwSendQueryRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_IS_SCALAR_SUBQ
    - qwBuildAndSendQueryRsp
    - taosGetTimestampSec
    - QW_ERR_RET
    - tstrerror
    - 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: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:112,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:114,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:118,1
    - Dst: qwDbgSimulateSleep
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:124,1
    - Dst: setTaskScalarExtraInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:126,1
    - Dst: taosEnableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:127,1
    - Dst: qExecTaskOpt
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:128,1
    - Dst: taosDisableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:129,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:133,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:133,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:135,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:137,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:143,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:145,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:147,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:151,1
    - Dst: dsPutDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:152,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:153,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:156,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:156,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:157,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:160,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:168,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:171,1
    - Dst: qwHandleTaskComplete
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:172,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:172,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:173,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:174,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:177,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:179,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:185,1
    - Dst: dsEndPut
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:186,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:187,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:208,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:212,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:219,1
    - Dst: qwFreeTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:222,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:225,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 91
    argCount: 3
    argNames:
    - ctx
    - queryStop
    - processOneBlock
    argTypes:
    - SQWTaskCtx*
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 226
    functionName: qwExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - taosEnableMemPoolUsage
    - QW_ERR_JRET
    - qwDbgSimulateSleep
    - QW_ERR_RET
    - taosArrayDestroy
    - QW_TASK_DLOG
    - taosArrayGetP
    - QW_TASK_ELOG
    - qwHandleTaskComplete
    - dsEndPut
    - QW_RET
    - atomic_load_32
    - QW_SINK_ENABLE_MEMPOOL
    - taosArrayGetSize
    - qExecTaskOpt
    - QW_SINK_DISABLE_MEMPOOL
    - QW_UNLOCK
    - setTaskScalarExtraInfo
    - qwFreeTaskHandle
    - QW_LOCK
    - dsPutDataBlock
    - QW_EVENT_RECEIVED
    - QW_FPARAMS
    - taosArrayInit
    - tstrerror
    - taosDisableMemPoolUsage
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwExecTask(QW_FPARAMS_DEF, SQWTaskCtx *ctx, bool *queryStop,
      bool processOneBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTaskIsExecuting
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: qwTaskNotInExec
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qTaskIsExecuting
    linkageType: ''
    returnType: bool
    signature: bool qwTaskNotInExec(SQWTaskCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:244,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:246,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:248,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:250,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:251,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:260,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:263,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:267,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:272,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:273,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:279,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - mgmt
    - sch
    - hbInfo
    argTypes:
    - SQWorker*
    - SQWSchStatus*
    - SQWHbInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 285
    functionName: qwGenerateSchHbRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_GET_QTID
    - taosHashIterate
    - taosArrayPush
    - QW_UNLOCK
    - taosHashCancelIterate
    - taosHashGetSize
    - taosHashGetKey
    - taosArrayInit
    - QW_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwGenerateSchHbRsp(SQWorker *mgmt, SQWSchStatus *sch, SQWHbInfo
      *hbInfo)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:305,1
    - Dst: dsGetDataLength
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:306,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:307,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:310,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:311,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:316,1
    - Dst: dsGetDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:317,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:318,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:321,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:321,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:322,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:325,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:329,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:329,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:329,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:333,1
    - Dst: qwMallocFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:333,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:348,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:353,1
    - Dst: qwMallocFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:353,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:362,1
    - Dst: dsGetDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:363,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:364,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:367,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:368,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:385,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:388,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:388,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:388,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:394,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:400,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 86
    argCount: 5
    argNames:
    - ctx
    - dataLen
    - pRawDataLen
    - rspMsg
    - pOutput
    argTypes:
    - SQWTaskCtx*
    - int32_t*
    - int32_t*
    - void**
    - SOutputData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 411
    functionName: qwGetQueryResFromSink
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_SINK_DISABLE_MEMPOOL
    - dsGetDataBlock
    - QW_FPARAMS
    - QW_ERR_JRET
    - QW_SINK_ENABLE_MEMPOOL
    - dsGetDataLength
    - tstrerror
    - qwMallocFetchRsp
    - QW_TASK_DLOG
    - QW_TASK_ELOG
    - qwUpdateTaskStatus
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qwGetQueryResFromSink(QW_FPARAMS_DEF, SQWTaskCtx *ctx, int32_t
      *dataLen, int32_t *pRawDataLen, void **rspMsg,\n                              SOutputData
      *pOutput)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:420,1
    - Dst: dsGetDataLength
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:421,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:422,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:425,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:426,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:429,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:431,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:434,1
    - Dst: dsGetDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:435,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:436,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:439,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:440,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:441,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:448,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:452,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:453,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - ctx
    - pRes
    argTypes:
    - SQWTaskCtx*
    - SDeleteRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 458
    functionName: qwGetDeleteResFromSink
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_SINK_DISABLE_MEMPOOL
    - TAOS_STRCPY
    - dsGetDataBlock
    - QW_SINK_ENABLE_MEMPOOL
    - taosGetTimestampMs
    - taosMemoryFree
    - QW_ERR_RET
    - dsGetDataLength
    - tstrerror
    - taosMemoryCalloc
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwGetDeleteResFromSink(QW_FPARAMS_DEF, SQWTaskCtx *ctx, SDeleteRes
      *pRes)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:466,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:466,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:466,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:468,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:477,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:477,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:481,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:493,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:495,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:497,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:503,1
    - Dst: QW_IS_SUBQ
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:505,1
    - Dst: qwChkSaveSubQFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:506,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:506,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:512,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:512,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:515,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:515,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:521,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - qwMsg
    - code
    argTypes:
    - SQWMsg*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 525
    functionName: qwQuickRspFetchReq
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwFreeSinkHandle
    - qwBuildFetchRsp
    - QW_EVENT_RECEIVED
    - qwAcquireTaskCtx
    - qwGetQueryResFromSink
    - qwFreeFetchRsp
    - QW_FPARAMS
    - QW_IS_SUBQ
    - qwChkSaveSubQFetchRsp
    - QW_ERR_JRET
    - atomic_store_8
    - qwBuildAndSendFetchRsp
    - tstrerror
    - qwReleaseTaskCtx
    - QW_SET_EVENT_PROCESSED
    - QW_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwQuickRspFetchReq(QW_FPARAMS_DEF, SQWMsg *qwMsg, int32_t code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:529,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:530,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:533,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:534,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:542,1
    - Dst: dsReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:543,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:544,1
    - Dst: qUpdateOperatorParam
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:546,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:548,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:550,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:551,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:552,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:553,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:554,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:555,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:556,1
    - Dst: qwBuildAndSendCQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:556,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - qwMsg
    argTypes:
    - SQWTaskCtx*
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 527
    functionDepth: 6
    functionLinenumber: 527
    functionLinenumberEnd: 560
    functionName: qwStartDynamicTaskNewExec
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_SINK_DISABLE_MEMPOOL
    - atomic_val_compare_exchange_8
    - QW_QUERY_RUNNING
    - atomic_load_8
    - qUpdateOperatorParam
    - QW_SET_EVENT_RECEIVED
    - QW_FPARAMS
    - QW_SINK_ENABLE_MEMPOOL
    - dsReset
    - atomic_store_8
    - QW_ERR_RET
    - qwBuildAndSendCQueryMsg
    - QW_TASK_DLOG
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwStartDynamicTaskNewExec(QW_FPARAMS_DEF, SQWTaskCtx *ctx,
      SQWMsg *qwMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:569,1
    - Dst: qUpdateOperatorParam
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:572,1
    - Dst: qDestroyOperatorParam
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:574,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - qwMsg
    argTypes:
    - SQWTaskCtx*
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 567
    functionDepth: 6
    functionLinenumber: 567
    functionLinenumberEnd: 580
    functionName: qwUpdateTaskOperatorParamFromMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - qDestroyOperatorParam
    - qUpdateOperatorParam
    - QW_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qwUpdateTaskOperatorParamFromMsg(QW_FPARAMS_DEF, SQWTaskCtx*
      ctx,\n                                         SQWMsg* qwMsg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:584,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - qwMsg
    argTypes:
    - SQWTaskCtx*
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 597
    functionName: qwAppendToSubQWaitList
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwAppendToSubQWaitList(SQWTaskCtx *ctx, SQWMsg *qwMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:602,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:602,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:606,1
    - Dst: qwCloneSubQRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:607,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - toFetch
    - ppRes
    - dataLen
    argTypes:
    - SQWTaskCtx*
    - bool*
    - void**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 613
    functionName: qwHandleScalarSubQFetch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - atomic_load_8
    - qError
    - QW_FPARAMS
    - tstrerror
    - qwCloneSubQRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwHandleScalarSubQFetch(QW_FPARAMS_DEF, SQWTaskCtx *ctx, bool*
      toFetch, void** ppRes, int32_t* dataLen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:621,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:621,1
    - Dst: taosWWaitLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:636,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:638,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:639,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:639,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:640,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:644,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:644,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:646,1
    - Dst: qwCloneSubQRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:647,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:647,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:650,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:651,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:652,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:652,1
    - Dst: qwAppendToSubQWaitList
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:657,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - toFetch
    - ppRes
    - dataLen
    - qwMsg
    argTypes:
    - SQWTaskCtx*
    - bool*
    - void**
    - int32_t*
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 663
    functionName: qwHandleNonScalarSubQFetch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - atomic_load_8
    - qError
    - QW_FPARAMS
    - atomic_load_32
    - taosWWaitLockLatch
    - qwAppendToSubQWaitList
    - taosArrayGetSize
    - taosWUnLockLatch
    - tstrerror
    - qwCloneSubQRsp
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwHandleNonScalarSubQFetch(QW_FPARAMS_DEF, SQWTaskCtx *ctx,
      bool* toFetch, void** ppRes, int32_t* dataLen, SQWMsg *qwMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_IS_SCALAR_SUBQ
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:666,1
    - Dst: qwHandleScalarSubQFetch
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:666,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:666,1
    - Dst: qwHandleNonScalarSubQFetch
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:666,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - toFetch
    - ppRes
    - dataLen
    - qwMsg
    argTypes:
    - SQWTaskCtx*
    - bool*
    - void**
    - int32_t*
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 667
    functionName: qwHandleSubQueryFetch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwHandleNonScalarSubQFetch
    - QW_IS_SCALAR_SUBQ
    - QW_FPARAMS
    - qwHandleScalarSubQFetch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwHandleSubQueryFetch(QW_FPARAMS_DEF, SQWTaskCtx *ctx, bool*
      toFetch, void** ppRes, int32_t* dataLen, SQWMsg *qwMsg)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:673,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:673,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:675,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:675,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:675,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:677,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:679,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:679,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:680,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:680,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:681,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:686,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:687,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:688,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:691,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:692,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:692,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:693,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:696,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:697,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:697,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:697,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:702,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:706,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:706,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:708,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:708,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:710,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:713,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:713,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:713,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:717,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:718,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:719,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:722,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:722,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:723,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:723,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:724,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:727,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:728,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:728,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:729,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:733,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:733,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:733,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:734,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:738,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:738,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:739,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:744,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:745,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:750,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:751,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:751,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:752,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:756,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:756,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:756,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:757,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:760,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:761,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:761,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:761,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:766,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:772,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:772,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:773,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:777,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:777,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:777,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:778,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:781,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:786,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:789,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:792,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:793,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:797,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:797,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:797,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:799,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:799,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:799,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:802,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 100
    argCount: 3
    argNames:
    - phase
    - input
    - output
    argTypes:
    - int8_t
    - SQWPhaseInput*
    - SQWPhaseOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 803
    functionName: qwHandlePrePhaseEvents
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwAcquireTaskCtx
    - atomic_load_8
    - QW_UPDATE_RSP_CODE
    - QW_ERR_JRET
    - QW_TASK_DLOG
    - QW_TASK_ELOG
    - QW_RET
    - QW_EVENT_PROCESSED
    - atomic_load_32
    - QW_SET_PHASE
    - qwPhaseStr
    - QW_UNLOCK
    - qwReleaseTaskCtx
    - qwUpdateTaskStatus
    - QW_LOCK
    - QW_EVENT_RECEIVED
    - QW_FPARAMS
    - qwDropTask
    - tstrerror
    - QW_TASK_WLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwHandlePrePhaseEvents(QW_FPARAMS_DEF, int8_t phase, SQWPhaseInput
      *input, SQWPhaseOutput *output)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:810,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:810,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:812,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:812,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:812,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:814,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:816,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:817,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:817,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:818,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:821,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:822,1
    - Dst: qwTaskNotInExec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:822,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:823,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:823,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:823,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:824,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:829,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:829,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:830,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:831,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:834,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:839,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:839,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:841,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:841,1
    - Dst: qwDbgSimulateRedirect
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:850,1
    - Dst: qwDbgSimulateDead
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:851,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:851,1
    - Dst: qwSendQueryRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:853,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:853,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:861,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:864,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:868,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:868,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:872,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:873,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:876,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:876,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:876,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:878,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 3
    argNames:
    - phase
    - input
    - output
    argTypes:
    - int8_t
    - SQWPhaseInput*
    - SQWPhaseOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 879
    functionName: qwHandlePostPhaseEvents
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwDbgSimulateRedirect
    - QW_QUERY_RUNNING
    - qwAcquireTaskCtx
    - QW_UPDATE_RSP_CODE
    - QW_ERR_JRET
    - QW_TASK_DLOG
    - QW_TASK_ELOG
    - QW_RET
    - QW_EVENT_PROCESSED
    - qwSendQueryRsp
    - QW_SET_PHASE
    - qwPhaseStr
    - QW_UNLOCK
    - tstrerror
    - qwReleaseTaskCtx
    - qwUpdateTaskStatus
    - QW_LOCK
    - QW_EVENT_RECEIVED
    - QW_FPARAMS
    - qwDropTask
    - qwDbgSimulateDead
    - QW_TASK_WLOG
    - qwTaskNotInExec
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwHandlePostPhaseEvents(QW_FPARAMS_DEF, int8_t phase, SQWPhaseInput
      *input, SQWPhaseOutput *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:885,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:885,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:885,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:887,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:888,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:888,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:888,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 895
    functionName: qwAbortPrerocessQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_UNLOCK
    - qwAcquireTaskCtx
    - QW_FPARAMS
    - QW_ERR_JRET
    - qwDropTask
    - QW_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwAbortPrerocessQuery(QW_FPARAMS_DEF)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:901,1
    - Dst: qwRegisterQueryBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:901,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:901,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:903,1
    - Dst: qwAddTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:903,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:903,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:905,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:905,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:905,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:907,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:909,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:909,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:910,1
    - Dst: QW_GET_EVENT
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:910,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:911,1
    - Dst: TEST_SUBQUERY_MASK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:914,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:921,1
    - Dst: qwInitSession
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:921,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:921,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:924,1
    - Dst: qwAddTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:924,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:924,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:926,1
    - Dst: qwSendQueryRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:926,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:926,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:930,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:933,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:935,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:935,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:938,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - qwMsg
    argTypes:
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 897
    functionDepth: 2
    functionLinenumber: 897
    functionLinenumberEnd: 943
    functionName: qwPreprocessQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwAcquireTaskCtx
    - QW_UPDATE_RSP_CODE
    - QW_ERR_JRET
    - QW_TASK_DLOG
    - qwInitSession
    - QW_EVENT_PROCESSED
    - qwSendQueryRsp
    - QW_GET_EVENT
    - QW_UNLOCK
    - qwAddTaskStatus
    - qwReleaseTaskCtx
    - QW_LOCK
    - QW_EVENT_RECEIVED
    - QW_FPARAMS
    - qwDropTask
    - qwRegisterQueryBrokenLinkArg
    - tstrerror
    - qwAddTaskCtx
    - TEST_SUBQUERY_MASK
    - QW_TASK_WLOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwPreprocessQuery(QW_FPARAMS_DEF, SQWMsg *qwMsg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:953,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:953,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:953,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:955,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:955,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:955,1
    - Dst: taosEnableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:963,1
    - Dst: qMsgToSubplan
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:964,1
    - Dst: taosDisableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:965,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:968,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:968,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:969,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:973,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:974,1
    - Dst: taosEnableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:977,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:978,1
    - Dst: taosDisableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:980,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:983,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:983,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:984,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:985,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:989,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:990,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:991,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:994,1
    - Dst: dsGetSinkFlags
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:997,1
    - Dst: qIsDynamicExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1000,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1002,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1003,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1005,1
    - Dst: qwSaveTbVersionInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1005,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1008,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1008,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1008,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1016,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1020,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1020,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1022,1
    - Dst: qwQuickRspFetchReq
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1022,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1022,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 2
    argNames:
    - qwMsg
    - sql
    argTypes:
    - SQWMsg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 945
    functionDepth: 6
    functionLinenumber: 945
    functionLinenumberEnd: 1025
    functionName: qwProcessQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - taosEnableMemPoolUsage
    - atomic_add_fetch_64
    - QW_ERR_JRET
    - QW_ERR_RET
    - qwGetTaskCtx
    - QW_TASK_ELOG
    - dsGetSinkFlags
    - QW_RET
    - qCreateExecTask
    - qIsDynamicExecTask
    - qwHandlePostPhaseEvents
    - qwHandlePrePhaseEvents
    - qDestroyTask
    - qwSaveTbVersionInfo
    - qMsgToSubplan
    - qwQuickRspFetchReq
    - QW_FPARAMS
    - atomic_store_ptr
    - taosMemoryFree
    - tstrerror
    - qwExecTask
    - taosDisableMemPoolUsage
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwProcessQuery(QW_FPARAMS_DEF, SQWMsg *qwMsg, char *sql)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1040,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1040,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1040,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1042,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1042,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1042,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1048,1
    - Dst: qUpdateWorkerCb
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1052,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1057,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1058,1
    - Dst: dsGetSinkFlags
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1062,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1065,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1065,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1065,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1068,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1070,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1070,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1070,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1073,1
    - Dst: qwBufStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1073,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1075,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1081,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1083,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1084,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1086,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1091,1
    - Dst: QW_IS_SUBQ
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1093,1
    - Dst: qwChkSaveSubQFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1094,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1094,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1100,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1100,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1104,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1106,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1116,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1119,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1120,1
    - Dst: QW_IS_SUBQ
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1122,1
    - Dst: qwChkSaveSubQFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1123,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1123,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1127,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1130,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1132,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1133,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1137,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1138,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1138,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1141,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1142,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1145,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1150,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1150,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1150,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1152,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 1
    argNames:
    - qwMsg
    argTypes:
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1027
    functionDepth: 4
    functionLinenumber: 1027
    functionLinenumberEnd: 1153
    functionName: qwProcessCQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwFreeSinkHandle
    - atomic_load_8
    - qwFreeFetchRsp
    - QW_ERR_JRET
    - atomic_store_8
    - QW_ERR_RET
    - qwGetTaskCtx
    - QW_TASK_DLOG
    - QW_TASK_ELOG
    - qwBuildFetchRsp
    - dsGetSinkFlags
    - QW_RET
    - qwChkSaveSubQFetchRsp
    - QW_SET_PHASE
    - qwHandlePostPhaseEvents
    - QW_UNLOCK
    - qwHandlePrePhaseEvents
    - qwGetQueryResFromSink
    - QW_IS_SUBQ
    - qwBuildAndSendFetchRsp
    - atomic_load_ptr
    - QW_LOCK
    - qwExecTask
    - QW_EVENT_RECEIVED
    - qwBufStatusStr
    - QW_FPARAMS
    - qUpdateWorkerCb
    - tstrerror
    - QW_SET_EVENT_PROCESSED
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwProcessCQuery(QW_FPARAMS_DEF, SQWMsg *qwMsg)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1166,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1166,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1166,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1168,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1168,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1168,1
    - Dst: QW_IS_SUBQ
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1170,1
    - Dst: qwHandleSubQueryFetch
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1171,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1171,1
    - Dst: qwStartDynamicTaskNewExec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1182,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1182,1
    - Dst: qwUpdateTaskOperatorParamFromMsg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1190,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1190,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1196,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1196,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1196,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1200,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1204,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1206,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1208,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1215,1
    - Dst: qwBufStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1216,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1218,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1223,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1224,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1225,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1226,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1227,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1227,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1227,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1229,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1231,1
    - Dst: qwBuildAndSendCQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1231,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1231,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1238,1
    - Dst: qDestroyOperatorParam
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1242,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1247,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1247,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1250,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1259,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1259,1
    - Dst: qwDbgSimulateRedirect
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1262,1
    - Dst: qwDbgSimulateDead
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1263,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1263,1
    - Dst: QW_IS_SUBQ
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1267,1
    - Dst: qwChkSaveSubQFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1268,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1268,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1274,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1276,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1277,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1277,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1279,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1279,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1280,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1283,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1287,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1292,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 1
    argNames:
    - qwMsg
    argTypes:
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1155
    functionDepth: 7
    functionLinenumber: 1155
    functionLinenumberEnd: 1293
    functionName: qwProcessFetch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - qwFreeSinkHandle
    - qwDbgSimulateRedirect
    - qwHandleSubQueryFetch
    - QW_QUERY_RUNNING
    - atomic_load_8
    - qwAcquireTaskCtx
    - qwFreeFetchRsp
    - QW_ERR_JRET
    - atomic_store_8
    - qwGetTaskCtx
    - qwBuildAndSendCQueryMsg
    - QW_TASK_DLOG
    - QW_TASK_ELOG
    - TMSG_INFO
    - qwBuildFetchRsp
    - QW_RET
    - qwChkSaveSubQFetchRsp
    - qwHandlePostPhaseEvents
    - qwStartDynamicTaskNewExec
    - qDestroyOperatorParam
    - QW_UNLOCK
    - qwHandlePrePhaseEvents
    - QW_IS_SUBQ
    - qwGetQueryResFromSink
    - qwBuildAndSendFetchRsp
    - tstrerror
    - qwReleaseTaskCtx
    - QW_TASK_DLOG_E
    - qwUpdateTaskStatus
    - QW_LOCK
    - qwBufStatusStr
    - QW_FPARAMS
    - qwUpdateTaskOperatorParamFromMsg
    - QW_SET_EVENT_RECEIVED
    - qwDbgSimulateDead
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwProcessFetch(QW_FPARAMS_DEF, SQWMsg *qwMsg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1301,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1301,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1301,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1303,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1307,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1308,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1309,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1312,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1313,1
    - Dst: qwKillTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1313,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1314,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1314,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1314,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1316,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1316,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1316,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1321,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1322,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1329,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1330,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1330,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1333,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1338,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1343,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1346,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - qwMsg
    argTypes:
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1350
    functionName: qwProcessDrop
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_EVENT_RECEIVED
    - QW_QUERY_RUNNING
    - qwAcquireTaskCtx
    - QW_UPDATE_RSP_CODE
    - tmsgReleaseHandle
    - QW_UNLOCK
    - QW_FPARAMS
    - QW_SET_EVENT_RECEIVED
    - QW_RET
    - QW_ERR_JRET
    - QW_TASK_WLOG_E
    - qwDropTask
    - qwReleaseTaskCtx
    - qwKillTaskHandle
    - qwUpdateTaskStatus
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwProcessDrop(QW_FPARAMS_DEF, SQWMsg *qwMsg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1357,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1357,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1357,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1359,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1363,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1364,1
    - Dst: qwKillTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1364,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1365,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1365,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1365,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1371,1
    - Dst: qwSendExplainResponse
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1371,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1371,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1375,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1376,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1384,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1385,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1385,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1391,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1395,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - qwMsg
    argTypes:
    - SQWMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1399
    functionName: qwProcessNotify
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_QUERY_RUNNING
    - qwSendExplainResponse
    - qwAcquireTaskCtx
    - QW_UPDATE_RSP_CODE
    - QW_UNLOCK
    - QW_RET
    - QW_FPARAMS
    - QW_ERR_JRET
    - QW_ERR_RET
    - qwReleaseTaskCtx
    - QW_ELOG
    - qwKillTaskHandle
    - qwUpdateTaskStatus
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwProcessNotify(QW_FPARAMS_DEF, SQWMsg *qwMsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1407,1
    - Dst: qwProcessHbLinkBroken
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1407,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1410,1
    - Dst: qwAcquireAddScheduler
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1410,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1411,1
    - Dst: qwRegisterHbBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1411,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1415,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1418,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1422,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1423,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1425,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1427,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1431,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1435,1
    - Dst: qwBuildAndSendHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1436,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1439,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - mgmt
    - qwMsg
    - req
    argTypes:
    - SQWorker*
    - SQWMsg*
    - SSchedulerHbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1446
    functionName: qwProcessHb
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - memcpy
    - QW_UNLOCK
    - QW_RET
    - tmsgReleaseHandle
    - qwReleaseScheduler
    - QW_DLOG
    - QW_ERR_JRET
    - qwBuildAndSendHbRsp
    - qwAcquireAddScheduler
    - qwRegisterHbBrokenLinkArg
    - qwProcessHbLinkBroken
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwProcessHb(SQWorker *mgmt, SQWMsg *qwMsg, SSchedulerHbReq
      *req)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1450,1
    - Dst: qwAcquire
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1455,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1457,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1465,1
    - Dst: qwDbgDumpMgmtInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1467,1
    - Dst: qwDbgDumpJobsInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1468,1
    - Dst: qwStopAllTasks
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1471,1
    - Dst: qwChkDropTimeoutQuery
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1475,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1479,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1481,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1483,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1484,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1485,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1487,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1491,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1492,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1494,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1495,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1496,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1497,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1498,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1499,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1501,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1506,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1508,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1512,1
    - Dst: QW_TLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1513,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1516,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1517,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1518,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1519,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1524,1
    - Dst: qwGenerateSchHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1528,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1530,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1531,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1535,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1540,1
    - Dst: qwBuildAndSendHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1543,1
    - Dst: tFreeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1546,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1549,1
    - Dst: qwClearExpiredSch
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1550,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1553,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1554,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1556,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1557,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1560,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1448
    functionDepth: 2
    functionLinenumber: 1448
    functionLinenumberEnd: 1561
    functionName: qwProcessHbTimerEvent
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - qwDbgDumpJobsInfo
    - taosMemoryFreeClear
    - taosHashCancelIterate
    - qError
    - QW_ERR_JRET
    - qwDbgDumpMgmtInfo
    - taosArrayDestroy
    - taosHashGetSize
    - qwAcquire
    - qwClearExpiredSch
    - atomic_load_32
    - taosGetTimestampMs
    - taosGetTimestampSec
    - taosArrayGetSize
    - tFreeSSchedulerHbRsp
    - taosMemoryCalloc
    - QW_UNLOCK
    - QW_TLOG
    - QW_DLOG
    - taosHashGetKey
    - qwRelease
    - qwStopAllTasks
    - QW_ELOG
    - QW_LOCK
    - taosHashIterate
    - qwGenerateSchHbRsp
    - taosTmrReset
    - qwChkDropTimeoutQuery
    - taosMemoryFree
    - taosArrayInit
    - qwBuildAndSendHbRsp
    linkageType: ''
    returnType: void
    signature: void qwProcessHbTimerEvent(void *param, void *tmrId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qMsgToSubplan
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1570,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1574,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1574,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1575,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1578,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1581,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1581,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1582,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1583,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1587,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1588,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1589,1
    - Dst: dsGetSinkFlags
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1596,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1600,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1600,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1600,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1602,1
    - Dst: qwGetDeleteResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1602,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1602,1
    - Dst: qwFreeTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1606,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1606,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - qwMsg
    - pRes
    argTypes:
    - SQWMsg*
    - SDeleteRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1563
    functionDepth: 6
    functionLinenumber: 1563
    functionLinenumberEnd: 1609
    functionName: qwProcessDelete
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - dsGetSinkFlags
    - qwFreeTaskCtx
    - QW_RET
    - qDestroyTask
    - qCreateExecTask
    - QW_FPARAMS
    - QW_ERR_JRET
    - qwGetDeleteResFromSink
    - tstrerror
    - qwExecTask
    - qMsgToSubplan
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwProcessDelete(QW_FPARAMS_DEF, SQWMsg *qwMsg, SDeleteRes *pRes)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1614,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1615,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1618,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1620,1
    - Dst: qwOpenRef
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1623,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1625,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1626,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1629,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1631,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1632,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1633,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1640,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1640,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1643,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1644,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1648,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1648,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1650,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1651,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1654,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1656,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1656,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1657,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1665,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1668,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1670,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1670,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1671,1
    - Dst: qwSetHbParam
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1675,1
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1677,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1679,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1680,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1683,1
    - Dst: qExecutorInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1683,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1685,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1689,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1696,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1698,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1699,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1700,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1701,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1703,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1706,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 4
    argNames:
    - nodeType
    - nodeId
    - qWorkerMgmt
    - pMsgCb
    argTypes:
    - int8_t
    - int32_t
    - void**
    - SMsgCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1611
    functionDepth: 2
    functionLinenumber: 1611
    functionLinenumberEnd: 1707
    functionName: qWorkerInit
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 11
    functionsReached:
    - taosMemoryFreeClear
    - taosAddRef
    - qError
    - QW_ERR_JRET
    - atomic_add_fetch_32
    - qwSetHbParam
    - QW_RET
    - qExecutorInit
    - taosHashInit
    - taosGetTimestampSec
    - taosTmrCleanUp
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    - qwOpenRef
    - qDebug
    - qwRelease
    - TAOS_MEMSET
    - taosTmrStart
    - atomic_sub_fetch_32
    - taosHashCleanup
    - tstrerror
    - taosTmrInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t qWorkerInit(int8_t nodeType, int32_t nodeId, void **qWorkerMgmt,
      const SMsgCb *pMsgCb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1712,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1712,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1714,1
    - Dst: qwStopAllTasks
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - qWorkerMgmt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1717
    functionName: qWorkerStopAllTasks
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - atomic_store_8
    - taosHashGetSize
    - QW_DLOG
    - qwStopAllTasks
    linkageType: ''
    returnType: void
    signature: void qWorkerStopAllTasks(void *qWorkerMgmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1728,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1729,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1733,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - qWorkerMgmt
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1739
    functionName: qWorkerDestroy
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 10
    functionsReached:
    - qInfo
    - taosRemoveRef
    - qError
    - taosMsleep
    linkageType: ''
    returnType: void
    signature: void qWorkerDestroy(void **qWorkerMgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1743,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1749,1
    - Dst: dsDataSinkGetCacheSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1749,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1752,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1753,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1754,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1755,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1756,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1757,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1758,1
    - Dst: SReadHandle*::pMsgCb::qsizeFp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1760,1
    - Dst: SReadHandle*::pMsgCb::qsizeFp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1761,1
    - Dst: qwGetTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1762,1
    - Dst: qwGetTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - handle
    - qWorkerMgmt
    - pStat
    argTypes:
    - SReadHandle*
    - void*
    - SQWorkerStat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1741
    functionDepth: 2
    functionLinenumber: 1741
    functionLinenumberEnd: 1766
    functionName: qWorkerGetStat
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - QW_STAT_GET
    - QW_RET
    - qwGetTimeInQueue
    - dsDataSinkGetCacheSize
    - QW_ERR_RET
    - SReadHandle*::pMsgCb::qsizeFp
    linkageType: ''
    returnType: int32_t
    signature: int32_t qWorkerGetStat(SReadHandle *handle, void *qWorkerMgmt, SQWorkerStat
      *pStat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1779,1
    - Dst: qwAddTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1779,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1779,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1780,1
    - Dst: qwAddTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1780,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1780,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1782,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1782,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1782,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1783,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1783,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1783,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1792,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1795,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1801,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1803,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1803,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1804,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1808,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1809,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1813,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1814,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1816,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1816,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1816,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1820,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1824,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1824,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1827,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1828,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1831,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1768
    functionDepth: 4
    functionLinenumber: 1768
    functionLinenumberEnd: 1832
    functionName: qWorkerProcessLocalQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 1
    functionsReached:
    - qwReleaseTaskCtx
    - QW_RET
    - qwAcquireTaskCtx
    - qwHandlePrePhaseEvents
    - QW_UPDATE_RSP_CODE
    - qCreateExecTask
    - QW_FPARAMS
    - QW_ERR_JRET
    - qwAddTaskStatus
    - atomic_store_ptr
    - taosMemoryFree
    - tstrerror
    - qwAddTaskCtx
    - qwHandlePostPhaseEvents
    - qwExecTask
    - taosMemoryCalloc
    - QW_TASK_ELOG
    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,\n                                 int32_t
      eId, SQWMsg *qwMsg, SArray *explainRes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1846,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1846,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1846,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1847,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1847,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1847,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1855,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1855,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1855,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1858,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1858,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1858,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1864,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1866,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1868,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1881,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1881,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1834
    functionDepth: 4
    functionLinenumber: 1834
    functionLinenumberEnd: 1884
    functionName: qWorkerProcessLocalFetch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 1
    functionsReached:
    - qwFreeSinkHandle
    - qwBuildFetchRsp
    - QW_RET
    - qwHandlePrePhaseEvents
    - qwGetQueryResFromSink
    - QW_FPARAMS
    - QW_ERR_JRET
    - atomic_store_8
    - qwGetTaskCtx
    - qwHandlePostPhaseEvents
    - qwExecTask
    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,\n                                 int32_t
      eId, void **pRsp, SArray *explainRes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QCID
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1888,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1890,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1892,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1896,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1897,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1898,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1899,1
    - Dst: qwRetireJob
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1901,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1903,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1904,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1904,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - jobId
    - clientId
    - errCode
    argTypes:
    - uint64_t
    - uint64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1886
    functionDepth: 1
    functionLinenumber: 1886
    functionLinenumberEnd: 1906
    functionName: qWorkerRetireJob
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - atomic_val_compare_exchange_8
    - atomic_load_8
    - qwRetireJob
    - qError
    - taosHashGet
    - atomic_load_64
    - atomic_load_32
    - qDebug
    - QW_SET_QCID
    - atomic_val_compare_exchange_32
    linkageType: ''
    returnType: void
    signature: void qWorkerRetireJob(uint64_t jobId, uint64_t clientId, int32_t errCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1909,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1911,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1911,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1911,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1912,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1912,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1913,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1915,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1920,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1921,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1926,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1926,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1927,1
    - Dst: qwRetireJob
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1928,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1934,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1937,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1937,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1940,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1943,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1945,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1947,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1948,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1948,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1949,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1949,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1950,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - retireSize
    - errCode
    argTypes:
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1908
    functionDepth: 1
    functionLinenumber: 1908
    functionLinenumberEnd: 1951
    functionName: qWorkerRetireJobs
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - atomic_val_compare_exchange_8
    - taosHashCancelIterate
    - atomic_load_8
    - qwRetireJob
    - atomic_load_64
    - taosHashGetSize
    - qDebug
    - atomic_val_compare_exchange_32
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void qWorkerRetireJobs(int64_t retireSize, int32_t errCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:7,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:10,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:12,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:14,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - taskNum
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 17
    functionName: qwSetConcurrentTaskNumCb
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: 0
    functionsReached:
    - TMAX
    - TMIN
    - atomic_store_32
    linkageType: ''
    returnType: void
    signature: void qwSetConcurrentTaskNumCb(int32_t taskNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:20,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: qwDecConcurrentTaskNumCb
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: 0
    functionsReached:
    - qError
    - atomic_load_32
    linkageType: ''
    returnType: void
    signature: void qwDecConcurrentTaskNumCb(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:30,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: qwIncConcurrentTaskNumCb
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: 0
    functionsReached:
    - qError
    - atomic_load_32
    linkageType: ''
    returnType: void
    signature: void qwIncConcurrentTaskNumCb(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:41,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:41,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:43,1
    - Dst: taosMemPoolCallocJob
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:47,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SQWJobInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: qwInitJobInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: 0
    functionsReached:
    - taosMemPoolCallocJob
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwInitJobInfo(QW_FPARAMS_DEF, SQWJobInfo* pJob)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:62,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:63,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:63,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:65,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:69,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:70,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: qwInitJobHash
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: 0
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - qError
    - taosHashInit
    - taosHashSetFreeFp
    - taosHashCleanup
    - atomic_load_ptr
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwInitJobHash(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_TEID
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:83,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:85,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:87,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:87,1
    - Dst: taosMemPoolDestroySession
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:91,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:93,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:94,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:96,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:99,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:103,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:104,1
    - Dst: QW_SET_QCID
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:107,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:108,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:108,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pJobInfo
    - session
    - needRemoveHashKey
    argTypes:
    - SQWJobInfo*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 116
    functionName: qwDestroySession
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_TASK_DLOG_E
    - QW_SET_TEID
    - taosMemPoolDestroySession
    - QW_UNLOCK
    - taosHashRemove
    - atomic_store_8
    - QW_SET_QCID
    - atomic_sub_fetch_32
    - TAOS_UNUSED
    - tstrerror
    - QW_TASK_DLOG
    - QW_TASK_ELOG
    linkageType: ''
    returnType: void
    signature: void qwDestroySession(QW_FPARAMS_DEF, SQWJobInfo *pJobInfo, void* session,
      bool needRemoveHashKey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:124,1
    - Dst: qwInitJobHash
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:124,1
    - Dst: QW_SET_QCID
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:127,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:130,1
    - Dst: qwInitJobInfo
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:133,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:133,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:138,1
    - Dst: qwDestroyJobInfo
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:140,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:146,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:150,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:152,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:154,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:159,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:161,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:162,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:163,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:167,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - ppJob
    argTypes:
    - SQWJobInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 177
    functionName: qwRetrieveJobInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_TASK_DLOG_E
    - qwInitJobInfo
    - QW_UNLOCK
    - atomic_load_8
    - QW_FPARAMS
    - qwDestroyJobInfo
    - QW_TASK_WLOG_E
    - taosHashRelease
    - qwInitJobHash
    - QW_SET_QCID
    - QW_ERR_RET
    - taosHashAcquire
    - tstrerror
    - atomic_add_fetch_32
    - taosHashPut
    - QW_TASK_ELOG
    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:193,1
    - Dst: qwRetrieveJobInfo
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:193,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:193,1
    - Dst: QW_SET_TEID
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:198,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:200,1
    - Dst: taosMemPoolInitSession
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:200,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:204,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:207,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:208,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:214,1
    - Dst: qwDestroySession
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:220,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:220,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - ppSession
    argTypes:
    - SQWTaskCtx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 228
    functionName: qwInitSession
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: 1
    functionsReached:
    - QW_TASK_DLOG_E
    - QW_SET_TEID
    - QW_FPARAMS
    - taosMemPoolInitSession
    - QW_ERR_JRET
    - qwDestroySession
    - taosHashRelease
    - taosHashPut
    - qwRetrieveJobInfo
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwInitSession(QW_FPARAMS_DEF, SQWTaskCtx *ctx, void** ppSession)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - phase
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 31
    functionName: qwPhaseStr
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *qwPhaseStr(int32_t phase)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bufStatus
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: qwBufStatusStr
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *qwBufStatusStr(int32_t bufStatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:54,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:56,1
    - Dst: qwDbgValidateStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:56,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:56,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:61,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:65,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:65,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - task
    - status
    - dynamicTask
    argTypes:
    - SQWTaskStatus*
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: qwSetTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - atomic_val_compare_exchange_8
    - qwDbgValidateStatus
    - atomic_load_8
    - QW_FPARAMS
    - QW_ERR_RET
    - QW_TASK_DLOG
    - jobTaskStatusStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwSetTaskStatus(QW_FPARAMS_DEF, SQWTaskStatus *task, int8_t
      status, bool dynamicTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:76,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:76,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:77,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:80,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:81,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:84,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:85,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:87,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:88,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:90,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:91,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:92,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:95,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - mgmt
    - clientId
    - rwType
    argTypes:
    - SQWorker*
    - uint64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: qwAddSchedulerImpl
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_UNLOCK
    - QW_SCH_ELOG
    - taosHashInit
    - taosGetTimestampMs
    - QW_ERR_RET
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - HASH_NODE_EXIST
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwAddSchedulerImpl(SQWorker *mgmt, uint64_t clientId, int32_t
      rwType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:104,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:105,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:107,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:110,1
    - Dst: qwAddSchedulerImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:110,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:116,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:118,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - mgmt
    - clientId
    - rwType
    - sch
    - nOpt
    argTypes:
    - SQWorker*
    - uint64_t
    - int32_t
    - SQWSchStatus**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 127
    functionName: qwAcquireSchedulerImpl
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_UNLOCK
    - QW_RET
    - QW_SCH_ELOG
    - taosHashGet
    - QW_ERR_RET
    - qwAddSchedulerImpl
    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: qwAcquireSchedulerImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mgmt
    - clientId
    - rwType
    - sch
    argTypes:
    - SQWorker*
    - uint64_t
    - int32_t
    - SQWSchStatus**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: qwAcquireAddScheduler
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    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: qwAcquireSchedulerImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mgmt
    - clientId
    - rwType
    - sch
    argTypes:
    - SQWorker*
    - uint64_t
    - int32_t
    - SQWSchStatus**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: qwAcquireScheduler
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - qwAcquireSchedulerImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwAcquireScheduler(SQWorker *mgmt, uint64_t clientId, int32_t
      rwType, SQWSchStatus **sch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rwType
    - mgmt
    argTypes:
    - int32_t
    - SQWorker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: qwReleaseScheduler
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached:
    - QW_UNLOCK
    linkageType: ''
    returnType: void
    signature: void qwReleaseScheduler(int32_t rwType, SQWorker *mgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:141,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:143,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:144,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:146,1
    - Dst: QW_TASK_ELOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:147,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - rwType
    - sch
    - task
    argTypes:
    - int32_t
    - SQWSchStatus*
    - SQWTaskStatus**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: qwAcquireTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_UNLOCK
    - taosHashGet
    - QW_SET_QTID
    - QW_TASK_ELOG_E
    - QW_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwAcquireTaskStatus(QW_FPARAMS_DEF, int32_t rwType, SQWSchStatus
      *sch, SQWTaskStatus **task)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:158,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:164,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:165,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:167,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:168,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:170,1
    - Dst: qwAcquireTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:170,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:170,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:172,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:172,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:173,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:176,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:176,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:177,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:180,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:182,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:182,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:185,1
    - Dst: qwAcquireTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:185,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - sch
    - rwType
    - status
    - task
    argTypes:
    - SQWSchStatus*
    - int32_t
    - int32_t
    - SQWTaskStatus**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 189
    functionName: qwAddTaskStatusImpl
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_UNLOCK
    - QW_RET
    - QW_FPARAMS
    - QW_SET_QTID
    - qwAcquireTaskStatus
    - QW_ERR_RET
    - tstrerror
    - HASH_NODE_EXIST
    - taosHashPut
    - QW_TASK_DLOG
    - jobTaskStatusStr
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwAddTaskStatusImpl(QW_FPARAMS_DEF, SQWSchStatus *sch, int32_t
      rwType, int32_t status, SQWTaskStatus **task)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:194,1
    - Dst: qwAcquireAddScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:194,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:196,1
    - Dst: qwAddTaskStatusImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:196,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:196,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:200,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - status
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: qwAddTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached:
    - qwAddTaskStatusImpl
    - QW_RET
    - qwReleaseScheduler
    - QW_FPARAMS
    - QW_ERR_JRET
    - QW_ERR_RET
    - qwAcquireAddScheduler
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwAddTaskStatus(QW_FPARAMS_DEF, int32_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwAddTaskStatusImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:207,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rwType
    - sch
    - status
    - task
    argTypes:
    - int32_t
    - SQWSchStatus*
    - int32_t
    - SQWTaskStatus**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: qwAddAcquireTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - qwAddTaskStatusImpl
    - QW_FPARAMS
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qwAddAcquireTaskStatus(QW_FPARAMS_DEF, int32_t rwType, SQWSchStatus
      *sch, int32_t status,\n                               SQWTaskStatus **task)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rwType
    - sch
    argTypes:
    - int32_t
    - SQWSchStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: qwReleaseTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_UNLOCK
    linkageType: ''
    returnType: void
    signature: void qwReleaseTaskStatus(int32_t rwType, SQWSchStatus *sch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:214,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:216,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:218,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:219,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: qwAcquireTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 9
    functionsReached:
    - QW_SET_QTID
    - taosHashAcquire
    - QW_ERR_RET
    - QW_CTX_NOT_EXISTS_ERR_CODE
    - QW_TASK_DLOG_E
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwAcquireTaskCtx(QW_FPARAMS_DEF, SQWTaskCtx **ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:227,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:229,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:231,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:232,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: qwGetTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 4
    functionsReached:
    - taosHashGet
    - QW_SET_QTID
    - QW_ERR_RET
    - QW_CTX_NOT_EXISTS_ERR_CODE
    - QW_TASK_DLOG_E
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwGetTaskCtx(QW_FPARAMS_DEF, SQWTaskCtx **ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:240,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:244,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:246,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:248,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:248,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:248,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:250,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:250,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:250,1
    - Dst: QW_TASK_ELOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:252,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:253,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:256,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:257,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:261,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:264,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:264,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:264,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:266,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:266,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - acquire
    - ctx
    argTypes:
    - bool
    - SQWTaskCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 270
    functionName: qwAddTaskCtxImpl
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_RET
    - qwAcquireTaskCtx
    - QW_FPARAMS
    - atomic_add_fetch_64
    - QW_SET_QTID
    - QW_TASK_ELOG_E
    - QW_ERR_RET
    - qwGetTaskCtx
    - HASH_NODE_EXIST
    - taosHashPut
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwAddTaskCtxImpl(QW_FPARAMS_DEF, bool acquire, SQWTaskCtx **ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:272,1
    - Dst: qwAddTaskCtxImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:272,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: qwAddTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached:
    - qwAddTaskCtxImpl
    - QW_FPARAMS
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwAddTaskCtx(QW_FPARAMS_DEF)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwAddTaskCtxImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:274,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: qwAddAcquireTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_FPARAMS
    - qwAddTaskCtxImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwAddAcquireTaskCtx(QW_FPARAMS_DEF, SQWTaskCtx **ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mgmt
    - ctx
    argTypes:
    - SQWorker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: qwReleaseTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 8
    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:280,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:281,1
    - Dst: taosEnableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:282,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:283,1
    - Dst: taosDisableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:284,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:286,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: qwFreeTaskHandle
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - qDestroyTask
    - taosEnableMemPoolUsage
    - atomic_add_fetch_64
    - qDebug
    - atomic_load_ptr
    - taosDisableMemPoolUsage
    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:294,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:295,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:296,1
    - Dst: dsDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:297,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:298,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:300,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: qwFreeSinkHandle
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 4
    functionsReached:
    - dsDestroyDataSinker
    - QW_SINK_DISABLE_MEMPOOL
    - atomic_val_compare_exchange_ptr
    - atomic_add_fetch_64
    - qDebug
    - QW_SINK_ENABLE_MEMPOOL
    - atomic_load_ptr
    linkageType: ''
    returnType: void
    signature: void qwFreeSinkHandle(SQWTaskCtx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:310,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:311,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:312,1
    - Dst: qAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:313,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:314,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - rspCode
    argTypes:
    - SQWTaskCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 318
    functionName: qwKillTaskHandle
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached:
    - QW_RET
    - atomic_val_compare_exchange_ptr
    - qAsyncKillTask
    - qDebug
    - atomic_store_ptr
    - atomic_load_ptr
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwKillTaskHandle(SQWTaskCtx *ctx, int32_t rspCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: qwFreeFetchRspItem
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - qwFreeFetchRsp
    linkageType: ''
    returnType: void
    signature: void qwFreeFetchRspItem(void* param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:331,1
    - Dst: qwFreeTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:339,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:341,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:343,1
    - Dst: QW_IS_SUBQ
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:345,1
    - Dst: QW_IS_SCALAR_SUBQ
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:346,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:347,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:349,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:350,1
    - Dst: qwDestroySession
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:355,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 358
    functionName: qwFreeTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - qwFreeSinkHandle
    - QW_IS_SCALAR_SUBQ
    - taosArrayDestroyEx
    - tmsgReleaseHandle
    - QW_IS_SUBQ
    - qwFreeFetchRsp
    - QW_FPARAMS
    - qwDestroySession
    - qwFreeTaskHandle
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void qwFreeTaskCtx(QW_FPARAMS_DEF, SQWTaskCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: freeExplainExecItem
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void freeExplainExecItem(void *param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:371,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:373,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:376,1
    - Dst: qGetExplainExecInfo
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:376,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:380,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:381,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:383,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:385,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:385,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:392,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:393,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:396,1
    - Dst: qwBuildAndSendExplainRsp
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:401,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:402,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:405,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 413
    functionName: qwSendExplainResponse
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - memcpy
    - taosArrayGet
    - QW_ERR_JRET
    - qGetExplainExecInfo
    - taosArrayGetSize
    - taosArrayInit
    - QW_ERR_RET
    - taosArrayDestroy
    - qwBuildAndSendExplainRsp
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwSendExplainResponse(QW_FPARAMS_DEF, SQWTaskCtx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:417,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:421,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:423,1
    - Dst: QW_ERR_RET
      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:424,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:430,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:432,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:435,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:436,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:437,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:438,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:439,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:441,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:443,1
    - Dst: QW_TASK_ELOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:444,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:445,1
    - Dst: qwFreeTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:448,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:448,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:450,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 455
    functionName: qwDropTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - qwFreeTaskCtx
    - QW_UPDATE_RSP_CODE
    - taosHashRemove
    - taosHashGet
    - QW_FPARAMS
    - atomic_add_fetch_64
    - QW_SET_QTID
    - QW_TASK_ELOG_E
    - atomic_store_ptr
    - QW_ERR_RET
    - QW_CTX_NOT_EXISTS_ERR_CODE
    - QW_SET_EVENT_PROCESSED
    - QW_TASK_DLOG_E
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwDropTaskCtx(QW_FPARAMS_DEF)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:463,1
    - Dst: qwAcquireScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:465,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:466,1
    - Dst: qwAcquireTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:470,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:470,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:471,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:473,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:477,1
    - Dst: QW_TASK_ELOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:478,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:479,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:482,1
    - Dst: qwReleaseTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:487,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:489,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 457
    functionDepth: 4
    functionLinenumber: 457
    functionLinenumberEnd: 492
    functionName: qwDropTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - qwAcquireScheduler
    - QW_RET
    - qwReleaseScheduler
    - taosHashRemove
    - QW_FPARAMS
    - QW_SET_QTID
    - QW_ERR_JRET
    - QW_TASK_WLOG_E
    - QW_TASK_ELOG_E
    - qwAcquireTaskStatus
    - qwReleaseTaskStatus
    - QW_TASK_DLOG_E
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwDropTaskStatus(QW_FPARAMS_DEF)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:499,1
    - Dst: qwAcquireScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:499,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:500,1
    - Dst: qwAcquireTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:500,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:500,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:502,1
    - Dst: qwSetTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:502,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:502,1
    - Dst: qwReleaseTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:507,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:509,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - status
    - dynamicTask
    argTypes:
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 494
    functionDepth: 4
    functionLinenumber: 494
    functionLinenumberEnd: 512
    functionName: qwUpdateTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 6
    functionsReached:
    - qwAcquireScheduler
    - QW_RET
    - qwReleaseScheduler
    - QW_FPARAMS
    - QW_ERR_JRET
    - qwAcquireTaskStatus
    - QW_ERR_RET
    - qwSetTaskStatus
    - qwReleaseTaskStatus
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwUpdateTaskStatus(QW_FPARAMS_DEF, int8_t status, bool dynamicTask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:516,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:519,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:521,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:522,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:522,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:529,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:529,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:529,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:531,1
    - Dst: qwHandleTaskComplete
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:531,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 514
    functionDepth: 5
    functionLinenumber: 514
    functionLinenumberEnd: 534
    functionName: qwHandleDynamicTaskEnd
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - qwHandleTaskComplete
    - taosHashGet
    - QW_FPARAMS
    - QW_SET_QTID
    - QW_ERR_RET
    - QW_CTX_NOT_EXISTS_ERR_CODE
    - QW_TASK_DLOG_E
    - qwUpdateTaskStatus
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwHandleDynamicTaskEnd(QW_FPARAMS_DEF)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:537,1
    - Dst: qwHandleDynamicTaskEnd
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:537,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:537,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:538,1
    - Dst: qwDropTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:538,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:538,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:539,1
    - Dst: qwDropTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:539,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:539,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 536
    functionDepth: 6
    functionLinenumber: 536
    functionLinenumberEnd: 544
    functionName: qwDropTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 5
    functionsReached:
    - qwHandleDynamicTaskEnd
    - QW_FPARAMS
    - qwDropTaskStatus
    - QW_ERR_RET
    - qwDropTaskCtx
    - QW_TASK_DLOG_E
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwDropTask(QW_FPARAMS_DEF)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:551,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:552,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:558,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - refId
    - pParam
    argTypes:
    - int64_t
    - SQWHbParam**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 571
    functionName: qwSetHbParam
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - tListLen
    - atomic_val_compare_exchange_32
    - atomic_load_32
    linkageType: ''
    returnType: void
    signature: void qwSetHbParam(int64_t refId, SQWHbParam **pParam)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qGetQueryTableSchemaVersion
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:583,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:590,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:596,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:598,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:602,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:603,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:609,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pTaskInfo
    - ctx
    argTypes:
    - qTaskInfo_t
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 610
    functionName: qwSaveTbVersionInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - QW_RET
    - qGetQueryTableSchemaVersion
    - snprintf
    - QW_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwSaveTbVersionInfo(qTaskInfo_t pTaskInfo, SQWTaskCtx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:613,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:614,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:615,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:618,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: qwCloseRef
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - taosCloseRef
    - atomic_load_32
    - taosHashCleanup
    - taosWUnLockLatch
    - taosWLockLatch
    linkageType: ''
    returnType: void
    signature: void qwCloseRef(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pStatus
    argTypes:
    - SQWSchStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 624
    functionName: qwDestroySchStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void qwDestroySchStatus(SQWSchStatus *pStatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:633,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:635,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:636,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:640,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:645,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:649,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:650,1
    - Dst: qwFreeTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:653,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:653,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:654,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:655,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:658,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:660,1
    - Dst: qwDestroySchStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:663,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:665,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:668,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:672,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:674,1
    - Dst: qwCloseRef
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:676,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 626
    functionDepth: 5
    functionLinenumber: 626
    functionLinenumberEnd: 680
    functionName: qwDestroyImpl
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_GET_QTID
    - taosHashIterate
    - qwFreeTaskCtx
    - qTrace
    - QW_FPARAMS
    - qwCloseRef
    - qDebug
    - taosHashGetKey
    - taosMemoryFree
    - taosHashCleanup
    - taosTmrCleanUp
    - taosTmrStop
    - atomic_sub_fetch_32
    - qwDestroySchStatus
    - QW_TASK_DLOG_E
    linkageType: ''
    returnType: void
    signature: void qwDestroyImpl(void *pMgmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:683,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:685,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:687,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:688,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:689,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 695
    functionName: qwOpenRef
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - QW_RET
    - qError
    - taosOpenRef
    - taosWUnLockLatch
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwOpenRef(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:702,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - mgmt
    - ts
    - type
    argTypes:
    - SQWorker*
    - int64_t
    - EQueueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 718
    functionName: qwUpdateTimeInQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampUs
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwUpdateTimeInQueue(SQWorker *mgmt, int64_t ts, EQueueType
      type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - mgmt
    - type
    argTypes:
    - SQWorker*
    - EQueueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 735
    functionName: qwGetTimeInQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - qError
    linkageType: ''
    returnType: int64_t
    signature: int64_t qwGetTimeInQueue(SQWorker *mgmt, EQueueType type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:739,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:741,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:744,1
    - Dst: qwAcquireScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:748,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:750,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:754,1
    - Dst: qwDestroySchStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:755,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:756,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:757,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - mgmt
    - pExpiredSch
    argTypes:
    - SQWorker*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 737
    functionDepth: 4
    functionLinenumber: 737
    functionLinenumberEnd: 762
    functionName: qwClearExpiredSch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - qwAcquireScheduler
    - qwReleaseScheduler
    - taosHashRemove
    - qError
    - taosHashGetSize
    - qDebug
    - taosArrayGetSize
    - qwDestroySchStatus
    linkageType: ''
    returnType: void
    signature: void qwClearExpiredSch(SQWorker *mgmt, SArray *pExpiredSch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:771,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - job
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 774
    functionName: qwDestroyJobInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void qwDestroyJobInfo(void *job)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:780,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:782,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:782,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:784,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:784,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:785,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:786,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:791,1
    - Dst: qwKillTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:792,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:794,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:796,1
    - Dst: QW_FETCH_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:798,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:799,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:800,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:802,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:806,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:807,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:807,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:809,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:811,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:815,1
    - Dst: qwFreeTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:817,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:818,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:822,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:825,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - forceStop
    - errCode
    argTypes:
    - SQWTaskCtx*
    - bool
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 776
    functionDepth: 7
    functionLinenumber: 776
    functionLinenumberEnd: 828
    functionName: qwStopTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_TASK_DLOG_E
    - qwFreeSinkHandle
    - QW_FETCH_RUNNING
    - QW_EVENT_RECEIVED
    - QW_UNLOCK
    - QW_QUERY_RUNNING
    - QW_UPDATE_RSP_CODE
    - QW_EVENT_PROCESSED
    - QW_SET_EVENT_RECEIVED
    - QW_FPARAMS
    - QW_TASK_WLOG_E
    - qwDropTask
    - qwFreeTaskHandle
    - tstrerror
    - QW_TASK_DLOG
    - qwKillTaskHandle
    - QW_TASK_ELOG
    linkageType: ''
    returnType: bool
    signature: bool qwStopTask(QW_FPARAMS_DEF, SQWTaskCtx    *ctx, bool forceStop,
      int32_t errCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:833,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:833,1
    - Dst: qwStopTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:838,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:838,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - errCode
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 830
    functionDepth: 8
    functionLinenumber: 830
    functionLinenumberEnd: 843
    functionName: qwRetireTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 0
    functionsReached:
    - qwReleaseTaskCtx
    - QW_FPARAMS
    - qwStopTask
    - qwAcquireTaskCtx
    linkageType: ''
    returnType: bool
    signature: bool qwRetireTask(QW_FPARAMS_DEF, int32_t errCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:851,1
    - Dst: qwRetireTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:855,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SQWJobInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 845
    functionDepth: 9
    functionLinenumber: 845
    functionLinenumberEnd: 863
    functionName: qwRetireJob
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached:
    - taosHashIterate
    - qwRetireTask
    linkageType: ''
    returnType: bool
    signature: bool qwRetireJob(SQWJobInfo *pJob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:871,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:874,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:875,1
    - Dst: qwStopTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:879,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:879,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - SQWorker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 866
    functionDepth: 8
    functionLinenumber: 866
    functionLinenumberEnd: 883
    functionName: qwStopAllTasks
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 2
    functionsReached:
    - QW_GET_QTID
    - taosHashIterate
    - QW_FPARAMS
    - taosHashGetKey
    - qwStopTask
    linkageType: ''
    returnType: void
    signature: void qwStopAllTasks(SQWorker *mgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:891,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:894,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:895,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:899,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:900,1
    - Dst: qwStopTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:904,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:904,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:904,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - mgmt
    - currTs
    argTypes:
    - SQWorker*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 886
    functionDepth: 8
    functionLinenumber: 886
    functionLinenumberEnd: 908
    functionName: qwChkDropTimeoutQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: 1
    functionsReached:
    - QW_GET_QTID
    - taosHashIterate
    - QW_EVENT_RECEIVED
    - QW_FPARAMS
    - taosHashGetKey
    - qwStopTask
    linkageType: ''
    returnType: void
    signature: void qwChkDropTimeoutQuery(SQWorker *mgmt, int32_t currTs)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:33,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:39,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:45,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:52,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:59,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:65,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:65,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:65,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:69,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:75,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:81,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:86,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:86,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:94,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:94,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:94,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:95,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 60
    argCount: 4
    argNames:
    - oriStatus
    - newStatus
    - ignore
    - dynamicTask
    argTypes:
    - int8_t
    - int8_t
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 96
    functionName: qwDbgValidateStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: 1
    functionsReached:
    - QW_RET
    - QW_ERR_JRET
    - QW_TASK_DLOG
    - jobTaskStatusStr
    - QW_TASK_ELOG
    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_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:99,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:100,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:101,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:106,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:109,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:110,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:112,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:114,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - mgmt
    - sch
    - i
    argTypes:
    - SQWorker*
    - SQWSchStatus*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: qwDbgDumpSchInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: 0
    functionsReached:
    - QW_LOCK
    - QW_GET_QTID
    - taosHashIterate
    - QW_UNLOCK
    - taosHashGetSize
    - QW_DLOG
    - taosHashGetKey
    - QW_TASK_DLOG
    linkageType: ''
    returnType: void
    signature: void qwDbgDumpSchInfo(SQWorker *mgmt, SQWSchStatus *sch, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_DUMP
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:121,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:121,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:127,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:130,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:131,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:134,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:139,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - SQWorker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 146
    functionName: qwDbgDumpTasksInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: 0
    functionsReached:
    - QW_GET_QTID
    - taosHashIterate
    - taosHashGetSize
    - QW_DUMP
    - taosHashGetKey
    - taosArrayGetSize
    - QW_TASK_DLOG
    linkageType: ''
    returnType: void
    signature: void qwDbgDumpTasksInfo(SQWorker *mgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:153,1
    - Dst: QW_DUMP
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:155,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:155,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:162,1
    - Dst: qwDbgDumpSchInfo
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:165,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:167,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:170,1
    - Dst: qwDbgDumpTasksInfo
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - SQWorker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 173
    functionName: qwDbgDumpMgmtInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: 1
    functionsReached:
    - QW_LOCK
    - taosHashIterate
    - QW_UNLOCK
    - qwDbgDumpSchInfo
    - taosHashGetSize
    - QW_DUMP
    - qwDbgDumpTasksInfo
    linkageType: ''
    returnType: void
    signature: void qwDbgDumpMgmtInfo(SQWorker *mgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:180,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:181,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:181,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:182,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:182,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:183,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:188,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:190,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:193,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:195,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:198,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 203
    functionName: qwDbgDumpJobsInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: 1
    functionsReached:
    - qDebug
    - atomic_load_64
    - taosHashGetSize
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void qwDbgDumpJobsInfo(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:211,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:213,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:216,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:218,1
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:222,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:224,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:238,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:240,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:240,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - rspType
    - pConn
    - code
    - pEpSet
    argTypes:
    - int32_t
    - SRpcHandleInfo*
    - int32_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 243
    functionName: qwDbgBuildAndSendRedirectRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - rpcMallocCont
    - qError
    - qDebug
    - tmsgSendRsp
    - tstrerror
    - tSerializeSEpSet
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwDbgBuildAndSendRedirectRsp(int32_t rspType, SRpcHandleInfo
      *pConn, int32_t code, SEpSet *pEpSet)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:256,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:260,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:262,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:264,1
    - Dst: qwDbgBuildAndSendRedirectRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:268,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:273,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:274,1
    - Dst: qwDbgBuildAndSendRedirectRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:275,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:280,1
    - Dst: qwDbgBuildAndSendRedirectRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - qwMsg
    - ctx
    - rsped
    argTypes:
    - SQWMsg*
    - SQWTaskCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 286
    functionName: qwDbgSimulateRedirect
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: 2
    functionsReached:
    - QW_SET_PHASE
    - tstrncpy
    - qwDbgBuildAndSendRedirectRsp
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qwDbgSimulateRedirect(SQWMsg *qwMsg, SQWTaskCtx *ctx, bool *rsped)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:295,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: qwDbgSimulateSleep
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: 1
    functionsReached:
    - taosSsleep
    - taosRand
    linkageType: ''
    returnType: void
    signature: void qwDbgSimulateSleep(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:310,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:313,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:316,1
    - Dst: qwBuildAndSendErrorRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:324,1
    - Dst: qwBuildAndSendDropMsg
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:326,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - rsped
    argTypes:
    - SQWTaskCtx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 332
    functionName: qwDbgSimulateDead
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: 2
    functionsReached:
    - qwBuildAndSendErrorRsp
    - QW_FPARAMS
    - taosRand
    - taosSsleep
    - qwBuildAndSendDropMsg
    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:335,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:337,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:341,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:343,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:347,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:349,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:353,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:355,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:359,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:361,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:365,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:367,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:371,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:373,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:377,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - option
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 380
    functionName: qWorkerDbgEnableDebug
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: 0
    functionsReached:
    - qError
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t qWorkerDbgEnableDebug(char *option)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcReallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:17,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:17,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:19,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:20,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - rpcMalloc
    - length
    - rsp
    argTypes:
    - int8_t
    - int32_t
    - SRetrieveTableRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 30
    functionName: qwMallocFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - QW_RET
    - qError
    - rpcReallocCont
    - taosMemoryRealloc
    - TAOS_MEMSET
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwMallocFetchRsp(int8_t rpcMalloc, int32_t length, SRetrieveTableRsp
      **rsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:35,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:40,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:41,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:42,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - msg
    - input
    - len
    - rawDataLen
    - qComplete
    argTypes:
    - void*
    - SOutputData*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: qwBuildFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 4
    functionsReached:
    - htobe64
    - htonl
    linkageType: ''
    returnType: void
    signature: void qwBuildFetchRsp(void *msg, SOutputData *input, int32_t len, int32_t
      rawDataLen, bool qComplete)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - SQWTaskCtx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: qwFreeFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 5
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void qwFreeFetchRsp(SQWTaskCtx *ctx, void *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qwMallocFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:59,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:61,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:61,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:65,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - ppRes
    - dataLen
    - toFetch
    - pItem
    argTypes:
    - SQWTaskCtx*
    - void**
    - int32_t*
    - bool*
    - SQWRspItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: qwCloneSubQRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 2
    functionsReached:
    - memcpy
    - tstrerror
    - qwMallocFetchRsp
    - QW_TASK_DLOG
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwCloneSubQRsp(QW_FPARAMS_DEF, SQWTaskCtx *ctx, void** ppRes,
      int32_t* dataLen, bool* toFetch, SQWRspItem* pItem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qwMallocFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:90,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:92,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:92,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - pItem
    - rsp
    - dataLen
    - code
    argTypes:
    - SQWTaskCtx*
    - SQWRspItem*
    - void*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: qwSaveSubQueryFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - qwMallocFetchRsp
    - memcpy
    - QW_TASK_ELOG
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwSaveSubQueryFetchRsp(QW_FPARAMS_DEF, SQWTaskCtx *ctx, SQWRspItem*
      pItem, void* rsp, int32_t dataLen, int32_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:106,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:107,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:107,1
    - Dst: qwSaveSubQueryFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:111,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - rsp
    - dataLen
    - code
    - queryEnd
    argTypes:
    - SQWTaskCtx*
    - void*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 5
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: qwChkSaveScalarSubQRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - qwSaveSubQueryFetchRsp
    - QW_FPARAMS
    - be64toh
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwChkSaveScalarSubQRsp(QW_FPARAMS_DEF, SQWTaskCtx *ctx, void*
      rsp, int32_t dataLen, int32_t code, bool queryEnd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosWWaitLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:121,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:122,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:123,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:124,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:124,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:133,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:133,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:135,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:138,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:139,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:142,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:144,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:152,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:153,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:156,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:157,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:159,1
    - Dst: qwCloneSubQRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:167,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:167,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:171,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:177,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:179,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - newItem
    - fetchDone
    argTypes:
    - SQWTaskCtx*
    - SQWRspItem*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 182
    functionName: qwSaveAndHandleWailtList
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - qwCloneSubQRsp
    - qwFreeFetchRsp
    - QW_FPARAMS
    - taosWWaitLockLatch
    - taosArrayGetSize
    - qwBuildAndSendFetchRsp
    - tstrerror
    - taosArrayClear
    - taosWUnLockLatch
    - QW_TASK_DLOG
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwSaveAndHandleWailtList(QW_FPARAMS_DEF, SQWTaskCtx *ctx, SQWRspItem*
      newItem, bool fetchDone)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:191,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:193,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:193,1
    - Dst: qwSaveSubQueryFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:199,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:199,1
    - Dst: qwSaveAndHandleWailtList
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:204,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - rsp
    - dataLen
    - code
    - queryEnd
    argTypes:
    - SQWTaskCtx*
    - void*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 6
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: qwChkSaveNonScalarSubQRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - qwSaveSubQueryFetchRsp
    - QW_FPARAMS
    - taosArrayInit
    - tstrerror
    - qwSaveAndHandleWailtList
    - QW_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwChkSaveNonScalarSubQRsp(QW_FPARAMS_DEF, SQWTaskCtx *ctx,
      void* rsp, int32_t dataLen, int32_t code, bool queryEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_IS_SCALAR_SUBQ
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:208,1
    - Dst: qwChkSaveScalarSubQRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:208,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:208,1
    - Dst: qwChkSaveNonScalarSubQRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:208,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - rsp
    - dataLen
    - code
    - queryEnd
    argTypes:
    - SQWTaskCtx*
    - void*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 7
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: qwChkSaveSubQFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 3
    functionsReached:
    - qwChkSaveNonScalarSubQRsp
    - QW_IS_SCALAR_SUBQ
    - qwChkSaveScalarSubQRsp
    - QW_FPARAMS
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwChkSaveSubQFetchRsp(QW_FPARAMS_DEF, SQWTaskCtx *ctx, void*
      rsp, int32_t dataLen, int32_t code, bool queryEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rspType
    - pConn
    - code
    argTypes:
    - int32_t
    - SRpcHandleInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 224
    functionName: qwBuildAndSendErrorRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - tmsgSendRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwBuildAndSendErrorRsp(int32_t rspType, SRpcHandleInfo *pConn,
      int32_t code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSQueryTableRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:233,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:235,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:236,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:239,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:241,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:242,1
    - Dst: tSerializeSQueryTableRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:245,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:247,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:248,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - rspType
    - pConn
    - code
    - ctx
    argTypes:
    - int32_t
    - SRpcHandleInfo*
    - int32_t
    - SQWTaskCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 262
    functionName: qwBuildAndSendQueryRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - QW_RET
    - qError
    - tSerializeSQueryTableRsp
    - tmsgSendRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwBuildAndSendQueryRsp(int32_t rspType, SRpcHandleInfo *pConn,
      int32_t code, SQWTaskCtx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:265,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:266,1
    - Dst: tSerializeSExplainRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:268,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:270,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:271,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:273,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:275,1
    - Dst: tSerializeSExplainRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:277,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:279,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:280,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pConn
    - pExecList
    argTypes:
    - SRpcHandleInfo*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 294
    functionName: qwBuildAndSendExplainRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - taosArrayGet
    - QW_RET
    - qError
    - taosArrayGetSize
    - tmsgSendRsp
    - tSerializeSExplainRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwBuildAndSendExplainRsp(SRpcHandleInfo *pConn, SArray *pExecList)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:297,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:299,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:300,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:303,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:305,1
    - Dst: tSerializeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:307,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:309,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:310,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pConn
    - pStatus
    - code
    argTypes:
    - SRpcHandleInfo*
    - SSchedulerHbRsp*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 324
    functionName: qwBuildAndSendHbRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - QW_RET
    - qError
    - tmsgSendRsp
    - tSerializeSSchedulerHbRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwBuildAndSendHbRsp(SRpcHandleInfo *pConn, SSchedulerHbRsp
      *pStatus, int32_t code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:329,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:331,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:333,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:346,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - ctx
    - rspType
    - pConn
    - pRsp
    - dataLength
    - code
    argTypes:
    - SQWTaskCtx*
    - int32_t
    - SRpcHandleInfo*
    - SRetrieveTableRsp*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 353
    functionName: qwBuildAndSendFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 4
    functionsReached:
    - rpcMallocCont
    - QW_RET
    - taosGetTimestampSec
    - tmsgSendRsp
    - TAOS_MEMSET
    linkageType: ''
    returnType: int32_t
    signature: "int32_t qwBuildAndSendFetchRsp(SQWTaskCtx *ctx, int32_t rspType, SRpcHandleInfo
      *pConn, SRetrieveTableRsp *pRsp, int32_t dataLength,\n                               int32_t
      code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:357,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:359,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pConn
    - code
    argTypes:
    - SRpcHandleInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: qwBuildAndSendCancelRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - tmsgSendRsp
    - rpcMallocCont
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwBuildAndSendCancelRsp(SRpcHandleInfo *pConn, int32_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:376,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:378,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pConn
    - code
    argTypes:
    - SRpcHandleInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 392
    functionName: qwBuildAndSendDropRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - tmsgSendRsp
    - rpcMallocCont
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwBuildAndSendDropRsp(SRpcHandleInfo *pConn, int32_t code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:406,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:408,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:409,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:412,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:414,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:415,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:418,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:420,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:421,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:422,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:433,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:435,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:435,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:436,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SRpcHandleInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 442
    functionName: qwBuildAndSendDropMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - QW_SCH_TASK_DLOG
    - QW_SCH_TASK_ELOG
    - tmsgPutToQueue
    - tSerializeSTaskDropReq
    - QW_ERR_RET
    - tstrerror
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwBuildAndSendDropMsg(QW_FPARAMS_DEF, SRpcHandleInfo *pConn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:445,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:447,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:448,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:467,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:469,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:469,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:470,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pConn
    - taskType
    argTypes:
    - SRpcHandleInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 476
    functionName: qwBuildAndSendCQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - QW_SCH_TASK_DLOG
    - QW_SCH_TASK_ELOG
    - tmsgPutToQueue
    - QW_ERR_RET
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwBuildAndSendCQueryMsg(QW_FPARAMS_DEF, SRpcHandleInfo *pConn,
      int32_t taskType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:489,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:491,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:492,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:495,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:497,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:498,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:501,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:503,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:504,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:505,1
    - Dst: tmsgRegisterBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SRpcHandleInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 519
    functionName: qwRegisterQueryBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - QW_SCH_TASK_ELOG
    - tSerializeSTaskDropReq
    - QW_ERR_RET
    - tmsgRegisterBrokenLinkArg
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwRegisterQueryBrokenLinkArg(QW_FPARAMS_DEF, SRpcHandleInfo
      *pConn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:526,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:528,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:529,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:531,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:533,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:534,1
    - Dst: tSerializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:537,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:539,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:540,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:541,1
    - Dst: tmsgRegisterBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - mgmt
    - clientId
    - pConn
    argTypes:
    - SQWorker*
    - uint64_t
    - SRpcHandleInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 555
    functionName: qwRegisterHbBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - tSerializeSSchedulerHbReq
    - QW_SCH_ELOG
    - QW_ERR_RET
    - tmsgRegisterBrokenLinkArg
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t qwRegisterHbBrokenLinkArg(SQWorker *mgmt, uint64_t clientId,
      SRpcHandleInfo *pConn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:559,1
    - Dst: tDeserializeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:565,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:566,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:567,1
    - Dst: TEST_SHOW_REWRITE_MASK
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:571,1
    - Dst: taosGranted
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:572,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:573,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:574,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:575,1
    - Dst: TEST_VIEW_MASK
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:577,1
    - Dst: taosGranted
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:577,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:578,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:579,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:580,1
    - Dst: TEST_AUDIT_MASK
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:582,1
    - Dst: taosGranted
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:582,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:583,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:584,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:585,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:602,1
    - Dst: qwPreprocessQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:603,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:603,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:604,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:606,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - qWorkerMgmt
    - pMsg
    - chkGrant
    - qType
    argTypes:
    - void*
    - SRpcMsg*
    - bool
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 609
    functionName: qWorkerPreprocessQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - QW_SCH_TASK_DLOG
    - tDeserializeSSubQueryMsg
    - taosGranted
    - QW_FPARAMS
    - TEST_AUDIT_MASK
    - tFreeSSubQueryMsg
    - TEST_SHOW_REWRITE_MASK
    - QW_ERR_RET
    - qwPreprocessQuery
    - TEST_VIEW_MASK
    - QW_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qWorkerPreprocessQueryMsg(void *qWorkerMgmt, SRpcMsg *pMsg,
      bool chkGrant, int32_t* qType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:613,1
    - Dst: tDeserializeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:619,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:620,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:621,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:631,1
    - Dst: qwAbortPrerocessQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:632,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:632,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:633,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - qWorkerMgmt
    - pMsg
    argTypes:
    - void*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 638
    functionName: qWorkerAbortPreprocessQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - qwAbortPrerocessQuery
    - QW_SCH_TASK_DLOG
    - tDeserializeSSubQueryMsg
    - QW_FPARAMS
    - tFreeSSubQueryMsg
    - QW_ERR_RET
    - QW_ELOG
    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:642,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:648,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:648,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:649,1
    - Dst: tDeserializeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:652,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:653,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:654,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:670,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:671,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:671,1
    - Dst: qwProcessQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:673,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:673,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:676,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 640
    functionDepth: 7
    functionLinenumber: 640
    functionLinenumberEnd: 680
    functionName: qWorkerProcessQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 7
    functionsReached:
    - TMSG_INFO
    - QW_SCH_TASK_DLOG
    - QW_STAT_INC
    - tDeserializeSSubQueryMsg
    - qwUpdateTimeInQueue
    - QW_FPARAMS
    - tFreeSSubQueryMsg
    - QW_ERR_RET
    - taosArrayGetSize
    - qwProcessQuery
    - QW_ELOG
    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:684,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:695,1
    - Dst: qwUpdateTimeInQueue
      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: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:699,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:700,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:712,1
    - Dst: qwProcessCQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:714,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:714,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:716,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 682
    functionDepth: 5
    functionLinenumber: 682
    functionLinenumberEnd: 719
    functionName: qWorkerProcessCQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 2
    functionsReached:
    - qwProcessCQuery
    - QW_SCH_TASK_DLOG
    - QW_STAT_INC
    - qwUpdateTimeInQueue
    - QW_FPARAMS
    - QW_ERR_RET
    - QW_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qWorkerProcessCQueryMsg(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:729,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:729,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:730,1
    - Dst: tDeserializeSResFetchReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:732,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:733,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:734,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:746,1
    - Dst: qwProcessFetch
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:748,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:748,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:750,1
    - Dst: tDestroySResFetchReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 721
    functionDepth: 8
    functionLinenumber: 721
    functionLinenumberEnd: 755
    functionName: qWorkerProcessFetchMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 6
    functionsReached:
    - QW_SCH_TASK_DLOG
    - QW_STAT_INC
    - qwUpdateTimeInQueue
    - tDeserializeSResFetchReq
    - QW_FPARAMS
    - tDestroySResFetchReq
    - QW_ERR_RET
    - qwProcessFetch
    - QW_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qWorkerProcessFetchMsg(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:760,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:760,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:761,1
    - Dst: qProcessRspMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 757
    functionDepth: 4
    functionLinenumber: 757
    functionLinenumberEnd: 767
    functionName: qWorkerProcessRspMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - QW_STAT_INC
    - qProcessRspMsg
    - QW_ERR_RET
    - qwUpdateTimeInQueue
    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:779,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:779,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:780,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:783,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:784,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:787,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:788,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:789,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:790,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:791,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:792,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:807,1
    - Dst: qwBuildAndSendCancelRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:807,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:808,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 770
    functionDepth: 3
    functionLinenumber: 770
    functionLinenumberEnd: 811
    functionName: qWorkerProcessCancelMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - QW_SCH_TASK_DLOG
    - QW_STAT_INC
    - qwBuildAndSendCancelRsp
    - qwUpdateTimeInQueue
    - qError
    - ntohl
    - QW_ERR_RET
    - tstrerror
    - be64toh
    linkageType: ''
    returnType: int32_t
    signature: int32_t qWorkerProcessCancelMsg(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:822,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:822,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:823,1
    - Dst: tDeserializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:826,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:827,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:828,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:841,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:841,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:844,1
    - Dst: qwProcessDrop
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:846,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:846,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:848,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 851
    functionName: qWorkerProcessDropMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 7
    functionsReached:
    - QW_SCH_TASK_DLOG
    - QW_STAT_INC
    - qwUpdateTimeInQueue
    - QW_FPARAMS
    - qwProcessDrop
    - QW_ERR_RET
    - tDeserializeSTaskDropReq
    - tstrerror
    - QW_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qWorkerProcessDropMsg(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:861,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:861,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:862,1
    - Dst: tDeserializeSTaskNotifyReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:865,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:866,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:867,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:879,1
    - Dst: qwProcessNotify
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:881,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:881,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 886
    functionName: qWorkerProcessNotifyMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 2
    functionsReached:
    - QW_SCH_TASK_DLOG
    - QW_STAT_INC
    - qwUpdateTimeInQueue
    - QW_FPARAMS
    - tDeserializeSTaskNotifyReq
    - QW_ERR_RET
    - qwProcessNotify
    - QW_ELOG
    linkageType: ''
    returnType: int32_t
    signature: int32_t qWorkerProcessNotifyMsg(void *node, void *qWorkerMgmt, SRpcMsg
      *pMsg, int64_t ts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:899,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:899,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:900,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:903,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:904,1
    - Dst: tDeserializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:907,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:908,1
    - Dst: tFreeSSchedulerHbReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:909,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:910,1
    - Dst: QW_SCH_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:917,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:917,1
    - Dst: QW_SCH_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:920,1
    - Dst: qwProcessHb
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:922,1
    - Dst: QW_SCH_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:924,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 889
    functionDepth: 3
    functionLinenumber: 889
    functionLinenumberEnd: 927
    functionName: qWorkerProcessHbMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - QW_STAT_INC
    - qwUpdateTimeInQueue
    - QW_SCH_DLOG
    - qwProcessHb
    - tDeserializeSSchedulerHbReq
    - QW_ERR_RET
    - tstrerror
    - QW_ELOG
    - tFreeSSchedulerHbReq
    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:931,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:938,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:940,1
    - Dst: tDeserializeSVDeleteReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:940,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:952,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:953,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:955,1
    - Dst: qwProcessDelete
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:955,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:955,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:957,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:958,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:962,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - pRes
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - SDeleteRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 929
    functionDepth: 7
    functionLinenumber: 929
    functionLinenumberEnd: 963
    functionName: qWorkerProcessDeleteMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - QW_SCH_TASK_DLOG
    - QW_STAT_INC
    - QW_RET
    - QW_FPARAMS
    - QW_ERR_JRET
    - qwProcessDelete
    - QW_ERR_RET
    - tDeserializeSVDeleteReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t qWorkerProcessDeleteMsg(void *node, void *qWorkerMgmt, SRpcMsg
      *pMsg, SDeleteRes *pRes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:30,1
    - Dst: tssPrintConfig
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:35,1
    - Dst: tssUpload
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:38,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:39,1
    - Dst: tssGetFileSize
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:42,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:43,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:44,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:47,1
    - Dst: tssListFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:48,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:49,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:51,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:52,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:53,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:56,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:58,1
    - Dst: GTEST_ASSERT_TRUE
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:59,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:63,1
    - Dst: tssReadFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:64,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:65,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:66,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:68,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:68,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:69,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:73,1
    - Dst: GTEST_ASSERT_TRUE
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:74,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:76,1
    - Dst: tssUpload
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:80,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:81,1
    - Dst: tssGetFileSize
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:84,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:85,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:86,1
    - Dst: tssReadFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:90,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:91,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:92,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:94,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:96,1
    - Dst: tssDeleteFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:99,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:100,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:103,1
    - Dst: tssListFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:104,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:105,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:107,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:108,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:109,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:112,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:114,1
    - Dst: GTEST_ASSERT_FALSE
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:115,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:120,1
    - Dst: tssUploadFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:121,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:122,1
    - Dst: tssDownloadFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:125,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:126,1
    - Dst: tssDeleteFileByPrefix
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:128,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 65
    argCount: 2
    argNames:
    - ss
    - largeFileSizeInMB
    argTypes:
    - SSharedStorage*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 130
    functionName: tssInstTest
    functionSourceFile: /src/tdengine/source/libs/tss/test/tssTest.cpp
    functionUses: 0
    functionsReached:
    - tssListFile
    - tssPrintConfig
    - tssGetFileSize
    - snprintf
    - memset
    - taosArrayDestroy
    - tssUpload
    - tssDownloadFile
    - taosArrayGet
    - GTEST_ASSERT_TRUE
    - tssReadFile
    - taosArrayGetSize
    - taosMemoryCalloc
    - strcmp
    - taosMemFree
    - memcmp
    - tssDeleteFileByPrefix
    - GTEST_ASSERT_FALSE
    - tssUploadFile
    - taosMemoryMalloc
    - GTEST_ASSERT_EQ
    - taosMemoryFree
    - taosArrayInit
    - tssDeleteFile
    - strlen
    linkageType: ''
    returnType: void
    signature: void tssInstTest(SSharedStorage* ss, uint32_t largeFileSizeInMB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:134,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:135,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:136,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:137,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:138,1
    - Dst: tssInit
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:142,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:143,1
    - Dst: tssCreateInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:147,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:148,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:150,1
    - Dst: tssCreateInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:152,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:153,1
    - Dst: tssInstTest
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:154,1
    - Dst: tssCloseInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:155,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:158,1
    - Dst: tssCreateInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:160,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:161,1
    - Dst: tssInstTest
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:162,1
    - Dst: tssCloseInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:163,1
    - Dst: tssUninit
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:166,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 169
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tss/test/tssTest.cpp
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - tssInstTest
    - tssUninit
    - tssCloseInstance
    - taosRemoveFile
    - tssInit
    - GTEST_ASSERT_EQ
    - taosWriteFile
    - GTEST_ASSERT_NE
    - printf
    - taosOpenFile
    - tssCreateInstance
    linkageType: ''
    returnType: void
    signature: void TEST(TssTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mockRegisterType
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:174,1
    - Dst: tssCloseInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:177,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:178,1
    - Dst: tssCreateInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:180,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:181,1
    - Dst: tssCloseInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:182,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tss/test/tssTest.cpp
    functionUses: 0
    functionsReached:
    - tssCloseInstance
    - mockRegisterType
    - tssCreateInstance
    - GTEST_ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TssTest, CloseTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:189,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:190,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:191,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:192,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:193,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:196,1
    - Dst: tssInit
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:198,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:199,1
    - Dst: tssCreateDefaultInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:201,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:202,1
    - Dst: tssPrintDefaultConfig
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:204,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:210,1
    - Dst: tssUploadToDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:215,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:216,1
    - Dst: tssGetFileSizeOfDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:219,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:220,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:221,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:224,1
    - Dst: tssListFileOfDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:225,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:226,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:228,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:229,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:230,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:233,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:235,1
    - Dst: GTEST_ASSERT_TRUE
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:236,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:240,1
    - Dst: tssReadFileFromDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:241,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:242,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:243,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:245,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:245,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:246,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:250,1
    - Dst: GTEST_ASSERT_TRUE
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:251,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:253,1
    - Dst: tssUploadToDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:257,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:258,1
    - Dst: tssGetFileSizeOfDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:261,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:262,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:263,1
    - Dst: tssReadFileFromDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:267,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:268,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:269,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:271,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:273,1
    - Dst: tssDeleteFileFromDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:276,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:277,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:280,1
    - Dst: tssListFileOfDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:281,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:282,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:284,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:285,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:286,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:289,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:291,1
    - Dst: GTEST_ASSERT_FALSE
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:292,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:297,1
    - Dst: tssUploadFileToDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:298,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:299,1
    - Dst: tssDownloadFileFromDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:302,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:303,1
    - Dst: tssDeleteFileByPrefixFromDefault
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:305,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:306,1
    - Dst: tssCheckDefaultInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:308,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:309,1
    - Dst: tssCheckDefaultInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:311,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:312,1
    - Dst: tssCloseDefaultInstance
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:314,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:315,1
    - Dst: tssUninit
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:316,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tss/test/tssTest.cpp:318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 319
    functionName: TEST
    functionSourceFile: /src/tdengine/source/libs/tss/test/tssTest.cpp
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - tssPrintDefaultConfig
    - tssReadFileFromDefault
    - snprintf
    - memset
    - tssListFileOfDefault
    - tssCloseDefaultInstance
    - taosArrayDestroy
    - taosArrayGet
    - tssUninit
    - strcpy
    - tssCreateDefaultInstance
    - tssDownloadFileFromDefault
    - tssUploadFileToDefault
    - taosWriteFile
    - GTEST_ASSERT_TRUE
    - taosArrayGetSize
    - tssDeleteFileFromDefault
    - taosMemoryCalloc
    - strcmp
    - taosMemFree
    - memcmp
    - taosRemoveFile
    - GTEST_ASSERT_FALSE
    - tssInit
    - GTEST_ASSERT_NE
    - taosOpenFile
    - tssDeleteFileByPrefixFromDefault
    - tssCheckDefaultInstance
    - taosMemoryMalloc
    - GTEST_ASSERT_EQ
    - taosMemoryFree
    - taosArrayInit
    - tssGetFileSizeOfDefault
    - tssUploadToDefault
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(TssTest, DefaultInstanceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/test/mock.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: printConfig
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void printConfig(SSharedStorage* pss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/test/mock.cpp:37,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/tss/test/mock.cpp:39,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/test/mock.cpp:41,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/test/mock.cpp:42,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/test/mock.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - accessString
    - ppSS
    argTypes:
    - char*
    - SSharedStorageMock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: createInstance
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 0
    functionsReached:
    - tssError
    - strlen
    - taosMemCalloc
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t createInstance(const char* accessString, SSharedStorageMock**
      ppSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/test/mock.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: closeInstance
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 0
    functionsReached:
    - taosMemFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t closeInstance(SSharedStorage* pss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/test/mock.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pss
    - dstPath
    - data
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: upload
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t upload(SSharedStorage* pss, const char* dstPath, const void*
      data, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pss
    - dstPath
    - srcPath
    - offset
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: uploadFile
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t uploadFile(SSharedStorage* pss, const char* dstPath, const
      char* srcPath, int64_t offset, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pss
    - srcPath
    - offset
    - buffer
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - int64_t
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: readFile
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t readFile(SSharedStorage* pss, const char* srcPath, int64_t
      offset, char* buffer, int64_t* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pss
    - srcPath
    - dstPath
    - offset
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: downloadFile
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t downloadFile(SSharedStorage* pss, const char* srcPath, const
      char* dstPath, int64_t offset, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pss
    - prefix
    - paths
    argTypes:
    - SSharedStorage*
    - char*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: listFile
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t listFile(SSharedStorage* pss, const char* prefix, SArray* paths)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pss
    - path
    argTypes:
    - SSharedStorage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: deleteFile
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t deleteFile(SSharedStorage* pss, const char* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pss
    - path
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: getFileSize
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFileSize(SSharedStorage* pss, const char* path, int64_t*
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createInstance
      Src: /src/tdengine/source/libs/tss/test/mock.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - as
    - ppSS
    argTypes:
    - char*
    - SSharedStorage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: mockCreateInstance
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 0
    functionsReached:
    - createInstance
    linkageType: ''
    returnType: int32_t
    signature: int32_t mockCreateInstance(const char* as, SSharedStorage** ppSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tssRegisterType
      Src: /src/tdengine/source/libs/tss/test/mock.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: mockRegisterType
    functionSourceFile: /src/tdengine/source/libs/tss/test/mock.cpp
    functionUses: 1
    functionsReached:
    - tssRegisterType
    linkageType: ''
    returnType: void
    signature: void mockRegisterType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: tssFatal
    functionSourceFile: /src/tdengine/source/libs/tss/inc/tssInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tssFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: tssError
    functionSourceFile: /src/tdengine/source/libs/tss/inc/tssInt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tssError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: tssWarn
    functionSourceFile: /src/tdengine/source/libs/tss/inc/tssInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tssWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: tssInfo
    functionSourceFile: /src/tdengine/source/libs/tss/inc/tssInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tssInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: tssDebug
    functionSourceFile: /src/tdengine/source/libs/tss/inc/tssInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tssDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: tssTrace
    functionSourceFile: /src/tdengine/source/libs/tss/inc/tssInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tssTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: countof
    functionSourceFile: /src/tdengine/source/libs/tss/inc/tssInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: countof(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:55,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:56,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:57,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:58,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:59,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:60,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:61,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:62,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:63,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:64,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:65,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/s3.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - pss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: printConfig
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void printConfig(SSharedStorage* pss)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tss/src/s3.c:73,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/tss/src/s3.c:86,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:88,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/tss/src/s3.c:97,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:99,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:103,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:104,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/tss/src/s3.c:110,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:114,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:118,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:121,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:123,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:124,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:126,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:129,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:132,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:133,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:135,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:138,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:141,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:143,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:145,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:147,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/tss/src/s3.c:148,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:149,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/tss/src/s3.c:150,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:151,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/tss/src/s3.c:152,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:153,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/s3.c:154,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:156,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:162,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:167,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:172,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:177,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:182,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 108
    argCount: 2
    argNames:
    - ss
    - as
    argTypes:
    - SSharedStorageS3*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 190
    functionName: initInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - strchr
    - tssError
    - strlen
    - taosStr2Int64
    - taosStrcasecmp
    - atoll
    linkageType: ''
    returnType: bool
    signature: bool initInstance(SSharedStorageS3* ss, const char* as)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:198,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/tss/src/s3.c:199,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:201,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:202,1
    - Dst: initInstance
      Src: /src/tdengine/source/libs/tss/src/s3.c:206,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:207,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:208,1
    - Dst: S3_initialize
      Src: /src/tdengine/source/libs/tss/src/s3.c:215,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:217,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:218,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:218,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:219,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - accessString
    - ppSS
    argTypes:
    - char*
    - SSharedStorageS3**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: createInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 1
    functionsReached:
    - taosMemFree
    - S3_initialize
    - S3_get_status_name
    - taosMemCalloc
    - TAOS_RETURN
    - tssError
    - strlen
    - initInstance
    linkageType: ''
    returnType: int32_t
    signature: int32_t createInstance(const char* accessString, SSharedStorageS3**
      ppSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:230,1
    - Dst: S3_deinitialize
      Src: /src/tdengine/source/libs/tss/src/s3.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: closeInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - taosMemFree
    - S3_deinitialize
    linkageType: ''
    returnType: int32_t
    signature: int32_t closeInstance(SSharedStorage* pss)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:258,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:262,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:266,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:273,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:277,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - status
    - error
    - data
    argTypes:
    - S3Status
    - S3ErrorDetails*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 279
    functionName: responseCompleteCallback
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void responseCompleteCallback(S3Status status, const S3ErrorDetails
      *error, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - properties
    - data
    argTypes:
    - S3ResponseProperties*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: propertiesCallbackNop
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: S3Status
    signature: S3Status propertiesCallbackNop(const S3ResponseProperties *properties,
      void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: readUploadSource
      Src: /src/tdengine/source/libs/tss/src/s3.c:317,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tss/src/s3.c:319,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - us
    - buffer
    - size
    argTypes:
    - SUploadSource*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 329
    functionName: readUploadSource
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 1
    functionsReached:
    - readUploadSource
    - memcpy
    - taosReadFile
    linkageType: ''
    returnType: int
    signature: int readUploadSource(SUploadSource* us, char* buffer, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readUploadSource
      Src: /src/tdengine/source/libs/tss/src/s3.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - cbd
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: uploadCallback
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - readUploadSource
    linkageType: ''
    returnType: int
    signature: int uploadCallback(int bufferSize, char* buffer, void* cbd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: S3_put_object
      Src: /src/tdengine/source/libs/tss/src/s3.c:377,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:378,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:385,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:385,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:389,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:389,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:390,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:392,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:393,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:396,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - ss
    - dstPath
    - src
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 397
    functionName: simpleUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - S3_put_object
    - TAOS_SYSTEM_ERROR
    - S3_get_status_name
    - S3_status_is_retryable
    - tssDebug
    - TAOS_RETURN
    - tssError
    linkageType: ''
    returnType: int32_t
    signature: int32_t simpleUpload(SSharedStorageS3* ss, const char* dstPath, SUploadSource*
      src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tss/src/s3.c:405,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - uploadId
    - cbd
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: multipartInitialCallback
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - tssError
    - taosStrdup
    linkageType: ''
    returnType: S3Status
    signature: S3Status multipartInitialCallback(const char *uploadId, void *cbd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tss/src/s3.c:423,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - properties
    - cbd
    argTypes:
    - S3ResponseProperties*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: multipartResponseProperiesCallback
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - tssError
    - taosStrdup
    linkageType: ''
    returnType: S3Status
    signature: S3Status multipartResponseProperiesCallback(const S3ResponseProperties
      *properties, void *cbd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: S3_initiate_multipart
      Src: /src/tdengine/source/libs/tss/src/s3.c:448,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:449,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:456,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:456,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:461,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:461,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:462,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - ss
    - dstPath
    - ucbd
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadCallbackData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 466
    functionName: initMultipartUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - S3_initiate_multipart
    - S3_get_status_name
    - S3_status_is_retryable
    - tssDebug
    - TAOS_RETURN
    - tssError
    linkageType: ''
    returnType: int32_t
    signature: int32_t initMultipartUpload(SSharedStorageS3* ss, const char* dstPath,
      SUploadCallbackData* ucbd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/tss/src/s3.c:483,1
    - Dst: S3_upload_part
      Src: /src/tdengine/source/libs/tss/src/s3.c:487,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:497,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:504,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:504,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:508,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:508,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:509,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:514,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ss
    - dstPath
    - ucbd
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadCallbackData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 515
    functionName: uploadChunks
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - S3_upload_part
    - TAOS_SYSTEM_ERROR
    - S3_get_status_name
    - TMIN
    - S3_status_is_retryable
    - tssDebug
    - TAOS_RETURN
    - tssError
    linkageType: ''
    returnType: int32_t
    signature: int32_t uploadChunks(SSharedStorageS3* ss, const char* dstPath, SUploadCallbackData*
      ucbd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:521,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:522,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:525,1
    - Dst: taosMemMalloc
      Src: /src/tdengine/source/libs/tss/src/s3.c:528,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:530,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:531,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:536,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:538,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tss/src/s3.c:541,1
    - Dst: S3_complete_multipart_upload
      Src: /src/tdengine/source/libs/tss/src/s3.c:559,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:560,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:567,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:567,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:571,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:575,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:575,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:576,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:579,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - ss
    - dstPath
    - ucbd
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadCallbackData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 580
    functionName: commitMultipartUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - S3_complete_multipart_upload
    - taosMemFree
    - S3_get_status_name
    - S3_status_is_retryable
    - snprintf
    - tssDebug
    - TAOS_RETURN
    - tssError
    - strlen
    - taosMemMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t commitMultipartUpload(SSharedStorageS3* ss, const char* dstPath,
      SUploadCallbackData* ucbd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/tss/src/s3.c:594,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:596,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:597,1
    - Dst: initMultipartUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:600,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:602,1
    - Dst: uploadChunks
      Src: /src/tdengine/source/libs/tss/src/s3.c:605,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:607,1
    - Dst: commitMultipartUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ss
    - dstPath
    - ucbd
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadCallbackData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 611
    functionName: doMultipartUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - initMultipartUpload
    - taosMemCalloc
    - TAOS_RETURN
    - uploadChunks
    - tssError
    - commitMultipartUpload
    linkageType: ''
    returnType: int32_t
    signature: int32_t doMultipartUpload(SSharedStorageS3* ss, const char* dstPath,
      SUploadCallbackData* ucbd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: S3_abort_multipart_upload
      Src: /src/tdengine/source/libs/tss/src/s3.c:625,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:626,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:633,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:633,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:637,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:637,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ss
    - dstPath
    - ucbd
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadCallbackData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 639
    functionName: abortMultipartUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - S3_get_status_name
    - S3_status_is_retryable
    - tssDebug
    - tssError
    - S3_abort_multipart_upload
    linkageType: ''
    returnType: void
    signature: void abortMultipartUpload(SSharedStorageS3* ss, const char* dstPath,
      SUploadCallbackData* ucbd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doMultipartUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:650,1
    - Dst: abortMultipartUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:652,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:656,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:661,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:663,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ss
    - dstPath
    - src
    argTypes:
    - SSharedStorageS3*
    - char*
    - SUploadSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 667
    functionName: multipartUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - taosMemFree
    - taosMemoryFree
    - TAOS_RETURN
    - abortMultipartUpload
    - doMultipartUpload
    linkageType: ''
    returnType: int32_t
    signature: int32_t multipartUpload(SSharedStorageS3* ss, const char* dstPath,
      SUploadSource* src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: simpleUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:678,1
    - Dst: tssInfo
      Src: /src/tdengine/source/libs/tss/src/s3.c:680,1
    - Dst: multipartUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pss
    - dstPath
    - data
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 683
    functionName: upload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 2
    functionsReached:
    - simpleUpload
    - tssInfo
    - multipartUpload
    linkageType: ''
    returnType: int32_t
    signature: int32_t upload(SSharedStorage* pss, const char* dstPath, const void*
      data, int64_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:692,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:693,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:697,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:698,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:699,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:707,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:708,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:711,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:713,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:714,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:717,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:718,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:719,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:720,1
    - Dst: simpleUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:727,1
    - Dst: tssInfo
      Src: /src/tdengine/source/libs/tss/src/s3.c:729,1
    - Dst: multipartUpload
      Src: /src/tdengine/source/libs/tss/src/s3.c:730,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:733,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:734,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - pss
    - dstPath
    - srcPath
    - offset
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 688
    functionDepth: 4
    functionLinenumber: 688
    functionLinenumberEnd: 735
    functionName: uploadFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosStatFile
    - taosLSeekFile
    - tssInfo
    - TAOS_RETURN
    - multipartUpload
    - taosOpenFile
    - tssError
    - simpleUpload
    linkageType: ''
    returnType: int32_t
    signature: int32_t uploadFile(SSharedStorage* pss, const char* dstPath, const
      char* srcPath, int64_t offset, int64_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tss/src/s3.c:764,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - cbd
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 782
    functionName: downloadCallback
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosWriteFile
    linkageType: ''
    returnType: S3Status
    signature: S3Status downloadCallback(int bufferSize, const char *buffer, void
      *cbd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: S3_get_object
      Src: /src/tdengine/source/libs/tss/src/s3.c:809,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/tss/src/s3.c:812,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/tss/src/s3.c:812,1
    - Dst: tssInfo
      Src: /src/tdengine/source/libs/tss/src/s3.c:813,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:818,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:818,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:821,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:821,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:822,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:828,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - ss
    - path
    - offset
    - dcbd
    argTypes:
    - SSharedStorageS3*
    - char*
    - int64_t
    - SDownloadCallbackData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 829
    functionName: doDownload
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - tssError
    - TAOS_SYSTEM_ERROR
    - S3_get_object
    - S3_get_status_name
    - taosRand
    - tssInfo
    - TAOS_RETURN
    - taosMsleep
    linkageType: ''
    returnType: int32_t
    signature: int32_t doDownload(SSharedStorageS3* ss, const char* path, int64_t
      offset, SDownloadCallbackData* dcbd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doDownload
      Src: /src/tdengine/source/libs/tss/src/s3.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pss
    - srcPath
    - offset
    - buffer
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - int64_t
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 841
    functionName: readFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 2
    functionsReached:
    - doDownload
    linkageType: ''
    returnType: int32_t
    signature: int32_t readFile(SSharedStorage* pss, const char* srcPath, int64_t
      offset, char* buffer, int64_t* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:849,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:851,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:852,1
    - Dst: doDownload
      Src: /src/tdengine/source/libs/tss/src/s3.c:856,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/s3.c:857,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - pss
    - srcPath
    - dstPath
    - offset
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 860
    functionName: downloadFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - doDownload
    - TAOS_RETURN
    - taosOpenFile
    - tssError
    linkageType: ''
    returnType: int32_t
    signature: int32_t downloadFile(SSharedStorage* pss, const char* srcPath, const
      char* dstPath, int64_t offset, int64_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tss/src/s3.c:887,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/s3.c:896,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tss/src/s3.c:900,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:902,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/tss/src/s3.c:907,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:908,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:909,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 7
    argNames:
    - isTruncated
    - nextMarker
    - contentsCount
    - contents
    - commonPrefixesCount
    - commonPrefixes
    - cbd
    argTypes:
    - int
    - char*
    - int
    - S3ListBucketContent*
    - int
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 916
    functionName: listFileCallback
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tstrncpy
    - taosMemoryFree
    - tssError
    - strlen
    - taosStrdup
    linkageType: ''
    returnType: S3Status
    signature: "S3Status listFileCallback(int                        isTruncated,\n
      \                                const char*                nextMarker,\n                                 int
      \                       contentsCount,\n                                 const
      S3ListBucketContent* contents,\n                                 int                        commonPrefixesCount,\n
      \                                const char**               commonPrefixes,\n
      \                                void*                      cbd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S3_list_bucket
      Src: /src/tdengine/source/libs/tss/src/s3.c:935,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:940,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:940,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/tss/src/s3.c:942,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tss/src/s3.c:943,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/s3.c:944,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/tss/src/s3.c:946,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/s3.c:948,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pss
    - prefix
    - paths
    argTypes:
    - SSharedStorage*
    - char*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 952
    functionName: listFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - S3_list_bucket
    - TAOS_SYSTEM_ERROR
    - taosArrayGet
    - S3_get_status_name
    - taosMemoryFree
    - taosArrayGetSize
    - TAOS_RETURN
    - tssError
    - taosArrayClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t listFile(SSharedStorage* pss, const char* prefix, SArray* paths)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: S3_delete_object
      Src: /src/tdengine/source/libs/tss/src/s3.c:970,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:971,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:978,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:978,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:982,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:985,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:985,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:986,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pss
    - path
    argTypes:
    - SSharedStorage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 987
    functionName: deleteFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - S3_delete_object
    - S3_get_status_name
    - S3_status_is_retryable
    - tssDebug
    - TAOS_RETURN
    - tssError
    linkageType: ''
    returnType: int32_t
    signature: int32_t deleteFile(SSharedStorage* pss, const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - properties
    - data
    argTypes:
    - S3ResponseProperties*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1008
    functionName: sizePropertiesCallback
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: S3Status
    signature: S3Status sizePropertiesCallback(const S3ResponseProperties* properties,
      void* data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: S3_head_object
      Src: /src/tdengine/source/libs/tss/src/s3.c:1023,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/libs/tss/src/s3.c:1024,1
    - Dst: tssDebug
      Src: /src/tdengine/source/libs/tss/src/s3.c:1031,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:1031,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:1038,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/s3.c:1041,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/libs/tss/src/s3.c:1041,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/s3.c:1045,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pss
    - path
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1046
    functionName: getFileSize
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 1
    functionsReached:
    - S3_get_status_name
    - S3_head_object
    - S3_status_is_retryable
    - tssDebug
    - TAOS_RETURN
    - tssError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFileSize(SSharedStorage* pss, const char* path, int64_t*
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createInstance
      Src: /src/tdengine/source/libs/tss/src/s3.c:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - as
    - ppSS
    argTypes:
    - char*
    - SSharedStorage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1078
    functionName: s3CreateInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - createInstance
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3CreateInstance(const char* as, SSharedStorage** ppSS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createInstance
      Src: /src/tdengine/source/libs/tss/src/s3.c:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - as
    - ppSS
    argTypes:
    - char*
    - SSharedStorage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1112
    functionName: ossCreateInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - createInstance
    linkageType: ''
    returnType: int32_t
    signature: int32_t ossCreateInstance(const char* as, SSharedStorage** ppSS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createInstance
      Src: /src/tdengine/source/libs/tss/src/s3.c:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - as
    - ppSS
    argTypes:
    - char*
    - SSharedStorage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1143
    functionName: cosCreateInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - createInstance
    linkageType: ''
    returnType: int32_t
    signature: int32_t cosCreateInstance(const char* as, SSharedStorage** ppSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tssRegisterType
      Src: /src/tdengine/source/libs/tss/src/s3.c:1150,1
    - Dst: tssRegisterType
      Src: /src/tdengine/source/libs/tss/src/s3.c:1152,1
    - Dst: tssRegisterType
      Src: /src/tdengine/source/libs/tss/src/s3.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1155
    functionName: s3RegisterType
    functionSourceFile: /src/tdengine/source/libs/tss/src/s3.c
    functionUses: 0
    functionsReached:
    - tssRegisterType
    linkageType: ''
    returnType: void
    signature: void s3RegisterType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/tdengine/source/libs/tss/src/tss.c:31,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tss/src/tss.c:33,1
    - Dst: tssFatal
      Src: /src/tdengine/source/libs/tss/src/tss.c:34,1
    - Dst: countof
      Src: /src/tdengine/source/libs/tss/src/tss.c:39,1
    - Dst: tssFatal
      Src: /src/tdengine/source/libs/tss/src/tss.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - t
    argTypes:
    - SSharedStorageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: tssRegisterType
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 2
    functionsReached:
    - tssFatal
    - strcmp
    - countof
    linkageType: ''
    returnType: void
    signature: void tssRegisterType(const SSharedStorageType* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s3RegisterType
      Src: /src/tdengine/source/libs/tss/src/tss.c:54,1
    - Dst: fsRegisterType
      Src: /src/tdengine/source/libs/tss/src/tss.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: tssInit
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 2
    functionsReached:
    - fsRegisterType
    - s3RegisterType
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/tss/src/tss.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: tssUninit
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssUninit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSharedStorage*::type::printConfig
      Src: /src/tdengine/source/libs/tss/src/tss.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tssPrintConfig
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - SSharedStorage*::type::printConfig
    linkageType: ''
    returnType: void
    signature: void tssPrintConfig(SSharedStorage* ss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/tss.c:78,1
    - Dst: countof
      Src: /src/tdengine/source/libs/tss/src/tss.c:80,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/tss.c:87,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tss/src/tss.c:88,1
    - Dst: SSharedStorageType*::createInstance
      Src: /src/tdengine/source/libs/tss/src/tss.c:92,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/tss.c:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - as
    - pp
    argTypes:
    - char*
    - SSharedStorage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: tssCreateInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 2
    functionsReached:
    - countof
    - strncmp
    - tssError
    - strlen
    - SSharedStorageType*::createInstance
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssCreateInstance(const char* as, SSharedStorage** pp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSharedStorage*::type::closeInstance
      Src: /src/tdengine/source/libs/tss/src/tss.c:105,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/tss.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: tssCloseInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 2
    functionsReached:
    - tssError
    - SSharedStorage*::type::closeInstance
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssCloseInstance(SSharedStorage* ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSharedStorage*::type::upload
      Src: /src/tdengine/source/libs/tss/src/tss.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ss
    - dstPath
    - data
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: tssUpload
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - SSharedStorage*::type::upload
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssUpload(SSharedStorage* ss, const char* dstPath, const void*
      data, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSharedStorage*::type::uploadFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ss
    - dstPath
    - srcPath
    - offset
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: tssUploadFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - SSharedStorage*::type::uploadFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssUploadFile(SSharedStorage* ss, const char* dstPath, const
      char* srcPath, int64_t offset, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSharedStorage*::type::readFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ss
    - srcPath
    - offset
    - buffer
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - int64_t
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: tssReadFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - SSharedStorage*::type::readFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssReadFile(SSharedStorage* ss, const char* srcPath, int64_t
      offset, char* buffer, int64_t* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSharedStorage*::type::downloadFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ss
    - srcPath
    - dstPath
    - offset
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tssDownloadFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - SSharedStorage*::type::downloadFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssDownloadFile(SSharedStorage* ss, const char* srcPath, const
      char* dstPath, int64_t offset, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSharedStorage*::type::listFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ss
    - prefix
    - paths
    argTypes:
    - SSharedStorage*
    - char*
    - struct SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: tssListFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - SSharedStorage*::type::listFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssListFile(SSharedStorage* ss, const char* prefix, struct
      SArray* paths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSharedStorage*::type::deleteFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - path
    argTypes:
    - SSharedStorage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: tssDeleteFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - SSharedStorage*::type::deleteFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssDeleteFile(SSharedStorage* ss, const char* path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tss/src/tss.c:144,1
    - Dst: tssListFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:145,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tss/src/tss.c:147,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/tss/src/tss.c:151,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tss/src/tss.c:152,1
    - Dst: tssDeleteFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:153,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:154,1
    - Dst: tssWarn
      Src: /src/tdengine/source/libs/tss/src/tss.c:156,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tss/src/tss.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ss
    - prefix
    argTypes:
    - SSharedStorage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: tssDeleteFileByPrefix
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - tssListFile
    - taosArrayGet
    - tssWarn
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - tssDeleteFile
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssDeleteFileByPrefix(SSharedStorage* ss, const char* prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSharedStorage*::type::getFileSize
      Src: /src/tdengine/source/libs/tss/src/tss.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ss
    - path
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: tssGetFileSize
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - SSharedStorage*::type::getFileSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssGetFileSize(SSharedStorage* ss, const char* path, int64_t*
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type::printConfig
      Src: /src/tdengine/source/libs/tss/src/tss.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: tssPrintDefaultConfig
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - type::printConfig
    linkageType: ''
    returnType: void
    signature: void tssPrintDefaultConfig()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/tss.c:179,1
    - Dst: tssInfo
      Src: /src/tdengine/source/libs/tss/src/tss.c:180,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/tss.c:185,1
    - Dst: tssCreateInstance
      Src: /src/tdengine/source/libs/tss/src/tss.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: tssCreateDefaultInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - tssError
    - strlen
    - tssCreateInstance
    - tssInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssCreateDefaultInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tssCloseInstance
      Src: /src/tdengine/source/libs/tss/src/tss.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: tssCloseDefaultInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - tssCloseInstance
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssCloseDefaultInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type::upload
      Src: /src/tdengine/source/libs/tss/src/tss.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dstPath
    - data
    - size
    argTypes:
    - char*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: tssUploadToDefault
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - type::upload
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssUploadToDefault(const char* dstPath, const void* data, int64_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type::uploadFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dstPath
    - srcPath
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: tssUploadFileToDefault
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - type::uploadFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssUploadFileToDefault(const char* dstPath, const char* srcPath,
      int64_t offset, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type::readFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - srcPath
    - offset
    - buffer
    - size
    argTypes:
    - char*
    - int64_t
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: tssReadFileFromDefault
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - type::readFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssReadFileFromDefault(const char* srcPath, int64_t offset,
      char* buffer, int64_t* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type::downloadFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - srcPath
    - dstPath
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: tssDownloadFileFromDefault
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - type::downloadFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssDownloadFileFromDefault(const char* srcPath, const char*
      dstPath, int64_t offset, int64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type::listFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - paths
    argTypes:
    - char*
    - struct SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: tssListFileOfDefault
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - type::listFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssListFileOfDefault(const char* prefix, struct SArray* paths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type::deleteFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: tssDeleteFileFromDefault
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - type::deleteFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssDeleteFileFromDefault(const char* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tssDeleteFileByPrefix
      Src: /src/tdengine/source/libs/tss/src/tss.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: tssDeleteFileByPrefixFromDefault
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - tssDeleteFileByPrefix
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssDeleteFileByPrefixFromDefault(const char* prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type::getFileSize
      Src: /src/tdengine/source/libs/tss/src/tss.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - size
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: tssGetFileSizeOfDefault
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - type::getFileSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssGetFileSizeOfDefault(const char* path, int64_t* size)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/tss.c:244,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:249,1
    - Dst: tssUpload
      Src: /src/tdengine/source/libs/tss/src/tss.c:250,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:252,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:257,1
    - Dst: tssGetFileSize
      Src: /src/tdengine/source/libs/tss/src/tss.c:258,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:260,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:264,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:269,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tss/src/tss.c:270,1
    - Dst: tssListFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:271,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:273,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tss/src/tss.c:274,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/tss/src/tss.c:278,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tss/src/tss.c:279,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:280,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tss/src/tss.c:281,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:284,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tss/src/tss.c:286,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:288,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:293,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tss/src/tss.c:295,1
    - Dst: tssReadFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:296,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:298,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:299,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:303,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:304,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tss/src/tss.c:308,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:309,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:310,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:313,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tss/src/tss.c:319,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:321,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tss/src/tss.c:325,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:328,1
    - Dst: tssUpload
      Src: /src/tdengine/source/libs/tss/src/tss.c:329,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:331,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:332,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:336,1
    - Dst: tssGetFileSize
      Src: /src/tdengine/source/libs/tss/src/tss.c:337,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:339,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:343,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:347,1
    - Dst: tssReadFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:349,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:351,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:352,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:356,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:357,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:362,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:363,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:368,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:372,1
    - Dst: tssDeleteFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:373,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:375,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:380,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tss/src/tss.c:381,1
    - Dst: tssListFile
      Src: /src/tdengine/source/libs/tss/src/tss.c:382,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:384,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tss/src/tss.c:385,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/tss/src/tss.c:388,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tss/src/tss.c:389,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:390,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tss/src/tss.c:391,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/tss.c:392,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/tss.c:395,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tss/src/tss.c:397,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 129
    argCount: 2
    argNames:
    - ss
    - largeFileSizeInMB
    argTypes:
    - SSharedStorage*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 400
    functionName: tssCheckInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 0
    functionsReached:
    - tssListFile
    - taosMemFree
    - taosMemoryMalloc
    - taosArrayGet
    - tssGetFileSize
    - memcmp
    - tssReadFile
    - printf
    - memset
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - tssDeleteFile
    - strlen
    - taosArrayDestroy
    - taosMemoryCalloc
    - strcmp
    - tssUpload
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssCheckInstance(SSharedStorage* ss, uint32_t largeFileSizeInMB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tssCheckInstance
      Src: /src/tdengine/source/libs/tss/src/tss.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - largeFileSizeInMB
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: tssCheckDefaultInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/tss.c
    functionUses: 1
    functionsReached:
    - tssCheckInstance
    linkageType: ''
    returnType: int32_t
    signature: int32_t tssCheckDefaultInstance(uint32_t largeFileSizeInMB)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/fs.c:40,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tss/src/fs.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: printConfig
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void printConfig(SSharedStorage* pss)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tss/src/fs.c:51,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tss/src/fs.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ss
    - path
    - fullPath
    - cap
    argTypes:
    - SSharedStorageFS*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: joinPath
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 0
    functionsReached:
    - tstrncpy
    - memcpy
    linkageType: ''
    returnType: void
    signature: void joinPath(SSharedStorageFS* ss, const char* path, char* fullPath,
      int32_t cap)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tss/src/fs.c:67,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/tss/src/fs.c:70,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:72,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/tss/src/fs.c:81,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:83,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/fs.c:87,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:88,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/tss/src/fs.c:94,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/fs.c:98,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/tss/src/fs.c:102,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:105,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:111,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/fs.c:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - ss
    - as
    argTypes:
    - SSharedStorageFS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 117
    functionName: initInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 1
    functionsReached:
    - tstrncpy
    - strchr
    - tssError
    - strlen
    - taosStrcasecmp
    linkageType: ''
    returnType: bool
    signature: bool initInstance(SSharedStorageFS* ss, const char* as)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/fs.c:125,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/tss/src/fs.c:127,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:129,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:130,1
    - Dst: initInstance
      Src: /src/tdengine/source/libs/tss/src/fs.c:134,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:136,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/fs.c:139,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - accessString
    - ppSS
    argTypes:
    - char*
    - SSharedStorageFS**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: createInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 5
    functionsReached:
    - taosMemFree
    - taosMemCalloc
    - TAOS_RETURN
    - tssError
    - strlen
    - initInstance
    linkageType: ''
    returnType: int32_t
    signature: int32_t createInstance(const char* accessString, SSharedStorageFS**
      ppSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/tss/src/fs.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pss
    argTypes:
    - SSharedStorage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: closeInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 1
    functionsReached:
    - taosMemFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t closeInstance(SSharedStorage* pss)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: joinPath
      Src: /src/tdengine/source/libs/tss/src/fs.c:158,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:160,1
    - Dst: taosDirName
      Src: /src/tdengine/source/libs/tss/src/fs.c:160,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:162,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:163,1
    - Dst: joinPath
      Src: /src/tdengine/source/libs/tss/src/fs.c:166,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:167,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:169,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:170,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:173,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:176,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:179,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tss/src/fs.c:182,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:182,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - pss
    - dstPath
    - data
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 184
    functionName: upload
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 4
    functionsReached:
    - taosCloseFile
    - taosDirName
    - taosMulMkDir
    - joinPath
    - taosWriteFile
    - TAOS_RETURN
    - TAOS_UNUSED
    - taosOpenFile
    - tssError
    linkageType: ''
    returnType: int32_t
    signature: int32_t upload(SSharedStorage* pss, const char* dstPath, const void*
      data, int64_t size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:190,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:191,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:196,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:198,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:199,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:207,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:208,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:211,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:214,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:215,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:218,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:220,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:221,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:222,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:225,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:228,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:229,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:230,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:236,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:239,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:247,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:250,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:254,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:261,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:262,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:263,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 4
    argNames:
    - srcPath
    - dstPath
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 264
    functionName: copyFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosStatFile
    - taosReadFile
    - taosLSeekFile
    - taosWriteFile
    - TAOS_RETURN
    - taosOpenFile
    - tssError
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyFile(const char* srcPath, const char* dstPath, int64_t
      offset, int64_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: joinPath
      Src: /src/tdengine/source/libs/tss/src/fs.c:273,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:274,1
    - Dst: taosDirName
      Src: /src/tdengine/source/libs/tss/src/fs.c:274,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:276,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:277,1
    - Dst: joinPath
      Src: /src/tdengine/source/libs/tss/src/fs.c:280,1
    - Dst: copyFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - pss
    - dstPath
    - srcPath
    - offset
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: uploadFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 2
    functionsReached:
    - copyFile
    - taosDirName
    - taosMulMkDir
    - joinPath
    - TAOS_RETURN
    - tssError
    linkageType: ''
    returnType: int32_t
    signature: int32_t uploadFile(SSharedStorage* pss, const char* dstPath, const
      char* srcPath, int64_t offset, int64_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: joinPath
      Src: /src/tdengine/source/libs/tss/src/fs.c:291,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:294,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:297,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:298,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:301,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:303,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:304,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:305,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:308,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:312,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tss/src/fs.c:317,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - pss
    - srcPath
    - offset
    - buffer
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - int64_t
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 319
    functionName: readFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 4
    functionsReached:
    - taosCloseFile
    - taosReadFile
    - taosLSeekFile
    - joinPath
    - TAOS_RETURN
    - TAOS_UNUSED
    - taosOpenFile
    - tssError
    linkageType: ''
    returnType: int32_t
    signature: int32_t readFile(SSharedStorage* pss, const char* srcPath, int64_t
      offset, char* buffer, int64_t* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: joinPath
      Src: /src/tdengine/source/libs/tss/src/fs.c:328,1
    - Dst: copyFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pss
    - srcPath
    - dstPath
    - offset
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: downloadFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 2
    functionsReached:
    - joinPath
    - copyFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t downloadFile(SSharedStorage* pss, const char* srcPath, const
      char* dstPath, int64_t offset, int64_t size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:337,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:340,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:341,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/fs.c:344,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tss/src/fs.c:346,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:349,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/tss/src/fs.c:350,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tss/src/fs.c:352,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tss/src/fs.c:352,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tss/src/fs.c:356,1
    - Dst: taosDirEntryIsDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:358,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/fs.c:359,1
    - Dst: listFileInDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:364,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tss/src/fs.c:366,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/tss/src/fs.c:369,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/fs.c:371,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:380,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - dirPath
    - baseLen
    - res
    argTypes:
    - char*
    - size_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 386
    functionName: listFileInDir
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 1
    functionsReached:
    - taosGetDirEntryName
    - taosArrayPush
    - memcpy
    - taosReadDir
    - listFileInDir
    - tstrncpy
    - taosMemoryFree
    - TAOS_RETURN
    - taosStrdup
    - taosCloseDir
    - tssError
    - strlen
    - taosOpenDir
    - strcmp
    - taosDirEntryIsDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t listFileInDir(const char* dirPath, size_t baseLen, SArray*
      res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: joinPath
      Src: /src/tdengine/source/libs/tss/src/fs.c:394,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tss/src/fs.c:395,1
    - Dst: listFileInDir
      Src: /src/tdengine/source/libs/tss/src/fs.c:405,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:407,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/tss/src/fs.c:408,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tss/src/fs.c:409,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tss/src/fs.c:410,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/tss/src/fs.c:412,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pss
    - prefix
    - paths
    argTypes:
    - SSharedStorage*
    - char*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 417
    functionName: listFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 2
    functionsReached:
    - taosArrayGet
    - joinPath
    - taosMemoryFree
    - taosArrayGetSize
    - TAOS_RETURN
    - tssError
    - strlen
    - taosArrayClear
    - listFileInDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t listFile(SSharedStorage* pss, const char* prefix, SArray* paths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: joinPath
      Src: /src/tdengine/source/libs/tss/src/fs.c:426,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pss
    - path
    argTypes:
    - SSharedStorage*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: deleteFile
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 2
    functionsReached:
    - taosRemoveFile
    - joinPath
    linkageType: ''
    returnType: int32_t
    signature: int32_t deleteFile(SSharedStorage* pss, const char* path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: joinPath
      Src: /src/tdengine/source/libs/tss/src/fs.c:437,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/tss/src/fs.c:438,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tss/src/fs.c:440,1
    - Dst: tssError
      Src: /src/tdengine/source/libs/tss/src/fs.c:443,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:445,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tss/src/fs.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pss
    - path
    - size
    argTypes:
    - SSharedStorage*
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 449
    functionName: getFileSize
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 3
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosStatFile
    - joinPath
    - TAOS_RETURN
    - tssError
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFileSize(SSharedStorage* pss, const char* path, int64_t*
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createInstance
      Src: /src/tdengine/source/libs/tss/src/fs.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - as
    - ppSS
    argTypes:
    - char*
    - SSharedStorage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 480
    functionName: fsCreateInstance
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 0
    functionsReached:
    - createInstance
    linkageType: ''
    returnType: int32_t
    signature: int32_t fsCreateInstance(const char* as, SSharedStorage** ppSS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tssRegisterType
      Src: /src/tdengine/source/libs/tss/src/fs.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: fsRegisterType
    functionSourceFile: /src/tdengine/source/libs/tss/src/fs.c
    functionUses: 1
    functionsReached:
    - tssRegisterType
    linkageType: ''
    returnType: void
    signature: void fsRegisterType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: UNUSED
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 207
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:94,1
    - Dst: taos_connect
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:96,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:98,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:98,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:99,1
    - Dst: taos_cleanup
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:100,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:110,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:110,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:112,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:114,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:115,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:117,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:118,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:120,1
    - Dst: Sleep
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:122,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:124,1
    - Dst: usleep
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:124,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:127,1
    - Dst: taos_close
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 130
    functionName: prep_data
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - fprintf
    - taos_query
    - usleep
    - Sleep
    - taos_close
    - taos_connect
    - taos_free_result
    - taos_cleanup
    - snprintf
    - taos_errno
    - taos_errstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void * prep_data(void* arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:134,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:135,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:136,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:141,1
    - Dst: taos_num_fields
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:145,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:149,1
    - Dst: taos_print_row
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:153,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - msg
    argTypes:
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 161
    functionName: msg_process
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 2
    functionsReached:
    - taos_num_fields
    - tmq_get_db_name
    - taos_print_row
    - printf
    - taos_fetch_fields
    - tmq_get_topic_name
    - taos_fetch_row
    - tmq_get_vgroup_id
    linkageType: ''
    returnType: int32_t
    signature: int32_t msg_process(TAOS_RES* msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:170,1
    - Dst: taos_connect
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:172,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:174,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:174,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:175,1
    - Dst: taos_cleanup
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:176,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:182,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:184,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:185,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:187,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:187,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:190,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:192,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:194,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:195,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:197,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:197,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:200,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:203,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:205,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:206,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:208,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:208,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:211,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:214,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:216,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:217,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:219,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:219,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:222,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:227,1
    - Dst: taos_close
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 230
    functionName: init_env
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 1
    functionsReached:
    - fprintf
    - taos_query
    - taos_close
    - taos_connect
    - taos_free_result
    - taos_cleanup
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: TAOS
    signature: TAOS * init_env()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: deinit_env
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - taos_close
    linkageType: ''
    returnType: void
    signature: void deinit_env(TAOS* pConn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:241,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:245,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:246,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:247,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:248,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:248,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:251,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:253,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:254,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:256,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:256,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 261
    functionName: create_topics
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - fprintf
    - taos_query
    - taos_free_result
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: int32_t
    signature: int32_t create_topics(TAOS* pConn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:273,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:275,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:275,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:276,1
    - Dst: taos_cleanup
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:277,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:283,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:284,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:286,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:286,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:289,1
    - Dst: taos_close
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 295
    functionName: drop_topic_with_connect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - fprintf
    - taos_query
    - taos_close
    - taos_connect
    - taos_free_result
    - taos_cleanup
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: int32_t
    signature: int32_t drop_topic_with_connect(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:302,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:306,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:307,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:308,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:309,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:309,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:312,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:314,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:315,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:317,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:317,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 322
    functionName: drop_topic_without_connect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - fprintf
    - taos_query
    - taos_free_result
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: int32_t
    signature: int32_t drop_topic_without_connect(TAOS* pConn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tmq
    - code
    - param
    argTypes:
    - tmq_t*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: tmq_commit_cb_print
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tmq_commit_cb_print(tmq_t* tmq, int32_t code, void* param)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tmq_conf_new
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:334,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:337,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:339,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:342,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:344,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:347,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:349,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:352,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:354,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:357,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:359,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:362,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:364,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:367,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:369,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:372,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:374,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:377,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:379,1
    - Dst: tmq_conf_set_auto_commit_cb
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:384,1
    - Dst: tmq_consumer_new
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:386,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 1
    argNames:
    - config
    argTypes:
    - ConsumerConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 392
    functionName: build_consumer
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 1
    functionsReached:
    - tmq_conf_new
    - tmq_conf_set_auto_commit_cb
    - tmq_conf_destroy
    - tmq_conf_set
    - tmq_consumer_new
    linkageType: ''
    returnType: tmq_t
    signature: tmq_t * build_consumer(const ConsumerConfig* config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmq_list_new
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:397,1
    - Dst: tmq_list_append
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:400,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:403,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:404,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 411
    functionName: build_topic_list
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 1
    functionsReached:
    - fprintf
    - tmq_list_new
    - tmq_list_destroy
    - tmq_list_append
    - tmq_err2str
    linkageType: ''
    returnType: tmq_list_t
    signature: tmq_list_t * build_topic_list()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmq_consumer_poll
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:420,1
    - Dst: msg_process
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:425,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:428,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 438
    functionName: basic_consume_loop
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 2
    functionsReached:
    - taos_free_result
    - msg_process
    - tmq_consumer_poll
    - fprintf
    linkageType: ''
    returnType: void
    signature: void basic_consume_loop(tmq_t* tmq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_topic_assignment
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:445,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:447,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:448,1
    - Dst: tmq_offset_seek
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:456,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:458,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:460,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:464,1
    - Dst: tmq_free_assignment
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:467,1
    - Dst: basic_consume_loop
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 471
    functionName: consume_repeatly
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 1
    functionsReached:
    - fprintf
    - tmq_offset_seek
    - basic_consume_loop
    - tmq_free_assignment
    - tmq_get_topic_assignment
    - tmq_err2str
    linkageType: ''
    returnType: void
    signature: void consume_repeatly(tmq_t* tmq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tmq_consumer_poll
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:480,1
    - Dst: msg_process
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:484,1
    - Dst: tmq_commit_sync
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:486,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:488,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:490,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:492,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:495,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:498,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 508
    functionName: manual_commit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - fprintf
    - tmq_commit_sync
    - msg_process
    - tmq_consumer_poll
    - taos_free_result
    - tmq_err2str
    linkageType: ''
    returnType: void
    signature: void manual_commit(tmq_t* tmq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_env
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:511,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:513,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:517,1
    - Dst: create_topics
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:519,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:520,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:524,1
    - Dst: deinit_env
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 529
    functionName: topic_create
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - init_env
    - create_topics
    - fprintf
    - deinit_env
    linkageType: ''
    returnType: int
    signature: int topic_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:532,1
    - Dst: drop_topic_with_connect
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:534,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:535,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 542
    functionName: topic_drop
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - drop_topic_with_connect
    - fprintf
    linkageType: ''
    returnType: int
    signature: int topic_drop(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:547,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:548,1
    - Dst: pthread_join
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:553,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:555,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 560
    functionName: topic_prep
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - strerror
    - fprintf
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int topic_prep(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:570,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:574,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:575,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:576,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:577,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:577,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:580,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:582,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:583,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:585,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:585,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - TAOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 590
    functionName: drop_topic_without_connect_default
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - fprintf
    - taos_query
    - taos_free_result
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: int32_t
    signature: int32_t drop_topic_without_connect_default(TAOS* pConn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmq_list_new
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:594,1
    - Dst: tmq_list_append
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:597,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:600,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:601,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - topic_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 608
    functionName: build_topiclist
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - fprintf
    - tmq_list_new
    - tmq_list_destroy
    - tmq_list_append
    - tmq_err2str
    linkageType: ''
    returnType: tmq_list_t
    signature: tmq_list_t * build_topiclist(const char* topic_name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:618,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:620,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:624,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:625,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:626,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:631,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:632,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:633,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:639,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:640,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:641,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:646,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:647,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:648,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:652,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:654,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:655,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - topic_name
    - db_name
    - tbl_name
    - vid
    - ajson
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - cJSON**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 660
    functionName: tmq_ctx_do_topic
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - cJSON_AddArrayToObject
    - printf
    - cJSON_AddStringToObject
    - cJSON_Delete
    linkageType: ''
    returnType: cJSON
    signature: "cJSON * tmq_ctx_do_topic(const char* topic_name, const char* db_name,
      const char* tbl_name, int32_t vid,\n                               cJSON** ajson)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: GET_FLOAT_VAL
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_FLOAT_VAL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 669
    functionName: GET_DOUBLE_VAL
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_DOUBLE_VAL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 670
    functionName: varDataLen
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 93
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: varDataLen(v)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - symbol
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 711
    functionName: valueOf
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char valueOf(uint8_t symbol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:715,1
    - Dst: valueOf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:725,1
    - Dst: valueOf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - z
    - n
    - data
    - size
    argTypes:
    - char*
    - uint32_t
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 730
    functionName: taosAscii2Hex
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 4
    functionsReached:
    - calloc
    - valueOf
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAscii2Hex(const char* z, uint32_t n, void** data, uint32_t*
      size)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNullToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:737,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:746,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:751,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:756,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:761,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:766,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:771,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:776,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:782,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:787,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:792,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:794,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:799,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:801,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:808,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:809,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:813,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:814,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:818,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:822,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:826,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:831,1
    - Dst: calloc
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:836,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:840,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:843,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:844,1
    - Dst: free
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:847,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:854,1
    - Dst: doAsText
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:859,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:864,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:865,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:869,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:874,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:879,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 131
    argCount: 4
    argNames:
    - item
    - fields
    - field_count
    - row
    argTypes:
    - cJSON*
    - TAOS_FIELD*
    - int32_t
    - TAOS_ROW
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 887
    functionName: tmq_ctx_do_fields
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cJSON_AddNumberToObject
    - cJSON_AddBoolToObject
    - calloc
    - taosAscii2Hex
    - doAsText
    - geosFreeBuffer
    - varDataLen
    - printf
    - free
    - cJSON_AddStringToObject
    - GET_DOUBLE_VAL
    - cJSON_AddNullToObject
    - initCtxAsText
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int
    signature: int tmq_ctx_do_fields(cJSON* item, TAOS_FIELD* fields, int32_t field_count,
      TAOS_ROW row)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:894,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:897,1
    - Dst: tmq_get_table_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:898,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:899,1
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:901,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:902,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:903,1
    - Dst: tmq_ctx_do_topic
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:905,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:907,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:912,1
    - Dst: taos_num_fields
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:913,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:915,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:916,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:920,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:922,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:923,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:927,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:929,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:930,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:933,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:934,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:935,1
    - Dst: tmq_ctx_do_fields
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:939,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:941,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:942,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:949,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:951,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:952,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:955,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:957,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:958,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - msg
    argTypes:
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 961
    functionName: json_msg_process
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - taos_num_fields
    - cJSON_AddItemToArray
    - tmq_get_db_name
    - tmq_ctx_do_fields
    - tmq_ctx_do_topic
    - cJSON_Delete
    - cJSON_CreateObject
    - tmq_get_table_name
    - printf
    - taos_fetch_fields
    - cJSON_PrintUnformatted
    - tmq_get_topic_name
    - taos_fetch_row
    - cJSON_Parse
    - tmq_get_vgroup_id
    linkageType: ''
    returnType: int32_t
    signature: int32_t json_msg_process(TAOS_RES* msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmq_consumer_poll
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:970,1
    - Dst: json_msg_process
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:975,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:978,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:987,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 988
    functionName: json_consume_loop
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - taos_free_result
    - tmq_consumer_poll
    - fprintf
    - json_msg_process
    linkageType: ''
    returnType: void
    signature: void json_consume_loop(tmq_t* tmq)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:998,1
    - Dst: taos_connect
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1000,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1002,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1002,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1003,1
    - Dst: taos_cleanup
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1004,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1008,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1009,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1010,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1011,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1011,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1014,1
    - Dst: taos_query
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1018,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1019,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1021,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1021,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1024,1
    - Dst: build_consumer
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1030,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1032,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1036,1
    - Dst: build_topiclist
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1040,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1042,1
    - Dst: tmq_subscribe
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1047,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1048,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1050,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1052,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1055,1
    - Dst: clock
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1057,1
    - Dst: basic_consume_loop
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1059,1
    - Dst: json_consume_loop
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1061,1
    - Dst: clock
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1063,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1065,1
    - Dst: consume_repeatly
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1069,1
    - Dst: manual_commit
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1071,1
    - Dst: tmq_unsubscribe
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1074,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1076,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1078,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1080,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1084,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1086,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1087,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1089,1
    - Dst: drop_topic_without_connect_default
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1094,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1095,1
    - Dst: deinit_env
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1099,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 1102
    functionName: topic_consume
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 0
    functionsReached:
    - basic_consume_loop
    - tmq_consumer_close
    - tmq_list_destroy
    - deinit_env
    - taos_query
    - build_consumer
    - taos_free_result
    - taos_cleanup
    - drop_topic_without_connect_default
    - consume_repeatly
    - tmq_err2str
    - clock
    - tmq_subscribe
    - manual_commit
    - fprintf
    - json_consume_loop
    - build_topiclist
    - taos_connect
    - tmq_unsubscribe
    - taos_errno
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: int topic_consume(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1108,1
    - Dst: topic_create
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1109,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1110,1
    - Dst: topic_drop
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1111,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1112,1
    - Dst: topic_consume
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1113,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1114,1
    - Dst: topic_prep
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1115,1
    - Dst: init_env
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1121,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1123,1
    - Dst: create_topics
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1127,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1128,1
    - Dst: pthread_create
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1132,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1133,1
    - Dst: build_consumer
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1137,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1139,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1143,1
    - Dst: build_topic_list
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1147,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1149,1
    - Dst: tmq_subscribe
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1154,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1155,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1157,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1159,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1162,1
    - Dst: basic_consume_loop
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1164,1
    - Dst: tmq_unsubscribe
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1172,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1174,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1176,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1178,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1182,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1184,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1185,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1187,1
    - Dst: pthread_join
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1192,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1194,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1194,1
    - Dst: drop_topic_without_connect
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1198,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1199,1
    - Dst: deinit_env
      Src: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c:1203,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1206
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/tmqtt/tools/src/topic-producer.c
    functionUses: 2
    functionsReached:
    - init_env
    - topic_consume
    - topic_create
    - strerror
    - basic_consume_loop
    - tmq_consumer_close
    - tmq_list_destroy
    - strcmp
    - create_topics
    - deinit_env
    - build_consumer
    - topic_prep
    - topic_drop
    - tmq_err2str
    - tmq_subscribe
    - fprintf
    - tmq_unsubscribe
    - build_topic_list
    - pthread_create
    - drop_topic_without_connect
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: LDECLTYPE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: LDECLTYPE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: IF_NO_DECLTYPE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_NO_DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: LDECLTYPE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elt
    - ','
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: UTLIST_SV
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_SV(elt, list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: UTLIST_NEXT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXT(elt, list, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: UTLIST_NEXTASGN
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXTASGN(elt, list, to, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - prev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: UTLIST_PREVASGN
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_PREVASGN(elt, list, to, prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: UTLIST_RS
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_RS(list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: UTLIST_CASTASGN
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_CASTASGN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: UTLIST_NEXT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXT(elt, list, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: UTLIST_NEXTASGN
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXTASGN(elt, list, to, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - prev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: UTLIST_PREVASGN
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_PREVASGN(elt, list, to, prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: UTLIST_CASTASGN
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_CASTASGN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: LL_SORT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SORT(list, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 146
    functionName: LL_SORT2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SORT2(list, cmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: DL_SORT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_SORT(list, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 228
    functionName: DL_SORT2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_SORT2(list, cmp, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: CDL_SORT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SORT(list, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 329
    functionName: CDL_SORT2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SORT2(list, cmp, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: LL_PREPEND
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND(head, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: LL_PREPEND2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND2(head, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head1
    - ','
    - head2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: LL_CONCAT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_CONCAT(head1, head2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 356
    functionName: LL_CONCAT2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_CONCAT2(head1, head2, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: LL_APPEND
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND(head, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 373
    functionName: LL_APPEND2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND2(head, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: LL_INSERT_INORDER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_INSERT_INORDER(head, add, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 387
    functionName: LL_INSERT_INORDER2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_INSERT_INORDER2(head, add, cmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 389
    functionName: LL_LOWER_BOUND
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_LOWER_BOUND(head, elt, like, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 402
    functionName: LL_LOWER_BOUND2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_LOWER_BOUND2(head, elt, like, cmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - del
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: LL_DELETE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_DELETE(head, del)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 420
    functionName: LL_DELETE2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_DELETE2(head, del, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 422
    functionName: LL_COUNT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_COUNT(head, el, counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: LL_COUNT2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_COUNT2(head, el, counter, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 430
    functionName: LL_FOREACH
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH(head, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: LL_FOREACH2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH2(head, el, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: LL_FOREACH_SAFE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH_SAFE(head, el, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: LL_FOREACH_SAFE2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH_SAFE2(head, el, tmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: LL_SEARCH_SCALAR
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH_SCALAR(head, out, field, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: LL_SEARCH_SCALAR2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH_SCALAR2(head, out, field, val, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: LL_SEARCH
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH(head, out, elt, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 454
    functionName: LL_SEARCH2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH2(head, out, elt, cmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 472
    functionName: LL_REPLACE_ELEM2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_REPLACE_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 474
    functionName: LL_REPLACE_ELEM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_REPLACE_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 496
    functionName: LL_PREPEND_ELEM2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 498
    functionName: LL_PREPEND_ELEM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 508
    functionName: LL_APPEND_ELEM2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 510
    functionName: LL_APPEND_ELEM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 529
    functionName: LL_CONCAT2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_CONCAT2(head1, head2, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: LL_APPEND2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND2(head, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 561
    functionName: LL_INSERT_INORDER2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_INSERT_INORDER2(head, add, cmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 578
    functionName: LL_DELETE2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_DELETE2(head, del, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 595
    functionName: LL_REPLACE_ELEM2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_REPLACE_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 616
    functionName: LL_PREPEND_ELEM2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 623
    functionName: DL_PREPEND
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND(head, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 635
    functionName: DL_PREPEND2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND2(head, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: DL_APPEND
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND(head, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 651
    functionName: DL_APPEND2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND2(head, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: DL_INSERT_INORDER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_INSERT_INORDER(head, add, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 666
    functionName: DL_INSERT_INORDER2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_INSERT_INORDER2(head, add, cmp, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: DL_LOWER_BOUND
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_LOWER_BOUND(head, elt, like, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 681
    functionName: DL_LOWER_BOUND2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_LOWER_BOUND2(head, elt, like, cmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head1
    - ','
    - head2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 683
    functionName: DL_CONCAT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_CONCAT(head1, head2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 698
    functionName: DL_CONCAT2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_CONCAT2(head1, head2, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - del
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 700
    functionName: DL_DELETE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_DELETE(head, del)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 717
    functionName: DL_DELETE2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_DELETE2(head, del, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 719
    functionName: DL_COUNT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_COUNT(head, el, counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 725
    functionName: DL_COUNT2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_COUNT2(head, el, counter, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 727
    functionName: DL_FOREACH
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH(head, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 729
    functionName: DL_FOREACH2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH2(head, el, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 732
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH_SAFE(head, el, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 734
    functionName: DL_FOREACH_SAFE2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH_SAFE2(head, el, tmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 763
    functionName: DL_REPLACE_ELEM2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_REPLACE_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 765
    functionName: DL_REPLACE_ELEM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_REPLACE_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 781
    functionName: DL_PREPEND_ELEM2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 783
    functionName: DL_PREPEND_ELEM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 799
    functionName: DL_APPEND_ELEM2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 801
    functionName: DL_APPEND_ELEM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 833
    functionName: DL_INSERT_INORDER2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_INSERT_INORDER2(head, add, cmp, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 839
    functionName: CDL_APPEND
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND(head, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 853
    functionName: CDL_APPEND2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND2(head, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 855
    functionName: CDL_PREPEND
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND(head, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 869
    functionName: CDL_PREPEND2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND2(head, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 871
    functionName: CDL_INSERT_INORDER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_INSERT_INORDER(head, add, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 884
    functionName: CDL_INSERT_INORDER2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_INSERT_INORDER2(head, add, cmp, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 886
    functionName: CDL_LOWER_BOUND
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_LOWER_BOUND(head, elt, like, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 899
    functionName: CDL_LOWER_BOUND2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_LOWER_BOUND2(head, elt, like, cmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - del
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 901
    functionName: CDL_DELETE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_DELETE(head, del)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 912
    functionName: CDL_DELETE2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_DELETE2(head, del, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 914
    functionName: CDL_COUNT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_COUNT(head, el, counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 920
    functionName: CDL_COUNT2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_COUNT2(head, el, counter, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 922
    functionName: CDL_FOREACH
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH(head, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 924
    functionName: CDL_FOREACH2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH2(head, el, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp1
    - ','
    - tmp2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 926
    functionName: CDL_FOREACH_SAFE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH_SAFE(head, el, tmp1, tmp2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp1
    - ','
    - tmp2
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 930
    functionName: CDL_FOREACH_SAFE2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH_SAFE2(head, el, tmp1, tmp2, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 932
    functionName: CDL_SEARCH_SCALAR
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH_SCALAR(head, out, field, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: CDL_SEARCH_SCALAR2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH_SCALAR2(head, out, field, val, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 941
    functionName: CDL_SEARCH
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH(head, out, elt, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 948
    functionName: CDL_SEARCH2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH2(head, out, elt, cmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 965
    functionName: CDL_REPLACE_ELEM2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_REPLACE_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 967
    functionName: CDL_REPLACE_ELEM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_REPLACE_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 982
    functionName: CDL_PREPEND_ELEM2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 984
    functionName: CDL_PREPEND_ELEM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 996
    functionName: CDL_APPEND_ELEM2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 998
    functionName: CDL_APPEND_ELEM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1027
    functionName: CDL_INSERT_INORDER2
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_INSERT_INORDER2(head, add, cmp, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: DECLTYPE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: DECLTYPE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: DECLTYPE_ASSIGN
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE_ASSIGN(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: DECLTYPE_ASSIGN
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE_ASSIGN(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: uthash_malloc
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_malloc(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: uthash_free
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_free(ptr, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: uthash_bzero
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_bzero(a, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: uthash_strlen
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_strlen(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: uthash_memcmp
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_memcmp(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: HASH_KEYCMP
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_KEYCMP(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: uthash_nonfatal_oom
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_nonfatal_oom(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: HASH_RECORD_OOM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_RECORD_OOM(oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: IF_HASH_NONFATAL_OOM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_HASH_NONFATAL_OOM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: uthash_fatal
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_fatal(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: HASH_RECORD_OOM
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_RECORD_OOM(oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hhp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: ELMT_FROM_HH
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELMT_FROM_HH(tbl, hhp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - elp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: HH_FROM_ELMT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HH_FROM_ELMT(tbl, elp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - itemptrhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: HASH_ROLLBACK_BKT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ROLLBACK_BKT(hh, head, itemptrhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - keyptr
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: HASH_VALUE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_VALUE(keyptr, keylen, hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen
    - ','
    - hashval
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: HASH_FIND_BYHASHVALUE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_BYHASHVALUE(hh, head, keyptr, keylen, hashval, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: HASH_FIND
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND(hh, head, keyptr, keylen, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: HASH_BLOOM_MAKE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_MAKE(tbl, oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: HASH_BLOOM_FREE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_FREE(tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bv
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: HASH_BLOOM_BITSET
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_BITSET(bv, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bv
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: HASH_BLOOM_BITTEST
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_BITTEST(bv, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: HASH_BLOOM_ADD
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_ADD(tbl, hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: HASH_BLOOM_TEST
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_TEST(tbl, hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: HASH_BLOOM_TEST
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_TEST(tbl, hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 216
    functionName: HASH_MAKE_TABLE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MAKE_TABLE(hh, head, oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - replaced
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: HASH_REPLACE_BYHASHVALUE_INORDER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_BYHASHVALUE_INORDER(hh, head, fieldname, keylen_in, hashval,
      add, replaced, cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: HASH_REPLACE_BYHASHVALUE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_BYHASHVALUE(hh, head, fieldname, keylen_in, hashval, add,
      replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: HASH_REPLACE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE(hh, head, fieldname, keylen_in, add, replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - replaced
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: HASH_REPLACE_INORDER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_INORDER(hh, head, fieldname, keylen_in, add, replaced,
      cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: HASH_APPEND_LIST
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_APPEND_LIST(hh, head, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: HASH_AKBI_INNER_LOOP
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_AKBI_INNER_LOOP(hh, head, add, cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: HASH_AKBI_INNER_LOOP
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_AKBI_INNER_LOOP(hh, head, add, cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: HASH_ADD_TO_TABLE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_TABLE(hh, head, keyptr, keylen_in, hashval, add, oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: HASH_ADD_TO_TABLE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_TABLE(hh, head, keyptr, keylen_in, hashval, add, oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 355
    functionName: HASH_ADD_KEYPTR_BYHASHVALUE_INORDER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh, head, keyptr, keylen_in, hashval,
      add, cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: HASH_ADD_KEYPTR_INORDER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_INORDER(hh, head, keyptr, keylen_in, add, cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: HASH_ADD_BYHASHVALUE_INORDER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_BYHASHVALUE_INORDER(hh, head, fieldname, keylen_in, hashval,
      add, cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: HASH_ADD_INORDER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_INORDER(hh, head, fieldname, keylen_in, add, cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 390
    functionName: HASH_ADD_KEYPTR_BYHASHVALUE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, keyptr, keylen_in, hashval, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: HASH_ADD_KEYPTR
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR(hh, head, keyptr, keylen_in, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: HASH_ADD_BYHASHVALUE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_BYHASHVALUE(hh, head, fieldname, keylen_in, hashval, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: HASH_ADD
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD(hh, head, fieldname, keylen_in, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hashv
    - ','
    - num_bkts
    - ','
    - bkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: HASH_TO_BKT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_TO_BKT(hashv, num_bkts, bkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - delptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 421
    functionName: HASH_DELETE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DELETE(hh, head, delptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - delptrhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 449
    functionName: HASH_DELETE_HH
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DELETE_HH(hh, head, delptrhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findstr
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionName: HASH_FIND_STR
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_STR(head, findstr, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - strfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 461
    functionName: HASH_ADD_STR
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_STR(head, strfield, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - strfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: HASH_REPLACE_STR
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_STR(head, strfield, add, replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findint
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    functionName: HASH_FIND_INT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_INT(head, findint, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - intfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 468
    functionName: HASH_ADD_INT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_INT(head, intfield, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - intfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    functionName: HASH_REPLACE_INT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_INT(head, intfield, add, replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findptr
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: HASH_FIND_PTR
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_PTR(head, findptr, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - ptrfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 471
    functionName: HASH_ADD_PTR
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_PTR(head, ptrfield, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - ptrfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 472
    functionName: HASH_REPLACE_PTR
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_PTR(head, ptrfield, add, replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - delptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 473
    functionName: HASH_DEL
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DEL(head, delptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: HASH_OOPS
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OOPS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - where
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 527
    functionName: HASH_FSCK
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FSCK(hh, head, where)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - fieldlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: HASH_EMIT_KEY
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_EMIT_KEY(hh, head, keyptr, fieldlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 562
    functionName: HASH_BER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BER(key, keylen, hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 574
    functionName: HASH_SAX
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SAX(key, keylen, hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 585
    functionName: HASH_FNV
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FNV(key, keylen, hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 600
    functionName: HASH_OAT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OAT(key, keylen, hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 631
    functionName: HASH_JEN_MIX
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_JEN_MIX(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 655
    functionName: HASH_JEN
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_JEN(key, keylen, hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 685
    functionName: get16bits
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get16bits(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 689
    functionName: get16bits
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get16bits(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 699
    functionName: HASH_SFH
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SFH(key, keylen, hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 748
    functionName: MUR_GETBLOCK
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_GETBLOCK(p, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 750
    functionName: MUR_PLUS0_ALIGNED
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_PLUS0_ALIGNED(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 751
    functionName: MUR_PLUS1_ALIGNED
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_PLUS1_ALIGNED(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 752
    functionName: MUR_PLUS2_ALIGNED
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_PLUS2_ALIGNED(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 753
    functionName: MUR_PLUS3_ALIGNED
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_PLUS3_ALIGNED(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 754
    functionName: WP
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WP(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 756
    functionName: MUR_THREE_ONE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_THREE_ONE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 757
    functionName: MUR_TWO_TWO
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_TWO_TWO(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 758
    functionName: MUR_ONE_THREE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_ONE_THREE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 760
    functionName: MUR_THREE_ONE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_THREE_ONE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 761
    functionName: MUR_TWO_TWO
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_TWO_TWO(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 762
    functionName: MUR_ONE_THREE
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_ONE_THREE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: MUR_GETBLOCK
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_GETBLOCK(p, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 769
    functionName: MUR_ROTL32
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_ROTL32(x, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 777
    functionName: MUR_FMIX
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_FMIX(_h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 805
    functionName: HASH_MUR
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MUR(key, keylen, hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - tbl
    - ','
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 842
    functionName: HASH_FIND_IN_BKT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_IN_BKT(tbl, hh, head, keyptr, keylen_in, hashval, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - hh
    - ','
    - addhh
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 859
    functionName: HASH_ADD_TO_BKT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_BKT(head, hh, addhh, oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - delhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 875
    functionName: HASH_DEL_IN_BKT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DEL_IN_BKT(head, delhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - tbl
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 952
    functionName: HASH_EXPAND_BUCKETS
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_EXPAND_BUCKETS(hh, tbl, oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 957
    functionName: HASH_SORT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SORT(head, cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 1031
    functionName: HASH_SRT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SRT(hh, head, cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh_dst
    - ','
    - dst
    - ','
    - hh_src
    - ','
    - src
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1088
    functionName: HASH_SELECT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SELECT(hh_dst, dst, hh_src, src, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1098
    functionName: HASH_CLEAR
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_CLEAR(hh, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1104
    functionName: HASH_OVERHEAD
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OVERHEAD(hh, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: HASH_ITER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ITER(hh, head, el, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1113
    functionName: HASH_ITER
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ITER(hh, head, el, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1117
    functionName: HASH_COUNT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_COUNT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1118
    functionName: HASH_CNT
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/tthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_CNT(hh, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: G_BYTES_RECEIVED_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_BYTES_RECEIVED_INC(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: G_BYTES_SENT_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_BYTES_SENT_INC(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: G_PUB_BYTES_RECEIVED_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_PUB_BYTES_RECEIVED_INC(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: G_PUB_BYTES_SENT_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_PUB_BYTES_SENT_INC(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: G_MSGS_RECEIVED_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_MSGS_RECEIVED_INC(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: G_MSGS_SENT_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_MSGS_SENT_INC(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: G_PUB_MSGS_RECEIVED_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_PUB_MSGS_RECEIVED_INC(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: G_PUB_MSGS_SENT_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_PUB_MSGS_SENT_INC(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: G_MSGS_DROPPED_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_MSGS_DROPPED_INC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: G_CLIENTS_EXPIRED_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_CLIENTS_EXPIRED_INC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: G_SOCKET_CONNECTIONS_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_SOCKET_CONNECTIONS_INC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: G_CONNECTION_COUNT_INC
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/inc/ttqSystree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_CONNECTION_COUNT_INC()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:37,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:46,1
    - Dst: taos_errno
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:46,1
    - Dst: taos_errstr
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - context
    - username
    - password
    argTypes:
    - struct tmq_ctx*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: tmq_ctx_auth
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - taos_errstr
    - taos_connect
    - taos_errno
    - bndError
    linkageType: ''
    returnType: bool
    signature: bool tmq_ctx_auth(struct tmq_ctx* context, const char* username, const
      char* password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tmq
    - code
    - param
    argTypes:
    - tmq_t*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: tmq_ctx_commit_cb_print
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tmq_ctx_commit_cb_print(tmq_t* tmq, int32_t code, void* param)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tmq_conf_new
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:77,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:80,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:82,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:85,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:87,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:90,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:92,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:95,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:97,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:100,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:102,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:105,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:107,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:110,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:112,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:115,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:117,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:120,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:122,1
    - Dst: tmq_conf_set_auto_commit_cb
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:126,1
    - Dst: tmq_consumer_new
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:128,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 1
    argNames:
    - config
    argTypes:
    - ConsumerConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 134
    functionName: tmq_ctx_build_consumer
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_conf_new
    - tmq_conf_set_auto_commit_cb
    - tmq_conf_destroy
    - tmq_conf_set
    - tmq_consumer_new
    linkageType: ''
    returnType: tmq_t
    signature: tmq_t * tmq_ctx_build_consumer(const ConsumerConfig* config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tmq_ctx_build_consumer
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:138,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:140,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - context
    - cid
    - config
    argTypes:
    - struct tmq_ctx*
    - char*
    - ConsumerConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 162
    functionName: tmq_ctx_init_consumer
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_ctx_build_consumer
    - ttq_strdup
    - bndError
    linkageType: ''
    returnType: bool
    signature: bool tmq_ctx_init_consumer(struct tmq_ctx* context, const char* cid,
      ConsumerConfig* config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tmq_list_new
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:170,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:172,1
    - Dst: tmq_list_append
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:177,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:180,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:182,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:183,1
    - Dst: tmq_list_get_size
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:188,1
    - Dst: tmq_list_to_c_array
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:189,1
    - Dst: tmq_list_append
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:192,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:194,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:196,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - context
    - topic_name
    - config
    argTypes:
    - struct tmq_ctx*
    - char*
    - ConsumerConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 204
    functionName: tmq_ctx_append_topic
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_list_get_size
    - tmq_list_new
    - tmq_list_to_c_array
    - tmq_list_destroy
    - bndError
    - tmq_list_append
    - tmq_err2str
    linkageType: ''
    returnType: tmq_list_t
    signature: tmq_list_t * tmq_ctx_append_topic(struct tmq_ctx* context, const char*
      topic_name, ConsumerConfig* config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tmq_list_new
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:212,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:214,1
    - Dst: tmq_list_get_size
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:220,1
    - Dst: tmq_list_to_c_array
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:221,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:224,1
    - Dst: tmq_list_append
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:228,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:230,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:232,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - context
    - topic_name
    argTypes:
    - struct tmq_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 239
    functionName: tmq_ctx_remove_topic
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_list_get_size
    - tmq_list_new
    - tmq_list_to_c_array
    - tmq_list_destroy
    - bndError
    - tmq_list_append
    - tmq_err2str
    - strcmp
    linkageType: ''
    returnType: tmq_list_t
    signature: tmq_list_t * tmq_ctx_remove_topic(struct tmq_ctx* context, const char*
      topic_name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:249,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:249,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:251,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:251,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:252,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:252,1
    - Dst: tmq_ctx_init_consumer
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:264,1
    - Dst: tmq_ctx_append_topic
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:269,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:271,1
    - Dst: tmq_subscribe
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:277,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:278,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:279,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:281,1
    - Dst: tmq_list_get_size
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:284,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:285,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:286,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:293,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:296,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:301,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:301,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:306,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:308,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:310,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:313,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:315,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:316,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:317,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:323,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:323,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 7
    argNames:
    - context
    - topic_name
    - cid
    - sn
    - earliest
    - proto_id
    - qos
    argTypes:
    - struct tmq_ctx*
    - char*
    - char*
    - char*
    - bool
    - tmq_proto_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 327
    functionName: tmq_ctx_topic_exists
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_subscribe
    - tmq_list_get_size
    - tmq_err2str
    - tmq_consumer_close
    - HASH_ADD_KEYPTR
    - ttq_free
    - tmq_ctx_init_consumer
    - bndInfo
    - snprintf
    - tmq_list_destroy
    - ttq_strdup
    - bndError
    - taosMemoryCalloc
    - tmq_ctx_append_topic
    - strlen
    - UNUSED
    - HASH_FIND
    linkageType: ''
    returnType: bool
    signature: "bool tmq_ctx_topic_exists(struct tmq_ctx* context, const char* topic_name,
      const char* cid, const char* sn,\n                          bool earliest, tmq_proto_t
      proto_id, uint8_t qos)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:337,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:339,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:340,1
    - Dst: tmq_ctx_init_consumer
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:352,1
    - Dst: tmq_commit_sync
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:356,1
    - Dst: tmq_list_get_size
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:358,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:359,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:360,1
    - Dst: tmq_ctx_remove_topic
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:368,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:370,1
    - Dst: tmq_subscribe
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:375,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:376,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:376,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:378,1
    - Dst: tmq_list_get_size
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:380,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:381,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:382,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:389,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:392,1
    - Dst: tmq_list_get_size
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:396,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:397,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:398,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:403,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:403,1
    - Dst: HASH_DELETE
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:405,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:407,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:408,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - context
    - topic_name
    - cid
    - sn
    argTypes:
    - struct tmq_ctx*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 412
    functionName: tmq_ctx_unsub_topic
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_subscribe
    - tmq_list_get_size
    - HASH_DELETE
    - tmq_consumer_close
    - tmq_commit_sync
    - tmq_ctx_init_consumer
    - tmq_ctx_remove_topic
    - bndInfo
    - snprintf
    - tmq_list_destroy
    - bndError
    - ttq_free
    - strlen
    - tmq_err2str
    - HASH_FIND
    linkageType: ''
    returnType: bool
    signature: bool tmq_ctx_unsub_topic(struct tmq_ctx* context, const char* topic_name,
      const char* cid, const char* sn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:418,1
    - Dst: HASH_ITER
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:425,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:426,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:427,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:433,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:438,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmq_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 446
    functionName: tmq_ctx_cleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_consumer_close
    - taos_close
    - HASH_ITER
    - tmq_list_destroy
    - ttq_free
    linkageType: ''
    returnType: void
    signature: void tmq_ctx_cleanup(struct tmq_ctx* context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ttq_malloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:456,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:462,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:464,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:470,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:472,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:473,1
    - Dst: DL_APPEND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:482,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 7
    argNames:
    - clientid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - char*
    - char*
    - int
    - void*
    - int
    - bool
    - tmqtt_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 485
    functionName: ttq_broker_publish
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - ttq_malloc
    - ttq_strdup
    - DL_APPEND
    linkageType: ''
    returnType: int
    signature: "int ttq_broker_publish(const char* clientid, const char* topic, int
      payloadlen, void* payload, int qos,\n                              bool retain,
      tmqtt_property* properties)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:495,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:497,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:501,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:502,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:503,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:508,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:509,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:510,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:516,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:517,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:518,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:523,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:524,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:525,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:529,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:531,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:532,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - topic_name
    - db_name
    - tbl_name
    - vid
    - ajson
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - cJSON**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 537
    functionName: tmq_ctx_do_topic
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 1
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - cJSON_AddArrayToObject
    - cJSON_AddStringToObject
    - bndError
    - cJSON_Delete
    linkageType: ''
    returnType: cJSON
    signature: "cJSON * tmq_ctx_do_topic(const char* topic_name, const char* db_name,
      const char* tbl_name, int32_t vid,\n                               cJSON** ajson)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNullToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:544,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:553,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:558,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:563,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:568,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:573,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:578,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:583,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:589,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:594,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:599,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:601,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:606,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:608,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:615,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:616,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:620,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:621,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:625,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:629,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:633,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:638,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:643,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:647,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:650,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:651,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:654,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:660,1
    - Dst: doAsText
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:665,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:670,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:671,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:675,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:679,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:684,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 131
    argCount: 4
    argNames:
    - item
    - fields
    - field_count
    - row
    argTypes:
    - cJSON*
    - TAOS_FIELD*
    - int32_t
    - TAOS_ROW
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 692
    functionName: tmq_ctx_do_fields
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 1
    functionsReached:
    - memcpy
    - cJSON_AddNumberToObject
    - cJSON_AddBoolToObject
    - taosAscii2Hex
    - doAsText
    - geosFreeBuffer
    - varDataLen
    - cJSON_AddStringToObject
    - GET_DOUBLE_VAL
    - taosMemoryFree
    - bndError
    - taosMemoryCalloc
    - cJSON_AddNullToObject
    - initCtxAsText
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int
    signature: int tmq_ctx_do_fields(cJSON* item, TAOS_FIELD* fields, int32_t field_count,
      TAOS_ROW row)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tmqtt_property_add_int32
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:700,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:702,1
    - Dst: tmqtt_property_add_byte
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:707,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:709,1
    - Dst: tmqtt_property_add_string
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:714,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - props
    argTypes:
    - tmqtt_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 722
    functionName: tmq_ctx_do_props
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmqtt_property_add_string
    - tmqtt_property_add_byte
    - tmqtt_property_add_int32
    - bndError
    linkageType: ''
    returnType: int
    signature: int tmq_ctx_do_props(tmqtt_property** props)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:729,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:732,1
    - Dst: tmq_get_table_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:733,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:734,1
    - Dst: tmq_ctx_do_topic
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:736,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:738,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:743,1
    - Dst: taos_num_fields
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:744,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:746,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:747,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:751,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:753,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:754,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:758,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:760,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:761,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:764,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:765,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:766,1
    - Dst: tmq_ctx_do_fields
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:770,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:772,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:773,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:780,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:782,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:783,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:786,1
    - Dst: tmq_ctx_do_props
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:790,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:792,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:793,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:799,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:802,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:802,1
    - Dst: ttq_broker_publish
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:808,1
    - Dst: ttq_broker_publish
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:810,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:813,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:814,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 2
    argNames:
    - ctxt
    - msg
    argTypes:
    - struct tmqtt*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 816
    functionName: tmq_ctx_do_msg
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_ctx_do_fields
    - cJSON_CreateObject
    - tmq_ctx_do_props
    - bndError
    - tmq_get_vgroup_id
    - tmq_ctx_do_topic
    - ttq_broker_publish
    - cJSON_PrintUnformatted
    - taos_fetch_fields
    - taos_fetch_row
    - HASH_FIND
    - taos_num_fields
    - cJSON_AddItemToArray
    - tmq_get_db_name
    - tmq_get_table_name
    - tmq_get_topic_name
    - ttq_free
    - strlen
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void tmq_ctx_do_msg(struct tmqtt* ctxt, TAOS_RES* msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:820,1
    - Dst: tmq_get_json_meta
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:823,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:825,1
    - Dst: tmq_ctx_do_props
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:831,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:833,1
    - Dst: tmq_free_json_meta
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:834,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:840,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:843,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:843,1
    - Dst: ttq_broker_publish
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:848,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:850,1
    - Dst: tmq_free_json_meta
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ctxt
    - msg
    argTypes:
    - struct tmqtt*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 853
    functionName: tmq_ctx_do_msg_meta
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_free_json_meta
    - ttq_broker_publish
    - tmq_get_json_meta
    - tmq_ctx_do_props
    - bndError
    - tmq_get_topic_name
    - strlen
    - HASH_FIND
    linkageType: ''
    returnType: void
    signature: void tmq_ctx_do_msg_meta(struct tmqtt* ctxt, TAOS_RES* msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_res_type
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:856,1
    - Dst: tmq_ctx_do_msg
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:858,1
    - Dst: tmq_ctx_do_msg_meta
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctxt
    - msg
    argTypes:
    - struct tmqtt*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 855
    functionDepth: 3
    functionLinenumber: 855
    functionLinenumberEnd: 864
    functionName: tmq_ctx_msg_to_json
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_get_res_type
    - tmq_ctx_do_msg_meta
    - tmq_ctx_do_msg
    linkageType: ''
    returnType: void
    signature: void tmq_ctx_msg_to_json(struct tmqtt* ctxt, TAOS_RES* msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tmqtt_property_add_int32
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:872,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:874,1
    - Dst: tmqtt_property_add_byte
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:879,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:881,1
    - Dst: tmqtt_property_add_string
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:886,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - props
    argTypes:
    - tmqtt_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 894
    functionName: tmq_ctx_rawb_props
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmqtt_property_add_string
    - tmqtt_property_add_byte
    - tmqtt_property_add_int32
    - bndError
    linkageType: ''
    returnType: int
    signature: int tmq_ctx_rawb_props(tmqtt_property** props)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:902,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:903,1
    - Dst: tmq_get_table_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:904,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:905,1
    - Dst: taos_fetch_raw_block
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:911,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:913,1
    - Dst: tmq_err2str
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:914,1
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:925,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:934,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:938,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:939,1
    - Dst: tmq_ctx_rawb_props
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:946,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:948,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:949,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:957,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:957,1
    - Dst: ttq_broker_publish
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:962,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:964,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - ctxt
    - msg
    argTypes:
    - struct tmqtt*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 967
    functionName: tmq_ctx_rawb_pub
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - memcpy
    - tmq_get_db_name
    - tmq_ctx_rawb_props
    - ttq_broker_publish
    - taos_fetch_raw_block
    - tmq_get_table_name
    - ttq_realloc
    - bndError
    - tmq_get_topic_name
    - ttq_free
    - strlen
    - tmq_err2str
    - HASH_FIND
    - tmq_get_vgroup_id
    linkageType: ''
    returnType: void
    signature: void tmq_ctx_rawb_pub(struct tmqtt* ctxt, TAOS_RES* msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_res_type
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:970,1
    - Dst: tmq_ctx_rawb_pub
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:972,1
    - Dst: tmq_ctx_do_msg_meta
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctxt
    - msg
    argTypes:
    - struct tmqtt*
    - TAOS_RES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 969
    functionDepth: 3
    functionLinenumber: 969
    functionLinenumberEnd: 978
    functionName: tmq_ctx_msg_to_rawb
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_get_res_type
    - tmq_ctx_do_msg_meta
    - tmq_ctx_rawb_pub
    linkageType: ''
    returnType: void
    signature: void tmq_ctx_msg_to_rawb(struct tmqtt* ctxt, TAOS_RES* msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tmq_consumer_poll
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:985,1
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:992,1
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:994,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:994,1
    - Dst: tmq_ctx_msg_to_json
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:1002,1
    - Dst: tmq_ctx_msg_to_rawb
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:1004,1
    - Dst: taos_free_result
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:1008,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ctxt
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 980
    functionDepth: 4
    functionLinenumber: 980
    functionLinenumberEnd: 1010
    functionName: tmq_ctx_poll_single
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - tmq_ctx_msg_to_json
    - tmq_consumer_poll
    - tmq_ctx_msg_to_rawb
    - taos_free_result
    - tmq_get_topic_name
    - strlen
    - HASH_FIND
    linkageType: ''
    returnType: void
    signature: void tmq_ctx_poll_single(struct tmqtt* ctxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:1016,1
    - Dst: tmq_ctx_poll_single
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c:1019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1012
    functionDepth: 5
    functionLinenumber: 1012
    functionLinenumberEnd: 1022
    functionName: tmq_ctx_poll_msgs
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttCtx.c
    functionUses: 0
    functionsReached:
    - HASH_ITER
    - tmq_ctx_poll_single
    linkageType: ''
    returnType: void
    signature: void tmq_ctx_poll_msgs(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:123,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:127,1
    - Dst: updateEpSet_s
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:128,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:133,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:133,1
    - Dst: tDeserializeSConnectRsp
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:140,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:141,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:145,1
    - Dst: abs
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:146,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:157,1
    - Dst: updateEpSet_s
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:158,1
    - Dst: tDeserializeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:163,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:164,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:168,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:176,1
    - Dst: tFreeSFuncInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:183,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:184,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:185,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:189,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:190,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 192
    functionName: mqttdProcessRpcRsp
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - updateEpSet_s
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - tDeserializeSRetrieveFuncRsp
    - tDeserializeSConnectRsp
    - uv_sem_post
    - isEpsetEqual
    - taosGetTimestampSec
    - bndError
    - tstrerror
    - abs
    - taosArrayDestroy
    - tFreeSFuncInfo
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void mqttdProcessRpcRsp(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:195,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:198,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:199,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:200,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:204,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:206,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:209,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:210,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:211,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:212,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:215,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:217,1
    - Dst: uv_sem_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:223,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:224,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:233,1
    - Dst: uv_sem_wait
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:235,1
    - Dst: uv_sem_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:236,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 3
    argNames:
    - clientRpc
    - mqttName
    - mqtt
    argTypes:
    - void*
    - char*
    - SMqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 194
    functionDepth: 6
    functionLinenumber: 194
    functionLinenumberEnd: 241
    functionName: mqttdFillMqttInfoFromMNode
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_sem_init
    - taosArrayPush
    - rpcMallocCont
    - TAOS_MQTT_MGMT_CHECK_PTR_RCODE
    - tSerializeSRetrieveFuncReq
    - rpcSendRequest
    - taosMemoryFree
    - uv_sem_destroy
    - taosArrayInit
    - uv_sem_wait
    - taosArrayDestroy
    - taosMemoryCalloc
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t mqttdFillMqttInfoFromMNode(void *clientRpc, char *mqttName,
      SMqtt *mqtt)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 2
    argNames:
    - code
    - msgType
    argTypes:
    - int32_t
    - tmsg_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: mqttdRpcRfp
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mqttdRpcRfp(int32_t code, tmsg_t msgType)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:266,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:271,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:281,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:286,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - firstEp
    - secondEp
    - pEpSet
    argTypes:
    - char*
    - char*
    - SCorEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 300
    functionName: initEpSetFromCfg
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosGetFqdnPortFromEp
    - bndError
    linkageType: ''
    returnType: int
    signature: int initEpSetFromCfg(const char *firstEp, const char *secondEp, SCorEpSet
      *pEpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:316,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:317,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:320,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:320,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:322,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:322,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:323,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:323,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:324,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:324,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:325,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:325,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:326,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:326,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:328,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 334
    functionName: mqttdOpenClientRpc
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosVersionStrToInt
    - TAOS_CHECK_RETURN
    - TMAX
    - TMIN
    - rpcOpen
    - bndError
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t mqttdOpenClientRpc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:337,1
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:338,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: mqttdCloseClientRpc
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - rpcClose
    - bndInfo
    linkageType: ''
    returnType: void
    signature: void mqttdCloseClientRpc()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:343,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:346,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:346,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:356,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:359,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:360,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 362
    functionName: mqttdOnWrite
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_err_name
    - taosMemoryFree
    - bndError
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void mqttdOnWrite(uv_write_t *req, int status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:365,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:369,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:371,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:372,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:376,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:378,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:378,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:379,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - work
    - status
    argTypes:
    - uv_work_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 383
    functionName: mqttdSendResponse
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - uv_strerror
    - uv_write
    - taosMemoryFree
    - bndError
    linkageType: ''
    returnType: void
    signature: void mqttdSendResponse(uv_work_t *work, int status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:386,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:390,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:399,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:408,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - handle
    - suggestedSize
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 419
    functionName: mqttdAllocBuffer
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryRealloc
    - bndError
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void mqttdAllocBuffer(uv_handle_t *handle, size_t suggestedSize, uv_buf_t
      *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:423,1
    - Dst: bndDebug
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - SMqttdUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: isMqttdUvMsgComplete
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - bndDebug
    - bndError
    linkageType: ''
    returnType: bool
    signature: bool isMqttdUvMsgComplete(SMqttdUvConn *pipe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:436,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:444,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:445,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 447
    functionName: mqttdPipeCloseCb
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void mqttdPipeCloseCb(uv_handle_t *pipe)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:450,1
    - Dst: bndDebug
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:451,1
    - Dst: isMqttdUvMsgComplete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:458,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:468,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:470,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - client
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 473
    functionName: mqttdPipeRead
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - bndDebug
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - bndInfo
    - bndError
    - isMqttdUvMsgComplete
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void mqttdPipeRead(uv_stream_t *client, ssize_t nread, const uv_buf_t
      *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:476,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:478,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:478,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:483,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:485,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:488,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:490,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:490,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:491,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:494,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:495,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:497,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:507,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:509,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:509,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:510,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:511,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:516,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:517,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - server
    - status
    argTypes:
    - uv_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 518
    functionName: mqttdOnNewConnection
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_pipe_init
    - taosMemoryMalloc
    - uv_accept
    - uv_close
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - uv_strerror
    - taosMemoryFree
    - bndError
    - uv_read_start
    linkageType: ''
    returnType: void
    signature: void mqttdOnNewConnection(uv_stream_t *server, int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:521,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:522,1
    - Dst: uv_fs_unlink
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:524,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:526,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:526,1
    - Dst: uv_signal_stop
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:528,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:530,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:530,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - signum
    argTypes:
    - uv_signal_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 533
    functionName: mqttdIntrSignalHandler
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - uv_stop
    - uv_strerror
    - bndInfo
    - uv_fs_unlink
    - uv_signal_stop
    - bndError
    linkageType: ''
    returnType: void
    signature: void mqttdIntrSignalHandler(uv_signal_t *handle, int signum)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:537,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:539,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:540,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:541,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:544,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:546,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:547,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:550,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:552,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:554,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:555,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 565
    functionName: mqttdParseArgs
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - printf
    - tstrncpy
    - bndError
    - strlen
    - taosStr2Int32
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t mqttdParseArgs(int32_t argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:568,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:569,1
    - Dst: printf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: mqttdPrintVersion
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void mqttdPrintVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:575,1
    - Dst: taosInitLogOutput
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:575,1
    - Dst: taosCreateLog
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: mqttdInitLog
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosInitLogOutput
    - taosCreateLog
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t mqttdInitLog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:580,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:581,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 587
    functionName: mqttdCtrlAllocBufCb
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - bndError
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void mqttdCtrlAllocBufCb(uv_handle_t *handle, size_t suggested_size,
      uv_buf_t *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:590,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:592,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:592,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:593,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:594,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:595,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:598,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - q
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 600
    functionName: mqttdCtrlReadCb
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_close
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - uv_stop
    - taosMemoryFree
    - bndError
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void mqttdCtrlReadCb(uv_stream_t *q, ssize_t nread, const uv_buf_t
      *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_fs_unlink
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:604,1
    - Dst: uv_fs_req_cleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:605,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:607,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: removeListeningPipe
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_fs_unlink
    - uv_strerror
    - uv_fs_req_cleanup
    - bndInfo
    linkageType: ''
    returnType: void
    signature: void removeListeningPipe()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:612,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:612,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:614,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:614,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:616,1
    - Dst: uv_signal_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:616,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:617,1
    - Dst: uv_signal_start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:617,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:620,1
    - Dst: uv_pipe_bind
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:621,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:622,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:622,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:623,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:626,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:627,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:627,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 632
    functionName: mqttdUvInit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_pipe_init
    - uv_signal_start
    - TAOS_CHECK_RETURN
    - bndInfo
    - uv_pipe_bind
    - uv_listen
    - bndError
    - removeListeningPipe
    - uv_signal_init
    - uv_loop_init
    - uv_err_name
    linkageType: ''
    returnType: int32_t
    signature: int32_t mqttdUvInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:635,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: mqttdCloseWalkCb
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_is_closing
    - uv_close
    linkageType: ''
    returnType: void
    signature: void mqttdCloseWalkCb(uv_handle_t *handle, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:641,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:643,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:648,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:648,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:653,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 659
    functionName: mqttdGlobalDataInit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - uv_mutex_init
    - taosMemoryMalloc
    - taosHashInit
    - bndError
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t mqttdGlobalDataInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:662,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:664,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: mqttdGlobalDataDeinit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - bndInfo
    - uv_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void mqttdGlobalDataDeinit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:669,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:670,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:672,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:674,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:676,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:678,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:679,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:681,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 684
    functionName: mqttdRun
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - bndInfo
    - uv_run
    - bndError
    - uv_walk
    - uv_loop_close
    linkageType: ''
    returnType: void
    signature: void mqttdRun()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:687,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:688,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:690,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:691,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:693,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 696
    functionName: mqttdCreateMqttSourceDir
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - snprintf
    - taosMkDir
    - bndInfo
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t mqttdCreateMqttSourceDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:699,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: mqttdDestroyMqttSourceDir
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 0
    functionsReached:
    - taosRemoveDir
    - bndInfo
    linkageType: ''
    returnType: void
    signature: void mqttdDestroyMqttSourceDir()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSkipKeyCheckMode
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:710,1
    - Dst: taosCheckSystemIsLittleEnd
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:712,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:713,1
    - Dst: mqttdParseArgs
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:717,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:718,1
    - Dst: mqttdPrintVersion
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:723,1
    - Dst: mqttdInitLog
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:727,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:729,1
    - Dst: taosInitCfg
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:734,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:735,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:740,1
    - Dst: initEpSetFromCfg
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:742,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:743,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:747,1
    - Dst: ttq_main
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:749,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:751,1
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:755,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c:758,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 762
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttDaemon.c
    functionUses: 3
    functionsReached:
    - ttq_main
    - initEpSetFromCfg
    - mqttdParseArgs
    - taosCloseLog
    - bndInfo
    - taosCheckSystemIsLittleEnd
    - mqttdPrintVersion
    - taosSetSkipKeyCheckMode
    - bndError
    - mqttdInitLog
    - taosInitCfg
    - taosCleanupCfg
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ttq_calloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:32,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:38,1
    - Dst: tmqtt__set_state
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:38,1
    - Dst: packet__cleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:59,1
    - Dst: ttqNetSocketGetAddress
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:66,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:67,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:71,1
    - Dst: HASH_ADD
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - sock
    argTypes:
    - ttq_sock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 90
    functionName: ttqCxtInit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 0
    functionsReached:
    - tmqtt__set_state
    - ttq_calloc
    - HASH_ADD
    - packet__cleanup
    - ttq_strdup
    - ttq_free
    - ttqNetSocketGetAddress
    - UNUSED
    linkageType: ''
    returnType: struct tmqtt
    signature: struct tmqtt *ttqCxtInit(ttq_sock_t sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: packet__cleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:98,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:99,1
    - Dst: packet__cleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:103,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: ttqCxtCleanup_out_packets
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 0
    functionsReached:
    - packet__cleanup
    - ttq_free
    linkageType: ''
    returnType: void
    signature: void ttqCxtCleanup_out_packets(struct tmqtt *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ttqCxtCleanup_out_packets
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:119,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:121,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:124,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:127,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:130,1
    - Dst: net__socket_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:130,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:132,1
    - Dst: ttqSubCleanSession
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:132,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:135,1
    - Dst: ttqDbMessageDelete
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:135,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:137,1
    - Dst: ttqCxtRemoveFromById
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:143,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:144,1
    - Dst: packet__cleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:147,1
    - Dst: ttqCxtCleanup_out_packets
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:148,1
    - Dst: tmq_ctx_cleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:149,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - context
    - force_free
    argTypes:
    - struct tmqtt*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 154
    functionName: ttqCxtCleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 0
    functionsReached:
    - net__socket_close
    - ttqSubCleanSession
    - packet__cleanup
    - ttqCxtCleanup_out_packets
    - ttqCxtRemoveFromById
    - ttq_free
    - tmq_ctx_cleanup
    - UNUSED
    - ttqDbMessageDelete
    linkageType: ''
    returnType: void
    signature: void ttqCxtCleanup(struct tmqtt *context, bool force_free)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tmqtt__get_state
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:175,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:182,1
    - Dst: net__socket_close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:182,1
    - Dst: ttqCxtAddToDisused
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:188,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:191,1
    - Dst: ttqSessionExpiryAdd
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:191,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:194,1
    - Dst: ttqKeepaliveRemove
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:194,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:195,1
    - Dst: tmqtt__set_state
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 196
    functionName: ttqCxtDisconnect
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 0
    functionsReached:
    - tmqtt__set_state
    - net__socket_close
    - ttqKeepaliveRemove
    - UNUSED
    - tmqtt__get_state
    - ttqCxtAddToDisused
    - ttqSessionExpiryAdd
    linkageType: ''
    returnType: void
    signature: void ttqCxtDisconnect(struct tmqtt *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:201,1
    - Dst: tmqtt__set_state
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:201,1
    - Dst: ttqCxtRemoveFromById
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:204,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: ttqCxtAddToDisused
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 1
    functionsReached:
    - tmqtt__set_state
    - UNUSED
    - ttqCxtRemoveFromById
    - ttq_free
    linkageType: ''
    returnType: void
    signature: void ttqCxtAddToDisused(struct tmqtt *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttqCxtCleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: ttqCxtFreeDisused
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 0
    functionsReached:
    - ttqCxtCleanup
    linkageType: ''
    returnType: void
    signature: void ttqCxtFreeDisused(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ADD_KEYPTR
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:228,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: ttqCxtAddToById
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 0
    functionsReached:
    - strlen
    - HASH_ADD_KEYPTR
    linkageType: ''
    returnType: void
    signature: void ttqCxtAddToById(struct tmqtt *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:236,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:236,1
    - Dst: HASH_DELETE
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: ttqCxtRemoveFromById
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttContext.c
    functionUses: 2
    functionsReached:
    - strlen
    - HASH_DELETE
    - HASH_FIND
    linkageType: ''
    returnType: void
    signature: void ttqCxtRemoveFromById(struct tmqtt *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttKeepalive.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: ttqKeepaliveAdd
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttKeepalive.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int ttqKeepaliveAdd(struct tmqtt *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttKeepalive.c:36,1
    - Dst: ttqDisconnect
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttKeepalive.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: ttqKeepaliveCheck
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttKeepalive.c
    functionUses: 0
    functionsReached:
    - HASH_ITER
    - ttqDisconnect
    linkageType: ''
    returnType: void
    signature: void ttqKeepaliveCheck(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttKeepalive.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: ttqKeepaliveRemove
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttKeepalive.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int ttqKeepaliveRemove(struct tmqtt *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ttqKeepaliveRemoveAll
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttKeepalive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ttqKeepaliveRemoveAll(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct tmqtt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: ttqKeepaliveUpdate
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttKeepalive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ttqKeepaliveUpdate(struct tmqtt *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct tmqtt__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: ttqListenerSetDefaults
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ttqListenerSetDefaults(struct tmqtt__listener *listener)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttqNetSocketListen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:63,1
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct tmqtt__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: listeners__start_single_mqtt
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttq_realloc
    - ttqNetSocketListen
    linkageType: ''
    returnType: int
    signature: int listeners__start_single_mqtt(struct tmqtt__listener *listener)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ttqListenerSetDefaults
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:92,1
    - Dst: ttq_strdup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:95,1
    - Dst: listeners__start_single_mqtt
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:100,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: listeners__add_local
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - listeners__start_single_mqtt
    - ttq_strdup
    - ttqListenerSetDefaults
    linkageType: ''
    returnType: int
    signature: int listeners__add_local(const char *host, uint16_t port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ttq_realloc
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:118,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:122,1
    - Dst: listeners__add_local
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:128,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: listeners__start
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - memset
    - ttq_realloc
    - listeners__add_local
    linkageType: ''
    returnType: int
    signature: int listeners__start(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:141,1
    - Dst: COMPAT_CLOSE
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:141,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:145,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:147,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:148,1
    - Dst: ttq_free
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: listeners__stop
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttq_free
    - COMPAT_CLOSE
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void listeners__stop(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:155,1
    - Dst: gettimeofday
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:155,1
    - Dst: srand
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: ttq_rand_init
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - srand
    - UNUSED
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void ttq_rand_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:160,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:164,1
    - Dst: ttqListenerSetDefaults
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct tmqtt__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: ttqConfigInit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - memset
    - ttqListenerSetDefaults
    linkageType: ''
    returnType: void
    signature: void ttqConfigInit(struct tmqtt__config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct tmqtt__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ttqConfigCleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ttqConfigCleanup(struct tmqtt__config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - config
    - argc
    - argv
    argTypes:
    - struct tmqtt__config*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: ttqConfigParseArgs
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ttqConfigParseArgs(struct tmqtt__config *config, int argc, char
      *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:174,1
    - Dst: tmqtt_time
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:175,1
    - Dst: time
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:176,1
    - Dst: ttqDbOpen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:179,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct tmqtt__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: ttq_db_open
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttq_log
    - ttqDbOpen
    - memset
    - time
    - tmqtt_time
    linkageType: ''
    returnType: int
    signature: int ttq_db_open(struct tmqtt__config *config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:189,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:191,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: ttq_log_starting
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttq_log
    linkageType: ''
    returnType: void
    signature: void ttq_log_starting(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: ttq_log_running
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttq_log
    linkageType: ''
    returnType: void
    signature: void ttq_log_running(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: ttq_log_stopping
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttq_log
    linkageType: ''
    returnType: void
    signature: void ttq_log_stopping(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: ttq_security_start
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ttq_security_start(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 236
    functionName: ttq_cxt_init
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ttq_cxt_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:241,1
    - Dst: ttqCxtCleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:246,1
    - Dst: HASH_ITER
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:249,1
    - Dst: ttqCxtCleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:249,1
    - Dst: ttqCxtFreeDisused
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: ttq_cxt_cleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - HASH_ITER
    - ttqCxtFreeDisused
    - ttqCxtCleanup
    linkageType: ''
    returnType: void
    signature: void ttq_cxt_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: ttq_handle_sigint
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ttq_handle_sigint(int signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: ttq_handle_sighup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ttq_handle_sighup(int signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:270,1
    - Dst: sigaction
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:271,1
    - Dst: sigaction
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:273,1
    - Dst: sigaction
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: ttq_signal_setup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - sigemptyset
    - sigaction
    linkageType: ''
    returnType: void
    signature: void ttq_signal_setup(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ttq_rand_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:284,1
    - Dst: ttqNetBrokerInit
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:285,1
    - Dst: ttqConfigInit
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:287,1
    - Dst: ttqConfigParseArgs
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:288,1
    - Dst: ttq_db_open
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:291,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:293,1
    - Dst: ttqLogInit
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:298,1
    - Dst: ttq_log_starting
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:303,1
    - Dst: ttq_security_start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:305,1
    - Dst: ttq_cxt_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:308,1
    - Dst: listeners__start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:310,1
    - Dst: ttqMuxInit
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:312,1
    - Dst: ttq_log_running
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:315,1
    - Dst: ttq_signal_setup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - argc
    - argv
    - config
    argTypes:
    - int
    - char*[]
    - struct tmqtt__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 322
    functionName: ttq_init
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttq_log
    - listeners__start
    - ttq_log_running
    - ttqConfigInit
    - ttq_log_starting
    - ttq_cxt_init
    - ttq_db_open
    - ttqMuxInit
    - ttq_security_start
    - ttqConfigParseArgs
    - ttqLogInit
    - ttqNetBrokerInit
    - ttq_signal_setup
    - ttq_rand_init
    linkageType: ''
    returnType: int
    signature: int ttq_init(int argc, char *argv[], struct tmqtt__config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:325,1
    - Dst: ttqMuxCleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:325,1
    - Dst: ttq_log_stopping
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:327,1
    - Dst: persist__backup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:330,1
    - Dst: ttqSessionExpiryRemoveAll
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:333,1
    - Dst: ttq_cxt_cleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:334,1
    - Dst: listeners__stop
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:335,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:336,1
    - Dst: ttqDbClose
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:336,1
    - Dst: ttqLogClose
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:338,1
    - Dst: ttqConfigCleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:339,1
    - Dst: ttqNetBrokerCleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 324
    functionDepth: 5
    functionLinenumber: 324
    functionLinenumberEnd: 341
    functionName: ttq_cleanup
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 0
    functionsReached:
    - ttqNetBrokerCleanup
    - ttqMuxCleanup
    - ttq_log_stopping
    - listeners__stop
    - ttqConfigCleanup
    - ttqLogClose
    - ttqDbClose
    - persist__backup
    - ttq_cxt_cleanup
    - UNUSED
    - ttqSessionExpiryRemoveAll
    linkageType: ''
    returnType: void
    signature: void ttq_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttq_init
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:347,1
    - Dst: ttqMainloop
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:350,1
    - Dst: ttq_cleanup
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 343
    functionDepth: 6
    functionLinenumber: 343
    functionLinenumberEnd: 355
    functionName: ttq_main
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttSocket.c
    functionUses: 1
    functionsReached:
    - ttq_init
    - ttqMainloop
    - ttq_cleanup
    linkageType: ''
    returnType: int
    signature: int ttq_main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:68,1
    - Dst: stat
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:69,1
    - Dst: S_ISFIFO
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:70,1
    - Dst: open
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:71,1
    - Dst: close
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: dlt_fifo_check
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached:
    - close
    - open
    - S_ISFIFO
    - memset
    - stat
    linkageType: ''
    returnType: void
    signature: void dlt_fifo_check(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:87,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ti
    argTypes:
    - struct tm**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: get_time
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached:
    - fprintf
    - localtime_r
    linkageType: ''
    returnType: int
    signature: int get_time(struct tm **ti)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:103,1
    - Dst: tmqtt__fopen
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:107,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:109,1
    - Dst: setvbuf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:109,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:113,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:117,1
    - Dst: setvbuf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:117,1
    - Dst: dlt_fifo_check
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:121,1
    - Dst: DLT_REGISTER_APP
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:123,1
    - Dst: dlt_register_context
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct tmqtt__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 129
    functionName: ttqLogInit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 1
    functionsReached:
    - tmqtt__fopen
    - ttq_log
    - DLT_REGISTER_APP
    - dlt_register_context
    - dlt_fifo_check
    - setvbuf
    - openlog
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int ttqLogInit(struct tmqtt__config *config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: closelog
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:133,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:137,1
    - Dst: fclose
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:137,1
    - Dst: dlt_unregister_context
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:144,1
    - Dst: DLT_UNREGISTER_APP
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct tmqtt__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: ttqLogClose
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 1
    functionsReached:
    - dlt_unregister_context
    - closelog
    - fclose
    - DLT_UNREGISTER_APP
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int ttqLogClose(struct tmqtt__config *config)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - priority
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: get_dlt_level
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DltLogLevelType
    signature: DltLogLevelType get_dlt_level(unsigned int priority)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - priority
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: get_xnd_level
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ELogLevel
    signature: ELogLevel get_xnd_level(unsigned int priority)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:255,1
    - Dst: get_time
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:255,1
    - Dst: strftime
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:256,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:258,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:261,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:272,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:272,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:276,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:279,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:282,1
    - Dst: syslog
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:285,1
    - Dst: DLT_LOG_STRING
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:292,1
    - Dst: get_dlt_level
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:292,1
    - Dst: get_xnd_level
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:295,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:297,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:300,1
    - Dst: bndTrace
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:303,1
    - Dst: bndDebug
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:307,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 99
    argCount: 3
    argNames:
    - priority
    - fmt
    - va
    argTypes:
    - unsigned int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 313
    functionName: log__vprintf
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - syslog
    - fprintf
    - bndDebug
    - DLT_LOG_STRING
    - strftime
    - bndInfo
    - get_xnd_level
    - snprintf
    - bndError
    - get_time
    - bndTrace
    - get_dlt_level
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int log__vprintf(unsigned int priority, const char *fmt, va_list va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:319,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:321,1
    - Dst: log__vprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:322,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:323,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ttq
    - priority
    - fmt
    argTypes:
    - struct tmqtt*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 326
    functionName: ttq_log
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 6
    functionsReached:
    - va_end
    - UNUSED
    - log__vprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void ttq_log(struct tmqtt *ttq, unsigned int priority, const char *fmt,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:333,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:334,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:335,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:338,1
    - Dst: ttq_log
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: ttqLogInternal
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - ttq_log
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void ttqLogInternal(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log__vprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - fmt
    - va
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: tmqtt_log_vprintf
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached:
    - log__vprintf
    linkageType: ''
    returnType: int
    signature: int tmqtt_log_vprintf(int level, const char *fmt, va_list va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:350,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:351,1
    - Dst: log__vprintf
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:351,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: tmqttLog
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mqtt/src/tmqttLogging.c
    functionUses: 0
    functionsReached:
    - va_end
    - UNUSED
    - log__vprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void tmqttLog(int level, const char *fmt, ...)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:57,1
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:58,1
    - Dst: GetModuleFileName
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:67,1
    - Dst: _NSGetExecutablePath
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:70,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:73,1
    - Dst: TAOS_DIRNAME
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:76,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:78,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:79,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:81,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:84,1
    - Dst: TAOS_UV_LIB_ERROR_RET
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:92,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:92,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:107,1
    - Dst: taosGetCpuCores
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:110,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:112,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:114,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:115,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:118,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:120,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:121,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:122,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:124,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:125,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:126,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:128,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:137,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:143,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:150,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:151,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:157,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:162,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:163,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:169,1
    - Dst: uv_spawn
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:179,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:182,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:182,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:184,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:189,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:195,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:198,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 100
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMqttdData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 202
    functionName: mqttMgmtSpawnMqttd
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c
    functionUses: 0
    functionsReached:
    - GetModuleFileName
    - TAOS_STRCAT
    - snprintf
    - _NSGetExecutablePath
    - ARRAY_SIZE
    - uv_spawn
    - bndError
    - taosMemoryCalloc
    - uv_pipe_init
    - TAOS_MQTT_MGMT_CHECK_PTR_RCODE
    - bndInfo
    - TAOS_DIRNAME
    - uv_strerror
    - tstrncpy
    - getenv
    - TAOS_UV_LIB_ERROR_RET
    - TAOS_STRNCPY
    - TAOS_STRNCAT
    - taosMemoryMalloc
    - taosGetCpuCores
    - TMAX
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t mqttMgmtSpawnMqttd(SMqttdData *pData)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:207,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:208,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:211,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:214,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:215,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:216,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:217,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:221,1
    - Dst: mqttMgmtSpawnMqttd
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:222,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - process
    - exitStatus
    - termSignal
    argTypes:
    - uv_process_t*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: mqttMgmtMqttdExit
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c
    functionUses: 0
    functionsReached:
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - mqttMgmtSpawnMqttd
    - uv_async_send
    - atomic_load_32
    - bndInfo
    - bndError
    linkageType: ''
    returnType: void
    signature: void mqttMgmtMqttdExit(uv_process_t *process, int64_t exitStatus, int32_t
      termSignal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:230,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:231,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: mqttMgmtMqttdCloseWalkCb
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c
    functionUses: 0
    functionsReached:
    - uv_is_closing
    - uv_close
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void mqttMgmtMqttdCloseWalkCb(uv_handle_t *handle, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:237,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: mqttMgmtMqttdStopAsyncCb
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c
    functionUses: 0
    functionsReached:
    - uv_stop
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void mqttMgmtMqttdStopAsyncCb(uv_async_t *async)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MQTT_MGMT_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:243,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:245,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:245,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:246,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:246,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:248,1
    - Dst: mqttMgmtSpawnMqttd
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:248,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:249,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:250,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:251,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:252,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:254,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:255,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:256,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:257,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:258,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:264,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:265,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:266,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:267,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 273
    functionName: mqttMgmtWatchMqttd
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c
    functionUses: 0
    functionsReached:
    - TAOS_UV_CHECK_ERRNO
    - TAOS_MQTT_MGMT_CHECK_PTR_RVOID
    - uv_async_init
    - mqttMgmtSpawnMqttd
    - uv_barrier_wait
    - bndInfo
    - uv_run
    - atomic_store_32
    - bndError
    - uv_walk
    - uv_loop_close
    - uv_loop_init
    linkageType: ''
    returnType: void
    signature: void mqttMgmtWatchMqttd(void *args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:280,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:285,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:286,1
    - Dst: uv_os_setenv
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:286,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:289,1
    - Dst: uv_barrier_init
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:289,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:290,1
    - Dst: uv_thread_create
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:290,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:291,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:292,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:294,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:295,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:296,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:298,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:299,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:302,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:303,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:306,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - startDnodeId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 313
    functionName: mqttMgmtStartMqttd
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c
    functionUses: 0
    functionsReached:
    - uv_thread_create
    - uv_barrier_destroy
    - TAOS_CHECK_GOTO
    - uv_barrier_wait
    - uv_async_send
    - bndInfo
    - atomic_load_32
    - snprintf
    - uv_thread_join
    - atomic_store_32
    - bndError
    - uv_os_setenv
    - uv_barrier_init
    linkageType: ''
    returnType: int32_t
    signature: int32_t mqttMgmtStartMqttd(int32_t startDnodeId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:317,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:318,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:321,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:323,1
    - Dst: uv_process_kill
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:323,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:324,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:326,1
    - Dst: bndError
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:327,1
    - Dst: bndInfo
      Src: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 334
    functionName: mqttMgmtStopMqttd
    functionSourceFile: /src/tdengine/source/libs/tmqtt/mgmt/src/tmqttMgmt.c
    functionUses: 0
    functionsReached:
    - uv_barrier_destroy
    - atomic_load_32
    - bndInfo
    - uv_thread_join
    - atomic_store_32
    - bndError
    - uv_process_kill
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void mqttMgmtStopMqttd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: udf1_dup_init
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1_dup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf1_dup_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: udf1_dup_destroy
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1_dup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf1_dup_destroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/udf1_dup.c:23,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/source/libs/function/test/udf1_dup.c:24,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/function/test/udf1_dup.c:33,1
    - Dst: usleep
      Src: /src/tdengine/source/libs/function/test/udf1_dup.c:41,1
    - Dst: Sleep
      Src: /src/tdengine/source/libs/function/test/udf1_dup.c:44,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 48
    functionName: udf1_dup
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1_dup.c
    functionUses: 0
    functionsReached:
    - usleep
    - udfColDataIsNull
    - udfColDataSetNull
    - udfColDataSet
    - Sleep
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf1_dup(SUdfDataBlock *block, SUdfColumn *resultCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: udf2_init
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf2_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: udf2_destroy
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf2_destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: udf2_start
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf2_start(SUdfInterBuf* buf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/udf2.c:36,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/test/udf2.c:41,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/test/udf2.c:47,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 3
    argNames:
    - block
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 68
    functionName: udf2
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2.c
    functionUses: 0
    functionsReached:
    - udfColDataGetData
    - udfColDataIsNull
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf2(SUdfDataBlock* block, SUdfInterBuf* interBuf, SUdfInterBuf*
      newInterBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/test/udf2.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - resultData
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: udf2_finish
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf2_finish(SUdfInterBuf* buf, SUdfInterBuf* resultData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: udf1_init
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf1_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: udf1_destroy
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf1_destroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/udf1.c:22,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/source/libs/function/test/udf1.c:23,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/function/test/udf1.c:32,1
    - Dst: usleep
      Src: /src/tdengine/source/libs/function/test/udf1.c:40,1
    - Dst: Sleep
      Src: /src/tdengine/source/libs/function/test/udf1.c:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 47
    functionName: udf1
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1.c
    functionUses: 0
    functionsReached:
    - usleep
    - udfColDataIsNull
    - udfColDataSetNull
    - udfColDataSet
    - Sleep
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf1(SUdfDataBlock *block, SUdfColumn *resultCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: udf2_dup_init
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2_dup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf2_dup_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: udf2_dup_destroy
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2_dup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf2_dup_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: udf2_dup_start
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2_dup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf2_dup_start(SUdfInterBuf* buf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/udf2_dup.c:34,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/test/udf2_dup.c:39,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/test/udf2_dup.c:45,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - block
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 66
    functionName: udf2_dup
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2_dup.c
    functionUses: 0
    functionsReached:
    - udfColDataGetData
    - udfColDataIsNull
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf2_dup(SUdfDataBlock* block, SUdfInterBuf* interBuf, SUdfInterBuf*
      newInterBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/test/udf2_dup.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - resultData
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: udf2_dup_finish
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2_dup.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf2_dup_finish(SUdfInterBuf* buf, SUdfInterBuf* resultData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: UDFNAMEINIT
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT UDFNAMEINIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: UDFNAMEDESTROY
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT UDFNAMEDESTROY()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/change_udf.c:81,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/source/libs/function/test/change_udf.c:82,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/function/test/change_udf.c:91,1
    - Dst: usleep
      Src: /src/tdengine/source/libs/function/test/change_udf.c:99,1
    - Dst: Sleep
      Src: /src/tdengine/source/libs/function/test/change_udf.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 107
    functionName: UDFNAME
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: 0
    functionsReached:
    - usleep
    - udfColDataIsNull
    - udfColDataSetNull
    - udfColDataSet
    - Sleep
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT UDFNAME(SUdfDataBlock *block, SUdfColumn *resultCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: udf_reverse_init
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf_reverse_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: udf_reverse_destroy
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf_reverse_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: reverse_data
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_data(char* data, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/change_udf.c:136,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/source/libs/function/test/change_udf.c:137,1
    - Dst: udfColDataGetDataLen
      Src: /src/tdengine/source/libs/function/test/change_udf.c:143,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/test/change_udf.c:144,1
    - Dst: malloc
      Src: /src/tdengine/source/libs/function/test/change_udf.c:147,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/test/change_udf.c:152,1
    - Dst: reverse_data
      Src: /src/tdengine/source/libs/function/test/change_udf.c:153,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/function/test/change_udf.c:154,1
    - Dst: free
      Src: /src/tdengine/source/libs/function/test/change_udf.c:156,1
    - Dst: usleep
      Src: /src/tdengine/source/libs/function/test/change_udf.c:164,1
    - Dst: Sleep
      Src: /src/tdengine/source/libs/function/test/change_udf.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 171
    functionName: udf_reverse
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - usleep
    - udfColDataIsNull
    - udfColDataSetNull
    - udfColDataGetData
    - free
    - udfColDataSet
    - Sleep
    - udfColDataGetDataLen
    - reverse_data
    - malloc
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT udf_reverse(SUdfDataBlock *block, SUdfColumn *resultCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: TAOSFPRINTF
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAOSFPRINTF(stream, format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: TAOSPRINTF
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAOSPRINTF(format, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/test/runUdf.c:14,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/test/runUdf.c:16,1
    - Dst: TAOSPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:17,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/test/runUdf.c:20,1
    - Dst: TAOSPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 29
    functionName: parseArgs
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - TAOSPRINTF
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseArgs(int32_t argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:33,1
    - Dst: taosCreateLog
      Src: /src/tdengine/source/libs/function/test/runUdf.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: initLog
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: 9
    functionsReached:
    - snprintf
    - taosCreateLog
    linkageType: ''
    returnType: int32_t
    signature: int32_t initLog()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: doSetupUdf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:41,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:42,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/function/test/runUdf.c:45,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/function/test/runUdf.c:50,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/test/runUdf.c:51,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:53,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/function/test/runUdf.c:58,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:60,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/test/runUdf.c:65,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/function/test/runUdf.c:67,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/test/runUdf.c:72,1
    - Dst: doCallUdfScalarFunc
      Src: /src/tdengine/source/libs/function/test/runUdf.c:75,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:77,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/test/runUdf.c:80,1
    - Dst: TAOSFPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:84,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/function/test/runUdf.c:86,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/test/runUdf.c:87,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/function/test/runUdf.c:89,1
    - Dst: TAOSFPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:90,1
    - Dst: doTeardownUdf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:91,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:93,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 98
    functionName: scalarFuncTest
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - doSetupUdf
    - fnError
    - taosGetTimestampUs
    - blockDataEnsureCapacity
    - createColumnInfoData
    - colDataSetInt32
    - taosMemoryFree
    - colDataDestroy
    - doTeardownUdf
    - blockDataAppendColInfo
    - taosArrayDestroy
    - TAOSFPRINTF
    - doCallUdfScalarFunc
    linkageType: ''
    returnType: int
    signature: int scalarFuncTest()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: doSetupUdf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:104,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:106,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/function/test/runUdf.c:111,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/test/runUdf.c:116,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/function/test/runUdf.c:117,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/test/runUdf.c:118,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:120,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/function/test/runUdf.c:125,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:127,1
    - Dst: bdGetColumnInfoData
      Src: /src/tdengine/source/libs/function/test/runUdf.c:133,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/function/test/runUdf.c:139,1
    - Dst: doCallUdfAggInit
      Src: /src/tdengine/source/libs/function/test/runUdf.c:145,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:147,1
    - Dst: doCallUdfAggProcess
      Src: /src/tdengine/source/libs/function/test/runUdf.c:150,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:152,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/test/runUdf.c:155,1
    - Dst: doCallUdfAggFinalize
      Src: /src/tdengine/source/libs/function/test/runUdf.c:157,1
    - Dst: TAOSFPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:159,1
    - Dst: TAOSFPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:163,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:165,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:167,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:168,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:169,1
    - Dst: doTeardownUdf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:170,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:172,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/function/test/runUdf.c:176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 178
    functionName: aggregateFuncTest
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: 0
    functionsReached:
    - doCallUdfAggInit
    - doCallUdfAggProcess
    - doSetupUdf
    - fnError
    - blockDataEnsureCapacity
    - colDataSetInt32
    - createColumnInfoData
    - bdGetColumnInfoData
    - doTeardownUdf
    - freeUdfInterBuf
    - createDataBlock
    - taosArrayGetSize
    - doCallUdfAggFinalize
    - blockDataAppendColInfo
    - taosArrayDestroy
    - blockDataDestroy
    - TAOSFPRINTF
    linkageType: ''
    returnType: int
    signature: int aggregateFuncTest()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parseArgs
      Src: /src/tdengine/source/libs/function/test/runUdf.c:182,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:184,1
    - Dst: initLog
      Src: /src/tdengine/source/libs/function/test/runUdf.c:187,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:189,1
    - Dst: taosInitCfg
      Src: /src/tdengine/source/libs/function/test/runUdf.c:192,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:193,1
    - Dst: udfcOpen
      Src: /src/tdengine/source/libs/function/test/runUdf.c:197,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:198,1
    - Dst: uv_sleep
      Src: /src/tdengine/source/libs/function/test/runUdf.c:201,1
    - Dst: scalarFuncTest
      Src: /src/tdengine/source/libs/function/test/runUdf.c:203,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:205,1
    - Dst: aggregateFuncTest
      Src: /src/tdengine/source/libs/function/test/runUdf.c:208,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:210,1
    - Dst: udfcClose
      Src: /src/tdengine/source/libs/function/test/runUdf.c:213,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 218
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: 3
    functionsReached:
    - uv_sleep
    - fnError
    - aggregateFuncTest
    - initLog
    - scalarFuncTest
    - udfcClose
    - parseArgs
    - taosInitCfg
    - udfcOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:40,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - state
    - required
    argTypes:
    - PermEntropyState*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: ensure_capacity
    functionSourceFile: /src/tdengine/source/libs/function/test/perm_entropy.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t ensure_capacity(PermEntropyState *state, int64_t required)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:55,1
    - Dst: log2
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:87,1
    - Dst: free
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:90,1
    - Dst: log2
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:92,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - data
    - n
    - embed_dim
    - delay
    argTypes:
    - double*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 94
    functionName: compute_perm_entropy
    functionSourceFile: /src/tdengine/source/libs/function/test/perm_entropy.c
    functionUses: 0
    functionsReached:
    - calloc
    - free
    - log2
    linkageType: ''
    returnType: double
    signature: double compute_perm_entropy(const double *data, int n, int embed_dim,
      int delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: perm_entropy_init
    functionSourceFile: /src/tdengine/source/libs/function/test/perm_entropy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT perm_entropy_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: perm_entropy_destroy
    functionSourceFile: /src/tdengine/source/libs/function/test/perm_entropy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT perm_entropy_destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - interBuf
    argTypes:
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: perm_entropy_start
    functionSourceFile: /src/tdengine/source/libs/function/test/perm_entropy.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: DLL_EXPORT
    signature: DLL_EXPORT perm_entropy_start(SUdfInterBuf *interBuf)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:128,1
    - Dst: ensure_capacity
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:133,1
    - Dst: free
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:136,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:141,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:142,1
    - Dst: free
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:166,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:171,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 3
    argNames:
    - block
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 175
    functionName: perm_entropy
    functionSourceFile: /src/tdengine/source/libs/function/test/perm_entropy.c
    functionUses: 0
    functionsReached:
    - ensure_capacity
    - memcpy
    - udfColDataIsNull
    - udfColDataGetData
    - free
    linkageType: ''
    returnType: DLL_EXPORT
    signature: "DLL_EXPORT perm_entropy(SUdfDataBlock *block, SUdfInterBuf *interBuf,\n
      \                               SUdfInterBuf *newInterBuf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:184,1
    - Dst: compute_perm_entropy
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:189,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:192,1
    - Dst: free
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:193,1
    - Dst: free
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:198,1
    - Dst: free
      Src: /src/tdengine/source/libs/function/test/perm_entropy.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - interBuf
    - resultData
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 210
    functionName: perm_entropy_finish
    functionSourceFile: /src/tdengine/source/libs/function/test/perm_entropy.c
    functionUses: 0
    functionsReached:
    - compute_perm_entropy
    - free
    - isnan
    linkageType: ''
    returnType: DLL_EXPORT
    signature: "DLL_EXPORT perm_entropy_finish(SUdfInterBuf *interBuf,\n                                       SUdfInterBuf
      *resultData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pSumRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: SUM_RES_GET_RES
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_GET_RES(pSumRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pSumRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: SUM_RES_GET_DECIMAL_RES
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_GET_DECIMAL_RES(pSumRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: SUM_RES_GET_SIZE
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_GET_SIZE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pSumRes
    - ','
    - inputType
    - ','
    - _type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: SUM_RES_SET_TYPE
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_SET_TYPE(pSumRes, inputType, _type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSumRes
    - ','
    - inputType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: SUM_RES_GET_TYPE
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_GET_TYPE(pSumRes, inputType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSumRes
    - ','
    - inputType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: SUM_RES_GET_PREV_TS
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_GET_PREV_TS(pSumRes, inputType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pSumRes
    - ','
    - checkInputType
    - ','
    - inputType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: SUM_RES_GET_OVERFLOW
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_GET_OVERFLOW(pSumRes, checkInputType, inputType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pSumRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: SUM_RES_GET_ISUM
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_GET_ISUM(pSumRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pSumRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: SUM_RES_GET_USUM
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_GET_USUM(pSumRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pSumRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: SUM_RES_GET_DSUM
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_GET_DSUM(pSumRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSumRes
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: SUM_RES_INC_ISUM
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_INC_ISUM(pSumRes, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSumRes
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: SUM_RES_INC_USUM
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_INC_USUM(pSumRes, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSumRes
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: SUM_RES_INC_DSUM
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_INC_DSUM(pSumRes, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pSumRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: SUM_RES_GET_DECIMAL_SUM
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_GET_DECIMAL_SUM(pSumRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pSumRes
    - ','
    - pVal
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: SUM_RES_INC_DECIMAL_SUM
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUM_RES_INC_DECIMAL_SUM(pSumRes, pVal, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pAvgRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: AVG_RES_GET_RES
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_GET_RES(pAvgRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pAvgRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: AVG_RES_GET_DECIMAL_RES
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_GET_DECIMAL_RES(pAvgRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pAvgRes
    - ','
    - inputType
    - ','
    - _type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: AVG_RES_SET_TYPE
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_SET_TYPE(pAvgRes, inputType, _type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pAvgRes
    - ','
    - _scale
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: AVG_RES_SET_INPUT_SCALE
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_SET_INPUT_SCALE(pAvgRes, _scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pAvgRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: AVG_RES_GET_INPUT_SCALE
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_GET_INPUT_SCALE(pAvgRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pAvgRes
    - ','
    - inputType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: AVG_RES_GET_TYPE
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_GET_TYPE(pAvgRes, inputType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - inputType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: AVG_RES_GET_SIZE
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_GET_SIZE(inputType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pAvgRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: AVG_RES_GET_AVG
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_GET_AVG(pAvgRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pAvgRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: AVG_RES_GET_SUM
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_GET_SUM(pAvgRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pAvgRes
    - ','
    - checkInputType
    - ','
    - inputType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: AVG_RES_GET_COUNT
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_GET_COUNT(pAvgRes, checkInputType, inputType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pAvgRes
    - ','
    - inputType
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: AVG_RES_INC_COUNT
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_INC_COUNT(pAvgRes, inputType, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pAvgRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: AVG_RES_GET_DECIMAL_AVG
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_GET_DECIMAL_AVG(pAvgRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pAvgRes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: AVG_RES_GET_DECIMAL_SUM
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_GET_DECIMAL_SUM(pAvgRes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pAvgRes
    - ','
    - checkInputType
    - ','
    - inputType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: AVG_RES_GET_SUM_OVERFLOW
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionResInfoInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVG_RES_GET_SUM_OVERFLOW(pAvgRes, checkInputType, inputType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: fnFatal
    functionSourceFile: /src/tdengine/source/libs/function/inc/fnLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fnFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: fnError
    functionSourceFile: /src/tdengine/source/libs/function/inc/fnLog.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fnError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: fnWarn
    functionSourceFile: /src/tdengine/source/libs/function/inc/fnLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fnWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: fnInfo
    functionSourceFile: /src/tdengine/source/libs/function/inc/fnLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fnInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: fnDebug
    functionSourceFile: /src/tdengine/source/libs/function/inc/fnLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fnDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: fnTrace
    functionSourceFile: /src/tdengine/source/libs/function/inc/fnLog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fnTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/function/inc/tfunctionInt.h:40,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/inc/tfunctionInt.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pResInfo
    - bufLen
    argTypes:
    - SResultRowEntryInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: initResultRowEntry
    functionSourceFile: /src/tdengine/source/libs/function/inc/tfunctionInt.h
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - memset
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE initResultRowEntry(SResultRowEntryInfo *pResInfo, int32_t
      bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: debugPrint
    functionSourceFile: /src/tdengine/source/libs/function/inc/udfc.h
    functionUses: 115
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debugPrint(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: FUNC_MGT_FUNC_CLASSIFICATION_MASK
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionMgtInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_MGT_FUNC_CLASSIFICATION_MASK(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: FUNC_MGT_TEST_MASK
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionMgtInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_MGT_TEST_MASK(val, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: FUNC_MGT_FUNC_PARAM_SUPPORT_TYPE
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionMgtInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_MGT_FUNC_PARAM_SUPPORT_TYPE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: FUNC_MGT_FUNC_PARAM_SUPPORT_NODE
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionMgtInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_MGT_FUNC_PARAM_SUPPORT_NODE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: FUNC_ERR_RET
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionMgtInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_ERR_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: FUNC_RET
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionMgtInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_RET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: FUNC_ERR_JRET
    functionSourceFile: /src/tdengine/source/libs/function/inc/functionMgtInt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNC_ERR_JRET(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - items
    - numItems
    argTypes:
    - SScriptUdfEnvItem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: udfdCPluginOpen
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCPluginOpen(SScriptUdfEnvItem *items, int numItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: udfdCPluginClose
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCPluginClose()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:59,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:62,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:63,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:63,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:67,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:68,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - udfCtx
    - udfName
    argTypes:
    - SUdfCPluginCtx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: udfdCPluginUdfInitLoadInitDestoryFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_dlsym
    - snprintf
    - TAOS_CHECK_RETURN
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCPluginUdfInitLoadInitDestoryFuncs(SUdfCPluginCtx *udfCtx,
      const char *udfName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:73,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:75,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:76,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:76,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:80,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:81,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:81,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:85,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:86,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - udfCtx
    - udfName
    argTypes:
    - SUdfCPluginCtx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: udfdCPluginUdfInitLoadAggFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_dlsym
    - snprintf
    - TAOS_CHECK_RETURN
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCPluginUdfInitLoadAggFuncs(SUdfCPluginCtx *udfCtx, const
      char *udfName)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:92,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:94,1
    - Dst: uv_dlopen
      Src: /src/tdengine/source/libs/function/src/udfd.c:98,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:100,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:100,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:101,1
    - Dst: udfdCPluginUdfInitLoadInitDestoryFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:106,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:108,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:115,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:116,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:117,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:117,1
    - Dst: udfdCPluginUdfInitLoadAggFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:122,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:124,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:133,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:140,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:141,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - udf
    - pUdfCtx
    argTypes:
    - SScriptUdfInfo*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 143
    functionName: udfdCPluginUdfInit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_dlclose
    - udfdCPluginUdfInitLoadInitDestoryFuncs
    - uv_dlopen
    - fnError
    - udfdCPluginUdfInitLoadAggFuncs
    - uv_strerror
    - snprintf
    - taosMemoryFree
    - uv_dlsym
    - taosMemoryCalloc
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCPluginUdfInit(SScriptUdfInfo *udf, void **pUdfCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:146,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:152,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - udfCtx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: udfdCPluginUdfDestroy
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_dlclose
    - taosMemoryFree
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCPluginUdfDestroy(void *udfCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:158,1
    - Dst: SUdfCPluginCtx*::scalarProcFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:161,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - block
    - resultCol
    - udfCtx
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: udfdCPluginUdfScalarProc
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - SUdfCPluginCtx*::scalarProcFunc
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCPluginUdfScalarProc(SUdfDataBlock *block, SUdfColumn *resultCol,
      void *udfCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:169,1
    - Dst: SUdfCPluginCtx*::aggStartFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:172,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - udfCtx
    argTypes:
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: udfdCPluginUdfAggStart
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - SUdfCPluginCtx*::aggStartFunc
    - TAOS_UDF_CHECK_PTR_RCODE
    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:181,1
    - Dst: SUdfCPluginCtx*::aggProcFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:184,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - block
    - interBuf
    - newInterBuf
    - udfCtx
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: udfdCPluginUdfAggProc
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - SUdfCPluginCtx*::aggProcFunc
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCPluginUdfAggProc(SUdfDataBlock *block, SUdfInterBuf *interBuf,
      SUdfInterBuf *newInterBuf, void *udfCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:204,1
    - Dst: SUdfCPluginCtx*::aggFinishFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:207,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - resultData
    - udfCtx
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: udfdCPluginUdfAggFinish
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - SUdfCPluginCtx*::aggFinishFunc
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCPluginUdfAggFinish(SUdfInterBuf *buf, SUdfInterBuf *resultData,
      void *udfCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SUdfdUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: udfdUvHandleError
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_close
    linkageType: ''
    returnType: void
    signature: void udfdUvHandleError(SUdfdUvConn *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:366,1
    - Dst: SUdfScriptPlugin*::openFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 382
    functionName: udfdInitializeCPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - SUdfScriptPlugin*::openFunc
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdInitializeCPlugin(SUdfScriptPlugin *plugin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:385,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/function/src/udfd.c:388,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:389,1
    - Dst: uv_dlopen
      Src: /src/tdengine/source/libs/function/src/udfd.c:393,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:395,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:395,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:400,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:402,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - libPath
    - pLib
    - funcName
    - func
    - numOfFuncs
    argTypes:
    - char*
    - uv_lib_t*
    - char*[]
    - void**[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 408
    functionName: udfdLoadSharedLib
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - uv_strerror
    - strchr
    - uv_dlsym
    - uv_dlopen
    - fnDebug
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdLoadSharedLib(char *libPath, uv_lib_t *pLib, const char
      *funcName[], void **func[], int numOfFuncs)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosGetEnv
      Src: /src/tdengine/source/libs/function/src/udfd.c:421,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:432,1
    - Dst: strtok_r
      Src: /src/tdengine/source/libs/function/src/udfd.c:435,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:440,1
    - Dst: taosLoadDllGlobal
      Src: /src/tdengine/source/libs/function/src/udfd.c:441,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:443,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:447,1
    - Dst: taosLoadDllGlobal
      Src: /src/tdengine/source/libs/function/src/udfd.c:448,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:450,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:453,1
    - Dst: taosLoadDllGlobal
      Src: /src/tdengine/source/libs/function/src/udfd.c:454,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:456,1
    - Dst: strtok_r
      Src: /src/tdengine/source/libs/function/src/udfd.c:462,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:470,1
    - Dst: taosLoadDllGlobal
      Src: /src/tdengine/source/libs/function/src/udfd.c:471,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:473,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:477,1
    - Dst: taosLoadDllGlobal
      Src: /src/tdengine/source/libs/function/src/udfd.c:478,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:480,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:483,1
    - Dst: taosLoadDllGlobal
      Src: /src/tdengine/source/libs/function/src/udfd.c:484,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:486,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:494,1
    - Dst: taosLoadDllGlobal
      Src: /src/tdengine/source/libs/function/src/udfd.c:495,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:497,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:501,1
    - Dst: taosLoadDllGlobal
      Src: /src/tdengine/source/libs/function/src/udfd.c:502,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:504,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:507,1
    - Dst: taosLoadDllGlobal
      Src: /src/tdengine/source/libs/function/src/udfd.c:508,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:510,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:516,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 523
    functionName: udfdPreloadPythonLibrary
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosGetEnv
    - taosLoadDllGlobal
    - fnError
    - fnInfo
    - snprintf
    - tstrncpy
    - strtok_r
    linkageType: ''
    returnType: void
    signature: void udfdPreloadPythonLibrary(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosGetEnv
      Src: /src/tdengine/source/libs/function/src/udfd.c:542,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:543,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:549,1
    - Dst: strrchr
      Src: /src/tdengine/source/libs/function/src/udfd.c:550,1
    - Dst: strrchr
      Src: /src/tdengine/source/libs/function/src/udfd.c:551,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:556,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:557,1
    - Dst: taosSetEnv
      Src: /src/tdengine/source/libs/function/src/udfd.c:558,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:559,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:568,1
    - Dst: RegOpenKeyExA
      Src: /src/tdengine/source/libs/function/src/udfd.c:572,1
    - Dst: RegOpenKeyExA
      Src: /src/tdengine/source/libs/function/src/udfd.c:574,1
    - Dst: RegQueryValueExA
      Src: /src/tdengine/source/libs/function/src/udfd.c:579,1
    - Dst: RegCloseKey
      Src: /src/tdengine/source/libs/function/src/udfd.c:580,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:583,1
    - Dst: taosSetEnv
      Src: /src/tdengine/source/libs/function/src/udfd.c:587,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:588,1
    - Dst: fnWarn
      Src: /src/tdengine/source/libs/function/src/udfd.c:594,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - pythonDllPath
    - pyMinor
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 596
    functionName: udfdEnsurePythonHome
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosGetEnv
    - fnWarn
    - taosSetEnv
    - RegQueryValueExA
    - fnInfo
    - snprintf
    - tstrncpy
    - taosCheckExistFile
    - strrchr
    - strlen
    - RegOpenKeyExA
    - RegCloseKey
    linkageType: ''
    returnType: void
    signature: void udfdEnsurePythonHome(const char *pythonDllPath, int pyMinor)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:600,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:609,1
    - Dst: SearchPathA
      Src: /src/tdengine/source/libs/function/src/udfd.c:611,1
    - Dst: udfdEnsurePythonHome
      Src: /src/tdengine/source/libs/function/src/udfd.c:613,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:614,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:620,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:624,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:625,1
    - Dst: udfdPreloadPythonLibrary
      Src: /src/tdengine/source/libs/function/src/udfd.c:628,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:629,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:630,1
    - Dst: udfdPreloadPythonLibrary
      Src: /src/tdengine/source/libs/function/src/udfd.c:632,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:633,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:634,1
    - Dst: udfdLoadSharedLib
      Src: /src/tdengine/source/libs/function/src/udfd.c:644,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:646,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:648,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:650,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:655,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:662,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:662,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:663,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:665,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:669,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:671,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/function/src/udfd.c:675,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:676,1
    - Dst: SUdfScriptPlugin*::openFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:677,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/function/src/udfd.c:678,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:680,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:682,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:686,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:689,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:690,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 696
    functionName: udfdInitializePythonPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_dlclose
    - taosMemoryMalloc
    - udfdPreloadPythonLibrary
    - fnError
    - udfdLoadSharedLib
    - SUdfScriptPlugin*::openFunc
    - udfdEnsurePythonHome
    - fnInfo
    - snprintf
    - taosGetTimestampMs
    - taosMemoryFree
    - strlen
    - SearchPathA
    - fnDebug
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdInitializePythonPlugin(SUdfScriptPlugin *plugin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:699,1
    - Dst: SUdfScriptPlugin*::closeFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:701,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 715
    functionName: udfdDeinitCPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - SUdfScriptPlugin*::closeFunc
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdDeinitCPlugin(SUdfScriptPlugin *plugin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:718,1
    - Dst: SUdfScriptPlugin*::closeFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:720,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:721,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 737
    functionName: udfdDeinitPythonPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - SUdfScriptPlugin*::closeFunc
    - uv_dlclose
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdDeinitPythonPlugin(SUdfScriptPlugin *plugin)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:740,1
    - Dst: udfdInitializeCPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:747,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:749,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:750,1
    - Dst: udfdInitializePythonPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:755,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:757,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:758,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:764,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - scriptType
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 771
    functionName: udfdInitScriptPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - udfdInitializePythonPlugin
    - udfdInitializeCPlugin
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdInitScriptPlugin(int8_t scriptType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: udfdDeinitPythonPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:777,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:778,1
    - Dst: udfdDeinitCPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:784,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 789
    functionName: udfdDeinitScriptPlugins
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - udfdDeinitCPlugin
    - udfdDeinitPythonPlugin
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void udfdDeinitScriptPlugins()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:792,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:795,1
    - Dst: decodeUdfRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:799,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:801,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:802,1
    - Dst: udfdProcessSetupRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:808,1
    - Dst: udfdProcessCallRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:813,1
    - Dst: udfdProcessTeardownRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:817,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - req
    argTypes:
    - uv_work_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 824
    functionName: udfdProcessRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - udfdProcessTeardownRequest
    - taosMemoryFreeClear
    - fnError
    - decodeUdfRequest
    - udfdProcessCallRequest
    - udfdProcessSetupRequest
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdProcessRequest(uv_work_t *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - udf
    - udfInfo
    argTypes:
    - SUdf*
    - SScriptUdfInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 840
    functionName: convertUdf2UdfInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convertUdf2UdfInfo(SUdf *udf, SScriptUdfInfo *udfInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:843,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:845,1
    - Dst: udfdFillUdfInfoFromMNode
      Src: /src/tdengine/source/libs/function/src/udfd.c:846,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:848,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:851,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:855,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:859,1
    - Dst: udfdInitScriptPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:862,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:864,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:865,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:869,1
    - Dst: convertUdf2UdfInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:873,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:874,1
    - Dst: SUdf*::scriptPlugin::udfInitFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:876,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:878,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:882,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - udfName
    - udf
    argTypes:
    - char*
    - SUdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 842
    functionDepth: 4
    functionLinenumber: 842
    functionLinenumberEnd: 884
    functionName: udfdInitUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - udfdFillUdfInfoFromMNode
    - fnError
    - convertUdf2UdfInfo
    - SUdf*::scriptPlugin::udfInitFunc
    - fnInfo
    - uv_mutex_unlock
    - uv_mutex_lock
    - udfdInitScriptPlugin
    - fnDebug
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdInitUdf(char *udfName, SUdf *udf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:887,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:888,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/function/src/udfd.c:893,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:894,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:897,1
    - Dst: uv_cond_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:898,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/udfd.c:902,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:903,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/udfd.c:904,1
    - Dst: fnTrace
      Src: /src/tdengine/source/libs/function/src/udfd.c:911,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pUdf
    - udfName
    argTypes:
    - SUdf**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 914
    functionName: udfdNewUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - strcmp
    - uv_mutex_init
    - taosArrayGet
    - taosGetTimestampMs
    - tstrncpy
    - taosArrayGetSize
    - fnTrace
    - taosMemoryCalloc
    - uv_cond_init
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdNewUdf(SUdf **pUdf, const char *udfName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUdf*::scriptPlugin::udfDestroyFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:923,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:924,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:928,1
    - Dst: uv_cond_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:929,1
    - Dst: fnTrace
      Src: /src/tdengine/source/libs/function/src/udfd.c:931,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 934
    functionName: udfdFreeUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - uv_cond_destroy
    - fnTrace
    - taosMemoryFree
    - uv_mutex_destroy
    - SUdf*::scriptPlugin::udfDestroyFunc
    linkageType: ''
    returnType: void
    signature: void udfdFreeUdf(void *pData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:937,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:938,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:939,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:939,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/function/src/udfd.c:940,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:947,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:948,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:953,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/function/src/udfd.c:955,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:955,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:956,1
    - Dst: udfdNewUdf
      Src: /src/tdengine/source/libs/function/src/udfd.c:961,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:963,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/udfd.c:967,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:967,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:968,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:971,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - ppUdf
    - udfName
    argTypes:
    - SUdf**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 936
    functionDepth: 2
    functionLinenumber: 936
    functionLinenumberEnd: 974
    functionName: udfdGetOrCreateUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - udfdNewUdf
    - taosHashRemove
    - fnError
    - taosHashGet
    - fnInfo
    - taosGetTimestampMs
    - uv_mutex_unlock
    - uv_mutex_lock
    - strlen
    - taosHashPut
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdGetOrCreateUdf(SUdf **ppUdf, const char *udfName)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:977,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:979,1
    - Dst: udfdGetOrCreateUdf
      Src: /src/tdengine/source/libs/function/src/udfd.c:985,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:987,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:990,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:992,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:994,1
    - Dst: udfdInitUdf
      Src: /src/tdengine/source/libs/function/src/udfd.c:996,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:999,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1002,1
    - Dst: uv_cond_broadcast
      Src: /src/tdengine/source/libs/function/src/udfd.c:1004,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1005,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1007,1
    - Dst: uv_cond_wait
      Src: /src/tdengine/source/libs/function/src/udfd.c:1009,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1011,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1012,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1017,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1019,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:1037,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1039,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1044,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1046,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:1052,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1053,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1054,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1059,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:1061,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1065,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/function/src/udfd.c:1066,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1066,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1068,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1068,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1070,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1072,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1072,1
    - Dst: udfdFreeUdf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1074,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 84
    argCount: 2
    argNames:
    - uvUdf
    - request
    argTypes:
    - SUvUdfWork*
    - SUdfRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 976
    functionDepth: 5
    functionLinenumber: 976
    functionLinenumberEnd: 1076
    functionName: udfdProcessSetupRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - udfdInitUdf
    - fnError
    - fnDebug
    - uv_cond_wait
    - uv_mutex_unlock
    - encodeUdfResponse
    - uv_buf_init
    - uv_mutex_lock
    - TAOS_UDF_CHECK_PTR_RVOID
    - taosHashRemove
    - taosMemoryMalloc
    - udfdGetOrCreateUdf
    - fnInfo
    - udfdFreeUdf
    - taosMemoryFree
    - tstrerror
    - strlen
    - uv_cond_broadcast
    linkageType: ''
    returnType: void
    signature: void udfdProcessSetupRequest(SUvUdfWork *uvUdf, SUdfRequest *request)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1083,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/src/udfd.c:1089,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/udfd.c:1090,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:1091,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:1092,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:1096,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - block
    - output
    argTypes:
    - SSDataBlock*
    - SUdfColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1106
    functionName: checkUDFScalaResult
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - TAOS_UDF_CHECK_CONDITION
    - udfColDataIsNull
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkUDFScalaResult(SSDataBlock *block, SUdfColumn *output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1113,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:1116,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - block
    - output
    argTypes:
    - SSDataBlock*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1119
    functionName: checkUDFAggResult
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - TAOS_UDF_CHECK_CONDITION
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkUDFAggResult(SSDataBlock *block, SUdfInterBuf *output)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1122,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1124,1
    - Dst: udfColEnsureCapacity
      Src: /src/tdengine/source/libs/function/src/udfd.c:1140,1
    - Dst: convertDataBlockToUdfDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1142,1
    - Dst: SUdf*::scriptPlugin::udfScalarProcFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1143,1
    - Dst: freeUdfDataDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1144,1
    - Dst: checkUDFScalaResult
      Src: /src/tdengine/source/libs/function/src/udfd.c:1145,1
    - Dst: convertUdfColumnToDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1146,1
    - Dst: freeUdfColumn
      Src: /src/tdengine/source/libs/function/src/udfd.c:1148,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1152,1
    - Dst: SUdf*::scriptPlugin::udfAggStartFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1154,1
    - Dst: convertDataBlockToUdfDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1163,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1164,1
    - Dst: SUdf*::scriptPlugin::udfAggProcFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1166,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1167,1
    - Dst: checkUDFAggResult
      Src: /src/tdengine/source/libs/function/src/udfd.c:1168,1
    - Dst: freeUdfDataDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1174,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1192,1
    - Dst: SUdf*::scriptPlugin::udfAggFinishFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1194,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1195,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:1212,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1214,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1218,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1220,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:1224,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1225,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1226,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1230,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/udfd.c:1235,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/udfd.c:1236,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1240,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/udfd.c:1244,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1245,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1253,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:1260,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 107
    argCount: 2
    argNames:
    - uvUdf
    - request
    argTypes:
    - SUvUdfWork*
    - SUdfRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1121
    functionDepth: 2
    functionLinenumber: 1121
    functionLinenumberEnd: 1262
    functionName: udfdProcessCallRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - convertUdfColumnToDataBlock
    - taosMemoryFreeClear
    - fnError
    - checkUDFAggResult
    - encodeUdfResponse
    - uv_buf_init
    - convertDataBlockToUdfDataBlock
    - SUdf*::scriptPlugin::udfAggFinishFunc
    - udfColEnsureCapacity
    - TAOS_UDF_CHECK_PTR_RVOID
    - SUdf*::scriptPlugin::udfAggProcFunc
    - freeUdfColumn
    - SUdf*::scriptPlugin::udfScalarProcFunc
    - SUdf*::scriptPlugin::udfAggStartFunc
    - freeUdfInterBuf
    - blockDataFreeRes
    - taosMemoryMalloc
    - freeUdfDataDataBlock
    - taosMemoryFree
    - checkUDFScalaResult
    - fnDebug
    linkageType: ''
    returnType: void
    signature: void udfdProcessCallRequest(SUvUdfWork *uvUdf, SUdfRequest *request)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1265,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1267,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1273,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/function/src/udfd.c:1277,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1277,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1279,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1279,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1280,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:1284,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1286,1
    - Dst: udfdFreeUdf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1288,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1292,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:1298,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1300,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1304,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1306,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:1310,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1311,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1312,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1315,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - uvUdf
    - request
    argTypes:
    - SUvUdfWork*
    - SUdfRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1319
    functionName: udfdProcessTeardownRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - taosHashRemove
    - fnError
    - fnInfo
    - udfdFreeUdf
    - uv_mutex_unlock
    - taosMemoryFree
    - uv_buf_init
    - uv_mutex_lock
    - tstrerror
    - strlen
    - encodeUdfResponse
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdProcessTeardownRequest(SUvUdfWork *uvUdf, SUdfRequest *request)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1322,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1325,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1328,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1332,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1336,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - udf
    - path
    argTypes:
    - SUdf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1343
    functionName: udfdGetFuncBodyPath
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - snprintf
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdGetFuncBodyPath(const SUdf *udf, char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:1346,1
    - Dst: osDataSpaceAvailable
      Src: /src/tdengine/source/libs/function/src/udfd.c:1347,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1349,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/function/src/udfd.c:1349,1
    - Dst: udfdGetFuncBodyPath
      Src: /src/tdengine/source/libs/function/src/udfd.c:1354,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1355,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1357,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1358,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1362,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1364,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1364,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1367,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1369,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1372,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1373,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - pFuncInfo
    - udf
    argTypes:
    - SFuncInfo*
    - SUdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1379
    functionName: udfdSaveFuncBodyToFile
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosStatFile
    - fnError
    - strerror
    - udfdGetFuncBodyPath
    - fnInfo
    - taosOpenFile
    - terrstr
    - tstrncpy
    - taosWriteFile
    - osDataSpaceAvailable
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdSaveFuncBodyToFile(SFuncInfo *pFuncInfo, SUdf *udf)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1382,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/function/src/udfd.c:1386,1
    - Dst: updateEpSet_s
      Src: /src/tdengine/source/libs/function/src/udfd.c:1387,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1392,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1392,1
    - Dst: tDeserializeSConnectRsp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1399,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1400,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/function/src/udfd.c:1404,1
    - Dst: abs
      Src: /src/tdengine/source/libs/function/src/udfd.c:1405,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/function/src/udfd.c:1416,1
    - Dst: updateEpSet_s
      Src: /src/tdengine/source/libs/function/src/udfd.c:1417,1
    - Dst: tDeserializeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1422,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1423,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:1427,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:1435,1
    - Dst: udfdSaveFuncBodyToFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1438,1
    - Dst: tFreeSFuncInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1442,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1443,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1444,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/function/src/udfd.c:1448,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/udfd.c:1449,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1381
    functionDepth: 3
    functionLinenumber: 1381
    functionLinenumberEnd: 1451
    functionName: udfdProcessRpcRsp
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - updateEpSet_s
    - fnError
    - tDeserializeSRetrieveFuncRsp
    - tDeserializeSConnectRsp
    - uv_sem_post
    - isEpsetEqual
    - taosGetTimestampSec
    - udfdSaveFuncBodyToFile
    - tstrerror
    - abs
    - taosArrayDestroy
    - tFreeSFuncInfo
    - TAOS_UDF_CHECK_PTR_RVOID
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void udfdProcessRpcRsp(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:1454,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1457,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/udfd.c:1458,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1459,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/function/src/udfd.c:1463,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1465,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/function/src/udfd.c:1468,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/function/src/udfd.c:1469,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1470,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/function/src/udfd.c:1471,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1474,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1476,1
    - Dst: uv_sem_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1482,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1483,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:1492,1
    - Dst: uv_sem_wait
      Src: /src/tdengine/source/libs/function/src/udfd.c:1494,1
    - Dst: uv_sem_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1495,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 3
    argNames:
    - clientRpc
    - udfName
    - udf
    argTypes:
    - void*
    - char*
    - SUdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1453
    functionDepth: 6
    functionLinenumber: 1453
    functionLinenumberEnd: 1500
    functionName: udfdFillUdfInfoFromMNode
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - uv_sem_init
    - taosArrayPush
    - rpcMallocCont
    - tSerializeSRetrieveFuncReq
    - rpcSendRequest
    - taosMemoryFree
    - rpcFreeCont
    - taosArrayInit
    - uv_sem_wait
    - uv_sem_destroy
    - taosArrayDestroy
    - taosMemoryCalloc
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdFillUdfInfoFromMNode(void *clientRpc, char *udfName, SUdf
      *udf)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 2
    argNames:
    - code
    - msgType
    argTypes:
    - int32_t
    - tmsg_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1514
    functionName: udfdRpcRfp
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool udfdRpcRfp(int32_t code, tmsg_t msgType)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1525,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1530,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1540,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1545,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1547,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - firstEp
    - secondEp
    - pEpSet
    argTypes:
    - char*
    - char*
    - SCorEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1559
    functionName: initEpSetFromCfg
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - fnError
    - strlen
    - taosGetFqdnPortFromEp
    linkageType: ''
    returnType: int
    signature: int initEpSetFromCfg(const char *firstEp, const char *secondEp, SCorEpSet
      *pEpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/udfd.c:1575,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1576,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1582,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1582,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1583,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1583,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1584,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1584,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1585,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1585,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1586,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1586,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1587,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/function/src/udfd.c:1587,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1589,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1561
    functionDepth: 3
    functionLinenumber: 1561
    functionLinenumberEnd: 1595
    functionName: udfdOpenClientRpc
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosVersionStrToInt
    - TAOS_CHECK_RETURN
    - fnError
    - TMAX
    - TMIN
    - rpcOpen
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdOpenClientRpc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1598,1
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/function/src/udfd.c:1599,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1597
    functionDepth: 3
    functionLinenumber: 1597
    functionLinenumberEnd: 1601
    functionName: udfdCloseClientRpc
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - rpcClose
    linkageType: ''
    returnType: void
    signature: void udfdCloseClientRpc()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1604,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1607,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1607,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1617,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1620,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1621,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1603
    functionDepth: 1
    functionLinenumber: 1603
    functionLinenumberEnd: 1623
    functionName: udfdOnWrite
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - uv_err_name
    - taosMemoryFree
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdOnWrite(uv_write_t *req, int status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1626,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1630,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1632,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1633,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/function/src/udfd.c:1637,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1639,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1639,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1640,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - work
    - status
    argTypes:
    - uv_work_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1644
    functionName: udfdSendResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - fnError
    - uv_strerror
    - uv_write
    - taosMemoryFree
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdSendResponse(uv_work_t *work, int status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1647,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1651,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1660,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1668,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - handle
    - suggestedSize
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1646
    functionDepth: 1
    functionLinenumber: 1646
    functionLinenumberEnd: 1678
    functionName: udfdAllocBuffer
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - taosMemoryMalloc
    - taosMemoryRealloc
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdAllocBuffer(uv_handle_t *handle, size_t suggestedSize, uv_buf_t
      *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1682,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1689,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - SUdfdUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1693
    functionName: isUdfdUvMsgComplete
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - fnDebug
    linkageType: ''
    returnType: bool
    signature: bool isUdfdUvMsgComplete(SUdfdUvConn *pipe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1696,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1700,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1702,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1705,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1707,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1708,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1714,1
    - Dst: uv_queue_work
      Src: /src/tdengine/source/libs/function/src/udfd.c:1720,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1723,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SUdfdUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1695
    functionDepth: 1
    functionLinenumber: 1695
    functionLinenumberEnd: 1726
    functionName: udfdHandleRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - fnError
    - uv_buf_init
    - taosMemoryFree
    - uv_queue_work
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdHandleRequest(SUdfdUvConn *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1729,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1737,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1738,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1740
    functionName: udfdPipeCloseCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdPipeCloseCb(uv_handle_t *pipe)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1743,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1744,1
    - Dst: isUdfdUvMsgComplete
      Src: /src/tdengine/source/libs/function/src/udfd.c:1751,1
    - Dst: udfdHandleRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:1752,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1761,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1763,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1763,1
    - Dst: udfdUvHandleError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - client
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1742
    functionDepth: 2
    functionLinenumber: 1742
    functionLinenumberEnd: 1767
    functionName: udfdPipeRead
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnError
    - uv_err_name
    - fnInfo
    - udfdUvHandleError
    - isUdfdUvMsgComplete
    - udfdHandleRequest
    - fnDebug
    linkageType: ''
    returnType: void
    signature: void udfdPipeRead(uv_stream_t *client, ssize_t nread, const uv_buf_t
      *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1770,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1772,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1772,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1777,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1779,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1782,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1784,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1784,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1785,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/function/src/udfd.c:1788,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1789,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1791,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/function/src/udfd.c:1801,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1803,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1803,1
    - Dst: udfdUvHandleError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1804,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1805,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1806,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1811,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1812,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - server
    - status
    argTypes:
    - uv_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1769
    functionDepth: 1
    functionLinenumber: 1769
    functionLinenumberEnd: 1813
    functionName: udfdOnNewConnection
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_pipe_init
    - taosMemoryMalloc
    - uv_accept
    - uv_close
    - fnError
    - uv_strerror
    - udfdUvHandleError
    - taosMemoryFree
    - uv_read_start
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdOnNewConnection(uv_stream_t *server, int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1816,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1817,1
    - Dst: uv_fs_unlink
      Src: /src/tdengine/source/libs/function/src/udfd.c:1819,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1821,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1821,1
    - Dst: uv_signal_stop
      Src: /src/tdengine/source/libs/function/src/udfd.c:1823,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1825,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1825,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/udfd.c:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - signum
    argTypes:
    - uv_signal_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1815
    functionDepth: 1
    functionLinenumber: 1815
    functionLinenumberEnd: 1828
    functionName: udfdIntrSignalHandler
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - uv_stop
    - uv_strerror
    - fnInfo
    - uv_fs_unlink
    - uv_signal_stop
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfdIntrSignalHandler(uv_signal_t *handle, int signum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1832,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1834,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1835,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1838,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1840,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1843,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1850
    functionName: udfdParseArgs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - strlen
    - tstrncpy
    - printf
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdParseArgs(int32_t argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1853,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1854,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1856
    functionName: udfdPrintVersion
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void udfdPrintVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1860,1
    - Dst: taosInitLogOutput
      Src: /src/tdengine/source/libs/function/src/udfd.c:1860,1
    - Dst: taosCreateLog
      Src: /src/tdengine/source/libs/function/src/udfd.c:1861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1858
    functionDepth: 1
    functionLinenumber: 1858
    functionLinenumberEnd: 1862
    functionName: udfdInitLog
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosInitLogOutput
    - taosCreateLog
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdInitLog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1865,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1866,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1864
    functionDepth: 1
    functionLinenumber: 1864
    functionLinenumberEnd: 1872
    functionName: udfdCtrlAllocBufCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    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: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1875,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1877,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1877,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1878,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1879,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/udfd.c:1880,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1883,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - q
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1874
    functionDepth: 1
    functionLinenumber: 1874
    functionLinenumberEnd: 1885
    functionName: udfdCtrlReadCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RVOID
    - uv_close
    - fnError
    - uv_stop
    - taosMemoryFree
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void udfdCtrlReadCb(uv_stream_t *q, ssize_t nread, const uv_buf_t *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_fs_unlink
      Src: /src/tdengine/source/libs/function/src/udfd.c:1889,1
    - Dst: uv_fs_req_cleanup
      Src: /src/tdengine/source/libs/function/src/udfd.c:1890,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1892,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1894
    functionName: removeListeningPipe
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 1
    functionsReached:
    - uv_fs_unlink
    - fnInfo
    - uv_fs_req_cleanup
    - uv_strerror
    linkageType: ''
    returnType: void
    signature: void removeListeningPipe()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1897,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1897,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1902,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1902,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1903,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/function/src/udfd.c:1903,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1904,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/function/src/udfd.c:1904,1
    - Dst: getUdfdPipeName
      Src: /src/tdengine/source/libs/function/src/udfd.c:1906,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:1908,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1910,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1910,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1912,1
    - Dst: uv_signal_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1912,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1913,1
    - Dst: uv_signal_start
      Src: /src/tdengine/source/libs/function/src/udfd.c:1913,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1916,1
    - Dst: uv_pipe_bind
      Src: /src/tdengine/source/libs/function/src/udfd.c:1917,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1918,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1918,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:1919,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1922,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1923,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1923,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:1924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1896
    functionDepth: 1
    functionLinenumber: 1896
    functionLinenumberEnd: 1928
    functionName: udfdUvInit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_pipe_init
    - uv_signal_start
    - TAOS_CHECK_RETURN
    - fnError
    - getUdfdPipeName
    - uv_pipe_open
    - fnInfo
    - uv_pipe_bind
    - uv_listen
    - removeListeningPipe
    - uv_signal_init
    - uv_loop_init
    - uv_read_start
    - uv_err_name
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdUvInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/function/src/udfd.c:1931,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1934
    functionName: udfdCloseWalkCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_is_closing
    - uv_close
    linkageType: ''
    returnType: void
    signature: void udfdCloseWalkCb(uv_handle_t *handle, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1937,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1939,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1944,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1945,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1949,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/udfd.c:1949,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1955,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1936
    functionDepth: 1
    functionLinenumber: 1936
    functionLinenumberEnd: 1961
    functionName: udfdGlobalDataInit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - uv_mutex_init
    - taosMemoryMalloc
    - fnError
    - taosHashInit
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdGlobalDataInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1964,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1965,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:1966,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1963
    functionDepth: 1
    functionLinenumber: 1963
    functionLinenumberEnd: 1968
    functionName: udfdGlobalDataDeinit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - taosMemoryFreeClear
    - uv_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void udfdGlobalDataDeinit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1971,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/udfd.c:1972,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1974,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1976,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1978,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/function/src/udfd.c:1980,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/udfd.c:1981,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1983,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1986
    functionName: udfdRun
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnError
    - fnInfo
    - uv_run
    - uv_walk
    - uv_loop_close
    linkageType: ''
    returnType: void
    signature: void udfdRun()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1989,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1993,1
    - Dst: strtok_r
      Src: /src/tdengine/source/libs/function/src/udfd.c:1996,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1998,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1999,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/udfd.c:2000,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:2002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1988
    functionDepth: 1
    functionLinenumber: 1988
    functionLinenumberEnd: 2008
    functionName: udfdInitResidentFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - fnInfo
    - tstrncpy
    - taosArrayInit
    - strlen
    - taosArrayDestroy
    - strtok_r
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdInitResidentFuncs()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/udfd.c:2011,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:2012,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:2013,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:2013,1
    - Dst: SUdf*::scriptPlugin::udfDestroyFunc
      Src: /src/tdengine/source/libs/function/src/udfd.c:2018,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:2019,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/function/src/udfd.c:2021,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:2021,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:2023,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:2025,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/udfd.c:2028,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:2029,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:2030,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2010
    functionDepth: 1
    functionLinenumber: 2010
    functionLinenumberEnd: 2031
    functionName: udfdDeinitResidentFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosHashRemove
    - fnError
    - taosHashGet
    - fnInfo
    - taosMemoryFree
    - taosArrayGetSize
    - taosHashCleanup
    - strlen
    - taosArrayDestroy
    - fnDebug
    - SUdf*::scriptPlugin::udfDestroyFunc
    linkageType: ''
    returnType: void
    signature: void udfdDeinitResidentFuncs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:2034,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:2035,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:2037,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:2038,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:2040,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:2040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2033
    functionDepth: 1
    functionLinenumber: 2033
    functionLinenumberEnd: 2043
    functionName: udfdCreateUdfSourceDir
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - snprintf
    - taosMkDir
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfdCreateUdfSourceDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:2046,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:2047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2045
    functionDepth: 1
    functionLinenumber: 2045
    functionLinenumberEnd: 2048
    functionName: udfdDestroyUdfSourceDir
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 0
    functionsReached:
    - fnInfo
    - taosRemoveDir
    linkageType: ''
    returnType: void
    signature: void udfdDestroyUdfSourceDir()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSkipKeyCheckMode
      Src: /src/tdengine/source/libs/function/src/udfd.c:2058,1
    - Dst: taosCheckSystemIsLittleEnd
      Src: /src/tdengine/source/libs/function/src/udfd.c:2060,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:2061,1
    - Dst: udfdParseArgs
      Src: /src/tdengine/source/libs/function/src/udfd.c:2065,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:2066,1
    - Dst: udfdPrintVersion
      Src: /src/tdengine/source/libs/function/src/udfd.c:2071,1
    - Dst: udfdInitLog
      Src: /src/tdengine/source/libs/function/src/udfd.c:2075,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:2077,1
    - Dst: taosPreLoadCfg
      Src: /src/tdengine/source/libs/function/src/udfd.c:2082,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:2083,1
    - Dst: dmGetEncryptKey
      Src: /src/tdengine/source/libs/function/src/udfd.c:2087,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:2088,1
    - Dst: tryLoadCfgFromDataDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:2092,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:2093,1
    - Dst: taosApplyCfg
      Src: /src/tdengine/source/libs/function/src/udfd.c:2097,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:2098,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:2102,1
    - Dst: initEpSetFromCfg
      Src: /src/tdengine/source/libs/function/src/udfd.c:2104,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:2105,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:2109,1
    - Dst: udfdOpenClientRpc
      Src: /src/tdengine/source/libs/function/src/udfd.c:2110,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:2111,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:2115,1
    - Dst: udfdCreateUdfSourceDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:2118,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:2119,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:2124,1
    - Dst: udfdGlobalDataInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:2126,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:2127,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:2132,1
    - Dst: udfdUvInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:2134,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:2135,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:2139,1
    - Dst: udfdInitResidentFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:2141,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:2142,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:2147,1
    - Dst: udfdRun
      Src: /src/tdengine/source/libs/function/src/udfd.c:2149,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:2150,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:2152,1
    - Dst: udfdDeinitResidentFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:2156,1
    - Dst: udfdDeinitScriptPlugins
      Src: /src/tdengine/source/libs/function/src/udfd.c:2158,1
    - Dst: udfdGlobalDataDeinit
      Src: /src/tdengine/source/libs/function/src/udfd.c:2160,1
    - Dst: udfdDestroyUdfSourceDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:2163,1
    - Dst: udfdCloseClientRpc
      Src: /src/tdengine/source/libs/function/src/udfd.c:2166,1
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/libs/function/src/udfd.c:2169,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/function/src/udfd.c:2172,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 112
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2050
    functionDepth: 4
    functionLinenumber: 2050
    functionLinenumberEnd: 2176
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: 3
    functionsReached:
    - dmGetEncryptKey
    - fnError
    - taosCheckSystemIsLittleEnd
    - udfdInitLog
    - udfdCloseClientRpc
    - udfdCreateUdfSourceDir
    - udfdDeinitScriptPlugins
    - taosPreLoadCfg
    - removeListeningPipe
    - udfdDeinitResidentFuncs
    - taosCleanupCfg
    - udfdDestroyUdfSourceDir
    - udfdInitResidentFuncs
    - tryLoadCfgFromDataDir
    - udfdGlobalDataInit
    - printf
    - taosSetSkipKeyCheckMode
    - udfdParseArgs
    - udfdGlobalDataDeinit
    - initEpSetFromCfg
    - udfdRun
    - udfdUvInit
    - taosCloseLog
    - fnInfo
    - udfdOpenClientRpc
    - taosApplyCfg
    - udfdPrintVersion
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmGetTwstartFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:38,1
    - Dst: fmGetTwendFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:39,1
    - Dst: fmGetTwdurationFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:40,1
    - Dst: fmGetExternalWindowColumnFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: InitSpecialFuncId
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - fmGetTwdurationFuncId
    - fmGetTwendFuncId
    - fmGetExternalWindowColumnFuncId
    - fmGetTwstartFuncId
    linkageType: ''
    returnType: void
    signature: void InitSpecialFuncId()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:46,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:46,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:53,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:54,1
    - Dst: InitSpecialFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: doInitFunctionTable
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - taosHashInit
    - taosGetDefaultHashFunction
    - strlen
    - InitSpecialFuncId
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: void doInitFunctionTable()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:63,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - funcId
    - classification
    argTypes:
    - int32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: isSpecificClassifyFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - fmIsUserDefinedFunc
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool isSpecificClassifyFunc(int32_t funcId, uint64_t classification)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: fmFuncMgtInit
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached:
    - taosThreadOnce
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmFuncMgtInit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:81,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:81,1
    - Dst: translateFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:85,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:90,1
    - Dst: translateFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pFunc
    - pMsg
    - msgLen
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 97
    functionName: fmGetFuncInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 18
    functionsReached:
    - strcmp
    - strlen
    - taosHashGet
    - translateFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetFuncInfo(SFunctionNode* pFunc, char* pMsg, int32_t msgLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: estimateReturnRowsFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:101,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:103,1
    - Dst: fmIsMultiRowsFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: fmGetFuncReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached:
    - fmIsMultiRowsFunc
    - fmIsIndefiniteRowsFunc
    - estimateReturnRowsFunc
    linkageType: ''
    returnType: EFuncReturnRows
    signature: EFuncReturnRows fmGetFuncReturnRows(SFunctionNode* pFunc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:108,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:109,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - funcId1
    - funcId2
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: canCoexistIndefiniteRowsFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: bool
    signature: bool canCoexistIndefiniteRowsFunc(int32_t funcId1, int32_t funcId2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:123,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: fmIsBuiltinFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - strlen
    - taosHashGet
    linkageType: ''
    returnType: bool
    signature: bool fmIsBuiltinFunc(const char* pFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:127,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: fmGetFuncType
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - strlen
    - taosHashGet
    linkageType: ''
    returnType: EFunctionType
    signature: EFunctionType fmGetFuncType(const char* pFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: fmGetFuncTypeFromId
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: EFunctionType
    signature: EFunctionType fmGetFuncTypeFromId(int32_t funcId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:142,1
    - Dst: dataRequiredFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pFunc
    - pTimeWindow
    argTypes:
    - SFunctionNode*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: fmFuncDataRequired
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached:
    - fmIsUserDefinedFunc
    - dataRequiredFunc
    linkageType: ''
    returnType: EFuncDataRequired
    signature: EFuncDataRequired fmFuncDataRequired(SFunctionNode* pFunc, STimeWindow*
      pTimeWindow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:152,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:157,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:157,1
    - Dst: dynDataRequiredFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - funcId
    - pRes
    - pBlockInfo
    argTypes:
    - int32_t
    - void*
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: fmFuncDynDataRequired
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - fmIsUserDefinedFunc
    - dynDataRequiredFunc
    - strcmp
    linkageType: ''
    returnType: EFuncDataRequired
    signature: EFuncDataRequired fmFuncDynDataRequired(int32_t funcId, void* pRes,
      SDataBlockInfo* pBlockInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SFuncExecFuncs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: fmGetFuncExecFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetFuncExecFuncs(int32_t funcId, SFuncExecFuncs* pFpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:185,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SFuncExecFuncs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 196
    functionName: fmGetUdafExecFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - fmIsUserDefinedFunc
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetUdafExecFuncs(int32_t funcId, SFuncExecFuncs* pFpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SScalarFuncExecFuncs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: fmGetScalarFuncExecFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 6
    functionsReached:
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetScalarFuncExecFuncs(int32_t funcId, SScalarFuncExecFuncs*
      pFpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: fmIsAggFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 9
    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:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: fmIsScalarFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 10
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsScalarFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:211,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: fmIsVectorFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    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:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: fmIsSelectColsFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    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:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: fmIsSelectFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 9
    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:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: fmIsTimelineFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    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:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: fmIsDateTimeFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsDateTimeFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: fmIsPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 14
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: fmIsScanPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: fmIsWindowPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 12
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsWindowPseudoColumnFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:227,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: fmIsWindowClauseFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - fmIsWindowPseudoColumnFunc
    - fmIsAggFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsWindowClauseFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowClauseFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:229,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: fmIsStreamWindowClauseFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - fmIsWindowClauseFunc
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsStreamWindowClauseFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:231,1
    - Dst: fmIsPlaceHolderFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: fmIsStreamVectorFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - fmIsVectorFunc
    - fmIsPlaceHolderFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsStreamVectorFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: fmIsIndefiniteRowsFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 13
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsIndefiniteRowsFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: fmIsSpecialDataRequiredFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsSpecialDataRequiredFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: fmIsDynamicScanOptimizedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsDynamicScanOptimizedFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 243
    functionName: fmIsMultiResFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsMultiResFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: fmIsRepeatScanFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsRepeatScanFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: fmIsUserDefinedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsUserDefinedFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: fmIsForbidFillFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsForbidFillFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: fmIsIntervalInterpoFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsIntervalInterpoFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: fmIsSystemInfoFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsSystemInfoFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: fmIsImplicitTsFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 5
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsImplicitTsFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: fmIsClientPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsClientPseudoColumnFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: fmIsMultiRowsFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsMultiRowsFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: fmIsKeepOrderFuncId
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsKeepOrderFuncId(int32_t funcId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:267,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:268,1
    - Dst: fmIsKeepOrderFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:277,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: fmIsKeepOrderFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached:
    - nodesListGetNode
    - fmIsKeepOrderFuncId
    - nodeType
    linkageType: ''
    returnType: bool
    signature: bool fmIsKeepOrderFunc(SFunctionNode* pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: fmIsCumulativeFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsCumulativeFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: fmIsForbidSysTableFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsForbidSysTableFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: fmIsInterpFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 6
    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:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: fmIsInterpPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsInterpPseudoColumnFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: fmIsForecastFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsForecastFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: fmIsAnalysisPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 5
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsAnalysisPseudoColumnFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: fmIsImputationCorrelationFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsImputationCorrelationFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: fmIsLastRowFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsLastRowFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: fmIsLastFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsLastFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 341
    functionName: fmIsNotNullOutputFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsNotNullOutputFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: fmIsSelectValueFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsSelectValueFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: fmIsGroupKeyFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsGroupKeyFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: fmIsHasNullFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsHasNullFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: fmisSelectGroupConstValueFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmisSelectGroupConstValueFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: fmIsElapsedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsElapsedFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: fmIsBlockDistFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsBlockDistFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: fmIsDBUsageFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    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:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: fmIsProcessByRowFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsProcessByRowFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: fmIsIgnoreNullFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsIgnoreNullFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:398,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: fmFuncMgtDestroy
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void fmFuncMgtDestroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SFuncExecFuncs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: fmSetNormalFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmSetNormalFunc(int32_t funcId, SFuncExecFuncs* pFpSet)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 432
    functionName: fmIsSameInOutType
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsSameInOutType(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:436,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: fmIsConstantResFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    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:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: fmIsSkipScanCheckFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsSkipScanCheckFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 446
    functionName: fmIsPrimaryKeyFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsPrimaryKeyFunc(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: fmIsPlaceHolderFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 19
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsPlaceHolderFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: fmIsPlaceHolderFuncForExternalWin
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsPlaceHolderFuncForExternalWin(int32_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pType
    - pkBytes
    argTypes:
    - SDataType*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: getLastCacheDataType
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached:
    - getFirstLastInfoSize
    linkageType: ''
    returnType: void
    signature: void getLastCacheDataType(SDataType* pType, int32_t pkBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: getFuncInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached:
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFuncInfo(SFunctionNode* pFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:470,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:474,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:476,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pName
    - pParameterList
    - ppFunc
    argTypes:
    - char*
    - SNodeList*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 469
    functionDepth: 5
    functionLinenumber: 469
    functionLinenumberEnd: 484
    functionName: createFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 5
    functionsReached:
    - nodesMakeNode
    - snprintf
    - getFuncInfo
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t createFunction(const char* pName, SNodeList* pParameterList,
      SFunctionNode** ppFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pFunc
    - pSrcFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: resetOutputChangedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetOutputChangedFunc(SFunctionNode *pFunc, const SFunctionNode*
      pSrcFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:494,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:503,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:505,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:508,1
    - Dst: resetOutputChangedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - pName
    - pSrcFunc
    - pParameterList
    - ppFunc
    argTypes:
    - char*
    - SFunctionNode*
    - SNodeList*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 493
    functionDepth: 5
    functionLinenumber: 493
    functionLinenumberEnd: 516
    functionName: createFunctionWithSrcFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - resetOutputChangedFunc
    - nodesMakeNode
    - snprintf
    - getFuncInfo
    - nodesDestroyNode
    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:519,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pFunc
    - ppCol
    argTypes:
    - SFunctionNode*
    - SColumnNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 5
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: createColumnByFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createColumnByFunc(const SFunctionNode* pFunc, SColumnNode**
      ppCol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:529,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 528
    functionDepth: 4
    functionLinenumber: 528
    functionLinenumberEnd: 536
    functionName: fmIsDistExecFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached:
    - fmIsUserDefinedFunc
    - fmIsVectorFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsDistExecFunc(int32_t funcId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:540,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:545,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:547,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:554,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:555,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pSrcFunc
    - pPartialFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 538
    functionDepth: 6
    functionLinenumber: 538
    functionLinenumberEnd: 560
    functionName: createPartialFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - taosHashBinary
    - nodesDestroyList
    - snprintf
    - tstrncpy
    - createFunctionWithSrcFunc
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: int32_t createPartialFunction(const SFunctionNode* pSrcFunc, SFunctionNode**
      pPartialFunc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createColumnByFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:565,1
    - Dst: createMergeParaFuc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:570,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pSrcFunc
    - pPartialFunc
    - pParameterList
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 562
    functionDepth: 6
    functionLinenumber: 562
    functionLinenumberEnd: 574
    functionName: createMergeFuncPara
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - createColumnByFunc
    - createMergeParaFuc
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createMergeFuncPara(const SFunctionNode* pSrcFunc, const SFunctionNode*
      pPartialFunc,\n                                   SNodeList** pParameterList)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createMergeFuncPara
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:581,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:584,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:586,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:590,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pSrcFunc
    - pPartialFunc
    - pMidFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 576
    functionDepth: 7
    functionLinenumber: 576
    functionLinenumberEnd: 599
    functionName: createMidFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - createFunctionWithSrcFunc
    - tstrncpy
    - createMergeFuncPara
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createMidFunction(const SFunctionNode* pSrcFunc, const SFunctionNode*
      pPartialFunc,\n                                 SFunctionNode** pMidFunc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createMergeFuncPara
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:606,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:608,1
    - Dst: fmIsSameInOutType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:614,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:617,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pSrcFunc
    - pPartialFunc
    - pMergeFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 601
    functionDepth: 7
    functionLinenumber: 601
    functionLinenumberEnd: 626
    functionName: createMergeFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - fmIsSameInOutType
    - tstrncpy
    - createFunctionWithSrcFunc
    - createMergeFuncPara
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createMergeFunction(const SFunctionNode* pSrcFunc, const SFunctionNode*
      pPartialFunc,\n                                   SFunctionNode** pMergeFunc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fmIsDistExecFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:630,1
    - Dst: createPartialFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:634,1
    - Dst: createMidFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:636,1
    - Dst: createMergeFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:639,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:643,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:644,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:645,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - pFunc
    - pPartialFunc
    - pMidFunc
    - pMergeFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    - SFunctionNode**
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 628
    functionDepth: 8
    functionLinenumber: 628
    functionLinenumberEnd: 649
    functionName: fmGetDistMethod
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 6
    functionsReached:
    - createMergeFunction
    - fmIsDistExecFunc
    - createPartialFunction
    - createMidFunction
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t fmGetDistMethod(const SFunctionNode* pFunc, SFunctionNode**
      pPartialFunc, SFunctionNode** pMidFunc,\n                        SFunctionNode**
      pMergeFunc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: fmGetFuncName
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached:
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: char
    signature: char * fmGetFuncName(int32_t funcId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:663,1
    - Dst: createFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:665,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:667,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:670,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pFunc
    - pStateFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 660
    functionDepth: 6
    functionLinenumber: 660
    functionLinenumberEnd: 674
    functionName: fmCreateStateFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - createFunction
    - nodesDestroyList
    - nodesCloneList
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmCreateStateFunc(const SFunctionNode* pFunc, SFunctionNode**
      pStateFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - func_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 676
    functionName: fmIsTSMASupportedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 4
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsTSMASupportedFunc(func_id_t funcId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - func_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 678
    functionName: fmIsRsmaSupportedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsRsmaSupportedFunc(func_id_t funcId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:686,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:688,1
    - Dst: fmCreateStateFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:690,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:698,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:699,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 680
    functionDepth: 7
    functionLinenumber: 680
    functionLinenumberEnd: 704
    functionName: fmCreateStateFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - fmGetFuncInfo
    - REPLACE_NODE
    - fmCreateStateFunc
    - nodesDestroyNode
    - fmIsTSMASupportedFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmCreateStateFuncs(SNodeList* pFuncs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:686,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:688,1
    - Dst: fmCreateStateFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:690,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:698,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:699,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 684
    functionDepth: 7
    functionLinenumber: 684
    functionLinenumberEnd: 702
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 278
    functionsReached:
    - fmGetFuncInfo
    - REPLACE_NODE
    - fmCreateStateFunc
    - nodesDestroyNode
    - fmIsTSMASupportedFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:709,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:711,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:713,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:716,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pFunc
    - pStateMergeFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 706
    functionDepth: 6
    functionLinenumber: 706
    functionLinenumberEnd: 720
    functionName: fmCreateStateMergeFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - nodesDestroyList
    - createFunctionWithSrcFunc
    - nodesCloneList
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmCreateStateMergeFunc(SFunctionNode* pFunc, SFunctionNode**
      pStateMergeFunc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:728,1
    - Dst: fmCreateStateMergeFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:730,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:738,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 722
    functionDepth: 7
    functionLinenumber: 722
    functionLinenumberEnd: 744
    functionName: fmCreateStateMergeFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - fmCreateStateMergeFunc
    - REPLACE_NODE
    - nodesDestroyNode
    - fmIsTSMASupportedFunc
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmCreateStateMergeFuncs(SNodeList* pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:728,1
    - Dst: fmCreateStateMergeFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:730,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:738,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 726
    functionDepth: 7
    functionLinenumber: 726
    functionLinenumberEnd: 742
    functionName: FOREACH
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 278
    functionsReached:
    - fmCreateStateMergeFunc
    - REPLACE_NODE
    - nodesDestroyNode
    - fmIsTSMASupportedFunc
    linkageType: ''
    returnType: void
    signature: void FOREACH(pNode, pFuncs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:748,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:748,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 760
    functionName: fmGetFuncId
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached:
    - strlen
    - taosHashGet
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetFuncId(const char* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 768
    functionName: fmGetTwstartFuncId
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached:
    - fmGetFuncId
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetTwstartFuncId()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 776
    functionName: fmGetTwendFuncId
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached:
    - fmGetFuncId
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetTwendFuncId()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 784
    functionName: fmGetTwdurationFuncId
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached:
    - fmGetFuncId
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetTwdurationFuncId()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 792
    functionName: fmGetExternalWindowColumnFuncId
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached:
    - fmGetFuncId
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetExternalWindowColumnFuncId()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:800,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:801,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - funcId
    - stateFuncId
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 807
    functionName: fmIsMyStateFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 2
    functionsReached:
    - fmGetFuncId
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool fmIsMyStateFunc(int32_t funcId, int32_t stateFuncId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: fmIsCountLikeFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: bool fmIsCountLikeFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 818
    functionName: fmIsRowTsOriginFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsRowTsOriginFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: fmIsGroupIdFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsGroupIdFunc(int32_t funcId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:828,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:832,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pStreamRuntimeFuncInfo
    - index
    argTypes:
    - SStreamRuntimeFuncInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 833
    functionName: fmGetExternalWindowColumnFuncVal
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: void * fmGetExternalWindowColumnFuncVal(const SStreamRuntimeFuncInfo*
      pStreamRuntimeFuncInfo, int32_t index)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 2
    argNames:
    - funcId
    - pStreamRuntimeFuncInfo
    argTypes:
    - int32_t
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 883
    functionName: fmGetStreamPesudoFuncVal
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: void * fmGetStreamPesudoFuncVal(int32_t funcId, const SStreamRuntimeFuncInfo*
      pStreamRuntimeFuncInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 891
    functionName: fmIsStreamPesudoColVal
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fmIsStreamPesudoColVal(int32_t funcId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:895,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:899,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:899,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:901,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - funcId
    - pParamNodes
    - pEnv
    argTypes:
    - int32_t
    - SNodeList*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 909
    functionName: fmGetStreamPesudoFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 1
    functionsReached:
    - nodeType
    - uError
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmGetStreamPesudoFuncEnv(int32_t funcId, SNodeList* pParamNodes,
      SFuncExecEnv *pEnv)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:914,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:919,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:920,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:921,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:921,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:926,1
    - Dst: fmGetStreamPesudoFuncVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:930,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:932,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:932,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:934,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:934,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:938,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:939,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:940,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:940,1
    - Dst: fmGetStreamPesudoFuncVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:943,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:945,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:946,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:946,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:949,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:951,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:951,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:956,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:959,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:960,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:964,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:966,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:966,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:967,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:969,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:969,1
    - Dst: fmGetStreamPesudoFuncVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:974,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:975,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:976,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:978,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:979,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:984,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:984,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:985,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:990,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:991,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:992,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:996,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:997,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:998,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:999,1
    - Dst: fmGetExternalWindowColumnFuncVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1004,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1006,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1013,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1016,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1020,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1022,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1024,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1028,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1028,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1031,1
    - Dst: fmGetStreamPesudoFuncVal
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1033,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1035,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1038,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1040,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1040,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:1044,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 113
    argCount: 3
    argNames:
    - funcId
    - pParamNodes
    - pStreamRuntimeInfo
    argTypes:
    - int32_t
    - SNodeList*
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 1049
    functionName: fmSetStreamPseudoFuncParamVal
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: 3
    functionsReached:
    - nodesListGetNode
    - taosMemoryFreeClear
    - nodesSetValueNodeValue
    - nodeType
    - memcpy
    - taosArrayGet
    - uDebug
    - LIST_LENGTH
    - varDataLen
    - taosArrayGetSize
    - varDataVal
    - taosMemoryCalloc
    - uError
    - taosMemoryMalloc
    - fmGetExternalWindowColumnFuncVal
    - fmGetStreamPesudoFuncVal
    - VALUE_GET_DATUM
    - taosMemoryFree
    - tstrerror
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t fmSetStreamPseudoFuncParamVal(int32_t funcId, SNodeList* pParamNodes,
      const SStreamRuntimeFuncInfo* pStreamRuntimeInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - numOfSlots
    - slotIndex
    - times
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: getGroupId
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getGroupId(int32_t numOfSlots, int32_t slotIndex, int32_t times)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:34,1
    - Dst: getGroupId
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:39,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:42,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:46,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:51,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:52,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:54,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:58,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:60,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:64,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pMemBucket
    - slotIdx
    - buffer
    argTypes:
    - tMemBucket*
    - int32_t
    - SFilePage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 70
    functionName: loadDataFromFilePage
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - memcpy
    - taosArrayGet
    - taosHashGet
    - getGroupId
    - taosMemoryFree
    - taosArrayGetSize
    - taosSort
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t loadDataFromFilePage(tMemBucket *pMemBucket, int32_t slotIdx,
      SFilePage ** buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:73,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - range
    - type
    argTypes:
    - MinMaxEntry*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: resetBoundingBox
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: void
    signature: void resetBoundingBox(MinMaxEntry *range, int32_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:90,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - range
    - type
    - minval
    - maxval
    argTypes:
    - MinMaxEntry*
    - int16_t
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: setBoundingBox
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t setBoundingBox(MinMaxEntry *range, int16_t type, double minval,
      double maxval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SSlotInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: resetPosInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void resetPosInfo(SSlotInfo *pInfo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:112,1
    - Dst: getGroupId
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:123,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:124,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:128,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:132,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:136,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:141,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:142,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - pMemBucket
    - result
    argTypes:
    - tMemBucket*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 153
    functionName: findOnlyResult
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - taosArrayGet
    - qError
    - taosHashGet
    - getGroupId
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: int32_t findOnlyResult(tMemBucket *pMemBucket, double *result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - pBucket
    - value
    - index
    argTypes:
    - tMemBucket*
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 185
    functionName: tBucketIntHash
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBucketIntHash(tMemBucket *pBucket, const void *value, int32_t
      *index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pBucket
    - value
    - index
    argTypes:
    - tMemBucket*
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 215
    functionName: tBucketUintHash
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBucketUintHash(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:220,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:222,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:227,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:227,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:233,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:235,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:240,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - pBucket
    - value
    - index
    argTypes:
    - tMemBucket*
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 250
    functionName: tBucketDoubleHash
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - fabs
    - qError
    - isnan
    - GET_DOUBLE_VAL
    - GET_FLOAT_VAL
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBucketDoubleHash(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:253,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: getHashFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: __perc_hash_func_t
    signature: __perc_hash_func_t getHashFunc(int32_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetBoundingBox
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:266,1
    - Dst: resetPosInfo
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pBucket
    argTypes:
    - tMemBucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: resetSlotInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - resetPosInfo
    - resetBoundingBox
    linkageType: ''
    returnType: void
    signature: void resetSlotInfo(tMemBucket *pBucket)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:273,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:292,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:292,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:294,1
    - Dst: setBoundingBox
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:297,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:299,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:304,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:306,1
    - Dst: getHashFunc
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:308,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:311,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:315,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:317,1
    - Dst: resetSlotInfo
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:321,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:323,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:325,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:329,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:331,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 8
    argNames:
    - nElemSize
    - dataType
    - typeMod
    - minval
    - maxval
    - hasWindowOrGroup
    - pBucket
    - numOfElements
    argTypes:
    - int32_t
    - int16_t
    - STypeMod
    - double
    - double
    - bool
    - tMemBucket**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 337
    functionName: tMemBucketCreate
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - osTempSpaceAvailable
    - TMIN
    - getKeyComparFunc
    - getHashFunc
    - taosHashInit
    - resetSlotInfo
    - createDiskbasedBuf
    - tMemBucketDestroy
    - taosGetDefaultHashFunction
    - setBoundingBox
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tMemBucketCreate(int32_t nElemSize, int16_t dataType, STypeMod
      typeMod, double minval, double maxval, bool hasWindowOrGroup,\n                         tMemBucket
      **pBucket, int32_t numOfElements)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:344,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:347,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:348,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:351,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:352,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:353,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pBucket
    argTypes:
    - tMemBucket**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 355
    functionName: tMemBucketDestroy
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 1
    functionsReached:
    - taosHashIterate
    - taosMemoryFreeClear
    - destroyDiskbasedBuf
    - taosHashCleanup
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tMemBucketDestroy(tMemBucket **pBucket)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:359,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:370,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:381,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:393,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - r
    - data
    - pBucket
    argTypes:
    - MinMaxEntry*
    - char*
    - tMemBucket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 397
    functionName: tMemBucketUpdateBoundingBox
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - qError
    linkageType: ''
    returnType: int32_t
    signature: int32_t tMemBucketUpdateBoundingBox(MinMaxEntry *r, const char *data,
      tMemBucket* pBucket)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tMemBucketUpdateBoundingBox
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:420,1
    - Dst: getGroupId
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:426,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:432,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:438,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:439,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:444,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:446,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:450,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:452,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:459,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:464,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:465,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:470,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 3
    argNames:
    - pBucket
    - data
    - size
    argTypes:
    - tMemBucket*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 478
    functionName: tMemBucketPut
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - releaseBufPage
    - memcpy
    - qError
    - taosHashGet
    - tMemBucketUpdateBoundingBox
    - getNewBufPage
    - getGroupId
    - setBufPageDirty
    - taosArrayInit
    - taosArrayDestroy
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t tMemBucketPut(tMemBucket *pBucket, const void *data, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pMemBucket
    - slotIdx
    - next
    argTypes:
    - tMemBucket*
    - int32_t
    - MinMaxEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 500
    functionName: getMinMaxEntryOfNextSlotWithData
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 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:508,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pMemBucket
    - slotIndex
    argTypes:
    - tMemBucket*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 517
    functionName: getIdenticalDataVal
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: double
    signature: double getIdenticalDataVal(tMemBucket *pMemBucket, int32_t slotIndex)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: getMinMaxEntryOfNextSlotWithData
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:536,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:543,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:546,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:555,1
    - Dst: loadDataFromFilePage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:566,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:581,1
    - Dst: isIdenticalData
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:585,1
    - Dst: getIdenticalDataVal
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:586,1
    - Dst: tMemBucketCreate
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:591,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:594,1
    - Dst: getGroupId
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:597,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:600,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:604,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:608,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:613,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:615,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:618,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:620,1
    - Dst: tMemBucketPut
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:624,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:626,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:629,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:630,1
    - Dst: getPercentileImpl
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:632,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:633,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 4
    argNames:
    - pMemBucket
    - count
    - fraction
    - result
    argTypes:
    - tMemBucket*
    - int32_t
    - double
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 643
    functionName: getPercentileImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 1
    functionsReached:
    - getBufPage
    - isIdenticalData
    - taosMemoryFreeClear
    - IS_SIGNED_NUMERIC_TYPE
    - taosArrayGet
    - releaseBufPage
    - getMinMaxEntryOfNextSlotWithData
    - qError
    - taosHashGet
    - getPercentileImpl
    - IS_UNSIGNED_NUMERIC_TYPE
    - getGroupId
    - setBufPageDirty
    - tMemBucketDestroy
    - tMemBucketPut
    - loadDataFromFilePage
    - getIdenticalDataVal
    - tMemBucketCreate
    linkageType: ''
    returnType: int32_t
    signature: int32_t getPercentileImpl(tMemBucket *pMemBucket, int32_t count, double
      fraction, double *result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: findOnlyResult
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:653,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:656,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:659,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:662,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:663,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:664,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:665,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:667,1
    - Dst: getPercentileImpl
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pMemBucket
    - percent
    - result
    argTypes:
    - tMemBucket*
    - double
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 645
    functionDepth: 4
    functionLinenumber: 645
    functionLinenumberEnd: 678
    functionName: getPercentile
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 0
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - fabs
    - findOnlyResult
    - getPercentileImpl
    - IS_UNSIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t getPercentile(tMemBucket *pMemBucket, double percent, double
      *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:686,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pMemBucket
    - index
    argTypes:
    - tMemBucket*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 691
    functionName: isIdenticalData
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: 1
    functionsReached:
    - IS_FLOAT_TYPE
    - fabs
    linkageType: ''
    returnType: bool
    signature: bool isIdenticalData(tMemBucket *pMemBucket, int32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ignoreOption
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ignoreNegative
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ignoreNegative(int8_t ignoreOption)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ignoreOption
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ignoreNull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ignoreNull(int8_t ignoreOption)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _info
    - ','
    - numOfElem
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: SET_VAL
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_VAL(_info, numOfElem, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: GET_TS_LIST
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_TS_LIST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: GET_TS_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_TS_DATA(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: DO_UPDATE_SUBSID_RES
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_UPDATE_SUBSID_RES(ctx, ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - ctx
    - ','
    - left
    - ','
    - right
    - ','
    - num
    - ','
    - sign
    - ','
    - _ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: UPDATE_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_DATA(ctx, left, right, num, sign, _ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - val
    - ','
    - _col
    - ','
    - ctx
    - ','
    - _t
    - ','
    - _nrow
    - ','
    - _start
    - ','
    - sign
    - ','
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: LOOPCHECK_N
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOPCHECK_N(val, _col, ctx, _t, _nrow, _start, sign, num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - _res
    - ','
    - _col
    - ','
    - _start
    - ','
    - _rows
    - ','
    - _t
    - ','
    - numOfElem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: LIST_ADD_N
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_ADD_N(_res, _col, _start, _rows, _t, numOfElem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - _res
    - ','
    - _col
    - ','
    - _start
    - ','
    - _rows
    - ','
    - _t
    - ','
    - numOfElem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: LIST_ADD_DECIMAL_N
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_ADD_DECIMAL_N(_res, _col, _start, _rows, _t, numOfElem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - _res
    - ','
    - _col
    - ','
    - _start
    - ','
    - _rows
    - ','
    - _t
    - ','
    - numOfElem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: LIST_SUB_N
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_SUB_N(_res, _col, _start, _rows, _t, numOfElem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sumT
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: LIST_STDDEV_SUB_N
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_STDDEV_SUB_N(sumT, T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p
    - ','
    - x
    - ','
    - y
    - ','
    - index
    - ','
    - step
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: LEASTSQR_CAL
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEASTSQR_CAL(p, x, y, index, step)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _op
    - ','
    - _lval
    - ','
    - _param
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: STATE_COMP
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_COMP(_op, _lval, _param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: GET_STATE_VAL
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_STATE_VAL(param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _op
    - ','
    - _lval
    - ','
    - _rval
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 192
    functionName: STATE_COMP_IMPL
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATE_COMP_IMPL(_op, _lval, _rval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _p
    - ','
    - _k
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: INIT_INTP_POINT
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_INTP_POINT(_p, _k, _v)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: funcInputUpdate
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void funcInputUpdate(SqlFunctionCtx* pCtx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:239,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:240,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:245,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:247,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:249,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:252,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:253,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:255,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:257,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:258,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: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:264,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:281,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:282,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:283,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:300,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:301,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:302,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:311,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:312,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:314,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:317,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:317,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:319,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:322,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:325,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:325,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:327,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 97
    argCount: 3
    argNames:
    - pIter
    - pRow
    - res
    argTypes:
    - SFuncInputRowIter*
    - SFuncInputRow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 332
    functionName: funcInputGetNextRowDescPk
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - colDataGetData
    - blockDataExtractBlock
    - qError
    - taosMemoryFree
    - colDataIsNull_s
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t funcInputGetNextRowDescPk(SFuncInputRowIter* pIter, SFuncInputRow*
      pRow, bool* res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pIter
    - rowIndex
    argTypes:
    - SFuncInputRowIter*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: forwardToNextDiffTsRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void forwardToNextDiffTsRow(SFuncInputRowIter* pIter, int32_t rowIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:345,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:346,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - pRow
    - pIter
    - rowIndex
    - setPk
    argTypes:
    - SFuncInputRow*
    - SFuncInputRowIter*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 350
    functionName: setInputRowInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_s
    - colDataGetData
    linkageType: ''
    returnType: void
    signature: void setInputRowInfo(SFuncInputRow* pRow, SFuncInputRowIter* pIter,
      int32_t rowIndex, bool setPk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setInputRowInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:364,1
    - Dst: forwardToNextDiffTsRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:365,1
    - Dst: setInputRowInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:370,1
    - Dst: forwardToNextDiffTsRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - pIter
    - pRow
    argTypes:
    - SFuncInputRowIter*
    - SFuncInputRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 386
    functionName: funcInputGetNextRowAscPk
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - forwardToNextDiffTsRow
    - setInputRowInfo
    linkageType: ''
    returnType: bool
    signature: bool funcInputGetNextRowAscPk(SFuncInputRowIter* pIter, SFuncInputRow*
      pRow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setInputRowInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pIter
    - pRow
    argTypes:
    - SFuncInputRowIter*
    - SFuncInputRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: funcInputGetNextRowNoPk
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - setInputRowInfo
    linkageType: ''
    returnType: bool
    signature: bool funcInputGetNextRowNoPk(SFuncInputRowIter* pIter, SFuncInputRow*
      pRow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: funcInputGetNextRowDescPk
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:402,1
    - Dst: funcInputGetNextRowAscPk
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:405,1
    - Dst: funcInputGetNextRowNoPk
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pCtx
    - pRow
    - res
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 412
    functionName: funcInputGetNextRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - funcInputGetNextRowNoPk
    - funcInputGetNextRowAscPk
    - funcInputGetNextRowDescPk
    linkageType: ''
    returnType: int32_t
    signature: int32_t funcInputGetNextRow(SqlFunctionCtx* pCtx, SFuncInputRow* pRow,
      bool* res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:428,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:433,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:438,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:442,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:443,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - pCtx
    - pSrcBlock
    - rowIndex
    - pos
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 452
    functionName: appendSelectivityCols
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosArrayGet
    - colDataGetData
    - colDataSetVal
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendSelectivityCols(SqlFunctionCtx* pCtx, SSDataBlock* pSrcBlock,
      int32_t rowIndex, int32_t pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:465,1
    - Dst: initResultRowEntry
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 470
    functionName: functionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memset
    - initResultRowEntry
    linkageType: ''
    returnType: int32_t
    signature: int32_t functionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo* pResultInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:475,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:479,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:482,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 486
    functionName: functionFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    - taosArrayGet
    - colDataSetVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t functionFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:489,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:490,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:493,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:494,1
    - Dst: firstLastTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:496,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: firstCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - firstLastTransferInfoImpl
    - TMAX
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t firstCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:505,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:509,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCtx
    - pBlock
    - finalResult
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 516
    functionName: functionFinalizeWithResultBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - taosArrayGet
    - colDataSetVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t functionFinalizeWithResultBuf(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock, char* finalResult)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:519,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pFunc
    - pTimeWindow
    argTypes:
    - SFunctionNode*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: countDataRequired
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodeType
    linkageType: ''
    returnType: EFuncDataRequired
    signature: EFuncDataRequired countDataRequired(SFunctionNode* pFunc, STimeWindow*
      pTimeWindow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: getCountFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getCountFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:549,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 561
    functionName: getNumOfElems
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataIsNull
    linkageType: ''
    returnType: int64_t
    signature: int64_t getNumOfElems(SqlFunctionCtx* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:570,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:575,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:577,1
    - Dst: getNumOfElems
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:582,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:585,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 594
    functionName: countFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - taosSetInt64Aligned
    - GET_RES_INFO
    - getNumOfElems
    linkageType: ''
    returnType: int32_t
    signature: int32_t countFunction(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:597,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:598,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:600,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:601,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: combineFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - SET_VAL
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t combineFunction(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:617,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:617,1
    - Dst: SUM_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:618,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:620,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:628,1
    - Dst: SUM_RES_INC_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:629,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:630,1
    - Dst: SUM_RES_INC_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:631,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:632,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:633,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:633,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:634,1
    - Dst: SUM_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:635,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:636,1
    - Dst: decimal128AddCheckOverflow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:637,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:637,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:638,1
    - Dst: SDecimalOps*::add
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:641,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:641,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:641,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:649,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:659,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:673,1
    - Dst: SUM_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:674,1
    - Dst: LIST_ADD_DECIMAL_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:677,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:677,1
    - Dst: LIST_ADD_DECIMAL_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:679,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:679,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:686,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:686,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:686,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:686,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:686,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:693,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:698,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:698,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 85
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 608
    functionDepth: 4
    functionLinenumber: 608
    functionLinenumberEnd: 700
    functionName: sumFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - SUM_RES_GET_DSUM
    - SUM_RES_INC_USUM
    - LIST_ADD_DECIMAL_N
    - SUM_RES_SET_TYPE
    - decimal128AddCheckOverflow
    - getDecimalOps
    - GET_ROWCELL_INTERBUF
    - SUM_RES_INC_DSUM
    - IS_DECIMAL_TYPE
    - IS_NULL_TYPE
    - SUM_RES_GET_DECIMAL_SUM
    - SUM_RES_INC_ISUM
    - fmIsCountLikeFunc
    - IS_UNSIGNED_NUMERIC_TYPE
    - DECIMAL_WORD_NUM
    - isnan
    - SDecimalOps*::add
    - isinf
    - IS_SIGNED_NUMERIC_TYPE
    - SET_VAL
    - IS_FLOAT_TYPE
    - GET_DOUBLE_VAL
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t sumFunction(SqlFunctionCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:703,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:704,1
    - Dst: SUM_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:705,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:707,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:708,1
    - Dst: SUM_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:709,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:711,1
    - Dst: SUM_RES_INC_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:712,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:712,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:713,1
    - Dst: SUM_RES_INC_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:714,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:714,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:715,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:717,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:717,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:719,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:719,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:721,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 724
    functionName: sumCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - SUM_RES_GET_DECIMAL_SUM
    - SUM_RES_GET_DSUM
    - IS_SIGNED_NUMERIC_TYPE
    - SUM_RES_INC_USUM
    - SUM_RES_GET_USUM
    - TMAX
    - SUM_RES_INC_ISUM
    - SUM_RES_INC_DECIMAL_SUM
    - GET_ROWCELL_INTERBUF
    - IS_UNSIGNED_NUMERIC_TYPE
    - SUM_RES_GET_ISUM
    - SUM_RES_GET_TYPE
    - GET_RES_INFO
    - SUM_RES_INC_DSUM
    linkageType: ''
    returnType: int32_t
    signature: int32_t sumCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUM_RES_GET_SIZE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: getSumFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - SUM_RES_GET_SIZE
    linkageType: ''
    returnType: bool
    signature: bool getSumFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:745,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:746,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 754
    functionName: funcNotSupportStringSma
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesIsExprNode
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: bool funcNotSupportStringSma(SFunctionNode* pFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: funcNotSupportStringSma
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pFunc
    - pTimeWindow
    argTypes:
    - SFunctionNode*
    - STimeWindow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 756
    functionDepth: 3
    functionLinenumber: 756
    functionLinenumberEnd: 761
    functionName: statisDataRequired
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    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:767,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 779
    functionName: minmaxFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t minmaxFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPILE_TIME_ASSERT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 785
    functionName: getMinmaxFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - COMPILE_TIME_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool getMinmaxFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doMinMaxHelper
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:789,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:793,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 795
    functionName: minFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - doMinMaxHelper
    - SET_VAL
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t minFunction(SqlFunctionCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doMinMaxHelper
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:799,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:803,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 805
    functionName: maxFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - doMinMaxHelper
    - SET_VAL
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t maxFunction(SqlFunctionCtx* pCtx)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:814,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:815,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:820,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:836,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:840,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:845,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:848,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:851,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:852,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:858,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:865,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:868,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:872,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:875,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:875,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:878,1
    - Dst: setNullSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:880,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 885
    functionName: minmaxFunctionFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - setSelectivityValue
    - taosMemoryFreeClear
    - taosArrayGet
    - colDataSetDouble
    - colDataSetInt32
    - colDataSetFloat
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - colDataSetInt16
    - colDataSetInt8
    - setNullSelectivityValue
    - GET_RES_INFO
    - IS_VAR_DATA_TYPE
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int32_t
    signature: int32_t minmaxFunctionFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:896,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pCtx
    - pBlock
    - rowIndex
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 904
    functionName: setNullSelectivityValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - colDataSetNULL
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t setNullSelectivityValue(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock, int32_t rowIndex)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: loadTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:915,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:917,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:917,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:930,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:935,1
    - Dst: colDataSetValOrCover
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:937,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - pCtx
    - pBlock
    - pTuplePos
    - rowIndex
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    - STuplePos*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 947
    functionName: setSelectivityValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - colDataSetNULL
    - colDataSetValOrCover
    - taosArrayGet
    - loadTupleData
    - qError
    - terrstr
    linkageType: ''
    returnType: int32_t
    signature: int32_t setSelectivityValue(SqlFunctionCtx* pCtx, SSDataBlock* pBlock,
      const STuplePos* pTuplePos, int32_t rowIndex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:964,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:969,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:974,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:979,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:980,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pCtx
    - rowIndex
    - pos
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 989
    functionName: appendSelectivityValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosArrayGet
    - colDataGetData
    - colDataSetVal
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t appendSelectivityValue(SqlFunctionCtx* pCtx, int32_t rowIndex,
      int32_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDestPos
    - pSourcePos
    argTypes:
    - STuplePos*
    - STuplePos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 991
    functionName: replaceTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void replaceTupleData(STuplePos* pDestPos, STuplePos* pSourcePos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 994
    functionName: COMPARE_MINMAX_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_MINMAX_DATA(type)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:995,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:996,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:998,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:999,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1008,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1016,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1024,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1033,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1041,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1047,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1049,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1049,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1051,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1056,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1057,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1057,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1059,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1060,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1065,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1066,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1066,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1067,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1072,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 3
    argNames:
    - pDestCtx
    - pSourceCtx
    - isMinFunc
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1075
    functionName: minMaxCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - replaceTupleData
    - memcpy
    - TMAX
    - getDecimalOps
    - SDecimalOps*::lt
    - GET_ROWCELL_INTERBUF
    - varDataLen
    - DECIMAL_WORD_NUM
    - GET_RES_INFO
    - strcmp
    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:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1077
    functionDepth: 3
    functionLinenumber: 1077
    functionLinenumberEnd: 1079
    functionName: minCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - minMaxCombine
    linkageType: ''
    returnType: int32_t
    signature: int32_t minCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minMaxCombine
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1080
    functionDepth: 3
    functionLinenumber: 1080
    functionLinenumberEnd: 1082
    functionName: maxCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - minMaxCombine
    linkageType: ''
    returnType: int32_t
    signature: int32_t maxCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1084
    functionName: getStdInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getStdInfoSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1089
    functionName: getStdFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getStdFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1095,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1099,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1091
    functionDepth: 3
    functionLinenumber: 1091
    functionLinenumberEnd: 1102
    functionName: stdFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - memset
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t stdFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1111,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1111,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1120,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1129,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1152,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1174,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1197,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1219,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1242,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1264,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1287,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1309,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1331,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1356,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1356,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 175
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1358
    functionName: stdFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - colDataIsNull_f
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t stdFunction(SqlFunctionCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SStdRes*
    - SStdRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1384
    functionName: stdTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    linkageType: ''
    returnType: void
    signature: void stdTransferInfo(SStdRes* pInput, SStdRes* pOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1390,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1391,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1391,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1399,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1399,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1402,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1403,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1404,1
    - Dst: stdTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1405,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1408,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1410
    functionName: stdFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - stdTransferInfo
    - IS_NULL_TYPE
    - colDataGetData
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - varDataVal
    - colDataIsNull_s
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t stdFunctionMerge(SqlFunctionCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1414,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1414,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1419,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1421,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1427,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1431,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1431,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1432,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1412
    functionDepth: 2
    functionLinenumber: 1412
    functionLinenumberEnd: 1436
    functionName: stddevFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    - sqrt
    - isnan
    - GET_RES_INFO
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t stddevFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1440,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1440,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1445,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1446,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1456,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1456,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1457,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1461
    functionName: stdvarFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    - isnan
    - GET_RES_INFO
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t stdvarFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1464,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1465,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1465,1
    - Dst: getStdInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1466,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1467,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1472,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1472,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1473,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1476,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1478,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1482,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1486
    functionName: stdPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - taosMemoryFree
    - varDataVal
    - getStdInfoSize
    - taosMemoryCalloc
    - GET_RES_INFO
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t stdPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1489,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1490,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1492,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1493,1
    - Dst: stdTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1496,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1501
    functionName: stdCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - TMAX
    - stdTransferInfo
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t stdCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1505,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1505,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1509,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1510,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1516,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1520,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1520,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1521,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1525
    functionName: stddevsampFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    - sqrt
    - isnan
    - GET_RES_INFO
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t stddevsampFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1529,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1529,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1533,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1534,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1544,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1544,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1545,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1527
    functionDepth: 2
    functionLinenumber: 1527
    functionLinenumberEnd: 1549
    functionName: stdvarsampFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    - isnan
    - GET_RES_INFO
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t stdvarsampFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1554
    functionName: gconcatGetFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gconcatGetFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1560,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1564,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1556
    functionDepth: 3
    functionLinenumber: 1556
    functionLinenumberEnd: 1581
    functionName: gconcatFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - memset
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t gconcatFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1589,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1589,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1593,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1595,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1595,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1597,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1600,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1600,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1602,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1604,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1604,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1604,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1604,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - input
    - output
    - hasNchar
    - type
    - dataLen
    - charsetCxt
    argTypes:
    - char*
    - char*
    - bool
    - int32_t
    - VarDataLenT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1609
    functionName: gconcatHelper
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - varDataLen
    - taosMemoryFree
    - varDataVal
    - taosMbsToUcs4
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t gconcatHelper(const char* input, char* output, bool hasNchar,
      int32_t type, VarDataLenT* dataLen,\n                             void* charsetCxt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1617,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1618,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1625,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1630,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1641,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1650,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1659,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1659,1
    - Dst: gconcatHelper
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1665,1
    - Dst: gconcatHelper
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1672,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1672,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1683,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1690,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1690,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1611
    functionDepth: 2
    functionLinenumber: 1611
    functionLinenumberEnd: 1692
    functionName: gconcatFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataGetData
    - SET_VAL
    - varDataLen
    - GET_ROWCELL_INTERBUF
    - gconcatHelper
    - colDataIsNull_s
    - taosMemoryCalloc
    - GET_RES_INFO
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t gconcatFunction(SqlFunctionCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1697,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1697,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1698,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1700,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1703,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1708,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1694
    functionDepth: 1
    functionLinenumber: 1694
    functionLinenumberEnd: 1713
    functionName: gconcatFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - taosMemoryFree
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t gconcatFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1718
    functionName: getLeastSQRFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getLeastSQRFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1724,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1728,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1730,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1731,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1732,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1720
    functionDepth: 3
    functionLinenumber: 1720
    functionLinenumberEnd: 1735
    functionName: leastSQRFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - typeGetTypeModFromCol
    - GET_TYPED_DATA
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t leastSQRFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1743,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1743,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1757,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1761,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1768,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1773,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1781,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1786,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1794,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1799,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1807,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1811,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1818,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1823,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1831,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1836,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1844,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1849,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1857,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1862,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1870,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1875,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1880,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1892,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1892,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 115
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1737
    functionDepth: 1
    functionLinenumber: 1737
    functionLinenumberEnd: 1895
    functionName: leastSQRFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - SET_VAL
    - LEASTSQR_CAL
    - GET_ROWCELL_INTERBUF
    - colDataIsNull_f
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t leastSQRFunction(SqlFunctionCtx* pCtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1898,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1899,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1899,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1901,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1909,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1922,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1936,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1938,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1940,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1942,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1945,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1945,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1946,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1948,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1951
    functionName: leastSQRFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - snprintf
    - varDataVal
    - varDataSetLen
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t leastSQRFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1954,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1955,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1959,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1960,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1953
    functionDepth: 1
    functionLinenumber: 1953
    functionLinenumberEnd: 1973
    functionName: leastSQRCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - TMAX
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t leastSQRCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1978
    functionName: getPercentileFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getPercentileFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1984,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1989,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1990,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1980
    functionDepth: 3
    functionLinenumber: 1980
    functionLinenumberEnd: 1995
    functionName: percentileFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - SET_DOUBLE_VAL
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t percentileFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1998,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1998,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1998,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2001,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2001,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2003,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1997
    functionDepth: 2
    functionLinenumber: 1997
    functionLinenumberEnd: 2006
    functionName: percentileFunctionCleanupExt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    - tMemBucketDestroy
    linkageType: ''
    returnType: void
    signature: void percentileFunctionCleanupExt(SqlFunctionCtx* pCtx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2011,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2019,1
    - Dst: tMemBucketCreate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2028,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2028,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2040,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2041,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2042,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2043,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2044,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2045,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2046,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2047,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2048,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2051,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2052,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2055,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2056,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2064,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2068,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2072,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2073,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2076,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2077,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2087,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2091,1
    - Dst: tMemBucketPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2093,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2095,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2100,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2008
    functionDepth: 3
    functionLinenumber: 2008
    functionLinenumberEnd: 2105
    functionName: percentileFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - colDataGetData
    - SET_DOUBLE_VAL
    - SET_VAL
    - GET_INT64_VAL
    - typeGetTypeModFromColInfo
    - GET_ROWCELL_INTERBUF
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - GET_DOUBLE_VAL
    - tMemBucketDestroy
    - colDataIsNull_f
    - tMemBucketPut
    - GET_RES_INFO
    - GET_UINT64_VAL
    - tMemBucketCreate
    linkageType: ''
    returnType: int32_t
    signature: int32_t percentileFunction(SqlFunctionCtx* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2108,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2109,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2122,1
    - Dst: getPercentile
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2128,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2134,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2134,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2136,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2136,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2141,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2147,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2148,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2153,1
    - Dst: getPercentile
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2160,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2165,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2166,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2169,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2174,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2107
    functionDepth: 5
    functionLinenumber: 2107
    functionLinenumberEnd: 2176
    functionName: percentileFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - getPercentile
    - snprintf
    - functionFinalize
    - tMemBucketDestroy
    - varDataVal
    - varDataSetLen
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t percentileFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDIGEST_SIZE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2181,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2178
    functionDepth: 1
    functionLinenumber: 2178
    functionLinenumberEnd: 2184
    functionName: getApercentileFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - TDIGEST_SIZE
    - TMAX
    linkageType: ''
    returnType: bool
    signature: bool getApercentileFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDIGEST_SIZE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2189,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2186
    functionDepth: 1
    functionLinenumber: 2186
    functionLinenumberEnd: 2191
    functionName: getApercentileMaxSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - TDIGEST_SIZE
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: int32_t getApercentileMaxSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2195,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - algoStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2204
    functionName: getApercentileAlgo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int8_t
    signature: int8_t getApercentileAlgo(char* algoStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SAPercentileInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2209
    functionName: buildHistogramInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buildHistogramInfo(SAPercentileInfo* pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SAPercentileInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2213
    functionName: buildTDigestInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buildTDigestInfo(SAPercentileInfo* pInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2219,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2223,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2227,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2227,1
    - Dst: getApercentileAlgo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2232,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2232,1
    - Dst: tdigestNewFrom
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2240,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2242,1
    - Dst: tHistogramCreateFrom
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2243,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2215
    functionDepth: 3
    functionLinenumber: 2215
    functionLinenumberEnd: 2249
    functionName: apercentileFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - typeGetTypeModFromCol
    - getApercentileAlgo
    - GET_ROWCELL_INTERBUF
    - qDebug
    - tdigestNewFrom
    - tHistogramCreateFrom
    - buildHistogramInfo
    - functionSetup
    - varDataVal
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: int32_t apercentileFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2253,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2259,1
    - Dst: buildTDigestInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2263,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2264,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2266,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2270,1
    - Dst: tdigestAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2275,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2283,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2284,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2288,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2292,1
    - Dst: tHistogramAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2296,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2302,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2307,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2309
    functionName: apercentileFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - buildTDigestInfo
    - tHistogramAdd
    - colDataGetData
    - tdigestAutoFill
    - SET_VAL
    - tdigestAdd
    - GET_ROWCELL_INTERBUF
    - qDebug
    - buildHistogramInfo
    - colDataIsNull_f
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t apercentileFunction(SqlFunctionCtx* pCtx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: buildTDigestInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2315,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2316,1
    - Dst: buildTDigestInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2326,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2328,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2331,1
    - Dst: TDIGEST_SIZE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2331,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2332,1
    - Dst: tdigestMerge
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2334,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2340,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2349,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2353,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2356,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2360,1
    - Dst: tHistogramMerge
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2364,1
    - Dst: tHistogramDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2366,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2369,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2372,1
    - Dst: tHistogramDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2374,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - pInput
    - pOutput
    - hasRes
    argTypes:
    - SAPercentileInfo*
    - SAPercentileInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2311
    functionDepth: 1
    functionLinenumber: 2311
    functionLinenumberEnd: 2378
    functionName: apercentileTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - buildTDigestInfo
    - memcpy
    - tdigestAutoFill
    - tHistogramMerge
    - qDebug
    - tHistogramDestroy
    - tdigestMerge
    - buildHistogramInfo
    - TDIGEST_SIZE
    linkageType: ''
    returnType: int32_t
    signature: int32_t apercentileTransferInfo(SAPercentileInfo* pInput, SAPercentileInfo*
      pOutput, bool* hasRes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2381,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2390,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2392,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2397,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2399,1
    - Dst: apercentileTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2400,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2407,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2408,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2380
    functionDepth: 2
    functionLinenumber: 2380
    functionLinenumberEnd: 2414
    functionName: apercentileFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - SET_VAL
    - apercentileTransferInfo
    - GET_ROWCELL_INTERBUF
    - qDebug
    - buildHistogramInfo
    - varDataVal
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t apercentileFunctionMerge(SqlFunctionCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2417,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2418,1
    - Dst: buildTDigestInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2421,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2422,1
    - Dst: tdigestQuantile
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2424,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2430,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2432,1
    - Dst: tHistogramUniform
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2437,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2444,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2448,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2416
    functionDepth: 2
    functionLinenumber: 2416
    functionLinenumberEnd: 2454
    functionName: apercentileFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - tdigestQuantile
    - buildTDigestInfo
    - tdigestAutoFill
    - GET_ROWCELL_INTERBUF
    - qDebug
    - functionFinalize
    - buildHistogramInfo
    - taosMemoryFree
    - GET_RES_INFO
    - tHistogramUniform
    linkageType: ''
    returnType: int32_t
    signature: int32_t apercentileFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2457,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2458,1
    - Dst: getApercentileMaxSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2460,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2461,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2467,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2467,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2468,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2470,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2470,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2471,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2475,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2477,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2481,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2456
    functionDepth: 2
    functionLinenumber: 2456
    functionLinenumberEnd: 2485
    functionName: apercentilePartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getApercentileMaxSize
    - memcpy
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - taosMemoryFree
    - varDataVal
    - taosMemoryCalloc
    - GET_RES_INFO
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t apercentilePartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2488,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2489,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2491,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2492,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2494,1
    - Dst: apercentileTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2496,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2487
    functionDepth: 2
    functionLinenumber: 2487
    functionLinenumberEnd: 2503
    functionName: apercentileCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - TMAX
    - apercentileTransferInfo
    - GET_ROWCELL_INTERBUF
    - qDebug
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t apercentileCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx*
      pSourceCtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2510,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2513,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2516,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2519,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2524,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2525,1
    - Dst: fn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - pkType
    - pkData
    - pVal
    - order
    argTypes:
    - int8_t
    - char*
    - SValue*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2506
    functionDepth: 1
    functionLinenumber: 2506
    functionLinenumberEnd: 2527
    functionName: comparePkDataWithSValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - fn
    - IS_NUMERIC_TYPE
    - getKeyComparFunc
    - VALUE_GET_TRIVIAL_DATUM
    linkageType: ''
    returnType: int32_t
    signature: int32_t comparePkDataWithSValue(int8_t pkType, char* pkData, SValue*
      pVal, int32_t order)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2537,1
    - Dst: comparePkDataWithSValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pRes
    - pBlockInfo
    argTypes:
    - void*
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2529
    functionDepth: 2
    functionLinenumber: 2529
    functionLinenumberEnd: 2558
    functionName: firstDynDataReq
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - comparePkDataWithSValue
    linkageType: ''
    returnType: EFuncDataRequired
    signature: EFuncDataRequired firstDynDataReq(void* pRes, SDataBlockInfo* pBlockInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2568,1
    - Dst: comparePkDataWithSValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pRes
    - pBlockInfo
    argTypes:
    - void*
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2560
    functionDepth: 2
    functionLinenumber: 2560
    functionLinenumberEnd: 2586
    functionName: lastDynDataReq
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - comparePkDataWithSValue
    linkageType: ''
    returnType: EFuncDataRequired
    signature: EFuncDataRequired lastDynDataReq(void* pRes, SDataBlockInfo* pBlockInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - resBytes
    - pkBytes
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2589
    functionName: getFirstLastInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFirstLastInfoSize(int32_t resBytes, int32_t pkBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2592,1
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2597
    functionName: getFirstLastFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - getFirstLastInfoSize
    linkageType: ''
    returnType: bool
    signature: bool getFirstLastFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2599
    functionDepth: 1
    functionLinenumber: 2599
    functionLinenumberEnd: 2603
    functionName: getSelectivityFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool getSelectivityFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2609
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2609
    functionName: getHasNullFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getHasNullFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2611
    functionDepth: 1
    functionLinenumber: 2611
    functionLinenumberEnd: 2615
    functionName: getGroupKeyFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool getGroupKeyFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pTsColInfo
    - rowIndex
    argTypes:
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2623
    functionName: getRowPTs
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE getRowPTs(SColumnInfoData* pTsColInfo, int32_t rowIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2629,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2625
    functionDepth: 3
    functionLinenumber: 2625
    functionLinenumberEnd: 2637
    functionName: firstLastFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t firstLastFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2654
    functionName: prepareBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t prepareBuf(SqlFunctionCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2665,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - pSrcBlock
    - rowIndex
    - pCtx
    - pInfo
    - noElements
    argTypes:
    - SSDataBlock*
    - int32_t
    - SqlFunctionCtx*
    - SFirstLastRes*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2656
    functionDepth: 1
    functionLinenumber: 2656
    functionLinenumberEnd: 2672
    functionName: firstlastSaveTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - saveTupleData
    - updateTupleData
    linkageType: ''
    returnType: int32_t
    signature: "int32_t firstlastSaveTupleData(const SSDataBlock* pSrcBlock, int32_t
      rowIndex, SqlFunctionCtx* pCtx,\n                                      SFirstLastRes*
      pInfo, bool noElements)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2676,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2677,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2679,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2680,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2688,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2690,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2691,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2698,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - pCtx
    - rowIndex
    - currentTs
    - pkData
    - type
    - pData
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int64_t
    - char*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2674
    functionDepth: 2
    functionLinenumber: 2674
    functionLinenumberEnd: 2710
    functionName: doSaveCurrentVal
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - GET_ROWCELL_INTERBUF
    - firstlastSaveTupleData
    - calcStrBytesByType
    - GET_RES_INFO
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doSaveCurrentVal(SqlFunctionCtx* pCtx, int32_t rowIndex, int64_t
      currentTs, char* pkData, int32_t type,\n                                char*
      pData)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2717,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2718,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2725,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2735,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2742,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2752,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2753,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2769,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2775,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2776,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2778,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2792,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2798,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2799,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2802,1
    - Dst: funcInputGetNextRowIndex
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2812,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2813,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2818,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2821,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2825,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2826,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2837,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2843,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 74
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2714
    functionDepth: 3
    functionLinenumber: 2714
    functionLinenumberEnd: 2845
    functionName: firstFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - doSaveCurrentVal
    - colDataGetData
    - SET_VAL
    - getKeyComparFunc
    - getRowPTs
    - pkCompareFn
    - GET_ROWCELL_INTERBUF
    - colDataIsNull
    - funcInputGetNextRowIndex
    - firstlastSaveTupleData
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t firstFunction(SqlFunctionCtx* pCtx)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2850,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2851,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2859,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2870,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2877,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2887,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2888,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2896,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2902,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2903,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2905,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2912,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2918,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2919,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2921,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2931,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2937,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2938,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2971,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2972,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2982,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2983,1
    - Dst: funcInputGetNextRowIndex
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2993,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2994,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3000,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3004,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3007,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3008,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3009,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3023,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 105
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3031
      start: 2847
    functionDepth: 3
    functionLinenumber: 2847
    functionLinenumberEnd: 3031
    functionName: lastFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - doSaveCurrentVal
    - colDataGetData
    - getKeyComparFunc
    - getRowPTs
    - pkCompareFn
    - GET_ROWCELL_INTERBUF
    - colDataIsNull
    - funcInputGetNextRowIndex
    - firstlastSaveTupleData
    - colDataIsNull_s
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t lastFunction(SqlFunctionCtx* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3039,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3044,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3049,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3060,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3063,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - pInput
    - pOutput
    - isFirst
    argTypes:
    - SFirstLastRes*
    - SFirstLastRes*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3067
      start: 3033
    functionDepth: 1
    functionLinenumber: 3033
    functionLinenumberEnd: 3067
    functionName: firstLastTransferInfoImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - getKeyComparFunc
    - memcpy
    - pkCompareFn
    linkageType: ''
    returnType: bool
    signature: bool firstLastTransferInfoImpl(SFirstLastRes* pInput, SFirstLastRes*
      pOutput, bool isFirst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: firstLastTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3071,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - pCtx
    - pInput
    - pOutput
    - isFirst
    - rowIndex
    argTypes:
    - SqlFunctionCtx*
    - SFirstLastRes*
    - SFirstLastRes*
    - bool
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3069
    functionDepth: 2
    functionLinenumber: 3069
    functionLinenumberEnd: 3079
    functionName: firstLastTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - firstLastTransferInfoImpl
    - firstlastSaveTupleData
    linkageType: ''
    returnType: int32_t
    signature: "int32_t firstLastTransferInfo(SqlFunctionCtx* pCtx, SFirstLastRes*
      pInput, SFirstLastRes* pOutput, bool isFirst,\n                                     int32_t
      rowIndex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3085,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3086,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3086,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3094,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3094,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3100,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3103,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3104,1
    - Dst: firstLastTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3111,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3121,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3128,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3128,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pCtx
    - isFirstQuery
    argTypes:
    - SqlFunctionCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3081
    functionDepth: 3
    functionLinenumber: 3081
    functionLinenumberEnd: 3130
    functionName: firstLastFunctionMergeImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataGetData
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - firstLastTransferInfo
    - varDataVal
    - firstlastSaveTupleData
    - colDataIsNull_s
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t firstLastFunctionMergeImpl(SqlFunctionCtx* pCtx, bool isFirstQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: firstLastFunctionMergeImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3132
    functionDepth: 4
    functionLinenumber: 3132
    functionLinenumberEnd: 3132
    functionName: firstFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - firstLastFunctionMergeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t firstFunctionMerge(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: firstLastFunctionMergeImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3134
    functionDepth: 4
    functionLinenumber: 3134
    functionLinenumberEnd: 3134
    functionName: lastFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - firstLastFunctionMergeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t lastFunctionMerge(SqlFunctionCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3139,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3144,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3147,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3150,1
    - Dst: setNullSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3151,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3153,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3159,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3161,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3165
      start: 3136
    functionDepth: 2
    functionLinenumber: 3136
    functionLinenumberEnd: 3165
    functionName: firstLastFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - setSelectivityValue
    - taosArrayGet
    - qError
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - tstrerror
    - setNullSelectivityValue
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t firstLastFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3170,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3171,1
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3173,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3176,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3180,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3180,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3182,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3185,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3187,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3192,1
    - Dst: setNullSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3193,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3195,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3197,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3200,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3167
    functionDepth: 2
    functionLinenumber: 3167
    functionLinenumberEnd: 3204
    functionName: firstLastPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - getFirstLastInfoSize
    - setSelectivityValue
    - memcpy
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - taosMemoryFree
    - varDataVal
    - setNullSelectivityValue
    - taosMemoryCalloc
    - GET_RES_INFO
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t firstLastPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3207,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3208,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3211,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3212,1
    - Dst: firstLastTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3214,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3206
    functionDepth: 2
    functionLinenumber: 3206
    functionLinenumberEnd: 3218
    functionName: lastCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - firstLastTransferInfoImpl
    - TMAX
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t lastCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3225,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3230,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3231,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3239,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3242,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3243,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3244,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3245,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3247,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - pCtx
    - pData
    - rowIndex
    - cts
    - pInfo
    argTypes:
    - SqlFunctionCtx*
    - char*
    - int32_t
    - int64_t
    - SFirstLastRes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3220
    functionDepth: 2
    functionLinenumber: 3220
    functionLinenumberEnd: 3259
    functionName: doSaveLastrow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - colDataGetData
    - firstlastSaveTupleData
    - colDataIsNull_s
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSaveLastrow(SqlFunctionCtx* pCtx, char* pData, int32_t rowIndex,
      int64_t cts, SFirstLastRes* pInfo)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3264,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3265,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3274,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3283,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3285,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3286,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3290,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3291,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3292,1
    - Dst: doSaveLastrow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3296,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3306,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3307,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3308,1
    - Dst: doSaveLastrow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3312,1
    - Dst: funcInputGetNextRowIndex
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3321,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3322,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3323,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3329,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3332,1
    - Dst: doSaveLastrow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3333,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3342,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3261
    functionDepth: 3
    functionLinenumber: 3261
    functionLinenumberEnd: 3344
    functionName: lastRowFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataGetData
    - SET_VAL
    - getKeyComparFunc
    - getRowPTs
    - pkCompareFn
    - GET_ROWCELL_INTERBUF
    - doSaveLastrow
    - colDataIsNull
    - funcInputGetNextRowIndex
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t lastRowFunction(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3349
      start: 3346
    functionDepth: 0
    functionLinenumber: 3346
    functionLinenumberEnd: 3349
    functionName: getDiffFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getDiffFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3355,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3351
    functionDepth: 3
    functionLinenumber: 3351
    functionLinenumberEnd: 3369
    functionName: diffFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t diffFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - pDiffInfo
    - type
    - pv
    - ts
    argTypes:
    - SDiffInfo*
    - int32_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3405
      start: 3371
    functionDepth: 0
    functionLinenumber: 3371
    functionLinenumberEnd: 3405
    functionName: doSetPrevVal
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetPrevVal(SDiffInfo* pDiffInfo, int32_t type, const char*
      pv, int64_t ts)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 3
    argNames:
    - pDiffInfo
    - type
    - pv
    argTypes:
    - SDiffInfo*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3459
      start: 3407
    functionDepth: 0
    functionLinenumber: 3407
    functionLinenumberEnd: 3459
    functionName: diffIsNegtive
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool diffIsNegtive(SDiffInfo* pDiffInfo, int32_t type, const char*
      pv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ignoreNegative
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3467,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3468,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - pDiffInfo
    - type
    - pOutput
    - v
    - pos
    argTypes:
    - SDiffInfo*
    - int32_t
    - SColumnInfoData*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3474
      start: 3461
    functionDepth: 1
    functionLinenumber: 3461
    functionLinenumberEnd: 3474
    functionName: tryToSetInt64
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetInt64
    - ignoreNegative
    - colDataSetNull_f_s
    linkageType: ''
    returnType: void
    signature: void tryToSetInt64(SDiffInfo* pDiffInfo, int32_t type, SColumnInfoData*
      pOutput, int64_t v, int32_t pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ignoreNegative
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3478,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3479,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pDiffInfo
    - pOutput
    - v
    - pos
    argTypes:
    - SDiffInfo*
    - SColumnInfoData*
    - double
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3476
    functionDepth: 1
    functionLinenumber: 3476
    functionLinenumberEnd: 3484
    functionName: tryToSetDouble
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - ignoreNegative
    - colDataSetDouble
    - colDataSetNull_f_s
    linkageType: ''
    returnType: void
    signature: void tryToSetDouble(SDiffInfo* pDiffInfo, SColumnInfoData* pOutput,
      double v, int32_t pos)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3489,1
    - Dst: doSetPrevVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3490,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3496,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3501,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3506,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3511,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3516,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3521,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3526,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3533,1
    - Dst: tryToSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3538,1
    - Dst: tryToSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3543,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 6
    argNames:
    - pDiffInfo
    - type
    - pv
    - pOutput
    - pos
    - ts
    argTypes:
    - SDiffInfo*
    - int32_t
    - char*
    - SColumnInfoData*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3551
      start: 3486
    functionDepth: 2
    functionLinenumber: 3486
    functionLinenumberEnd: 3551
    functionName: doHandleDiff
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - tryToSetInt64
    - tryToSetDouble
    - doSetPrevVal
    - colDataSetNull_f_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doHandleDiff(SDiffInfo* pDiffInfo, int32_t type, const char*
      pv, SColumnInfoData* pOutput, int32_t pos,\n                            int64_t
      ts)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3579,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3581,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3583,1
    - Dst: compareFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3584,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - pInput
    - from
    - firstOccur
    - pRowIndex
    - nextFrom
    argTypes:
    - SInputColumnInfoData*
    - int32_t
    - bool
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3594
      start: 3555
    functionDepth: 1
    functionLinenumber: 3555
    functionLinenumberEnd: 3594
    functionName: funcInputGetNextRowIndex
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 3
    functionsReached:
    - getKeyComparFunc
    - compareFunc
    - colDataGetData
    linkageType: ''
    returnType: bool
    signature: "bool funcInputGetNextRowIndex(SInputColumnInfoData* pInput, int32_t
      from, bool firstOccur, int32_t* pRowIndex,\n                              int32_t*
      nextFrom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3599
      start: 3596
    functionDepth: 0
    functionLinenumber: 3596
    functionLinenumberEnd: 3599
    functionName: getForecastConfEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getForecastConfEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3602,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3603,1
    - Dst: ignoreNegative
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3607,1
    - Dst: diffIsNegtive
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pRow
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3611
      start: 3601
    functionDepth: 1
    functionLinenumber: 3601
    functionLinenumberEnd: 3611
    functionName: diffResultIsNull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - ignoreNegative
    - GET_RES_INFO
    - diffIsNegtive
    linkageType: ''
    returnType: int32_t
    signature: int32_t diffResultIsNull(SqlFunctionCtx* pCtx, SFuncInputRow* pRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3614,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCtx
    - pRow
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3617
      start: 3613
    functionDepth: 1
    functionLinenumber: 3613
    functionLinenumberEnd: 3617
    functionName: isFirstRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    linkageType: ''
    returnType: bool
    signature: bool isFirstRow(SqlFunctionCtx* pCtx, SFuncInputRow* pRow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3620,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3621,1
    - Dst: doSetPrevVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCtx
    - pRow
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3633
      start: 3619
    functionDepth: 1
    functionLinenumber: 3619
    functionLinenumberEnd: 3633
    functionName: trySetPreVal
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    - doSetPrevVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t trySetPreVal(SqlFunctionCtx* pCtx, SFuncInputRow* pRow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3636,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3637,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3645,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3650,1
    - Dst: doHandleDiff
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3663,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3669,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pCtx
    - pRow
    - pos
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3676
      start: 3635
    functionDepth: 3
    functionLinenumber: 3635
    functionLinenumberEnd: 3676
    functionName: setDoDiffResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - appendSelectivityCols
    - GET_ROWCELL_INTERBUF
    - doHandleDiff
    - GET_RES_INFO
    - colDataSetNull_f_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t setDoDiffResult(SqlFunctionCtx* pCtx, SFuncInputRow* pRow,
      int32_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3678
      start: 3678
    functionDepth: 0
    functionLinenumber: 3678
    functionLinenumberEnd: 3678
    functionName: diffFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t diffFunction(SqlFunctionCtx* pCtx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3688,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3695,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3700,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3701,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3702,1
    - Dst: ignoreNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3703,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3708,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3709,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3717,1
    - Dst: diffResultIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3724,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3726,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3727,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3732,1
    - Dst: diffResultIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3741,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3749,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3750,1
    - Dst: isFirstRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3755,1
    - Dst: setDoDiffResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3756,1
    - Dst: trySetPreVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3762,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3772,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3777,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3783,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 91
    argCount: 1
    argNames:
    - pCtxArray
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3787
      start: 3680
    functionDepth: 4
    functionLinenumber: 3680
    functionLinenumberEnd: 3787
    functionName: diffFunctionByRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - ignoreNull
    - taosArrayGet
    - funcInputGetNextRow
    - setDoDiffResult
    - trySetPreVal
    - isFirstRow
    - GET_ROWCELL_INTERBUF
    - funcInputUpdate
    - taosArrayInit_s
    - taosArrayDestroy
    - GET_RES_INFO
    - diffResultIsNull
    linkageType: ''
    returnType: int32_t
    signature: int32_t diffFunctionByRow(SArray* pCtxArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3797
      start: 3794
    functionDepth: 0
    functionLinenumber: 3794
    functionLinenumberEnd: 3797
    functionName: getLagFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getLagFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3803,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3814
      start: 3799
    functionDepth: 3
    functionLinenumber: 3799
    functionLinenumberEnd: 3814
    functionName: lagFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t lagFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - UNUSED_PARAM(pCtx)
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3816
      start: 3816
    functionDepth: 0
    functionLinenumber: 3816
    functionLinenumberEnd: 3816
    functionName: lagFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t lagFunction(SqlFunctionCtx* UNUSED_PARAM(pCtx))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3836,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3838,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3840,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pValues
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3846
      start: 3831
    functionDepth: 1
    functionLinenumber: 3831
    functionLinenumberEnd: 3846
    functionName: cleanupLagLeadRowValueArray
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosMemoryFree
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void cleanupLagLeadRowValueArray(SArray* pValues)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3853,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3855,1
    - Dst: cleanupLagLeadRowValueArray
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3857,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pValueArrays
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3862
      start: 3848
    functionDepth: 2
    functionLinenumber: 3848
    functionLinenumberEnd: 3862
    functionName: cleanupLagLeadValueArrays
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosArrayGetSize
    - cleanupLagLeadRowValueArray
    linkageType: ''
    returnType: void
    signature: void cleanupLagLeadValueArrays(SArray* pValueArrays)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3877,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3878,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3878,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3878,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3881,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pCtx
    - pRow
    - pValue
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    - SLagLeadRowValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3864
    functionDepth: 0
    functionLinenumber: 3864
    functionLinenumberEnd: 3888
    functionName: copyLagLeadRowValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - taosMemoryMalloc
    - memcpy
    - varDataTLen
    - IS_STR_DATA_BLOB
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyLagLeadRowValue(SqlFunctionCtx* pCtx, SFuncInputRow* pRow,
      SLagLeadRowValue* pValue)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3892,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3898,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3899,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3905,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3912,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3918,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3924,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3930,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3936,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3942,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3948,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3953,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3955,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3961,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3967,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3973,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3979,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3985,1
    - Dst: TEST_decimal64From_uint64_t
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3992,1
    - Dst: TEST_decimal64From_int64_t
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3999,1
    - Dst: TEST_decimal64From_uint64_t
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4005,1
    - Dst: TEST_decimal64From_double
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4008,1
    - Dst: TEST_decimal64From_double
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4011,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4015,1
    - Dst: TEST_decimal64FromDecimal64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4016,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4022,1
    - Dst: TEST_decimal64FromDecimal128
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4023,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4033,1
    - Dst: TEST_decimal128From_uint64_t
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4042,1
    - Dst: TEST_decimal128From_int64_t
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4049,1
    - Dst: TEST_decimal128From_uint64_t
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4055,1
    - Dst: TEST_decimal128From_double
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4058,1
    - Dst: TEST_decimal128From_double
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4061,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4065,1
    - Dst: TEST_decimal128FromDecimal64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4066,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4072,1
    - Dst: TEST_decimal128FromDecimal128
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4073,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4083,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4089,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4095,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4099,1
    - Dst: initCtxGeomFromText
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4106,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4112,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4113,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4119,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4121,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4127,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4128,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4133,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4133,1
    - Dst: doGeomFromText
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4136,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4137,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4142,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4144,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4149,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4150,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4151,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4153,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4154,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4169,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4173,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4176,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 234
    argCount: 2
    argNames:
    - pCtx
    - pos
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4182
      start: 3890
    functionDepth: 5
    functionLinenumber: 3890
    functionLinenumberEnd: 4182
    functionName: setLagLeadDefaultValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - geosFreeBuffer
    - TEST_decimal128From_double
    - TEST_decimal64From_double
    - taosUcs4ToMbs
    - memcpy
    - varDataLen
    - doGeomFromText
    - varDataVal
    - TEST_decimal64FromDecimal64
    - TEST_decimal64FromDecimal128
    - taosMemoryCalloc
    - initCtxGeomFromText
    - IS_NULL_TYPE
    - TEST_decimal128From_uint64_t
    - colDataSetVal
    - TEST_decimal128FromDecimal64
    - TEST_decimal128From_int64_t
    - varDataSetLen
    - typeGetTypeModFromCol
    - colDataSetNULL
    - convertStringToTimestamp
    - TEST_decimal64From_int64_t
    - extractTypeFromTypeMod
    - taosMemoryFree
    - TEST_decimal64From_uint64_t
    - IS_STR_DATA_TYPE
    - TEST_decimal128FromDecimal128
    linkageType: ''
    returnType: int32_t
    signature: int32_t setLagLeadDefaultValue(SqlFunctionCtx* pCtx, int32_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4201,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLagLeadRowValue*
    - SLagLeadRowValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4208
      start: 4184
    functionDepth: 0
    functionLinenumber: 4184
    functionLinenumberEnd: 4208
    functionName: cloneLagLeadRowValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneLagLeadRowValue(const SLagLeadRowValue* pSrc, SLagLeadRowValue*
      pDst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4212,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCtx
    - pos
    - pValue
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - SLagLeadRowValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4217
      start: 4210
    functionDepth: 1
    functionLinenumber: 4210
    functionLinenumberEnd: 4217
    functionName: setLagLeadOutputFromValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataSetVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t setLagLeadOutputFromValue(SqlFunctionCtx* pCtx, int32_t pos,
      SLagLeadRowValue* pValue)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4220,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4225,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4226,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4227,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4227,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4233,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4240,1
    - Dst: setLagLeadOutputFromValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4246,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4252,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4259,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4264,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - pCtx
    - pState
    - pCurrValues
    argTypes:
    - SqlFunctionCtx*
    - SLagLeadState*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4268
      start: 4219
    functionDepth: 2
    functionLinenumber: 4219
    functionLinenumberEnd: 4268
    functionName: resolveLeadPendingRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - TMAX
    - taosArrayGetSize
    - taosArrayInit
    - setLagLeadOutputFromValue
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t resolveLeadPendingRows(SqlFunctionCtx* pCtx, SLagLeadState*
      pState, SArray* pCurrValues)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4271,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4276,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4277,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4279,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4279,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4288,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4290,1
    - Dst: cleanupLagLeadRowValueArray
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4294,1
    - Dst: cloneLagLeadRowValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4299,1
    - Dst: cleanupLagLeadRowValueArray
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4301,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4305,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4307,1
    - Dst: cleanupLagLeadRowValueArray
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4309,1
    - Dst: cleanupLagLeadRowValueArray
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - pState
    - pCurrValues
    - offset
    argTypes:
    - SLagLeadState*
    - SArray*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4270
    functionDepth: 2
    functionLinenumber: 4270
    functionLinenumberEnd: 4319
    functionName: refreshLagTailValues
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - cloneLagLeadRowValue
    - taosArrayGet
    - TMAX
    - TMIN
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - cleanupLagLeadRowValueArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t refreshLagTailValues(SLagLeadState* pState, SArray* pCurrValues,
      int64_t offset)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4329,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4334,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4341,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4347,1
    - Dst: cleanupLagLeadRowValueArray
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4348,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4355,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4360,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4363,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4364,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4373,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4382,1
    - Dst: copyLagLeadRowValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4384,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4389,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4391,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4399,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4400,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4406,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4415,1
    - Dst: copyLagLeadRowValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4417,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4422,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4424,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4435,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4436,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4442,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4443,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4457,1
    - Dst: resolveLeadPendingRows
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4464,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4472,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4481,1
    - Dst: setLagLeadOutputFromValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4486,1
    - Dst: setLagLeadDefaultValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4488,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4491,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4499,1
    - Dst: setLagLeadOutputFromValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4504,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4506,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4509,1
    - Dst: setLagLeadOutputFromValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4514,1
    - Dst: setLagLeadDefaultValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4516,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4526,1
    - Dst: refreshLagTailValues
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4534,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4543,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4549,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4555,1
    - Dst: cleanupLagLeadValueArrays
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4559,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 203
    argCount: 2
    argNames:
    - pCtxArray
    - isLead
    argTypes:
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4562
      start: 4321
    functionDepth: 6
    functionLinenumber: 4321
    functionLinenumberEnd: 4562
    functionName: lagLeadFunctionByRowImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - funcInputGetNextRow
    - resolveLeadPendingRows
    - taosArrayDestroy
    - cleanupLagLeadRowValueArray
    - appendSelectivityCols
    - taosArrayGet
    - setLagLeadDefaultValue
    - GET_ROWCELL_INTERBUF
    - taosArrayGetSize
    - funcInputUpdate
    - taosArrayInit_s
    - copyLagLeadRowValue
    - cleanupLagLeadValueArrays
    - refreshLagTailValues
    - taosMemoryFree
    - taosArrayInit
    - setLagLeadOutputFromValue
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t lagLeadFunctionByRowImpl(SArray* pCtxArray, bool isLead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lagLeadFunctionByRowImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtxArray
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4566
      start: 4564
    functionDepth: 7
    functionLinenumber: 4564
    functionLinenumberEnd: 4566
    functionName: lagFunctionByRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - lagLeadFunctionByRowImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t lagFunctionByRow(SArray* pCtxArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4571
      start: 4568
    functionDepth: 0
    functionLinenumber: 4568
    functionLinenumberEnd: 4571
    functionName: getLeadFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getLeadFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4577,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4588
      start: 4573
    functionDepth: 3
    functionLinenumber: 4573
    functionLinenumberEnd: 4588
    functionName: leadFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t leadFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - UNUSED_PARAM(pCtx)
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4590
      start: 4590
    functionDepth: 0
    functionLinenumber: 4590
    functionLinenumberEnd: 4590
    functionName: leadFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t leadFunction(SqlFunctionCtx* UNUSED_PARAM(pCtx))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lagLeadFunctionByRowImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtxArray
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4594
      start: 4592
    functionDepth: 7
    functionLinenumber: 4592
    functionLinenumberEnd: 4594
    functionName: leadFunctionByRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - lagLeadFunctionByRowImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t leadFunctionByRow(SArray* pCtxArray)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4601,1
    - Dst: cleanupLagLeadRowValueArray
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4607,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4615
      start: 4596
    functionDepth: 2
    functionLinenumber: 4596
    functionLinenumberEnd: 4615
    functionName: lagLeadFunctionCleanupExt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - taosArrayDestroy
    - cleanupLagLeadRowValueArray
    linkageType: ''
    returnType: void
    signature: void lagLeadFunctionCleanupExt(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4620
      start: 4617
    functionDepth: 0
    functionLinenumber: 4617
    functionLinenumberEnd: 4620
    functionName: getFillforwardFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getFillforwardFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4626,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4633
      start: 4622
    functionDepth: 3
    functionLinenumber: 4622
    functionLinenumberEnd: 4633
    functionName: fillforwardFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillforwardFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4635
      start: 4635
    functionDepth: 0
    functionLinenumber: 4635
    functionLinenumberEnd: 4635
    functionName: fillforwardFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillforwardFunction(SqlFunctionCtx* pCtx)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4639,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4655,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4658,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4661,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4664,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4666,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 4
    argNames:
    - pFillforwardInfo
    - type
    - pOutput
    - pos
    argTypes:
    - SFillforwardInfo*
    - int32_t
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4676
      start: 4637
    functionDepth: 1
    functionLinenumber: 4637
    functionLinenumberEnd: 4676
    functionName: doHandleFillforward
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataSetDouble
    - colDataSetFloat
    - colDataSetVal
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t doHandleFillforward(SFillforwardInfo* pFillforwardInfo, int32_t
      type, SColumnInfoData* pOutput, int32_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4679,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4680,1
    - Dst: doHandleFillforward
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4688,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pCtx
    - pRow
    - pos
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4702
      start: 4678
    functionDepth: 2
    functionLinenumber: 4678
    functionLinenumberEnd: 4702
    functionName: setFillforwardResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - appendSelectivityCols
    - GET_RES_INFO
    - doHandleFillforward
    linkageType: ''
    returnType: int32_t
    signature: int32_t setFillforwardResult(SqlFunctionCtx* pCtx, SFuncInputRow* pRow,
      int32_t pos)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4712,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4718,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4723,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4726,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4727,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4735,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4744,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4745,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4750,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4764,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4765,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4771,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4772,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4773,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4807,1
    - Dst: DECIMAL128_CLONE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4810,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4816,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4823,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4823,1
    - Dst: setFillforwardResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4836,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4847,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4852,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4853,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4857,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4858,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4867,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 136
    argCount: 1
    argNames:
    - pCtxArray
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4871
      start: 4704
    functionDepth: 4
    functionLinenumber: 4704
    functionLinenumberEnd: 4871
    functionName: fillforwardFunctionByRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - DECIMAL64_SET_VALUE
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - funcInputGetNextRow
    - varDataTLen
    - setFillforwardResult
    - GET_ROWCELL_INTERBUF
    - funcInputUpdate
    - taosMemoryFree
    - DECIMAL128_CLONE
    - taosArrayInit_s
    - taosArrayDestroy
    - colDataIsNull_s
    - GET_RES_INFO
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t fillforwardFunctionByRow(SArray* pCtxArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numOfItems
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4873
      start: 4873
    functionDepth: 0
    functionLinenumber: 4873
    functionLinenumberEnd: 4873
    functionName: getTopBotInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTopBotInfoSize(int64_t numOfItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4879
      start: 4875
    functionDepth: 1
    functionLinenumber: 4875
    functionLinenumberEnd: 4879
    functionName: getTopBotFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool getTopBotFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4885,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4897
      start: 4881
    functionDepth: 3
    functionLinenumber: 4881
    functionLinenumberEnd: 4897
    functionName: topBotFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    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:4900,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4905
      start: 4899
    functionDepth: 1
    functionLinenumber: 4899
    functionLinenumberEnd: 4905
    functionName: getTopBotOutputInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    linkageType: ''
    returnType: STopBotRes
    signature: STopBotRes * getTopBotOutputInfo(SqlFunctionCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4914,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4919,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4924,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4929,1
    - Dst: doAddIntoResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4930,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4937,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4944
      start: 4912
    functionDepth: 2
    functionLinenumber: 4912
    functionLinenumberEnd: 4944
    functionName: topFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - saveTupleData
    - getTopBotOutputInfo
    - colDataIsNull_f
    - doAddIntoResult
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t topFunction(SqlFunctionCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4948,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4953,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4958,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4963,1
    - Dst: doAddIntoResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4964,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4971,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4979
      start: 4946
    functionDepth: 2
    functionLinenumber: 4946
    functionLinenumberEnd: 4979
    functionName: bottomFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - saveTupleData
    - getTopBotOutputInfo
    - colDataIsNull_f
    - doAddIntoResult
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t bottomFunction(SqlFunctionCtx* pCtx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4987,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4993,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5012
      start: 4981
    functionDepth: 0
    functionLinenumber: 4981
    functionLinenumberEnd: 5012
    functionName: topBotResComparFn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t topBotResComparFn(const void* p1, const void* p2, const void*
      param)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5016,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5020,1
    - Dst: taosVariantCreateFromBinary
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5020,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5032,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5038,1
    - Dst: taosheapsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5043,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5049,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5050,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5053,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5054,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5064,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5070,1
    - Dst: taosheapadjust
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5072,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 35
    argCount: 8
    argNames:
    - pCtx
    - pData
    - rowIndex
    - pSrcBlock
    - type
    - uid
    - pEntryInfo
    - isTopQuery
    argTypes:
    - SqlFunctionCtx*
    - void*
    - int32_t
    - SSDataBlock*
    - uint16_t
    - uint64_t
    - SResultRowEntryInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5081
      start: 5014
    functionDepth: 2
    functionLinenumber: 5014
    functionLinenumberEnd: 5081
    functionName: doAddIntoResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 2
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - TAOS_CHECK_RETURN
    - taosheapadjust
    - saveTupleData
    - qDebug
    - taosVariantCreateFromBinary
    - IS_UNSIGNED_NUMERIC_TYPE
    - getTopBotOutputInfo
    - taosheapsort
    - updateTupleData
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doAddIntoResult(SqlFunctionCtx* pCtx, void* pData, int32_t
      rowIndex, SSDataBlock* pSrcBlock, uint16_t type,\n                        uint64_t
      uid, SResultRowEntryInfo* pEntryInfo, bool isTopQuery)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5095,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - pData
    - pAgg
    - startIdx
    - rows
    argTypes:
    - SColumnInfoData*
    - SColumnDataAgg*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5101
      start: 5084
    functionDepth: 1
    functionLinenumber: 5084
    functionLinenumberEnd: 5101
    functionName: hasNullFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_s
    linkageType: ''
    returnType: bool
    signature: bool hasNullFunc(  SColumnInfoData *pData,   SColumnDataAgg *pAgg,
      int32_t startIdx, int64_t rows)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5121,1
    - Dst: fmIsSelectValueFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5125,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5129,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5133,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5138,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5139,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5140,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5141,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 6
    argNames:
    - pCtx
    - pSrcBlock
    - rowIndex
    - pSubsidiaryies
    - buf
    - res
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    - int32_t
    - SSubsidiaryResInfo*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5153
      start: 5110
    functionDepth: 1
    functionLinenumber: 5110
    functionLinenumberEnd: 5153
    functionName: serializeTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - fmIsSelectValueFunc
    - taosArrayGet
    - colDataGetData
    - memcpy
    - fmIsGroupKeyFunc
    - colDataIsNull_s
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t serializeTupleData(SqlFunctionCtx* pCtx, const SSDataBlock*
      pSrcBlock, int32_t rowIndex, SSubsidiaryResInfo* pSubsidiaryies,\n                           char*
      buf, char** res)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5162,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5168,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5172,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5174,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5175,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5184,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5187,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5188,1
    - Dst: SFunctionStateStore*::streamStateFuncPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 6
    argNames:
    - pHandle
    - pBuf
    - length
    - key
    - pPos
    - pStore
    argTypes:
    - SSerializeDataHandle*
    - void*
    - size_t
    - SWinKey*
    - STuplePos*
    - SFunctionStateStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5197
      start: 5155
    functionDepth: 1
    functionLinenumber: 5155
    functionLinenumberEnd: 5197
    functionName: doSaveTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - memcpy
    - getNewBufPage
    - getBufPageSize
    - setBufPageDirty
    - SFunctionStateStore*::streamStateFuncPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doSaveTupleData(SSerializeDataHandle* pHandle, const void*
      pBuf, size_t length, SWinKey* key,\n                               STuplePos*
      pPos, SFunctionStateStore* pStore)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: prepareBuf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5200,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5207,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5215,1
    - Dst: serializeTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5220,1
    - Dst: doSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pCtx
    - rowIndex
    - pSrcBlock
    - pPos
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - SSDataBlock*
    - STuplePos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5225
      start: 5199
    functionDepth: 2
    functionLinenumber: 5199
    functionLinenumberEnd: 5225
    functionName: saveTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 4
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - prepareBuf
    - doSaveTupleData
    - serializeTupleData
    linkageType: ''
    returnType: int32_t
    signature: int32_t saveTupleData(SqlFunctionCtx* pCtx, int32_t rowIndex, const
      SSDataBlock* pSrcBlock, STuplePos* pPos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5230,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5234,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5235,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5236,1
    - Dst: SFunctionStateStore*::streamStateFuncPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pHandle
    - pBuf
    - length
    - pPos
    - pStore
    argTypes:
    - SSerializeDataHandle*
    - void*
    - size_t
    - STuplePos*
    - SFunctionStateStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5245
      start: 5227
    functionDepth: 1
    functionLinenumber: 5227
    functionLinenumberEnd: 5245
    functionName: doUpdateTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - releaseBufPage
    - memcpy
    - setBufPageDirty
    - SFunctionStateStore*::streamStateFuncPut
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doUpdateTupleData(SSerializeDataHandle* pHandle, const void*
      pBuf, size_t length, STuplePos* pPos,\n                                 SFunctionStateStore*
      pStore)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prepareBuf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5248,1
    - Dst: serializeTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5254,1
    - Dst: doUpdateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pCtx
    - rowIndex
    - pSrcBlock
    - pPos
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - SSDataBlock*
    - STuplePos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5259
      start: 5247
    functionDepth: 2
    functionLinenumber: 5247
    functionLinenumberEnd: 5259
    functionName: updateTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 2
    functionsReached:
    - doUpdateTupleData
    - serializeTupleData
    - prepareBuf
    linkageType: ''
    returnType: int32_t
    signature: int32_t updateTupleData(SqlFunctionCtx* pCtx, int32_t rowIndex, const
      SSDataBlock* pSrcBlock, STuplePos* pPos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5264,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5270,1
    - Dst: SFunctionStateStore*::streamStateFuncGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - pHandle
    - pPos
    - pStore
    - value
    argTypes:
    - SSerializeDataHandle*
    - STuplePos*
    - SFunctionStateStore*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5281
      start: 5261
    functionDepth: 1
    functionLinenumber: 5261
    functionLinenumberEnd: 5281
    functionName: doLoadTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getBufPage
    - SFunctionStateStore*::streamStateFuncGet
    - releaseBufPage
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doLoadTupleData(SSerializeDataHandle* pHandle, const STuplePos*
      pPos, SFunctionStateStore* pStore,\n                               char** value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLoadTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCtx
    - pPos
    - value
    argTypes:
    - SqlFunctionCtx*
    - STuplePos*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5285
      start: 5283
    functionDepth: 2
    functionLinenumber: 5283
    functionLinenumberEnd: 5285
    functionName: loadTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - doLoadTupleData
    linkageType: ''
    returnType: int32_t
    signature: int32_t loadTupleData(SqlFunctionCtx* pCtx, const STuplePos* pPos,
      char** value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5290,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5291,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5296,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5304,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5305,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5310,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5315,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5326
      start: 5287
    functionDepth: 2
    functionLinenumber: 5287
    functionLinenumberEnd: 5326
    functionName: topBotFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - setSelectivityValue
    - taosArrayGet
    - colDataSetVal
    - qDebug
    - getTopBotOutputInfo
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t topBotFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5329,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5330,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5340,1
    - Dst: taosheapsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5342,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5348,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5349,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5352,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5353,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5362,1
    - Dst: taosheapadjust
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5363,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 23
    argCount: 4
    argNames:
    - pCtx
    - pSourceItem
    - type
    - isTopQuery
    argTypes:
    - SqlFunctionCtx*
    - STopBotResItem*
    - int16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5371
      start: 5328
    functionDepth: 2
    functionLinenumber: 5328
    functionLinenumberEnd: 5371
    functionName: addResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - replaceTupleData
    - taosheapadjust
    - IS_UNSIGNED_NUMERIC_TYPE
    - getTopBotOutputInfo
    - taosheapsort
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t addResult(SqlFunctionCtx* pCtx, STopBotResItem* pSourceItem,
      int16_t type, bool isTopQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5374,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5375,1
    - Dst: addResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5385
      start: 5373
    functionDepth: 3
    functionLinenumber: 5373
    functionLinenumberEnd: 5385
    functionName: topCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getTopBotOutputInfo
    - GET_RES_INFO
    - addResult
    linkageType: ''
    returnType: int32_t
    signature: int32_t topCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5388,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5389,1
    - Dst: addResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5399
      start: 5387
    functionDepth: 3
    functionLinenumber: 5387
    functionLinenumberEnd: 5399
    functionName: bottomCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getTopBotOutputInfo
    - GET_RES_INFO
    - addResult
    linkageType: ''
    returnType: int32_t
    signature: int32_t bottomCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5401
      start: 5401
    functionDepth: 0
    functionLinenumber: 5401
    functionLinenumberEnd: 5401
    functionName: getSpreadInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSpreadInfoSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5406
      start: 5403
    functionDepth: 0
    functionLinenumber: 5403
    functionLinenumberEnd: 5406
    functionName: getSpreadFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getSpreadFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5412,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5416,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5417,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5421
      start: 5408
    functionDepth: 3
    functionLinenumber: 5408
    functionLinenumberEnd: 5421
    functionName: spreadFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - SET_DOUBLE_VAL
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t spreadFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5431,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5431,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5439,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5439,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5440,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5441,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5442,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5443,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5444,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5445,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5446,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5447,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5450,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5451,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5454,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5455,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5464,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5468,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5472,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5473,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5476,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5477,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5486,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5486,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5492
      start: 5423
    functionDepth: 1
    functionLinenumber: 5423
    functionLinenumberEnd: 5492
    functionName: spreadFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_TIMESTAMP_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - colDataGetData
    - SET_DOUBLE_VAL
    - SET_VAL
    - GET_INT64_VAL
    - GET_ROWCELL_INTERBUF
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - GET_DOUBLE_VAL
    - colDataIsNull_f
    - GET_RES_INFO
    - GET_UINT64_VAL
    linkageType: ''
    returnType: int32_t
    signature: int32_t spreadFunction(SqlFunctionCtx* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SSpreadInfo*
    - SSpreadInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5503
      start: 5494
    functionDepth: 0
    functionLinenumber: 5494
    functionLinenumberEnd: 5503
    functionName: spreadTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void spreadTransferInfo(SSpreadInfo* pInput, SSpreadInfo* pOutput)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5509,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5510,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5510,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5518,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5518,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5522,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5523,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5524,1
    - Dst: spreadTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5526,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5535
      start: 5505
    functionDepth: 1
    functionLinenumber: 5505
    functionLinenumberEnd: 5535
    functionName: spreadFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataGetData
    - SET_VAL
    - spreadTransferInfo
    - GET_ROWCELL_INTERBUF
    - varDataVal
    - colDataIsNull_s
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t spreadFunctionMerge(SqlFunctionCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5538,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5538,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5540,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5542,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5545
      start: 5537
    functionDepth: 2
    functionLinenumber: 5537
    functionLinenumberEnd: 5545
    functionName: spreadFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - SET_DOUBLE_VAL
    - functionFinalize
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t spreadFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5548,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5549,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5549,1
    - Dst: getSpreadInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5550,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5551,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5556,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5556,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5557,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5561,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5567,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5573,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5575
      start: 5547
    functionDepth: 1
    functionLinenumber: 5547
    functionLinenumberEnd: 5575
    functionName: spreadPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - taosMemoryFree
    - getSpreadInfoSize
    - varDataVal
    - taosMemoryCalloc
    - GET_RES_INFO
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t spreadPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5578,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5579,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5581,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5582,1
    - Dst: spreadTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5583,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5587
      start: 5577
    functionDepth: 1
    functionLinenumber: 5577
    functionLinenumberEnd: 5587
    functionName: spreadCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - spreadTransferInfo
    - TMAX
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t spreadCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5589
      start: 5589
    functionDepth: 0
    functionLinenumber: 5589
    functionLinenumberEnd: 5589
    functionName: getElapsedInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getElapsedInfoSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5594
      start: 5591
    functionDepth: 0
    functionLinenumber: 5591
    functionLinenumberEnd: 5594
    functionName: getElapsedFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getElapsedFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5600,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5616
      start: 5596
    functionDepth: 3
    functionLinenumber: 5596
    functionLinenumberEnd: 5616
    functionName: elapsedFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t elapsedFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5625,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5625,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5638,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5639,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5642,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5644,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5664,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5696,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5696,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5699
      start: 5618
    functionDepth: 1
    functionLinenumber: 5618
    functionLinenumberEnd: 5699
    functionName: elapsedFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - SET_VAL
    - GET_INT64_VAL
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t elapsedFunction(SqlFunctionCtx* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SElapsedInfo*
    - SElapsedInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5710
      start: 5701
    functionDepth: 0
    functionLinenumber: 5701
    functionLinenumberEnd: 5710
    functionName: elapsedTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void elapsedTransferInfo(SElapsedInfo* pInput, SElapsedInfo* pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5719,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5719,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5724,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5725,1
    - Dst: elapsedTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5726,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5729,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5731
      start: 5712
    functionDepth: 1
    functionLinenumber: 5712
    functionLinenumberEnd: 5731
    functionName: elapsedFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - SET_VAL
    - elapsedTransferInfo
    - GET_ROWCELL_INTERBUF
    - varDataVal
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t elapsedFunctionMerge(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5734,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5734,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5736,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5738
      start: 5733
    functionDepth: 2
    functionLinenumber: 5733
    functionLinenumberEnd: 5738
    functionName: elapsedFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    - fabs
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t elapsedFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5741,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5742,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5742,1
    - Dst: getElapsedInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5743,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5744,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5749,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5749,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5750,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5754,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5760,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5767
      start: 5740
    functionDepth: 1
    functionLinenumber: 5740
    functionLinenumberEnd: 5767
    functionName: elapsedPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - getElapsedInfoSize
    - GET_ROWCELL_INTERBUF
    - colDataSetVal
    - taosMemoryFree
    - varDataVal
    - taosMemoryCalloc
    - GET_RES_INFO
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t elapsedPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5770,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5771,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5773,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5774,1
    - Dst: elapsedTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5776,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5780
      start: 5769
    functionDepth: 1
    functionLinenumber: 5769
    functionLinenumberEnd: 5780
    functionName: elapsedCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - TMAX
    - elapsedTransferInfo
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t elapsedCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5784
      start: 5782
    functionDepth: 0
    functionLinenumber: 5782
    functionLinenumberEnd: 5784
    functionName: getHistogramInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getHistogramInfoSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5789
      start: 5786
    functionDepth: 0
    functionLinenumber: 5786
    functionLinenumberEnd: 5789
    functionName: getHistogramFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getHistogramFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5793,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5795,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - binTypeStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5804
      start: 5791
    functionDepth: 0
    functionLinenumber: 5791
    functionLinenumberEnd: 5804
    functionName: getHistogramBinType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int8_t
    signature: int8_t getHistogramBinType(char* binTypeStr)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5807,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5810,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5811,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5814,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5818,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5819,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5820,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5821,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5822,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5824,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5824,1
    - Dst: cJSON_IsBool
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5824,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5825,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5830,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5834,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5834,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5835,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5835,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5836,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5849,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5851,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5852,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5855,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5858,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5859,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5864,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5865,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5866,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5871,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5874,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5875,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5879,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5880,1
    - Dst: pow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5884,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5885,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5886,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5887,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5893,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5894,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5906,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5909,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5911,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5914,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5915,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5917,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5918,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5923,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5924,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5930,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5931,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5932,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5936,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5937,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5944,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5956,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5957,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 129
    argCount: 4
    argNames:
    - pInfo
    - binDescStr
    - binType
    - normalized
    argTypes:
    - SHistoFuncInfo*
    - char*
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5960
      start: 5806
    functionDepth: 1
    functionLinenumber: 5806
    functionLinenumberEnd: 5960
    functionName: getHistogramBinDesc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - cJSON_IsObject
    - cJSON_GetArraySize
    - TSWAP
    - cJSON_IsArray
    - qError
    - cJSON_IsNumber
    - cJSON_IsBool
    - cJSON_GetObjectItem
    - taosMemoryFree
    - taosMemoryCalloc
    - pow
    - cJSON_Delete
    - cJSON_Parse
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t getHistogramBinDesc(SHistoFuncInfo* pInfo, char* binDescStr,
      int8_t binType, bool normalized)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5966,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5970,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5975,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5975,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5975,1
    - Dst: getHistogramBinType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5979,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5980,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5985,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5985,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5985,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5991,1
    - Dst: getHistogramBinDesc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5994,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5996,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5999,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6002
      start: 5962
    functionDepth: 3
    functionLinenumber: 5962
    functionLinenumberEnd: 6002
    functionName: histogramFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - varDataLen
    - GET_ROWCELL_INTERBUF
    - getHistogramBinDesc
    - getHistogramBinType
    - taosMemoryFree
    - taosStrndup
    - functionSetup
    - varDataVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t histogramFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6005,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6005,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6017,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6023,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6037,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6039,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pCtx
    - isPartial
    argTypes:
    - SqlFunctionCtx*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6042
      start: 6004
    functionDepth: 1
    functionLinenumber: 6004
    functionLinenumberEnd: 6042
    functionName: histogramFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - colDataIsNull_f
    - GET_RES_INFO
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: int32_t histogramFunctionImpl(SqlFunctionCtx* pCtx, bool isPartial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: histogramFunctionImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6044
      start: 6044
    functionDepth: 2
    functionLinenumber: 6044
    functionLinenumberEnd: 6044
    functionName: histogramFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - histogramFunctionImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t histogramFunction(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: histogramFunctionImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6046
      start: 6046
    functionDepth: 2
    functionLinenumber: 6046
    functionLinenumberEnd: 6046
    functionName: histogramFunctionPartial
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - histogramFunctionImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t histogramFunctionPartial(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SHistoFuncInfo*
    - SHistoFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6057
      start: 6048
    functionDepth: 0
    functionLinenumber: 6048
    functionLinenumberEnd: 6057
    functionName: histogramTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void histogramTransferInfo(SHistoFuncInfo* pInput, SHistoFuncInfo*
      pOutput)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6066,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6066,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6071,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6072,1
    - Dst: histogramTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6073,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6076,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6078
      start: 6059
    functionDepth: 1
    functionLinenumber: 6059
    functionLinenumberEnd: 6078
    functionName: histogramFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - histogramTransferInfo
    - colDataGetData
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - varDataVal
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t histogramFunctionMerge(SqlFunctionCtx* pCtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6081,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6082,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6082,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6084,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6106,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6106,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6110,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6110,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6114,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6123
      start: 6080
    functionDepth: 1
    functionLinenumber: 6080
    functionLinenumberEnd: 6123
    functionName: histogramFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - snprintf
    - varDataVal
    - varDataSetLen
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t histogramFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6126,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6127,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6127,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6128,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6129,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6134,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6134,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6135,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6139,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6149
      start: 6125
    functionDepth: 1
    functionLinenumber: 6125
    functionLinenumberEnd: 6149
    functionName: histogramPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getHistogramInfoSize
    - memcpy
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - taosMemoryFree
    - varDataVal
    - taosMemoryCalloc
    - GET_RES_INFO
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t histogramPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6152,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6153,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6155,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6156,1
    - Dst: histogramTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6158,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6162
      start: 6151
    functionDepth: 1
    functionLinenumber: 6151
    functionLinenumberEnd: 6162
    functionName: histogramCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - histogramTransferInfo
    - TMAX
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t histogramCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx*
      pSourceCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6164
      start: 6164
    functionDepth: 0
    functionLinenumber: 6164
    functionLinenumberEnd: 6164
    functionName: getHLLInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getHLLInfoSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6169
      start: 6166
    functionDepth: 0
    functionLinenumber: 6166
    functionLinenumberEnd: 6169
    functionName: getHLLFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getHLLFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - data
    - bytes
    - buk
    argTypes:
    - void*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6184
      start: 6171
    functionDepth: 1
    functionLinenumber: 6171
    functionLinenumberEnd: 6184
    functionName: hllCountNum
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - MurmurHash3_64
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hllCountNum(void* data, int32_t bytes, int32_t* buk)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - buckets
    - bucketHisto
    argTypes:
    - uint8_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6206
      start: 6186
    functionDepth: 0
    functionLinenumber: 6186
    functionLinenumberEnd: 6206
    functionName: hllBucketHisto
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hllBucketHisto(uint8_t* buckets, int32_t* bucketHisto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6213,1
    - Dst: pow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6219
      start: 6207
    functionDepth: 0
    functionLinenumber: 6207
    functionLinenumberEnd: 6219
    functionName: hllTau
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - sqrt
    - pow
    linkageType: ''
    returnType: double
    signature: double hllTau(double x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6233
      start: 6221
    functionDepth: 0
    functionLinenumber: 6221
    functionLinenumberEnd: 6233
    functionName: hllSigma
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double hllSigma(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hllBucketHisto
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6240,1
    - Dst: hllTau
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6242,1
    - Dst: hllSigma
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6248,1
    - Dst: llroundl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - buckets
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6252
      start: 6237
    functionDepth: 1
    functionLinenumber: 6237
    functionLinenumberEnd: 6252
    functionName: hllCountCnt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - hllSigma
    - llroundl
    - hllTau
    - hllBucketHisto
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hllCountCnt(uint8_t* buckets)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6255,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6255,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6267,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6272,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6278,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6279,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6280,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6281,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6282,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6284,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6285,1
    - Dst: hllCountNum
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6290,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6301,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6301,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6303,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6303,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6307
      start: 6254
    functionDepth: 2
    functionLinenumber: 6254
    functionLinenumberEnd: 6307
    functionName: hllFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - blobDataLen
    - colDataGetData
    - SET_VAL
    - IS_STR_DATA_BLOB
    - varDataLen
    - GET_ROWCELL_INTERBUF
    - hllCountNum
    - varDataVal
    - blobDataVal
    - colDataIsNull_s
    - GET_RES_INFO
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t hllFunction(SqlFunctionCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SHLLInfo*
    - SHLLInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6316
      start: 6309
    functionDepth: 0
    functionLinenumber: 6309
    functionLinenumberEnd: 6316
    functionName: hllTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hllTransferInfo(SHLLInfo* pInput, SHLLInfo* pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6322,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6323,1
    - 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:6331,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6331,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6336,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6337,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6338,1
    - Dst: hllTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6339,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6343,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6343,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6345,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6349
      start: 6318
    functionDepth: 1
    functionLinenumber: 6318
    functionLinenumberEnd: 6349
    functionName: hllFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataGetData
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - hllTransferInfo
    - varDataVal
    - colDataIsNull_s
    - GET_RES_INFO
    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:6352,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6354,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6354,1
    - Dst: hllCountCnt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6355,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6361
      start: 6351
    functionDepth: 2
    functionLinenumber: 6351
    functionLinenumberEnd: 6361
    functionName: hllFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    - GET_RES_INFO
    - hllCountCnt
    linkageType: ''
    returnType: int32_t
    signature: int32_t hllFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6364,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6365,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6365,1
    - Dst: getHLLInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6366,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6367,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6372,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6372,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6373,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6377,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6383,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6388
      start: 6363
    functionDepth: 1
    functionLinenumber: 6363
    functionLinenumberEnd: 6388
    functionName: hllPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - taosMemoryFree
    - varDataVal
    - taosMemoryCalloc
    - GET_RES_INFO
    - getHLLInfoSize
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t hllPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6391,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6392,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6394,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6395,1
    - Dst: hllTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6397,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6401
      start: 6390
    functionDepth: 1
    functionLinenumber: 6390
    functionLinenumberEnd: 6401
    functionName: hllCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - TMAX
    - GET_RES_INFO
    - hllTransferInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t hllCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6406
      start: 6403
    functionDepth: 0
    functionLinenumber: 6403
    functionLinenumberEnd: 6406
    functionName: getStateFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getStateFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6410,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6412,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6414,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6416,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6418,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - opStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6427
      start: 6408
    functionDepth: 0
    functionLinenumber: 6408
    functionLinenumberEnd: 6427
    functionName: getStateOpType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 2
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: int8_t
    signature: int8_t getStateOpType(char* opStr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6430,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6434,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6439,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6444,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6449,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6454,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6459,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6464,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6469,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6474,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6479,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 4
    argNames:
    - op
    - pCol
    - index
    - param
    argTypes:
    - int8_t
    - SColumnInfoData*
    - int32_t
    - SVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6487
      start: 6429
    functionDepth: 1
    functionLinenumber: 6429
    functionLinenumberEnd: 6487
    functionName: checkStateOp
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 2
    functionsReached:
    - STATE_COMP
    - colDataGetData
    linkageType: ''
    returnType: bool
    signature: bool checkStateOp(int8_t op, SColumnInfoData* pCol, int32_t index,
      SVariant param)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6491,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6492,1
    - Dst: getStateOpType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6502,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6502,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6517,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6518,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6521,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6529,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6537,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6544,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6553
      start: 6489
    functionDepth: 2
    functionLinenumber: 6489
    functionLinenumberEnd: 6553
    functionName: stateCountFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataIsNull_f
    - appendSelectivityValue
    - getStateOpType
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - checkStateOp
    - varDataVal
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t stateCountFunction(SqlFunctionCtx* pCtx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6557,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6558,1
    - Dst: getStateOpType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6574,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6574,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6589,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6590,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6593,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6601,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6613,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6620,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6629
      start: 6555
    functionDepth: 2
    functionLinenumber: 6555
    functionLinenumberEnd: 6629
    functionName: stateDurationFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataIsNull_f
    - appendSelectivityValue
    - getStateOpType
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - checkStateOp
    - varDataVal
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t stateDurationFunction(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6634
      start: 6631
    functionDepth: 0
    functionLinenumber: 6631
    functionLinenumberEnd: 6634
    functionName: getCsumFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getCsumFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6638,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6639,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6659,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6664,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6665,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6669,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6673,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6677,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6681,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6686,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6686,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6687,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6689,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6698,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6709
      start: 6636
    functionDepth: 2
    functionLinenumber: 6636
    functionLinenumberEnd: 6709
    functionName: csumFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - IS_SIGNED_NUMERIC_TYPE
    - colDataGetData
    - appendSelectivityValue
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - isnan
    - colDataIsNull_f
    - GET_RES_INFO
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t csumFunction(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6714
      start: 6711
    functionDepth: 0
    functionLinenumber: 6711
    functionLinenumberEnd: 6714
    functionName: getMavgFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getMavgFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6720,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6736
      start: 6716
    functionDepth: 3
    functionLinenumber: 6716
    functionLinenumberEnd: 6736
    functionName: mavgFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t mavgFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6740,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6741,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6762,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6767,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6785,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6785,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6786,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6788,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6796,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6813
      start: 6738
    functionDepth: 2
    functionLinenumber: 6738
    functionLinenumberEnd: 6813
    functionName: mavgFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataGetData
    - appendSelectivityValue
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - isnan
    - colDataIsNull_f
    - GET_RES_INFO
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t mavgFunction(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6816,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6823
      start: 6815
    functionDepth: 1
    functionLinenumber: 6815
    functionLinenumberEnd: 6823
    functionName: getSampleOutputInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    linkageType: ''
    returnType: SSampleInfo
    signature: SSampleInfo * getSampleOutputInfo(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6826,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6831
      start: 6825
    functionDepth: 1
    functionLinenumber: 6825
    functionLinenumberEnd: 6831
    functionName: getSampleFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool getSampleFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6837,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6841,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6841,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6855
      start: 6833
    functionDepth: 3
    functionLinenumber: 6833
    functionLinenumberEnd: 6855
    functionName: sampleFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosSafeRand
    - GET_ROWCELL_INTERBUF
    - taosSeedRand
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t sampleFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assignVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInfo
    - data
    - index
    argTypes:
    - SSampleInfo*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6859
      start: 6857
    functionDepth: 1
    functionLinenumber: 6857
    functionLinenumberEnd: 6859
    functionName: sampleAssignResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - assignVal
    linkageType: ''
    returnType: void
    signature: void sampleAssignResult(SSampleInfo* pInfo, char* data, int32_t index)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sampleAssignResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6864,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6866,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6873,1
    - Dst: sampleAssignResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6875,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6877,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - pCtx
    - pInfo
    - data
    - index
    argTypes:
    - SqlFunctionCtx*
    - SSampleInfo*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6886
      start: 6861
    functionDepth: 3
    functionLinenumber: 6861
    functionLinenumberEnd: 6886
    functionName: doReservoirSample
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - sampleAssignResult
    - saveTupleData
    - updateTupleData
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t doReservoirSample(SqlFunctionCtx* pCtx, SSampleInfo* pInfo,
      char* data, int32_t index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6889,1
    - Dst: getSampleOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6890,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6896,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6900,1
    - Dst: doReservoirSample
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6901,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6908,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6915,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6917
      start: 6888
    functionDepth: 4
    functionLinenumber: 6888
    functionLinenumberEnd: 6917
    functionName: sampleFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getSampleOutputInfo
    - colDataGetData
    - SET_VAL
    - saveTupleData
    - doReservoirSample
    - colDataIsNull_s
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t sampleFunction(SqlFunctionCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6921,1
    - Dst: getSampleOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6923,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6927,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6934,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6935,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6939,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6943,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6950
      start: 6919
    functionDepth: 2
    functionLinenumber: 6919
    functionLinenumberEnd: 6950
    functionName: sampleFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - setSelectivityValue
    - getSampleOutputInfo
    - taosArrayGet
    - colDataSetVal
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t sampleFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6954,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6960
      start: 6952
    functionDepth: 1
    functionLinenumber: 6952
    functionLinenumberEnd: 6960
    functionName: getTailFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: bool getTailFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6964,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6968,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6993
      start: 6962
    functionDepth: 3
    functionLinenumber: 6962
    functionLinenumberEnd: 6993
    functionName: tailFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t tailFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - pItem
    - data
    - colBytes
    - ts
    - isNull
    argTypes:
    - STailItem*
    - char*
    - int32_t
    - TSKEY
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7005
      start: 6995
    functionDepth: 0
    functionLinenumber: 6995
    functionLinenumberEnd: 7005
    functionName: tailAssignResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void tailAssignResult(STailItem* pItem, char* data, int32_t colBytes,
      TSKEY ts, bool isNull)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareInt64Val
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7012
      start: 7008
    functionDepth: 1
    functionLinenumber: 7008
    functionLinenumberEnd: 7012
    functionName: tailCompFn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - compareInt64Val
    linkageType: ''
    returnType: int32_t
    signature: int32_t tailCompFn(const void* p1, const void* p2, const void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tailAssignResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7017,1
    - Dst: taosheapsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7018,1
    - Dst: tailAssignResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7021,1
    - Dst: taosheapadjust
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pInfo
    - data
    - ts
    - isNull
    argTypes:
    - STailInfo*
    - char*
    - TSKEY
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7024
      start: 7014
    functionDepth: 1
    functionLinenumber: 7014
    functionLinenumberEnd: 7024
    functionName: doTailAdd
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - tailAssignResult
    - taosheapadjust
    - taosheapsort
    linkageType: ''
    returnType: void
    signature: void doTailAdd(STailInfo* pInfo, char* data, TSKEY ts, bool isNull)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7029,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7030,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7042,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7045,1
    - Dst: doTailAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7046,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7046,1
    - Dst: taosqsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7049,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7055,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7064
      start: 7027
    functionDepth: 2
    functionLinenumber: 7027
    functionLinenumberEnd: 7064
    functionName: tailFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosqsort
    - colDataSetNULL
    - colDataGetData
    - TMIN
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - colDataIsNull_s
    - GET_RES_INFO
    - doTailAdd
    linkageType: ''
    returnType: int32_t
    signature: int32_t tailFunction(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7068,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7069,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7075,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7088
      start: 7066
    functionDepth: 1
    functionLinenumber: 7066
    functionLinenumberEnd: 7088
    functionName: tailFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - taosArrayGet
    - GET_RES_INFO
    - colDataSetVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t tailFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7095
      start: 7090
    functionDepth: 0
    functionLinenumber: 7090
    functionLinenumberEnd: 7095
    functionName: getUniqueFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    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:7099,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7103,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7108,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7110,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7114
      start: 7097
    functionDepth: 3
    functionLinenumber: 7097
    functionLinenumberEnd: 7114
    functionName: uniqueFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionSetup
    - GET_ROWCELL_INTERBUF
    - taosHashInit
    - taosGetDefaultHashFunction
    - taosHashClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t uniqueFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7133,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7133,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7134,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7139,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pInfo
    - data
    - ts
    - isNull
    argTypes:
    - SUniqueInfo*
    - char*
    - TSKEY
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7146
      start: 7117
    functionDepth: 1
    functionLinenumber: 7117
    functionLinenumberEnd: 7146
    functionName: doUniqueAdd
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - varDataTLen
    - taosHashGet
    - taosHashPut
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void doUniqueAdd(SUniqueInfo* pInfo, char* data, TSKEY ts, bool isNull)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7151,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7152,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7163,1
    - Dst: doUniqueAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7164,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7164,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7167,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7175,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7177,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7187
      start: 7149
    functionDepth: 2
    functionLinenumber: 7149
    functionLinenumberEnd: 7187
    functionName: uniqueFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - colDataGetData
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - taosHashCleanup
    - doUniqueAdd
    - colDataIsNull_s
    - GET_RES_INFO
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t uniqueFunction(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7192
      start: 7189
    functionDepth: 0
    functionLinenumber: 7189
    functionLinenumberEnd: 7192
    functionName: getModeFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getModeFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7198,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7202,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7206,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7208,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7208,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7216,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7224
      start: 7194
    functionDepth: 3
    functionLinenumber: 7194
    functionLinenumberEnd: 7224
    functionName: modeFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - functionSetup
    - taosMemoryMalloc
    - GET_ROWCELL_INTERBUF
    - taosHashInit
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - taosHashClear
    linkageType: ''
    returnType: int32_t
    signature: int32_t modeFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7227,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SModeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7230
      start: 7226
    functionDepth: 1
    functionLinenumber: 7226
    functionLinenumberEnd: 7230
    functionName: modeFunctionCleanup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void modeFunctionCleanup(SModeInfo* pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7233,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7233,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7233,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7236,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7236,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7237
      start: 7232
    functionDepth: 2
    functionLinenumber: 7232
    functionLinenumberEnd: 7237
    functionName: modeFunctionCleanupExt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - modeFunctionCleanup
    - GET_RES_INFO
    linkageType: ''
    returnType: void
    signature: void modeFunctionCleanupExt(SqlFunctionCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7240,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7242,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7242,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7243,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7244,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7244,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7246,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7246,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7249,1
    - Dst: doSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pCtx
    - data
    - pInfo
    - pPos
    argTypes:
    - SqlFunctionCtx*
    - char*
    - SModeInfo*
    - STuplePos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7253
      start: 7239
    functionDepth: 2
    functionLinenumber: 7239
    functionLinenumberEnd: 7253
    functionName: saveModeTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - memcpy
    - varDataTLen
    - IS_STR_DATA_BLOB
    - getJsonValueLen
    - doSaveTupleData
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t saveModeTupleData(SqlFunctionCtx* pCtx, char* data, SModeInfo*
      pInfo, STuplePos* pPos)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7258,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7259,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7264,1
    - Dst: saveModeTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7270,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7276,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7282,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7289,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - pInfo
    - rowIndex
    - pCtx
    - data
    argTypes:
    - SModeInfo*
    - int32_t
    - SqlFunctionCtx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7297
      start: 7255
    functionDepth: 3
    functionLinenumber: 7255
    functionLinenumberEnd: 7297
    functionName: doModeAdd
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - saveModeTupleData
    - saveTupleData
    - taosHashGet
    - updateTupleData
    - taosHashPut
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t doModeAdd(SModeInfo* pInfo, int32_t rowIndex, SqlFunctionCtx*
      pCtx, char* data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7300,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7301,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7311,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7316,1
    - Dst: doModeAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7317,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7319,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7325,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7327,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7333,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7336
      start: 7299
    functionDepth: 4
    functionLinenumber: 7299
    functionLinenumberEnd: 7336
    functionName: modeFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - SET_VAL
    - saveTupleData
    - GET_ROWCELL_INTERBUF
    - modeFunctionCleanup
    - doModeAdd
    - colDataIsNull_s
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t modeFunction(SqlFunctionCtx* pCtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7340,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7341,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7343,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7346,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7353,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7362,1
    - Dst: loadTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7367,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7370,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7370,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7372,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7376,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7378,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7381,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7383,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7384,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7390
      start: 7338
    functionDepth: 3
    functionLinenumber: 7338
    functionLinenumberEnd: 7390
    functionName: modeFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - taosHashIterate
    - setSelectivityValue
    - taosArrayGet
    - loadTupleData
    - qError
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - terrstr
    - modeFunctionCleanup
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t modeFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - struct SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7395
      start: 7392
    functionDepth: 0
    functionLinenumber: 7392
    functionLinenumberEnd: 7395
    functionName: getTwaFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    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:7401,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7405,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7410
      start: 7397
    functionDepth: 3
    functionLinenumber: 7397
    functionLinenumberEnd: 7410
    functionName: twaFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t twaFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - SPoint1
    - SPoint1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7424
      start: 7412
    functionDepth: 0
    functionLinenumber: 7412
    functionLinenumberEnd: 7424
    functionName: twa_get_area
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double twa_get_area(SPoint1 s, SPoint1 e)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7431,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7432,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7435,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7440,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7445,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7458,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7458,1
    - Dst: twa_get_area
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7460,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7467,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7480,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7480,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7492,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7505,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7509,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7513,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7517,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7521,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7525,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7529,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7533,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7537,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7541,1
    - Dst: twa_get_area
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7552,1
    - Dst: twa_get_area
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7558,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7566,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 119
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7568
      start: 7426
    functionDepth: 4
    functionLinenumber: 7426
    functionLinenumberEnd: 7568
    functionName: twaFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - funcInputGetNextRow
    - SET_VAL
    - GET_TYPED_DATA
    - typeGetTypeModFromColInfo
    - GET_ROWCELL_INTERBUF
    - funcInputUpdate
    - INIT_INTP_POINT
    - GET_RES_INFO
    - twa_get_area
    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:7583,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7585,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - struct SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7601
      start: 7582
    functionDepth: 2
    functionLinenumber: 7582
    functionLinenumberEnd: 7601
    functionName: twaFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t twaFinalize(struct SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7607,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7611,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7614
      start: 7603
    functionDepth: 3
    functionLinenumber: 7603
    functionLinenumberEnd: 7614
    functionName: blockDistSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDistSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo* pResultInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7621,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7622,1
    - Dst: tDeserializeBlockDistInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7625,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7625,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7625,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7626,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7649,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7655
      start: 7616
    functionDepth: 1
    functionLinenumber: 7616
    functionLinenumberEnd: 7655
    functionName: blockDistFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - tListLen
    - qError
    - tDeserializeBlockDistInfo
    - varDataLen
    - GET_ROWCELL_INTERBUF
    - varDataVal
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDistFunction(SqlFunctionCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7662,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7664,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7664,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7665,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7665,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7667,1
    - Dst: tEncodeU16
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7667,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7668,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7669,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7669,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7671,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7672,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7672,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7673,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7673,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7674,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7674,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7675,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7675,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7676,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7677,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7677,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7678,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7678,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7679,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7679,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7681,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7682,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7682,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7685,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - STableBlockDistInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7695
      start: 7657
    functionDepth: 1
    functionLinenumber: 7657
    functionLinenumberEnd: 7695
    functionName: tSerializeBlockDistInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - tEncodeU64
    - tEncodeU16
    - tListLen
    - tEncoderClear
    - tEncodeU32
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    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:7701,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7703,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7703,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7704,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7704,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7706,1
    - Dst: tDecodeU16
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7706,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7707,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7707,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7708,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7708,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7710,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7710,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7711,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7711,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7712,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7712,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7713,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7713,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7714,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7714,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7715,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7715,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7716,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7716,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7717,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7717,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7718,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7718,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7720,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7721,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7721,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - STableBlockDistInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7727
      start: 7697
    functionDepth: 1
    functionLinenumber: 7697
    functionLinenumberEnd: 7727
    functionName: tDeserializeBlockDistInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - tDecodeU64
    - tListLen
    - tDecoderClear
    - tDecodeU32
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeU16
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeBlockDistInfo(void* buf, int32_t bufLen, STableBlockDistInfo*
      pInfo)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7730,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7731,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7733,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7754,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7754,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7758,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7759,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7769,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7769,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7772,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7773,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7778,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7778,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7780,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7781,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7786,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7786,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7790,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7791,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7796,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7796,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7798,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7799,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7806,1
    - Dst: ceil
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7820,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7822,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7824,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7824,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7832,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7832,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7838,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7838,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7842,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7843,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7850
      start: 7729
    functionDepth: 1
    functionLinenumber: 7729
    functionLinenumberEnd: 7850
    functionName: blockDistFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tListLen
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - snprintf
    - ceil
    - varDataVal
    - varDataSetLen
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDistFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7855,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7859,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7861
      start: 7851
    functionDepth: 3
    functionLinenumber: 7851
    functionLinenumberEnd: 7861
    functionName: blockDBUsageSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDBUsageSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7867,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7868,1
    - Dst: tDeserializeBlockDbUsage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7871,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7871,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7871,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7881
      start: 7862
    functionDepth: 1
    functionLinenumber: 7862
    functionLinenumberEnd: 7881
    functionName: blockDBUsageFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - tDeserializeBlockDbUsage
    - qError
    - varDataLen
    - GET_ROWCELL_INTERBUF
    - varDataVal
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDBUsageFunction(SqlFunctionCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7888,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7890,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7890,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7892,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7892,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7893,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7893,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7894,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7894,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7896,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - SDBBlockUsageInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7906
      start: 7883
    functionDepth: 1
    functionLinenumber: 7883
    functionLinenumberEnd: 7906
    functionName: tSerializeBlockDbUsage
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - tEncodeU64
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeBlockDbUsage(void* buf, int32_t bufLen, const SDBBlockUsageInfo*
      pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7911,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7913,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7913,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7914,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7915,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7915,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7916,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7916,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - SDBBlockUsageInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7921
      start: 7907
    functionDepth: 1
    functionLinenumber: 7907
    functionLinenumberEnd: 7921
    functionName: tDeserializeBlockDbUsage
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 1
    functionsReached:
    - tDecoderClear
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeU64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeBlockDbUsage(void* buf, int32_t bufLen, SDBBlockUsageInfo*
      pInfo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7923,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7924,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7926,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7939,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7939,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7941,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7941,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7944,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7945,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7951,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7951,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7952,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7958
      start: 7922
    functionDepth: 1
    functionLinenumber: 7922
    functionLinenumberEnd: 7958
    functionName: blockDBUsageFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tsnprintf
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - snprintf
    - varDataVal
    - varDataSetLen
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDBUsageFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - struct SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7963
      start: 7960
    functionDepth: 0
    functionLinenumber: 7960
    functionLinenumberEnd: 7963
    functionName: getDerivativeFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getDerivativeFuncEnv(struct SFunctionNode* pFunc, SFuncExecEnv*
      pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7969,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7980
      start: 7965
    functionDepth: 3
    functionLinenumber: 7965
    functionLinenumberEnd: 7980
    functionName: derivativeFuncSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t derivativeFuncSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7982
      start: 7982
    functionDepth: 0
    functionLinenumber: 7982
    functionLinenumberEnd: 7982
    functionName: derivativeFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t derivativeFunction(SqlFunctionCtx* pCtx)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7985,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7986,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7996,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8003,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8027,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8027,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8028,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8030,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8037,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8042,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8059,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8083,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8083,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8084,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8086,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8093,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8098,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8115
      start: 7984
    functionDepth: 4
    functionLinenumber: 7984
    functionLinenumberEnd: 8115
    functionName: DoDerivativeFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataSetNULL
    - appendSelectivityCols
    - funcInputGetNextRow
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - funcInputUpdate
    - isnan
    - colDataSetInt64
    - GET_RES_INFO
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t DoDerivativeFunction(SqlFunctionCtx* pCtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8118,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8119,1
    - Dst: DoDerivativeFunction
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pCtxArray
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8126
      start: 8117
    functionDepth: 5
    functionLinenumber: 8117
    functionLinenumberEnd: 8126
    functionName: derivativeFunctionByRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - DoDerivativeFunction
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t derivativeFunctionByRow(SArray* pCtxArray)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkBytes
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8128
      start: 8128
    functionDepth: 0
    functionLinenumber: 8128
    functionLinenumberEnd: 8128
    functionName: getIrateInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getIrateInfoSize(int32_t pkBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIrateInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - struct SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8134
      start: 8130
    functionDepth: 1
    functionLinenumber: 8130
    functionLinenumberEnd: 8134
    functionName: getIrateFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - getIrateInfoSize
    linkageType: ''
    returnType: bool
    signature: bool getIrateFuncEnv(struct SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8140,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8153
      start: 8136
    functionDepth: 3
    functionLinenumber: 8136
    functionLinenumberEnd: 8153
    functionName: irateFuncSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t irateFuncSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo* pResInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8161,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8162,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8166,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8173,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8174,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - pRateInfo
    - isFirst
    - ts
    - pk
    - v
    argTypes:
    - SRateInfo*
    - bool
    - int64_t
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8181
      start: 8155
    functionDepth: 1
    functionLinenumber: 8155
    functionLinenumberEnd: 8181
    functionName: doSaveRateInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void doSaveRateInfo(SRateInfo* pRateInfo, bool isFirst, int64_t ts,
      char* pk, double v)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pCtx
    - pRateInfo
    - isMerge
    argTypes:
    - SqlFunctionCtx*
    - SRateInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8198
      start: 8183
    functionDepth: 0
    functionLinenumber: 8183
    functionLinenumberEnd: 8198
    functionName: initializeRateInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initializeRateInfo(SqlFunctionCtx* pCtx, SRateInfo* pRateInfo,
      bool isMerge)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8202,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8203,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8210,1
    - Dst: initializeRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8212,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8219,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8235,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8242,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8244,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8251,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8259,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8261
      start: 8200
    functionDepth: 4
    functionLinenumber: 8200
    functionLinenumberEnd: 8261
    functionName: irateFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - funcInputGetNextRow
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - funcInputUpdate
    - doSaveRateInfo
    - initializeRateInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t irateFunction(SqlFunctionCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pRateInfo
    - tickPerSec
    argTypes:
    - SRateInfo*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8283
      start: 8263
    functionDepth: 0
    functionLinenumber: 8263
    functionLinenumberEnd: 8283
    functionName: doCalcRate
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double doCalcRate(const SRateInfo* pRateInfo, double tickPerSec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8287,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8289,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8291,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8295,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - inputKey
    - pInput
    - pOutput
    - isFirstKey
    argTypes:
    - TSKEY
    - SRateInfo*
    - SRateInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8302
      start: 8285
    functionDepth: 2
    functionLinenumber: 8285
    functionLinenumberEnd: 8302
    functionName: irateTransferInfoImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - doSaveRateInfo
    linkageType: ''
    returnType: void
    signature: void irateTransferInfoImpl(TSKEY inputKey, SRateInfo* pInput, SRateInfo*
      pOutput, bool isFirstKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8305,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SRateInfo*
    - SRateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8307
      start: 8304
    functionDepth: 2
    functionLinenumber: 8304
    functionLinenumberEnd: 8307
    functionName: irateCopyInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - doSaveRateInfo
    linkageType: ''
    returnType: void
    signature: void irateCopyInfo(SRateInfo* pInput, SRateInfo* pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: irateCopyInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8317,1
    - Dst: irateTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8323,1
    - Dst: irateTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SRateInfo*
    - SRateInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8332
      start: 8309
    functionDepth: 3
    functionLinenumber: 8309
    functionLinenumberEnd: 8332
    functionName: irateTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - irateTransferInfoImpl
    - irateCopyInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t irateTransferInfo(SRateInfo* pInput, SRateInfo* pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8341,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8341,1
    - Dst: initializeRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8342,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8346,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8347,1
    - Dst: initializeRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8348,1
    - Dst: irateTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8350,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8362
      start: 8334
    functionDepth: 4
    functionLinenumber: 8334
    functionLinenumberEnd: 8362
    functionName: irateFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_RES_INFO
    - colDataGetData
    - GET_ROWCELL_INTERBUF
    - varDataVal
    - initializeRateInfo
    - irateTransferInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t irateFunctionMerge(SqlFunctionCtx* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8365,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8366,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8366,1
    - Dst: getIrateInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8367,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8368,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8373,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8373,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8374,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8377,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8379,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8383,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8387
      start: 8364
    functionDepth: 1
    functionLinenumber: 8364
    functionLinenumberEnd: 8387
    functionName: iratePartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - taosMemoryFree
    - varDataVal
    - getIrateInfoSize
    - taosMemoryCalloc
    - GET_RES_INFO
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t iratePartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8391,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8396,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8399,1
    - Dst: doCalcRate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8400,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8400,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8404
      start: 8389
    functionDepth: 1
    functionLinenumber: 8389
    functionLinenumberEnd: 8404
    functionName: irateFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - doCalcRate
    - TSDB_TICK_PER_SECOND
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t irateFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8407,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8408,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8428,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8435,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8443,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8444,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8445,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8446,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8448,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8458,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8460
      start: 8406
    functionDepth: 1
    functionLinenumber: 8406
    functionLinenumberEnd: 8460
    functionName: groupConstValueFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - colDataGetData
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - colDataIsNull_s
    - calcStrBytesByType
    - GET_RES_INFO
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupConstValueFunction(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: groupConstValueFunction
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8462
      start: 8462
    functionDepth: 2
    functionLinenumber: 8462
    functionLinenumberEnd: 8462
    functionName: groupKeyFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - groupConstValueFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupKeyFunction(SqlFunctionCtx* pCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8467,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8472,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8474,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8489
      start: 8464
    functionDepth: 1
    functionLinenumber: 8464
    functionLinenumberEnd: 8489
    functionName: groupConstValueFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    - taosArrayGet
    - colDataSetVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupConstValueFinalize(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: groupConstValueFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8491
      start: 8491
    functionDepth: 2
    functionLinenumber: 8491
    functionLinenumberEnd: 8491
    functionName: groupKeyFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - groupConstValueFinalize
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupKeyFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8494,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8495,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8497,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8498,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8511,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8512,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8513,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8515,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8524
      start: 8493
    functionDepth: 1
    functionLinenumber: 8493
    functionLinenumberEnd: 8524
    functionName: groupKeyCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - calcStrBytesByType
    - GET_RES_INFO
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t groupKeyCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8529,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8530,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8544,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8551,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8552,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8554,1
    - Dst: doSaveLastrow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8556,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8566
      start: 8526
    functionDepth: 3
    functionLinenumber: 8526
    functionLinenumberEnd: 8566
    functionName: cachedLastRowFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - SET_VAL
    - getKeyComparFunc
    - getRowPTs
    - GET_ROWCELL_INTERBUF
    - doSaveLastrow
    - colDataIsNull
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t cachedLastRowFunction(SqlFunctionCtx* pCtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8571
      start: 8568
    functionDepth: 0
    functionLinenumber: 8568
    functionLinenumberEnd: 8571
    functionName: getCorrFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getCorrFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8577,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8581,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8584
      start: 8573
    functionDepth: 3
    functionLinenumber: 8573
    functionLinenumberEnd: 8584
    functionName: corrFuncSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - memset
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t corrFuncSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo* pResultInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8591,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8591,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8597,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8598,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8602,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8602,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8610,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8610,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8614,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8615,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8634,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8634,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8636
      start: 8586
    functionDepth: 1
    functionLinenumber: 8586
    functionLinenumberEnd: 8636
    functionName: corrFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataGetData
    - SET_VAL
    - typeGetTypeModFromColInfo
    - GET_ROWCELL_INTERBUF
    - colDataIsNull_f
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t corrFunction(SqlFunctionCtx* pCtx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8640,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8640,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8644,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8645,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8662,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8663,1
    - Dst: DBL_EQUAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8665,1
    - Dst: DBL_EQUAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8665,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8671,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8681,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8682
      start: 8638
    functionDepth: 2
    functionLinenumber: 8638
    functionLinenumberEnd: 8682
    functionName: corrFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - qError
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    - DBL_EQUAL
    - sqrt
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t corrFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8684
      start: 8684
    functionDepth: 0
    functionLinenumber: 8684
    functionLinenumberEnd: 8684
    functionName: getCorrInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getCorrInfoSize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8687,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8688,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8688,1
    - Dst: getCorrInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8689,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8690,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8698,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8698,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8699,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8701,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8703,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8707,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8711
      start: 8686
    functionDepth: 1
    functionLinenumber: 8686
    functionLinenumberEnd: 8711
    functionName: corrPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - getCorrInfoSize
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - taosMemoryFree
    - varDataVal
    - taosMemoryCalloc
    - GET_RES_INFO
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t corrPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8717,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8718,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8718,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8726,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8726,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8729,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8733,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8734,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8742,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8753,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8753,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8755
      start: 8713
    functionDepth: 1
    functionLinenumber: 8713
    functionLinenumberEnd: 8755
    functionName: corrFuncMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - colDataGetData
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - TAOS_MEMCPY
    - varDataVal
    - colDataIsNull_s
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t corrFuncMerge(SqlFunctionCtx* pCtx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8758,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8759,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8772,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:8793,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8801
      start: 8757
    functionDepth: 1
    functionLinenumber: 8757
    functionLinenumberEnd: 8801
    functionName: hasNullFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - IS_NULL_TYPE
    - colDataIsNull_s
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t hasNullFunction(SqlFunctionCtx* pCtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:38,1
    - Dst: SSkipListCreate
      Src: /src/tdengine/source/libs/function/src/thistogram.c:44,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:45,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/thistogram.c:47,1
    - Dst: tLoserTreeCreate1
      Src: /src/tdengine/source/libs/function/src/thistogram.c:53,1
    - Dst: tHistogramCreateFrom
      Src: /src/tdengine/source/libs/function/src/thistogram.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - numOfEntries
    - pHisto
    argTypes:
    - int32_t
    - SHistogramInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: tHistogramCreate
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - SSkipListCreate
    - tLoserTreeCreate1
    - taosMemoryFree
    - tHistogramCreateFrom
    linkageType: ''
    returnType: int32_t
    signature: int32_t tHistogramCreate(int32_t numOfEntries, SHistogramInfo** pHisto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/thistogram.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pBuf
    - numOfBins
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: tHistogramCreateFrom
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: SHistogramInfo
    signature: SHistogramInfo * tHistogramCreateFrom(void* pBuf, int32_t numOfBins)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: tHistogramCreate
      Src: /src/tdengine/source/libs/function/src/thistogram.c:81,1
    - Dst: histoBinarySearch
      Src: /src/tdengine/source/libs/function/src/thistogram.c:88,1
    - Dst: idx < 0 || idx >
      Src: /src/tdengine/source/libs/function/src/thistogram.c:89,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:90,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:104,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:109,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:114,1
    - Dst: histogramCreateBin
      Src: /src/tdengine/source/libs/function/src/thistogram.c:118,1
    - Dst: tSkipListCreateKey
      Src: /src/tdengine/source/libs/function/src/thistogram.c:124,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:125,1
    - Dst: SSkipListPut
      Src: /src/tdengine/source/libs/function/src/thistogram.c:131,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/function/src/thistogram.c:156,1
    - Dst: tSkipListCreateKey
      Src: /src/tdengine/source/libs/function/src/thistogram.c:160,1
    - Dst: tSkipListGetOne
      Src: /src/tdengine/source/libs/function/src/thistogram.c:161,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/function/src/thistogram.c:176,1
    - Dst: tMergeTreePrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:177,1
    - Dst: SSkipListPrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:184,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:191,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:193,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:196,1
    - Dst: tMergeTreePrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:214,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/function/src/thistogram.c:217,1
    - Dst: tMergeTreePrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:220,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:224,1
    - Dst: SSkipListPrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:226,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:235,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:261,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/function/src/thistogram.c:264,1
    - Dst: tSkipListRemoveNode
      Src: /src/tdengine/source/libs/function/src/thistogram.c:266,1
    - Dst: SSkipListPrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:267,1
    - Dst: tMergeTreePrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:269,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:282,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:288,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 143
    argCount: 2
    argNames:
    - pHisto
    - val
    argTypes:
    - SHistogramInfo**
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 305
    functionName: tHistogramAdd
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: 1
    functionsReached:
    - tSkipListRemoveNode
    - tSkipListCreateKey
    - histoBinarySearch
    - qError
    - tMergeTreeAdjust
    - idx < 0 || idx >
    - tHistogramCreate
    - tSkipListGetOne
    - SSkipListPrint
    - histogramCreateBin
    - printf
    - tMergeTreePrint
    - taosMemoryCalloc
    - SSkipListPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t tHistogramAdd(SHistogramInfo** pHisto, double val)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pEntry
    - len
    - val
    argTypes:
    - SHistBin*
    - int32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 330
    functionName: histoBinarySearch
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t histoBinarySearch(SHistBin* pEntry, int32_t len, double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/libs/function/src/thistogram.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pHistBin
    - size
    argTypes:
    - SHistBin*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 356
    functionName: histogramMergeImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void histogramMergeImpl(SHistBin* pHistBin, int32_t* size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/libs/function/src/thistogram.c:363,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:367,1
    - Dst: histogramMergeImpl
      Src: /src/tdengine/source/libs/function/src/thistogram.c:377,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pHisto
    - index
    - val
    argTypes:
    - SHistogramInfo*
    - int32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 389
    functionName: histogramCreateBin
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: 1
    functionsReached:
    - histogramMergeImpl
    - qError
    - memmove
    linkageType: ''
    returnType: int32_t
    signature: int32_t histogramCreateBin(SHistogramInfo* pHisto, int32_t index, double
      val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/thistogram.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pHisto
    argTypes:
    - SHistogramInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: tHistogramDestroy
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tHistogramDestroy(SHistogramInfo** pHisto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:401,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:404,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pHisto
    argTypes:
    - SHistogramInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 415
    functionName: tHistogramPrint
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void tHistogramPrint(SHistogramInfo* pHisto)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: histoBinarySearch
      Src: /src/tdengine/source/libs/function/src/thistogram.c:425,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:432,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:437,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:441,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pHisto
    - v
    - res
    argTypes:
    - SHistogramInfo*
    - double
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 465
    functionName: tHistogramSum
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: 0
    functionsReached:
    - qError
    - histoBinarySearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t tHistogramSum(SHistogramInfo* pHisto, double v, int64_t *res)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:469,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:501,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/thistogram.c:507,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/thistogram.c:517,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:522,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:533,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:537,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:541,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:564,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/thistogram.c:569,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/thistogram.c:581,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 81
    argCount: 4
    argNames:
    - pHisto
    - ratio
    - num
    - pVal
    argTypes:
    - SHistogramInfo*
    - double*
    - int32_t
    - double**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 589
    functionName: tHistogramUniform
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - fabs
    - qError
    - printf
    - sqrt
    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:592,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:602,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/thistogram.c:621,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/thistogram.c:627,1
    - Dst: histogramMergeImpl
      Src: /src/tdengine/source/libs/function/src/thistogram.c:637,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/thistogram.c:641,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/thistogram.c:643,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - pHisto1
    - pHisto2
    - numOfEntries
    - pResHistogram
    argTypes:
    - SHistogramInfo*
    - SHistogramInfo*
    - int32_t
    - SHistogramInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 645
    functionName: tHistogramMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: 1
    functionsReached:
    - histogramMergeImpl
    - memcpy
    - tHistogramCreate
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tHistogramMerge(SHistogramInfo* pHisto1, SHistogramInfo* pHisto2,
      int32_t numOfEntries, SHistogramInfo** pResHistogram)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checknumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:39,1
    - Dst: luaL_checknumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:40,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lua
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: userlib_exampleFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - luaL_checknumber
    - lua_pushnumber
    linkageType: ''
    returnType: int
    signature: int userlib_exampleFunc(lua_State *lua)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_register
      Src: /src/tdengine/source/libs/function/src/tscript.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lua
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: luaRegisterLibFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_register
    linkageType: ''
    returnType: void
    signature: void luaRegisterLibFunc(lua_State *lua)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/tdengine/source/libs/function/src/tscript.c:49,1
    - Dst: lua_pushstring
      Src: /src/tdengine/source/libs/function/src/tscript.c:50,1
    - Dst: lua_call
      Src: /src/tdengine/source/libs/function/src/tscript.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lua
    - libname
    - luafunc
    argTypes:
    - lua_State*
    - char*
    - lua_CFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: luaLoadLib
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushcfunction
    - lua_call
    linkageType: ''
    returnType: void
    signature: void luaLoadLib(lua_State *lua, const char *libname, lua_CFunction
      luafunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaLoadLib
      Src: /src/tdengine/source/libs/function/src/tscript.c:61,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:63,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:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - lua
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: luaLoadLibraries
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - luaLoadLib
    linkageType: ''
    returnType: void
    signature: void luaLoadLibraries(lua_State *lua)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushnil
      Src: /src/tdengine/source/libs/function/src/tscript.c:68,1
    - Dst: lua_setglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:69,1
    - Dst: lua_pushnil
      Src: /src/tdengine/source/libs/function/src/tscript.c:70,1
    - Dst: lua_setglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - lua
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: luaRemoveUnsupportedFunctions
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_setglobal
    - lua_pushnil
    linkageType: ''
    returnType: void
    signature: void luaRemoveUnsupportedFunctions(lua_State *lua)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tscript.c:75,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:78,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tscript.c:79,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:82,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/tscript.c:83,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:86,1
    - Dst: lua_pushlstring
      Src: /src/tdengine/source/libs/function/src/tscript.c:88,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/tscript.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - lua
    - type
    - val
    argTypes:
    - lua_State*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: taosValueToLuaType
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - lua_pushnumber
    - varDataLen
    - lua_pushlstring
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    linkageType: ''
    returnType: void
    signature: void taosValueToLuaType(lua_State *lua, int32_t type, char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tscript.c:95,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:98,1
    - Dst: lua_pcall
      Src: /src/tdengine/source/libs/function/src/tscript.c:99,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:100,1
    - Dst: lua_setglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pInit
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: taosLoadScriptInit
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - snprintf
    - lua_getglobal
    - lua_pcall
    - lua_setglobal
    linkageType: ''
    returnType: int
    signature: int taosLoadScriptInit(void* pInit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tscript.c:109,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:112,1
    - Dst: lua_newtable
      Src: /src/tdengine/source/libs/function/src/tscript.c:115,1
    - Dst: taosValueToLuaType
      Src: /src/tdengine/source/libs/function/src/tscript.c:118,1
    - Dst: lua_rawseti
      Src: /src/tdengine/source/libs/function/src/tscript.c:119,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:123,1
    - Dst: lua_istable
      Src: /src/tdengine/source/libs/function/src/tscript.c:124,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:127,1
    - Dst: lua_pcall
      Src: /src/tdengine/source/libs/function/src/tscript.c:129,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:130,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:130,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:131,1
    - Dst: luaValueToTaosType
      Src: /src/tdengine/source/libs/function/src/tscript.c:136,1
    - Dst: lua_setglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: taosLoadScriptNormal
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_tostring
    - lua_setglobal
    - lua_istable
    - lua_pushnumber
    - qError
    - taosValueToLuaType
    - lua_pop
    - snprintf
    - lua_newtable
    - luaValueToTaosType
    - lua_rawseti
    - lua_pcall
    - lua_getglobal
    linkageType: ''
    returnType: void
    signature: "void taosLoadScriptNormal(void *pInit, char *pInput, int16_t iType,
      int16_t iBytes, int32_t numOfRows, \n    int64_t *ptsList, int64_t key, char*
      pOutput, char *ptsOutput, int32_t *numOfOutput, int16_t oType, int16_t oBytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tscript.c:146,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:149,1
    - Dst: lua_isfunction
      Src: /src/tdengine/source/libs/function/src/tscript.c:150,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:151,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:151,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:155,1
    - Dst: lua_pcall
      Src: /src/tdengine/source/libs/function/src/tscript.c:156,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:157,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:157,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:158,1
    - Dst: luaValueToTaosType
      Src: /src/tdengine/source/libs/function/src/tscript.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - pInit
    - data
    - numOfRows
    - pOutput
    - numOfOutput
    argTypes:
    - void*
    - char*
    - int32_t
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 164
    functionName: taosLoadScriptMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_tostring
    - qError
    - lua_pop
    - lua_isfunction
    - snprintf
    - luaValueToTaosType
    - lua_pcall
    - lua_getglobal
    linkageType: ''
    returnType: void
    signature: void taosLoadScriptMerge(void *pInit, char* data, int32_t numOfRows,
      char* pOutput, int32_t* numOfOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tscript.c:170,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:173,1
    - Dst: lua_isfunction
      Src: /src/tdengine/source/libs/function/src/tscript.c:174,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:175,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:175,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:179,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:181,1
    - Dst: lua_pcall
      Src: /src/tdengine/source/libs/function/src/tscript.c:182,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:183,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:183,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:184,1
    - Dst: lua_setglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:187,1
    - Dst: luaValueToTaosType
      Src: /src/tdengine/source/libs/function/src/tscript.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - pInit
    - key
    - pOutput
    - numOfOutput
    argTypes:
    - void*
    - int64_t
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 191
    functionName: taosLoadScriptFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_tostring
    - lua_setglobal
    - lua_pushnumber
    - qError
    - lua_pop
    - lua_isfunction
    - snprintf
    - luaValueToTaosType
    - lua_pcall
    - lua_getglobal
    linkageType: ''
    returnType: void
    signature: void taosLoadScriptFinalize(void *pInit,int64_t key, char *pOutput,
      int32_t* numOfOutput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyScriptCtx
      Src: /src/tdengine/source/libs/function/src/tscript.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pInit
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: taosLoadScriptDestroy
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - destroyScriptCtx
    linkageType: ''
    returnType: void
    signature: void taosLoadScriptDestroy(void *pInit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tscript.c:198,1
    - Dst: getScriptEnvFromPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:200,1
    - Dst: destroyScriptCtx
      Src: /src/tdengine/source/libs/function/src/tscript.c:205,1
    - Dst: luaL_dostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:210,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:211,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:212,1
    - Dst: destroyScriptCtx
      Src: /src/tdengine/source/libs/function/src/tscript.c:213,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:216,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:217,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:219,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:220,1
    - Dst: destroyScriptCtx
      Src: /src/tdengine/source/libs/function/src/tscript.c:221,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:224,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:224,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - script
    - resType
    - resBytes
    argTypes:
    - char*
    - int8_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 228
    functionName: createScriptCtx
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_tostring
    - memcpy
    - luaL_dostring
    - destroyScriptCtx
    - qError
    - lua_pop
    - getScriptEnvFromPool
    - strlen
    - taosMemoryCalloc
    - lua_getglobal
    linkageType: ''
    returnType: ScriptCtx
    signature: ScriptCtx * createScriptCtx(char *script, int8_t resType, int16_t resBytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addScriptEnvToPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:231,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: destroyScriptCtx
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 2
    functionsReached:
    - taosMemoryFree
    - addScriptEnvToPool
    linkageType: ''
    returnType: void
    signature: void destroyScriptCtx(void *pCtx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lua_type
      Src: /src/tdengine/source/libs/function/src/tscript.c:236,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:242,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:243,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:243,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:249,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:250,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:257,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:258,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:261,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:262,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:265,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:266,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:269,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:270,1
    - Dst: lua_pushnil
      Src: /src/tdengine/source/libs/function/src/tscript.c:277,1
    - Dst: lua_next
      Src: /src/tdengine/source/libs/function/src/tscript.c:279,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:280,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:281,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:283,1
    - Dst: setNull
      Src: /src/tdengine/source/libs/function/src/tscript.c:289,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:293,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 5
    argNames:
    - lua
    - interBuf
    - numOfOutput
    - oType
    - oBytes
    argTypes:
    - lua_State*
    - char*
    - int32_t*
    - int16_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 295
    functionName: luaValueToTaosType
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 3
    functionsReached:
    - lua_tostring
    - memcpy
    - lua_next
    - lua_pop
    - lua_type
    - setNull
    - strlen
    - lua_tonumber
    - lua_pushnil
    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_open
      Src: /src/tdengine/source/libs/function/src/tscript.c:302,1
    - Dst: luaLoadLibraries
      Src: /src/tdengine/source/libs/function/src/tscript.c:303,1
    - Dst: luaRemoveUnsupportedFunctions
      Src: /src/tdengine/source/libs/function/src/tscript.c:304,1
    - Dst: luaRegisterLibFunc
      Src: /src/tdengine/source/libs/function/src/tscript.c:307,1
    - Dst: luaL_loadbuffer
      Src: /src/tdengine/source/libs/function/src/tscript.c:322,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:322,1
    - Dst: lua_pcall
      Src: /src/tdengine/source/libs/function/src/tscript.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 327
    functionName: createLuaEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - luaRegisterLibFunc
    - luaL_loadbuffer
    - luaRemoveUnsupportedFunctions
    - lua_open
    - strlen
    - lua_pcall
    - luaLoadLibraries
    linkageType: ''
    returnType: lua_State
    signature: lua_State * createLuaEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_close
      Src: /src/tdengine/source/libs/function/src/tscript.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lua
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: destroyLuaEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_close
    linkageType: ''
    returnType: void
    signature: void destroyLuaEnv(lua_State *lua)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tscript.c:335,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/function/src/tscript.c:336,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/function/src/tscript.c:338,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tscript.c:340,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/tscript.c:341,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/tscript.c:341,1
    - Dst: createLuaEnv
      Src: /src/tdengine/source/libs/function/src/tscript.c:342,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/function/src/tscript.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: scriptEnvPoolInit
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tdListAppend
    - tdListNew
    - taosThreadMutexInit
    - taosHashInit
    - createLuaEnv
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: int32_t scriptEnvPoolInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/function/src/tscript.c:355,1
    - Dst: tdListNodeGetData
      Src: /src/tdengine/source/libs/function/src/tscript.c:357,1
    - Dst: destroyScriptEnv
      Src: /src/tdengine/source/libs/function/src/tscript.c:358,1
    - Dst: listNodeFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:359,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:361,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/function/src/tscript.c:362,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: scriptEnvPoolCleanup
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - tdListNodeGetData
    - listNodeFree
    - destroyScriptEnv
    - taosThreadMutexDestroy
    - taosMemoryFree
    - tdListPopHead
    - tdListFree
    linkageType: ''
    returnType: void
    signature: void scriptEnvPoolCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyLuaEnv
      Src: /src/tdengine/source/libs/function/src/tscript.c:367,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/tscript.c:368,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pEnv
    argTypes:
    - ScriptEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: destroyScriptEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 1
    functionsReached:
    - destroyLuaEnv
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void destroyScriptEnv(ScriptEnv *pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/function/src/tscript.c:375,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/function/src/tscript.c:377,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/function/src/tscript.c:380,1
    - Dst: tdListNodeGetData
      Src: /src/tdengine/source/libs/function/src/tscript.c:382,1
    - Dst: listNodeFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:383,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/function/src/tscript.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 389
    functionName: getScriptEnvFromPool
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 1
    functionsReached:
    - tdListNodeGetData
    - listNodeFree
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tdListPopHead
    linkageType: ''
    returnType: ScriptEnv
    signature: ScriptEnv * getScriptEnvFromPool()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/function/src/tscript.c:395,1
    - Dst: lua_settop
      Src: /src/tdengine/source/libs/function/src/tscript.c:396,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/function/src/tscript.c:397,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/function/src/tscript.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pEnv
    argTypes:
    - ScriptEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: addScriptEnvToPool
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexLock
    - tdListAppend
    - taosThreadMutexUnlock
    - lua_settop
    linkageType: ''
    returnType: void
    signature: void addScriptEnvToPool(ScriptEnv *pEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:405,1
    - Dst: memcpy
      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: memset
      Src: /src/tdengine/source/libs/function/src/tscript.c:410,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:410,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:410,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:411,1
    - Dst: lua_isfunction
      Src: /src/tdengine/source/libs/function/src/tscript.c:412,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - lua
    - funcPrefix
    - len
    argTypes:
    - lua_State*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 416
    functionName: hasBaseFuncDefinedInScript
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - memcpy
    - lua_pop
    - lua_isfunction
    - memset
    - strlen
    - lua_getglobal
    linkageType: ''
    returnType: bool
    signature: bool hasBaseFuncDefinedInScript(lua_State *lua, const char *funcPrefix,
      int32_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getScriptEnvFromPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:419,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:424,1
    - Dst: luaL_dostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:427,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:428,1
    - Dst: addScriptEnvToPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:429,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:430,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:430,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:433,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:434,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:435,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:436,1
    - Dst: addScriptEnvToPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:437,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:438,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:438,1
    - Dst: hasBaseFuncDefinedInScript
      Src: /src/tdengine/source/libs/function/src/tscript.c:441,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:441,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:442,1
    - Dst: addScriptEnvToPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - script
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 445
    functionName: isValidScript
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: 0
    functionsReached:
    - lua_tostring
    - luaL_dostring
    - hasBaseFuncDefinedInScript
    - qError
    - lua_pop
    - addScriptEnvToPool
    - getScriptEnvFromPool
    - strlen
    - lua_getglobal
    linkageType: ''
    returnType: bool
    signature: bool isValidScript(char *script, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/function/src/builtins.c:34,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:35,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/function/src/builtins.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pErrBuf
    - len
    - errCode
    - pFormat
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: buildFuncErrMsg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: 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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pErrBuf
    - len
    - pFuncName
    argTypes:
    - char*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: invaildFuncParaNumErrMsg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - buildFuncErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t invaildFuncParaNumErrMsg(char* pErrBuf, int32_t len, const
      char* pFuncName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pErrBuf
    - len
    - pFuncName
    argTypes:
    - char*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: invaildFuncParaTypeErrMsg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - buildFuncErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t invaildFuncParaTypeErrMsg(char* pErrBuf, int32_t len, const
      char* pFuncName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pErrBuf
    - len
    - pFuncName
    argTypes:
    - char*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: invaildFuncParaValueErrMsg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - buildFuncErrMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t invaildFuncParaValueErrMsg(char* pErrBuf, int32_t len, const
      char* pFuncName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/function/src/builtins.c:53,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:58,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:58,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:62,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 14
    argCount: 2
    argNames:
    - dbPrec
    - pVal
    argTypes:
    - uint8_t
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: validateTimeUnitParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - IS_DURATION_VAL
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateTimeUnitParam(uint8_t dbPrec, const SValueNode* pVal)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:86,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtins.c:87,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - SValueNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 122
    functionName: validateTimezoneFormat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - varDataLen
    linkageType: ''
    returnType: bool
    signature: bool validateTimezoneFormat(const SValueNode* pVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtins.c:126,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:127,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/function/src/builtins.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pVal
    - isLtrim
    argTypes:
    - SValueNode*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: countTrailingSpaces
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - varDataVal
    - isspace
    - varDataLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t countTrailingSpaces(const SValueNode* pVal, bool isLtrim)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTZOffsetSeconds
      Src: /src/tdengine/source/libs/function/src/builtins.c:144,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:152,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/builtins.c:154,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:157,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/function/src/builtins.c:162,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:164,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtins.c:171,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:173,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtins.c:176,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/builtins.c:177,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:177,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:181,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - pList
    - tz
    argTypes:
    - SNodeList*
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 187
    functionName: addTimezoneParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - taosGetTZOffsetSeconds
    - nodesMakeNode
    - snprintf
    - tstrncpy
    - nodesListAppend
    - taosStrndup
    - varDataVal
    - strlen
    - nodesDestroyNode
    - taosMemoryCalloc
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t addTimezoneParam(SNodeList* pList, timezone_t tz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:191,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:205,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pList
    - param
    argTypes:
    - SNodeList**
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 189
    functionDepth: 5
    functionLinenumber: 189
    functionLinenumberEnd: 211
    functionName: addUint8Param
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addUint8Param(SNodeList** pList, uint8_t param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:215,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:220,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: addPseudoParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesMakeNode
    - nodesDestroyNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t addPseudoParam(SNodeList** pList)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: getSDataTypeFromNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesIsExprNode
    linkageType: ''
    returnType: SDataType
    signature: SDataType * getSDataTypeFromNode(SNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:238,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: paramSupportNull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportNull(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:243,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: paramSupportBool
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportBool(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:248,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:249,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:250,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:251,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: paramSupportTinyint
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportTinyint(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:256,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:257,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:258,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:259,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: paramSupportSmallint
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportSmallint(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:264,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:265,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:266,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:267,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: paramSupportInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportInt(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:272,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:273,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:274,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:275,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: paramSupportBigint
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportBigint(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:280,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:281,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: paramSupportFloat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportFloat(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:286,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:287,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: paramSupportDouble
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportDouble(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:292,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:293,1
    - 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:295,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: paramSupportVarchar
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportVarchar(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:300,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:301,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: paramSupportTimestamp
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportTimestamp(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:307,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:308,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:309,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: paramSupportNchar
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportNchar(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:315,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:316,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:317,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: paramSupportUTinyInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportUTinyInt(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:322,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:323,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:324,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:325,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: paramSupportUSmallInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportUSmallInt(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:330,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:331,1
    - 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: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: paramSupportUInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportUInt(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:340,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:341,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: paramSupportUBigInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportUBigInt(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:347,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: paramSupportJSON
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportJSON(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:353,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
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: paramSupportVarBinary
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportVarBinary(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:359,1
    - 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:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: paramSupportGeometry
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportGeometry(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:365,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: paramSupportDecimal
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportDecimal(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: paramSupportBlob
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportBlob(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:375,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: paramSupportValueNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportValueNode(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:381,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: paramSupportOperatorNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportOperatorNode(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: paramSupportFunctionNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportFunctionNode(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: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: paramSupportLogicConNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportLogicConNode(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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: paramSupportCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportCaseWhenNode(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:404,1
    - 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
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: paramSupportColumnNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportColumnNode(uint64_t typeFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:410,1
    - 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: 2
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: paramSupportRemoteValueNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: bool paramSupportRemoteValueNode(uint64_t typeFlag)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: paramSupportValueNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:418,1
    - Dst: paramSupportOperatorNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:420,1
    - Dst: paramSupportFunctionNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:422,1
    - Dst: paramSupportLogicConNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:424,1
    - Dst: paramSupportCaseWhenNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:426,1
    - Dst: paramSupportColumnNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:428,1
    - Dst: paramSupportRemoteValueNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - pNode
    - typeFlag
    argTypes:
    - SNode*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 434
    functionName: paramSupportNodeType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - paramSupportRemoteValueNode
    - paramSupportColumnNode
    - paramSupportOperatorNode
    - paramSupportCaseWhenNode
    - paramSupportValueNode
    - paramSupportFunctionNode
    - paramSupportLogicConNode
    linkageType: ''
    returnType: bool
    signature: bool paramSupportNodeType(SNode* pNode, uint64_t typeFlag)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: paramSupportNull
      Src: /src/tdengine/source/libs/function/src/builtins.c:439,1
    - Dst: paramSupportBool
      Src: /src/tdengine/source/libs/function/src/builtins.c:441,1
    - Dst: paramSupportTinyint
      Src: /src/tdengine/source/libs/function/src/builtins.c:443,1
    - Dst: paramSupportSmallint
      Src: /src/tdengine/source/libs/function/src/builtins.c:445,1
    - Dst: paramSupportInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:447,1
    - Dst: paramSupportBigint
      Src: /src/tdengine/source/libs/function/src/builtins.c:449,1
    - Dst: paramSupportFloat
      Src: /src/tdengine/source/libs/function/src/builtins.c:451,1
    - Dst: paramSupportDouble
      Src: /src/tdengine/source/libs/function/src/builtins.c:453,1
    - Dst: paramSupportVarchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:455,1
    - Dst: paramSupportTimestamp
      Src: /src/tdengine/source/libs/function/src/builtins.c:457,1
    - Dst: paramSupportNchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:459,1
    - Dst: paramSupportUTinyInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:461,1
    - Dst: paramSupportUSmallInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:463,1
    - Dst: paramSupportUInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:465,1
    - Dst: paramSupportUBigInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:467,1
    - Dst: paramSupportJSON
      Src: /src/tdengine/source/libs/function/src/builtins.c:469,1
    - Dst: paramSupportVarBinary
      Src: /src/tdengine/source/libs/function/src/builtins.c:471,1
    - Dst: paramSupportGeometry
      Src: /src/tdengine/source/libs/function/src/builtins.c:473,1
    - Dst: paramSupportDecimal
      Src: /src/tdengine/source/libs/function/src/builtins.c:476,1
    - Dst: paramSupportBlob
      Src: /src/tdengine/source/libs/function/src/builtins.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 2
    argNames:
    - pDataType
    - typeFlag
    argTypes:
    - SDataType*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 484
    functionName: paramSupportDataType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - paramSupportBool
    - paramSupportTimestamp
    - paramSupportJSON
    - paramSupportTinyint
    - paramSupportInt
    - paramSupportUSmallInt
    - paramSupportNchar
    - paramSupportFloat
    - paramSupportUTinyInt
    - paramSupportDouble
    - paramSupportUBigInt
    - paramSupportGeometry
    - paramSupportVarchar
    - paramSupportVarBinary
    - paramSupportNull
    - paramSupportUInt
    - paramSupportDecimal
    - paramSupportSmallint
    - paramSupportBlob
    - paramSupportBigint
    linkageType: ''
    returnType: bool
    signature: bool paramSupportDataType(SDataType* pDataType, uint64_t typeFlag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:490,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:492,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - binTypeStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: validateHistogramBinType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int8_t
    signature: int8_t validateHistogramBinType(char* binTypeStr)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/function/src/builtins.c:513,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/function/src/builtins.c:516,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtins.c:517,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:520,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:521,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:525,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:526,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:527,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:528,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:529,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:531,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:531,1
    - Dst: cJSON_IsBool
      Src: /src/tdengine/source/libs/function/src/builtins.c:531,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:532,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:533,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:538,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:539,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:543,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:543,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:544,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:544,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:545,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:546,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtins.c:559,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:561,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:562,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:565,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:568,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:569,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:570,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:575,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:576,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:577,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:578,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:583,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:587,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:588,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:592,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:593,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:594,1
    - Dst: pow
      Src: /src/tdengine/source/libs/function/src/builtins.c:598,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:599,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:600,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:601,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:602,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:608,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:609,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:610,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/function/src/builtins.c:623,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/function/src/builtins.c:626,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:628,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:629,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtins.c:632,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtins.c:633,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:635,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:636,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:641,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:642,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:643,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:649,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:650,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:651,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:652,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:656,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:657,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:665,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:666,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:670,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:671,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 137
    argCount: 4
    argNames:
    - binDescStr
    - binType
    - errMsg
    - msgLen
    argTypes:
    - char*
    - int8_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 673
    functionName: validateHistogramBinDesc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - cJSON_IsObject
    - cJSON_GetArraySize
    - TSWAP
    - cJSON_IsArray
    - cJSON_IsNumber
    - cJSON_IsBool
    - snprintf
    - cJSON_GetObjectItem
    - taosMemoryFree
    - taosMemoryCalloc
    - pow
    - cJSON_Delete
    - cJSON_Parse
    - isinf
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateHistogramBinDesc(char* binDescStr, int8_t binType,
      char* errMsg, int32_t msgLen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:679,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:679,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pNode
    - range
    - isMatch
    argTypes:
    - SNode*
    - SParamRange
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 694
    functionName: checkRangeValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - IS_INTEGER_TYPE
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkRangeValue(SNode* pNode, SParamRange range, bool* isMatch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: paramSupportVarBinary
      Src: /src/tdengine/source/libs/function/src/builtins.c:698,1
    - Dst: paramSupportVarchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:699,1
    - Dst: paramSupportNchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:699,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:715,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - pNode
    - paramPattern
    - paramIdx
    - isMatch
    argTypes:
    - SNode*
    - SParamInfo*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 729
    functionName: checkFixedValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - paramSupportVarBinary
    - paramSupportNchar
    - taosStrcasecmp
    - paramSupportVarchar
    linkageType: ''
    returnType: int32_t
    signature: 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:733,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:733,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 739
    functionName: checkPrimTS
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodeType
    - IS_TIMESTAMP_TYPE
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkPrimTS(SNode* pNode, bool* isMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:743,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:743,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 741
    functionDepth: 3
    functionLinenumber: 741
    functionLinenumberEnd: 749
    functionName: checkPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodeType
    - IS_INTEGER_TYPE
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkPrimaryKey(SNode* pNode, bool* isMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesExprHasColumn
      Src: /src/tdengine/source/libs/function/src/builtins.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 751
    functionDepth: 4
    functionLinenumber: 751
    functionLinenumberEnd: 758
    functionName: checkHasColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesExprHasColumn
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkHasColumn(SNode* pNode, bool* isMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_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
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 3
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: checkValueNodeNotNull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodeType
    - IS_NULL_TYPE
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkValueNodeNotNull(SNode* pNode, bool* isMatch)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:770,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:770,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:770,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:775,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:775,1
    - Dst: validateTimeUnitParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pNode
    - precision
    - isMatch
    argTypes:
    - SNode*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 769
    functionDepth: 3
    functionLinenumber: 769
    functionLinenumberEnd: 785
    functionName: checkTimeUnit
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - validateTimeUnitParam
    - nodeType
    - IS_INTEGER_TYPE
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkTimeUnit(SNode* pNode, int32_t precision, bool* isMatch)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:798,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:799,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:800,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:813,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:818,1
    - Dst: paramSupportNodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:825,1
    - Dst: paramSupportDataType
      Src: /src/tdengine/source/libs/function/src/builtins.c:831,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:831,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/builtins.c:832,1
    - Dst: checkRangeValue
      Src: /src/tdengine/source/libs/function/src/builtins.c:845,1
    - Dst: checkFixedValue
      Src: /src/tdengine/source/libs/function/src/builtins.c:848,1
    - Dst: checkPrimTS
      Src: /src/tdengine/source/libs/function/src/builtins.c:860,1
    - Dst: checkPrimaryKey
      Src: /src/tdengine/source/libs/function/src/builtins.c:863,1
    - Dst: checkHasColumn
      Src: /src/tdengine/source/libs/function/src/builtins.c:866,1
    - Dst: checkValueNodeNotNull
      Src: /src/tdengine/source/libs/function/src/builtins.c:869,1
    - Dst: checkTimeUnit
      Src: /src/tdengine/source/libs/function/src/builtins.c:872,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:893,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:895,1
    - Dst: invaildFuncParaValueErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:897,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:899,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:902,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:905,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:908,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:911,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:914,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:917,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:920,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:922,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 109
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 786
    functionDepth: 5
    functionLinenumber: 786
    functionLinenumberEnd: 925
    functionName: validateParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - checkFixedValue
    - uError
    - checkTimeUnit
    - invaildFuncParaTypeErrMsg
    - checkPrimaryKey
    - LIST_LENGTH
    - checkPrimTS
    - invaildFuncParaValueErrMsg
    - paramSupportDataType
    - invaildFuncParaNumErrMsg
    - buildFuncErrMsg
    - checkHasColumn
    - checkValueNodeNotNull
    - checkRangeValue
    - paramSupportNodeType
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateParam(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:929,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:929,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:930,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:930,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 928
    functionDepth: 6
    functionLinenumber: 928
    functionLinenumberEnd: 936
    functionName: translateOutNum
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_NULL_TYPE
    - FUNC_ERR_RET
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: 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:940,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:940,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:942,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:942,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:943,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:944,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 939
    functionDepth: 6
    functionLinenumber: 939
    functionLinenumberEnd: 948
    functionName: translateMinMax
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_NULL_TYPE
    - IS_DECIMAL_TYPE
    - FUNC_ERR_RET
    - IS_STR_DATA_TYPE
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateMinMax(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:951,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:951,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:956,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:957,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:959,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/function/src/builtins.c:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 950
    functionDepth: 6
    functionLinenumber: 950
    functionLinenumberEnd: 975
    functionName: translateAvg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_DECIMAL_TYPE
    - FUNC_ERR_RET
    - decimalGetRetType
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAvg(SFunctionNode* pFunc, char* pErrBuf, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:979,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 978
    functionDepth: 6
    functionLinenumber: 978
    functionLinenumberEnd: 982
    functionName: translateOutDouble
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOutDouble(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:985,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:985,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:987,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:987,1
    - Dst: tbase64_encode_len
      Src: /src/tdengine/source/libs/function/src/builtins.c:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 984
    functionDepth: 6
    functionLinenumber: 984
    functionLinenumberEnd: 992
    functionName: translateBase64
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - tbase64_encode_len
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateBase64(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:995,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:995,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:997,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:997,1
    - Dst: tbase64_decode_len
      Src: /src/tdengine/source/libs/function/src/builtins.c:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 994
    functionDepth: 6
    functionLinenumber: 994
    functionLinenumberEnd: 1002
    functionName: translateBase64From
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - tbase64_decode_len
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateBase64From(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1005,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1005,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1007,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1007,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1010,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1014,1
    - Dst: countTrailingSpaces
      Src: /src/tdengine/source/libs/function/src/builtins.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pFunc
    - pErrBuf
    - len
    - isLtrim
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1004
    functionDepth: 6
    functionLinenumber: 1004
    functionLinenumberEnd: 1022
    functionName: translateTrimStr
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - nodeType
    - countTrailingSpaces
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTrimStr(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len, bool isLtrim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateTrimStr
      Src: /src/tdengine/source/libs/function/src/builtins.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1024
    functionDepth: 7
    functionLinenumber: 1024
    functionLinenumberEnd: 1026
    functionName: translateLtrim
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - translateTrimStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateLtrim(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateTrimStr
      Src: /src/tdengine/source/libs/function/src/builtins.c:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1028
    functionDepth: 7
    functionLinenumber: 1028
    functionLinenumberEnd: 1030
    functionName: translateRtrim
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - translateTrimStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRtrim(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1034,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1033
    functionDepth: 6
    functionLinenumber: 1033
    functionLinenumberEnd: 1037
    functionName: translateOutBigInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOutBigInt(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1040,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1039
    functionDepth: 6
    functionLinenumber: 1039
    functionLinenumberEnd: 1043
    functionName: translateOutUnsignedInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOutUnsignedInt(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1046,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1046,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1048,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1048,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1051,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1051,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1053,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1055,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1057,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1060,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1045
    functionDepth: 6
    functionLinenumber: 1045
    functionLinenumberEnd: 1066
    functionName: translateSum
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_NULL_TYPE
    - IS_DECIMAL_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - FUNC_ERR_RET
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSum(SFunctionNode* pFunc, char* pErrBuf, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1074
    functionName: translateWduration
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateWduration(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1076
    functionDepth: 6
    functionLinenumber: 1076
    functionLinenumberEnd: 1089
    functionName: translateNowToday
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - addUint8Param
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateNowToday(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1092,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1092,1
    - Dst: addPseudoParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1091
    functionDepth: 6
    functionLinenumber: 1091
    functionLinenumberEnd: 1103
    functionName: translateRand
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - addPseudoParam
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 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:1107,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1107,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1108,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1106
    functionDepth: 6
    functionLinenumber: 1106
    functionLinenumberEnd: 1110
    functionName: translateOutFirstIn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - getSDataTypeFromNode
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOutFirstIn(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1156
    functionName: translatePlaceHolderPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translatePlaceHolderPseudoColumn(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1160
    functionName: translateExternalWindowColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateExternalWindowColumnFunc(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1169
    functionName: translateTimePseudoColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTimePseudoColumn(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1178
    functionName: translateMarkPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateMarkPseudoColumn(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1181,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1184,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1184,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1186,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1189,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1190,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1191,1
    - Dst: taosAnalyGetOptStr
      Src: /src/tdengine/source/libs/function/src/builtins.c:1195,1
    - Dst: invaildFuncParaValueErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1180
    functionDepth: 3
    functionLinenumber: 1180
    functionLinenumberEnd: 1203
    functionName: checkCorrParamHelper
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - invaildFuncParaTypeErrMsg
    - LIST_LENGTH
    - nodeType
    - invaildFuncParaValueErrMsg
    - taosAnalyGetOptStr
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkCorrParamHelper(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCorrParamHelper
      Src: /src/tdengine/source/libs/function/src/builtins.c:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1205
    functionDepth: 4
    functionLinenumber: 1205
    functionLinenumberEnd: 1212
    functionName: translateDtwPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - checkCorrParamHelper
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDtwPseudoColumn(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkCorrParamHelper
      Src: /src/tdengine/source/libs/function/src/builtins.c:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1214
    functionDepth: 4
    functionLinenumber: 1214
    functionLinenumberEnd: 1219
    functionName: translateDtwPathPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - checkCorrParamHelper
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDtwPathPseudoColumn(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1225
    functionName: translateIsFilledPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateIsFilledPseudoColumn(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1228,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1228,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1227
    functionDepth: 6
    functionLinenumber: 1227
    functionLinenumberEnd: 1238
    functionName: translatePercentile
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translatePercentile(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1244
    functionName: translateVgIdColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateVgIdColumn(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:1247,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1250,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1250,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:1252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pRawParameters
    - pPartialRes
    - pParameters
    argTypes:
    - SNodeList*
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1246
    functionDepth: 5
    functionLinenumber: 1246
    functionLinenumberEnd: 1256
    functionName: reserveFirstMergeParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListStrictAppend
    - nodesCloneNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t reserveFirstMergeParam(SNodeList* pRawParameters, SNode* pPartialRes,
      SNodeList** pParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveFirstMergeParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pRawParameters
    - pPartialRes
    - pParameters
    argTypes:
    - SNodeList*
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1258
    functionDepth: 6
    functionLinenumber: 1258
    functionLinenumberEnd: 1260
    functionName: topBotCreateMergeParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - reserveFirstMergeParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t topBotCreateMergeParam(SNodeList* pRawParameters, SNode* pPartialRes,
      SNodeList** pParameters)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveFirstMergeParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1263,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1266,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1266,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:1268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pRawParameters
    - pPartialRes
    - pParameters
    argTypes:
    - SNodeList*
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1262
    functionDepth: 6
    functionLinenumber: 1262
    functionLinenumberEnd: 1272
    functionName: apercentileCreateMergeParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - reserveFirstMergeParam
    - nodesListStrictAppend
    - nodesCloneNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t apercentileCreateMergeParam(SNodeList* pRawParameters, SNode*
      pPartialRes, SNodeList** pParameters)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:1275,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1278,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1278,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:1280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pRawParameters
    - pPartialRes
    - pParameters
    argTypes:
    - SNodeList*
    - SNode*
    - SNodeList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1274
    functionDepth: 5
    functionLinenumber: 1274
    functionLinenumberEnd: 1294
    functionName: gconcatCreateMergeParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - nodesListStrictAppend
    - nodesCloneNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: int32_t gconcatCreateMergeParam(SNodeList* pRawParameters, SNode* pPartialRes,
      SNodeList** pParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1296
    functionName: translateElapsedPartial
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateElapsedPartial(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1298
    functionName: translateElapsedMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateElapsedMerge(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1301,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1301,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1302,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1302,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1304,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1306,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1308,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1300
    functionDepth: 6
    functionLinenumber: 1300
    functionLinenumberEnd: 1315
    functionName: translateCsum
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_SIGNED_NUMERIC_TYPE
    - FUNC_ERR_RET
    - invaildFuncParaTypeErrMsg
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCsum(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1317
    functionName: csumEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EFuncReturnRows
    signature: EFuncReturnRows csumEstReturnRows(SFunctionNode* pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1320,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1320,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1322,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1322,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1319
    functionDepth: 6
    functionLinenumber: 1319
    functionLinenumberEnd: 1331
    functionName: translateSampleTail
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - IS_STR_DATA_TYPE
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSampleTail(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1336
    functionName: derivativeEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: EFuncReturnRows
    signature: EFuncReturnRows derivativeEstReturnRows(SFunctionNode* pFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1339,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1339,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1338
    functionDepth: 6
    functionLinenumber: 1338
    functionLinenumberEnd: 1349
    functionName: translateAddPrecOutDouble
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - addUint8Param
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAddPrecOutDouble(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1352,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1352,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1351
    functionDepth: 6
    functionLinenumber: 1351
    functionLinenumberEnd: 1355
    functionName: translateInterp
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInterp(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1358,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1364
    functionName: interpEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    linkageType: ''
    returnType: EFuncReturnRows
    signature: EFuncReturnRows interpEstReturnRows(SFunctionNode* pFunc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1367,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1369,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1378,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1378,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1379,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1380,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1384,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1384,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1385,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1386,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1391,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1391,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1393,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1396,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1397,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1398,1
    - Dst: taosAnalyGetOptStr
      Src: /src/tdengine/source/libs/function/src/builtins.c:1402,1
    - Dst: invaildFuncParaValueErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1403,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1366
    functionDepth: 3
    functionLinenumber: 1366
    functionLinenumberEnd: 1411
    functionName: translateForecast
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 1
    functionsReached:
    - nodesListGetNode
    - invaildFuncParaTypeErrMsg
    - LIST_LENGTH
    - nodeType
    - invaildFuncParaValueErrMsg
    - invaildFuncParaNumErrMsg
    - taosAnalyGetOptStr
    - IS_MATHABLE_TYPE
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateForecast(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1416
    functionName: translateForecastConf
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateForecastConf(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1418
    functionName: forecastEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EFuncReturnRows
    signature: EFuncReturnRows forecastEstReturnRows(SFunctionNode* pFunc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1421,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1423,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1432,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1432,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1433,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1434,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1438,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1438,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1439,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1440,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1445,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1445,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1447,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1450,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1451,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1452,1
    - Dst: taosAnalyGetOptStr
      Src: /src/tdengine/source/libs/function/src/builtins.c:1456,1
    - Dst: invaildFuncParaValueErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1420
    functionDepth: 3
    functionLinenumber: 1420
    functionLinenumberEnd: 1465
    functionName: translateImputation
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - invaildFuncParaTypeErrMsg
    - LIST_LENGTH
    - nodeType
    - invaildFuncParaValueErrMsg
    - invaildFuncParaNumErrMsg
    - taosAnalyGetOptStr
    - IS_MATHABLE_TYPE
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateImputation(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1467
    functionName: imputationEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EFuncReturnRows
    signature: EFuncReturnRows imputationEstReturnRows(SFunctionNode* pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1470,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1469
    functionDepth: 6
    functionLinenumber: 1469
    functionLinenumberEnd: 1473
    functionName: translateAnomalyCheck
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAnomalyCheck(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1478
    functionName: getAnomalyCheckFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getAnomalyCheckFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1481,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1481,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1482,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1482,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1485,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1485,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1480
    functionDepth: 6
    functionLinenumber: 1480
    functionLinenumberEnd: 1494
    functionName: translateDiff
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_SIGNED_NUMERIC_TYPE
    - FUNC_ERR_RET
    - IS_TIMESTAMP_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDiff(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1497,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1502
    functionName: diffEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    linkageType: ''
    returnType: EFuncReturnRows
    signature: EFuncReturnRows diffEstReturnRows(SFunctionNode* pFunc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1505,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1510,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1510,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1511,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1511,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1513,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1516,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1520,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1521,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1521,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1522,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1524,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1530,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1532,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1539,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1539,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1540,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1540,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1542,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1542,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1548,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1504
    functionDepth: 3
    functionLinenumber: 1504
    functionLinenumberEnd: 1552
    functionName: validateLagLeadDefaultType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_NULL_TYPE
    - IS_DECIMAL_TYPE
    - IS_TIMESTAMP_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - invaildFuncParaTypeErrMsg
    - LIST_LENGTH
    - IS_NUMERIC_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_INTEGER_TYPE
    - IS_STR_DATA_TYPE
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t validateLagLeadDefaultType(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1555,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1555,1
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1556,1
    - Dst: validateLagLeadDefaultType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1556,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1554
    functionDepth: 6
    functionLinenumber: 1554
    functionLinenumberEnd: 1559
    functionName: translateLag
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - validateLagLeadDefaultType
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateLag(SFunctionNode* pFunc, char* pErrBuf, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1561
    functionName: lagEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EFuncReturnRows
    signature: EFuncReturnRows lagEstReturnRows(SFunctionNode* pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1564,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1564,1
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1565,1
    - Dst: validateLagLeadDefaultType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1565,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1563
    functionDepth: 6
    functionLinenumber: 1563
    functionLinenumberEnd: 1568
    functionName: translateLead
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - validateLagLeadDefaultType
    - nodesListGetNode
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateLead(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1570
    functionName: leadEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EFuncReturnRows
    signature: EFuncReturnRows leadEstReturnRows(SFunctionNode* pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1572
    functionName: fillforwardEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EFuncReturnRows
    signature: EFuncReturnRows fillforwardEstReturnRows(SFunctionNode* pFunc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1576,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1576,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1577,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1585,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1586,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1593,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1594,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1595,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1597,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 6
    argNames:
    - pFunc
    - pErrBuf
    - len
    - minParaNum
    - maxParaNum
    - hasSep
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1574
    functionDepth: 6
    functionLinenumber: 1574
    functionLinenumberEnd: 1619
    functionName: translateConcatImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_NULL_TYPE
    - FUNC_ERR_RET
    - LIST_LENGTH
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: "int32_t translateConcatImpl(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len, int32_t minParaNum,\n                                   int32_t maxParaNum,
      bool hasSep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateConcatImpl
      Src: /src/tdengine/source/libs/function/src/builtins.c:1622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1621
    functionDepth: 7
    functionLinenumber: 1621
    functionLinenumberEnd: 1623
    functionName: translateConcat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - translateConcatImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateConcat(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateConcatImpl
      Src: /src/tdengine/source/libs/function/src/builtins.c:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1625
    functionDepth: 7
    functionLinenumber: 1625
    functionLinenumberEnd: 1627
    functionName: translateConcatWs
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - translateConcatImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateConcatWs(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1630,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1630,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1632,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1638,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1629
    functionDepth: 6
    functionLinenumber: 1629
    functionLinenumberEnd: 1647
    functionName: translateGroupConcat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - LIST_LENGTH
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateGroupConcat(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1650,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1650,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1649
    functionDepth: 6
    functionLinenumber: 1649
    functionLinenumberEnd: 1654
    functionName: translateChar
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - LIST_LENGTH
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateChar(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1657,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1656
    functionDepth: 6
    functionLinenumber: 1656
    functionLinenumberEnd: 1661
    functionName: translateAscii
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAscii(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1664,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1664,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1666,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1666,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1667,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1667,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1670,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1671,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1671,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1672,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1672,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1663
    functionDepth: 6
    functionLinenumber: 1663
    functionLinenumberEnd: 1685
    functionName: translateTrim
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - LIST_LENGTH
    - addUint8Param
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTrim(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1688,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1688,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1690,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1690,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1691,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1691,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1692,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1692,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1693,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1693,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1694,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1694,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1695,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1695,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:1706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1687
    functionDepth: 6
    functionLinenumber: 1687
    functionLinenumberEnd: 1709
    functionName: translateReplace
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - TMAX
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateReplace(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1712,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1712,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1714,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1714,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1715,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1715,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1716,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1716,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1717,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1717,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:1723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1711
    functionDepth: 6
    functionLinenumber: 1711
    functionLinenumberEnd: 1729
    functionName: translateMaskFull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - TMAX
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateMaskFull(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1732,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1732,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1734,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1734,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1735,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1731
    functionDepth: 6
    functionLinenumber: 1731
    functionLinenumberEnd: 1741
    functionName: translateMaskAsInputStr
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - getSDataTypeFromNode
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateMaskAsInputStr(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1744,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1744,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1746,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1746,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1747,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1747,1
    - Dst: taes_encrypt_len
      Src: /src/tdengine/source/libs/function/src/builtins.c:1749,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1751,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1753,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1753,1
    - Dst: invaildFuncParaValueErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1743
    functionDepth: 6
    functionLinenumber: 1743
    functionLinenumberEnd: 1762
    functionName: translateOutAes
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - LIST_LENGTH
    - invaildFuncParaValueErrMsg
    - validateParam
    - taes_encrypt_len
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOutAes(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1765,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1765,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1767,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1767,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1768,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1768,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1770,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1772,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1772,1
    - Dst: invaildFuncParaValueErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1764
    functionDepth: 6
    functionLinenumber: 1764
    functionLinenumberEnd: 1782
    functionName: translateOutAesDe
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - LIST_LENGTH
    - invaildFuncParaValueErrMsg
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOutAesDe(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1785,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1785,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1787,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1787,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1788,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1788,1
    - Dst: tsm4_encrypt_len
      Src: /src/tdengine/source/libs/function/src/builtins.c:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1784
    functionDepth: 6
    functionLinenumber: 1784
    functionLinenumberEnd: 1795
    functionName: translateOutSm4
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - tsm4_encrypt_len
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOutSm4(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1798,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1798,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1800,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1800,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1801,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1797
    functionDepth: 6
    functionLinenumber: 1797
    functionLinenumberEnd: 1807
    functionName: translateOutSm4De
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - getSDataTypeFromNode
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOutSm4De(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1810,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1810,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1812,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1812,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1813,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1813,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1815,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1815,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:1816,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1809
    functionDepth: 6
    functionLinenumber: 1809
    functionLinenumberEnd: 1822
    functionName: translateRepeat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - TMAX
    - nodeType
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateRepeat(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1825,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1827,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1832,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1835,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1842,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/function/src/builtins.c:1846,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1850,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1855,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1859,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1868,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1824
    functionDepth: 6
    functionLinenumber: 1824
    functionLinenumberEnd: 1874
    functionName: translateCast
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - invaildFuncParaTypeErrMsg
    - LIST_LENGTH
    - IS_STR_DATA_BLOB
    - IS_STR_DATA_TYPE
    - invaildFuncParaNumErrMsg
    - buildFuncErrMsg
    - addUint8Param
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateCast(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1877,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1877,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1878,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1881,1
    - Dst: validateTimezoneFormat
      Src: /src/tdengine/source/libs/function/src/builtins.c:1882,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1883,1
    - Dst: addTimezoneParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1876
    functionDepth: 6
    functionLinenumber: 1876
    functionLinenumberEnd: 1895
    functionName: translateToIso8601
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - LIST_LENGTH
    - validateTimezoneFormat
    - addTimezoneParam
    - buildFuncErrMsg
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateToIso8601(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1898,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1898,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1899,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1902,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1908,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1915,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1897
    functionDepth: 6
    functionLinenumber: 1897
    functionLinenumberEnd: 1922
    functionName: translateToUnixtimestamp
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - LIST_LENGTH
    - buildFuncErrMsg
    - addUint8Param
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateToUnixtimestamp(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1925,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1924
    functionDepth: 6
    functionLinenumber: 1924
    functionLinenumberEnd: 1929
    functionName: translateToTimestamp
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateToTimestamp(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1932,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1932,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1935,1
    - Dst: addTimezoneParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1931
    functionDepth: 6
    functionLinenumber: 1931
    functionLinenumberEnd: 1949
    functionName: translateTimeTruncate
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - addUint8Param
    - FUNC_ERR_RET
    - addTimezoneParam
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTimeTruncate(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1952,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1952,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1951
    functionDepth: 6
    functionLinenumber: 1951
    functionLinenumberEnd: 1964
    functionName: translateAddPrecOutBigint
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - addUint8Param
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateAddPrecOutBigint(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1967,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1966
    functionDepth: 6
    functionLinenumber: 1966
    functionLinenumberEnd: 1970
    functionName: translateToJson
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateToJson(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1973,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1973,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1974,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1972
    functionDepth: 6
    functionLinenumber: 1972
    functionLinenumberEnd: 1978
    functionName: translateOutGeom
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - getSDataTypeFromNode
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOutGeom(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1981,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1981,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1982,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1980
    functionDepth: 6
    functionLinenumber: 1980
    functionLinenumberEnd: 1986
    functionName: translateInGeomOutStr
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - FUNC_ERR_RET
    - getSDataTypeFromNode
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateInGeomOutStr(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1989,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1988
    functionDepth: 6
    functionLinenumber: 1988
    functionLinenumberEnd: 1993
    functionName: translateIn2GeomOutBool
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateIn2GeomOutBool(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1996,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1998,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1995
    functionDepth: 2
    functionLinenumber: 1995
    functionLinenumberEnd: 2003
    functionName: translateSelectValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - invaildFuncParaNumErrMsg
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateSelectValue(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2008
    functionName: translateHasNull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateHasNull(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2013
    functionName: translateBlockDistFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateBlockDistFunc(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2018
    functionName: getBlockDistFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getBlockDistFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM(pFunc)
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2022
    functionName: getBlockDBUsageFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getBlockDBUsageFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:2025,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2028,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2024
    functionDepth: 3
    functionLinenumber: 2024
    functionLinenumberEnd: 2030
    functionName: translateGroupKey
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - LIST_LENGTH
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateGroupKey(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2035
    functionName: translateServerStatusFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateServerStatusFunc(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2040
    functionName: translateTagsPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateTagsPseudoColumn(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:2043,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:2043,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:2077,1
    - Dst: getSpreadInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:2082,1
    - Dst: getApercentileMaxSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:2085,1
    - Dst: getStdInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:2090,1
    - Dst: getCorrInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:2094,1
    - Dst: getAvgInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:2099,1
    - Dst: getAvgInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:2103,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:2106,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/builtins.c:2120,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/builtins.c:2122,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/builtins.c:2126,1
    - Dst: getIrateInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:2131,1
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:2137,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2137,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2137,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2143,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2143,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 110
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2042
    functionDepth: 6
    functionLinenumber: 2042
    functionLinenumberEnd: 2155
    functionName: translateOutVarchar
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - getApercentileMaxSize
    - getAvgInfoSize
    - getHistogramInfoSize
    - strlen
    - getFirstLastInfoSize
    - FUNC_ERR_RET
    - getCorrInfoSize
    - nodesListGetNode
    - taosHashGet
    - getSpreadInfoSize
    - getStdInfoSize
    - getIrateInfoSize
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateOutVarchar(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2159
    functionName: invalidColsFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t invalidColsFunction(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:2162,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:2162,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:2163,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2167,1
    - Dst: validateHistogramBinType
      Src: /src/tdengine/source/libs/function/src/builtins.c:2169,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:2169,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:2171,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:2179,1
    - Dst: validateHistogramBinDesc
      Src: /src/tdengine/source/libs/function/src/builtins.c:2180,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:2181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2161
    functionDepth: 6
    functionLinenumber: 2161
    functionLinenumberEnd: 2186
    functionName: translateHistogramImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - validateHistogramBinDesc
    - FUNC_ERR_RET
    - buildFuncErrMsg
    - LIST_LENGTH
    - validateHistogramBinType
    - varDataVal
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateHistogramImpl(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:2189,1
    - Dst: translateHistogramImpl
      Src: /src/tdengine/source/libs/function/src/builtins.c:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2188
    functionDepth: 7
    functionLinenumber: 2188
    functionLinenumberEnd: 2192
    functionName: translateHitogram
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - FUNC_ERR_RET
    - translateHistogramImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateHitogram(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:2194,1
    - Dst: translateHistogramImpl
      Src: /src/tdengine/source/libs/function/src/builtins.c:2194,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:2196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2193
    functionDepth: 7
    functionLinenumber: 2193
    functionLinenumberEnd: 2198
    functionName: translateHistogramPartial
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - getHistogramInfoSize
    - FUNC_ERR_RET
    - translateHistogramImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateHistogramPartial(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:2202,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:2202,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:2208,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2209,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:2209,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:2211,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:2224,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:2227,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/function/src/builtins.c:2228,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:2233,1
    - Dst: IS_COMPARE_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:2236,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/function/src/builtins.c:2237,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:2239,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:2243,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/function/src/builtins.c:2246,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2201
    functionDepth: 6
    functionLinenumber: 2201
    functionLinenumberEnd: 2254
    functionName: translateGreatestleast
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - nodesListGetNode
    - IS_NULL_TYPE
    - FUNC_ERR_RET
    - TMAX
    - LIST_LENGTH
    - vectorGetConvertType
    - IS_COMPARE_STR_DATA_TYPE
    - IS_MATHABLE_TYPE
    - validateParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateGreatestleast(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:2257,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:2257,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:2262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2256
    functionDepth: 6
    functionLinenumber: 2256
    functionLinenumberEnd: 2270
    functionName: translateDate
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: 0
    functionsReached:
    - addUint8Param
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t translateDate(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:76,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:77,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:80,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:83,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:84,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:86,1
    - Dst: udfSpawnUdfd
      Src: /src/tdengine/source/libs/function/src/tudf.c:87,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - process
    - exitStatus
    - termSignal
    argTypes:
    - uv_process_t*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: udfUdfdExit
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnError
    - udfSpawnUdfd
    - atomic_load_32
    - fnInfo
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfUdfdExit(uv_process_t *process, int64_t exitStatus, int32_t
      termSignal)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:95,1
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:96,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/function/src/tudf.c:108,1
    - Dst: TAOS_DIRNAME
      Src: /src/tdengine/source/libs/function/src/tudf.c:109,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:113,1
    - Dst: GetModuleFileName
      Src: /src/tdengine/source/libs/function/src/tudf.c:114,1
    - Dst: TAOS_DIRNAME
      Src: /src/tdengine/source/libs/function/src/tudf.c:115,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:123,1
    - Dst: taosAppPath
      Src: /src/tdengine/source/libs/function/src/tudf.c:125,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:131,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:132,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:134,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:136,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:137,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:139,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:176,1
    - Dst: taosGetCpuCores
      Src: /src/tdengine/source/libs/function/src/tudf.c:179,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:181,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/tudf.c:183,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:184,1
    - Dst: uv_os_getenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:189,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:192,1
    - Dst: uv_os_getenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:198,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:203,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:209,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:212,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:214,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:220,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:223,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:225,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:227,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:229,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:229,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:230,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:235,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:237,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:239,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:240,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:241,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:243,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:244,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:245,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:247,1
    - Dst: uv_os_environ
      Src: /src/tdengine/source/libs/function/src/tudf.c:261,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/libs/function/src/tudf.c:263,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:264,1
    - Dst: uv_os_free_environ
      Src: /src/tdengine/source/libs/function/src/tudf.c:267,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/libs/function/src/tudf.c:281,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/libs/function/src/tudf.c:282,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:283,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:289,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/libs/function/src/tudf.c:291,1
    - Dst: envNameCmp
      Src: /src/tdengine/source/libs/function/src/tudf.c:292,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:298,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:300,1
    - Dst: uv_os_free_environ
      Src: /src/tdengine/source/libs/function/src/tudf.c:303,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:306,1
    - Dst: uv_os_free_environ
      Src: /src/tdengine/source/libs/function/src/tudf.c:309,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:314,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:315,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:320,1
    - Dst: uv_os_free_environ
      Src: /src/tdengine/source/libs/function/src/tudf.c:329,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:334,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:335,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:344,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:346,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:346,1
    - Dst: uv_spawn
      Src: /src/tdengine/source/libs/function/src/tudf.c:351,1
    - Dst: CloseHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:356,1
    - Dst: CreateJobObject
      Src: /src/tdengine/source/libs/function/src/tudf.c:357,1
    - Dst: AssignProcessToJobObject
      Src: /src/tdengine/source/libs/function/src/tudf.c:358,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:360,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/tudf.c:363,1
    - Dst: SetInformationJobObject
      Src: /src/tdengine/source/libs/function/src/tudf.c:366,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:368,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:374,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:374,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:376,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:381,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:384,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:387,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:396,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:399,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 202
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SUdfdData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 403
    functionName: udfSpawnUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - GetModuleFileName
    - TAOS_STRCAT
    - fnError
    - snprintf
    - memset
    - uv_os_free_environ
    - AssignProcessToJobObject
    - uv_os_getenv
    - ARRAY_SIZE
    - envNameCmp
    - CreateJobObject
    - uv_spawn
    - taosMemoryCalloc
    - TAOS_UDF_CHECK_PTR_RCODE
    - uv_pipe_init
    - SetInformationJobObject
    - TAOS_DIRNAME
    - uv_strerror
    - tstrncpy
    - getenv
    - TAOS_STRNCPY
    - uv_os_environ
    - TAOS_STRNCAT
    - taosAppPath
    - taosMemoryMalloc
    - CloseHandle
    - taosGetCpuCores
    - TMAX
    - fnInfo
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfSpawnUdfd(SUdfdData *pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:406,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/function/src/tudf.c:407,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: udfUdfdCloseWalkCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_is_closing
    - uv_close
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfUdfdCloseWalkCb(uv_handle_t *handle, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:413,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/tudf.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: udfUdfdStopAsyncCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_stop
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfUdfdStopAsyncCb(uv_async_t *async)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:419,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/function/src/tudf.c:421,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:421,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/function/src/tudf.c:422,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:422,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/function/src/tudf.c:424,1
    - Dst: udfSpawnUdfd
      Src: /src/tdengine/source/libs/function/src/tudf.c:424,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:425,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:426,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:427,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:428,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/function/src/tudf.c:430,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:431,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:432,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:433,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:434,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:440,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:441,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/function/src/tudf.c:445,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:446,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:447,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:448,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:449,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 455
    functionName: udfWatchUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - TAOS_UV_CHECK_ERRNO
    - fnError
    - uv_async_init
    - udfSpawnUdfd
    - uv_barrier_wait
    - uv_run
    - fnInfo
    - atomic_store_32
    - uv_walk
    - uv_loop_close
    - uv_loop_init
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void udfWatchUdfd(void *args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:460,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:464,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:469,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:470,1
    - Dst: uv_os_setenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:470,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:473,1
    - Dst: uv_barrier_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:473,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:474,1
    - Dst: uv_thread_create
      Src: /src/tdengine/source/libs/function/src/tudf.c:474,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:475,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:476,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:478,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:479,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:480,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/function/src/tudf.c:482,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:483,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:486,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:487,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - startDnodeId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 496
    functionName: udfStartUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_thread_create
    - uv_barrier_destroy
    - TAOS_CHECK_GOTO
    - fnError
    - uv_barrier_wait
    - uv_async_send
    - atomic_load_32
    - fnInfo
    - snprintf
    - uv_thread_join
    - uv_barrier_init
    - uv_os_setenv
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfStartUdfd(int32_t startDnodeId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:500,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:501,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:504,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:506,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:507,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:508,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/function/src/tudf.c:510,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:511,1
    - Dst: CloseHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:515,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 519
    functionName: udfStopUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_barrier_destroy
    - CloseHandle
    - fnError
    - uv_async_send
    - atomic_load_32
    - fnInfo
    - uv_thread_join
    - atomic_store_32
    linkageType: ''
    returnType: void
    signature: void udfStopUdfd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 544
    functionName: QUEUE_NEXT
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_NEXT(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 545
    functionName: QUEUE_PREV
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_PREV(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 546
    functionName: QUEUE_PREV_NEXT
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_PREV_NEXT(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 547
    functionName: QUEUE_NEXT_PREV
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_NEXT_PREV(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 550
    functionName: QUEUE_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_DATA(ptr, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 555
    functionName: QUEUE_FOREACH
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_FOREACH(q, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 557
    functionName: QUEUE_EMPTY
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_EMPTY(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 559
    functionName: QUEUE_HEAD
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_HEAD(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: QUEUE_INIT
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_INIT(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 573
    functionName: QUEUE_ADD
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_ADD(h, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - h
    - ','
    - q
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 583
    functionName: QUEUE_SPLIT
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_SPLIT(h, q, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 593
    functionName: QUEUE_MOVE
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_MOVE(h, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 601
    functionName: QUEUE_INSERT_HEAD
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_INSERT_HEAD(h, q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 609
    functionName: QUEUE_INSERT_TAIL
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_INSERT_TAIL(h, q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 615
    functionName: QUEUE_REMOVE
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUE_REMOVE(q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_os_getenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:755,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:757,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/tudf.c:757,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:761,1
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:761,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:761,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:764,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pipeName
    - size
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 767
    functionName: getUdfdPipeName
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - uv_os_getenv
    - fnError
    - fnInfo
    - snprintf
    - strlen
    - MurmurHash3_32
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: void getUdfdPipeName(char *pipeName, int32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/function/src/tudf.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - setup
    argTypes:
    - void**
    - SUdfSetupRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 773
    functionName: encodeUdfSetupRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosEncodeBinary
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeUdfSetupRequest(void **buf, const SUdfSetupRequest *setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeBinaryTo
      Src: /src/tdengine/source/libs/function/src/tudf.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - request
    argTypes:
    - void*
    - SUdfSetupRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: decodeUdfSetupRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosDecodeBinaryTo
    linkageType: ''
    returnType: void
    signature: void *decodeUdfSetupRequest(const void *buf, SUdfSetupRequest *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:782,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:783,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/function/src/tudf.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - state
    argTypes:
    - void**
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 786
    functionName: encodeUdfInterBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosEncodeFixedI32
    - taosEncodeFixedI8
    - taosEncodeBinary
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeUdfInterBuf(void **buf, const SUdfInterBuf *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:789,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:790,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/libs/function/src/tudf.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - state
    argTypes:
    - void*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 793
    functionName: decodeUdfInterBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosDecodeFixedI8
    - taosDecodeBinary
    - taosDecodeFixedI32
    linkageType: ''
    returnType: void
    signature: void *decodeUdfInterBuf(const void *buf, SUdfInterBuf *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:797,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:798,1
    - Dst: tEncodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:800,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:802,1
    - Dst: tEncodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:804,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:805,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - call
    argTypes:
    - void**
    - SUdfCallRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 813
    functionName: encodeUdfCallRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - encodeUdfInterBuf
    - taosEncodeFixedI8
    - taosEncodeFixedI64
    - tEncodeDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeUdfCallRequest(void **buf, const SUdfCallRequest *call)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:816,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:817,1
    - Dst: tDecodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:820,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:823,1
    - Dst: tDecodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:826,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:827,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:834,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - call
    argTypes:
    - void*
    - SUdfCallRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 838
    functionName: decodeUdfCallRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosDecodeFixedI8
    - decodeUdfInterBuf
    - tDecodeDataBlock
    - taosDecodeFixedI64
    linkageType: ''
    returnType: void
    signature: void *decodeUdfCallRequest(const void *buf, SUdfCallRequest *call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - teardown
    argTypes:
    - void**
    - SUdfTeardownRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 844
    functionName: encodeUdfTeardownRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosEncodeFixedI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeUdfTeardownRequest(void **buf, const SUdfTeardownRequest
      *teardown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - teardown
    argTypes:
    - void*
    - SUdfTeardownRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 849
    functionName: decodeUdfTeardownRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosDecodeFixedI64
    linkageType: ''
    returnType: void
    signature: void *decodeUdfTeardownRequest(const void *buf, SUdfTeardownRequest
      *teardown)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:857,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:859,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:860,1
    - Dst: encodeUdfSetupRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:862,1
    - Dst: encodeUdfCallRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:864,1
    - Dst: encodeUdfTeardownRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - buf
    - request
    argTypes:
    - void**
    - SUdfRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 869
    functionName: encodeUdfRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosEncodeFixedI64
    - taosEncodeFixedI8
    - encodeUdfTeardownRequest
    - POINTER_SHIFT
    - encodeUdfCallRequest
    - encodeUdfSetupRequest
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeUdfRequest(void **buf, const SUdfRequest *request)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:873,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:875,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:876,1
    - Dst: decodeUdfSetupRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:879,1
    - Dst: decodeUdfCallRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:881,1
    - Dst: decodeUdfTeardownRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - request
    argTypes:
    - void*
    - SUdfRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 871
    functionDepth: 3
    functionLinenumber: 871
    functionLinenumberEnd: 886
    functionName: decodeUdfRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - decodeUdfSetupRequest
    - decodeUdfTeardownRequest
    - taosDecodeFixedI8
    - decodeUdfCallRequest
    - taosDecodeFixedI64
    - POINTER_SHIFT
    linkageType: ''
    returnType: void
    signature: void *decodeUdfRequest(const void *buf, SUdfRequest *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:890,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:891,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:892,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - setupRsp
    argTypes:
    - void**
    - SUdfSetupResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 895
    functionName: encodeUdfSetupResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosEncodeFixedI32
    - taosEncodeFixedI8
    - taosEncodeFixedI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeUdfSetupResponse(void **buf, const SUdfSetupResponse
      *setupRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:898,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:899,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:900,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - setupRsp
    argTypes:
    - void*
    - SUdfSetupResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 903
    functionName: decodeUdfSetupResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosDecodeFixedI8
    - taosDecodeFixedI64
    - taosDecodeFixedI32
    linkageType: ''
    returnType: void
    signature: void *decodeUdfSetupResponse(const void *buf, SUdfSetupResponse *setupRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:907,1
    - Dst: tEncodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:910,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:913,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:916,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:922,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - callRsp
    argTypes:
    - void**
    - SUdfCallResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 926
    functionName: encodeUdfCallResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - encodeUdfInterBuf
    - taosEncodeFixedI8
    - tEncodeDataBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeUdfCallResponse(void **buf, const SUdfCallResponse *callRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:929,1
    - Dst: tDecodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:932,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:935,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:938,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - callRsp
    argTypes:
    - void*
    - SUdfCallResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 928
    functionDepth: 2
    functionLinenumber: 928
    functionLinenumberEnd: 948
    functionName: decodeUdfCallResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosDecodeFixedI8
    - decodeUdfInterBuf
    - tDecodeDataBlock
    linkageType: ''
    returnType: void
    signature: void *decodeUdfCallResponse(const void *buf, SUdfCallResponse *callRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - teardownRsp
    argTypes:
    - void**
    - SUdfTeardownResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 950
    functionName: encodeUdfTeardownResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeUdfTeardownResponse(void **buf, const SUdfTeardownResponse
      *teardownRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - teardownResponse
    argTypes:
    - void*
    - SUdfTeardownResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 952
    functionName: decodeUdfTeardownResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *decodeUdfTeardownResponse(const void *buf, SUdfTeardownResponse
      *teardownResponse)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:959,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:965,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:968,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:969,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:970,1
    - Dst: encodeUdfSetupResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:974,1
    - Dst: encodeUdfCallResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:977,1
    - Dst: encodeUdfTeardownResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:980,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:983,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - buf
    - rsp
    argTypes:
    - void**
    - SUdfResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 954
    functionDepth: 3
    functionLinenumber: 954
    functionLinenumberEnd: 987
    functionName: encodeUdfResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 3
    functionsReached:
    - encodeUdfCallResponse
    - encodeUdfSetupResponse
    - fnError
    - encodeUdfTeardownResponse
    - taosEncodeFixedI8
    - taosEncodeFixedI32
    - POINTER_SHIFT
    - taosEncodeFixedI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeUdfResponse(void **buf, const SUdfResponse *rsp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:991,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:993,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:994,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:995,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:996,1
    - Dst: decodeUdfSetupResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:1000,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1004,1
    - Dst: decodeUdfCallResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:1009,1
    - Dst: decodeUdfTeardownResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:1012,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1016,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1021,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - buf
    - rsp
    argTypes:
    - void*
    - SUdfResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 989
    functionDepth: 3
    functionLinenumber: 989
    functionLinenumberEnd: 1024
    functionName: decodeUdfResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - decodeUdfCallResponse
    - fnError
    - taosDecodeFixedI8
    - decodeUdfTeardownResponse
    - decodeUdfSetupResponse
    - taosDecodeFixedI64
    - taosDecodeFixedI32
    - POINTER_SHIFT
    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:1027,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1028,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1029,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1031,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1034,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1036,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - data
    - meta
    argTypes:
    - SUdfColumnData*
    - SUdfColumnMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1039
    functionName: freeUdfColumnData
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    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: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:1042,1
    - Dst: freeUdfColumnData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - col
    argTypes:
    - SUdfColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1044
    functionName: freeUdfColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - freeUdfColumnData
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void freeUdfColumn(SUdfColumn *col)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:1047,1
    - Dst: freeUdfColumn
      Src: /src/tdengine/source/libs/function/src/tudf.c:1049,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1050,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - block
    argTypes:
    - SUdfDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1046
    functionDepth: 3
    functionLinenumber: 1046
    functionLinenumberEnd: 1055
    functionName: freeUdfDataDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - freeUdfColumn
    - taosMemoryFree
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void freeUdfDataDataBlock(SUdfDataBlock *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:1058,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1061
    functionName: freeUdfInterBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 2
    functionsReached:
    - taosMemoryFree
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void freeUdfInterBuf(SUdfInterBuf *buf)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1064,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/function/src/tudf.c:1065,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1070,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1071,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1071,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1076,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1080,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1088,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1090,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1094,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/libs/function/src/tudf.c:1095,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1096,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/tudf.c:1105,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/libs/function/src/tudf.c:1106,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/libs/function/src/tudf.c:1107,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/tudf.c:1109,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1111,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1115,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/function/src/tudf.c:1118,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1120,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1125,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/libs/function/src/tudf.c:1126,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1128,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1133,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 2
    argNames:
    - block
    - udfBlock
    argTypes:
    - SSDataBlock*
    - SUdfDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1137
    functionName: convertDataBlockToUdfDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - blobDataTLen
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - varDataTLen
    - colDataGetLength
    - IS_STR_DATA_BLOB
    - getJsonValueLen
    - taosArrayGetSize
    - blockDataCheck
    - taosMemoryCalloc
    - BitmapLen
    - IS_VAR_DATA_TYPE
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertDataBlockToUdfDataBlock(SSDataBlock *block, SUdfDataBlock
      *udfBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1140,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1144,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1145,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1146,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/function/src/tudf.c:1148,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1149,1
    - Dst: bdGetColumnInfoData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1152,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1153,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/src/tudf.c:1156,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1157,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1159,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/tudf.c:1160,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1161,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/function/src/tudf.c:1166,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1167,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - udfCol
    - block
    argTypes:
    - SUdfColumn*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1173
    functionName: convertUdfColumnToDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - colDataSetNULL
    - TAOS_CHECK_GOTO
    - fnError
    - blockDataEnsureCapacity
    - createColumnInfoData
    - bdGetColumnInfoData
    - udfColDataIsNull
    - colDataSetVal
    - udfColDataGetData
    - blockDataAppendColInfo
    - blockDataCheck
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertUdfColumnToDataBlock(SUdfColumn *udfCol, SSDataBlock
      *block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1176,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1189,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1189,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1192,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/function/src/tudf.c:1192,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1195,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1198,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/function/src/tudf.c:1198,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/tudf.c:1203,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1205,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1207,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1209,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/tudf.c:1209,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - input
    - numOfCols
    - output
    argTypes:
    - SScalarParam*
    - int32_t
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1221
    functionName: convertScalarParamToDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TAOS_CHECK_GOTO
    - colDataGetData
    - colDataSetNNULL
    - blockDataEnsureCapacity
    - fnError
    - colDataAssign
    - colDataSetVal
    - blockDataAppendColInfo
    - colDataIsNull_s
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertScalarParamToDataBlock(SScalarParam *input, int32_t
      numOfCols, SSDataBlock *output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1224,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1225,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1226,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1231,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1235,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - SSDataBlock*
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1239
    functionName: convertDataBlockToScalarParm
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taosArrayGet
    - fnError
    - taosArrayGetSize
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertDataBlockToScalarParm(SSDataBlock *input, SScalarParam
      *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/tudf.c:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem1
    - elem2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1301
    functionName: compareUdfcFuncSub
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t compareUdfcFuncSub(const void *elem1, const void *elem2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1304,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1306,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1308,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/function/src/tudf.c:1309,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1311,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1313,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1319,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1322,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/function/src/tudf.c:1324,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1327,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1328,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1329,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/function/src/tudf.c:1331,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/function/src/tudf.c:1332,1
    - Dst: doSetupUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1338,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1341,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1344,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1346,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1347,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1348,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/function/src/tudf.c:1351,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - udfName
    - pHandle
    argTypes:
    - char*
    - UdfcFuncHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1303
    functionDepth: 1
    functionLinenumber: 1303
    functionLinenumberEnd: 1361
    functionName: acquireUdfFuncHandle
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArraySort
    - fnError
    - doSetupUdf
    - taosGetTimestampUs
    - fnInfo
    - taosArrayRemove
    - tstrncpy
    - uv_mutex_unlock
    - taosArraySearchIdx
    - uv_mutex_lock
    - fnDebug
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t acquireUdfFuncHandle(char *udfName, UdfcFuncHandle *pHandle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:1364,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1365,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1367,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/function/src/tudf.c:1368,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/function/src/tudf.c:1369,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1371,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1380,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - udfName
    - handle
    argTypes:
    - char*
    - UdfcFuncHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1381
    functionName: releaseUdfFuncHandle
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosArraySearch
    - uv_mutex_unlock
    - tstrncpy
    - uv_mutex_lock
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: void releaseUdfFuncHandle(char *udfName, UdfcFuncHandle handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:1385,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1387,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1390,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1391,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1393,1
    - Dst: doTeardownUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1395,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1397,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1401,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1402,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1405,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1413
    functionName: cleanupExpiredUdfs
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - fnError
    - fnInfo
    - taosArrayGetSize
    - taosArrayInit
    - doTeardownUdf
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void cleanupExpiredUdfs()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:1416,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1418,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1422,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1423,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1425,1
    - Dst: doTeardownUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1426,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1428,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1432,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1433,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1436,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1444
    functionName: cleanupNotExpiredUdfs
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - fnError
    - fnInfo
    - taosArrayGetSize
    - taosArrayInit
    - doTeardownUdf
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void cleanupNotExpiredUdfs()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/function/src/tudf.c:1447,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1452,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1453,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1454,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1455,1
    - Dst: cleanupNotExpiredUdfs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1459,1
    - Dst: cleanupExpiredUdfs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1460,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1446
    functionDepth: 2
    functionLinenumber: 1446
    functionLinenumberEnd: 1464
    functionName: cleanUpUdfs
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 3
    functionsReached:
    - atomic_load_8
    - cleanupNotExpiredUdfs
    - cleanupExpiredUdfs
    - uv_mutex_unlock
    - taosArrayGetSize
    - uv_mutex_lock
    linkageType: ''
    returnType: int32_t
    signature: int32_t cleanUpUdfs()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1467,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1469,1
    - Dst: doCallUdfScalarFunc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1475,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1477,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1478,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1483,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1487,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - udfName
    - input
    - numOfCols
    - output
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1466
    functionDepth: 2
    functionLinenumber: 1466
    functionLinenumberEnd: 1494
    functionName: callUdfScalarFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - fnError
    - releaseUdfFuncHandle
    - acquireUdfFuncHandle
    - doCallUdfScalarFunc
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t callUdfScalarFunc(char *udfName, SScalarParam *input, int32_t
      numOfCols, SScalarParam *output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1498,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - struct SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1496
    functionDepth: 3
    functionLinenumber: 1496
    functionLinenumberEnd: 1506
    functionName: udfAggGetEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnError
    - fmIsScalarFunc
    linkageType: ''
    returnType: bool
    signature: bool udfAggGetEnv(struct SFunctionNode *pFunc, SFuncExecEnv *pEnv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1509,1
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/tudf.c:1513,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1518,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1519,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/tudf.c:1523,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/tudf.c:1525,1
    - Dst: doCallUdfAggInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:1531,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1532,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1533,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1537,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1541,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1542,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1545,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - pCtx
    - pResultCellInfo
    argTypes:
    - struct SqlFunctionCtx*
    - struct SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1508
    functionDepth: 3
    functionLinenumber: 1508
    functionLinenumberEnd: 1548
    functionName: udfAggInit
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - doCallUdfAggInit
    - memcpy
    - fnError
    - releaseUdfFuncHandle
    - GET_ROWCELL_INTERBUF
    - memset
    - acquireUdfFuncHandle
    - functionSetup
    - freeUdfInterBuf
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfAggInit(struct SqlFunctionCtx *pCtx, struct SResultRowEntryInfo
      *pResultCellInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1551,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1554,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1555,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/tudf.c:1560,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1560,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1569,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1578,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1579,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1580,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1586,1
    - Dst: doCallUdfAggProcess
      Src: /src/tdengine/source/libs/function/src/tudf.c:1595,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1597,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1601,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1605,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1610,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1612,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1614,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1615,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1617,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1618,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - struct SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1550
    functionDepth: 2
    functionLinenumber: 1550
    functionLinenumberEnd: 1620
    functionName: udfAggProcess
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - doCallUdfAggProcess
    - memcpy
    - fnError
    - blockDataExtractBlock
    - releaseUdfFuncHandle
    - GET_ROWCELL_INTERBUF
    - createDataBlock
    - taosMemoryFree
    - acquireUdfFuncHandle
    - blockDataAppendColInfo
    - taosArrayDestroy
    - blockDataDestroy
    - freeUdfInterBuf
    - GET_RES_INFO
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfAggProcess(struct SqlFunctionCtx *pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1623,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1626,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1627,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/tudf.c:1632,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1632,1
    - Dst: doCallUdfAggFinalize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1640,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1642,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1643,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1647,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1650,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1652,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1654,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1655,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1661,1
    - Dst: functionFinalizeWithResultBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1663,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - struct SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1622
    functionDepth: 2
    functionLinenumber: 1622
    functionLinenumberEnd: 1666
    functionName: udfAggFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - functionFinalizeWithResultBuf
    - memcpy
    - fnError
    - releaseUdfFuncHandle
    - GET_ROWCELL_INTERBUF
    - acquireUdfFuncHandle
    - doCallUdfAggFinalize
    - freeUdfInterBuf
    - GET_RES_INFO
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfAggFinalize(struct SqlFunctionCtx *pCtx, SSDataBlock *pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1670,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1671,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1672,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1674,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1675,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1677,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1681,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1682,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1683,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1668
    functionDepth: 1
    functionLinenumber: 1668
    functionLinenumberEnd: 1685
    functionName: onUdfcPipeClose
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - uv_sem_post
    - uv_mutex_unlock
    - taosMemoryFree
    - QUEUE_EMPTY
    - uv_mutex_lock
    linkageType: ''
    returnType: void
    signature: void onUdfcPipeClose(uv_handle_t *handle)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1689,1
    - Dst: decodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:1693,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1696,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tudf.c:1718,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1722,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1728,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1733,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - task
    - uvTask
    argTypes:
    - SClientUdfTask*
    - SClientUvTaskNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1687
    functionDepth: 4
    functionLinenumber: 1687
    functionLinenumberEnd: 1737
    functionName: udfcGetUdfTaskResultFromUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnError
    - taosMemoryFreeClear
    - decodeUdfResponse
    - fnDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfcGetUdfTaskResultFromUvTask(SClientUdfTask *task, SClientUvTaskNode
      *uvTask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1745,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1754,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1763,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1769,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - handle
    - suggestedSize
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1776
    functionName: udfcAllocateBuffer
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnError
    - taosMemoryMalloc
    - taosMemoryRealloc
    - fnDebug
    linkageType: ''
    returnType: void
    signature: void udfcAllocateBuffer(uv_handle_t *handle, size_t suggestedSize,
      uv_buf_t *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - connBuf
    argTypes:
    - SClientConnBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1787
    functionName: isUdfcUvMsgComplete
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnDebug
    linkageType: ''
    returnType: bool
    signature: bool isUdfcUvMsgComplete(SClientConnBuf *connBuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1793,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1794,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1799,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1800,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1803,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1809,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1813,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1814,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1818,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1819,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1820,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1821,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SClientUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1789
    functionDepth: 1
    functionLinenumber: 1789
    functionLinenumberEnd: 1829
    functionName: udfcUvHandleRsp
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - QUEUE_REMOVE
    - fnError
    - QUEUE_NEXT
    - uv_sem_post
    - uv_buf_init
    - QUEUE_EMPTY
    - fnDebug
    linkageType: ''
    returnType: void
    signature: void udfcUvHandleRsp(SClientUvConn *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1832,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1833,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1834,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1835,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1837,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1838,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1839,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/function/src/tudf.c:1841,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:1842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SClientUvConn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1831
    functionDepth: 1
    functionLinenumber: 1831
    functionLinenumberEnd: 1844
    functionName: udfcUvHandleError
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - uv_is_closing
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - uv_close
    - uv_sem_post
    - QUEUE_EMPTY
    - fnDebug
    linkageType: ''
    returnType: void
    signature: void udfcUvHandleError(SClientUvConn *conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1847,1
    - Dst: isUdfcUvMsgComplete
      Src: /src/tdengine/source/libs/function/src/tudf.c:1854,1
    - Dst: udfcUvHandleRsp
      Src: /src/tdengine/source/libs/function/src/tudf.c:1855,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1859,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1859,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1861,1
    - Dst: udfcUvHandleError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1863,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - client
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1846
    functionDepth: 2
    functionLinenumber: 1846
    functionLinenumberEnd: 1865
    functionName: onUdfcPipeRead
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - isUdfcUvMsgComplete
    - fnError
    - udfcUvHandleError
    - uv_strerror
    - udfcUvHandleRsp
    - fnDebug
    linkageType: ''
    returnType: void
    signature: void onUdfcPipeRead(uv_stream_t *client, ssize_t nread, const uv_buf_t
      *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1870,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1870,1
    - Dst: udfcUvHandleError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1871,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1873,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - write
    - status
    argTypes:
    - uv_write_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1867
    functionDepth: 2
    functionLinenumber: 1867
    functionLinenumberEnd: 1876
    functionName: onUdfcPipeWrite
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnError
    - udfcUvHandleError
    - uv_strerror
    - taosMemoryFree
    - fnDebug
    linkageType: ''
    returnType: void
    signature: void onUdfcPipeWrite(uv_write_t *write, int32_t status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1881,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1881,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/function/src/tudf.c:1885,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1887,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1887,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1890,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1891,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - connect
    - status
    argTypes:
    - uv_connect_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1893
    functionName: onUdfcPipeConnect
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - QUEUE_REMOVE
    - fnError
    - uv_strerror
    - uv_sem_post
    - taosMemoryFree
    - uv_read_start
    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:1904,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1916,1
    - Dst: encodeUdfRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:1918,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1920,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1924,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1926,1
    - Dst: encodeUdfRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:1930,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1931,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1932,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1936,1
    - Dst: uv_sem_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1941,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tudf.c:1943,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1945,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - task
    - uvTaskType
    - uvTask
    argTypes:
    - SClientUdfTask*
    - int8_t
    - SClientUvTaskNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1895
    functionDepth: 4
    functionLinenumber: 1895
    functionLinenumberEnd: 1950
    functionName: udfcInitializeUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_sem_init
    - taosMemoryMalloc
    - taosMemoryFreeClear
    - atomic_fetch_add_64
    - encodeUdfRequest
    - fnError
    - taosMemoryFree
    - uv_buf_init
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfcInitializeUvTask(SClientUdfTask *task, int8_t uvTaskType,
      SClientUvTaskNode *uvTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1953,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1955,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1956,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1957,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:1958,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1960,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1960,1
    - Dst: uv_sem_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:1964,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1965,1
    - Dst: uv_sem_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - uvTask
    argTypes:
    - SClientUvTaskNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1952
    functionDepth: 1
    functionLinenumber: 1952
    functionLinenumberEnd: 1969
    functionName: udfcQueueUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - QUEUE_INSERT_TAIL
    - fnError
    - uv_async_send
    - uv_strerror
    - uv_sem_destroy
    - uv_mutex_unlock
    - uv_sem_wait
    - uv_mutex_lock
    - fnDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfcQueueUvTask(SClientUvTaskNode *uvTask)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1972,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1977,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1979,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1982,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1983,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1984,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1989,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1991,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1992,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/function/src/tudf.c:2000,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2004,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2006,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2007,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2008,1
    - Dst: uv_pipe_connect
      Src: /src/tdengine/source/libs/function/src/tudf.c:2012,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2021,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2023,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:2028,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/function/src/tudf.c:2029,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2031,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2032,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:2032,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:2044,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/function/src/tudf.c:2045,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:2046,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2053,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 1
    argNames:
    - uvTask
    argTypes:
    - SClientUvTaskNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 1971
    functionDepth: 1
    functionLinenumber: 1971
    functionLinenumberEnd: 2058
    functionName: udfcStartUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_pipe_init
    - taosMemoryMalloc
    - QUEUE_INIT
    - uv_is_closing
    - uv_close
    - fnError
    - QUEUE_INSERT_TAIL
    - uv_pipe_connect
    - uv_strerror
    - uv_write
    - taosMemoryFree
    - taosMemoryCalloc
    - fnDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfcStartUvTask(SClientUvTaskNode *uvTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/function/src/tudf.c:2063,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:2065,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:2066,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:2067,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:2069,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:2070,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:2071,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:2072,1
    - Dst: udfcStartUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2073,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:2075,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:2078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2060
    functionDepth: 2
    functionLinenumber: 2060
    functionLinenumberEnd: 2081
    functionName: udfcAsyncTaskCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - QUEUE_INIT
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - QUEUE_INSERT_TAIL
    - QUEUE_MOVE
    - uv_sem_post
    - uv_mutex_unlock
    - udfcStartUvTask
    - QUEUE_EMPTY
    - uv_mutex_lock
    linkageType: ''
    returnType: void
    signature: void udfcAsyncTaskCb(uv_async_t *async)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:2084,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/function/src/tudf.c:2086,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:2088,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:2089,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:2090,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:2092,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:2093,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:2094,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:2095,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:2099,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:2102,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:2103,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:2104,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:2105,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:2109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - udfc
    argTypes:
    - SUdfcProxy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2083
    functionDepth: 1
    functionLinenumber: 2083
    functionLinenumberEnd: 2111
    functionName: cleanUpUvTasks
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - QUEUE_DATA
    - QUEUE_INIT
    - QUEUE_REMOVE
    - QUEUE_HEAD
    - QUEUE_MOVE
    - uv_sem_post
    - uv_mutex_unlock
    - QUEUE_EMPTY
    - uv_mutex_lock
    - fnDebug
    linkageType: ''
    returnType: void
    signature: void cleanUpUvTasks(SUdfcProxy *udfc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanUpUvTasks
      Src: /src/tdengine/source/libs/function/src/tudf.c:2115,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/tudf.c:2117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2113
    functionDepth: 2
    functionLinenumber: 2113
    functionLinenumberEnd: 2119
    functionName: udfStopAsyncCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - cleanUpUvTasks
    - uv_stop
    linkageType: ''
    returnType: void
    signature: void udfStopAsyncCb(uv_async_t *async)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2124,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2125,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2127,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2128,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2130,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2131,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2133,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2134,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/function/src/tudf.c:2135,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/function/src/tudf.c:2136,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:2137,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:2139,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2140,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:2141,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/function/src/tudf.c:2143,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:2144,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2145,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:2147,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2150,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - argsThread
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2121
    functionDepth: 1
    functionLinenumber: 2121
    functionLinenumberEnd: 2153
    functionName: constructUdfService
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_mutex_init
    - QUEUE_INIT
    - TAOS_CHECK_GOTO
    - fnError
    - uv_async_init
    - uv_barrier_wait
    - uv_run
    - fnInfo
    - uv_walk
    - uv_loop_close
    - uv_loop_init
    linkageType: ''
    returnType: void
    signature: void constructUdfService(void *argsThread)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/function/src/tudf.c:2157,1
    - Dst: getUdfdPipeName
      Src: /src/tdengine/source/libs/function/src/tudf.c:2162,1
    - Dst: uv_barrier_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2164,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2165,1
    - Dst: uv_thread_create
      Src: /src/tdengine/source/libs/function/src/tudf.c:2166,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2167,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/function/src/tudf.c:2168,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:2170,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2171,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2172,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2173,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:2174,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2176,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:2179,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2181,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2182,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2185,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2186,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2189,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2155
    functionDepth: 2
    functionLinenumber: 2155
    functionLinenumberEnd: 2194
    functionName: udfcOpen
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - uv_thread_create
    - uv_mutex_init
    - atomic_val_compare_exchange_8
    - TAOS_CHECK_GOTO
    - fnError
    - getUdfdPipeName
    - uv_barrier_wait
    - fnInfo
    - atomic_store_8
    - taosArrayInit
    - taosArrayDestroy
    - uv_barrier_init
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfcOpen()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/function/src/tudf.c:2197,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:2204,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2205,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/function/src/tudf.c:2207,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2208,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2210,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2211,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2212,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2213,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2214,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2215,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2196
    functionDepth: 1
    functionLinenumber: 2196
    functionLinenumberEnd: 2219
    functionName: udfcClose
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached:
    - uv_barrier_destroy
    - atomic_val_compare_exchange_8
    - fnError
    - uv_async_send
    - fnInfo
    - uv_thread_join
    - uv_mutex_destroy
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfcClose()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2223,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2225,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:2228,1
    - Dst: udfcInitializeUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2230,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2231,1
    - Dst: udfcQueueUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2232,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2233,1
    - Dst: udfcGetUdfTaskResultFromUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2234,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2235,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2244,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2246,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - task
    - uvTaskType
    argTypes:
    - SClientUdfTask*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2221
    functionDepth: 5
    functionLinenumber: 2221
    functionLinenumberEnd: 2251
    functionName: udfcRunUdfUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - udfcQueueUvTask
    - TAOS_CHECK_GOTO
    - fnError
    - udfcGetUdfTaskResultFromUvTask
    - udfcInitializeUvTask
    - taosMemoryFree
    - taosMemoryCalloc
    - fnDebug
    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:2254,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:2259,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tudf.c:2260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - task
    argTypes:
    - SClientUdfTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2253
    functionDepth: 1
    functionLinenumber: 2253
    functionLinenumberEnd: 2261
    functionName: freeTaskSession
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - uv_mutex_unlock
    - taosMemoryFreeClear
    - uv_mutex_lock
    linkageType: ''
    returnType: void
    signature: void freeTaskSession(SClientUdfTask *task)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2265,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2267,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2270,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2272,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2273,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2280,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2282,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2283,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2285,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2286,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2293,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2294,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2296,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2301,1
    - Dst: freeTaskSession
      Src: /src/tdengine/source/libs/function/src/tudf.c:2303,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 2
    argNames:
    - udfName
    - funcHandle
    argTypes:
    - char[]
    - UdfcFuncHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2263
    functionDepth: 6
    functionLinenumber: 2263
    functionLinenumberEnd: 2306
    functionName: doSetupUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 3
    functionsReached:
    - TAOS_CHECK_GOTO
    - fnError
    - udfcRunUdfUvTask
    - fnInfo
    - tstrncpy
    - taosMemoryFree
    - freeTaskSession
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t doSetupUdf(char udfName[], UdfcFuncHandle *funcHandle)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:2310,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2313,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2316,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2318,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2353,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2355,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2381,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 7
    argNames:
    - handle
    - callType
    - input
    - state
    - state2
    - output
    - newState
    argTypes:
    - UdfcFuncHandle
    - int8_t
    - SSDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    - SSDataBlock*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2308
    functionDepth: 6
    functionLinenumber: 2308
    functionLinenumberEnd: 2383
    functionName: callUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached:
    - fnError
    - udfcRunUdfUvTask
    - taosMemoryFree
    - taosMemoryCalloc
    - fnDebug
    linkageType: ''
    returnType: int32_t
    signature: "int32_t callUdf(UdfcFuncHandle handle, int8_t callType, SSDataBlock
      *input, SUdfInterBuf *state, SUdfInterBuf *state2,\n                SSDataBlock
      *output, SUdfInterBuf *newState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:2388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - interBuf
    argTypes:
    - UdfcFuncHandle
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2385
    functionDepth: 7
    functionLinenumber: 2385
    functionLinenumberEnd: 2391
    functionName: doCallUdfAggInit
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 2
    functionsReached:
    - callUdf
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCallUdfAggInit(UdfcFuncHandle handle, SUdfInterBuf *interBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:2397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - block
    - state
    - newState
    argTypes:
    - UdfcFuncHandle
    - SSDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2395
    functionDepth: 7
    functionLinenumber: 2395
    functionLinenumberEnd: 2399
    functionName: doCallUdfAggProcess
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 2
    functionsReached:
    - callUdf
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCallUdfAggProcess(UdfcFuncHandle handle, SSDataBlock *block,
      SUdfInterBuf *state, SUdfInterBuf *newState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:2415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - interBuf
    - resultData
    argTypes:
    - UdfcFuncHandle
    - SUdfInterBuf*
    - SUdfInterBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2413
    functionDepth: 7
    functionLinenumber: 2413
    functionLinenumberEnd: 2417
    functionName: doCallUdfAggFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 2
    functionsReached:
    - callUdf
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCallUdfAggFinalize(UdfcFuncHandle handle, SUdfInterBuf *interBuf,
      SUdfInterBuf *resultData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: convertScalarParamToDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:2422,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2424,1
    - Dst: callUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:2428,1
    - Dst: convertDataBlockToScalarParm
      Src: /src/tdengine/source/libs/function/src/tudf.c:2430,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2432,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/tudf.c:2434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - handle
    - input
    - numOfCols
    - output
    argTypes:
    - UdfcFuncHandle
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2419
    functionDepth: 7
    functionLinenumber: 2419
    functionLinenumberEnd: 2436
    functionName: doCallUdfScalarFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 2
    functionsReached:
    - convertScalarParamToDataBlock
    - blockDataFreeRes
    - fnError
    - convertDataBlockToScalarParm
    - callUdf
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t doCallUdfScalarFunc(UdfcFuncHandle handle, SScalarParam *input,
      int32_t numOfCols, SScalarParam *output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2443,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2444,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2448,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2450,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2451,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2460,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2461,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2463,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2464,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2466,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2477,1
    - Dst: freeTaskSession
      Src: /src/tdengine/source/libs/function/src/tudf.c:2479,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - handle
    argTypes:
    - UdfcFuncHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2438
    functionDepth: 6
    functionLinenumber: 2438
    functionLinenumberEnd: 2483
    functionName: doTeardownUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 4
    functionsReached:
    - TAOS_CHECK_GOTO
    - fnError
    - udfcRunUdfUvTask
    - fnInfo
    - taosMemoryFree
    - freeTaskSession
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t doTeardownUdf(UdfcFuncHandle handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2487
    functionName: cleanUpUdfs
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t cleanUpUdfs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2488
    functionName: udfcOpen
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfcOpen()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2489
    functionName: udfcClose
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfcClose()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - startDnodeId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2490
    functionName: udfStartUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t udfStartUdfd(int32_t startDnodeId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2491
    functionName: udfStopUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void udfStopUdfd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - udfName
    - input
    - numOfCols
    - output
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - SScalarParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2494
    functionName: callUdfScalarFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t callUdfScalarFunc(char *udfName, SScalarParam *input, int32_t
      numOfCols, SScalarParam *output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - numOfRows
    - bytes
    - remainder
    - rounds
    - width
    argTypes:
    - int32_t
    - int32_t
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: calculateRounds
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void calculateRounds(int32_t numOfRows, int32_t bytes, int32_t* remainder,
      int32_t* rounds, int32_t* width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - start
    - ','
    - end
    - ','
    - val
    - ','
    - _data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: __COMPARE_EXTRACT_MIN
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __COMPARE_EXTRACT_MIN(start, end, val, _data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - start
    - ','
    - end
    - ','
    - val
    - ','
    - _data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: __COMPARE_EXTRACT_MAX
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __COMPARE_EXTRACT_MAX(start, end, val, _data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - _first
    - ','
    - _sec
    - ','
    - _width
    - ','
    - _remain
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: EXTRACT_MAX_VAL
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_MAX_VAL(_first, _sec, _width, _remain, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - _first
    - ','
    - _sec
    - ','
    - _width
    - ','
    - _remain
    - ','
    - _v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: EXTRACT_MIN_VAL
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_MIN_VAL(_first, _sec, _width, _remain, _v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: CMP_TYPE_MIN_MAX
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_TYPE_MIN_MAX(type, cmp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calculateRounds
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:68,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - pData
    - numOfRows
    - isMinFunc
    - signVal
    - res
    argTypes:
    - void*
    - int32_t
    - bool
    - bool
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 93
    functionName: i8VectorCmpAVX2
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: 0
    functionsReached:
    - uError
    - calculateRounds
    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:98,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - pData
    - numOfRows
    - isMinFunc
    - signVal
    - res
    argTypes:
    - void*
    - int32_t
    - bool
    - bool
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 122
    functionName: i16VectorCmpAVX2
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: 0
    functionsReached:
    - uError
    - calculateRounds
    linkageType: ''
    returnType: int32_t
    signature: int32_t i16VectorCmpAVX2(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:127,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - pData
    - numOfRows
    - isMinFunc
    - signVal
    - res
    argTypes:
    - void*
    - int32_t
    - bool
    - bool
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 151
    functionName: i32VectorCmpAVX2
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: 0
    functionsReached:
    - uError
    - calculateRounds
    linkageType: ''
    returnType: int32_t
    signature: int32_t i32VectorCmpAVX2(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:158,1
    - Dst: _mm256_loadu_ps
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:161,1
    - Dst: _mm256_loadu_ps
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:166,1
    - Dst: _mm256_max_ps
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:167,1
    - Dst: EXTRACT_MAX_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:172,1
    - Dst: _mm256_loadu_ps
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:175,1
    - Dst: _mm256_min_ps
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:176,1
    - Dst: EXTRACT_MIN_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:181,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - pData
    - numOfRows
    - isMinFunc
    - res
    argTypes:
    - float*
    - int32_t
    - bool
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 188
    functionName: floatVectorCmpAVX2
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: 0
    functionsReached:
    - uError
    - _mm256_min_ps
    - _mm256_max_ps
    - EXTRACT_MIN_VAL
    - calculateRounds
    - _mm256_loadu_ps
    - EXTRACT_MAX_VAL
    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:195,1
    - Dst: _mm256_loadu_pd
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:198,1
    - Dst: _mm256_loadu_pd
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:203,1
    - Dst: _mm256_max_pd
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:204,1
    - Dst: EXTRACT_MAX_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:210,1
    - Dst: _mm256_loadu_pd
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:213,1
    - Dst: _mm256_min_pd
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:214,1
    - Dst: EXTRACT_MIN_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:220,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - pData
    - numOfRows
    - isMinFunc
    - res
    argTypes:
    - double*
    - int32_t
    - bool
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 227
    functionName: doubleVectorCmpAVX2
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: 0
    functionsReached:
    - _mm256_max_pd
    - uError
    - _mm256_loadu_pd
    - EXTRACT_MIN_VAL
    - calculateRounds
    - _mm256_min_pd
    - EXTRACT_MAX_VAL
    linkageType: ''
    returnType: int32_t
    signature: int32_t doubleVectorCmpAVX2(const double* pData, int32_t numOfRows,
      bool isMinFunc, double* res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _info
    - ','
    - numOfElem
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: SET_VAL
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_VAL(_info, numOfElem, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sumT
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: LIST_AVG_N
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_AVG_N(sumT, T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pAvgRes
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: CHECK_OVERFLOW_SUM_SIGNED
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OVERFLOW_SUM_SIGNED(pAvgRes, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pAvgRes
    - ','
    - val
    - ','
    - big
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: CHECK_OVERFLOW_SUM_SIGNED_BIG
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OVERFLOW_SUM_SIGNED_BIG(pAvgRes, val, big)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pAvgRes
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: CHECK_OVERFLOW_SUM_UNSIGNED
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OVERFLOW_SUM_UNSIGNED(pAvgRes, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pAvgRes
    - ','
    - val
    - ','
    - big
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: CHECK_OVERFLOW_SUM_UNSIGNED_BIG
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OVERFLOW_SUM_UNSIGNED_BIG(pAvgRes, val, big)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVG_RES_GET_SIZE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:107,1
    - Dst: AVG_RES_GET_SIZE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: getAvgInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 1
    functionsReached:
    - AVG_RES_GET_SIZE
    linkageType: ''
    returnType: int32_t
    signature: int32_t getAvgInfoSize(SFunctionNode* pFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAvgInfoSize
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: getAvgFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached:
    - getAvgInfoSize
    linkageType: ''
    returnType: bool
    signature: bool getAvgFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:120,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:124,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: avgFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - memset
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: int32_t avgFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:132,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:133,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:134,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:135,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:136,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:137,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:138,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:138,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:138,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:139,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:142,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - pRes
    - numOfRows
    - type
    - pAgg
    - pNumOfElem
    argTypes:
    - void*
    - int32_t
    - int32_t
    - SColumnDataAgg*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 148
    functionName: calculateAvgBySMAInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - AVG_RES_GET_DECIMAL_SUM
    - IS_SIGNED_NUMERIC_TYPE
    - SUM_RES_INC_DECIMAL_SUM
    - AVG_RES_GET_SUM
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_FLOAT_TYPE
    - AVG_RES_INC_COUNT
    - GET_DOUBLE_VAL
    - CHECK_OVERFLOW_SUM_UNSIGNED
    - CHECK_OVERFLOW_SUM_SIGNED
    - SUM_RES_INC_DSUM
    linkageType: ''
    returnType: int32_t
    signature: int32_t calculateAvgBySMAInfo(void* pRes, int32_t numOfRows, int32_t
      type, const SColumnDataAgg* pAgg, int32_t* pNumOfElem)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:159,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:164,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:165,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:174,1
    - Dst: AVG_RES_INC_COUNT
      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:180,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:188,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:193,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:194,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:203,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:208,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:209,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:217,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:222,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:223,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:232,1
    - Dst: AVG_RES_INC_COUNT
      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:238,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:246,1
    - Dst: AVG_RES_INC_COUNT
      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:252,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:261,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:266,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:267,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:276,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:281,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:282,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:282,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:290,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:295,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:296,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:296,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:304,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:309,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:311,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:311,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 131
    argCount: 5
    argNames:
    - pCol
    - type
    - pInput
    - pRes
    - pNumOfElem
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SInputColumnInfoData*
    - void*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 321
    functionName: doAddNumericVector
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached:
    - AVG_RES_GET_DECIMAL_SUM
    - SUM_RES_INC_DECIMAL_SUM
    - AVG_RES_GET_SUM
    - AVG_RES_INC_COUNT
    - colDataIsNull_f
    - CHECK_OVERFLOW_SUM_UNSIGNED
    - CHECK_OVERFLOW_SUM_SIGNED
    - SUM_RES_INC_DSUM
    linkageType: ''
    returnType: int32_t
    signature: int32_t doAddNumericVector(SColumnInfoData* pCol, int32_t type, SInputColumnInfoData
      *pInput, void* pRes, int32_t* pNumOfElem)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:332,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:332,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:340,1
    - Dst: AVG_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:344,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:345,1
    - Dst: AVG_RES_SET_INPUT_SCALE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:345,1
    - Dst: calculateAvgBySMAInfo
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:348,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:352,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:361,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:363,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:375,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:377,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:389,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:391,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:403,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:405,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:415,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:415,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:423,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:423,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:433,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:433,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:436,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:436,1
    - Dst: doAddNumericVector
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:446,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:452,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:452,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 454
    functionName: avgFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - IS_NULL_TYPE
    - AVG_RES_SET_INPUT_SCALE
    - CHECK_OVERFLOW_SUM_UNSIGNED
    - AVG_RES_GET_DECIMAL_SUM
    - SET_VAL
    - SUM_RES_INC_DECIMAL_SUM
    - AVG_RES_GET_SUM
    - doAddNumericVector
    - GET_ROWCELL_INTERBUF
    - calculateAvgBySMAInfo
    - AVG_RES_INC_COUNT
    - AVG_RES_SET_TYPE
    - GET_RES_INFO
    - CHECK_OVERFLOW_SUM_SIGNED
    - SUM_RES_INC_DSUM
    linkageType: ''
    returnType: int32_t
    signature: int32_t avgFunction(SqlFunctionCtx* pCtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AVG_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:458,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:460,1
    - Dst: AVG_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:465,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:466,1
    - Dst: AVG_RES_GET_SUM_OVERFLOW
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:467,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED_BIG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:468,1
    - Dst: SUM_RES_GET_DSUM
      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:468,1
    - Dst: SUM_RES_GET_ISUM
      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:468,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:469,1
    - Dst: AVG_RES_GET_SUM_OVERFLOW
      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:471,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:471,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:471,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:471,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:471,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:472,1
    - Dst: AVG_RES_SET_INPUT_SCALE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:473,1
    - Dst: AVG_RES_GET_INPUT_SCALE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:473,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:475,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:475,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:475,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:478,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:478,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:478,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:478,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:481,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pCtx
    - pInput
    - pOutput
    argTypes:
    - SqlFunctionCtx*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 483
    functionName: avgTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached:
    - SUM_RES_GET_DSUM
    - AVG_RES_SET_INPUT_SCALE
    - SUM_RES_GET_ISUM
    - AVG_RES_GET_COUNT
    - AVG_RES_GET_TYPE
    - AVG_RES_GET_INPUT_SCALE
    - AVG_RES_GET_SUM
    - CHECK_OVERFLOW_SUM_UNSIGNED_BIG
    - AVG_RES_SET_TYPE
    - SUM_RES_INC_DSUM
    - IS_DECIMAL_TYPE
    - IS_NULL_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - SUM_RES_GET_USUM
    - AVG_RES_GET_DECIMAL_SUM
    - IS_SIGNED_NUMERIC_TYPE
    - AVG_RES_GET_SUM_OVERFLOW
    - SUM_RES_INC_DECIMAL_SUM
    - CHECK_OVERFLOW_SUM_SIGNED_BIG
    - AVG_RES_INC_COUNT
    linkageType: ''
    returnType: int32_t
    signature: int32_t avgTransferInfo(SqlFunctionCtx* pCtx, void* pInput, void* pOutput)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:489,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:490,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:490,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:498,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:498,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:503,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:504,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:505,1
    - Dst: avgTransferInfo
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:506,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:510,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 513
    functionName: avgFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached:
    - IS_NULL_TYPE
    - avgTransferInfo
    - colDataGetData
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - varDataVal
    - colDataIsNull_s
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t avgFunctionMerge(SqlFunctionCtx* pCtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:516,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:517,1
    - Dst: AVG_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:518,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:520,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:521,1
    - Dst: AVG_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:522,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:524,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:525,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:525,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:525,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:526,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:527,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:527,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:527,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:528,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:530,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:530,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:530,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:530,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:535,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:535,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:535,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:535,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:537,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 540
    functionName: avgCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached:
    - AVG_RES_GET_TYPE
    - IS_DECIMAL_TYPE
    - CHECK_OVERFLOW_SUM_UNSIGNED
    - AVG_RES_GET_DECIMAL_SUM
    - IS_SIGNED_NUMERIC_TYPE
    - SUM_RES_GET_DECIMAL_SUM
    - SUM_RES_GET_DSUM
    - SUM_RES_GET_USUM
    - SUM_RES_INC_DECIMAL_SUM
    - AVG_RES_GET_SUM
    - GET_ROWCELL_INTERBUF
    - IS_UNSIGNED_NUMERIC_TYPE
    - AVG_RES_INC_COUNT
    - AVG_RES_GET_COUNT
    - SUM_RES_GET_ISUM
    - GET_RES_INFO
    - CHECK_OVERFLOW_SUM_SIGNED
    - SUM_RES_INC_DSUM
    linkageType: ''
    returnType: int32_t
    signature: int32_t avgCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:543,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:545,1
    - Dst: AVG_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:546,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:547,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:549,1
    - Dst: AVG_RES_GET_SUM_OVERFLOW
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:551,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:552,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:552,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:552,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:552,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:553,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:554,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:554,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:554,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:554,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:555,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:556,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:556,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:556,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:556,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:557,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:559,1
    - Dst: AVG_RES_GET_INPUT_SCALE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:563,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:570,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:572,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:572,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:572,1
    - Dst: AVG_RES_GET_DECIMAL_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:573,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:578,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:578,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:578,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:578,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:581,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:583,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:584,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:584,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:584,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:584,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 542
    functionDepth: 8
    functionLinenumber: 542
    functionLinenumberEnd: 590
    functionName: avgFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached:
    - SUM_RES_GET_DSUM
    - decimalOp
    - functionFinalize
    - SUM_RES_GET_ISUM
    - AVG_RES_GET_COUNT
    - AVG_RES_GET_DECIMAL_AVG
    - AVG_RES_GET_TYPE
    - taosArrayGet
    - AVG_RES_GET_INPUT_SCALE
    - AVG_RES_GET_SUM
    - GET_ROWCELL_INTERBUF
    - AVG_RES_GET_AVG
    - IS_DECIMAL_TYPE
    - SUM_RES_GET_DECIMAL_SUM
    - IS_UNSIGNED_NUMERIC_TYPE
    - isnan
    - SUM_RES_GET_USUM
    - isinf
    - AVG_RES_GET_DECIMAL_SUM
    - IS_SIGNED_NUMERIC_TYPE
    - AVG_RES_GET_SUM_OVERFLOW
    - GET_RES_INFO
    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:593,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:594,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:594,1
    - Dst: AVG_RES_GET_SIZE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:595,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:596,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:601,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:601,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:602,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:605,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:611,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 616
    functionName: avgPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: 0
    functionsReached:
    - AVG_RES_GET_SIZE
    - memcpy
    - taosArrayGet
    - colDataSetVal
    - GET_ROWCELL_INTERBUF
    - taosMemoryFree
    - varDataVal
    - taosMemoryCalloc
    - GET_RES_INFO
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t avgPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - i
    - ','
    - end
    - ','
    - bm
    - ','
    - _data
    - ','
    - ctx
    - ','
    - val
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: __COMPARE_ACQUIRED_MAX
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __COMPARE_ACQUIRED_MAX(i, end, bm, _data, ctx, val, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - i
    - ','
    - end
    - ','
    - bm
    - ','
    - _data
    - ','
    - ctx
    - ','
    - val
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: __COMPARE_ACQUIRED_MIN
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __COMPARE_ACQUIRED_MIN(i, end, bm, _data, ctx, val, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - start
    - ','
    - end
    - ','
    - val
    - ','
    - _data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: __COMPARE_EXTRACT_MIN
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __COMPARE_EXTRACT_MIN(start, end, val, _data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - start
    - ','
    - end
    - ','
    - val
    - ','
    - _data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: __COMPARE_EXTRACT_MAX
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __COMPARE_EXTRACT_MAX(start, end, val, _data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _bits
    - ','
    - _bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: GET_INVOKE_INTRINSIC_THRESHOLD
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_INVOKE_INTRINSIC_THRESHOLD(_bits, _bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:79,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - pCol
    - start
    - numOfRows
    - isStr
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: findFirstValPosition
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_f
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t findFirstValPosition(const SColumnInfoData* pCol, int32_t start,
      int32_t numOfRows, bool isStr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: i8VectorCmpAVX2
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:93,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:105,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:107,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:114,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - data
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    - signVal
    argTypes:
    - void*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 121
    functionName: handleInt8Col
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - __COMPARE_EXTRACT_MAX
    - i8VectorCmpAVX2
    - __COMPARE_EXTRACT_MIN
    linkageType: ''
    returnType: void
    signature: "void handleInt8Col(const void* data, int32_t start, int32_t numOfRows,
      SMinmaxResInfo* pBuf, bool isMinFunc,\n                          bool signVal)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: i16VectorCmpAVX2
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:130,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:142,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:144,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:151,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - data
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    - signVal
    argTypes:
    - void*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 158
    functionName: handleInt16Col
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - __COMPARE_EXTRACT_MAX
    - __COMPARE_EXTRACT_MIN
    - i16VectorCmpAVX2
    linkageType: ''
    returnType: void
    signature: "void handleInt16Col(const void* data, int32_t start, int32_t numOfRows,
      SMinmaxResInfo* pBuf, bool isMinFunc,\n                           bool signVal)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: i32VectorCmpAVX2
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:167,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:179,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:181,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:188,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - data
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    - signVal
    argTypes:
    - void*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 195
    functionName: handleInt32Col
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - __COMPARE_EXTRACT_MAX
    - i32VectorCmpAVX2
    - __COMPARE_EXTRACT_MIN
    linkageType: ''
    returnType: void
    signature: "void handleInt32Col(const void* data, int32_t start, int32_t numOfRows,
      SMinmaxResInfo* pBuf, bool isMinFunc,\n                           bool signVal)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:208,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:210,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:217,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - data
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    - signVal
    argTypes:
    - void*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: handleInt64Col
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - __COMPARE_EXTRACT_MAX
    - __COMPARE_EXTRACT_MIN
    linkageType: ''
    returnType: void
    signature: "void handleInt64Col(const void* data, int32_t start, int32_t numOfRows,
      SMinmaxResInfo* pBuf, bool isMinFunc,\n                           bool signVal)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: floatVectorCmpAVX2
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:235,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:243,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - pCol
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: handleFloatCol
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - __COMPARE_EXTRACT_MAX
    - floatVectorCmpAVX2
    - __COMPARE_EXTRACT_MIN
    linkageType: ''
    returnType: void
    signature: "void handleFloatCol(SColumnInfoData* pCol, int32_t start, int32_t
      numOfRows, SMinmaxResInfo* pBuf,\n                           bool isMinFunc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: doubleVectorCmpAVX2
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:260,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:268,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - pCol
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 274
    functionName: handleDoubleCol
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - __COMPARE_EXTRACT_MAX
    - __COMPARE_EXTRACT_MIN
    - doubleVectorCmpAVX2
    linkageType: ''
    returnType: void
    signature: "void handleDoubleCol(SColumnInfoData* pCol, int32_t start, int32_t
      numOfRows, SMinmaxResInfo* pBuf,\n                            bool isMinFunc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:279,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - num
    - pCol
    - tval
    argTypes:
    - int32_t
    - int32_t
    - SColumnInfoData*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: findRowIndex
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - memcmp
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: int32_t findRowIndex(int32_t start, int32_t num, SColumnInfoData* pCol,
      const char* tval)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:296,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:302,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:308,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:315,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:321,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:327,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:333,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:339,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:345,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:351,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:359,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:362,1
    - Dst: compareLenBinaryVal
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:365,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:367,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:367,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:369,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:381,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:384,1
    - Dst: compareLenPrefixedWStr
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:387,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:389,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:389,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:391,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:402,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:405,1
    - Dst: SDecimalOps*::gt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:408,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:408,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:409,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:411,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:419,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:422,1
    - Dst: SDecimalOps*::gt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:425,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:425,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:426,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:428,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:440,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:446,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:452,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:459,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:465,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:471,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:477,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:483,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:489,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:495,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:500,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:503,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:506,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:506,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:507,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:509,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:517,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:520,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:523,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:523,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:524,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:526,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:537,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:540,1
    - Dst: compareLenBinaryVal
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:543,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:545,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:545,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:547,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:560,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:563,1
    - Dst: compareLenPrefixedWStr
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:566,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:568,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:568,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:570,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 207
    argCount: 6
    argNames:
    - pCol
    - i
    - end
    - pCtx
    - pBuf
    - isMinFunc
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - SqlFunctionCtx*
    - SMinmaxResInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 582
    functionName: doExtractVal
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - memcpy
    - varDataTLen
    - colDataGetData
    - compareLenPrefixedWStr
    - SDecimalOps*::gt
    - compareLenBinaryVal
    - DECIMAL64_GET_VALUE
    - getDecimalOps
    - SDecimalOps*::lt
    - __COMPARE_ACQUIRED_MAX
    - DECIMAL_WORD_NUM
    - colDataIsNull_f
    - colDataIsNull_var
    - updateTupleData
    - __COMPARE_ACQUIRED_MIN
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doExtractVal(SColumnInfoData* pCol, int32_t i, int32_t end,
      SqlFunctionCtx* pCtx, SMinmaxResInfo* pBuf,\n                            bool
      isMinFunc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:587,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:588,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pCtx
    - pInput
    - tval
    argTypes:
    - SqlFunctionCtx*
    - SInputColumnInfoData*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 595
    functionName: saveRelatedTupleTag
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 0
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - saveTupleData
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: int32_t saveRelatedTupleTag(SqlFunctionCtx* pCtx, SInputColumnInfoData*
      pInput, void* tval)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:607,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:608,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:611,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:616,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:624,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:632,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:632,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:634,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:636,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:639,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:641,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:645,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:647,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:648,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:650,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:654,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:656,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:657,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:663,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:665,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:666,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:672,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:674,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:675,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:678,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:679,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:679,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:680,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:681,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:684,1
    - Dst: SDecimalOps*::lt
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:685,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:685,1
    - Dst: DECIMAL128_CLONE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:686,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:687,1
    - Dst: findFirstValPosition
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:711,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:711,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:743,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:747,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:747,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:747,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:747,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:754,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:757,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:762,1
    - Dst: doExtractVal
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:775,1
    - Dst: handleInt8Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:782,1
    - Dst: handleInt16Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:786,1
    - Dst: handleInt32Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:790,1
    - Dst: handleInt64Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:795,1
    - Dst: handleInt8Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:799,1
    - Dst: handleInt16Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:803,1
    - Dst: handleInt32Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:807,1
    - Dst: handleInt64Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:811,1
    - Dst: handleFloatCol
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:815,1
    - Dst: handleDoubleCol
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:819,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:829,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 185
    argCount: 3
    argNames:
    - pCtx
    - isMinFunc
    - nElems
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 597
    functionDepth: 4
    functionLinenumber: 597
    functionLinenumberEnd: 839
    functionName: doMinMaxHelper
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 2
    functionsReached:
    - findFirstValPosition
    - colDataGetData
    - saveTupleData
    - GET_INT64_VAL
    - handleInt16Col
    - memcpy
    - handleFloatCol
    - getDecimalOps
    - GET_ROWCELL_INTERBUF
    - saveRelatedTupleTag
    - handleInt8Col
    - handleInt32Col
    - GET_UINT64_VAL
    - IS_DECIMAL_TYPE
    - IS_NULL_TYPE
    - DECIMAL64_SET_VALUE
    - handleDoubleCol
    - doExtractVal
    - IS_UNSIGNED_NUMERIC_TYPE
    - DECIMAL_WORD_NUM
    - taosMemoryMalloc
    - IS_SIGNED_NUMERIC_TYPE
    - varDataTLen
    - SDecimalOps*::lt
    - handleInt64Col
    - GET_DOUBLE_VAL
    - DECIMAL128_CLONE
    - IS_STR_DATA_TYPE
    - GET_RES_INFO
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int32_t
    signature: int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc, int32_t*
      nElems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:645,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:647,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - pBuf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 643
    functionDepth: 4
    functionLinenumber: 643
    functionLinenumberEnd: 649
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 11
    functionsReached:
    - saveRelatedTupleTag
    - GET_INT64_VAL
    linkageType: ''
    returnType: void
    signature: "void GET_TYPED_DATA(prev, int64_t, type, &pBuf->v, 0);\n\n        int64_t
      val = GET_INT64_VAL(tval);\n        if ((prev < val) ^ isMinFunc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:654,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:656,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - pBuf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 658
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 11
    functionsReached:
    - saveRelatedTupleTag
    - GET_UINT64_VAL
    linkageType: ''
    returnType: void
    signature: "void GET_TYPED_DATA(prev, uint64_t, type, &pBuf->v, 0);\n\n        uint64_t
      val = GET_UINT64_VAL(tval);\n        if ((prev < val) ^ isMinFunc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:663,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:665,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - pBuf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 661
    functionDepth: 4
    functionLinenumber: 661
    functionLinenumberEnd: 667
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 11
    functionsReached:
    - saveRelatedTupleTag
    - GET_DOUBLE_VAL
    linkageType: ''
    returnType: void
    signature: "void GET_TYPED_DATA(prev, double, type, &pBuf->v, 0);\n\n        double
      val = GET_DOUBLE_VAL(tval);\n        if ((prev < val) ^ isMinFunc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:672,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:674,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - pBuf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 670
    functionDepth: 4
    functionLinenumber: 670
    functionLinenumberEnd: 676
    functionName: GET_TYPED_DATA
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: 11
    functionsReached:
    - saveRelatedTupleTag
    - GET_DOUBLE_VAL
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: void
    signature: "void GET_TYPED_DATA(prev, float, type, &pBuf->v, 0);\n\n        float
      val = GET_DOUBLE_VAL(tval);\n        if ((prev < val) ^ isMinFunc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp
    functionUses: 0
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:14,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp
    functionUses: 166
    functionsReached:
    - TD_ALWAYS_ASSERT
    - walInit
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp
    functionUses: 49
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:22,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:30,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - path
    - vgId
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: createWal
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp
    functionUses: 0
    functionsReached:
    - memset
    - TD_ALWAYS_ASSERT
    - walOpen
    linkageType: ''
    returnType: SWal
    signature: SWal * createWal(char* path, int32_t vgId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:36,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: createSyncNode
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * createSyncNode(SWal* pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exe
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: usage
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(char* exe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:46,1
    - Dst: exit
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:47,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:50,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:52,1
    - Dst: createWal
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:53,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:54,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:55,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:56,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:58,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:59,1
    - Dst: logStoreSimplePrint2
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:61,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:63,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:64,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:65,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck2.cpp
    functionUses: 3
    functionsReached:
    - walClose
    - createWal
    - exit
    - cleanup
    - logStoreDestory
    - logStoreCreate
    - createSyncNode
    - atoi
    - logStoreSimplePrint2
    - usage
    - taosMemoryFree
    - init
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp
    functionUses: 0
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp
    functionUses: 167
    functionsReached:
    - walInit
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:18,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:21,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:29,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:30,1
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:32,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:33,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:34,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 37
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp
    functionUses: 1
    functionsReached:
    - walClose
    - walGetLastVer
    - taosRemoveDir
    - printf
    - memset
    - walOpen
    - walGetFirstVer
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:40,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:43,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:51,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:52,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:61,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:63,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:63,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:64,1
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:68,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:69,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:70,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 7
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp
    functionUses: 1
    functionsReached:
    - walClose
    - walGetLastVer
    - taosRemoveDir
    - printf
    - memset
    - walOpen
    - tstrerror
    - walGetFirstVer
    - TD_ALWAYS_ASSERT
    - walAppendLog
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:76,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:79,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:87,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:88,1
    - Dst: walRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:90,1
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:92,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:93,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:94,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp
    functionUses: 1
    functionsReached:
    - walClose
    - walGetLastVer
    - taosRemoveDir
    - printf
    - memset
    - walOpen
    - walGetFirstVer
    - TD_ALWAYS_ASSERT
    - walRestoreFromSnapshot
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:100,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:103,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:111,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:112,1
    - Dst: walRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:120,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:123,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:125,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:125,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:126,1
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:130,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:131,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:132,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 7
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp
    functionUses: 1
    functionsReached:
    - walClose
    - walGetLastVer
    - taosRemoveDir
    - printf
    - memset
    - walOpen
    - tstrerror
    - walGetFirstVer
    - TD_ALWAYS_ASSERT
    - walAppendLog
    - walRestoreFromSnapshot
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:138,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:141,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:149,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:150,1
    - Dst: walRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:152,1
    - Dst: walRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:153,1
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:155,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:156,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:157,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 160
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp
    functionUses: 0
    functionsReached:
    - walClose
    - walGetLastVer
    - taosRemoveDir
    - printf
    - memset
    - walOpen
    - walGetFirstVer
    - TD_ALWAYS_ASSERT
    - walRestoreFromSnapshot
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp
    functionUses: 50
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:167,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:169,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:170,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:171,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:172,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:173,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - cleanup
    - test3
    - test5
    - test2
    - init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 0
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:19,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:20,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:22,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:23,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 168
    functionsReached:
    - sprintf
    - TD_ALWAYS_ASSERT
    - syncInit
    - walInit
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 51
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct SSyncFSM*::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:34,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:40,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:42,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:43,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: CommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - syncStr
    - snprintf
    - syncRpcMsgLog2
    - struct SSyncFSM*::FpGetSnapshotInfo
    linkageType: ''
    returnType: void
    signature: void CommitCb(const struct SSyncFSM* pFsm, const SRpcMsg* pMsg, const
      SFsmCbMeta cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:51,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:54,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: PreCommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void PreCommitCb(const struct SSyncFSM* pFsm, const SRpcMsg* pMsg,
      SFsmCbMeta cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:60,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:62,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: RollBackCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void RollBackCb(const struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pFsm
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: GetSnapshotCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetSnapshotCb(const struct SSyncFSM* pFsm, SSnapshot* pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - struct SSyncFSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: RestoreFinishCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    linkageType: ''
    returnType: void
    signature: void RestoreFinishCb(struct SSyncFSM* pFsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SReConfigCbMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: ReConfigCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    linkageType: ''
    returnType: void
    signature: void ReConfigCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SReConfigCbMeta*
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:82,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: createFsm
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SSyncFSM
    signature: SSyncFSM * createFsm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:101,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:109,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - path
    - vgId
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: createWal
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 1
    functionsReached:
    - memset
    - TD_ALWAYS_ASSERT
    - walOpen
    linkageType: ''
    returnType: SWal
    signature: SWal * createWal(char* path, int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createFsm
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:120,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:121,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:131,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:139,1
    - Dst: syncOpen
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:144,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:145,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:147,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:148,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 6
    argNames:
    - replicaNum
    - myIndex
    - vgId
    - pWal
    - path
    - isStandBy
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - SWal*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 163
    functionName: createSyncNode
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 1
    functionsReached:
    - syncOpen
    - syncNodeRelease
    - syncNodeAcquire
    - taosGetFqdn
    - createFsm
    - snprintf
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int64_t
    signature: int64_t createSyncNode(int32_t replicaNum, int32_t myIndex, int32_t
      vgId, SWal* pWal, char* path, bool isStandBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:173,1
    - Dst: syncReconfig
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rid
    - replicaNum
    - myIndex
    argTypes:
    - int64_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: configChange
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 0
    functionsReached:
    - syncReconfig
    - taosGetFqdn
    linkageType: ''
    returnType: void
    signature: void configChange(int64_t rid, int32_t replicaNum, int32_t myIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exe
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: usage
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 3
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(char* exe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:184,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:185,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:188,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:189,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - i
    - count
    - myIndex
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: createRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - snprintf
    - memset
    - taosGetTimestampMs
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg * createRpcMsg(int i, int count, int myIndex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:198,1
    - Dst: exit
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:199,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:202,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:203,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:204,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:205,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:206,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:207,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:211,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:212,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:213,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:214,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:217,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:218,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:219,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:222,1
    - Dst: createWal
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:223,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:225,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:226,1
    - Dst: syncStart
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:228,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:238,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:239,1
    - Dst: configChange
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:242,1
    - Dst: syncNode2SimpleStr
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:248,1
    - Dst: createRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:251,1
    - Dst: syncPropose
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:252,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:254,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:256,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:257,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:261,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:262,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:264,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:267,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:268,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:269,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:272,1
    - Dst: syncStop
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:273,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:274,1
    - Dst: syncIOStop
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:275,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp:276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeTest.cpp
    functionUses: 3
    functionsReached:
    - syncNodeRelease
    - cleanup
    - snprintf
    - syncStart
    - exit
    - syncIOStart
    - sTrace
    - createSyncNode
    - atoi
    - rpcFreeCont
    - createWal
    - syncNodeAcquire
    - syncIOStop
    - usage
    - taosMsleep
    - init
    - TD_ALWAYS_ASSERT
    - configChange
    - walClose
    - createRpcMsg
    - syncStop
    - syncPropose
    - taosMemoryFree
    - syncNode2SimpleStr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp
    functionUses: 0
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:18,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:22,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:23,1
    - Dst: syncIOQTimerStart
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:26,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:27,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:28,1
    - Dst: syncIOQTimerStop
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:30,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:31,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:32,1
    - Dst: syncIOStop
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:35,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOTickQTest.cpp
    functionUses: 3
    functionsReached:
    - syncIOStart
    - syncIOQTimerStart
    - syncIOStop
    - logTest
    - syncIOQTimerStop
    - taosMsleep
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp
    functionUses: 1
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pFsm
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: GetSnapshotCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetSnapshotCb(const struct SSyncFSM* pFsm, SSnapshot* pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:31,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:34,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:42,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:43,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:45,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:46,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp
    functionUses: 169
    functionsReached:
    - taosMemoryMalloc
    - walInit
    - memset
    - walOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:54,1
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:55,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp
    functionUses: 52
    functionsReached:
    - walClose
    - walCleanUp
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:60,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:62,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:63,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:64,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:66,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:69,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:69,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:70,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:70,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:71,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:71,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:72,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:72,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:73,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:73,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:74,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:74,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:75,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:75,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:78,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:79,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:82,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:83,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:84,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:86,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:89,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:89,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:90,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:90,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:91,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:91,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:92,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:92,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:93,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:93,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:94,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:94,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:95,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:95,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:98,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 100
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp
    functionUses: 2
    functionsReached:
    - syncLogWriteIndex
    - logStoreLog2
    - logStoreCreate
    - syncLogIsEmpty
    - syncLogLastTerm
    - logStoreDestory
    - taosRemoveDir
    - cleanup
    - syncLogLastIndex
    - syncLogBeginIndex
    - syncLogEndIndex
    - init
    - syncLogEntryCount
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:103,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:105,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:106,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:107,1
    - Dst: syncLogRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:110,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:111,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:114,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:114,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:115,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:115,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:116,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:116,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:117,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:117,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:118,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:118,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:119,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:119,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:120,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:120,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:123,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:124,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:127,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:128,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:129,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:131,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:134,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:134,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:135,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:135,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:136,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:136,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:137,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:137,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:138,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:138,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:139,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:139,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:140,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:140,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:143,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 145
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp
    functionUses: 2
    functionsReached:
    - syncLogWriteIndex
    - logStoreLog2
    - logStoreCreate
    - syncLogIsEmpty
    - syncLogRestoreFromSnapshot
    - syncLogLastTerm
    - taosRemoveDir
    - logStoreDestory
    - cleanup
    - syncLogLastIndex
    - syncLogBeginIndex
    - syncLogEndIndex
    - init
    - syncLogEntryCount
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:148,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:150,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:151,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:152,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:154,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:157,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:157,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:158,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:158,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:159,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:159,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:160,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:160,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:161,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:161,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:162,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:162,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:163,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:163,1
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:168,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:169,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:175,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:176,1
    - Dst: syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:178,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:179,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:181,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:184,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:184,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:185,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:185,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:186,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:186,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:187,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:187,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:188,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:188,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:189,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:189,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:190,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:190,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:193,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:194,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:197,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:198,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:199,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:201,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:204,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:204,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:205,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:205,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:206,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:206,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:207,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:207,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:208,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:208,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:209,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:209,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:210,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:210,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:213,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 215
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp
    functionUses: 2
    functionsReached:
    - syncEntryBuild
    - syncLogAppendEntry
    - syncLogWriteIndex
    - logStoreLog2
    - logStoreCreate
    - syncLogIsEmpty
    - syncLogLastTerm
    - syncEntryDestory
    - taosRemoveDir
    - logStoreDestory
    - cleanup
    - snprintf
    - syncLogLastIndex
    - syncLogBeginIndex
    - syncLogEndIndex
    - init
    - syncLogEntryCount
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:218,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:220,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:221,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:222,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:224,1
    - Dst: syncLogRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:226,1
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:230,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:231,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:237,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:238,1
    - Dst: syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:240,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:241,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:243,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:246,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:246,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:247,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:247,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:248,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:248,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:249,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:249,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:250,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:250,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:251,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:251,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:252,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:252,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:255,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:256,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:259,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:260,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:261,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:263,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:266,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:266,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:267,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:267,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:268,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:268,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:269,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:269,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:270,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:270,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:271,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:271,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:272,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:272,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:275,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 277
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp
    functionUses: 2
    functionsReached:
    - syncEntryBuild
    - syncLogAppendEntry
    - cleanup
    - snprintf
    - syncLogLastIndex
    - syncLogLastTerm
    - syncLogIsEmpty
    - taosRemoveDir
    - syncLogEntryCount
    - syncLogWriteIndex
    - logStoreCreate
    - syncLogRestoreFromSnapshot
    - init
    - TD_ALWAYS_ASSERT
    - logStoreLog2
    - logStoreDestory
    - syncEntryDestory
    - syncLogBeginIndex
    - syncLogEndIndex
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:280,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:282,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:283,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:284,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:286,1
    - Dst: syncLogRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:288,1
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:292,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:293,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:299,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:300,1
    - Dst: syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:302,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:303,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:305,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:308,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:308,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:309,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:309,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:310,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:310,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:311,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:311,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:312,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:312,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:313,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:313,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:314,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:314,1
    - Dst: syncLogTruncate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:317,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:318,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:321,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:321,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:322,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:322,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:323,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:323,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:324,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:324,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:325,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:325,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:326,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:326,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:327,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:327,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:330,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:331,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:334,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:335,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:336,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:338,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:341,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:341,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:342,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:342,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:343,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:343,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:344,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:344,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:345,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:345,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:346,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:346,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:347,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:347,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:350,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 352
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp
    functionUses: 1
    functionsReached:
    - syncEntryBuild
    - syncLogAppendEntry
    - cleanup
    - snprintf
    - syncLogLastIndex
    - syncLogLastTerm
    - syncLogIsEmpty
    - taosRemoveDir
    - syncLogEntryCount
    - syncLogWriteIndex
    - logStoreCreate
    - syncLogRestoreFromSnapshot
    - init
    - TD_ALWAYS_ASSERT
    - logStoreLog2
    - logStoreDestory
    - syncEntryDestory
    - syncLogTruncate
    - syncLogBeginIndex
    - syncLogEndIndex
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:355,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:357,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:358,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:359,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:361,1
    - Dst: syncLogRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:363,1
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:367,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:368,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:374,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:375,1
    - Dst: syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:377,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:378,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:380,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:383,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:383,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:384,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:384,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:385,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:385,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:386,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:386,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:387,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:387,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:388,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:388,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:389,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:389,1
    - Dst: syncLogTruncate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:392,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:393,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:396,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:396,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:397,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:397,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:398,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:398,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:399,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:399,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:400,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:400,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:401,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:401,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:402,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:402,1
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:406,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:407,1
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:408,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:409,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:412,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:413,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:416,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:417,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:418,1
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:422,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:423,1
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:424,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:425,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:428,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:431,1
    - Dst: syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:431,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:432,1
    - Dst: syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:432,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:433,1
    - Dst: syncLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:433,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:434,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:434,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:435,1
    - Dst: syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:435,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:436,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:436,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:437,1
    - Dst: syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:437,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:440,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 442
    functionName: test6
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp
    functionUses: 0
    functionsReached:
    - syncEntryBuild
    - syncLogAppendEntry
    - cleanup
    - snprintf
    - syncLogLastIndex
    - walGetFirstVer
    - syncLogLastTerm
    - walIsEmpty
    - walGetLastVer
    - syncLogIsEmpty
    - taosRemoveDir
    - syncLogEntryCount
    - syncLogWriteIndex
    - logStoreCreate
    - syncLogRestoreFromSnapshot
    - printf
    - init
    - TD_ALWAYS_ASSERT
    - logStoreLog2
    - logStoreDestory
    - syncEntryDestory
    - syncLogTruncate
    - syncLogBeginIndex
    - syncLogEndIndex
    linkageType: ''
    returnType: void
    signature: void test6()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:450,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:452,1
    - Dst: test6
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 464
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest2.cpp
    functionUses: 3
    functionsReached:
    - sTrace
    - test6
    - atoi
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTest.cpp
    functionUses: 1
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:17,1
    - Dst: syncPingBuild3
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTest.cpp
    functionUses: 0
    functionsReached:
    - syncUtilAddr2U64
    - syncPingBuild3
    linkageType: ''
    returnType: SyncPing
    signature: SyncPing *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:24,1
    - Dst: syncPingLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:25,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTest.cpp
    functionUses: 2
    functionsReached:
    - syncPingDestroy
    - createMsg
    - syncPingLog2
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:30,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:32,1
    - Dst: syncPingSerialize
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:33,1
    - Dst: syncPingBuild
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:34,1
    - Dst: syncPingDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:35,1
    - Dst: syncPingLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:36,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:38,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:39,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTest.cpp
    functionUses: 2
    functionsReached:
    - createMsg
    - syncPingLog2
    - taosMemoryMalloc
    - syncPingBuild
    - syncPingDeserialize
    - syncPingSerialize
    - taosMemoryFree
    - syncPingDestroy
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:44,1
    - Dst: syncPingSerialize2
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:46,1
    - Dst: syncPingDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:47,1
    - Dst: syncPingLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:48,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:50,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:51,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTest.cpp
    functionUses: 2
    functionsReached:
    - syncPingSerialize2
    - createMsg
    - syncPingLog2
    - syncPingDeserialize2
    - taosMemoryFree
    - syncPingDestroy
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:56,1
    - Dst: syncPing2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:58,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:59,1
    - Dst: syncPingFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:60,1
    - Dst: syncPingLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:61,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:63,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:64,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTest.cpp
    functionUses: 2
    functionsReached:
    - syncPingLog2
    - createMsg
    - taosMemoryMalloc
    - syncPingFromRpcMsg
    - syncPingDestroy
    - syncPing2RpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:69,1
    - Dst: syncPing2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:71,1
    - Dst: syncPingFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:72,1
    - Dst: syncPingLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:73,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:75,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:76,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTest.cpp
    functionUses: 1
    functionsReached:
    - createMsg
    - syncPingLog2
    - syncPingDestroy
    - syncPingFromRpcMsg2
    - syncPing2RpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:81,1
    - Dst: syncPingSerialize3
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:82,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:83,1
    - Dst: syncPingSerialize3
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:84,1
    - Dst: syncPingDeserialize3
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:85,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:86,1
    - Dst: syncPingLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:87,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:89,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:90,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: test6
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTest.cpp
    functionUses: 1
    functionsReached:
    - createMsg
    - syncPingLog2
    - taosMemoryMalloc
    - syncPingDestroy
    - syncPingDeserialize3
    - taosMemoryFree
    - syncPingSerialize3
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void test6()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:97,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:99,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:100,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:101,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:102,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:103,1
    - Dst: test6
      Src: /src/tdengine/source/libs/sync/test/syncPingTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - test6
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 2
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: CommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommitCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: PreCommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreCommitCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: RollBackCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RollBackCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - struct SSyncFSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: RestoreFinishCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RestoreFinishCb(struct SSyncFSM* pFsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pFsm
    - newCfg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SSyncCfg
    - SReConfigCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ReConfigCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReConfigCb(struct SSyncFSM* pFsm, SSyncCfg newCfg, SReConfigCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFsm
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: GetSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetSnapshot(struct SSyncFSM* pFsm, SSnapshot* pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFsm
    - pParam
    - ppReader
    argTypes:
    - struct SSyncFSM*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: SnapshotStartRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStartRead(struct SSyncFSM* pFsm, void* pParam, void**
      ppReader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFsm
    - pReader
    argTypes:
    - struct SSyncFSM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: SnapshotStopRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStopRead(struct SSyncFSM* pFsm, void* pReader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pFsm
    - pReader
    - ppBuf
    - len
    argTypes:
    - struct SSyncFSM*
    - void*
    - void**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: SnapshotDoRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotDoRead(struct SSyncFSM* pFsm, void* pReader, void**
      ppBuf, int32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFsm
    - ppWriter
    argTypes:
    - struct SSyncFSM*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: SnapshotStartWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStartWrite(struct SSyncFSM* pFsm, void** ppWriter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFsm
    - pWriter
    - isApply
    argTypes:
    - struct SSyncFSM*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: SnapshotStopWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStopWrite(struct SSyncFSM* pFsm, void* pWriter, bool
      isApply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pFsm
    - pWriter
    - pBuf
    - len
    argTypes:
    - struct SSyncFSM*
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: SnapshotDoWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotDoWrite(struct SSyncFSM* pFsm, void* pWriter, void*
      pBuf, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:31,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:33,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:43,1
    - Dst: snapshotSenderCreate
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:43,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:49,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: createSender
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 0
    functionsReached:
    - snapshotSenderCreate
    - snprintf
    - taosMemoryMalloc
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncSnapshotSender
    signature: SSyncSnapshotSender * createSender()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:65,1
    - Dst: createSender
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:67,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:68,1
    - Dst: snapshotSender2Str
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSenderTest.cpp
    functionUses: 3
    functionsReached:
    - createSender
    - sTrace
    - logTest
    - snapshotSender2Str
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 3
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:20,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:21,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:23,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:24,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 175
    functionsReached:
    - sprintf
    - TD_ALWAYS_ASSERT
    - syncInit
    - walInit
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 58
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct SSyncFSM*::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:35,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:41,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:44,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:46,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 50
    functionName: CommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - syncStr
    - snprintf
    - syncRpcMsgLog2
    - struct SSyncFSM*::FpGetSnapshotInfo
    linkageType: ''
    returnType: void
    signature: void CommitCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:54,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:57,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: PreCommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void PreCommitCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:63,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:65,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: RollBackCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void RollBackCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pFsm
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: GetSnapshotCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetSnapshotCb(struct SSyncFSM* pFsm, SSnapshot* pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:79,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pFsm
    - pParam
    - ppReader
    argTypes:
    - struct SSyncFSM*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: SnapshotStartRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStartRead(struct SSyncFSM* pFsm, void* pParam, void**
      ppReader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:86,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pFsm
    - pReader
    argTypes:
    - struct SSyncFSM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: SnapshotStopRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStopRead(struct SSyncFSM* pFsm, void* pReader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:99,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:100,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:104,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - pFsm
    - pReader
    - ppBuf
    - len
    argTypes:
    - struct SSyncFSM*
    - void*
    - void**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: SnapshotDoRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotDoRead(struct SSyncFSM* pFsm, void* pReader, void**
      ppBuf, int32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:116,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pFsm
    - pParam
    - ppWriter
    argTypes:
    - struct SSyncFSM*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: SnapshotStartWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStartWrite(struct SSyncFSM* pFsm, void* pParam, void**
      ppWriter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:123,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pFsm
    - pWriter
    - isApply
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - void*
    - bool
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: SnapshotStopWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStopWrite(struct SSyncFSM* pFsm, void* pWriter, bool
      isApply, SSnapshot* pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:137,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pFsm
    - pWriter
    - pBuf
    - len
    argTypes:
    - struct SSyncFSM*
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: SnapshotDoWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotDoWrite(struct SSyncFSM* pFsm, void* pWriter, void*
      pBuf, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - struct SSyncFSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: RestoreFinishCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    linkageType: ''
    returnType: void
    signature: void RestoreFinishCb(struct SSyncFSM* pFsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SReConfigCbMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: ReConfigCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    linkageType: ''
    returnType: void
    signature: void ReConfigCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SReConfigCbMeta*
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:152,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: createFsm
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SSyncFSM
    signature: SSyncFSM * createFsm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:177,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:185,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - path
    - vgId
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: createWal
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 2
    functionsReached:
    - memset
    - TD_ALWAYS_ASSERT
    - walOpen
    linkageType: ''
    returnType: SWal
    signature: SWal * createWal(char* path, int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createFsm
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:196,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:197,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:208,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:216,1
    - Dst: syncOpen
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:221,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:222,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:224,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:225,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 6
    argNames:
    - replicaNum
    - myIndex
    - vgId
    - pWal
    - path
    - isStandBy
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - SWal*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 243
    functionName: createSyncNode
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 2
    functionsReached:
    - syncOpen
    - syncNodeRelease
    - syncNodeAcquire
    - taosGetFqdn
    - createFsm
    - snprintf
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int64_t
    signature: int64_t createSyncNode(int32_t replicaNum, int32_t myIndex, int32_t
      vgId, SWal* pWal, char* path, bool isStandBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:253,1
    - Dst: syncReconfig
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rid
    - replicaNum
    - myIndex
    argTypes:
    - int64_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: configChange
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 1
    functionsReached:
    - syncReconfig
    - taosGetFqdn
    linkageType: ''
    returnType: void
    signature: void configChange(int64_t rid, int32_t replicaNum, int32_t myIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exe
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: usage
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(char* exe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:264,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:265,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:268,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:269,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - i
    - count
    - myIndex
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 272
    functionName: createRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - snprintf
    - memset
    - taosGetTimestampMs
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg * createRpcMsg(int i, int count, int myIndex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:278,1
    - Dst: exit
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:279,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:282,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:283,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:284,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:285,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:286,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:287,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:288,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:290,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:299,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:300,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:301,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:302,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:305,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:306,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:307,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:310,1
    - Dst: createWal
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:311,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:313,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:314,1
    - Dst: syncStart
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:316,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:326,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:327,1
    - Dst: configChange
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:330,1
    - Dst: syncNode2SimpleStr
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:336,1
    - Dst: createRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:339,1
    - Dst: syncPropose
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:340,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:342,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:344,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:345,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:349,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:350,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:352,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:355,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:356,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:357,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:360,1
    - Dst: syncStop
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:361,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:362,1
    - Dst: syncIOStop
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:363,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp:364,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 366
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncConfigChangeSnapshotTest.cpp
    functionUses: 3
    functionsReached:
    - syncNodeRelease
    - cleanup
    - snprintf
    - syncStart
    - exit
    - syncIOStart
    - sTrace
    - createSyncNode
    - atoi
    - rpcFreeCont
    - createWal
    - syncNodeAcquire
    - syncIOStop
    - usage
    - taosMsleep
    - init
    - TD_ALWAYS_ASSERT
    - configChange
    - walClose
    - createRpcMsg
    - syncStop
    - syncPropose
    - taosMemoryFree
    - syncNode2SimpleStr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp
    functionUses: 3
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:14,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp
    functionUses: 6
    functionsReached:
    - syncRequestVoteReplyBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncRequestVoteReply
    signature: SyncRequestVoteReply *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:25,1
    - Dst: syncRequestVoteReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:26,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp
    functionUses: 3
    functionsReached:
    - syncRequestVoteReplyLog2
    - createMsg
    - syncRequestVoteReplyDestroy
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:31,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:33,1
    - Dst: syncRequestVoteReplySerialize
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:34,1
    - Dst: syncRequestVoteReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:35,1
    - Dst: syncRequestVoteReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:36,1
    - Dst: syncRequestVoteReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:37,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:39,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:40,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp
    functionUses: 3
    functionsReached:
    - syncRequestVoteReplyBuild
    - createMsg
    - taosMemoryMalloc
    - syncRequestVoteReplyDeserialize
    - syncRequestVoteReplyDestroy
    - syncRequestVoteReplySerialize
    - taosMemoryFree
    - syncRequestVoteReplyLog2
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:45,1
    - Dst: syncRequestVoteReplySerialize2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:47,1
    - Dst: syncRequestVoteReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:48,1
    - Dst: syncRequestVoteReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:49,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:51,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:52,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp
    functionUses: 3
    functionsReached:
    - createMsg
    - syncRequestVoteReplySerialize2
    - syncRequestVoteReplyDestroy
    - taosMemoryFree
    - syncRequestVoteReplyLog2
    - syncRequestVoteReplyDeserialize2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:57,1
    - Dst: syncRequestVoteReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:59,1
    - Dst: syncRequestVoteReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:60,1
    - Dst: syncRequestVoteReplyFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:61,1
    - Dst: syncRequestVoteReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:62,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:64,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:65,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp
    functionUses: 3
    functionsReached:
    - syncRequestVoteReplyBuild
    - createMsg
    - syncRequestVoteReplyFromRpcMsg
    - syncRequestVoteReplyDestroy
    - syncRequestVoteReplyLog2
    - syncRequestVoteReply2RpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:70,1
    - Dst: syncRequestVoteReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:72,1
    - Dst: syncRequestVoteReplyFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:73,1
    - Dst: syncRequestVoteReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:74,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:76,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:77,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp
    functionUses: 2
    functionsReached:
    - createMsg
    - syncRequestVoteReplyDestroy
    - syncRequestVoteReplyFromRpcMsg2
    - syncRequestVoteReplyLog2
    - syncRequestVoteReply2RpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:84,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:86,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:87,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:88,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:89,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteReplyTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 4
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransferBuild
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:14,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 11
    functionsReached:
    - syncLeaderTransferBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncLeaderTransfer
    signature: SyncLeaderTransfer *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransfer2Str
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:28,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:29,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:29,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:30,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLeaderTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: syncLeaderTransferPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 0
    functionsReached:
    - syncLeaderTransfer2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncLeaderTransferPrint(const SyncLeaderTransfer *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransfer2Str
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:35,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:36,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:36,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:37,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncLeaderTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: syncLeaderTransferPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 0
    functionsReached:
    - syncLeaderTransfer2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncLeaderTransferPrint2(char *s, const SyncLeaderTransfer *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransfer2Str
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:42,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:43,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:43,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLeaderTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: syncLeaderTransferLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - syncLeaderTransfer2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: void syncLeaderTransferLog(const SyncLeaderTransfer *pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransfer2Str
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:49,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:50,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:50,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncLeaderTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: syncLeaderTransferLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - syncLeaderTransfer2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: void syncLeaderTransferLog2(char *s, const SyncLeaderTransfer *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:56,1
    - Dst: syncLeaderTransferLog2
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:57,1
    - Dst: syncLeaderTransferDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 4
    functionsReached:
    - syncLeaderTransferDestroy
    - createMsg
    - syncLeaderTransferLog2
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:62,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:64,1
    - Dst: syncLeaderTransferSerialize
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:65,1
    - Dst: syncLeaderTransferBuild
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:66,1
    - Dst: syncLeaderTransferDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:67,1
    - Dst: syncLeaderTransferLog2
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:68,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:70,1
    - Dst: syncLeaderTransferDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:71,1
    - Dst: syncLeaderTransferDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 4
    functionsReached:
    - syncLeaderTransferDeserialize
    - createMsg
    - taosMemoryMalloc
    - syncLeaderTransferSerialize
    - syncLeaderTransferDestroy
    - taosMemoryFree
    - syncLeaderTransferLog2
    - syncLeaderTransferBuild
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:76,1
    - Dst: syncLeaderTransferSerialize2
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:78,1
    - Dst: syncLeaderTransferDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:79,1
    - Dst: syncLeaderTransferLog2
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:80,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:82,1
    - Dst: syncLeaderTransferDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:83,1
    - Dst: syncLeaderTransferDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 4
    functionsReached:
    - createMsg
    - syncLeaderTransferSerialize2
    - syncLeaderTransferDeserialize2
    - syncLeaderTransferDestroy
    - taosMemoryFree
    - syncLeaderTransferLog2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:88,1
    - Dst: syncLeaderTransfer2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:90,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:91,1
    - Dst: syncLeaderTransferFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:92,1
    - Dst: syncLeaderTransferLog2
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:93,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:95,1
    - Dst: syncLeaderTransferDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:96,1
    - Dst: syncLeaderTransferDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 4
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncLeaderTransfer2RpcMsg
    - syncLeaderTransferDestroy
    - syncLeaderTransferLog2
    - syncLeaderTransferFromRpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:101,1
    - Dst: syncLeaderTransfer2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:103,1
    - Dst: syncLeaderTransferFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:104,1
    - Dst: syncLeaderTransferLog2
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:105,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:107,1
    - Dst: syncLeaderTransferDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:108,1
    - Dst: syncLeaderTransferDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 3
    functionsReached:
    - createMsg
    - syncLeaderTransferFromRpcMsg2
    - syncLeaderTransfer2RpcMsg
    - syncLeaderTransferDestroy
    - syncLeaderTransferLog2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:117,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:119,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:120,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:121,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:122,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLeaderTransferTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 5
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct SSyncFSM*::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:31,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:37,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:39,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:40,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: CommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - syncStr
    - snprintf
    - syncRpcMsgLog2
    - struct SSyncFSM*::FpGetSnapshotInfo
    linkageType: ''
    returnType: void
    signature: void CommitCb(const struct SSyncFSM *pFsm, const SRpcMsg *pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:48,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:50,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: PreCommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void PreCommitCb(const struct SSyncFSM *pFsm, const SRpcMsg *pMsg,
      SFsmCbMeta cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:56,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:58,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: RollBackCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void RollBackCb(const struct SSyncFSM *pFsm, const SRpcMsg *pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pFsm
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: GetSnapshotCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetSnapshotCb(const struct SSyncFSM *pFsm, SSnapshot *pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:70,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: initFsm
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: void
    signature: void initFsm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:87,1
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:89,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:90,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:92,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:100,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:101,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:111,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:112,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:115,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:116,1
    - Dst: syncNodeStart
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 131
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - syncNodeStart
    - taosGetFqdn
    - walInit
    - snprintf
    - memset
    - walOpen
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode *syncNodeInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: syncInitTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - syncNodeInit
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode *syncInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:138,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:139,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - syncUtilRaftId2Str
    - printf
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void initRaftId(SSyncNode *pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:145,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:146,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:149,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: step0
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg *step0()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncBuildClientRequest
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:156,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:157,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: step1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - syncBuildClientRequest
    linkageType: ''
    returnType: SyncClientRequest
    signature: SyncClientRequest *step1(const SRpcMsg *pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:163,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:172,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:174,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:176,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:177,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:179,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:180,1
    - Dst: initFsm
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:184,1
    - Dst: syncInitTest
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:186,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:187,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:188,1
    - Dst: initRaftId
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:190,1
    - Dst: step0
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:193,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:194,1
    - Dst: step1
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:197,1
    - Dst: syncClientRequestLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:198,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:206,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:210,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 215
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotTest.cpp
    functionUses: 3
    functionsReached:
    - syncIOStart
    - syncInit
    - step0
    - syncRpcMsgLog2
    - sTrace
    - sprintf
    - atoi
    - syncInitTest
    - syncClientRequestLog2
    - sNTrace
    - taosMsleep
    - initFsm
    - initRaftId
    - TD_ALWAYS_ASSERT
    - step1
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 5
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:14,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:15,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: createEntry
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 0
    functionsReached:
    - syncEntryBuild
    - snprintf
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncRaftEntry
    signature: SSyncRaftEntry * createEntry(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:28,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:29,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: createFakeNode
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 0
    functionsReached:
    - memset
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * createFakeNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFakeNode
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:36,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:37,1
    - Dst: raftCacheCreate
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:39,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - maxCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: createCache
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 0
    functionsReached:
    - createFakeNode
    - ASSERT
    - raftCacheCreate
    linkageType: ''
    returnType: SRaftEntryHashCache
    signature: SRaftEntryHashCache * createCache(int maxCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCache
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:47,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:49,1
    - Dst: raftCachePutEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:50,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:51,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:52,1
    - Dst: raftCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:54,1
    - Dst: raftCacheDelEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:58,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:59,1
    - Dst: raftCacheDelEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:61,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:62,1
    - Dst: raftCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:63,1
    - Dst: raftCacheClear
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:65,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:66,1
    - Dst: raftCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 68
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 5
    functionsReached:
    - raftCachePutEntry
    - raftCacheClear
    - raftCacheLog2
    - syncEntryDestory
    - createCache
    - ASSERT
    - raftCacheDelEntry
    - createEntry
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCache
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:72,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:74,1
    - Dst: raftCachePutEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:75,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:76,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:77,1
    - Dst: raftCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:79,1
    - Dst: raftCacheGetEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:84,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:85,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:86,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:87,1
    - Dst: raftCacheGetEntryP
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:90,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:91,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:92,1
    - Dst: raftCacheGetEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:96,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:97,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:98,1
    - Dst: raftCacheGetEntryP
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:102,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:103,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 105
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 5
    functionsReached:
    - raftCachePutEntry
    - syncEntryLog2
    - raftCacheLog2
    - sTrace
    - syncEntryDestory
    - createCache
    - ASSERT
    - raftCacheGetEntryP
    - raftCacheGetEntry
    - createEntry
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCache
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:109,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:111,1
    - Dst: raftCachePutEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:112,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:113,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:114,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:117,1
    - Dst: raftCachePutEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:118,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:119,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:120,1
    - Dst: raftCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 5
    functionsReached:
    - raftCachePutEntry
    - raftCacheLog2
    - syncEntryDestory
    - createCache
    - ASSERT
    - createEntry
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCache
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:127,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:129,1
    - Dst: raftCachePutEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:130,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:131,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:132,1
    - Dst: raftCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:134,1
    - Dst: raftCacheGetAndDel
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:139,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:140,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:141,1
    - Dst: raftCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 143
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 5
    functionsReached:
    - raftCachePutEntry
    - syncEntryLog2
    - raftCacheLog2
    - syncEntryDestory
    - createCache
    - ASSERT
    - raftCacheGetAndDel
    - createEntry
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: keyFn
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * keyFn(const void* pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: cmpFn
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 4
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int cmpFn(const void* p1, const void* p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:153,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:155,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:156,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:157,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:158,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:159,1
    - Dst: syncEntryPrint2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSkipList
    argTypes:
    - SSkipList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: printSkipList
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 0
    functionsReached:
    - tSkipListIterNext
    - syncEntryPrint2
    - SL_GET_NODE_DATA
    - ASSERT
    - tSkipListCreateIter
    - tSkipListIterGet
    linkageType: ''
    returnType: void
    signature: void printSkipList(SSkipList* pSkipList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:165,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:167,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:168,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:170,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:171,1
    - Dst: tSkipListRemoveNode
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pSkipList
    - n
    argTypes:
    - SSkipList*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: delSkipListFirst
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 0
    functionsReached:
    - tSkipListRemoveNode
    - tSkipListIterNext
    - sTrace
    - ASSERT
    - tSkipListCreateIter
    - tSkipListIterGet
    linkageType: ''
    returnType: void
    signature: void delSkipListFirst(SSkipList* pSkipList, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSkipListGet
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:181,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:182,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:184,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:185,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:186,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:188,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:190,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pSkipList
    - index
    argTypes:
    - SSkipList*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 193
    functionName: getLogEntry2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - syncEntryLog2
    - SL_GET_NODE_DATA
    - sTrace
    - ASSERT
    - tSkipListGet
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: SSyncRaftEntry
    signature: SSyncRaftEntry * getLogEntry2(SSkipList* pSkipList, SyncIndex index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:196,1
    - Dst: tSkipListCreateIterFromVal
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:200,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:201,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:202,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:203,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:204,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pSkipList
    - index
    argTypes:
    - SSkipList*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: getLogEntry
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 0
    functionsReached:
    - tSkipListIterNext
    - syncEntryLog2
    - sTrace
    - SL_GET_NODE_DATA
    - ASSERT
    - tSkipListCreateIterFromVal
    - tSkipListIterGet
    linkageType: ''
    returnType: SSyncRaftEntry
    signature: SSyncRaftEntry * getLogEntry(SSkipList* pSkipList, SyncIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSkipListCreate
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:213,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:214,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:216,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:218,1
    - Dst: tSkipListPut
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:219,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:222,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:224,1
    - Dst: tSkipListPut
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:225,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:228,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:230,1
    - Dst: tSkipListPut
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:231,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:234,1
    - Dst: printSkipList
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:235,1
    - Dst: delSkipListFirst
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:237,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:239,1
    - Dst: printSkipList
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:240,1
    - Dst: getLogEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:242,1
    - Dst: getLogEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:243,1
    - Dst: getLogEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:244,1
    - Dst: getLogEntry
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:245,1
    - Dst: getLogEntry2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:247,1
    - Dst: getLogEntry2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:248,1
    - Dst: getLogEntry2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:249,1
    - Dst: getLogEntry2
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:250,1
    - Dst: tSkipListDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 253
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 4
    functionsReached:
    - tSkipListDestroy
    - sTrace
    - tSkipListPut
    - delSkipListFirst
    - ASSERT
    - getLogEntry2
    - getLogEntry
    - printSkipList
    - tSkipListCreate
    - createEntry
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 270
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHashCacheTest.cpp
    functionUses: 3
    functionsReached:
    - test5
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp
    functionUses: 5
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteBuild
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:14,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp
    functionUses: 16
    functionsReached:
    - syncRequestVoteBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncRequestVote
    signature: SyncRequestVote *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:26,1
    - Dst: syncRequestVoteLog2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:27,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp
    functionUses: 5
    functionsReached:
    - createMsg
    - syncRequestVoteLog2
    - syncRequestVoteDestroy
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:32,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:34,1
    - Dst: syncRequestVoteSerialize
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:35,1
    - Dst: syncRequestVoteBuild
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:36,1
    - Dst: syncRequestVoteDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:37,1
    - Dst: syncRequestVoteLog2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:38,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:40,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:41,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp
    functionUses: 5
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncRequestVoteLog2
    - syncRequestVoteDestroy
    - syncRequestVoteDeserialize
    - syncRequestVoteBuild
    - taosMemoryFree
    - syncRequestVoteSerialize
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:46,1
    - Dst: syncRequestVoteSerialize2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:48,1
    - Dst: syncRequestVoteDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:49,1
    - Dst: syncRequestVoteLog2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:50,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:52,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:53,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp
    functionUses: 5
    functionsReached:
    - createMsg
    - syncRequestVoteSerialize2
    - syncRequestVoteLog2
    - syncRequestVoteDestroy
    - syncRequestVoteDeserialize2
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:58,1
    - Dst: syncRequestVote2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:60,1
    - Dst: syncRequestVoteBuild
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:61,1
    - Dst: syncRequestVoteFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:62,1
    - Dst: syncRequestVoteLog2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:63,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:65,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:66,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp
    functionUses: 5
    functionsReached:
    - createMsg
    - syncRequestVoteLog2
    - syncRequestVoteFromRpcMsg
    - syncRequestVote2RpcMsg
    - syncRequestVoteDestroy
    - syncRequestVoteBuild
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:71,1
    - Dst: syncRequestVote2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:73,1
    - Dst: syncRequestVoteFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:74,1
    - Dst: syncRequestVoteLog2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:75,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:77,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:78,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp
    functionUses: 5
    functionsReached:
    - createMsg
    - syncRequestVoteLog2
    - syncRequestVoteDestroy
    - syncRequestVote2RpcMsg
    - syncRequestVoteFromRpcMsg2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:85,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:87,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:88,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:89,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:90,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRequestVoteTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp
    functionUses: 6
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:14,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp
    functionUses: 176
    functionsReached:
    - TD_ALWAYS_ASSERT
    - walInit
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp
    functionUses: 59
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:22,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:30,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - path
    - vgId
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: createWal
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp
    functionUses: 3
    functionsReached:
    - memset
    - TD_ALWAYS_ASSERT
    - walOpen
    linkageType: ''
    returnType: SWal
    signature: SWal * createWal(char* path, int32_t vgId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:36,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: createSyncNode
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp
    functionUses: 3
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * createSyncNode(SWal* pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exe
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: usage
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp
    functionUses: 5
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(char* exe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:46,1
    - Dst: exit
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:47,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:50,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:52,1
    - Dst: createWal
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:53,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:54,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:55,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:56,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:58,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:59,1
    - Dst: logStorePrint2
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:61,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:63,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:64,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:65,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreCheck.cpp
    functionUses: 3
    functionsReached:
    - walClose
    - createWal
    - exit
    - cleanup
    - logStoreDestory
    - logStoreCreate
    - createSyncNode
    - atoi
    - logStorePrint2
    - usage
    - taosMemoryFree
    - init
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncInitTest.cpp
    functionUses: 6
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:26,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:34,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:38,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 52
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncInitTest.cpp
    functionUses: 1
    functionsReached:
    - snprintf
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncNodeInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: syncInitTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncInitTest.cpp
    functionUses: 1
    functionsReached:
    - syncNodeInit
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:59,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:60,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncInitTest.cpp
    functionUses: 1
    functionsReached:
    - syncUtilRaftId2Str
    - sTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void initRaftId(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:72,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:75,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:76,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:78,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:79,1
    - Dst: syncInitTest
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:81,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:82,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:84,1
    - Dst: initRaftId
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:85,1
    - Dst: syncNodeClose
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:87,1
    - Dst: syncCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncInitTest.cpp:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncInitTest.cpp
    functionUses: 3
    functionsReached:
    - syncIOStart
    - syncInit
    - syncCleanUp
    - atoi
    - syncInitTest
    - syncNodeClose
    - sNTrace
    - initRaftId
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp
    functionUses: 6
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:17,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:21,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:22,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:28,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:31,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:33,1
    - Dst: syncPingReplyBuild2
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:36,1
    - Dst: syncPingReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:38,1
    - Dst: syncIOSendMsg
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:40,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 45
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOClientTest.cpp
    functionUses: 3
    functionsReached:
    - syncIOSendMsg
    - syncIOStart
    - syncPingReplyBuild2
    - syncPingReply2RpcMsg
    - syncUtilAddr2U64
    - logTest
    - addEpIntoEpSet
    - taosSsleep
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 7
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:24,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:25,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:27,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 177
    functionsReached:
    - TD_ALWAYS_ASSERT
    - syncInit
    - walInit
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 60
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:35,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:40,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: CommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void CommitCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:47,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:52,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: PreCommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void PreCommitCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:59,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:64,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: RollBackCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void RollBackCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pFsm
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: GetSnapshotCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetSnapshotCb(struct SSyncFSM* pFsm, SSnapshot* pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:79,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pFsm
    - pParam
    - ppReader
    argTypes:
    - struct SSyncFSM*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: SnapshotStartRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStartRead(struct SSyncFSM* pFsm, void* pParam, void**
      ppReader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:86,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pFsm
    - pReader
    argTypes:
    - struct SSyncFSM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: SnapshotStopRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStopRead(struct SSyncFSM* pFsm, void* pReader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:99,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:100,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:104,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - pFsm
    - pReader
    - ppBuf
    - len
    argTypes:
    - struct SSyncFSM*
    - void*
    - void**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: SnapshotDoRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotDoRead(struct SSyncFSM* pFsm, void* pReader, void**
      ppBuf, int32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:117,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pFsm
    - pParam
    - ppWriter
    argTypes:
    - struct SSyncFSM*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: SnapshotStartWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStartWrite(struct SSyncFSM* pFsm, void* pParam, void**
      ppWriter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:129,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pFsm
    - pWriter
    - isApply
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - void*
    - bool
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: SnapshotStopWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStopWrite(struct SSyncFSM* pFsm, void* pWriter, bool
      isApply, SSnapshot* pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:141,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pFsm
    - pWriter
    - pBuf
    - len
    argTypes:
    - struct SSyncFSM*
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: SnapshotDoWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotDoWrite(struct SSyncFSM* pFsm, void* pWriter, void*
      pBuf, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - struct SSyncFSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: RestoreFinishCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    linkageType: ''
    returnType: void
    signature: void RestoreFinishCb(struct SSyncFSM* pFsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncCfg2Str
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:150,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SReConfigCbMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: ReConfigCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - syncCfg2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: void ReConfigCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SReConfigCbMeta*
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:159,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:164,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: LeaderTransferCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void LeaderTransferCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:170,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 193
    functionName: createFsm
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SSyncFSM
    signature: SSyncFSM * createFsm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:197,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:205,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - path
    - vgId
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: createWal
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 4
    functionsReached:
    - memset
    - TD_ALWAYS_ASSERT
    - walOpen
    linkageType: ''
    returnType: SWal
    signature: SWal * createWal(char* path, int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createFsm
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:217,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:218,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:232,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:242,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:250,1
    - Dst: syncOpen
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:255,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:256,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:258,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:259,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 7
    argNames:
    - replicaNum
    - myIndex
    - vgId
    - pWal
    - path
    - isStandBy
    - enableSnapshot
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - SWal*
    - char*
    - bool
    - ESyncStrategy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 275
    functionName: createSyncNode
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 4
    functionsReached:
    - syncOpen
    - syncNodeRelease
    - syncNodeAcquire
    - taosGetFqdn
    - createFsm
    - snprintf
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int64_t
    signature: "int64_t createSyncNode(int32_t replicaNum, int32_t myIndex, int32_t
      vgId, SWal* pWal, char* path, bool isStandBy,\n                       ESyncStrategy
      enableSnapshot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:285,1
    - Dst: syncReconfig
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rid
    - newReplicaNum
    - myIndex
    argTypes:
    - int64_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: configChange
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 2
    functionsReached:
    - syncReconfig
    - taosGetFqdn
    linkageType: ''
    returnType: void
    signature: void configChange(int64_t rid, int32_t newReplicaNum, int32_t myIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exe
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: usage
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 6
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(char* exe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:301,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:302,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:305,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:306,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - i
    - count
    - myIndex
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: createRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - snprintf
    - memset
    - taosGetTimestampMs
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg * createRpcMsg(int i, int count, int myIndex)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:312,1
    - Dst: usage
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:317,1
    - Dst: exit
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:318,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:321,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:322,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:323,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:324,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:325,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:326,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:327,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:328,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:329,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:330,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:331,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:332,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:334,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:342,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:344,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:345,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:346,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:347,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:348,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:349,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:350,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:353,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:354,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:355,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:364,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:365,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:366,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:369,1
    - Dst: createWal
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:370,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:372,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:373,1
    - Dst: syncStart
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:374,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:376,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:377,1
    - Dst: configChange
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:380,1
    - Dst: syncNode2SimpleStr
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:387,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:392,1
    - Dst: syncLeaderTransfer
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:393,1
    - Dst: createRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:398,1
    - Dst: syncPropose
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:399,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:401,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:403,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:404,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:408,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:409,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:411,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:414,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:415,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:416,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:419,1
    - Dst: syncStop
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:420,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:421,1
    - Dst: syncIOStop
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:422,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:423,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/sync/test/syncTestTool.cpp:424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 426
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTestTool.cpp
    functionUses: 3
    functionsReached:
    - syncNodeRelease
    - cleanup
    - snprintf
    - syncStart
    - exit
    - taosInitLog
    - syncIOStart
    - sTrace
    - sprintf
    - createSyncNode
    - atoi
    - rpcFreeCont
    - createWal
    - syncNodeAcquire
    - syncIOStop
    - usage
    - taosMsleep
    - init
    - TD_ALWAYS_ASSERT
    - configChange
    - sInfo
    - walClose
    - createRpcMsg
    - syncStop
    - taosCloseLog
    - syncPropose
    - syncLeaderTransfer
    - taosMemoryFree
    - syncNode2SimpleStr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp
    functionUses: 7
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:14,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:15,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:21,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:23,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 35
    functionName: createRaftCfg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    - memset
    - taosGetTimestampSec
    linkageType: ''
    returnType: SRaftCfg
    signature: SRaftCfg * createRaftCfg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:38,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:39,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: createSyncCfg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SSyncCfg
    signature: SSyncCfg * createSyncCfg()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:80,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:81,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:82,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgIndexTest.cpp
    functionUses: 3
    functionsReached:
    - test2
    - logTest
    - test3
    - test1
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp
    functionUses: 8
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:27,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:35,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:39,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 53
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp
    functionUses: 2
    functionsReached:
    - snprintf
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncNodeInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: syncInitTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp
    functionUses: 2
    functionsReached:
    - syncNodeInit
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:60,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp
    functionUses: 2
    functionsReached:
    - syncUtilRaftId2Str
    - printf
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void initRaftId(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:73,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:76,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:77,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:79,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:80,1
    - Dst: syncInitTest
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:82,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:83,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:84,1
    - Dst: initRaftId
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:86,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:90,1
    - Dst: syncNodeStartPingTimer
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:91,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:92,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:93,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:95,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:96,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:98,1
    - Dst: syncNodeStopPingTimer
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:99,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:100,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:101,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:103,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:104,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:106,1
    - Dst: syncNodeStartPingTimer
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:107,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:108,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:109,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:111,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:112,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:114,1
    - Dst: syncNodeStopPingTimer
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:115,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:116,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:117,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:120,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTimerTest.cpp
    functionUses: 3
    functionsReached:
    - syncIOStart
    - syncInit
    - syncNodeStartPingTimer
    - sTrace
    - atoi
    - syncInitTest
    - sNTrace
    - taosMsleep
    - syncNodeStopPingTimer
    - initRaftId
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp
    functionUses: 8
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pFsm
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: GetSnapshotCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetSnapshotCb(const struct SSyncFSM* pFsm, SSnapshot* pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:31,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:34,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:42,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:43,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:45,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:46,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp
    functionUses: 178
    functionsReached:
    - taosMemoryMalloc
    - walInit
    - memset
    - walOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:54,1
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:55,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp
    functionUses: 61
    functionsReached:
    - walClose
    - walCleanUp
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:63,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:65,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:66,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:67,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:69,1
    - Dst: syncNodeHasSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:74,1
    - Dst: pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:76,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:78,1
    - Dst: syncNodeGetLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:79,1
    - Dst: syncNodeGetPreIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:82,1
    - Dst: syncNodeGetPreTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:83,1
    - Dst: syncNodeSyncStartIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:85,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:87,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:88,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:90,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:91,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:92,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:93,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:94,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:97,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:98,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:99,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:100,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:101,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:104,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 106
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp
    functionUses: 7
    functionsReached:
    - syncNodeGetPreTerm
    - syncNodeGetLastIndex
    - cleanup
    - logStoreLog2
    - logStoreCreate
    - sTrace
    - logStoreDestory
    - taosRemoveDir
    - syncNodeHasSnapshot
    - syncNodeSyncStartIndex
    - pFsm::FpGetSnapshotInfo
    - syncNodeGetLastTerm
    - syncNodeGetPreIndex
    - init
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:112,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:114,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:115,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:116,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:118,1
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:122,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:123,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:129,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:130,1
    - Dst: syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:132,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:133,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:135,1
    - Dst: syncNodeHasSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:140,1
    - Dst: pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:142,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:144,1
    - Dst: syncNodeGetLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:145,1
    - Dst: syncNodeSyncStartIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:147,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:149,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:150,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:152,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:153,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:154,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:157,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:158,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:159,1
    - Dst: syncNodeGetPreIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:163,1
    - Dst: syncNodeGetPreTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:164,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:166,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:167,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:173,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:174,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:178,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 180
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp
    functionUses: 7
    functionsReached:
    - syncNodeGetPreTerm
    - syncEntryBuild
    - syncLogAppendEntry
    - cleanup
    - snprintf
    - syncNodeSyncStartIndex
    - pFsm::FpGetSnapshotInfo
    - syncNodeGetLastTerm
    - sTrace
    - taosRemoveDir
    - syncNodeHasSnapshot
    - syncNodeGetLastIndex
    - syncLogWriteIndex
    - logStoreCreate
    - init
    - TD_ALWAYS_ASSERT
    - logStoreLog2
    - logStoreDestory
    - syncEntryDestory
    - syncNodeGetPreIndex
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:186,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:188,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:189,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:190,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:192,1
    - Dst: syncNodeHasSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:197,1
    - Dst: pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:199,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:201,1
    - Dst: syncNodeGetLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:202,1
    - Dst: syncNodeGetPreIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:204,1
    - Dst: syncNodeGetPreTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:205,1
    - Dst: syncNodeSyncStartIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:207,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:209,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:210,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:212,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:213,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:214,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:215,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:216,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:219,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:220,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:221,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:222,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:223,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:226,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 228
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp
    functionUses: 7
    functionsReached:
    - syncNodeGetPreTerm
    - syncNodeGetLastIndex
    - cleanup
    - logStoreLog2
    - logStoreCreate
    - sTrace
    - logStoreDestory
    - taosRemoveDir
    - syncNodeHasSnapshot
    - syncNodeSyncStartIndex
    - pFsm::FpGetSnapshotInfo
    - syncNodeGetLastTerm
    - syncNodeGetPreIndex
    - init
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:234,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:236,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:237,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:238,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:240,1
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:244,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:245,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:251,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:252,1
    - Dst: syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:254,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:255,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:257,1
    - Dst: syncNodeHasSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:262,1
    - Dst: pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:264,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:266,1
    - Dst: syncNodeGetLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:267,1
    - Dst: syncNodeSyncStartIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:269,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:271,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:272,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:274,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:275,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:276,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:279,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:280,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:281,1
    - Dst: syncNodeGetPreIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:285,1
    - Dst: syncNodeGetPreTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:286,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:288,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:289,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:292,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 294
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp
    functionUses: 6
    functionsReached:
    - syncNodeGetPreTerm
    - syncEntryBuild
    - syncLogAppendEntry
    - cleanup
    - snprintf
    - syncNodeSyncStartIndex
    - pFsm::FpGetSnapshotInfo
    - syncNodeGetLastTerm
    - sTrace
    - taosRemoveDir
    - syncNodeHasSnapshot
    - syncNodeGetLastIndex
    - syncLogWriteIndex
    - logStoreCreate
    - init
    - TD_ALWAYS_ASSERT
    - logStoreLog2
    - logStoreDestory
    - syncEntryDestory
    - syncNodeGetPreIndex
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:300,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:302,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:303,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:304,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:306,1
    - Dst: syncLogRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:309,1
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:312,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:313,1
    - Dst: syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:319,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:320,1
    - Dst: syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:322,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:323,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:325,1
    - Dst: syncNodeHasSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:330,1
    - Dst: pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:332,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:334,1
    - Dst: syncNodeGetLastTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:335,1
    - Dst: syncNodeSyncStartIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:337,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:339,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:340,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:342,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:343,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:344,1
    - Dst: syncNodeGetPreIndex
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:347,1
    - Dst: syncNodeGetPreTerm
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:348,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:350,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:351,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:357,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:358,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:362,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 364
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp
    functionUses: 6
    functionsReached:
    - syncNodeGetPreTerm
    - syncEntryBuild
    - syncLogAppendEntry
    - cleanup
    - snprintf
    - syncNodeSyncStartIndex
    - pFsm::FpGetSnapshotInfo
    - syncNodeGetLastTerm
    - sTrace
    - taosRemoveDir
    - syncNodeHasSnapshot
    - syncNodeGetLastIndex
    - syncLogWriteIndex
    - logStoreCreate
    - syncLogRestoreFromSnapshot
    - init
    - TD_ALWAYS_ASSERT
    - logStoreLog2
    - logStoreDestory
    - syncEntryDestory
    - syncNodeGetPreIndex
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:372,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:374,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:376,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:377,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:378,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:379,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 383
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftLogTest3.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - sTrace
    - test3
    - atoi
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp
    functionUses: 8
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotBuild
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:14,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp
    functionUses: 21
    functionsReached:
    - syncPreSnapshotBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncPreSnapshot
    signature: SyncPreSnapshot *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:24,1
    - Dst: syncPreSnapshotLog2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:25,1
    - Dst: syncPreSnapshotDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp
    functionUses: 8
    functionsReached:
    - createMsg
    - syncPreSnapshotDestroy
    - syncPreSnapshotLog2
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:30,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:32,1
    - Dst: syncPreSnapshotSerialize
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:33,1
    - Dst: syncPreSnapshotBuild
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:34,1
    - Dst: syncPreSnapshotDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:35,1
    - Dst: syncPreSnapshotLog2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:36,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:38,1
    - Dst: syncPreSnapshotDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:39,1
    - Dst: syncPreSnapshotDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp
    functionUses: 8
    functionsReached:
    - createMsg
    - syncPreSnapshotDeserialize
    - taosMemoryMalloc
    - syncPreSnapshotDestroy
    - syncPreSnapshotBuild
    - syncPreSnapshotLog2
    - syncPreSnapshotSerialize
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:44,1
    - Dst: syncPreSnapshotSerialize2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:46,1
    - Dst: syncPreSnapshotDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:47,1
    - Dst: syncPreSnapshotLog2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:48,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:50,1
    - Dst: syncPreSnapshotDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:51,1
    - Dst: syncPreSnapshotDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp
    functionUses: 8
    functionsReached:
    - createMsg
    - syncPreSnapshotDeserialize2
    - syncPreSnapshotDestroy
    - syncPreSnapshotLog2
    - taosMemoryFree
    - syncPreSnapshotSerialize2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:56,1
    - Dst: syncPreSnapshot2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:58,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:59,1
    - Dst: syncPreSnapshotFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:60,1
    - Dst: syncPreSnapshotLog2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:61,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:63,1
    - Dst: syncPreSnapshotDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:64,1
    - Dst: syncPreSnapshotDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp
    functionUses: 7
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncPreSnapshotDestroy
    - syncPreSnapshotFromRpcMsg
    - syncPreSnapshotLog2
    - rpcFreeCont
    - syncPreSnapshot2RpcMsg
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:69,1
    - Dst: syncPreSnapshot2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:71,1
    - Dst: syncPreSnapshotFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:72,1
    - Dst: syncPreSnapshotLog2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:73,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:75,1
    - Dst: syncPreSnapshotDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:76,1
    - Dst: syncPreSnapshotDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp
    functionUses: 7
    functionsReached:
    - createMsg
    - syncPreSnapshot2RpcMsg
    - syncPreSnapshotDestroy
    - syncPreSnapshotLog2
    - syncPreSnapshotFromRpcMsg2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:84,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:86,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:87,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:88,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:89,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp
    functionUses: 9
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:19,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:20,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:23,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:31,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:32,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:34,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 37
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp
    functionUses: 183
    functionsReached:
    - taosMemoryMalloc
    - taosRemoveDir
    - walInit
    - memset
    - walOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:40,1
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:41,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp
    functionUses: 66
    functionsReached:
    - walClose
    - walCleanUp
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:46,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:47,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:48,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:48,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:50,1
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:54,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:55,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:61,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:62,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:64,1
    - Dst: syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:65,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:66,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:69,1
    - Dst: syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:69,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:72,1
    - Dst: syncLogTruncate
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:73,1
    - Dst: logStoreLog2
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:74,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 76
    functionName: logStoreTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp
    functionUses: 0
    functionsReached:
    - syncEntryBuild
    - syncLogAppendEntry
    - logStoreLog2
    - logStoreCreate
    - syncEntryLog2
    - logStoreDestory
    - syncEntryDestory
    - syncLogTruncate
    - snprintf
    - syncLogLastIndex
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void logStoreTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:83,1
    - Dst: logStoreTest
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:84,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:86,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLogStoreTest.cpp
    functionUses: 3
    functionsReached:
    - taosMsleep
    - cleanup
    - init
    - logStoreTest
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 9
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeoutBuild2
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: createSyncTimeout
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 0
    functionsReached:
    - syncTimeoutBuild2
    linkageType: ''
    returnType: SyncTimeout
    signature: SyncTimeout *createSyncTimeout()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:21,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:23,1
    - Dst: syncPingBuild3
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: createSyncPing
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 0
    functionsReached:
    - syncUtilAddr2U64
    - syncPingBuild3
    linkageType: ''
    returnType: SyncPing
    signature: SyncPing *createSyncPing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:31,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:33,1
    - Dst: syncPingReplyBuild3
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: createSyncPingReply
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 0
    functionsReached:
    - syncPingReplyBuild3
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncPingReply
    signature: SyncPingReply *createSyncPingReply()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:41,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:44,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:45,1
    - Dst: syncBuildClientRequest
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:48,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:49,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: createSyncClientRequest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - memcpy
    - syncBuildClientRequest
    - strcpy
    - memset
    linkageType: ''
    returnType: SyncClientRequest
    signature: SyncClientRequest *createSyncClientRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteBuild
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:55,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:56,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: createSyncRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 0
    functionsReached:
    - syncRequestVoteBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncRequestVote
    signature: SyncRequestVote *createSyncRequestVote()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:67,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:68,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: createSyncRequestVoteReply
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 0
    functionsReached:
    - syncRequestVoteReplyBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncRequestVoteReply
    signature: SyncRequestVoteReply *createSyncRequestVoteReply()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBuild
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:78,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:79,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:81,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: createSyncAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - syncAppendEntriesBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncAppendEntries
    signature: SyncAppendEntries *createSyncAppendEntries()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:91,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:92,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: createSyncAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 0
    functionsReached:
    - syncAppendEntriesReplyBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncAppendEntriesReply
    signature: SyncAppendEntriesReply *createSyncAppendEntriesReply()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSyncTimeout
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:102,1
    - Dst: syncTimeout2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:104,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:105,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 9
    functionsReached:
    - syncRpcMsgLog2
    - syncTimeoutDestroy
    - syncTimeout2RpcMsg
    - createSyncTimeout
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSyncPing
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:110,1
    - Dst: syncPing2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:112,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:113,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 9
    functionsReached:
    - syncRpcMsgLog2
    - syncPing2RpcMsg
    - syncPingDestroy
    - createSyncPing
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSyncPingReply
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:118,1
    - Dst: syncPingReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:120,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:121,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 9
    functionsReached:
    - createSyncPingReply
    - syncPingReplyDestroy
    - syncPingReply2RpcMsg
    - syncRpcMsgLog2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSyncRequestVote
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:126,1
    - Dst: syncRequestVote2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:128,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:129,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 8
    functionsReached:
    - syncRpcMsgLog2
    - syncRequestVote2RpcMsg
    - syncRequestVoteDestroy
    - createSyncRequestVote
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSyncRequestVoteReply
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:134,1
    - Dst: syncRequestVoteReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:136,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:137,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 8
    functionsReached:
    - syncRpcMsgLog2
    - syncRequestVoteReplyDestroy
    - syncRequestVoteReply2RpcMsg
    - createSyncRequestVoteReply
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSyncAppendEntries
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:142,1
    - Dst: syncAppendEntries2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:144,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:145,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: test6
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 2
    functionsReached:
    - createSyncAppendEntries
    - syncAppendEntries2RpcMsg
    - syncRpcMsgLog2
    - syncAppendEntriesDestroy
    linkageType: ''
    returnType: void
    signature: void test6()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSyncAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:150,1
    - Dst: syncAppendEntriesReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:152,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:153,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: test7
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - createSyncAppendEntriesReply
    - syncAppendEntriesReplyDestroy
    - syncAppendEntriesReply2RpcMsg
    linkageType: ''
    returnType: void
    signature: void test7()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSyncClientRequest
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:159,1
    - Dst: syncClientRequest2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:161,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:162,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: test8
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - syncClientRequest2RpcMsg
    - taosMemoryFree
    - createSyncClientRequest
    linkageType: ''
    returnType: void
    signature: void test8()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:170,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:172,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:173,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:174,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:175,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:176,1
    - Dst: test6
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:177,1
    - Dst: test7
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:178,1
    - Dst: test8
      Src: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRpcMsgTest.cpp
    functionUses: 3
    functionsReached:
    - test7
    - test4
    - test8
    - test1
    - test3
    - test6
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp
    functionUses: 10
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:20,1
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:22,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:23,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp
    functionUses: 3
    functionsReached:
    - syncUtilRaftId2Str
    - printf
    - taosMemoryFree
    - syncUtilAddr2U64
    linkageType: ''
    returnType: void
    signature: void initRaftId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:32,1
    - Dst: initRaftId
      Src: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftStoreTest.cpp
    functionUses: 3
    functionsReached:
    - initRaftId
    - logTest
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp
    functionUses: 11
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeoutBuild2
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp
    functionUses: 26
    functionsReached:
    - syncTimeoutBuild2
    linkageType: ''
    returnType: SyncTimeout
    signature: SyncTimeout *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:21,1
    - Dst: syncTimeoutLog2
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:22,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp
    functionUses: 10
    functionsReached:
    - createMsg
    - syncTimeoutDestroy
    - syncTimeoutLog2
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:27,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:29,1
    - Dst: syncTimeoutSerialize
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:30,1
    - Dst: syncTimeoutBuildX
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:31,1
    - Dst: syncTimeoutDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:32,1
    - Dst: syncTimeoutLog2
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:33,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:35,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:36,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp
    functionUses: 10
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncTimeoutDeserialize
    - syncTimeoutBuildX
    - syncTimeoutDestroy
    - syncTimeoutSerialize
    - taosMemoryFree
    - syncTimeoutLog2
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:41,1
    - Dst: syncTimeoutSerialize2
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:43,1
    - Dst: syncTimeoutDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:44,1
    - Dst: syncTimeoutLog2
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:45,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:47,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:48,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp
    functionUses: 10
    functionsReached:
    - createMsg
    - syncTimeoutDeserialize2
    - syncTimeoutDestroy
    - taosMemoryFree
    - syncTimeoutSerialize2
    - syncTimeoutLog2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:53,1
    - Dst: syncTimeout2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:55,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:56,1
    - Dst: syncTimeoutFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:57,1
    - Dst: syncTimeoutLog2
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:58,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:60,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:61,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp
    functionUses: 9
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncTimeout2RpcMsg
    - syncTimeoutFromRpcMsg
    - syncTimeoutDestroy
    - syncTimeoutLog2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:66,1
    - Dst: syncTimeout2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:68,1
    - Dst: syncTimeoutFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:69,1
    - Dst: syncTimeoutLog2
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:70,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:72,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:73,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp
    functionUses: 9
    functionsReached:
    - createMsg
    - syncTimeout2RpcMsg
    - syncTimeoutDestroy
    - syncTimeoutLog2
    - syncTimeoutFromRpcMsg2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - jsonStr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: syncUtilJson2Line
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncUtilJson2Line(char *jsonStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:100,1
    - Dst: syncTimeout2Str
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:101,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:102,1
    - Dst: syncUtilJson2Line
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:104,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:105,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:108,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:109,1
    - Dst: syncUtilJson2Line
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:110,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:111,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:113,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:114,1
    - Dst: syncUtilJson2Line
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:115,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: test6
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp
    functionUses: 3
    functionsReached:
    - createMsg
    - sTrace
    - syncUtilJson2Line
    - snprintf
    - syncTimeout2Str
    linkageType: ''
    returnType: void
    signature: void test6()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:122,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:124,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:125,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:126,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:127,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:128,1
    - Dst: test6
      Src: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTimeoutTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - test6
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp
    functionUses: 12
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:20,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:21,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp
    functionUses: 3
    functionsReached:
    - taosMemoryMalloc
    - memset
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncNodeInit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:40,1
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:43,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:44,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:46,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:47,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:48,1
    - Dst: syncIndexMgr2Str
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:50,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:51,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:52,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:53,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:55,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:57,1
    - Dst: syncIndexMgrSetIndex
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:58,1
    - Dst: syncIndexMgrSetIndex
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:59,1
    - Dst: syncIndexMgrSetIndex
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:60,1
    - Dst: syncIndexMgr2Str
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:65,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:66,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:67,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:68,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:70,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:72,1
    - Dst: syncIndexMgrGetIndex
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:74,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:78,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:80,1
    - Dst: syncIndexMgrClear
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:81,1
    - Dst: syncIndexMgr2Str
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:83,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:84,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:85,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:86,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:88,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIndexMgrTest.cpp
    functionUses: 3
    functionsReached:
    - syncIndexMgr2Str
    - syncIndexMgrSetIndex
    - syncIndexMgrGetIndex
    - atoi
    - syncIndexMgrClear
    - printf
    - taosMemoryFree
    - syncIndexMgrDestroy
    - syncNodeInit
    - syncIndexMgrCreate
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp
    functionUses: 12
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:27,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:35,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:39,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 53
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp
    functionUses: 4
    functionsReached:
    - snprintf
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncNodeInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: syncInitTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp
    functionUses: 3
    functionsReached:
    - syncNodeInit
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:60,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp
    functionUses: 4
    functionsReached:
    - syncUtilRaftId2Str
    - printf
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void initRaftId(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:72,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:75,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:76,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:78,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:79,1
    - Dst: syncInitTest
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:81,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:82,1
    - Dst: syncNode2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:84,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:85,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:86,1
    - Dst: initRaftId
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:88,1
    - Dst: voteGrantedCreate
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:90,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:91,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:93,1
    - Dst: voteGranted2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:95,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:96,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:97,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:98,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:102,1
    - Dst: voteGrantedReset
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:103,1
    - Dst: voteGranted2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:105,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:106,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:107,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:108,1
    - Dst: syncRequestVoteReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:112,1
    - Dst: voteGrantedVote
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:118,1
    - Dst: voteGranted2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:120,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:121,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:122,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:123,1
    - Dst: voteGrantedVote
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:126,1
    - Dst: voteGranted2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:128,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:129,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:130,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:131,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:135,1
    - Dst: voteGrantedReset
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:136,1
    - Dst: voteGranted2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:138,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:139,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:140,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:141,1
    - Dst: voteGrantedDestroy
      Src: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 146
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncVotesGrantedTest.cpp
    functionUses: 3
    functionsReached:
    - syncRequestVoteReplyBuild
    - syncNode2Str
    - syncIOStart
    - syncInit
    - voteGrantedVote
    - voteGrantedDestroy
    - voteGrantedReset
    - atoi
    - syncInitTest
    - printf
    - taosMemoryFree
    - voteGrantedCreate
    - initRaftId
    - voteGranted2Str
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp
    functionUses: 12
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBuild
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:14,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:17,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp
    functionUses: 32
    functionsReached:
    - strcpy
    - syncAppendEntriesBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncAppendEntries
    signature: SyncAppendEntries *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:28,1
    - Dst: syncAppendEntriesLog2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:29,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp
    functionUses: 11
    functionsReached:
    - createMsg
    - syncAppendEntriesLog2
    - syncAppendEntriesDestroy
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:34,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:36,1
    - Dst: syncAppendEntriesSerialize
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:37,1
    - Dst: syncAppendEntriesBuild
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:38,1
    - Dst: syncAppendEntriesDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:39,1
    - Dst: syncAppendEntriesLog2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:40,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:42,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:43,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp
    functionUses: 11
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncAppendEntriesLog2
    - syncAppendEntriesSerialize
    - syncAppendEntriesDeserialize
    - syncAppendEntriesBuild
    - taosMemoryFree
    - syncAppendEntriesDestroy
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:48,1
    - Dst: syncAppendEntriesSerialize2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:50,1
    - Dst: syncAppendEntriesDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:51,1
    - Dst: syncAppendEntriesLog2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:52,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:54,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:55,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp
    functionUses: 11
    functionsReached:
    - createMsg
    - syncAppendEntriesLog2
    - syncAppendEntriesDeserialize2
    - taosMemoryFree
    - syncAppendEntriesSerialize2
    - syncAppendEntriesDestroy
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:60,1
    - Dst: syncAppendEntries2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:62,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:63,1
    - Dst: syncAppendEntriesFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:64,1
    - Dst: syncAppendEntriesLog2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:65,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:67,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:68,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp
    functionUses: 10
    functionsReached:
    - syncAppendEntriesFromRpcMsg
    - createMsg
    - taosMemoryMalloc
    - syncAppendEntriesLog2
    - syncAppendEntriesDestroy
    - syncAppendEntries2RpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:73,1
    - Dst: syncAppendEntries2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:75,1
    - Dst: syncAppendEntriesFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:76,1
    - Dst: syncAppendEntriesLog2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:77,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:79,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:80,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp
    functionUses: 10
    functionsReached:
    - createMsg
    - syncAppendEntriesLog2
    - syncAppendEntriesFromRpcMsg2
    - syncAppendEntriesDestroy
    - syncAppendEntries2RpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:87,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:89,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:90,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:91,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:92,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp
    functionUses: 13
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:27,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:35,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:39,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 53
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp
    functionUses: 5
    functionsReached:
    - snprintf
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncNodeInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: syncInitTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp
    functionUses: 4
    functionsReached:
    - syncNodeInit
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:60,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp
    functionUses: 5
    functionsReached:
    - syncUtilRaftId2Str
    - printf
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void initRaftId(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:73,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:76,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:77,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:79,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:80,1
    - Dst: syncInitTest
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:82,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:83,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:84,1
    - Dst: initRaftId
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:86,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:90,1
    - Dst: syncNodeStartPingTimer
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:91,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:92,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:95,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingTimerTest2.cpp
    functionUses: 3
    functionsReached:
    - syncIOStart
    - syncInit
    - syncNodeStartPingTimer
    - sTrace
    - atoi
    - syncInitTest
    - sNTrace
    - taosMsleep
    - initRaftId
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp
    functionUses: 13
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSendBuild
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:14,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:17,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:28,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 35
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp
    functionUses: 37
    functionsReached:
    - syncSnapshotSendBuild
    - strcpy
    - snprintf
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncSnapshotSend
    signature: SyncSnapshotSend *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:38,1
    - Dst: syncSnapshotSendLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:39,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp
    functionUses: 12
    functionsReached:
    - createMsg
    - syncSnapshotSendDestroy
    - syncSnapshotSendLog2
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:44,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:46,1
    - Dst: syncSnapshotSendSerialize
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:47,1
    - Dst: syncSnapshotSendBuild
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:48,1
    - Dst: syncSnapshotSendDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:49,1
    - Dst: syncSnapshotSendLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:50,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:52,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:53,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp
    functionUses: 12
    functionsReached:
    - createMsg
    - syncSnapshotSendDeserialize
    - taosMemoryMalloc
    - syncSnapshotSendBuild
    - syncSnapshotSendDestroy
    - taosMemoryFree
    - syncSnapshotSendSerialize
    - syncSnapshotSendLog2
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:58,1
    - Dst: syncSnapshotSendSerialize2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:60,1
    - Dst: syncSnapshotSendDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:61,1
    - Dst: syncSnapshotSendLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:62,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:64,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:65,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp
    functionUses: 12
    functionsReached:
    - createMsg
    - syncSnapshotSendDeserialize2
    - syncSnapshotSendDestroy
    - syncSnapshotSendSerialize2
    - taosMemoryFree
    - syncSnapshotSendLog2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:70,1
    - Dst: syncSnapshotSend2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:72,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:73,1
    - Dst: syncSnapshotSendFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:74,1
    - Dst: syncSnapshotSendLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:75,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:77,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:78,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp
    functionUses: 11
    functionsReached:
    - syncSnapshotSend2RpcMsg
    - createMsg
    - taosMemoryMalloc
    - syncSnapshotSendDestroy
    - rpcFreeCont
    - syncSnapshotSendFromRpcMsg
    - syncSnapshotSendLog2
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:83,1
    - Dst: syncSnapshotSend2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:85,1
    - Dst: syncSnapshotSendFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:86,1
    - Dst: syncSnapshotSendLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:87,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:89,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:90,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp
    functionUses: 11
    functionsReached:
    - syncSnapshotSend2RpcMsg
    - createMsg
    - syncSnapshotSendDestroy
    - rpcFreeCont
    - syncSnapshotSendFromRpcMsg2
    - syncSnapshotSendLog2
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:99,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:101,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:102,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:103,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:104,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotSendTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp
    functionUses: 14
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:13,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:14,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:20,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:22,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 34
    functionName: createRaftCfg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    - memset
    - taosGetTimestampSec
    linkageType: ''
    returnType: SRaftCfg
    signature: SRaftCfg * createRaftCfg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:37,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:38,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: createSyncCfg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SSyncCfg
    signature: SSyncCfg * createSyncCfg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSyncCfg
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:51,1
    - Dst: syncCfg2Str
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:52,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:54,1
    - Dst: syncCfgFromStr
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:55,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:56,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:58,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:59,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp
    functionUses: 13
    functionsReached:
    - taosMemoryMalloc
    - syncCfg2Str
    - syncCfgFromStr
    - taosMemoryFree
    - TD_ALWAYS_ASSERT
    - createSyncCfg
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createSyncCfg
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:64,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:67,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:68,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:76,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp
    functionUses: 13
    functionsReached:
    - printf
    - taosMemoryFree
    - taosCheckExistFile
    - createSyncCfg
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:120,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:121,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:122,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:123,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftCfgTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp
    functionUses: 15
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:17,1
    - Dst: syncPingReplyBuild3
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp
    functionUses: 42
    functionsReached:
    - syncPingReplyBuild3
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncPingReply
    signature: SyncPingReply *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:24,1
    - Dst: syncPingReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:25,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp
    functionUses: 13
    functionsReached:
    - createMsg
    - syncPingReplyLog2
    - syncPingReplyDestroy
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:30,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:32,1
    - Dst: syncPingReplySerialize
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:33,1
    - Dst: syncPingReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:34,1
    - Dst: syncPingReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:35,1
    - Dst: syncPingReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:36,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:38,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:39,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp
    functionUses: 14
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncPingReplyDeserialize
    - syncPingReplyDestroy
    - syncPingReplyLog2
    - taosMemoryFree
    - syncPingReplyBuild
    - syncPingReplySerialize
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:44,1
    - Dst: syncPingReplySerialize2
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:46,1
    - Dst: syncPingReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:47,1
    - Dst: syncPingReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:48,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:50,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:51,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp
    functionUses: 14
    functionsReached:
    - createMsg
    - syncPingReplyDeserialize2
    - syncPingReplyDestroy
    - syncPingReplyLog2
    - taosMemoryFree
    - syncPingReplySerialize2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:56,1
    - Dst: syncPingReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:58,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:59,1
    - Dst: syncPingReplyFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:60,1
    - Dst: syncPingReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:61,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:63,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:64,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp
    functionUses: 13
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncPingReply2RpcMsg
    - syncPingReplyDestroy
    - syncPingReplyLog2
    - syncPingReplyFromRpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:69,1
    - Dst: syncPingReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:71,1
    - Dst: syncPingReplyFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:72,1
    - Dst: syncPingReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:73,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:75,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:76,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp
    functionUses: 13
    functionsReached:
    - createMsg
    - syncPingReply2RpcMsg
    - syncPingReplyDestroy
    - syncPingReplyLog2
    - syncPingReplyFromRpcMsg2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:81,1
    - Dst: syncPingReplySerialize3
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:82,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:83,1
    - Dst: syncPingReplySerialize3
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:84,1
    - Dst: syncPingReplyDeserialize3
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:85,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:86,1
    - Dst: syncPingReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:87,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:89,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:90,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: test6
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp
    functionUses: 4
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncPingReplyDestroy
    - syncPingReplyLog2
    - taosMemoryFree
    - syncPingReplyDeserialize3
    - syncPingReplySerialize3
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void test6()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:97,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:99,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:100,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:101,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:102,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:103,1
    - Dst: test6
      Src: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingReplyTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - test6
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:6,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:7,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:8,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:9,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:10,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 12
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp
    functionUses: 16
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:16,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp
    functionUses: 48
    functionsReached:
    - syncPreSnapshotReplyBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncPreSnapshotReply
    signature: SyncPreSnapshotReply *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:26,1
    - Dst: syncPreSnapshotReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:27,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp
    functionUses: 14
    functionsReached:
    - createMsg
    - syncPreSnapshotReplyLog2
    - syncPreSnapshotReplyDestroy
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:32,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:34,1
    - Dst: syncPreSnapshotReplySerialize
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:35,1
    - Dst: syncPreSnapshotReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:36,1
    - Dst: syncPreSnapshotReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:37,1
    - Dst: syncPreSnapshotReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:38,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:40,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:41,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp
    functionUses: 15
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncPreSnapshotReplyBuild
    - syncPreSnapshotReplyLog2
    - syncPreSnapshotReplyDestroy
    - taosMemoryFree
    - syncPreSnapshotReplyDeserialize
    - syncPreSnapshotReplySerialize
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:46,1
    - Dst: syncPreSnapshotReplySerialize2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:48,1
    - Dst: syncPreSnapshotReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:49,1
    - Dst: syncPreSnapshotReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:50,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:52,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:53,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp
    functionUses: 15
    functionsReached:
    - createMsg
    - syncPreSnapshotReplySerialize2
    - syncPreSnapshotReplyLog2
    - syncPreSnapshotReplyDestroy
    - taosMemoryFree
    - syncPreSnapshotReplyDeserialize2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:58,1
    - Dst: syncPreSnapshotReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:60,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:61,1
    - Dst: syncPreSnapshotReplyFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:62,1
    - Dst: syncPreSnapshotReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:63,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:65,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:66,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp
    functionUses: 14
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncPreSnapshotReplyLog2
    - syncPreSnapshotReplyDestroy
    - syncPreSnapshotReply2RpcMsg
    - syncPreSnapshotReplyFromRpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:71,1
    - Dst: syncPreSnapshotReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:73,1
    - Dst: syncPreSnapshotReplyFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:74,1
    - Dst: syncPreSnapshotReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:75,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:77,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:78,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp
    functionUses: 14
    functionsReached:
    - createMsg
    - syncPreSnapshotReplyLog2
    - syncPreSnapshotReplyDestroy
    - syncPreSnapshotReply2RpcMsg
    - syncPreSnapshotReplyFromRpcMsg2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:86,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:88,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:89,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:90,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:91,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPreSnapshotReplyTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp
    functionUses: 17
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:27,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:35,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:39,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 53
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp
    functionUses: 6
    functionsReached:
    - snprintf
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncNodeInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: syncInitTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp
    functionUses: 5
    functionsReached:
    - syncNodeInit
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:60,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp
    functionUses: 6
    functionsReached:
    - syncUtilRaftId2Str
    - printf
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void initRaftId(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:73,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:76,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:77,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:79,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:80,1
    - Dst: syncInitTest
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:82,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:83,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:84,1
    - Dst: initRaftId
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:86,1
    - Dst: syncNodePingSelf
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:91,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncPingSelfTest.cpp
    functionUses: 3
    functionsReached:
    - syncIOStart
    - syncInit
    - atoi
    - syncInitTest
    - sNTrace
    - taosMsleep
    - initRaftId
    - TD_ALWAYS_ASSERT
    - syncNodePingSelf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 17
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: CommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CommitCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: PreCommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PreCommitCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: RollBackCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RollBackCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - struct SSyncFSM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: RestoreFinishCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RestoreFinishCb(struct SSyncFSM* pFsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pFsm
    - newCfg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SSyncCfg
    - SReConfigCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: ReConfigCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReConfigCb(struct SSyncFSM* pFsm, SSyncCfg newCfg, SReConfigCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFsm
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: GetSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetSnapshot(struct SSyncFSM* pFsm, SSnapshot* pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFsm
    - ppReader
    argTypes:
    - struct SSyncFSM*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: SnapshotStartRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStartRead(struct SSyncFSM* pFsm, void** ppReader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pFsm
    - pReader
    argTypes:
    - struct SSyncFSM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: SnapshotStopRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStopRead(struct SSyncFSM* pFsm, void* pReader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pFsm
    - pReader
    - ppBuf
    - len
    argTypes:
    - struct SSyncFSM*
    - void*
    - void**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: SnapshotDoRead
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotDoRead(struct SSyncFSM* pFsm, void* pReader, void**
      ppBuf, int32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pFsm
    - pParam
    - ppWriter
    argTypes:
    - struct SSyncFSM*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: SnapshotStartWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStartWrite(struct SSyncFSM* pFsm, void* pParam, void**
      ppWriter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pFsm
    - pWriter
    - isApply
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - void*
    - bool
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: SnapshotStopWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotStopWrite(struct SSyncFSM* pFsm, void* pWriter, bool
      isApply, SSnapshot* pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pFsm
    - pWriter
    - pBuf
    - len
    argTypes:
    - struct SSyncFSM*
    - void*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: SnapshotDoWrite
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t SnapshotDoWrite(struct SSyncFSM* pFsm, void* pWriter, void*
      pBuf, int32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:31,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:33,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:42,1
    - Dst: snapshotReceiverCreate
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: createReceiver
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 0
    functionsReached:
    - snapshotReceiverCreate
    - taosMemoryMalloc
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SSyncSnapshotReceiver
    signature: SSyncSnapshotReceiver * createReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:58,1
    - Dst: createReceiver
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:60,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:61,1
    - Dst: snapshotReceiver2Str
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotReceiverTest.cpp
    functionUses: 3
    functionsReached:
    - snapshotReceiver2Str
    - sTrace
    - logTest
    - createReceiver
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp
    functionUses: 18
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:14,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:17,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp
    functionUses: 53
    functionsReached:
    - taosGetTimestampMs
    - syncAppendEntriesReplyBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncAppendEntriesReply
    signature: SyncAppendEntriesReply *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:28,1
    - Dst: syncAppendEntriesReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:29,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp
    functionUses: 15
    functionsReached:
    - createMsg
    - syncAppendEntriesReplyDestroy
    - syncAppendEntriesReplyLog2
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:34,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:36,1
    - Dst: syncAppendEntriesReplySerialize
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:37,1
    - Dst: syncAppendEntriesReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:38,1
    - Dst: syncAppendEntriesReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:39,1
    - Dst: syncAppendEntriesReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:40,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:43,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:44,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp
    functionUses: 16
    functionsReached:
    - createMsg
    - syncAppendEntriesReplyDeserialize
    - taosMemoryMalloc
    - syncAppendEntriesReplyLog2
    - syncAppendEntriesReplyDestroy
    - syncAppendEntriesReplySerialize
    - syncAppendEntriesReplyBuild
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:49,1
    - Dst: syncAppendEntriesReplySerialize2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:51,1
    - Dst: syncAppendEntriesReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:52,1
    - Dst: syncAppendEntriesReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:53,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:56,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:57,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp
    functionUses: 16
    functionsReached:
    - createMsg
    - syncAppendEntriesReplyDestroy
    - syncAppendEntriesReplyLog2
    - taosMemoryFree
    - syncAppendEntriesReplySerialize2
    - syncAppendEntriesReplyDeserialize2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:62,1
    - Dst: syncAppendEntriesReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:64,1
    - Dst: syncAppendEntriesReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:65,1
    - Dst: syncAppendEntriesReplyFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:66,1
    - Dst: syncAppendEntriesReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:67,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:70,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:71,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp
    functionUses: 15
    functionsReached:
    - createMsg
    - syncAppendEntriesReplyDestroy
    - syncAppendEntriesReplyLog2
    - syncAppendEntriesReplyFromRpcMsg
    - syncAppendEntriesReplyBuild
    - syncAppendEntriesReply2RpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:76,1
    - Dst: syncAppendEntriesReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:78,1
    - Dst: syncAppendEntriesReplyFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:79,1
    - Dst: syncAppendEntriesReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:80,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:83,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:84,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp
    functionUses: 15
    functionsReached:
    - createMsg
    - syncAppendEntriesReplyDestroy
    - syncAppendEntriesReplyLog2
    - syncAppendEntriesReply2RpcMsg
    - syncAppendEntriesReplyFromRpcMsg2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:93,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:95,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:96,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:97,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:98,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesReplyTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp:5,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exe
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: usage
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp
    functionUses: 7
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(char* exe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoll
      Src: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp:11,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp:14,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp:15,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp:20,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp:21,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp:22,1
    - Dst: usage
      Src: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp:24,1
    - Dst: exit
      Src: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 29
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRaftIdCheck.cpp
    functionUses: 3
    functionsReached:
    - exit
    - atoi
    - syncUtilU642Addr
    - syncUtilAddr2U64
    - printf
    - usage
    - atoll
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp
    functionUses: 19
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmdBuild
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:14,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp
    functionUses: 58
    functionsReached:
    - syncUtilAddr2U64
    - syncLocalCmdBuild
    linkageType: ''
    returnType: SyncLocalCmd
    signature: SyncLocalCmd *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:27,1
    - Dst: syncLocalCmdLog2
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:28,1
    - Dst: syncLocalCmdDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp
    functionUses: 16
    functionsReached:
    - createMsg
    - syncLocalCmdDestroy
    - syncLocalCmdLog2
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:33,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:35,1
    - Dst: syncLocalCmdSerialize
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:36,1
    - Dst: syncLocalCmdBuild
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:37,1
    - Dst: syncLocalCmdDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:38,1
    - Dst: syncLocalCmdLog2
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:39,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:41,1
    - Dst: syncLocalCmdDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:42,1
    - Dst: syncLocalCmdDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp
    functionUses: 17
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncLocalCmdDeserialize
    - syncLocalCmdLog2
    - taosMemoryFree
    - syncLocalCmdSerialize
    - syncLocalCmdDestroy
    - syncLocalCmdBuild
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:47,1
    - Dst: syncLocalCmdSerialize2
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:49,1
    - Dst: syncLocalCmdDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:50,1
    - Dst: syncLocalCmdLog2
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:51,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:53,1
    - Dst: syncLocalCmdDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:54,1
    - Dst: syncLocalCmdDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp
    functionUses: 17
    functionsReached:
    - createMsg
    - syncLocalCmdDeserialize2
    - syncLocalCmdLog2
    - syncLocalCmdDestroy
    - taosMemoryFree
    - syncLocalCmdSerialize2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:59,1
    - Dst: syncLocalCmd2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:61,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:62,1
    - Dst: syncLocalCmdFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:63,1
    - Dst: syncLocalCmdLog2
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:64,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:66,1
    - Dst: syncLocalCmdDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:67,1
    - Dst: syncLocalCmdDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp
    functionUses: 16
    functionsReached:
    - createMsg
    - syncLocalCmd2RpcMsg
    - taosMemoryMalloc
    - syncLocalCmdFromRpcMsg
    - syncLocalCmdLog2
    - syncLocalCmdDestroy
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:72,1
    - Dst: syncLocalCmd2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:74,1
    - Dst: syncLocalCmdFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:75,1
    - Dst: syncLocalCmdLog2
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:76,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:78,1
    - Dst: syncLocalCmdDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:79,1
    - Dst: syncLocalCmdDestroy
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp
    functionUses: 16
    functionsReached:
    - createMsg
    - syncLocalCmd2RpcMsg
    - syncLocalCmdLog2
    - syncLocalCmdDestroy
    - syncLocalCmdFromRpcMsg2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:88,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:90,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:91,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:92,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:93,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncLocalCmdTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp
    functionUses: 20
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:14,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:17,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp
    functionUses: 63
    functionsReached:
    - taosGetTimestampMs
    - syncUtilAddr2U64
    - syncHeartbeatReplyBuild
    linkageType: ''
    returnType: SyncHeartbeatReply
    signature: SyncHeartbeatReply *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:27,1
    - Dst: syncHeartbeatReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:28,1
    - Dst: syncHeartbeatReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp
    functionUses: 17
    functionsReached:
    - syncHeartbeatReplyLog2
    - createMsg
    - syncHeartbeatReplyDestroy
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:33,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:35,1
    - Dst: syncHeartbeatReplySerialize
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:36,1
    - Dst: syncHeartbeatReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:37,1
    - Dst: syncHeartbeatReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:38,1
    - Dst: syncHeartbeatReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:39,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:41,1
    - Dst: syncHeartbeatReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:42,1
    - Dst: syncHeartbeatReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp
    functionUses: 18
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncHeartbeatReplyBuild
    - syncHeartbeatReplyLog2
    - syncHeartbeatReplyDestroy
    - taosMemoryFree
    - syncHeartbeatReplySerialize
    - syncHeartbeatReplyDeserialize
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:47,1
    - Dst: syncHeartbeatReplySerialize2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:49,1
    - Dst: syncHeartbeatReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:50,1
    - Dst: syncHeartbeatReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:51,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:53,1
    - Dst: syncHeartbeatReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:54,1
    - Dst: syncHeartbeatReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp
    functionUses: 18
    functionsReached:
    - createMsg
    - syncHeartbeatReplyDeserialize2
    - syncHeartbeatReplyLog2
    - syncHeartbeatReplyDestroy
    - taosMemoryFree
    - syncHeartbeatReplySerialize2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:59,1
    - Dst: syncHeartbeatReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:61,1
    - Dst: syncHeartbeatReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:62,1
    - Dst: syncHeartbeatReplyFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:63,1
    - Dst: syncHeartbeatReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:64,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:66,1
    - Dst: syncHeartbeatReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:67,1
    - Dst: syncHeartbeatReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp
    functionUses: 17
    functionsReached:
    - createMsg
    - syncHeartbeatReply2RpcMsg
    - syncHeartbeatReplyBuild
    - syncHeartbeatReplyLog2
    - syncHeartbeatReplyDestroy
    - syncHeartbeatReplyFromRpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:72,1
    - Dst: syncHeartbeatReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:74,1
    - Dst: syncHeartbeatReplyFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:75,1
    - Dst: syncHeartbeatReplyLog2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:76,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:78,1
    - Dst: syncHeartbeatReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:79,1
    - Dst: syncHeartbeatReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp
    functionUses: 17
    functionsReached:
    - createMsg
    - syncHeartbeatReplyFromRpcMsg2
    - syncHeartbeatReply2RpcMsg
    - syncHeartbeatReplyLog2
    - syncHeartbeatReplyDestroy
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:88,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:90,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:91,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:92,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:93,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatReplyTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRefTest.cpp
    functionUses: 21
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:31,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: syncFreeObj
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRefTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncFreeObj(void *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:36,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:38,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRefTest.cpp
    functionUses: 184
    functionsReached:
    - taosOpenRef
    - sError
    - cleanup
    linkageType: ''
    returnType: int32_t
    signature: int32_t init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRefTest.cpp
    functionUses: 68
    functionsReached:
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:53,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:54,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:57,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:59,1
    - Dst: syncFreeObj
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:61,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: start
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRefTest.cpp
    functionUses: 41
    functionsReached:
    - syncFreeObj
    - taosMemoryMalloc
    - taosAddRef
    - printf
    - snprintf
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int64_t
    signature: int64_t start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:70,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:73,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:76,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: stop
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRefTest.cpp
    functionUses: 14
    functionsReached:
    - taosReleaseRef
    - printf
    - taosAcquireRef
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: void stop(int64_t rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:83,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:84,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:86,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:88,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:90,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: func
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRefTest.cpp
    functionUses: 30
    functionsReached:
    - taosReleaseRef
    - taosAcquireRef
    - taosRand
    - printf
    - taosMsleep
    linkageType: ''
    returnType: void
    signature: void *func(void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:101,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:103,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:103,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:107,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:108,1
    - Dst: start
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:110,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:111,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:115,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:118,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:119,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:120,1
    - Dst: stop
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:122,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:123,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:126,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRefTest.cpp:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRefTest.cpp
    functionUses: 3
    functionsReached:
    - taosSeedRand
    - cleanup
    - stop
    - taosRand
    - printf
    - logTest
    - taosGetTimestampSec
    - taosMsleep
    - taosThreadCreate
    - init
    - TD_ALWAYS_ASSERT
    - start
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp
    functionUses: 22
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:15,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:18,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:19,1
    - Dst: syncApplyMsgBuild2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:28,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp
    functionUses: 68
    functionsReached:
    - rpcMallocCont
    - strcpy
    - memset
    - syncApplyMsgBuild2
    - rpcFreeCont
    linkageType: ''
    returnType: SyncApplyMsg
    signature: SyncApplyMsg *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:34,1
    - Dst: syncApplyMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:35,1
    - Dst: syncApplyMsgDestroy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp
    functionUses: 18
    functionsReached:
    - createMsg
    - syncApplyMsgDestroy
    - syncApplyMsgLog2
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:40,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:42,1
    - Dst: syncApplyMsgSerialize
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:43,1
    - Dst: syncApplyMsgBuild
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:44,1
    - Dst: syncApplyMsgDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:45,1
    - Dst: syncApplyMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:46,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:48,1
    - Dst: syncApplyMsgDestroy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:49,1
    - Dst: syncApplyMsgDestroy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp
    functionUses: 19
    functionsReached:
    - createMsg
    - syncApplyMsgDeserialize
    - taosMemoryMalloc
    - syncApplyMsgDestroy
    - syncApplyMsgBuild
    - syncApplyMsgLog2
    - taosMemoryFree
    - syncApplyMsgSerialize
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:54,1
    - Dst: syncApplyMsgSerialize2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:56,1
    - Dst: syncApplyMsgDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:57,1
    - Dst: syncApplyMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:58,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:60,1
    - Dst: syncApplyMsgDestroy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:61,1
    - Dst: syncApplyMsgDestroy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp
    functionUses: 19
    functionsReached:
    - createMsg
    - syncApplyMsgSerialize2
    - syncApplyMsgDestroy
    - syncApplyMsgDeserialize2
    - syncApplyMsgLog2
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:66,1
    - Dst: syncApplyMsg2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:68,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:69,1
    - Dst: syncApplyMsgFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:70,1
    - Dst: syncApplyMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:71,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:73,1
    - Dst: syncApplyMsgDestroy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:74,1
    - Dst: syncApplyMsgDestroy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp
    functionUses: 18
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncApplyMsg2RpcMsg
    - syncApplyMsgDestroy
    - syncApplyMsgLog2
    - syncApplyMsgFromRpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:79,1
    - Dst: syncApplyMsg2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:81,1
    - Dst: syncApplyMsgFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:82,1
    - Dst: syncApplyMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:83,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:85,1
    - Dst: syncApplyMsgDestroy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:86,1
    - Dst: syncApplyMsgDestroy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp
    functionUses: 18
    functionsReached:
    - createMsg
    - syncApplyMsg2RpcMsg
    - syncApplyMsgFromRpcMsg2
    - syncApplyMsgDestroy
    - syncApplyMsgLog2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:91,1
    - Dst: syncApplyMsg2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:93,1
    - Dst: syncApplyMsgFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:94,1
    - Dst: syncApplyMsg2OriginalRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:97,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:98,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:100,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:101,1
    - Dst: syncApplyMsgDestroy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:102,1
    - Dst: syncApplyMsgDestroy
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: test6
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp
    functionUses: 5
    functionsReached:
    - createMsg
    - syncApplyMsg2RpcMsg
    - syncApplyMsg2OriginalRpcMsg
    - syncApplyMsgFromRpcMsg2
    - syncApplyMsgDestroy
    - syncRpcMsgLog2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test6()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:109,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:111,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:112,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:113,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:114,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:115,1
    - Dst: test6
      Src: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncApplyMsgTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - test6
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp
    functionUses: 23
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:26,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:34,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:38,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 53
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp
    functionUses: 7
    functionsReached:
    - snprintf
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncNodeInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: syncInitTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp
    functionUses: 6
    functionsReached:
    - syncNodeInit
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:60,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp
    functionUses: 7
    functionsReached:
    - syncUtilRaftId2Str
    - printf
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void initRaftId(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:73,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:76,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:77,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:79,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:80,1
    - Dst: syncInitTest
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:82,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:83,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:85,1
    - Dst: initRaftId
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:87,1
    - Dst: syncPingReplyBuild2
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:93,1
    - Dst: syncPingReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:95,1
    - Dst: syncUtilNodeInfo2EpSet
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:98,1
    - Dst: SSyncNode*::syncSendMSg
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:100,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOSendMsgTest.cpp
    functionUses: 3
    functionsReached:
    - syncIOStart
    - syncInit
    - syncUtilNodeInfo2EpSet
    - syncPingReplyBuild2
    - atoi
    - syncInitTest
    - syncPingReply2RpcMsg
    - sNTrace
    - taosMsleep
    - initRaftId
    - TD_ALWAYS_ASSERT
    - SSyncNode*::syncSendMSg
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 23
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:16,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:17,1
    - Dst: syncRespMgrAdd
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:21,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - count
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: syncRespMgrInsert
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - memset
    - taosGetTimestampMs
    - syncRespMgrAdd
    linkageType: ''
    returnType: void
    signature: void syncRespMgrInsert(uint64_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRespMgrDel
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:28,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: syncRespMgrDelTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 0
    functionsReached:
    - TD_ALWAYS_ASSERT
    - syncRespMgrDel
    linkageType: ''
    returnType: void
    signature: void syncRespMgrDelTest(uint64_t begin, uint64_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - SRespStub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: printStub
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void printStub(SRespStub *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:38,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:39,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:41,1
    - Dst: printStub
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:43,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:44,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: syncRespMgrPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - printf
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - printStub
    linkageType: ''
    returnType: void
    signature: void syncRespMgrPrint()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:51,1
    - Dst: syncRespMgrGet
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:53,1
    - Dst: printStub
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:55,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: syncRespMgrGetTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - printStub
    - syncRespMgrGet
    linkageType: ''
    returnType: void
    signature: void syncRespMgrGetTest(uint64_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:62,1
    - Dst: syncRespMgrGetAndDel
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:64,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: syncRespMgrGetAndDelTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - syncRespMgrGetAndDel
    linkageType: ''
    returnType: void
    signature: void syncRespMgrGetAndDelTest(uint64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:73,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: createSyncNode
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 5
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode *createSyncNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:79,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:80,1
    - Dst: syncRespMgrCreate
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:80,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:80,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:81,1
    - Dst: syncRespMgrInsert
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:83,1
    - Dst: syncRespMgrPrint
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:84,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:86,1
    - Dst: syncRespMgrGetTest
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:88,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:91,1
    - Dst: syncRespMgrDelTest
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:92,1
    - Dst: syncRespMgrPrint
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:93,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:95,1
    - Dst: syncRespMgrGetTest
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:97,1
    - Dst: syncRespMgrDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 101
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 19
    functionsReached:
    - syncRespMgrDelTest
    - createSyncNode
    - syncRespMgrPrint
    - syncRespMgrInsert
    - printf
    - syncRespMgrGetTest
    - syncRespMgrDestroy
    - TD_ALWAYS_ASSERT
    - syncRespMgrCreate
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:104,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:105,1
    - Dst: syncRespMgrCreate
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:105,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:105,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:106,1
    - Dst: syncRespMgrInsert
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:108,1
    - Dst: syncRespMgrPrint
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:109,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:111,1
    - Dst: syncRespMgrGetAndDelTest
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:113,1
    - Dst: syncRespMgrPrint
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:116,1
    - Dst: syncRespMgrDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 20
    functionsReached:
    - createSyncNode
    - syncRespMgrPrint
    - syncRespMgrInsert
    - printf
    - syncRespMgrDestroy
    - syncRespMgrGetAndDelTest
    - TD_ALWAYS_ASSERT
    - syncRespMgrCreate
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:121,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:122,1
    - Dst: syncRespMgrCreate
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:122,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:122,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:123,1
    - Dst: syncRespMgrInsert
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:125,1
    - Dst: syncRespMgrPrint
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:126,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:128,1
    - Dst: syncRespMgrGetAndDelTest
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:130,1
    - Dst: syncRespMgrPrint
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:133,1
    - Dst: syncRespMgrDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 20
    functionsReached:
    - createSyncNode
    - syncRespMgrPrint
    - syncRespMgrInsert
    - printf
    - syncRespMgrDestroy
    - syncRespMgrGetAndDelTest
    - TD_ALWAYS_ASSERT
    - syncRespMgrCreate
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:138,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:139,1
    - Dst: syncRespMgrCreate
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:139,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:139,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:140,1
    - Dst: syncRespMgrInsert
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:142,1
    - Dst: syncRespMgrPrint
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:143,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:145,1
    - Dst: syncRespMgrInsert
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:147,1
    - Dst: syncRespMgrPrint
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:148,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:150,1
    - Dst: syncRespClean
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:151,1
    - Dst: syncRespMgrPrint
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:152,1
    - Dst: syncRespMgrDestroy
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 19
    functionsReached:
    - createSyncNode
    - syncRespMgrPrint
    - syncRespMgrInsert
    - printf
    - syncRespClean
    - syncRespMgrDestroy
    - taosMsleep
    - TD_ALWAYS_ASSERT
    - syncRespMgrCreate
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:160,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:161,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:162,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:163,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRespMgrTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncElectTest.cpp
    functionUses: 24
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:18,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncElectTest.cpp
    functionUses: 185
    functionsReached:
    - TD_ALWAYS_ASSERT
    - walInit
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncElectTest.cpp
    functionUses: 69
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:26,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:34,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - path
    - vgId
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: createWal
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncElectTest.cpp
    functionUses: 5
    functionsReached:
    - memset
    - TD_ALWAYS_ASSERT
    - walOpen
    linkageType: ''
    returnType: SWal
    signature: SWal * createWal(char* path, int32_t vgId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:46,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:55,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:59,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:60,1
    - Dst: syncNodeStart
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 5
    argNames:
    - replicaNum
    - myIndex
    - vgId
    - pWal
    - path
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - SWal*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 76
    functionName: createSyncNode
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncElectTest.cpp
    functionUses: 9
    functionsReached:
    - syncNodeStart
    - taosGetFqdn
    - snprintf
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * createSyncNode(int32_t replicaNum, int32_t myIndex, int32_t
      vgId, SWal* pWal, char* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exe
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: usage
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncElectTest.cpp
    functionUses: 8
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(char* exe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:84,1
    - Dst: exit
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:85,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:87,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:88,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:90,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:91,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:93,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:94,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:95,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:96,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:97,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:100,1
    - Dst: createWal
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:101,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:103,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:104,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:105,1
    - Dst: syncNode2SimpleStr
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:109,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:110,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:111,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:112,1
    - Dst: syncNodeClose
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:115,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:116,1
    - Dst: syncIOStop
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:117,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncElectTest.cpp:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncElectTest.cpp
    functionUses: 3
    functionsReached:
    - cleanup
    - snprintf
    - exit
    - syncIOStart
    - sTrace
    - createSyncNode
    - atoi
    - sNTrace
    - createWal
    - syncIOStop
    - syncNodeClose
    - usage
    - taosMsleep
    - init
    - TD_ALWAYS_ASSERT
    - walClose
    - syncInit
    - taosMemoryFree
    - syncNode2SimpleStr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp
    functionUses: 24
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:14,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:15,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: createEntry
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp
    functionUses: 5
    functionsReached:
    - syncEntryBuild
    - snprintf
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncRaftEntry
    signature: SSyncRaftEntry *createEntry(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:28,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:31,1
    - Dst: syncAppendEntriesBatchBuild
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:35,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:36,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp
    functionUses: 74
    functionsReached:
    - memset
    - syncAppendEntriesBatchBuild
    - createEntry
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncAppendEntriesBatch
    signature: SyncAppendEntriesBatch *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:48,1
    - Dst: syncAppendEntriesBatchLog2
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:49,1
    - Dst: syncAppendEntriesBatchDestroy
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp
    functionUses: 20
    functionsReached:
    - createMsg
    - syncAppendEntriesBatchLog2
    - syncAppendEntriesBatchDestroy
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:121,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncAppendEntriesBatchTest.cpp
    functionUses: 3
    functionsReached:
    - logTest
    - test1
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp
    functionUses: 25
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:14,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:15,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: createEntry
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp
    functionUses: 6
    functionsReached:
    - syncEntryBuild
    - snprintf
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncRaftEntry
    signature: SSyncRaftEntry * createEntry(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:28,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:29,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: createFakeNode
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp
    functionUses: 1
    functionsReached:
    - memset
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * createFakeNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFakeNode
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:36,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:37,1
    - Dst: raftEntryCacheCreate
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:39,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - maxCount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: createCache
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp
    functionUses: 4
    functionsReached:
    - createFakeNode
    - ASSERT
    - raftEntryCacheCreate
    linkageType: ''
    returnType: SRaftEntryCache
    signature: SRaftEntryCache * createCache(int maxCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCache
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:47,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:49,1
    - Dst: raftEntryCachePutEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:50,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:51,1
    - Dst: raftEntryCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:53,1
    - Dst: raftEntryCacheClear
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:55,1
    - Dst: raftEntryCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:56,1
    - Dst: raftEntryCacheClear
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:58,1
    - Dst: raftEntryCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp
    functionUses: 21
    functionsReached:
    - raftEntryCachePutEntry
    - sTrace
    - createCache
    - raftEntryCacheClear
    - createEntry
    - raftEntryCacheLog2
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCache
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:64,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:66,1
    - Dst: raftEntryCachePutEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:67,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:68,1
    - Dst: raftEntryCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:70,1
    - Dst: raftEntryCacheGetEntryP
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:75,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:76,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:77,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:78,1
    - Dst: raftEntryCacheGetEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:80,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:81,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:82,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:83,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:84,1
    - Dst: raftEntryCacheGetEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:88,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:89,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:90,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:91,1
    - Dst: raftEntryCacheGetEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:95,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:96,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:97,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp
    functionUses: 21
    functionsReached:
    - raftEntryCachePutEntry
    - syncEntryLog2
    - sTrace
    - createCache
    - ASSERT
    - syncEntryDestory
    - raftEntryCacheGetEntry
    - raftEntryCacheGetEntryP
    - createEntry
    - raftEntryCacheLog2
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCache
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:103,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:105,1
    - Dst: raftEntryCachePutEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:106,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:107,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:110,1
    - Dst: raftEntryCachePutEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:111,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:112,1
    - Dst: raftEntryCacheLog2
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp
    functionUses: 21
    functionsReached:
    - raftEntryCachePutEntry
    - sTrace
    - createCache
    - createEntry
    - raftEntryCacheLog2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:119,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: freeObj
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp
    functionUses: 0
    functionsReached:
    - syncEntryLog2
    - syncEntryDestory
    linkageType: ''
    returnType: void
    signature: void freeObj(void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:124,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:126,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:127,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:129,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:130,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:133,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:134,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:136,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:137,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:138,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:144,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:147,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 150
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp
    functionUses: 20
    functionsReached:
    - taosAddRef
    - sTrace
    - taosAcquireRef
    - syncEntryLog2
    - ASSERT
    - taosReleaseRef
    - taosOpenRef
    - taosRemoveRef
    - createEntry
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:153,1
    - Dst: createEntry
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:155,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:156,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:158,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:159,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:163,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp
    functionUses: 19
    functionsReached:
    - taosAddRef
    - sTrace
    - taosAcquireRef
    - syncEntryLog2
    - ASSERT
    - taosOpenRef
    - createEntry
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryCacheTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp
    functionUses: 25
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:27,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:29,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: CommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void CommitCb(struct SSyncFSM *pFsm, const SRpcMsg *pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:35,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:37,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: PreCommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void PreCommitCb(struct SSyncFSM *pFsm, const SRpcMsg *pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:43,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:45,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: RollBackCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void RollBackCb(struct SSyncFSM *pFsm, const SRpcMsg *pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: initFsm
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: void
    signature: void initFsm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:65,1
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:67,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:68,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:70,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:78,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:79,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:89,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:93,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:94,1
    - Dst: syncNodeStart
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 109
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp
    functionUses: 8
    functionsReached:
    - syncNodeStart
    - walInit
    - snprintf
    - memset
    - walOpen
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode *syncNodeInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: syncInitTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp
    functionUses: 7
    functionsReached:
    - syncNodeInit
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode *syncInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:116,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:117,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp
    functionUses: 8
    functionsReached:
    - syncUtilRaftId2Str
    - printf
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void initRaftId(SSyncNode *pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:123,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:124,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:127,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: step0
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp
    functionUses: 1
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg *step0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: step1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SyncClientRequest
    signature: SyncClientRequest *step1(const SRpcMsg *pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:146,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:149,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:150,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:152,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:153,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:155,1
    - Dst: initFsm
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:157,1
    - Dst: syncInitTest
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:159,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:160,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:161,1
    - Dst: initRaftId
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:163,1
    - Dst: step0
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:166,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:167,1
    - Dst: step1
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:170,1
    - Dst: syncClientRequestLog2
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:171,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:183,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncWriteTest.cpp
    functionUses: 3
    functionsReached:
    - syncIOStart
    - syncInit
    - step0
    - syncRpcMsgLog2
    - sTrace
    - atoi
    - taosRemoveDir
    - syncInitTest
    - syncClientRequestLog2
    - sNTrace
    - taosMsleep
    - initFsm
    - initRaftId
    - TD_ALWAYS_ASSERT
    - step1
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp
    functionUses: 25
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:13,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:14,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:21,1
    - Dst: syncEntryPrint
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:23,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp
    functionUses: 21
    functionsReached:
    - syncEntryBuild
    - strcpy
    - syncEntryDestory
    - syncEntryPrint
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestAlloc
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:28,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:32,1
    - Dst: syncEntryBuildFromClientRequest
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:34,1
    - Dst: syncEntryPrint
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:35,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:37,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp
    functionUses: 21
    functionsReached:
    - strcpy
    - syncEntryDestory
    - syncEntryPrint
    - taosMemoryFree
    - syncClientRequestAlloc
    - syncEntryBuildFromClientRequest
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestAlloc
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:42,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:46,1
    - Dst: syncEntryBuildFromClientRequest
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:48,1
    - Dst: syncEntryPrint
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:49,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:51,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp
    functionUses: 21
    functionsReached:
    - strcpy
    - syncEntryDestory
    - syncEntryPrint
    - taosMemoryFree
    - syncClientRequestAlloc
    - syncEntryBuildFromClientRequest
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:56,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:57,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:64,1
    - Dst: syncEntryPrint
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:65,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp
    functionUses: 21
    functionsReached:
    - syncEntryBuild
    - strcpy
    - syncEntryDestory
    - syncEntryPrint
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:75,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:76,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:77,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEntryTest.cpp
    functionUses: 3
    functionsReached:
    - test2
    - test4
    - test3
    - test1
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp
    functionUses: 25
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:18,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:20,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:21,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:25,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:27,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:30,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:32,1
    - Dst: syncCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEnvTest.cpp
    functionUses: 3
    functionsReached:
    - syncInit
    - syncCleanUp
    - logTest
    - taosMsleep
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp
    functionUses: 26
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRspBuild
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:14,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 26
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp
    functionUses: 75
    functionsReached:
    - syncSnapshotRspBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncSnapshotRsp
    signature: SyncSnapshotRsp *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:29,1
    - Dst: syncSnapshotRspLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:30,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp
    functionUses: 22
    functionsReached:
    - createMsg
    - syncSnapshotRspDestroy
    - syncSnapshotRspLog2
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:35,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:37,1
    - Dst: syncSnapshotRspSerialize
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:38,1
    - Dst: syncSnapshotRspBuild
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:39,1
    - Dst: syncSnapshotRspDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:40,1
    - Dst: syncSnapshotRspLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:41,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:43,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:44,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp
    functionUses: 22
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncSnapshotRspDestroy
    - syncSnapshotRspLog2
    - syncSnapshotRspDeserialize
    - syncSnapshotRspBuild
    - taosMemoryFree
    - syncSnapshotRspSerialize
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:49,1
    - Dst: syncSnapshotRspSerialize2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:51,1
    - Dst: syncSnapshotRspDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:52,1
    - Dst: syncSnapshotRspLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:53,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:55,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:56,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp
    functionUses: 22
    functionsReached:
    - createMsg
    - syncSnapshotRspDestroy
    - syncSnapshotRspLog2
    - syncSnapshotRspSerialize2
    - syncSnapshotRspDeserialize2
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:61,1
    - Dst: syncSnapshotRsp2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:63,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:64,1
    - Dst: syncSnapshotRspFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:65,1
    - Dst: syncSnapshotRspLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:66,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:68,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:69,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp
    functionUses: 22
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncSnapshotRspDestroy
    - syncSnapshotRspFromRpcMsg
    - syncSnapshotRspLog2
    - syncSnapshotRsp2RpcMsg
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:74,1
    - Dst: syncSnapshotRsp2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:76,1
    - Dst: syncSnapshotRspFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:77,1
    - Dst: syncSnapshotRspLog2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:78,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:80,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:81,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp
    functionUses: 19
    functionsReached:
    - createMsg
    - syncSnapshotRspDestroy
    - syncSnapshotRspLog2
    - syncSnapshotRsp2RpcMsg
    - syncSnapshotRspFromRpcMsg2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:88,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:90,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:91,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:92,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:93,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncSnapshotRspTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 27
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:19,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:20,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:22,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 186
    functionsReached:
    - TD_ALWAYS_ASSERT
    - syncInit
    - walInit
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 70
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct SSyncFSM*::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:32,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:38,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:40,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:41,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: CommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 0
    functionsReached:
    - sTrace
    - syncStr
    - snprintf
    - syncRpcMsgLog2
    - struct SSyncFSM*::FpGetSnapshotInfo
    linkageType: ''
    returnType: void
    signature: void CommitCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:49,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:51,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: PreCommitCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void PreCommitCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:57,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:59,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - cbMeta
    argTypes:
    - struct SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: RollBackCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncStr
    linkageType: ''
    returnType: void
    signature: void RollBackCb(struct SSyncFSM* pFsm, const SRpcMsg* pMsg, SFsmCbMeta
      cbMeta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pFsm
    - pSnapshot
    argTypes:
    - struct SSyncFSM*
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: GetSnapshotCb
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetSnapshotCb(struct SSyncFSM* pFsm, SSnapshot* pSnapshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: createFsm
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 3
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SSyncFSM
    signature: SSyncFSM * createFsm()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:85,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:93,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - path
    - vgId
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: createWal
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 6
    functionsReached:
    - memset
    - TD_ALWAYS_ASSERT
    - walOpen
    linkageType: ''
    returnType: SWal
    signature: SWal * createWal(char* path, int32_t vgId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFsm
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:104,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:105,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:114,1
    - Dst: syncOpen
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:118,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:119,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:121,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:122,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - replicaNum
    - myIndex
    - vgId
    - pWal
    - path
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - SWal*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 137
    functionName: createSyncNode
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 10
    functionsReached:
    - syncOpen
    - syncNodeRelease
    - syncNodeAcquire
    - taosGetFqdn
    - createFsm
    - snprintf
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int64_t
    signature: int64_t createSyncNode(int32_t replicaNum, int32_t myIndex, int32_t
      vgId, SWal* pWal, char* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exe
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: usage
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 9
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(char* exe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:142,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:143,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:146,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:147,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - i
    - count
    - myIndex
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: createRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 3
    functionsReached:
    - rpcMallocCont
    - taosMemoryMalloc
    - snprintf
    - memset
    - taosGetTimestampMs
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg * createRpcMsg(int i, int count, int myIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:156,1
    - Dst: exit
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:157,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:159,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:160,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:161,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:162,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:165,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:166,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:167,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:168,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:170,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:171,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:172,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:175,1
    - Dst: createWal
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:176,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:178,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:179,1
    - Dst: syncStart
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:180,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:182,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:183,1
    - Dst: syncNode2SimpleStr
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:188,1
    - Dst: createRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:191,1
    - Dst: syncPropose
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:192,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:194,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:196,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:197,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:201,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:202,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:204,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:207,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:208,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:209,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:212,1
    - Dst: syncStop
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:213,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:214,1
    - Dst: syncIOStop
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:215,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 218
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncReplicateTest.cpp
    functionUses: 3
    functionsReached:
    - syncNodeRelease
    - cleanup
    - snprintf
    - syncStart
    - exit
    - syncIOStart
    - sTrace
    - createSyncNode
    - atoi
    - rpcFreeCont
    - createWal
    - syncNodeAcquire
    - syncIOStop
    - usage
    - taosMsleep
    - init
    - TD_ALWAYS_ASSERT
    - walClose
    - createRpcMsg
    - syncStop
    - syncPropose
    - taosMemoryFree
    - syncNode2SimpleStr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp
    functionUses: 27
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp:17,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp:21,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp:22,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 29
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOServerTest.cpp
    functionUses: 3
    functionsReached:
    - logTest
    - TD_ALWAYS_ASSERT
    - syncIOStart
    - taosSsleep
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:19,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:20,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:22,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:23,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:25,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTest.cpp
    functionUses: 28
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest(char* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTest.cpp
    functionUses: 23
    functionsReached:
    - logTest
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTest.cpp
    functionUses: 23
    functionsReached:
    - logTest
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTest.cpp
    functionUses: 23
    functionsReached:
    - logTest
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTest.cpp
    functionUses: 23
    functionsReached:
    - logTest
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:51,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:55,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:56,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:57,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:58,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/sync/test/syncTest.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - taosInitLog
    - test1
    - test3
    - taosCloseLog
    - test2
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:6,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:7,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:8,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:9,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:10,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 12
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp
    functionUses: 32
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:30,1
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:32,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:33,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:35,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:43,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:44,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:54,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:58,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 73
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp
    functionUses: 9
    functionsReached:
    - walInit
    - snprintf
    - memset
    - walOpen
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode *syncNodeInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: syncInitTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp
    functionUses: 8
    functionsReached:
    - syncNodeInit
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode *syncInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:80,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:81,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp
    functionUses: 9
    functionsReached:
    - syncUtilRaftId2Str
    - printf
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void initRaftId(SSyncNode *pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:87,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:88,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:91,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: step0
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp
    functionUses: 2
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg *step0()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestBuild
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: step1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp
    functionUses: 2
    functionsReached:
    - syncClientRequestBuild
    linkageType: ''
    returnType: SyncClientRequest
    signature: SyncClientRequest *step1(const SRpcMsg *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:102,1
    - Dst: syncClientRequest2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: step2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - syncClientRequest2RpcMsg
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg *step2(const SyncClientRequest *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: step3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp
    functionUses: 0
    functionsReached:
    - syncClientRequestFromRpcMsg2
    linkageType: ''
    returnType: SyncClientRequest
    signature: SyncClientRequest *step3(const SRpcMsg *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuildFromClientRequest
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: step4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp
    functionUses: 0
    functionsReached:
    - syncEntryBuildFromClientRequest
    linkageType: ''
    returnType: SSyncRaftEntry
    signature: SSyncRaftEntry *step4(const SyncClientRequest *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:118,1
    - Dst: syncEntry2OriginalRpc
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: step7
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - syncEntry2OriginalRpc
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg *step7(const SSyncRaftEntry *pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:132,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:135,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:136,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:138,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:139,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:141,1
    - Dst: step0
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:144,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:145,1
    - Dst: step1
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:148,1
    - Dst: syncClientRequestLog2
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:149,1
    - Dst: step2
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:152,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:153,1
    - Dst: step3
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:156,1
    - Dst: syncClientRequestLog2
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:157,1
    - Dst: step4
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:160,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:161,1
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:164,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:165,1
    - Dst: SSyncNode*::pLogStore::syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:167,1
    - Dst: SSyncNode*::pLogStore::syncLogGetEntry
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:169,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:170,1
    - Dst: syncEntryLog2
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:172,1
    - Dst: step7
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:175,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEncodeTest.cpp
    functionUses: 3
    functionsReached:
    - syncIOStart
    - syncInit
    - step0
    - syncEntryLog2
    - step2
    - ASSERT
    - atoi
    - taosRemoveDir
    - syncClientRequestLog2
    - step4
    - step7
    - SSyncNode*::pLogStore::syncLogAppendEntry
    - SSyncNode*::pLogStore::syncLogGetEntry
    - syncNodeInit
    - syncRpcMsgLog2
    - step3
    - TD_ALWAYS_ASSERT
    - step1
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp
    functionUses: 32
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatBuild
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:14,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:15,1
    - Dst: syncUtilAddr2U64
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: createMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp
    functionUses: 80
    functionsReached:
    - syncHeartbeatBuild
    - syncUtilAddr2U64
    linkageType: ''
    returnType: SyncHeartbeat
    signature: SyncHeartbeat *createMsg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:26,1
    - Dst: syncHeartbeatLog2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:27,1
    - Dst: syncHeartbeatDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: test1
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp
    functionUses: 24
    functionsReached:
    - createMsg
    - syncHeartbeatLog2
    - syncHeartbeatDestroy
    linkageType: ''
    returnType: void
    signature: void test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:32,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:34,1
    - Dst: syncHeartbeatSerialize
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:35,1
    - Dst: syncHeartbeatBuild
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:36,1
    - Dst: syncHeartbeatDeserialize
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:37,1
    - Dst: syncHeartbeatLog2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:38,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:40,1
    - Dst: syncHeartbeatDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:41,1
    - Dst: syncHeartbeatDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: test2
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp
    functionUses: 24
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncHeartbeatDestroy
    - syncHeartbeatSerialize
    - taosMemoryFree
    - syncHeartbeatDeserialize
    - syncHeartbeatBuild
    - syncHeartbeatLog2
    linkageType: ''
    returnType: void
    signature: void test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:46,1
    - Dst: syncHeartbeatSerialize2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:48,1
    - Dst: syncHeartbeatDeserialize2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:49,1
    - Dst: syncHeartbeatLog2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:50,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:52,1
    - Dst: syncHeartbeatDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:53,1
    - Dst: syncHeartbeatDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: test3
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp
    functionUses: 24
    functionsReached:
    - createMsg
    - syncHeartbeatDestroy
    - syncHeartbeatSerialize2
    - taosMemoryFree
    - syncHeartbeatLog2
    - syncHeartbeatDeserialize2
    linkageType: ''
    returnType: void
    signature: void test3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:58,1
    - Dst: syncHeartbeat2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:60,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:61,1
    - Dst: syncHeartbeatFromRpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:62,1
    - Dst: syncHeartbeatLog2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:63,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:65,1
    - Dst: syncHeartbeatDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:66,1
    - Dst: syncHeartbeatDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: test4
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp
    functionUses: 24
    functionsReached:
    - createMsg
    - taosMemoryMalloc
    - syncHeartbeatDestroy
    - syncHeartbeat2RpcMsg
    - syncHeartbeatFromRpcMsg
    - syncHeartbeatLog2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:71,1
    - Dst: syncHeartbeat2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:73,1
    - Dst: syncHeartbeatFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:74,1
    - Dst: syncHeartbeatLog2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:75,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:77,1
    - Dst: syncHeartbeatDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:78,1
    - Dst: syncHeartbeatDestroy
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: test5
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp
    functionUses: 20
    functionsReached:
    - createMsg
    - syncHeartbeatFromRpcMsg2
    - syncHeartbeatDestroy
    - syncHeartbeat2RpcMsg
    - syncHeartbeatLog2
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void test5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:86,1
    - Dst: test1
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:88,1
    - Dst: test2
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:89,1
    - Dst: test3
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:90,1
    - Dst: test4
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:91,1
    - Dst: test5
      Src: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncHeartbeatTest.cpp
    functionUses: 3
    functionsReached:
    - test4
    - test1
    - test3
    - logTest
    - test5
    - test2
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp
    functionUses: 33
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:18,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:22,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:23,1
    - Dst: syncIOPingTimerStart
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:26,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:27,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:28,1
    - Dst: syncIOPingTimerStop
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:30,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:31,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:32,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIOTickPingTest.cpp
    functionUses: 3
    functionsReached:
    - syncIOStart
    - syncIOPingTimerStop
    - syncIOPingTimerStart
    - logTest
    - taosSsleep
    - taosMsleep
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp
    functionUses: 34
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walInit
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:14,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: init
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp
    functionUses: 187
    functionsReached:
    - TD_ALWAYS_ASSERT
    - walInit
    linkageType: ''
    returnType: void
    signature: void init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walCleanUp
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: cleanup
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp
    functionUses: 71
    functionsReached:
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:22,1
    - Dst: walOpen
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:30,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - path
    - vgId
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: createWal
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp
    functionUses: 7
    functionsReached:
    - memset
    - TD_ALWAYS_ASSERT
    - walOpen
    linkageType: ''
    returnType: SWal
    signature: SWal * createWal(char* path, int32_t vgId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:36,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: createSyncNode
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp
    functionUses: 11
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * createSyncNode(SWal* pWal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exe
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: usage
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp
    functionUses: 10
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(char* exe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:46,1
    - Dst: exit
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:47,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:50,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:51,1
    - Dst: init
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:53,1
    - Dst: createWal
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:54,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:55,1
    - Dst: createSyncNode
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:56,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:57,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:59,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:60,1
    - Dst: SSyncLogStore*::syncLogRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:62,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:63,1
    - Dst: walClose
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:65,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:66,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:67,1
    - Dst: cleanup
      Src: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncRestoreFromSnapshot.cpp
    functionUses: 3
    functionsReached:
    - SSyncLogStore*::syncLogRestoreFromSnapshot
    - createWal
    - walClose
    - exit
    - cleanup
    - logStoreDestory
    - logStoreCreate
    - TD_ALWAYS_ASSERT
    - createSyncNode
    - atoi
    - usage
    - taosMemoryFree
    - init
    - atoll
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp:4,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp:5,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp:6,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp:7,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp:8,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 10
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp
    functionUses: 34
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilElectRandomMS
      Src: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp:14,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: electRandomMSTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp
    functionUses: 0
    functionsReached:
    - printf
    - syncUtilElectRandomMS
    linkageType: ''
    returnType: void
    signature: void electRandomMSTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp:22,1
    - Dst: electRandomMSTest
      Src: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncUtilTest.cpp
    functionUses: 3
    functionsReached:
    - logTest
    - electRandomMSTest
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp
    functionUses: 35
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:26,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:34,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:38,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 53
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp
    functionUses: 11
    functionsReached:
    - snprintf
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncNodeInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: syncInitTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp
    functionUses: 8
    functionsReached:
    - syncNodeInit
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:60,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp
    functionUses: 9
    functionsReached:
    - syncUtilRaftId2Str
    - printf
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void initRaftId(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:73,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:76,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:77,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:79,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:80,1
    - Dst: syncInitTest
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:82,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:83,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:85,1
    - Dst: initRaftId
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:87,1
    - Dst: syncPingReplyBuild2
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:92,1
    - Dst: syncPingReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:94,1
    - Dst: SSyncNode*::syncEqMsg
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:95,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncEnqTest.cpp
    functionUses: 3
    functionsReached:
    - syncIOStart
    - syncInit
    - syncPingReplyBuild2
    - atoi
    - syncInitTest
    - syncPingReply2RpcMsg
    - sNTrace
    - taosMsleep
    - initRaftId
    - SSyncNode*::syncEqMsg
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:4,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:5,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:8,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:12,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNextIndex
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 15
    functionName: print
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp
    functionUses: 5
    functionsReached:
    - taosHashGetKey
    - printf
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: void print(SHashObj *pNextIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:18,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:19,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:20,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:21,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:22,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp
    functionUses: 35
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logTest
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:31,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:46,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:46,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:49,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:51,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:53,1
    - Dst: print
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:55,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:60,1
    - Dst: print
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:63,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncIndexTest.cpp
    functionUses: 3
    functionsReached:
    - taosHashGet
    - taosHashInit
    - logTest
    - print
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - taosHashPut
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:5,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:6,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:7,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:8,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:9,1
    - Dst: sFatal
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: logTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp
    functionUses: 36
    functionsReached:
    - sError
    - sTrace
    - sDebug
    - sWarn
    - sFatal
    - sInfo
    linkageType: ''
    returnType: void
    signature: void logTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:28,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:36,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:40,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 54
    functionName: syncNodeInit
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp
    functionUses: 12
    functionsReached:
    - snprintf
    - syncNodeOpen
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncNodeInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInit
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: syncInitTest
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp
    functionUses: 9
    functionsReached:
    - syncNodeInit
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncInitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRaftId2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:61,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:62,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: initRaftId
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp
    functionUses: 10
    functionsReached:
    - syncUtilRaftId2Str
    - printf
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void initRaftId(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:73,1
    - Dst: syncIOStart
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:76,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:77,1
    - Dst: syncInit
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:79,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:80,1
    - Dst: syncInitTest
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:82,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:83,1
    - Dst: syncNode2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:85,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:86,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:87,1
    - Dst: initRaftId
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:89,1
    - Dst: votesRespondCreate
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:91,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:92,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:94,1
    - Dst: votesRespond2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:96,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:97,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:98,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:99,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:103,1
    - Dst: votesRespondReset
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:104,1
    - Dst: votesRespond2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:106,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:107,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:109,1
    - Dst: syncRequestVoteReplyBuild
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:113,1
    - Dst: votesRespondAdd
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:119,1
    - Dst: votesRespond2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:121,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:122,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:123,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:124,1
    - Dst: votesRespondAdd
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:127,1
    - Dst: votesRespond2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:129,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:130,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:131,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:132,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:136,1
    - Dst: votesRespondReset
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:137,1
    - Dst: votesRespond2Str
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:139,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:140,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:141,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:142,1
    - Dst: votesRespondDestory
      Src: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 147
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/sync/test/syncVotesRespondTest.cpp
    functionUses: 3
    functionsReached:
    - syncRequestVoteReplyBuild
    - syncNode2Str
    - syncIOStart
    - syncInit
    - votesRespond2Str
    - votesRespondDestory
    - atoi
    - syncInitTest
    - votesRespondCreate
    - printf
    - votesRespondReset
    - taosMemoryFree
    - initRaftId
    - votesRespondAdd
    - TD_ALWAYS_ASSERT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:22,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:25,1
    - Dst: cJSON_AddStringToObject
      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:27,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:28,1
    - Dst: raftLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:30,1
    - Dst: snprintf
      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:32,1
    - Dst: raftLogEndIndex
      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:35,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:36,1
    - Dst: raftLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:38,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:39,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:41,1
    - Dst: raftLogWriteIndex
      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:42,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:44,1
    - Dst: raftLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:44,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:45,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:47,1
    - Dst: raftLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:47,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:48,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:49,1
    - Dst: raftLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:49,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:50,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:52,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:53,1
    - Dst: raftLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:55,1
    - Dst: raftLogGetEntry
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:58,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:60,1
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:60,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:61,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:66,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 69
    functionName: logStore2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 0
    functionsReached:
    - raftLogLastTerm
    - cJSON_AddItemToArray
    - cJSON_AddNumberToObject
    - cJSON_CreateArray
    - raftLogWriteIndex
    - raftLogGetEntry
    - cJSON_CreateObject
    - syncEntryDestory
    - cJSON_AddItemToObject
    - raftLogIsEmpty
    - snprintf
    - cJSON_AddStringToObject
    - raftLogLastIndex
    - raftLogEntryCount
    - raftLogBeginIndex
    - raftLogEndIndex
    - syncEntry2Json
    linkageType: ''
    returnType: cJSON
    signature: cJSON * logStore2Json(SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStore2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:72,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:73,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: logStore2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - logStore2Json
    linkageType: ''
    returnType: char
    signature: char * logStore2Str(SSyncLogStore* pLogStore)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:81,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:84,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:85,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:86,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:87,1
    - Dst: raftLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:89,1
    - Dst: snprintf
      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:91,1
    - Dst: raftLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:93,1
    - Dst: snprintf
      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:95,1
    - Dst: raftLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:97,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:98,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:100,1
    - Dst: raftLogWriteIndex
      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:101,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:103,1
    - Dst: raftLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:103,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:104,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:106,1
    - Dst: raftLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:106,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:107,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:108,1
    - Dst: raftLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:108,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:109,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:112,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 115
    functionName: logStoreSimple2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 0
    functionsReached:
    - raftLogLastTerm
    - cJSON_AddNumberToObject
    - raftLogWriteIndex
    - cJSON_CreateObject
    - cJSON_AddItemToObject
    - raftLogIsEmpty
    - snprintf
    - cJSON_AddStringToObject
    - raftLogLastIndex
    - raftLogEntryCount
    - raftLogBeginIndex
    - raftLogEndIndex
    linkageType: ''
    returnType: cJSON
    signature: cJSON * logStoreSimple2Json(SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStoreSimple2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:118,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:119,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: logStoreSimple2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - logStoreSimple2Json
    linkageType: ''
    returnType: char
    signature: char * logStoreSimple2Str(SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:126,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:127,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:127,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:128,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: logStorePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 0
    functionsReached:
    - logStore2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    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:133,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:134,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:134,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:135,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pLogStore
    argTypes:
    - char*
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: logStorePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 1
    functionsReached:
    - logStore2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    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:141,1
    - Dst: sLTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:142,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:142,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: logStoreLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - logStore2Str
    - taosMemoryFree
    - sLTrace
    linkageType: ''
    returnType: void
    signature: void logStoreLog(SSyncLogStore* pLogStore)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:149,1
    - Dst: sLTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:150,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:150,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pLogStore
    argTypes:
    - char*
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: logStoreLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 12
    functionsReached:
    - strlen
    - logStore2Str
    - taosMemoryFree
    - 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:157,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:158,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:158,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: logStoreSimplePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - logStoreSimple2Str
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void logStoreSimplePrint(SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStoreSimple2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:164,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:165,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:165,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:166,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pLogStore
    argTypes:
    - char*
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: logStoreSimplePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 1
    functionsReached:
    - printf
    - logStoreSimple2Str
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void logStoreSimplePrint2(char* s, SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStoreSimple2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:171,1
    - Dst: sTrace
      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:172,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: logStoreSimpleLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - logStoreSimple2Str
    - taosMemoryFree
    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:178,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:179,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:179,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pLogStore
    argTypes:
    - char*
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: logStoreSimpleLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - logStoreSimple2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void logStoreSimpleLog2(char* s, SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:28,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:29,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:37,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - rpcMsgPArr
    - raftArr
    - arrSize
    - vgId
    argTypes:
    - SRpcMsg**
    - SRaftMeta*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 58
    functionName: syncClientRequestBatchBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - memset
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncClientRequestBatch
    signature: "SyncClientRequestBatch * syncClientRequestBatchBuild(SRpcMsg** rpcMsgPArr,
      SRaftMeta* raftArr, int32_t arrSize,\n                                                    int32_t
      vgId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:61,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:64,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pSyncMsg
    - pRpcMsg
    argTypes:
    - SyncClientRequestBatch*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: syncClientRequestBatch2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncClientRequestBatch2RpcMsg(const SyncClientRequestBatch* pSyncMsg,
      SRpcMsg* pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: syncClientRequestBatchDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncClientRequestBatchDestroy(SyncClientRequestBatch* pMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:81,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: syncClientRequestBatchDestroyDeep
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void syncClientRequestBatchDestroyDeep(SyncClientRequestBatch* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSyncMsg
    argTypes:
    - SyncClientRequestBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: syncClientRequestBatchMetaArr
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SRaftMeta
    signature: SRaftMeta * syncClientRequestBatchMetaArr(const SyncClientRequestBatch*
      pSyncMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSyncMsg
    argTypes:
    - SyncClientRequestBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: syncClientRequestBatchRpcMsgArr
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SRpcMsg
    signature: SRpcMsg * syncClientRequestBatchRpcMsgArr(const SyncClientRequestBatch*
      pSyncMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:102,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:103,1
    - Dst: memcpy
      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:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: syncClientRequestBatchFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: SyncClientRequestBatch
    signature: SyncClientRequestBatch * syncClientRequestBatchFromRpcMsg(const SRpcMsg*
      pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:112,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:115,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:117,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:118,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:119,1
    - Dst: syncClientRequestBatchMetaArr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:121,1
    - Dst: syncClientRequestBatchRpcMsgArr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:122,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:124,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:125,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:127,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:128,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:129,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:130,1
    - Dst: cJSON_CreateArray
      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:134,1
    - Dst: syncRpcMsg2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:136,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:137,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:141,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:142,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:143,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:144,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:146,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:149,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 152
    functionName: syncClientRequestBatch2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    - syncUtilPrintBin
    - cJSON_CreateArray
    - cJSON_AddNumberToObject
    - syncClientRequestBatchMetaArr
    - syncClientRequestBatchRpcMsgArr
    - cJSON_CreateObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    - syncRpcMsg2Json
    - taosMemoryFree
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncClientRequestBatch2Json(const SyncClientRequestBatch* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestBatch2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:155,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:156,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: syncClientRequestBatch2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - syncClientRequestBatch2Json
    - cJSON_Delete
    - cJSON_Print
    linkageType: ''
    returnType: char
    signature: char * syncClientRequestBatch2Str(const SyncClientRequestBatch* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:163,1
    - Dst: printf
      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:164,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:165,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: syncClientRequestBatchPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    - syncClientRequestBatch2Str
    linkageType: ''
    returnType: void
    signature: void syncClientRequestBatchPrint(const SyncClientRequestBatch* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestBatch2Str
      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:171,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:171,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:172,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncClientRequestBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: syncClientRequestBatchPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    - syncClientRequestBatch2Str
    linkageType: ''
    returnType: void
    signature: void syncClientRequestBatchPrint2(char* s, const SyncClientRequestBatch*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:177,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:178,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:178,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: syncClientRequestBatchLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncClientRequestBatch2Str
    linkageType: ''
    returnType: void
    signature: void syncClientRequestBatchLog(const SyncClientRequestBatch* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:184,1
    - Dst: sLTrace
      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:185,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncClientRequestBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: syncClientRequestBatchLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosMemoryFree
    - syncClientRequestBatch2Str
    - sLTrace
    linkageType: ''
    returnType: void
    signature: void syncClientRequestBatchLog2(char* s, const SyncClientRequestBatch*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:197,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:198,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:210,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:211,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:232,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - entryPArr
    - arrSize
    - vgId
    argTypes:
    - SSyncRaftEntry**
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 237
    functionName: syncAppendEntriesBatchBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 1
    functionsReached:
    - memset
    - taosMemoryMalloc
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: SyncAppendEntriesBatch
    signature: SyncAppendEntriesBatch * syncAppendEntriesBatchBuild(SSyncRaftEntry**
      entryPArr, int32_t arrSize, int32_t vgId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: syncAppendEntriesBatchMetaTableArray
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SOffsetAndContLen
    signature: SOffsetAndContLen * syncAppendEntriesBatchMetaTableArray(SyncAppendEntriesBatch*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: syncAppendEntriesBatchDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesBatchDestroy(SyncAppendEntriesBatch* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:250,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncAppendEntriesBatch*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: syncAppendEntriesBatchSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesBatchSerialize(const SyncAppendEntriesBatch*
      pMsg, char* buf, uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      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
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncAppendEntriesBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: syncAppendEntriesBatchDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesBatchDeserialize(const char* buf, uint32_t len,
      SyncAppendEntriesBatch* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:261,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:262,1
    - Dst: syncAppendEntriesBatchSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncAppendEntriesBatch*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: syncAppendEntriesBatchSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - syncAppendEntriesBatchSerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char
    signature: char * syncAppendEntriesBatchSerialize2(const SyncAppendEntriesBatch*
      pMsg, uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:272,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:273,1
    - Dst: syncAppendEntriesBatchDeserialize
      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:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: syncAppendEntriesBatchDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - syncAppendEntriesBatchDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncAppendEntriesBatch
    signature: SyncAppendEntriesBatch * syncAppendEntriesBatchDeserialize2(const char*
      buf, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:280,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:283,1
    - Dst: syncAppendEntriesBatchSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncAppendEntriesBatch*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: syncAppendEntriesBatch2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - syncAppendEntriesBatchSerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesBatch2RpcMsg(const SyncAppendEntriesBatch* pMsg,
      SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatchDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncAppendEntriesBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: syncAppendEntriesBatchFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - syncAppendEntriesBatchDeserialize
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesBatchFromRpcMsg(const SRpcMsg* pRpcMsg, SyncAppendEntriesBatch*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatchDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:292,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: syncAppendEntriesBatchFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - syncAppendEntriesBatchDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncAppendEntriesBatch
    signature: SyncAppendEntriesBatch * syncAppendEntriesBatchFromRpcMsg2(const SRpcMsg*
      pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:299,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:302,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:303,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:304,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:306,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:307,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:308,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:315,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:316,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:318,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:319,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:321,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:322,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:323,1
    - Dst: syncUtilU642Addr
      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:330,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:331,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:333,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:334,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:336,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:337,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:339,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:340,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:342,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:343,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:345,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:346,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:348,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:349,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:352,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:357,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:358,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:362,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:363,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:365,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:366,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:367,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:368,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:371,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:372,1
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:375,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:376,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:380,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:381,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:382,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:383,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:384,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:385,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:388,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 391
    functionName: syncAppendEntriesBatch2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    - syncUtilPrintBin
    - cJSON_AddNumberToObject
    - cJSON_CreateArray
    - cJSON_CreateObject
    - syncUtilU642Addr
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosMemoryFree
    - syncEntry2Json
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncAppendEntriesBatch2Json(const SyncAppendEntriesBatch* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatch2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:394,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:395,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: syncAppendEntriesBatch2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncAppendEntriesBatch2Json
    linkageType: ''
    returnType: char
    signature: char * syncAppendEntriesBatch2Str(const SyncAppendEntriesBatch* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:402,1
    - Dst: printf
      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:403,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:404,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: syncAppendEntriesBatchPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - syncAppendEntriesBatch2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesBatchPrint(const SyncAppendEntriesBatch* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:409,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:410,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:410,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:411,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntriesBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: syncAppendEntriesBatchPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - syncAppendEntriesBatch2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesBatchPrint2(char* s, const SyncAppendEntriesBatch*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:416,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:417,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:417,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: syncAppendEntriesBatchLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - syncAppendEntriesBatch2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesBatchLog(const SyncAppendEntriesBatch* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:423,1
    - Dst: sLTrace
      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:424,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntriesBatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: syncAppendEntriesBatchLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 1
    functionsReached:
    - strlen
    - syncAppendEntriesBatch2Str
    - taosMemoryFree
    - sLTrace
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesBatchLog2(char* s, const SyncAppendEntriesBatch*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:432,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pSyncNode
    - pMsg
    - s
    argTypes:
    - SSyncNode*
    - SyncAppendEntriesBatch*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 439
    functionName: syncLogSendAppendEntriesBatch
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    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:444,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pSyncNode
    - pMsg
    - s
    argTypes:
    - SSyncNode*
    - SyncAppendEntriesBatch*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: syncLogRecvAppendEntriesBatch
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: 0
    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:21,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c:23,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c:24,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c:26,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - SNodeInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: syncUtilNodeInfo2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    - cJSON_AddNumberToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncUtilNodeInfo2Json(const SNodeInfo* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: syncUtilRaftId2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * syncUtilRaftId2Str(const SRaftId* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:21,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:25,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:26,1
    - Dst: snprintf
      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:28,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:29,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:30,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:31,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:32,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:33,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:34,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:35,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:36,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:39,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:40,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:41,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:43,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:44,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:45,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:48,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - pEntry
    argTypes:
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 51
    functionName: syncEntry2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 2
    functionsReached:
    - syncUtilPrintBin
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosMemoryFree
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncEntry2Json(const SSyncRaftEntry* pEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:54,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:55,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pEntry
    argTypes:
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: syncEntry2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncEntry2Json
    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:62,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:63,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:63,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:64,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: syncEntryPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 4
    functionsReached:
    - syncEntry2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncEntryPrint(const SSyncRaftEntry* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntry2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:69,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:70,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:70,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:71,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: syncEntryPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 1
    functionsReached:
    - syncEntry2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncEntryPrint2(char* s, const SSyncRaftEntry* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntry2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:76,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:77,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:77,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: syncEntryLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - syncEntry2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncEntryLog(const SSyncRaftEntry* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntry2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:82,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:83,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:83,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: syncEntryLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 10
    functionsReached:
    - syncEntry2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncEntryLog2(char* s, const SSyncRaftEntry* pObj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:90,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:93,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:95,1
    - Dst: cJSON_AddStringToObject
      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_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:98,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:99,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:100,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:102,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:105,1
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:105,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:108,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:111,1
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:111,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:115,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:118,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SRaftEntryHashCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 121
    functionName: raftCache2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - cJSON_AddItemToArray
    - cJSON_AddNumberToObject
    - cJSON_CreateArray
    - cJSON_CreateObject
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - syncEntry2Json
    linkageType: ''
    returnType: cJSON
    signature: cJSON * raftCache2Json(SRaftEntryHashCache* pCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftCache2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:124,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:125,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SRaftEntryHashCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: raftCache2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - 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:131,1
    - Dst: printf
      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:132,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:133,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SRaftEntryHashCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: raftCachePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - raftCache2Str
    - printf
    - fflush
    - taosMemoryFree
    - 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:138,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:139,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:139,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:140,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pCache
    argTypes:
    - char*
    - SRaftEntryHashCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: raftCachePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - raftCache2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void raftCachePrint2(char* s, SRaftEntryHashCache* pCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftCache2Str
      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:146,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SRaftEntryHashCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: raftCacheLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - raftCache2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: void raftCacheLog(SRaftEntryHashCache* pCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raftCache2Str
      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:153,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:153,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pCache
    argTypes:
    - char*
    - SRaftEntryHashCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: raftCacheLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 4
    functionsReached:
    - strlen
    - raftCache2Str
    - taosMemoryFree
    - sLTrace
    linkageType: ''
    returnType: void
    signature: void raftCacheLog2(char* s, SRaftEntryHashCache* pCache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:160,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:163,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:165,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:166,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:167,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:168,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:169,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:170,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:172,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:173,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:174,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:175,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:176,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:177,1
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:177,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:179,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:181,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:184,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SRaftEntryCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 187
    functionName: raftEntryCache2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    - cJSON_AddNumberToObject
    - cJSON_CreateArray
    - tSkipListIterNext
    - SL_GET_NODE_DATA
    - syncEntry2Json
    - cJSON_CreateObject
    - ASSERT
    - cJSON_AddItemToObject
    - snprintf
    - tSkipListDestroyIter
    - cJSON_AddStringToObject
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tSkipListCreateIter
    - tSkipListIterGet
    linkageType: ''
    returnType: cJSON
    signature: cJSON * raftEntryCache2Json(SRaftEntryCache* pCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftEntryCache2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:190,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:191,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SRaftEntryCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: raftEntryCache2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - raftEntryCache2Json
    - cJSON_Print
    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:197,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:198,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:198,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:199,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SRaftEntryCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: raftEntryCachePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - raftEntryCache2Str
    - printf
    - fflush
    - taosMemoryFree
    - 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:204,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:205,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:205,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:206,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SRaftEntryCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: raftEntryCachePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - raftEntryCache2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void raftEntryCachePrint2(char* s, SRaftEntryCache* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftEntryCache2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:211,1
    - Dst: sTrace
      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:212,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SRaftEntryCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: raftEntryCacheLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 0
    functionsReached:
    - raftEntryCache2Str
    - sTrace
    - taosMemoryFree
    - strlen
    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:218,1
    - Dst: sLTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:219,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:219,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SRaftEntryCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: raftEntryCacheLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: 3
    functionsReached:
    - raftEntryCache2Str
    - strlen
    - taosMemoryFree
    - sLTrace
    linkageType: ''
    returnType: void
    signature: void raftEntryCacheLog2(char* s, SRaftEntryCache* pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRaftStore
    - pJson
    argTypes:
    - SRaftStore*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: raftStoreFromJson
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftStoreFromJson(SRaftStore *pRaftStore, cJSON *pJson)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:24,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:27,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:28,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:30,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:31,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:32,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:37,1
    - Dst: cJSON_AddStringToObject
      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:39,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:41,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:42,1
    - Dst: cJSON_CreateObject
      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:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pRaftStore
    argTypes:
    - SRaftStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 51
    functionName: raftStore2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *raftStore2Json(SRaftStore *pRaftStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftStore2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:54,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:55,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRaftStore
    argTypes:
    - SRaftStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: raftStore2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - raftStore2Json
    linkageType: ''
    returnType: char
    signature: char *raftStore2Str(SRaftStore *pRaftStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:62,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:63,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:63,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:64,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SRaftStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: raftStorePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: 0
    functionsReached:
    - raftStore2Str
    - printf
    - fflush
    - taosMemoryFree
    - 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:69,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:70,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:70,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:71,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SRaftStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: raftStorePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: 0
    functionsReached:
    - raftStore2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void raftStorePrint2(char *s, SRaftStore *pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:75,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:76,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:76,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SRaftStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: raftStoreLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - raftStore2Str
    - taosMemoryFree
    - sTrace
    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:81,1
    - Dst: sTrace
      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:82,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SRaftStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: raftStoreLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - raftStore2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: void raftStoreLog2(char *s, SRaftStore *pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSyncCfg
    argTypes:
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: syncCfg2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftCfgDebug.c
    functionUses: 2
    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:28,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftCfgDebug.c:29,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftCfgDebug.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pSyncCfg
    argTypes:
    - char*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: syncCfgFromStr
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftCfgDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_Parse
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncCfgFromStr(const char *s, SSyncCfg *pSyncCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:22,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: syncPingBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncPing
    signature: SyncPing * syncPingBuild(uint32_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:31,1
    - Dst: syncPingBuild
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:32,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - srcId
    - destId
    - vgId
    - str
    argTypes:
    - SRaftId*
    - SRaftId*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: syncPingBuild2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    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: syncPingBuild2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - srcId
    - destId
    - vgId
    argTypes:
    - SRaftId*
    - SRaftId*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: syncPingBuild3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - syncPingBuild2
    linkageType: ''
    returnType: SyncPing
    signature: SyncPing * syncPingBuild3(const SRaftId* srcId, const SRaftId* destId,
      int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:46,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:47,1
    - Dst: syncPingSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncPing*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: syncPingSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncPingSerialize
    linkageType: ''
    returnType: char
    signature: char * syncPingSerialize2(const SyncPing* pMsg, uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:56,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:59,1
    - Dst: syncPingSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncPing*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: syncPing2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - rpcMallocCont
    - memset
    - syncPingSerialize
    linkageType: ''
    returnType: void
    signature: void syncPing2RpcMsg(const SyncPing* pMsg, SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncPing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: syncPingFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncPingDeserialize
    linkageType: ''
    returnType: void
    signature: void syncPingFromRpcMsg(const SRpcMsg* pRpcMsg, SyncPing* pMsg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:69,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:70,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:76,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:80,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:81,1
    - Dst: tDecodeI32
      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:85,1
    - Dst: tDecodeU32
      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:89,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:92,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:93,1
    - Dst: tDecodeI32
      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:97,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:100,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:101,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:104,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:105,1
    - Dst: tDecodeU32
      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:109,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:114,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:115,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:118,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:119,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:121,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - buf
    - bufLen
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 124
    functionName: syncPingDeserialize3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - ASSERT
    - tDecoderClear
    - taosMemoryFree
    - tDecodeU32
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - tDecodeBinary
    - tDecodeU64
    - tDecodeI32
    linkageType: ''
    returnType: SyncPing
    signature: SyncPing * syncPingDeserialize3(void* buf, int32_t bufLen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:128,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:129,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:133,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:136,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:139,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:142,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:145,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:148,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:151,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:154,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:157,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:161,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:163,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPing*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 165
    functionName: syncPingSerialize3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - tEncodeU64
    - tEncoderClear
    - tEncodeU32
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncPingSerialize3(const SyncPing* pMsg, char* buf, int32_t
      bufLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:169,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:173,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:174,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:176,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:177,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:178,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:185,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:186,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:188,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:189,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:191,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:192,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:193,1
    - Dst: syncUtilU642Addr
      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:200,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:201,1
    - Dst: cJSON_AddNumberToObject
      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:204,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:206,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:208,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:209,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:210,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:211,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:212,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:213,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:216,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 219
    functionName: syncPing2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncUtilPrintBin
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosMemoryFree
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncPing2Json(const SyncPing* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPing2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:222,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:223,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: syncPing2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncPing2Json
    linkageType: ''
    returnType: char
    signature: char * syncPing2Str(const SyncPing* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPing2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:230,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:231,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:231,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:232,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: syncPingPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    - syncPing2Str
    linkageType: ''
    returnType: void
    signature: void syncPingPrint(const SyncPing* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPing2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:237,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:238,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:238,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:239,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: syncPingPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    - syncPing2Str
    linkageType: ''
    returnType: void
    signature: void syncPingPrint2(char* s, const SyncPing* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPing2Str
      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:245,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:245,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: syncPingLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPing2Str
    linkageType: ''
    returnType: void
    signature: void syncPingLog(const SyncPing* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncPing2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:251,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:252,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:252,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: syncPingLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 6
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPing2Str
    linkageType: ''
    returnType: void
    signature: void syncPingLog2(char* s, const SyncPing* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: syncPingDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 7
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncPingDestroy(SyncPing* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:264,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPing*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: syncPingSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncPingSerialize(const SyncPing* pMsg, char* buf, uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      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
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncPing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: syncPingDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncPingDeserialize(const char* buf, uint32_t len, SyncPing* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:276,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:277,1
    - Dst: syncPingDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:278,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: syncPingDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncPingDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncPing
    signature: SyncPing * syncPingDeserialize2(const char* buf, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:284,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: syncPingFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    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:292,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: syncPingReplyBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncPingReply
    signature: SyncPingReply * syncPingReplyBuild(uint32_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:301,1
    - Dst: syncPingReplyBuild
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:302,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - srcId
    - destId
    - vgId
    - str
    argTypes:
    - SRaftId*
    - SRaftId*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: syncPingReplyBuild2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - strlen
    - syncPingReplyBuild
    - snprintf
    linkageType: ''
    returnType: SyncPingReply
    signature: SyncPingReply * syncPingReplyBuild2(const SRaftId* srcId, const SRaftId*
      destId, int32_t vgId, const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReplyBuild2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - srcId
    - destId
    - vgId
    argTypes:
    - SRaftId*
    - SRaftId*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: syncPingReplyBuild3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - syncPingReplyBuild2
    linkageType: ''
    returnType: SyncPingReply
    signature: SyncPingReply * syncPingReplyBuild3(const SRaftId* srcId, const SRaftId*
      destId, int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPingReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: syncPingReplyDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 7
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncPingReplyDestroy(SyncPingReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:322,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPingReply*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: syncPingReplySerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncPingReplySerialize(const SyncPingReply* pMsg, char* buf, uint32_t
      bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:327,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:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncPingReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: syncPingReplyDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncPingReplyDeserialize(const char* buf, uint32_t len, SyncPingReply*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:333,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:334,1
    - Dst: syncPingReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncPingReply*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: syncPingReplySerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncPingReplySerialize
    linkageType: ''
    returnType: char
    signature: char * syncPingReplySerialize2(const SyncPingReply* pMsg, uint32_t*
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      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:345,1
    - Dst: syncPingReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:346,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: syncPingReplyDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncPingReplyDeserialize
    linkageType: ''
    returnType: SyncPingReply
    signature: SyncPingReply * syncPingReplyDeserialize2(const char* buf, uint32_t
      len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:353,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:354,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:358,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:361,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:364,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:367,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:370,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:373,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:376,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:379,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:382,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:386,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPingReply*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 390
    functionName: syncPingReplySerialize3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - tEncodeU64
    - tEncoderClear
    - tEncodeU32
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncPingReplySerialize3(const SyncPingReply* pMsg, char* buf,
      int32_t bufLen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:394,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:395,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:401,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:405,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:406,1
    - Dst: tDecodeI32
      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:410,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:413,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:414,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:417,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:418,1
    - Dst: tDecodeI32
      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:422,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:425,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:426,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:429,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:430,1
    - Dst: tDecodeU32
      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:434,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:440,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:443,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:444,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:446,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:447,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - buf
    - bufLen
    argTypes:
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 449
    functionName: syncPingReplyDeserialize3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - ASSERT
    - tDecoderClear
    - taosMemoryFree
    - tDecodeU32
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - tDecodeBinary
    - tDecodeU64
    - tDecodeI32
    linkageType: ''
    returnType: SyncPingReply
    signature: SyncPingReply * syncPingReplyDeserialize3(void* buf, int32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:452,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:455,1
    - Dst: syncPingReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncPingReply*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: syncPingReply2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 6
    functionsReached:
    - rpcMallocCont
    - memset
    - syncPingReplySerialize
    linkageType: ''
    returnType: void
    signature: void syncPingReply2RpcMsg(const SyncPingReply* pMsg, SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncPingReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: syncPingReplyFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncPingReplyDeserialize
    linkageType: ''
    returnType: void
    signature: void syncPingReplyFromRpcMsg(const SRpcMsg* pRpcMsg, SyncPingReply*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:464,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 3
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: syncPingReplyFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncPingReplyDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncPingReply
    signature: SyncPingReply * syncPingReplyFromRpcMsg2(const SRpcMsg* pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:471,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:474,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:475,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:476,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:478,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:479,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:480,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:486,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:487,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:488,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:490,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:491,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:493,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:494,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:495,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:501,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:502,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:503,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:505,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:506,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:508,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:510,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:511,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:512,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:513,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:514,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:515,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:518,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPingReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 521
    functionName: syncPingReply2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncUtilPrintBin
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosMemoryFree
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncPingReply2Json(const SyncPingReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:524,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:525,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPingReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 528
    functionName: syncPingReply2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncPingReply2Json
    linkageType: ''
    returnType: char
    signature: char * syncPingReply2Str(const SyncPingReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReply2Str
      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:533,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:533,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:534,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPingReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: syncPingReplyPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncPingReply2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncPingReplyPrint(const SyncPingReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:539,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:540,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:540,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:541,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPingReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: syncPingReplyPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncPingReply2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncPingReplyPrint2(char* s, const SyncPingReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReply2Str
      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:547,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:547,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPingReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: syncPingReplyLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPingReply2Str
    linkageType: ''
    returnType: void
    signature: void syncPingReplyLog(const SyncPingReply* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReply2Str
      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:554,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:554,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPingReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 557
    functionName: syncPingReplyLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 6
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPingReply2Str
    linkageType: ''
    returnType: void
    signature: void syncPingReplyLog2(char* s, const SyncPingReply* pMsg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeoutDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:565,1
    - Dst: syncTimeout2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:566,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:567,1
    - Dst: syncPingDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:570,1
    - Dst: syncPing2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:571,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:572,1
    - Dst: syncPingReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:575,1
    - Dst: syncPingReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:576,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:577,1
    - Dst: syncClientRequest2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:581,1
    - Dst: syncRpcUnknownMsg2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:584,1
    - Dst: syncRequestVoteDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:587,1
    - Dst: syncRequestVote2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:588,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:589,1
    - Dst: syncRequestVoteReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:592,1
    - Dst: syncRequestVoteReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:593,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:594,1
    - Dst: syncAppendEntriesDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:597,1
    - Dst: syncAppendEntries2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:598,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:599,1
    - Dst: syncAppendEntriesReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:602,1
    - Dst: syncAppendEntriesReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:603,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:604,1
    - Dst: syncSnapshotSendDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:607,1
    - Dst: syncSnapshotSend2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:608,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:609,1
    - Dst: syncSnapshotRspDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:612,1
    - Dst: syncSnapshotRsp2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:613,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:614,1
    - Dst: syncLeaderTransferDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:617,1
    - Dst: syncLeaderTransfer2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:618,1
    - Dst: syncLeaderTransferDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:619,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:622,1
    - Dst: syncUtilPrintBin
      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:625,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:626,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:627,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:628,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:629,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:632,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:634,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:635,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:636,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:637,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:638,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:639,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:642,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:643,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:644,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:647,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:648,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 69
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 650
    functionName: syncRpcMsg2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncAppendEntries2Json
    - syncClientRequest2Json
    - syncSnapshotRsp2Json
    - syncSnapshotRspDestroy
    - syncTimeoutDeserialize2
    - syncPingReplyDeserialize2
    - syncSnapshotSendDestroy
    - cJSON_CreateObject
    - syncRequestVoteDeserialize2
    - syncPing2Json
    - syncSnapshotSend2Json
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - syncTimeout2Json
    - syncAppendEntriesDeserialize2
    - syncAppendEntriesReply2Json
    - syncAppendEntriesReplyDestroy
    - syncRequestVoteReplyDestroy
    - syncRequestVote2Json
    - syncTimeoutDestroy
    - syncRequestVoteReply2Json
    - syncSnapshotRspDeserialize2
    - cJSON_AddStringToObject
    - syncPingReply2Json
    - syncAppendEntriesDestroy
    - syncLeaderTransfer2Json
    - syncUtilPrintBin
    - syncRequestVoteDestroy
    - syncRpcUnknownMsg2Json
    - cJSON_AddNumberToObject
    - syncSnapshotSendDeserialize2
    - syncPingReplyDestroy
    - syncLeaderTransferDeserialize2
    - syncLeaderTransferDestroy
    - syncPingDeserialize2
    - taosMemoryFree
    - syncPingDestroy
    - syncAppendEntriesReplyDeserialize2
    - syncRequestVoteReplyDeserialize2
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncRpcMsg2Json(SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:653,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:654,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:655,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:657,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 660
    functionName: syncRpcUnknownMsg2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    - cJSON_AddNumberToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncRpcUnknownMsg2Json()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsg2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:663,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:664,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 667
    functionName: syncRpcMsg2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncRpcMsg2Json
    linkageType: ''
    returnType: char
    signature: char * syncRpcMsg2Str(SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsg2Str
      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:672,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:672,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:673,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 670
    functionDepth: 5
    functionLinenumber: 670
    functionLinenumberEnd: 675
    functionName: syncRpcMsgPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    - syncRpcMsg2Str
    linkageType: ''
    returnType: void
    signature: void syncRpcMsgPrint(SRpcMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:678,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:679,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:679,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:680,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 5
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: syncRpcMsgPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    - syncRpcMsg2Str
    linkageType: ''
    returnType: void
    signature: void syncRpcMsgPrint2(char* s, SRpcMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsg2Str
      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:686,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:686,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 5
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: syncRpcMsgLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - syncRpcMsg2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncRpcMsgLog(SRpcMsg* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:692,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:693,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:693,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 5
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: syncRpcMsgLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 31
    functionsReached:
    - strlen
    - sTrace
    - syncRpcMsg2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncRpcMsgLog2(char* s, SRpcMsg* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:700,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:703,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:704,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:705,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:707,1
    - Dst: snprintf
      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:709,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:715,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:716,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:717,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:719,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:720,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:722,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:723,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:724,1
    - Dst: syncUtilU642Addr
      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:731,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:732,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:734,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:735,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:737,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:738,1
    - Dst: snprintf
      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:741,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:743,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:744,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:746,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:747,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:749,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:750,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:753,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:754,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:756,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:758,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:760,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:761,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:762,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:763,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:764,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:765,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:768,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 771
    functionName: syncSnapshotSend2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncUtilPrintBin
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosMemoryFree
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncSnapshotSend2Json(const SyncSnapshotSend* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSend2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:774,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:775,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 778
    functionName: syncSnapshotSend2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncSnapshotSend2Json
    linkageType: ''
    returnType: char
    signature: char * syncSnapshotSend2Str(const SyncSnapshotSend* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSend2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:782,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:783,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:783,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:784,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 786
    functionName: syncSnapshotSendPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncSnapshotSend2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncSnapshotSendPrint(const SyncSnapshotSend* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSend2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:789,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:790,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:790,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:791,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 788
    functionDepth: 3
    functionLinenumber: 788
    functionLinenumberEnd: 793
    functionName: syncSnapshotSendPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncSnapshotSend2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncSnapshotSendPrint2(char* s, const SyncSnapshotSend* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSend2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:796,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:797,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:797,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 795
    functionDepth: 3
    functionLinenumber: 795
    functionLinenumberEnd: 799
    functionName: syncSnapshotSendLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - syncSnapshotSend2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncSnapshotSendLog(const SyncSnapshotSend* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSend2Str
      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:804,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:804,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 801
    functionDepth: 3
    functionLinenumber: 801
    functionLinenumberEnd: 807
    functionName: syncSnapshotSendLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - strlen
    - sTrace
    - syncSnapshotSend2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncSnapshotSendLog2(char* s, const SyncSnapshotSend* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 816
    functionName: syncClientRequestAlloc
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SyncClientRequest
    signature: SyncClientRequest * syncClientRequestAlloc(uint32_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:820,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:823,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:825,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:826,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:827,1
    - Dst: cJSON_AddStringToObject
      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: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:830,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:833,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:834,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:835,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:836,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:837,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:838,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:841,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 844
    functionName: syncClientRequest2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncUtilPrintBin
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosMemoryFree
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncClientRequest2Json(const SyncClientRequest* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequest2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:847,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:848,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 851
    functionName: syncClientRequest2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncClientRequest2Json
    linkageType: ''
    returnType: char
    signature: char * syncClientRequest2Str(const SyncClientRequest* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequest2Str
      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:856,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:856,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:857,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 859
    functionName: syncClientRequestPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncClientRequest2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncClientRequestPrint(const SyncClientRequest* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequest2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:862,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:863,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:863,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:864,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncClientRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 866
    functionName: syncClientRequestPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncClientRequest2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncClientRequestPrint2(char* s, const SyncClientRequest* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequest2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:869,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:870,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:870,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 3
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: syncClientRequestLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - syncClientRequest2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: void syncClientRequestLog(const SyncClientRequest* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequest2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:876,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:877,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:877,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncClientRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 874
    functionDepth: 3
    functionLinenumber: 874
    functionLinenumberEnd: 880
    functionName: syncClientRequestLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - strlen
    - syncClientRequest2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: void syncClientRequestLog2(char* s, const SyncClientRequest* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:885,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 890
    functionName: syncTimeoutBuildX
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncTimeout
    signature: SyncTimeout * syncTimeoutBuildX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeoutBuildX
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - timeoutType
    - logicClock
    - timerMS
    - vgId
    - data
    argTypes:
    - ESyncTimeoutType
    - uint64_t
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 901
    functionName: syncTimeoutBuild2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - syncTimeoutBuildX
    linkageType: ''
    returnType: SyncTimeout
    signature: "SyncTimeout * syncTimeoutBuild2(ESyncTimeoutType timeoutType, uint64_t
      logicClock, int32_t timerMS, int32_t vgId,\n                               void*
      data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:904,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:905,1
    - Dst: syncTimeoutSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncTimeout*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 911
    functionName: syncTimeoutSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncTimeoutSerialize
    linkageType: ''
    returnType: char
    signature: char * syncTimeoutSerialize2(const SyncTimeout* pMsg, uint32_t* len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncTimeout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 917
    functionName: syncTimeoutDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 7
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncTimeoutDestroy(SyncTimeout* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:920,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncTimeout*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: syncTimeoutSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncTimeoutSerialize(const SyncTimeout* pMsg, char* buf, uint32_t
      bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:925,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncTimeout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 927
    functionName: syncTimeoutDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncTimeoutDeserialize(const char* buf, uint32_t len, SyncTimeout*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:931,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:932,1
    - Dst: syncTimeoutDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:933,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: syncTimeoutDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - syncTimeoutDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncTimeout
    signature: SyncTimeout * syncTimeoutDeserialize2(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:939,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:942,1
    - Dst: syncTimeoutSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncTimeout*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 938
    functionDepth: 2
    functionLinenumber: 938
    functionLinenumberEnd: 944
    functionName: syncTimeout2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - rpcMallocCont
    - memset
    - syncTimeoutSerialize
    linkageType: ''
    returnType: void
    signature: void syncTimeout2RpcMsg(const SyncTimeout* pMsg, SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeoutDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncTimeout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 948
    functionName: syncTimeoutFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncTimeoutDeserialize
    linkageType: ''
    returnType: void
    signature: void syncTimeoutFromRpcMsg(const SRpcMsg* pRpcMsg, SyncTimeout* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeoutDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:951,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 950
    functionDepth: 3
    functionLinenumber: 950
    functionLinenumberEnd: 954
    functionName: syncTimeoutFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - syncTimeoutDeserialize2
    linkageType: ''
    returnType: SyncTimeout
    signature: SyncTimeout * syncTimeoutFromRpcMsg2(const SRpcMsg* pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:958,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:962,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:964,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:965,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:966,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:967,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:968,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:969,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:972,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncTimeout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 975
    functionName: syncTimeout2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncTimeout2Json(const SyncTimeout* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeout2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:978,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:979,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncTimeout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 982
    functionName: syncTimeout2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncTimeout2Json
    linkageType: ''
    returnType: char
    signature: char * syncTimeout2Str(const SyncTimeout* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeout2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:986,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:987,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:987,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:988,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncTimeout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 990
    functionName: syncTimeoutPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - syncTimeout2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncTimeoutPrint(const SyncTimeout* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeout2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:993,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:994,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:994,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:995,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncTimeout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 992
    functionDepth: 2
    functionLinenumber: 992
    functionLinenumberEnd: 997
    functionName: syncTimeoutPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - syncTimeout2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncTimeoutPrint2(char* s, const SyncTimeout* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeout2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1000,1
    - Dst: sTrace
      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:1001,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncTimeout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1003
    functionName: syncTimeoutLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncTimeout2Str
    linkageType: ''
    returnType: void
    signature: void syncTimeoutLog(const SyncTimeout* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeout2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1007,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1008,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1008,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncTimeout*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1011
    functionName: syncTimeoutLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncTimeout2Str
    linkageType: ''
    returnType: void
    signature: void syncTimeoutLog2(char* s, const SyncTimeout* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1016,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1022
    functionName: syncRequestVoteBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 4
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncRequestVote
    signature: SyncRequestVote * syncRequestVoteBuild(int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVote*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1028
    functionName: syncRequestVoteDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 7
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteDestroy(SyncRequestVote* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1031,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncRequestVote*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1033
    functionName: syncRequestVoteSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteSerialize(const SyncRequestVote* pMsg, char* buf,
      uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1036,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncRequestVote*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1038
    functionName: syncRequestVoteDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteDeserialize(const char* buf, uint32_t len, SyncRequestVote*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1041,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1042,1
    - Dst: syncRequestVoteSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncRequestVote*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1048
    functionName: syncRequestVoteSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    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:1052,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1053,1
    - Dst: syncRequestVoteDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1054,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1057
    functionName: syncRequestVoteDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    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:1060,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1063,1
    - Dst: syncRequestVoteSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncRequestVote*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1065
    functionName: syncRequestVote2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - syncRequestVoteSerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: void syncRequestVote2RpcMsg(const SyncRequestVote* pMsg, SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncRequestVote*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1067
    functionDepth: 2
    functionLinenumber: 1067
    functionLinenumberEnd: 1069
    functionName: syncRequestVoteFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncRequestVoteDeserialize
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteFromRpcMsg(const SRpcMsg* pRpcMsg, SyncRequestVote*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1072,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1075
    functionName: syncRequestVoteFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - syncRequestVoteDeserialize2
    linkageType: ''
    returnType: SyncRequestVote
    signature: SyncRequestVote * syncRequestVoteFromRpcMsg2(const SRpcMsg* pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1079,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1082,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:1084,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1086,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1087,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1088,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1094,1
    - Dst: cJSON_AddStringToObject
      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:1096,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1098,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1099,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1101,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1102,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1108,1
    - Dst: cJSON_AddStringToObject
      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:1110,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1112,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1113,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1115,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1116,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1117,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1118,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1119,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1120,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1123,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVote*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1126
    functionName: syncRequestVote2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncRequestVote2Json(const SyncRequestVote* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVote2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1129,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1130,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVote*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1128
    functionDepth: 2
    functionLinenumber: 1128
    functionLinenumberEnd: 1133
    functionName: syncRequestVote2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - syncRequestVote2Json
    - cJSON_Print
    linkageType: ''
    returnType: char
    signature: char * syncRequestVote2Str(const SyncRequestVote* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVote2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1137,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1138,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1138,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1139,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVote*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1136
    functionDepth: 3
    functionLinenumber: 1136
    functionLinenumberEnd: 1141
    functionName: syncRequestVotePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - syncRequestVote2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncRequestVotePrint(const SyncRequestVote* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVote2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1144,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1145,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1145,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncRequestVote*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1143
    functionDepth: 3
    functionLinenumber: 1143
    functionLinenumberEnd: 1148
    functionName: syncRequestVotePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - syncRequestVote2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncRequestVotePrint2(char* s, const SyncRequestVote* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVote2Str
      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:1152,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1152,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVote*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1150
    functionDepth: 3
    functionLinenumber: 1150
    functionLinenumberEnd: 1154
    functionName: syncRequestVoteLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncRequestVote2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteLog(const SyncRequestVote* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVote2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1158,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1159,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncRequestVote*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1156
    functionDepth: 3
    functionLinenumber: 1156
    functionLinenumberEnd: 1162
    functionName: syncRequestVoteLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - syncRequestVote2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteLog2(char* s, const SyncRequestVote* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1167,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1173
    functionName: syncRequestVoteReplyBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 6
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncRequestVoteReply
    signature: SyncRequestVoteReply * syncRequestVoteReplyBuild(int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVoteReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: syncRequestVoteReplyDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 7
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteReplyDestroy(SyncRequestVoteReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1182,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncRequestVoteReply*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    functionName: syncRequestVoteReplySerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteReplySerialize(const SyncRequestVoteReply* pMsg,
      char* buf, uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1187,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncRequestVoteReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1189
    functionName: syncRequestVoteReplyDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteReplyDeserialize(const char* buf, uint32_t len,
      SyncRequestVoteReply* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1192,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1193,1
    - Dst: syncRequestVoteReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncRequestVoteReply*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1199
    functionName: syncRequestVoteReplySerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncRequestVoteReplySerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char
    signature: char * syncRequestVoteReplySerialize2(const SyncRequestVoteReply* pMsg,
      uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1203,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1204,1
    - Dst: syncRequestVoteReplyDeserialize
      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:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1201
    functionDepth: 2
    functionLinenumber: 1201
    functionLinenumberEnd: 1208
    functionName: syncRequestVoteReplyDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncRequestVoteReplyDeserialize
    linkageType: ''
    returnType: SyncRequestVoteReply
    signature: SyncRequestVoteReply * syncRequestVoteReplyDeserialize2(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:1211,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1214,1
    - Dst: syncRequestVoteReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncRequestVoteReply*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1210
    functionDepth: 2
    functionLinenumber: 1210
    functionLinenumberEnd: 1216
    functionName: syncRequestVoteReply2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - syncRequestVoteReplySerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteReply2RpcMsg(const SyncRequestVoteReply* pMsg,
      SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncRequestVoteReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1220
    functionName: syncRequestVoteReplyFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncRequestVoteReplyDeserialize
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteReplyFromRpcMsg(const SRpcMsg* pRpcMsg, SyncRequestVoteReply*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1223,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 3
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: syncRequestVoteReplyFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - syncRequestVoteReplyDeserialize2
    linkageType: ''
    returnType: SyncRequestVoteReply
    signature: SyncRequestVoteReply * syncRequestVoteReplyFromRpcMsg2(const SRpcMsg*
      pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1230,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:1234,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1235,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1237,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1238,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1239,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1245,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1246,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1247,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1249,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1250,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1252,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1253,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1259,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1260,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1261,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1263,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1264,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1266,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1267,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1268,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1271,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVoteReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1274
    functionName: syncRequestVoteReply2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncRequestVoteReply2Json(const SyncRequestVoteReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1277,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1278,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVoteReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1276
    functionDepth: 2
    functionLinenumber: 1276
    functionLinenumberEnd: 1281
    functionName: syncRequestVoteReply2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncRequestVoteReply2Json
    linkageType: ''
    returnType: char
    signature: char * syncRequestVoteReply2Str(const SyncRequestVoteReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1285,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1286,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1286,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1287,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVoteReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1284
    functionDepth: 3
    functionLinenumber: 1284
    functionLinenumberEnd: 1289
    functionName: syncRequestVoteReplyPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncRequestVoteReply2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteReplyPrint(const SyncRequestVoteReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReply2Str
      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:1293,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1293,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1294,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncRequestVoteReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1291
    functionDepth: 3
    functionLinenumber: 1291
    functionLinenumberEnd: 1296
    functionName: syncRequestVoteReplyPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncRequestVoteReply2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteReplyPrint2(char* s, const SyncRequestVoteReply*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1299,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1300,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1300,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVoteReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1298
    functionDepth: 3
    functionLinenumber: 1298
    functionLinenumberEnd: 1302
    functionName: syncRequestVoteReplyLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - syncRequestVoteReply2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteReplyLog(const SyncRequestVoteReply* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1306,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1307,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1307,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncRequestVoteReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1310
    functionName: syncRequestVoteReplyLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - strlen
    - sTrace
    - syncRequestVoteReply2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncRequestVoteReplyLog2(char* s, const SyncRequestVoteReply*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1315,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dataLen
    - vgId
    argTypes:
    - uint32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1322
    functionName: syncAppendEntriesBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncAppendEntries
    signature: SyncAppendEntries * syncAppendEntriesBuild(uint32_t dataLen, int32_t
      vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1328
    functionName: syncAppendEntriesDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 7
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesDestroy(SyncAppendEntries* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1331,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncAppendEntries*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1333
    functionName: syncAppendEntriesSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesSerialize(const SyncAppendEntries* pMsg, char*
      buf, uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1336,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:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1339
    functionName: syncAppendEntriesDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesDeserialize(const char* buf, uint32_t len, SyncAppendEntries*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1342,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1343,1
    - Dst: syncAppendEntriesSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncAppendEntries*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1341
    functionDepth: 2
    functionLinenumber: 1341
    functionLinenumberEnd: 1349
    functionName: syncAppendEntriesSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncAppendEntriesSerialize
    linkageType: ''
    returnType: char
    signature: char * syncAppendEntriesSerialize2(const SyncAppendEntries* pMsg, uint32_t*
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      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:1354,1
    - Dst: syncAppendEntriesDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1355,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1351
    functionDepth: 2
    functionLinenumber: 1351
    functionLinenumberEnd: 1358
    functionName: syncAppendEntriesDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - syncAppendEntriesDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncAppendEntries
    signature: SyncAppendEntries * syncAppendEntriesDeserialize2(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:1361,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1364,1
    - Dst: syncAppendEntriesSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncAppendEntries*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1366
    functionName: syncAppendEntries2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - rpcMallocCont
    - memset
    - syncAppendEntriesSerialize
    linkageType: ''
    returnType: void
    signature: void syncAppendEntries2RpcMsg(const SyncAppendEntries* pMsg, SRpcMsg*
      pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1370
    functionName: syncAppendEntriesFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncAppendEntriesDeserialize
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesFromRpcMsg(const SRpcMsg* pRpcMsg, SyncAppendEntries*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1373,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1372
    functionDepth: 3
    functionLinenumber: 1372
    functionLinenumberEnd: 1376
    functionName: syncAppendEntriesFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncAppendEntriesDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncAppendEntries
    signature: SyncAppendEntries * syncAppendEntriesFromRpcMsg2(const SRpcMsg* pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1380,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:1384,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1385,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1387,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1388,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1389,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1395,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1396,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1397,1
    - Dst: cJSON_AddNumberToObject
      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:1400,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1402,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1403,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1404,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1410,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1411,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1412,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1414,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1415,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1417,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1418,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1420,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1421,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1423,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1424,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1426,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1427,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1429,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1430,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1432,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1434,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1435,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1436,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1437,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1438,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1439,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1442,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1445
    functionName: syncAppendEntries2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncUtilPrintBin
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosMemoryFree
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncAppendEntries2Json(const SyncAppendEntries* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntries2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1448,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1449,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1447
    functionDepth: 2
    functionLinenumber: 1447
    functionLinenumberEnd: 1452
    functionName: syncAppendEntries2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - syncAppendEntries2Json
    - cJSON_Print
    linkageType: ''
    returnType: char
    signature: char * syncAppendEntries2Str(const SyncAppendEntries* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntries2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1456,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1457,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1457,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1458,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1455
    functionDepth: 3
    functionLinenumber: 1455
    functionLinenumberEnd: 1460
    functionName: syncAppendEntriesPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - syncAppendEntries2Str
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesPrint(const SyncAppendEntries* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntries2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1463,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1464,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1464,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1465,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1462
    functionDepth: 3
    functionLinenumber: 1462
    functionLinenumberEnd: 1467
    functionName: syncAppendEntriesPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - syncAppendEntries2Str
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesPrint2(char* s, const SyncAppendEntries* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntries2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1470,1
    - Dst: sTrace
      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:1471,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1469
    functionDepth: 3
    functionLinenumber: 1469
    functionLinenumberEnd: 1473
    functionName: syncAppendEntriesLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - syncAppendEntries2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesLog(const SyncAppendEntries* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntries2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1477,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1478,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1478,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1475
    functionDepth: 3
    functionLinenumber: 1475
    functionLinenumberEnd: 1481
    functionName: syncAppendEntriesLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - strlen
    - sTrace
    - syncAppendEntries2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesLog2(char* s, const SyncAppendEntries* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1486,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1492
    functionName: syncAppendEntriesReplyBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 4
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncAppendEntriesReply
    signature: SyncAppendEntriesReply * syncAppendEntriesReplyBuild(int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1498
    functionName: syncAppendEntriesReplyDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 7
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesReplyDestroy(SyncAppendEntriesReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1501,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncAppendEntriesReply*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: syncAppendEntriesReplySerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesReplySerialize(const SyncAppendEntriesReply*
      pMsg, char* buf, uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1506,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1505
    functionDepth: 1
    functionLinenumber: 1505
    functionLinenumberEnd: 1508
    functionName: syncAppendEntriesReplyDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesReplyDeserialize(const char* buf, uint32_t len,
      SyncAppendEntriesReply* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1511,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1512,1
    - Dst: syncAppendEntriesReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncAppendEntriesReply*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1510
    functionDepth: 2
    functionLinenumber: 1510
    functionLinenumberEnd: 1518
    functionName: syncAppendEntriesReplySerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncAppendEntriesReplySerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char
    signature: char * syncAppendEntriesReplySerialize2(const SyncAppendEntriesReply*
      pMsg, uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      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:1523,1
    - Dst: syncAppendEntriesReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1524,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1520
    functionDepth: 2
    functionLinenumber: 1520
    functionLinenumberEnd: 1527
    functionName: syncAppendEntriesReplyDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - syncAppendEntriesReplyDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncAppendEntriesReply
    signature: SyncAppendEntriesReply * syncAppendEntriesReplyDeserialize2(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:1530,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1533,1
    - Dst: syncAppendEntriesReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncAppendEntriesReply*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1529
    functionDepth: 2
    functionLinenumber: 1529
    functionLinenumberEnd: 1535
    functionName: syncAppendEntriesReply2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - rpcMallocCont
    - memset
    - syncAppendEntriesReplySerialize
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesReply2RpcMsg(const SyncAppendEntriesReply* pMsg,
      SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1537
    functionDepth: 2
    functionLinenumber: 1537
    functionLinenumberEnd: 1539
    functionName: syncAppendEntriesReplyFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncAppendEntriesReplyDeserialize
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesReplyFromRpcMsg(const SRpcMsg* pRpcMsg, SyncAppendEntriesReply*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1542,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1541
    functionDepth: 3
    functionLinenumber: 1541
    functionLinenumberEnd: 1545
    functionName: syncAppendEntriesReplyFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncAppendEntriesReplyDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncAppendEntriesReply
    signature: SyncAppendEntriesReply * syncAppendEntriesReplyFromRpcMsg2(const SRpcMsg*
      pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1549,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1552,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1553,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1554,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1556,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1557,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1558,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1564,1
    - Dst: cJSON_AddStringToObject
      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:1566,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1568,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1569,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1571,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1572,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1573,1
    - Dst: syncUtilU642Addr
      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:1580,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1581,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1583,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1584,1
    - Dst: snprintf
      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:1590,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1591,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1592,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1593,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1594,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1595,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1598,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1547
    functionDepth: 1
    functionLinenumber: 1547
    functionLinenumberEnd: 1601
    functionName: syncAppendEntriesReply2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncAppendEntriesReply2Json(const SyncAppendEntriesReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1604,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1605,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1603
    functionDepth: 2
    functionLinenumber: 1603
    functionLinenumberEnd: 1608
    functionName: syncAppendEntriesReply2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncAppendEntriesReply2Json
    linkageType: ''
    returnType: char
    signature: char * syncAppendEntriesReply2Str(const SyncAppendEntriesReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1612,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1613,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1613,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1614,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1611
    functionDepth: 3
    functionLinenumber: 1611
    functionLinenumberEnd: 1616
    functionName: syncAppendEntriesReplyPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - syncAppendEntriesReply2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesReplyPrint(const SyncAppendEntriesReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReply2Str
      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:1620,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1620,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1621,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1618
    functionDepth: 3
    functionLinenumber: 1618
    functionLinenumberEnd: 1623
    functionName: syncAppendEntriesReplyPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - syncAppendEntriesReply2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesReplyPrint2(char* s, const SyncAppendEntriesReply*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReply2Str
      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:1627,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1627,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1625
    functionDepth: 3
    functionLinenumber: 1625
    functionLinenumberEnd: 1629
    functionName: syncAppendEntriesReplyLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncAppendEntriesReply2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesReplyLog(const SyncAppendEntriesReply* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1633,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1634,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1634,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1631
    functionDepth: 3
    functionLinenumber: 1631
    functionLinenumberEnd: 1637
    functionName: syncAppendEntriesReplyLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - syncAppendEntriesReply2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncAppendEntriesReplyLog2(char* s, const SyncAppendEntriesReply*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1642,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1648
    functionName: syncHeartbeatBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncHeartbeat
    signature: SyncHeartbeat * syncHeartbeatBuild(int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1654
    functionName: syncHeartbeatDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatDestroy(SyncHeartbeat* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1657,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncHeartbeat*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1659
    functionName: syncHeartbeatSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatSerialize(const SyncHeartbeat* pMsg, char* buf, uint32_t
      bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1662,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncHeartbeat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1661
    functionDepth: 1
    functionLinenumber: 1661
    functionLinenumberEnd: 1664
    functionName: syncHeartbeatDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatDeserialize(const char* buf, uint32_t len, SyncHeartbeat*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1667,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1668,1
    - Dst: syncHeartbeatSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncHeartbeat*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1666
    functionDepth: 2
    functionLinenumber: 1666
    functionLinenumberEnd: 1674
    functionName: syncHeartbeatSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncHeartbeatSerialize
    linkageType: ''
    returnType: char
    signature: char * syncHeartbeatSerialize2(const SyncHeartbeat* pMsg, uint32_t*
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      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:1679,1
    - Dst: syncHeartbeatDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1680,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1676
    functionDepth: 2
    functionLinenumber: 1676
    functionLinenumberEnd: 1683
    functionName: syncHeartbeatDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncHeartbeatDeserialize
    linkageType: ''
    returnType: SyncHeartbeat
    signature: SyncHeartbeat * syncHeartbeatDeserialize2(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:1686,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1689,1
    - Dst: syncHeartbeatSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncHeartbeat*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1685
    functionDepth: 2
    functionLinenumber: 1685
    functionLinenumberEnd: 1691
    functionName: syncHeartbeat2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - memset
    - syncHeartbeatSerialize
    linkageType: ''
    returnType: void
    signature: void syncHeartbeat2RpcMsg(const SyncHeartbeat* pMsg, SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncHeartbeat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1693
    functionDepth: 2
    functionLinenumber: 1693
    functionLinenumberEnd: 1695
    functionName: syncHeartbeatFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncHeartbeatDeserialize
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatFromRpcMsg(const SRpcMsg* pRpcMsg, SyncHeartbeat*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1698,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1697
    functionDepth: 3
    functionLinenumber: 1697
    functionLinenumberEnd: 1701
    functionName: syncHeartbeatFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - syncHeartbeatDeserialize2
    linkageType: ''
    returnType: SyncHeartbeat
    signature: SyncHeartbeat * syncHeartbeatFromRpcMsg2(const SRpcMsg* pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1705,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1708,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:1710,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1712,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1713,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1714,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1720,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1721,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1722,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1724,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1725,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1727,1
    - Dst: snprintf
      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:1729,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1735,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1736,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1737,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1739,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1740,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1742,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1743,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1745,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1746,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1748,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1749,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1752,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1755
    functionName: syncHeartbeat2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncHeartbeat2Json(const SyncHeartbeat* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeat2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1758,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1759,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1757
    functionDepth: 2
    functionLinenumber: 1757
    functionLinenumberEnd: 1762
    functionName: syncHeartbeat2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncHeartbeat2Json
    linkageType: ''
    returnType: char
    signature: char * syncHeartbeat2Str(const SyncHeartbeat* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeat2Str
      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:1766,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1766,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1767,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1764
    functionDepth: 3
    functionLinenumber: 1764
    functionLinenumberEnd: 1769
    functionName: syncHeartbeatPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncHeartbeat2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatPrint(const SyncHeartbeat* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeat2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1772,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1773,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1773,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1774,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncHeartbeat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1771
    functionDepth: 3
    functionLinenumber: 1771
    functionLinenumberEnd: 1776
    functionName: syncHeartbeatPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncHeartbeat2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatPrint2(char* s, const SyncHeartbeat* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeat2Str
      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:1780,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1780,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1778
    functionDepth: 3
    functionLinenumber: 1778
    functionLinenumberEnd: 1782
    functionName: syncHeartbeatLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - syncHeartbeat2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatLog(const SyncHeartbeat* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeat2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1786,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1787,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1787,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncHeartbeat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1784
    functionDepth: 3
    functionLinenumber: 1784
    functionLinenumberEnd: 1790
    functionName: syncHeartbeatLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - strlen
    - syncHeartbeat2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatLog2(char* s, const SyncHeartbeat* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1795,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1801
    functionName: syncHeartbeatReplyBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncHeartbeatReply
    signature: SyncHeartbeatReply * syncHeartbeatReplyBuild(int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeatReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1807
    functionName: syncHeartbeatReplyDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatReplyDestroy(SyncHeartbeatReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1810,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncHeartbeatReply*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1809
    functionDepth: 1
    functionLinenumber: 1809
    functionLinenumberEnd: 1812
    functionName: syncHeartbeatReplySerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatReplySerialize(const SyncHeartbeatReply* pMsg, char*
      buf, uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1815,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncHeartbeatReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1814
    functionDepth: 1
    functionLinenumber: 1814
    functionLinenumberEnd: 1817
    functionName: syncHeartbeatReplyDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatReplyDeserialize(const char* buf, uint32_t len, SyncHeartbeatReply*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1820,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1821,1
    - Dst: syncHeartbeatReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncHeartbeatReply*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1819
    functionDepth: 2
    functionLinenumber: 1819
    functionLinenumberEnd: 1827
    functionName: syncHeartbeatReplySerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncHeartbeatReplySerialize
    linkageType: ''
    returnType: char
    signature: char * syncHeartbeatReplySerialize2(const SyncHeartbeatReply* pMsg,
      uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1831,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1832,1
    - Dst: syncHeartbeatReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1833,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1829
    functionDepth: 2
    functionLinenumber: 1829
    functionLinenumberEnd: 1836
    functionName: syncHeartbeatReplyDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncHeartbeatReplyDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncHeartbeatReply
    signature: SyncHeartbeatReply * syncHeartbeatReplyDeserialize2(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:1839,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1842,1
    - Dst: syncHeartbeatReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncHeartbeatReply*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1838
    functionDepth: 2
    functionLinenumber: 1838
    functionLinenumberEnd: 1844
    functionName: syncHeartbeatReply2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - memset
    - syncHeartbeatReplySerialize
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatReply2RpcMsg(const SyncHeartbeatReply* pMsg, SRpcMsg*
      pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncHeartbeatReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1846
    functionDepth: 2
    functionLinenumber: 1846
    functionLinenumberEnd: 1848
    functionName: syncHeartbeatReplyFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncHeartbeatReplyDeserialize
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatReplyFromRpcMsg(const SRpcMsg* pRpcMsg, SyncHeartbeatReply*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1851,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1850
    functionDepth: 3
    functionLinenumber: 1850
    functionLinenumberEnd: 1854
    functionName: syncHeartbeatReplyFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncHeartbeatReplyDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncHeartbeatReply
    signature: SyncHeartbeatReply * syncHeartbeatReplyFromRpcMsg2(const SRpcMsg* pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1858,1
    - 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:1862,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1863,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1865,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1866,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1867,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1873,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1874,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1875,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1877,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1878,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1880,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1881,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1882,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1888,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1889,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1890,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1892,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1893,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1895,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1896,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1898,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1899,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1901,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1902,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1903,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1906,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeatReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1909
    functionName: syncHeartbeatReply2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncHeartbeatReply2Json(const SyncHeartbeatReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1912,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1913,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeatReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1911
    functionDepth: 2
    functionLinenumber: 1911
    functionLinenumberEnd: 1916
    functionName: syncHeartbeatReply2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - syncHeartbeatReply2Json
    - cJSON_Print
    linkageType: ''
    returnType: char
    signature: char * syncHeartbeatReply2Str(const SyncHeartbeatReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1919,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1920,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1920,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1921,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeatReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1918
    functionDepth: 3
    functionLinenumber: 1918
    functionLinenumberEnd: 1923
    functionName: syncHeartbeatReplyPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - syncHeartbeatReply2Str
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatReplyPrint(const SyncHeartbeatReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1926,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1927,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1927,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1928,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncHeartbeatReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1925
    functionDepth: 3
    functionLinenumber: 1925
    functionLinenumberEnd: 1930
    functionName: syncHeartbeatReplyPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - syncHeartbeatReply2Str
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatReplyPrint2(char* s, const SyncHeartbeatReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1933,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1934,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1934,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeatReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1932
    functionDepth: 3
    functionLinenumber: 1932
    functionLinenumberEnd: 1936
    functionName: syncHeartbeatReplyLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - syncHeartbeatReply2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatReplyLog(const SyncHeartbeatReply* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1940,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1941,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1941,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncHeartbeatReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1938
    functionDepth: 3
    functionLinenumber: 1938
    functionLinenumberEnd: 1944
    functionName: syncHeartbeatReplyLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - strlen
    - sTrace
    - syncHeartbeatReply2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncHeartbeatReplyLog2(char* s, const SyncHeartbeatReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1949,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1947
    functionDepth: 0
    functionLinenumber: 1947
    functionLinenumberEnd: 1955
    functionName: syncPreSnapshotBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncPreSnapshot
    signature: SyncPreSnapshot * syncPreSnapshotBuild(int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1961
    functionName: syncPreSnapshotDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotDestroy(SyncPreSnapshot* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1964,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPreSnapshot*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1963
    functionDepth: 1
    functionLinenumber: 1963
    functionLinenumberEnd: 1966
    functionName: syncPreSnapshotSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotSerialize(const SyncPreSnapshot* pMsg, char* buf,
      uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1969,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncPreSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1968
    functionDepth: 1
    functionLinenumber: 1968
    functionLinenumberEnd: 1971
    functionName: syncPreSnapshotDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotDeserialize(const char* buf, uint32_t len, SyncPreSnapshot*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1974,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1975,1
    - Dst: syncPreSnapshotSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncPreSnapshot*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1973
    functionDepth: 2
    functionLinenumber: 1973
    functionLinenumberEnd: 1981
    functionName: syncPreSnapshotSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncPreSnapshotSerialize
    linkageType: ''
    returnType: char
    signature: char * syncPreSnapshotSerialize2(const SyncPreSnapshot* pMsg, uint32_t*
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      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:1986,1
    - Dst: syncPreSnapshotDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1987,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1983
    functionDepth: 2
    functionLinenumber: 1983
    functionLinenumberEnd: 1990
    functionName: syncPreSnapshotDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncPreSnapshotDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncPreSnapshot
    signature: SyncPreSnapshot * syncPreSnapshotDeserialize2(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:1993,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1996,1
    - Dst: syncPreSnapshotSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncPreSnapshot*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1992
    functionDepth: 2
    functionLinenumber: 1992
    functionLinenumberEnd: 1998
    functionName: syncPreSnapshot2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - memset
    - syncPreSnapshotSerialize
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshot2RpcMsg(const SyncPreSnapshot* pMsg, SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncPreSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 2000
    functionDepth: 2
    functionLinenumber: 2000
    functionLinenumberEnd: 2002
    functionName: syncPreSnapshotFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncPreSnapshotDeserialize
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotFromRpcMsg(const SRpcMsg* pRpcMsg, SyncPreSnapshot*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2005,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 2004
    functionDepth: 3
    functionLinenumber: 2004
    functionLinenumberEnd: 2008
    functionName: syncPreSnapshotFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncPreSnapshotDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncPreSnapshot
    signature: SyncPreSnapshot * syncPreSnapshotFromRpcMsg2(const SRpcMsg* pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2012,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2015,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2016,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2017,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2019,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2020,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2021,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2027,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2028,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2029,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2031,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2032,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2034,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2035,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2036,1
    - Dst: syncUtilU642Addr
      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:2043,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2044,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2046,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2047,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2049,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2050,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2053,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2010
    functionDepth: 1
    functionLinenumber: 2010
    functionLinenumberEnd: 2056
    functionName: syncPreSnapshot2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncPreSnapshot2Json(const SyncPreSnapshot* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshot2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2059,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2060,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2058
    functionDepth: 2
    functionLinenumber: 2058
    functionLinenumberEnd: 2063
    functionName: syncPreSnapshot2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncPreSnapshot2Json
    linkageType: ''
    returnType: char
    signature: char * syncPreSnapshot2Str(const SyncPreSnapshot* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshot2Str
      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:2067,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2067,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2068,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2065
    functionDepth: 3
    functionLinenumber: 2065
    functionLinenumberEnd: 2070
    functionName: syncPreSnapshotPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncPreSnapshot2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotPrint(const SyncPreSnapshot* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshot2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2073,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2074,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2074,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2075,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPreSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2072
    functionDepth: 3
    functionLinenumber: 2072
    functionLinenumberEnd: 2077
    functionName: syncPreSnapshotPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncPreSnapshot2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotPrint2(char* s, const SyncPreSnapshot* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshot2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2080,1
    - Dst: sTrace
      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:2081,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2079
    functionDepth: 3
    functionLinenumber: 2079
    functionLinenumberEnd: 2083
    functionName: syncPreSnapshotLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPreSnapshot2Str
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotLog(const SyncPreSnapshot* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshot2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2087,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2088,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2088,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPreSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2085
    functionDepth: 3
    functionLinenumber: 2085
    functionLinenumberEnd: 2091
    functionName: syncPreSnapshotLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPreSnapshot2Str
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotLog2(char* s, const SyncPreSnapshot* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2096,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2102
    functionName: syncPreSnapshotReplyBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncPreSnapshotReply
    signature: SyncPreSnapshotReply * syncPreSnapshotReplyBuild(int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshotReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2108
    functionName: syncPreSnapshotReplyDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotReplyDestroy(SyncPreSnapshotReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2111,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPreSnapshotReply*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2110
    functionDepth: 1
    functionLinenumber: 2110
    functionLinenumberEnd: 2113
    functionName: syncPreSnapshotReplySerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotReplySerialize(const SyncPreSnapshotReply* pMsg,
      char* buf, uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2116,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncPreSnapshotReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2115
    functionDepth: 1
    functionLinenumber: 2115
    functionLinenumberEnd: 2118
    functionName: syncPreSnapshotReplyDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotReplyDeserialize(const char* buf, uint32_t len,
      SyncPreSnapshotReply* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2121,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2122,1
    - Dst: syncPreSnapshotReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncPreSnapshotReply*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2120
    functionDepth: 2
    functionLinenumber: 2120
    functionLinenumberEnd: 2128
    functionName: syncPreSnapshotReplySerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncPreSnapshotReplySerialize
    linkageType: ''
    returnType: char
    signature: char * syncPreSnapshotReplySerialize2(const SyncPreSnapshotReply* pMsg,
      uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      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:2133,1
    - Dst: syncPreSnapshotReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2134,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2130
    functionDepth: 2
    functionLinenumber: 2130
    functionLinenumberEnd: 2137
    functionName: syncPreSnapshotReplyDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncPreSnapshotReplyDeserialize
    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:2140,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2143,1
    - Dst: syncPreSnapshotReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncPreSnapshotReply*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2139
    functionDepth: 2
    functionLinenumber: 2139
    functionLinenumberEnd: 2145
    functionName: syncPreSnapshotReply2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - memset
    - syncPreSnapshotReplySerialize
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotReply2RpcMsg(const SyncPreSnapshotReply* pMsg,
      SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncPreSnapshotReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2147
    functionDepth: 2
    functionLinenumber: 2147
    functionLinenumberEnd: 2149
    functionName: syncPreSnapshotReplyFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncPreSnapshotReplyDeserialize
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotReplyFromRpcMsg(const SRpcMsg* pRpcMsg, SyncPreSnapshotReply*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2152,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2151
    functionDepth: 3
    functionLinenumber: 2151
    functionLinenumberEnd: 2155
    functionName: syncPreSnapshotReplyFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - syncPreSnapshotReplyDeserialize2
    linkageType: ''
    returnType: SyncPreSnapshotReply
    signature: SyncPreSnapshotReply * syncPreSnapshotReplyFromRpcMsg2(const SRpcMsg*
      pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2159,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2162,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2163,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2164,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2166,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2167,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2168,1
    - Dst: syncUtilU642Addr
      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:2175,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2176,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2178,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2179,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2181,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2182,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2183,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2189,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2190,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2191,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2193,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2194,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2196,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2197,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2199,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2200,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2203,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshotReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2157
    functionDepth: 1
    functionLinenumber: 2157
    functionLinenumberEnd: 2206
    functionName: syncPreSnapshotReply2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncPreSnapshotReply2Json(const SyncPreSnapshotReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2209,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2210,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshotReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2208
    functionDepth: 2
    functionLinenumber: 2208
    functionLinenumberEnd: 2213
    functionName: syncPreSnapshotReply2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - syncPreSnapshotReply2Json
    - cJSON_Print
    linkageType: ''
    returnType: char
    signature: char * syncPreSnapshotReply2Str(const SyncPreSnapshotReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2216,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2217,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2217,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2218,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshotReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2215
    functionDepth: 3
    functionLinenumber: 2215
    functionLinenumberEnd: 2220
    functionName: syncPreSnapshotReplyPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncPreSnapshotReply2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotReplyPrint(const SyncPreSnapshotReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2223,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2224,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2224,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2225,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPreSnapshotReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2222
    functionDepth: 3
    functionLinenumber: 2222
    functionLinenumberEnd: 2227
    functionName: syncPreSnapshotReplyPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncPreSnapshotReply2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotReplyPrint2(char* s, const SyncPreSnapshotReply*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2230,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2231,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2231,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshotReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2229
    functionDepth: 3
    functionLinenumber: 2229
    functionLinenumberEnd: 2233
    functionName: syncPreSnapshotReplyLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPreSnapshotReply2Str
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotReplyLog(const SyncPreSnapshotReply* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2237,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2238,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPreSnapshotReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2235
    functionDepth: 3
    functionLinenumber: 2235
    functionLinenumberEnd: 2241
    functionName: syncPreSnapshotReplyLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPreSnapshotReply2Str
    linkageType: ''
    returnType: void
    signature: void syncPreSnapshotReplyLog2(char* s, const SyncPreSnapshotReply*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2246,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2252
    functionName: syncApplyMsgBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncApplyMsg
    signature: SyncApplyMsg * syncApplyMsgBuild(uint32_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsgBuild
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2255,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pOriginalRpcMsg
    - vgId
    - pMeta
    argTypes:
    - SRpcMsg*
    - int32_t
    - SFsmCbMeta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2254
    functionDepth: 1
    functionLinenumber: 2254
    functionLinenumberEnd: 2261
    functionName: syncApplyMsgBuild2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncApplyMsgBuild
    - memcpy
    linkageType: ''
    returnType: SyncApplyMsg
    signature: SyncApplyMsg * syncApplyMsgBuild2(const SRpcMsg* pOriginalRpcMsg, int32_t
      vgId, SFsmCbMeta* pMeta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncApplyMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2267
    functionName: syncApplyMsgDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 6
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncApplyMsgDestroy(SyncApplyMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2270,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncApplyMsg*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2269
    functionDepth: 1
    functionLinenumber: 2269
    functionLinenumberEnd: 2272
    functionName: syncApplyMsgSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncApplyMsgSerialize(const SyncApplyMsg* pMsg, char* buf, uint32_t
      bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2275,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncApplyMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2274
    functionDepth: 1
    functionLinenumber: 2274
    functionLinenumberEnd: 2277
    functionName: syncApplyMsgDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncApplyMsgDeserialize(const char* buf, uint32_t len, SyncApplyMsg*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2280,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2281,1
    - Dst: syncApplyMsgSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncApplyMsg*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2279
    functionDepth: 2
    functionLinenumber: 2279
    functionLinenumberEnd: 2287
    functionName: syncApplyMsgSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncApplyMsgSerialize
    linkageType: ''
    returnType: char
    signature: char * syncApplyMsgSerialize2(const SyncApplyMsg* pMsg, uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      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:2292,1
    - Dst: syncApplyMsgDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2293,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2289
    functionDepth: 2
    functionLinenumber: 2289
    functionLinenumberEnd: 2296
    functionName: syncApplyMsgDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncApplyMsgDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncApplyMsg
    signature: SyncApplyMsg * syncApplyMsgDeserialize2(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:2300,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2303,1
    - Dst: syncApplyMsgSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncApplyMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2299
    functionDepth: 2
    functionLinenumber: 2299
    functionLinenumberEnd: 2305
    functionName: syncApplyMsg2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 3
    functionsReached:
    - rpcMallocCont
    - memset
    - syncApplyMsgSerialize
    linkageType: ''
    returnType: void
    signature: void syncApplyMsg2RpcMsg(const SyncApplyMsg* pMsg, SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsgDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncApplyMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2310
      start: 2308
    functionDepth: 2
    functionLinenumber: 2308
    functionLinenumberEnd: 2310
    functionName: syncApplyMsgFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncApplyMsgDeserialize
    linkageType: ''
    returnType: void
    signature: void syncApplyMsgFromRpcMsg(const SRpcMsg* pRpcMsg, SyncApplyMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsgDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2312
    functionDepth: 3
    functionLinenumber: 2312
    functionLinenumberEnd: 2315
    functionName: syncApplyMsgFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - syncApplyMsgDeserialize2
    linkageType: ''
    returnType: SyncApplyMsg
    signature: SyncApplyMsg * syncApplyMsgFromRpcMsg2(const SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2319,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2322,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pOriginalRpcMsg
    argTypes:
    - SyncApplyMsg*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2318
    functionDepth: 2
    functionLinenumber: 2318
    functionLinenumberEnd: 2324
    functionName: syncApplyMsg2OriginalRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncApplyMsg2OriginalRpcMsg(const SyncApplyMsg* pMsg, SRpcMsg*
      pOriginalRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2328,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:2332,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:2334,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2336,1
    - Dst: cJSON_AddStringToObject
      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:2338,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2339,1
    - Dst: cJSON_AddNumberToObject
      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:2341,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2341,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2342,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2343,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2345,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2347,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2348,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2349,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2350,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2351,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2352,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2355,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncApplyMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2358
      start: 2326
    functionDepth: 1
    functionLinenumber: 2326
    functionLinenumberEnd: 2358
    functionName: syncApplyMsg2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncUtilPrintBin
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncStr
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosMemoryFree
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncApplyMsg2Json(const SyncApplyMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsg2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2361,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2362,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncApplyMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2360
    functionDepth: 2
    functionLinenumber: 2360
    functionLinenumberEnd: 2365
    functionName: syncApplyMsg2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - syncApplyMsg2Json
    - cJSON_Print
    linkageType: ''
    returnType: char
    signature: char * syncApplyMsg2Str(const SyncApplyMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2369,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2370,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2370,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2371,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncApplyMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2368
    functionDepth: 3
    functionLinenumber: 2368
    functionLinenumberEnd: 2373
    functionName: syncApplyMsgPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    - syncApplyMsg2Str
    linkageType: ''
    returnType: void
    signature: void syncApplyMsgPrint(const SyncApplyMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2376,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2377,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2377,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2378,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncApplyMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2375
    functionDepth: 3
    functionLinenumber: 2375
    functionLinenumberEnd: 2380
    functionName: syncApplyMsgPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    - syncApplyMsg2Str
    linkageType: ''
    returnType: void
    signature: void syncApplyMsgPrint2(char* s, const SyncApplyMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsg2Str
      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:2384,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2384,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncApplyMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2382
    functionDepth: 3
    functionLinenumber: 2382
    functionLinenumberEnd: 2386
    functionName: syncApplyMsgLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - syncApplyMsg2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncApplyMsgLog(const SyncApplyMsg* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2390,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2391,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2391,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncApplyMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2388
    functionDepth: 3
    functionLinenumber: 2388
    functionLinenumberEnd: 2394
    functionName: syncApplyMsgLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - strlen
    - sTrace
    - syncApplyMsg2Str
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncApplyMsgLog2(char* s, const SyncApplyMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2399,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dataLen
    - vgId
    argTypes:
    - uint32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2406
    functionName: syncSnapshotSendBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncSnapshotSend
    signature: SyncSnapshotSend * syncSnapshotSendBuild(uint32_t dataLen, int32_t
      vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2408
    functionDepth: 0
    functionLinenumber: 2408
    functionLinenumberEnd: 2412
    functionName: syncSnapshotSendDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 6
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncSnapshotSendDestroy(SyncSnapshotSend* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2415,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncSnapshotSend*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2414
    functionDepth: 1
    functionLinenumber: 2414
    functionLinenumberEnd: 2417
    functionName: syncSnapshotSendSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncSnapshotSendSerialize(const SyncSnapshotSend* pMsg, char*
      buf, uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2420,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:2422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2419
    functionDepth: 1
    functionLinenumber: 2419
    functionLinenumberEnd: 2423
    functionName: syncSnapshotSendDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncSnapshotSendDeserialize(const char* buf, uint32_t len, SyncSnapshotSend*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2426,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2427,1
    - Dst: syncSnapshotSendSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncSnapshotSend*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2425
    functionDepth: 2
    functionLinenumber: 2425
    functionLinenumberEnd: 2433
    functionName: syncSnapshotSendSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncSnapshotSendSerialize
    linkageType: ''
    returnType: char
    signature: char * syncSnapshotSendSerialize2(const SyncSnapshotSend* pMsg, uint32_t*
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      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:2438,1
    - Dst: syncSnapshotSendDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2439,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2435
    functionDepth: 2
    functionLinenumber: 2435
    functionLinenumberEnd: 2442
    functionName: syncSnapshotSendDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - syncSnapshotSendDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncSnapshotSend
    signature: SyncSnapshotSend * syncSnapshotSendDeserialize2(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:2445,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2448,1
    - Dst: syncSnapshotSendSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncSnapshotSend*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2444
    functionDepth: 2
    functionLinenumber: 2444
    functionLinenumberEnd: 2450
    functionName: syncSnapshotSend2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - memset
    - syncSnapshotSendSerialize
    linkageType: ''
    returnType: void
    signature: void syncSnapshotSend2RpcMsg(const SyncSnapshotSend* pMsg, SRpcMsg*
      pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSendDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2452
    functionDepth: 2
    functionLinenumber: 2452
    functionLinenumberEnd: 2454
    functionName: syncSnapshotSendFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncSnapshotSendDeserialize
    linkageType: ''
    returnType: void
    signature: void syncSnapshotSendFromRpcMsg(const SRpcMsg* pRpcMsg, SyncSnapshotSend*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSendDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2457,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2456
    functionDepth: 3
    functionLinenumber: 2456
    functionLinenumberEnd: 2460
    functionName: syncSnapshotSendFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    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:2464,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2470
    functionName: syncSnapshotRspBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncSnapshotRsp
    signature: SyncSnapshotRsp * syncSnapshotRspBuild(int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2476
    functionName: syncSnapshotRspDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 6
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncSnapshotRspDestroy(SyncSnapshotRsp* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2479,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncSnapshotRsp*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2478
    functionDepth: 1
    functionLinenumber: 2478
    functionLinenumberEnd: 2481
    functionName: syncSnapshotRspSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncSnapshotRspSerialize(const SyncSnapshotRsp* pMsg, char* buf,
      uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2484,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2483
    functionDepth: 1
    functionLinenumber: 2483
    functionLinenumberEnd: 2486
    functionName: syncSnapshotRspDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncSnapshotRspDeserialize(const char* buf, uint32_t len, SyncSnapshotRsp*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2489,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2490,1
    - Dst: syncSnapshotRspSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncSnapshotRsp*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2488
    functionDepth: 2
    functionLinenumber: 2488
    functionLinenumberEnd: 2496
    functionName: syncSnapshotRspSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncSnapshotRspSerialize
    linkageType: ''
    returnType: char
    signature: char * syncSnapshotRspSerialize2(const SyncSnapshotRsp* pMsg, uint32_t*
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      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:2501,1
    - Dst: syncSnapshotRspDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2502,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2505
      start: 2498
    functionDepth: 2
    functionLinenumber: 2498
    functionLinenumberEnd: 2505
    functionName: syncSnapshotRspDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncSnapshotRspDeserialize
    linkageType: ''
    returnType: SyncSnapshotRsp
    signature: SyncSnapshotRsp * syncSnapshotRspDeserialize2(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:2508,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2511,1
    - Dst: syncSnapshotRspSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncSnapshotRsp*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2507
    functionDepth: 2
    functionLinenumber: 2507
    functionLinenumberEnd: 2513
    functionName: syncSnapshotRsp2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - memset
    - syncSnapshotRspSerialize
    linkageType: ''
    returnType: void
    signature: void syncSnapshotRsp2RpcMsg(const SyncSnapshotRsp* pMsg, SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRspDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2515
    functionDepth: 2
    functionLinenumber: 2515
    functionLinenumberEnd: 2517
    functionName: syncSnapshotRspFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncSnapshotRspDeserialize
    linkageType: ''
    returnType: void
    signature: void syncSnapshotRspFromRpcMsg(const SRpcMsg* pRpcMsg, SyncSnapshotRsp*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRspDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2520,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2519
    functionDepth: 3
    functionLinenumber: 2519
    functionLinenumberEnd: 2523
    functionName: syncSnapshotRspFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncSnapshotRspDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncSnapshotRsp
    signature: SyncSnapshotRsp * syncSnapshotRspFromRpcMsg2(const SRpcMsg* pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2527,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2530,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:2532,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2534,1
    - Dst: snprintf
      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:2536,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2542,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2543,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2544,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2546,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2547,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2549,1
    - Dst: snprintf
      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:2551,1
    - Dst: syncUtilU642Addr
      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:2558,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2559,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2561,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2562,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2564,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2565,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2567,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2568,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2570,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2571,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2573,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2574,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2576,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2577,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2579,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2580,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2583,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2525
    functionDepth: 1
    functionLinenumber: 2525
    functionLinenumberEnd: 2586
    functionName: syncSnapshotRsp2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncSnapshotRsp2Json(const SyncSnapshotRsp* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRsp2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2589,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2590,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2588
    functionDepth: 2
    functionLinenumber: 2588
    functionLinenumberEnd: 2593
    functionName: syncSnapshotRsp2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - syncSnapshotRsp2Json
    - cJSON_Print
    linkageType: ''
    returnType: char
    signature: char * syncSnapshotRsp2Str(const SyncSnapshotRsp* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRsp2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2597,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2598,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2598,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2599,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2596
    functionDepth: 3
    functionLinenumber: 2596
    functionLinenumberEnd: 2601
    functionName: syncSnapshotRspPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncSnapshotRsp2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncSnapshotRspPrint(const SyncSnapshotRsp* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRsp2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2604,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2605,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2605,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2606,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2603
    functionDepth: 3
    functionLinenumber: 2603
    functionLinenumberEnd: 2608
    functionName: syncSnapshotRspPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncSnapshotRsp2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncSnapshotRspPrint2(char* s, const SyncSnapshotRsp* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRsp2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2611,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2612,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2612,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2610
    functionDepth: 3
    functionLinenumber: 2610
    functionLinenumberEnd: 2614
    functionName: syncSnapshotRspLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncSnapshotRsp2Str
    linkageType: ''
    returnType: void
    signature: void syncSnapshotRspLog(const SyncSnapshotRsp* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRsp2Str
      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:2619,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2619,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2616
    functionDepth: 3
    functionLinenumber: 2616
    functionLinenumberEnd: 2622
    functionName: syncSnapshotRspLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncSnapshotRsp2Str
    linkageType: ''
    returnType: void
    signature: void syncSnapshotRspLog2(char* s, const SyncSnapshotRsp* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2627,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2633
    functionName: syncLeaderTransferBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncLeaderTransfer
    signature: SyncLeaderTransfer * syncLeaderTransferBuild(int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLeaderTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2635
    functionDepth: 0
    functionLinenumber: 2635
    functionLinenumberEnd: 2639
    functionName: syncLeaderTransferDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 6
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncLeaderTransferDestroy(SyncLeaderTransfer* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2642,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncLeaderTransfer*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2641
    functionDepth: 1
    functionLinenumber: 2641
    functionLinenumberEnd: 2644
    functionName: syncLeaderTransferSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncLeaderTransferSerialize(const SyncLeaderTransfer* pMsg, char*
      buf, uint32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2647,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncLeaderTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2646
    functionDepth: 1
    functionLinenumber: 2646
    functionLinenumberEnd: 2649
    functionName: syncLeaderTransferDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: void syncLeaderTransferDeserialize(const char* buf, uint32_t len, SyncLeaderTransfer*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2652,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2653,1
    - Dst: syncLeaderTransferSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncLeaderTransfer*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2651
    functionDepth: 2
    functionLinenumber: 2651
    functionLinenumberEnd: 2659
    functionName: syncLeaderTransferSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncLeaderTransferSerialize
    linkageType: ''
    returnType: char
    signature: char * syncLeaderTransferSerialize2(const SyncLeaderTransfer* pMsg,
      uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      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:2664,1
    - Dst: syncLeaderTransferDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2665,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2668
      start: 2661
    functionDepth: 2
    functionLinenumber: 2661
    functionLinenumberEnd: 2668
    functionName: syncLeaderTransferDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - syncLeaderTransferDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncLeaderTransfer
    signature: SyncLeaderTransfer * syncLeaderTransferDeserialize2(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:2671,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2674,1
    - Dst: syncLeaderTransferSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncLeaderTransfer*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2670
    functionDepth: 2
    functionLinenumber: 2670
    functionLinenumberEnd: 2676
    functionName: syncLeaderTransfer2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - memset
    - syncLeaderTransferSerialize
    linkageType: ''
    returnType: void
    signature: void syncLeaderTransfer2RpcMsg(const SyncLeaderTransfer* pMsg, SRpcMsg*
      pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransferDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncLeaderTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2678
    functionDepth: 2
    functionLinenumber: 2678
    functionLinenumberEnd: 2680
    functionName: syncLeaderTransferFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncLeaderTransferDeserialize
    linkageType: ''
    returnType: void
    signature: void syncLeaderTransferFromRpcMsg(const SRpcMsg* pRpcMsg, SyncLeaderTransfer*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransferDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2683,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2682
    functionDepth: 3
    functionLinenumber: 2682
    functionLinenumberEnd: 2686
    functionName: syncLeaderTransferFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - syncLeaderTransferDeserialize2
    linkageType: ''
    returnType: SyncLeaderTransfer
    signature: SyncLeaderTransfer * syncLeaderTransferFromRpcMsg2(const SRpcMsg* pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2690,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:2694,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2695,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2729,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2730,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2731,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2737,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2738,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2739,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2741,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2742,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2745,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLeaderTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2748
      start: 2688
    functionDepth: 1
    functionLinenumber: 2688
    functionLinenumberEnd: 2748
    functionName: syncLeaderTransfer2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncLeaderTransfer2Json(const SyncLeaderTransfer* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransfer2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2751,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2752,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLeaderTransfer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2750
    functionDepth: 2
    functionLinenumber: 2750
    functionLinenumberEnd: 2755
    functionName: syncLeaderTransfer2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 4
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncLeaderTransfer2Json
    linkageType: ''
    returnType: char
    signature: char * syncLeaderTransfer2Str(const SyncLeaderTransfer* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2759,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2757
    functionDepth: 0
    functionLinenumber: 2757
    functionLinenumberEnd: 2765
    functionName: syncLocalCmdBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncLocalCmd
    signature: SyncLocalCmd * syncLocalCmdBuild(int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLocalCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2767
    functionDepth: 0
    functionLinenumber: 2767
    functionLinenumberEnd: 2771
    functionName: syncLocalCmdDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncLocalCmdDestroy(SyncLocalCmd* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2774,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncLocalCmd*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2773
    functionDepth: 1
    functionLinenumber: 2773
    functionLinenumberEnd: 2776
    functionName: syncLocalCmdSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncLocalCmdSerialize(const SyncLocalCmd* pMsg, char* buf, uint32_t
      bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2779,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncLocalCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2781
      start: 2778
    functionDepth: 1
    functionLinenumber: 2778
    functionLinenumberEnd: 2781
    functionName: syncLocalCmdDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    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:2784,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2785,1
    - Dst: syncLocalCmdSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncLocalCmd*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2783
    functionDepth: 2
    functionLinenumber: 2783
    functionLinenumberEnd: 2791
    functionName: syncLocalCmdSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncLocalCmdSerialize
    linkageType: ''
    returnType: char
    signature: char * syncLocalCmdSerialize2(const SyncLocalCmd* pMsg, uint32_t* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      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:2796,1
    - Dst: syncLocalCmdDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2797,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2793
    functionDepth: 2
    functionLinenumber: 2793
    functionLinenumberEnd: 2800
    functionName: syncLocalCmdDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - ASSERT
    - syncLocalCmdDeserialize
    linkageType: ''
    returnType: SyncLocalCmd
    signature: SyncLocalCmd * syncLocalCmdDeserialize2(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:2803,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2806,1
    - Dst: syncLocalCmdSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncLocalCmd*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2802
    functionDepth: 2
    functionLinenumber: 2802
    functionLinenumberEnd: 2808
    functionName: syncLocalCmd2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 2
    functionsReached:
    - rpcMallocCont
    - memset
    - syncLocalCmdSerialize
    linkageType: ''
    returnType: void
    signature: void syncLocalCmd2RpcMsg(const SyncLocalCmd* pMsg, SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmdDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncLocalCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2810
    functionDepth: 2
    functionLinenumber: 2810
    functionLinenumberEnd: 2812
    functionName: syncLocalCmdFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncLocalCmdDeserialize
    linkageType: ''
    returnType: void
    signature: void syncLocalCmdFromRpcMsg(const SRpcMsg* pRpcMsg, SyncLocalCmd* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmdDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2815,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2814
    functionDepth: 3
    functionLinenumber: 2814
    functionLinenumberEnd: 2818
    functionName: syncLocalCmdFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 1
    functionsReached:
    - syncLocalCmdDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncLocalCmd
    signature: SyncLocalCmd * syncLocalCmdFromRpcMsg2(const SRpcMsg* pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2822,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:2826,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2827,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2829,1
    - Dst: snprintf
      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:2831,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2837,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2838,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2839,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2841,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2842,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2844,1
    - Dst: snprintf
      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:2846,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2852,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2853,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2854,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2856,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2857,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2859,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2868,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLocalCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2820
    functionDepth: 1
    functionLinenumber: 2820
    functionLinenumberEnd: 2871
    functionName: syncLocalCmd2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncLocalCmd2Json(const SyncLocalCmd* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmd2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2874,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2875,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLocalCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2873
    functionDepth: 2
    functionLinenumber: 2873
    functionLinenumberEnd: 2878
    functionName: syncLocalCmd2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncLocalCmd2Json
    linkageType: ''
    returnType: char
    signature: char * syncLocalCmd2Str(const SyncLocalCmd* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmd2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2882,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2883,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2883,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2884,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLocalCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2886
      start: 2881
    functionDepth: 3
    functionLinenumber: 2881
    functionLinenumberEnd: 2886
    functionName: syncLocalCmdPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncLocalCmd2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncLocalCmdPrint(const SyncLocalCmd* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmd2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2889,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2890,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2890,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2891,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncLocalCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2888
    functionDepth: 3
    functionLinenumber: 2888
    functionLinenumberEnd: 2893
    functionName: syncLocalCmdPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncLocalCmd2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncLocalCmdPrint2(char* s, const SyncLocalCmd* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmd2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2896,1
    - Dst: sTrace
      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:2897,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLocalCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2895
    functionDepth: 3
    functionLinenumber: 2895
    functionLinenumberEnd: 2899
    functionName: syncLocalCmdLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 0
    functionsReached:
    - syncLocalCmd2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncLocalCmdLog(const SyncLocalCmd* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmd2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2903,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2904,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2904,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncLocalCmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2901
    functionDepth: 3
    functionLinenumber: 2901
    functionLinenumberEnd: 2907
    functionName: syncLocalCmdLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: 5
    functionsReached:
    - syncLocalCmd2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncLocalCmdLog2(char* s, const SyncLocalCmd* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:21,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:24,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:25,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:26,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:30,1
    - Dst: cJSON_CreateIntArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:34,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:35,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:36,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:38,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:39,1
    - Dst: cJSON_AddStringToObject
      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:41,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:42,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:43,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:44,1
    - Dst: voteGrantedMajority
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:46,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:47,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:50,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - pVotesGranted
    argTypes:
    - SVotesGranted*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 53
    functionName: voteGranted2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - cJSON_CreateArray
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - cJSON_AddItemToObject
    - snprintf
    - taosMemoryFree
    - cJSON_AddStringToObject
    - voteGrantedMajority
    - cJSON_CreateIntArray
    linkageType: ''
    returnType: cJSON
    signature: cJSON *voteGranted2Json(SVotesGranted *pVotesGranted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voteGranted2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:56,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:57,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pVotesGranted
    argTypes:
    - SVotesGranted*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: voteGranted2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c
    functionUses: 1
    functionsReached:
    - voteGranted2Json
    - cJSON_Delete
    - cJSON_Print
    linkageType: ''
    returnType: char
    signature: char *voteGranted2Str(SVotesGranted *pVotesGranted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:64,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:67,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:68,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:69,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:74,1
    - Dst: cJSON_CreateIntArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:81,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:82,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:83,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:84,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:86,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:87,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:88,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:89,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:92,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - pVotesRespond
    argTypes:
    - SVotesRespond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: votesRespond2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - cJSON_CreateArray
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - cJSON_AddItemToObject
    - snprintf
    - taosMemoryFree
    - cJSON_AddStringToObject
    - cJSON_CreateIntArray
    linkageType: ''
    returnType: cJSON
    signature: cJSON *votesRespond2Json(SVotesRespond *pVotesRespond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: votesRespond2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:98,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:99,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pVotesRespond
    argTypes:
    - SVotesRespond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: votesRespond2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - votesRespond2Json
    linkageType: ''
    returnType: char
    signature: char *votesRespond2Str(SVotesRespond *pVotesRespond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgr2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:20,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:21,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:21,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:22,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncIndexMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: syncIndexMgrPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: 0
    functionsReached:
    - syncIndexMgr2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: void syncIndexMgrPrint(SSyncIndexMgr *pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgr2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:27,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:28,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:28,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:29,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SSyncIndexMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: syncIndexMgrPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: 0
    functionsReached:
    - syncIndexMgr2Str
    - printf
    - fflush
    - taosMemoryFree
    - strlen
    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:34,1
    - Dst: sTrace
      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:35,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncIndexMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: syncIndexMgrLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - syncIndexMgr2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: void syncIndexMgrLog(SSyncIndexMgr *pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgr2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:41,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:42,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:42,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SSyncIndexMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: syncIndexMgrLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: 0
    functionsReached:
    - strlen
    - syncIndexMgr2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: void syncIndexMgrLog2(char *s, SSyncIndexMgr *pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:49,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:52,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:53,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:54,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:60,1
    - Dst: cJSON_CreateIntArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:64,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:65,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:66,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:70,1
    - Dst: cJSON_CreateIntArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:74,1
    - Dst: taosMemoryFree
      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:76,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:80,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:83,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - pSyncIndexMgr
    argTypes:
    - SSyncIndexMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 86
    functionName: syncIndexMgr2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - cJSON_CreateArray
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - cJSON_AddItemToObject
    - taosMemoryFree
    - cJSON_AddStringToObject
    - cJSON_CreateIntArray
    linkageType: ''
    returnType: cJSON
    signature: cJSON *syncIndexMgr2Json(SSyncIndexMgr *pSyncIndexMgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgr2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:89,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:90,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSyncIndexMgr
    argTypes:
    - SSyncIndexMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: syncIndexMgr2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: 5
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - syncIndexMgr2Json
    linkageType: ''
    returnType: char
    signature: char *syncIndexMgr2Str(SSyncIndexMgr *pSyncIndexMgr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:21,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:25,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:26,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:28,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:29,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:31,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:32,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:33,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:37,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:38,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:39,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:40,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:41,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:42,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:45,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:46,1
    - Dst: cJSON_AddStringToObject
      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:48,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:49,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:50,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:51,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:52,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:53,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:54,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:55,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:56,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:57,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:62,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:65,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 68
    functionName: snapshotSender2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: 0
    functionsReached:
    - syncUtilPrintBin
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosMemoryFree
    linkageType: ''
    returnType: cJSON
    signature: cJSON *snapshotSender2Json(SSyncSnapshotSender *pSender)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snapshotSender2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:71,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:72,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: snapshotSender2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - snapshotSender2Json
    linkageType: ''
    returnType: char
    signature: char *snapshotSender2Str(SSyncSnapshotSender *pSender)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:79,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:82,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:83,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:85,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:86,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:88,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:89,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:91,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:92,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:93,1
    - Dst: syncUtilU642Addr
      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:100,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:101,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:103,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:104,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:106,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:107,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:109,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:110,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:112,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:113,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:115,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:116,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:118,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:119,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:122,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 125
    functionName: snapshotReceiver2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - syncUtilU642Addr
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *snapshotReceiver2Json(SSyncSnapshotReceiver *pReceiver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snapshotReceiver2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:128,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:129,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: snapshotReceiver2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - snapshotReceiver2Json
    linkageType: ''
    returnType: char
    signature: char *snapshotReceiver2Str(SSyncSnapshotReceiver *pReceiver)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReplyBuild
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:137,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:140,1
    - Dst: syncNodeIsMnode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:145,1
    - Dst: SSyncNode*::pLogStore::syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:149,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:150,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:153,1
    - Dst: SSyncNode*::pLogStore::syncLogTruncate
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:161,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:163,1
    - Dst: syncPreSnapshotReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:172,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:173,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:175,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncPreSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 181
    functionName: syncNodeOnPreSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: 0
    functionsReached:
    - syncPreSnapshotReplyBuild
    - raftStoreGetTerm
    - SSyncNode*::pLogStore::syncLogIsEmpty
    - walGetCommittedVer
    - sNError
    - SSyncNode*::pLogStore::syncLogTruncate
    - syncNodeSendMsgById
    - syncPreSnapshotReplyDestroy
    - syncPreSnapshotReply2RpcMsg
    - syncNodeIsMnode
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnPreSnapshot(SSyncNode *ths, SyncPreSnapshot *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncPreSnapshotReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: syncNodeOnPreSnapshotReply
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnPreSnapshotReply(SSyncNode *ths, SyncPreSnapshotReply
      *pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:21,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:25,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:28,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:29,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:31,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:32,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:34,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:35,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:36,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:37,1
    - Dst: snprintf
      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:40,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:41,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:42,1
    - Dst: syncUtilNodeInfo2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:45,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:46,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:50,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:51,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:52,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:54,1
    - Dst: syncUtilNodeInfo2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:54,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:56,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:57,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:62,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:63,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:64,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:70,1
    - Dst: cJSON_AddStringToObject
      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:72,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:77,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:78,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:81,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:82,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:82,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:86,1
    - Dst: voteGranted2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:86,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:87,1
    - Dst: votesRespond2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:87,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:90,1
    - Dst: syncIndexMgr2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:90,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:91,1
    - Dst: syncIndexMgr2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:91,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:94,1
    - Dst: logStore2Json
      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:95,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:96,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:99,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:100,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:101,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:104,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:105,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:106,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:107,1
    - Dst: cJSON_AddStringToObject
      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:109,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:110,1
    - Dst: snprintf
      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:112,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:113,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:114,1
    - Dst: snprintf
      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:118,1
    - Dst: cJSON_AddNumberToObject
      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:120,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:121,1
    - Dst: snprintf
      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:123,1
    - Dst: snprintf
      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:125,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:128,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:129,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:130,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:131,1
    - Dst: cJSON_AddStringToObject
      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:133,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:134,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:135,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:136,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:137,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:138,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:157,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:160,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:161,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:163,1
    - Dst: snapshotSender2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:163,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:167,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:168,1
    - Dst: snapshotReceiver2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:168,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:171,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:174,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 87
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 177
    functionName: syncNode2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    - cJSON_AddNumberToObject
    - cJSON_CreateArray
    - cJSON_CreateObject
    - syncStr
    - syncIndexMgr2Json
    - logStore2Json
    - snapshotSender2Json
    - cJSON_AddItemToObject
    - snapshotReceiver2Json
    - snprintf
    - cJSON_AddStringToObject
    - voteGranted2Json
    - syncUtilNodeInfo2Json
    - votesRespond2Json
    linkageType: ''
    returnType: cJSON
    signature: cJSON * syncNode2Json(const SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNode2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:180,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:181,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: syncNode2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: 2
    functionsReached:
    - cJSON_Delete
    - syncNode2Json
    - cJSON_Print
    linkageType: ''
    returnType: char
    signature: char * syncNode2Str(const SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:188,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:192,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:194,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:195,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:197,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:202,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 207
    functionName: syncNode2SimpleStr
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: 5
    functionsReached:
    - taosMemoryMalloc
    - raftStoreGetTerm
    - SSyncNode*::pLogStore::syncLogLastIndex
    - syncStr
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - snprintf
    - SSyncNode*::pLogStore::syncLogBeginIndex
    linkageType: ''
    returnType: char
    signature: char * syncNode2SimpleStr(const SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:211,1
    - Dst: syncPing2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:215,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:216,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pSyncNode
    - destRaftId
    - pMsg
    argTypes:
    - SSyncNode*
    - SRaftId*
    - SyncPing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 6
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: syncNodePing
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: 0
    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:224,1
    - Dst: syncNodePing
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:225,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:226,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 7
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: syncNodePingSelf
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: 1
    functionsReached:
    - syncPingDestroy
    - syncNodePing
    - ASSERT
    - syncPingBuild3
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodePingSelf(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingBuild3
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:236,1
    - Dst: syncNodePing
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:237,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:238,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 7
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: syncNodePingPeers
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: 0
    functionsReached:
    - syncPingDestroy
    - syncNodePing
    - ASSERT
    - syncPingBuild3
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodePingPeers(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingBuild3
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:248,1
    - Dst: syncNodePing
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:249,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:250,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 7
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: syncNodePingAll
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: 0
    functionsReached:
    - syncPingDestroy
    - syncNodePing
    - ASSERT
    - syncPingBuild3
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodePingAll(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:258,1
    - Dst: syncPingReplyBuild3
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:260,1
    - Dst: syncPingReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:262,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:271,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncPing*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: syncNodeOnPing
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: 0
    functionsReached:
    - syncPingReplyBuild3
    - sTrace
    - syncNodeSendMsgById
    - syncPingReplyDestroy
    - syncPingReply2RpcMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnPing(SSyncNode* ths, SyncPing* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncPingReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: syncNodeOnPingReply
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: 0
    functionsReached:
    - sTrace
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnPingReply(SSyncNode* ths, SyncPingReply* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIOCreate
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:51,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:52,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:54,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:54,1
    - Dst: syncIOStartInternal
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:55,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:56,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: syncIOStart
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 20
    functionsReached:
    - syncIOStartInternal
    - taosSeedRand
    - sTrace
    - ASSERT
    - syncIOCreate
    - taosGetTimestampSec
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOStart(char *host, uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIOStopInternal
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:63,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:64,1
    - Dst: syncIODestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:66,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: syncIOStop
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 6
    functionsReached:
    - syncIOStopInternal
    - ASSERT
    - syncIODestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:72,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:73,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:80,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:82,1
    - Dst: syncUtilMsgHtoN
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:84,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pEpSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: syncIOSendMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - syncUtilMsgHtoN
    - snprintf
    - rpcSendRequest
    - syncRpcMsgLog2
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOSendMsg(const SEpSet *pEpSet, SRpcMsg *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:97,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:98,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:101,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:102,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - msgcb
    - pMsg
    argTypes:
    - SMsgCb*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 6
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: syncIOEqMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosAllocateQitem
    - snprintf
    - syncRpcMsgLog2
    - taosWriteQitem
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOEqMsg(const SMsgCb *msgcb, SRpcMsg *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIOStartQ
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:111,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: syncIOQTimerStart
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    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:117,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: syncIOQTimerStop
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - syncIOStopQ
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOQTimerStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIOStartPing
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:123,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: syncIOPingTimerStart
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - syncIOStartPing
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOPingTimerStart()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIOStopPing
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:129,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: syncIOPingTimerStop
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - ASSERT
    - syncIOStopPing
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOPingTimerStop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:136,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:137,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:139,1
    - Dst: taosOpenQset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:140,1
    - Dst: taosAddIntoQset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:141,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: syncIOCreate
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - taosOpenQset
    - addEpIntoEpSet
    - memset
    - taosAddIntoQset
    - taosOpenQueue
    linkageType: ''
    returnType: SSyncIO
    signature: SSyncIO *syncIOCreate(char *host, uint16_t port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:155,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:156,1
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:159,1
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:164,1
    - Dst: taosCloseQueue
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:168,1
    - Dst: taosCloseQset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: syncIODestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - atomic_load_8
    - ASSERT
    - rpcClose
    - taosCloseQset
    - taosCloseQueue
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIODestroy(SSyncIO *io)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosBlockSIGPIPE
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:176,1
    - Dst: rpcInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:178,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:183,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:192,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:193,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:195,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:203,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:204,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:213,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:214,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:216,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:223,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:224,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:224,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:225,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:231,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 235
    functionName: syncIOStartInternal
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - taosThreadCreate
    - sError
    - TAOS_SYSTEM_ERROR
    - taosVersionStrToInt
    - strerror
    - rpcInit
    - atomic_store_8
    - snprintf
    - memset
    - taosTmrInit
    - rpcOpen
    - taosBlockSIGPIPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOStartInternal(SSyncIO *io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:239,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:240,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:241,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: syncIOStopInternal
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - taosThreadClear
    - atomic_store_8
    - taosThreadJoin
    - taosTmrCleanUp
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOStopInternal(SSyncIO *io)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQall
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:248,1
    - Dst: taosReadAllQitemsFromQset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:253,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:254,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:260,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:262,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:263,1
    - Dst: syncPingFromRpcMsg2
      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:269,1
    - Dst: SSyncIO*::FpOnSyncPing
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:270,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:271,1
    - Dst: syncPingReplyFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:276,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:277,1
    - Dst: SSyncIO*::FpOnSyncPingReply
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:278,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:279,1
    - Dst: SSyncIO*::FpOnSyncClientRequest
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:284,1
    - Dst: syncRequestVoteFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:289,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:290,1
    - Dst: SSyncIO*::FpOnSyncRequestVote
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:291,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:292,1
    - Dst: syncRequestVoteReplyFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:297,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:298,1
    - Dst: SSyncIO*::FpOnSyncRequestVoteReply
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:299,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:300,1
    - Dst: syncAppendEntriesFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:305,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:306,1
    - Dst: SSyncIO*::FpOnSyncAppendEntries
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:307,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:308,1
    - Dst: syncAppendEntriesReplyFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:313,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:314,1
    - Dst: SSyncIO*::FpOnSyncAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:315,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:316,1
    - Dst: syncTimeoutFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:321,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:322,1
    - Dst: SSyncIO*::FpOnSyncTimeout
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:323,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:324,1
    - Dst: syncSnapshotSendFromRpcMsg2
      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:330,1
    - Dst: SSyncIO*::FpOnSyncSnapshot
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:331,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:332,1
    - Dst: syncSnapshotRspFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:337,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:338,1
    - Dst: SSyncIO*::FpOnSyncSnapshotReply
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:339,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:340,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:344,1
    - Dst: taosResetQitems
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:348,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:350,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:351,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:369,1
    - Dst: taosUpdateItemSize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:372,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:375,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 91
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 246
    functionDepth: 6
    functionLinenumber: 246
    functionLinenumberEnd: 377
    functionName: syncIOConsumerFunc
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 0
    functionsReached:
    - syncSnapshotRspDestroy
    - taosUpdateItemSize
    - syncSnapshotSendDestroy
    - syncAppendEntriesFromRpcMsg2
    - SSyncIO*::FpOnSyncSnapshotReply
    - syncRequestVoteReplyFromRpcMsg2
    - snprintf
    - SSyncIO*::FpOnSyncPingReply
    - syncPingFromRpcMsg2
    - SSyncIO*::FpOnSyncPing
    - syncAppendEntriesReplyDestroy
    - sTrace
    - ASSERT
    - taosReadAllQitemsFromQset
    - syncRequestVoteReplyDestroy
    - taosFreeQall
    - syncTimeoutDestroy
    - syncRpcMsgLog2
    - syncPingReplyFromRpcMsg2
    - SSyncIO*::FpOnSyncRequestVote
    - syncTimeoutFromRpcMsg2
    - SSyncIO*::FpOnSyncSnapshot
    - syncAppendEntriesDestroy
    - rpcFreeCont
    - SSyncIO*::FpOnSyncAppendEntriesReply
    - syncRequestVoteDestroy
    - SSyncIO*::FpOnSyncClientRequest
    - taosAllocateQall
    - taosGetQitem
    - syncSnapshotRspFromRpcMsg2
    - SSyncIO*::FpOnSyncAppendEntries
    - SSyncIO*::FpOnSyncRequestVoteReply
    - SSyncIO*::FpOnSyncTimeout
    - taosResetQitems
    - syncPingReplyDestroy
    - taosFreeQitem
    - syncSnapshotSendFromRpcMsg2
    - syncPingDestroy
    - syncAppendEntriesReplyFromRpcMsg2
    - syncRequestVoteFromRpcMsg2
    linkageType: ''
    returnType: void
    signature: void *syncIOConsumerFunc(void *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:382,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:385,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:386,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pParent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 379
    functionDepth: 6
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: syncIOProcessRequest
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - taosAllocateQitem
    - taosWriteQitem
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncIOProcessRequest(void *pParent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:392,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:394,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pParent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 6
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: syncIOProcessReply
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 0
    functionsReached:
    - syncRpcMsgLog2
    - sTrace
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void syncIOProcessReply(void *pParent, SRpcMsg *pMsg, SEpSet *pEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - parent
    - meterId
    - spi
    - encrypt
    - secret
    - ckey
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: syncIOAuth
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOAuth(void *parent, char *meterId, char *spi, char *encrypt,
      char *secret, char *ckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: syncIOStartQ
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - taosTmrReset
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOStartQ(SSyncIO *io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: syncIOStopQ
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - taosTmrStop
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOStopQ(SSyncIO *io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: syncIOStartPing
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - taosTmrReset
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOStartPing(SSyncIO *io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: syncIOStopPing
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 1
    functionsReached:
    - taosTmrStop
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIOStopPing(SSyncIO *io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReplyBuild2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:440,1
    - Dst: syncPingReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:443,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:445,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:446,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:447,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:448,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:449,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 432
    functionDepth: 6
    functionLinenumber: 432
    functionLinenumberEnd: 452
    functionName: syncIOTickQ
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosTmrReset
    - syncPingReply2RpcMsg
    - syncPingReplyBuild2
    - syncPingReplyDestroy
    - taosAllocateQitem
    - syncRpcMsgLog2
    - taosWriteQitem
    linkageType: ''
    returnType: void
    signature: void syncIOTickQ(void *param, void *tmrId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingBuild2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:462,1
    - Dst: syncPing2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:466,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:467,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:468,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:469,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 454
    functionDepth: 6
    functionLinenumber: 454
    functionLinenumberEnd: 472
    functionName: syncIOTickPing
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 0
    functionsReached:
    - syncPingBuild2
    - taosTmrReset
    - syncPingDestroy
    - rpcSendRequest
    - syncRpcMsgLog2
    - syncPing2RpcMsg
    linkageType: ''
    returnType: void
    signature: void syncIOTickPing(void *param, void *tmrId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pEntry
    argTypes:
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 474
    functionName: syncEntryDestory
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void syncEntryDestory(SSyncRaftEntry *pEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:478,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: syncUtilMsgNtoH
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: void
    signature: void syncUtilMsgNtoH(void *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: syncUtilCanPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool syncUtilCanPrint(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:492,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:493,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:494,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:495,1
    - Dst: syncUtilCanPrint
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 503
    functionName: syncUtilPrintBin
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 11
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - ASSERT
    - memset
    - syncUtilCanPrint
    linkageType: ''
    returnType: char
    signature: char *syncUtilPrintBin(char *ptr, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:507,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:508,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:509,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 517
    functionName: syncUtilPrintBin2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 11
    functionsReached:
    - memset
    - taosMemoryMalloc
    - ASSERT
    - tsnprintf
    linkageType: ''
    returnType: char
    signature: char *syncUtilPrintBin2(char *ptr, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosInetNtop
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - u64
    - host
    - len
    - port
    argTypes:
    - uint64_t
    - char*
    - int64_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: syncUtilU642Addr
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 20
    functionsReached:
    - taosInetNtop
    linkageType: ''
    returnType: void
    signature: void syncUtilU642Addr(uint64_t u64, char *host, int64_t len, uint16_t
      *port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetIpv4FromFqdn
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:529,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 538
    functionName: syncUtilAddr2U64
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: 26
    functionsReached:
    - sError
    - taosGetIpv4FromFqdn
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t syncUtilAddr2U64(const char *host, uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pEntry
    argTypes:
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: syncLogReplBarrier
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncRaftEntry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE syncLogReplBarrier(SSyncRaftEntry* pEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: sFatal
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: sError
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 120
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: sWarn
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: sInfo
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 103
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: sDebug
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: sTrace
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 165
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: sGTrace
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sGTrace(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: sGFatal
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sGFatal(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: sGError
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sGError(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: sGWarn
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sGWarn(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: sGInfo
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sGInfo(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trace
    - ','
    - param
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: sGDebug
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sGDebug(trace, param, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: sLFatal
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sLFatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: sLError
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sLError(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: sLWarn
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sLWarn(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: sLInfo
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sLInfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: sLDebug
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sLDebug(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: sLTrace
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sLTrace(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: sNFatal
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sNFatal(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: sNError
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sNError(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: sNWarn
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sNWarn(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: sNInfo
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sNInfo(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: sNDebug
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sNDebug(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: sNTrace
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sNTrace(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: sHFatal
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sHFatal(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: sHError
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sHError(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: sHWarn
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sHWarn(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: sHInfo
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sHInfo(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: sHDebug
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sHDebug(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pNode
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: sHTrace
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sHTrace(pNode, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSender
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: sSFatal
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sSFatal(pSender, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSender
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: sSError
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sSError(pSender, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSender
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: sSWarn
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sSWarn(pSender, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSender
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: sSInfo
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sSInfo(pSender, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSender
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: sSDebug
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sSDebug(pSender, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pSender
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: sSTrace
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sSTrace(pSender, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pReceiver
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: sRFatal
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sRFatal(pReceiver, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pReceiver
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: sRError
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sRError(pReceiver, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pReceiver
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: sRWarn
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sRWarn(pReceiver, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pReceiver
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: sRInfo
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sRInfo(pReceiver, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pReceiver
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: sRDebug
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sRDebug(pReceiver, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pReceiver
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: sRTrace
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sRTrace(pReceiver, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pRaftId
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: CID
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CID(pRaftId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pRaftId
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: DID
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DID(pRaftId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pInfo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: SYNC_ADDR
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncUtil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SYNC_ADDR(pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMgr
    argTypes:
    - SSyncLogReplMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: syncLogReplGetRetryBackoffTimeMs
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncPipeline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE syncLogReplGetRetryBackoffTimeMs(SSyncLogReplMgr* pMgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/inc/syncPipeline.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMgr
    argTypes:
    - SSyncLogReplMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: syncLogReplGetNextRetryBackoff
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncPipeline.h
    functionUses: 0
    functionsReached:
    - TMIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE syncLogReplGetNextRetryBackoff(SSyncLogReplMgr* pMgr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:64,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:66,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:68,1
    - Dst: syncNodeAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:72,1
    - Dst: syncNodeClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:74,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - pSyncInfo
    - vnodeVersion
    argTypes:
    - SSyncInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: syncOpen
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - sError
    - syncNodeAdd
    - syncNodeClose
    - syncNodeOpen
    - sInfo
    linkageType: ''
    returnType: int64_t
    signature: int64_t syncOpen(SSyncInfo* pSyncInfo, int32_t vnodeVersion)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:92,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:96,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:97,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:100,1
    - Dst: syncNodeRestore
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:102,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:103,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:106,1
    - Dst: syncNodeStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:108,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:109,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:109,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:112,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:114,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:116,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:118,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:121,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 123
    functionName: syncStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - sError
    - syncNodeRelease
    - syncNodeStart
    - syncNodeAcquire
    - syncNodeRestore
    - TAOS_RETURN
    - tstrerror
    - sInfo
    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:127,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:132,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:133,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rid
    - cfg
    argTypes:
    - int64_t
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: syncNodeGetConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - sError
    - syncNodeAcquire
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeGetConfig(int64_t rid, SSyncCfg* cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:144,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:147,1
    - Dst: syncNodeRemove
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: syncStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - syncNodeRelease
    - syncNodeRemove
    - syncNodeAcquire
    linkageType: ''
    returnType: void
    signature: void syncStop(int64_t rid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:153,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:155,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:156,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:157,1
    - Dst: syncNodePreClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:159,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: syncPreStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - snapshotReceiverIsStart
    - syncNodeRelease
    - syncNodePreClose
    - snapshotReceiverStop
    - syncNodeAcquire
    - sInfo
    linkageType: ''
    returnType: void
    signature: void syncPreStop(int64_t rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:165,1
    - Dst: syncNodePostClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:167,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: syncPostStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - syncNodePostClose
    - syncNodeAcquire
    linkageType: ''
    returnType: void
    signature: void syncPostStop(int64_t rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:173,1
    - Dst: abs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pSyncNode
    - pCfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: syncNodeCheckNewConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - abs
    - syncNodeInConfig
    linkageType: ''
    returnType: bool
    signature: bool syncNodeCheckNewConfig(SSyncNode* pSyncNode, const SSyncCfg* pCfg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:179,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:183,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:187,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:188,1
    - Dst: syncNodeCheckNewConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:193,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:194,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:196,1
    - Dst: TAOS_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:200,1
    - Dst: syncNodeUpdateNewConfigIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:200,1
    - Dst: syncNodeDoConfigChange
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:202,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:204,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:205,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:210,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:210,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:213,1
    - Dst: syncHbTimerInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:213,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:216,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:216,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:220,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - rid
    - pNewCfg
    argTypes:
    - int64_t
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 222
    functionName: syncReconfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 3
    functionsReached:
    - syncNodeCheckNewConfig
    - sError
    - syncNodeRelease
    - TAOS_CHECK_RETURN
    - syncNodeUpdateNewConfigIndex
    - syncNodeAcquire
    - syncNodeDoConfigChange
    - syncNodeStartHeartbeatTimer
    - TAOS_RETURN
    - syncHbTimerInit
    - syncNodeStopHeartbeatTimer
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncReconfig(int64_t rid, SSyncCfg* pNewCfg)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:226,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:229,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:232,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:236,1
    - Dst: syncNodeOnHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:241,1
    - Dst: syncNodeOnHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:244,1
    - Dst: syncNodeOnTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:247,1
    - Dst: syncNodeOnTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:250,1
    - Dst: syncNodeOnClientRequest
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:253,1
    - Dst: syncNodeOnRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:256,1
    - Dst: syncNodeOnRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:259,1
    - Dst: syncNodeOnAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:262,1
    - Dst: syncNodeOnAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:265,1
    - Dst: syncNodeOnSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:268,1
    - Dst: syncNodeOnSnapshotRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:271,1
    - Dst: syncNodeOnLocalCmd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:274,1
    - Dst: syncForceBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:277,1
    - Dst: syncBecomeAssignedLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:280,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:286,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:288,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:288,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:289,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:291,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 2
    argNames:
    - rid
    - pMsg
    argTypes:
    - int64_t
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 292
    functionName: syncProcessMsg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - syncNodeOnSnapshot
    - syncNodeOnHeartbeat
    - TMSG_INFO
    - sDebug
    - syncNodeOnLocalCmd
    - syncIsInit
    - syncNodeOnAppendEntriesReply
    - syncForceBecomeFollower
    - syncNodeOnRequestVote
    - syncNodeAcquire
    - syncNodeOnRequestVoteReply
    - syncNodeOnClientRequest
    - tstrerror
    - syncNodeOnSnapshotRsp
    - syncBecomeAssignedLeader
    - syncNodeOnHeartbeatReply
    - TAOS_RETURN
    - syncNodeOnTimeout
    - syncNodeOnAppendEntries
    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:296,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:300,1
    - Dst: syncNodeLeaderTransfer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:303,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: syncLeaderTransfer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncNodeRelease
    - syncNodeLeaderTransfer
    - syncNodeAcquire
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLeaderTransfer(int64_t rid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:310,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: syncForceBecomeFollower
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncNodeBecomeFollower
    - tmsgSendRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncForceBecomeFollower(SSyncNode* ths, const SRpcMsg* pRpcMsg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSVArbSetAssignedLeaderReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:329,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:330,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:336,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:341,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:344,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:345,1
    - Dst: raftStoreNextTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:353,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:356,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:356,1
    - Dst: syncNodeBecomeAssignedLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:359,1
    - Dst: syncNodeAppendNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:361,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:362,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:362,1
    - Dst: tSerializeSVArbSetAssignedLeaderRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:371,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:374,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:377,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:380,1
    - Dst: tSerializeSVArbSetAssignedLeaderRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:383,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:385,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:386,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:400,1
    - Dst: tFreeSVArbSetAssignedLeaderReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:402,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:403,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 404
    functionName: syncBecomeAssignedLeader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - sError
    - rpcMallocCont
    - tSerializeSVArbSetAssignedLeaderRsp
    - tFreeSVArbSetAssignedLeaderReq
    - TMAX
    - raftStoreNextTerm
    - strncmp
    - syncNodeBecomeAssignedLeader
    - rpcFreeCont
    - tmsgSendRsp
    - tstrerror
    - TAOS_RETURN
    - syncNodeAppendNoop
    - tDeserializeSVArbSetAssignedLeaderReq
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncBecomeAssignedLeader(SSyncNode* ths, SRpcMsg* pRpcMsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:408,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:412,1
    - Dst: syncRespMgrGetAndDel
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:416,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:419,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:421,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:422,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - rid
    - seq
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 428
    functionName: syncSendTimeoutRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - syncNodeRelease
    - syncRespMgrGetAndDel
    - syncNodeAcquire
    - rpcSendResponse
    - TAOS_RETURN
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncSendTimeoutRsp(int64_t rid, int64_t seq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgrGetIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 442
    functionName: syncMinMatchIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncIndexMgrGetIndex
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex syncMinMatchIndex(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pLogStore::syncLogIndexRetention
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pSyncNode
    - bytes
    argTypes:
    - SSyncNode*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: syncLogRetentionIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - SSyncNode*::pLogStore::syncLogIndexRetention
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex syncLogRetentionIndex(SSyncNode* pSyncNode, int64_t bytes)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:449,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:454,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:455,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:458,1
    - Dst: SSyncNode*::pLogStore::syncLogEndIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:459,1
    - Dst: SSyncNode*::pLogStore::syncLogIsEmpty
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:460,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:463,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:464,1
    - Dst: syncNodeIsMnode
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:470,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:483,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:485,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:489,1
    - Dst: syncLogRetentionIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:489,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:490,1
    - Dst: walGetSnapshotVer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:497,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:498,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:499,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:501,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:504,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:505,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:507,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:509,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:512,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:513,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:514,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:518,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:524,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:525,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - rid
    - lastApplyIndex
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 448
    functionDepth: 6
    functionLinenumber: 448
    functionLinenumberEnd: 526
    functionName: syncBeginSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - walGetCommittedVer
    - SSyncNode*::pLogStore::syncLogIsEmpty
    - walGetLastVer
    - sNError
    - sNTrace
    - taosGetTimestampMs
    - walBeginSnapshot
    - syncLogRetentionIndex
    - syncNodeAcquire
    - terrstr
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - atomic_store_64
    - sError
    - TMAX
    - atomic_load_64
    - SSyncNode*::pLogStore::syncLogEndIndex
    - TAOS_RETURN
    - syncNodeIsMnode
    - walGetSnapshotVer
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncBeginSnapshot(int64_t rid, int64_t lastApplyIndex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:530,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:534,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:535,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:538,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:540,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:542,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:542,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:543,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:544,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:546,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:546,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:547,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:551,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - rid
    - forceTrim
    argTypes:
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 528
    functionDepth: 5
    functionLinenumber: 528
    functionLinenumberEnd: 553
    functionName: syncEndSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - syncNodeRelease
    - sNError
    - atomic_load_64
    - syncNodeAcquire
    - walEndSnapshot
    - sNTrace
    - TAOS_RETURN
    - tstrerror
    - atomic_store_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncEndSnapshot(int64_t rid, bool forceTrim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 573
    functionName: syncNodeIsReadyForRead
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    linkageType: ''
    returnType: bool
    signature: bool syncNodeIsReadyForRead(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:576,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:578,1
    - Dst: syncNodeIsReadyForRead
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:582,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 586
    functionName: syncIsReadyForRead
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - sError
    - syncNodeAcquire
    - syncNodeIsReadyForRead
    linkageType: ''
    returnType: bool
    signature: bool syncIsReadyForRead(int64_t rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:590,1
    - Dst: syncNodeSnapshotSending
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:595,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 598
    functionName: syncSnapshotSending
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - syncNodeSnapshotSending
    - syncNodeAcquire
    linkageType: ''
    returnType: bool
    signature: bool syncSnapshotSending(int64_t rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:601,1
    - Dst: syncNodeSnapshotRecving
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:606,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 609
    functionName: syncSnapshotRecving
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - syncNodeAcquire
    - syncNodeSnapshotRecving
    linkageType: ''
    returnType: bool
    signature: bool syncSnapshotRecving(int64_t rid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:614,1
    - Dst: syncIndexMgrGetIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:622,1
    - Dst: syncIndexMgrGetIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:623,1
    - Dst: syncNodeLeaderTransferTo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 632
    functionName: syncNodeLeaderTransfer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncNodeLeaderTransferTo
    - syncIndexMgrGetIndex
    - sDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeLeaderTransfer(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:636,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:640,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:643,1
    - Dst: syncBuildLeaderTransfer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:643,1
    - Dst: SYNC_ADDR
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:646,1
    - Dst: syncNodePropose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:650,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pSyncNode
    - newLeader
    argTypes:
    - SSyncNode*
    - SNodeInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 653
    functionName: syncNodeLeaderTransferTo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - TAOS_CHECK_RETURN
    - syncNodePropose
    - sDebug
    - SYNC_ADDR
    - sNTrace
    - syncBuildLeaderTransfer
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeLeaderTransferTo(SSyncNode* pSyncNode, SNodeInfo newLeader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:657,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:658,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:662,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:663,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:666,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:668,1
    - Dst: syncNodeRestartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:669,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - rid
    - electInterval
    - heartbeatInterval
    argTypes:
    - int64_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 673
    functionName: syncResetTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - syncNodeRelease
    - syncNodeAcquire
    - syncNodeResetElectTimer
    - TAOS_RETURN
    - syncNodeRestartHeartbeatTimer
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncResetTimer(int64_t rid, int32_t electInterval, int32_t
      heartbeatInterval)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:678,1
    - Dst: syncNodeIsReadyForRead
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:685,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:700,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:706,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 712
    functionName: syncGetState
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - raftStoreGetTerm
    - syncNodeAcquire
    - syncNodeIsReadyForRead
    - sInfo
    linkageType: ''
    returnType: SSyncState
    signature: SSyncState syncGetState(int64_t rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:717,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:719,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:721,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:722,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 726
    functionName: syncGetMetrics
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - atomic_load_64
    - syncNodeAcquire
    - sDebug
    linkageType: ''
    returnType: SSyncMetrics
    signature: SSyncMetrics syncGetMetrics(int64_t rid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:731,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:734,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:735,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rid
    - pOldMetrics
    argTypes:
    - int64_t
    - SSyncMetrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 738
    functionName: syncResetMetrics
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - atomic_sub_fetch_64
    - syncNodeAcquire
    linkageType: ''
    returnType: void
    signature: void syncResetMetrics(int64_t rid, const SSyncMetrics* pOldMetrics)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:741,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rid
    - syncCommitIndex
    argTypes:
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 746
    functionName: syncGetCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - syncNodeAcquire
    linkageType: ''
    returnType: void
    signature: void syncGetCommitIndex(int64_t rid, int64_t* syncCommitIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:750,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:754,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:757,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:758,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:759,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:760,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:762,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - rid
    - outToken
    argTypes:
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 764
    functionName: syncGetArbToken
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - syncNodeAcquire
    - memset
    - tstrncpy
    - TAOS_RETURN
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncGetArbToken(int64_t rid, char* outToken)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:768,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:772,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:777,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:778,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:784,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:788,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 790
    functionName: syncCheckSynced
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - syncNodeAcquire
    - TAOS_RETURN
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncCheckSynced(int64_t rid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:794,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:798,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:801,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:802,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rid
    - arbTerm
    argTypes:
    - int64_t
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 804
    functionName: syncUpdateArbTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - TMAX
    - syncNodeAcquire
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncUpdateArbTerm(int64_t rid, SyncTerm arbTerm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:808,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pSyncNode
    - snapshotLastApplyIndex
    argTypes:
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 825
    functionName: syncNodeGetSnapshotConfigIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - sTrace
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex syncNodeGetSnapshotConfigIndex(SSyncNode* pSyncNode, SyncIndex
      snapshotLastApplyIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pSyncNode
    - pEp
    argTypes:
    - SSyncNode*
    - SEp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 835
    functionName: syncGetRaftIdByEp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: SRaftId
    signature: SRaftId syncGetRaftIdByEp(SSyncNode* pSyncNode, const SEp* pEp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:839,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:844,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:848,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:853,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pEpSet
    - buffer
    - bufferSize
    argTypes:
    - SEpSet*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 855
    functionName: epsetToString
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void epsetToString(const SEpSet* pEpSet, char* buffer, size_t bufferSize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:860,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:865,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:871,1
    - Dst: syncGetRaftIdByEp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:874,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:875,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:878,1
    - Dst: epsetSort
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:897,1
    - Dst: epsetToString
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:900,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:901,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:903,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - rid
    - pEpSet
    argTypes:
    - int64_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 904
    functionName: syncGetRetryEpSet
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - syncGetRaftIdByEp
    - epsetSort
    - syncNodeAcquire
    - sDebug
    - strncmp
    - tstrncpy
    - epsetToString
    linkageType: ''
    returnType: void
    signature: void syncGetRetryEpSet(int64_t rid, SEpSet* pEpSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:908,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:912,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:913,1
    - Dst: syncNodePropose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:916,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - rid
    - pMsg
    - isWeak
    - seq
    argTypes:
    - int64_t
    - SRpcMsg*
    - bool
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 919
    functionName: syncPropose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - sError
    - syncNodeRelease
    - syncNodePropose
    - syncNodeAcquire
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncPropose(int64_t rid, SRpcMsg* pMsg, bool isWeak, int64_t*
      seq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:923,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:927,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:928,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:932,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 938
    functionName: syncCheckMember
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - sError
    - syncNodeAcquire
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncCheckMember(int64_t rid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:942,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:946,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:947,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:954,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:959,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:964,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 966
    functionName: syncIsCatchUp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - syncNodeRelease
    - syncNodeAcquire
    - TAOS_RETURN
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncIsCatchUp(int64_t rid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:970,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:974,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:975,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 982
    functionName: syncGetRole
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeRelease
    - sError
    - syncNodeAcquire
    - TAOS_RETURN
    linkageType: ''
    returnType: ESyncRole
    signature: ESyncRole syncGetRole(int64_t rid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:986,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:990,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:991,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:994,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 998
    functionName: syncGetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - syncNodeRelease
    - raftStoreGetTerm
    - syncNodeAcquire
    - TAOS_RETURN
    linkageType: ''
    returnType: int64_t
    signature: int64_t syncGetTerm(int64_t rid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sNWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1004,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1004,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1005,1
    - Dst: sNWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1010,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1011,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1011,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1012,1
    - Dst: syncNodeHeartbeatReplyTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1016,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1018,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1019,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1019,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1020,1
    - Dst: syncNodeIsOptimizedOneReplica
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1024,1
    - Dst: syncNodeOnClientRequest
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1026,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1029,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1034,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1035,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1038,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1040,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1045,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1046,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1047,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1050,1
    - Dst: syncRespMgrAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1051,1
    - Dst: syncBuildClientRequest
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1053,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1055,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1055,1
    - Dst: syncRespMgrDel
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1056,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1057,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1060,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1061,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1064,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1064,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1065,1
    - Dst: syncRespMgrDel
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1065,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1069,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - isWeak
    - seq
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    - bool
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1071
    functionName: syncNodePropose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 2
    functionsReached:
    - TMSG_INFO
    - sError
    - syncNodeGetLastIndex
    - sNError
    - raftStoreGetTerm
    - syncRespMgrAdd
    - syncBuildClientRequest
    - TAOS_CHECK_RETURN
    - syncNodeIsOptimizedOneReplica
    - syncNodeOnClientRequest
    - taosGetTimestampMs
    - terrstr
    - TAOS_RETURN
    - sGDebug
    - syncNodeHeartbeatReplyTimeout
    - syncRespMgrDel
    - sNWarn
    - sWarn
    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:1079,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1080,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pSyncNode
    - pSyncTimer
    - destId
    argTypes:
    - SSyncNode*
    - SSyncTimer*
    - SRaftId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1083
    functionName: syncHbTimerInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - atomic_store_64
    - taosGetTimestampMs
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncHbTimerInit(SSyncNode* pSyncNode, SSyncTimer* pSyncTimer,
      SRaftId destId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pSyncTimer
    - ms
    argTypes:
    - SSyncTimer*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: syncHBSetTimerMS
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void syncHBSetTimerMS(SSyncTimer* pSyncTimer, int32_t ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1089,1
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1090,1
    - Dst: syncHbTimerDataAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1091,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1093,1
    - Dst: syncHbTimerDataAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1094,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1105,1
    - Dst: taosTmrResetPriority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1108,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1109,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1111,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - pSyncNode
    - pSyncTimer
    argTypes:
    - SSyncNode*
    - SSyncTimer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1118
    functionName: syncHbTimerStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncEnv
    - sError
    - taosMemoryMalloc
    - sWarn
    - syncHbTimerDataAdd
    - taosTmrResetPriority
    - taosGetTimestampMs
    - syncIsInit
    - syncHbTimerDataAcquire
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncHbTimerStart(SSyncNode* pSyncNode, SSyncTimer* pSyncTimer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1122,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1123,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1124,1
    - Dst: syncHbTimerDataRemove
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pSyncNode
    - pSyncTimer
    argTypes:
    - SSyncNode*
    - SSyncTimer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1129
    functionName: syncHbTimerStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncHbTimerDataRemove
    - atomic_add_fetch_64
    - sDebug
    - taosTmrStop
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncHbTimerStop(SSyncNode* pSyncNode, SSyncTimer* pSyncTimer)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1134,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:1142,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1147,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1150,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1151,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1153,1
    - Dst: SSyncNode*::pLogStore::syncLogRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1155,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1156,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1157,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1158,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1162
    functionName: syncNodeLogStoreRestoreOnNeed
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - SSyncNode*::pLogStore::syncLogLastIndex
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - terrstr
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - TAOS_RETURN
    - SSyncNode*::pLogStore::syncLogRestoreFromSnapshot
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeLogStoreRestoreOnNeed(SSyncNode* pNode)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1167,1
    - Dst: taosDirExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1173,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1174,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1175,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1176,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1176,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1181,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1182,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1184,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1186,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1188,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1199,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1201,1
    - Dst: syncReadCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1206,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1208,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1213,1
    - Dst: syncIsConfigChanged
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1215,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1216,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1218,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1220,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1224,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1228,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1238,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1242,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1245,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1251,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1252,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1254,1
    - Dst: syncLogBufferCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1267,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1269,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1269,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1277,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1279,1
    - Dst: syncUtilNodeInfo2EpSet
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1295,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1301,1
    - Dst: syncUtilGenerateArbToken
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1302,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1303,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1308,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1341,1
    - Dst: raftStoreOpen
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1342,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1344,1
    - Dst: voteGrantedCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1349,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1351,1
    - Dst: votesRespondCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1354,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1356,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1361,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1363,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1366,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1368,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1373,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1375,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1383,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1386,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1390,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1398,1
    - Dst: syncNodeLogStoreRestoreOnNeed
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1401,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1403,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1403,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1415,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1416,1
    - Dst: syncUtilElectRandomMS
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1422,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1423,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1430,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1431,1
    - Dst: syncHbTimerInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1439,1
    - Dst: syncRespMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1446,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1447,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1451,1
    - Dst: snapshotSenderCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1461,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1465,1
    - Dst: snapshotReceiverCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1469,1
    - Dst: sRDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1471,1
    - Dst: syncNodeLogReplInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1478,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1480,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1480,1
    - Dst: syncNodePeerStateInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1485,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1487,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1487,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1498,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1503,1
    - Dst: syncLogBufferInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1506,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1508,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1508,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1523,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1529,1
    - Dst: syncNodeClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1532,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 275
    argCount: 4
    argNames:
    - pSyncInfo
    - vnodeVersion
    - electInterval
    - heartbeatInterval
    argTypes:
    - SSyncInfo*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1165
    functionDepth: 2
    functionLinenumber: 1165
    functionLinenumberEnd: 1535
    functionName: syncNodeOpen
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 13
    functionsReached:
    - snapshotReceiverCreate
    - syncLogBufferCreate
    - taosThreadMutexInit
    - syncUtilQuorum
    - votesRespondCreate
    - snprintf
    - sNInfo
    - TAOS_SYSTEM_ERROR
    - tmsgUpdateDnodeInfo
    - memcpy
    - syncLogBufferInit
    - syncUtilElectRandomMS
    - syncIsConfigChanged
    - raftStoreOpen
    - syncNodePeerStateInit
    - taosMkDir
    - taosGetTimestampMs
    - sNTrace
    - taosMemoryCalloc
    - taosDirExist
    - syncReadCfgFile
    - sSDebug
    - syncUtilNodeInfo2EpSet
    - logStoreCreate
    - snapshotSenderCreate
    - syncNodeLogReplInit
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - syncNodeLogStoreRestoreOnNeed
    - terrstr
    - syncNodeClose
    - taosCheckExistFile
    - voteGrantedCreate
    - atomic_store_64
    - syncIndexMgrCreate
    - syncHbTimerInit
    - sInfo
    - sError
    - syncUtilNodeInfo2RaftId
    - syncUtilGenerateArbToken
    - syncWriteCfgFile
    - taosMemoryFree
    - tstrerror
    - sRDebug
    - syncRespMgrCreate
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode * syncNodeOpen(SSyncInfo* pSyncInfo, int32_t vnodeVersion,
      int32_t electInterval, int32_t heartbeatInterval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1546
    functionName: syncNodeMaybeUpdateCommitBySnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    linkageType: ''
    returnType: void
    signature: void syncNodeMaybeUpdateCommitBySnapshot(SSyncNode* pSyncNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1552,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1556,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1560,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1561,1
    - Dst: SSyncNode*::pLogStore::syncLogCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1562,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1564,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1568,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1569,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1574,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1575,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1578,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1579,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1583
    functionName: syncNodeRestore
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - sError
    - syncLogBufferCommit
    - TMAX
    - SSyncNode*::pLogStore::syncLogLastIndex
    - SSyncNode*::pLogStore::syncLogCommitIndex
    - terrstr
    - TAOS_RETURN
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sWarn
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeRestore(SSyncNode* pSyncNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1587,1
    - Dst: syncNodeBecomeLearner
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1589,1
    - Dst: raftStoreNextTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1592,1
    - Dst: syncNodeBecomeLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1593,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1596,1
    - Dst: syncNodeAppendNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1596,1
    - Dst: syncNodeBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1599,1
    - Dst: syncNodeStartPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1604,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1606,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1606,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1610
    functionName: syncNodeStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - syncNodeBecomeFollower
    - sError
    - TAOS_CHECK_RETURN
    - syncNodeStartPingTimer
    - syncNodeBecomeLeader
    - raftStoreNextTerm
    - syncNodeBecomeLearner
    - tstrerror
    - syncNodeAppendNoop
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeStart(SSyncNode* pSyncNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1617,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1619,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1619,1
    - Dst: syncNodeRestartElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1623,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1625,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1625,1
    - Dst: syncNodeStartPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1629,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1631,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1635
    functionName: syncNodeStartStandBy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - TAOS_CHECK_RETURN
    - syncNodeStartPingTimer
    - terrstr
    - taosGetTimestampMs
    - syncNodeRestartElectTimer
    - syncNodeStopHeartbeatTimer
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeStartStandBy(SSyncNode* pSyncNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1641,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1645,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1649,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1654,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1655,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1655,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1660,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1661,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1661,1
    - Dst: syncNodeStopPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1666,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1667,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1667,1
    - Dst: syncRespCleanRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1673
    functionName: syncNodePreClose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - sError
    - syncRespCleanRsp
    - syncNodeStopPingTimer
    - tstrerror
    - syncNodeStopElectTimer
    - syncNodeStopHeartbeatTimer
    linkageType: ''
    returnType: void
    signature: void syncNodePreClose(SSyncNode* pSyncNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1677,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1678,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1681,1
    - Dst: snapshotReceiverDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1675
    functionDepth: 1
    functionLinenumber: 1675
    functionLinenumberEnd: 1686
    functionName: syncNodePostClose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - snapshotReceiverIsStart
    - snapshotReceiverStop
    - sDebug
    - snapshotReceiverDestroy
    linkageType: ''
    returnType: void
    signature: void syncNodePostClose(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SSyncHbTimerData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1688
    functionName: syncHbTimerDataFree
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncHbTimerDataFree(SSyncHbTimerData* pData)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1693,1
    - Dst: syncRespCleanRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1695,1
    - Dst: syncNodeStopPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1697,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1698,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1698,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1701,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1702,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1702,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1705,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1706,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1706,1
    - Dst: syncNodeLogReplDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1709,1
    - Dst: syncRespMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1711,1
    - Dst: voteGrantedDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1713,1
    - Dst: votesRespondDestory
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1715,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1717,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1719,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1721,1
    - Dst: syncLogBufferDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1723,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1726,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1730,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1732,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1733,1
    - Dst: snapshotSenderDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1736,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1742,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1743,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1746,1
    - Dst: snapshotReceiverDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1747,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1752,1
    - Dst: raftStoreClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1755,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1758
    functionName: syncNodeClose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - snapshotReceiverStop
    - sNInfo
    - snapshotSenderDestroy
    - syncNodeStopHeartbeatTimer
    - raftStoreClose
    - snapshotSenderIsStart
    - syncRespCleanRsp
    - sDebug
    - snapshotSenderStop
    - taosThreadMutexDestroy
    - syncIndexMgrDestroy
    - votesRespondDestory
    - snapshotReceiverDestroy
    - syncNodeLogReplDestroy
    - syncNodeStopPingTimer
    - snapshotReceiverIsStart
    - sError
    - voteGrantedDestroy
    - syncNodeStopElectTimer
    - logStoreDestory
    - taosMemoryFree
    - tstrerror
    - syncLogBufferDestroy
    - syncRespMgrDestroy
    linkageType: ''
    returnType: void
    signature: void syncNodeClose(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1760
    functionName: syncNodeStrategy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ESyncStrategy
    signature: ESyncStrategy syncNodeStrategy(SSyncNode* pSyncNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1765,1
    - Dst: taosTmrResetPriority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1766,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1767,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1769,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1772,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1763
    functionDepth: 1
    functionLinenumber: 1763
    functionLinenumberEnd: 1777
    functionName: syncNodeStartPingTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - syncEnv
    - sError
    - syncIsInit
    - atomic_store_64
    - taosTmrResetPriority
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeStartPingTimer(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1781,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1782,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1784,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1779
    functionDepth: 1
    functionLinenumber: 1779
    functionLinenumberEnd: 1790
    functionName: syncNodeStopPingTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 3
    functionsReached:
    - atomic_add_fetch_64
    - sDebug
    - sWarn
    - taosTmrStop
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeStopPingTimer(SSyncNode* pSyncNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1794,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1797,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1798,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1799,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1803,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1804,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1805,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pSyncNode
    - ms
    argTypes:
    - SSyncNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1792
    functionDepth: 1
    functionLinenumber: 1792
    functionLinenumberEnd: 1810
    functionName: syncNodeStartElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncEnv
    - sError
    - taosTmrReset
    - taosGetTimestampMs
    - syncIsInit
    - atomic_store_64
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeStartElectTimer(SSyncNode* pSyncNode, int32_t ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      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: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1812
    functionDepth: 1
    functionLinenumber: 1812
    functionLinenumberEnd: 1820
    functionName: syncNodeStopElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 2
    functionsReached:
    - sTrace
    - atomic_add_fetch_64
    - taosTmrStop
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeStopElectTimer(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1824,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1824,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1825,1
    - Dst: syncNodeStartElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pSyncNode
    - ms
    argTypes:
    - SSyncNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1822
    functionDepth: 2
    functionLinenumber: 1822
    functionLinenumberEnd: 1827
    functionName: syncNodeRestartElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncNodeStopElectTimer
    - syncNodeStartElectTimer
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeRestartElectTimer(SSyncNode* pSyncNode, int32_t ms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilElectRandomMS
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1836,1
    - Dst: syncNodeRestartElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1839,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1840,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1840,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1829
    functionDepth: 3
    functionLinenumber: 1829
    functionLinenumberEnd: 1846
    functionName: syncNodeResetElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncUtilElectRandomMS
    - sNTrace
    - syncNodeRestartElectTimer
    - tstrerror
    - sWarn
    linkageType: ''
    returnType: void
    signature: void syncNodeResetElectTimer(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1851,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1852,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1852,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1853,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1854,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1856,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1849
    functionDepth: 1
    functionLinenumber: 1849
    functionLinenumberEnd: 1861
    functionName: syncNodeDoStartHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncEnv
    - sError
    - TAOS_CHECK_RETURN
    - taosTmrReset
    - sNTrace
    - syncIsInit
    - atomic_store_64
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeDoStartHeartbeatTimer(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeDoStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1869,1
    - Dst: syncNodeGetHbTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1873,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1875,1
    - Dst: syncHbTimerStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1864
    functionDepth: 2
    functionLinenumber: 1864
    functionLinenumberEnd: 1880
    functionName: syncNodeStartHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncNodeDoStartHeartbeatTimer
    - syncNodeGetHbTimer
    - syncHbTimerStart
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeStartHeartbeatTimer(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetHbTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1886,1
    - Dst: syncHBSetTimerMS
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pSyncNode
    - ms
    argTypes:
    - SSyncNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1882
    functionDepth: 1
    functionLinenumber: 1882
    functionLinenumberEnd: 1893
    functionName: syncNodeSetHeartbeatTimerMs
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncHBSetTimerMS
    - syncNodeGetHbTimer
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeSetHeartbeatTimerMs(SSyncNode* pSyncNode, int32_t ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1899,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1899,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1900,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1901,1
    - Dst: syncNodeGetHbTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1906,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1908,1
    - Dst: syncHbTimerStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1895
    functionDepth: 2
    functionLinenumber: 1895
    functionLinenumberEnd: 1913
    functionName: syncNodeStopHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - TAOS_CHECK_RETURN
    - syncHbTimerStop
    - atomic_add_fetch_64
    - sDebug
    - syncNodeGetHbTimer
    - taosTmrStop
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeStopHeartbeatTimer(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1917,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1918,1
    - Dst: syncNodeSetHeartbeatTimerMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1918,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1920,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1920,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1921,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pSyncNode
    - heartbeatInterval
    argTypes:
    - SSyncNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1915
    functionDepth: 3
    functionLinenumber: 1915
    functionLinenumberEnd: 1925
    functionName: syncNodeRestartHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - TAOS_CHECK_RETURN
    - syncNodeStartHeartbeatTimer
    - syncNodeSetHeartbeatTimerMs
    - syncNodeStopHeartbeatTimer
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeRestartHeartbeatTimer(SSyncNode* pSyncNode, int32_t
      heartbeatInterval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilMsgHtoN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1938,1
    - Dst: SSyncNode*::syncSendMSg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1940,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1944,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1944,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1945,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1946,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1950,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - destRaftId
    - pNode
    - pMsg
    argTypes:
    - SRaftId*
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1927
    functionDepth: 3
    functionLinenumber: 1927
    functionLinenumberEnd: 1951
    functionName: syncNodeSendMsgById
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 3
    functionsReached:
    - sError
    - syncUtilMsgHtoN
    - TAOS_RETURN
    - tstrerror
    - DID
    - SSyncNode*::syncSendMSg
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeSendMsgById(const SRaftId* destRaftId, SSyncNode* pNode,
      SRpcMsg* pMsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1958,1
    - Dst: SYNC_ADDR
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1967,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1971,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pNode
    - pCfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1953
    functionDepth: 1
    functionLinenumber: 1953
    functionLinenumberEnd: 1982
    functionName: syncNodeInConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncUtilSameId
    - strcmp
    - SYNC_ADDR
    linkageType: ''
    returnType: bool
    signature: bool syncNodeInConfig(SSyncNode* pNode, const SSyncCfg* pCfg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1990,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pOldCfg
    - pNewCfg
    argTypes:
    - SSyncCfg*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 1996
    functionName: syncIsConfigChanged
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool syncIsConfigChanged(const SSyncCfg* pOldCfg, const SSyncCfg* pNewCfg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: syncIsConfigChanged
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2001,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2002,1
    - Dst: syncNodeInConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2011,1
    - Dst: syncNodeInConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2012,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2030,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2044,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2058,1
    - Dst: sSTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2062,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2067,1
    - Dst: syncUtilNodeInfo2EpSet
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2075,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2080,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2088,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2094,1
    - Dst: syncIndexMgrUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2096,1
    - Dst: syncIndexMgrUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2097,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2098,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2099,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2113,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2114,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2115,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2125,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2126,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2136,1
    - Dst: snapshotSenderCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2136,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2139,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2141,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2144,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2151,1
    - Dst: snapshotSenderDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2152,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2158,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2158,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2161,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2161,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2162,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2167,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 108
    argCount: 3
    argNames:
    - pSyncNode
    - pNewConfig
    - lastConfigChangeIndex
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 1998
    functionDepth: 2
    functionLinenumber: 1998
    functionLinenumberEnd: 2169
    functionName: syncNodeDoConfigChange
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - sSError
    - syncUtilQuorum
    - syncUtilSameId
    - sNInfo
    - snapshotSenderDestroy
    - voteGrantedUpdate
    - DID
    - memcpy
    - sNError
    - syncIsConfigChanged
    - syncNodeInConfig
    - sNTrace
    - votesRespondUpdate
    - sSDebug
    - syncUtilNodeInfo2EpSet
    - snapshotSenderCreate
    - sInfo
    - sSTrace
    - TAOS_CHECK_RETURN
    - syncUtilNodeInfo2RaftId
    - syncIndexMgrUpdate
    - syncWriteCfgFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeDoConfigChange(SSyncNode* pSyncNode, SSyncCfg* pNewConfig,
      SyncIndex lastConfigChangeIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2173,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pSyncNode
    - term
    argTypes:
    - SSyncNode*
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2172
    functionDepth: 1
    functionLinenumber: 2172
    functionLinenumberEnd: 2176
    functionName: syncNodeUpdateTermWithoutStepDown
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - raftStoreSetTerm
    - raftStoreGetTerm
    linkageType: ''
    returnType: void
    signature: void syncNodeUpdateTermWithoutStepDown(SSyncNode* pSyncNode, SyncTerm
      term)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2179,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2181,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2186,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2190,1
    - Dst: syncUtilGenerateArbToken
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2191,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2192,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2194,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2198,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2200,1
    - Dst: syncNodeBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2202,1
    - Dst: raftStoreClearVote
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2203,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2207,1
    - Dst: syncNodeBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - pSyncNode
    - newTerm
    - id
    - strFrom
    argTypes:
    - SSyncNode*
    - SyncTerm
    - SRaftId
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2178
    functionDepth: 1
    functionLinenumber: 2178
    functionLinenumberEnd: 2212
    functionName: syncNodeStepDown
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeBecomeFollower
    - raftStoreGetTerm
    - raftStoreSetTerm
    - syncUtilGenerateArbToken
    - snprintf
    - sNTrace
    - raftStoreClearVote
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sInfo
    linkageType: ''
    returnType: void
    signature: void syncNodeStepDown(SSyncNode* pSyncNode, SyncTerm newTerm, SRaftId
      id, char* strFrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRespCleanRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2214
    functionDepth: 1
    functionLinenumber: 2214
    functionLinenumberEnd: 2214
    functionName: syncNodeLeaderChangeRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncRespCleanRsp
    linkageType: ''
    returnType: void
    signature: void syncNodeLeaderChangeRsp(SSyncNode* pSyncNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2229,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2231,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2236,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2237,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2238,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2238,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2243,1
    - Dst: syncNodeLeaderChangeRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2246,1
    - Dst: SSyncNode*::pFsm::FpBecomeFollowerCb
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2250,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2257,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2258,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2258,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2263,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - pSyncNode
    - leaderId
    - debugStr
    argTypes:
    - SSyncNode*
    - SRaftId
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2216
    functionDepth: 4
    functionLinenumber: 2216
    functionLinenumberEnd: 2266
    functionName: syncNodeBecomeFollower
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 3
    functionsReached:
    - sError
    - SSyncNode*::pFsm::FpBecomeFollowerCb
    - syncNodeResetElectTimer
    - syncNodeLeaderChangeRsp
    - tstrncpy
    - taosGetTimestampMs
    - sNTrace
    - syncLogBufferReset
    - syncUtilSameId
    - tstrerror
    - syncNodeStopHeartbeatTimer
    - sInfo
    linkageType: ''
    returnType: void
    signature: void syncNodeBecomeFollower(SSyncNode* pSyncNode, SRaftId leaderId,
      const char* debugStr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2273,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2276,1
    - Dst: SSyncNode*::pFsm::FpBecomeLearnerCb
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2280,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2288,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2289,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pSyncNode
    - debugStr
    argTypes:
    - SSyncNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2268
    functionDepth: 1
    functionLinenumber: 2268
    functionLinenumberEnd: 2292
    functionName: syncNodeBecomeLearner
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - sError
    - sNTrace
    - taosGetTimestampMs
    - syncLogBufferReset
    - tstrerror
    - SSyncNode*::pFsm::FpBecomeLearnerCb
    linkageType: ''
    returnType: void
    signature: void syncNodeBecomeLearner(SSyncNode* pSyncNode, const char* debugStr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2322,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2326,1
    - Dst: syncNodeGetLastIndexTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2333,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2335,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2335,1
    - Dst: syncNodePeerStateInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2348,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2349,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2349,1
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2355,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2367,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2368,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2372,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2373,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2373,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2378,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2379,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2379,1
    - Dst: syncNodeHeartbeatPeers
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2384,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: SSyncNode*::pFsm::FpBecomeLeaderCb
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2391,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2398,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2399,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2399,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2404,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - pSyncNode
    - debugStr
    argTypes:
    - SSyncNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2312
    functionDepth: 3
    functionLinenumber: 2312
    functionLinenumberEnd: 2405
    functionName: syncNodeBecomeLeader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - snapshotReceiverIsStart
    - sError
    - syncNodeGetSnapshotSender
    - syncNodeHeartbeatPeers
    - snapshotReceiverStop
    - syncNodePeerStateInit
    - taosGetTimestampMs
    - tstrncpy
    - syncNodeStartHeartbeatTimer
    - syncLogBufferReset
    - tstrerror
    - sNInfo
    - SSyncNode*::pFsm::FpBecomeLeaderCb
    - syncNodeStopElectTimer
    - syncNodeGetLastIndexTerm
    linkageType: ''
    returnType: void
    signature: void syncNodeBecomeLeader(SSyncNode* pSyncNode, const char* debugStr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2417,1
    - Dst: syncNodeGetLastIndexTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2425,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2427,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2427,1
    - Dst: syncNodePeerStateInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2440,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2441,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2441,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2446,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2447,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2451,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2452,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2452,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2457,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2458,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2458,1
    - Dst: syncNodeHeartbeatPeers
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2463,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2464,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2464,1
    - Dst: SSyncNode*::pFsm::FpBecomeAssignedLeaderCb
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2470,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2477,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2478,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2478,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2407
    functionDepth: 3
    functionLinenumber: 2407
    functionLinenumberEnd: 2484
    functionName: syncNodeBecomeAssignedLeader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - snapshotReceiverIsStart
    - sError
    - SSyncNode*::pFsm::FpBecomeAssignedLeaderCb
    - syncNodeHeartbeatPeers
    - snapshotReceiverStop
    - syncNodePeerStateInit
    - taosGetTimestampMs
    - syncNodeStartHeartbeatTimer
    - syncLogBufferReset
    - tstrerror
    - sNInfo
    - syncNodeStopElectTimer
    - syncNodeGetLastIndexTerm
    linkageType: ''
    returnType: void
    signature: void syncNodeBecomeAssignedLeader(SSyncNode* pSyncNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2488,1
    - Dst: voteGrantedMajority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2491,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2493,1
    - Dst: syncNodeBecomeLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2496,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2498,1
    - Dst: syncNodeAppendNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2500,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2502,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2502,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2505,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2507,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2486
    functionDepth: 4
    functionLinenumber: 2486
    functionLinenumberEnd: 2509
    functionName: syncNodeCandidate2Leader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - raftStoreGetTerm
    - syncNodeBecomeLeader
    - SSyncNode*::pLogStore::syncLogLastIndex
    - terrstr
    - sNTrace
    - voteGrantedMajority
    - syncNodeAppendNoop
    - sInfo
    linkageType: ''
    returnType: void
    signature: void syncNodeCandidate2Leader(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2511
    functionDepth: 0
    functionLinenumber: 2511
    functionLinenumberEnd: 2511
    functionName: syncNodeIsMnode
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool syncNodeIsMnode(SSyncNode* pSyncNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2515,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2519,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2520,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rid
    - ms
    argTypes:
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2513
    functionDepth: 4
    functionLinenumber: 2513
    functionLinenumberEnd: 2525
    functionName: syncSetElectBaseline
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - syncNodeAcquire
    - TAOS_RETURN
    - syncNodeResetElectTimer
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncSetElectBaseline(int64_t rid, int32_t ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2527
    functionDepth: 0
    functionLinenumber: 2527
    functionLinenumberEnd: 2534
    functionName: syncNodePeerStateInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodePeerStateInit(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2538,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2542,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2543,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2544,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2545,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2536
    functionDepth: 1
    functionLinenumber: 2536
    functionLinenumberEnd: 2548
    functionName: syncNodeFollower2Candidate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - raftStoreGetTerm
    - SSyncNode*::pLogStore::syncLogLastIndex
    - taosGetTimestampMs
    - sNTrace
    - sInfo
    linkageType: ''
    returnType: void
    signature: void syncNodeFollower2Candidate(SSyncNode* pSyncNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeBecomeLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2552,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2554,1
    - Dst: syncNodeAppendNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2556,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2558,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2558,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2561,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2562,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2550
    functionDepth: 4
    functionLinenumber: 2550
    functionLinenumberEnd: 2567
    functionName: syncNodeAssignedLeader2Leader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - raftStoreGetTerm
    - syncNodeBecomeLeader
    - SSyncNode*::pLogStore::syncLogLastIndex
    - sNTrace
    - tstrerror
    - syncNodeAppendNoop
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeAssignedLeader2Leader(SSyncNode* pSyncNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2571,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2573,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2576,1
    - Dst: raftStoreHasVoted
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2577,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2579,1
    - Dst: raftStoreVote
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pSyncNode
    - term
    - pRaftId
    argTypes:
    - SSyncNode*
    - SyncTerm
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2570
    functionDepth: 1
    functionLinenumber: 2570
    functionLinenumberEnd: 2584
    functionName: syncNodeVoteForTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - raftStoreGetTerm
    - raftStoreHasVoted
    - sTrace
    - raftStoreVote
    linkageType: ''
    returnType: void
    signature: void syncNodeVoteForTerm(SSyncNode* pSyncNode, SyncTerm term, SRaftId*
      pRaftId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeVoteForTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2588,1
    - Dst: syncBuildRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2591,1
    - Dst: voteGrantedVote
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2600,1
    - Dst: votesRespondAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2601,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pSyncNode
    - currentTerm
    argTypes:
    - SSyncNode*
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2587
    functionDepth: 3
    functionLinenumber: 2587
    functionLinenumberEnd: 2603
    functionName: syncNodeVoteForSelf
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - voteGrantedVote
    - syncNodeVoteForTerm
    - syncBuildRequestVoteReply
    - votesRespondAdd
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void syncNodeVoteForSelf(SSyncNode* pSyncNode, SyncTerm currentTerm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2617
    functionName: syncNodeHasSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 5
    functionsReached:
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    linkageType: ''
    returnType: bool
    signature: bool syncNodeHasSnapshot(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2625,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2631
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2631
    functionName: syncNodeGetLastIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 6
    functionsReached:
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - SSyncNode*::pLogStore::syncLogLastIndex
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex syncNodeGetLastIndex(const SSyncNode* pSyncNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeHasSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2637,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2642,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2645,1
    - Dst: SSyncNode*::pLogStore::syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2647,1
    - Dst: SSyncNode*::pLogStore::syncLogLastTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2635
    functionDepth: 1
    functionLinenumber: 2635
    functionLinenumberEnd: 2658
    functionName: syncNodeGetLastTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 5
    functionsReached:
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - syncNodeHasSnapshot
    - SSyncNode*::pLogStore::syncLogLastIndex
    - SSyncNode*::pLogStore::syncLogLastTerm
    linkageType: ''
    returnType: SyncTerm
    signature: SyncTerm syncNodeGetLastTerm(SSyncNode* pSyncNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2662,1
    - Dst: syncNodeGetLastTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pSyncNode
    - pLastIndex
    - pLastTerm
    argTypes:
    - SSyncNode*
    - SyncIndex*
    - SyncTerm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2661
    functionDepth: 2
    functionLinenumber: 2661
    functionLinenumberEnd: 2665
    functionName: syncNodeGetLastIndexTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 2
    functionsReached:
    - syncNodeGetLastIndex
    - syncNodeGetLastTerm
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeGetLastIndexTerm(SSyncNode* pSyncNode, SyncIndex* pLastIndex,
      SyncTerm* pLastTerm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2669
    functionDepth: 1
    functionLinenumber: 2669
    functionLinenumberEnd: 2672
    functionName: syncNodeSyncStartIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 5
    functionsReached:
    - syncNodeGetLastIndex
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex syncNodeSyncStartIndex(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pSyncNode
    - index
    argTypes:
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2676
    functionDepth: 0
    functionLinenumber: 2676
    functionLinenumberEnd: 2683
    functionName: syncNodeGetPreIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex syncNodeGetPreIndex(SSyncNode* pSyncNode, SyncIndex index)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2703,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2706,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2710,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2714,1
    - Dst: SSyncNode*::pLogStore::syncLogGetEntry
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2716,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2729,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2731,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2738,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2745,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - pSyncNode
    - index
    argTypes:
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2748
      start: 2689
    functionDepth: 1
    functionLinenumber: 2689
    functionLinenumberEnd: 2748
    functionName: syncNodeGetPreTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 5
    functionsReached:
    - sNError
    - syncEntryDestroy
    - taosLRUCacheValue
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - sNTrace
    - taosLRUCacheRelease
    - SSyncNode*::pLogStore::syncLogGetEntry
    - taosLRUCacheLookup
    linkageType: ''
    returnType: SyncTerm
    signature: SyncTerm syncNodeGetPreTerm(SSyncNode* pSyncNode, SyncIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetPreIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2752,1
    - Dst: syncNodeGetPreTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pSyncNode
    - index
    - pPreIndex
    - pPreTerm
    argTypes:
    - SSyncNode*
    - SyncIndex
    - SyncIndex*
    - SyncTerm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2751
    functionDepth: 2
    functionLinenumber: 2751
    functionLinenumberEnd: 2755
    functionName: syncNodeGetPreIndexTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncNodeGetPreTerm
    - syncNodeGetPreIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeGetPreIndexTerm(SSyncNode* pSyncNode, SyncIndex index,
      SyncIndex* pPreIndex, SyncTerm* pPreTerm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2759,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2762,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2766,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2766,1
    - Dst: syncBuildTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2768,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2768,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2771,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2772,1
    - Dst: SSyncNode*::syncEqMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2777,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2779,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2779,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2780,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2785,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2785,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2787,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2789,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2758
    functionDepth: 3
    functionLinenumber: 2758
    functionLinenumberEnd: 2790
    functionName: syncNodeEqPingTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncEnv
    - sError
    - syncNodeRelease
    - taosTmrReset
    - atomic_load_64
    - syncNodeAcquire
    - terrstr
    - syncIsInit
    - SSyncNode*::syncEqMsg
    - syncBuildTimeout
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void syncNodeEqPingTimer(void* param, void* tmrId)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2793,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2796,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2801,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2805,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2807,1
    - Dst: syncBuildTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2813,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2816,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2817,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2822,1
    - Dst: SSyncNode*::syncEqMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2824,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2826,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2826,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2827,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2828,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2832,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2792
    functionDepth: 3
    functionLinenumber: 2792
    functionLinenumberEnd: 2833
    functionName: syncNodeEqElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - syncNodeRelease
    - syncNodeAcquire
    - terrstr
    - taosGetTimestampMs
    - sNTrace
    - syncIsInit
    - SSyncNode*::syncEqMsg
    - syncBuildTimeout
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void syncNodeEqElectTimer(void* param, void* tmrId)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2837,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2840,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2845,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2845,1
    - Dst: syncBuildTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2847,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2847,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2851,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2855,1
    - Dst: SSyncNode*::syncEqMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2856,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2858,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2858,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2859,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2864,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2864,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2869,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2836
    functionDepth: 3
    functionLinenumber: 2836
    functionLinenumberEnd: 2873
    functionName: syncNodeEqHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncEnv
    - sError
    - taosTmrReset
    - sTrace
    - atomic_load_64
    - syncNodeAcquire
    - terrstr
    - syncIsInit
    - SSyncNode*::syncEqMsg
    - syncBuildTimeout
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: void syncNodeEqHeartbeatTimer(void* param, void* tmrId)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2878,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2882,1
    - Dst: syncHbTimerDataAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2884,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2886,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2890,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2892,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2893,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2900,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2901,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2902,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2907,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2908,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2909,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2914,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2917,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2922,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2923,1
    - Dst: syncBuildHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2930,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2931,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2931,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2932,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2933,1
    - Dst: syncMinMatchIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2937,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2942,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2953,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2953,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2954,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2954,1
    - Dst: syncLogSendHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2955,1
    - Dst: syncNodeSendHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2956,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2958,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2958,1
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2962,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2964,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2966,1
    - Dst: taosTmrResetPriority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2968,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2969,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2970,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2970,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2973,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2977,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2982,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2986,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2987,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2989,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 79
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2876
    functionDepth: 2
    functionLinenumber: 2876
    functionLinenumberEnd: 2991
    functionName: syncNodeEqPeerHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncEnv
    - syncNodeRelease
    - syncNodeSendHeartbeat
    - syncMinMatchIndex
    - taosTmrResetPriority
    - syncBuildHeartbeat
    - sTrace
    - syncLogSendHeartbeat
    - taosGetTimestampMs
    - syncIsInit
    - syncHbTimerDataAcquire
    - TRACE_SET_MSGID
    - syncHbTimerDataRelease
    - syncNodeAcquire
    - sInfo
    - sError
    - raftStoreGetTerm
    - atomic_load_64
    - tGenIdPI64
    - tstrerror
    - TRACE_SET_ROOTID
    linkageType: ''
    returnType: void
    signature: void syncNodeEqPeerHeartbeatTimer(void* param, void* tmrId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - key
    - keyLen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 2997
    functionName: deleteCacheEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void deleteCacheEntry(const void* key, size_t keyLen, void* value,
      void* ud)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3001,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pLogStore
    - pEntry
    - h
    argTypes:
    - SSyncLogStore*
    - SSyncRaftEntry*
    - LRUHandle**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 2999
    functionDepth: 1
    functionLinenumber: 2999
    functionLinenumberEnd: 3012
    functionName: syncCacheEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sNTrace
    - taosLRUCacheInsert
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncCacheEntry(SSyncLogStore* pLogStore, SSyncRaftEntry* pEntry,
      LRUHandle** h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3024,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3026,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3027,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3039,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3040,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - pReq
    - cfg
    argTypes:
    - SAlterVnodeReplicaReq*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3050
      start: 3015
    functionDepth: 1
    functionLinenumber: 3015
    functionLinenumberEnd: 3050
    functionName: syncBuildConfigFromReq
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - tmsgUpdateDnodeInfo
    - tstrncpy
    - sInfo
    linkageType: ''
    returnType: void
    signature: void syncBuildConfigFromReq(SAlterVnodeReplicaReq* pReq, SSyncCfg*
      cfg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3059,1
    - Dst: tDeserializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3062,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3064,1
    - Dst: syncBuildConfigFromReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3068,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3074,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3082,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3084,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - ths
    - pEntry
    argTypes:
    - SSyncNode*
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 3052
    functionDepth: 2
    functionLinenumber: 3052
    functionLinenumberEnd: 3089
    functionName: syncNodeCheckChangeConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - raftStoreGetTerm
    - tDeserializeSAlterVnodeReplicaReq
    - syncNodeStepDown
    - TAOS_RETURN
    - POINTER_SHIFT
    - syncBuildConfigFromReq
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeCheckChangeConfig(SSyncNode* ths, SSyncRaftEntry* pEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3092,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3098,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3103,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3112,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3114,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3117,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3119,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3123,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3127,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ths
    - cfg
    - str
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3091
    functionDepth: 1
    functionLinenumber: 3091
    functionLinenumberEnd: 3136
    functionName: syncNodeLogConfigInfo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - snprintf
    - sInfo
    linkageType: ''
    returnType: void
    signature: void syncNodeLogConfigInfo(SSyncNode* ths, SSyncCfg* cfg, char* str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3144,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3148,1
    - Dst: syncUtilNodeInfo2EpSet
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3152,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3154,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3155,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3173,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - ths
    - cfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3138
    functionDepth: 1
    functionLinenumber: 3138
    functionLinenumberEnd: 3185
    functionName: syncNodeRebuildPeerAndCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - syncUtilNodeInfo2EpSet
    - syncUtilNodeInfo2RaftId
    - tstrncpy
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeRebuildPeerAndCfg(SSyncNode* ths, SSyncCfg* cfg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3191,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3204,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - ths
    - cfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3213
      start: 3187
    functionDepth: 0
    functionLinenumber: 3187
    functionLinenumberEnd: 3213
    functionName: syncNodeChangePeerAndCfgToVoter
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void syncNodeChangePeerAndCfgToVoter(SSyncNode* ths, SSyncCfg* cfg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3219,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3224,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3230,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3234,1
    - Dst: syncIndexMgrCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3237,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3239,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3244,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3248,1
    - Dst: syncIndexMgrCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3251,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3253,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3256,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3257,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3261,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3268,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3270,1
    - Dst: syncNodeLogReplDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3276,1
    - Dst: syncNodeLogReplInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3277,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3278,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3279,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3284,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3292,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3299,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3305,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3307,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3308,1
    - Dst: snapshotSenderDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3311,1
    - Dst: snapshotSenderCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3318,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3322,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3326,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3331,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3332,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3333,1
    - Dst: syncHbTimerInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3337,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3338,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3339,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3343,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3344,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3345,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3356,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3362,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 102
    argCount: 2
    argNames:
    - ths
    - oldtotalReplicaNum
    argTypes:
    - SSyncNode*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3215
    functionDepth: 3
    functionLinenumber: 3215
    functionLinenumberEnd: 3365
    functionName: syncNodeRebuildAndCopyIfExist
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - memset
    - syncUtilSameId
    - snapshotSenderDestroy
    - voteGrantedUpdate
    - syncNodeStopHeartbeatTimer
    - memcpy
    - snapshotSenderIsStart
    - syncIndexMgrCopyIfExist
    - sDebug
    - snapshotSenderStop
    - syncIndexMgrDestroy
    - votesRespondUpdate
    - syncNodeLogReplDestroy
    - sSDebug
    - syncNodeLogReplInit
    - snapshotSenderCreate
    - syncNodeStartHeartbeatTimer
    - syncIndexMgrCreate
    - syncHbTimerInit
    - taosMemoryMalloc
    - syncUtilNodeInfo2RaftId
    - taosMemoryFree
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeRebuildAndCopyIfExist(SSyncNode* ths, int32_t oldtotalReplicaNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3370,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3372,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3379,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3381,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3385,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3390
      start: 3367
    functionDepth: 1
    functionLinenumber: 3367
    functionLinenumberEnd: 3390
    functionName: syncNodeChangeToVoter
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - voteGrantedUpdate
    - sDebug
    - votesRespondUpdate
    linkageType: ''
    returnType: void
    signature: void syncNodeChangeToVoter(SSyncNode* ths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3395,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3401
      start: 3392
    functionDepth: 0
    functionLinenumber: 3392
    functionLinenumberEnd: 3401
    functionName: syncNodeResetPeerAndCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void syncNodeResetPeerAndCfg(SSyncNode* ths)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3410,1
    - Dst: tDeserializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3413,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3415,1
    - Dst: syncBuildConfigFromReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3419,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3422,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3432,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3433,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3443,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3445,1
    - Dst: syncNodeLogConfigInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3459,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3467,1
    - Dst: syncNodeResetPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3475,1
    - Dst: syncNodeRebuildPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3479,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3480,1
    - Dst: syncNodeRebuildAndCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3483,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3484,1
    - Dst: syncNodeResetPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3489,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3496,1
    - Dst: syncNodeRebuildAndCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3501,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3502,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3512,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3516,1
    - Dst: syncNodeChangePeerAndCfgToVoter
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3525,1
    - Dst: syncNodeChangeToVoter
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3528,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3539,1
    - Dst: syncNodeRebuildPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3544,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3545,1
    - Dst: syncNodeRebuildAndCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3549,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3550,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3561,1
    - Dst: syncNodeLogConfigInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3567,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3569,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3570,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3571,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3574,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 3
    argNames:
    - ths
    - pEntry
    - str
    argTypes:
    - SSyncNode*
    - SSyncRaftEntry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3575
      start: 3403
    functionDepth: 4
    functionLinenumber: 3403
    functionLinenumberEnd: 3575
    functionName: syncNodeChangeConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - sError
    - syncNodeResetPeerAndCfg
    - memcpy
    - tDeserializeSAlterVnodeReplicaReq
    - syncUtilQuorum
    - syncNodeChangePeerAndCfgToVoter
    - syncNodeLogConfigInfo
    - TAOS_RETURN
    - POINTER_SHIFT
    - syncBuildConfigFromReq
    - syncNodeRebuildAndCopyIfExist
    - syncNodeChangeToVoter
    - syncWriteCfgFile
    - syncNodeRebuildPeerAndCfg
    - strcmp
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeChangeConfig(SSyncNode* ths, SSyncRaftEntry* pEntry,
      char* str)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3581,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3582,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3583,1
    - Dst: syncLogBufferAppend
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3589,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3590,1
    - Dst: syncFsmExecute
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3592,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3592,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3593,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3593,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3595,1
    - Dst: syncLogBufferProceed
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3603,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3607,1
    - Dst: syncNodeUpdateAssignedCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3615,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3616,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3619,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3620,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3628,1
    - Dst: syncNodeUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3632,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3633,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3637,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3638,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3643,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - ths
    - pEntry
    - pMsg
    argTypes:
    - SSyncNode*
    - SSyncRaftEntry*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3644
      start: 3577
    functionDepth: 1
    functionLinenumber: 3577
    functionLinenumberEnd: 3644
    functionName: syncNodeAppend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - sError
    - syncLogBufferCommit
    - sGTrace
    - raftStoreGetTerm
    - syncFsmExecute
    - syncNodeUpdateCommitIndex
    - syncEntryDestroy
    - sGError
    - TAOS_RETURN
    - sGDebug
    - tstrerror
    - syncLogBufferAppend
    - syncLogBufferProceed
    - syncNodeUpdateAssignedCommitIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeAppend(SSyncNode* ths, SSyncRaftEntry* pEntry, SRpcMsg*
      pMsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3652,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3657,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3670
      start: 3646
    functionDepth: 1
    functionLinenumber: 3646
    functionLinenumberEnd: 3670
    functionName: syncNodeHeartbeatReplyTimeout
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncIndexMgrGetRecvTime
    - taosGetTimestampMs
    linkageType: ''
    returnType: bool
    signature: bool syncNodeHeartbeatReplyTimeout(SSyncNode* pSyncNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3672
    functionDepth: 0
    functionLinenumber: 3672
    functionLinenumberEnd: 3682
    functionName: syncNodeSnapshotSending
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool syncNodeSnapshotSending(SSyncNode* pSyncNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3689
      start: 3684
    functionDepth: 0
    functionLinenumber: 3684
    functionLinenumberEnd: 3689
    functionName: syncNodeSnapshotRecving
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool syncNodeSnapshotRecving(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncLogBufferGetEndIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3693,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3694,1
    - Dst: syncEntryBuildNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3696,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3699,1
    - Dst: syncNodeAppend
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3702,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3704
      start: 3691
    functionDepth: 2
    functionLinenumber: 3691
    functionLinenumberEnd: 3704
    functionName: syncNodeAppendNoop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 4
    functionsReached:
    - syncLogBufferGetEndIndex
    - raftStoreGetTerm
    - TAOS_RETURN
    - syncNodeAppend
    - syncEntryBuildNoop
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeAppendNoop(SSyncNode* ths)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pLogStore::syncLogWriteIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3710,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3711,1
    - Dst: syncEntryBuildNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3712,1
    - Dst: SSyncNode*::pLogStore::syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3718,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3720,1
    - Dst: syncCacheEntry
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3724,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3728,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3734
      start: 3707
    functionDepth: 2
    functionLinenumber: 3707
    functionLinenumberEnd: 3734
    functionName: syncNodeAppendNoopOld
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - syncCacheEntry
    - raftStoreGetTerm
    - SSyncNode*::pLogStore::syncLogWriteIndex
    - syncEntryDestroy
    - taosLRUCacheRelease
    - SSyncNode*::pLogStore::syncLogAppendEntry
    - syncEntryBuildNoop
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeAppendNoopOld(SSyncNode* ths)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3741,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3743,1
    - Dst: syncIndexMgrSetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3744,1
    - Dst: syncIndexMgrIncRecvCount
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3745,1
    - Dst: syncLogRecvHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3749,1
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3751,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3752,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3755,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3755,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3755,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3759,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3762,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3766,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3770,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3773,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3773,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3776,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3779,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3779,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3791,1
    - Dst: syncBuildLocalCmd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3791,1
    - Dst: SSyncNode*::syncEqMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3801,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3803,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3804,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3805,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3807,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3819,1
    - Dst: syncBuildLocalCmd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3819,1
    - Dst: SSyncNode*::syncEqMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3828,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3830,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3831,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3833,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3839,1
    - Dst: syncBuildHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3839,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3850,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3853,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3853,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3855,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3858,1
    - Dst: sGInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3861,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3864,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3867,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3870,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3874,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3874,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3876,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3878
      start: 3737
    functionDepth: 4
    functionLinenumber: 3737
    functionLinenumberEnd: 3878
    functionName: syncNodeOnHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncNodeSendMsgById
    - syncNodeResetElectTimer
    - syncBuildHeartbeatReply
    - sGError
    - syncLogRecvHeartbeat
    - DID
    - syncBuildLocalCmd
    - sTrace
    - taosGetTimestampMs
    - raftStoreSetTerm
    - sWarn
    - rpcFreeCont
    - sGTrace
    - TRACE_SET_MSGID
    - syncNodeInRaftGroup
    - sGInfo
    - syncIndexMgrIncRecvCount
    - sGDebug
    - sError
    - syncIndexMgrSetRecvTime
    - CID
    - raftStoreGetTerm
    - TAOS_CHECK_RETURN
    - tGenIdPI64
    - syncIndexMgrGetRecvTime
    - tstrerror
    - SSyncNode*::syncEqMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnHeartbeat(SSyncNode* ths, const SRpcMsg* pRpcMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3884,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3888,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3889,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3892,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3893,1
    - Dst: syncLogRecvHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3894,1
    - Dst: syncIndexMgrSetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3896,1
    - Dst: syncIndexMgrIncRecvCount
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3897,1
    - Dst: syncLogReplProcessHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3900
      start: 3880
    functionDepth: 1
    functionLinenumber: 3880
    functionLinenumberEnd: 3900
    functionName: syncNodeOnHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncLogRecvHeartbeatReply
    - sError
    - syncIndexMgrSetRecvTime
    - syncNodeGetLogReplMgr
    - syncIndexMgrGetRecvTime
    - taosGetTimestampMs
    - syncIndexMgrIncRecvCount
    - TAOS_RETURN
    - syncLogReplProcessHeartbeatReply
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnHeartbeatReply(SSyncNode* ths, const SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3906,1
    - Dst: syncLogRecvHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3908,1
    - Dst: syncIndexMgrSetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3913
      start: 3903
    functionDepth: 1
    functionLinenumber: 3903
    functionLinenumberEnd: 3913
    functionName: syncNodeOnHeartbeatReplyOld
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncLogRecvHeartbeatReply
    - syncIndexMgrSetRecvTime
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnHeartbeatReplyOld(SSyncNode* ths, const SRpcMsg*
      pRpcMsg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncLogRecvLocalCmd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3918,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3922,1
    - Dst: syncLogBufferIsEmpty
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3925,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3926,1
    - Dst: syncLogBufferGetLastMatchTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3929,1
    - Dst: syncNodeUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3934,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3935,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3938,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3939,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3939,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3943,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3947
      start: 3916
    functionDepth: 2
    functionLinenumber: 3916
    functionLinenumberEnd: 3947
    functionName: syncNodeOnLocalCmd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - sError
    - syncLogBufferIsEmpty
    - syncLogBufferGetLastMatchTerm
    - syncLogBufferCommit
    - sTrace
    - syncNodeUpdateCommitIndex
    - terrstr
    - syncNodeStepDown
    - syncLogRecvLocalCmd
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnLocalCmd(SSyncNode* ths, const SRpcMsg* pRpcMsg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3961,1
    - Dst: syncLogBufferGetEndIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3964,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3965,1
    - Dst: syncEntryBuildFromClientRequest
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3968,1
    - Dst: syncEntryBuildFromRpcMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3970,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3974,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3975,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3982,1
    - Dst: syncRespMgrAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3983,1
    - Dst: syncNodeCheckChangeConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3993,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3995,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3996,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3997,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3999,1
    - Dst: syncRespMgrGetAndDel
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4004,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4005,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4008,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4010,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4012,1
    - Dst: syncNodeAppend
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4016,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4019,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - ths
    - pMsg
    - pRetIndex
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    - SyncIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 3960
    functionDepth: 3
    functionLinenumber: 3960
    functionLinenumberEnd: 4023
    functionName: syncNodeOnClientRequest
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 2
    functionsReached:
    - syncLogBufferGetEndIndex
    - syncEntryBuildFromRpcMsg
    - raftStoreGetTerm
    - syncRespMgrAdd
    - syncRespMgrGetAndDel
    - syncEntryDestroy
    - terrstr
    - taosGetTimestampMs
    - syncNodeCheckChangeConfig
    - sGDebug
    - TAOS_RETURN
    - tmsgSendRsp
    - sGError
    - syncNodeAppend
    - syncEntryBuildFromClientRequest
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnClientRequest(SSyncNode* ths, SRpcMsg* pMsg, SyncIndex*
      pRetIndex)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - ESyncState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4044
      start: 4025
    functionDepth: 0
    functionLinenumber: 4025
    functionLinenumberEnd: 4044
    functionName: syncStr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * syncStr(ESyncState state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SYNC_ADDR
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4049,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ths
    - pNewCfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4060
      start: 4046
    functionDepth: 1
    functionLinenumber: 4046
    functionLinenumberEnd: 4060
    functionName: syncNodeUpdateNewConfigIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncUtilSameId
    - SYNC_ADDR
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeUpdateNewConfigIndex(SSyncNode* ths, SSyncCfg* pNewCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilUserCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4064
      start: 4062
    functionDepth: 1
    functionLinenumber: 4062
    functionLinenumberEnd: 4064
    functionName: syncNodeIsOptimizedOneReplica
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncUtilUserCommit
    linkageType: ''
    returnType: bool
    signature: bool syncNodeIsOptimizedOneReplica(SSyncNode* ths, SRpcMsg* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ths
    - pRaftId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4073
      start: 4066
    functionDepth: 1
    functionLinenumber: 4066
    functionLinenumberEnd: 4073
    functionName: syncNodeInRaftGroup
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncUtilSameId
    linkageType: ''
    returnType: bool
    signature: bool syncNodeInRaftGroup(SSyncNode* ths, SRaftId* pRaftId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ths
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4083
      start: 4075
    functionDepth: 1
    functionLinenumber: 4075
    functionLinenumberEnd: 4083
    functionName: syncNodeGetSnapshotSender
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 1
    functionsReached:
    - syncUtilSameId
    linkageType: ''
    returnType: SSyncSnapshotSender
    signature: SSyncSnapshotSender * syncNodeGetSnapshotSender(SSyncNode* ths, SRaftId*
      pDestId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4088,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ths
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4085
    functionDepth: 1
    functionLinenumber: 4085
    functionLinenumberEnd: 4093
    functionName: syncNodeGetHbTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 3
    functionsReached:
    - syncUtilSameId
    linkageType: ''
    returnType: SSyncTimer
    signature: SSyncTimer * syncNodeGetHbTimer(SSyncNode* ths, SRaftId* pDestId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ths
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4103
      start: 4095
    functionDepth: 1
    functionLinenumber: 4095
    functionLinenumberEnd: 4103
    functionName: syncNodeGetPeerState
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - syncUtilSameId
    linkageType: ''
    returnType: SPeerState
    signature: SPeerState * syncNodeGetPeerState(SSyncNode* ths, const SRaftId* pDestId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetPeerState
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4107,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4109,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ths
    - pDestId
    - pMsg
    argTypes:
    - SSyncNode*
    - SRaftId*
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4121
      start: 4106
    functionDepth: 2
    functionLinenumber: 4106
    functionLinenumberEnd: 4121
    functionName: syncNodeNeedSendAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - taosGetTimestampMs
    - 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:4125,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4130,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4132,1
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4138,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4123
    functionDepth: 2
    functionLinenumber: 4123
    functionLinenumberEnd: 4146
    functionName: syncNodeCanChange
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: 0
    functionsReached:
    - sError
    - syncNodeGetLastIndex
    - syncNodeGetSnapshotSender
    linkageType: ''
    returnType: bool
    signature: bool syncNodeCanChange(SSyncNode* pSyncNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:24,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - pMsg
    - timeoutType
    - logicClock
    - timerMS
    - pNode
    argTypes:
    - SRpcMsg*
    - ESyncTimeoutType
    - uint64_t
    - int32_t
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 41
    functionName: syncBuildTimeout
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 3
    functionsReached:
    - rpcMallocCont
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: "int32_t syncBuildTimeout(SRpcMsg* pMsg, ESyncTimeoutType timeoutType,
      uint64_t logicClock, int32_t timerMS,\n                         SSyncNode* pNode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:46,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - pMsg
    - pOriginal
    - seqNum
    - isWeak
    - vgId
    argTypes:
    - SRpcMsg*
    - SRpcMsg*
    - uint64_t
    - bool
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: syncBuildClientRequest
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 3
    functionsReached:
    - rpcMallocCont
    - memcpy
    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:68,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - pMsg
    - pEntry
    - vgId
    argTypes:
    - SRpcMsg*
    - SSyncRaftEntry*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: syncBuildClientRequestFromNoopEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - memcpy
    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:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: syncBuildRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 0
    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:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: syncBuildRequestVoteReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 1
    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:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pMsg
    - dataLen
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: syncBuildAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 0
    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:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: syncBuildAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 0
    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:157,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:167,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - pNode
    - pEntry
    - prevLogTerm
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SSyncRaftEntry*
    - SyncTerm
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 177
    functionName: syncBuildAppendEntriesFromRaftEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 0
    functionsReached:
    - rpcMallocCont
    - memcpy
    - raftStoreGetTerm
    linkageType: ''
    returnType: int32_t
    signature: "int32_t syncBuildAppendEntriesFromRaftEntry(SSyncNode* pNode, SSyncRaftEntry*
      pEntry, SyncTerm prevLogTerm,\n                                            SRpcMsg*
      pRpcMsg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: syncBuildHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 1
    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:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: syncBuildHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 1
    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:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pMsg
    - dataLen
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: syncBuildSnapshotSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 0
    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:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pMsg
    - dataLen
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: syncBuildSnapshotSendRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 0
    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:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: syncBuildLeaderTransfer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncBuildLeaderTransfer(SRpcMsg* pMsg, int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 274
    functionName: syncBuildLocalCmd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncBuildLocalCmd(SRpcMsg* pMsg, int32_t vgId)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - timerType
    argTypes:
    - enum ESyncTimeoutType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: syncTimerTypeStr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * syncTimerTypeStr(enum ESyncTimeoutType timerType)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - ESyncLocalCmd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: syncLocalCmdGetStr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * syncLocalCmdGetStr(ESyncLocalCmd cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: syncEnv
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: SSyncEnv
    signature: SSyncEnv *syncEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: syncIsInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 9
    functionsReached:
    - atomic_load_8
    linkageType: ''
    returnType: bool
    signature: bool syncIsInit()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:30,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:32,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:33,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:35,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:36,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:38,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:40,1
    - Dst: syncCleanUp
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:41,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:44,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:46,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:48,1
    - Dst: syncCleanUp
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:49,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:53,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 57
    functionName: syncInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 17
    functionsReached:
    - sError
    - taosSeedRand
    - syncCleanUp
    - taosGetTimestampNs
    - sDebug
    - taosOpenRef
    - atomic_store_8
    - memset
    - syncIsInit
    - taosTmrInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncInit()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:60,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:61,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:62,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:65,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:66,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:71,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: syncCleanUp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 3
    functionsReached:
    - taosCloseRef
    - sDebug
    - atomic_store_8
    - memset
    - taosTmrCleanUp
    linkageType: ''
    returnType: void
    signature: void syncCleanUp()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:78,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: syncNodeAdd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 1
    functionsReached:
    - taosAddRef
    - sDebug
    linkageType: ''
    returnType: int64_t
    signature: int64_t syncNodeAdd(SSyncNode *pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:88,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:91,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:92,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: syncNodeRemove
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 1
    functionsReached:
    - taosRemoveRef
    - sError
    - sDebug
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void syncNodeRemove(int64_t rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:98,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: syncNodeAcquire
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 41
    functionsReached:
    - sError
    - taosAcquireRef
    linkageType: ''
    returnType: SSyncNode
    signature: SSyncNode *syncNodeAcquire(int64_t rid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:110,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:111,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: syncNodeRelease
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 39
    functionsReached:
    - taosReleaseRef
    - sError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void syncNodeRelease(SSyncNode *pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SSyncHbTimerData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: syncHbTimerDataAdd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 1
    functionsReached:
    - taosAddRef
    linkageType: ''
    returnType: int64_t
    signature: int64_t syncHbTimerDataAdd(SSyncHbTimerData *pData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:128,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: syncHbTimerDataRemove
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 1
    functionsReached:
    - taosRemoveRef
    - sError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void syncHbTimerDataRemove(int64_t rid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:134,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: syncHbTimerDataAcquire
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 2
    functionsReached:
    - taosAcquireRef
    - sInfo
    linkageType: ''
    returnType: SSyncHbTimerData
    signature: SSyncHbTimerData *syncHbTimerDataAcquire(int64_t rid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:146,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SSyncHbTimerData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: syncHbTimerDataRelease
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: 1
    functionsReached:
    - taosReleaseRef
    - sError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void syncHbTimerDataRelease(SSyncHbTimerData *pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSyncSnapBuffer*::entryDeleteCb
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncSnapBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: syncSnapBufferReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - SSyncSnapBuffer*::entryDeleteCb
    linkageType: ''
    returnType: void
    signature: void syncSnapBufferReset(SSyncSnapBuffer *pBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:45,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:47,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ppBuf
    argTypes:
    - SSyncSnapBuffer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: syncSnapBufferDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexDestroy
    - syncSnapBufferReset
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncSnapBufferDestroy(SSyncSnapBuffer **ppBuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:54,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:57,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:61,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ppBuf
    argTypes:
    - SSyncSnapBuffer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: syncSnapBufferCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - TAOS_RETURN
    - taosThreadMutexInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncSnapBufferCreate(SSyncSnapBuffer **ppBuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:72,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:75,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:77,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:87,1
    - Dst: SSyncSnapshotSender*::pSyncNode::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:91,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:93,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:94,1
    - Dst: syncSnapBufferCreate
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:97,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:99,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:100,1
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:105,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - pSyncNode
    - replicaIndex
    - ppSender
    argTypes:
    - SSyncNode*
    - int32_t
    - SSyncSnapshotSender**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 108
    functionName: snapshotSenderCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 4
    functionsReached:
    - taosMemoryFreeClear
    - syncSnapBufferReset
    - raftStoreGetTerm
    - SSyncSnapshotSender*::pSyncNode::pFsm::FpGetSnapshotInfo
    - TAOS_RETURN
    - syncSnapBufferCreate
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotSenderCreate(SSyncNode *pSyncNode, int32_t replicaIndex,
      SSyncSnapshotSender **ppSender)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:113,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: syncSnapBlockDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncSnapBlockDestroy(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:122,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: snapshotSenderClearInfoData
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotSenderClearInfoData(SSyncSnapshotSender *pSender)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSyncSnapshotSender*::pSyncNode::pFsm::FpSnapshotStopRead
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:138,1
    - Dst: syncSnapBufferDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:144,1
    - Dst: snapshotSenderClearInfoData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:147,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: snapshotSenderDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 3
    functionsReached:
    - SSyncSnapshotSender*::pSyncNode::pFsm::FpSnapshotStopRead
    - syncSnapBufferDestroy
    - taosMemoryFree
    - snapshotSenderClearInfoData
    linkageType: ''
    returnType: void
    signature: void snapshotSenderDestroy(SSyncSnapshotSender *pSender)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: snapshotSenderIsStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 2
    functionsReached:
    - atomic_load_8
    linkageType: ''
    returnType: bool
    signature: bool snapshotSenderIsStart(SSyncSnapshotSender *pSender)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:158,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:172,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:174,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:175,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:176,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:182,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:183,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:183,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:193,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:200,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:200,1
    - Dst: syncSnapSendMsg
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:201,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:206,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:206,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:209,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 213
    functionName: snapshotSenderStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - sSError
    - sSInfo
    - atomic_val_compare_exchange_8
    - raftStoreGetTerm
    - syncSnapSendMsg
    - taosGetMonoTimestampMs
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - memset
    - taosGetTimestampMs
    - taosMemoryFree
    - TAOS_RETURN
    - tstrerror
    - DID
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotSenderStart(SSyncSnapshotSender *pSender)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:216,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:219,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:221,1
    - Dst: SSyncSnapshotSender*::pSyncNode::pFsm::FpSnapshotStopRead
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:227,1
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:231,1
    - Dst: snapshotSenderClearInfoData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:233,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:236,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:236,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pSender
    - finish
    argTypes:
    - SSyncSnapshotSender*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 239
    functionName: snapshotSenderStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 2
    functionsReached:
    - sSInfo
    - sSDebug
    - syncSnapBufferReset
    - atomic_val_compare_exchange_8
    - snapshotSenderClearInfoData
    - SSyncSnapshotSender*::pSyncNode::pFsm::FpSnapshotStopRead
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - DID
    linkageType: ''
    returnType: void
    signature: void snapshotSenderStop(SSyncSnapshotSender *pSender, bool finish)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncBuildSnapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:245,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:246,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:246,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:263,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:268,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:269,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:269,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - pSender
    - seq
    - pBlock
    - blockLen
    - typ
    argTypes:
    - SSyncSnapshotSender*
    - int32_t
    - void*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 275
    functionName: syncSnapSendMsg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 1
    functionsReached:
    - sSError
    - syncBuildSnapshotSend
    - memcpy
    - syncNodeSendMsgById
    - TAOS_RETURN
    - tstrerror
    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: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:287,1
    - Dst: SSyncSnapshotSender*::pSyncNode::pFsm::FpSnapshotDoRead
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:296,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:299,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:299,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:305,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:309,1
    - Dst: syncSnapSendMsg
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:323,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:328,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:337,1
    - Dst: syncSnapBlockDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:343,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:346,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 347
    functionName: snapshotSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sSError
    - sSDebug
    - sSInfo
    - syncSnapSendMsg
    - TMAX
    - SSyncSnapshotSender*::pSyncNode::pFsm::FpSnapshotDoRead
    - taosGetTimestampMs
    - TAOS_RETURN
    - tstrerror
    - syncSnapBlockDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotSend(SSyncSnapshotSender *pSender)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:353,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:354,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:365,1
    - Dst: syncSnapSendMsg
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:369,1
    - Dst: snapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:376,1
    - Dst: syncSnapSendMsg
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:382,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:387,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:388,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 350
    functionDepth: 6
    functionLinenumber: 350
    functionLinenumberEnd: 389
    functionName: snapshotReSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - syncSnapSendMsg
    - snapshotSenderIsStart
    - snapshotSend
    - taosGetTimestampMs
    - TAOS_RETURN
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    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:392,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:394,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:395,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:398,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:399,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:403,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:405,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:405,1
    - Dst: snapshotSenderStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:408,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:410,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:410,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pSyncNode
    - pDestId
    - reason
    argTypes:
    - SSyncNode*
    - SRaftId*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 415
    functionName: syncNodeStartSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sSError
    - sSDebug
    - sNError
    - syncNodeGetSnapshotSender
    - snapshotSenderStart
    - snapshotSenderIsStart
    - TAOS_RETURN
    - tstrerror
    - taosMsleep
    - DID
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeStartSnapshot(SSyncNode *pSyncNode, SRaftId *pDestId,
      char *reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:424,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:427,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:429,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:436,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:438,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:440,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:444,1
    - Dst: syncSnapBufferCreate
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:451,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:453,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:455,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:455,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:457,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:459,1
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:464,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 3
    argNames:
    - pSyncNode
    - fromId
    - ppReceiver
    argTypes:
    - SSyncNode*
    - SRaftId
    - SSyncSnapshotReceiver**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 467
    functionName: snapshotReceiverCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 2
    functionsReached:
    - sError
    - syncSnapBufferReset
    - raftStoreGetTerm
    - taosThreadMutexInit
    - taosThreadMutexDestroy
    - taosMemoryFree
    - TAOS_RETURN
    - syncSnapBufferCreate
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotReceiverCreate(SSyncNode *pSyncNode, SRaftId fromId,
      SSyncSnapshotReceiver **ppReceiver)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:471,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 480
    functionName: snapshotReceiverClearInfoData
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotReceiverClearInfoData(SSyncSnapshotReceiver *pReceiver)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:485,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:488,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:491,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:492,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:496,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:498,1
    - Dst: syncSnapBufferDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:502,1
    - Dst: snapshotReceiverClearInfoData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:505,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 509
    functionName: snapshotReceiverDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 2
    functionsReached:
    - sError
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
    - snapshotReceiverClearInfoData
    - taosThreadMutexUnlock
    - taosThreadMutexDestroy
    - taosMemoryFree
    - tstrerror
    - taosThreadMutexLock
    - syncSnapBufferDestroy
    linkageType: ''
    returnType: void
    signature: void snapshotReceiverDestroy(SSyncSnapshotReceiver *pReceiver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: snapshotReceiverIsStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 5
    functionsReached:
    - atomic_load_8
    linkageType: ''
    returnType: bool
    signature: bool snapshotReceiverIsStart(SSyncSnapshotReceiver *pReceiver)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:535,1
    - Dst: sRWarn
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:538,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - pReceiver
    - pMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 543
    functionName: snapshotReceiverSignatureCmp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sRWarn
    - sRError
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotReceiverSignatureCmp(SSyncSnapshotReceiver *pReceiver,
      SyncSnapshotSend *pMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:547,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:548,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStartWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:562,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:565,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:565,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:566,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pReceiver
    - pBeginMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 572
    functionName: snapshotReceiverStartWriter
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sRError
    - sRInfo
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStartWrite
    - TAOS_RETURN
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotReceiverStartWriter(SSyncSnapshotReceiver *pReceiver,
      SyncSnapshotSend *pBeginMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:575,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:576,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:580,1
    - Dst: syncNodeGetSnapBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:588,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:591,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pReceiver
    - pPreMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 592
    functionName: snapshotReceiverStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - snapshotReceiverIsStart
    - atomic_val_compare_exchange_8
    - sRInfo
    - DID
    - syncNodeGetSnapBeginIndex
    linkageType: ''
    returnType: void
    signature: void snapshotReceiverStart(SSyncSnapshotReceiver *pReceiver, SyncSnapshotSend
      *pPreMsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sRDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:595,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:597,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:600,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:603,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:606,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:606,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:610,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:613,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:615,1
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:617,1
    - Dst: snapshotReceiverClearInfoData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:619,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 622
    functionName: snapshotReceiverStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 5
    functionsReached:
    - syncSnapBufferReset
    - atomic_val_compare_exchange_8
    - sRError
    - snapshotReceiverClearInfoData
    - sRInfo
    - taosThreadMutexUnlock
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
    - tstrerror
    - taosThreadMutexLock
    - sRDebug
    linkageType: ''
    returnType: void
    signature: void snapshotReceiverStop(SSyncSnapshotReceiver *pReceiver)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:628,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:630,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotDoWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:631,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:633,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:635,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:635,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:636,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:646,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:647,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:650,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:653,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:656,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:656,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:657,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:660,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:662,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:669,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:671,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:671,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:672,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pLogStore::syncLogRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:678,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:680,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:680,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:681,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:683,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:686,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:687,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - pReceiver
    - pMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 691
    functionName: snapshotReceiverFinish
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - SSyncSnapshotReceiver*::pSyncNode::pLogStore::syncLogRestoreFromSnapshot
    - raftStoreGetTerm
    - sRError
    - raftStoreSetTerm
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotStopWrite
    - sRInfo
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotDoWrite
    - TAOS_RETURN
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpGetSnapshotInfo
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotReceiverFinish(SSyncSnapshotReceiver *pReceiver, SyncSnapshotSend
      *pMsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:695,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:696,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:699,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:702,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:703,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:704,1
    - Dst: sRDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:707,1
    - Dst: SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotDoWrite
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:711,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:714,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:715,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:715,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:716,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:720,1
    - Dst: sRDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pReceiver
    - pMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 728
    functionName: snapshotReceiverGotData
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sRError
    - SSyncSnapshotReceiver*::pSyncNode::pFsm::FpSnapshotDoWrite
    - TAOS_RETURN
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    - sRDebug
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotReceiverGotData(SSyncSnapshotReceiver *pReceiver, SyncSnapshotSend
      *pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeIsMnode
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:733,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:735,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:740,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:741,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 747
    functionName: syncNodeGetSnapBeginIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 1
    functionsReached:
    - sNInfo
    - TMAX
    - walGetCommittedVer
    - syncNodeIsMnode
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex syncNodeGetSnapBeginIndex(SSyncNode *ths)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:755,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:757,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:761,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:764,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:765,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:770,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:778,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:781,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:782,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:787,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:790,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - pSyncNode
    - pReceiver
    - pMsg
    - pInfo
    argTypes:
    - SSyncNode*
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    - SSnapshot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 791
    functionName: syncSnapReceiverExchgSnapInfo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sError
    - memcpy
    - sRError
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - TAOS_RETURN
    - tstrerror
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t syncSnapReceiverExchgSnapInfo(SSyncNode *pSyncNode, SSyncSnapshotReceiver
      *pReceiver,\n                                             SyncSnapshotSend *pMsg,
      SSnapshot *pInfo)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:795,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:798,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:801,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:802,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:805,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:809,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:815,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:820,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:821,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:822,1
    - Dst: snapshotReceiverStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:825,1
    - Dst: syncSnapReceiverExchgSnapInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:832,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:841,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:847,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:850,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - pSyncNode
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 851
    functionName: syncNodeOnSnapshotPrep
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - snapshotReceiverIsStart
    - sError
    - syncSnapReceiverExchgSnapInfo
    - snapshotReceiverStop
    - sRInfo
    - snapshotReceiverStart
    - taosGetTimestampMs
    - syncSnapSendRsp
    - taosMemoryFree
    - TAOS_RETURN
    - snapshotReceiverSignatureCmp
    - sWarn
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnSnapshotPrep(SSyncNode *pSyncNode, SyncSnapshotSend
      *pMsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:858,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:859,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:863,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:865,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:865,1
    - Dst: snapshotReceiverStartWriter
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:870,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:871,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:871,1
    - Dst: syncNodeGetSnapBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:875,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:877,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:886,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:886,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pSyncNode
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 889
    functionName: syncNodeOnSnapshotBegin
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - snapshotReceiverIsStart
    - sError
    - sRError
    - snapshotReceiverSignatureCmp
    - TAOS_CHECK_RETURN
    - snapshotReceiverStartWriter
    - TAOS_RETURN
    - tstrerror
    - syncSnapSendRsp
    - syncNodeGetSnapBeginIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnSnapshotBegin(SSyncNode *pSyncNode, SyncSnapshotSend
      *pMsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncBuildSnapshotSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:897,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:898,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:898,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:899,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:915,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:919,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:920,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:920,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - pReceiver
    - pMsg
    - pBlock
    - blockLen
    - type
    - rspCode
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    - void*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 924
    functionName: syncSnapSendRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 2
    functionsReached:
    - syncBuildSnapshotSendRsp
    - memcpy
    - sRError
    - syncNodeSendMsgById
    - TAOS_RETURN
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t syncSnapSendRsp(SSyncSnapshotReceiver *pReceiver, SyncSnapshotSend
      *pMsg, void *pBlock, int32_t blockLen,\n                        int32_t type,
      int32_t rspCode)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:931,1
    - Dst: SSyncSnapBuffer*::entryDeleteCb
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:942,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:946,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:948,1
    - Dst: snapshotReceiverGotData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:961,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:967,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:968,1
    - Dst: SSyncSnapBuffer*::entryDeleteCb
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:970,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:976,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:977,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - pReceiver
    - ppMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 926
    functionDepth: 5
    functionLinenumber: 926
    functionLinenumberEnd: 978
    functionName: syncSnapBufferRecv
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sError
    - TMAX
    - snapshotReceiverGotData
    - TAOS_RETURN
    - SSyncSnapBuffer*::entryDeleteCb
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - syncSnapSendRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncSnapBufferRecv(SSyncSnapshotReceiver *pReceiver, SyncSnapshotSend
      **ppMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:986,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:989,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:991,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:991,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:992,1
    - Dst: syncSnapBufferRecv
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pSyncNode
    - ppMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 980
    functionDepth: 6
    functionLinenumber: 980
    functionLinenumberEnd: 996
    functionName: syncNodeOnSnapshotReceive
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sError
    - snapshotReceiverSignatureCmp
    - syncSnapBufferRecv
    - taosGetTimestampMs
    - tstrerror
    - syncSnapSendRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnSnapshotReceive(SSyncNode *pSyncNode, SyncSnapshotSend
      **ppMsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1002,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1005,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1007,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1007,1
    - Dst: snapshotReceiverFinish
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1011,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1013,1
    - Dst: syncBuildSnapshotSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1020,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1021,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1021,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1022,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1028,1
    - Dst: syncLogSendSyncSnapshotRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1037,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1038,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1039,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1039,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1040,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1043,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - pSyncNode
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 998
    functionDepth: 4
    functionLinenumber: 998
    functionLinenumberEnd: 1044
    functionName: syncNodeOnSnapshotEnd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sError
    - syncBuildSnapshotSendRsp
    - raftStoreGetTerm
    - sRError
    - snapshotReceiverFinish
    - snapshotReceiverSignatureCmp
    - snapshotReceiverStop
    - syncLogSendSyncSnapshotRsp
    - syncNodeSendMsgById
    - taosGetTimestampMs
    - TAOS_RETURN
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnSnapshotEnd(SSyncNode *pSyncNode, SyncSnapshotSend
      *pMsg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1055,1
    - Dst: syncLogRecvSyncSnapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1056,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1058,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1061,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1062,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1065,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1065,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1066,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1070,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1071,1
    - Dst: syncNodeUpdateTermWithoutStepDown
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1074,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1078,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1080,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1084,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1086,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1091,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1094,1
    - Dst: syncNodeOnSnapshotPrep
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1096,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1097,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1100,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1106,1
    - Dst: syncNodeOnSnapshotBegin
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1110,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1111,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1119,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1121,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1126,1
    - Dst: syncNodeOnSnapshotReceive
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1132,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1133,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1139,1
    - Dst: syncNodeOnSnapshotEnd
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1143,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1145,1
    - Dst: syncLogBufferReInit
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1149,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1151,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1151,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1153,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1160,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1161,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 2
    argNames:
    - pSyncNode
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1048
    functionDepth: 7
    functionLinenumber: 1048
    functionLinenumberEnd: 1162
    functionName: syncNodeOnSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 1
    functionsReached:
    - syncNodeResetElectTimer
    - syncNodeStepDown
    - syncNodeOnSnapshotEnd
    - syncNodeOnSnapshotBegin
    - TMSG_INFO
    - sRError
    - sDebug
    - taosGetTimestampMs
    - syncLogBufferReInit
    - syncNodeUpdateTermWithoutStepDown
    - syncNodeInRaftGroup
    - syncNodeOnSnapshotPrep
    - syncSnapSendRsp
    - sInfo
    - sError
    - syncLogRecvSyncSnapshotSend
    - raftStoreGetTerm
    - syncNodeOnSnapshotReceive
    - TAOS_RETURN
    - tstrerror
    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:1169,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1170,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1175,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1177,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1179,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pSyncNode
    - pSender
    - pMsg
    argTypes:
    - SSyncNode*
    - SSyncSnapshotSender*
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1185
    functionName: syncSnapSenderExchgSnapInfo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sSError
    - sSInfo
    - memcpy
    - TAOS_RETURN
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncSnapSenderExchgSnapInfo(SSyncNode *pSyncNode, SSyncSnapshotSender
      *pSender, SyncSnapshotRsp *pMsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1193,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1197,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1200,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1201,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1201,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1207,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1215,1
    - Dst: syncSnapSenderExchgSnapInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1215,1
    - Dst: SSyncNode*::pFsm::FpSnapshotStartRead
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1218,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1220,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1220,1
    - Dst: syncIndexMgrSetIndex
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1225,1
    - Dst: snapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1227,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1230,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - pSyncNode
    - pSender
    - pMsg
    argTypes:
    - SSyncNode*
    - SSyncSnapshotSender*
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1188
    functionDepth: 6
    functionLinenumber: 1188
    functionLinenumberEnd: 1232
    functionName: syncNodeOnSnapshotPrepRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sSError
    - sSInfo
    - syncIndexMgrSetIndex
    - TAOS_CHECK_GOTO
    - snapshotSend
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - taosThreadMutexUnlock
    - SSyncNode*::pFsm::FpSnapshotStartRead
    - TAOS_RETURN
    - syncSnapSenderExchgSnapInfo
    - tstrerror
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnSnapshotPrepRsp(SSyncNode *pSyncNode, SSyncSnapshotSender
      *pSender, SyncSnapshotRsp *pMsg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pSender
    - pMsg
    argTypes:
    - SSyncSnapshotSender*
    - SyncSnapshotRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1244
    functionName: snapshotSenderSignatureCmp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sSError
    linkageType: ''
    returnType: int32_t
    signature: int32_t snapshotSenderSignatureCmp(SSyncSnapshotSender *pSender, SyncSnapshotRsp
      *pMsg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1251,1
    - Dst: snapshotSenderSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1252,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1254,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1254,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1258,1
    - Dst: SSyncSnapBuffer*::entryDeleteCb
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1292,1
    - Dst: snapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1298,1
    - Dst: snapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1304,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1309,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1310,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 2
    argNames:
    - pSender
    - ppMsg
    argTypes:
    - SSyncSnapshotSender*
    - SyncSnapshotRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1246
    functionDepth: 6
    functionLinenumber: 1246
    functionLinenumberEnd: 1311
    functionName: syncSnapBufferSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 0
    functionsReached:
    - sError
    - snapshotSenderSignatureCmp
    - snapshotSenderIsStart
    - snapshotSend
    - taosThreadMutexUnlock
    - TAOS_RETURN
    - tstrerror
    - taosThreadMutexLock
    - SSyncSnapBuffer*::entryDeleteCb
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncSnapBufferSend(SSyncSnapshotSender *pSender, SyncSnapshotRsp
      **ppMsg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1321,1
    - Dst: syncLogRecvSyncSnapshotRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1322,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1323,1
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1327,1
    - Dst: syncLogRecvSyncSnapshotRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1329,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1330,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1333,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1334,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1336,1
    - Dst: snapshotSenderSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1341,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1342,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1343,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1345,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1351,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1356,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1358,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1365,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1372,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1373,1
    - Dst: syncNodeOnSnapshotPrepRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1375,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1382,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1384,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1385,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1387,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1388,1
    - Dst: syncSnapBufferSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1392,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1393,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1393,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1401,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1403,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1404,1
    - Dst: syncNodeReplicateReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1404,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1410,1
    - Dst: syncNodeReplicateReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1411,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1411,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1412,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 2
    argNames:
    - pSyncNode
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1315
    functionDepth: 7
    functionLinenumber: 1315
    functionLinenumberEnd: 1413
    functionName: syncNodeOnSnapshotRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: 1
    functionsReached:
    - sSError
    - TAOS_CHECK_GOTO
    - TMSG_INFO
    - snapshotSenderIsStart
    - snapshotSenderStop
    - taosGetTimestampMs
    - syncNodeOnSnapshotPrepRsp
    - syncNodeReplicateReset
    - sSDebug
    - syncNodeGetSnapshotSender
    - snapshotSenderSignatureCmp
    - syncNodeInRaftGroup
    - tstrerror
    - sError
    - sSInfo
    - raftStoreGetTerm
    - syncSnapBufferSend
    - TAOS_RETURN
    - syncLogRecvSyncSnapshotRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnSnapshotRsp(SSyncNode *pSyncNode, SRpcMsg *pRpcMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:21,1
    - Dst: syncIndexMgrClear
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: syncIndexMgrCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 3
    functionsReached:
    - taosMemoryCalloc
    - syncIndexMgrClear
    linkageType: ''
    returnType: SSyncIndexMgr
    signature: SSyncIndexMgr *syncIndexMgrCreate(SSyncNode *pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgrClear
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pIndexMgr
    - pNode
    argTypes:
    - SSyncIndexMgr*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: syncIndexMgrUpdate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 1
    functionsReached:
    - syncIndexMgrClear
    linkageType: ''
    returnType: void
    signature: void syncIndexMgrUpdate(SSyncIndexMgr *pIndexMgr, SSyncNode *pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pIndexMgr
    argTypes:
    - SSyncIndexMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: syncIndexMgrDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 3
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncIndexMgrDestroy(SSyncIndexMgr *pIndexMgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:51,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:52,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pIndexMgr
    argTypes:
    - SSyncIndexMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: syncIndexMgrClear
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 3
    functionsReached:
    - memset
    - taosGetTimestampMs
    linkageType: ''
    returnType: void
    signature: void syncIndexMgrClear(SSyncIndexMgr *pIndexMgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:64,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:70,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:71,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pIndexMgr
    - pRaftId
    - index
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: syncIndexMgrSetIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 2
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    linkageType: ''
    returnType: void
    signature: void syncIndexMgrSetIndex(SSyncIndexMgr *pIndexMgr, const SRaftId *pRaftId,
      SyncIndex index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:76,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:81,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pNewIndex
    - pOldIndex
    - oldReplicasId
    argTypes:
    - SSyncIndexMgr*
    - SSyncIndexMgr*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 94
    functionName: syncIndexMgrCopyIfExist
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 1
    functionsReached:
    - sDebug
    - syncUtilSameId
    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:98,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:104,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:104,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - pRaftId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: syncNodeGetLogReplMgr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 1
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    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:110,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:117,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:117,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: syncIndexMgrGetIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 3
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    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:124,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:130,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:131,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pIndexMgr
    - pRaftId
    - startTime
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: syncIndexMgrSetStartTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 0
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    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:136,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:142,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:142,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: syncIndexMgrGetStartTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 0
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    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:150,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:156,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:157,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pIndexMgr
    - pRaftId
    - recvTime
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: syncIndexMgrSetRecvTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 3
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    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:162,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:168,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:168,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: syncIndexMgrIncRecvCount
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 2
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    linkageType: ''
    returnType: void
    signature: void syncIndexMgrIncRecvCount(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:173,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:179,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:180,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pIndexMgr
    - pRaftId
    - sentTime
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: syncIndexMgrSetSentTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 0
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    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:185,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:191,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:191,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: syncIndexMgrGetRecvTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 3
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    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:198,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:204,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:204,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: syncIndexMgrGetRecvCount
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 0
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    linkageType: ''
    returnType: int64_t
    signature: int64_t syncIndexMgrGetRecvCount(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:211,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:217,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:217,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: syncIndexMgrGetSentTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 0
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    linkageType: ''
    returnType: int64_t
    signature: int64_t syncIndexMgrGetSentTime(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:224,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:230,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:231,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pIndexMgr
    - pRaftId
    - term
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: syncIndexMgrSetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 0
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    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:236,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:242,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:242,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: syncIndexMgrGetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: 0
    functionsReached:
    - sError
    - CID
    - DID
    - syncUtilSameId
    linkageType: ''
    returnType: SyncTerm
    signature: SyncTerm syncIndexMgrGetTerm(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: syncNodeAbs64
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t syncNodeAbs64(int64_t a, int64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: syncNodeDynamicQuorum
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeDynamicQuorum(const SSyncNode* pSyncNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - index
    argTypes:
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: syncNodeAgreedUpon
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool syncNodeAgreedUpon(SSyncNode* pNode, SyncIndex index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:76,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:77,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:78,1
    - Dst: SSyncNode*::pLogStore::syncLogUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ths
    - commitIndex
    argTypes:
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: syncNodeUpdateCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: 2
    functionsReached:
    - TMAX
    - TMIN
    - SSyncNode*::pLogStore::syncLogLastIndex
    - SSyncNode*::pLogStore::syncLogUpdateCommitIndex
    linkageType: ''
    returnType: int64_t
    signature: int64_t syncNodeUpdateCommitIndex(SSyncNode* ths, SyncIndex commitIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAgreedUpon
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:86,1
    - Dst: syncNodeUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:88,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:89,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ths
    - indexLikely
    - trace
    argTypes:
    - SSyncNode*
    - SyncIndex
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: syncNodeCheckCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: 0
    functionsReached:
    - syncNodeAgreedUpon
    - syncNodeUpdateCommitIndex
    - raftStoreGetTerm
    - sGDebug
    linkageType: ''
    returnType: int64_t
    signature: int64_t syncNodeCheckCommitIndex(SSyncNode* ths, SyncIndex indexLikely,
      const STraceId *trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:97,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:98,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:99,1
    - Dst: SSyncNode*::pLogStore::syncLogUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ths
    - assignedCommitIndex
    argTypes:
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: syncNodeUpdateAssignedCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: 1
    functionsReached:
    - TMAX
    - TMIN
    - SSyncNode*::pLogStore::syncLogLastIndex
    - SSyncNode*::pLogStore::syncLogUpdateCommitIndex
    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:38,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:42,1
    - Dst: syncBuildRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:49,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:51,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:51,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:58,1
    - Dst: syncNodeGetLastIndexTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:60,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:62,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:62,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:66,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:66,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:67,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:68,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:72,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 79
    functionName: syncNodeRequestVotePeers
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncElection.c
    functionUses: 0
    functionsReached:
    - sError
    - TRACE_SET_MSGID
    - raftStoreGetTerm
    - syncNodeSendMsgById
    - syncBuildRequestVote
    - tGenIdPI64
    - terrstr
    - sNTrace
    - TRACE_SET_ROOTID
    - syncNodeGetLastIndexTerm
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeRequestVotePeers(SSyncNode* pNode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:83,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:87,1
    - Dst: syncNodeFollower2Candidate
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:92,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:96,1
    - Dst: raftStoreNextTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:101,1
    - Dst: raftStoreClearVote
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:102,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:104,1
    - Dst: voteGrantedReset
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:105,1
    - Dst: votesRespondReset
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:106,1
    - Dst: syncNodeVoteForSelf
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:107,1
    - Dst: voteGrantedMajority
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:109,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:113,1
    - Dst: syncNodeCandidate2Leader
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:116,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:123,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:124,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:126,1
    - Dst: syncNodeCandidate2Leader
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:128,1
    - Dst: syncNodeRequestVotePeers
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:133,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 138
    functionName: syncNodeElect
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncElection.c
    functionUses: 0
    functionsReached:
    - sError
    - syncNodeRequestVotePeers
    - sNError
    - raftStoreGetTerm
    - voteGrantedMajority
    - raftStoreNextTerm
    - voteGrantedReset
    - syncNodeResetElectTimer
    - syncUtilQuorum
    - syncNodeVoteForSelf
    - votesRespondReset
    - raftStoreClearVote
    - syncNodeCandidate2Leader
    - votesRespondUpdate
    - sNInfo
    - syncNodeFollower2Candidate
    - voteGrantedUpdate
    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:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: syncEntryBuild
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: 13
    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:37,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - pMsg
    - term
    - index
    - traceId
    argTypes:
    - SyncClientRequest*
    - SyncTerm
    - SyncIndex
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: syncEntryBuildFromClientRequest
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: 4
    functionsReached:
    - syncEntryBuild
    - memcpy
    linkageType: ''
    returnType: SSyncRaftEntry
    signature: SSyncRaftEntry * syncEntryBuildFromClientRequest(const SyncClientRequest*
      pMsg, SyncTerm term, SyncIndex index, const STraceId *traceId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:53,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pMsg
    - term
    - index
    argTypes:
    - SRpcMsg*
    - SyncTerm
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: syncEntryBuildFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: 1
    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:69,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: syncEntryBuildFromAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    linkageType: ''
    returnType: SSyncRaftEntry
    signature: SSyncRaftEntry * syncEntryBuildFromAppendEntries(const SyncAppendEntries*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - term
    - index
    - vgId
    argTypes:
    - SyncTerm
    - SyncIndex
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: syncEntryBuildNoop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: 2
    functionsReached:
    - syncEntryBuild
    linkageType: ''
    returnType: SSyncRaftEntry
    signature: SSyncRaftEntry * syncEntryBuildNoop(SyncTerm term, SyncIndex index,
      int32_t vgId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:102,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pEntry
    argTypes:
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: syncEntryDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: 4
    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:110,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pEntry
    - pRpcMsg
    argTypes:
    - SSyncRaftEntry*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: syncEntry2OriginalRpc
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: 1
    functionsReached:
    - rpcMallocCont
    - memcpy
    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:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pVotesGranted
    argTypes:
    - SVotesGranted*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: voteGrantedClearVotes
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void voteGrantedClearVotes(SVotesGranted *pVotesGranted)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:27,1
    - Dst: voteGrantedClearVotes
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 43
    functionName: voteGrantedCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 2
    functionsReached:
    - voteGrantedClearVotes
    - taosMemoryCalloc
    linkageType: ''
    returnType: SVotesGranted
    signature: SVotesGranted *voteGrantedCreate(SSyncNode *pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pVotesGranted
    argTypes:
    - SVotesGranted*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: voteGrantedDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 2
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void voteGrantedDestroy(SVotesGranted *pVotesGranted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voteGrantedClearVotes
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pVotesGranted
    - pNode
    argTypes:
    - SVotesGranted*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: voteGrantedUpdate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 4
    functionsReached:
    - voteGrantedClearVotes
    linkageType: ''
    returnType: void
    signature: void voteGrantedUpdate(SVotesGranted *pVotesGranted, SSyncNode *pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pVotesGranted
    argTypes:
    - SVotesGranted*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: voteGrantedMajority
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool voteGrantedMajority(SVotesGranted *pVotesGranted)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:66,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:71,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:76,1
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:77,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:83,1
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:89,1
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:99,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - pVotesGranted
    - pMsg
    argTypes:
    - SVotesGranted*
    - SyncRequestVoteReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 103
    functionName: voteGrantedVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 2
    functionsReached:
    - sNTrace
    - sNFatal
    - syncUtilSameId
    linkageType: ''
    returnType: void
    signature: void voteGrantedVote(SVotesGranted *pVotesGranted, SyncRequestVoteReply
      *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voteGrantedClearVotes
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pVotesGranted
    - term
    argTypes:
    - SVotesGranted*
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: voteGrantedReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 2
    functionsReached:
    - voteGrantedClearVotes
    linkageType: ''
    returnType: void
    signature: void voteGrantedReset(SVotesGranted *pVotesGranted, SyncTerm term)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: votesRespondCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 2
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SVotesRespond
    signature: SVotesRespond *votesRespondCreate(SSyncNode *pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pVotesRespond
    argTypes:
    - SVotesRespond*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: votesRespondDestory
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 2
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void votesRespondDestory(SVotesRespond *pVotesRespond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pVotesRespond
    - pNode
    argTypes:
    - SVotesRespond*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: votesRespondUpdate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void votesRespondUpdate(SVotesRespond *pVotesRespond, SSyncNode *pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pVotesRespond
    - pRaftId
    argTypes:
    - SVotesRespond*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: votesResponded
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 0
    functionsReached:
    - syncUtilSameId
    linkageType: ''
    returnType: bool
    signature: bool votesResponded(SVotesRespond *pVotesRespond, const SRaftId *pRaftId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:152,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:157,1
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pVotesRespond
    - pMsg
    argTypes:
    - SVotesRespond*
    - SyncRequestVoteReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: votesRespondAdd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 2
    functionsReached:
    - sNTrace
    - sNFatal
    - syncUtilSameId
    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:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pVotesRespond
    - term
    argTypes:
    - SVotesRespond*
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: votesRespondReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void votesRespondReset(SVotesRespond *pVotesRespond, SyncTerm term)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:34,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:41,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:43,1
    - Dst: taosLRUCacheSetStrictCapacity
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:51,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:53,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:55,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:56,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:69,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:70,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:72,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:73,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 96
    functionName: logStoreCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 16
    functionsReached:
    - taosMemoryMalloc
    - taosLRUCacheCleanup
    - walOpenReader
    - taosThreadMutexInit
    - taosThreadMutexDestroy
    - taosMemoryFree
    - taosLRUCacheInit
    - taosLRUCacheSetStrictCapacity
    - taosMemoryCalloc
    linkageType: ''
    returnType: SSyncLogStore
    signature: SSyncLogStore * logStoreCreate(SSyncNode* pSyncNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:102,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:104,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:107,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:110,1
    - Dst: taosLRUCacheEraseUnrefEntries
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:112,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:113,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: logStoreDestory
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 16
    functionsReached:
    - taosLRUCacheCleanup
    - walCloseReader
    - taosThreadMutexDestroy
    - taosLRUCacheEraseUnrefEntries
    - taosMemoryFree
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void logStoreDestory(SSyncLogStore* pLogStore)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:126,1
    - Dst: walRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:131,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:133,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:135,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:138,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:141,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pLogStore
    - snapshotIndex
    argTypes:
    - struct SSyncLogStore*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 144
    functionName: raftLogRestoreFromSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 0
    functionsReached:
    - sNError
    - strerror
    - TAOS_RETURN
    - tstrerror
    - sInfo
    - walRestoreFromSnapshot
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftLogRestoreFromSnapshot(struct SSyncLogStore* pLogStore,
      SyncIndex snapshotIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: raftLogBeginIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 2
    functionsReached:
    - walGetFirstVer
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex raftLogBeginIndex(struct SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: raftLogEndIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 2
    functionsReached:
    - raftLogLastIndex
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex raftLogEndIndex(struct SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: raftLogIsEmpty
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 2
    functionsReached:
    - walIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool raftLogIsEmpty(struct SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:162,1
    - Dst: raftLogEndIndex
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: raftLogEntryCount
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 2
    functionsReached:
    - raftLogBeginIndex
    - raftLogEndIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftLogEntryCount(struct SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: raftLogLastIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 3
    functionsReached:
    - walGetLastVer
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex raftLogLastIndex(struct SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetVerRetention
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLogStore
    - bytes
    argTypes:
    - struct SSyncLogStore*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: raftLogIndexRetention
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 0
    functionsReached:
    - walGetVerRetention
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex raftLogIndexRetention(struct SSyncLogStore* pLogStore, int64_t
      bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: raftLogWriteIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 2
    functionsReached:
    - walGetLastVer
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex raftLogWriteIndex(struct SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walLogExist
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLogStore
    - index
    argTypes:
    - struct SSyncLogStore*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: raftLogExist
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 0
    functionsReached:
    - walLogExist
    linkageType: ''
    returnType: bool
    signature: bool raftLogExist(struct SSyncLogStore* pLogStore, SyncIndex index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:206,1
    - Dst: raftLogGetLastEntry
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:210,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 222
    functionName: raftLogLastTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 2
    functionsReached:
    - walIsEmpty
    - taosMemoryFree
    - raftLogGetLastEntry
    linkageType: ''
    returnType: SyncTerm
    signature: SyncTerm raftLogLastTerm(struct SSyncLogStore* pLogStore)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:229,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:240,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:245,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pEntry
    argTypes:
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 254
    functionName: rafeLogReBuildEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 0
    functionsReached:
    - tStartDecode
    - POINTER_SHIFT
    - TAOS_RETURN
    - tDecoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t rafeLogReBuildEntry(SSyncRaftEntry* pEntry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: METRICS_TIMING_BLOCK
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:265,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:266,1
    - Dst: METRICS_UPDATE
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:269,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:273,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:275,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:277,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:280,1
    - Dst: walFsync
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:283,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:285,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:285,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:286,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:289,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:290,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:290,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - pLogStore
    - pEntry
    - forceSync
    argTypes:
    - struct SSyncLogStore*
    - SSyncRaftEntry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 255
    functionDepth: 7
    functionLinenumber: 255
    functionLinenumberEnd: 292
    functionName: raftLogAppendEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - METRICS_UPDATE
    - sNError
    - METRICS_TIMING_BLOCK
    - walFsync
    - strerror
    - TAOS_RETURN
    - sGDebug
    - tstrerror
    - walAppendLog
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftLogAppendEntry(struct SSyncLogStore* pLogStore, SSyncRaftEntry*
      pEntry, bool forceSync)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:304,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:305,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:309,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:310,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:312,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:315,1
    - Dst: walReadVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:316,1
    - Dst: walReadReset
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:317,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:318,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:323,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:325,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:328,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:331,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:341,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:343,1
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:346,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:355,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:363,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:364,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:371,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - pLogStore
    - index
    - ppEntry
    argTypes:
    - struct SSyncLogStore*
    - SyncIndex
    - SSyncRaftEntry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 297
    functionDepth: 5
    functionLinenumber: 297
    functionLinenumberEnd: 377
    functionName: raftLogGetEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 1
    functionsReached:
    - sError
    - syncEntryBuild
    - memcpy
    - walReadReset
    - taosGetTimestampNs
    - strerror
    - walReadVer
    - sNTrace
    - TAOS_RETURN
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftLogGetEntry(struct SSyncLogStore* pLogStore, SyncIndex
      index, SSyncRaftEntry** ppEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walRollback
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:384,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:387,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:389,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:390,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:395,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pLogStore
    - fromIndex
    argTypes:
    - struct SSyncLogStore*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 5
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: raftLogTruncate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 0
    functionsReached:
    - sError
    - strerror
    - walRollback
    - sNTrace
    - TAOS_RETURN
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftLogTruncate(struct SSyncLogStore* pLogStore, SyncIndex
      fromIndex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:409,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:410,1
    - Dst: raftLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:412,1
    - Dst: raftLogGetEntry
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:414,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:416,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pLogStore
    - ppLastEntry
    argTypes:
    - SSyncLogStore*
    - SSyncRaftEntry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 403
    functionDepth: 6
    functionLinenumber: 403
    functionLinenumberEnd: 420
    functionName: raftLogGetLastEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 1
    functionsReached:
    - walIsEmpty
    - raftLogLastIndex
    - TAOS_RETURN
    - raftLogGetEntry
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftLogGetLastEntry(SSyncLogStore* pLogStore, SSyncRaftEntry**
      ppLastEntry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walGetSnapshotVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:427,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:428,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:429,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:433,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:436,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:439,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:441,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:442,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:445,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pLogStore
    - index
    argTypes:
    - SSyncLogStore*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 449
    functionName: raftLogUpdateCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 0
    functionsReached:
    - sError
    - walGetLastVer
    - walGetCommittedVer
    - strerror
    - TAOS_RETURN
    - walGetSnapshotVer
    - tstrerror
    - walCommit
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftLogUpdateCommitIndex(SSyncLogStore* pLogStore, SyncIndex
      index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: raftlogCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex raftlogCommitIndex(SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: logStoreFirstIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 0
    functionsReached:
    - walGetFirstVer
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex logStoreFirstIndex(SSyncLogStore* pLogStore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: logStoreWalCommitVer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: 0
    functionsReached:
    - walGetCommittedVer
    linkageType: ''
    returnType: SyncIndex
    signature: SyncIndex logStoreWalCommitVer(SSyncLogStore* pLogStore)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - 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:29,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:30,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:31,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:32,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:33,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pStore
    argTypes:
    - SJson*
    - SRaftStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: raftStoreDecode
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    - tjsonGetNumberValue
    - tjsonGetInt32ValueFromDouble
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftStoreDecode(const SJson *pJson, SRaftStore *pStore)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:45,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:46,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:50,1
    - Dst: taosReadCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:55,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:57,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:57,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:58,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:61,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:63,1
    - Dst: raftStoreDecode
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:66,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:67,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:71,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:74,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:75,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:78,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:78,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 82
    functionName: raftStoreReadFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 0
    functionsReached:
    - sError
    - taosStatFile
    - raftStoreWriteFile
    - TAOS_CHECK_GOTO
    - raftStoreDecode
    - terrstr
    - taosMemoryFree
    - TAOS_RETURN
    - tjsonParse
    - taosReadCfgFile
    - cJSON_Delete
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftStoreReadFile(SSyncNode *pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:85,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:85,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:86,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:86,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:87,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:87,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pStore
    argTypes:
    - SJson*
    - SRaftStore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: raftStoreEncode
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 0
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddDoubleToObject
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftStoreEncode(SJson *pJson, SRaftStore *pStore)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:99,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:100,1
    - Dst: raftStoreEncode
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:101,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:101,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:103,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:104,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:106,1
    - Dst: taosWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:109,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:112,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:116,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:120,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:123,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 126
    functionName: raftStoreWriteFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 1
    functionsReached:
    - sError
    - raftStoreEncode
    - TAOS_CHECK_GOTO
    - tjsonToString
    - tjsonDelete
    - terrstr
    - taosMemoryFree
    - tjsonCreateObject
    - strlen
    - taosWriteCfgFile
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftStoreWriteFile(SSyncNode *pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:129,1
    - Dst: raftStoreReadFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: raftStoreOpen
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 1
    functionsReached:
    - raftStoreReadFile
    - taosThreadMutexInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t raftStoreOpen(SSyncNode *pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: raftStoreClose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: void raftStoreClose(SSyncNode *pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:136,1
    - Dst: syncUtilEmptyId
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:137,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: raftStoreHasVoted
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexLock
    - syncUtilEmptyId
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: bool
    signature: bool raftStoreHasVoted(SSyncNode *pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:147,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:151,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:152,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:154,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:156,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - pRaftId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: raftStoreVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 1
    functionsReached:
    - sError
    - raftStoreWriteFile
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    - sInfo
    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:164,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:167,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:168,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:170,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:172,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: raftStoreClearVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 2
    functionsReached:
    - sError
    - raftStoreWriteFile
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    - sInfo
    linkageType: ''
    returnType: void
    signature: void raftStoreClearVote(SSyncNode *pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:177,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:180,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:181,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:181,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: raftStoreNextTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 3
    functionsReached:
    - sError
    - raftStoreWriteFile
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void raftStoreNextTerm(SSyncNode *pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:187,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
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:192,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - term
    argTypes:
    - SSyncNode*
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: raftStoreSetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 4
    functionsReached:
    - sError
    - raftStoreWriteFile
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void raftStoreSetTerm(SSyncNode *pNode, SyncTerm term)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:199,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: raftStoreGetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 29
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: SyncTerm
    signature: SyncTerm raftStoreGetTerm(SSyncNode *pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexTryLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:207,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: raftStoreTryGetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexTryLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: SyncTerm
    signature: SyncTerm raftStoreTryGetTerm(SSyncNode *pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:32,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:46,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:48,1
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:50,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 56
    functionName: syncNodeCleanConfigIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncTimeout.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - sNTrace
    - syncWriteCfgFile
    - sNFatal
    linkageType: ''
    returnType: void
    signature: void syncNodeCleanConfigIndex(SSyncNode* ths)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:61,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:63,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:65,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:69,1
    - Dst: syncNodeReplicate
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:71,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:72,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:72,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:76,1
    - Dst: syncNodeIsMnode
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:77,1
    - Dst: syncNodeCleanConfigIndex
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:78,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:81,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:82,1
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:85,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:95,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:96,1
    - Dst: sSWarn
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:98,1
    - Dst: snapshotReSend
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:99,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:100,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:107,1
    - Dst: syncNodeIsMnode
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:108,1
    - Dst: syncRespClean
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:109,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 58
    functionDepth: 7
    functionLinenumber: 58
    functionLinenumberEnd: 113
    functionName: syncNodeTimerRoutine
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncTimeout.c
    functionUses: 0
    functionsReached:
    - sSError
    - sSWarn
    - syncNodeGetSnapshotSender
    - syncNodeReplicate
    - sDebug
    - syncNodeCleanConfigIndex
    - snapshotSenderStop
    - syncRespClean
    - sNTrace
    - taosGetTimestampMs
    - syncNodeIsMnode
    - snapshotReSend
    - tstrerror
    - sNInfo
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeTimerRoutine(SSyncNode* ths)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncLogRecvTimer
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:119,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:122,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:125,1
    - Dst: syncNodeTimerRoutine
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:125,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:129,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:132,1
    - Dst: syncNodeElect
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:132,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:136,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:138,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ths
    - pRpc
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 115
    functionDepth: 8
    functionLinenumber: 115
    functionLinenumberEnd: 147
    functionName: syncNodeOnTimeout
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncTimeout.c
    functionUses: 1
    functionsReached:
    - sError
    - syncNodeTimerRoutine
    - TAOS_CHECK_RETURN
    - syncLogRecvTimer
    - sTrace
    - atomic_load_64
    - syncNodeElect
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnTimeout(SSyncNode* ths, const SRpcMsg* pRpc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetLastTerm
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:48,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:49,1
    - Dst: sNWarn
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:52,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:60,1
    - Dst: sNWarn
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:66,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:75,1
    - Dst: sNWarn
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncRequestVote*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 87
    functionName: syncNodeOnRequestVoteLogOK
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRequestVote.c
    functionUses: 0
    functionsReached:
    - sNInfo
    - sNWarn
    - syncNodeGetLastIndex
    - syncNodeGetLastTerm
    linkageType: ''
    returnType: bool
    signature: bool syncNodeOnRequestVoteLogOK(SSyncNode* ths, SyncRequestVote* pMsg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: syncLogRecvRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:94,1
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:97,1
    - Dst: syncLogRecvRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:98,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:100,1
    - Dst: syncLogRecvRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:104,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:106,1
    - Dst: syncNodeOnRequestVoteLogOK
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:109,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:111,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:112,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:114,1
    - Dst: raftStoreHasVoted
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:117,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:119,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:120,1
    - Dst: raftStoreVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:126,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:129,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:138,1
    - Dst: syncBuildRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:138,1
    - Dst: syncLogRecvRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:148,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:151,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:151,1
    - Dst: syncLogSendRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:152,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:153,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:153,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:155,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 158
    functionName: syncNodeOnRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRequestVote.c
    functionUses: 1
    functionsReached:
    - syncNodeOnRequestVoteLogOK
    - TRACE_SET_MSGID
    - raftStoreGetTerm
    - TAOS_CHECK_RETURN
    - raftStoreHasVoted
    - syncNodeInRaftGroup
    - syncLogSendRequestVoteReply
    - syncNodeSendMsgById
    - syncNodeResetElectTimer
    - raftStoreVote
    - tGenIdPI64
    - syncLogRecvRequestVote
    - syncNodeStepDown
    - TAOS_RETURN
    - syncUtilSameId
    - syncBuildRequestVoteReply
    - sInfo
    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:46,1
    - Dst: syncLogRecvRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:47,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:49,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:51,1
    - Dst: syncLogRecvRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:54,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:56,1
    - Dst: syncLogRecvRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:60,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:61,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:63,1
    - Dst: syncLogRecvRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:66,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:73,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:76,1
    - Dst: votesRespondAdd
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:79,1
    - Dst: voteGrantedVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:82,1
    - Dst: voteGrantedMajority
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:85,1
    - Dst: syncNodeCandidate2Leader
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:87,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 101
    functionName: syncNodeOnRequestVoteReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c
    functionUses: 1
    functionsReached:
    - raftStoreGetTerm
    - sNError
    - voteGrantedVote
    - syncNodeInRaftGroup
    - votesRespondAdd
    - syncNodeStepDown
    - TAOS_RETURN
    - syncNodeCandidate2Leader
    - voteGrantedMajority
    - syncLogRecvRequestVoteReply
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnRequestVoteReply(SSyncNode* ths, const SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:51,1
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:52,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:53,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:54,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: syncNodeReplicateReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: 1
    functionsReached:
    - syncNodeGetLogReplMgr
    - syncLogReplReset
    - TAOS_RETURN
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeReplicateReset(SSyncNode* pNode, SRaftId* pDestId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexTryLock
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:62,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:63,1
    - Dst: syncNodeReplicateWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:66,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:67,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: syncNodeReplicate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: 1
    functionsReached:
    - syncNodeReplicateWithoutLock
    - TAOS_RETURN
    - taosThreadMutexUnlock
    - taosThreadMutexTryLock
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeReplicate(SSyncNode* pNode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:75,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:78,1
    - Dst: syncLogReplStart
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:83,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:84,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:84,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:85,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: syncNodeReplicateWithoutLock
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: 1
    functionsReached:
    - syncLogReplStart
    - TAOS_RETURN
    - syncUtilSameId
    - tstrerror
    - sWarn
    - DID
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeReplicateWithoutLock(SSyncNode* pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:95,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:95,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:99,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:101,1
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:105,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:107,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:109,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pSyncNode
    - destRaftId
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRaftId*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: syncNodeSendAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: 0
    functionsReached:
    - sError
    - TAOS_CHECK_RETURN
    - syncNodeSendMsgById
    - atomic_add_fetch_64
    - syncNodeGetLogReplMgr
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeSendAppendEntries(SSyncNode* pSyncNode, const SRaftId*
      destRaftId, SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:118,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:118,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:120,1
    - Dst: syncIndexMgrSetSentTime
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pSyncNode
    - destId
    - pMsg
    argTypes:
    - SSyncNode*
    - SRaftId*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: syncNodeSendHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: 1
    functionsReached:
    - syncIndexMgrSetSentTime
    - syncNodeSendMsgById
    - taosGetTimestampMs
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeSendHeartbeat(SSyncNode* pSyncNode, const SRaftId*
      destId, SRpcMsg* pMsg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:127,1
    - Dst: syncBuildHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:130,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:131,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:138,1
    - Dst: syncMinMatchIndex
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:140,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:145,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:145,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:146,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:146,1
    - Dst: syncLogSendHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:147,1
    - Dst: syncNodeSendHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:148,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:150,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:150,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 155
    functionName: syncNodeHeartbeatPeers
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: 2
    functionsReached:
    - syncBuildHeartbeat
    - sError
    - TRACE_SET_MSGID
    - raftStoreGetTerm
    - syncLogSendHeartbeat
    - syncNodeSendHeartbeat
    - tGenIdPI64
    - taosGetTimestampMs
    - TAOS_RETURN
    - syncMinMatchIndex
    - tstrerror
    - TRACE_SET_ROOTID
    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:27,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:28,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:31,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:31,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:33,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:34,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:40,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:43,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - data
    - ttl
    - ppObj
    argTypes:
    - void*
    - int64_t
    - SSyncRespMgr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: syncRespMgrCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: 5
    functionsReached:
    - sDebug
    - taosThreadMutexInit
    - taosHashInit
    - taosMemoryFree
    - TAOS_RETURN
    - taosGetDefaultHashFunction
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncRespMgrCreate(void *data, int64_t ttl, SSyncRespMgr **ppObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:54,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:56,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:57,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:58,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:59,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncRespMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: syncRespMgrDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: 5
    functionsReached:
    - sDebug
    - taosThreadMutexDestroy
    - taosMemoryFree
    - taosHashCleanup
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void syncRespMgrDestroy(SSyncRespMgr *pObj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:64,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:67,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:68,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:69,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - pStub
    argTypes:
    - SSyncRespMgr*
    - SRespStub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: syncRespMgrAdd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: 3
    functionsReached:
    - TMSG_INFO
    - sNTrace
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosHashPut
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t syncRespMgrAdd(SSyncRespMgr *pObj, const SRespStub *pStub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:76,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:78,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:79,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - seq
    argTypes:
    - SSyncRespMgr*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: syncRespMgrDel
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: 2
    functionsReached:
    - taosHashRemove
    - taosThreadMutexLock
    - sNTrace
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncRespMgrDel(SSyncRespMgr *pObj, uint64_t seq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:86,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:88,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:90,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:91,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:91,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:94,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:97,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pObj
    - seq
    - pStub
    argTypes:
    - SSyncRespMgr*
    - uint64_t
    - SRespStub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: syncRespMgrGet
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: 1
    functionsReached:
    - TMSG_INFO
    - memcpy
    - sNError
    - taosHashGet
    - sNTrace
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncRespMgrGet(SSyncRespMgr *pObj, uint64_t seq, SRespStub
      *pStub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:105,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:107,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:110,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:111,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:112,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:113,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:116,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:119,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pObj
    - seq
    - pInfo
    argTypes:
    - SSyncRespMgr*
    - uint64_t
    - SRpcHandleInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: syncRespMgrGetAndDel
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: 3
    functionsReached:
    - TMSG_INFO
    - sError
    - taosHashRemove
    - taosHashGet
    - sNTrace
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncRespMgrGetAndDel(SSyncRespMgr *pObj, uint64_t seq, SRpcHandleInfo
      *pInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:127,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:132,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:134,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:137,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:140,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:144,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:146,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:167,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:168,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:169,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:170,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:174,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:177,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:178,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:181,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:182,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:183,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:185,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pObj
    - ttl
    - rsp
    argTypes:
    - SSyncRespMgr*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 190
    functionName: syncRespCleanByTTL
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: 0
    functionsReached:
    - TMSG_INFO
    - taosArrayPush
    - taosHashIterate
    - sError
    - taosArrayGet
    - taosHashRemove
    - sDebug
    - rpcSendResponse
    - taosHashGetKey
    - taosGetTimestampMs
    - TAOS_RETURN
    - taosArrayInit
    - taosArrayGetSize
    - taosArrayDestroy
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncRespCleanByTTL(SSyncRespMgr *pObj, int64_t ttl, bool rsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:196,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:198,1
    - Dst: syncRespCleanByTTL
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:200,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:201,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:201,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncRespMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: syncRespCleanRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: 3
    functionsReached:
    - sError
    - sTrace
    - syncRespCleanByTTL
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void syncRespCleanRsp(SSyncRespMgr *pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:208,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:210,1
    - Dst: syncRespCleanByTTL
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:212,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:213,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncRespMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: syncRespClean
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: 2
    functionsReached:
    - sError
    - sTrace
    - syncRespCleanByTTL
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: void syncRespClean(SSyncRespMgr *pObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:30,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:32,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:34,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pCfg
    - buf
    - bufLen
    argTypes:
    - SSyncCfg*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: syncCfg2SimpleStr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void syncCfg2SimpleStr(const SSyncCfg* pCfg, char* buf, int32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pInfo
    - pEpSet
    argTypes:
    - SNodeInfo*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: syncUtilNodeInfo2EpSet
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 4
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void syncUtilNodeInfo2EpSet(const SNodeInfo* pInfo, SEpSet* pEpSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:49,1
    - Dst: taosGetIpFromFqdn
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:53,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:55,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:56,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:63,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
    - Dst: IP_ADDR_STR
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pInfo
    - vgId
    - raftId
    argTypes:
    - SNodeInfo*
    - SyncGroupId
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: syncUtilNodeInfo2RaftId
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 4
    functionsReached:
    - sError
    - IP_ADDR_STR
    - sDebug
    - SYNC_ADDR
    - taosSsleep
    - taosGetIpFromFqdn
    - sInfo
    linkageType: ''
    returnType: bool
    signature: bool syncUtilNodeInfo2RaftId(const SNodeInfo* pInfo, SyncGroupId vgId,
      SRaftId* raftId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:81,1
    - 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
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pId1
    - pId2
    argTypes:
    - SRaftId*
    - SRaftId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: syncUtilSameId
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 28
    functionsReached:
    - CID
    - DID
    linkageType: ''
    returnType: bool
    signature: bool syncUtilSameId(const SRaftId* pId1, const SRaftId* pId2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pId
    argTypes:
    - SRaftId*
    assertStmts: []
    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: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool syncUtilEmptyId(const SRaftId* pId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRandR
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:95,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:97,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - max
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: syncUtilRand
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - sError
    - taosRandR
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncUtilRand(int32_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRand
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: syncUtilElectRandomMS
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 3
    functionsReached:
    - syncUtilRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncUtilElectRandomMS(int32_t min, int32_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - replicaNum
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: syncUtilQuorum
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncUtilQuorum(int32_t replicaNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:117,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: syncUtilMsgHtoN
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 2
    functionsReached:
    - htonl
    linkageType: ''
    returnType: void
    signature: void syncUtilMsgHtoN(void* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:122,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:123,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:124,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nodeId
    - groupId
    - buf
    argTypes:
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: syncUtilGenerateArbToken
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 2
    functionsReached:
    - taosSafeRand
    - snprintf
    - memset
    - taosGetTimestampMs
    linkageType: ''
    returnType: void
    signature: void syncUtilGenerateArbToken(int32_t nodeId, int32_t groupId, char*
      buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:132,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:136,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - formatTime
    - len
    - tsMs
    - i
    - buf
    - bufLen
    - count
    argTypes:
    - bool
    - int32_t*
    - int64_t
    - int32_t
    - char*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: syncPrintTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - snprintf
    - formatTimestampLocal
    linkageType: ''
    returnType: void
    signature: void syncPrintTime(bool formatTime, int32_t* len, int64_t tsMs, int32_t
      i, char* buf, int32_t bufLen, int64_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:145,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:147,1
    - Dst: syncIndexMgrGetRecvCount
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:148,1
    - Dst: syncPrintTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:149,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:151,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pSyncNode
    - buf
    - bufLen
    - formatTime
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: syncHearbeatReplyTime2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - syncIndexMgrGetRecvCount
    - syncIndexMgrGetRecvTime
    - snprintf
    - syncPrintTime
    linkageType: ''
    returnType: void
    signature: void syncHearbeatReplyTime2Str(SSyncNode* pSyncNode, char* buf, int32_t
      bufLen, bool formatTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:159,1
    - Dst: syncIndexMgrGetSentTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:161,1
    - Dst: syncIndexMgrGetRecvCount
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:162,1
    - Dst: syncPrintTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:163,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:165,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pSyncNode
    - buf
    - bufLen
    - formatTime
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: syncSentHearbeatTime2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - syncIndexMgrGetRecvCount
    - snprintf
    - syncPrintTime
    - syncIndexMgrGetSentTime
    linkageType: ''
    returnType: void
    signature: void syncSentHearbeatTime2Str(SSyncNode* pSyncNode, char* buf, int32_t
      bufLen, bool formatTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:174,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:176,1
    - Dst: syncIndexMgrGetRecvCount
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:177,1
    - Dst: syncPrintTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:178,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:180,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pSyncNode
    - buf
    - bufLen
    - formatTime
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: syncHearbeatTime2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - syncIndexMgrGetRecvCount
    - syncIndexMgrGetRecvTime
    - snprintf
    - syncPrintTime
    linkageType: ''
    returnType: void
    signature: void syncHearbeatTime2Str(SSyncNode* pSyncNode, char* buf, int32_t
      bufLen, bool formatTime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pSyncNode
    - buf
    - bufLen
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: syncLogBufferStates2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void syncLogBufferStates2Str(SSyncNode* pSyncNode, char* buf, int32_t
      bufLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:198,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:202,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:204,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:206,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pSyncNode
    - buf
    - bufLen
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: syncLogReplStates2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void syncLogReplStates2Str(SSyncNode* pSyncNode, char* buf, int32_t
      bufLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:214,1
    - Dst: syncNodeGetPeerState
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:216,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:218,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pSyncNode
    - buf
    - bufLen
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: syncPeerState2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - snprintf
    - syncNodeGetPeerState
    linkageType: ''
    returnType: void
    signature: void syncPeerState2Str(SSyncNode* pSyncNode, char* buf, int32_t bufLen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:227,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:234,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:240,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:241,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:248,1
    - Dst: syncLogReplStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:251,1
    - Dst: syncLogBufferStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:254,1
    - Dst: syncHearbeatReplyTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:257,1
    - Dst: syncHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:260,1
    - Dst: syncSentHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:263,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:267,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:268,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:269,1
    - Dst: SSyncNode*::pFsm::FpApplyQueueItems
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:273,1
    - Dst: SSyncNode*::pFsm::FpAppliedIndexCb
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:278,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:281,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:291,1
    - Dst: syncNodeDynamicQuorum
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - flags
    - level
    - dflag
    - formatTime
    - pNode
    - format
    argTypes:
    - char*
    - ELogLevel
    - int32_t
    - bool
    - SSyncNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 300
    functionName: syncPrintNodeLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - taosPrintLog
    - va_end
    - raftStoreGetTerm
    - SSyncNode*::pFsm::FpApplyQueueItems
    - va_start
    - SSyncNode*::pFsm::FpAppliedIndexCb
    - syncNodeDynamicQuorum
    - SSyncNode*::pLogStore::syncLogLastIndex
    - syncStr
    - syncLogReplStates2Str
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - syncSentHearbeatTime2Str
    - syncHearbeatReplyTime2Str
    - syncCfg2SimpleStr
    - syncHearbeatTime2Str
    - syncLogBufferStates2Str
    linkageType: ''
    returnType: void
    signature: "void syncPrintNodeLog(const char* flags, ELogLevel level, int32_t
      dflag, bool formatTime, SSyncNode* pNode,\n                      const char*
      format, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raftStoreTryGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:305,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:314,1
    - Dst: syncLogReplStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:317,1
    - Dst: syncLogBufferStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:320,1
    - Dst: syncHearbeatReplyTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:323,1
    - Dst: syncHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:326,1
    - Dst: syncSentHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:329,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:333,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:334,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:335,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:340,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:348,1
    - Dst: syncNodeDynamicQuorum
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - flags
    - level
    - dflag
    - formatTime
    - pNode
    - format
    argTypes:
    - char*
    - ELogLevel
    - int32_t
    - bool
    - SSyncNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 355
    functionName: syncPrintHbLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - taosPrintLog
    - va_end
    - va_start
    - syncNodeDynamicQuorum
    - syncStr
    - syncLogReplStates2Str
    - syncSentHearbeatTime2Str
    - syncHearbeatReplyTime2Str
    - syncCfg2SimpleStr
    - raftStoreTryGetTerm
    - syncHearbeatTime2Str
    - syncLogBufferStates2Str
    linkageType: ''
    returnType: void
    signature: "void syncPrintHbLog(const char* flags, ELogLevel level, int32_t dflag,
      bool formatTime, SSyncNode* pNode,\n                    const char* format,
      ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:364,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:370,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:371,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:375,1
    - Dst: syncPeerState2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:378,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:382,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:383,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:384,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:386,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:396,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:400,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - flags
    - level
    - dflag
    - pSender
    - format
    argTypes:
    - char*
    - ELogLevel
    - int32_t
    - SSyncSnapshotSender*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 404
    functionName: syncPrintSnapshotSenderLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - taosPrintLog
    - syncPeerState2Str
    - va_end
    - raftStoreGetTerm
    - va_start
    - SSyncNode*::pLogStore::syncLogLastIndex
    - syncStr
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - syncCfg2SimpleStr
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncPrintSnapshotSenderLog(const char* flags, ELogLevel level,
      int32_t dflag, SSyncSnapshotSender* pSender,\n                                const
      char* format, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:413,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:419,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:420,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:424,1
    - Dst: syncPeerState2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:427,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:431,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:432,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:433,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:435,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:445,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:447,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - flags
    - level
    - dflag
    - pReceiver
    - format
    argTypes:
    - char*
    - ELogLevel
    - int32_t
    - SSyncSnapshotReceiver*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 453
    functionName: syncPrintSnapshotReceiverLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - taosPrintLog
    - syncPeerState2Str
    - va_end
    - raftStoreGetTerm
    - va_start
    - SSyncNode*::pLogStore::syncLogLastIndex
    - syncStr
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - syncCfg2SimpleStr
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncPrintSnapshotReceiverLog(const char* flags, ELogLevel level,
      int32_t dflag, SSyncSnapshotReceiver* pReceiver,\n                                  const
      char* format, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:458,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:460,1
    - Dst: syncTimerTypeStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pSyncNode
    - pMsg
    - trace
    argTypes:
    - SSyncNode*
    - SyncTimeout*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 465
    functionName: syncLogRecvTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - sNTrace
    - taosGetTimestampMs
    - 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:468,1
    - Dst: syncLocalCmdGetStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pSyncNode
    - pMsg
    - trace
    argTypes:
    - SSyncNode*
    - SyncLocalCmd*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: syncLogRecvLocalCmd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - syncLocalCmdGetStr
    - sNTrace
    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:477,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntriesReply*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 482
    functionName: syncLogSendAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - sNTrace
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogSendAppendEntriesReply(SSyncNode* pSyncNode, const SyncAppendEntriesReply*
      pMsg, const char* s,\n                                   const STraceId* trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:486,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntriesReply*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 491
    functionName: syncLogRecvAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - sNTrace
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogRecvAppendEntriesReply(SSyncNode* pSyncNode, const SyncAppendEntriesReply*
      pMsg, const char* s,\n                                   const STraceId* trace)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:498,1
    - Dst: sHError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:503,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:506,1
    - Dst: sHError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:509,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:512,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:519,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:523,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:526,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:532,1
    - Dst: sHInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:536,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:539,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:545,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:549,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:552,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 6
    argNames:
    - pSyncNode
    - pMsg
    - printX
    - timerElapsed
    - execTime
    - trace
    argTypes:
    - SSyncNode*
    - SyncHeartbeat*
    - bool
    - int64_t
    - int64_t
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 558
    functionName: syncLogSendHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 2
    functionsReached:
    - sHError
    - formatTimestampLocal
    - sHInfo
    - sHTrace
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogSendHeartbeat(SSyncNode* pSyncNode, const SyncHeartbeat*
      pMsg, bool printX, int64_t timerElapsed,\n                          int64_t
      execTime, const STraceId* trace)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:567,1
    - Dst: sHWarn
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:572,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:576,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:582,1
    - Dst: sHInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:586,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:589,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:595,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:600,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:603,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - pSyncNode
    - pMsg
    - netElapsed
    - trace
    - timeDiff
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SyncHeartbeat*
    - int64_t
    - STraceId*
    - int64_t
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 608
    functionName: syncLogRecvHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - sHWarn
    - formatTimestampLocal
    - sHInfo
    - sHTrace
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogRecvHeartbeat(SSyncNode* pSyncNode, const SyncHeartbeat*
      pMsg, int64_t netElapsed, const STraceId* trace,\n                          int64_t
      timeDiff, const SRpcMsg* pRpcMsg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sHInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:613,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:616,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:619,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncHeartbeatReply*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 624
    functionName: syncLogSendHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - sHInfo
    - sHTrace
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogSendHeartbeatReply(SSyncNode* pSyncNode, const SyncHeartbeatReply*
      pMsg, const char* s,\n                               const STraceId* trace)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:633,1
    - Dst: sHWarn
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:638,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:641,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:647,1
    - Dst: sHInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:651,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:654,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:661,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:665,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:668,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 5
    argNames:
    - pSyncNode
    - pMsg
    - netElapse
    - trace
    - timeDiff
    argTypes:
    - SSyncNode*
    - SyncHeartbeatReply*
    - int64_t
    - STraceId*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 673
    functionName: syncLogRecvHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 2
    functionsReached:
    - sHWarn
    - formatTimestampLocal
    - sHInfo
    - sHTrace
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogRecvHeartbeatReply(SSyncNode* pSyncNode, const SyncHeartbeatReply*
      pMsg, int64_t netElapse,\n                               const STraceId* trace,
      int64_t timeDiff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNDebug
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:677,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 682
    functionName: syncLogSendSyncSnapshotSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - sNDebug
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogSendSyncSnapshotSend(SSyncNode* pSyncNode, const SyncSnapshotSend*
      pMsg, const char* s,\n                                 const STraceId* trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNDebug
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:686,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 692
    functionName: syncLogRecvSyncSnapshotSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - sNDebug
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogRecvSyncSnapshotSend(SSyncNode* pSyncNode, const SyncSnapshotSend*
      pMsg, const char* s,\n                                 const STraceId* trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNDebug
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:696,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotRsp*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 701
    functionName: syncLogSendSyncSnapshotRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - sNDebug
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogSendSyncSnapshotRsp(SSyncNode* pSyncNode, const SyncSnapshotRsp*
      pMsg, const char* s,\n                                const STraceId* trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNDebug
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:705,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotRsp*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 710
    functionName: syncLogRecvSyncSnapshotRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - sNDebug
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogRecvSyncSnapshotRsp(SSyncNode* pSyncNode, const SyncSnapshotRsp*
      pMsg, const char* s,\n                                const STraceId* trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:714,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntries*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 719
    functionName: syncLogRecvAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - sNTrace
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogRecvAppendEntries(SSyncNode* pSyncNode, const SyncAppendEntries*
      pMsg, const char* s,\n                              const STraceId* trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:723,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntries*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 728
    functionName: syncLogSendAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - sNTrace
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogSendAppendEntries(SSyncNode* pSyncNode, const SyncAppendEntries*
      pMsg, const char* s,\n                              const STraceId* trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:733,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:734,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - pSyncNode
    - pMsg
    - voteGranted
    - errmsg
    - opt
    - trace
    argTypes:
    - SSyncNode*
    - SyncRequestVote*
    - int32_t
    - char*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 739
    functionName: syncLogRecvRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - sNInfo
    - snprintf
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogRecvRequestVote(SSyncNode* pSyncNode, const SyncRequestVote*
      pMsg, int32_t voteGranted, const char* errmsg,\n                            const
      char* opt, const STraceId* trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:742,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncRequestVote*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: syncLogSendRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    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:751,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncRequestVoteReply*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: syncLogRecvRequestVoteReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - sNInfo
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogRecvRequestVoteReply(SSyncNode* pSyncNode, const SyncRequestVoteReply*
      pMsg, const char* s,\n                                 const STraceId* trace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:758,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncRequestVoteReply*
    - char*
    - STraceId*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 761
    functionName: syncLogSendRequestVoteReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 1
    functionsReached:
    - sNInfo
    - DID
    linkageType: ''
    returnType: void
    signature: "void syncLogSendRequestVoteReply(SSyncNode* pSyncNode, const SyncRequestVoteReply*
      pMsg, const char* s,\n                                 const STraceId* trace)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pSnap
    - size
    argTypes:
    - SSnapshot*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 770
    functionName: syncSnapInfoDataRealloc
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: 0
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncSnapInfoDataRealloc(SSnapshot* pSnap, int32_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - role
    argTypes:
    - ESyncRole
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: syncRoleToStr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *syncRoleToStr(ESyncRole role)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:34,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: syncStrToRole
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: ESyncRole
    signature: ESyncRole syncStrToRole(char *str)
  - 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:47,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:48,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:48,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:49,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:49,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:51,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:53,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:56,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:57,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:58,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:62,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:64,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:66,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:66,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:67,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:67,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:68,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:68,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:69,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:69,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:70,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:70,1
    - Dst: syncRoleToStr
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:70,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:71,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:71,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:75,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:81,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:81,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 85
    functionName: syncEncodeSyncCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 0
    functionsReached:
    - sError
    - tjsonCreateArray
    - TAOS_CHECK_GOTO
    - tjsonAddStringToObject
    - tjsonDelete
    - TAOS_CHECK_EXIT
    - tjsonAddIntegerToObject
    - syncRoleToStr
    - tjsonAddDoubleToObject
    - TAOS_RETURN
    - tjsonCreateObject
    - tstrerror
    - tjsonAddItemToObject
    - tjsonAddItemToArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncEncodeSyncCfg(const void *pObj, SJson *pJson)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:92,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:92,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:93,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:93,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:94,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:94,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:95,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:95,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:96,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:96,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:97,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:97,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:99,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:101,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:104,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:106,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:112,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:114,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:114,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:115,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:115,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:119,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:125,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:125,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 129
    functionName: syncEncodeRaftCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 0
    functionsReached:
    - sError
    - tjsonCreateArray
    - tjsonDelete
    - tjsonAddIntegerToObject
    - tjsonAddDoubleToObject
    - TAOS_RETURN
    - tjsonCreateObject
    - tstrerror
    - tjsonAddObject
    - TAOS_CHECK_EXIT
    - tjsonAddItemToObject
    - tjsonAddItemToArray
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncEncodeRaftCfg(const void *pObj, SJson *pJson)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:138,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:139,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:142,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:142,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:143,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:143,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:146,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:149,1
    - Dst: taosWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:152,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:155,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:158,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:162,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:163,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:166,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:167,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - pNode
    - reason
    argTypes:
    - SSyncNode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 171
    functionName: syncWriteCfgFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 4
    functionsReached:
    - strlen
    - sError
    - tjsonAddStringToObject
    - tjsonToString
    - tjsonDelete
    - taosMemoryFree
    - TAOS_RETURN
    - tjsonCreateObject
    - tstrerror
    - tjsonAddObject
    - TAOS_CHECK_EXIT
    - taosWriteCfgFile
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncWriteCfgFile(SSyncNode *pNode, const char *reason)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:177,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:179,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:181,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:184,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:186,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:189,1
    - Dst: tjsonGetUInt16ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:191,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:193,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:195,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:196,1
    - Dst: tjsonGetStringValue1
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:198,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:200,1
    - Dst: syncStrToRole
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 208
    functionName: syncDecodeSyncCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 0
    functionsReached:
    - syncStrToRole
    - tjsonGetUInt16ValueFromDouble
    - tjsonGetInt32ValueFromDouble
    - tjsonGetStringValue1
    - tjsonGetArrayItem
    - tjsonGetNumberValue
    - tjsonGetArraySize
    - tjsonGetObjectItem
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncDecodeSyncCfg(const SJson *pJson, void *pObj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:214,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:214,1
    - Dst: tjsonGetInt8ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:216,1
    - Dst: tjsonGetInt8ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:218,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:220,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:222,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:224,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:227,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:230,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:232,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 239
    functionName: syncDecodeRaftCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_RETURN
    - tjsonGetInt32ValueFromDouble
    - tjsonGetArrayItem
    - tjsonGetNumberValue
    - tjsonGetArraySize
    - tjsonGetObjectItem
    - tjsonToObject
    - tjsonGetInt8ValueFromDouble
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncDecodeRaftCfg(const SJson *pJson, void *pObj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosReadCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:250,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:252,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:252,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:256,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:262,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:267,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:270,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:271,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:274,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:274,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 278
    functionName: syncReadCfgFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: 1
    functionsReached:
    - sError
    - cJSON_Delete
    - taosMemoryFree
    - TAOS_RETURN
    - tstrerror
    - tjsonParse
    - taosReadCfgFile
    - tjsonToObject
    - sInfo
    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:100,1
    - Dst: syncLogRecvAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:101,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:105,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:107,1
    - Dst: syncBuildAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:110,1
    - Dst: syncLogRecvAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:112,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:121,1
    - Dst: SSyncNode*::pFsm::FpAppliedIndexCb
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:126,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:128,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:132,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:137,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:142,1
    - Dst: syncEntryBuildFromAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:147,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:149,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:149,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:154,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:160,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:168,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:169,1
    - Dst: syncLogBufferAccept
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:174,1
    - Dst: syncLogBufferProceed
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:181,1
    - Dst: syncNodeUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:186,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:186,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:187,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:191,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:191,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:193,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:200,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:200,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:204,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:205,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:205,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:208,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:212,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:213,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 86
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 215
    functionName: syncNodeOnAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncAppendEntries.c
    functionUses: 1
    functionsReached:
    - SSyncNode*::pFsm::FpAppliedIndexCb
    - TMIN
    - atomic_add_fetch_64
    - syncNodeSendMsgById
    - syncNodeResetElectTimer
    - syncEntryDestroy
    - syncNodeStepDown
    - syncLogBufferProceed
    - syncLogRecvAppendEntries
    - sGError
    - syncLogBufferCommit
    - syncBuildAppendEntriesReply
    - syncEntryBuildFromAppendEntries
    - sWarn
    - rpcFreeCont
    - TRACE_SET_MSGID
    - syncNodeInRaftGroup
    - syncNodeUpdateCommitIndex
    - terrstr
    - sGDebug
    - syncLogBufferAccept
    - sError
    - raftStoreGetTerm
    - TAOS_CHECK_RETURN
    - tGenIdPI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnAppendEntries(SSyncNode* ths, const SRpcMsg* pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - tmsg_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: syncIsMsgBlock
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool syncIsMsgBlock(tmsg_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: syncGetRetryMaxWaitMs
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE syncGetRetryMaxWaitMs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:43,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: syncLogBufferGetEndIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 2
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: int64_t
    signature: int64_t syncLogBufferGetEndIndex(SSyncLogBuffer* pBuf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:51,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:51,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:52,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:57,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:57,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:63,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:63,1
    - Dst: SSyncNode*::pFsm::FpAppliedIndexCb
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:68,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:71,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:72,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:90,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:108,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:111,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:112,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:112,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:116,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:117,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:117,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:118,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:119,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 3
    argNames:
    - pBuf
    - pNode
    - pEntry
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 120
    functionName: syncLogBufferAppend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - sError
    - TAOS_CHECK_RETURN
    - SSyncNode*::pFsm::FpAppliedIndexCb
    - atomic_add_fetch_64
    - taosThreadMutexUnlock
    - syncLogBufferValidate
    - TAOS_RETURN
    - tstrerror
    - taosMsleep
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogBufferAppend(SSyncLogBuffer* pBuf, SSyncNode* pNode,
      SSyncRaftEntry* pEntry)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:129,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:136,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:144,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:146,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:156,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:158,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:162,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:165,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:172,1
    - Dst: SSyncNode*::pLogStore::syncLogGetEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:178,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:180,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:187,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:187,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:188,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 4
    argNames:
    - pMgr
    - pNode
    - index
    - pSyncTerm
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncIndex
    - SyncTerm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 189
    functionName: syncLogReplGetPrevLogTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - sError
    - syncEntryDestroy
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - TAOS_RETURN
    - SSyncNode*::pLogStore::syncLogGetEntry
    - tstrerror
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogReplGetPrevLogTerm(SSyncLogReplMgr* pMgr, SSyncNode*
      pNode, SyncIndex index, SyncTerm* pSyncTerm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuildNoop
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - term
    - index
    - vgId
    argTypes:
    - SyncTerm
    - SyncIndex
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: syncEntryBuildDummy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - syncEntryBuildNoop
    linkageType: ''
    returnType: SSyncRaftEntry
    signature: SSyncRaftEntry * syncEntryBuildDummy(SyncTerm term, SyncIndex index,
      int32_t vgId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:196,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:198,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:204,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - commitIndex
    argTypes:
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 213
    functionName: syncLogValidateAlignmentOfCommit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - sError
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - SSyncNode*::pLogStore::syncLogLastIndex
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogValidateAlignmentOfCommit(SSyncNode* pNode, SyncIndex
      commitIndex)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:217,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:221,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:231,1
    - Dst: SSyncNode*::pFsm::FpGetSnapshotInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:231,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:234,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:235,1
    - Dst: syncLogValidateAlignmentOfCommit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:235,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:237,1
    - Dst: SSyncLogStore*::syncLogGetEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:259,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:260,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:260,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:276,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:286,1
    - Dst: syncEntryBuildDummy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:298,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:300,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:306,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:320,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:324,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:324,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:329,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:329,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:331,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 2
    argNames:
    - pBuf
    - pNode
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 332
    functionName: syncLogBufferInitWithoutLock
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - sError
    - TAOS_CHECK_RETURN
    - syncLogValidateAlignmentOfCommit
    - TMAX
    - atomic_add_fetch_64
    - SSyncNode*::pLogStore::syncLogLastIndex
    - syncEntryDestroy
    - SSyncNode*::pFsm::FpGetSnapshotInfo
    - SSyncLogStore*::syncLogGetEntry
    - syncLogBufferValidate
    - TAOS_RETURN
    - tstrerror
    - TAOS_CHECK_EXIT
    - syncEntryBuildDummy
    - sWarn
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogBufferInitWithoutLock(SSyncLogBuffer* pBuf, SSyncNode*
      pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:335,1
    - Dst: syncLogBufferInitWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:336,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pBuf
    - pNode
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: syncLogBufferInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexLock
    - syncLogBufferInitWithoutLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogBufferInit(SSyncLogBuffer* pBuf, SSyncNode* pNode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:342,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:342,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:343,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:347,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:349,1
    - Dst: syncLogBufferInitWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:353,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:355,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:355,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:357,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:358,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pBuf
    - pNode
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 341
    functionDepth: 4
    functionLinenumber: 341
    functionLinenumberEnd: 360
    functionName: syncLogBufferReInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - sError
    - TAOS_CHECK_RETURN
    - syncLogBufferInitWithoutLock
    - syncEntryDestroy
    - taosThreadMutexUnlock
    - syncLogBufferValidate
    - memset
    - tstrerror
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogBufferReInit(SSyncLogBuffer* pBuf, SSyncNode* pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: syncLogBufferGetLastMatchTermWithoutLock
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - sError
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE syncLogBufferGetLastMatchTermWithoutLock(SSyncLogBuffer*
      pBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:374,1
    - Dst: syncLogBufferGetLastMatchTermWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:375,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: syncLogBufferGetLastMatchTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexLock
    - syncLogBufferGetLastMatchTermWithoutLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: SyncTerm
    signature: SyncTerm syncLogBufferGetLastMatchTerm(SSyncLogBuffer* pBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:381,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: syncLogBufferIsEmpty
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: bool
    signature: bool syncLogBufferIsEmpty(SSyncLogBuffer* pBuf)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:388,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:388,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:389,1
    - Dst: syncLogBufferGetLastMatchTermWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:393,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:398,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:404,1
    - Dst: syncLogReplGetPrevLogTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:409,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:411,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:424,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:431,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:440,1
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:449,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:452,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:458,1
    - Dst: syncLogBufferRollback
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:458,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:460,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:465,1
    - Dst: syncLogReplGetPrevLogTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:465,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:467,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:496,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:501,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:507,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:509,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:512,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:513,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:513,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:514,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 4
    argNames:
    - pBuf
    - pNode
    - pEntry
    - prevTerm
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - SSyncRaftEntry*
    - SyncTerm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 515
    functionName: syncLogBufferAccept
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - sError
    - syncLogReplGetPrevLogTerm
    - TAOS_CHECK_RETURN
    - TAOS_CHECK_GOTO
    - sTrace
    - TMAX
    - atomic_add_fetch_64
    - syncEntryDestroy
    - syncLogBufferRollback
    - syncLogBufferValidate
    - syncLogBufferGetOneEntry
    - syncLogBufferGetLastMatchTermWithoutLock
    - taosThreadMutexUnlock
    - TAOS_RETURN
    - taosThreadMutexLock
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogBufferAccept(SSyncLogBuffer* pBuf, SSyncNode* pNode,
      SSyncRaftEntry* pEntry, SyncTerm prevTerm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pEntry
    - replicaNum
    argTypes:
    - SSyncRaftEntry*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 519
    functionName: syncLogStoreNeedFlush
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool syncLogStoreNeedFlush(SSyncRaftEntry* pEntry, int32_t replicaNum)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSyncLogStore*::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:524,1
    - Dst: SSyncLogStore*::syncLogTruncate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:525,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:526,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:526,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:527,1
    - Dst: SSyncLogStore*::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:529,1
    - Dst: syncLogStoreNeedFlush
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:538,1
    - Dst: SSyncLogStore*::syncLogAppendEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:539,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:540,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:540,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:542,1
    - Dst: SSyncLogStore*::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:545,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - pLogStore
    - pNode
    - pEntry
    argTypes:
    - SSyncLogStore*
    - SSyncNode*
    - SSyncRaftEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 548
    functionName: syncLogStorePersist
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - syncLogStoreNeedFlush
    - sError
    - SSyncLogStore*::syncLogAppendEntry
    - SSyncLogStore*::syncLogTruncate
    - TAOS_RETURN
    - SSyncLogStore*::syncLogLastIndex
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogStorePersist(SSyncLogStore* pLogStore, SSyncNode* pNode,
      SSyncRaftEntry* pEntry)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:551,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:551,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:552,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:561,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:572,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:578,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:586,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:591,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:597,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:603,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:610,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:622,1
    - Dst: syncLogStorePersist
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:627,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:628,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:629,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:630,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:636,1
    - Dst: syncNodeChangeConfig
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:645,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:646,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:646,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:651,1
    - Dst: syncNodeReplicateWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:665,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:666,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:666,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:672,1
    - Dst: syncIndexMgrSetIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:680,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:688,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:689,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:689,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 93
    argCount: 5
    argNames:
    - pBuf
    - pNode
    - pMatchTerm
    - str
    - pMsg
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - SyncTerm*
    - char*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 550
    functionDepth: 5
    functionLinenumber: 550
    functionLinenumberEnd: 691
    functionName: syncLogBufferProceed
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 2
    functionsReached:
    - sError
    - syncNodeChangeConfig
    - syncIndexMgrSetIndex
    - TAOS_CHECK_RETURN
    - sTrace
    - taosThreadMutexUnlock
    - syncLogBufferValidate
    - syncNodeReplicateWithoutLock
    - sGDebug
    - tstrerror
    - taosMsleep
    - taosThreadMutexLock
    - syncLogStorePersist
    - sInfo
    linkageType: ''
    returnType: int64_t
    signature: int64_t syncLogBufferProceed(SSyncLogBuffer* pBuf, SSyncNode* pNode,
      SyncTerm* pMatchTerm, char* str, const SRpcMsg *pMsg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:699,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:702,1
    - Dst: syncIsMsgBlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:707,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:708,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:709,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:713,1
    - Dst: syncNodeGetSnapshotConfigIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:721,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:729,1
    - Dst: syncEntry2OriginalRpc
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:729,1
    - Dst: syncRespMgrGetAndDel
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:741,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:742,1
    - Dst: SSyncFSM*::FpCommitCb
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:745,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:749,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:751,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:754,1
    - Dst: sGWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:759,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:761,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:763,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:765,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:773,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:774,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:774,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 7
    argNames:
    - pNode
    - pFsm
    - role
    - term
    - pEntry
    - applyCode
    - force
    argTypes:
    - SSyncNode*
    - SSyncFSM*
    - ESyncState
    - SyncTerm
    - SSyncRaftEntry*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 777
    functionName: syncFsmExecute
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - TMSG_INFO
    - sError
    - sGTrace
    - SSyncFSM*::FpCommitCb
    - sTrace
    - syncIsMsgBlock
    - syncRespMgrGetAndDel
    - syncEntry2OriginalRpc
    - TAOS_CHECK_EXIT
    - sGDebug
    - tstrerror
    - taosMsleep
    - syncNodeGetSnapshotConfigIndex
    - sGWarn
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t syncFsmExecute(SSyncNode* pNode, SSyncFSM* pFsm, ESyncState
      role, SyncTerm term, SSyncRaftEntry* pEntry,\n                       int32_t
      applyCode, bool force)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:781,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:786,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:791,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:796,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 805
    functionName: syncLogBufferValidate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 5
    functionsReached:
    - sError
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogBufferValidate(SSyncLogBuffer* pBuf)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:809,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:809,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:810,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:815,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:818,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:826,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:828,1
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:829,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:831,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:837,1
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:845,1
    - Dst: syncUtilUserCommit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:851,1
    - Dst: sGInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:852,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:854,1
    - Dst: syncFsmExecute
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:857,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:858,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:866,1
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:870,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:873,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:881,1
    - Dst: syncNodeChangeConfig
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:883,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:884,1
    - Dst: syncFsmExecute
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:892,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:893,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:902,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:908,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:914,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:925,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:930,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:937,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:939,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:943,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:944,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:945,1
    - Dst: SSyncNode*::pFsm::FpRestoreFinishCb
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:954,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:957,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:962,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:966,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:969,1
    - Dst: SSyncNode*::pFsm::FpAfterRestoredCb
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:972,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:973,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:976,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:976,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:977,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 102
    argCount: 5
    argNames:
    - pBuf
    - pNode
    - commitIndex
    - trace
    - src
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - int64_t
    - STraceId*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 807
    functionDepth: 5
    functionLinenumber: 807
    functionLinenumberEnd: 978
    functionName: syncLogBufferCommit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 4
    functionsReached:
    - TMIN
    - syncEntryDestroy
    - syncLogBufferValidate
    - memset
    - syncUtilUserCommit
    - sGError
    - SSyncNode*::pFsm::FpAfterRestoredCb
    - TMSG_INFO
    - sDebug
    - syncLogBufferGetOneEntry
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - SSyncNode*::pFsm::FpRestoreFinishCb
    - sWarn
    - syncFsmExecute
    - sGInfo
    - atomic_sub_fetch_64
    - sGDebug
    - sInfo
    - sError
    - syncNodeChangeConfig
    - raftStoreGetTerm
    - TAOS_CHECK_RETURN
    - atomic_load_64
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: "int32_t syncLogBufferCommit(SSyncLogBuffer* pBuf, SSyncNode* pNode,
      int64_t commitIndex, const STraceId* trace,\n                            const
      char* src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:984,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pMgr
    argTypes:
    - SSyncLogReplMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 995
    functionName: syncLogReplReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - sError
    - memset
    linkageType: ''
    returnType: void
    signature: void syncLogReplReset(SSyncLogReplMgr* pMgr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1004,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1005,1
    - Dst: syncLogReplGetRetryBackoffTimeMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1012,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1013,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1017,1
    - Dst: syncGetRetryMaxWaitMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1031,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1032,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1033,1
    - Dst: syncLogReplSendTo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1042,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1043,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1044,1
    - Dst: syncLogReplGetNextRetryBackoff
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1065,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1067,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1073,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 2
    argNames:
    - pMgr
    - pNode
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1074
    functionName: syncLogReplRetryOnNeed
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - sError
    - syncLogReplSendTo
    - TMAX
    - syncLogReplGetRetryBackoffTimeMs
    - taosGetMonoTimestampMs
    - syncLogReplReset
    - syncGetRetryMaxWaitMs
    - TAOS_RETURN
    - tstrerror
    - sInfo
    - sWarn
    - syncLogReplGetNextRetryBackoff
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogReplRetryOnNeed(SSyncLogReplMgr* pMgr, SSyncNode* pNode)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1082,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1086,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1095,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1097,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1103,1
    - Dst: syncLogReplRetryOnNeed
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1103,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1112,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1114,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1122,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1124,1
    - Dst: syncNodeStartSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1127,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1129,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1129,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1130,1
    - Dst: SSyncNode*::pLogStore::syncLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1138,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1139,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1140,1
    - Dst: syncLogReplGetPrevLogTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1143,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1145,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1145,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1146,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1151,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1154,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1162,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1164,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1167,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1169,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1171,1
    - Dst: syncNodeStartSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1173,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1174,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1174,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1175,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1191,1
    - Dst: syncLogReplProbe
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1192,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 75
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1076
    functionDepth: 3
    functionLinenumber: 1076
    functionLinenumberEnd: 1193
    functionName: syncLogReplRecover
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - SET_ERRNO
    - sError
    - syncLogReplProbe
    - syncLogReplGetPrevLogTerm
    - TAOS_CHECK_RETURN
    - syncLogReplRetryOnNeed
    - sTrace
    - TMIN
    - syncNodeStartSnapshot
    - tsnprintf
    - syncLogReplReset
    - SSyncNode*::pLogStore::syncLogBeginIndex
    - TAOS_RETURN
    - tstrerror
    - DID
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogReplRecover(SSyncLogReplMgr* pMgr, SSyncNode* pNode,
      SyncAppendEntriesReply* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1197,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1199,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1201,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncHeartbeatReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1206
    functionName: syncLogReplProcessHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexLock
    - syncLogReplReset
    - taosThreadMutexUnlock
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogReplProcessHeartbeatReply(SSyncLogReplMgr* pMgr, SSyncNode*
      pNode, SyncHeartbeatReply* pMsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1210,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1212,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1214,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1217,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1219,1
    - Dst: syncLogReplContinue
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1223,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1224,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1224,1
    - Dst: syncLogReplRecover
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1227,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1228,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1228,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1208
    functionDepth: 4
    functionLinenumber: 1208
    functionLinenumberEnd: 1233
    functionName: syncLogReplProcessReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - syncLogReplContinue
    - syncLogReplRecover
    - syncLogReplReset
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    - sWarn
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogReplProcessReply(SSyncLogReplMgr* pMgr, SSyncNode* pNode,
      SyncAppendEntriesReply* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1237,1
    - Dst: syncLogReplAttempt
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1237,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1239,1
    - Dst: syncLogReplProbe
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pMgr
    - pNode
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1242
    functionName: syncLogReplStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - syncLogReplAttempt
    - syncLogReplProbe
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogReplStart(SSyncLogReplMgr* pMgr, SSyncNode* pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: syncGetRetryMaxWaitMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1247,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1248,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1251,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1260,1
    - Dst: syncLogReplSendTo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1265,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1266,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1267,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1268,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - index
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1286
    functionName: syncLogReplProbe
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 2
    functionsReached:
    - sError
    - sTrace
    - taosGetMonoTimestampMs
    - syncLogReplReset
    - syncGetRetryMaxWaitMs
    - TAOS_RETURN
    - tstrerror
    - syncLogReplSendTo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogReplProbe(SSyncLogReplMgr* pMgr, SSyncNode* pNode, SyncIndex
      index)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1291,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1296,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1299,1
    - Dst: syncLogReplSendTo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1316,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1318,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1319,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1320,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1335,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1337,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1342,1
    - Dst: syncLogReplRetryOnNeed
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1342,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1345,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - pMgr
    - pNode
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1288
    functionDepth: 3
    functionLinenumber: 1288
    functionLinenumberEnd: 1351
    functionName: syncLogReplAttempt
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - sError
    - TAOS_CHECK_RETURN
    - syncLogReplRetryOnNeed
    - sTrace
    - TMAX
    - taosGetMonoTimestampMs
    - TAOS_RETURN
    - tstrerror
    - syncLogReplSendTo
    - DID
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogReplAttempt(SSyncLogReplMgr* pMgr, SSyncNode* pNode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1365,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1367,1
    - Dst: syncLogReplAttempt
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncAppendEntriesReply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1353
    functionDepth: 4
    functionLinenumber: 1353
    functionLinenumberEnd: 1373
    functionName: syncLogReplContinue
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - syncLogReplAttempt
    - TMAX
    - memset
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogReplContinue(SSyncLogReplMgr* pMgr, SSyncNode* pNode,
      SyncAppendEntriesReply* pMsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1376,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1396
    functionName: syncLogReplCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - taosThreadMutexInit
    linkageType: ''
    returnType: SSyncLogReplMgr
    signature: SSyncLogReplMgr * syncLogReplCreate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1402,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pMgr
    argTypes:
    - SSyncLogReplMgr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1405
    functionName: syncLogReplDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void syncLogReplDestroy(SSyncLogReplMgr* pMgr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncLogReplCreate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1410,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1417
    functionName: syncNodeLogReplInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 2
    functionsReached:
    - TAOS_RETURN
    - syncLogReplCreate
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeLogReplInit(SSyncNode* pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLogReplDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1424
    functionName: syncNodeLogReplDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 2
    functionsReached:
    - syncLogReplDestroy
    linkageType: ''
    returnType: void
    signature: void syncNodeLogReplDestroy(SSyncNode* pNode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1428,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1430,1
    - Dst: taosThreadMutexAttrInit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1440,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1441,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1442,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1442,1
    - Dst: taosThreadMutexAttrSetType
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1446,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1447,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1448,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1448,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1452,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1453,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1454,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1454,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1459,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1462,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - ppBuf
    argTypes:
    - SSyncLogBuffer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1463
    functionName: syncLogBufferCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - sError
    - TAOS_SYSTEM_ERROR
    - taosMemoryFreeClear
    - TAOS_CHECK_GOTO
    - taosThreadMutexAttrSetType
    - taosThreadMutexInit
    - TAOS_RETURN
    - taosThreadMutexAttrInit
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogBufferCreate(SSyncLogBuffer** ppBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1466,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1470,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1472,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1477
    functionName: syncLogBufferClear
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - memset
    - taosThreadMutexUnlock
    - syncEntryDestroy
    linkageType: ''
    returnType: void
    signature: void syncLogBufferClear(SSyncLogBuffer* pBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncLogBufferClear
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1483,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1484,1
    - Dst: taosThreadMutexAttrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1485,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1479
    functionDepth: 3
    functionLinenumber: 1479
    functionLinenumberEnd: 1488
    functionName: syncLogBufferDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - taosThreadMutexDestroy
    - taosThreadMutexAttrDestroy
    - taosMemoryFree
    - syncLogBufferClear
    linkageType: ''
    returnType: void
    signature: void syncLogBufferDestroy(SSyncLogBuffer* pBuf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1498,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1507,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1509,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1514,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1518,1
    - Dst: SSyncNode*::pLogStore::syncLogTruncate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1519,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1520,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1520,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1522,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1524,1
    - Dst: syncLogBufferInitWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1529,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1530,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1530,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1531,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1536,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1536,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - pBuf
    - pNode
    - toIndex
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - SyncIndex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1490
    functionDepth: 4
    functionLinenumber: 1490
    functionLinenumberEnd: 1538
    functionName: syncLogBufferRollback
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 1
    functionsReached:
    - sError
    - TAOS_CHECK_RETURN
    - SSyncNode*::pLogStore::syncLogTruncate
    - TMIN
    - SSyncNode*::pLogStore::syncLogLastIndex
    - syncLogBufferInitWithoutLock
    - syncEntryDestroy
    - syncLogBufferValidate
    - memset
    - TAOS_RETURN
    - tstrerror
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogBufferRollback(SSyncLogBuffer* pBuf, SSyncNode* pNode,
      SyncIndex toIndex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1541,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1541,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1542,1
    - Dst: SSyncNode*::pLogStore::syncLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1543,1
    - Dst: syncLogBufferRollback
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1548,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1549,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1549,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1552,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1560,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1562,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1563,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pBuf
    - pNode
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1540
    functionDepth: 5
    functionLinenumber: 1540
    functionLinenumberEnd: 1565
    functionName: syncLogBufferReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 4
    functionsReached:
    - sError
    - TAOS_CHECK_RETURN
    - SSyncNode*::pLogStore::syncLogLastIndex
    - syncLogBufferRollback
    - syncLogReplReset
    - syncLogBufferValidate
    - taosThreadMutexUnlock
    - tstrerror
    - taosThreadMutexLock
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncLogBufferReset(SSyncLogBuffer* pBuf, SSyncNode* pNode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSyncNode*::pLogStore::syncLogGetEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1589,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1590,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1590,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1594,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - pBuf
    - pNode
    - index
    - pInBuf
    - ppEntry
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - SyncIndex
    - bool*
    - SSyncRaftEntry**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1595
    functionName: syncLogBufferGetOneEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 2
    functionsReached:
    - TAOS_RETURN
    - sWarn
    - SSyncNode*::pLogStore::syncLogGetEntry
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: "int32_t syncLogBufferGetOneEntry(SSyncLogBuffer* pBuf, SSyncNode*
      pNode, SyncIndex index, bool* pInBuf,\n                                 SSyncRaftEntry**
      ppEntry)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1607,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1609,1
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1611,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1613,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1614,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1615,1
    - Dst: syncLogReplBarrier
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1620,1
    - Dst: syncLogReplGetPrevLogTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1622,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1624,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1624,1
    - Dst: syncBuildAppendEntriesFromRaftEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1629,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1631,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1635,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1635,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1636,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1640,1
    - Dst: syncNodeSendAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1640,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1642,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1648,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1651,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1654,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 6
    argNames:
    - pMgr
    - pNode
    - index
    - pTerm
    - pDestId
    - pBarrier
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncIndex
    - SyncTerm*
    - SRaftId*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1597
    functionDepth: 5
    functionLinenumber: 1597
    functionLinenumberEnd: 1655
    functionName: syncLogReplSendTo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: 3
    functionsReached:
    - sError
    - syncLogReplGetPrevLogTerm
    - TRACE_SET_MSGID
    - syncNodeSendAppendEntries
    - TAOS_CHECK_GOTO
    - syncLogReplBarrier
    - syncBuildAppendEntriesFromRaftEntry
    - syncNodeGetLogReplMgr
    - tGenIdPI64
    - syncLogReplReset
    - syncEntryDestroy
    - syncLogBufferGetOneEntry
    - sGDebug
    - tstrerror
    - rpcFreeCont
    - TAOS_RETURN
    - sWarn
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: "int32_t syncLogReplSendTo(SSyncLogReplMgr* pMgr, SSyncNode* pNode,
      SyncIndex index, SyncTerm* pTerm, SRaftId* pDestId,\n                          bool*
      pBarrier)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:48,1
    - Dst: syncLogRecvAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:49,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:54,1
    - Dst: syncLogRecvAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:55,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:60,1
    - Dst: syncLogRecvAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:61,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:62,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:66,1
    - Dst: syncIndexMgrGetIndex
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:70,1
    - Dst: syncIndexMgrSetIndex
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:72,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:76,1
    - Dst: syncNodeCheckCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:77,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:88,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:91,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:93,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:101,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:101,1
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:106,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:110,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:111,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:113,1
    - Dst: syncLogReplProcessReply
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:113,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:115,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 116
    functionName: syncNodeOnAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c
    functionUses: 1
    functionsReached:
    - sError
    - syncLogRecvAppendEntriesReply
    - syncLogBufferCommit
    - raftStoreGetTerm
    - syncIndexMgrGetIndex
    - syncIndexMgrSetIndex
    - TAOS_CHECK_RETURN
    - syncNodeInRaftGroup
    - TMIN
    - syncLogReplProcessReply
    - sDebug
    - syncNodeCheckCommitIndex
    - syncNodeGetLogReplMgr
    - syncNodeStepDown
    - TAOS_RETURN
    - sGDebug
    - sInfo
    linkageType: ''
    returnType: int32_t
    signature: int32_t syncNodeOnAppendEntriesReply(SSyncNode* ths, const SRpcMsg*
      pRpcMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/common/test/commonTests.cpp:28,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:32,1
    - Dst: cfgInit
      Src: /src/tdengine/source/common/test/commonTests.cpp:32,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:33,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/test/commonTests.cpp:33,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:36,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/test/commonTests.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: ClsConfigDynamicTest::SetUp
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - cfgAddBool
    - ASSERT_EQ
    - cfgAddInt32
    - cfgInit
    - taosCleanupCfg
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/common/test/commonTests.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ClsConfigDynamicTest::TearDown
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosCleanupCfg
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetCfg
      Src: /src/tdengine/source/common/test/commonTests.cpp:44,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/commonTests.cpp:45,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:46,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/test/commonTests.cpp:46,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:47,1
    - Dst: taosCfgDynamicOptions
      Src: /src/tdengine/source/common/test/commonTests.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ClsConfigDynamicTest::applyServerConfig
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosGetCfg
    - taosCfgDynamicOptions
    - ASSERT_NE
    - ASSERT_EQ
    - cfgSetItem
    linkageType: ''
    returnType: void
    signature: void applyServerConfig(const char *name, const char *value, ECfgSrcType
      stype = CFG_STYPE_ALTER_SERVER_CMD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/common/test/commonTests.cpp:28,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:32,1
    - Dst: cfgInit
      Src: /src/tdengine/source/common/test/commonTests.cpp:32,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:33,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/test/commonTests.cpp:33,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:36,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/test/commonTests.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: ClsConfigDynamicTest::SetUp
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - cfgAddBool
    - ASSERT_EQ
    - cfgAddInt32
    - cfgInit
    - taosCleanupCfg
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/common/test/commonTests.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ClsConfigDynamicTest::TearDown
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosCleanupCfg
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetCfg
      Src: /src/tdengine/source/common/test/commonTests.cpp:44,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/commonTests.cpp:45,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:46,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/test/commonTests.cpp:46,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:47,1
    - Dst: taosCfgDynamicOptions
      Src: /src/tdengine/source/common/test/commonTests.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ClsConfigDynamicTest::applyServerConfig
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosGetCfg
    - taosCfgDynamicOptions
    - ASSERT_NE
    - ASSERT_EQ
    - cfgSetItem
    linkageType: ''
    returnType: void
    signature: void applyServerConfig(const char *name, const char *value, ECfgSrcType
      stype = CFG_STYPE_ALTER_SERVER_CMD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/common/test/commonTests.cpp:54,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/common/test/commonTests.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 3
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:62,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:62,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:63,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:64,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:67,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:67,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:68,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:71,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:71,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:72,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:73,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:76,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:76,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:77,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:78,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:81,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:81,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:82,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:83,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:86,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:86,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:87,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:88,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:91,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:91,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:92,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:95,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:95,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:96,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:99,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:99,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:100,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:103,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:103,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:104,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:107,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:107,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:108,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:112,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:112,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:114,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:118,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:118,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:119,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:120,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:124,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:124,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:125,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:128,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:128,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 130
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - toUIntegerEx
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, toUIntegerEx_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:136,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:136,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:137,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:138,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:141,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:141,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:142,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:143,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:146,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:146,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:147,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:150,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:150,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:151,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:152,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:155,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:155,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:156,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:157,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:160,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:160,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:161,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:162,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:165,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:166,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:167,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:170,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:171,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:172,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:175,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:175,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:176,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:177,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:180,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:180,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:181,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:182,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:185,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:185,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:186,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:187,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:191,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:191,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:192,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:193,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:196,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:196,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:197,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:202,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:202,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:203,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:206,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:206,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:207,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/common/test/commonTests.cpp:211,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:211,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 213
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - ASSERT_EQ
    - toIntegerEx
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, toIntegerEx_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:219,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:219,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:220,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:221,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:224,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:224,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:225,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:226,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:229,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:229,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:230,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:233,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:233,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:234,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:235,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:238,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:238,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:239,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:240,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:243,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:243,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:244,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:245,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:248,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:248,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:249,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:250,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:253,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:253,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:254,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:259,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:259,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:260,1
    - Dst: toInteger
      Src: /src/tdengine/source/common/test/commonTests.cpp:263,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:263,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 265
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - ASSERT_EQ
    - toInteger
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, toInteger_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:269,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:270,1
    - Dst: applyServerConfig
      Src: /src/tdengine/source/common/test/commonTests.cpp:272,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:273,1
    - Dst: applyServerConfig
      Src: /src/tdengine/source/common/test/commonTests.cpp:275,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:276,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:277,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:278,1
    - Dst: applyServerConfig
      Src: /src/tdengine/source/common/test/commonTests.cpp:280,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:281,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:282,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:283,1
    - Dst: applyServerConfig
      Src: /src/tdengine/source/common/test/commonTests.cpp:285,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:286,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:287,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:288,1
    - Dst: applyServerConfig
      Src: /src/tdengine/source/common/test/commonTests.cpp:290,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:291,1
    - Dst: applyServerConfig
      Src: /src/tdengine/source/common/test/commonTests.cpp:293,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:294,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:295,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 297
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - applyServerConfig
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClsConfigDynamicTest, clsEnabledTransitionKeepsLastExplicitRefreshInterval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tdengine/source/common/test/commonTests.cpp:301,1
    - Dst: dmRepairNeedWalRepair
      Src: /src/tdengine/source/common/test/commonTests.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - dmRepairNeedWalRepair
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, dmRepairDefaultsToNoWalRepair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/test/commonTests.cpp:309,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:310,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/test/commonTests.cpp:314,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:315,1
    - Dst: colDataIsNull_t
      Src: /src/tdengine/source/common/test/commonTests.cpp:323,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:324,1
    - Dst: colDataIsNull_t
      Src: /src/tdengine/source/common/test/commonTests.cpp:327,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:328,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:337,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:338,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:341,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:342,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:345,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:346,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:350,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 353
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - colDataIsNull_t
    - colDataIsNull_s
    - EXPECT_EQ
    - colDataIsNull
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, Datablock_test_inc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/test/commonTests.cpp:357,1
    - Dst: ASSERT
      Src: /src/tdengine/source/common/test/commonTests.cpp:358,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/common/test/commonTests.cpp:360,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/commonTests.cpp:361,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/test/commonTests.cpp:362,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/common/test/commonTests.cpp:364,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/test/commonTests.cpp:365,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/test/commonTests.cpp:366,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:373,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:374,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/test/commonTests.cpp:377,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/common/test/commonTests.cpp:378,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:379,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:380,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/commonTests.cpp:382,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/commonTests.cpp:383,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:385,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:386,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:392,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:393,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:396,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/test/commonTests.cpp:396,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:397,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:397,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:399,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/test/commonTests.cpp:399,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:401,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:401,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:402,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/test/commonTests.cpp:402,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:406,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:408,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/common/test/commonTests.cpp:408,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:409,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/common/test/commonTests.cpp:409,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/test/commonTests.cpp:411,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:412,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:412,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/test/commonTests.cpp:412,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/commonTests.cpp:414,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/commonTests.cpp:416,1
    - Dst: blockDataSort
      Src: /src/tdengine/source/common/test/commonTests.cpp:418,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/test/commonTests.cpp:419,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/test/commonTests.cpp:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 422
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - colDataGetData
    - blockDataSort
    - createColumnInfoData
    - createDataBlock
    - ASSERT_EQ
    - memset
    - taosArrayDestroy
    - taosArrayGet
    - sprintf
    - ASSERT
    - STR_TO_VARSTR
    - blockDataGetNumOfRows
    - varDataLen
    - varDataVal
    - blockDataGetNumOfCols
    - colDataIsNull_f
    - colDataSetVal
    - printf
    - blockDataEnsureCapacity
    - taosArrayInit
    - colDataIsNull
    - blockDataAppendColInfo
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, Datablock_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSDataBlock*>
      Src: /src/tdengine/source/common/test/commonTests.cpp:426,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:426,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/commonTests.cpp:428,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:437,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:438,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/commonTests.cpp:439,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:446,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:447,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/commonTests.cpp:448,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:451,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:452,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:455,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:456,1
    - Dst: blockDataSplitRows
      Src: /src/tdengine/source/common/test/commonTests.cpp:466,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 476
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - blockDataSplitRows
    - colDataSetVal
    - printf
    - taosArrayInit
    - static_cast<SSDataBlock*>
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, non_var_dataBlock_split_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/test/commonTests.cpp:484,1
    - Dst: ASSERT
      Src: /src/tdengine/source/common/test/commonTests.cpp:485,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/common/test/commonTests.cpp:487,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/test/commonTests.cpp:488,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/common/test/commonTests.cpp:490,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/test/commonTests.cpp:491,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/test/commonTests.cpp:493,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:499,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:500,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:503,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/test/commonTests.cpp:505,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/test/commonTests.cpp:506,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/common/test/commonTests.cpp:507,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/test/commonTests.cpp:508,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/commonTests.cpp:511,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/commonTests.cpp:512,1
    - Dst: blockDataSplitRows
      Src: /src/tdengine/source/common/test/commonTests.cpp:521,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:522,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/test/commonTests.cpp:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 532
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - blockDataSplitRows
    - blockDataEnsureCapacity
    - sprintf
    - createColumnInfoData
    - ASSERT
    - STR_TO_VARSTR
    - colDataSetVal
    - createDataBlock
    - printf
    - memset
    - blockDataAppendColInfo
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, var_dataBlock_split_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:535,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:536,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:537,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:538,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:539,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:540,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - tm
    - y
    - mon
    - d
    - h
    - m
    - s
    - fsec
    argTypes:
    - STm*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 542
    functionName: check_tm
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void check_tm(const STm* tm, int32_t y, int32_t mon, int32_t d, int32_t
      h, int32_t m, int32_t s, int64_t fsec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/common/test/commonTests.cpp:549,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:550,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/common/test/commonTests.cpp:551,1
    - Dst: check_tm
      Src: /src/tdengine/source/common/test/commonTests.cpp:552,1
    - Dst: taosTm2Ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:553,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 9
    argNames:
    - ts
    - precision
    - y
    - mon
    - d
    - h
    - m
    - s
    - fsec
    argTypes:
    - int64_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 555
    functionName: test_timestamp_tm_conversion
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - check_tm
    - taosTm2Ts
    - printf
    - ASSERT_EQ
    - taosFormatUtcTime
    - taosTs2Tm
    linkageType: ''
    returnType: void
    signature: "void test_timestamp_tm_conversion(int64_t ts, int32_t precision, int32_t
      y, int32_t mon, int32_t d, int32_t h,\n                                  int32_t
      m, int32_t s, int64_t fsec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:564,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/test/commonTests.cpp:564,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:564,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:565,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:568,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/test/commonTests.cpp:568,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:568,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:569,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:572,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/test/commonTests.cpp:572,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:572,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:573,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:577,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:581,1
    - Dst: test_timestamp_tm_conversion
      Src: /src/tdengine/source/common/test/commonTests.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 587
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - test_timestamp_tm_conversion
    - strlen
    - ASSERT_EQ
    - taosParseTime
    linkageType: ''
    returnType: void
    signature: void TEST(timeTest, timestamp2tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:591,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:592,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/commonTests.cpp:593,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ts
    - format
    - precison
    - expected
    argTypes:
    - int64_t
    - char*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 595
    functionName: test_ts2char
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - TEST_ts2char
    - printf
    - ASSERT_EQ
    - ASSERT_STREQ
    linkageType: ''
    returnType: void
    signature: void test_ts2char(int64_t ts, const char* format, int32_t precison,
      const char* expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: osDefaultInit
      Src: /src/tdengine/source/common/test/commonTests.cpp:598,1
    - Dst: taosGetLocalTimezoneOffset
      Src: /src/tdengine/source/common/test/commonTests.cpp:600,1
    - Dst: GTEST_SKIP
      Src: /src/tdengine/source/common/test/commonTests.cpp:600,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:604,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:605,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:606,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:607,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:610,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:612,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:615,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:623,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:627,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:630,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:633,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:635,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:636,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:638,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:642,1
    - Dst: test_ts2char
      Src: /src/tdengine/source/common/test/commonTests.cpp:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 648
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - test_ts2char
    - osDefaultInit
    - taosGetLocalTimezoneOffset
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(timeTest, ts2char)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: osDefaultInit
      Src: /src/tdengine/source/common/test/commonTests.cpp:651,1
    - Dst: taosGetLocalTimezoneOffset
      Src: /src/tdengine/source/common/test/commonTests.cpp:653,1
    - Dst: GTEST_SKIP
      Src: /src/tdengine/source/common/test/commonTests.cpp:653,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:656,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:657,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:658,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:661,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:661,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:662,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:664,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:664,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:665,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:668,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:668,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:669,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:671,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:671,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:672,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:675,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:675,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:676,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:679,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:679,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:681,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:684,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:684,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:686,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:690,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:690,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:692,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:696,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:696,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:698,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:701,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:701,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:703,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:706,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:707,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:708,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:711,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:711,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:713,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:715,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:715,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:717,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:718,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:718,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:720,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:722,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:722,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:724,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:727,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:727,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:729,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:732,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:732,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:734,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:736,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:736,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:739,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:739,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:741,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:741,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:743,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:743,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:744,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:745,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:745,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:746,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:746,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:749,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:749,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:750,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:753,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:753,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:754,1
    - Dst: taosGetLocalTimezoneOffset
      Src: /src/tdengine/source/common/test/commonTests.cpp:754,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:756,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:756,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:757,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:759,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:759,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:760,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:760,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:761,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:761,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:762,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:762,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:764,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:766,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:766,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:768,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:768,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:769,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:769,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:771,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:771,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:772,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:772,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:774,1
    - Dst: TEST_char2ts
      Src: /src/tdengine/source/common/test/commonTests.cpp:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 775
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - osDefaultInit
    - GTEST_SKIP
    - TEST_char2ts
    - ASSERT_EQ
    - taosGetLocalTimezoneOffset
    linkageType: ''
    returnType: void
    signature: void TEST(timeTest, char2ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:780,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:781,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:782,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:783,1
    - Dst: epsetSort
      Src: /src/tdengine/source/common/test/commonTests.cpp:784,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:785,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:785,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:786,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:788,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:788,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:789,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:791,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:791,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:792,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:794,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:794,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:795,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:799,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:800,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:801,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:802,1
    - Dst: epsetSort
      Src: /src/tdengine/source/common/test/commonTests.cpp:803,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:804,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:804,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:805,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:807,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:807,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:808,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:810,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:810,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:811,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:813,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:813,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:814,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/common/test/commonTests.cpp:818,1
    - Dst: epsetSort
      Src: /src/tdengine/source/common/test/commonTests.cpp:819,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 822
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - addEpIntoEpSet
    - ASSERT_EQ
    - epsetSort
    - strcmp
    linkageType: ''
    returnType: void
    signature: void TEST(timeTest, epSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/common/test/commonTests.cpp:829,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 831
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - alreadyAddGroupId
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AlreadyAddGroupIdTest, GroupIdAdded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/common/test/commonTests.cpp:837,1
    - Dst: EXPECT_FALSE
      Src: /src/tdengine/source/common/test/commonTests.cpp:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 839
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - alreadyAddGroupId
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AlreadyAddGroupIdTest, GroupIdNotAdded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/common/test/commonTests.cpp:845,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 847
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - alreadyAddGroupId
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AlreadyAddGroupIdTest, GroupIdAddedAtTheEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/common/test/commonTests.cpp:853,1
    - Dst: EXPECT_FALSE
      Src: /src/tdengine/source/common/test/commonTests.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 855
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - alreadyAddGroupId
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AlreadyAddGroupIdTest, GroupIdAddedWithDifferentLength)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:864,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/test/commonTests.cpp:866,1
    - Dst: strsep
      Src: /src/tdengine/source/common/test/commonTests.cpp:873,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/test/commonTests.cpp:874,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/test/commonTests.cpp:875,1
    - Dst: strtrim
      Src: /src/tdengine/source/common/test/commonTests.cpp:876,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:877,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:882,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:887,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:892,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:897,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/test/commonTests.cpp:902,1
    - Dst: uError
      Src: /src/tdengine/source/common/test/commonTests.cpp:903,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/test/commonTests.cpp:904,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/test/commonTests.cpp:908,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/test/commonTests.cpp:909,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - pScopeStr
    - pScope
    argTypes:
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 910
    functionName: taosSetSlowLogScope2
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - uError
    - taosMemoryFreeClear
    - strcasecmp
    - strsep
    - TAOS_RETURN
    - strtrim
    - strlen
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetSlowLogScope2(char* pScopeStr, int32_t* pScope)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSlowLogScope2
      Src: /src/tdengine/source/common/test/commonTests.cpp:915,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:916,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 918
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - taosSetSlowLogScope2
    linkageType: ''
    returnType: void
    signature: void TEST(TaosSetSlowLogScopeTest, NullPointerInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSlowLogScope2
      Src: /src/tdengine/source/common/test/commonTests.cpp:923,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:924,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 926
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - taosSetSlowLogScope2
    linkageType: ''
    returnType: void
    signature: void TEST(TaosSetSlowLogScopeTest, EmptyStringInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSlowLogScope2
      Src: /src/tdengine/source/common/test/commonTests.cpp:931,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:932,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 928
    functionDepth: 2
    functionLinenumber: 928
    functionLinenumberEnd: 935
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - taosSetSlowLogScope2
    linkageType: ''
    returnType: void
    signature: void TEST(TaosSetSlowLogScopeTest, AllScopeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSlowLogScope2
      Src: /src/tdengine/source/common/test/commonTests.cpp:940,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:941,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - taosSetSlowLogScope2
    linkageType: ''
    returnType: void
    signature: void TEST(TaosSetSlowLogScopeTest, QueryScopeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSlowLogScope2
      Src: /src/tdengine/source/common/test/commonTests.cpp:948,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:949,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 951
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - taosSetSlowLogScope2
    linkageType: ''
    returnType: void
    signature: void TEST(TaosSetSlowLogScopeTest, InsertScopeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSlowLogScope2
      Src: /src/tdengine/source/common/test/commonTests.cpp:956,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:957,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 953
    functionDepth: 2
    functionLinenumber: 953
    functionLinenumberEnd: 959
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - taosSetSlowLogScope2
    linkageType: ''
    returnType: void
    signature: void TEST(TaosSetSlowLogScopeTest, OthersScopeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSlowLogScope2
      Src: /src/tdengine/source/common/test/commonTests.cpp:964,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:965,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 967
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - taosSetSlowLogScope2
    linkageType: ''
    returnType: void
    signature: void TEST(TaosSetSlowLogScopeTest, NoneScopeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSlowLogScope2
      Src: /src/tdengine/source/common/test/commonTests.cpp:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 975
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosSetSlowLogScope2
    linkageType: ''
    returnType: void
    signature: void TEST(TaosSetSlowLogScopeTest, InvalidScopeInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSlowLogScope2
      Src: /src/tdengine/source/common/test/commonTests.cpp:980,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:981,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 977
    functionDepth: 2
    functionLinenumber: 977
    functionLinenumberEnd: 983
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - taosSetSlowLogScope2
    linkageType: ''
    returnType: void
    signature: void TEST(TaosSetSlowLogScopeTest, MixedScopesInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSlowLogScope2
      Src: /src/tdengine/source/common/test/commonTests.cpp:988,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:989,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 991
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - taosSetSlowLogScope2
    linkageType: ''
    returnType: void
    signature: void TEST(TaosSetSlowLogScopeTest, MixedScopesInputWithSpaces)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:994,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:995,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:998,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1001,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1001,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:1003,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:1003,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:1004,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:1006,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:1006,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:1007,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:1009,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:1009,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1011,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1011,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1012,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/commonTests.cpp:1014,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:1016,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:1016,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1017,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1017,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1018,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/commonTests.cpp:1020,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1023,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:1026,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:1027,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1029,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1029,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:1031,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:1031,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:1032,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1035,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:1038,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:1039,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1041,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1041,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:1043,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:1043,1
    - Dst: EXPECT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:1044,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1047,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:1050,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:1051,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1053,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1053,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1056,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:1059,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:1060,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1062,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1062,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:1064,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:1064,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1065,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1065,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1067,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/commonTests.cpp:1068,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1071,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/commonTests.cpp:1074,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/test/commonTests.cpp:1075,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1077,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1077,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/test/commonTests.cpp:1079,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/commonTests.cpp:1079,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1080,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/test/commonTests.cpp:1080,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1082,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/commonTests.cpp:1083,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/commonTests.cpp:1086,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/commonTests.cpp:1089,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1090
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - taosAnalyGetOpts
    - strcpy
    - taosHashGetValueSize
    - taosHashGetSize
    - EXPECT_EQ
    - taosHashGet
    - EXPECT_TRUE
    - taosMemoryFree
    - taosHashCleanup
    - taosStrndup
    - strlen
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, function_param_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1097,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1098,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1098,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1099,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1105,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1106,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1106,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1107,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1113,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1114,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1114,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1115,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1120,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1121,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1121,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1122,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1128,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1129,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1129,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1130,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1136,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1137,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1137,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1138,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1144,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1145,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1145,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1146,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1151,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1152,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/test/commonTests.cpp:1152,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1156
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - taosGetFqdnPortFromEp
    - strcmp
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, function_fqdn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/common/test/commonTests.cpp:1171,1
    - Dst: ASSERT_LE
      Src: /src/tdengine/source/common/test/commonTests.cpp:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1173
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosTimeTruncate
    - ASSERT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, function_taosTimeTruncate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetGlobalTimezone
      Src: /src/tdengine/source/common/test/commonTests.cpp:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1196
    functionName: ~TzRestoreGuard()
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosSetGlobalTimezone
    linkageType: ''
    returnType: void
    signature: void ~TzRestoreGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tzalloc
      Src: /src/tdengine/source/common/test/commonTests.cpp:1203,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/commonTests.cpp:1204,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1207,1
    - Dst: taosSetGlobalTimezone
      Src: /src/tdengine/source/common/test/commonTests.cpp:1207,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/commonTests.cpp:1234,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/commonTests.cpp:1234,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1235,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1236,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1237,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1238,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1239,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/commonTests.cpp:1243,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/commonTests.cpp:1243,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1244,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1245,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1246,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1247,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1248,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/common/test/commonTests.cpp:1266,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/commonTests.cpp:1272,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1281,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/common/test/commonTests.cpp:1287,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/commonTests.cpp:1292,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/commonTests.cpp:1301,1
    - Dst: ASSERT_TRUE
      Src: /src/tdengine/source/common/test/commonTests.cpp:1309,1
    - Dst: tzfree
      Src: /src/tdengine/source/common/test/commonTests.cpp:1313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1315
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/commonTests.cpp
    functionUses: 0
    functionsReached:
    - taosLocalTime
    - ASSERT_NE
    - EXPECT_EQ
    - tzalloc
    - ASSERT_EQ
    - ASSERT_TRUE
    - tzfree
    - taosTimeTruncate
    - taosSetGlobalTimezone
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, taosTimeTruncate_DST_day_interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetGlobalTimezone
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: TimeNaturalUnitsTest::SetUp
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - taosSetGlobalTimezone
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMktime
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 6
    argNames:
    - year
    - month
    - day
    - hour
    - minute
    - second
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: TimeNaturalUnitsTest::makeTimestamp
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - taosMktime
    linkageType: ''
    returnType: int64_t
    signature: "int64_t makeTimestamp(int year, int month, int day, int hour, int
      minute, int second,\n                        int8_t precision = TSDB_TIME_PRECISION_MILLI)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:87,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:88,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:93,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:97,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:99,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:100,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - alignToNaturalBoundary
    - makeTimestamp
    - taosLocalTime
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, WeekAlignmentBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:111,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:112,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:116,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:120,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:123,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - alignToNaturalBoundary
    - makeTimestamp
    - taosLocalTime
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, MonthAlignmentBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:134,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:135,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:139,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:143,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:144,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:146,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 149
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - alignToNaturalBoundary
    - makeTimestamp
    - taosLocalTime
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, YearAlignmentBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:158,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:160,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:164,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:168,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:170,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:171,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 173
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - alignToNaturalBoundary
    - makeTimestamp
    - taosLocalTime
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, WeekAlignmentWithOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:182,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:183,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:185,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:186,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:191,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:194,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:195,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:197,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 202
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - alignToNaturalBoundary
    - makeTimestamp
    - EXPECT_EQ
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, MultiPeriodWeekAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:211,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:212,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:214,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:215,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:220,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:225,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:227,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:228,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:231,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:232,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:234,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:239,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:240,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 242
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - makeTimestamp
    - taosLocalTime
    - EXPECT_EQ
    - alignToNaturalBoundary
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, MultiPeriodMonthAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:251,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:252,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:254,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:255,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:260,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:265,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:266,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:267,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:268,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:269,1
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:272,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:273,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:275,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:280,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:281,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:282,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 284
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - makeTimestamp
    - taosLocalTime
    - EXPECT_EQ
    - alignToNaturalBoundary
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, MultiPeriodYearAlignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:291,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:292,1
    - Dst: EXPECT_GT
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:295,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:300,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:302,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 306
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - makeTimestamp
    - EXPECT_GT
    - taosLocalTime
    - EXPECT_EQ
    - alignToNaturalBoundary
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, MicrosecondPrecision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:313,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:314,1
    - Dst: EXPECT_GT
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:317,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:322,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:324,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:325,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:326,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 328
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - makeTimestamp
    - EXPECT_GT
    - taosLocalTime
    - EXPECT_EQ
    - alignToNaturalBoundary
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, NanosecondPrecision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:334,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:337,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:338,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:341,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - alignToNaturalBoundary
    - makeTimestamp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, NonNaturalUnitsPassthrough)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDuration
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:354,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:355,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:356,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:359,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:360,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:361,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:364,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:366,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:369,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:370,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:371,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:374,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 376
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - getDuration
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, GetDurationWeekUnit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeTimestamp
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:384,1
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:387,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:389,1
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:391,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:392,1
    - Dst: EXPECT_LT
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:397,1
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:400,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:402,1
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:404,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:405,1
    - Dst: EXPECT_LT
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:410,1
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:413,1
    - Dst: alignToNaturalBoundary
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:415,1
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:417,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:418,1
    - Dst: EXPECT_LT
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 424
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - makeTimestamp
    - now
    - std::chrono::duration_cast<std::chrono::microseconds>
    - alignToNaturalBoundary
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, PerformanceAlignToNaturalBoundary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:435,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:437,1
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:439,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:440,1
    - Dst: EXPECT_LT
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:445,1
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:448,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:450,1
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:452,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:453,1
    - Dst: EXPECT_LT
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:458,1
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:461,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:463,1
    - Dst: now
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:465,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:466,1
    - Dst: EXPECT_LT
      Src: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 472
    functionName: TEST_F
    functionSourceFile: /src/tdengine/source/common/test/ttimeNaturalUnitsTest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - getDuration
    - now
    - std::chrono::duration_cast<std::chrono::microseconds>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TimeNaturalUnitsTest, PerformanceGetDuration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:30,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/tdengine/source/common/test/cosCpTest.cpp
    functionUses: 3
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:51,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:53,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:55,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:58,1
    - Dst: cos_cp_open
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:58,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:61,1
    - Dst: cos_cp_close
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:64,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:67,1
    - Dst: cos_cp_remove
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/cosCpTest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - cos_cp_close
    - snprintf
    - cos_cp_open
    - taosMemoryFree
    - cos_cp_remove
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, cpOpenCloseRemove)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:93,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:94,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:96,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:98,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:101,1
    - Dst: cos_cp_open
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:101,1
    - Dst: cos_cp_build_upload
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:103,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:105,1
    - Dst: cos_cp_dump
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:105,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:108,1
    - Dst: cos_cp_close
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 118
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/cosCpTest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - cos_cp_close
    - snprintf
    - memset
    - cos_cp_open
    - cos_cp_dump
    - taosMemoryFree
    - cos_cp_build_upload
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, cpBuild)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:138,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:139,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:143,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:146,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:147,1
    - Dst: cos_cp_load
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:149,1
    - Dst: cos_cp_is_valid_upload
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:149,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:151,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:152,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:152,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:153,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:154,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:154,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:155,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:156,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:157,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:157,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:158,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:159,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:160,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:160,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:161,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:161,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:162,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:162,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:164,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:165,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:166,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:167,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:168,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:169,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:170,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:170,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:171,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:175,1
    - Dst: cos_cp_close
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:175,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:178,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:181,1
    - Dst: cos_cp_remove
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 187
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/cosCpTest.cpp
    functionUses: 0
    functionsReached:
    - cos_cp_load
    - cos_cp_is_valid_upload
    - EXPECT_EQ
    - std::string
    - cos_cp_close
    - snprintf
    - memset
    - taosCheckExistFile
    - taosMemoryFree
    - cos_cp_remove
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, cpLoad)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:209,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:210,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:214,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:217,1
    - Dst: cos_cp_open
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:217,1
    - Dst: cos_cp_build_upload
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:219,1
    - Dst: cos_cp_update
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:221,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:223,1
    - Dst: cos_cp_dump
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:223,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:226,1
    - Dst: cos_cp_close
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:226,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 236
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/cosCpTest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - cos_cp_close
    - snprintf
    - memset
    - cos_cp_open
    - cos_cp_dump
    - taosMemoryFree
    - cos_cp_build_upload
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - cos_cp_update
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, cpBuildUpdate)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:256,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:257,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:259,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:261,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:264,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:265,1
    - Dst: cos_cp_load
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:265,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:267,1
    - Dst: cos_cp_is_valid_upload
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:267,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:269,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:270,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:270,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:271,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:272,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:272,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:273,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:274,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:275,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:275,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:276,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:276,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:277,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:278,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:278,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:279,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:279,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:280,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:280,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:282,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:283,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:284,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:285,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:286,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:287,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:288,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:288,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:289,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:293,1
    - Dst: cos_cp_close
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:293,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:296,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:299,1
    - Dst: cos_cp_remove
      Src: /src/tdengine/source/common/test/cosCpTest.cpp:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 305
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/cosCpTest.cpp
    functionUses: 0
    functionsReached:
    - cos_cp_load
    - cos_cp_is_valid_upload
    - EXPECT_EQ
    - std::string
    - cos_cp_close
    - snprintf
    - memset
    - taosCheckExistFile
    - taosMemoryFree
    - cos_cp_remove
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, cpLoadUpdate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/common/test/cosTest.cpp:30,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/common/test/cosTest.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/tdengine/source/common/test/cosTest.cpp
    functionUses: 3
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/cosTest.cpp:62,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/cosTest.cpp:63,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/cosTest.cpp:64,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/cosTest.cpp:65,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/cosTest.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 79
    functionName: cosInitEnv
    functionSourceFile: /src/tdengine/source/common/test/cosTest.cpp
    functionUses: 0
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t cosInitEnv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:86,1
    - Dst: cosInitEnv
      Src: /src/tdengine/source/common/test/cosTest.cpp:86,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:87,1
    - Dst: s3Begin
      Src: /src/tdengine/source/common/test/cosTest.cpp:87,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:90,1
    - Dst: s3Size
      Src: /src/tdengine/source/common/test/cosTest.cpp:90,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:92,1
    - Dst: s3Size
      Src: /src/tdengine/source/common/test/cosTest.cpp:92,1
    - Dst: s3EvictCache
      Src: /src/tdengine/source/common/test/cosTest.cpp:95,1
    - Dst: s3End
      Src: /src/tdengine/source/common/test/cosTest.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/cosTest.cpp
    functionUses: 0
    functionsReached:
    - s3Begin
    - cosInitEnv
    - EXPECT_EQ
    - s3EvictCache
    - s3End
    - s3Size
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, cosCpPutError)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:115,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/cosTest.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:117,1
    - Dst: cosInitEnv
      Src: /src/tdengine/source/common/test/cosTest.cpp:117,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:118,1
    - Dst: s3Begin
      Src: /src/tdengine/source/common/test/cosTest.cpp:118,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/cosTest.cpp:121,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/cosTest.cpp:123,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/cosTest.cpp:132,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/cosTest.cpp:133,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/cosTest.cpp:135,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/test/cosTest.cpp:136,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/cosTest.cpp:137,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/cosTest.cpp:138,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/cosTest.cpp:140,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/cosTest.cpp:143,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/cosTest.cpp:143,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/cosTest.cpp:144,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/cosTest.cpp:144,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/cosTest.cpp:144,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/test/cosTest.cpp:146,1
    - Dst: GTEST_ASSERT_NE
      Src: /src/tdengine/source/common/test/cosTest.cpp:147,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/test/cosTest.cpp:149,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:150,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/test/cosTest.cpp:152,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:153,1
    - Dst: s3PutObjectFromFile2
      Src: /src/tdengine/source/common/test/cosTest.cpp:155,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:156,1
    - Dst: s3PutObjectFromFile2
      Src: /src/tdengine/source/common/test/cosTest.cpp:159,1
    - Dst: GTEST_ASSERT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:160,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:163,1
    - Dst: s3Size
      Src: /src/tdengine/source/common/test/cosTest.cpp:163,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:165,1
    - Dst: s3Size
      Src: /src/tdengine/source/common/test/cosTest.cpp:165,1
    - Dst: s3End
      Src: /src/tdengine/source/common/test/cosTest.cpp:168,1
    - Dst: s3EvictCache
      Src: /src/tdengine/source/common/test/cosTest.cpp:169,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/cosTest.cpp:171,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/cosTest.cpp:173,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/common/test/cosTest.cpp:173,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/cosTest.cpp:180,1
    - Dst: s3End
      Src: /src/tdengine/source/common/test/cosTest.cpp:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 185
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/cosTest.cpp
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - snprintf
    - s3PutObjectFromFile2
    - s3Begin
    - std::string
    - taosWriteFile
    - s3EvictCache
    - s3Size
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - taosRemoveFile
    - cosInitEnv
    - GTEST_ASSERT_NE
    - tstrncpy
    - EXPECT_EQ
    - GTEST_ASSERT_EQ
    - strncmp
    - s3End
    - taosMemoryFree
    - taosOpenFile
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, cosCpPut)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readlink
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:48,1
    - Dst: string::rfind
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:52,1
    - Dst: string::erase
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:54,1
    - Dst: std::runtime_error
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: getExecutableDirectory
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - readlink
    - string::rfind
    - string::erase
    - std::runtime_error
    linkageType: ''
    returnType: string
    signature: string getExecutableDirectory()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: string::find
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:65,1
    - Dst: make_pair
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:67,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:69,1
    - Dst: string::find_first_not_of
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:72,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:74,1
    - Dst: string::clear
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:76,1
    - Dst: string::find_last_not_of
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:80,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:82,1
    - Dst: string::front
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:85,1
    - Dst: string::back
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:85,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:86,1
    - Dst: string::size
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:86,1
    - Dst: string::front
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:88,1
    - Dst: string::back
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:88,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:89,1
    - Dst: string::size
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:89,1
    - Dst: string::substr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:91,1
    - Dst: stoi
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:92,1
    - Dst: make_pair
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - line
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 94
    functionName: parseKeyValuePair
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - string::find_first_not_of
    - string::size
    - string::find
    - string::find_last_not_of
    - string::substr
    - string::clear
    - string::front
    - string::back
    - stoi
    - make_pair
    linkageType: ''
    returnType: pair<string, int32_t>
    signature: pair<string, int32_t> parseKeyValuePair(const string &line, char delim
      = '=')
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ifstream::is_open
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:99,1
    - Dst: ifstream::fail
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:100,1
    - Dst: length
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:110,1
    - Dst: length
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:110,1
    - Dst: equal
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:113,1
    - Dst: end
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:113,1
    - Dst: length
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:113,1
    - Dst: end
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:113,1
    - Dst: begin
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:113,1
    - Dst: std::getline
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:121,1
    - Dst: string::find
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:123,1
    - Dst: string::find
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:125,1
    - Dst: string::find
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:127,1
    - Dst: string::find
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:127,1
    - Dst: parseKeyValuePair
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:134,1
    - Dst: pair::first::empty
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:141,1
    - Dst: endsWith
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:144,1
    - Dst: push_back
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:153,1
    - Dst: make_pair
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:156,1
    - Dst: pair::first::empty
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:161,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - ' filePath'
    - ' msgTypes'
    argTypes:
    - string
    - vector<STestMsgTypeInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 167
    functionName: readConfig
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    - make_pair
    - push_back
    - string::find
    - pair::first::empty
    - ifstream::fail
    - ifstream::is_open
    - equal
    - parseKeyValuePair
    - endsWith
    - length
    - begin
    - end
    linkageType: ''
    returnType: ParseStatus
    signature: ParseStatus readConfig(const string& filePath, vector<STestMsgTypeInfo>&
      msgTypes)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getExecutableDirectory
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:189,1
    - Dst: readConfig
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:193,1
    - Dst: unordered_map::find
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:198,1
    - Dst: unordered_map::end
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:199,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:200,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:204,1
    - Dst: name::c_str
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:204,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:205,1
    - Dst: rspName::c_str
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:205,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:206,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:208,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:214,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:217,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:220,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:223,1
    - Dst: FAIL
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 229
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - readConfig
    - name::c_str
    - ASSERT_STREQ
    - unordered_map::find
    - unordered_map::end
    - ASSERT_EQ
    - FAIL
    - getExecutableDirectory
    - rspName::c_str
    linkageType: ''
    returnType: void
    signature: void TEST(td_msg_test, msg_type_compatibility_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:234,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:234,1
    - Dst: std::max
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:235,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: maxLengthOfMsgType
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t maxLengthOfMsgType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: maxLengthOfMsgType
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:242,1
    - Dst: std::ofstream::is_open
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:244,1
    - Dst: std::setw
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:250,1
    - Dst: std::setw
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:251,1
    - Dst: std::ofstream::fail
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:254,1
    - Dst: std::ofstream::close
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: generateConfigFile
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - std::setw
    - std::ofstream::fail
    - std::ofstream::is_open
    - std::ofstream::close
    - maxLengthOfMsgType
    linkageType: ''
    returnType: void
    signature: void generateConfigFile(const string& filePath)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:266,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:268,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:269,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:270,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:271,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:272,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:273,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:274,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:275,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:276,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:277,1
    - Dst: htonl
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:281,1
    - Dst: htonl
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:282,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVDeleteReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 284
    functionName: serializeOldSVDeleteReq
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - htonl
    - tEncodeI8
    - tEncodeU64
    - tEncodeU32
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t serializeOldSVDeleteReq(void* buf, int32_t bufLen, SVDeleteReq*
      pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:293,1
    - Dst: tSerializeSVDeleteReq
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:300,1
    - Dst: ASSERT_GT
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:301,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:303,1
    - Dst: tSerializeSVDeleteReq
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:303,1
    - Dst: std::vector::data
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:303,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:306,1
    - Dst: tDeserializeSVDeleteReq
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:306,1
    - Dst: std::vector::data
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:306,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:307,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:308,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:309,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:310,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:311,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:312,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:313,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:313,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:314,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:315,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:316,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:318,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 320
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - ASSERT_GT
    - tSerializeSVDeleteReq
    - memcmp
    - ASSERT_STREQ
    - ASSERT_EQ
    - taosMemoryFree
    - tDeserializeSVDeleteReq
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(td_msg_test, delete_req_codec_secure_delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:329,1
    - Dst: serializeOldSVDeleteReq
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:337,1
    - Dst: std::vector::data
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:337,1
    - Dst: std::vector::size
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:337,1
    - Dst: ASSERT_GT
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:338,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:341,1
    - Dst: tDeserializeSVDeleteReq
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:341,1
    - Dst: std::vector::data
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:341,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:342,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:343,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:344,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:345,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:346,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:347,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:348,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:348,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:349,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:350,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:351,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:353,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 355
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_GT
    - std::vector::data
    - serializeOldSVDeleteReq
    - memcmp
    - std::vector::size
    - ASSERT_STREQ
    - ASSERT_EQ
    - taosMemoryFree
    - tDeserializeSVDeleteReq
    - strlen
    linkageType: ''
    returnType: void
    signature: void TEST(td_msg_test, delete_req_codec_backward_compat_without_secure_delete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:360,1
    - Dst: generateConfigFile
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:362,1
    - Dst: exit
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: processCommandArgs
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 0
    functionsReached:
    - generateConfigFile
    - exit
    - string
    linkageType: ''
    returnType: void
    signature: void processCommandArgs(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: processCommandArgs
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:371,1
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:373,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/common/test/tmsgTest.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: main
    functionSourceFile: /src/tdengine/source/common/test/tmsgTest.cpp
    functionUses: 3
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    - processCommandArgs
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::InitGoogleTest
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:38,1
    - Dst: RUN_ALL_TESTS
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: main
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 3
    functionsReached:
    - testing::InitGoogleTest
    - RUN_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_LE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:44,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:45,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:46,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:51,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:52,1
    - Dst: ASSERT
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:113,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:121,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 86
    argCount: 1
    argNames:
    - nCols
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 123
    functionName: genSTSchema
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - tBuildTSchema
    - EXPECT_LE
    - ASSERT
    - strncpy
    - snprintf
    - taosMemoryFree
    - EXPECT_NE
    - taosMemoryCalloc
    linkageType: ''
    returnType: STSchema
    signature: STSchema *genSTSchema(int16_t nCols)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:129,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:136,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:138,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:140,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:142,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:148,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:152,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:156,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:160,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:164,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:168,1
    - Dst: strlen
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:174,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:181,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:187,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:193,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:199,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:205,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:210,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:214,1
    - Dst: ASSERT
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:217,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:219,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 96
    argCount: 3
    argNames:
    - data
    - nCols
    - pArray
    argTypes:
    - char**
    - int16_t
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 222
    functionName: genTestData
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - strncasecmp
    - sscanf
    - ASSERT
    - taosArrayInit
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t genTestData(const char **data, int16_t nCols, SArray **pArray)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:225,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:226,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:229,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:230,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:235,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:238,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:241,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:244,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:247,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:250,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:253,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:258,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:259,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:262,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:266,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:267,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:270,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:273,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:276,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:279,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:282,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:285,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:288,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:291,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:294,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:297,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:300,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 2
    argNames:
    - cv
    - type
    argTypes:
    - SColVal*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 304
    functionName: debugPrintSColVal
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - COL_VAL_IS_NONE
    - COL_VAL_IS_NULL
    - snprintf
    - printf
    linkageType: ''
    returnType: int32_t
    signature: int32_t debugPrintSColVal(SColVal *cv, int8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:307,1
    - Dst: tTSRowGetVal
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:310,1
    - Dst: debugPrintSColVal
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:311,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:313,1
    - Dst: fflush
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - row
    - pTSchema
    - tags
    - ln
    argTypes:
    - STSRow*
    - STSchema*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 315
    functionName: debugPrintTSRow
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - fflush
    - printf
    - tTSRowGetVal
    - debugPrintSColVal
    linkageType: ''
    returnType: void
    signature: void debugPrintTSRow(STSRow *row, STSchema *pTSchema, const char *tags,
      int32_t ln)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:318,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:320,1
    - Dst: EXPECT_STRCASEEQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:321,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:324,1
    - Dst: EXPECT_STRCASEEQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:325,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:334,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:335,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:339,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:340,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:343,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:344,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:347,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:348,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:351,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:352,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:355,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:356,1
    - Dst: EXPECT_STRCASEEQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:360,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:363,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:364,1
    - Dst: EXPECT_STRCASEEQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:367,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:371,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:372,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:376,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:377,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:380,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:381,1
    - Dst: sscanf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:384,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:385,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:388,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:391,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:394,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:397,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:400,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:406,1
    - Dst: printf
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:409,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 99
    argCount: 3
    argNames:
    - rawVal
    - cv
    - type
    argTypes:
    - char*
    - SColVal*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 413
    functionName: checkSColVal
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_STRCASEEQ
    - ASSERT
    - sscanf
    - EXPECT_EQ
    - EXPECT_FLOAT_EQ
    - EXPECT_DOUBLE_EQ
    - printf
    - COL_VAL_IS_NULL
    - COL_VAL_IS_NONE
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkSColVal(const char *rawVal, SColVal *cv, int8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tTSRowGetVal
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:418,1
    - Dst: checkSColVal
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:419,1
    - Dst: tdSTSRowIterReset
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:424,1
    - Dst: tdSTSRowIterFetch
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:429,1
    - Dst: tdValTypeIsNone
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:435,1
    - Dst: tdValTypeIsNull
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:437,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:442,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:443,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:444,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:446,1
    - Dst: checkSColVal
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - data
    - row
    - pTSchema
    argTypes:
    - char**
    - STSRow*
    - STSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 451
    functionName: checkTSRow
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - tdSTSRowIterFetch
    - tdSTSRowIterReset
    - tdValTypeIsNone
    - tdValTypeIsNull
    - varDataLen
    - checkSColVal
    - tTSRowGetVal
    - varDataVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void checkTSRow(const char **data, STSRow *row, STSchema *pTSchema)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:456,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:456,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:458,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:461,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:461,1
    - Dst: memset
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:463,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:466,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 467
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - tColDataGetValue
    - memset
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, tColDataGetValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:473,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:474,1
    - Dst: genSTSchema
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:476,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:477,1
    - Dst: genTestData
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:484,1
    - Dst: tdSTSRowNew
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:486,1
    - Dst: debugPrintTSRow
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:487,1
    - Dst: tdSRowPrint
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:488,1
    - Dst: checkTSRow
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:489,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:491,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:492,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 494
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tdSTSRowNew
    - checkTSRow
    - debugPrintTSRow
    - genSTSchema
    - genTestData
    - EXPECT_NE
    - taosArrayInit
    - taosMemoryFree
    - taosArrayDestroy
    - tdSRowPrint
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, AllNormTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:500,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_STREQ
    - buildCtbNameAddGroupId
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, StreamAllNormTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:510,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 513
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_STREQ
    - buildCtbNameAddGroupId
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, StreamWithStbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:520,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_STREQ
    - buildCtbNameAddGroupId
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, StreamWithoutDotInStbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:530,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 533
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_STREQ
    - buildCtbNameAddGroupId
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, StreamWithoutDotInStbName2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:541,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:542,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:542,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:543,1
    - Dst: strcpy
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:546,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:548,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:548,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:549,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:552,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:552,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:553,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:553,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:558,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:559,1
    - Dst: std::string
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:559,1
    - Dst: std::to_string
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:559,1
    - Dst: EXPECT_EQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:560,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:560,1
    - Dst: EXPECT_STREQ
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:561,1
    - Dst: std::string::c_str
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:561,1
    - Dst: std::string::size
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:561,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 564
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - std::string::c_str
    - EXPECT_EQ
    - std::string
    - std::string::size
    - EXPECT_STREQ
    - buildCtbNameAddGroupId
    - taosMemoryFree
    - std::to_string
    - taosStrdup
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, StreamWithLongStbName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:571,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:572,1
    - Dst: genSTSchema
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:574,1
    - Dst: EXPECT_NE
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:575,1
    - Dst: genTestData
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:609,1
    - Dst: tdSTSRowNew
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:610,1
    - Dst: debugPrintTSRow
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:611,1
    - Dst: tdSRowPrint
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:612,1
    - Dst: checkTSRow
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:613,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:614,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:615,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:618,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/dataformatTest.cpp:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 620
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/dataformatTest.cpp
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tdSTSRowNew
    - checkTSRow
    - debugPrintTSRow
    - genSTSchema
    - genTestData
    - EXPECT_NE
    - taosArrayInit
    - taosMemoryFree
    - taosArrayClear
    - taosArrayDestroy
    - tdSRowPrint
    linkageType: ''
    returnType: void
    signature: void TEST(testCase, NoneTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:20,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:20,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:21,1
    - Dst: tEncodeSClientHbKey
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:21,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:24,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:24,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:25,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:25,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:26,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:26,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:27,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:27,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:28,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:28,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:29,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:29,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:30,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:30,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:31,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:31,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:32,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:32,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:33,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:33,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:34,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:34,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:35,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:35,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:36,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:36,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:39,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:39,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:43,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:44,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:44,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:47,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:47,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:48,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:48,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:51,1
    - Dst: tSerializeIpRange
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:51,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:52,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:52,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:53,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:53,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SClientHbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 59
    functionName: serializeOldSClientHbReq
    functionSourceFile: /src/tdengine/source/common/test/SClientHbBatchReq.cpp
    functionUses: 0
    functionsReached:
    - tEncodeU64
    - TAOS_CHECK_RETURN
    - taosHashGetSize
    - tEncodeU32
    - tEncodeCStr
    - tEncodeSClientHbKey
    - tEndEncode
    - tStartEncode
    - tSerializeIpRange
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t serializeOldSClientHbReq(SEncoder *pEncoder, const SClientHbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:69,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:71,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:71,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:72,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:72,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:74,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:75,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:75,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:77,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:78,1
    - Dst: serializeOldSClientHbReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:78,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:81,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:81,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:83,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pBatchReq
    argTypes:
    - void*
    - int32_t
    - SClientHbBatchReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 89
    functionName: serializeOldSClientHbBatchReq
    functionSourceFile: /src/tdengine/source/common/test/SClientHbBatchReq.cpp
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - taosArrayGet
    - serializeOldSClientHbReq
    - tEncoderClear
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: "int32_t serializeOldSClientHbBatchReq(void *buf, int32_t bufLen,\n
      \                                             const SClientHbBatchReq *pBatchReq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:94,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:95,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:96,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:98,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:99,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pOut
    argTypes:
    - SClientHbBatchReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: freeDeserializedBatchReq
    functionSourceFile: /src/tdengine/source/common/test/SClientHbBatchReq.cpp
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosMemoryFree
    - taosHashCleanup
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void freeDeserializedBatchReq(SClientHbBatchReq *pOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:122,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:141,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:141,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:142,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:146,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:147,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:148,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:149,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:150,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:159,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:160,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:161,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:161,1
    - Dst: tSerializeSClientHbBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:164,1
    - Dst: ASSERT_GT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:165,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:169,1
    - Dst: tSerializeSClientHbBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:169,1
    - Dst: std::vector::data
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:169,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:173,1
    - Dst: tDeserializeSClientHbBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:173,1
    - Dst: std::vector::data
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:173,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:176,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:177,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:180,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:180,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:180,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:183,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:184,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:186,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:187,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:189,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:190,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:191,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:192,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:193,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:194,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:195,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:196,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:197,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:198,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:199,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:200,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:202,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:203,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:204,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:205,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:206,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:207,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:210,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:211,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:212,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:213,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:217,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:218,1
    - Dst: freeDeserializedBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 222
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/SClientHbBatchReq.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ASSERT_GT
    - std::vector::data
    - taosArrayGet
    - ASSERT_NE
    - ASSERT_STREQ
    - freeDeserializedBatchReq
    - taosHashInit
    - tstrncpy
    - ASSERT_EQ
    - taosArrayGetSize
    - taosArrayInit
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - tSerializeSClientHbBatchReq
    - taosArrayDestroy
    - tDeserializeSClientHbBatchReq
    linkageType: ''
    returnType: void
    signature: void TEST(td_msg_test, sclient_hb_batch_req_codec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:244,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:257,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:257,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:258,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:261,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:262,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:263,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:265,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:266,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:273,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:274,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:275,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:275,1
    - Dst: serializeOldSClientHbBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:278,1
    - Dst: ASSERT_GT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:279,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:282,1
    - Dst: serializeOldSClientHbBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:282,1
    - Dst: std::vector::data
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:282,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:286,1
    - Dst: tDeserializeSClientHbBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:286,1
    - Dst: std::vector::data
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:286,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:289,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:290,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:291,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:291,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:291,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:293,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:294,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:296,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:297,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:299,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:300,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:301,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:302,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:303,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:304,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:305,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:306,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:307,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:308,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:310,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:311,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:312,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:313,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:316,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:317,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:318,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:319,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:323,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:324,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:327,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:328,1
    - Dst: freeDeserializedBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 330
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/SClientHbBatchReq.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ASSERT_GT
    - std::vector::data
    - taosArrayGet
    - ASSERT_NE
    - serializeOldSClientHbBatchReq
    - ASSERT_STREQ
    - freeDeserializedBatchReq
    - taosHashInit
    - tstrncpy
    - ASSERT_EQ
    - taosArrayGetSize
    - taosArrayInit
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - taosArrayDestroy
    - tDeserializeSClientHbBatchReq
    linkageType: ''
    returnType: void
    signature: void TEST(td_msg_test, sclient_hb_batch_req_backward_compat_without_user_token)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:347,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:347,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:348,1
    - Dst: tDecodeSClientHbKey
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:348,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:351,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:351,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:352,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:352,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:353,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:353,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:354,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:354,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:355,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:355,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:356,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:356,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:357,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:357,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:358,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:358,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:359,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:359,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:360,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:360,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:361,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:361,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:362,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:362,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:363,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:363,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:365,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:365,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:369,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:369,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:370,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:370,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:373,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:374,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:374,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:375,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:375,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:379,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:380,1
    - Dst: tDeserializeIpRange
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:380,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:381,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:381,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:382,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:382,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SClientHbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 391
    functionName: deserializeOldSClientHbReq
    functionSourceFile: /src/tdengine/source/common/test/SClientHbBatchReq.cpp
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeIsEnd
    - tDeserializeIpRange
    - TAOS_CHECK_GOTO
    - TAOS_CHECK_RETURN
    - tDecodeSClientHbKey
    - tDecodeCStrTo
    - taosHashInit
    - tEndDecode
    - tDecodeU32
    - taosGetDefaultHashFunction
    - tStartDecode
    - tDecodeU64
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t deserializeOldSClientHbReq(SDecoder *pDecoder, SClientHbReq
      *pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:400,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:402,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:403,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:403,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:405,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:405,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:412,1
    - Dst: deserializeOldSClientHbReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:412,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:413,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:417,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:418,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:418,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:421,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pBatchReq
    argTypes:
    - void*
    - int32_t
    - SClientHbBatchReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 426
    functionName: deserializeOldSClientHbBatchReq
    functionSourceFile: /src/tdengine/source/common/test/SClientHbBatchReq.cpp
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecodeIsEnd
    - tDecoderClear
    - deserializeOldSClientHbReq
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: "int32_t deserializeOldSClientHbBatchReq(void *buf, int32_t bufLen,\n
      \                                               SClientHbBatchReq *pBatchReq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:448,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:461,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:461,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:462,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:465,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:466,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:467,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:469,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:470,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:477,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:478,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:479,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:479,1
    - Dst: tSerializeSClientHbBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:482,1
    - Dst: ASSERT_GT
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:483,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:486,1
    - Dst: tSerializeSClientHbBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:486,1
    - Dst: std::vector::data
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:486,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:490,1
    - Dst: deserializeOldSClientHbBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:490,1
    - Dst: std::vector::data
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:490,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:493,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:494,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:495,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:495,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:495,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:497,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:498,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:500,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:501,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:503,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:504,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:505,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:506,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:507,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:508,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:509,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:510,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:511,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:512,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:514,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:515,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:516,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:517,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:520,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:521,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:522,1
    - Dst: ASSERT_EQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:523,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:527,1
    - Dst: ASSERT_STREQ
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:528,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:531,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:532,1
    - Dst: freeDeserializedBatchReq
      Src: /src/tdengine/source/common/test/SClientHbBatchReq.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 534
    functionName: TEST
    functionSourceFile: /src/tdengine/source/common/test/SClientHbBatchReq.cpp
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - ASSERT_GT
    - std::vector::data
    - taosArrayGet
    - deserializeOldSClientHbBatchReq
    - ASSERT_NE
    - ASSERT_STREQ
    - freeDeserializedBatchReq
    - taosHashInit
    - tstrncpy
    - ASSERT_EQ
    - taosArrayGetSize
    - taosArrayInit
    - taosGetDefaultHashFunction
    - taosHashCleanup
    - tSerializeSClientHbBatchReq
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void TEST(td_msg_test, sclient_hb_batch_req_forward_compat_new_to_old)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: dmRepairFlowEnabled
    functionSourceFile: /src/tdengine/source/common/src/dmRepair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TD_WEAK
    signature: TD_WEAK dmRepairFlowEnabled()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: dmRepairNodeTypeIsVnode
    functionSourceFile: /src/tdengine/source/common/src/dmRepair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TD_WEAK
    signature: TD_WEAK dmRepairNodeTypeIsVnode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: dmRepairModeIsForce
    functionSourceFile: /src/tdengine/source/common/src/dmRepair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TD_WEAK
    signature: TD_WEAK dmRepairModeIsForce()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: dmRepairHasBackupPath
    functionSourceFile: /src/tdengine/source/common/src/dmRepair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TD_WEAK
    signature: TD_WEAK dmRepairHasBackupPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: dmRepairBackupPath
    functionSourceFile: /src/tdengine/source/common/src/dmRepair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TD_WEAK
    signature: TD_WEAK *dmRepairBackupPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/dmRepair.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: SRepairMetaVnodeOpt *dmRepairGetMetaVnodeOpt(int32_t vnodeId)
    functionSourceFile: /src/tdengine/source/common/src/dmRepair.c
    functionUses: 0
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: TD_WEAK
    signature: TD_WEAK SRepairMetaVnodeOpt *dmRepairGetMetaVnodeOpt(int32_t vnodeId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/dmRepair.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vnodeId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: dmRepairNeedTsdbRepair
    functionSourceFile: /src/tdengine/source/common/src/dmRepair.c
    functionUses: 0
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: TD_WEAK
    signature: TD_WEAK dmRepairNeedTsdbRepair(int32_t vnodeId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/dmRepair.c:28,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/dmRepair.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: SRepairTsdbFileOpt *dmRepairGetTsdbFileOpt(int32_t vnodeId, int32_t
      fileId)
    functionSourceFile: /src/tdengine/source/common/src/dmRepair.c
    functionUses: 0
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: TD_WEAK
    signature: TD_WEAK SRepairTsdbFileOpt *dmRepairGetTsdbFileOpt(int32_t vnodeId,
      int32_t fileId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/dmRepair.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vnodeId
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: dmRepairNeedWalRepair
    functionSourceFile: /src/tdengine/source/common/src/dmRepair.c
    functionUses: 2
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: TD_WEAK
    signature: TD_WEAK dmRepairNeedWalRepair(int32_t vnodeId)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: getDataMin
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE *getDataMin(int32_t type, void *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: getDataMax
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE *getDataMax(int32_t type, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: isValidDataType
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidDataType(int32_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: POINTER_SHIFT
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POINTER_SHIFT(p, b)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GET_INT8_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:151,1
    - Dst: GET_INT16_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:155,1
    - Dst: GET_INT32_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:159,1
    - Dst: SET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:163,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:163,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:166,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:166,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:171,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/common/src/ttypes.c:176,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/common/src/ttypes.c:179,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/ttypes.c:183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - val
    - src
    - len
    - type
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 189
    functionName: assignVal
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 9
    functionsReached:
    - memcpy
    - SET_DOUBLE_VAL
    - GET_INT32_VAL
    - GET_INT64_VAL
    - varDataCopy
    - GET_INT16_VAL
    - SET_FLOAT_VAL
    - GET_INT8_VAL
    - GET_DOUBLE_VAL
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: void
    signature: void assignVal(char *val, const char *src, int32_t len, int32_t type)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GET_INT8_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:195,1
    - Dst: GET_INT8_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:195,1
    - Dst: GET_UINT8_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:198,1
    - Dst: GET_UINT8_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:198,1
    - Dst: GET_INT16_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:201,1
    - Dst: GET_INT16_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:201,1
    - Dst: GET_UINT16_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:204,1
    - Dst: GET_UINT16_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:204,1
    - Dst: GET_INT32_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:207,1
    - Dst: GET_INT32_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:207,1
    - Dst: GET_UINT32_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:210,1
    - Dst: GET_UINT32_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:210,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:213,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:213,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:216,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:216,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:219,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:219,1
    - Dst: SET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:222,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:222,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:222,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:225,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:225,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 5
    argNames:
    - dst
    - s1
    - s2
    - optr
    - type
    argTypes:
    - void*
    - void*
    - void*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 236
    functionName: operateVal
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 1
    functionsReached:
    - GET_UINT16_VAL
    - SET_DOUBLE_VAL
    - GET_INT32_VAL
    - GET_UINT8_VAL
    - GET_INT64_VAL
    - GET_INT16_VAL
    - SET_FLOAT_VAL
    - GET_INT8_VAL
    - GET_DOUBLE_VAL
    - GET_UINT32_VAL
    - GET_UINT64_VAL
    - GET_FLOAT_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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: decimalTypeFromPrecision
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t decimalTypeFromPrecision(uint8_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prec
    - scale
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: decimalCalcTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: STypeMod
    signature: STypeMod decimalCalcTypeMod(uint8_t prec, uint8_t scale)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - typeMod
    - precision
    - scale
    argTypes:
    - STypeMod
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: decimalFromTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 14
    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:250,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/common/src/ttypes.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pDataType
    argTypes:
    - SDataType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: typeGetTypeModFromDataType
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 1
    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:255,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/common/src/ttypes.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - type
    - prec
    - scale
    - bytes
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: typeGetTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - decimalCalcTypeMod
    linkageType: ''
    returnType: STypeMod
    signature: STypeMod typeGetTypeMod(uint8_t type, uint8_t prec, uint8_t scale,
      int32_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/ttypes.c:262,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/common/src/ttypes.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pType
    - mod
    argTypes:
    - SDataType*
    - STypeMod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: fillTypeFromTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 3
    functionsReached:
    - IS_DECIMAL_TYPE
    - decimalFromTypeMod
    linkageType: ''
    returnType: void
    signature: void fillTypeFromTypeMod(SDataType *pType, STypeMod mod)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/ttypes.c:268,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/common/src/ttypes.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - type
    - typeMod
    - prec
    - scale
    - bytes
    argTypes:
    - uint8_t
    - STypeMod
    - uint8_t*
    - uint8_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: extractTypeFromTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 6
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/ttypes.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - type
    - mod
    argTypes:
    - int32_t
    - STypeMod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: getScaleFromTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 2
    functionsReached:
    - IS_DECIMAL_TYPE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getScaleFromTypeMod(int32_t type, STypeMod mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pBytes
    - type
    - precision
    - scale
    argTypes:
    - int32_t*
    - int32_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: fillBytesForDecimalType
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fillBytesForDecimalType(int32_t *pBytes, int32_t type, uint8_t
      precision, uint8_t scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pBytes
    - precision
    - scale
    argTypes:
    - int32_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: extractDecimalTypeInfoFromBytes
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void extractDecimalTypeInfoFromBytes(int32_t *pBytes, uint8_t *precision,
      uint8_t *scale)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/ttypes.c:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - type
    - schemaBytes
    - isStmt
    argTypes:
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: calcTypeBytesFromSchemaBytes
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 2
    functionsReached:
    - IS_STR_DATA_BLOB
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcTypeBytesFromSchemaBytes(int32_t type, int32_t schemaBytes,
      bool isStmt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/ttypes.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - type
    - varTypeBytes
    - isStmt
    argTypes:
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: calcSchemaBytesFromTypeBytes
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: 0
    functionsReached:
    - IS_STR_DATA_BLOB
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcSchemaBytesFromTypeBytes(int32_t type, int32_t varTypeBytes,
      bool isStmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 514
    functionName: taosSetSkipKeyCheckMode
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void taosSetSkipKeyCheckMode(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pCfg
    - ','
    - pItem
    - ','
    - pName
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: TAOS_CHECK_GET_CFG_ITEM
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAOS_CHECK_GET_CFG_ITEM(pCfg, pItem, pName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:524,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tglobal.c:525,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:527,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:529,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:533,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:534,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:535,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:536,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:536,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:537,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 540
    functionName: taosSetTfsCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - uError
    - taosMulMkDir
    - memset
    - tstrncpy
    - taosArrayGetSize
    - TAOS_RETURN
    - tstrerror
    - TAOS_CHECK_GET_CFG_ITEM
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetTfsCfg(SConfig *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCfg
    - value
    - pTfs
    argTypes:
    - SConfig*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 546
    functionName: cfgUpdateTfsItemDisable
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t cfgUpdateTfsItemDisable(SConfig *pCfg, const char *value, void
      *pTfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfgUpdateTfsItemDisable
      Src: /src/tdengine/source/common/src/tglobal.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pCfg
    - value
    - pTfs
    argTypes:
    - SConfig*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: taosUpdateTfsItemDisable
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgUpdateTfsItemDisable
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosUpdateTfsItemDisable(SConfig *pCfg, const char *value,
      void *pTfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 555
    functionName: taosGetCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct SConfig
    signature: struct SConfig *taosGetCfg()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:563,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/common/src/tglobal.c:563,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:564,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/common/src/tglobal.c:573,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:575,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:581,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:588,1
    - Dst: cfgGetApollUrl
      Src: /src/tdengine/source/common/src/tglobal.c:592,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:595,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:596,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:596,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:597,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:600,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:601,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:601,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:602,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:605,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:606,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:606,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:607,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:610,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:611,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:611,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:612,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:615,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:616,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:616,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:617,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:620,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 5
    argNames:
    - pCfg
    - envCmd
    - inputCfgDir
    - envFile
    - apolloUrl
    argTypes:
    - SConfig*
    - char**
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 621
    functionName: taosLoadCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_RETURN
    - cfgGetApollUrl
    - printf
    - snprintf
    - tstrncpy
    - cfgLoad
    - TAOS_RETURN
    - taosIsDir
    - tstrerror
    - strlen
    - taosExpandDir
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosLoadCfg(SConfig *pCfg, const char **envCmd, const char
      *inputCfgDir, const char *envFile,\n                           char *apolloUrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:624,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:624,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:625,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:625,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:626,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:626,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:627,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:627,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:629,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:631,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:631,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:632,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:632,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:634,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:635,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:636,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:638,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:638,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:640,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:640,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:642,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:642,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:644,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:646,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:646,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:648,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:648,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:650,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 653
    functionName: taosAddClientLogCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgAddFloat
    - TAOS_CHECK_RETURN
    - cfgAddBool
    - cfgAddInt32
    - TAOS_RETURN
    - cfgAddDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAddClientLogCfg(SConfig *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:656,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:656,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:658,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:658,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:660,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:660,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:662,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:664,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:666,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:668,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:668,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:670,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:670,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:672,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:674,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:674,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:676,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:676,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:678,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:678,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:680,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:680,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:682,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:682,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:684,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:684,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:686,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:686,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:688,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:688,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:690,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:690,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:692,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:692,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:694,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:694,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:696,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:696,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 699
    functionName: taosAddServerLogCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    - cfgAddInt32
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAddServerLogCfg(SConfig *pCfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetFqdnWithTimeCost
      Src: /src/tdengine/source/common/src/tglobal.c:706,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:707,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:710,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:713,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:714,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:715,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:716,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:717,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:718,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:719,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:719,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:721,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:721,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:723,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:724,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:725,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:725,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:727,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:727,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:729,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:729,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:731,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:733,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:733,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:735,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:735,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:737,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:737,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:739,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:741,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:741,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:743,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:743,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:745,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:745,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:747,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:747,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:749,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:749,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:751,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:751,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:753,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:753,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:755,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:755,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:757,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:757,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:760,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:760,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:762,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:762,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:764,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:764,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:766,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:768,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:768,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:770,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:770,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:772,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:772,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:774,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:774,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:776,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:776,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:778,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:778,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:780,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:780,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:782,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:782,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:784,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:784,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:787,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:788,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:788,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:791,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:792,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:794,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:795,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:795,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:798,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:799,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:799,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:801,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:802,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:802,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:805,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:807,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:807,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:809,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:809,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:811,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:813,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:813,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:815,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:815,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:817,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:817,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:820,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:820,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:823,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:823,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:826,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:826,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:828,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:828,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:830,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:830,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:833,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:833,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:836,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:836,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:839,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:839,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:842,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:842,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:845,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:845,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:848,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:848,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:851,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:851,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:853,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:853,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:855,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:855,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:857,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:857,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:859,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:859,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:861,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:861,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:863,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:863,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:865,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:865,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 82
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 868
    functionName: taosAddClientCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosGetFqdnWithTimeCost
    - cfgAddFloat
    - TRANGE
    - TAOS_CHECK_RETURN
    - cfgAddBool
    - TMAX
    - cfgAddInt64
    - printf
    - tstrncpy
    - cfgAddString
    - cfgAddInt32
    - TAOS_RETURN
    - cfgAddDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAddClientCfg(SConfig *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSysNameInfo
      Src: /src/tdengine/source/common/src/tglobal.c:871,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:873,1
    - Dst: cfgAddTimezone
      Src: /src/tdengine/source/common/src/tglobal.c:873,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:874,1
    - Dst: cfgAddLocale
      Src: /src/tdengine/source/common/src/tglobal.c:874,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:875,1
    - Dst: cfgAddCharset
      Src: /src/tdengine/source/common/src/tglobal.c:875,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:876,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:876,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:878,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:878,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:881,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:882,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:883,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:883,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:885,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:885,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:887,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:887,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:889,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:889,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:891,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:891,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:895,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:895,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:898,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:898,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:901,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:903,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:903,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:905,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:905,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:907,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:907,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:909,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:909,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:911,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:911,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:913,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:916,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:917,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:918,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:918,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:920,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:921,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:922,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:923,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:925,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:926,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:928,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:928,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:930,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:930,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:932,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:932,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:934,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:936,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:936,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:939,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:940,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:942,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:942,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 945
    functionName: taosAddSystemCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgAddTimezone
    - cfgAddFloat
    - TAOS_CHECK_RETURN
    - cfgAddBool
    - taosGetSysNameInfo
    - cfgAddCharset
    - cfgAddInt64
    - cfgAddString
    - cfgAddInt32
    - TAOS_RETURN
    - cfgAddLocale
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAddSystemCfg(SConfig *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:949,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:952,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:955,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:958,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:961,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:964,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:967,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:970,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:973,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:976,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:979,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:982,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:985,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:989,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:993,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:999,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:999,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1000,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:1001,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:1003,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1003,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:1004,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1005,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:1005,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1006,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1006,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1007,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1007,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1008,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1008,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1010,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1010,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1011,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1011,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1012,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1012,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1013,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1013,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1014,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: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:1016,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1016,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1017,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1017,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1019,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1019,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:1020,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1021,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:1022,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1022,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:1023,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1024,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1024,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1025,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1025,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1026,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1026,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1028,1
    - Dst: cfgAddInt32Ex
      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: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1029,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1031,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1031,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1032,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1032,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1033,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1033,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1035,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1035,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1036,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1036,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1039,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1039,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1040,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1040,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1041,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1041,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1042,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1042,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1043,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1043,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1044,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:1044,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1045,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1045,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1046,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1046,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1047,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1047,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1048,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1048,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1049,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1049,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1050,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1050,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1051,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1051,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1052,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1052,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1053,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:1053,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1054,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:1054,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1055,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1055,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1056,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1056,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1057,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1057,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1059,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1059,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1060,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:1060,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1062,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1062,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1063,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1063,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1064,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1064,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1065,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1065,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1066,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1066,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1067,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1067,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1069,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:1069,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1070,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:1070,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1071,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1071,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1073,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1073,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1074,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1074,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1076,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1076,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1077,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1077,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1078,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1078,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1079,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1079,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1081,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1081,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1082,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1082,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1083,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1083,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1084,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1084,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1085,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1085,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1086,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1086,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1088,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1088,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1089,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1089,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1090,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1090,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1091,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1091,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1092,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1092,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1093,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1093,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1094,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1094,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1095,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1095,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1096,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1096,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1097,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1097,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1098,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1098,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1099,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1099,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1100,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1100,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1101,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1101,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1103,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1103,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1104,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1104,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1105,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1105,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1107,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1107,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1109,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1109,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1110,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1110,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1111,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1111,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1112,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1112,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1113,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1113,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1115,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1115,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1116,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1116,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1117,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1117,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1118,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1118,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1119,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1119,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1120,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1120,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1121,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1121,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1122,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1122,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1123,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1123,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1124,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1124,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1125,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1125,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1127,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:1127,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1128,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1128,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1130,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1130,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1131,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1131,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1132,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1132,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1133,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:1133,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1134,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:1134,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1135,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1135,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1136,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1136,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1137,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1137,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1138,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1138,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1139,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1139,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1140,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1140,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1141,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1141,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1142,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1142,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1143,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1143,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1144,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1144,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1145,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1145,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1148,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1148,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1149,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1149,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1150,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1150,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1151,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:1151,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1152,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1152,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1153,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1153,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1155,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1155,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1156,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1156,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1157,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1157,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1159,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1159,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1160,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1160,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1161,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1161,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1162,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1162,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1163,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1163,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1164,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1164,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1165,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1165,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1166,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1166,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1167,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1167,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1168,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1168,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1169,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1169,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1170,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1170,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 181
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 1176
    functionName: taosAddServerCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TRANGE
    - cfgAddFloat
    - TAOS_CHECK_RETURN
    - cfgAddBool
    - cfgAddInt32Ex
    - TMAX
    - cfgAddInt64
    - cfgAddString
    - cfgAddInt32
    - TAOS_RETURN
    - cfgAddDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAddServerCfg(SConfig *pCfg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1184,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1186,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1192,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1195,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1200,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1202,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1207,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1209,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1214,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1216,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1221,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1223,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1228,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1230,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1235,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1238,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1243,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1249,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1252,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1257,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1260,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1265,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1268,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1273,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1276,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1281,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1284,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1289,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1291,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1297,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1300,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1305,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1308,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1313,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1319,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 119
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1320
    functionName: taosUpdateServerCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TMAX
    - TRANGE
    - TAOS_RETURN
    - cfgGetItem
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosUpdateServerCfg(SConfig *pCfg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1326,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1326,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1326,1
    - Dst: strrchr
      Src: /src/tdengine/source/common/src/tglobal.c:1327,1
    - Dst: strrchr
      Src: /src/tdengine/source/common/src/tglobal.c:1327,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/common/src/tglobal.c:1328,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1330,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1331,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1333,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1334,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1339,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1340,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1342,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1342,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1345,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1346,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1346,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1350
    functionName: taosSetLogOutput
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - POINTER_DISTANCE
    - TAOS_CHECK_RETURN
    - strcasecmp
    - tstrncpy
    - TAOS_RETURN
    - strrchr
    - cfgSetItem
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetLogOutput(SConfig *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1355,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1356,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1356,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1357,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1358,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/common/src/tglobal.c:1358,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1359,1
    - Dst: taosSetLogOutput
      Src: /src/tdengine/source/common/src/tglobal.c:1359,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1361,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1364,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1367,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1370,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1373,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1376,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1379,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1382,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1385,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1388,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1391,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1352
    functionDepth: 2
    functionLinenumber: 1352
    functionLinenumberEnd: 1395
    functionName: taosSetClientLogCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_RETURN
    - taosSetLogOutput
    - taosCheckCfgStrValueLen
    - tstrncpy
    - TAOS_RETURN
    - TAOS_CHECK_GET_CFG_ITEM
    - taosExpandDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetClientLogCfg(SConfig *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1399,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1402,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1405,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1408,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1411,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1414,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1417,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1420,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1423,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1426,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1429,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:1435,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1438,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1441,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:1447,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1450,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1452,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1455,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1459
    functionName: taosSetServerLogCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetServerLogCfg(SConfig *pCfg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1462,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1464,1
    - Dst: strsep
      Src: /src/tdengine/source/common/src/tglobal.c:1471,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tglobal.c:1472,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tglobal.c:1473,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1475,1
    - Dst: strtrim
      Src: /src/tdengine/source/common/src/tglobal.c:1477,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1478,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1483,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1488,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1493,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1498,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tglobal.c:1503,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:1504,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1505,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tglobal.c:1509,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1510,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - pScopeStr
    - pScope
    argTypes:
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1511
    functionName: taosSetSlowLogScope
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uError
    - taosMemoryFreeClear
    - strcasecmp
    - strsep
    - TAOS_RETURN
    - strtrim
    - strlen
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetSlowLogScope(char *pScopeStr, int32_t *pScope)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1517,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1518,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1518,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1519,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1521,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:1523,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:1526,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1528,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1530,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1533,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1535,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:1535,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1535,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:1536,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1537,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1537,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1539,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1541,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:1541,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1541,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:1542,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1543,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1543,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1545,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1546,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1546,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1547,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1548,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/common/src/tglobal.c:1548,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1550,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:1552,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:1553,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:1554,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:1554,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1555,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1558,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1559,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1559,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1560,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1562,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1563,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1563,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1564,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1566,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1567,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1567,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1568,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1570,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1571,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1571,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1572,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1574,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1577,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1580,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1583,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1586,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1589,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1592,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1595,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1598,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:1604,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1605,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1605,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1606,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1608,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:1613,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1615,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:1619,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1620,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1620,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1621,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1622,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1624,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:1629,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:1635,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:1641,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1644,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:1650,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1653,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1656,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:1662,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1665,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1668,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1671,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1674,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1677,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1680,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1683,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1686,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1689,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1692,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1695,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1698,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1701,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1704,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1707,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1708,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1708,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1709,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1711,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1712,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1712,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1713,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1715,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1716,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1716,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1717,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:1722,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1724,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1727,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 154
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1731
    functionName: taosSetClientCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - strlen
    - TAOS_SYSTEM_ERROR
    - uError
    - TAOS_CHECK_RETURN
    - taosCheckCfgStrValueLen
    - taosMulMkDir
    - snprintf
    - tstrncpy
    - taosGetFqdnPortFromEp
    - cfgSetItem
    - tstrerror
    - TAOS_RETURN
    - TAOS_CHECK_GET_CFG_ITEM
    - taosExpandDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetClientCfg(SConfig *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1736,1
    - Dst: taosSetCoreDump
      Src: /src/tdengine/source/common/src/tglobal.c:1738,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1744
    functionName: taosSetSystemCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_GET_CFG_ITEM
    - taosSetCoreDump
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetSystemCfg(SConfig *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1750,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1753,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1756,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:1763,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:1769,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:1775,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1778,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:1784,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1787,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1788,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1788,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1789,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1791,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1792,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1794,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1795,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1795,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1796,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1798,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1801,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1804,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1807,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1810,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1813,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1816,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1819,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1822,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1825,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1828,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1831,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:1838,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1841,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1844,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1845,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1845,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1846,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1848,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1849,1
    - Dst: taosCheckClsRefreshIntervalValue
      Src: /src/tdengine/source/common/src/tglobal.c:1849,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1852,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1853,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1853,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1854,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1856,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1857,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1857,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1858,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1860,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1861,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1861,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1862,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1864,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1865,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1865,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1866,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1868,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1869,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1869,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1870,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1872,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1873,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1873,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1874,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1876,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1877,1
    - Dst: taosHandleClsEnabledChange
      Src: /src/tdengine/source/common/src/tglobal.c:1877,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1880,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1883,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:1889,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1892,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:1898,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1899,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1900,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1902,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1905,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1908,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1911,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:1915,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1918,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1919,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1919,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1920,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:1925,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1929,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1930,1
    - Dst: taosSetSlowLogScope
      Src: /src/tdengine/source/common/src/tglobal.c:1930,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1933,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1936,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1939,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1942,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1943,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1943,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1944,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:1949,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1952,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:1958,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:1965,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1968,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1971,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1974,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1977,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1980,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1983,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1986,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1989,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1993,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1996,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1999,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2002,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2003,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2003,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2004,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2007,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2010,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2013,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2016,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2017,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2017,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2018,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2020,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2021,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2021,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2022,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2024,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2027,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2030,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2033,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2036,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2039,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2042,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2045,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2048,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2051,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2054,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2057,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2060,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2063,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2066,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2069,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2072,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2075,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2078,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2081,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2084,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2087,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2090,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2093,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2096,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2099,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2102,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2105,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2108,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2111,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2114,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2117,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2120,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2123,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2126,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2129,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2132,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2135,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2138,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2141,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2144,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2147,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2150,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2153,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2156,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2157,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2157,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2158,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2160,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2161,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2161,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2162,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2164,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2167,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2170,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2173,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2176,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2179,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2180,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2180,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2181,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2183,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2186,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2190,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2193,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2196,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2199,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2202,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2205,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2208,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2211,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2215,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2218,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2219,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2219,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2220,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2222,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2225,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2228,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2232,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2235,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2238,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2241,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2247,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2250,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2253,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2256,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2259,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2260,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2260,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2261,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2263,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2264,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2264,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2265,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2267,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2268,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2268,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2269,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2271,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2272,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2272,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2273,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2275,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2276,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2276,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2277,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2279,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2282,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2284,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2289,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 366
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 1747
    functionDepth: 2
    functionLinenumber: 1747
    functionLinenumberEnd: 2293
    functionName: taosSetServerCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_RETURN
    - taosCheckCfgStrValueLen
    - cfgGetItem
    - taosCheckClsRefreshIntervalValue
    - tstrncpy
    - TAOS_RETURN
    - taosSetSlowLogScope
    - taosHandleClsEnabledChange
    - TAOS_CHECK_GET_CFG_ITEM
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetServerCfg(SConfig *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2296
    functionDepth: 0
    functionLinenumber: 2296
    functionLinenumberEnd: 2296
    functionName: taosSetReleaseCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetReleaseCfg(SConfig *pCfg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/common/src/tglobal.c:2312,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2315,1
    - Dst: osDefaultInit
      Src: /src/tdengine/source/common/src/tglobal.c:2315,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2318,1
    - Dst: cfgInit
      Src: /src/tdengine/source/common/src/tglobal.c:2318,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2326,1
    - Dst: taosAddClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2326,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2328,1
    - Dst: taosAddServerLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2328,1
    - Dst: taosLoadCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2331,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2332,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2332,1
    - Dst: cfgLoadFromArray
      Src: /src/tdengine/source/common/src/tglobal.c:2336,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2337,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2341,1
    - Dst: taosSetClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2341,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2343,1
    - Dst: taosSetServerLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2343,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2347,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2348,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2348,1
    - Dst: taosMulModeMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:2350,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2351,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2351,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/common/src/tglobal.c:2355,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2356,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2356,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2362,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2362,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2365,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2366,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 8
    argNames:
    - logname
    - logFileNum
    - cfgDir
    - envCmd
    - envFile
    - apolloUrl
    - pArgs
    - tsc
    argTypes:
    - char*
    - int32_t
    - char*
    - char**
    - char*
    - char*
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2305
    functionDepth: 3
    functionLinenumber: 2305
    functionLinenumberEnd: 2367
    functionName: taosCreateLog
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 3
    functionsReached:
    - osDefaultInit
    - taosInitLog
    - atomic_val_compare_exchange_8
    - TAOS_CHECK_GOTO
    - taosSetServerLogCfg
    - cfgLoadFromArray
    - taosAddServerLogCfg
    - taosSetClientLogCfg
    - taosSetAllDebugFlag
    - taosLoadCfg
    - TAOS_CHECK_GET_CFG_ITEM
    - printf
    - taosMulModeMkDir
    - TAOS_RETURN
    - taosAddClientLogCfg
    - tstrerror
    - cfgInit
    - cfgCleanup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosCreateLog(const char *logname, int32_t logFileNum, const
      char *cfgDir, const char **envCmd,\n                      const char *envFile,
      char *apolloUrl, SArray *pArgs, bool tsc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: osDefaultInit
      Src: /src/tdengine/source/common/src/tglobal.c:2373,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2375,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2375,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2379,1
    - Dst: cfgInit
      Src: /src/tdengine/source/common/src/tglobal.c:2379,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:2380,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:2381,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:2382,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:2382,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:2384,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:2384,1
    - Dst: taosLoadCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2386,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2387,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2387,1
    - Dst: cfgLoadFromArray
      Src: /src/tdengine/source/common/src/tglobal.c:2391,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2392,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2392,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2396,1
    - Dst: taosSetTfsCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2396,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2399,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2407,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - cfgDir
    - envCmd
    - envFile
    - apolloUrl
    - pArgs
    argTypes:
    - char*
    - char**
    - char*
    - char*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2369
    functionDepth: 2
    functionLinenumber: 2369
    functionLinenumberEnd: 2409
    functionName: taosReadDataFolder
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - osDefaultInit
    - TAOS_CHECK_RETURN
    - TAOS_CHECK_GOTO
    - cfgLoadFromArray
    - cfgGetItem
    - taosLoadCfg
    - printf
    - cfgAddInt32
    - taosSetTfsCfg
    - tstrerror
    - TAOS_RETURN
    - cfgInit
    - TAOS_CHECK_EXIT
    - cfgAddDir
    - cfgCleanup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosReadDataFolder(const char *cfgDir, const char **envCmd,
      const char *envFile, char *apolloUrl,\n                           SArray *pArgs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2413,1
    - Dst: taosGetIpFromFqdn
      Src: /src/tdengine/source/common/src/tglobal.c:2414,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2416,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2416,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2417,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2421,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2422,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2426,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2427,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2411
    functionDepth: 1
    functionLinenumber: 2411
    functionLinenumberEnd: 2431
    functionName: taosCheckGlobalCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uInfo
    - uError
    - TAOS_RETURN
    - tstrerror
    - taosGetIpFromFqdn
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCheckGlobalCfg()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2435,1
    - Dst: cfgInit
      Src: /src/tdengine/source/common/src/tglobal.c:2435,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2433
    functionDepth: 1
    functionLinenumber: 2433
    functionLinenumberEnd: 2438
    functionName: cfgInitWrapper
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - cfgInit
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t cfgInitWrapper(SConfig **pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2441
    functionName: taosIsClsDerivedRefreshInterval
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool taosIsClsDerivedRefreshInterval(int32_t interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosIsClsDerivedRefreshInterval
      Src: /src/tdengine/source/common/src/tglobal.c:2446,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2447,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2450,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - interval
    - stype
    argTypes:
    - int32_t
    - ECfgSrcType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2443
    functionDepth: 1
    functionLinenumber: 2443
    functionLinenumberEnd: 2452
    functionName: taosCheckClsRefreshIntervalValue
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 1
    functionsReached:
    - taosIsClsDerivedRefreshInterval
    - uError
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCheckClsRefreshIntervalValue(int32_t interval, ECfgSrcType
      stype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosIsClsDerivedRefreshInterval
      Src: /src/tdengine/source/common/src/tglobal.c:2455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2454
    functionDepth: 1
    functionLinenumber: 2454
    functionLinenumberEnd: 2458
    functionName: taosBackupClsRefreshInterval
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosIsClsDerivedRefreshInterval
    linkageType: ''
    returnType: void
    signature: void taosBackupClsRefreshInterval(int32_t interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - interval
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2460
    functionDepth: 1
    functionLinenumber: 2460
    functionLinenumberEnd: 2463
    functionName: taosSetClsDerivedRefreshInterval
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetClsDerivedRefreshInterval(int32_t interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2470,1
    - Dst: taosBackupClsRefreshInterval
      Src: /src/tdengine/source/common/src/tglobal.c:2473,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2474,1
    - Dst: taosSetClsDerivedRefreshInterval
      Src: /src/tdengine/source/common/src/tglobal.c:2474,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2465
    functionDepth: 2
    functionLinenumber: 2465
    functionLinenumberEnd: 2476
    functionName: taosHandleClsEnabledChange
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 1
    functionsReached:
    - taosSetClsDerivedRefreshInterval
    - taosBackupClsRefreshInterval
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosHandleClsEnabledChange(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2482,1
    - Dst: taosSetClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2482,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2483,1
    - Dst: taosUpdateServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2483,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2484,1
    - Dst: taosSetServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2484,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2485,1
    - Dst: taosSetReleaseCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2485,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2486,1
    - Dst: taosSetTfsCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2486,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2487,1
    - Dst: taosSetSystemCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2487,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2488,1
    - Dst: taosSetFileHandlesLimit
      Src: /src/tdengine/source/common/src/tglobal.c:2488,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2479
    functionDepth: 3
    functionLinenumber: 2479
    functionLinenumberEnd: 2491
    functionName: setAllConfigs
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosUpdateServerCfg
    - TAOS_CHECK_GOTO
    - taosSetClientCfg
    - taosSetReleaseCfg
    - taosSetFileHandlesLimit
    - taosSetServerCfg
    - taosSetTfsCfg
    - TAOS_RETURN
    - taosSetSystemCfg
    linkageType: ''
    returnType: int32_t
    signature: int32_t setAllConfigs(SConfig *pCfg)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/common/src/tglobal.c:2496,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2501,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:2509,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2510,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:2516,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2517,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2521,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/common/src/tglobal.c:2525,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/common/src/tglobal.c:2529,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2535,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2541,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2542,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tglobal.c:2549,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2549,1
    - Dst: taosGetFileDiskID
      Src: /src/tdengine/source/common/src/tglobal.c:2550,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2551,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2551,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2555,1
    - Dst: cJSON_IsTrue
      Src: /src/tdengine/source/common/src/tglobal.c:2568,1
    - Dst: atoll
      Src: /src/tdengine/source/common/src/tglobal.c:2574,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2574,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/common/src/tglobal.c:2578,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2578,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:2585,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tglobal.c:2586,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2597,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2597,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:2599,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 96
    argCount: 3
    argNames:
    - array
    - buf
    - isGlobal
    argTypes:
    - SArray*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2493
    functionDepth: 1
    functionLinenumber: 2493
    functionLinenumberEnd: 2601
    functionName: cfgDeserialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uError
    - taosArrayGet
    - cJSON_GetArraySize
    - cJSON_GetArrayItem
    - cJSON_GetStringValue
    - cJSON_Delete
    - taosGetFileDiskID
    - strcasecmp
    - cJSON_IsTrue
    - atoll
    - taosStr2Float
    - cJSON_GetObjectItem
    - taosArrayGetSize
    - taosMemoryFree
    - tstrerror
    - taosStr2Int64
    - cJSON_Parse
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t cfgDeserialize(SArray *array, char *buf, bool isGlobal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/common/src/tglobal.c:2605,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2609,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:2614,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:2616,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2617,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:2623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - array
    - buf
    argTypes:
    - SArray*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2603
    functionDepth: 1
    functionLinenumber: 2603
    functionLinenumberEnd: 2626
    functionName: stypeConfigDeserialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - cJSON_GetObjectItem
    - taosArrayGetSize
    - cJSON_Delete
    - cJSON_Parse
    linkageType: ''
    returnType: int32_t
    signature: int32_t stypeConfigDeserialize(SArray *array, char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2635,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2641,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2642,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tglobal.c:2643,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2644,1
    - Dst: taosReadCfgFile
      Src: /src/tdengine/source/common/src/tglobal.c:2649,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2651,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2651,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2656,1
    - Dst: stypeConfigDeserialize
      Src: /src/tdengine/source/common/src/tglobal.c:2661,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2663,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2663,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2669,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2669,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:2671,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2672,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2628
    functionDepth: 2
    functionLinenumber: 2628
    functionLinenumberEnd: 2673
    functionName: readStypeConfigFile
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uInfo
    - uError
    - taosGetLocalCfg
    - snprintf
    - taosCheckExistFile
    - stypeConfigDeserialize
    - taosMemoryFree
    - tstrerror
    - TAOS_RETURN
    - taosReadCfgFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t readStypeConfigFile(const char *path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetGlobalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2683,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2684,1
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2686,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2687,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2689,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tglobal.c:2691,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2692,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2693,1
    - Dst: taosReadCfgFile
      Src: /src/tdengine/source/common/src/tglobal.c:2697,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2699,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2699,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2704,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2705,1
    - Dst: cfgDeserialize
      Src: /src/tdengine/source/common/src/tglobal.c:2709,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2711,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2711,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2717,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2717,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:2719,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2720,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - path
    - isGlobal
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2675
    functionDepth: 2
    functionLinenumber: 2675
    functionLinenumberEnd: 2721
    functionName: readCfgFile
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uInfo
    - taosGetGlobalCfg
    - uError
    - snprintf
    - taosGetLocalCfg
    - taosCheckExistFile
    - TAOS_RETURN
    - cfgDeserialize
    - tstrerror
    - taosMemoryFree
    - taosReadCfgFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t readCfgFile(const char *path, bool isGlobal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: readCfgFile
      Src: /src/tdengine/source/common/src/tglobal.c:2725,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2727,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2727,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2728,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2730,1
    - Dst: readCfgFile
      Src: /src/tdengine/source/common/src/tglobal.c:2731,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2733,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2733,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2734,1
    - Dst: readStypeConfigFile
      Src: /src/tdengine/source/common/src/tglobal.c:2736,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2738,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2738,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2739,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2723
    functionDepth: 3
    functionLinenumber: 2723
    functionLinenumberEnd: 2742
    functionName: tryLoadCfgFromDataDir
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 1
    functionsReached:
    - uError
    - uInfo
    - TAOS_RETURN
    - tstrerror
    - readStypeConfigFile
    - readCfgFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t tryLoadCfgFromDataDir(SConfig *pCfg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2745,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2750,1
    - Dst: cfgInitWrapper
      Src: /src/tdengine/source/common/src/tglobal.c:2750,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2753,1
    - Dst: taosAddClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2753,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2754,1
    - Dst: taosAddClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2754,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2756,1
    - Dst: taosAddClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2756,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2757,1
    - Dst: taosAddServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2757,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2758,1
    - Dst: taosAddClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2758,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2759,1
    - Dst: taosAddServerLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2759,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2762,1
    - Dst: taosAddSystemCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2762,1
    - Dst: taosLoadCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2764,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2765,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2765,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2766,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2768,1
    - Dst: cfgLoadFromArray
      Src: /src/tdengine/source/common/src/tglobal.c:2771,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2772,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2772,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2773,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2775,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2778,1
    - Dst: taosSetTfsCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2778,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2783,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2785,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2785,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 6
    argNames:
    - cfgDir
    - envCmd
    - envFile
    - apolloUrl
    - pArgs
    - tsc
    argTypes:
    - char*
    - char**
    - char*
    - char*
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2743
    functionDepth: 2
    functionLinenumber: 2743
    functionLinenumberEnd: 2788
    functionName: taosPreLoadCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 1
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosAddClientCfg
    - cfgLoadFromArray
    - taosAddServerLogCfg
    - taosAddSystemCfg
    - taosAddServerCfg
    - taosLoadCfg
    - printf
    - TAOS_RETURN
    - taosSetTfsCfg
    - taosAddClientLogCfg
    - tstrerror
    - cfgCleanup
    - cfgInitWrapper
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosPreLoadCfg(const char *cfgDir, const char **envCmd, const
      char *envFile, char *apolloUrl, SArray *pArgs,\n                       bool
      tsc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2795,1
    - Dst: taosSetTfsCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2795,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2799,1
    - Dst: taosSetClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2799,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2800,1
    - Dst: taosSetClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2800,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2802,1
    - Dst: taosSetClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2802,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2803,1
    - Dst: taosSetClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2803,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2804,1
    - Dst: taosUpdateServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2804,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2805,1
    - Dst: taosSetServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2805,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2806,1
    - Dst: taosSetReleaseCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2806,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2809,1
    - Dst: taosSetSystemCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2809,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2810,1
    - Dst: taosSetFileHandlesLimit
      Src: /src/tdengine/source/common/src/tglobal.c:2810,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2812,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2814,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2815,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2817,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2817,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2819,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2820,1
    - Dst: taosCheckGlobalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2820,1
    - Dst: initTimezoneInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2822,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2828,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2828,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 6
    argNames:
    - cfgDir
    - envCmd
    - envFile
    - apolloUrl
    - pArgs
    - tsc
    argTypes:
    - char*
    - char**
    - char*
    - char*
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2790
    functionDepth: 3
    functionLinenumber: 2790
    functionLinenumberEnd: 2831
    functionName: taosApplyCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 1
    functionsReached:
    - uError
    - taosUpdateServerCfg
    - TAOS_CHECK_GOTO
    - taosSetClientCfg
    - taosSetReleaseCfg
    - taosSetClientLogCfg
    - taosSetAllDebugFlag
    - cfgGetItem
    - taosSetFileHandlesLimit
    - taosSetServerCfg
    - printf
    - taosCheckGlobalCfg
    - taosSetTfsCfg
    - TAOS_RETURN
    - initTimezoneInfo
    - tstrerror
    - taosSetSystemCfg
    - cfgDumpCfg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosApplyCfg(const char *cfgDir, const char **envCmd, const
      char *envFile, char *apolloUrl, SArray *pArgs,\n                     bool tsc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2838,1
    - Dst: taosPreLoadCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2838,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2840,1
    - Dst: tryLoadCfgFromDataDir
      Src: /src/tdengine/source/common/src/tglobal.c:2840,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2842,1
    - Dst: taosApplyCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2842,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2845,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2847,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2847,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - cfgDir
    - envCmd
    - envFile
    - apolloUrl
    - pArgs
    - tsc
    argTypes:
    - char*
    - char**
    - char*
    - char*
    - SArray*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2833
    functionDepth: 4
    functionLinenumber: 2833
    functionLinenumberEnd: 2851
    functionName: taosInitCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 3
    functionsReached:
    - TAOS_CHECK_GOTO
    - tryLoadCfgFromDataDir
    - taosPreLoadCfg
    - printf
    - taosApplyCfg
    - TAOS_RETURN
    - tstrerror
    - cfgCleanup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosInitCfg(const char *cfgDir, const char **envCmd, const
      char *envFile, char *apolloUrl, SArray *pArgs,\n                    bool tsc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2855,1
    - Dst: cleanupTimezoneInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2853
    functionDepth: 1
    functionLinenumber: 2853
    functionLinenumberEnd: 2859
    functionName: taosCleanupCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 6
    functionsReached:
    - cleanupTimezoneInfo
    - cfgCleanup
    linkageType: ''
    returnType: void
    signature: void taosCleanupCfg()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2871,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2877,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2883,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2887,1
    - Dst: taosSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2887,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2893,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2900,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2908,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2909,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2909,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2910,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2912,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2916,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2926,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - pOptions
    - optionSize
    - pItem
    - isDebugflag
    argTypes:
    - OptionNameAndVar*
    - int32_t
    - SConfigItem*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2866
    functionDepth: 1
    functionLinenumber: 2866
    functionLinenumberEnd: 2927
    functionName: taosCfgSetOption
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uInfo
    - uError
    - TAOS_CHECK_RETURN
    - taosCheckCfgStrValueLen
    - strcasecmp
    - tstrncpy
    - taosSetDebugFlag
    - TAOS_RETURN
    - taosStrcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCfgSetOption(OptionNameAndVar *pOptions, int32_t optionSize,
      SConfigItem *pItem, bool isDebugflag)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2935,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2936,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2939,1
    - Dst: taosResetLog
      Src: /src/tdengine/source/common/src/tglobal.c:2941,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2942,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2943,1
    - Dst: cfgLock
      Src: /src/tdengine/source/common/src/tglobal.c:2946,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2948,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2950,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2955,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2956,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2960,1
    - Dst: taosSetCoreDump
      Src: /src/tdengine/source/common/src/tglobal.c:2962,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2963,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2967,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2969,1
    - Dst: taosSetSlowLogScope
      Src: /src/tdengine/source/common/src/tglobal.c:2969,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2975,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2976,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2980,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2984,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2985,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2986,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2991,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3002,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3006,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3010,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3014,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3015,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:3015,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3016,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3019,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3020,1
    - Dst: taosHandleClsEnabledChange
      Src: /src/tdengine/source/common/src/tglobal.c:3020,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3023,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3024,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:3024,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3025,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3028,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3029,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:3029,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3030,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3033,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3034,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:3034,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3035,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3038,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3039,1
    - Dst: taosCheckClsRefreshIntervalValue
      Src: /src/tdengine/source/common/src/tglobal.c:3039,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3045,1
    - Dst: taosMemoryPoolCfgUpdateReservedSize
      Src: /src/tdengine/source/common/src/tglobal.c:3047,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3051,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/common/src/tglobal.c:3053,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:3184,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:3184,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:3185,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:3185,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/common/src/tglobal.c:3190,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3191,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 130
    argCount: 2
    argNames:
    - pCfg
    - name
    argTypes:
    - SConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 2931
    functionDepth: 3
    functionLinenumber: 2931
    functionLinenumberEnd: 3192
    functionName: taosCfgDynamicOptionsForServer
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uInfo
    - TAOS_CHECK_GOTO
    - cfgLock
    - strcasecmp
    - taosMemoryPoolCfgUpdateReservedSize
    - strncasecmp
    - cfgUnLock
    - cfgGetItem
    - taosResetLog
    - taosSetSlowLogScope
    - taosCfgSetOption
    - tListLen
    - taosSetAllDebugFlag
    - taosCheckClsRefreshIntervalValue
    - tstrncpy
    - atomic_store_64
    - taosHandleClsEnabledChange
    - cfgDumpCfg
    - uError
    - taosSetCoreDump
    - taosCheckCfgStrValueLen
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCfgDynamicOptionsForServer(SConfig *pCfg, const char *name)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3198,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3198,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3199,1
    - Dst: cfgLock
      Src: /src/tdengine/source/common/src/tglobal.c:3202,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3204,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3206,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3213,1
    - Dst: strntolower
      Src: /src/tdengine/source/common/src/tglobal.c:3215,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tglobal.c:3215,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3219,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3220,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3226,1
    - Dst: taosSetCoreDump
      Src: /src/tdengine/source/common/src/tglobal.c:3228,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3229,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3235,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3236,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3237,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3238,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3240,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3245,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3247,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3250,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3253,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:3254,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3254,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3256,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3258,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3258,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3259,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3261,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3262,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3263,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3264,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3266,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3271,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3273,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3276,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3279,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:3280,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3280,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3282,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3284,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3284,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3285,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3291,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3292,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3294,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3300,1
    - Dst: taosSetSystemLocale
      Src: /src/tdengine/source/common/src/tglobal.c:3300,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3301,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3307,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/common/src/tglobal.c:3308,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3309,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3309,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3311,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3313,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3315,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3317,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3319,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3321,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3327,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3329,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:3329,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3329,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3330,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3331,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3331,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3332,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3334,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3335,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:3335,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3336,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3337,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3339,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3340,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:3340,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3341,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3342,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3344,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3345,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:3345,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3346,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3347,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3349,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3350,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:3350,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3351,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3352,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3354,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3356,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3358,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3360,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3362,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3364,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3366,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3368,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3370,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3371,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:3371,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3372,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3373,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3375,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3376,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3377,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3378,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3380,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3385,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:3385,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3386,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3388,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3391,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3394,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:3395,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3395,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3397,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3399,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:3399,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3400,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3406,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3407,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:3407,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3408,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:3409,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3410,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/common/src/tglobal.c:3410,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:3411,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3412,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3413,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3413,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3421,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3423,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3425,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3427,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3429,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3431,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:3479,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:3479,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:3480,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:3480,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3486,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3486,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/common/src/tglobal.c:3489,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3490,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 233
    argCount: 2
    argNames:
    - pCfg
    - name
    argTypes:
    - SConfig*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3491
      start: 3194
    functionDepth: 2
    functionLinenumber: 3194
    functionLinenumberEnd: 3491
    functionName: taosCfgDynamicOptionsForClient
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uInfo
    - TAOS_CHECK_GOTO
    - cfgLock
    - TMIN
    - strcasecmp
    - snprintf
    - TAOS_SYSTEM_ERROR
    - cfgUnLock
    - cfgGetItem
    - atomic_load_32
    - taosMulMkDir
    - taosGetFqdnPortFromEp
    - strntolower
    - taosCfgSetOption
    - tListLen
    - taosSetAllDebugFlag
    - tstrncpy
    - atomic_store_32
    - cfgSetItem
    - taosSetSystemLocale
    - uError
    - taosSetCoreDump
    - taosCheckCfgStrValueLen
    - TAOS_RETURN
    - tstrerror
    - strlen
    - taosExpandDir
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCfgDynamicOptionsForClient(SConfig *pCfg, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCfgDynamicOptionsForServer
      Src: /src/tdengine/source/common/src/tglobal.c:3495,1
    - Dst: taosCfgDynamicOptionsForClient
      Src: /src/tdengine/source/common/src/tglobal.c:3497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pCfg
    - name
    - forServer
    argTypes:
    - SConfig*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3499
      start: 3493
    functionDepth: 4
    functionLinenumber: 3493
    functionLinenumberEnd: 3499
    functionName: taosCfgDynamicOptions
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 3
    functionsReached:
    - taosCfgDynamicOptionsForClient
    - taosCfgDynamicOptionsForServer
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCfgDynamicOptions(SConfig *pCfg, const char *name, bool
      forServer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:3503,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pFlagPtr
    - flagName
    - flagVal
    argTypes:
    - int32_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3509
      start: 3501
    functionDepth: 1
    functionLinenumber: 3501
    functionLinenumberEnd: 3509
    functionName: taosSetDebugFlag
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 1
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3515
      start: 3511
    functionDepth: 1
    functionLinenumber: 3511
    functionLinenumberEnd: 3515
    functionName: taosLogVarComp
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosStrcasecmp
    linkageType: ''
    returnType: int
    signature: int taosLogVarComp(void const *lp, void const *rp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySearch
      Src: /src/tdengine/source/common/src/tglobal.c:3518,1
    - Dst: taosSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3522,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3524,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3524,1
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tglobal.c:3526,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - pFlagPtr
    - name
    - flag
    - noNeedToSetVars
    argTypes:
    - int32_t*
    - char*
    - int32_t
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3530
      start: 3517
    functionDepth: 2
    functionLinenumber: 3517
    functionLinenumberEnd: 3530
    functionName: taosCheckAndSetDebugFlag
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uError
    - uTrace
    - taosArraySearch
    - taosSetDebugFlag
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void taosCheckAndSetDebugFlag(int32_t *pFlagPtr, char *name, int32_t
      flag, SArray *noNeedToSetVars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3532
      start: 3532
    functionDepth: 1
    functionLinenumber: 3532
    functionLinenumberEnd: 3532
    functionName: taosSetGlobalDebugFlag
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosSetAllDebugFlag
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetGlobalDebugFlag(int32_t flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3536,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3537,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:3541,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3546,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3547,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3548,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3549,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3551,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3552,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3554,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3555,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3556,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3557,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3558,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3559,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3560,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3561,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3562,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3563,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3564,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3565,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3566,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3567,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3568,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3569,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3570,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3571,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3572,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3573,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tglobal.c:3575,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3577,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - pCfg
    - flag
    argTypes:
    - SConfig*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3579
      start: 3535
    functionDepth: 3
    functionLinenumber: 3535
    functionLinenumberEnd: 3579
    functionName: taosSetAllDebugFlag
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 5
    functionsReached:
    - uInfo
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    - taosArrayClear
    - taosCheckAndSetDebugFlag
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosSetAllDebugFlag(SConfig *pCfg, int32_t flag)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3584,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3587,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3596,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3599,1
    - Dst: uWarn
      Src: /src/tdengine/source/common/src/tglobal.c:3601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - type
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3605
      start: 3581
    functionDepth: 1
    functionLinenumber: 3581
    functionLinenumberEnd: 3605
    functionName: taosGranted
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 1
    functionsReached:
    - uWarn
    - atomic_load_32
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosGranted(int8_t type)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3610,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3612,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3613,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3614,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3616,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3619,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3624,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3630,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3633,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3636,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3637,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3641,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3642,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3649,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tglobal.c:3654,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3657,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3657,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:3659,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 3
    argNames:
    - version
    - array
    - serialized
    argTypes:
    - int32_t
    - SArray*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3662
      start: 3607
    functionDepth: 1
    functionLinenumber: 3607
    functionLinenumberEnd: 3662
    functionName: globalConfigSerialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uError
    - taosArrayGet
    - cJSON_AddNumberToObject
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - tjsonToString
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosArrayGetSize
    - tstrerror
    - cJSON_Delete
    linkageType: ''
    returnType: int32_t
    signature: int32_t globalConfigSerialize(int32_t version, SArray *array, char
      **serialized)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3667,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3670,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3672,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3674,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3675,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3680,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3681,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3682,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/common/src/tglobal.c:3683,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3684,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3685,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3689,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3690,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/common/src/tglobal.c:3692,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3693,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3693,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3696,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3697,1
    - Dst: taosGetFileDiskID
      Src: /src/tdengine/source/common/src/tglobal.c:3699,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3700,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3704,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3705,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3706,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3707,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3716,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3719,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3722,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3723,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3727,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3728,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3735,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tglobal.c:3740,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3743,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3743,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:3745,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 102
    argCount: 2
    argNames:
    - array
    - serialized
    argTypes:
    - SArray*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3748
      start: 3664
    functionDepth: 1
    functionLinenumber: 3664
    functionLinenumberEnd: 3748
    functionName: localConfigSerialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uError
    - cJSON_AddItemToArray
    - taosArrayGet
    - cJSON_AddNumberToObject
    - cJSON_CreateArray
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - strcasecmp
    - taosGetFileDiskID
    - tjsonToString
    - cJSON_AddItemToObject
    - snprintf
    - cJSON_AddStringToObject
    - taosArrayGetSize
    - tstrerror
    - cJSON_Delete
    linkageType: ''
    returnType: int32_t
    signature: int32_t localConfigSerialize(SArray *array, char **serialized)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3753,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3756,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3758,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3760,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3761,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3766,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3767,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tglobal.c:3769,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3772,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3772,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:3774,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - array
    - serialized
    argTypes:
    - SArray*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3777
      start: 3750
    functionDepth: 1
    functionLinenumber: 3750
    functionLinenumberEnd: 3777
    functionName: stypeConfigSerialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uError
    - taosArrayGet
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - tjsonToString
    - cJSON_AddItemToObject
    - taosArrayGetSize
    - tstrerror
    - cJSON_Delete
    linkageType: ''
    returnType: int32_t
    signature: int32_t stypeConfigSerialize(SArray *array, char **serialized)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3785,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3786,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3788,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:3788,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3790,1
    - Dst: globalConfigSerialize
      Src: /src/tdengine/source/common/src/tglobal.c:3790,1
    - Dst: taosWriteCfgFile
      Src: /src/tdengine/source/common/src/tglobal.c:3793,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3793,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3796,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3796,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3802,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3802,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:3804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - array
    - path
    - version
    argTypes:
    - SArray*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3806
      start: 3779
    functionDepth: 2
    functionLinenumber: 3779
    functionLinenumberEnd: 3806
    functionName: taosPersistGlobalConfig
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - globalConfigSerialize
    - uError
    - TAOS_CHECK_GOTO
    - snprintf
    - taosMkDir
    - taosMemoryFree
    - tstrerror
    - strlen
    - taosWriteCfgFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosPersistGlobalConfig(SArray *array, const char *path, int32_t
      version)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3816,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3817,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3818,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3821,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:3821,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3824,1
    - Dst: localConfigSerialize
      Src: /src/tdengine/source/common/src/tglobal.c:3824,1
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:3824,1
    - Dst: taosWriteCfgFile
      Src: /src/tdengine/source/common/src/tglobal.c:3827,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3827,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3830,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3830,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3835,1
    - Dst: stypeConfigSerialize
      Src: /src/tdengine/source/common/src/tglobal.c:3835,1
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:3835,1
    - Dst: taosWriteCfgFile
      Src: /src/tdengine/source/common/src/tglobal.c:3838,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3838,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3841,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3841,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3847,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3847,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:3849,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:3850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3852
      start: 3808
    functionDepth: 2
    functionLinenumber: 3808
    functionLinenumberEnd: 3852
    functionName: taosPersistLocalConfig
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - uError
    - TAOS_CHECK_GOTO
    - stypeConfigSerialize
    - taosGetLocalCfg
    - snprintf
    - taosMkDir
    - taosMemoryFree
    - localConfigSerialize
    - tstrerror
    - strlen
    - taosWriteCfgFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosPersistLocalConfig(const char *path)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3857,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3858,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3858,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3860,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3861,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3861,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3862,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3862,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3868,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/tglobal.c:3868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3871,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3871,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3874,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/tglobal.c:3874,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3878,1
    - Dst: tEncodeFloat
      Src: /src/tdengine/source/common/src/tglobal.c:3878,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3885,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3885,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - pEncoder
    - array
    argTypes:
    - SEncoder*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3892
      start: 3854
    functionDepth: 1
    functionLinenumber: 3854
    functionLinenumberEnd: 3892
    functionName: tSerializeSConfigArray
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncodeBool
    - tEncodeCStr
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    - tEncodeFloat
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSConfigArray(SEncoder *pEncoder, SArray *array)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3898,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3898,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3901,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3901,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3902,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3902,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3908,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/tglobal.c:3908,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3911,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3911,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3914,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/tglobal.c:3914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3918,1
    - Dst: tDecodeFloat
      Src: /src/tdengine/source/common/src/tglobal.c:3918,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3925,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3925,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tglobal.c:3929,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3936,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3936,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - pDecoder
    - array
    argTypes:
    - SDecoder*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3939
      start: 3894
    functionDepth: 1
    functionLinenumber: 3894
    functionLinenumberEnd: 3939
    functionName: tDeserializeSConfigArray
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached:
    - tDecodeCStr
    - tDecodeBool
    - taosArrayPush
    - uError
    - tDecodeFloat
    - tstrerror
    - tDecodeI64
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSConfigArray(SDecoder *pDecoder, SArray *array)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - SConfigItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3947
      start: 3941
    functionDepth: 0
    functionLinenumber: 3941
    functionLinenumberEnd: 3947
    functionName: isConifgItemLazyMode
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isConifgItemLazyMode(SConfigItem *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3950,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3951,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3952,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - value
    - len
    argTypes:
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3955
      start: 3949
    functionDepth: 1
    functionLinenumber: 3949
    functionLinenumberEnd: 3955
    functionName: taosCheckCfgStrValueLen
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: 6
    functionsReached:
    - strlen
    - uError
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCheckCfgStrValueLen(const char *name, const char *value,
      int32_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/tmisce.c:25,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:26,1
    - Dst: strrchr
      Src: /src/tdengine/source/common/src/tmisce.c:28,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/common/src/tmisce.c:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ep
    - pEp
    argTypes:
    - char*
    - SEp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: taosGetIpv4FromEp
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 0
    functionsReached:
    - taosStr2UInt16
    - memset
    - strrchr
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosGetIpv4FromEp(const char* ep, SEp* pEp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: isValidPort
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t isValidPort(const char* str)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/tmisce.c:58,1
    - Dst: strchr
      Src: /src/tdengine/source/common/src/tmisce.c:64,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:70,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/common/src/tmisce.c:73,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:77,1
    - Dst: strrchr
      Src: /src/tdengine/source/common/src/tmisce.c:79,1
    - Dst: strchr
      Src: /src/tdengine/source/common/src/tmisce.c:80,1
    - Dst: isValidPort
      Src: /src/tdengine/source/common/src/tmisce.c:85,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:87,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/common/src/tmisce.c:88,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:90,1
    - Dst: isValidPort
      Src: /src/tdengine/source/common/src/tmisce.c:95,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:97,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/common/src/tmisce.c:98,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:100,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:104,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - ep
    - pEp
    argTypes:
    - char*
    - SEp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 117
    functionName: taosGetDualIpFromEp
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 0
    functionsReached:
    - isValidPort
    - memset
    - strchr
    - strrchr
    - taosStr2UInt16
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosGetDualIpFromEp(const char* ep, SEp* pEp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDualIpFromEp
      Src: /src/tdengine/source/common/src/tmisce.c:120,1
    - Dst: taosGetIpv4FromEp
      Src: /src/tdengine/source/common/src/tmisce.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ep
    - pEp
    argTypes:
    - char*
    - SEp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: taosGetFqdnPortFromEp
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 5
    functionsReached:
    - taosGetDualIpFromEp
    - taosGetIpv4FromEp
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosGetFqdnPortFromEp(const char* ep, SEp* pEp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tmisce.c:127,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:135,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pEpSet
    - fqdn
    - port
    argTypes:
    - SEpSet*
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: addEpIntoEpSet
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 18
    functionsReached:
    - tListLen
    - strlen
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t addEpIntoEpSet(SEpSet* pEpSet, const char* fqdn, uint16_t port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tmisce.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - SEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: isEpsetEqual
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 2
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool isEpsetEqual(const SEpSet* s1, const SEpSet* s2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:162,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: epsetAssign
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 2
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void epsetAssign(SEpSet* pDst, const SEpSet* pSrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/tmisce.c:170,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:170,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:171,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SEp*
    - SEp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: epAssign
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 0
    functionsReached:
    - tListLen
    - memset
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void epAssign(SEp* pDst, SEp* pSrc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: epAssign
      Src: /src/tdengine/source/common/src/tmisce.c:183,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tmisce.c:190,1
    - Dst: epAssign
      Src: /src/tdengine/source/common/src/tmisce.c:193,1
    - Dst: epAssign
      Src: /src/tdengine/source/common/src/tmisce.c:194,1
    - Dst: epAssign
      Src: /src/tdengine/source/common/src/tmisce.c:195,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tmisce.c:201,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 1
    argNames:
    - pDst
    argTypes:
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 207
    functionName: epsetSort
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 2
    functionsReached:
    - strncmp
    - epAssign
    linkageType: ''
    returnType: void
    signature: void epsetSort(SEpSet* pDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCorBeginWrite
      Src: /src/tdengine/source/common/src/tmisce.c:210,1
    - Dst: taosCorEndWrite
      Src: /src/tdengine/source/common/src/tmisce.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pEpSet
    - pNewEpSet
    argTypes:
    - SCorEpSet*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: updateEpSet_s
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 2
    functionsReached:
    - taosCorEndWrite
    - taosCorBeginWrite
    linkageType: ''
    returnType: void
    signature: void updateEpSet_s(SCorEpSet* pEpSet, SEpSet* pNewEpSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCorBeginRead
      Src: /src/tdengine/source/common/src/tmisce.c:217,1
    - Dst: taosCorEndRead
      Src: /src/tdengine/source/common/src/tmisce.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SCorEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: getEpSet_s
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 0
    functionsReached:
    - taosCorEndRead
    - taosCorBeginRead
    linkageType: ''
    returnType: SEpSet
    signature: SEpSet getEpSet_s(SCorEpSet* pEpSet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:228,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:236,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:238,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:253,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - pEpSet
    - pBuf
    - cap
    argTypes:
    - SEpSet*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 259
    functionName: epsetToStr
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 4
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t epsetToStr(const SEpSet* pEpSet, char* pBuf, int32_t cap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/common/src/tmisce.c:263,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:268,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/common/src/tmisce.c:268,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:270,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:270,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:271,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:271,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:276,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:276,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:278,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:278,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/common/src/tmisce.c:278,1
    - Dst: taosGetAppName
      Src: /src/tdengine/source/common/src/tmisce.c:280,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:282,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:284,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:284,1
    - Dst: taosGetOsReleaseName
      Src: /src/tdengine/source/common/src/tmisce.c:286,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:287,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:287,1
    - Dst: taosGetCpuInfo
      Src: /src/tdengine/source/common/src/tmisce.c:293,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:294,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:294,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:295,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/common/src/tmisce.c:295,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:297,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/common/src/tmisce.c:297,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:300,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:302,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:304,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:304,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:306,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:306,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:307,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:307,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:308,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:308,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:310,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:310,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:311,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:311,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tmisce.c:311,1
    - Dst: taosLogTraceToBuf
      Src: /src/tdengine/source/common/src/tmisce.c:315,1
    - Dst: taosLogTraceToBuf
      Src: /src/tdengine/source/common/src/tmisce.c:317,1
    - Dst: taosLogTraceToBuf
      Src: /src/tdengine/source/common/src/tmisce.c:319,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:322,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:322,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tmisce.c:324,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:327,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/common/src/tmisce.c:331,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/common/src/tmisce.c:335,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tmisce.c:336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 4
    argNames:
    - signum
    - pMsg
    - clusterId
    - startTime
    argTypes:
    - int
    - char**
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 337
    functionName: taosGenCrashJsonMsg
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 0
    functionsReached:
    - tjsonAddStringToObject
    - TAOS_CHECK_GOTO
    - taosGetPId
    - taosLogTraceToBuf
    - taosGetTimestampUs
    - tjsonToString
    - taosGetOsReleaseName
    - tjsonDelete
    - tjsonAddIntegerToObject
    - snprintf
    - tjsonAddDoubleToObject
    - taosGetCpuInfo
    - taosGetAppName
    - tjsonCreateObject
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosGenCrashJsonMsg(int signum, char** pMsg, int64_t clusterId,
      int64_t startTime)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - showPrivMask
    - cfgPrivType
    argTypes:
    - uint8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 353
    functionName: showVarPrivAllowed
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool showVarPrivAllowed(uint8_t showPrivMask, int8_t cfgPrivType)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosGetCfg
      Src: /src/tdengine/source/common/src/tmisce.c:358,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tmisce.c:372,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tmisce.c:374,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tmisce.c:374,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:377,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tmisce.c:377,1
    - Dst: cfgGetSize
      Src: /src/tdengine/source/common/src/tmisce.c:377,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:379,1
    - Dst: cfgCreateIter
      Src: /src/tdengine/source/common/src/tmisce.c:379,1
    - Dst: cfgLock
      Src: /src/tdengine/source/common/src/tmisce.c:381,1
    - Dst: cfgNextIter
      Src: /src/tdengine/source/common/src/tmisce.c:384,1
    - Dst: rawStrPatternMatch
      Src: /src/tdengine/source/common/src/tmisce.c:390,1
    - Dst: showVarPrivAllowed
      Src: /src/tdengine/source/common/src/tmisce.c:394,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/common/src/tmisce.c:398,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:400,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:403,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:406,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:406,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tmisce.c:411,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:413,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:414,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:417,1
    - Dst: cfgDumpItemValue
      Src: /src/tdengine/source/common/src/tmisce.c:417,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:420,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:422,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:425,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:428,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:428,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:431,1
    - Dst: cfgDumpItemScope
      Src: /src/tdengine/source/common/src/tmisce.c:431,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:432,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:434,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:437,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:439,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:439,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:442,1
    - Dst: cfgDumpItemCategory
      Src: /src/tdengine/source/common/src/tmisce.c:442,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:444,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:446,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:449,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:451,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:451,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tmisce.c:454,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:456,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:461,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:463,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:466,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:468,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:468,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/common/src/tmisce.c:477,1
    - Dst: cfgDestroyIter
      Src: /src/tdengine/source/common/src/tmisce.c:478,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tmisce.c:479,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 82
    argCount: 4
    argNames:
    - pBlock
    - startCol
    - likePattern
    - showPrivMask
    argTypes:
    - SSDataBlock*
    - int32_t
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 480
    functionName: dumpConfToDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: 1
    functionsReached:
    - taosGetCfg
    - TAOS_CHECK_GOTO
    - showVarPrivAllowed
    - cfgLock
    - STR_WITH_MAXSIZE_TO_VARSTR
    - cfgDumpItemScope
    - strcasecmp
    - snprintf
    - cfgGetSize
    - taosArrayGet
    - cfgUnLock
    - cfgDumpItemValue
    - cfgGetItem
    - rawStrPatternMatch
    - cfgCreateIter
    - taosArrayGetSize
    - colDataSetVal
    - cfgDumpItemCategory
    - varDataSetLen
    - cfgDestroyIter
    - TMAX
    - blockDataEnsureCapacity
    - cfgNextIter
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t dumpConfToDataBlock(SSDataBlock* pBlock, int32_t startCol,
      char* likePattern, uint8_t showPrivMask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - PB
    - ','
    - FLAG
    - ','
    - IDX
    - ','
    - VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: ROW_SET_BITMAP
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROW_SET_BITMAP(PB, FLAG, IDX, VAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI8
      Src: /src/tdengine/source/common/src/tdataformat.c:80,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - index
    argTypes:
    - uint8_t*
    - SPrimaryKeyIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: tPutPrimaryKeyIndex
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tPutU32v
    - tPutI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tPutPrimaryKeyIndex(uint8_t *p, const SPrimaryKeyIndex *index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI8
      Src: /src/tdengine/source/common/src/tdataformat.c:87,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - index
    argTypes:
    - uint8_t*
    - SPrimaryKeyIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: tGetPrimaryKeyIndex
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tGetI8
    - tGetU32v
    linkageType: ''
    returnType: int32_t
    signature: int32_t tGetPrimaryKeyIndex(uint8_t *p, SPrimaryKeyIndex *index)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sinfo
    - pTColumn
    argTypes:
    - SRowBuildScanInfo*
    - STColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: tRowBuildScanAddNone
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tRowBuildScanAddNone(SRowBuildScanInfo *sinfo, const STColumn
      *pTColumn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sinfo
    - pTColumn
    argTypes:
    - SRowBuildScanInfo*
    - STColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: tRowBuildScanAddNull
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tPutI16v
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tRowBuildScanAddNull(SRowBuildScanInfo *sinfo, const STColumn
      *pTColumn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:112,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:119,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:120,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:121,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:123,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:124,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:127,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:130,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:131,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - sinfo
    - colVal
    - pTColumn
    argTypes:
    - SRowBuildScanInfo*
    - SColVal*
    - STColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 139
    functionName: tRowBuildScanAddValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tPutI16v
    - IS_STR_DATA_BLOB
    - tPutU32v
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tRowBuildScanAddValue(SRowBuildScanInfo *sinfo, SColVal
      *colVal, const STColumn *pTColumn)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:144,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:145,1
    - Dst: tRowBuildScanAddNone
      Src: /src/tdengine/source/common/src/tdataformat.c:163,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:173,1
    - Dst: tRowBuildScanAddValue
      Src: /src/tdengine/source/common/src/tdataformat.c:174,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:175,1
    - Dst: tRowBuildScanAddNull
      Src: /src/tdengine/source/common/src/tdataformat.c:176,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:177,1
    - Dst: tRowBuildScanAddNone
      Src: /src/tdengine/source/common/src/tdataformat.c:178,1
    - Dst: tRowBuildScanAddNone
      Src: /src/tdengine/source/common/src/tdataformat.c:184,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:215,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:220,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:224,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:230,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:251,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 109
    argCount: 3
    argNames:
    - colVals
    - schema
    - sinfo
    argTypes:
    - SArray*
    - STSchema*
    - SRowBuildScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 260
    functionName: tRowBuildScan
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - tRowBuildScanAddNull
    - TARRAY_DATA
    - tRowBuildScanAddNone
    - tPutPrimaryKeyIndex
    - COL_VAL_IS_NULL
    - tRowBuildScanAddValue
    - BIT1_SIZE
    - COL_VAL_IS_NONE
    - BIT2_SIZE
    - COL_VAL_IS_VALUE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowBuildScan(SArray *colVals, const STSchema *schema, SRowBuildScanInfo
      *sinfo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:264,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:265,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:273,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:286,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:290,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:295,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:300,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:301,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:303,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:305,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:307,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:311,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:312,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:315,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:316,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:317,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:318,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:324,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 4
    argNames:
    - aColVal
    - sinfo
    - schema
    - ppRow
    argTypes:
    - SArray*
    - SRowBuildScanInfo*
    - STSchema*
    - SRow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 333
    functionName: tRowBuildTupleRow
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - tPutU32v
    - memcpy
    - TARRAY_DATA
    - ROW_SET_BITMAP
    - VALUE_GET_DATUM
    - COL_VAL_IS_NULL
    - COL_VAL_IS_NONE
    - tPutPrimaryKeyIndex
    - taosMemoryCalloc
    - VALUE_GET_TRIVIAL_DATUM
    - IS_VAR_DATA_TYPE
    - COL_VAL_IS_VALUE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowBuildTupleRow(SArray *aColVal, const SRowBuildScanInfo
      *sinfo, const STSchema *schema,\n                                 SRow **ppRow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tBlobSetPush
      Src: /src/tdengine/source/common/src/tdataformat.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pBlobSet
    - type
    - pSeq
    argTypes:
    - SBlobSet*
    - int8_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: addEmptyItemToBlobSet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBlobSetPush
    linkageType: ''
    returnType: int32_t
    signature: int32_t addEmptyItemToBlobSet(SBlobSet *pBlobSet, int8_t type, uint64_t
      *pSeq)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:349,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:350,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:364,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:376,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:380,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:386,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:392,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:393,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:395,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:396,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:400,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:403,1
    - Dst: tBlobSetPush
      Src: /src/tdengine/source/common/src/tdataformat.c:411,1
    - Dst: tPutU64
      Src: /src/tdengine/source/common/src/tdataformat.c:416,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:419,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:419,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:422,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:423,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:426,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:427,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:428,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:429,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:429,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:431,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:432,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:433,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:433,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:435,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:441,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 5
    argNames:
    - aColVal
    - sinfo
    - schema
    - ppRow
    - pBlobSet
    argTypes:
    - SArray*
    - SRowBuildScanInfo*
    - STSchema*
    - SRow**
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 454
    functionName: tRowBuildTupleWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - tPutU32v
    - memcpy
    - TAOS_CHECK_RETURN
    - TARRAY_DATA
    - ROW_SET_BITMAP
    - VALUE_GET_DATUM
    - IS_STR_DATA_BLOB
    - tPutU64
    - tBlobSetPush
    - COL_VAL_IS_NULL
    - addEmptyItemToBlobSet
    - COL_VAL_IS_NONE
    - tPutPrimaryKeyIndex
    - taosMemoryCalloc
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowBuildTupleWithBlob(SArray *aColVal, const SRowBuildScanInfo
      *sinfo, const STSchema *schema,\n                                      SRow
      **ppRow, SBlobSet *pBlobSet)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:459,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:460,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:474,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:486,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:490,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:495,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:501,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:502,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:504,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:505,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:509,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:512,1
    - Dst: tGetU64
      Src: /src/tdengine/source/common/src/tdataformat.c:516,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:517,1
    - Dst: tBlobSetGet
      Src: /src/tdengine/source/common/src/tdataformat.c:521,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:522,1
    - Dst: tBlobSetPush
      Src: /src/tdengine/source/common/src/tdataformat.c:524,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:525,1
    - Dst: tPutU64
      Src: /src/tdengine/source/common/src/tdataformat.c:526,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:529,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:529,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:532,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:533,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:536,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:537,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:538,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:539,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:539,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:541,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:542,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:543,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:543,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:545,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:551,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 84
    argCount: 6
    argNames:
    - aColVal
    - sinfo
    - schema
    - ppRow
    - pSrcBlobSet
    - pDstBlobSet
    argTypes:
    - SArray*
    - SRowBuildScanInfo*
    - STSchema*
    - SRow**
    - SBlobSet*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 564
    functionName: tRowBuildTupleWithBlob2
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tPutU32v
    - tPutU64
    - tBlobSetGet
    - memcpy
    - TARRAY_DATA
    - tGetU64
    - COL_VAL_IS_NULL
    - addEmptyItemToBlobSet
    - COL_VAL_IS_NONE
    - tPutPrimaryKeyIndex
    - taosMemoryCalloc
    - COL_VAL_IS_VALUE
    - tBlobSetPush
    - TARRAY_SIZE
    - TAOS_CHECK_RETURN
    - ROW_SET_BITMAP
    - VALUE_GET_DATUM
    - IS_STR_DATA_BLOB
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowBuildTupleWithBlob2(SArray *aColVal, const SRowBuildScanInfo
      *sinfo, const STSchema *schema,\n                                       SRow
      **ppRow, SBlobSet *pSrcBlobSet, SBlobSet *pDstBlobSet)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - flag
    - indices
    - offset
    argTypes:
    - uint8_t
    - SKVIdx*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 574
    functionName: tRowBuildKVRowSetIndex
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tRowBuildKVRowSetIndex(uint8_t flag, SKVIdx *indices,
      uint32_t offset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:577,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:579,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:587,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:600,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:603,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:612,1
    - Dst: tRowBuildKVRowSetIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:613,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:614,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:615,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:616,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:618,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:623,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:624,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:625,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:629,1
    - Dst: tRowBuildKVRowSetIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:630,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:631,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 4
    argNames:
    - aColVal
    - sinfo
    - schema
    - ppRow
    argTypes:
    - SArray*
    - SRowBuildScanInfo*
    - STSchema*
    - SRow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 644
    functionName: tRowBuildKVRow
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - tPutU32v
    - memcpy
    - TARRAY_DATA
    - VALUE_GET_DATUM
    - COL_VAL_IS_NULL
    - tRowBuildKVRowSetIndex
    - tPutI16v
    - tPutPrimaryKeyIndex
    - taosMemoryCalloc
    - VALUE_GET_TRIVIAL_DATUM
    - IS_VAR_DATA_TYPE
    - COL_VAL_IS_VALUE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowBuildKVRow(SArray *aColVal, const SRowBuildScanInfo *sinfo,
      const STSchema *schema, SRow **ppRow)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:648,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:650,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:675,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:678,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:689,1
    - Dst: tRowBuildKVRowSetIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:690,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:691,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:692,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:695,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:696,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:699,1
    - Dst: tBlobSetPush
      Src: /src/tdengine/source/common/src/tdataformat.c:709,1
    - Dst: tPutU64
      Src: /src/tdengine/source/common/src/tdataformat.c:711,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:715,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:715,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:719,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:720,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:721,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:725,1
    - Dst: tRowBuildKVRowSetIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:726,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:727,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:728,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:729,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:729,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 5
    argNames:
    - aColVal
    - sinfo
    - schema
    - ppRow
    - ppBlobSet
    argTypes:
    - SArray*
    - SRowBuildScanInfo*
    - STSchema*
    - SRow**
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 746
    functionName: tRowBuildKVRowWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - tPutU32v
    - memcpy
    - TAOS_CHECK_RETURN
    - TARRAY_DATA
    - VALUE_GET_DATUM
    - IS_STR_DATA_BLOB
    - tPutU64
    - tBlobSetPush
    - COL_VAL_IS_NULL
    - tRowBuildKVRowSetIndex
    - addEmptyItemToBlobSet
    - tPutI16v
    - tPutPrimaryKeyIndex
    - taosMemoryCalloc
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowBuildKVRowWithBlob(SArray *aColVal, const SRowBuildScanInfo
      *sinfo, const STSchema *schema,\n                                      SRow
      **ppRow, SBlobSet *ppBlobSet)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:750,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:752,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:777,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:780,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:790,1
    - Dst: tRowBuildKVRowSetIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:791,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:792,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:793,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:796,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:797,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:800,1
    - Dst: tGetU64
      Src: /src/tdengine/source/common/src/tdataformat.c:805,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:806,1
    - Dst: tBlobSetGet
      Src: /src/tdengine/source/common/src/tdataformat.c:810,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:811,1
    - Dst: tBlobSetPush
      Src: /src/tdengine/source/common/src/tdataformat.c:813,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:814,1
    - Dst: tPutU64
      Src: /src/tdengine/source/common/src/tdataformat.c:816,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:820,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:820,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:824,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:825,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:826,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:830,1
    - Dst: tRowBuildKVRowSetIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:831,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:832,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:833,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:834,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:834,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 6
    argNames:
    - aColVal
    - sinfo
    - schema
    - ppRow
    - pSrcBlobSet
    - pDstBlobSet
    argTypes:
    - SArray*
    - SRowBuildScanInfo*
    - STSchema*
    - SRow**
    - SBlobSet*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 851
    functionName: tRowBuildKVRowWithBlob2
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tPutU32v
    - tPutU64
    - tRowBuildKVRowSetIndex
    - tPutI16v
    - tBlobSetGet
    - memcpy
    - TARRAY_DATA
    - tGetU64
    - COL_VAL_IS_NULL
    - addEmptyItemToBlobSet
    - tPutPrimaryKeyIndex
    - taosMemoryCalloc
    - COL_VAL_IS_VALUE
    - tBlobSetPush
    - TARRAY_SIZE
    - TAOS_CHECK_RETURN
    - VALUE_GET_DATUM
    - IS_STR_DATA_BLOB
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowBuildKVRowWithBlob2(SArray *aColVal, const SRowBuildScanInfo
      *sinfo, const STSchema *schema,\n                                       SRow
      **ppRow, SBlobSet *pSrcBlobSet, SBlobSet *pDstBlobSet)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tRowBuildScan
      Src: /src/tdengine/source/common/src/tdataformat.c:854,1
    - Dst: tRowBuildTupleRow
      Src: /src/tdengine/source/common/src/tdataformat.c:858,1
    - Dst: tRowBuildKVRow
      Src: /src/tdengine/source/common/src/tdataformat.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - aColVal
    - pTSchema
    - ppRow
    - sinfo
    argTypes:
    - SArray*
    - STSchema*
    - SRow**
    - SRowBuildScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 863
    functionName: tRowBuild
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 7
    functionsReached:
    - tRowBuildTupleRow
    - tRowBuildKVRow
    - tRowBuildScan
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowBuild(SArray *aColVal, const STSchema *pTSchema, SRow **ppRow,
      SRowBuildScanInfo *sinfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:868,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:874,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:876,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:879,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:881,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/tdataformat.c:884,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/tdataformat.c:884,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:886,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:889,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:891,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tdataformat.c:901,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:902,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:903,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:905,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:906,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tdataformat.c:908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - cap
    - type
    - ppBlobRow
    argTypes:
    - int64_t
    - int8_t
    - SBlobSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 910
    functionName: tBlobRowCreate
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - uDebug
    - taosArrayDestroy
    - taosMemCalloc
    - taosHashInit
    - taosMemoryFree
    - taosHashCleanup
    - taosArrayInit
    - taosGetDefaultHashFunction
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobRowCreate(int64_t cap, int8_t type, SBlobSet **ppBlobRow)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdataformat.c:915,1
    - Dst: taosMemRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:932,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:940,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:950,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:951,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:954,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/tdataformat.c:955,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:957,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - pBlobRow
    - pItem
    - seq
    - nextRow
    argTypes:
    - SBlobSet*
    - SBlobItem*
    - uint64_t*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 962
    functionName: tBlobRowPush
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - memcpy
    - uTrace
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - taosHashPut
    - taosMemRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobRowPush(SBlobSet *pBlobRow, SBlobItem *pItem, uint64_t
      *seq, int8_t nextRow)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pBlobRow
    - seq
    - pItem
    argTypes:
    - SBlobSet*
    - uint64_t
    - SBlobItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 974
    functionName: tBlobRowUpdate
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobRowUpdate(SBlobSet *pBlobRow, uint64_t seq, SBlobItem
      *pItem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tdataformat.c:988,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:993,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pBlobRow
    - seq
    - pItem
    argTypes:
    - SBlobSet*
    - uint64_t
    - SBlobItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 1007
    functionName: tBlobRowGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosHashGet
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobRowGet(SBlobSet *pBlobRow, uint64_t seq, SBlobItem *pItem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:1011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pBlobRow
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1012
    functionName: tBlobRowSize
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobRowSize(SBlobSet *pBlobRow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:1015,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pBlobRow
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1020
    functionName: tBlobRowEnd
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobRowEnd(SBlobSet *pBlobRow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tBlobRowCreate
      Src: /src/tdengine/source/common/src/tdataformat.c:1024,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:1036,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1037,1
    - Dst: tBlobRowPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1043,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - p
    - sRow
    - nrow
    - pDst
    argTypes:
    - SBlobSet*
    - int32_t
    - int32_t
    - SBlobSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1021
    functionDepth: 2
    functionLinenumber: 1021
    functionLinenumberEnd: 1051
    functionName: tBlobRowRebuild
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBlobRowPush
    - taosArrayGet
    - tBlobRowCreate
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobRowRebuild(SBlobSet *p, int32_t sRow, int32_t nrow, SBlobSet
      **pDst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdataformat.c:1056,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1057,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1058,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tdataformat.c:1059,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1060,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pBlobRow
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1063
    functionName: tBlobRowDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - uTrace
    - taosMemoryFree
    - taosHashCleanup
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobRowDestroy(SBlobSet *pBlobRow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdataformat.c:1067,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1068,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pBlobRow
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1073
    functionName: tBlobRowClear
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - taosHashClear
    - uTrace
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobRowClear(SBlobSet *pBlobRow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tRowBuildScan
      Src: /src/tdengine/source/common/src/tdataformat.c:1079,1
    - Dst: tRowBuildTupleWithBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:1083,1
    - Dst: tRowBuildKVRowWithBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - aColVal
    - pTSchema
    - ppRow
    - pBlobSet
    - sinfo
    argTypes:
    - SArray*
    - STSchema*
    - SRow**
    - SBlobSet*
    - SRowBuildScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1089
    functionName: tRowBuildWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - tRowBuildTupleWithBlob
    - tRowBuildScan
    - tRowBuildKVRowWithBlob
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowBuildWithBlob(SArray *aColVal, const STSchema *pTSchema,
      SRow **ppRow, SBlobSet *pBlobSet,\n                          SRowBuildScanInfo
      *sinfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tRowBuildScan
      Src: /src/tdengine/source/common/src/tdataformat.c:1095,1
    - Dst: tRowBuildTupleWithBlob2
      Src: /src/tdengine/source/common/src/tdataformat.c:1099,1
    - Dst: tRowBuildKVRowWithBlob2
      Src: /src/tdengine/source/common/src/tdataformat.c:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - aColVal
    - pTSchema
    - ppRow
    - pSrcBlobSet
    - pDstBlobSet
    - sinfo
    argTypes:
    - SArray*
    - STSchema*
    - SRow**
    - SBlobSet*
    - SBlobSet*
    - SRowBuildScanInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1091
    functionDepth: 3
    functionLinenumber: 1091
    functionLinenumberEnd: 1105
    functionName: tRowBuildWithBlob2
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRowBuildKVRowWithBlob2
    - tRowBuildScan
    - tRowBuildTupleWithBlob2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowBuildWithBlob2(SArray *aColVal, const STSchema *pTSchema,
      SRow **ppRow, SBlobSet *pSrcBlobSet,\n                           SBlobSet *pDstBlobSet,
      SRowBuildScanInfo *sinfo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1110,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1116,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1118,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1121,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1123,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1126,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/tdataformat.c:1126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1128,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1133,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tdataformat.c:1143,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1144,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1147,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1148,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tdataformat.c:1150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - cap
    - type
    - ppBlobSet
    argTypes:
    - int64_t
    - int8_t
    - SBlobSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1152
    functionName: tBlobSetCreate
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 6
    functionsReached:
    - uDebug
    - taosArrayDestroy
    - taosMemCalloc
    - taosHashInit
    - taosMemoryFree
    - taosHashCleanup
    - taosArrayInit
    - taosGetDefaultHashFunction
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobSetCreate(int64_t cap, int8_t type, SBlobSet **ppBlobSet)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdataformat.c:1157,1
    - Dst: taosMemRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1174,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1182,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1192,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1193,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:1196,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/tdataformat.c:1197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:1199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - pBlobSet
    - pItem
    - seq
    - nextRow
    argTypes:
    - SBlobSet*
    - SBlobItem*
    - uint64_t*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1204
    functionName: tBlobSetPush
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 5
    functionsReached:
    - taosArrayPush
    - memcpy
    - uTrace
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - taosHashPut
    - taosMemRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobSetPush(SBlobSet *pBlobSet, SBlobItem *pItem, uint64_t
      *seq, int8_t nextRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1209,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1211,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - SBlobSet*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1213
    functionName: tBlobSetSwap
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void tBlobSetSwap(SBlobSet *p1, SBlobSet *p2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pBlobSet
    - seq
    - pItem
    argTypes:
    - SBlobSet*
    - uint64_t
    - SBlobItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1226
    functionName: tBlobSetUpdate
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobSetUpdate(SBlobSet *pBlobSet, uint64_t seq, SBlobItem
      *pItem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1240,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pBlobSet
    - seq
    - pItem
    argTypes:
    - SBlobSet*
    - uint64_t
    - SBlobItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1260
    functionName: tBlobSetGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - taosHashGet
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobSetGet(SBlobSet *pBlobSet, uint64_t seq, SBlobItem *pItem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pBlobSet
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1265
    functionName: tBlobSetSize
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobSetSize(SBlobSet *pBlobSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdataformat.c:1269,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1270,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1271,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tdataformat.c:1272,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1273,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pBlobSet
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1275
    functionName: tBlobSetDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - uTrace
    - taosMemoryFree
    - taosHashCleanup
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tBlobSetDestroy(SBlobSet *pBlobSet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdataformat.c:1279,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1280,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pBlobSet
    argTypes:
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1285
    functionName: tBlobSetClear
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayClear
    - taosHashClear
    - uTrace
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobSetClear(SBlobSet *pBlobSet)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1294
    functionName: tBindInfoCompare
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBindInfoCompare(const void *p1, const void *p2, const void
      *param)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosqsort_r
      Src: /src/tdengine/source/common/src/tdataformat.c:1312,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1320,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1326,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1330,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1335,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:1343,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1347,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1349,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdataformat.c:1357,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1361,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1367,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:1373,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1385,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 7
    argNames:
    - infos
    - numOfInfos
    - infoSorted
    - pTSchema
    - rowArray
    - pOrdered
    - pDupTs
    argTypes:
    - SBindInfo*
    - int32_t
    - bool
    - STSchema*
    - SArray*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1305
    functionDepth: 4
    functionLinenumber: 1305
    functionLinenumberEnd: 1387
    functionName: tRowBuildFromBind
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tRowGetKey
    - tRowKeyCompare
    - COL_VAL_NULL
    - tRowBuild
    - COL_VAL_VALUE
    - taosArrayInit
    - taosArrayClear
    - taosArrayDestroy
    - taosqsort_r
    - valueSetDatum
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowBuildFromBind(SBindInfo *infos, int32_t numOfInfos, bool
      infoSorted, const STSchema *pTSchema,\n                          SArray *rowArray,
      bool *pOrdered, bool *pDupTs)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1399,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:1404,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1409,1
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:1416,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:1445,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:1447,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1449,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1455,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:1456,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:1458,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:1468,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:1472,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:1479,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:1490,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:1491,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:1493,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:1494,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:1505,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1508,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1515,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:1516,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:1518,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:1523,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 111
    argCount: 4
    argNames:
    - pRow
    - pTSchema
    - iCol
    - pColVal
    argTypes:
    - SRow*
    - STSchema*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1528
    functionName: tRowGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tGetU32v
    - GET_BIT1
    - COL_VAL_NULL
    - tGetPrimaryKeyIndex
    - IS_STR_DATA_BLOB
    - COL_VAL_NONE
    - VALUE_SET_TRIVIAL_DATUM
    - BIT1_SIZE
    - valueSetDatum
    - GET_BIT2
    - BIT2_SIZE
    - TABS
    - tGetI16v
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowGet(SRow *pRow, STSchema *pTSchema, int32_t iCol, SColVal
      *pColVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pRow
    argTypes:
    - SRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1532
    functionName: tRowDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tRowDestroy(SRow *pRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1536,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1537,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1539
    functionName: tRowPCmprFn
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRowGetKey
    - tRowKeyCompare
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowPCmprFn(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tRowDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppRow
    argTypes:
    - SRow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1540
    functionName: tRowPDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRowDestroy
    linkageType: ''
    returnType: void
    signature: void tRowPDestroy(SRow **ppRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:1543,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:1545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - iter
    - targetCid
    argTypes:
    - SRowIter*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1548
    functionName: tRowFindColumnValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRowIterNext
    linkageType: ''
    returnType: SColVal
    signature: SColVal * tRowFindColumnValue(SRowIter *iter, int32_t targetCid)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1558,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1565,1
    - Dst: tRowIterOpen
      Src: /src/tdengine/source/common/src/tdataformat.c:1567,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1572,1
    - Dst: tRowFindColumnValue
      Src: /src/tdengine/source/common/src/tdataformat.c:1585,1
    - Dst: tRowFindColumnValue
      Src: /src/tdengine/source/common/src/tdataformat.c:1591,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1593,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1604,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdataformat.c:1613,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/common/src/tdataformat.c:1617,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/common/src/tdataformat.c:1618,1
    - Dst: tRowIterClose
      Src: /src/tdengine/source/common/src/tdataformat.c:1626,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1628,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1630,1
    - Dst: tRowDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1631,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 5
    argNames:
    - aRowP
    - pTSchema
    - iStart
    - iEnd
    - strategy
    argTypes:
    - SArray*
    - STSchema*
    - int32_t
    - int32_t
    - ERowMergeStrategy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1550
    functionDepth: 4
    functionLinenumber: 1550
    functionLinenumberEnd: 1633
    functionName: tRowMergeImpl
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tRowIterOpen
    - taosArrayInsert
    - taosArrayRemoveBatch
    - tRowIterClose
    - tRowFindColumnValue
    - tRowBuild
    - tRowDestroy
    - taosMemoryFree
    - taosArrayInit
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosArrayGetP
    - COL_VAL_IS_VALUE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowMergeImpl(SArray *aRowP, STSchema *pTSchema, int32_t iStart,
      int32_t iEnd, ERowMergeStrategy strategy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1637,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1638,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:1639,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1640,1
    - Dst: tGetU64
      Src: /src/tdengine/source/common/src/tdataformat.c:1643,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:1644,1
    - Dst: tBlobSetGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1649,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1650,1
    - Dst: tBlobSetPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1652,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1653,1
    - Dst: tPutU64
      Src: /src/tdengine/source/common/src/tdataformat.c:1654,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:1655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pSrc
    - pDst
    - pVal
    argTypes:
    - SBlobSet*
    - SBlobSet*
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1634
    functionDepth: 2
    functionLinenumber: 1634
    functionLinenumberEnd: 1662
    functionName: tBlobSetTransferTo
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - uError
    - TAOS_CHECK_GOTO
    - tGetU64
    - COL_VAL_IS_NULL
    - tBlobSetPush
    - addEmptyItemToBlobSet
    - tPutU64
    - tBlobSetGet
    linkageType: ''
    returnType: int32_t
    signature: int32_t tBlobSetTransferTo(SBlobSet *pSrc, SBlobSet *pDst, SColVal
      *pVal)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:1666,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1670,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:1672,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1675,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1677,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1681,1
    - Dst: tRowIterOpen
      Src: /src/tdengine/source/common/src/tdataformat.c:1682,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1683,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:1687,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1689,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1689,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:1690,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1691,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1693,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:1698,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/common/src/tdataformat.c:1701,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1702,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:1704,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1706,1
    - Dst: tBlobSetTransferTo
      Src: /src/tdengine/source/common/src/tdataformat.c:1708,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1709,1
    - Dst: tBlobSetSwap
      Src: /src/tdengine/source/common/src/tdataformat.c:1712,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:1716,1
    - Dst: tRowIterClose
      Src: /src/tdengine/source/common/src/tdataformat.c:1721,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1723,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1726,1
    - Dst: tBlobSetDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1728,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - aRowP
    - pTSchema
    - pBlob
    argTypes:
    - SArray*
    - STSchema*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1664
    functionDepth: 3
    functionLinenumber: 1664
    functionLinenumberEnd: 1730
    functionName: tRowRebuildBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tRowIterOpen
    - TAOS_CHECK_GOTO
    - tBlobSetCreate
    - taosArrayDestroy
    - taosArrayGetP
    - taosArrayGet
    - tRowIterClose
    - COL_VAL_IS_NULL
    - taosArrayGetSize
    - tBlobSetSwap
    - taosMemoryCalloc
    - COL_VAL_IS_VALUE
    - tBlobSetTransferTo
    - tRowIterNext
    - uError
    - TARRAY_SIZE
    - TAOS_CHECK_RETURN
    - IS_STR_DATA_BLOB
    - taosMemoryFree
    - taosArrayInit
    - tBlobSetDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowRebuildBlob(SArray *aRowP, STSchema *pTSchema, SBlobSet
      *pBlob)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:1737,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:1743,1
    - Dst: tBlobSetCreate
      Src: /src/tdengine/source/common/src/tdataformat.c:1749,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1750,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1755,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1757,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1762,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1763,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:1765,1
    - Dst: tRowMergeWithBlobImpl
      Src: /src/tdengine/source/common/src/tdataformat.c:1771,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1772,1
    - Dst: tRowGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1775,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1776,1
    - Dst: tBlobSetTransferTo
      Src: /src/tdengine/source/common/src/tdataformat.c:1778,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1779,1
    - Dst: tBlobSetSwap
      Src: /src/tdengine/source/common/src/tdataformat.c:1787,1
    - Dst: tBlobSetDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1790,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - aRowP
    - pTSchema
    - pBlob
    argTypes:
    - SArray*
    - STSchema*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1732
    functionDepth: 3
    functionLinenumber: 1732
    functionLinenumberEnd: 1792
    functionName: tRowMergeAndRebuildBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRowGetKey
    - tBlobSetDestroy
    - TAOS_CHECK_GOTO
    - tRowKeyCompare
    - IS_STR_DATA_BLOB
    - tRowMergeWithBlobImpl
    - tRowGet
    - tBlobSetCreate
    - taosArrayGetSize
    - tBlobSetTransferTo
    - tBlobSetSwap
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowMergeAndRebuildBlob(SArray *aRowP, STSchema *pTSchema,
      SBlobSet *pBlob)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1803,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1806,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1809,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1812,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1816,1
    - Dst: tRowIterOpen
      Src: /src/tdengine/source/common/src/tdataformat.c:1817,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1818,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:1827,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:1829,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1832,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:1835,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1843,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1845,1
    - Dst: tRowBuildWithBlob2
      Src: /src/tdengine/source/common/src/tdataformat.c:1853,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1854,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/common/src/tdataformat.c:1856,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/common/src/tdataformat.c:1857,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:1859,1
    - Dst: tRowIterClose
      Src: /src/tdengine/source/common/src/tdataformat.c:1865,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1867,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1869,1
    - Dst: tRowDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:1870,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 7
    argNames:
    - aRowP
    - pTSchema
    - pBlob
    - pDstBlob
    - iStart
    - iEnd
    - flag
    argTypes:
    - SArray*
    - STSchema*
    - SBlobSet*
    - SBlobSet*
    - int32_t
    - int32_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1794
    functionDepth: 4
    functionLinenumber: 1794
    functionLinenumberEnd: 1873
    functionName: tRowMergeWithBlobImpl
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - tRowIterNext
    - taosArrayPush
    - tRowIterOpen
    - taosArrayInsert
    - taosArrayRemoveBatch
    - TAOS_CHECK_GOTO
    - tRowIterClose
    - tRowDestroy
    - COL_VAL_IS_NULL
    - tRowBuildWithBlob2
    - taosMemoryFree
    - taosArrayInit
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosArrayGetP
    - COL_VAL_IS_VALUE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowMergeWithBlobImpl(SArray *aRowP, STSchema *pTSchema, SBlobSet
      *pBlob, SBlobSet *pDstBlob,\n                                     int32_t iStart,
      int32_t iEnd, int8_t flag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:1876,1
    - Dst: taosArrayMSort
      Src: /src/tdengine/source/common/src/tdataformat.c:1877,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:1879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - aRowP
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1875
    functionDepth: 1
    functionLinenumber: 1875
    functionLinenumberEnd: 1882
    functionName: tRowSort
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 6
    functionsReached:
    - taosArrayMSort
    - TARRAY_SIZE
    - uError
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowSort(SArray *aRowP)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1890,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1892,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1897,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1898,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:1900,1
    - Dst: tRowMergeImpl
      Src: /src/tdengine/source/common/src/tdataformat.c:1906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - aRowP
    - pTSchema
    - strategy
    argTypes:
    - SArray*
    - STSchema*
    - ERowMergeStrategy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1884
    functionDepth: 5
    functionLinenumber: 1884
    functionLinenumberEnd: 1915
    functionName: tRowMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 6
    functionsReached:
    - tRowGetKey
    - tRowMergeImpl
    - taosArrayGetP
    - tRowKeyCompare
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowMerge(SArray *aRowP, STSchema *pTSchema, ERowMergeStrategy
      strategy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:1918,1
    - Dst: taosArrayMSort
      Src: /src/tdengine/source/common/src/tdataformat.c:1919,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:1921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - aRowP
    - pTSchema
    - pBlobSet
    argTypes:
    - SArray*
    - STSchema*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1917
    functionDepth: 1
    functionLinenumber: 1917
    functionLinenumberEnd: 1925
    functionName: tRowSortWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - taosArrayMSort
    - TARRAY_SIZE
    - uError
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowSortWithBlob(SArray *aRowP, STSchema *pTSchema, SBlobSet
      *pBlobSet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1934,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1936,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:1941,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:1942,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:1944,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - aRowP
    argTypes:
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1927
    functionDepth: 1
    functionLinenumber: 1927
    functionLinenumberEnd: 1956
    functionName: tRowNeedDoMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRowGetKey
    - taosArrayGetP
    - tRowKeyCompare
    linkageType: ''
    returnType: int8_t
    signature: int8_t tRowNeedDoMerge(SArray *aRowP)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRowNeedDoMerge
      Src: /src/tdengine/source/common/src/tdataformat.c:1961,1
    - Dst: tRowRebuildBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:1963,1
    - Dst: tRowRebuildBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:1965,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:1966,1
    - Dst: tRowMergeAndRebuildBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:1968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - aRowP
    - pTSchema
    - pBlobSet
    - flag
    argTypes:
    - SArray*
    - STSchema*
    - SBlobSet*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1958
    functionDepth: 4
    functionLinenumber: 1958
    functionLinenumberEnd: 1971
    functionName: tRowMergeWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - tRowNeedDoMerge
    - tRowMergeAndRebuildBlob
    - TAOS_CHECK_RETURN
    - tRowRebuildBlob
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowMergeWithBlob(SArray *aRowP, STSchema *pTSchema, SBlobSet
      *pBlobSet, int8_t flag)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1998,1
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:2013,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2038,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2043,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 3
    argNames:
    - pRow
    - pTSchema
    - ppIter
    argTypes:
    - SRow*
    - STSchema*
    - SRowIter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 1993
    functionDepth: 1
    functionLinenumber: 1993
    functionLinenumberEnd: 2058
    functionName: tRowIterOpen
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - BIT1_SIZE
    - taosMemoryCalloc
    - tGetPrimaryKeyIndex
    - BIT2_SIZE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowIterOpen(SRow *pRow, STSchema *pTSchema, SRowIter **ppIter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:2063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ppIter
    argTypes:
    - SRowIter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2066
    functionName: tRowIterClose
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tRowIterClose(SRowIter **ppIter)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2080,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2085,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:2090,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:2107,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:2109,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:2111,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2117,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:2118,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:2128,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:2134,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2135,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:2138,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2142,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2150,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2153,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2157,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2160,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2167,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:2170,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2178,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:2180,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:2190,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 120
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SRowIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2198
    functionName: tRowIterNext
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - uError
    - tGetU32v
    - GET_BIT2
    - COL_VAL_NULL
    - COL_VAL_NONE
    - VALUE_SET_TRIVIAL_DATUM
    - tGetI16v
    - valueSetDatum
    - GET_BIT1
    - TABS
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: SColVal
    signature: SColVal *tRowIterNext(SRowIter *pIter)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - aColData
    - nColData
    - flag
    argTypes:
    - SColData*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2211
    functionName: tRowNoneUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowNoneUpsertColData(SColData *aColData, int32_t nColData,
      int32_t flag)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - aColData
    - nColData
    - pSchema
    - flag
    argTypes:
    - SColData*
    - int32_t
    - STSchema*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2212
    functionDepth: 0
    functionLinenumber: 2212
    functionLinenumberEnd: 2246
    functionName: tRowNullUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowNullUpsertColData(SColData *aColData, int32_t nColData,
      STSchema *pSchema, int32_t flag)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:2260,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2274,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2279,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2296,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2299,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2303,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2306,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2327,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:2330,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 114
    argCount: 5
    argNames:
    - pRow
    - pTSchema
    - aColData
    - nColData
    - flag
    argTypes:
    - SRow*
    - STSchema*
    - SColData*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2247
    functionDepth: 1
    functionLinenumber: 2247
    functionLinenumberEnd: 2365
    functionName: tRowTupleUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tGetU32v
    - GET_BIT2
    - tGetPrimaryKeyIndex
    - BIT1_SIZE
    - GET_BIT1
    - BIT2_SIZE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowTupleUpsertColData(SRow *pRow, STSchema *pTSchema, SColData
      *aColData, int32_t nColData,\n                                      int32_t
      flag)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:2380,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:2410,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:2412,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2422,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:2423,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:2436,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 5
    argNames:
    - pRow
    - pTSchema
    - aColData
    - nColData
    - flag
    argTypes:
    - SRow*
    - STSchema*
    - SColData*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2366
    functionDepth: 1
    functionLinenumber: 2366
    functionLinenumberEnd: 2462
    functionName: tRowKVUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tGetU32v
    - tGetPrimaryKeyIndex
    - tGetI16v
    - TABS
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowKVUpsertColData(SRow *pRow, STSchema *pTSchema, SColData
      *aColData, int32_t nColData, int32_t flag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tRowNoneUpsertColData
      Src: /src/tdengine/source/common/src/tdataformat.c:2472,1
    - Dst: tRowNullUpsertColData
      Src: /src/tdengine/source/common/src/tdataformat.c:2474,1
    - Dst: tRowKVUpsertColData
      Src: /src/tdengine/source/common/src/tdataformat.c:2476,1
    - Dst: tRowTupleUpsertColData
      Src: /src/tdengine/source/common/src/tdataformat.c:2478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - pRow
    - pTSchema
    - aColData
    - nColData
    - flag
    argTypes:
    - SRow*
    - STSchema*
    - SColData*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2467
    functionDepth: 2
    functionLinenumber: 2467
    functionLinenumberEnd: 2480
    functionName: tRowUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRowKVUpsertColData
    - tRowNoneUpsertColData
    - tRowNullUpsertColData
    - tRowTupleUpsertColData
    linkageType: ''
    returnType: int32_t
    signature: int32_t tRowUpsertColData(SRow *pRow, STSchema *pTSchema, SColData
      *aColData, int32_t nColData, int32_t flag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:2494,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:2503,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2506,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:2508,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:2510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - row
    - key
    argTypes:
    - SRow*
    - SRowKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2482
    functionDepth: 1
    functionLinenumber: 2482
    functionLinenumberEnd: 2513
    functionName: tRowGetPrimaryKey
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tGetU32v
    - tGetPrimaryKeyIndex
    - valueSetDatum
    - tGetI16v
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void tRowGetPrimaryKey(SRow *row, SRowKey *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - V1
    - ','
    - V2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2525
    functionName: T_COMPARE_SCALAR_VALUE
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_COMPARE_SCALAR_VALUE(TYPE, V1, V2)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:2530,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2530,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2530,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:2532,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2532,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2532,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:2534,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2534,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2534,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:2537,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2537,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2537,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:2539,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2539,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2539,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:2541,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2541,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2541,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:2543,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2543,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2543,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:2545,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2545,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2545,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:2547,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2547,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2547,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:2549,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2549,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2549,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tdataformat.c:2552,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdataformat.c:2552,1
    - Dst: taosUcs4Compare
      Src: /src/tdengine/source/common/src/tdataformat.c:2556,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdataformat.c:2561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - SValue*
    - SValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2526
    functionDepth: 1
    functionLinenumber: 2526
    functionLinenumberEnd: 2569
    functionName: tValueCompare
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - T_COMPARE_SCALAR_VALUE
    - taosUcs4Compare
    - memcmp
    - TMIN
    - strncmp
    - VALUE_GET_TRIVIAL_DATUM
    linkageType: ''
    returnType: int32_t
    signature: int32_t tValueCompare(const SValue *tv1, const SValue *tv2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tValueCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:2583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - SRowKey*
    - SRowKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2574
    functionDepth: 2
    functionLinenumber: 2574
    functionLinenumberEnd: 2593
    functionName: tRowKeyCompare
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 6
    functionsReached:
    - tValueCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tRowKeyCompare(const SRowKey *key1, const SRowKey *key2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valueCloneDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:2604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SRowKey*
    - SRowKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2607
    functionName: tRowKeyAssign
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - valueCloneDatum
    linkageType: ''
    returnType: void
    signature: void tRowKeyAssign(SRowKey *pDst, SRowKey *pSrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2618
    functionName: tTagValCmprFn
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tTagValCmprFn(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tdataformat.c:2620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2621
    functionName: tTagValJsonCmprFn
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int tTagValJsonCmprFn(const void *p1, const void *p2)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2632,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2633,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2636,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2639,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2642,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2645,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2648,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2651,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2654,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2657,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2660,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2663,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2666,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2669,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2672,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 5
    argNames:
    - type
    - val
    - vlen
    - tag
    - ln
    argTypes:
    - int8_t
    - void*
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2624
    functionDepth: 1
    functionLinenumber: 2624
    functionLinenumberEnd: 2677
    functionName: debugPrintTagVal
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - printf
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void debugPrintTagVal(int8_t type, const void *val, int32_t vlen, const
      char *tag, int32_t ln)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2690,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/tdataformat.c:2700,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/tdataformat.c:2702,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2704,1
    - Dst: tGetTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2705,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2706,1
    - Dst: debugPrintTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2707,1
    - Dst: debugPrintTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2709,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:2712,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pTag
    - tag
    - ln
    argTypes:
    - STag*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2679
    functionDepth: 2
    functionLinenumber: 2679
    functionLinenumberEnd: 2713
    functionName: debugPrintSTag
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - debugPrintTagVal
    - printf
    - POINTER_SHIFT
    - tGetTagVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void debugPrintSTag(STag *pTag, const char *tag, int32_t ln)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tPutCStr
      Src: /src/tdengine/source/common/src/tdataformat.c:2721,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:2723,1
    - Dst: tPutI8
      Src: /src/tdengine/source/common/src/tdataformat.c:2727,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2730,1
    - Dst: tPutBinary
      Src: /src/tdengine/source/common/src/tdataformat.c:2731,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - p
    - pTagVal
    - isJson
    argTypes:
    - uint8_t*
    - STagVal*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2716
    functionDepth: 1
    functionLinenumber: 2716
    functionLinenumberEnd: 2739
    functionName: tPutTagVal
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memcpy
    - tPutI8
    - tPutCStr
    - tPutI16v
    - IS_VAR_DATA_TYPE
    - tPutBinary
    linkageType: ''
    returnType: int32_t
    signature: int32_t tPutTagVal(uint8_t *p, STagVal *pTagVal, int8_t isJson)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tGetCStr
      Src: /src/tdengine/source/common/src/tdataformat.c:2745,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:2747,1
    - Dst: tGetI8
      Src: /src/tdengine/source/common/src/tdataformat.c:2751,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2754,1
    - Dst: tGetBinary
      Src: /src/tdengine/source/common/src/tdataformat.c:2755,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - p
    - pTagVal
    - isJson
    argTypes:
    - uint8_t*
    - STagVal*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2740
    functionDepth: 1
    functionLinenumber: 2740
    functionLinenumberEnd: 2762
    functionName: tGetTagVal
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - memcpy
    - tGetBinary
    - tGetI8
    - tGetI16v
    - IS_VAR_DATA_TYPE
    - tGetCStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tGetTagVal(uint8_t *p, STagVal *pTagVal, int8_t isJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pTag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2764
    functionName: tTagIsJson
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tTagIsJson(const void *pTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTagIsJson
      Src: /src/tdengine/source/common/src/tdataformat.c:2768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2766
    functionDepth: 1
    functionLinenumber: 2766
    functionLinenumberEnd: 2771
    functionName: tTagIsJsonNull
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 5
    functionsReached:
    - tTagIsJson
    linkageType: ''
    returnType: bool
    signature: bool tTagIsJsonNull(void *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:2777,1
    - Dst: taosSort
      Src: /src/tdengine/source/common/src/tdataformat.c:2783,1
    - Dst: taosSort
      Src: /src/tdengine/source/common/src/tdataformat.c:2785,1
    - Dst: tPutTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2790,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:2790,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2800,1
    - Dst: tPutTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2828,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:2828,1
    - Dst: debugPrintSTag
      Src: /src/tdengine/source/common/src/tdataformat.c:2831,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 4
    argNames:
    - pArray
    - version
    - isJson
    - ppTag
    argTypes:
    - SArray*
    - int32_t
    - int8_t
    - STag**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2773
    functionDepth: 3
    functionLinenumber: 2773
    functionLinenumberEnd: 2838
    functionName: tTagNew
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 14
    functionsReached:
    - taosArrayGet
    - tPutTagVal
    - debugPrintSTag
    - taosArrayGetSize
    - taosSort
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tTagNew(SArray *pArray, int32_t version, int8_t isJson, STag
      **ppTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:2841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pTag
    argTypes:
    - STag*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2842
    functionName: tTagFree
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 5
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tTagFree(STag *pTag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2855,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2856,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:2865,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2866,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2866,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - value
    - isJson
    argTypes:
    - STagVal*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2872
    functionName: tTagValToData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - memcpy
    - varDataLen
    - varDataVal
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: char
    signature: char *tTagValToData(const STagVal *value, bool isJson)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tGetTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2906,1
    - Dst: tTagValJsonCmprFn
      Src: /src/tdengine/source/common/src/tdataformat.c:2908,1
    - Dst: tTagValCmprFn
      Src: /src/tdengine/source/common/src/tdataformat.c:2910,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2918,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - pTag
    - pTagVal
    argTypes:
    - STag*
    - STagVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2874
    functionDepth: 2
    functionLinenumber: 2874
    functionLinenumberEnd: 2923
    functionName: tTagGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - tTagValJsonCmprFn
    - memcpy
    - tTagValCmprFn
    - tGetTagVal
    linkageType: ''
    returnType: bool
    signature: bool tTagGet(const STag *pTag, STagVal *pTagVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/tdataformat.c:2926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - pTag
    argTypes:
    - SEncoder*
    - STag*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2925
    functionDepth: 1
    functionLinenumber: 2925
    functionLinenumberEnd: 2927
    functionName: tEncodeTag
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tEncodeBinary
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeTag(SEncoder *pEncoder, const STag *pTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/common/src/tdataformat.c:2929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pDecoder
    - ppTag
    argTypes:
    - SDecoder*
    - STag**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2929
      start: 2929
    functionDepth: 1
    functionLinenumber: 2929
    functionLinenumberEnd: 2929
    functionName: tDecodeTag
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tDecodeBinary
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeTag(SDecoder *pDecoder, STag **ppTag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:2944,1
    - Dst: tGetTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:2956,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:2957,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pTag
    - ppArray
    argTypes:
    - STag*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2931
    functionDepth: 2
    functionLinenumber: 2931
    functionLinenumberEnd: 2967
    functionName: tTagToValArray
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 4
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - tGetTagVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t tTagToValArray(const STag *pTag, SArray **ppArray)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2972,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:2973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pTag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 2975
    functionName: destroyTagVal
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void destroyTagVal(void *pTag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2979,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:2991,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:2996,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3015,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/tdataformat.c:3027,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - aSchema
    - numOfCols
    - version
    argTypes:
    - SSchema*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3031
      start: 2978
    functionDepth: 1
    functionLinenumber: 2978
    functionLinenumberEnd: 3031
    functionName: tBuildTSchema
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 6
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - IS_VAR_DATA_TYPE
    - TD_BITMAP_BYTES
    linkageType: ''
    returnType: STSchema
    signature: STSchema *tBuildTSchema(SSchema *aSchema, int32_t numOfCols, int32_t
      version)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3041
      start: 3033
    functionDepth: 0
    functionLinenumber: 3033
    functionLinenumberEnd: 3041
    functionName: tTColumnCompare
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tTColumnCompare(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosbsearch
      Src: /src/tdengine/source/common/src/tdataformat.c:3048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pTSchema
    - cid
    argTypes:
    - STSchema*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 3043
    functionDepth: 1
    functionLinenumber: 3043
    functionLinenumberEnd: 3049
    functionName: tTSchemaSearchColumn
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosbsearch
    linkageType: ''
    returnType: STColumn
    signature: STColumn *tTSchemaSearchColumn(const STSchema *pTSchema, int16_t cid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3056,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3057,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ph
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3060
      start: 3052
    functionDepth: 1
    functionLinenumber: 3052
    functionLinenumberEnd: 3060
    functionName: tColDataDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tFree
    linkageType: ''
    returnType: void
    signature: void tColDataDestroy(void *ph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataClear
      Src: /src/tdengine/source/common/src/tdataformat.c:3066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pColData
    - cid
    - type
    - cflag
    argTypes:
    - SColData*
    - int16_t
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3067
      start: 3062
    functionDepth: 1
    functionLinenumber: 3062
    functionLinenumberEnd: 3067
    functionName: tColDataInit
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - tColDataClear
    linkageType: ''
    returnType: void
    signature: void tColDataInit(SColData *pColData, int16_t cid, int8_t type, int8_t
      cflag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pColData
    argTypes:
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3069
    functionDepth: 0
    functionLinenumber: 3069
    functionLinenumberEnd: 3076
    functionName: tColDataClear
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tColDataClear(SColData *pColData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataClear
      Src: /src/tdengine/source/common/src/tdataformat.c:3083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pColData
    argTypes:
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3084
      start: 3078
    functionDepth: 1
    functionLinenumber: 3078
    functionLinenumberEnd: 3084
    functionName: tColDataDeepClear
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - tColDataClear
    linkageType: ''
    returnType: void
    signature: void tColDataDeepClear(SColData *pColData)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3089,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:3091,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3092,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3097,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:3099,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3108,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3113,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:3115,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3123,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:3126,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3128,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3086
    functionDepth: 1
    functionLinenumber: 3086
    functionLinenumberEnd: 3136
    functionName: tColDataPutValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memcpy
    - tRealloc
    - IS_STR_DATA_BLOB
    - memset
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataPutValue(SColData *pColData, uint8_t *pData, uint32_t
      nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3137
    functionDepth: 2
    functionLinenumber: 3137
    functionLinenumberEnd: 3141
    functionName: tColDataAppendValue00
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue00(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3147
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3147
    functionName: tColDataAppendValue01
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue01(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3153
      start: 3148
    functionDepth: 0
    functionLinenumber: 3148
    functionLinenumberEnd: 3153
    functionName: tColDataAppendValue02
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue02(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3157,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3158,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3161,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3162,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3168,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:3169,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3171,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3173,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3177,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3179,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3183,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3185,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 3154
    functionDepth: 2
    functionLinenumber: 3154
    functionLinenumberEnd: 3190
    functionName: tColDataAppendValue10
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRealloc
    - IS_STR_DATA_BLOB
    - tColDataPutValue
    - BIT1_SIZE
    - memset
    - SET_BIT1_EX
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue10(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3195
      start: 3191
    functionDepth: 0
    functionLinenumber: 3191
    functionLinenumberEnd: 3195
    functionName: tColDataAppendValue11
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue11(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3199,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3200,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3203,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3196
    functionDepth: 1
    functionLinenumber: 3196
    functionLinenumberEnd: 3211
    functionName: tColDataAppendValue12
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT1_EX
    - BIT1_SIZE
    - memset
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue12(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3215,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3216,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3219,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3220,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3226,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3228,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:3230,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3231,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3235,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3237,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3212
    functionDepth: 2
    functionLinenumber: 3212
    functionLinenumberEnd: 3242
    functionName: tColDataAppendValue20
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRealloc
    - IS_STR_DATA_BLOB
    - tColDataPutValue
    - BIT1_SIZE
    - memset
    - SET_BIT1_EX
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue20(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3246,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3247,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3250,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3243
    functionDepth: 1
    functionLinenumber: 3243
    functionLinenumberEnd: 3258
    functionName: tColDataAppendValue21
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT1_EX
    - BIT1_SIZE
    - memset
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue21(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3263
      start: 3259
    functionDepth: 0
    functionLinenumber: 3259
    functionLinenumberEnd: 3263
    functionName: tColDataAppendValue22
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue22(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3271,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3271,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3275,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3275,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3277,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3279,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3283,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3285,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3287,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3290,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3292,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3264
    functionDepth: 2
    functionLinenumber: 3264
    functionLinenumberEnd: 3297
    functionName: tColDataAppendValue30
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - tRealloc
    - tColDataPutValue
    - memset
    - BIT2_SIZE
    - GET_BIT1
    - tFree
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue30(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3301,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3301,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3309
      start: 3298
    functionDepth: 1
    functionLinenumber: 3298
    functionLinenumberEnd: 3309
    functionName: tColDataAppendValue31
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue31(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3313,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3313,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3321
      start: 3310
    functionDepth: 1
    functionLinenumber: 3310
    functionLinenumberEnd: 3321
    functionName: tColDataAppendValue32
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue32(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3322
    functionDepth: 2
    functionLinenumber: 3322
    functionLinenumberEnd: 3325
    functionName: tColDataAppendValue40
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue40(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3332,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3333,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3336,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3337,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3326
    functionDepth: 2
    functionLinenumber: 3326
    functionLinenumberEnd: 3340
    functionName: tColDataAppendValue41
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRealloc
    - tColDataPutValue
    - BIT1_SIZE
    - memset
    - SET_BIT1_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue41(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3347,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3348,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3351,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3352,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3341
    functionDepth: 2
    functionLinenumber: 3341
    functionLinenumberEnd: 3355
    functionName: tColDataAppendValue42
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRealloc
    - tColDataPutValue
    - BIT1_SIZE
    - memset
    - SET_BIT1_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue42(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3359,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3359,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3362,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3356
    functionDepth: 2
    functionLinenumber: 3356
    functionLinenumberEnd: 3366
    functionName: tColDataAppendValue50
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValue
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue50(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3370,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3370,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3373,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3377
      start: 3367
    functionDepth: 2
    functionLinenumber: 3367
    functionLinenumberEnd: 3377
    functionName: tColDataAppendValue51
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValue
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue51(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3385,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3385,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3389,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3389,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3391,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3393,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3397
      start: 3378
    functionDepth: 2
    functionLinenumber: 3378
    functionLinenumberEnd: 3397
    functionName: tColDataAppendValue52
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - tRealloc
    - tColDataPutValue
    - BIT2_SIZE
    - GET_BIT1
    - tFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue52(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3401,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3401,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3403,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3398
    functionDepth: 2
    functionLinenumber: 3398
    functionLinenumberEnd: 3407
    functionName: tColDataAppendValue60
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValue
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue60(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3415,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3415,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3419,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3419,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3421,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3423,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3427
      start: 3408
    functionDepth: 2
    functionLinenumber: 3408
    functionLinenumberEnd: 3427
    functionName: tColDataAppendValue61
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - tRealloc
    - tColDataPutValue
    - BIT2_SIZE
    - GET_BIT1
    - tFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue61(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3431,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3431,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3433,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3437
      start: 3428
    functionDepth: 2
    functionLinenumber: 3428
    functionLinenumberEnd: 3437
    functionName: tColDataAppendValue62
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValue
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue62(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3441,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3441,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3443,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3447
      start: 3438
    functionDepth: 2
    functionLinenumber: 3438
    functionLinenumberEnd: 3447
    functionName: tColDataAppendValue70
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValue
    - BIT2_SIZE
    - SET_BIT2_EX
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue70(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3451,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3451,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3453,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3457
      start: 3448
    functionDepth: 2
    functionLinenumber: 3448
    functionLinenumberEnd: 3457
    functionName: tColDataAppendValue71
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValue
    - BIT2_SIZE
    - SET_BIT2_EX
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue71(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3461,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3461,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3463,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3467
      start: 3458
    functionDepth: 2
    functionLinenumber: 3458
    functionLinenumberEnd: 3467
    functionName: tColDataAppendValue72
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValue
    - BIT2_SIZE
    - SET_BIT2_EX
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValue72(SColData *pColData, uint8_t *pData,
      uint32_t nData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:3487,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3488,1
    - Dst: tBlobSetPush
      Src: /src/tdengine/source/common/src/tdataformat.c:3493,1
    - Dst: tPutU64
      Src: /src/tdengine/source/common/src/tdataformat.c:3496,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3497,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:3499,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3510
      start: 3481
    functionDepth: 2
    functionLinenumber: 3481
    functionLinenumberEnd: 3510
    functionName: tColDataPutValueBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memcpy
    - tRealloc
    - IS_STR_DATA_BLOB
    - tPutU64
    - tBlobSetPush
    - addEmptyItemToBlobSet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataPutValueBlob(void *pArg, SColData *pColData, uint8_t
      *pData, uint32_t nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3512
    functionDepth: 3
    functionLinenumber: 3512
    functionLinenumberEnd: 3516
    functionName: tColDataAppendValueBlob00
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob00(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3522
      start: 3517
    functionDepth: 2
    functionLinenumber: 3517
    functionLinenumberEnd: 3522
    functionName: tColDataAppendValueBlob01
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - addEmptyItemToBlobSet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob01(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3528
      start: 3523
    functionDepth: 2
    functionLinenumber: 3523
    functionLinenumberEnd: 3528
    functionName: tColDataAppendValueBlob02
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - addEmptyItemToBlobSet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob02(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3532,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3533,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3536,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3537,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3543,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3545,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3547,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3550,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3552,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3557
      start: 3529
    functionDepth: 3
    functionLinenumber: 3529
    functionLinenumberEnd: 3557
    functionName: tColDataAppendValueBlob10
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRealloc
    - BIT1_SIZE
    - memset
    - SET_BIT1_EX
    - IS_VAR_DATA_TYPE
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob10(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3562
      start: 3558
    functionDepth: 2
    functionLinenumber: 3558
    functionLinenumberEnd: 3562
    functionName: tColDataAppendValueBlob11
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - addEmptyItemToBlobSet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob11(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3566,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3567,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3570,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3571,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3563
    functionDepth: 2
    functionLinenumber: 3563
    functionLinenumberEnd: 3577
    functionName: tColDataAppendValueBlob12
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRealloc
    - BIT1_SIZE
    - memset
    - addEmptyItemToBlobSet
    - SET_BIT1_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob12(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3581,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3582,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3585,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3586,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:3592,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3594,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3596,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3603
      start: 3578
    functionDepth: 3
    functionLinenumber: 3578
    functionLinenumberEnd: 3603
    functionName: tColDataAppendValueBlob20
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRealloc
    - IS_STR_DATA_BLOB
    - BIT1_SIZE
    - memset
    - SET_BIT1_EX
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob20(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3607,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3608,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3611,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3612,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3618
      start: 3604
    functionDepth: 2
    functionLinenumber: 3604
    functionLinenumberEnd: 3618
    functionName: tColDataAppendValueBlob21
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRealloc
    - BIT1_SIZE
    - memset
    - addEmptyItemToBlobSet
    - SET_BIT1_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob21(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3623
      start: 3619
    functionDepth: 2
    functionLinenumber: 3619
    functionLinenumberEnd: 3623
    functionName: tColDataAppendValueBlob22
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - addEmptyItemToBlobSet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob22(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3631,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3631,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3635,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3635,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3637,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3639,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:3643,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3645,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3647,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3653,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3654
      start: 3624
    functionDepth: 3
    functionLinenumber: 3624
    functionLinenumberEnd: 3654
    functionName: tColDataAppendValueBlob30
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - tRealloc
    - IS_STR_DATA_BLOB
    - memset
    - BIT2_SIZE
    - GET_BIT1
    - tFree
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob30(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3658,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3658,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3661,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3666
      start: 3655
    functionDepth: 2
    functionLinenumber: 3655
    functionLinenumberEnd: 3666
    functionName: tColDataAppendValueBlob31
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    - addEmptyItemToBlobSet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob31(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3670,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3670,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3673,1
    - Dst: addEmptyItemToBlobSet
      Src: /src/tdengine/source/common/src/tdataformat.c:3676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3677
      start: 3667
    functionDepth: 2
    functionLinenumber: 3667
    functionLinenumberEnd: 3677
    functionName: tColDataAppendValueBlob32
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    - addEmptyItemToBlobSet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob32(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3681
      start: 3678
    functionDepth: 3
    functionLinenumber: 3678
    functionLinenumberEnd: 3681
    functionName: tColDataAppendValueBlob40
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob40(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3688,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3689,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3692,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3693,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3696
      start: 3682
    functionDepth: 3
    functionLinenumber: 3682
    functionLinenumberEnd: 3696
    functionName: tColDataAppendValueBlob41
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRealloc
    - BIT1_SIZE
    - memset
    - SET_BIT1_EX
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob41(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3703,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3704,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:3707,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3708,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3711
      start: 3697
    functionDepth: 3
    functionLinenumber: 3697
    functionLinenumberEnd: 3711
    functionName: tColDataAppendValueBlob42
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRealloc
    - BIT1_SIZE
    - memset
    - SET_BIT1_EX
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob42(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3715,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3715,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3718,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3712
    functionDepth: 3
    functionLinenumber: 3712
    functionLinenumberEnd: 3722
    functionName: tColDataAppendValueBlob50
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob50(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3726,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3726,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3729,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3733
      start: 3723
    functionDepth: 3
    functionLinenumber: 3723
    functionLinenumberEnd: 3733
    functionName: tColDataAppendValueBlob51
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob51(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3741,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3741,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3745,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3745,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3747,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3749,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3753
      start: 3734
    functionDepth: 3
    functionLinenumber: 3734
    functionLinenumberEnd: 3753
    functionName: tColDataAppendValueBlob52
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - tRealloc
    - BIT2_SIZE
    - GET_BIT1
    - tFree
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob52(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3757,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3757,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3759,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3763
      start: 3754
    functionDepth: 3
    functionLinenumber: 3754
    functionLinenumberEnd: 3763
    functionName: tColDataAppendValueBlob60
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob60(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3771,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3771,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3775,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3775,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3777,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3779,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3783
      start: 3764
    functionDepth: 3
    functionLinenumber: 3764
    functionLinenumberEnd: 3783
    functionName: tColDataAppendValueBlob61
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT2_EX
    - tRealloc
    - BIT2_SIZE
    - GET_BIT1
    - tFree
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob61(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3787,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3787,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3789,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3793
      start: 3784
    functionDepth: 3
    functionLinenumber: 3784
    functionLinenumberEnd: 3793
    functionName: tColDataAppendValueBlob62
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT1_EX
    - BIT1_SIZE
    - tRealloc
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob62(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3797,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3797,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3799,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3803
      start: 3794
    functionDepth: 3
    functionLinenumber: 3794
    functionLinenumberEnd: 3803
    functionName: tColDataAppendValueBlob70
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT2_SIZE
    - SET_BIT2_EX
    - tRealloc
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob70(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3807,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3807,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3809,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3813
      start: 3804
    functionDepth: 3
    functionLinenumber: 3804
    functionLinenumberEnd: 3813
    functionName: tColDataAppendValueBlob71
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT2_SIZE
    - SET_BIT2_EX
    - tRealloc
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob71(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3817,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3817,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:3819,1
    - Dst: tColDataPutValueBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:3822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pArg
    - pColData
    - pData
    - nData
    argTypes:
    - void*
    - SColData*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3823
      start: 3814
    functionDepth: 3
    functionLinenumber: 3814
    functionLinenumberEnd: 3823
    functionName: tColDataAppendValueBlob72
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - BIT2_SIZE
    - SET_BIT2_EX
    - tRealloc
    - tColDataPutValueBlob
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataAppendValueBlob72(void *pArg, SColData *pColData,
      uint8_t *pData, uint32_t nData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:3841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pColData
    - pColVal
    argTypes:
    - SColData*
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3842
      start: 3836
    functionDepth: 1
    functionLinenumber: 3836
    functionLinenumberEnd: 3842
    functionName: tColDataAppendValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - VALUE_GET_DATUM
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataAppendValue(SColData *pColData, SColVal *pColVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tColDataAppendValue10
      Src: /src/tdengine/source/common/src/tdataformat.c:3848,1
    - Dst: tColDataAppendValue00
      Src: /src/tdengine/source/common/src/tdataformat.c:3851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3853
      start: 3844
    functionDepth: 3
    functionLinenumber: 3844
    functionLinenumberEnd: 3853
    functionName: tColDataUpdateValue10
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue00
    - tColDataAppendValue10
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue10(SColData *pColData, uint8_t *pData,
      uint32_t nData, bool forward)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tColDataAppendValue12
      Src: /src/tdengine/source/common/src/tdataformat.c:3858,1
    - Dst: tColDataAppendValue02
      Src: /src/tdengine/source/common/src/tdataformat.c:3861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3854
    functionDepth: 2
    functionLinenumber: 3854
    functionLinenumberEnd: 3864
    functionName: tColDataUpdateValue12
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue12
    - tColDataAppendValue02
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue12(SColData *pColData, uint8_t *pData,
      uint32_t nData, bool forward)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tColDataAppendValue20
      Src: /src/tdengine/source/common/src/tdataformat.c:3870,1
    - Dst: tColDataAppendValue00
      Src: /src/tdengine/source/common/src/tdataformat.c:3873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3877
      start: 3865
    functionDepth: 3
    functionLinenumber: 3865
    functionLinenumberEnd: 3877
    functionName: tColDataUpdateValue20
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue00
    - tColDataAppendValue20
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue20(SColData *pColData, uint8_t *pData,
      uint32_t nData, bool forward)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3879,1
    - Dst: tColDataAppendValue30
      Src: /src/tdengine/source/common/src/tdataformat.c:3883,1
    - Dst: tColDataAppendValue20
      Src: /src/tdengine/source/common/src/tdataformat.c:3886,1
    - Dst: tColDataAppendValue30
      Src: /src/tdengine/source/common/src/tdataformat.c:3892,1
    - Dst: tColDataAppendValue10
      Src: /src/tdengine/source/common/src/tdataformat.c:3895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3878
    functionDepth: 3
    functionLinenumber: 3878
    functionLinenumberEnd: 3899
    functionName: tColDataUpdateValue30
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - tColDataAppendValue10
    - tColDataAppendValue20
    - tColDataAppendValue30
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue30(SColData *pColData, uint8_t *pData,
      uint32_t nData, bool forward)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3901,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3911
      start: 3900
    functionDepth: 1
    functionLinenumber: 3900
    functionLinenumberEnd: 3911
    functionName: tColDataUpdateValue32
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - SET_BIT1
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue32(SColData *pColData, uint8_t *pData,
      uint32_t nData, bool forward)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3915,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3923
      start: 3912
    functionDepth: 2
    functionLinenumber: 3912
    functionLinenumberEnd: 3923
    functionName: tColDataUpdateValue40
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataPutValue
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue40(SColData *pColData, uint8_t *pData,
      uint32_t nData, bool forward)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3929,1
    - Dst: tColDataAppendValue42
      Src: /src/tdengine/source/common/src/tdataformat.c:3934,1
    - Dst: tColDataAppendValue02
      Src: /src/tdengine/source/common/src/tdataformat.c:3938,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3942
      start: 3924
    functionDepth: 3
    functionLinenumber: 3924
    functionLinenumberEnd: 3942
    functionName: tColDataUpdateValue42
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue02
    - tColDataAppendValue42
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue42(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:3944,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3947,1
    - Dst: tColDataAppendValue50
      Src: /src/tdengine/source/common/src/tdataformat.c:3951,1
    - Dst: tColDataAppendValue40
      Src: /src/tdengine/source/common/src/tdataformat.c:3954,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3958,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3966
      start: 3943
    functionDepth: 3
    functionLinenumber: 3943
    functionLinenumberEnd: 3966
    functionName: tColDataUpdateValue50
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue50
    - tColDataPutValue
    - GET_BIT1
    - tColDataAppendValue40
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue50(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:3968,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3971,1
    - Dst: tColDataAppendValue52
      Src: /src/tdengine/source/common/src/tdataformat.c:3975,1
    - Dst: tColDataAppendValue42
      Src: /src/tdengine/source/common/src/tdataformat.c:3978,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3984,1
    - Dst: tColDataAppendValue52
      Src: /src/tdengine/source/common/src/tdataformat.c:3989,1
    - Dst: tColDataAppendValue12
      Src: /src/tdengine/source/common/src/tdataformat.c:3993,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3997
      start: 3967
    functionDepth: 3
    functionLinenumber: 3967
    functionLinenumberEnd: 3997
    functionName: tColDataUpdateValue52
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue52
    - tColDataAppendValue12
    - tColDataAppendValue42
    - GET_BIT1
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue52(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:4000,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4003,1
    - Dst: tColDataAppendValue60
      Src: /src/tdengine/source/common/src/tdataformat.c:4007,1
    - Dst: tColDataAppendValue40
      Src: /src/tdengine/source/common/src/tdataformat.c:4010,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4014,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 3998
    functionDepth: 3
    functionLinenumber: 3998
    functionLinenumberEnd: 4023
    functionName: tColDataUpdateValue60
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue60
    - tColDataPutValue
    - GET_BIT1
    - tColDataAppendValue40
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue60(SColData *pColData, uint8_t *pData,
      uint32_t nData, bool forward)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4025,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4029,1
    - Dst: tColDataAppendValue62
      Src: /src/tdengine/source/common/src/tdataformat.c:4034,1
    - Dst: tColDataAppendValue20
      Src: /src/tdengine/source/common/src/tdataformat.c:4038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4042
      start: 4024
    functionDepth: 3
    functionLinenumber: 4024
    functionLinenumberEnd: 4042
    functionName: tColDataUpdateValue62
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - tColDataAppendValue20
    - tColDataAppendValue62
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue62(SColData *pColData, uint8_t *pData,
      uint32_t nData, bool forward)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4046,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4050,1
    - Dst: tColDataAppendValue70
      Src: /src/tdengine/source/common/src/tdataformat.c:4054,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4057,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4057,1
    - Dst: tColDataAppendValue60
      Src: /src/tdengine/source/common/src/tdataformat.c:4060,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4066,1
    - Dst: tColDataAppendValue70
      Src: /src/tdengine/source/common/src/tdataformat.c:4070,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4073,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4073,1
    - Dst: tColDataAppendValue50
      Src: /src/tdengine/source/common/src/tdataformat.c:4076,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4082,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4087,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4043
    functionDepth: 3
    functionLinenumber: 4043
    functionLinenumberEnd: 4093
    functionName: tColDataUpdateValue70
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataAppendValue50
    - SET_BIT1
    - tColDataAppendValue60
    - tColDataPutValue
    - tColDataAppendValue70
    - GET_BIT2
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateValue70(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:4095,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4099,1
    - Dst: tColDataAppendValue72
      Src: /src/tdengine/source/common/src/tdataformat.c:4103,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4106,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4106,1
    - Dst: tColDataAppendValue62
      Src: /src/tdengine/source/common/src/tdataformat.c:4109,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4115,1
    - Dst: tColDataAppendValue72
      Src: /src/tdengine/source/common/src/tdataformat.c:4120,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4123,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4123,1
    - Dst: tColDataAppendValue32
      Src: /src/tdengine/source/common/src/tdataformat.c:4127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4131
      start: 4094
    functionDepth: 3
    functionLinenumber: 4094
    functionLinenumberEnd: 4131
    functionName: tColDataUpdateValue72
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - SET_BIT1
    - tColDataAppendValue32
    - tColDataAppendValue72
    - GET_BIT2
    - IS_VAR_DATA_TYPE
    - tColDataAppendValue62
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataUpdateValue72(SColData *pColData, uint8_t *pData, uint32_t
      nData, bool forward)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4134
      start: 4132
    functionDepth: 0
    functionLinenumber: 4132
    functionLinenumberEnd: 4134
    functionName: tColDataUpdateNothing
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataUpdateNothing(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:4154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pColData
    - pColVal
    - forward
    argTypes:
    - SColData*
    - SColVal*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4155
      start: 4147
    functionDepth: 1
    functionLinenumber: 4147
    functionLinenumberEnd: 4155
    functionName: tColDataUpdateValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - VALUE_GET_DATUM
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataUpdateValue(SColData *pColData, SColVal *pColVal, bool
      forward)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:4158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4159
      start: 4157
    functionDepth: 1
    functionLinenumber: 4157
    functionLinenumberEnd: 4159
    functionName: tColDataGetValue1
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - COL_VAL_NONE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataGetValue1(SColData *pColData, int32_t iVal, SColVal
      *pColVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:4161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4162
      start: 4160
    functionDepth: 1
    functionLinenumber: 4160
    functionLinenumberEnd: 4162
    functionName: tColDataGetValue2
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - COL_VAL_NULL
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataGetValue2(SColData *pColData, int32_t iVal, SColVal
      *pColVal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4165,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:4167,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:4170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4175
      start: 4163
    functionDepth: 1
    functionLinenumber: 4163
    functionLinenumberEnd: 4175
    functionName: tColDataGetValue3
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - COL_VAL_NULL
    - COL_VAL_NONE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE tColDataGetValue3(SColData *pColData, int32_t iVal,\n
      \                                          SColVal *pColVal)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4178,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:4186,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:4189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4190
      start: 4176
    functionDepth: 1
    functionLinenumber: 4176
    functionLinenumberEnd: 4190
    functionName: tColDataGetValue4
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - COL_VAL_VALUE
    - valueSetDatum
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataGetValue4(SColData *pColData, int32_t iVal, SColVal
      *pColVal)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4193,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:4195,1
    - Dst: tColDataGetValue4
      Src: /src/tdengine/source/common/src/tdataformat.c:4198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4203
      start: 4191
    functionDepth: 2
    functionLinenumber: 4191
    functionLinenumberEnd: 4203
    functionName: tColDataGetValue5
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetValue4
    - GET_BIT1
    - COL_VAL_NONE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE tColDataGetValue5(SColData *pColData, int32_t iVal,\n
      \                                          SColVal *pColVal)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4206,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:4208,1
    - Dst: tColDataGetValue4
      Src: /src/tdengine/source/common/src/tdataformat.c:4211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4216
      start: 4204
    functionDepth: 2
    functionLinenumber: 4204
    functionLinenumberEnd: 4216
    functionName: tColDataGetValue6
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - COL_VAL_NULL
    - tColDataGetValue4
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE tColDataGetValue6(SColData *pColData, int32_t iVal,\n
      \                                          SColVal *pColVal)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4219,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:4221,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:4224,1
    - Dst: tColDataGetValue4
      Src: /src/tdengine/source/common/src/tdataformat.c:4227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4232
      start: 4217
    functionDepth: 2
    functionLinenumber: 4217
    functionLinenumberEnd: 4232
    functionName: tColDataGetValue7
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetValue4
    - GET_BIT2
    - COL_VAL_NULL
    - COL_VAL_NONE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE tColDataGetValue7(SColData *pColData, int32_t iVal,\n
      \                                          SColVal *pColVal)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4250
      start: 4243
    functionDepth: 0
    functionLinenumber: 4243
    functionLinenumberEnd: 4250
    functionName: tColDataGetValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataGetValue(SColData *pColData, int32_t iVal, SColVal
      *pColVal)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4259,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4263,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4265,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - pColData
    - iVal
    argTypes:
    - SColData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4271
      start: 4252
    functionDepth: 1
    functionLinenumber: 4252
    functionLinenumberEnd: 4271
    functionName: tColDataGetBitValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - GET_BIT2
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t tColDataGetBitValue(const SColData *pColData, int32_t iVal)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xMalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4283,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4283,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4288,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4288,1
    - Dst: xMalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4291,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4291,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4296,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4296,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4304,1
    - Dst: xMalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4305,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4310,1
    - Dst: xMalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4317,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4323,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - pColDataFrom
    - pColData
    - xMalloc
    - arg
    argTypes:
    - SColData*
    - SColData*
    - xMallocFn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4330
      start: 4273
    functionDepth: 1
    functionLinenumber: 4273
    functionLinenumberEnd: 4330
    functionName: tColDataCopy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memcpy
    - xMalloc
    - BIT1_SIZE
    - BIT2_SIZE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataCopy(SColData *pColDataFrom, SColData *pColData, xMallocFn
      xMalloc, void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:4353,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4361,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:4363,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:4372,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4374,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4382,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4387,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:4396,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4398,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:4415,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4417,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4424,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - colData
    - info
    - output
    - assist
    argTypes:
    - SColData*
    - SColDataCompressInfo*
    - SBuffer*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4426
      start: 4332
    functionDepth: 1
    functionLinenumber: 4332
    functionLinenumberEnd: 4426
    functionName: tColDataCompress
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tCompressDataToBuffer
    - tBufferDestroy
    - BIT1_SIZE
    - tBufferInit
    - BIT2_SIZE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataCompress(SColData *colData, SColDataCompressInfo *info,
      SBuffer *output, SBuffer *assist)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:4433,1
    - Dst: tColDataClear
      Src: /src/tdengine/source/common/src/tdataformat.c:4438,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4458,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4460,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:4464,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4466,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4486,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4488,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:4492,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4494,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:4512,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4514,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:4518,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4520,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4540,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4550,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 85
    argCount: 4
    argNames:
    - input
    - info
    - colData
    - assist
    argTypes:
    - void*
    - SColDataCompressInfo*
    - SColData*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4552
      start: 4428
    functionDepth: 2
    functionLinenumber: 4428
    functionLinenumberEnd: 4552
    functionName: tColDataDecompress
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tRealloc
    - tBufferDestroy
    - tColDataClear
    - tColDataGetBitValue
    - tDecompressData
    - tBufferInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataDecompress(void *input, SColDataCompressInfo *info,
      SColData *colData, SBuffer *assist)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4568,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:4569,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4581,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4581,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4582,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4582,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:4587,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4588,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4603,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4604,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4605,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:4609,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4610,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdataformat.c:4618,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdataformat.c:4642,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 99
    argCount: 6
    argNames:
    - pColData
    - type
    - bytes
    - nRows
    - lengthOrbitmap
    - data
    argTypes:
    - SColData*
    - int8_t
    - int32_t
    - int32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4654
      start: 4554
    functionDepth: 1
    functionLinenumber: 4554
    functionLinenumberEnd: 4654
    functionName: tColDataAddValueByDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - blobDataTLen
    - uError
    - blobDataLen
    - varDataTLen
    - BMIsNull
    - IS_STR_DATA_BLOB
    - varDataLen
    - varDataVal
    - blobDataVal
    - 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,\n                                    char
      *data)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4669,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:4670,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4682,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4683,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4683,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:4688,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4689,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4704,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4705,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4706,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:4711,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:4711,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdataformat.c:4719,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdataformat.c:4743,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 99
    argCount: 7
    argNames:
    - pColData
    - type
    - bytes
    - nRows
    - lengthOrbitmap
    - data
    - pBlobSet
    argTypes:
    - SColData*
    - int8_t
    - int32_t
    - int32_t
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4755
      start: 4655
    functionDepth: 1
    functionLinenumber: 4655
    functionLinenumberEnd: 4755
    functionName: tColDataAddValueByDataBlockWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - blobDataTLen
    - uError
    - blobDataLen
    - varDataTLen
    - BMIsNull
    - IS_STR_DATA_BLOB
    - varDataLen
    - varDataVal
    - blobDataVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tColDataAddValueByDataBlockWithBlob(SColData *pColData, int8_t
      type, int32_t bytes, int32_t nRows,\n                                            char
      *lengthOrbitmap, char *data, void *pBlobSet)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4767,1
    - Dst: igeos
      Src: /src/tdengine/source/common/src/tdataformat.c:4769,1
    - Dst: cgeos
      Src: /src/tdengine/source/common/src/tdataformat.c:4786,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4788,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdataformat.c:4800,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 80
    argCount: 5
    argNames:
    - pColData
    - pBind
    - buffMaxLen
    - igeos
    - cgeos
    argTypes:
    - SColData*
    - TAOS_MULTI_BIND*
    - int32_t
    - initGeosFn
    - checkWKBGeometryFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4840
      start: 4757
    functionDepth: 1
    functionLinenumber: 4757
    functionLinenumberEnd: 4840
    functionName: tColDataAddValueByBind
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - uError
    - memcmp
    - cgeos
    - igeos
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tColDataAddValueByBind(SColData *pColData, TAOS_MULTI_BIND
      *pBind, int32_t buffMaxLen, initGeosFn igeos,\n                               checkWKBGeometryFn
      cgeos)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4851,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdataformat.c:4878,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 97
    argCount: 3
    argNames:
    - pColData
    - pBind
    - buffMaxLen
    argTypes:
    - SColData*
    - TAOS_STMT2_BIND*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4940
      start: 4842
    functionDepth: 0
    functionLinenumber: 4842
    functionLinenumberEnd: 4940
    functionName: tColDataAddValueByBind2
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - memcmp
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataAddValueByBind2(SColData *pColData, TAOS_STMT2_BIND
      *pBind, int32_t buffMaxLen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: igeos
      Src: /src/tdengine/source/common/src/tdataformat.c:4956,1
    - Dst: cgeos
      Src: /src/tdengine/source/common/src/tdataformat.c:4978,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:4980,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 5
    argNames:
    - pColData
    - pBind
    - buffMaxLen
    - igeos
    - cgeos
    argTypes:
    - SColData*
    - TAOS_STMT2_BIND*
    - int32_t
    - initGeosFn
    - checkWKBGeometryFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4990
      start: 4942
    functionDepth: 1
    functionLinenumber: 4942
    functionLinenumberEnd: 4990
    functionName: tColDataAddValueByBind2WithGeos
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - uError
    - cgeos
    - igeos
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tColDataAddValueByBind2WithGeos(SColData *pColData, TAOS_STMT2_BIND
      *pBind, int32_t buffMaxLen,\n                                        initGeosFn
      igeos, checkWKBGeometryFn cgeos)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:5002,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 4
    argNames:
    - pColData
    - pBind
    - buffMaxLen
    - pBlobSet
    argTypes:
    - SColData*
    - TAOS_STMT2_BIND*
    - int32_t
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5027
      start: 4992
    functionDepth: 0
    functionLinenumber: 4992
    functionLinenumberEnd: 5027
    functionName: tColDataAddValueByBind2WithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - IS_STR_DATA_BLOB
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tColDataAddValueByBind2WithBlob(SColData *pColData, TAOS_STMT2_BIND
      *pBind, int32_t buffMaxLen,\n                                        SBlobSet
      *pBlobSet)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:5039,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/common/src/tdataformat.c:5060,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:5065,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/common/src/tdataformat.c:5070,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:5075,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:5077,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/common/src/tdataformat.c:5077,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:5079,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 5
    argNames:
    - pColData
    - pBind
    - buffMaxLen
    - precision
    - scale
    argTypes:
    - SColData*
    - TAOS_STMT2_BIND*
    - int32_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5086
      start: 5029
    functionDepth: 7
    functionLinenumber: 5029
    functionLinenumberEnd: 5086
    functionName: tColDataAddValueByBind2WithDecimal
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - IS_DECIMAL_TYPE
    - DECIMAL64_GET_VALUE
    - memcpy
    - decimal128FromStr
    - taosMemCalloc
    - DECIMAL_WORD_NUM
    - taosMemoryFree
    - decimal64FromStr
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tColDataAddValueByBind2WithDecimal(SColData *pColData, TAOS_STMT2_BIND
      *pBind, int32_t buffMaxLen,\n                                           uint8_t
      precision, uint8_t scale)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: schemaHasBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:5102,1
    - Dst: taosqsort_r
      Src: /src/tdengine/source/common/src/tdataformat.c:5104,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5115,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5118,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5119,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5124,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5133,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5134,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5135,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:5142,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5147,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5152,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5154,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5164,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:5166,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:5168,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:5174,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:5175,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5177,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5181,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5189,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5193,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5204,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/common/src/tdataformat.c:5209,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5211,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/common/src/tdataformat.c:5213,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5216,1
    - Dst: decimal128ToDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:5221,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5222,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5226,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/common/src/tdataformat.c:5231,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5233,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/common/src/tdataformat.c:5235,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5237,1
    - Dst: decimal64ToDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:5239,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5240,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:5247,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:5250,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5252,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdataformat.c:5262,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5263,1
    - Dst: tRowBuildWithBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:5266,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5267,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5270,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5277,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5279,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdataformat.c:5281,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5288,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5294,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5307,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5309,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdataformat.c:5311,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5315,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5317,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5318,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 172
    argCount: 9
    argNames:
    - infos
    - numOfInfos
    - parsedCols
    - infoSorted
    - pTSchema
    - pSchemaExt
    - rowArray
    - pOrdered
    - pDupTs
    argTypes:
    - SBindInfo2*
    - int32_t
    - SSHashObj*
    - bool
    - STSchema*
    - SSchemaExt*
    - SArray*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5320
      start: 5096
    functionDepth: 7
    functionLinenumber: 5096
    functionLinenumberEnd: 5320
    functionName: tRowBuildFromBind2
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - taosArrayPush
    - tRowGetKey
    - taosMemoryFreeClear
    - TAOS_CHECK_GOTO
    - decimal128FromStr
    - COL_VAL_NULL
    - tRowBuildWithBlob
    - taosArrayDestroy
    - taosqsort_r
    - valueSetDatum
    - taosArrayGet
    - TARRAY_DATA
    - tRowBuild
    - decimal128ToDataVal
    - taosArrayGetSize
    - taosArrayClear
    - decimalFromTypeMod
    - tSimpleHashGet
    - schemaHasBlob
    - COL_VAL_NONE
    - decimal64ToDataVal
    - COL_VAL_VALUE
    - uError
    - tRowKeyCompare
    - IS_STR_DATA_BLOB
    - taosArrayInit
    - decimal64FromStr
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowBuildFromBind2(SBindInfo2 *infos, int32_t numOfInfos,
      SSHashObj *parsedCols, bool infoSorted,\n                           const STSchema
      *pTSchema, const SSchemaExt *pSchemaExt, SArray *rowArray, bool *pOrdered,\n
      \                          bool *pDupTs)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: schemaHasBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:5336,1
    - Dst: taosqsort_r
      Src: /src/tdengine/source/common/src/tdataformat.c:5338,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5349,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5352,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5353,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5358,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5367,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5368,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5369,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:5376,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5381,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5386,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5388,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5398,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:5400,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:5402,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:5408,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:5409,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5411,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5415,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5423,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5427,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5437,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/common/src/tdataformat.c:5442,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5444,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/common/src/tdataformat.c:5446,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5449,1
    - Dst: decimal128ToDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:5451,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5452,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5456,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/common/src/tdataformat.c:5461,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5463,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/common/src/tdataformat.c:5465,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5467,1
    - Dst: decimal64ToDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:5469,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5470,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:5477,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:5480,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5482,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdataformat.c:5492,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5493,1
    - Dst: tRowBuildWithBlob
      Src: /src/tdengine/source/common/src/tdataformat.c:5496,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdataformat.c:5497,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:5500,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5507,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5509,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdataformat.c:5511,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5518,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5524,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5537,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5539,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdataformat.c:5541,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:5545,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5547,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5548,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 172
    argCount: 10
    argNames:
    - infos
    - numOfInfos
    - parsedCols
    - infoSorted
    - pTSchema
    - pSchemaExt
    - rowArray
    - pOrdered
    - pDupTs
    - pBlobSet
    argTypes:
    - SBindInfo2*
    - int32_t
    - SSHashObj*
    - bool
    - STSchema*
    - SSchemaExt*
    - SArray*
    - bool*
    - bool*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5550
      start: 5330
    functionDepth: 7
    functionLinenumber: 5330
    functionLinenumberEnd: 5550
    functionName: tRowBuildFromBind2WithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tRowGetKey
    - taosMemoryFreeClear
    - TAOS_CHECK_GOTO
    - decimal128FromStr
    - COL_VAL_NULL
    - tRowBuildWithBlob
    - taosArrayDestroy
    - taosqsort_r
    - valueSetDatum
    - taosArrayGet
    - TARRAY_DATA
    - tRowBuild
    - decimal128ToDataVal
    - taosArrayGetSize
    - taosArrayClear
    - decimalFromTypeMod
    - tSimpleHashGet
    - schemaHasBlob
    - COL_VAL_NONE
    - decimal64ToDataVal
    - COL_VAL_VALUE
    - uError
    - tRowKeyCompare
    - IS_STR_DATA_BLOB
    - taosArrayInit
    - decimal64FromStr
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tRowBuildFromBind2WithBlob(SBindInfo2 *infos, int32_t numOfInfos,
      SSHashObj *parsedCols, bool infoSorted,\n                                   const
      STSchema *pTSchema, const SSchemaExt *pSchemaExt, SArray *rowArray,\n                                   bool
      *pOrdered, bool *pDupTs, SBlobSet *pBlobSet)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:5555,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:5567,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:5570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pFromColData
    - iFromRow
    - pToColData
    - iToRow
    argTypes:
    - SColData*
    - int32_t
    - SColData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5574
      start: 5552
    functionDepth: 0
    functionLinenumber: 5552
    functionLinenumberEnd: 5574
    functionName: tColDataCopyRowCell
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataCopyRowCell(SColData *pFromColData, int32_t iFromRow,
      SColData *pToColData, int32_t iToRow)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5583,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5586,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:5589,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5591,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5593,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5596,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5597,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:5597,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:5600,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5602,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5604,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5605,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:5605,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:5608,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5610,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:5612,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5613,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:5613,1
    - Dst: SET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:5616,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:5616,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5617,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:5617,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 4
    argNames:
    - pFromColData
    - iFromRow
    - pToColData
    - iToRow
    argTypes:
    - SColData*
    - int32_t
    - SColData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5624
      start: 5576
    functionDepth: 1
    functionLinenumber: 5576
    functionLinenumberEnd: 5624
    functionName: tColDataCopyRowSingleCol
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataCopyRowCell
    - TAOS_CHECK_RETURN
    - ROW_SET_BITMAP
    - GET_BIT2
    - GET_BIT1
    - SET_BIT2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tColDataCopyRowSingleCol(SColData *pFromColData, int32_t iFromRow,
      SColData *pToColData,\n                                        int32_t iToRow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tColDataCopyRowSingleCol
      Src: /src/tdengine/source/common/src/tdataformat.c:5631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - aFromColData
    - iFromRow
    - aToColData
    - iToRow
    - nColData
    argTypes:
    - SColData*
    - int32_t
    - SColData*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5638
      start: 5626
    functionDepth: 2
    functionLinenumber: 5626
    functionLinenumberEnd: 5638
    functionName: tColDataCopyRow
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataCopyRowSingleCol
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tColDataCopyRow(SColData *aFromColData, int32_t iFromRow,
      SColData *aToColData, int32_t iToRow,\n                               int32_t
      nColData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/src/tdataformat.c:5645,1
    - Dst: tColDataAppendValue
      Src: /src/tdengine/source/common/src/tdataformat.c:5649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - aFromColData
    - iFromRow
    - aToColData
    - nColData
    argTypes:
    - SColData*
    - int32_t
    - SColData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5656
      start: 5640
    functionDepth: 2
    functionLinenumber: 5640
    functionLinenumberEnd: 5656
    functionName: tColDataCopyRowAppend
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetValue
    - tColDataAppendValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataCopyRowAppend(SColData *aFromColData, int32_t iFromRow,
      SColData *aToColData, int32_t nColData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tColDataGetValue4
      Src: /src/tdengine/source/common/src/tdataformat.c:5666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - aColData
    - nColData
    - iRow
    - key
    argTypes:
    - SColData*
    - int32_t
    - int32_t
    - SRowKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5672
      start: 5658
    functionDepth: 2
    functionLinenumber: 5658
    functionLinenumberEnd: 5672
    functionName: tColDataArrGetRowKey
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetValue4
    linkageType: ''
    returnType: void
    signature: void tColDataArrGetRowKey(SColData *aColData, int32_t nColData, int32_t
      iRow, SRowKey *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:5680,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5685,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5689,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5690,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5692,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5693,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:5693,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5694,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5696,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:5696,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5697,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5702,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:5702,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5706,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:5706,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5710,1
    - Dst: tColDataCopyRow
      Src: /src/tdengine/source/common/src/tdataformat.c:5710,1
    - Dst: tColDataDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:5715,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:5717,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - aColData
    - start
    - mid
    - end
    - nColData
    argTypes:
    - SColData*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5721
      start: 5674
    functionDepth: 3
    functionLinenumber: 5674
    functionLinenumberEnd: 5721
    functionName: tColDataMergeSortMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataCopyRow
    - TAOS_CHECK_RETURN
    - tRowKeyCompare
    - tColDataCopyRowAppend
    - tColDataDestroy
    - taosMemoryFree
    - tColDataArrGetRowKey
    - tColDataInit
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataMergeSortMerge(SColData *aColData, int32_t start, int32_t
      mid, int32_t end, int32_t nColData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tColDataMergeSort
      Src: /src/tdengine/source/common/src/tdataformat.c:5733,1
    - Dst: tColDataMergeSort
      Src: /src/tdengine/source/common/src/tdataformat.c:5738,1
    - Dst: tColDataMergeSortMerge
      Src: /src/tdengine/source/common/src/tdataformat.c:5743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - aColData
    - start
    - end
    - nColData
    argTypes:
    - SColData*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5744
      start: 5723
    functionDepth: 4
    functionLinenumber: 5723
    functionLinenumberEnd: 5744
    functionName: tColDataMergeSort
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - tColDataMergeSortMerge
    - tColDataMergeSort
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataMergeSort(SColData *aColData, int32_t start, int32_t
      end, int32_t nColData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tColDataMergeSort
      Src: /src/tdengine/source/common/src/tdataformat.c:5751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - aColData
    - nColData
    argTypes:
    - SColData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5752
      start: 5746
    functionDepth: 5
    functionLinenumber: 5746
    functionLinenumberEnd: 5752
    functionName: tColDataSort
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataMergeSort
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataSort(SColData *aColData, int32_t nColData)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5759,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5759,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5764,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5765,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/tdataformat.c:5767,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/common/src/tdataformat.c:5772,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5775,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5779,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5779,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5779,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5781,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5782,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5783,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5784,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/src/tdataformat.c:5787,1
    - Dst: tColDataAppendValue
      Src: /src/tdengine/source/common/src/tdataformat.c:5791,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:5798,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5799,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:5800,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/src/tdataformat.c:5803,1
    - Dst: tColDataUpdateValue
      Src: /src/tdengine/source/common/src/tdataformat.c:5807,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/tdataformat.c:5817,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/tdataformat.c:5819,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 1
    argNames:
    - colArr
    argTypes:
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5823
      start: 5754
    functionDepth: 3
    functionLinenumber: 5754
    functionLinenumberEnd: 5823
    functionName: tColDataMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetValue
    - taosArrayDestroyEx
    - taosArrayGet
    - TARRAY_DATA
    - tRowKeyCompare
    - taosArrayReserve
    - taosArrayGetSize
    - taosArrayInit
    - tColDataArrGetRowKey
    - tColDataAppendValue
    - tColDataInit
    - tColDataUpdateValue
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataMerge(SArray **colArr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:5827,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5828,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5846,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5849,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5851,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5865,1
    - Dst: tColDataSort
      Src: /src/tdengine/source/common/src/tdataformat.c:5865,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5869,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5872,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5874,1
    - Dst: tColDataMerge
      Src: /src/tdengine/source/common/src/tdataformat.c:5885,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 1
    argNames:
    - arr
    argTypes:
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5891
      start: 5825
    functionDepth: 6
    functionLinenumber: 5825
    functionLinenumberEnd: 5891
    functionName: tColDataSortMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - TARRAY_SIZE
    - TAOS_CHECK_RETURN
    - TARRAY_DATA
    - tColDataSort
    - tRowKeyCompare
    - tColDataMerge
    - tColDataArrGetRowKey
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataSortMerge(SArray **arr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:5895,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:5896,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5914,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5917,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5919,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:5935,1
    - Dst: tColDataSort
      Src: /src/tdengine/source/common/src/tdataformat.c:5935,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5939,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:5942,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:5944,1
    - Dst: tColDataMerge
      Src: /src/tdengine/source/common/src/tdataformat.c:5955,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 2
    argNames:
    - arr
    - pBlob
    argTypes:
    - SArray**
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5961
      start: 5893
    functionDepth: 6
    functionLinenumber: 5893
    functionLinenumberEnd: 5961
    functionName: tColDataSortMergeWithBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - TARRAY_SIZE
    - TAOS_CHECK_RETURN
    - TARRAY_DATA
    - tColDataSort
    - tRowKeyCompare
    - tColDataMerge
    - tColDataArrGetRowKey
    linkageType: ''
    returnType: int32_t
    signature: int32_t tColDataSortMergeWithBlob(SArray **arr, SBlobSet *pBlob)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:5966,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:5967,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:5968,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:5969,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:5976,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:5976,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:5980,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:5980,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:5989,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:5990,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:5993,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:5996,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:5999,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - pEncoder
    - pColData
    argTypes:
    - SEncoder*
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6005
      start: 5963
    functionDepth: 1
    functionLinenumber: 5963
    functionLinenumberEnd: 6005
    functionName: tEncodeColDataVersion0
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeI32v
    - BIT1_SIZE
    - tEncodeFixed
    - BIT2_SIZE
    - tEncodeI16v
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeColDataVersion0(SEncoder *pEncoder, SColData *pColData)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:6010,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6011,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6012,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6013,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6024,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:6024,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6028,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:6028,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:6037,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6038,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6041,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6044,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6048,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 2
    argNames:
    - pDecoder
    - pColData
    argTypes:
    - SDecoder*
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6055
      start: 6007
    functionDepth: 1
    functionLinenumber: 6007
    functionLinenumberEnd: 6055
    functionName: tDecodeColDataVersion0
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryWithSize
    - BIT1_SIZE
    - BIT2_SIZE
    - tDecodeI8
    - tDecodeI16v
    - tDecodeI32v
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeColDataVersion0(SDecoder *pDecoder, SColData *pColData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeColDataVersion0
      Src: /src/tdengine/source/common/src/tdataformat.c:6058,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pEncoder
    - pColData
    argTypes:
    - SEncoder*
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6061
      start: 6057
    functionDepth: 2
    functionLinenumber: 6057
    functionLinenumberEnd: 6061
    functionName: tEncodeColDataVersion1
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeColDataVersion0
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeColDataVersion1(SEncoder *pEncoder, SColData *pColData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeColDataVersion0
      Src: /src/tdengine/source/common/src/tdataformat.c:6064,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pColData
    argTypes:
    - SDecoder*
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6069
      start: 6063
    functionDepth: 2
    functionLinenumber: 6063
    functionLinenumberEnd: 6069
    functionName: tDecodeColDataVersion1
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tDecodeColDataVersion0
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeColDataVersion1(SDecoder *pDecoder, SColData *pColData)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeColDataVersion0
      Src: /src/tdengine/source/common/src/tdataformat.c:6073,1
    - Dst: tEncodeColDataVersion1
      Src: /src/tdengine/source/common/src/tdataformat.c:6075,1
    - Dst: tEncodeColDataVersion1
      Src: /src/tdengine/source/common/src/tdataformat.c:6079,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - version
    - pEncoder
    - pColData
    argTypes:
    - uint8_t
    - SEncoder*
    - SColData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6090
      start: 6071
    functionDepth: 3
    functionLinenumber: 6071
    functionLinenumberEnd: 6090
    functionName: tEncodeColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tEncodeColDataVersion1
    - tEncodeColDataVersion0
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeColData(uint8_t version, SEncoder *pEncoder, SColData
      *pColData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeColDataVersion0
      Src: /src/tdengine/source/common/src/tdataformat.c:6094,1
    - Dst: tDecodeColDataVersion1
      Src: /src/tdengine/source/common/src/tdataformat.c:6096,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6100,1
    - Dst: tDecodeColDataVersion1
      Src: /src/tdengine/source/common/src/tdataformat.c:6106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - version
    - pDecoder
    - pColData
    - jump
    argTypes:
    - uint8_t
    - SDecoder*
    - SColData*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6111
      start: 6092
    functionDepth: 3
    functionLinenumber: 6092
    functionLinenumberEnd: 6111
    functionName: tDecodeColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tDecodeColDataVersion0
    - tDecodeColDataVersion1
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeColData(uint8_t version, SDecoder *pDecoder, SColData
      *pColData, bool jump)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:6113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - pRow
    argTypes:
    - SEncoder*
    - SRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6113
      start: 6113
    functionDepth: 1
    functionLinenumber: 6113
    functionLinenumberEnd: 6113
    functionName: tEncodeRow
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tEncodeFixed
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeRow(SEncoder *pEncoder, SRow *pRow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - ppRow
    argTypes:
    - SDecoder*
    - SRow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6126
      start: 6115
    functionDepth: 1
    functionLinenumber: 6115
    functionLinenumberEnd: 6126
    functionName: tDecodeRow
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryWithSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeRow(SDecoder *pDecoder, SRow **ppRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6135,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6135,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6136,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/tdataformat.c:6136,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6138,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6139,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6139,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/tdataformat.c:6142,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:6144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6146,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/tdataformat.c:6146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6147,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6147,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/tdataformat.c:6149,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:6153,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6154,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/tdataformat.c:6154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6155,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/tdataformat.c:6155,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6156,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/tdataformat.c:6156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6157,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6158,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6161,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:6161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - pEncoder
    - pRow
    argTypes:
    - SEncoder*
    - SBlobSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6165
      start: 6128
    functionDepth: 1
    functionLinenumber: 6128
    functionLinenumberEnd: 6165
    functionName: tEncodeBlobSet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - taosHashIterate
    - tEncodeU64
    - taosArrayGet
    - tEncodeU32
    - taosHashGetKey
    - tEncodeFixed
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeBlobSet(SEncoder *pEncoder, SBlobSet *pRow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:6173,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6177,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6178,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/tdataformat.c:6178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6180,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6180,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6183,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/tdataformat.c:6183,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6190,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/tdataformat.c:6190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6191,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6191,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/tdataformat.c:6193,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6194,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6198,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6200,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6205,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/tdataformat.c:6205,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6206,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/tdataformat.c:6206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6207,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/tdataformat.c:6207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6208,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6209,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6209,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:6210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6211,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:6215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdataformat.c:6220,1
    - Dst: tDecodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:6220,1
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdataformat.c:6223,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:6228,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6229,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:6230,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - pDecoder
    - pBlobSet
    argTypes:
    - SDecoder*
    - SBlobSet**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6234
      start: 6167
    functionDepth: 1
    functionLinenumber: 6167
    functionLinenumberEnd: 6234
    functionName: tDecodeBlobSet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - uTrace
    - tDecodeFixed
    - taosArrayDestroy
    - taosMemCalloc
    - taosHashInit
    - taosMemoryFree
    - tDecodeU32
    - taosArrayInit
    - tDecodeI8
    - tDecodeI64
    - taosGetDefaultHashFunction
    - TAOS_CHECK_EXIT
    - taosHashPut
    - tDecodeU64
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeBlobSet(SDecoder *pDecoder, SBlobSet **pBlobSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - SUM
    - ','
    - MAX
    - ','
    - MIN
    - ','
    - VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6242
      start: 6236
    functionDepth: 0
    functionLinenumber: 6236
    functionLinenumberEnd: 6242
    functionName: CALC_SUM_MAX_MIN
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_SUM_MAX_MIN(SUM, MAX, MIN, VAL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6255,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6259,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6273
      start: 6243
    functionDepth: 2
    functionLinenumber: 6243
    functionLinenumberEnd: 6273
    functionName: tColDataCalcSMABool
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMABool(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6287,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6291,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6305
      start: 6275
    functionDepth: 2
    functionLinenumber: 6275
    functionLinenumberEnd: 6305
    functionName: tColDataCalcSMATinyInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMATinyInt(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6319,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6323,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6337
      start: 6307
    functionDepth: 2
    functionLinenumber: 6307
    functionLinenumberEnd: 6337
    functionName: tColDataCalcSMATinySmallInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMATinySmallInt(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6351,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6355,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6369
      start: 6339
    functionDepth: 2
    functionLinenumber: 6339
    functionLinenumberEnd: 6369
    functionName: tColDataCalcSMAInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMAInt(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6383,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6387,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6401
      start: 6371
    functionDepth: 2
    functionLinenumber: 6371
    functionLinenumberEnd: 6401
    functionName: tColDataCalcSMABigInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMABigInt(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6415,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6419,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6433
      start: 6403
    functionDepth: 2
    functionLinenumber: 6403
    functionLinenumberEnd: 6433
    functionName: tColDataCalcSMAFloat
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMAFloat(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6447,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6451,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6465
      start: 6435
    functionDepth: 2
    functionLinenumber: 6435
    functionLinenumberEnd: 6465
    functionName: tColDataCalcSMADouble
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMADouble(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6479,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6483,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6497
      start: 6467
    functionDepth: 2
    functionLinenumber: 6467
    functionLinenumberEnd: 6497
    functionName: tColDataCalcSMAUTinyInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMAUTinyInt(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6511,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6515,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6522,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6529
      start: 6499
    functionDepth: 2
    functionLinenumber: 6499
    functionLinenumberEnd: 6529
    functionName: tColDataCalcSMATinyUSmallInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMATinyUSmallInt(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6543,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6547,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6554,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6561
      start: 6531
    functionDepth: 2
    functionLinenumber: 6531
    functionLinenumberEnd: 6561
    functionName: tColDataCalcSMAUInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMAUInt(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6575,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6579,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6593
      start: 6563
    functionDepth: 2
    functionLinenumber: 6563
    functionLinenumberEnd: 6593
    functionName: tColDataCalcSMAUBigInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMAUBigInt(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:6615,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:6622,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6630
      start: 6595
    functionDepth: 1
    functionLinenumber: 6595
    functionLinenumberEnd: 6630
    functionName: tColDataCalcSMAVarType
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - GET_BIT1
    - GET_BIT2
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMAVarType(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - TYPE
    - ','
    - pSumOp
    - ','
    - pCompOp
    - ','
    - pColData
    - ','
    - pSum
    - ','
    - pMax
    - ','
    - pMin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6643
      start: 6632
    functionDepth: 0
    functionLinenumber: 6632
    functionLinenumberEnd: 6643
    functionName: CALC_DECIMAL_SUM_MAX_MIN
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_DECIMAL_SUM_MAX_MIN(TYPE, pSumOp, pCompOp, pColData, pSum, pMax,
      pMin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOps
      Src: /src/tdengine/source/common/src/tdataformat.c:6655,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/common/src/tdataformat.c:6656,1
    - Dst: CALC_DECIMAL_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6660,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6664,1
    - Dst: CALC_DECIMAL_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6671,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6678
      start: 6644
    functionDepth: 2
    functionLinenumber: 6644
    functionLinenumberEnd: 6678
    functionName: tColDataCalcSMADecimal64Type
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_DECIMAL_SUM_MAX_MIN
    - getDecimalOps
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMADecimal64Type(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOps
      Src: /src/tdengine/source/common/src/tdataformat.c:6691,1
    - Dst: CALC_DECIMAL_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6695,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:6699,1
    - Dst: CALC_DECIMAL_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:6706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6713
      start: 6680
    functionDepth: 2
    functionLinenumber: 6680
    functionLinenumberEnd: 6713
    functionName: tColDataCalcSMADecimal128Type
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tColDataGetBitValue
    - CALC_DECIMAL_SUM_MAX_MIN
    - getDecimalOps
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tColDataCalcSMADecimal128Type(SColData *pColData, SColumnDataAgg
      *pAggs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6744,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - valCol
    argTypes:
    - SValueColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6747
      start: 6741
    functionDepth: 0
    functionLinenumber: 6741
    functionLinenumberEnd: 6747
    functionName: tValueColumnInit
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tValueColumnInit(SValueColumn *valCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6752,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:6753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - valCol
    argTypes:
    - SValueColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6755
      start: 6749
    functionDepth: 0
    functionLinenumber: 6749
    functionLinenumberEnd: 6755
    functionName: tValueColumnDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferDestroy
    linkageType: ''
    returnType: void
    signature: void tValueColumnDestroy(SValueColumn *valCol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBufferClear
      Src: /src/tdengine/source/common/src/tdataformat.c:6760,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/common/src/tdataformat.c:6761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - valCol
    argTypes:
    - SValueColumn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6763
      start: 6757
    functionDepth: 0
    functionLinenumber: 6757
    functionLinenumberEnd: 6763
    functionName: tValueColumnClear
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferClear
    linkageType: ''
    returnType: void
    signature: void tValueColumnClear(SValueColumn *valCol)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:6776,1
    - Dst: tBufferPutI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6777,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6777,1
    - Dst: tBufferPut
      Src: /src/tdengine/source/common/src/tdataformat.c:6780,1
    - Dst: tBufferPut
      Src: /src/tdengine/source/common/src/tdataformat.c:6784,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:6784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - valCol
    - value
    argTypes:
    - SValueColumn*
    - SValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6790
      start: 6765
    functionDepth: 1
    functionLinenumber: 6765
    functionLinenumberEnd: 6790
    functionName: tValueColumnAppend
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferGetSize
    - tBufferPut
    - VALUE_GET_DATUM
    - tBufferPutI32
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tValueColumnAppend(SValueColumn *valCol, const SValue *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:6799,1
    - Dst: tBufferGetData
      Src: /src/tdengine/source/common/src/tdataformat.c:6800,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6801,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:6806,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6806,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdataformat.c:6807,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/common/src/tdataformat.c:6807,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/common/src/tdataformat.c:6807,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6808,1
    - Dst: tBufferPutAt
      Src: /src/tdengine/source/common/src/tdataformat.c:6815,1
    - Dst: tBufferPutAt
      Src: /src/tdengine/source/common/src/tdataformat.c:6817,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:6817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - valCol
    - idx
    - value
    argTypes:
    - SValueColumn*
    - int32_t
    - SValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6821
      start: 6792
    functionDepth: 1
    functionLinenumber: 6792
    functionLinenumberEnd: 6821
    functionName: tValueColumnUpdate
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferGetData
    - tBufferGetSize
    - tBufferGetDataAt
    - tBufferPutAt
    - tBufferEnsureCapacity
    - VALUE_GET_DATUM
    - memmove
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tValueColumnUpdate(SValueColumn *valCol, int32_t idx, const
      SValue *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:6829,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/common/src/tdataformat.c:6831,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:6833,1
    - Dst: tBufferGetI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6833,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:6835,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:6837,1
    - Dst: tBufferGetI32
      Src: /src/tdengine/source/common/src/tdataformat.c:6837,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/common/src/tdataformat.c:6840,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/common/src/tdataformat.c:6842,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:6843,1
    - Dst: tBufferGet
      Src: /src/tdengine/source/common/src/tdataformat.c:6843,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:6843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - valCol
    - idx
    - value
    argTypes:
    - SValueColumn*
    - int32_t
    - SValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6846
      start: 6823
    functionDepth: 1
    functionLinenumber: 6823
    functionLinenumberEnd: 6846
    functionName: tValueColumnGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferGetSize
    - tBufferGetDataAt
    - TAOS_CHECK_RETURN
    - tBufferGet
    - VALUE_GET_DATUM
    - BUFFER_READER_INITIALIZER
    - tBufferGetI32
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tValueColumnGet(SValueColumn *valCol, int32_t idx, SValue *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:6861,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:6868,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:6882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - valCol
    - info
    - output
    - assist
    argTypes:
    - SValueColumn*
    - SValueColumnCompressInfo*
    - SBuffer*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6889
      start: 6848
    functionDepth: 1
    functionLinenumber: 6848
    functionLinenumberEnd: 6889
    functionName: tValueColumnCompress
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tCompressDataToBuffer
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tValueColumnCompress(SValueColumn *valCol, SValueColumnCompressInfo
      *info, SBuffer *output, SBuffer *assist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tValueColumnClear
      Src: /src/tdengine/source/common/src/tdataformat.c:6895,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:6898,1
    - Dst: tDecompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:6908,1
    - Dst: tDecompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:6924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - input
    - info
    - valCol
    - assist
    argTypes:
    - void*
    - SValueColumnCompressInfo*
    - SValueColumn*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6930
      start: 6891
    functionDepth: 1
    functionLinenumber: 6891
    functionLinenumberEnd: 6930
    functionName: tValueColumnDecompress
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tDecompressDataToBuffer
    - tValueColumnClear
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tValueColumnDecompress(void *input, const SValueColumnCompressInfo
      *info, SValueColumn *valCol,\n                               SBuffer *assist)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tBufferPutU8
      Src: /src/tdengine/source/common/src/tdataformat.c:6936,1
    - Dst: tBufferPutI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6937,1
    - Dst: tBufferPutI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6938,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:6939,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6940,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6941,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6943,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6944,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - info
    - buffer
    argTypes:
    - SValueColumnCompressInfo*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6947
      start: 6932
    functionDepth: 0
    functionLinenumber: 6932
    functionLinenumberEnd: 6947
    functionName: tValueColumnCompressInfoEncode
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferPutU8
    - IS_VAR_DATA_TYPE
    - tBufferPutI8
    - tBufferPutI32v
    linkageType: ''
    returnType: int32_t
    signature: int32_t tValueColumnCompressInfoEncode(const SValueColumnCompressInfo
      *info, SBuffer *buffer)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tBufferGetU8
      Src: /src/tdengine/source/common/src/tdataformat.c:6953,1
    - Dst: tBufferGetI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6955,1
    - Dst: tBufferGetI8
      Src: /src/tdengine/source/common/src/tdataformat.c:6956,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:6957,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6958,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6959,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6964,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:6965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - reader
    - info
    argTypes:
    - SBufferReader*
    - SValueColumnCompressInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6971
      start: 6949
    functionDepth: 0
    functionLinenumber: 6949
    functionLinenumberEnd: 6971
    functionName: tValueColumnCompressInfoDecode
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - tBufferGetU8
    - tBufferGetI8
    - tBufferGetI32v
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tValueColumnCompressInfoDecode(SBufferReader *reader, SValueColumnCompressInfo
      *info)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:6988,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:6993,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:6999,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7001,1
    - Dst: compFunc
      Src: /src/tdengine/source/common/src/tdataformat.c:7006,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7017,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7021,1
    - Dst: DEFINE_VAR
      Src: /src/tdengine/source/common/src/tdataformat.c:7023,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:7025,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:7031,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:7035,1
    - Dst: compFunc
      Src: /src/tdengine/source/common/src/tdataformat.c:7037,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7048,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7052,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 5
    argNames:
    - input
    - info
    - output
    - outputSize
    - buffer
    argTypes:
    - void*
    - SCompressInfo*
    - void*
    - int32_t
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7057
      start: 6973
    functionDepth: 1
    functionLinenumber: 6973
    functionLinenumberEnd: 7057
    functionName: tCompressData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 0
    functionsReached:
    - memcpy
    - compFunc
    - tBufferEnsureCapacity
    - tBufferDestroy
    - tBufferInit
    - DEFINE_VAR
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tCompressData(void          *input,       // input\n                      SCompressInfo
      *info,        // compress info\n                      void          *output,
      \     // output\n                      int32_t        outputSize,  // output
      size\n                      SBuffer       *buffer       // assistant buffer
      provided by caller, can be NULL\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:7075,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:7079,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:7085,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7087,1
    - Dst: decompFunc
      Src: /src/tdengine/source/common/src/tdataformat.c:7092,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7103,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7110,1
    - Dst: DEFINE_VAR
      Src: /src/tdengine/source/common/src/tdataformat.c:7112,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:7114,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:7119,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:7123,1
    - Dst: decompFunc
      Src: /src/tdengine/source/common/src/tdataformat.c:7128,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7139,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:7146,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 5
    argNames:
    - input
    - info
    - output
    - outputSize
    - buffer
    argTypes:
    - void*
    - SCompressInfo*
    - void*
    - int32_t
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7150
      start: 7059
    functionDepth: 1
    functionLinenumber: 7059
    functionLinenumberEnd: 7150
    functionName: tDecompressData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - decompFunc
    - memcpy
    - tBufferEnsureCapacity
    - tBufferDestroy
    - tBufferInit
    - DEFINE_VAR
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tDecompressData(void                *input,       // input\n
      \                       const SCompressInfo *info,        // compress info\n
      \                       void                *output,      // output\n                        int32_t
      \             outputSize,  // output size\n                        SBuffer             *buffer
      \      // assistant buffer provided by caller, can be NULL\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:7155,1
    - Dst: tCompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:7158,1
    - Dst: tBufferGetDataEnd
      Src: /src/tdengine/source/common/src/tdataformat.c:7158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - input
    - info
    - output
    - assist
    argTypes:
    - void*
    - SCompressInfo*
    - SBuffer*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7163
      start: 7152
    functionDepth: 2
    functionLinenumber: 7152
    functionLinenumberEnd: 7163
    functionName: tCompressDataToBuffer
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 2
    functionsReached:
    - tBufferEnsureCapacity
    - tBufferGetDataEnd
    - tCompressData
    linkageType: ''
    returnType: int32_t
    signature: int32_t tCompressDataToBuffer(void *input, SCompressInfo *info, SBuffer
      *output, SBuffer *assist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:7168,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:7171,1
    - Dst: tBufferGetDataEnd
      Src: /src/tdengine/source/common/src/tdataformat.c:7171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - input
    - info
    - output
    - assist
    argTypes:
    - void*
    - SCompressInfo*
    - SBuffer*
    - SBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7176
      start: 7165
    functionDepth: 2
    functionLinenumber: 7165
    functionLinenumberEnd: 7176
    functionName: tDecompressDataToBuffer
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - tBufferEnsureCapacity
    - tBufferGetDataEnd
    - tDecompressData
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecompressDataToBuffer(void *input, SCompressInfo *info, SBuffer
      *output, SBuffer *assist)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:7180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - pVal
    - type
    - pDatum
    - len
    argTypes:
    - SValue*
    - int8_t
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7201
      start: 7179
    functionDepth: 0
    functionLinenumber: 7179
    functionLinenumberEnd: 7201
    functionName: valueSetDatum
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 19
    functionsReached:
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void valueSetDatum(SValue *pVal, int8_t type, void *pDatum, uint32_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:7204,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:7205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pDst
    - pSrc
    - type
    argTypes:
    - SValue*
    - SValue*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7210
      start: 7203
    functionDepth: 0
    functionLinenumber: 7203
    functionLinenumberEnd: 7210
    functionName: valueCloneDatum
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void valueCloneDatum(SValue *pDst, const SValue *pSrc, int8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:7212,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdataformat.c:7213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pVal
    - type
    argTypes:
    - SValue*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7218
      start: 7211
    functionDepth: 1
    functionLinenumber: 7211
    functionLinenumberEnd: 7218
    functionName: valueClearDatum
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void valueClearDatum(SValue *pVal, int8_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdataformat.c:7225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pSchema
    argTypes:
    - STSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7230
      start: 7220
    functionDepth: 0
    functionLinenumber: 7220
    functionLinenumberEnd: 7230
    functionName: schemaHasBlob
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: 3
    functionsReached:
    - IS_STR_DATA_BLOB
    linkageType: ''
    returnType: int8_t
    signature: int8_t schemaHasBlob(const STSchema *pSchema)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:26,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pColumnInfoData
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: colDataGetLength
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t colDataGetLength(const SColumnInfoData* pColumnInfoData, int32_t
      numOfRows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:47,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:51,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:54,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pColumnInfoData
    - rowIdx
    argTypes:
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: colDataGetRowLength
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - colDataIsNull_s
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    - colDataGetData
    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:66,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pColumnInfoData
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: colDataGetFullLength
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t colDataGetFullLength(const SColumnInfoData* pColumnInfoData,
      int32_t numOfRows)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:79,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/common/src/tdatablock.c:84,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: getJsonValueLen
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 22
    functionsReached:
    - uError
    - varDataTLen
    - tTagIsJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t getJsonValueLen(const char* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:95,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:96,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:97,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - type
    - pData
    argTypes:
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: getDataLen
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - getJsonValueLen
    - blobDataTLen
    - IS_STR_DATA_BLOB
    - varDataTLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDataLen(int32_t type, const char* pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - int8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: calcStrBytesByType
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 16
    functionsReached:
    - getDataLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t calcStrBytesByType(int8_t type, char* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pColumnInfoData
    argTypes:
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: blockDataGetPagedColumnReservedBytes
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataGetPagedColumnReservedBytes(const SColumnInfoData*
      pColumnInfoData)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pColumnInfoData
    - pData
    - dataLen
    argTypes:
    - SColumnInfoData*
    - char**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: checkAllocLen
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t checkAllocLen(SColumnInfoData* pColumnInfoData, char** pData,
      int32_t dataLen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:140,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/common/src/tdatablock.c:143,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:151,1
    - Dst: getDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:152,1
    - Dst: checkAllocLen
      Src: /src/tdengine/source/common/src/tdatablock.c:164,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:172,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:175,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - pColumnInfoData
    - rowIndex
    - pData
    - isNull
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 180
    functionName: colDataSetValHelp
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - colDataClearNull_f
    - checkAllocLen
    - getDataLen
    - memmove
    - IS_VAR_DATA_TYPE
    - colDataSetNull_f_s
    linkageType: ''
    returnType: int32_t
    signature: int32_t colDataSetValHelp(SColumnInfoData* pColumnInfoData, uint32_t
      rowIndex, const char* pData, bool isNull)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:183,1
    - Dst: colDataSetValHelp
      Src: /src/tdengine/source/common/src/tdatablock.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pColumnInfoData
    - rowIndex
    - pData
    - isNull
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: colDataSetVal
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 193
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetValHelp
      Src: /src/tdengine/source/common/src/tdatablock.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pColumnInfoData
    - rowIndex
    - pData
    - isNull
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: colDataSetValOrCover
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - colDataSetValHelp
    linkageType: ''
    returnType: int32_t
    signature: int32_t colDataSetValOrCover(SColumnInfoData* pColumnInfoData, uint32_t
      rowIndex, const char* pData, bool isNull)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:196,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:206,1
    - Dst: checkAllocLen
      Src: /src/tdengine/source/common/src/tdatablock.c:213,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:221,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:222,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:222,1
    - Dst: blobDataSetLen
      Src: /src/tdengine/source/common/src/tdatablock.c:223,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:226,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:226,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tdatablock.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - pColumnInfoData
    - rowIndex
    - pVarData
    - varDataLen
    - isNull
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 231
    functionName: varColSetVarData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - blobDataSetLen
    - IS_STR_DATA_BLOB
    - checkAllocLen
    - memmove
    - varDataVal
    - blobDataVal
    - varDataSetLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t varColSetVarData(SColumnInfoData* pColumnInfoData, uint32_t
      rowIndex, const char* pVarData, int32_t varDataLen,\n                         bool
      isNull)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:236,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:240,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pColumnInfoData
    - dstRowIdx
    - srcRowIdx
    - pData
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: colDataReassignVal
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - colDataClearNull_f
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t colDataReassignVal(SColumnInfoData* pColumnInfoData, uint32_t
      dstRowIdx, uint32_t srcRowIdx,\n                           const char* pData)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:248,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pColumnInfoData
    - newSize
    argTypes:
    - SColumnInfoData*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 277
    functionName: colDataReserve
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosMemoryRealloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t colDataReserve(SColumnInfoData* pColumnInfoData, size_t newSize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uWarn
      Src: /src/tdengine/source/common/src/tdatablock.c:282,1
    - Dst: log
      Src: /src/tdengine/source/common/src/tdatablock.c:293,1
    - Dst: log
      Src: /src/tdengine/source/common/src/tdatablock.c:293,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:295,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:298,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:302,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:310,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - pColumnInfoData
    - currentRow
    - pData
    - itemLen
    - numOfRows
    - trimValue
    argTypes:
    - struct SColumnInfoData*
    - int32_t
    - char*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 323
    functionName: doCopyNItems
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - memcpy
    - log
    - uWarn
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doCopyNItems(struct SColumnInfoData* pColumnInfoData, int32_t
      currentRow, const char* pData,\n                            int32_t itemLen,
      int32_t numOfRows, bool trimValue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:328,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:329,1
    - Dst: colDataReserve
      Src: /src/tdengine/source/common/src/tdatablock.c:338,1
    - Dst: doCopyNItems
      Src: /src/tdengine/source/common/src/tdatablock.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - pColumnInfoData
    - currentRow
    - pData
    - numOfRows
    - capacity
    - trimValue
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 346
    functionName: colDataSetNItems
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 9
    functionsReached:
    - doCopyNItems
    - colDataReserve
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t colDataSetNItems(SColumnInfoData* pColumnInfoData, uint32_t
      currentRow, const char* pData, uint32_t numOfRows, uint32_t capacity,\n                         bool
      trimValue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:351,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:352,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:356,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:361,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:362,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:369,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:369,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pColumnInfoData
    - currentRow
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 377
    functionName: colDataSetNItemsNull
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 7
    functionsReached:
    - BMCharPos
    - memset
    - colDataSetNull_f
    - BitPos
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void colDataSetNItemsNull(SColumnInfoData* pColumnInfoData, uint32_t
      currentRow, uint32_t numOfRows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tdatablock.c:381,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pColumnInfoData
    - currentRow
    - pData
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 379
    functionDepth: 5
    functionLinenumber: 379
    functionLinenumberEnd: 393
    functionName: colDataCopyAndReassign
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - memset
    - colDataSetVal
    linkageType: ''
    returnType: int32_t
    signature: "int32_t colDataCopyAndReassign(SColumnInfoData* pColumnInfoData, uint32_t
      currentRow, const char* pData,\n                               uint32_t numOfRows)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:399,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:404,1
    - Dst: colDataCopyAndReassign
      Src: /src/tdengine/source/common/src/tdatablock.c:405,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:412,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - pColumnInfoData
    - currentRow
    - pData
    - numOfRows
    - isNull
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 6
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: colDataCopyNItems
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - memcpy
    - colDataCopyAndReassign
    - colDataSetNItemsNull
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t colDataCopyNItems(SColumnInfoData* pColumnInfoData, uint32_t
      currentRow, const char* pData, uint32_t numOfRows,\n                          bool
      isNull)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:434,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:438,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:438,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:438,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:443,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:444,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:446,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:446,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:450,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:453,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:454,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:454,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - pColumnInfoData
    - numOfRow1
    - pSource
    - numOfRow2
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 468
    functionName: doBitmapMerge
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - memset
    - BitmapLen
    - memcpy
    - BitPos
    linkageType: ''
    returnType: void
    signature: "void doBitmapMerge(SColumnInfoData* pColumnInfoData, int32_t numOfRow1,
      const SColumnInfoData* pSource,\n                          int32_t numOfRow2)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:485,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:488,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:509,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:519,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:525,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:531,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:531,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:532,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:532,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:536,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:536,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:537,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:537,1
    - Dst: doBitmapMerge
      Src: /src/tdengine/source/common/src/tdatablock.c:544,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:548,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 5
    argNames:
    - pColumnInfoData
    - numOfRow1
    - capacity
    - pSource
    - numOfRow2
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t*
    - SColumnInfoData*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 553
    functionName: colDataMergeCol
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - memcpy
    - doBitmapMerge
    - memset
    - taosMemoryRealloc
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t colDataMergeCol(SColumnInfoData* pColumnInfoData, int32_t
      numOfRow1, int32_t* capacity,\n                        const SColumnInfoData*
      pSource, int32_t numOfRow2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:565,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:567,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:569,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:580,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:583,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:583,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:585,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - pColumnInfoData
    - pSource
    - numOfRows
    - pBlockInfo
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 594
    functionName: colDataAssign
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 21
    functionsReached:
    - BitmapLen
    - memcpy
    - taosMemoryRealloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t colDataAssign(SColumnInfoData* pColumnInfoData, const SColumnInfoData*
      pSource, int32_t numOfRows,\n                      const SDataBlockInfo* pBlockInfo)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:606,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:611,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:617,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:621,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:634,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:637,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:638,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:639,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:641,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:651,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:660,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:662,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:662,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:668,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:668,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:670,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:671,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:671,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:672,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:677,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:678,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:681,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:687,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:688,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:691,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:698,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 5
    argNames:
    - pDst
    - dstIdx
    - pSrc
    - srcIdx
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SColumnInfoData*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 596
    functionDepth: 4
    functionLinenumber: 596
    functionLinenumberEnd: 704
    functionName: colDataAssignNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 6
    functionsReached:
    - blobDataTLen
    - colDataGetVarData
    - varDataTLen
    - memcpy
    - colDataClearNull_f
    - BMCharPos
    - IS_STR_DATA_BLOB
    - BitPos
    - colDataSetNull_f
    - getJsonValueLen
    - colDataIsNull_f
    - colDataIsNull_var
    - calcStrBytesByType
    - taosMemoryRealloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t colDataAssignNRows(SColumnInfoData* pDst, int32_t dstIdx,
      const SColumnInfoData* pSrc, int32_t srcIdx,\n                           int32_t
      numOfRows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 706
    functionName: blockDataGetNumOfCols
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 17
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: size_t
    signature: size_t blockDataGetNumOfCols(const SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 708
    functionName: blockDataGetNumOfRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 20
    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:715,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:722,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:731,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:732,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:734,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tdatablock.c:735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pDataBlock
    - tsColumnIndex
    argTypes:
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 738
    functionName: blockDataUpdateTsWindow
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 17
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - TMAX
    - TMIN
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataUpdateTsWindow(SSDataBlock* pDataBlock, int32_t tsColumnIndex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:745,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:751,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:756,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:760,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:761,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:765,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:767,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:769,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:771,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:771,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:771,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:772,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:774,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:774,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:774,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:775,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:778,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:780,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:782,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:784,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:784,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:784,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:785,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:787,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:787,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:787,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:788,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - pDataBlock
    - pkColumnIndex
    - asc
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 793
    functionName: blockDataUpdatePkRange
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - colDataGetData
    - varDataLen
    - IS_NUMERIC_TYPE
    - VALUE_SET_TRIVIAL_DATUM
    - taosArrayGetSize
    - varDataVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataUpdatePkRange(SSDataBlock* pDataBlock, int32_t pkColumnIndex,
      bool asc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:798,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:800,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:801,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/common/src/tdatablock.c:807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pDest
    - pSrc
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 817
    functionName: blockDataMerge
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 8
    functionsReached:
    - colDataMergeCol
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataMerge(SSDataBlock* pDest, const SSDataBlock* pSrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:820,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:821,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:823,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:825,1
    - Dst: TSWAP
      Src: /src/tdengine/source/common/src/tdatablock.c:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pDest
    - pSrc
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 835
    functionName: blockDataTransform
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - TSWAP
    linkageType: ''
    returnType: void
    signature: void blockDataTransform(SSDataBlock* pDest, const SSDataBlock* pSrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:840,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:841,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:844,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:846,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:847,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:848,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:849,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:851,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/common/src/tdatablock.c:851,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:859,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - pDest
    - pSrc
    - srcIdx
    - numOfRows
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 837
    functionDepth: 5
    functionLinenumber: 837
    functionLinenumberEnd: 863
    functionName: blockDataMergeNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 9
    functionsReached:
    - uError
    - taosArrayGet
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - colDataAssignNRows
    - tstrerror
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataMergeNRows(SSDataBlock* pDest, const SSDataBlock*
      pSrc, int32_t srcIdx, int32_t numOfRows)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/common/src/tdatablock.c:871,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:875,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:877,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:882,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:884,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:888,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:889,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:896,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:896,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:900,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - pBlock
    - numOfRows
    argTypes:
    - SSDataBlock*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 906
    functionName: blockDataShrinkNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - colDataClearNull_f
    - taosArrayGet
    - blockDataCleanup
    - BMCharPos
    - memset
    - taosArrayGetSize
    - BitPos
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void blockDataShrinkNRows(SSDataBlock* pBlock, int32_t numOfRows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:910,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:912,1
    - Dst: colDataGetFullLength
      Src: /src/tdengine/source/common/src/tdatablock.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 921
    functionName: blockDataGetSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 8
    functionsReached:
    - colDataGetFullLength
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: size_t
    signature: size_t blockDataGetSize(const SSDataBlock* pBlock)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:927,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/common/src/tdatablock.c:937,1
    - Dst: blockDataGetCapacityInRow
      Src: /src/tdengine/source/common/src/tdatablock.c:938,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/tdatablock.c:954,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:955,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:957,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:958,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:959,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:961,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 5
    argNames:
    - pBlock
    - hasVarCol
    - startIndex
    - stopIndex
    - pageSize
    argTypes:
    - SSDataBlock*
    - bool
    - int32_t
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 988
    functionName: blockDataSplitRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - blobDataTLen
    - varDataTLen
    - colDataGetData
    - blockDataGetCapacityInRow
    - IS_STR_DATA_BLOB
    - blockDataGetRowSize
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t blockDataSplitRows(SSDataBlock* pBlock, bool hasVarCol, int32_t
      startIndex, int32_t* stopIndex,\n                           int32_t pageSize)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:992,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:999,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1004,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1006,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1019,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1021,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1022,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:1030,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1032,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/common/src/tdatablock.c:1036,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:1038,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tdatablock.c:1039,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - pBlock
    - startIndex
    - rowCount
    - pResBlock
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 990
    functionDepth: 5
    functionLinenumber: 990
    functionLinenumberEnd: 1050
    functionName: blockDataExtractBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 6
    functionsReached:
    - colDataSetNULL
    - colDataIsNull
    - taosArrayGet
    - colDataGetData
    - QRY_PARAM_CHECK
    - blockDataEnsureCapacity
    - createOneDataBlock
    - colDataSetVal
    - taosArrayGetSize
    - colDataIsNull_s
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataExtractBlock(SSDataBlock* pBlock, int32_t startIndex,
      int32_t rowCount, SSDataBlock** pResBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1067,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1073,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1078,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1079,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1082,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1082,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1083,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/common/src/tdatablock.c:1086,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1091,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:1094,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1102,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - buf
    - pBlock
    argTypes:
    - char*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1063
    functionDepth: 4
    functionLinenumber: 1063
    functionLinenumberEnd: 1115
    functionName: blockDataToBuf
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - memcpy
    - taosArrayGet
    - colDataGetLength
    - taosArrayGetSize
    - calcStrBytesByType
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataToBuf(char* buf, const SSDataBlock* pBlock)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1122,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1128,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1132,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1137,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1139,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1142,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1142,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1143,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1149,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1151,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1167,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - pBlock
    - buf
    argTypes:
    - SSDataBlock*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1173
    functionName: blockDataFromBuf
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - memcpy
    - taosArrayGet
    - blockDataEnsureCapacity
    - taosArrayGetSize
    - taosMemoryRealloc
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataFromBuf(SSDataBlock* pBlock, const char* buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1180,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:1182,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:1192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - pColumnInfoData
    - startIndex
    - nRows
    argTypes:
    - SColumnInfoData*
    - int32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1199
    functionName: colDataIsNNull
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - colDataIsNull_f
    - colDataIsNull_var
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: bool colDataIsNNull(const SColumnInfoData* pColumnInfoData, int32_t
      startIndex, uint32_t nRows)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1206,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1211,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1218,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1220,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1223,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1223,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1224,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1230,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1232,1
    - Dst: colDataIsNNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1247,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1248,1
    - Dst: blockDataGetPagedColumnReservedBytes
      Src: /src/tdengine/source/common/src/tdatablock.c:1251,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - pBlock
    - buf
    - capacity
    argTypes:
    - SSDataBlock*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1255
    functionName: blockDataFromBuf1
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - memcpy
    - taosArrayGet
    - colDataIsNNull
    - blockDataGetPagedColumnReservedBytes
    - taosArrayGetSize
    - taosMemoryRealloc
    - BitmapLen
    - IS_VAR_DATA_TYPE
    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:1261,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1275
    functionName: blockDataGetRowSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 7
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: size_t
    signature: size_t blockDataGetRowSize(SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - numOfCols
    - internal
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1284
    functionName: blockDataGetSerialMetaSizeImpl
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t blockDataGetSerialMetaSizeImpl(uint32_t numOfCols, bool internal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetSerialMetaSizeImpl
      Src: /src/tdengine/source/common/src/tdatablock.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numOfCols
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1288
    functionName: blockDataGetSerialMetaSizeInternal
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - blockDataGetSerialMetaSizeImpl
    linkageType: ''
    returnType: size_t
    signature: size_t blockDataGetSerialMetaSizeInternal(uint32_t numOfCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetSerialMetaSizeImpl
      Src: /src/tdengine/source/common/src/tdatablock.c:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numOfCols
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1297
    functionName: blockDataGetSerialMetaSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - blockDataGetSerialMetaSizeImpl
    linkageType: ''
    returnType: size_t
    signature: size_t blockDataGetSerialMetaSize(uint32_t numOfCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1302,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1304,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1318
    functionName: blockDataGetSerialRowSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: double
    signature: double blockDataGetSerialRowSize(const SSDataBlock* pBlock)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/tdatablock.c:1336,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1340,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1341,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:1355,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:1356,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/common/src/tdatablock.c:1358,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/common/src/tdatablock.c:1358,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:1368,1
    - Dst: fn
      Src: /src/tdengine/source/common/src/tdatablock.c:1371,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1380
    functionName: dataBlockCompar
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - colDataGetData
    - getKeyComparFunc
    - fn
    - colDataIsNull
    - TARRAY_GET_ELEM
    - tTagIsJson
    linkageType: ''
    returnType: int32_t
    signature: int32_t dataBlockCompar(const void* p1, const void* p2, const void*
      param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1383,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1386,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1391,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1393,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:1402,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/common/src/tdatablock.c:1403,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1406,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pCols
    - pDataBlock
    - index
    argTypes:
    - SColumnInfoData*
    - SSDataBlock*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1410
    functionName: blockDataAssign
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - taosArrayGet
    - taosArrayGetSize
    - colDataIsNull_f
    - IS_VAR_DATA_TYPE
    - colDataSetNull_f_s
    linkageType: ''
    returnType: void
    signature: void blockDataAssign(SColumnInfoData* pCols, const SSDataBlock* pDataBlock,
      const int32_t* index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1415,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1420,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1426,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1432,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1433,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1437,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1438,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1445,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1445,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1446,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1449,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1450,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1461,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1464,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - pDataBlock
    - ppCols
    argTypes:
    - SSDataBlock*
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1466
    functionName: createHelpColInfoData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosMemoryFree
    - taosArrayGetSize
    - colDataDestroy
    - taosMemoryCalloc
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t createHelpColInfoData(const SSDataBlock* pDataBlock, SColumnInfoData**
      ppCols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1469,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1472,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1478,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1479,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1482,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1486,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pDataBlock
    - pCols
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1491
    functionName: copyBackToBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - taosMemoryFreeClear
    - taosArrayGetSize
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void copyBackToBlock(SSDataBlock* pDataBlock, SColumnInfoData* pCols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rows
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1504
    functionName: createTupleIndex
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t * createTupleIndex(size_t rows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1506
    functionName: destroyTupleIndex
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destroyTupleIndex(int32_t* index)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1519,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1520,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1525,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1534,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1539,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1541,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1544,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1545,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1550,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:1552,1
    - Dst: taosSort
      Src: /src/tdengine/source/common/src/tdatablock.c:1553,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1555,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tdatablock.c:1556,1
    - Dst: createTupleIndex
      Src: /src/tdengine/source/common/src/tdatablock.c:1565,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1570,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1573,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1579,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:1583,1
    - Dst: taosqsort_r
      Src: /src/tdengine/source/common/src/tdatablock.c:1587,1
    - Dst: destroyTupleIndex
      Src: /src/tdengine/source/common/src/tdatablock.c:1589,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1593,1
    - Dst: createHelpColInfoData
      Src: /src/tdengine/source/common/src/tdatablock.c:1596,1
    - Dst: destroyTupleIndex
      Src: /src/tdengine/source/common/src/tdatablock.c:1598,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1602,1
    - Dst: blockDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:1603,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1605,1
    - Dst: copyBackToBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:1606,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1608,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tdatablock.c:1609,1
    - Dst: destroyTupleIndex
      Src: /src/tdengine/source/common/src/tdatablock.c:1613,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 2
    argNames:
    - pDataBlock
    - pOrderInfo
    argTypes:
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1508
    functionDepth: 2
    functionLinenumber: 1508
    functionLinenumberEnd: 1615
    functionName: blockDataSort
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - destroyTupleIndex
    - taosArrayGet
    - getKeyComparFunc
    - taosGetTimestampUs
    - uDebug
    - copyBackToBlock
    - createTupleIndex
    - blockDataAssign
    - taosArrayGetSize
    - taosSort
    - taosqsort_r
    - createHelpColInfoData
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataSort(SSDataBlock* pDataBlock, SArray* pOrderInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/common/src/tdatablock.c:1621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1625
    functionName: blockDataCleanup
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 93
    functionsReached:
    - blockDataEmpty
    linkageType: ''
    returnType: void
    signature: void blockDataCleanup(SSDataBlock* pDataBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1636,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1638,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1640,1
    - Dst: colInfoDataCleanup
      Src: /src/tdengine/source/common/src/tdatablock.c:1645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1652
    functionName: blockDataEmpty
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 11
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGetSize
    - colInfoDataCleanup
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: void blockDataEmpty(SSDataBlock* pDataBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1660,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1662,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1654
    functionDepth: 1
    functionLinenumber: 1654
    functionLinenumberEnd: 1680
    functionName: blockDataReset
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void blockDataReset(SSDataBlock* pDataBlock)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1695,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1696,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1702,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1705,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1705,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1710,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1712,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1712,1
    - Dst: taosMemoryMallocAlign
      Src: /src/tdengine/source/common/src/tdatablock.c:1719,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1727,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1728,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1741,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - pColumn
    - pBlockInfo
    - numOfRows
    - clearPayload
    argTypes:
    - SColumnInfoData*
    - SDataBlockInfo*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1746
    functionName: doEnsureCapacity
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - memcpy
    - memset
    - taosMemoryRealloc
    - taosMemoryMallocAlign
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t doEnsureCapacity(SColumnInfoData* pColumn, const SDataBlockInfo*
      pBlockInfo, uint32_t numOfRows,\n                         bool clearPayload)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1751,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1754,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1758,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pColumn
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1761
    functionName: colInfoDataCleanup
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - memset
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void colInfoDataCleanup(SColumnInfoData* pColumn, uint32_t numOfRows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pColumn
    - numOfRows
    - clearPayload
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1763
    functionDepth: 2
    functionLinenumber: 1763
    functionLinenumberEnd: 1766
    functionName: colInfoDataEnsureCapacity
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 29
    functionsReached:
    - doEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: int32_t colInfoDataEnsureCapacity(SColumnInfoData* pColumn, uint32_t
      numOfRows, bool clearPayload)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1774,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1776,1
    - Dst: doEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pDataBlock
    - numOfRows
    argTypes:
    - SSDataBlock*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1768
    functionDepth: 2
    functionLinenumber: 1768
    functionLinenumberEnd: 1789
    functionName: blockDataEnsureCapacity
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 130
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - doEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataEnsureCapacity(SSDataBlock* pDataBlock, uint32_t numOfRows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1796,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1798,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1803,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1806,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1809,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1810,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1791
    functionDepth: 1
    functionLinenumber: 1791
    functionLinenumberEnd: 1811
    functionName: blockDataFreeRes
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 6
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - memset
    - taosArrayGetSize
    - colDataDestroy
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void blockDataFreeRes(SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1818,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1820,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1825,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1828,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1830
    functionName: blockDataFreeCols
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - memset
    - taosArrayGetSize
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: void blockDataFreeCols(SSDataBlock* pBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1837,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1838,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1839,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/common/src/tdatablock.c:1842,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1832
    functionDepth: 2
    functionLinenumber: 1832
    functionLinenumberEnd: 1844
    functionName: blockDataDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 198
    functionsReached:
    - blockDataFreeRes
    - taosMemoryFreeClear
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void blockDataDestroy(SSDataBlock* pBlock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1856,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1858,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:1864,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1870,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1876,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1877,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1878,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:1882,1
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdatablock.c:1893,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1847
    functionDepth: 3
    functionLinenumber: 1847
    functionLinenumberEnd: 1895
    functionName: assignOneDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - blockDataEnsureCapacity
    - uTrace
    - colDataAssign
    - taosArrayGetSize
    - blockDataAppendColInfo
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t assignOneDataBlock(SSDataBlock* dst, const SSDataBlock* src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/common/src/tdatablock.c:1898,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1900,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1905,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1907,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1908,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:1913,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1922,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1923,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1926,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1927,1
    - Dst: copyPkVal
      Src: /src/tdengine/source/common/src/tdatablock.c:1931,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:1933,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:1933,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1897
    functionDepth: 3
    functionLinenumber: 1897
    functionLinenumberEnd: 1939
    functionName: copyDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - uError
    - taosMemoryFreeClear
    - copyPkVal
    - taosArrayGet
    - blockDataCleanup
    - blockDataEnsureCapacity
    - colDataAssign
    - taosArrayGetSize
    - tstrerror
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyDataBlock(SSDataBlock* pDst, const SSDataBlock* pSrc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:1942,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:1949,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1960,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1962,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1964,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:1969,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1971,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1976,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1978,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1983,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1984,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1986,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1990,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:1993,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tdatablock.c:1996,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1998,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - pDataBlock
    - rowIdx
    - pResBlock
    argTypes:
    - SSDataBlock*
    - int32_t
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1941
    functionDepth: 5
    functionLinenumber: 1941
    functionLinenumberEnd: 2007
    functionName: blockCopyOneRow
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - QRY_PARAM_CHECK
    - blockDataEnsureCapacity
    - colDataSetVal
    - createDataBlock
    - taosArrayGetSize
    - colDataIsNull
    - blockDataAppendColInfo
    - blockDataDestroy
    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:2012,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2020,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2021,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2024,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2028,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2029,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2032,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2036,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SDataBlockInfo*
    - SDataBlockInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2039
      start: 2009
    functionDepth: 1
    functionLinenumber: 2009
    functionLinenumberEnd: 2039
    functionName: copyPkVal
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - uError
    - memcpy
    - QUERY_CHECK_NULL
    - tstrerror
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t copyPkVal(SDataBlockInfo* pDst, const SDataBlockInfo* pSrc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2043,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2044,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:2047,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:2047,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2059,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2061,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2063,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2064,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:2068,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2070,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:2071,1
    - Dst: copyPkVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2075,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2077,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2078,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:2079,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:2083,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2085,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:2086,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2090,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2091,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2093,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2094,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2094,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2095,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2099,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2100,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2101,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:2104,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2107,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tdatablock.c:2108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 3
    argNames:
    - pDataBlock
    - copyData
    - pResBlock
    argTypes:
    - SSDataBlock*
    - bool
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2041
    functionDepth: 3
    functionLinenumber: 2041
    functionLinenumberEnd: 2121
    functionName: createOneDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 41
    functionsReached:
    - uError
    - copyPkVal
    - taosArrayGet
    - QRY_PARAM_CHECK
    - blockDataEnsureCapacity
    - colDataAssign
    - createDataBlock
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tstrerror
    - blockDataAppendColInfo
    - TAOS_CHECK_EXIT
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createOneDataBlock(const SSDataBlock* pDataBlock, bool copyData,
      SSDataBlock** pResBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2128,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2129,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2131,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:2131,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2143,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2144,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2145,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2147,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2148,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2152,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:2152,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2158,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2158,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - pDataBlock
    - pColArray
    - pResBlock
    argTypes:
    - SSDataBlock*
    - SArray*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2123
    functionDepth: 3
    functionLinenumber: 2123
    functionLinenumberEnd: 2161
    functionName: createOneDataBlockWithColArray
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - uError
    - taosArrayGet
    - QRY_PARAM_CHECK
    - QUERY_CHECK_NULL
    - createDataBlock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataAppendColInfo
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t createOneDataBlockWithColArray(const SSDataBlock* pDataBlock,
      SArray* pColArray, SSDataBlock** pResBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2170,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2171,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2172,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2173,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:2175,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2176,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:2177,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2178,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2181,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2182,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2183,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2189,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2190,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2191,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2192,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2196,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2197,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2198,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2199,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2200,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2201,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2203,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2204,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2206,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2209,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:2209,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2224,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2224,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 4
    argNames:
    - pSrcBlock
    - pTemplateBlock
    - pColMap
    - pResBlock
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - SArray*
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2164
    functionDepth: 4
    functionLinenumber: 2164
    functionLinenumberEnd: 2227
    functionName: createOneDataBlockWithTwoBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - uError
    - memcpy
    - taosArrayGet
    - QRY_PARAM_CHECK
    - colDataSetNNULL
    - blockDataEnsureCapacity
    - colDataAssign
    - QUERY_CHECK_NULL
    - createOneDataBlock
    - taosArrayGetSize
    - QUERY_CHECK_CODE
    - tstrerror
    - blockDataDestroy
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t createOneDataBlockWithTwoBlock(const SSDataBlock* pSrcBlock,
      const SSDataBlock* pTemplateBlock, SArray* pColMap,\n                                       SSDataBlock**
      pResBlock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2230,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2231,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2236,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:2239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pResBlock
    argTypes:
    - SSDataBlock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2229
    functionDepth: 1
    functionLinenumber: 2229
    functionLinenumberEnd: 2245
    functionName: createDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 47
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - taosArrayInit
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDataBlock(SSDataBlock** pResBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2249,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2255,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pBlock
    - pColInfoData
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2247
    functionDepth: 1
    functionLinenumber: 2247
    functionLinenumberEnd: 2268
    functionName: blockDataAppendColInfo
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 56
    functionsReached:
    - taosArrayPush
    - IS_VAR_DATA_TYPE
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataAppendColInfo(SSDataBlock* pBlock, SColumnInfoData*
      pColInfoData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - type
    - bytes
    - colId
    argTypes:
    - int16_t
    - int32_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2270
    functionDepth: 0
    functionLinenumber: 2270
    functionLinenumberEnd: 2279
    functionName: createColumnInfoData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: SColumnInfoData
    signature: SColumnInfoData createColumnInfoData(int16_t type, int32_t bytes, int16_t
      colId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2283,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2285,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pBlock
    - index
    - pColInfoData
    argTypes:
    - SSDataBlock*
    - int32_t
    - SColumnInfoData**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2281
    functionDepth: 1
    functionLinenumber: 2281
    functionLinenumberEnd: 2295
    functionName: bdGetColumnInfoData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t bdGetColumnInfoData(const SSDataBlock* pBlock, int32_t index,
      SColumnInfoData** pColInfoData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2298,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2304,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2312,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2317,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2331,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pBlock
    - pageSize
    - extraSize
    argTypes:
    - SSDataBlock*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2297
    functionDepth: 1
    functionLinenumber: 2297
    functionLinenumberEnd: 2349
    functionName: blockDataGetCapacityInRow
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - uError
    - taosArrayGet
    - taosArrayGetSize
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: size_t
    signature: size_t blockDataGetCapacityInRow(const SSDataBlock* pBlock, size_t
      pageSize, int32_t extraSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2356,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2357,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2361,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pColData
    argTypes:
    - SColumnInfoData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2351
    functionDepth: 1
    functionLinenumber: 2351
    functionLinenumberEnd: 2365
    functionName: colDataDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 58
    functionsReached:
    - taosMemoryFreeClear
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void colDataDestroy(SColumnInfoData* pColData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2368,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2370,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - nullBitmap
    - n
    - total
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2406
    functionName: doShiftBitmap
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - BitmapLen
    - memmove
    linkageType: ''
    returnType: void
    signature: void doShiftBitmap(char* nullBitmap, size_t n, size_t total)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2425,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2427,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2433,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2436,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pColInfoData
    - start
    - end
    argTypes:
    - SColumnInfoData*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2408
    functionDepth: 2
    functionLinenumber: 2408
    functionLinenumberEnd: 2438
    functionName: colDataMoveVarData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - getJsonValueLen
    - varDataTLen
    - memmove
    linkageType: ''
    returnType: int32_t
    signature: 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:2441,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2443,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2446,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2449,1
    - Dst: doShiftBitmap
      Src: /src/tdengine/source/common/src/tdatablock.c:2450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pColInfoData
    - n
    - total
    argTypes:
    - SColumnInfoData*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2440
    functionDepth: 1
    functionLinenumber: 2440
    functionLinenumberEnd: 2452
    functionName: colDataTrimFirstNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - doShiftBitmap
    - memset
    - IS_VAR_DATA_TYPE
    - memmove
    linkageType: ''
    returnType: void
    signature: void colDataTrimFirstNRows(SColumnInfoData* pColInfoData, size_t n,
      size_t total)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/common/src/tdatablock.c:2460,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2462,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2464,1
    - Dst: colDataTrimFirstNRows
      Src: /src/tdengine/source/common/src/tdatablock.c:2469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pBlock
    - n
    argTypes:
    - SSDataBlock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2454
    functionDepth: 2
    functionLinenumber: 2454
    functionLinenumberEnd: 2475
    functionName: blockDataTrimFirstRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 6
    functionsReached:
    - colDataTrimFirstNRows
    - taosArrayGet
    - blockDataEmpty
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataTrimFirstRows(SSDataBlock* pBlock, size_t n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2479,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:2486,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tdatablock.c:2500,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2508,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pColInfoData
    - n
    - total
    argTypes:
    - SColumnInfoData*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2477
    functionDepth: 4
    functionLinenumber: 2477
    functionLinenumberEnd: 2510
    functionName: colDataKeepFirstNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - memset
    - uDebug
    - calcStrBytesByType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void colDataKeepFirstNRows(SColumnInfoData* pColInfoData, size_t n,
      size_t total)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/common/src/tdatablock.c:2514,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2521,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2523,1
    - Dst: colDataKeepFirstNRows
      Src: /src/tdengine/source/common/src/tdatablock.c:2528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pBlock
    - n
    argTypes:
    - SSDataBlock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2512
    functionDepth: 5
    functionLinenumber: 2512
    functionLinenumberEnd: 2533
    functionName: blockDataKeepFirstNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - colDataKeepFirstNRows
    - taosArrayGet
    - blockDataEmpty
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void blockDataKeepFirstNRows(SSDataBlock* pBlock, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2537,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2540,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/common/src/tdatablock.c:2543,1
    - Dst: taosEncodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2544,1
    - Dst: taosEncodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2545,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/common/src/tdatablock.c:2546,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2547,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2549,1
    - Dst: taosEncodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2554,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/common/src/tdatablock.c:2555,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2556,1
    - Dst: taosEncodeFixedBool
      Src: /src/tdengine/source/common/src/tdatablock.c:2557,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2559,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2560,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2562,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2562,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/common/src/tdatablock.c:2565,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2566,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2568,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:2571,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2579,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - buf
    - pBlock
    argTypes:
    - void**
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2535
    functionDepth: 4
    functionLinenumber: 2535
    functionLinenumberEnd: 2586
    functionName: tEncodeDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - taosArrayGet
    - calcStrBytesByType
    - colDataGetLength
    - taosEncodeFixedBool
    - taosEncodeFixedI8
    - taosEncodeFixedI16
    - taosEncodeBinary
    - taosEncodeFixedI32
    - taosArrayGetSize
    - taosEncodeFixedI64
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeDataBlock(void** buf, const SSDataBlock* pBlock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2590,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/common/src/tdatablock.c:2592,1
    - Dst: taosDecodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2593,1
    - Dst: taosDecodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2594,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/common/src/tdatablock.c:2595,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2596,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2598,1
    - Dst: taosDecodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2605,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/common/src/tdatablock.c:2606,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2607,1
    - Dst: taosDecodeFixedBool
      Src: /src/tdengine/source/common/src/tdatablock.c:2608,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2610,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2611,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2613,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2613,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2616,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2621,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2622,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2624,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2627,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2632,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2641,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2645,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - buf
    - pBlock
    argTypes:
    - void*
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2588
    functionDepth: 2
    functionLinenumber: 2588
    functionLinenumberEnd: 2648
    functionName: tDecodeDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - taosDecodeBinary
    - uError
    - taosArrayPush
    - taosArrayGet
    - taosDecodeFixedI8
    - taosDecodeFixedI16
    - taosDecodeFixedI64
    - taosDecodeFixedBool
    - taosDecodeFixedU64
    - taosArrayGetSize
    - taosDecodeFixedI32
    - taosArrayInit
    - colDataDestroy
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void * tDecodeDataBlock(const void* buf, SSDataBlock* pBlock)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/tdatablock.c:2677,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2679,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/tdatablock.c:2682,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2685,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2689,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2691,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2693,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2698,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2703,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2703,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - buf
    - cap
    - val
    - precision
    argTypes:
    - char*
    - size_t
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2650
    functionDepth: 1
    functionLinenumber: 2650
    functionLinenumberEnd: 2706
    functionName: formatTimestamp
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosStrfTime
    - uError
    - taosLocalTime
    - TSDB_CHECK_CODE
    - snprintf
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t formatTimestamp(char* buf, size_t cap, int64_t val, int precision)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2718,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2723,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2724,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2735,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2741,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:2748,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2749,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:2754,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2757,1
    - Dst: formatTimestamp
      Src: /src/tdengine/source/common/src/tdatablock.c:2758,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tdatablock.c:2760,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2760,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2762,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2766,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2770,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2774,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2778,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2782,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2786,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2790,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2794,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2798,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2802,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2806,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2812,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:2813,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2814,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2814,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2815,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2816,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2816,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2817,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:2821,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2822,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2822,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2823,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/common/src/tdatablock.c:2824,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2824,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2826,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2826,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2832,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2837,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:2838,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2839,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2839,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2840,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2841,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2841,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2842,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2848,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2851,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2858,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2858,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:2860,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 168
    argCount: 5
    argNames:
    - pDataBlock
    - flag
    - pDataBuf
    - taskIdStr
    - qId
    argTypes:
    - SSDataBlock*
    - char*
    - char**
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2709
    functionDepth: 1
    functionLinenumber: 2709
    functionLinenumberEnd: 2864
    functionName: dumpBlockData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - colDataIsNull
    - colDataGetVarData
    - colDataGetData
    - TMIN
    - snprintf
    - memset
    - TAOS_UNUSED
    - taosUcs4ToMbs
    - memcpy
    - taosArrayGet
    - blobDataLen
    - varDataLen
    - taosArrayGetSize
    - varDataVal
    - taosMemoryCalloc
    - formatTimestamp
    - tsnprintf
    - uError
    - taosMemoryFree
    - tstrerror
    - blobDataVal
    linkageType: ''
    returnType: int32_t
    signature: int32_t dumpBlockData(SSDataBlock* pDataBlock, const char* flag, char**
      pDataBuf, const char* taskIdStr, int64_t qId)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2876,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2881,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2888,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2897,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2904,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2913,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2915,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2921,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2926,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/tdatablock.c:2932,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2937,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2944,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:2949,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:2950,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2951,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:2956,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2957,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2958,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:2964,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:2965,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2966,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2976,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:2980,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2981,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2982,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:2987,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2989,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2990,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:2991,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2992,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3003,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3008,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3014,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:3015,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3016,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdatablock.c:3023,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:3034,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:3039,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3040,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:3044,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:3049,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdatablock.c:3051,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:3053,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3054,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3061,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdatablock.c:3070,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/common/src/tdatablock.c:3071,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3075,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3082,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:3090,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/common/src/tdatablock.c:3093,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:3094,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 180
    argCount: 6
    argNames:
    - ppReq
    - pDataBlock
    - pTSchema
    - uid
    - vgId
    - suid
    argTypes:
    - SSubmitReq2**
    - SSDataBlock*
    - STSchema*
    - int64_t
    - int32_t
    - tb_uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 2866
    functionDepth: 4
    functionLinenumber: 2866
    functionLinenumberEnd: 3101
    functionName: buildSubmitReqFromDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosMemoryFreeClear
    - colDataGetVarData
    - COL_VAL_NULL
    - tDestroySubmitReq
    - tDestroySubmitTbData
    - POINTER_SHIFT
    - taosArrayDestroy
    - valueSetDatum
    - taosArrayGet
    - varDataLen
    - tRowBuild
    - taosArrayGetSize
    - varDataVal
    - taosArrayClear
    - taosMemoryCalloc
    - COL_VAL_VALUE
    - uError
    - IS_SIGNED_NUMERIC_TYPE
    - VALUE_SET_TRIVIAL_DATUM
    - taosArrayInit
    - SET_TYPED_DATA
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock*
      pDataBlock, const STSchema* pTSchema,\n                                    int64_t
      uid, int32_t vgId, tb_uid_t suid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:3111,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:3115,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3117,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:3123,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3126,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3127,1
    - Dst: strncat
      Src: /src/tdengine/source/common/src/tdatablock.c:3128,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3136,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:3136,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - stbName
    - ctbName
    - groupId
    - cap
    argTypes:
    - char*
    - char*
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3139
      start: 3104
    functionDepth: 1
    functionLinenumber: 3104
    functionLinenumberEnd: 3139
    functionName: buildCtbNameAddGroupId
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 5
    functionsReached:
    - uError
    - strncat
    - TSDB_CHECK_CODE
    - snprintf
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCtbNameAddGroupId(const char* stbName, char* ctbName,
      uint64_t groupId, size_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ctbName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3143
      start: 3143
    functionDepth: 0
    functionLinenumber: 3143
    functionLinenumberEnd: 3143
    functionName: isAutoTableName
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool isAutoTableName(char* ctbName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:3147,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3148,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3149,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdatablock.c:3151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctbName
    - groupId
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3145
    functionDepth: 0
    functionLinenumber: 3145
    functionLinenumberEnd: 3152
    functionName: alreadyAddGroupId
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - strlen
    - snprintf
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool alreadyAddGroupId(char* ctbName, int64_t groupId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:3155,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3157,1
    - Dst: buildCtbNameByGroupIdImpl
      Src: /src/tdengine/source/common/src/tdatablock.c:3162,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:3164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - stbFullName
    - groupId
    - pName
    argTypes:
    - char*
    - uint64_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3170
      start: 3154
    functionDepth: 1
    functionLinenumber: 3154
    functionLinenumberEnd: 3170
    functionName: buildCtbNameByGroupId
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - buildCtbNameByGroupIdImpl
    - taosMemoryCalloc
    - taosMemoryFree
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCtbNameByGroupId(const char* stbFullName, uint64_t groupId,
      char** pName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:3177,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:3183,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3189,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3192,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3198,1
    - Dst: buildChildTableName
      Src: /src/tdengine/source/common/src/tdatablock.c:3200,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:3205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - stbFullName
    - groupId
    - cname
    argTypes:
    - char*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3172
    functionDepth: 1
    functionLinenumber: 3172
    functionLinenumberEnd: 3211
    functionName: buildCtbNameByGroupIdImpl
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - buildChildTableName
    - taosArrayPush
    - taosArrayInit
    - strlen
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildCtbNameByGroupIdImpl(const char* stbFullName, uint64_t
      groupId, char* cname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isAutoTableName
      Src: /src/tdengine/source/common/src/tdatablock.c:3219,1
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/common/src/tdatablock.c:3219,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3221,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:3222,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3224,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/src/tdatablock.c:3225,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:3226,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tdatablock.c:3228,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:3229,1
    - Dst: buildCtbNameByGroupId
      Src: /src/tdengine/source/common/src/tdatablock.c:3232,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:3233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - parTbName
    - stbFullName
    - gid
    - newSubTableRule
    - dstTableName
    argTypes:
    - char*
    - char*
    - uint64_t
    - bool
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3213
    functionDepth: 2
    functionLinenumber: 3213
    functionLinenumberEnd: 3238
    functionName: buildSinkDestTableName
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - isAutoTableName
    - TSDB_CHECK_CODE
    - tstrncpy
    - buildCtbNameAddGroupId
    - alreadyAddGroupId
    - TSDB_CHECK_NULL
    - buildCtbNameByGroupId
    - taosMemoryCalloc
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: "int32_t buildSinkDestTableName(char* parTbName, const char* stbFullName,
      uint64_t gid, bool newSubTableRule,\n                               char** dstTableName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:3244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - blockSize
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3247
      start: 3240
    functionDepth: 1
    functionLinenumber: 3240
    functionLinenumberEnd: 3247
    functionName: blockCheckSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - uError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockCheckSize(int64_t blockSize)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCheck
      Src: /src/tdengine/source/common/src/tdatablock.c:3250,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3271,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3291,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3301,1
    - Dst: fillBytesForDecimalType
      Src: /src/tdengine/source/common/src/tdatablock.c:3302,1
    - Dst: blockDataGetSerialMetaSizeInternal
      Src: /src/tdengine/source/common/src/tdatablock.c:3311,1
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3311,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3316,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3323,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:3324,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3327,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3331,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3334,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3336,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdatablock.c:3342,1
    - Dst: blockCheckSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3342,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3344,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:3348,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdatablock.c:3355,1
    - Dst: blockCheckSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3355,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:3357,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/common/src/tdatablock.c:3361,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tdatablock.c:3366,1
    - Dst: blockCheckSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3366,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:3369,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3374,1
    - Dst: uWarn
      Src: /src/tdengine/source/common/src/tdatablock.c:3375,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:3380,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3401,1
    - Dst: taosSetPUInt64Aligned
      Src: /src/tdengine/source/common/src/tdatablock.c:3415,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3422,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 122
    argCount: 5
    argNames:
    - pBlock
    - data
    - dataBuflen
    - numOfCols
    - internal
    argTypes:
    - SSDataBlock*
    - char*
    - size_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3425
      start: 3249
    functionDepth: 4
    functionLinenumber: 3249
    functionLinenumberEnd: 3425
    functionName: blockEncodeImpl
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - htonl
    - TAOS_CHECK_GOTO
    - taosSetPUInt64Aligned
    - blockDataGetSerialMetaSize
    - taosArrayGet
    - memcpy
    - blockCheckSize
    - fillBytesForDecimalType
    - blockDataCheck
    - colDataGetLength
    - IS_DECIMAL_TYPE
    - blockDataGetSerialMetaSizeInternal
    - memmove
    - calcStrBytesByType
    - BitmapLen
    - uError
    - IS_STR_DATA_BLOB
    - uWarn
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockEncodeImpl(const SSDataBlock* pBlock, char* data, size_t
      dataBuflen, int32_t numOfCols, bool internal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockEncodeImpl
      Src: /src/tdengine/source/common/src/tdatablock.c:3429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pBlock
    - data
    - dataBuflen
    - numOfCols
    argTypes:
    - SSDataBlock*
    - char*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3430
      start: 3428
    functionDepth: 5
    functionLinenumber: 3428
    functionLinenumberEnd: 3430
    functionName: blockEncodeInternal
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - blockEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockEncodeInternal(const SSDataBlock* pBlock, char* data,
      size_t dataBuflen, int32_t numOfCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockEncodeImpl
      Src: /src/tdengine/source/common/src/tdatablock.c:3435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pBlock
    - data
    - dataBuflen
    - numOfCols
    argTypes:
    - SSDataBlock*
    - char*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3434
    functionDepth: 5
    functionLinenumber: 3434
    functionLinenumberEnd: 3436
    functionName: blockEncode
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 3
    functionsReached:
    - blockEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockEncode(const SSDataBlock* pBlock, char* data, size_t dataBuflen,
      int32_t numOfCols)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3452,1
    - Dst: taosSetPUInt64Aligned
      Src: /src/tdengine/source/common/src/tdatablock.c:3470,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3475,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3482,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3491,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/common/src/tdatablock.c:3492,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3497,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:3502,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:3511,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3513,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3518,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3523,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3524,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3528,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3539,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3539,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3540,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3549,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3550,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3551,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3572,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3586,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/common/src/tdatablock.c:3595,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 107
    argCount: 4
    argNames:
    - pBlock
    - pData
    - pEndPos
    - internal
    argTypes:
    - SSDataBlock*
    - char*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3602
      start: 3438
    functionDepth: 3
    functionLinenumber: 3438
    functionLinenumberEnd: 3602
    functionName: blockDecodeImpl
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - IS_DECIMAL_TYPE
    - htonl
    - uError
    - memcpy
    - taosArrayGet
    - blockDataEnsureCapacity
    - taosSetPUInt64Aligned
    - blockDataCheck
    - extractDecimalTypeInfoFromBytes
    - taosArrayInit_s
    - colDataIsNull_s
    - BitmapLen
    - taosMemoryRealloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDecodeImpl(SSDataBlock* pBlock, const char* pData, const
      char** pEndPos, bool internal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDecodeImpl
      Src: /src/tdengine/source/common/src/tdatablock.c:3605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pBlock
    - pData
    - pEndPos
    argTypes:
    - SSDataBlock*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3606
      start: 3604
    functionDepth: 4
    functionLinenumber: 3604
    functionLinenumberEnd: 3606
    functionName: blockDecodeInternal
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - blockDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDecodeInternal(SSDataBlock* pBlock, const char* pData,
      const char** pEndPos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDecodeImpl
      Src: /src/tdengine/source/common/src/tdatablock.c:3608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pBlock
    - pData
    - pEndPos
    argTypes:
    - SSDataBlock*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3607
    functionDepth: 4
    functionLinenumber: 3607
    functionLinenumberEnd: 3609
    functionName: blockDecode
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - blockDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDecode(SSDataBlock* pBlock, const char* pData, const char**
      pEndPos)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3614,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3618,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3621,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3628,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:3631,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3638,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3640,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3645,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/common/src/tdatablock.c:3647,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3648,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:3659,1
    - Dst: colDataSetNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:3660,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:3662,1
    - Dst: calcStrBytesByType
      Src: /src/tdengine/source/common/src/tdatablock.c:3663,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3664,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:3671,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3679,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3685,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:3686,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:3701,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3702,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:3718,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3719,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:3734,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3735,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:3751,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3752,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:3767,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3768,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3770,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:3791,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 153
    argCount: 3
    argNames:
    - pBlock
    - totalRows
    - pBoolList
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3611
    functionDepth: 4
    functionLinenumber: 3611
    functionLinenumberEnd: 3795
    functionName: trimDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - taosMemoryMalloc
    - colDataGetVarData
    - taosArrayGet
    - memcpy
    - BMIsNull
    - colDataGetLength
    - colDataSetNull_var
    - colDataSetNull_f
    - memset
    - taosMemoryFree
    - taosArrayGetSize
    - taosMemoryCalloc
    - colDataIsNull_var
    - calcStrBytesByType
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t trimDataBlock(SSDataBlock* pBlock, int32_t totalRows, const
      bool* pBoolList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3798,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3798,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3799
      start: 3797
    functionDepth: 2
    functionLinenumber: 3797
    functionLinenumberEnd: 3799
    functionName: blockGetEncodeSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 4
    functionsReached:
    - blockDataGetSize
    - blockDataGetSerialMetaSize
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockGetEncodeSize(const SSDataBlock* pBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetSerialMetaSizeInternal
      Src: /src/tdengine/source/common/src/tdatablock.c:3802,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3802,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3803
      start: 3801
    functionDepth: 2
    functionLinenumber: 3801
    functionLinenumberEnd: 3803
    functionName: blockGetInternalEncodeSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - blockDataGetSize
    - blockDataGetSerialMetaSizeInternal
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockGetInternalEncodeSize(const SSDataBlock* pBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3808,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3809,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3814,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:3819,1
    - Dst: dataBlockCompar
      Src: /src/tdengine/source/common/src/tdatablock.c:3826,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pDataBlock
    - pOrderInfo
    argTypes:
    - SSDataBlock*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3832
      start: 3806
    functionDepth: 2
    functionLinenumber: 3806
    functionLinenumberEnd: 3832
    functionName: blockDataGetSortedRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - getKeyComparFunc
    - taosArrayGet
    - taosArrayGetSize
    - dataBlockCompar
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataGetSortedRows(SSDataBlock* pDataBlock, SArray* pOrderInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3839
      start: 3834
    functionDepth: 0
    functionLinenumber: 3834
    functionLinenumberEnd: 3839
    functionName: BLOCK_DATA_CHECK_TRESSA
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_DATA_CHECK_TRESSA(o)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3844,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3854,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3856,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3857,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3858,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3863,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3865,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3871,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3872,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3873,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3876,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3877,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3879,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3883,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3889,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:3890,1
    - Dst: blobDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3891,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3893,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3897,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/tdatablock.c:3898,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3901,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3904,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3907,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3919,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3930
      start: 3839
    functionDepth: 2
    functionLinenumber: 3839
    functionLinenumberEnd: 3930
    functionName: blockDataCheck
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 18
    functionsReached:
    - IS_DECIMAL_TYPE
    - blobDataTLen
    - taosArrayGet
    - varDataTLen
    - BLOCK_DATA_CHECK_TRESSA
    - IS_STR_DATA_BLOB
    - getJsonValueLen
    - taosArrayGetSize
    - colDataIsNull_s
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockDataCheck(const SSDataBlock* pDataBlock)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - pts
    - startRow
    - numOfRows
    - ts
    argTypes:
    - char*
    - int32_t
    - int32_t
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3961
      start: 3932
    functionDepth: 0
    functionLinenumber: 3932
    functionLinenumberEnd: 3961
    functionName: getFirstNotSmallerThanTSRowNum
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFirstNotSmallerThanTSRowNum(const char* pts, int32_t startRow,
      int32_t numOfRows, TSKEY ts)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pts
    - startRow
    - numOfRows
    - ts
    argTypes:
    - char*
    - int32_t
    - int32_t
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3990
      start: 3963
    functionDepth: 0
    functionLinenumber: 3963
    functionLinenumberEnd: 3990
    functionName: getFirstBiggerThanTSRowNum
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFirstBiggerThanTSRowNum(const char* pts, int32_t startRow,
      int32_t numOfRows, TSKEY ts)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pts
    - numOfRows
    - ts
    argTypes:
    - char*
    - int32_t
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4001
      start: 3992
    functionDepth: 0
    functionLinenumber: 3992
    functionLinenumberEnd: 4001
    functionName: getFirstNotBiggerThanTSRowNum
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t getFirstNotBiggerThanTSRowNum(const char* pts, int32_t numOfRows,
      TSKEY ts)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pOffset
    - numOfRows
    argTypes:
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4022
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4022
    functionName: resetVarDataOffset
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t resetVarDataOffset(int32_t* pOffset, int32_t numOfRows)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4027,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - pColumnInfoData
    - numOfRows
    - startIndex
    - endIndex
    - pOffset
    - pLen
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4051
      start: 4024
    functionDepth: 0
    functionLinenumber: 4024
    functionLinenumberEnd: 4051
    functionName: colDataGetOffsetAndLen
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void colDataGetOffsetAndLen(const SColumnInfoData* pColumnInfoData,
      int32_t numOfRows, int32_t startIndex,  int32_t endIndex, int32_t* pOffset,
      int32_t* pLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:4055,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4057,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4066,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4070,1
    - Dst: colDataGetOffsetAndLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pBlock
    - startIndex
    - endIndex
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4079
      start: 4053
    functionDepth: 1
    functionLinenumber: 4053
    functionLinenumberEnd: 4079
    functionName: blockDataGetSizeOfRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - colDataGetOffsetAndLen
    - taosArrayGetSize
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: size_t
    signature: size_t blockDataGetSizeOfRows(const SSDataBlock* pBlock, int32_t startIndex,
      int32_t endIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/common/src/tdatablock.c:4082,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:4082,1
    - Dst: blockDataGetSizeOfRows
      Src: /src/tdengine/source/common/src/tdatablock.c:4082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pBlock
    - startIndex
    - endIndex
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4083
      start: 4081
    functionDepth: 2
    functionLinenumber: 4081
    functionLinenumberEnd: 4083
    functionName: blockGetEncodeSizeOfRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - blockDataGetSizeOfRows
    - blockDataGetSerialMetaSize
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockGetEncodeSizeOfRows(const SSDataBlock* pBlock, int32_t
      startIndex, int32_t endIndex)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCheck
      Src: /src/tdengine/source/common/src/tdatablock.c:4090,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4109,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4113,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4134,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4144,1
    - Dst: fillBytesForDecimalType
      Src: /src/tdengine/source/common/src/tdatablock.c:4145,1
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/common/src/tdatablock.c:4154,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4158,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4165,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tdatablock.c:4168,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:4168,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tdatablock.c:4169,1
    - Dst: resetVarDataOffset
      Src: /src/tdengine/source/common/src/tdatablock.c:4169,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4171,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:4174,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:4175,1
    - Dst: colDataGetOffsetAndLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4184,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:4188,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:4192,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4193,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:4197,1
    - Dst: taosSetPUInt64Aligned
      Src: /src/tdengine/source/common/src/tdatablock.c:4210,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4217,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 91
    argCount: 7
    argNames:
    - pBlock
    - data
    - dataBuflen
    - numOfCols
    - startIndex
    - endIndex
    - pLen
    argTypes:
    - SSDataBlock*
    - char*
    - size_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4219
      start: 4087
    functionDepth: 3
    functionLinenumber: 4087
    functionLinenumberEnd: 4219
    functionName: blockEncodeAsRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - IS_DECIMAL_TYPE
    - htonl
    - uError
    - blockDataGetSerialMetaSize
    - taosArrayGet
    - memcpy
    - colDataIsNull_s
    - taosSetPUInt64Aligned
    - resetVarDataOffset
    - colDataSetNull_f
    - colDataGetOffsetAndLen
    - TAOS_UNUSED
    - memmove
    - colDataIsNull_f
    - fillBytesForDecimalType
    - blockDataCheck
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t blockEncodeAsRows(const SSDataBlock* pBlock, char* data, size_t
      dataBuflen, int32_t numOfCols, int32_t startIndex, \n                          int32_t
      endIndex, int32_t* pLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:4224,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4226,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4231,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4236,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - pBlock
    - colLen
    - numOfRows
    - tsColSlotId
    - pOffset
    argTypes:
    - SSDataBlock*
    - int32_t*
    - int32_t
    - int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4246
      start: 4221
    functionDepth: 1
    functionLinenumber: 4221
    functionLinenumberEnd: 4246
    functionName: getTsColDataOffset
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 0
    functionsReached:
    - htonl
    - uError
    - taosArrayGet
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t getTsColDataOffset(SSDataBlock* pBlock, int32_t* colLen, int32_t
      numOfRows, int32_t tsColSlotId, int32_t* pOffset)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4264,1
    - Dst: taosSetPUInt64Aligned
      Src: /src/tdengine/source/common/src/tdatablock.c:4282,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/tdatablock.c:4287,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4294,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4303,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/common/src/tdatablock.c:4304,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4309,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:4317,1
    - Dst: getTsColDataOffset
      Src: /src/tdengine/source/common/src/tdatablock.c:4319,1
    - Dst: getFirstNotSmallerThanTSRowNum
      Src: /src/tdengine/source/common/src/tdatablock.c:4324,1
    - Dst: getFirstBiggerThanTSRowNum
      Src: /src/tdengine/source/common/src/tdatablock.c:4329,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:4340,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:4346,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4350,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4355,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:4360,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:4362,1
    - Dst: resetVarDataOffset
      Src: /src/tdengine/source/common/src/tdatablock.c:4365,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:4377,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:4394,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4394,1
    - Dst: BMIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:4396,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:4397,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:4400,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:4407,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:4408,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4409,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4425,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/common/src/tdatablock.c:4430,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 128
    argCount: 5
    argNames:
    - pBlock
    - pData
    - tsColSlotId
    - start
    - end
    argTypes:
    - SSDataBlock*
    - char*
    - int32_t
    - TSKEY
    - TSKEY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4437
      start: 4248
    functionDepth: 3
    functionLinenumber: 4248
    functionLinenumberEnd: 4437
    functionName: blockSpecialDecodeLaterPart
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 2
    functionsReached:
    - htonl
    - taosSetPUInt64Aligned
    - extractDecimalTypeInfoFromBytes
    - memcpy
    - taosArrayGet
    - getFirstNotSmallerThanTSRowNum
    - BMIsNull
    - getFirstBiggerThanTSRowNum
    - blockDataCheck
    - IS_DECIMAL_TYPE
    - resetVarDataOffset
    - taosArrayInit_s
    - BitmapLen
    - getTsColDataOffset
    - uError
    - blockDataEnsureCapacity
    - colDataSetNull_f
    - colDataIsNull_s
    - taosMemoryRealloc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t blockSpecialDecodeLaterPart(SSDataBlock* pBlock, const char*
      pData, int32_t tsColSlotId, TSKEY start, TSKEY end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:4447,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:4449,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:4453,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - pBlock
    - tsColSlotId
    - row
    - ts
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    - TSKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4460
      start: 4439
    functionDepth: 1
    functionLinenumber: 4439
    functionLinenumberEnd: 4460
    functionName: getStreamBlockTS
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: 1
    functionsReached:
    - uError
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: int32_t getStreamBlockTS(SSDataBlock* pBlock, int32_t tsColSlotId,
      int32_t row, TSKEY* ts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/systable.c:939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pInfosTableMeta
    - size
    argTypes:
    - SSysTableMeta**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 941
    functionName: getInfosDbMeta
    functionSourceFile: /src/tdengine/source/common/src/systable.c
    functionUses: 4
    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:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pPerfsTableMeta
    - size
    argTypes:
    - SSysTableMeta**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 950
    functionName: getPerfDbMeta
    functionSourceFile: /src/tdengine/source/common/src/systable.c
    functionUses: 2
    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:954,1
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/common/src/systable.c:960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sysInfo
    - size
    argTypes:
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 966
    functionName: getVisibleInfosTablesNum
    functionSourceFile: /src/tdengine/source/common/src/systable.c
    functionUses: 0
    functionsReached:
    - getInfosDbMeta
    linkageType: ''
    returnType: void
    signature: void getVisibleInfosTablesNum(bool sysInfo, size_t* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - sysInfo
    - tableType
    - flags
    argTypes:
    - bool
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 973
    functionName: invisibleColumn
    functionSourceFile: /src/tdengine/source/common/src/systable.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool invisibleColumn(bool sysInfo, int8_t tableType, int8_t flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/common/src/systable.c:985,1
    - Dst: getPerfDbMeta
      Src: /src/tdengine/source/common/src/systable.c:987,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/systable.c:990,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - dbName
    - tbName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 995
    functionName: getSysTableMeta
    functionSourceFile: /src/tdengine/source/common/src/systable.c
    functionUses: 1
    functionsReached:
    - getInfosDbMeta
    - getPerfDbMeta
    - strcasecmp
    linkageType: ''
    returnType: SSysTableMeta
    signature: SSysTableMeta * getSysTableMeta(const char* dbName, const char* tbName)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: initPrivLookup
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initPrivLookup(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/common/src/tpriv.c:279,1
    - Dst: privInfoIterInit
      Src: /src/tdengine/source/common/src/tpriv.c:282,1
    - Dst: privInfoIterNext
      Src: /src/tdengine/source/common/src/tpriv.c:285,1
    - Dst: uWarn
      Src: /src/tdengine/source/common/src/tpriv.c:288,1
    - Dst: uWarn
      Src: /src/tdengine/source/common/src/tpriv.c:293,1
    - Dst: privAddType
      Src: /src/tdengine/source/common/src/tpriv.c:297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - privSet
    - pObjType
    - pObjLevel
    argTypes:
    - SPrivSet*
    - EPrivObjType
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 301
    functionName: privExpandAll
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 1
    functionsReached:
    - privInfoIterNext
    - privAddType
    - privInfoIterInit
    - PRIV_HAS
    - uWarn
    linkageType: ''
    returnType: int32_t
    signature: int32_t privExpandAll(SPrivSet* privSet, EPrivObjType pObjType, uint8_t
      pObjLevel)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/common/src/tpriv.c:306,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/common/src/tpriv.c:307,1
    - Dst: privRemoveType
      Src: /src/tdengine/source/common/src/tpriv.c:312,1
    - Dst: privRemoveType
      Src: /src/tdengine/source/common/src/tpriv.c:313,1
    - Dst: privInfoIterInit
      Src: /src/tdengine/source/common/src/tpriv.c:316,1
    - Dst: privInfoIterNext
      Src: /src/tdengine/source/common/src/tpriv.c:319,1
    - Dst: privAddType
      Src: /src/tdengine/source/common/src/tpriv.c:327,1
    - Dst: privAddType
      Src: /src/tdengine/source/common/src/tpriv.c:330,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - privSet
    - pObjType
    - pObjLevel
    argTypes:
    - SPrivSet*
    - EPrivObjType
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 335
    functionName: privExpandRw
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 1
    functionsReached:
    - privInfoIterNext
    - privAddType
    - privInfoIterInit
    - PRIV_HAS
    - privRemoveType
    linkageType: ''
    returnType: int32_t
    signature: int32_t privExpandRw(SPrivSet* privSet, EPrivObjType pObjType, uint8_t
      pObjLevel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: privInfoIterInit
      Src: /src/tdengine/source/common/src/tpriv.c:343,1
    - Dst: privInfoIterNext
      Src: /src/tdengine/source/common/src/tpriv.c:346,1
    - Dst: privObjKeyF
      Src: /src/tdengine/source/common/src/tpriv.c:349,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tpriv.c:351,1
    - Dst: privAddType
      Src: /src/tdengine/source/common/src/tpriv.c:354,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tpriv.c:355,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/tpriv.c:355,1
    - Dst: privAddType
      Src: /src/tdengine/source/common/src/tpriv.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - objPrivs
    - dbFName
    - tbName
    - rwAttr
    argTypes:
    - SHashObj*
    - char*
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: privUpgradeRwDb
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached:
    - privInfoIterNext
    - taosHashGet
    - privAddType
    - privObjKeyF
    - privInfoIterInit
    - TAOS_CHECK_EXIT
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: int32_t privUpgradeRwDb(SHashObj* objPrivs, const char* dbFName, const
      char* tbName, uint8_t rwAttr)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/common/src/tpriv.c:366,1
    - Dst: BUILDIN_CTZL
      Src: /src/tdengine/source/common/src/tpriv.c:384,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 6
    argNames:
    - privSet
    - pCategory
    - pObjType
    - pObjLevel
    - conflict0
    - conflict1
    argTypes:
    - SPrivSet*
    - EPrivCategory*
    - EPrivObjType*
    - uint8_t*
    - EPrivType*
    - EPrivType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 448
    functionName: privCheckConflicts
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 1
    functionsReached:
    - taosThreadOnce
    - BUILDIN_CTZL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t privCheckConflicts(const SPrivSet* privSet, EPrivCategory*
      pCategory, EPrivObjType* pObjType,\n                           uint8_t* pObjLevel,
      EPrivType* conflict0, EPrivType* conflict1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/common/src/tpriv.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pIter
    - privSet
    argTypes:
    - SPrivIter*
    - SPrivSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: privIterInit
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached:
    - taosThreadOnce
    linkageType: ''
    returnType: void
    signature: void privIterInit(SPrivIter* pIter, SPrivSet* privSet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUILDIN_CTZL
      Src: /src/tdengine/source/common/src/tpriv.c:465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - iter
    - ppPrivInfo
    argTypes:
    - SPrivIter*
    - SPrivInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 473
    functionName: privIterNext
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached:
    - BUILDIN_CTZL
    linkageType: ''
    returnType: bool
    signature: bool privIterNext(SPrivIter* iter, SPrivInfo** ppPrivInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/common/src/tpriv.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SPrivInfoIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: privInfoIterInit
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 3
    functionsReached:
    - taosThreadOnce
    linkageType: ''
    returnType: void
    signature: void privInfoIterInit(SPrivInfoIter* pIter)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - iter
    - ppPrivInfo
    argTypes:
    - SPrivInfoIter*
    - SPrivInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: privInfoIterNext
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool privInfoIterNext(SPrivInfoIter* iter, SPrivInfo** ppPrivInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tpriv.c:497,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tpriv.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pPrivInfo
    - fname
    - tb
    - buf
    - bufLen
    argTypes:
    - SPrivInfo*
    - char*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: privObjKeyF
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t privObjKeyF(const SPrivInfo* pPrivInfo, const char* fname,
      const char* tb, char* buf, int32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tpriv.c:504,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tpriv.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pPrivInfo
    - acctId
    - name
    - tb
    - buf
    - bufLen
    argTypes:
    - SPrivInfo*
    - int32_t
    - char*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 506
    functionName: privObjKey
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: "int32_t privObjKey(const SPrivInfo* pPrivInfo, int32_t acctId, const
      char* name, const char* tb, char* buf,\n                   int32_t bufLen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/common/src/tpriv.c:511,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/common/src/tpriv.c:515,1
    - Dst: strchr
      Src: /src/tdengine/source/common/src/tpriv.c:519,1
    - Dst: strchr
      Src: /src/tdengine/source/common/src/tpriv.c:523,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tpriv.c:529,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tpriv.c:530,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tpriv.c:532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 7
    argNames:
    - str
    - pObjType
    - db
    - dbLen
    - tb
    - tbLen
    - fullDb
    argTypes:
    - char*
    - EPrivObjType*
    - char*
    - int32_t
    - char*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 536
    functionName: privObjKeyParse
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached:
    - taosStr2Int32
    - strchr
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t privObjKeyParse(const char* str, EPrivObjType* pObjType, char*
      db, int32_t dbLen, char* tb, int32_t tbLen,\n                        bool fullDb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - objType
    argTypes:
    - EPrivObjType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: privObjGetName
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * privObjGetName(EPrivObjType objType)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - objType
    argTypes:
    - EPrivObjType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: privObjGetLevel
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t privObjGetLevel(EPrivObjType objType)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tpriv.c:553,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tpriv.c:555,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tpriv.c:557,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tpriv.c:559,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tpriv.c:561,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tpriv.c:563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - roleName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 567
    functionName: getSysRoleType
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSysRoleType(const char* roleName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/common/src/tpriv.c:571,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/common/src/tpriv.c:571,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/common/src/tpriv.c:572,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/common/src/tpriv.c:572,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/common/src/tpriv.c:573,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/common/src/tpriv.c:573,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 578
    functionName: isPrivInheritName
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 2
    functionsReached:
    - taosStrncasecmp
    linkageType: ''
    returnType: bool
    signature: bool isPrivInheritName(const char* name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tpriv.c:584,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tpriv.c:591,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/common/src/tpriv.c:592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - SPrivTblPolicy*
    - SPrivTblPolicy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 598
    functionName: privTblPolicyCopy
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached:
    - taosArrayDup
    - taosArrayGetSize
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t privTblPolicyCopy(SPrivTblPolicy* dest, SPrivTblPolicy* src)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tpriv.c:603,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tpriv.c:608,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tpriv.c:608,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tpriv.c:610,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tpriv.c:613,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/tpriv.c:614,1
    - Dst: privTblPolicyCopy
      Src: /src/tdengine/source/common/src/tpriv.c:616,1
    - Dst: privTblPolicyFree
      Src: /src/tdengine/source/common/src/tpriv.c:617,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tpriv.c:618,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tpriv.c:621,1
    - Dst: privTblPolicyFree
      Src: /src/tdengine/source/common/src/tpriv.c:622,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tpriv.c:623,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - dest
    - src
    - deepCopy
    - setUpdateTimeMax
    argTypes:
    - SPrivTblPolicies*
    - SPrivTblPolicies*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 631
    functionName: privTblPoliciesAdd
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached:
    - privTblPolicyFree
    - taosArrayPush
    - TARRAY_SIZE
    - privTblPolicyCopy
    - taosArrayGetSize
    - taosArrayInit
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t privTblPoliciesAdd(SPrivTblPolicies* dest, SPrivTblPolicies*
      src, bool deepCopy, bool setUpdateTimeMax)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tpriv.c:635,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tpriv.c:640,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tpriv.c:640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tpriv.c:642,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tpriv.c:646,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/tpriv.c:647,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tpriv.c:648,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/common/src/tpriv.c:654,1
    - Dst: privTblPolicyCopy
      Src: /src/tdengine/source/common/src/tpriv.c:662,1
    - Dst: privTblPolicyFree
      Src: /src/tdengine/source/common/src/tpriv.c:663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tpriv.c:664,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tpriv.c:666,1
    - Dst: privTblPolicyFree
      Src: /src/tdengine/source/common/src/tpriv.c:667,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tpriv.c:668,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - dest
    - src
    - updateWithLatest
    argTypes:
    - SPrivTblPolicies*
    - SPrivTblPolicies*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 673
    functionName: privTblPoliciesMerge
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached:
    - privTblPolicyFree
    - taosArrayPush
    - TARRAY_SIZE
    - taosArrayGet
    - privTblPolicyCopy
    - taosArrayGetSize
    - taosArrayInit
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    - taosArrayClearEx
    linkageType: ''
    returnType: int32_t
    signature: int32_t privTblPoliciesMerge(SPrivTblPolicies* dest, SPrivTblPolicies*
      src, bool updateWithLatest)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/tpriv.c:679,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/tpriv.c:684,1
    - Dst: privObjKey
      Src: /src/tdengine/source/common/src/tpriv.c:692,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tpriv.c:694,1
    - Dst: PRIV_HAS
      Src: /src/tdengine/source/common/src/tpriv.c:695,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 6
    argNames:
    - privs
    - acctId
    - objName
    - tbName
    - privInfo
    - recursive
    argTypes:
    - SHashObj*
    - int32_t
    - char*
    - char*
    - SPrivInfo*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 711
    functionName: privHasObjPrivilege
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 4
    functionsReached:
    - uError
    - taosHashGet
    - taosHashGetSize
    - PRIV_HAS
    - privObjKey
    linkageType: ''
    returnType: bool
    signature: "bool privHasObjPrivilege(SHashObj* privs, int32_t acctId, const char*
      objName, const char* tbName,\n                         const SPrivInfo* privInfo,
      bool recursive)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/tpriv.c:715,1
    - Dst: privObjKey
      Src: /src/tdengine/source/common/src/tpriv.c:722,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tpriv.c:724,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tpriv.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - privs
    - acctId
    - objName
    - tbName
    - privInfo
    argTypes:
    - SHashObj*
    - int32_t
    - char*
    - char*
    - SPrivInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 730
    functionName: privGetConstraintTblPrivileges
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 2
    functionsReached:
    - taosHashGet
    - taosHashGetSize
    - taosArrayGet
    - privObjKey
    linkageType: ''
    returnType: SPrivTblPolicy
    signature: "SPrivTblPolicy * privGetConstraintTblPrivileges(SHashObj* privs, int32_t
      acctId, const char* objName, const char* tbName,\n                                               const
      SPrivInfo* privInfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/common/src/tpriv.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - privType
    argTypes:
    - EPrivType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 737
    functionName: privInfoGet
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 4
    functionsReached:
    - taosThreadOnce
    linkageType: ''
    returnType: SPrivInfo
    signature: SPrivInfo * privInfoGet(EPrivType privType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: privInfoGet
      Src: /src/tdengine/source/common/src/tpriv.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - privType
    argTypes:
    - EPrivType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: privInfoGetName
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 1
    functionsReached:
    - privInfoGet
    linkageType: ''
    returnType: char
    signature: char * privInfoGetName(EPrivType privType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: privIterInit
      Src: /src/tdengine/source/common/src/tpriv.c:746,1
    - Dst: privIterNext
      Src: /src/tdengine/source/common/src/tpriv.c:748,1
    - Dst: privAddType
      Src: /src/tdengine/source/common/src/tpriv.c:750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fromSet
    - toSet
    - objType
    argTypes:
    - SPrivSet*
    - SPrivSet*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 753
    functionName: privAddSetByObjType
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 0
    functionsReached:
    - privAddType
    - privIterNext
    - privIterInit
    linkageType: ''
    returnType: void
    signature: void privAddSetByObjType(SPrivSet* fromSet, SPrivSet* toSet, uint8_t
      objType)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: privIterInit
      Src: /src/tdengine/source/common/src/tpriv.c:763,1
    - Dst: privIterNext
      Src: /src/tdengine/source/common/src/tpriv.c:766,1
    - Dst: BUILDIN_CTZL
      Src: /src/tdengine/source/common/src/tpriv.c:812,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 1
    argNames:
    - privSet
    argTypes:
    - SPrivSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 817
    functionName: privDeduceObjType
    functionSourceFile: /src/tdengine/source/common/src/tpriv.c
    functionUses: 1
    functionsReached:
    - BUILDIN_CTZL
    - privIterNext
    - privIterInit
    linkageType: ''
    returnType: EPrivObjType
    signature: EPrivObjType privDeduceObjType(SPrivSet* privSet)
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 83
    functionName: getDefaultEncode
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getDefaultEncode(uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: columnEncodeStr
      Src: /src/tdengine/source/common/src/tcol.c:84,1
    - Dst: getDefaultEncode
      Src: /src/tdengine/source/common/src/tcol.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: getDefaultEncodeStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 0
    functionsReached:
    - getDefaultEncode
    - columnEncodeStr
    linkageType: ''
    returnType: char
    signature: char * getDefaultEncodeStr(uint8_t type)
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 131
    functionName: getDefaultCompress
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getDefaultCompress(uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: columnCompressStr
      Src: /src/tdengine/source/common/src/tcol.c:132,1
    - Dst: getDefaultCompress
      Src: /src/tdengine/source/common/src/tcol.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: getDefaultCompressStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 0
    functionsReached:
    - columnCompressStr
    - getDefaultCompress
    linkageType: ''
    returnType: char
    signature: char * getDefaultCompressStr(uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: getDefaultLevel
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getDefaultLevel(uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: columnLevelStr
      Src: /src/tdengine/source/common/src/tcol.c:135,1
    - Dst: getDefaultLevel
      Src: /src/tdengine/source/common/src/tcol.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: getDefaultLevelStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 0
    functionsReached:
    - getDefaultLevel
    - columnLevelStr
    linkageType: ''
    returnType: char
    signature: char * getDefaultLevelStr(uint8_t type)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 163
    functionName: columnEncodeStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * columnEncodeStr(uint8_t type)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 191
    functionName: columnCompressStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * columnCompressStr(uint16_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:196,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:196,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:198,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:198,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:200,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - level
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: columnLevelVal
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 6
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t columnLevelVal(const char* level)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:211,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:213,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:215,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:217,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:219,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - compress
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 227
    functionName: columnCompressVal
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 6
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t columnCompressVal(const char* compress)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:232,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:234,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:236,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:238,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:240,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - encode
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 248
    functionName: columnEncodeVal
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 6
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t columnEncodeVal(const char* encode)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: columnLevelStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * columnLevelStr(uint8_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:270,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tcol.c:271,1
    - Dst: strtolower
      Src: /src/tdengine/source/common/src/tcol.c:271,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - encode
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 278
    functionName: checkColumnEncode
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 2
    functionsReached:
    - strlen
    - strtolower
    - TAOS_UNUSED
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool checkColumnEncode(char encode[TSDB_CL_COMPRESS_OPTION_LEN])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:280,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tcol.c:281,1
    - Dst: getDefaultEncodeStr
      Src: /src/tdengine/source/common/src/tcol.c:281,1
    - Dst: checkColumnEncode
      Src: /src/tdengine/source/common/src/tcol.c:284,1
    - Dst: validColEncode
      Src: /src/tdengine/source/common/src/tcol.c:284,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/common/src/tcol.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - type
    - encode
    argTypes:
    - uint8_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: checkColumnEncodeOrSetDefault
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 4
    functionsReached:
    - columnEncodeVal
    - validColEncode
    - getDefaultEncodeStr
    - tstrncpy
    - checkColumnEncode
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool checkColumnEncodeOrSetDefault(uint8_t type, char encode[TSDB_CL_COMPRESS_OPTION_LEN])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:287,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tcol.c:288,1
    - Dst: strtolower
      Src: /src/tdengine/source/common/src/tcol.c:288,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - compress
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: checkColumnCompress
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 2
    functionsReached:
    - strlen
    - strtolower
    - TAOS_UNUSED
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool checkColumnCompress(char compress[TSDB_CL_COMPRESS_OPTION_LEN])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:297,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tcol.c:298,1
    - Dst: getDefaultCompressStr
      Src: /src/tdengine/source/common/src/tcol.c:298,1
    - Dst: checkColumnCompress
      Src: /src/tdengine/source/common/src/tcol.c:302,1
    - Dst: validColCompress
      Src: /src/tdengine/source/common/src/tcol.c:302,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/common/src/tcol.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - type
    - compress
    argTypes:
    - uint8_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: checkColumnCompressOrSetDefault
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 4
    functionsReached:
    - getDefaultCompressStr
    - validColCompress
    - checkColumnCompress
    - tstrncpy
    - strlen
    - columnCompressVal
    linkageType: ''
    returnType: bool
    signature: bool checkColumnCompressOrSetDefault(uint8_t type, char compress[TSDB_CL_COMPRESS_OPTION_LEN])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:305,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tcol.c:306,1
    - Dst: strtolower
      Src: /src/tdengine/source/common/src/tcol.c:306,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:307,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - level
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: checkColumnLevel
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 2
    functionsReached:
    - strlen
    - strtolower
    - TAOS_UNUSED
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool checkColumnLevel(char level[TSDB_CL_COMPRESS_OPTION_LEN])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:319,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tcol.c:320,1
    - Dst: getDefaultLevelStr
      Src: /src/tdengine/source/common/src/tcol.c:320,1
    - Dst: checkColumnLevel
      Src: /src/tdengine/source/common/src/tcol.c:323,1
    - Dst: validColCompressLevel
      Src: /src/tdengine/source/common/src/tcol.c:323,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/common/src/tcol.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - type
    - level
    argTypes:
    - uint8_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: checkColumnLevelOrSetDefault
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 4
    functionsReached:
    - validColCompressLevel
    - checkColumnLevel
    - columnLevelVal
    - tstrncpy
    - strlen
    - getDefaultLevelStr
    linkageType: ''
    returnType: bool
    signature: bool checkColumnLevelOrSetDefault(uint8_t type, char level[TSDB_CL_COMPRESS_OPTION_LEN])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - compress
    - l1
    argTypes:
    - uint32_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: setColEncode
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setColEncode(uint32_t* compress, uint8_t l1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - compress
    - l2
    argTypes:
    - uint32_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: setColCompress
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setColCompress(uint32_t* compress, uint16_t l2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - compress
    - level
    argTypes:
    - uint32_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: setColLevel
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setColLevel(uint32_t* compress, uint8_t level)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: validColEncode
      Src: /src/tdengine/source/common/src/tcol.c:345,1
    - Dst: setColEncode
      Src: /src/tdengine/source/common/src/tcol.c:346,1
    - Dst: setColCompress
      Src: /src/tdengine/source/common/src/tcol.c:349,1
    - Dst: setColLevel
      Src: /src/tdengine/source/common/src/tcol.c:350,1
    - Dst: validColCompress
      Src: /src/tdengine/source/common/src/tcol.c:352,1
    - Dst: setColCompress
      Src: /src/tdengine/source/common/src/tcol.c:353,1
    - Dst: validColCompressLevel
      Src: /src/tdengine/source/common/src/tcol.c:355,1
    - Dst: setColLevel
      Src: /src/tdengine/source/common/src/tcol.c:356,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 6
    argNames:
    - type
    - encode
    - compressType
    - level
    - check
    - compress
    argTypes:
    - uint8_t
    - uint8_t
    - uint16_t
    - uint8_t
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 359
    functionName: setColCompressByOption
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 4
    functionsReached:
    - validColCompressLevel
    - validColEncode
    - validColCompress
    - setColCompress
    - setColEncode
    - setColLevel
    linkageType: ''
    returnType: int32_t
    signature: "int32_t setColCompressByOption(uint8_t type, uint8_t encode, uint16_t
      compressType, uint8_t level, bool check,\n                               uint32_t*
      compress)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: withColCompress
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool withColCompress(uint8_t tableType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: withExtSchema
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool withExtSchema(uint8_t tableType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: hasRefCol
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasRefCol(uint8_t tableType)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - type
    - level
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: validColCompressLevel
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t validColCompressLevel(uint8_t type, uint8_t level)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - type
    - l2
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: validColCompress
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t validColCompress(uint8_t type, uint8_t l2)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 38
    argCount: 2
    argNames:
    - type
    - l1
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 440
    functionName: validColEncode
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t validColEncode(uint8_t type, uint8_t l1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultEncode
      Src: /src/tdengine/source/common/src/tcol.c:444,1
    - Dst: getDefaultCompress
      Src: /src/tdengine/source/common/src/tcol.c:445,1
    - Dst: getDefaultLevel
      Src: /src/tdengine/source/common/src/tcol.c:446,1
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/common/src/tcol.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: createDefaultColCmprByType
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 0
    functionsReached:
    - getDefaultLevel
    - getDefaultCompress
    - SET_COMPRESS
    - getDefaultEncode
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t createDefaultColCmprByType(uint8_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_VAR
      Src: /src/tdengine/source/common/src/tcol.c:452,1
    - Dst: validColEncode
      Src: /src/tdengine/source/common/src/tcol.c:453,1
    - Dst: validColCompress
      Src: /src/tdengine/source/common/src/tcol.c:456,1
    - Dst: validColCompressLevel
      Src: /src/tdengine/source/common/src/tcol.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - type
    - cmpr
    argTypes:
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: validColCmprByType
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: 0
    functionsReached:
    - validColCompressLevel
    - validColCompress
    - validColEncode
    - DEFINE_VAR
    linkageType: ''
    returnType: int32_t
    signature: int32_t validColCmprByType(uint8_t type, uint32_t cmpr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnchr
      Src: /src/tdengine/source/common/src/ttime.c:37,1
    - Dst: checkTzPresent
      Src: /src/tdengine/source/common/src/ttime.c:38,1
    - Dst: parseTimeWithTz
      Src: /src/tdengine/source/common/src/ttime.c:39,1
    - Dst: parseLocaltimeDst
      Src: /src/tdengine/source/common/src/ttime.c:41,1
    - Dst: checkTzPresent
      Src: /src/tdengine/source/common/src/ttime.c:44,1
    - Dst: parseTimeWithTz
      Src: /src/tdengine/source/common/src/ttime.c:45,1
    - Dst: parseLocaltimeDst
      Src: /src/tdengine/source/common/src/ttime.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - timestr
    - utime
    - len
    - timePrec
    - tz
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - int32_t
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: taosParseTime
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 5
    functionsReached:
    - parseTimeWithTz
    - parseLocaltimeDst
    - strnchr
    - checkTzPresent
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosParseTime(const char* timestr, int64_t* utime, int32_t
      len, int32_t timePrec, timezone_t tz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: forwardToTimeStringEnd
      Src: /src/tdengine/source/common/src/ttime.c:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: checkTzPresent
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 2
    functionsReached:
    - forwardToTimeStringEnd
    linkageType: ''
    returnType: bool
    signature: bool checkTzPresent(const char* str, int32_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: forwardToTimeStringEnd
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * forwardToTimeStringEnd(char* str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:104,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:126,1
    - Dst: strnatoi
      Src: /src/tdengine/source/common/src/ttime.c:129,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - str
    - end
    - timePrec
    - pFraction
    argTypes:
    - char*
    - char**
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 134
    functionName: parseFraction
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 2
    functionsReached:
    - TAOS_RETURN
    - strnatoi
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseFraction(char* str, char** end, int32_t timePrec, int64_t*
      pFraction)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:139,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:144,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:149,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:158,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:163,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:167,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:174,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:178,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - str
    - tzOffset
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 179
    functionName: parseTimezone
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseTimezone(char* str, int64_t* tzOffset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseTimezone
      Src: /src/tdengine/source/common/src/ttime.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - tzStr
    - offset
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: offsetOfTimezone
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - parseTimezone
    linkageType: ''
    returnType: int32_t
    signature: int32_t offsetOfTimezone(char* tzStr, int64_t* offset)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:202,1
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:209,1
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:211,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:217,1
    - Dst: user_mktime64
      Src: /src/tdengine/source/common/src/ttime.c:222,1
    - Dst: taosTimeGm
      Src: /src/tdengine/source/common/src/ttime.c:225,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:227,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:227,1
    - Dst: forwardToTimeStringEnd
      Src: /src/tdengine/source/common/src/ttime.c:232,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:239,1
    - Dst: parseFraction
      Src: /src/tdengine/source/common/src/ttime.c:239,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:245,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:247,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:250,1
    - Dst: parseTimezone
      Src: /src/tdengine/source/common/src/ttime.c:250,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:259,1
    - Dst: parseTimezone
      Src: /src/tdengine/source/common/src/ttime.c:259,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:263,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:266,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 4
    argNames:
    - timestr
    - time
    - timePrec
    - delim
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 267
    functionName: parseTimeWithTz
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 2
    functionsReached:
    - user_mktime64
    - TAOS_SYSTEM_ERROR
    - TAOS_CHECK_RETURN
    - taosTimeGm
    - parseFraction
    - taosStrpTime
    - TAOS_RETURN
    - TSDB_TICK_PER_SECOND
    - forwardToTimeStringEnd
    - parseTimezone
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseTimeWithTz(const char* timestr, int64_t* time, int32_t
      timePrec, char delim)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pTm
    argTypes:
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 291
    functionName: validateTm
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE validateTm(struct tm* pTm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:300,1
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:302,1
    - Dst: validateTm
      Src: /src/tdengine/source/common/src/ttime.c:307,1
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:309,1
    - Dst: validateTm
      Src: /src/tdengine/source/common/src/ttime.c:310,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:311,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:315,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:320,1
    - Dst: parseFraction
      Src: /src/tdengine/source/common/src/ttime.c:320,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:323,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:324,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 6
    argNames:
    - timestr
    - len
    - utime
    - timePrec
    - delim
    - tz
    argTypes:
    - char*
    - int32_t
    - int64_t*
    - int32_t
    - char
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 325
    functionName: parseLocaltimeDst
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - TAOS_CHECK_RETURN
    - taosMktime
    - parseFraction
    - taosStrpTime
    - validateTm
    - TAOS_RETURN
    - TSDB_TICK_PER_SECOND
    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: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: getPrecisionUnit
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getPrecisionUnit(int32_t precision)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 3
    argNames:
    - utime
    - fromPrecision
    - toPrecision
    argTypes:
    - int64_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 392
    functionName: convertTimePrecision
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertTimePrecision(int64_t utime, int32_t fromPrecision,
      int32_t toPrecision)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:406,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:462,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:473,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 4
    argNames:
    - time
    - fromPrecision
    - toUnit
    - pRes
    argTypes:
    - int64_t
    - int32_t
    - char
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 474
    functionName: convertTimeFromPrecisionToUnit
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 2
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t convertTimeFromPrecisionToUnit(int64_t time, int32_t fromPrecision,
      char toUnit, int64_t* pRes)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - time
    - fromUnit
    - toPrecision
    - pRes
    argTypes:
    - int64_t
    - char
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 592
    functionName: convertCalendarTimeFromUnitToPrecision
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t convertCalendarTimeFromUnitToPrecision(\n    int64_t time,\n
      \   char fromUnit,\n    int32_t toPrecision,\n    int64_t* pRes\n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/ttime.c:598,1
    - Dst: blobDataLen
      Src: /src/tdengine/source/common/src/ttime.c:599,1
    - Dst: blobDataVal
      Src: /src/tdengine/source/common/src/ttime.c:600,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/ttime.c:602,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/ttime.c:603,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/ttime.c:607,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/ttime.c:608,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:610,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/ttime.c:612,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/src/ttime.c:613,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:615,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:616,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:618,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/ttime.c:620,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:622,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/common/src/ttime.c:624,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:626,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:627,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/src/ttime.c:630,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:632,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:633,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:635,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:637,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:639,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 6
    argNames:
    - type
    - inputData
    - timePrec
    - timeVal
    - tz
    - charsetCxt
    argTypes:
    - int16_t
    - char*
    - int64_t
    - int64_t*
    - timezone_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 640
    functionName: convertStringToTimestamp
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 9
    functionsReached:
    - taosUcs4ToMbs
    - blobDataLen
    - memcpy
    - IS_STR_DATA_BLOB
    - varDataLen
    - taosMemoryFree
    - TAOS_RETURN
    - varDataVal
    - blobDataVal
    - taosMemoryCalloc
    - taosParseTime
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:646,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:648,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:652,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:654,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:658,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:660,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:664,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:666,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:670,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:672,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:675,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:678,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:681,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:684,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:687,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - val
    - unit
    - result
    - timePrecision
    argTypes:
    - int64_t
    - char
    - int64_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 688
    functionName: getDuration
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 3
    functionsReached:
    - convertTimePrecision
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t getDuration(int64_t val, char unit, int64_t* result, int32_t
      timePrecision)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:709,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:712,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:713,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:729,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:740,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:766,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:785,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 6
    argNames:
    - timestamp
    - unit
    - value
    - offset
    - precision
    - tz
    argTypes:
    - int64_t
    - char
    - int64_t
    - int64_t
    - int32_t
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 798
    functionName: alignToNaturalBoundary
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 12
    functionsReached:
    - uError
    - taosLocalTime
    - taosMktime
    - TSDB_TICK_PER_SECOND
    linkageType: ''
    returnType: int64_t
    signature: "int64_t alignToNaturalBoundary(int64_t timestamp, char unit, int64_t
      value, int64_t offset, int32_t precision,\n                               timezone_t
      tz)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/ttime.c:816,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:820,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:822,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:822,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:828,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/src/ttime.c:831,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - token
    - tokenlen
    - duration
    - unit
    - timePrecision
    argTypes:
    - char*
    - int32_t
    - int64_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 832
    functionName: parseAbsoluteDuration
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - SET_ERRNO
    - TAOS_SYSTEM_ERROR
    - TAOS_RETURN
    - taosStr2Int64
    - getDuration
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseAbsoluteDuration(const char* token, int32_t tokenlen,
      int64_t* duration, char* unit,\n                              int32_t timePrecision)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/ttime.c:836,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:839,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:841,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:841,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:846,1
    - Dst: isdigit
      Src: /src/tdengine/source/common/src/ttime.c:848,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/common/src/ttime.c:849,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/src/ttime.c:852,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - token
    - tokenLen
    - duration
    - unit
    - timePrecision
    - negativeAllow
    argTypes:
    - char*
    - int32_t
    - int64_t*
    - char*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 853
    functionName: parseNatualDuration
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 3
    functionsReached:
    - SET_ERRNO
    - TAOS_SYSTEM_ERROR
    - isdigit
    - getPrecisionUnit
    - TAOS_RETURN
    - taosStr2Int64
    - getDuration
    linkageType: ''
    returnType: int32_t
    signature: "int32_t parseNatualDuration(const char* token, int32_t tokenLen, int64_t*
      duration, char* unit, int32_t timePrecision,\n                            bool
      negativeAllow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 855
    functionName: taosIsLeapYear
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool taosIsLeapYear(int32_t year)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:862,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:865,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:874,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:877,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:878,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:879,1
    - Dst: taosIsLeapYear
      Src: /src/tdengine/source/common/src/ttime.c:892,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:899,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:901,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:904,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - t
    - duration
    - unit
    - precision
    - tz
    argTypes:
    - int64_t
    - int64_t
    - char
    - int32_t
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 905
    functionName: taosTimeAdd
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 14
    functionsReached:
    - taosIsLeapYear
    - uError
    - taosMktime
    - taosLocalTime
    - IS_CALENDAR_TIME_DURATION
    - TSDB_TICK_PER_SECOND
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosTimeAdd(int64_t t, int64_t duration, char unit, int32_t
      precision, timezone_t tz)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:949,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:950,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:954,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:955,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:961,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:962,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 6
    argNames:
    - skey
    - ekey
    - interval
    - unit
    - precision
    - order
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - char
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 974
    functionName: taosTimeCountIntervalForFill
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - uError
    - taosLocalTime
    - TSDB_TICK_PER_SECOND
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosTimeCountIntervalForFill(int64_t skey, int64_t ekey, int64_t
      interval, char unit, int32_t precision,\n                                     int32_t
      order)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/common/src/ttime.c:977,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pInterval
    - start
    - order
    argTypes:
    - SInterval*
    - TSKEY
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 2
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: getNextTimeWindowStart
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 2
    functionsReached:
    - taosTimeAdd
    - GET_FORWARD_DIRECTION_FACTOR
    linkageType: ''
    returnType: TSKEY
    signature: TSKEY getNextTimeWindowStart(const SInterval* pInterval, TSKEY start,
      int32_t order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - intervalStart
    - pInterval
    argTypes:
    - int64_t
    - SInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 987
    functionName: taosTimeGetIntervalEnd
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 8
    functionsReached:
    - taosTimeAdd
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosTimeGetIntervalEnd(int64_t intervalStart, const SInterval*
      pInterval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:1001,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1008,1
    - Dst: uWarn
      Src: /src/tdengine/source/common/src/ttime.c:1009,1
    - Dst: taosTimeGm
      Src: /src/tdengine/source/common/src/ttime.c:1013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ticks
    - precision
    - tz
    argTypes:
    - int64_t
    - int32_t
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1014
    functionName: getTZOffsetAtTicks
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - taosTimeGm
    - taosLocalTime
    - uWarn
    - TSDB_TICK_PER_SECOND
    linkageType: ''
    returnType: int64_t
    signature: int64_t getTZOffsetAtTicks(int64_t ticks, int32_t precision, timezone_t
      tz)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:1027,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:1028,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1031,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:1032,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:1050,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:1052,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:1055,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:1057,1
    - Dst: getTZOffsetAtTicks
      Src: /src/tdengine/source/common/src/ttime.c:1060,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:1066,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:1071,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:1079,1
    - Dst: getTZOffsetAtTicks
      Src: /src/tdengine/source/common/src/ttime.c:1090,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:1097,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:1116,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/common/src/ttime.c:1117,1
    - Dst: getNextTimeWindowStart
      Src: /src/tdengine/source/common/src/ttime.c:1122,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/common/src/ttime.c:1123,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 83
    argCount: 2
    argNames:
    - ts
    - pInterval
    argTypes:
    - int64_t
    - SInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1016
    functionDepth: 3
    functionLinenumber: 1016
    functionLinenumberEnd: 1128
    functionName: taosTimeTruncate
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 12
    functionsReached:
    - uError
    - taosTimeAdd
    - taosMktime
    - taosLocalTime
    - IS_CALENDAR_TIME_DURATION
    - taosTimeGetIntervalEnd
    - TSDB_TICK_PER_SECOND
    - getTZOffsetAtTicks
    - getNextTimeWindowStart
    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:1142,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:1146,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:1149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - interval
    argTypes:
    - SInterval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1130
    functionDepth: 4
    functionLinenumber: 1130
    functionLinenumberEnd: 1156
    functionName: calcIntervalAutoOffset
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 5
    functionsReached:
    - taosTimeTruncate
    - taosTimeAdd
    - uError
    linkageType: ''
    returnType: void
    signature: void calcIntervalAutoOffset(SInterval* interval)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1172,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:1175,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1180,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:1188,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1189,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1194,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:1202,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1203,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - ts
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1207
    functionName: fmtts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - taosStrfTime
    - taosLocalTime
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * fmtts(int64_t ts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1245,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1248,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1249,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:1249,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:1251,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1252,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:1253,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/ttime.c:1255,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 4
    argNames:
    - buf
    - bufLen
    - t
    - precision
    argTypes:
    - char*
    - int32_t
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1257
    functionName: taosFormatUtcTime
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 4
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosStrfTime
    - taosLocalTime
    - snprintf
    - tstrncpy
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosFormatUtcTime(char* buf, int32_t bufLen, int64_t t, int32_t
      precision)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1270,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:1273,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1276,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1278,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - buf
    - cap
    - val
    - precision
    argTypes:
    - char*
    - int32_t
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1284
    functionName: formatTimestampLocal
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 5
    functionsReached:
    - taosStrfTime
    - taosLocalTime
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * formatTimestampLocal(char* buf, int32_t cap, int64_t val, int
      precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1289,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1290,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:1290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ts
    - precision
    - tm
    - tz
    argTypes:
    - int64_t
    - int32_t
    - struct STm*
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1293
    functionName: taosTs2Tm
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 3
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosLocalTime
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosTs2Tm(int64_t ts, int32_t precision, struct STm* tm, timezone_t
      tz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tm
    - ts
    - precision
    - tz
    argTypes:
    - struct STm*
    - int64_t*
    - int32_t
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1300
    functionName: taosTm2Ts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - taosMktime
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosTm2Ts(struct STm* tm, int64_t* ts, int32_t precision, timezone_t
      tz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/ttime.c:1513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1519
    functionName: keywordSearch
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: TSFormatKeyWord
    signature: TSFormatKeyWord * keywordSearch(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1523
    functionName: isSeperatorChar
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSeperatorChar(char c)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: keywordSearch
      Src: /src/tdengine/source/common/src/ttime.c:1528,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/ttime.c:1531,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1531,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/ttime.c:1558,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1558,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/common/src/ttime.c:1560,1
    - Dst: isSeperatorChar
      Src: /src/tdengine/source/common/src/ttime.c:1569,1
    - Dst: isSeperatorChar
      Src: /src/tdengine/source/common/src/ttime.c:1581,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/ttime.c:1585,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1585,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/common/src/ttime.c:1587,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1592,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - formatStr
    - formats
    argTypes:
    - char*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1593
    functionName: parseTsFormat
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGetLast
    - isSeperatorChar
    - TAOS_RETURN
    - keywordSearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseTsFormat(const char* formatStr, SArray* formats)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/ttime.c:1596,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1599,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/common/src/ttime.c:1602,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1611,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1616,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1621,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1626,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1630,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1631,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1634,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1638,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1645,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1645,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1646,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1647,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1652,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1653,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1658,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1658,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1659,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1660,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1667,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1667,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1668,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1674,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1681,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1681,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1682,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1687,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1693,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1697,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1701,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1707,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1707,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1708,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1709,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1715,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1715,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1716,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1717,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1721,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1722,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1727,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1727,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1728,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1729,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1733,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1734,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1739,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1739,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1740,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1741,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1745,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1749,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1753,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1757,1
    - Dst: getWindowsTimezoneOffset
      Src: /src/tdengine/source/common/src/ttime.c:1762,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1768,1
    - Dst: abs
      Src: /src/tdengine/source/common/src/ttime.c:1768,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1769,1
    - Dst: getWindowsTimezoneOffset
      Src: /src/tdengine/source/common/src/ttime.c:1774,1
    - Dst: abs
      Src: /src/tdengine/source/common/src/ttime.c:1780,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1781,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1782,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1786,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1787,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1790,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1791,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1794,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1795,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1798,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1799,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 180
    argCount: 4
    argNames:
    - formats
    - tm
    - s
    - outLen
    argTypes:
    - SArray*
    - struct STm*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1595
    functionDepth: 1
    functionLinenumber: 1595
    functionLinenumberEnd: 1806
    functionName: tm2char
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tolower
    - abs
    - getWindowsTimezoneOffset
    - snprintf
    - taosArrayGetSize
    - strlen
    - toupper
    - TAOS_STRNCPY
    linkageType: ''
    returnType: int32_t
    signature: int32_t tm2char(const SArray* formats, const struct STm* tm, char*
      s, int32_t outLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1817,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1817,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - arr
    - s
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1821
    functionName: strArrayCaseSearch
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int32_t
    signature: int32_t strArrayCaseSearch(const char* const* arr, const char* s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:1829,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/ttime.c:1833,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1834,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:1840,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:1849,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:1854,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - dest
    - str
    - len
    - needMoreDigit
    argTypes:
    - int32_t*
    - char*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1869
    functionName: tsFormatStr2Int32
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosStr2Int64
    - tstrncpy
    linkageType: ''
    returnType: char
    signature: char * tsFormatStr2Int32(int32_t* dest, const char* str, int32_t len,
      bool needMoreDigit)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - year
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1877
    functionName: adjustYearTo2020
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t adjustYearTo2020(int32_t year)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1888
    functionName: checkTm
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkTm(const struct tm* tm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/ttime.c:1891,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1892,1
    - Dst: isdigit
      Src: /src/tdengine/source/common/src/ttime.c:1898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - formats
    - curIdx
    argTypes:
    - SArray*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1890
    functionDepth: 1
    functionLinenumber: 1890
    functionLinenumberEnd: 1900
    functionName: needMoreDigits
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached:
    - isdigit
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: bool needMoreDigits(SArray* formats, int32_t curIdx)
  - BBCount: 88
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/ttime.c:1915,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1927,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1931,1
    - Dst: isSeperatorChar
      Src: /src/tdengine/source/common/src/ttime.c:1934,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1940,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1942,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1943,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1954,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1967,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1978,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1978,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1987,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1987,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1996,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1996,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2004,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2004,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2011,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2011,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2021,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2021,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2031,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2031,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2049,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2049,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2069,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2077,1
    - Dst: isdigit
      Src: /src/tdengine/source/common/src/ttime.c:2083,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2084,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:2108,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:2110,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:2119,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:2121,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2128,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2128,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:2139,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:2141,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:2150,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:2152,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2159,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2159,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2168,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2168,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2177,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2177,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2185,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2185,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2193,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2193,1
    - Dst: adjustYearTo2020
      Src: /src/tdengine/source/common/src/ttime.c:2197,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2202,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2202,1
    - Dst: adjustYearTo2020
      Src: /src/tdengine/source/common/src/ttime.c:2206,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:2211,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:2211,1
    - Dst: adjustYearTo2020
      Src: /src/tdengine/source/common/src/ttime.c:2215,1
    - Dst: checkTm
      Src: /src/tdengine/source/common/src/ttime.c:2250,1
    - Dst: taosTm2Ts
      Src: /src/tdengine/source/common/src/ttime.c:2253,1
    - Dst: getWindowsTimezoneOffset
      Src: /src/tdengine/source/common/src/ttime.c:2256,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 316
    argCount: 7
    argNames:
    - s
    - formats
    - ts
    - precision
    - sErrPos
    - fErrIdx
    - tz
    argTypes:
    - char*
    - SArray*
    - int64_t*
    - int32_t
    - char**
    - int32_t*
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 1913
    functionDepth: 2
    functionLinenumber: 1913
    functionLinenumberEnd: 2265
    functionName: char2ts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - adjustYearTo2020
    - needMoreDigits
    - isdigit
    - taosTm2Ts
    - isSeperatorChar
    - checkTm
    - tsFormatStr2Int32
    - getWindowsTimezoneOffset
    - taosArrayGetSize
    - strArrayCaseSearch
    - strlen
    - isspace
    linkageType: ''
    returnType: int32_t
    signature: "int32_t char2ts(const char* s, SArray* formats, int64_t* ts, int32_t
      precision, const char** sErrPos,\n                       int32_t* fErrIdx, timezone_t
      tz)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/ttime.c:2269,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2271,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2273,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:2273,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2276,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/common/src/ttime.c:2276,1
    - Dst: tm2char
      Src: /src/tdengine/source/common/src/ttime.c:2277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - format
    - formats
    - ts
    - precision
    - out
    - outLen
    - tz
    argTypes:
    - char*
    - SArray**
    - int64_t
    - int32_t
    - char*
    - int32_t
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2267
    functionDepth: 2
    functionLinenumber: 2267
    functionLinenumberEnd: 2278
    functionName: taosTs2Char
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 3
    functionsReached:
    - parseTsFormat
    - tm2char
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - taosArrayInit
    - taosTs2Tm
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/ttime.c:2285,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2287,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2289,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:2289,1
    - Dst: char2ts
      Src: /src/tdengine/source/common/src/ttime.c:2291,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:2293,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:2294,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/ttime.c:2295,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:2295,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:2298,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:2301,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 8
    argNames:
    - format
    - formats
    - tsStr
    - ts
    - precision
    - errMsg
    - errMsgLen
    - tz
    argTypes:
    - char*
    - SArray**
    - char*
    - int64_t*
    - int32_t
    - char*
    - int32_t
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2280
    functionDepth: 3
    functionLinenumber: 2280
    functionLinenumberEnd: 2305
    functionName: taosChar2Ts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - parseTsFormat
    - taosArrayGet
    - TAOS_CHECK_RETURN
    - char2ts
    - snprintf
    - TAOS_RETURN
    - taosArrayInit
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosChar2Ts(const char* format, SArray** formats, const char*
      tsStr, int64_t* ts, int32_t precision,\n                    char* errMsg, int32_t
      errMsgLen, timezone_t tz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/ttime.c:2310,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2312,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2314,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:2314,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/ttime.c:2316,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/common/src/ttime.c:2316,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/ttime.c:2317,1
    - Dst: tm2char
      Src: /src/tdengine/source/common/src/ttime.c:2317,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/ttime.c:2320,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - format
    - ts
    - precision
    - out
    - outLen
    argTypes:
    - char*
    - int64_t
    - int32_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2307
    functionDepth: 2
    functionLinenumber: 2307
    functionLinenumberEnd: 2322
    functionName: TEST_ts2char
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - parseTsFormat
    - tm2char
    - TAOS_CHECK_RETURN
    - TAOS_CHECK_GOTO
    - taosArrayDestroy
    - TAOS_RETURN
    - taosArrayInit
    - taosTs2Tm
    linkageType: ''
    returnType: int32_t
    signature: int32_t TEST_ts2char(const char* format, int64_t ts, int32_t precision,
      char* out, int32_t outLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/ttime.c:2327,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2328,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:2328,1
    - Dst: char2ts
      Src: /src/tdengine/source/common/src/ttime.c:2329,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/ttime.c:2331,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/ttime.c:2332,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:2332,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/ttime.c:2334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - format
    - ts
    - precision
    - tsStr
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2324
    functionDepth: 3
    functionLinenumber: 2324
    functionLinenumberEnd: 2336
    functionName: TEST_char2ts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - parseTsFormat
    - taosArrayGet
    - TAOS_CHECK_RETURN
    - char2ts
    - printf
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t TEST_char2ts(const char* format, int64_t* ts, int32_t precision,
      const char* tsStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2344
    functionName: GET_UNIT_INDEX
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_UNIT_INDEX(idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: recursiveTsmaCheckRecursive
      Src: /src/tdengine/source/common/src/ttime.c:2378,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 5
    argNames:
    - baseInterval
    - baseIdx
    - interval
    - idx
    - checkEq
    argTypes:
    - int64_t
    - int8_t
    - int64_t
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2359
    functionDepth: 1
    functionLinenumber: 2359
    functionLinenumberEnd: 2390
    functionName: recursiveTsmaCheckRecursive
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - recursiveTsmaCheckRecursive
    linkageType: ''
    returnType: bool
    signature: "bool recursiveTsmaCheckRecursive(int64_t baseInterval, int8_t baseIdx,
      int64_t interval, int8_t idx,\n                                        bool
      checkEq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: recursiveTsmaCheckRecursiveReverse
      Src: /src/tdengine/source/common/src/ttime.c:2405,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - baseInterval
    - baseIdx
    - interval
    - idx
    - checkEq
    argTypes:
    - int64_t
    - int8_t
    - int64_t
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2392
    functionDepth: 1
    functionLinenumber: 2392
    functionLinenumberEnd: 2408
    functionName: recursiveTsmaCheckRecursiveReverse
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - recursiveTsmaCheckRecursiveReverse
    linkageType: ''
    returnType: bool
    signature: "bool recursiveTsmaCheckRecursiveReverse(int64_t baseInterval, int8_t
      baseIdx, int64_t interval, int8_t idx,\n                                               bool
      checkEq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:2422,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/common/src/ttime.c:2424,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:2428,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/common/src/ttime.c:2430,1
    - Dst: GET_UNIT_INDEX
      Src: /src/tdengine/source/common/src/ttime.c:2437,1
    - Dst: GET_UNIT_INDEX
      Src: /src/tdengine/source/common/src/ttime.c:2437,1
    - Dst: recursiveTsmaCheckRecursive
      Src: /src/tdengine/source/common/src/ttime.c:2439,1
    - Dst: recursiveTsmaCheckRecursiveReverse
      Src: /src/tdengine/source/common/src/ttime.c:2441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - baseInterval
    - baseUnit
    - interval
    - unit
    - precision
    - checkEq
    argTypes:
    - int64_t
    - int8_t
    - int64_t
    - int8_t
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2420
    functionDepth: 2
    functionLinenumber: 2420
    functionLinenumberEnd: 2444
    functionName: checkRecursiveTsmaInterval
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 2
    functionsReached:
    - IS_CALENDAR_TIME_DURATION
    - recursiveTsmaCheckRecursiveReverse
    - recursiveTsmaCheckRecursive
    - convertTimeFromPrecisionToUnit
    - GET_UNIT_INDEX
    linkageType: ''
    returnType: bool
    signature: "bool checkRecursiveTsmaInterval(int64_t baseInterval, int8_t baseUnit,
      int64_t interval, int8_t unit, int8_t precision,\n                                bool
      checkEq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosTime
      Src: /src/tdengine/source/common/src/ttime.c:2452,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:2457,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:2458,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:2465,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:2467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - precision
    - tz
    argTypes:
    - int32_t
    - timezone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2446
    functionDepth: 1
    functionLinenumber: 2446
    functionLinenumberEnd: 2471
    functionName: taosGetTimestampToday
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 2
    functionsReached:
    - uError
    - taosLocalTime
    - taosMktime
    - taosTime
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosGetTimestampToday(int32_t precision, timezone_t tz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/ttime.c:2475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2480
    functionName: taosParseShortWeekday
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosParseShortWeekday(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: VALID_NAME_TYPE
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NAME_TYPE(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tname.c:28,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tname.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - acctId
    - pDbName
    - pTableName
    - pName
    argTypes:
    - int32_t
    - char*
    - char*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: toName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 60
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void toName(int32_t acctId, const char* pDbName, const char* pTableName,
      SName* pName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameIsValid
      Src: /src/tdengine/source/common/src/tname.c:34,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tname.c:38,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:40,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tname.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - dst
    argTypes:
    - SName*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: tNameExtractFullName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 57
    functionsReached:
    - strlen
    - snprintf
    - tNameIsValid
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tNameExtractFullName(const SName* name, char* dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tname.c:53,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:54,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: tNameLen
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t tNameLen(const SName* name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VALID_NAME_TYPE
      Src: /src/tdengine/source/common/src/tname.c:65,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:70,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:72,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: tNameIsValid
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 1
    functionsReached:
    - strlen
    - VALID_NAME_TYPE
    linkageType: ''
    returnType: bool
    signature: bool tNameIsValid(const SName* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tname.c:77,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/tname.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: tNameDup
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 0
    functionsReached:
    - TAOS_MEMCPY
    - taosMemoryMalloc
    linkageType: ''
    returnType: SName
    signature: SName * tNameDup(const SName* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tname.c:83,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tname.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - dst
    argTypes:
    - SName*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: tNameGetDbName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 10
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tNameGetDbName(const SName* name, char* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: tNameGetDbNameP
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * tNameGetDbNameP(const SName* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tname.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - dst
    argTypes:
    - SName*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: tNameGetFullDbName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 76
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t tNameGetFullDbName(const SName* name, char* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: tNameIsEmpty
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tNameIsEmpty(const SName* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: tNameGetTableName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * tNameGetTableName(const SName* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tname.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - dst
    argTypes:
    - SName*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: tNameGetFullTableName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: int32_t tNameGetFullTableName(const SName* name, char* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tname.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - SName*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: tNameAssign
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void tNameAssign(SName* dst, const SName* src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tname.c:119,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tname.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dst
    - acct
    - dbName
    - nameLen
    argTypes:
    - SName*
    - int32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: tNameSetDbName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 24
    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: tListLen
      Src: /src/tdengine/source/common/src/tname.c:131,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tname.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - dst
    - tbName
    - nameLen
    argTypes:
    - SName*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: tNameAddTbName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 1
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tNameAddTbName(SName* dst, const char* tbName, size_t nameLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - acctId
    argTypes:
    - SName*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: tNameSetAcctId
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tNameSetAcctId(SName* dst, int32_t acctId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tname.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - SName*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: tNameDBNameEqual
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool tNameDBNameEqual(SName* left, SName* right)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameDBNameEqual
      Src: /src/tdengine/source/common/src/tname.c:166,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tname.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - SName*
    - SName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: tNameTbNameEqual
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 1
    functionsReached:
    - tNameDBNameEqual
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool tNameTbNameEqual(SName* left, SName* right)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:175,1
    - Dst: strstr
      Src: /src/tdengine/source/common/src/tname.c:181,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/common/src/tname.c:186,1
    - Dst: strstr
      Src: /src/tdengine/source/common/src/tname.c:194,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:196,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tname.c:202,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tname.c:206,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:215,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tname.c:216,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tname.c:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - dst
    - str
    - type
    argTypes:
    - SName*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 225
    functionName: tNameFromString
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 16
    functionsReached:
    - memcpy
    - tListLen
    - strstr
    - strlen
    - taosStr2Int32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tNameFromString(SName* dst, const char* str, uint32_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/common/src/tname.c:232,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tname.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: compareKv
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 0
    functionsReached:
    - TMIN
    - taosStrncasecmp
    linkageType: ''
    returnType: int
    signature: int compareKv(const void* p1, const void* p2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/common/src/tname.c:244,1
    - Dst: tMD5Init
      Src: /src/tdengine/source/common/src/tname.c:247,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/common/src/tname.c:250,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tname.c:253,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tname.c:254,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: tMD5Update
      Src: /src/tdengine/source/common/src/tname.c:261,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tname.c:263,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/common/src/tname.c:264,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/common/src/tname.c:266,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/common/src/tname.c:270,1
    - Dst: taosByteArrayToHexStr
      Src: /src/tdengine/source/common/src/tname.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - rName
    argTypes:
    - RandTableName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 278
    functionName: buildChildTableName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: 1
    functionsReached:
    - tMD5Final
    - taosArrayGet
    - taosArraySort
    - taosByteArrayToHexStr
    - tMD5Update
    - taosArrayGetSize
    - tMD5Init
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t buildChildTableName(RandTableName* rName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/source/common/src/cos.c:47,1
    - Dst: S3_initialize
      Src: /src/tdengine/source/common/src/cos.c:53,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:54,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:54,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:55,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: s3Begin
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 2
    functionsReached:
    - uError
    - S3_initialize
    - S3_get_status_name
    - TAOS_RETURN
    - getenv
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3Begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: S3_deinitialize
      Src: /src/tdengine/source/common/src/cos.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: s3End
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 2
    functionsReached:
    - S3_deinitialize
    linkageType: ''
    returnType: void
    signature: void s3End()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: s3Init
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - epIndex
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: s3DumpCfgByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void s3DumpCfgByEp(int8_t epIndex)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:94,1
    - Dst: s3DumpCfgByEp
      Src: /src/tdengine/source/common/src/cos.c:95,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:101,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:102,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:104,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/cos.c:105,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:106,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:107,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:109,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos.c:112,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:114,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:116,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/cos.c:118,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:118,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:119,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:120,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/cos.c:122,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:123,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:124,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:126,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:128,1
    - Dst: s3PutObjectFromFileOffsetByEp
      Src: /src/tdengine/source/common/src/cos.c:129,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:131,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:132,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:134,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:137,1
    - Dst: s3ListBucketByEp
      Src: /src/tdengine/source/common/src/cos.c:138,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:140,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:141,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:143,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:150,1
    - Dst: s3GetObjectBlockByEp
      Src: /src/tdengine/source/common/src/cos.c:151,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:153,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:154,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:158,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:159,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:160,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:163,1
    - Dst: s3DeleteObjectsByEp
      Src: /src/tdengine/source/common/src/cos.c:164,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:166,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:167,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:169,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:173,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:177,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:180,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:185,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 186
    functionName: s3CheckCfg
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - fprintf
    - s3DumpCfgByEp
    - TAOS_CHECK_GOTO
    - s3PutObjectFromFileOffsetByEp
    - memcpy
    - taosWriteFile
    - s3GetObjectBlockByEp
    - strncmp
    - snprintf
    - taosMemoryFree
    - s3ListBucketByEp
    - TAOS_RETURN
    - taosOpenFile
    - taosFsyncFile
    - strlen
    - s3DeleteObjectsByEp
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3CheckCfg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: should_retry
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int
    signature: int should_retry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:206,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:206,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:208,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - filename
    - lineno
    - funcname
    - status
    - error_details
    argTypes:
    - char*
    - int
    - char*
    - S3Status
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: s3PrintError
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - uError
    - S3_get_status_name
    linkageType: ''
    returnType: void
    signature: "void s3PrintError(const char *filename, int lineno, const char *funcname,
      S3Status status,\n                         char error_details[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - properties
    - callbackData
    argTypes:
    - S3ResponseProperties*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: responsePropertiesCallbackNull
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: S3Status
    signature: S3Status responsePropertiesCallbackNull(const S3ResponseProperties
      *properties, void *callbackData)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - properties
    - callbackData
    argTypes:
    - S3ResponseProperties*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: responsePropertiesCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: S3Status
    signature: S3Status responsePropertiesCallback(const S3ResponseProperties *properties,
      void *callbackData)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:251,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:254,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:257,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:260,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:263,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - status
    - error
    - callbackData
    argTypes:
    - S3Status
    - S3ErrorDetails*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 269
    functionName: responseCompleteCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void responseCompleteCallback(S3Status status, const S3ErrorDetails
      *error, void *callbackData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getListByPrefixByEp
      Src: /src/tdengine/source/common/src/cos.c:277,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:279,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/cos.c:282,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/cos.c:283,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:285,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:287,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:290,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bucketname
    - epIndex
    argTypes:
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 293
    functionName: s3ListBucketByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached:
    - TARRAY_SIZE
    - fprintf
    - taosArrayDestroyEx
    - TARRAY_DATA
    - getListByPrefixByEp
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3ListBucketByEp(char const *bucketname, int8_t epIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getListByPrefix
      Src: /src/tdengine/source/common/src/cos.c:298,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:300,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/cos.c:303,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/cos.c:304,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:306,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:308,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:311,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bucketname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: s3ListBucket
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - TARRAY_SIZE
    - fprintf
    - getListByPrefix
    - taosArrayDestroyEx
    - TARRAY_DATA
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3ListBucket(char const *bucketname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/source/common/src/cos.c:332,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - gb
    - data
    - dataLen
    argTypes:
    - growbuffer**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 360
    functionName: growbuffer_append
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int growbuffer_append(growbuffer **gb, const char *data, int dataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:373,1
    - Dst: free
      Src: /src/tdengine/source/common/src/cos.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - gb
    - amt
    - amtReturn
    - buffer
    argTypes:
    - growbuffer**
    - int
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 388
    functionName: growbuffer_read
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - free
    - memcpy
    linkageType: ''
    returnType: void
    signature: void growbuffer_read(growbuffer **gb, int amt, int *amtReturn, char
      *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/source/common/src/cos.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gb
    argTypes:
    - growbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: growbuffer_destroy
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void growbuffer_destroy(growbuffer *gb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: growbuffer_read
      Src: /src/tdengine/source/common/src/cos.c:467,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/cos.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - callbackData
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 484
    functionName: putObjectDataCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - growbuffer_read
    - taosReadFile
    linkageType: ''
    returnType: int
    signature: int putObjectDataCallback(int bufferSize, char *buffer, void *callbackData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tdengine/source/common/src/cos.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - upload_id
    - callbackData
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: initial_multipart_callback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: S3Status
    signature: S3Status initial_multipart_callback(const char *upload_id, void *callbackData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: responsePropertiesCallbackNull
      Src: /src/tdengine/source/common/src/cos.c:494,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:495,1
    - Dst: strdup
      Src: /src/tdengine/source/common/src/cos.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - properties
    - callbackData
    argTypes:
    - S3ResponseProperties*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 504
    functionName: MultipartResponseProperiesCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - uError
    - strdup
    - responsePropertiesCallbackNull
    linkageType: ''
    returnType: S3Status
    signature: S3Status MultipartResponseProperiesCallback(const S3ResponseProperties
      *properties, void *callbackData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: responsePropertiesCallbackNull
      Src: /src/tdengine/source/common/src/cos.c:507,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:508,1
    - Dst: strdup
      Src: /src/tdengine/source/common/src/cos.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - properties
    - callbackData
    argTypes:
    - S3ResponseProperties*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 517
    functionName: MultipartResponseProperiesCallbackWithCp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - uError
    - strdup
    - responsePropertiesCallbackNull
    linkageType: ''
    returnType: S3Status
    signature: S3Status MultipartResponseProperiesCallbackWithCp(const S3ResponseProperties
      *properties, void *callbackData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: growbuffer_read
      Src: /src/tdengine/source/common/src/cos.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - callbackData
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 529
    functionName: multipartPutXmlCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - growbuffer_read
    linkageType: ''
    returnType: int
    signature: int multipartPutXmlCallback(int bufferSize, char *buffer, void *callbackData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: S3_put_object
      Src: /src/tdengine/source/common/src/cos.c:650,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:651,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:651,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:655,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:656,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:658,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:659,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - bucket_context
    - object_name
    - size
    - put_prop
    - data
    argTypes:
    - S3BucketContext*
    - char*
    - int64_t
    - S3PutProperties*
    - put_object_callback_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 663
    functionName: s3PutObjectFromFileSimple
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - S3_put_object
    - TAOS_SYSTEM_ERROR
    - uError
    - S3_status_is_retryable
    - should_retry
    - TAOS_RETURN
    - s3PrintError
    linkageType: ''
    returnType: int32_t
    signature: "int32_t s3PutObjectFromFileSimple(S3BucketContext *bucket_context,
      char const *object_name, int64_t size,\n                                         S3PutProperties
      *put_prop, put_object_callback_data *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/cos.c:682,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/cos.c:694,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:696,1
    - Dst: S3_initiate_multipart
      Src: /src/tdengine/source/common/src/cos.c:700,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:701,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:701,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:704,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:705,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:705,1
    - Dst: S3_upload_part
      Src: /src/tdengine/source/common/src/cos.c:724,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:726,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:726,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:728,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:729,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:729,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:737,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:737,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:742,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:742,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:744,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:748,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:750,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:750,1
    - Dst: S3_complete_multipart_upload
      Src: /src/tdengine/source/common/src/cos.c:754,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:756,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:756,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:758,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:759,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:759,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:764,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:764,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:767,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:770,1
    - Dst: growbuffer_destroy
      Src: /src/tdengine/source/common/src/cos.c:772,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:773,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:775,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 5
    argNames:
    - bucket_context
    - object_name
    - contentLength
    - put_prop
    - data
    argTypes:
    - S3BucketContext*
    - char*
    - int64_t
    - S3PutProperties*
    - put_object_callback_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 776
    functionName: s3PutObjectFromFileWithoutCp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - S3_upload_part
    - TAOS_SYSTEM_ERROR
    - S3_initiate_multipart
    - S3_complete_multipart_upload
    - uError
    - TAOS_CHECK_GOTO
    - S3_status_is_retryable
    - growbuffer_destroy
    - should_retry
    - snprintf
    - memset
    - taosMemoryFree
    - growbuffer_append
    - TAOS_RETURN
    - tstrerror
    - s3PrintError
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: "int32_t s3PutObjectFromFileWithoutCp(S3BucketContext *bucket_context,
      char const *object_name,\n                                            int64_t
      contentLength, S3PutProperties *put_prop,\n                                            put_object_callback_data
      *data)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:797,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/cos.c:800,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:802,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/cos.c:805,1
    - Dst: cos_cp_load
      Src: /src/tdengine/source/common/src/cos.c:806,1
    - Dst: cos_cp_is_valid_upload
      Src: /src/tdengine/source/common/src/cos.c:806,1
    - Dst: strdup
      Src: /src/tdengine/source/common/src/cos.c:807,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:810,1
    - Dst: cos_cp_remove
      Src: /src/tdengine/source/common/src/cos.c:810,1
    - Dst: S3_initiate_multipart
      Src: /src/tdengine/source/common/src/cos.c:818,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:819,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:819,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:822,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:823,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:823,1
    - Dst: cos_cp_build_upload
      Src: /src/tdengine/source/common/src/cos.c:826,1
    - Dst: cos_cp_open
      Src: /src/tdengine/source/common/src/cos.c:829,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:830,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:830,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/cos.c:839,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/cos.c:848,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:850,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/common/src/cos.c:863,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:864,1
    - Dst: S3_upload_part
      Src: /src/tdengine/source/common/src/cos.c:883,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:885,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:885,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:887,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:888,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:888,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:892,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:892,1
    - Dst: cos_cp_update
      Src: /src/tdengine/source/common/src/cos.c:895,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:896,1
    - Dst: cos_cp_dump
      Src: /src/tdengine/source/common/src/cos.c:896,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:902,1
    - Dst: cos_cp_close
      Src: /src/tdengine/source/common/src/cos.c:902,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:906,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:906,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:910,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:915,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:917,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:917,1
    - Dst: S3_complete_multipart_upload
      Src: /src/tdengine/source/common/src/cos.c:921,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:923,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:923,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:925,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:926,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:926,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:929,1
    - Dst: cos_cp_remove
      Src: /src/tdengine/source/common/src/cos.c:929,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:938,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:938,1
    - Dst: cos_cp_close
      Src: /src/tdengine/source/common/src/cos.c:942,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:943,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:947,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:951,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:955,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:958,1
    - Dst: growbuffer_destroy
      Src: /src/tdengine/source/common/src/cos.c:959,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:961,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 113
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 962
    functionName: s3PutObjectFromFileWithCp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - S3_upload_part
    - cos_cp_is_valid_upload
    - TAOS_CHECK_GOTO
    - taosLSeekFile
    - growbuffer_destroy
    - snprintf
    - memset
    - cos_cp_build_upload
    - cos_cp_update
    - cos_cp_load
    - TAOS_SYSTEM_ERROR
    - cos_cp_open
    - cos_cp_remove
    - taosMemoryCalloc
    - S3_complete_multipart_upload
    - strdup
    - S3_status_is_retryable
    - taosCheckExistFile
    - s3PrintError
    - uError
    - S3_initiate_multipart
    - should_retry
    - cos_cp_close
    - taosMemoryFree
    - cos_cp_dump
    - growbuffer_append
    - tstrerror
    - TAOS_RETURN
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: "int32_t s3PutObjectFromFileWithCp(S3BucketContext *bucket_context,
      const char *file, int64_t lmtime,\n                                         char
      const *object_name, int64_t contentLength, S3PutProperties *put_prop,\n                                         put_object_callback_data
      *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/cos.c:978,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:979,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:980,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos.c:983,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:984,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:985,1
    - Dst: s3PutObjectFromFileSimple
      Src: /src/tdengine/source/common/src/cos.c:1007,1
    - Dst: s3PutObjectFromFileWithCp
      Src: /src/tdengine/source/common/src/cos.c:1010,1
    - Dst: s3PutObjectFromFileWithoutCp
      Src: /src/tdengine/source/common/src/cos.c:1012,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:1017,1
    - Dst: growbuffer_destroy
      Src: /src/tdengine/source/common/src/cos.c:1019,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1022,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - file
    - object_name
    - withcp
    - epIndex
    argTypes:
    - char*
    - char*
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 964
    functionDepth: 3
    functionLinenumber: 964
    functionLinenumberEnd: 1023
    functionName: s3PutObjectFromFile2ByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - s3PutObjectFromFileSimple
    - uError
    - s3PutObjectFromFileWithCp
    - taosStatFile
    - taosCloseFile
    - growbuffer_destroy
    - TAOS_RETURN
    - taosOpenFile
    - s3PutObjectFromFileWithoutCp
    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:1028,1
    - Dst: s3PutObjectFromFile2ByEp
      Src: /src/tdengine/source/common/src/cos.c:1031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - file
    - object_name
    - withcp
    argTypes:
    - char*
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1025
    functionDepth: 4
    functionLinenumber: 1025
    functionLinenumberEnd: 1038
    functionName: s3PutObjectFromFile2
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached:
    - s3PutObjectFromFile2ByEp
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3PutObjectFromFile2(const char *file, const char *object_name,
      int8_t withcp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/cos.c:1055,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1056,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1057,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos.c:1062,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1063,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1064,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/common/src/cos.c:1066,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:1067,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1068,1
    - Dst: s3PutObjectFromFileSimple
      Src: /src/tdengine/source/common/src/cos.c:1090,1
    - Dst: s3PutObjectFromFileWithoutCp
      Src: /src/tdengine/source/common/src/cos.c:1092,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:1096,1
    - Dst: growbuffer_destroy
      Src: /src/tdengine/source/common/src/cos.c:1098,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - file
    - object_name
    - offset
    - size
    - epIndex
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1102
    functionName: s3PutObjectFromFileOffsetByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached:
    - s3PutObjectFromFileSimple
    - uError
    - taosCloseFile
    - taosStatFile
    - taosLSeekFile
    - growbuffer_destroy
    - TAOS_RETURN
    - taosOpenFile
    - s3PutObjectFromFileWithoutCp
    linkageType: ''
    returnType: int32_t
    signature: "int32_t s3PutObjectFromFileOffsetByEp(const char *file, const char
      *object_name, int64_t offset, int64_t size,\n                                             int8_t
      epIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1107,1
    - Dst: s3PutObjectFromFileOffsetByEp
      Src: /src/tdengine/source/common/src/cos.c:1110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - file
    - object_name
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1104
    functionDepth: 4
    functionLinenumber: 1104
    functionLinenumberEnd: 1117
    functionName: s3PutObjectFromFileOffset
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - s3PutObjectFromFileOffsetByEp
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3PutObjectFromFileOffset(const char *file, const char *object_name,
      int64_t offset, int64_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:1139,1
    - Dst: strdup
      Src: /src/tdengine/source/common/src/cos.c:1152,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/cos.c:1153,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:1154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 7
    argNames:
    - isTruncated
    - nextMarker
    - contentsCount
    - contents
    - commonPrefixesCount
    - commonPrefixes
    - callbackData
    argTypes:
    - int
    - char*
    - int
    - S3ListBucketContent*
    - int
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1165
    functionName: listBucketCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - snprintf
    - strdup
    - taosMemoryFree
    linkageType: ''
    returnType: S3Status
    signature: "S3Status listBucketCallback(int isTruncated, const char *nextMarker,
      int contentsCount,\n                                   const S3ListBucketContent
      *contents, int commonPrefixesCount,\n                                   const
      char **commonPrefixes, void *callbackData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1170
    functionName: s3FreeObjectKey
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void s3FreeObjectKey(void *pItem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/cos.c:1187,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1189,1
    - Dst: S3_list_bucket
      Src: /src/tdengine/source/common/src/cos.c:1203,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:1205,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:1205,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1216,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:1216,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:1220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - prefix
    - epIndex
    argTypes:
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1172
    functionDepth: 2
    functionLinenumber: 1172
    functionLinenumberEnd: 1222
    functionName: getListByPrefixByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached:
    - uError
    - S3_list_bucket
    - taosArrayDestroyEx
    - S3_get_status_name
    - S3_status_is_retryable
    - should_retry
    - taosArrayInit
    linkageType: ''
    returnType: SArray
    signature: SArray *getListByPrefixByEp(const char *prefix, int8_t epIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1226,1
    - Dst: getListByPrefixByEp
      Src: /src/tdengine/source/common/src/cos.c:1229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1224
    functionDepth: 3
    functionLinenumber: 1224
    functionLinenumberEnd: 1236
    functionName: getListByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached:
    - getListByPrefixByEp
    - taosRand
    linkageType: ''
    returnType: SArray
    signature: SArray *getListByPrefix(const char *prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S3_delete_object
      Src: /src/tdengine/source/common/src/cos.c:1254,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:1255,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:1255,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:1258,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - object_name
    - nobject
    - epIndex
    argTypes:
    - char*[]
    - int
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1264
    functionName: s3DeleteObjectsByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached:
    - S3_delete_object
    - S3_status_is_retryable
    - should_retry
    - TAOS_RETURN
    - s3PrintError
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3DeleteObjectsByEp(const char *object_name[], int nobject,
      int8_t epIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1269,1
    - Dst: s3DeleteObjectsByEp
      Src: /src/tdengine/source/common/src/cos.c:1272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - object_name
    - nobject
    argTypes:
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1266
    functionDepth: 3
    functionLinenumber: 1266
    functionLinenumberEnd: 1279
    functionName: s3DeleteObjects
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - s3DeleteObjectsByEp
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3DeleteObjects(const char *object_name[], int nobject)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getListByPrefix
      Src: /src/tdengine/source/common/src/cos.c:1282,1
    - Dst: s3DeleteObjects
      Src: /src/tdengine/source/common/src/cos.c:1284,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/cos.c:1284,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/cos.c:1284,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1286,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:1286,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:1288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1281
    functionDepth: 4
    functionLinenumber: 1281
    functionLinenumberEnd: 1289
    functionName: s3DeleteObjectsByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - uError
    - TARRAY_SIZE
    - taosArrayDestroyEx
    - getListByPrefix
    - TARRAY_DATA
    - tstrerror
    - s3DeleteObjects
    linkageType: ''
    returnType: void
    signature: void s3DeleteObjectsByPrefix(const char *prefix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/cos.c:1300,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - callbackData
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1312
    functionName: getObjectDataCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: S3Status
    signature: S3Status getObjectDataCallback(int bufferSize, const char *buffer,
      void *callbackData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/cos.c:1339,1
    - Dst: S3_get_object
      Src: /src/tdengine/source/common/src/cos.c:1343,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:1344,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:1344,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/common/src/cos.c:1348,1
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1348,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/cos.c:1349,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:1349,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1352,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:1352,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1354,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:1354,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1358,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:1358,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1360,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:1360,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 6
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    - epIndex
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1314
    functionDepth: 2
    functionLinenumber: 1314
    functionLinenumberEnd: 1366
    functionName: s3GetObjectBlockByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached:
    - uInfo
    - uError
    - TAOS_SYSTEM_ERROR
    - S3_get_object
    - S3_get_status_name
    - S3_status_is_retryable
    - taosRand
    - should_retry
    - memset
    - TAOS_RETURN
    - taosMsleep
    linkageType: ''
    returnType: int32_t
    signature: "int32_t s3GetObjectBlockByEp(const char *object_name, int64_t offset,
      int64_t size, bool check,\n                                    uint8_t **ppBlock,
      int8_t epIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1371,1
    - Dst: s3GetObjectBlockByEp
      Src: /src/tdengine/source/common/src/cos.c:1374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1368
    functionDepth: 3
    functionLinenumber: 1368
    functionLinenumberEnd: 1381
    functionName: s3GetObjectBlock
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - s3GetObjectBlockByEp
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3GetObjectBlock(const char *object_name, int64_t offset, int64_t
      size, bool check, uint8_t **ppBlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/cos.c:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - callbackData
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1387
    functionName: getObjectCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - taosWriteFile
    linkageType: ''
    returnType: S3Status
    signature: S3Status getObjectCallback(int bufferSize, const char *buffer, void
      *callbackData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos.c:1405,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1407,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1408,1
    - Dst: S3_get_object
      Src: /src/tdengine/source/common/src/cos.c:1414,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:1415,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:1415,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1418,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:1419,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1420,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:1420,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:1423,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - object_name
    - fileName
    - epIndex
    argTypes:
    - char*
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1389
    functionDepth: 2
    functionLinenumber: 1389
    functionLinenumberEnd: 1426
    functionName: s3GetObjectToFileByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - uError
    - taosCloseFile
    - TAOS_SYSTEM_ERROR
    - S3_get_object
    - S3_status_is_retryable
    - should_retry
    - TAOS_RETURN
    - taosOpenFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3GetObjectToFileByEp(const char *object_name, const char *fileName,
      int8_t epIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1431,1
    - Dst: s3GetObjectToFileByEp
      Src: /src/tdengine/source/common/src/cos.c:1434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - object_name
    - fileName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1428
    functionDepth: 3
    functionLinenumber: 1428
    functionLinenumberEnd: 1441
    functionName: s3GetObjectToFile
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - s3GetObjectToFileByEp
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3GetObjectToFile(const char *object_name, const char *fileName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getListByPrefix
      Src: /src/tdengine/source/common/src/cos.c:1444,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1445,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/cos.c:1447,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/cos.c:1448,1
    - Dst: strchr
      Src: /src/tdengine/source/common/src/cos.c:1449,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:1452,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:1453,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:1455,1
    - Dst: s3GetObjectToFile
      Src: /src/tdengine/source/common/src/cos.c:1457,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:1458,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1459,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:1462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - prefix
    - path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1443
    functionDepth: 4
    functionLinenumber: 1443
    functionLinenumberEnd: 1464
    functionName: s3GetObjectsByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - getListByPrefix
    - snprintf
    - strchr
    - TAOS_RETURN
    - taosArrayGetSize
    - s3GetObjectToFile
    - strlen
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3GetObjectsByPrefix(const char *prefix, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S3_head_object
      Src: /src/tdengine/source/common/src/cos.c:1483,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:1484,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:1484,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:1487,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - object_name
    - epIndex
    argTypes:
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1466
    functionDepth: 2
    functionLinenumber: 1466
    functionLinenumberEnd: 1495
    functionName: s3SizeByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - S3_head_object
    - S3_status_is_retryable
    - should_retry
    - TAOS_RETURN
    - s3PrintError
    linkageType: ''
    returnType: long
    signature: long s3SizeByEp(const char *object_name, int8_t epIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1500,1
    - Dst: s3SizeByEp
      Src: /src/tdengine/source/common/src/cos.c:1503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - object_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1497
    functionDepth: 3
    functionLinenumber: 1497
    functionLinenumberEnd: 1510
    functionName: s3Size
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 2
    functionsReached:
    - s3SizeByEp
    - taosRand
    linkageType: ''
    returnType: long
    signature: long s3Size(const char *object_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - path
    - object_size
    argTypes:
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1512
    functionName: s3EvictCache
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s3EvictCache(const char *path, long object_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1520
    functionName: s3Begin
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 2
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3Begin()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_http_io_initialize
      Src: /src/tdengine/source/common/src/cos.c:1523,1
    - Dst: cos_log_set_level
      Src: /src/tdengine/source/common/src/cos.c:1528,1
    - Dst: cos_log_set_output
      Src: /src/tdengine/source/common/src/cos.c:1531,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1522
    functionDepth: 1
    functionLinenumber: 1522
    functionLinenumberEnd: 1534
    functionName: s3Init
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - cos_http_io_initialize
    - cos_log_set_level
    - TAOS_RETURN
    - cos_log_set_output
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3Init()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - 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
    - 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:1542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - cos_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1543
    functionName: log_status
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - cos_warn_log
    linkageType: ''
    returnType: void
    signature: void log_status(cos_status_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_config_create
      Src: /src/tdengine/source/common/src/cos.c:1546,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:1551,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:1553,1
    - Dst: cos_http_controller_create
      Src: /src/tdengine/source/common/src/cos.c:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - options
    - is_cname
    argTypes:
    - cos_request_options_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1558
    functionName: s3InitRequestOptions
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - cos_http_controller_create
    - cos_str_set
    - cos_config_create
    linkageType: ''
    returnType: void
    signature: void s3InitRequestOptions(cos_request_options_t *options, int is_cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1570,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1571,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1572,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:1582,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1583,1
    - Dst: cos_put_object_from_file
      Src: /src/tdengine/source/common/src/cos.c:1584,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1585,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1587,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1590,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - file_str
    - object_str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1594
    functionName: s3PutObjectFromFile
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - s3InitRequestOptions
    - cos_str_set
    - cos_pool_create
    - cos_pool_destroy
    - cos_request_options_create
    - log_status
    - TAOS_RETURN
    - 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:1609,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1610,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1611,1
    - Dst: cos_table_make
      Src: /src/tdengine/source/common/src/cos.c:1612,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_str_set
      Src: /src/tdengine/source/common/src/cos.c:1615,1
    - Dst: cos_create_resumable_clt_params_content
      Src: /src/tdengine/source/common/src/cos.c:1618,1
    - Dst: cos_resumable_upload_file
      Src: /src/tdengine/source/common/src/cos.c:1619,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1621,1
    - Dst: cos_status_is_ok
      Src: /src/tdengine/source/common/src/cos.c:1622,1
    - Dst: vError
      Src: /src/tdengine/source/common/src/cos.c:1623,1
    - Dst: vError
      Src: /src/tdengine/source/common/src/cos.c:1624,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:1624,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:1625,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1629,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1632,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - file_str
    - object_str
    - withcp
    argTypes:
    - char*
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1636
    functionName: s3PutObjectFromFile2
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached:
    - s3InitRequestOptions
    - TAOS_SYSTEM_ERROR
    - cos_str_set
    - cos_table_make
    - vError
    - cos_pool_create
    - cos_pool_destroy
    - cos_request_options_create
    - cos_resumable_upload_file
    - log_status
    - TAOS_RETURN
    - tstrerror
    - cos_status_is_ok
    - cos_create_resumable_clt_params_content
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3PutObjectFromFile2(const char *file_str, const char *object_str,
      int8_t withcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1646,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1647,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1648,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:1650,1
    - Dst: cos_delete_objects_by_prefix
      Src: /src/tdengine/source/common/src/cos.c:1652,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1653,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - prefix_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1655
    functionName: s3DeleteObjectsByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - s3InitRequestOptions
    - cos_str_set
    - cos_delete_objects_by_prefix
    - cos_pool_create
    - cos_pool_destroy
    - cos_request_options_create
    - log_status
    linkageType: ''
    returnType: void
    signature: void s3DeleteObjectsByPrefix(const char *prefix_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1667,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1668,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1669,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1670,1
    - Dst: cos_list_init
      Src: /src/tdengine/source/common/src/cos.c:1672,1
    - Dst: cos_list_init
      Src: /src/tdengine/source/common/src/cos.c:1673,1
    - Dst: cos_create_cos_object_key
      Src: /src/tdengine/source/common/src/cos.c:1676,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1677,1
    - Dst: cos_list_add_tail
      Src: /src/tdengine/source/common/src/cos.c:1678,1
    - Dst: cos_delete_objects
      Src: /src/tdengine/source/common/src/cos.c:1681,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1682,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1684,1
    - Dst: cos_status_is_ok
      Src: /src/tdengine/source/common/src/cos.c:1686,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1687,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1689,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - object_name
    - nobject
    argTypes:
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1693
    functionName: s3DeleteObjects
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached:
    - s3InitRequestOptions
    - cos_str_set
    - cos_pool_create
    - cos_pool_destroy
    - cos_list_init
    - cos_delete_objects
    - cos_request_options_create
    - cos_warn_log
    - log_status
    - cos_status_is_ok
    - TAOS_RETURN
    - cos_create_cos_object_key
    - cos_list_add_tail
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3DeleteObjects(const char *object_name[], int nobject)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1707,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1708,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1709,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:1711,1
    - Dst: cos_check_object_exist
      Src: /src/tdengine/source/common/src/cos.c:1713,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1715,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1718,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1720,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1721,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - object_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1695
    functionDepth: 1
    functionLinenumber: 1695
    functionLinenumberEnd: 1727
    functionName: s3Exists
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - s3InitRequestOptions
    - cos_str_set
    - cos_pool_create
    - cos_pool_destroy
    - cos_request_options_create
    - cos_warn_log
    - log_status
    - cos_check_object_exist
    linkageType: ''
    returnType: bool
    signature: bool s3Exists(const char *object_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1743,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1746,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1747,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1748,1
    - Dst: cos_table_make
      Src: /src/tdengine/source/common/src/cos.c:1751,1
    - Dst: cos_table_add_int
      Src: /src/tdengine/source/common/src/cos.c:1752,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1756,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1757,1
    - Dst: cos_get_object_to_file
      Src: /src/tdengine/source/common/src/cos.c:1758,1
    - Dst: cos_status_is_ok
      Src: /src/tdengine/source/common/src/cos.c:1759,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1761,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1763,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - object_name
    - path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1770
    functionName: s3Get
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - s3InitRequestOptions
    - cos_str_set
    - cos_table_make
    - cos_pool_create
    - cos_pool_destroy
    - cos_request_options_create
    - cos_warn_log
    - cos_table_add_int
    - cos_get_object_to_file
    - cos_status_is_ok
    linkageType: ''
    returnType: bool
    signature: bool s3Get(const char *object_name, const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1789,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1792,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1794,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1795,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1796,1
    - Dst: cos_list_init
      Src: /src/tdengine/source/common/src/cos.c:1798,1
    - Dst: cos_table_create_if_null
      Src: /src/tdengine/source/common/src/cos.c:1807,1
    - Dst: apr_snprintf
      Src: /src/tdengine/source/common/src/cos.c:1808,1
    - Dst: apr_table_add
      Src: /src/tdengine/source/common/src/cos.c:1810,1
    - Dst: cos_get_object_to_buffer
      Src: /src/tdengine/source/common/src/cos.c:1812,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1813,1
    - Dst: cos_status_is_ok
      Src: /src/tdengine/source/common/src/cos.c:1814,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1815,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1816,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:1816,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1817,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:1817,1
    - Dst: cos_list_for_each_entry
      Src: /src/tdengine/source/common/src/cos.c:1824,1
    - Dst: cos_buf_size
      Src: /src/tdengine/source/common/src/cos.c:1824,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/cos.c:1826,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:1828,1
    - Dst: cos_list_for_each_entry
      Src: /src/tdengine/source/common/src/cos.c:1832,1
    - Dst: cos_buf_size
      Src: /src/tdengine/source/common/src/cos.c:1833,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:1834,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1841,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 5
    argNames:
    - object_name
    - offset
    - block_size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1846
    functionName: s3GetObjectBlock
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached:
    - cos_str_set
    - TAOS_CHECK_GOTO
    - cos_list_init
    - log_status
    - cos_buf_size
    - cos_get_object_to_buffer
    - s3InitRequestOptions
    - TAOS_SYSTEM_ERROR
    - memcpy
    - cos_pool_create
    - cos_table_create_if_null
    - cos_list_for_each_entry
    - cos_status_is_ok
    - taosMemoryCalloc
    - cos_request_options_create
    - apr_table_add
    - uError
    - cos_pool_destroy
    - TAOS_RETURN
    - tstrerror
    - apr_snprintf
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1858
    functionName: evictFileCompareAsce
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t evictFileCompareAsce(const void *pLeft, const void *pRight)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos.c:1864,1
    - Dst: taosDirName
      Src: /src/tdengine/source/common/src/cos.c:1865,1
    - Dst: taosGetDiskSize
      Src: /src/tdengine/source/common/src/cos.c:1867,1
    - Dst: vError
      Src: /src/tdengine/source/common/src/cos.c:1868,1
    - Dst: terrstr
      Src: /src/tdengine/source/common/src/cos.c:1868,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/common/src/cos.c:1875,1
    - Dst: vError
      Src: /src/tdengine/source/common/src/cos.c:1877,1
    - Dst: terrstr
      Src: /src/tdengine/source/common/src/cos.c:1877,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/cos.c:1879,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/common/src/cos.c:1881,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/common/src/cos.c:1882,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/cos.c:1883,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:1883,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:1886,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:1888,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:1890,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:1890,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/cos.c:1892,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/cos.c:1894,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/common/src/cos.c:1897,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/common/src/cos.c:1900,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/cos.c:1904,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/cos.c:1906,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/common/src/cos.c:1907,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/cos.c:1914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - path
    - object_size
    argTypes:
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1860
    functionDepth: 1
    functionLinenumber: 1860
    functionLinenumberEnd: 1916
    functionName: s3EvictCache
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 2
    functionsReached:
    - taosGetDirEntryName
    - taosArrayPush
    - taosArraySort
    - taosReadDir
    - taosDirName
    - taosArrayDestroy
    - taosOpenDir
    - vError
    - memcpy
    - taosArrayGet
    - taosGetDiskSize
    - taosStatFile
    - taosRemoveFile
    - terrstr
    - tstrncpy
    - TARRAY_SIZE
    - strncmp
    - taosArrayInit
    - strlen
    - taosCloseDir
    linkageType: ''
    returnType: void
    signature: void s3EvictCache(const char *path, long object_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1931,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1934,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1935,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1936,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1939,1
    - Dst: cos_head_object
      Src: /src/tdengine/source/common/src/cos.c:1940,1
    - Dst: cos_status_is_ok
      Src: /src/tdengine/source/common/src/cos.c:1942,1
    - Dst: apr_table_get
      Src: /src/tdengine/source/common/src/cos.c:1943,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/cos.c:1945,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1947,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:1947,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1950,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1952,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - object_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1918
    functionDepth: 1
    functionLinenumber: 1918
    functionLinenumberEnd: 1959
    functionName: s3Size
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 2
    functionsReached:
    - s3InitRequestOptions
    - cos_str_set
    - apr_table_get
    - cos_pool_create
    - cos_pool_destroy
    - cos_head_object
    - cos_request_options_create
    - cos_warn_log
    - tstrerror
    - taosStr2Int64
    - cos_status_is_ok
    linkageType: ''
    returnType: long
    signature: long s3Size(const char *object_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1963
    functionName: s3Init
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3Init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1964
    functionName: s3Begin
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 2
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3Begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1966
    functionName: s3End
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s3End()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1967
    functionName: s3CheckCfg
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3CheckCfg()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - object
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1968
    functionName: s3PutObjectFromFile
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3PutObjectFromFile(const char *file, const char *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - object
    - withcp
    argTypes:
    - char*
    - char*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 1969
    functionName: s3PutObjectFromFile2
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3PutObjectFromFile2(const char *file, const char *object,
      int8_t withcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - object_name
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1970
    functionName: s3PutObjectFromFileOffset
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    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: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1971
    functionName: s3DeleteObjectsByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s3DeleteObjectsByPrefix(const char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object_name
    - nobject
    argTypes:
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1972
    functionName: s3DeleteObjects
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3DeleteObjects(const char *object_name[], int nobject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1973
    functionName: s3Exists
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool s3Exists(const char *object_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object_name
    - path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1974
    functionName: s3Get
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool s3Get(const char *object_name, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1977
    functionName: s3GetObjectBlock
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - path
    - object_size
    argTypes:
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1978
    functionName: s3EvictCache
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s3EvictCache(const char *path, long object_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 1979
    functionName: s3Size
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long s3Size(const char *object_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1980
    functionName: s3GetObjectsByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3GetObjectsByPrefix(const char *prefix, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object_name
    - fileName
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1981
    functionName: s3GetObjectToFile
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t s3GetObjectToFile(const char *object_name, const char *fileName)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - z
    - n
    - value
    argTypes:
    - char*
    - int32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 46
    functionName: parseBinaryUInteger
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseBinaryUInteger(const char *z, int32_t n, uint64_t *value)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:67,1
    - Dst: parseBinaryUInteger
      Src: /src/tdengine/source/common/src/tvariant.c:72,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/common/src/tvariant.c:77,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/common/src/tvariant.c:87,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:92,1
    - Dst: round
      Src: /src/tdengine/source/common/src/tvariant.c:95,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 5
    argNames:
    - z
    - n
    - is_neg
    - value
    - parseFloat
    argTypes:
    - char*
    - int32_t
    - bool*
    - uint64_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 100
    functionName: parseSignAndUInteger
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 0
    functionsReached:
    - SET_ERRNO
    - parseBinaryUInteger
    - round
    - taosStr2Double
    - taosStr2UInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t parseSignAndUInteger(const char *z, int32_t n, bool *is_neg,
      uint64_t *value, bool parseFloat)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:104,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:108,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/common/src/tvariant.c:110,1
    - Dst: parseSignAndUInteger
      Src: /src/tdengine/source/common/src/tvariant.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - z
    - n
    - type
    - value
    argTypes:
    - char*
    - int32_t
    - uint32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: toDoubleEx
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 2
    functionsReached:
    - SET_ERRNO
    - taosStr2Double
    - parseSignAndUInteger
    linkageType: ''
    returnType: int32_t
    signature: int32_t toDoubleEx(const char *z, int32_t n, uint32_t type, double
      *value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:127,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tvariant.c:130,1
    - Dst: parseSignAndUInteger
      Src: /src/tdengine/source/common/src/tvariant.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - z
    - n
    - base
    - value
    argTypes:
    - char*
    - int32_t
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 159
    functionName: toIntegerPure
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 1
    functionsReached:
    - SET_ERRNO
    - taosStr2Int64
    - parseSignAndUInteger
    linkageType: ''
    returnType: int32_t
    signature: int32_t toIntegerPure(const char *z, int32_t n, int32_t base, int64_t
      *value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:162,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tvariant.c:166,1
    - Dst: round
      Src: /src/tdengine/source/common/src/tvariant.c:173,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/common/src/tvariant.c:173,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:188,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tvariant.c:193,1
    - Dst: parseSignAndUInteger
      Src: /src/tdengine/source/common/src/tvariant.c:234,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 4
    argNames:
    - z
    - n
    - type
    - value
    argTypes:
    - char*
    - int32_t
    - uint32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 254
    functionName: toIntegerEx
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 3
    functionsReached:
    - SET_ERRNO
    - round
    - taosStr2Double
    - parseSignAndUInteger
    - taosStr2Int64
    linkageType: ''
    returnType: int32_t
    signature: int32_t toIntegerEx(const char *z, int32_t n, uint32_t type, int64_t
      *value)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:257,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/common/src/tvariant.c:262,1
    - Dst: round
      Src: /src/tdengine/source/common/src/tvariant.c:272,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/common/src/tvariant.c:272,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:287,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/common/src/tvariant.c:292,1
    - Dst: parseSignAndUInteger
      Src: /src/tdengine/source/common/src/tvariant.c:323,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 64
    argCount: 4
    argNames:
    - z
    - n
    - type
    - value
    argTypes:
    - char*
    - int32_t
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 331
    functionName: toUIntegerEx
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 3
    functionsReached:
    - SET_ERRNO
    - round
    - taosStr2Double
    - parseSignAndUInteger
    - taosStr2UInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t toUIntegerEx(const char *z, int32_t n, uint32_t type, uint64_t
      *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:334,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tvariant.c:337,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - z
    - n
    - base
    - value
    argTypes:
    - char*
    - int32_t
    - int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: toInteger
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 6
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:347,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/common/src/tvariant.c:356,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - z
    - n
    - base
    - value
    argTypes:
    - char*
    - int32_t
    - int32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 362
    functionName: toUInteger
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 3
    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: 21
    BranchProfiles: []
    Callsites:
    - Dst: GET_INT8_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:376,1
    - Dst: GET_UINT8_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:381,1
    - Dst: GET_INT16_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:386,1
    - Dst: GET_UINT16_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:391,1
    - Dst: GET_INT32_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:396,1
    - Dst: GET_UINT32_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:401,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:407,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:412,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:417,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:422,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tvariant.c:428,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tvariant.c:430,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tvariant.c:438,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tvariant.c:439,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tvariant.c:445,1
    - Dst: GET_INT32_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:450,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 81
    argCount: 4
    argNames:
    - pVar
    - pz
    - len
    - type
    argTypes:
    - SVariant*
    - char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 456
    functionName: taosVariantCreateFromBinary
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 1
    functionsReached:
    - uError
    - GET_UINT16_VAL
    - memcpy
    - GET_INT32_VAL
    - GET_UINT8_VAL
    - GET_INT64_VAL
    - GET_INT16_VAL
    - GET_INT8_VAL
    - GET_DOUBLE_VAL
    - GET_UINT32_VAL
    - taosMemoryCalloc
    - GET_UINT64_VAL
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosVariantCreateFromBinary(SVariant *pVar, const char *pz,
      size_t len, uint32_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tvariant.c:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - pVar
    argTypes:
    - SVariant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 467
    functionName: taosVariantDestroy
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 4
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void taosVariantDestroy(SVariant *pVar)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tvariant.c:477,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tvariant.c:480,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tvariant.c:483,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tvariant.c:488,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SVariant*
    - SVariant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 492
    functionName: taosVariantAssign
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 0
    functionsReached:
    - IS_NUMERIC_TYPE
    - memset
    - memcpy
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosVariantAssign(SVariant *pDst, const SVariant *pSrc)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tvariant.c:510,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tvariant.c:526,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - SVariant*
    - SVariant*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 539
    functionName: taosVariantCompare
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 0
    functionsReached:
    - memcmp
    - IS_UNSIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosVariantCompare(const SVariant *p1, const SVariant *p2)
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 2
    argNames:
    - pVar
    - type
    argTypes:
    - SVariant*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 573
    functionName: taosVariantGet
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *taosVariantGet(SVariant *pVar, int32_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos_cp.c:10,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos_cp.c:12,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:13,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cp_path
    - checkpoint
    argTypes:
    - char*
    - SCheckpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 19
    functionName: cos_cp_open
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 4
    functionsReached:
    - uError
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    - taosOpenFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t cos_cp_open(char const* cp_path, SCheckpoint* checkpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos_cp.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - TdFilePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: cos_cp_close
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 6
    functionsReached:
    - taosCloseFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t cos_cp_close(TdFilePtr fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/common/src/cos_cp.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filepath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: cos_cp_remove
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 4
    functionsReached:
    - taosRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t cos_cp_remove(char const* filepath)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/common/src/cos_cp.c:28,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:30,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:33,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:34,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:35,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:38,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:39,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:40,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:44,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:45,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos_cp.c:46,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos_cp.c:46,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:49,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:50,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:51,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:54,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/common/src/cos_cp.c:55,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:56,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:57,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:61,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:62,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:66,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:67,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:68,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:71,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:72,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:73,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:77,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/common/src/cos_cp.c:78,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:79,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:80,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:84,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:85,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:86,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:89,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:90,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:91,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:94,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:95,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:96,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:100,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/common/src/cos_cp.c:101,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:102,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:103,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:107,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:108,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:112,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/common/src/cos_cp.c:113,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:115,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:117,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:122,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:123,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:127,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:128,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:132,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:133,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:137,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:138,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:142,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:143,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:144,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos_cp.c:152,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos_cp.c:152,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/cos_cp.c:154,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos_cp.c:155,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:156,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 107
    argCount: 2
    argNames:
    - cp_body
    - cp
    argTypes:
    - char*
    - SCheckpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 157
    functionName: cos_cp_parse_body
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 0
    functionsReached:
    - cJSON_IsString
    - uError
    - memcpy
    - cJSON_IsObject
    - TAOS_CHECK_GOTO
    - cJSON_IsArray
    - cJSON_IsNumber
    - tstrncpy
    - cJSON_GetObjectItem
    - taosMemoryFree
    - TAOS_RETURN
    - tstrerror
    - strlen
    - cJSON_Delete
    - cJSON_Parse
    linkageType: ''
    returnType: int32_t
    signature: int32_t cos_cp_parse_body(char* cp_body, SCheckpoint* cp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:115,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:117,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:122,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:123,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:127,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:128,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:132,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:133,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:137,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:138,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:142,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:143,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 146
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 0
    functionsReached:
    - cJSON_IsString
    - cJSON_IsNumber
    - cJSON_GetObjectItem
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(item, item2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos_cp.c:163,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:165,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:169,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/cos_cp.c:169,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/cos_cp.c:171,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:173,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/cos_cp.c:176,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:178,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:180,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos_cp.c:182,1
    - Dst: cos_cp_parse_body
      Src: /src/tdengine/source/common/src/cos_cp.c:185,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos_cp.c:189,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos_cp.c:189,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos_cp.c:192,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos_cp.c:195,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - filepath
    - checkpoint
    argTypes:
    - char*
    - SCheckpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 198
    functionName: cos_cp_load
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 3
    functionsReached:
    - taosCloseFile
    - taosMemoryMalloc
    - taosStatFile
    - uError
    - taosReadFile
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - TAOS_RETURN
    - taosOpenFile
    - tstrerror
    - cos_cp_parse_body
    linkageType: ''
    returnType: int32_t
    signature: int32_t cos_cp_load(char const* filepath, SCheckpoint* checkpoint)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/common/src/cos_cp.c:203,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:205,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/common/src/cos_cp.c:209,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:210,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/common/src/cos_cp.c:212,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:213,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/cos_cp.c:215,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos_cp.c:215,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:216,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/cos_cp.c:219,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:220,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos_cp.c:220,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos_cp.c:225,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos_cp.c:225,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos_cp.c:227,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - json
    - checkpoint
    argTypes:
    - cJSON*
    - SCheckpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 229
    functionName: cos_cp_save_json
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 0
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - uError
    - TAOS_CHECK_GOTO
    - taosLSeekFile
    - taosWriteFile
    - cJSON_PrintUnformatted
    - taosMemoryFree
    - TAOS_RETURN
    - tstrerror
    - taosFsyncFile
    - strlen
    - taosFtruncateFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t cos_cp_save_json(cJSON const* json, SCheckpoint* checkpoint)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/cos_cp.c:235,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:237,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:240,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:241,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:244,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:245,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:248,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:249,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:252,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:253,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:257,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:259,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:261,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:262,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:264,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:265,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:267,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:268,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:270,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:271,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:274,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:276,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:278,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:279,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:281,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:282,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:284,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:285,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:287,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:288,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:292,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:294,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:296,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:297,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:299,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:300,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:303,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:305,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/cos_cp.c:308,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:310,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/common/src/cos_cp.c:312,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:314,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:315,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:317,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:318,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:320,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:321,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:323,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:324,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:326,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:327,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:329,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:330,1
    - Dst: cos_cp_save_json
      Src: /src/tdengine/source/common/src/cos_cp.c:334,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:335,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos_cp.c:339,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos_cp.c:339,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/cos_cp.c:341,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:342,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 100
    argCount: 1
    argNames:
    - cp
    argTypes:
    - SCheckpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 343
    functionName: cos_cp_dump
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 3
    functionsReached:
    - uError
    - cJSON_AddItemToArray
    - cJSON_AddNumberToObject
    - TAOS_CHECK_GOTO
    - cos_cp_save_json
    - cJSON_CreateObject
    - cJSON_AddArrayToObject
    - cJSON_AddStringToObject
    - TAOS_RETURN
    - tstrerror
    - cJSON_Delete
    - cJSON_AddObjectToObject
    linkageType: ''
    returnType: int32_t
    signature: int32_t cos_cp_dump(SCheckpoint* cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - checkpoint
    - part_num
    - parts
    - consume_bytes
    argTypes:
    - SCheckpoint*
    - int*
    - SCheckpointPart*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: cos_cp_get_undo_parts
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 0
    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: tstrncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - checkpoint
    - part_index
    - etag
    - crc64
    argTypes:
    - SCheckpoint*
    - int32_t
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: cos_cp_update
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 2
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: void cos_cp_update(SCheckpoint* checkpoint, int32_t part_index, char
      const* etag, uint64_t crc64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/cos_cp.c:358,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:359,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:363,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/cos_cp.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - checkpoint
    - filepath
    - size
    - mtime
    - upload_id
    - part_size
    argTypes:
    - SCheckpoint*
    - char*
    - int64_t
    - int64_t
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 374
    functionName: cos_cp_build_upload
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 3
    functionsReached:
    - TMIN
    - memset
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: "void cos_cp_build_upload(SCheckpoint* checkpoint, char const* filepath,
      int64_t size, int64_t mtime,\n                         char const* upload_id,
      int64_t part_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp
    argTypes:
    - SCheckpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: cos_cp_verify_md5
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 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:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - checkpoint
    - size
    - mtime
    argTypes:
    - SCheckpoint*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: cos_cp_is_valid_upload
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: 3
    functionsReached:
    - cos_cp_verify_md5
    linkageType: ''
    returnType: bool
    signature: bool cos_cp_is_valid_upload(SCheckpoint* checkpoint, int64_t size,
      int64_t mtime)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:56,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:62,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:68,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tencrypt.c:73,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tencrypt.c:74,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tencrypt.c:80,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tencrypt.c:83,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:86,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tencrypt.c:90,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:93,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tencrypt.c:98,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:101,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/tencrypt.c:106,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:107,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tencrypt.c:110,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/common/src/tencrypt.c:113,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:114,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tencrypt.c:118,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/common/src/tencrypt.c:122,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tencrypt.c:124,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tencrypt.c:124,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 4
    argNames:
    - filepath
    - algorithm
    - data
    - dataLen
    argTypes:
    - char*
    - int32_t
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 128
    functionName: taosWriteEncryptFileHeader
    functionSourceFile: /src/tdengine/source/common/src/tencrypt.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - uError
    - tstrerror
    - taosRemoveFile
    - TSDB_CHECK_CODE
    - taosWriteFile
    - snprintf
    - memset
    - tstrncpy
    - taosRenameFile
    - taosOpenFile
    - taosFsyncFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosWriteEncryptFileHeader(const char *filepath, int32_t algorithm,
      const void *data, int32_t dataLen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:149,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tencrypt.c:153,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:156,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/tencrypt.c:160,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:163,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tencrypt.c:167,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tencrypt.c:167,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:169,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:175,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tencrypt.c:180,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tencrypt.c:183,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tencrypt.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - filepath
    - header
    argTypes:
    - char*
    - STdEncryptFileHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 187
    functionName: taosReadEncryptFileHeader
    functionSourceFile: /src/tdengine/source/common/src/tencrypt.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosReadFile
    - uDebug
    - TSDB_CHECK_CODE
    - strncmp
    - taosOpenFile
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosReadEncryptFileHeader(const char *filepath, STdEncryptFileHeader
      *header)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/tencrypt.c:205,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tencrypt.c:205,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tencrypt.c:210,1
    - Dst: taosReadEncryptFileHeader
      Src: /src/tdengine/source/common/src/tencrypt.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - filepath
    - algorithm
    argTypes:
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 228
    functionName: taosIsEncryptedFile
    functionSourceFile: /src/tdengine/source/common/src/tencrypt.c
    functionUses: 0
    functionsReached:
    - uError
    - taosCheckExistFile
    - taosReadEncryptFileHeader
    - tstrerror
    linkageType: ''
    returnType: bool
    signature: bool taosIsEncryptedFile(const char *filepath, int32_t *algorithm)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:258,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tencrypt.c:261,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tencrypt.c:266,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:269,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tencrypt.c:272,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:274,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/tencrypt.c:277,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:278,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tencrypt.c:280,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/common/src/tencrypt.c:284,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:285,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/common/src/tencrypt.c:291,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tencrypt.c:294,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:297,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tencrypt.c:301,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tencrypt.c:302,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tencrypt.c:305,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:308,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tencrypt.c:318,1
    - Dst: Builtin_CBC_Encrypt
      Src: /src/tdengine/source/common/src/tencrypt.c:321,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:324,1
    - Dst: taosWriteEncryptFileHeader
      Src: /src/tdengine/source/common/src/tencrypt.c:328,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:329,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tencrypt.c:333,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tencrypt.c:336,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tencrypt.c:339,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/common/src/tencrypt.c:343,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tencrypt.c:345,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tencrypt.c:345,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 3
    argNames:
    - filepath
    - data
    - dataLen
    argTypes:
    - char*
    - void*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 349
    functionName: taosWriteCfgFile
    functionSourceFile: /src/tdengine/source/common/src/tencrypt.c
    functionUses: 5
    functionsReached:
    - taosCloseFile
    - taosMemoryMalloc
    - memcpy
    - uError
    - taosWriteEncryptFileHeader
    - tstrerror
    - taosRemoveFile
    - TSDB_CHECK_CODE
    - taosWriteFile
    - ENCRYPTED_LEN
    - snprintf
    - memset
    - tstrncpy
    - taosMemoryFree
    - taosRenameFile
    - taosOpenFile
    - taosFsyncFile
    - Builtin_CBC_Encrypt
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosWriteCfgFile(const char *filepath, const void *data, int32_t
      dataLen)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosWaitCfgKeyLoaded
      Src: /src/tdengine/source/common/src/tencrypt.c:374,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:376,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:381,1
    - Dst: taosIsEncryptedFile
      Src: /src/tdengine/source/common/src/tencrypt.c:387,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tencrypt.c:390,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:393,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/common/src/tencrypt.c:398,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:399,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:403,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/tencrypt.c:408,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:411,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tencrypt.c:415,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tencrypt.c:415,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:417,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:424,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tencrypt.c:427,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:430,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/tencrypt.c:433,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:436,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tencrypt.c:439,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:445,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tencrypt.c:450,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:453,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tencrypt.c:462,1
    - Dst: Builtin_CBC_Decrypt
      Src: /src/tdengine/source/common/src/tencrypt.c:465,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:468,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tencrypt.c:471,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tencrypt.c:484,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:487,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/tencrypt.c:490,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:493,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tencrypt.c:496,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tencrypt.c:509,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tencrypt.c:512,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tencrypt.c:515,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tencrypt.c:518,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tencrypt.c:518,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 104
    argCount: 3
    argNames:
    - filepath
    - data
    - dataLen
    argTypes:
    - char*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 522
    functionName: taosReadCfgFile
    functionSourceFile: /src/tdengine/source/common/src/tencrypt.c
    functionUses: 5
    functionsReached:
    - taosIsEncryptedFile
    - strlen
    - taosCloseFile
    - taosMemoryMalloc
    - uError
    - taosFStatFile
    - taosReadFile
    - TSDB_CHECK_CODE
    - strncmp
    - tstrncpy
    - taosMemoryFree
    - taosOpenFile
    - tstrerror
    - taosWaitCfgKeyLoaded
    - Builtin_CBC_Decrypt
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosReadCfgFile(const char *filepath, char **data, int32_t
      *dataLen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:541,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tencrypt.c:545,1
    - Dst: taosIsEncryptedFile
      Src: /src/tdengine/source/common/src/tencrypt.c:551,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tencrypt.c:557,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:560,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/common/src/tencrypt.c:564,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:565,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tencrypt.c:568,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tencrypt.c:574,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:577,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/tencrypt.c:580,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:583,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tencrypt.c:586,1
    - Dst: taosWriteCfgFile
      Src: /src/tdengine/source/common/src/tencrypt.c:590,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:591,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tencrypt.c:595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tencrypt.c:598,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tencrypt.c:601,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tencrypt.c:601,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 1
    argNames:
    - filepath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 604
    functionName: taosEncryptSingleCfgFile
    functionSourceFile: /src/tdengine/source/common/src/tencrypt.c
    functionUses: 0
    functionsReached:
    - taosIsEncryptedFile
    - taosCloseFile
    - taosMemoryMalloc
    - uError
    - taosFStatFile
    - taosReadFile
    - TSDB_CHECK_CODE
    - taosCheckExistFile
    - taosMemoryFree
    - taosOpenFile
    - tstrerror
    - taosWriteCfgFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosEncryptSingleCfgFile(const char *filepath)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:629,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tencrypt.c:648,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tencrypt.c:649,1
    - Dst: taosIsEncryptedFile
      Src: /src/tdengine/source/common/src/tencrypt.c:649,1
    - Dst: taosEncryptSingleCfgFile
      Src: /src/tdengine/source/common/src/tencrypt.c:650,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:651,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tencrypt.c:652,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tencrypt.c:656,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tencrypt.c:657,1
    - Dst: taosIsEncryptedFile
      Src: /src/tdengine/source/common/src/tencrypt.c:657,1
    - Dst: taosEncryptSingleCfgFile
      Src: /src/tdengine/source/common/src/tencrypt.c:658,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:659,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tencrypt.c:660,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tencrypt.c:663,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tencrypt.c:664,1
    - Dst: taosIsEncryptedFile
      Src: /src/tdengine/source/common/src/tencrypt.c:664,1
    - Dst: taosEncryptSingleCfgFile
      Src: /src/tdengine/source/common/src/tencrypt.c:665,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:666,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tencrypt.c:667,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tencrypt.c:670,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tencrypt.c:671,1
    - Dst: taosIsEncryptedFile
      Src: /src/tdengine/source/common/src/tencrypt.c:671,1
    - Dst: taosEncryptSingleCfgFile
      Src: /src/tdengine/source/common/src/tencrypt.c:672,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:673,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tencrypt.c:674,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tencrypt.c:678,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tencrypt.c:679,1
    - Dst: taosIsEncryptedFile
      Src: /src/tdengine/source/common/src/tencrypt.c:679,1
    - Dst: taosEncryptSingleCfgFile
      Src: /src/tdengine/source/common/src/tencrypt.c:680,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:681,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tencrypt.c:682,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tencrypt.c:687,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tencrypt.c:688,1
    - Dst: taosIsEncryptedFile
      Src: /src/tdengine/source/common/src/tencrypt.c:688,1
    - Dst: taosEncryptSingleCfgFile
      Src: /src/tdengine/source/common/src/tencrypt.c:689,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tencrypt.c:690,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tencrypt.c:691,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tencrypt.c:698,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tencrypt.c:702,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tencrypt.c:702,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - dataDir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 622
    functionDepth: 4
    functionLinenumber: 622
    functionLinenumberEnd: 705
    functionName: taosEncryptExistingCfgFiles
    functionSourceFile: /src/tdengine/source/common/src/tencrypt.c
    functionUses: 0
    functionsReached:
    - taosIsEncryptedFile
    - uInfo
    - uError
    - TSDB_CHECK_CODE
    - taosEncryptSingleCfgFile
    - snprintf
    - taosCheckExistFile
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosEncryptExistingCfgFiles(const char *dataDir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tencrypt.c:724,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tencrypt.c:728,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tencrypt.c:731,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tencrypt.c:734,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tencrypt.c:741,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tencrypt.c:744,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/common/src/tencrypt.c:749,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tencrypt.c:756,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tencrypt.c:756,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tencrypt.c:760,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 763
    functionName: taosWaitCfgKeyLoaded
    functionSourceFile: /src/tdengine/source/common/src/tencrypt.c
    functionUses: 3
    functionsReached:
    - uError
    - uDebug
    - atomic_load_32
    - tstrerror
    - taosMsleep
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosWaitCfgKeyLoaded(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pIter
    - pSchema
    argTypes:
    - STSRowIter*
    - STSchema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: tdSTSRowIterInit
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tdSTSRowIterInit(STSRowIter *pIter, STSchema *pSchema)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdGetBitmapAddrTp
      Src: /src/tdengine/source/common/src/trow.c:32,1
    - Dst: tdGetBitmapAddrKv
      Src: /src/tdengine/source/common/src/trow.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pRow
    - rowType
    - flen
    - nKvCols
    argTypes:
    - STSRow*
    - uint8_t
    - uint32_t
    - col_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: tdGetBitmapAddr
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached:
    - tdGetBitmapAddrKv
    - tdGetBitmapAddrTp
    linkageType: ''
    returnType: void
    signature: void *tdGetBitmapAddr(STSRow *pRow, uint8_t rowType, uint32_t flen,
      col_id_t nKvCols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdGetBitmapAddr
      Src: /src/tdengine/source/common/src/trow.c:44,1
    - Dst: tdRowGetNCols
      Src: /src/tdengine/source/common/src/trow.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pIter
    - pRow
    argTypes:
    - STSRowIter*
    - STSRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: tdSTSRowIterReset
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - tdRowGetNCols
    - tdGetBitmapAddr
    linkageType: ''
    returnType: void
    signature: void tdSTSRowIterReset(STSRowIter *pIter, STSRow *pRow)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:58,1
    - Dst: tdSTSRowIterGetTpVal
      Src: /src/tdengine/source/common/src/trow.c:72,1
    - Dst: TD_IS_KV_ROW
      Src: /src/tdengine/source/common/src/trow.c:74,1
    - Dst: tdSTSRowIterGetKvVal
      Src: /src/tdengine/source/common/src/trow.c:75,1
    - Dst: COL_REACH_END
      Src: /src/tdengine/source/common/src/trow.c:79,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - pIter
    - colId
    - colType
    - pVal
    argTypes:
    - STSRowIter*
    - col_id_t
    - col_type_t
    - SCellVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 82
    functionName: tdSTSRowIterFetch
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - tdSTSRowIterGetKvVal
    - COL_REACH_END
    - TD_IS_KV_ROW
    - tdSTSRowIterGetTpVal
    - TD_IS_TP_ROW
    linkageType: ''
    returnType: bool
    signature: bool tdSTSRowIterFetch(STSRowIter *pIter, col_id_t colId, col_type_t
      colType, SCellVal *pVal)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:88,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:89,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:89,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:89,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:91,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:91,1
    - Dst: tdGetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:96,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:102,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:103,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:103,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:103,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:105,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pIter
    - colType
    - offset
    - pVal
    argTypes:
    - STSRowIter*
    - col_type_t
    - int32_t
    - SCellVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 110
    functionName: tdSTSRowIterGetTpVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - TD_ROW_DATA
    - tdGetBitmapValType
    - POINTER_SHIFT
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: bool tdSTSRowIterGetTpVal(STSRowIter *pIter, col_type_t colType, int32_t
      offset, SCellVal *pVal)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:114,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:118,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:134,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - pBitmap
    - colIdx
    - pValType
    argTypes:
    - void*
    - int16_t
    - TDRowValT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: tdGetBitmapValTypeII
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached:
    - POINTER_SHIFT
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdGetBitmapValTypeII(const void *pBitmap, int16_t colIdx, TDRowValT
      *pValType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdGetBitmapValTypeII
      Src: /src/tdengine/source/common/src/trow.c:142,1
    - Dst: tdGetBitmapValTypeI
      Src: /src/tdengine/source/common/src/trow.c:147,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:151,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pBitmap
    - colIdx
    - pValType
    - bitmapMode
    argTypes:
    - void*
    - int16_t
    - TDRowValT*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: tdGetBitmapValType
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - TAOS_RETURN
    - tdGetBitmapValTypeI
    - tdGetBitmapValTypeII
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdGetBitmapValType(const void *pBitmap, int16_t colIdx, TDRowValT
      *pValType, int8_t bitmapMode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdRowGetNCols
      Src: /src/tdengine/source/common/src/trow.c:160,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:161,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:163,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:166,1
    - Dst: tdGetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - pIter
    - colId
    - nIdx
    - pVal
    argTypes:
    - STSRowIter*
    - col_id_t
    - col_id_t*
    - SCellVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 191
    functionName: tdSTSRowIterGetKvVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - tdGetBitmapValType
    - TD_ROW_COL_IDX
    - POINTER_SHIFT
    - tdRowGetNCols
    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:218,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:218,1
    - Dst: tdRowCpy
      Src: /src/tdengine/source/common/src/trow.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - row
    argTypes:
    - STSRow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: tdRowDup
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached:
    - tdRowCpy
    - taosMemoryMalloc
    - TD_ROW_LEN
    linkageType: ''
    returnType: STSRow
    signature: STSRow *tdRowDup(STSRow *row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdSTSRowIterInit
      Src: /src/tdengine/source/common/src/trow.c:227,1
    - Dst: tdSTSRowIterReset
      Src: /src/tdengine/source/common/src/trow.c:228,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:229,1
    - Dst: TD_ROW_TYPE
      Src: /src/tdengine/source/common/src/trow.c:229,1
    - Dst: TD_ROW_SVER
      Src: /src/tdengine/source/common/src/trow.c:229,1
    - Dst: tdSTSRowIterNext
      Src: /src/tdengine/source/common/src/trow.c:233,1
    - Dst: tdSCellValPrint
      Src: /src/tdengine/source/common/src/trow.c:236,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - row
    - pSchema
    - tag
    argTypes:
    - STSRow*
    - STSchema*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: tdSRowPrint
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 2
    functionsReached:
    - TD_ROW_SVER
    - tdSTSRowIterReset
    - tdSCellValPrint
    - printf
    - TD_ROW_TYPE
    - tdSTSRowIterNext
    - tdSTSRowIterInit
    linkageType: ''
    returnType: void
    signature: void tdSRowPrint(STSRow *row, STSchema *pSchema, const char *tag)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: tdValTypeIsNull
      Src: /src/tdengine/source/common/src/trow.c:242,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:243,1
    - Dst: tdValTypeIsNone
      Src: /src/tdengine/source/common/src/trow.c:245,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:246,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:250,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:256,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:259,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:262,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:265,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:268,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:271,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:274,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:277,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:280,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:283,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:286,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:289,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:292,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:295,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:298,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:301,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:304,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:307,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:310,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:313,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:319,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:322,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 81
    argCount: 2
    argNames:
    - pVal
    - colType
    argTypes:
    - SCellVal*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 325
    functionName: tdSCellValPrint
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - printf
    - tdValTypeIsNone
    - tdValTypeIsNull
    linkageType: ''
    returnType: void
    signature: void tdSCellValPrint(SCellVal *pVal, int8_t colType)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: compareKvRowColId
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE compareKvRowColId(const void *key1, const void *key2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdRowSetVal
      Src: /src/tdengine/source/common/src/trow.c:339,1
    - Dst: TD_ROW_KEY_ADDR
      Src: /src/tdengine/source/common/src/trow.c:339,1
    - Dst: tdRowGetNCols
      Src: /src/tdengine/source/common/src/trow.c:342,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/common/src/trow.c:349,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:349,1
    - Dst: tdGetBitmapAddrKv
      Src: /src/tdengine/source/common/src/trow.c:356,1
    - Dst: tdRowGetNCols
      Src: /src/tdengine/source/common/src/trow.c:356,1
    - Dst: tdGetKvRowValOfCol
      Src: /src/tdengine/source/common/src/trow.c:357,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/common/src/trow.c:358,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - pRow
    - colId
    - colIdx
    - pVal
    argTypes:
    - STSRow*
    - col_id_t
    - col_id_t
    - SCellVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: tdSKvRowGetVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached:
    - POINTER_DISTANCE
    - tdRowGetNCols
    - tdGetBitmapAddrKv
    - TD_ROW_COL_IDX
    - taosbsearch
    - tdGetKvRowValOfCol
    - TD_ROW_KEY_ADDR
    - tdRowSetVal
    linkageType: ''
    returnType: bool
    signature: bool tdSKvRowGetVal(STSRow *pRow, col_id_t colId, col_id_t colIdx,
      SCellVal *pVal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdRowSetVal
      Src: /src/tdengine/source/common/src/trow.c:367,1
    - Dst: TD_ROW_KEY_ADDR
      Src: /src/tdengine/source/common/src/trow.c:367,1
    - Dst: tdGetBitmapAddrTp
      Src: /src/tdengine/source/common/src/trow.c:370,1
    - Dst: tdGetTpRowValOfCol
      Src: /src/tdengine/source/common/src/trow.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 373
    functionName: tdSTpRowGetVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached:
    - tdRowSetVal
    - tdGetTpRowValOfCol
    - 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,\n                    SCellVal
      *pVal)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:390,1
    - Dst: tdSTSRowIterGetTpVal
      Src: /src/tdengine/source/common/src/trow.c:391,1
    - Dst: TD_IS_KV_ROW
      Src: /src/tdengine/source/common/src/trow.c:392,1
    - Dst: tdSTSRowIterGetKvVal
      Src: /src/tdengine/source/common/src/trow.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pIter
    - pVal
    argTypes:
    - STSRowIter*
    - SCellVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 400
    functionName: tdSTSRowIterNext
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - TD_IS_KV_ROW
    - tdSTSRowIterGetTpVal
    - TD_IS_TP_ROW
    - tdSTSRowIterGetKvVal
    linkageType: ''
    returnType: bool
    signature: bool tdSTSRowIterNext(STSRowIter *pIter, SCellVal *pVal)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/trow.c:405,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:416,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/trow.c:422,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/src/trow.c:426,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:433,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:436,1
    - Dst: IS_STR_DATA_BLOB
      Src: /src/tdengine/source/common/src/trow.c:437,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/trow.c:438,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/trow.c:459,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/trow.c:470,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/trow.c:473,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/trow.c:476,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:481,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/trow.c:485,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/trow.c:488,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:490,1
    - Dst: tdSRowInit
      Src: /src/tdengine/source/common/src/trow.c:495,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/trow.c:496,1
    - Dst: tdSRowSetInfo
      Src: /src/tdengine/source/common/src/trow.c:496,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/trow.c:497,1
    - Dst: tdSRowResetBuf
      Src: /src/tdengine/source/common/src/trow.c:497,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/trow.c:507,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/src/trow.c:508,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/trow.c:510,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:513,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/trow.c:514,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/trow.c:516,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/trow.c:516,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/trow.c:521,1
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:529,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/trow.c:530,1
    - Dst: tdAppendColValToRow
      Src: /src/tdengine/source/common/src/trow.c:531,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/trow.c:534,1
    - Dst: tdAppendColValToRow
      Src: /src/tdengine/source/common/src/trow.c:535,1
    - Dst: tdSRowEnd
      Src: /src/tdengine/source/common/src/trow.c:541,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/trow.c:544,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/trow.c:547,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:551,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 114
    argCount: 4
    argNames:
    - pArray
    - pTSchema
    - ppRow
    - rowType
    argTypes:
    - SArray*
    - STSchema*
    - STSRow**
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 552
    functionName: tdSTSRowNew
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 2
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_CHECK_GOTO
    - tdAppendColValToRow
    - tdSRowResetBuf
    - memcpy
    - taosArrayGet
    - tdSRowSetInfo
    - COL_VAL_IS_NULL
    - taosArrayGetSize
    - varDataVal
    - COL_VAL_IS_NONE
    - taosMemoryCalloc
    - COL_VAL_IS_VALUE
    - TD_IS_TP_ROW
    - tdSRowEnd
    - varDataSetLen
    - taosMemoryMalloc
    - VALUE_GET_DATUM
    - IS_STR_DATA_BLOB
    - TD_BITMAP_BYTES
    - TAOS_RETURN
    - tdSRowInit
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdSTSRowNew(SArray *pArray, STSchema *pTSchema, STSRow **ppRow,
      int8_t rowType)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 565
    functionName: tdCompareColId
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tdCompareColId(const void *arg1, const void *arg2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:577,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/common/src/trow.c:580,1
    - Dst: COL_REACH_END
      Src: /src/tdengine/source/common/src/trow.c:583,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/common/src/trow.c:587,1
    - Dst: tdGetTpRowValOfCol
      Src: /src/tdengine/source/common/src/trow.c:589,1
    - Dst: TD_IS_KV_ROW
      Src: /src/tdengine/source/common/src/trow.c:590,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/common/src/trow.c:591,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:591,1
    - Dst: tdRowGetNCols
      Src: /src/tdengine/source/common/src/trow.c:591,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/common/src/trow.c:595,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:595,1
    - Dst: tdGetKvRowValOfCol
      Src: /src/tdengine/source/common/src/trow.c:598,1
    - Dst: COL_REACH_END
      Src: /src/tdengine/source/common/src/trow.c:600,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - pIter
    - colId
    - colType
    - pVal
    argTypes:
    - STSRowIter*
    - col_id_t
    - col_type_t
    - SCellVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 605
    functionName: tdSTSRowGetVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached:
    - POINTER_DISTANCE
    - tdRowGetNCols
    - COL_REACH_END
    - TD_IS_KV_ROW
    - TD_ROW_COL_IDX
    - taosbsearch
    - tdGetKvRowValOfCol
    - TD_IS_TP_ROW
    - tdGetTpRowValOfCol
    linkageType: ''
    returnType: bool
    signature: bool tdSTSRowGetVal(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:609,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:611,1
    - Dst: tdGetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:614,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:616,1
    - Dst: tdValTypeIsNorm
      Src: /src/tdengine/source/common/src/trow.c:618,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:621,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:623,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:628,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:630,1
    - Dst: isNull
      Src: /src/tdengine/source/common/src/trow.c:631,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - output
    - pRow
    - pBitmap
    - offset
    - colIdx
    argTypes:
    - SCellVal*
    - STSRow*
    - void*
    - int32_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 634
    functionName: tdGetKvRowValOfCol
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 2
    functionsReached:
    - tdRowGetNCols
    - isNull
    - POINTER_SHIFT
    - TAOS_RETURN
    - tdGetBitmapValType
    - tdValTypeIsNorm
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdGetKvRowValOfCol(SCellVal *output, STSRow *pRow, void *pBitmap,
      int32_t offset, int16_t colIdx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:640,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:641,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:641,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:643,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:643,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:645,1
    - Dst: tdGetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:649,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:651,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:655,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:656,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:656,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:656,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:658,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:658,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - output
    - pRow
    - pBitmap
    - colType
    - offset
    - colIdx
    argTypes:
    - SCellVal*
    - STSRow*
    - void*
    - int8_t
    - int32_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 663
    functionName: tdGetTpRowValOfCol
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 2
    functionsReached:
    - TAOS_RETURN
    - POINTER_SHIFT
    - tdGetBitmapValType
    - TD_ROW_DATA
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tdGetTpRowValOfCol(SCellVal *output, STSRow *pRow, void *pBitmap,
      int8_t colType, int32_t offset,\n                           int16_t colIdx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:671,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:674,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:681,1
    - Dst: TD_ROW_KEY
      Src: /src/tdengine/source/common/src/trow.c:683,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:685,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:697,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:699,1
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:702,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/trow.c:703,1
    - Dst: tdAppendColValToTpRow
      Src: /src/tdengine/source/common/src/trow.c:703,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/trow.c:705,1
    - Dst: tdAppendColValToKvRow
      Src: /src/tdengine/source/common/src/trow.c:705,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:707,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 708
    functionName: tdAppendColValToRow
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - TAOS_CHECK_RETURN
    - TD_ROW_KEY
    - TAOS_RETURN
    - TD_IS_TP_ROW
    - tdAppendColValToTpRow
    - tdAppendColValToKvRow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tdAppendColValToRow(SRowBuilder *pBuilder, col_id_t colId,
      int8_t colType, TDRowValT valType, const void *val,\n                            bool
      isCopyVarData, int32_t offset, col_id_t colIdx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:713,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/trow.c:718,1
    - Dst: tdSetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:718,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:723,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:723,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:725,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:728,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:728,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:729,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/trow.c:731,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/trow.c:731,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:733,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/trow.c:733,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/trow.c:735,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:736,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    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
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 741
    functionName: tdAppendColValToKvRow
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - memcpy
    - varDataTLen
    - TAOS_CHECK_RETURN
    - TD_ROW_COL_IDX
    - tdSetBitmapValType
    - POINTER_SHIFT
    - TAOS_RETURN
    - IS_VAR_DATA_TYPE
    - TD_ROW_LEN
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tdAppendColValToKvRow(SRowBuilder *pBuilder, TDRowValT valType,
      const void *val, bool isCopyVarData,\n                              int8_t colType,
      int16_t colIdx, int32_t offset, col_id_t colId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:746,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/trow.c:751,1
    - Dst: tdSetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:751,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:761,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:763,1
    - Dst: TD_ROW_DATA
      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: memcpy
      Src: /src/tdengine/source/common/src/trow.c:765,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:765,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:765,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/trow.c:765,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:767,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/trow.c:767,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/trow.c:769,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:769,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:769,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - pBuilder
    - valType
    - val
    - isCopyVarData
    - colType
    - colIdx
    - offset
    argTypes:
    - SRowBuilder*
    - TDRowValT
    - void*
    - bool
    - int8_t
    - int16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 774
    functionName: tdAppendColValToTpRow
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - memcpy
    - varDataTLen
    - TAOS_CHECK_RETURN
    - tdSetBitmapValType
    - POINTER_SHIFT
    - TAOS_RETURN
    - TD_ROW_DATA
    - IS_VAR_DATA_TYPE
    - TD_ROW_LEN
    linkageType: ''
    returnType: int32_t
    signature: "int32_t tdAppendColValToTpRow(SRowBuilder *pBuilder, TDRowValT valType,
      const void *val, bool isCopyVarData,\n                              int8_t colType,
      int16_t colIdx, int32_t offset)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:779,1
    - Dst: TD_ROW_SET_INFO
      Src: /src/tdengine/source/common/src/trow.c:785,1
    - Dst: TD_ROW_SET_TYPE
      Src: /src/tdengine/source/common/src/trow.c:786,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:789,1
    - Dst: tdGetBitmapAddrTp
      Src: /src/tdengine/source/common/src/trow.c:796,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/trow.c:797,1
    - Dst: TD_ROW_SET_LEN
      Src: /src/tdengine/source/common/src/trow.c:801,1
    - Dst: TD_ROW_SET_SVER
      Src: /src/tdengine/source/common/src/trow.c:802,1
    - Dst: tdGetBitmapAddrKv
      Src: /src/tdengine/source/common/src/trow.c:806,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/trow.c:807,1
    - Dst: TD_ROW_SET_LEN
      Src: /src/tdengine/source/common/src/trow.c:811,1
    - Dst: TD_ROW_SET_SVER
      Src: /src/tdengine/source/common/src/trow.c:812,1
    - Dst: TD_ROW_SET_NCOLS
      Src: /src/tdengine/source/common/src/trow.c:813,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:817,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:820,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - pBuilder
    - pBuf
    argTypes:
    - SRowBuilder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 821
    functionName: tdSRowResetBuf
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - tdGetBitmapAddrKv
    - TD_ROW_SET_LEN
    - TD_ROW_SET_NCOLS
    - TD_ROW_SET_INFO
    - TD_ROW_SET_TYPE
    - memset
    - TAOS_RETURN
    - TD_ROW_SET_SVER
    - tdGetBitmapAddrTp
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdSRowResetBuf(SRowBuilder *pBuilder, void *pBuf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:826,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:830,1
    - Dst: tdGetBitmapAddrTp
      Src: /src/tdengine/source/common/src/trow.c:837,1
    - Dst: tdGetBitmapAddrKv
      Src: /src/tdengine/source/common/src/trow.c:842,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:846,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pBuilder
    - pBuf
    argTypes:
    - SRowBuilder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 849
    functionName: tdSRowGetBuf
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached:
    - tdGetBitmapAddrKv
    - tdGetBitmapAddrTp
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdSRowGetBuf(SRowBuilder *pBuilder, void *pBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pBuilder
    argTypes:
    - SRowBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 858
    functionName: tdSRowReset
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tdSRowReset(SRowBuilder *pBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:864,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/trow.c:868,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pBuilder
    - nCols
    - flen
    argTypes:
    - SRowBuilder*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 874
    functionName: tdSRowSetTpInfo
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached:
    - TD_BITMAP_BYTES
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdSRowSetTpInfo(SRowBuilder *pBuilder, int32_t nCols, int32_t
      flen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:881,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/trow.c:885,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/trow.c:887,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - pBuilder
    - nCols
    - nBoundCols
    - flen
    argTypes:
    - SRowBuilder*
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 896
    functionName: tdSRowSetInfo
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 1
    functionsReached:
    - TD_BITMAP_BYTES
    - TAOS_RETURN
    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:900,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:904,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:925,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:927,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - pBitmap
    - colIdx
    - valType
    argTypes:
    - void*
    - int16_t
    - TDRowValT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 928
    functionName: tdSetBitmapValTypeII
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 0
    functionsReached:
    - POINTER_SHIFT
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdSetBitmapValTypeII(void *pBitmap, int16_t colIdx, TDRowValT
      valType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdSetBitmapValTypeII
      Src: /src/tdengine/source/common/src/trow.c:933,1
    - Dst: tdSetBitmapValTypeI
      Src: /src/tdengine/source/common/src/trow.c:938,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:942,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pBitmap
    - colIdx
    - valType
    - bitmapMode
    argTypes:
    - void*
    - int16_t
    - TDRowValT
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 945
    functionName: tdSetBitmapValType
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 2
    functionsReached:
    - TAOS_RETURN
    - tdSetBitmapValTypeI
    - tdSetBitmapValTypeII
    linkageType: ''
    returnType: int32_t
    signature: int32_t tdSetBitmapValType(void *pBitmap, int16_t colIdx, TDRowValT
      valType, int8_t bitmapMode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:952,1
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:955,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/trow.c:956,1
    - Dst: tdSTpRowGetVal
      Src: /src/tdengine/source/common/src/trow.c:956,1
    - Dst: TD_IS_KV_ROW
      Src: /src/tdengine/source/common/src/trow.c:957,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/trow.c:958,1
    - Dst: tdSKvRowGetVal
      Src: /src/tdengine/source/common/src/trow.c:958,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:960,1
    - Dst: tdValTypeIsNone
      Src: /src/tdengine/source/common/src/trow.c:963,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/trow.c:964,1
    - Dst: tdValTypeIsNull
      Src: /src/tdengine/source/common/src/trow.c:965,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/trow.c:966,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:972,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/trow.c:973,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/trow.c:974,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/trow.c:976,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - pRow
    - pTSchema
    - iCol
    - pColVal
    argTypes:
    - STSRow*
    - STSchema*
    - int16_t
    - SColVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 980
    functionName: tTSRowGetVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: 2
    functionsReached:
    - tdSKvRowGetVal
    - TD_IS_KV_ROW
    - COL_VAL_NULL
    - tdSTpRowGetVal
    - tdValTypeIsNone
    - COL_VAL_NONE
    - tdValTypeIsNull
    - varDataLen
    - TAOS_UNUSED
    - TAOS_RETURN
    - TD_IS_TP_ROW
    - varDataVal
    - valueSetDatum
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tTSRowGetVal(STSRow *pRow, STSchema *pTSchema, int16_t iCol,
      SColVal *pColVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grant
    argTypes:
    - EGrantType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: grantCheck
    functionSourceFile: /src/tdengine/source/common/src/tgrant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t grantCheck(EGrantType grant)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - grant
    - param
    argTypes:
    - EGrantType
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: grantCheckEx
    functionSourceFile: /src/tdengine/source/common/src/tgrant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t grantCheckEx(EGrantType grant, void* param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grant
    argTypes:
    - EGrantType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: grantCheckExpire
    functionSourceFile: /src/tdengine/source/common/src/tgrant.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t grantCheckExpire(EGrantType grant)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - EAnalyAlgoType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: taosAnalysisAlgoType
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *taosAnalysisAlgoType(EAnalyAlgoType type)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - EAnalyAlgoType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: taosAnalyAlgoUrlStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *taosAnalyAlgoUrlStr(EAnalyAlgoType type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tanalytics.c:86,1
    - Dst: taosAnalysisAlgoType
      Src: /src/tdengine/source/common/src/tanalytics.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: taosAnalyAlgoInt
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - taosAnalysisAlgoType
    - strcasecmp
    linkageType: ''
    returnType: EAnalyAlgoType
    signature: EAnalyAlgoType taosAnalyAlgoInt(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/tdengine/source/common/src/tanalytics.c:95,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:96,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/common/src/tanalytics.c:101,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:102,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/tanalytics.c:106,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:108,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tanalytics.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: taosAnalyticsInit
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - uError
    - uInfo
    - taosThreadMutexInit
    - curl_global_init
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyticsInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/tanalytics.c:117,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:120,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/tanalytics.c:121,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hash
    argTypes:
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: taosAnalyFreeHash
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void taosAnalyFreeHash(SHashObj *hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_cleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:127,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/common/src/tanalytics.c:128,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:129,1
    - Dst: taosAnalyFreeHash
      Src: /src/tdengine/source/common/src/tanalytics.c:131,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tanalytics.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: taosAnalyticsCleanup
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - uError
    - uInfo
    - curl_global_cleanup
    - taosThreadMutexDestroy
    - taosAnalyFreeHash
    linkageType: ''
    returnType: void
    signature: void taosAnalyticsCleanup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/common/src/tanalytics.c:138,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/common/src/tanalytics.c:142,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:143,1
    - Dst: taosAnalyFreeHash
      Src: /src/tdengine/source/common/src/tanalytics.c:145,1
    - Dst: taosAnalyFreeHash
      Src: /src/tdengine/source/common/src/tanalytics.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - newVer
    - pHash
    argTypes:
    - int64_t
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: taosAnalyUpdate
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - taosThreadMutexLock
    - uError
    - taosAnalyFreeHash
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: void taosAnalyUpdate(int64_t newVer, SHashObj *pHash)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tanalytics.c:163,1
    - Dst: strdequote
      Src: /src/tdengine/source/common/src/tanalytics.c:168,1
    - Dst: strsplit
      Src: /src/tdengine/source/common/src/tanalytics.c:169,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/tanalytics.c:171,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/tanalytics.c:171,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:173,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:174,1
    - Dst: strsplit
      Src: /src/tdengine/source/common/src/tanalytics.c:180,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:183,1
    - Dst: strtrim
      Src: /src/tdengine/source/common/src/tanalytics.c:187,1
    - Dst: strtrim
      Src: /src/tdengine/source/common/src/tanalytics.c:188,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/tanalytics.c:190,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:193,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:194,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:195,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:201,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:204,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - pOption
    - pOptHash
    argTypes:
    - char*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 207
    functionName: taosAnalyGetOpts
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 4
    functionsReached:
    - strdequote
    - taosHashInit
    - strsplit
    - taosMemoryFree
    - taosGetDefaultHashFunction
    - strtrim
    - taosHashPut
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyGetOpts(const char *pOption, SHashObj **pOptHash)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/src/tanalytics.c:211,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:214,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tanalytics.c:220,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:220,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:222,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/src/tanalytics.c:226,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tanalytics.c:229,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tanalytics.c:230,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - option
    - optName
    - optValue
    - optMaxLen
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 235
    functionName: taosAnalyGetOptStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 4
    functionsReached:
    - taosAnalyGetOpts
    - taosHashGetValueSize
    - taosHashGet
    - TMIN
    - tstrncpy
    - taosHashCleanup
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool taosAnalyGetOptStr(const char *option, const char *optName, char
      *optValue, int32_t optMaxLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:240,1
    - Dst: strntolower
      Src: /src/tdengine/source/common/src/tanalytics.c:242,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/common/src/tanalytics.c:244,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/common/src/tanalytics.c:245,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tanalytics.c:247,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:248,1
    - Dst: taosAnalysisAlgoType
      Src: /src/tdengine/source/common/src/tanalytics.c:248,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:252,1
    - Dst: taosAnalysisAlgoType
      Src: /src/tdengine/source/common/src/tanalytics.c:252,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/common/src/tanalytics.c:255,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - algoName
    - type
    - url
    - urlLen
    argTypes:
    - char*
    - EAnalyAlgoType
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 262
    functionName: taosAnalyGetAlgoUrl
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - strntolower
    - uError
    - taosAnalysisAlgoType
    - uDebug
    - tsnprintf
    - tstrncpy
    - taosHashAcquire
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyGetAlgoUrl(const char *algoName, EAnalyAlgoType type,
      char *url, int32_t urlLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 264
    functionName: taosAnalyGetVersion
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosAnalyGetVersion()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:271,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tanalytics.c:279,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:281,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tanalytics.c:281,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tanalytics.c:285,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tanalytics.c:287,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tanalytics.c:295,1
    - Dst: uDebugL
      Src: /src/tdengine/source/common/src/tanalytics.c:300,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - pCont
    - contLen
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 307
    functionName: taosCurlWriteData
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - uError
    - taosMemoryMalloc
    - memcpy
    - uDebugL
    - tstrerror
    - taosMemoryRealloc
    linkageType: ''
    returnType: size_t
    signature: size_t taosCurlWriteData(char *pCont, size_t contLen, size_t nmemb,
      void *userdata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/tdengine/source/common/src/tanalytics.c:313,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:315,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:319,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:320,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:321,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:322,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:324,1
    - Dst: curl_easy_perform
      Src: /src/tdengine/source/common/src/tanalytics.c:325,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:327,1
    - Dst: curl_easy_cleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:331,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - url
    - pRsp
    argTypes:
    - char*
    - SCurlResp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 333
    functionName: taosCurlGetRequest
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - uError
    - curl_easy_cleanup
    - curl_easy_init
    - uDebug
    - curl_easy_setopt
    - curl_easy_perform
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosCurlGetRequest(const char *url, SCurlResp *pRsp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/tdengine/source/common/src/tanalytics.c:341,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:343,1
    - Dst: curl_slist_append
      Src: /src/tdengine/source/common/src/tanalytics.c:347,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:348,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:349,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:350,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:351,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:352,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:353,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:354,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:355,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:356,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:357,1
    - Dst: uDebugL
      Src: /src/tdengine/source/common/src/tanalytics.c:359,1
    - Dst: curl_easy_perform
      Src: /src/tdengine/source/common/src/tanalytics.c:360,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:362,1
    - Dst: curl_slist_free_all
      Src: /src/tdengine/source/common/src/tanalytics.c:367,1
    - Dst: curl_easy_cleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:368,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 6
    argNames:
    - url
    - pRsp
    - buf
    - bufLen
    - timeout
    - id
    argTypes:
    - char*
    - SCurlResp*
    - char*
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 371
    functionName: taosCurlPostRequest
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - uError
    - curl_slist_free_all
    - curl_easy_cleanup
    - curl_easy_init
    - curl_slist_append
    - curl_easy_setopt
    - curl_easy_perform
    - uDebugL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosCurlPostRequest(const char *url, SCurlResp *pRsp, const
      char *buf, int32_t bufLen, int32_t timeout,\n                                   const
      char *id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosCurlGetRequest
      Src: /src/tdengine/source/common/src/tanalytics.c:381,1
    - Dst: taosAnalyBufGetCont
      Src: /src/tdengine/source/common/src/tanalytics.c:386,1
    - Dst: taosCurlPostRequest
      Src: /src/tdengine/source/common/src/tanalytics.c:391,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/common/src/tanalytics.c:402,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tanalytics.c:413,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:414,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 5
    argNames:
    - url
    - type
    - pBuf
    - timeout
    - id
    argTypes:
    - char*
    - EAnalyHttpType
    - SAnalyticBuf*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 416
    functionName: taosAnalySendReqRetJson
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached:
    - taosMemoryFreeClear
    - taosCurlPostRequest
    - taosAnalyBufGetCont
    - taosMemoryFree
    - tjsonParse
    - taosCurlGetRequest
    linkageType: ''
    returnType: SJson
    signature: SJson *taosAnalySendReqRetJson(const char *url, EAnalyHttpType type,
      SAnalyticBuf *pBuf, int64_t timeout, const char* id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tanalytics.c:424,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/common/src/tanalytics.c:430,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tanalytics.c:433,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/tanalytics.c:439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:451,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:453,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - fileName
    - ppCont
    - pContLen
    argTypes:
    - char*
    - char**
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 455
    functionName: taosAnalyJsonBufGetCont
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosMemoryMalloc
    - taosFStatFile
    - taosReadFile
    - taosMemoryFree
    - taosOpenFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufGetCont(const char *fileName, char **ppCont,
      int64_t *pContLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:459,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: taosAnalyJsonBufWriteOptInt
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - snprintf
    - taosWriteFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteOptInt(SAnalyticBuf *pBuf, const char
      *optName, int64_t optVal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:468,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:469,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tanalytics.c:472,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:474,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tanalytics.c:475,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:479,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:480,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: taosAnalyJsonBufWriteOptStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - uError
    - taosMemoryMalloc
    - taosWriteFile
    - snprintf
    - taosMemoryFree
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteOptStr(SAnalyticBuf *pBuf, const char
      *optName, const char *optVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:490,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: taosAnalyJsonBufWriteOptFloat
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - snprintf
    - taosWriteFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteOptFloat(SAnalyticBuf *pBuf, const char
      *optName, float optVal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:499,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pBuf
    - buf
    - bufLen
    argTypes:
    - SAnalyticBuf*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: taosAnalyJsonBufWriteStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosWriteFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteStr(SAnalyticBuf *pBuf, const char *buf,
      int32_t bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 507
    functionName: taosAnalyJsonBufWriteStart
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - taosAnalyJsonBufWriteStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteStart(SAnalyticBuf *pBuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tanalytics.c:510,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tanalytics.c:515,1
    - Dst: taosAnalyJsonBufWriteStart
      Src: /src/tdengine/source/common/src/tanalytics.c:520,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:527,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tanalytics.c:529,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:531,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tanalytics.c:531,1
    - Dst: taosAnalyJsonBufWriteStart
      Src: /src/tdengine/source/common/src/tanalytics.c:536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pBuf
    - numOfCols
    - pId
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 537
    functionName: tsosAnalyJsonBufOpen
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - uError
    - taosAnalyJsonBufWriteStart
    - snprintf
    - taosOpenFile
    - tstrerror
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsosAnalyJsonBufOpen(SAnalyticBuf *pBuf, int32_t numOfCols,
      const char* pId)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:545,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:550,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:552,1
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colName
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 563
    functionName: taosAnalyJsonBufWriteColMeta
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - snprintf
    - taosAnalyJsonBufWriteStr
    - taosWriteFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteColMeta(SAnalyticBuf *pBuf, int32_t colIndex,
      int32_t colType, const char *colName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 567
    functionName: taosAnalyJsonBufWriteDataBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - taosAnalyJsonBufWriteStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteDataBegin(SAnalyticBuf *pBuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:571,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:575,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pBuf
    - buf
    - bufLen
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 587
    functionName: taosAnalyJsonBufWriteStrUseCol
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosWriteFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteStrUseCol(SAnalyticBuf *pBuf, const char
      *buf, int32_t bufLen, int32_t colIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteStrUseCol
      Src: /src/tdengine/source/common/src/tanalytics.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: taosAnalyJsonBufWriteColBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - taosAnalyJsonBufWriteStrUseCol
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteColBegin(SAnalyticBuf *pBuf, int32_t colIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteStrUseCol
      Src: /src/tdengine/source/common/src/tanalytics.c:595,1
    - Dst: taosAnalyJsonBufWriteStrUseCol
      Src: /src/tdengine/source/common/src/tanalytics.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 599
    functionName: taosAnalyJsonBufWriteColEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - taosAnalyJsonBufWriteStrUseCol
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteColEnd(SAnalyticBuf *pBuf, int32_t colIndex)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:614,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:617,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:620,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:623,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:626,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:629,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:632,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:636,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:639,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:642,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/tanalytics.c:642,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:645,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/tanalytics.c:645,1
    - Dst: taosAnalyJsonBufWriteStrUseCol
      Src: /src/tdengine/source/common/src/tanalytics.c:652,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colValue
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 653
    functionName: taosAnalyJsonBufWriteColData
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - snprintf
    - taosAnalyJsonBufWriteStrUseCol
    - GET_DOUBLE_VAL
    - GET_FLOAT_VAL
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteColData(SAnalyticBuf *pBuf, int32_t colIndex,
      int32_t colType, void *colValue)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/tanalytics.c:664,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:667,1
    - Dst: taosAnalyJsonBufGetCont
      Src: /src/tdengine/source/common/src/tanalytics.c:670,1
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:673,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tanalytics.c:676,1
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 682
    functionName: taosAnalyJsonBufWriteDataEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - taosCloseFile
    - taosMemoryFreeClear
    - taosAnalyJsonBufWriteStr
    - taosAnalyJsonBufGetCont
    - taosFsyncFile
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteDataEnd(SAnalyticBuf *pBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteOptInt
      Src: /src/tdengine/source/common/src/tanalytics.c:685,1
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 689
    functionName: taosAnalyJsonBufWriteEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - taosAnalyJsonBufWriteStr
    - taosAnalyJsonBufWriteOptInt
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyJsonBufWriteEnd(SAnalyticBuf *pBuf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteEnd
      Src: /src/tdengine/source/common/src/tanalytics.c:692,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/tanalytics.c:696,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:698,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/tanalytics.c:706,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:708,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 715
    functionName: taosAnalJsonBufClose
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached:
    - taosFsyncFile
    - taosCloseFile
    - taosAnalyJsonBufWriteEnd
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalJsonBufClose(SAnalyticBuf *pBuf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:719,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/common/src/tanalytics.c:720,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:721,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tanalytics.c:721,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:730,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/common/src/tanalytics.c:731,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:732,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tanalytics.c:732,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tanalytics.c:739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 741
    functionName: taosAnalyBufDestroy
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 7
    functionsReached:
    - taosCloseFile
    - taosMemoryFreeClear
    - uError
    - taosRemoveFile
    - tstrerror
    linkageType: ''
    returnType: void
    signature: void taosAnalyBufDestroy(SAnalyticBuf *pBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsosAnalyJsonBufOpen
      Src: /src/tdengine/source/common/src/tanalytics.c:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pBuf
    - numOfCols
    - pId
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 743
    functionDepth: 4
    functionLinenumber: 743
    functionLinenumberEnd: 749
    functionName: tsosAnalyBufOpen
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached:
    - tsosAnalyJsonBufOpen
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsosAnalyBufOpen(SAnalyticBuf *pBuf, int32_t numOfCols, const
      char* pId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteOptStr
      Src: /src/tdengine/source/common/src/tanalytics.c:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 757
    functionName: taosAnalyBufWriteOptStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached:
    - taosAnalyJsonBufWriteOptStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteOptStr(SAnalyticBuf *pBuf, const char *optName,
      const char *optVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteOptInt
      Src: /src/tdengine/source/common/src/tanalytics.c:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 765
    functionName: taosAnalyBufWriteOptInt
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached:
    - taosAnalyJsonBufWriteOptInt
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteOptInt(SAnalyticBuf *pBuf, const char *optName,
      int64_t optVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteOptFloat
      Src: /src/tdengine/source/common/src/tanalytics.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 773
    functionName: taosAnalyBufWriteOptFloat
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 1
    functionsReached:
    - taosAnalyJsonBufWriteOptFloat
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteOptFloat(SAnalyticBuf *pBuf, const char *optName,
      float optVal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteColMeta
      Src: /src/tdengine/source/common/src/tanalytics.c:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colName
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 781
    functionName: taosAnalyBufWriteColMeta
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    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: taosAnalyJsonBufWriteDataBegin
      Src: /src/tdengine/source/common/src/tanalytics.c:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 789
    functionName: taosAnalyBufWriteDataBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached:
    - taosAnalyJsonBufWriteDataBegin
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteDataBegin(SAnalyticBuf *pBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteColBegin
      Src: /src/tdengine/source/common/src/tanalytics.c:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 797
    functionName: taosAnalyBufWriteColBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached:
    - taosAnalyJsonBufWriteColBegin
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteColBegin(SAnalyticBuf *pBuf, int32_t colIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteColData
      Src: /src/tdengine/source/common/src/tanalytics.c:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colValue
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 799
    functionDepth: 3
    functionLinenumber: 799
    functionLinenumberEnd: 805
    functionName: taosAnalyBufWriteColData
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 5
    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: taosAnalyJsonBufWriteColEnd
      Src: /src/tdengine/source/common/src/tanalytics.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 813
    functionName: taosAnalyBufWriteColEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached:
    - taosAnalyJsonBufWriteColEnd
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteColEnd(SAnalyticBuf *pBuf, int32_t colIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteDataEnd
      Src: /src/tdengine/source/common/src/tanalytics.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 821
    functionName: taosAnalyBufWriteDataEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached:
    - taosAnalyJsonBufWriteDataEnd
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteDataEnd(SAnalyticBuf *pBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalJsonBufClose
      Src: /src/tdengine/source/common/src/tanalytics.c:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 823
    functionDepth: 4
    functionLinenumber: 823
    functionLinenumberEnd: 829
    functionName: taosAnalyBufClose
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 5
    functionsReached:
    - taosAnalJsonBufClose
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufClose(SAnalyticBuf *pBuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufGetCont
      Src: /src/tdengine/source/common/src/tanalytics.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pBuf
    - ppCont
    - pContLen
    argTypes:
    - SAnalyticBuf*
    - char**
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 840
    functionName: taosAnalyBufGetCont
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 1
    functionsReached:
    - taosAnalyJsonBufGetCont
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufGetCont(SAnalyticBuf *pBuf, char **ppCont, int64_t
      *pContLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tanalytics.c:845,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:845,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:847,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tanalytics.c:850,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:852,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pHashMap
    - id
    argTypes:
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 860
    functionName: taosAnalysisParseTimout
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached:
    - strlen
    - taosStr2Int64
    - taosHashGet
    - uDebug
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosAnalysisParseTimout(SHashObj* pHashMap, const char* id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tanalytics.c:863,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:863,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:865,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tanalytics.c:869,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/src/tanalytics.c:869,1
    - Dst: taosAnalyGetAlgoUrl
      Src: /src/tdengine/source/common/src/tanalytics.c:871,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - pOpt
    - pAlgoName
    - pUrl
    - type
    - len
    - pHashMap
    - id
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - int32_t
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 877
    functionName: taosAnalysisParseAlgo
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached:
    - taosAnalyGetAlgoUrl
    - uError
    - taosHashGetValueSize
    - taosHashGet
    - tstrncpy
    - strlen
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tanalytics.c:880,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:880,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tanalytics.c:882,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:883,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pHashMap
    - id
    argTypes:
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 889
    functionName: taosAnalysisParseWncheck
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached:
    - strlen
    - taosStr2Int64
    - taosHashGet
    - uDebug
    linkageType: ''
    returnType: int8_t
    signature: int8_t taosAnalysisParseWncheck(SHashObj* pHashMap, const char* id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 893
    functionName: taosAnalyticsInit
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyticsInit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 894
    functionName: taosAnalyticsCleanup
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void taosAnalyticsCleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - url
    - type
    - pBuf
    - timeout
    - id
    argTypes:
    - char*
    - EAnalyHttpType
    - SAnalyticBuf*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: taosAnalySendReqRetJson
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SJson
    signature: SJson *taosAnalySendReqRetJson(const char *url, EAnalyHttpType type,
      SAnalyticBuf *pBuf, int64_t timeout, const char* id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - algoName
    - type
    - url
    - urlLen
    argTypes:
    - char*
    - EAnalyAlgoType
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 899
    functionName: taosAnalyGetAlgoUrl
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyGetAlgoUrl(const char *algoName, EAnalyAlgoType type,
      char *url, int32_t urlLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - option
    - optName
    - optValue
    - optMaxLen
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 900
    functionName: taosAnalyGetOptStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool taosAnalyGetOptStr(const char *option, const char *optName, char
      *optValue, int32_t optMaxLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 901
    functionName: taosAnalyGetVersion
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosAnalyGetVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - newVer
    - pHash
    argTypes:
    - int64_t
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 902
    functionName: taosAnalyUpdate
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void taosAnalyUpdate(int64_t newVer, SHashObj *pHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pBuf
    - numOfCols
    - id
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 904
    functionName: tsosAnalyBufOpen
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tsosAnalyBufOpen(SAnalyticBuf *pBuf, int32_t numOfCols, const
      char* id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 905
    functionName: taosAnalyBufWriteOptStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteOptStr(SAnalyticBuf *pBuf, const char *optName,
      const char *optVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 906
    functionName: taosAnalyBufWriteOptInt
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteOptInt(SAnalyticBuf *pBuf, const char *optName,
      int64_t optVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 907
    functionName: taosAnalyBufWriteOptFloat
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteOptFloat(SAnalyticBuf *pBuf, const char *optName,
      float optVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colName
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: taosAnalyBufWriteColMeta
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 911
    functionName: taosAnalyBufWriteDataBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteDataBegin(SAnalyticBuf *pBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 912
    functionName: taosAnalyBufWriteColBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteColBegin(SAnalyticBuf *pBuf, int32_t colIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colValue
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 913
    functionName: taosAnalyBufWriteColData
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteColData(SAnalyticBuf *pBuf, int32_t colIndex,
      int32_t colType, void *colValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 914
    functionName: taosAnalyBufWriteColEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteColEnd(SAnalyticBuf *pBuf, int32_t colIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 915
    functionName: taosAnalyBufWriteDataEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufWriteDataEnd(SAnalyticBuf *pBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 916
    functionName: taosAnalyBufClose
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyBufClose(SAnalyticBuf *pBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 917
    functionName: taosAnalyBufDestroy
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void taosAnalyBufDestroy(SAnalyticBuf *pBuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algoType
    argTypes:
    - EAnalyAlgoType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 919
    functionName: taosAnalysisAlgoType
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *taosAnalysisAlgoType(EAnalyAlgoType algoType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algoName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 920
    functionName: taosAnalAlgoInt
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EAnalyAlgoType
    signature: EAnalyAlgoType taosAnalAlgoInt(const char *algoName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algoType
    argTypes:
    - EAnalyAlgoType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 921
    functionName: taosAnalAlgoUrlStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *taosAnalAlgoUrlStr(EAnalyAlgoType algoType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pHashMap
    - id
    argTypes:
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 923
    functionName: taosAnalysisParseTimout
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t taosAnalysisParseTimout(SHashObj *pHashMap, const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pOpt
    - pAlgoName
    - pUrl
    - type
    - len
    - pHashMap
    - id
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - int32_t
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: taosAnalysisParseAlgo
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t taosAnalysisParseAlgo(const char *pOpt, char *pAlgoName, char
      *pUrl, int32_t type, int32_t len,\n                              SHashObj *pHashMap,
      const char *id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pHashMap
    - id
    argTypes:
    - SHashObj*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 930
    functionName: taosAnalysisParseWncheck
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t taosAnalysisParseWncheck(SHashObj* pHashMap, const char* id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pOption
    - pOptHash
    argTypes:
    - char*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 931
    functionName: taosAnalyGetOpts
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosAnalyGetOpts(const char *pOption, SHashObj **pOptHash)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:30,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:30,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:31,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:31,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:35,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:36,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:36,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:38,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:39,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:39,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:39,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:40,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:40,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:40,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:43,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:43,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:49,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:50,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:50,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:52,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:53,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:54,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:54,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:55,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:55,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:56,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:56,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:58,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:58,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:58,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:62,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:62,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamMgmtReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 74
    functionName: tEncodeSStreamMgmtReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncodeCStrWithLen
    - taosArrayGetSize
    - strlen
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamMgmtReq(SEncoder* pEncoder, const SStreamMgmtReq*
      pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: tFreeRunnerOReaderDeployReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeRunnerOReaderDeployReq(void* param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:90,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SStreamMgmtReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: tFreeSStreamMgmtReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tFreeSStreamMgmtReq(SStreamMgmtReq* pReq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:109,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:110,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:112,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:116,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:117,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:120,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:121,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:122,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:124,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:125,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:126,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:127,1
    - Dst: tFreeSStreamMgmtReq
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:141,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:142,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:143,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - SStreamMgmtReq*
    - SStreamMgmtReq**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 147
    functionName: tCloneSStreamMgmtReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - uError
    - taosMemoryFreeClear
    - memcpy
    - taosArrayGet
    - tFreeSStreamMgmtReq
    - taosArrayGetSize
    - TSDB_CHECK_NULL
    - tstrerror
    - taosArrayInit_s
    - taosArrayDup
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tCloneSStreamMgmtReq(SStreamMgmtReq* pSrc, SStreamMgmtReq**
      ppDst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:154,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:155,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:155,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:159,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:159,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:161,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:162,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:165,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:166,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:166,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:173,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:173,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:175,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:176,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:179,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:180,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:180,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:181,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:181,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:183,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:184,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:188,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamMgmtReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 202
    functionName: tDecodeSStreamMgmtReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tDecodeCStrTo
    - taosArrayReserve
    - TSDB_CHECK_NULL
    - taosArrayInit
    - tDecodeI64
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamMgmtReq(SDecoder* pDecoder, SStreamMgmtReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:208,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:209,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:209,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:210,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:212,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:213,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:214,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:214,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:215,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:217,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:218,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:218,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:219,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:219,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:220,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:220,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:222,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:222,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:223,1
    - Dst: tEncodeSStreamMgmtReq
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:223,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:225,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - pEncoder
    - pTask
    argTypes:
    - SEncoder*
    - SStreamTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: tEncodeStreamTask
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    - tEncodeSStreamMgmtReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeStreamTask(SEncoder* pEncoder, const SStreamTask* pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:238,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:238,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:239,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:239,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:240,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:240,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:242,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:242,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:243,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:243,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:244,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:244,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:245,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:245,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:247,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:247,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:248,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:248,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:249,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:249,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:250,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:252,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:252,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:254,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:255,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:256,1
    - Dst: tDecodeSStreamMgmtReq
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - pDecoder
    - pTask
    argTypes:
    - SDecoder*
    - SStreamTask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 262
    functionName: tDecodeStreamTask
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TSDB_CHECK_NULL
    - tDecodeI64
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tDecodeSStreamMgmtReq
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeStreamTask(SDecoder* pDecoder, SStreamTask* pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:268,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:269,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:270,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:271,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pEncoder
    - pProgress
    argTypes:
    - SEncoder*
    - SSTriggerRecalcProgress*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: tEncodeSSTriggerRecalcProgress
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSSTriggerRecalcProgress(SEncoder* pEncoder, const SSTriggerRecalcProgress*
      pProgress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:282,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:282,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:283,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:283,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:284,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:284,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:285,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pProgress
    argTypes:
    - SDecoder*
    - SSTriggerRecalcProgress*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: tDecodeSSTriggerRecalcProgress
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSSTriggerRecalcProgress(SDecoder* pDecoder, SSTriggerRecalcProgress*
      pProgress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:297,1
    - Dst: tEncodeI32
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:298,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:299,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:299,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:300,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:300,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:301,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:301,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:303,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:304,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:304,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:306,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:307,1
    - Dst: tEncodeSSTriggerRecalcProgress
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pEncoder
    - pStatus
    argTypes:
    - SEncoder*
    - SSTriggerRuntimeStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 313
    functionName: tEncodeSSTriggerRuntimeStatus
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeSSTriggerRecalcProgress
    - taosArrayGet
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSSTriggerRuntimeStatus(SEncoder* pEncoder, const SSTriggerRuntimeStatus*
      pStatus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:319,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:319,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:320,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:320,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:321,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:321,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:322,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:322,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:323,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:326,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:326,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:328,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:336,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:337,1
    - Dst: tDecodeSSTriggerRecalcProgress
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pDecoder
    - pStatus
    argTypes:
    - SDecoder*
    - SSTriggerRuntimeStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 343
    functionName: tDecodeSSTriggerRuntimeStatus
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tDecodeSSTriggerRecalcProgress
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSSTriggerRuntimeStatus(SDecoder* pDecoder, SSTriggerRuntimeStatus*
      pStatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:350,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:351,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:351,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:352,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:353,1
    - 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:354,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:354,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:356,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:357,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:359,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:360,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:363,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:364,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:364,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:366,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:367,1
    - Dst: tEncodeStreamTask
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:367,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:370,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:371,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:371,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:373,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:374,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:374,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:377,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:378,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:378,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:380,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:381,1
    - Dst: tEncodeSSTriggerRuntimeStatus
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:381,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamHbMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 392
    functionName: tEncodeStreamHbMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - taosArrayGet
    - tEncodeSSTriggerRuntimeStatus
    - taosArrayGetSize
    - tStartEncode
    - tEncodeStreamTask
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeStreamHbMsg(SEncoder* pEncoder, const SStreamHbMsg*
      pReq)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:398,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:398,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:399,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:399,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:400,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:401,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:402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:405,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:405,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:415,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:415,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:416,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:424,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:424,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:426,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:433,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:438,1
    - Dst: tDecodeStreamTask
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:438,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:443,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:443,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:445,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:452,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:457,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:457,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:462,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:462,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:464,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:471,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:476,1
    - Dst: tDecodeSSTriggerRuntimeStatus
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:476,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:480,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamHbMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 484
    functionName: tDecodeStreamHbMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - tDecodeSSTriggerRuntimeStatus
    - tEndDecode
    - taosArrayInit
    - tStartDecode
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - tDecodeStreamTask
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeStreamHbMsg(SDecoder* pDecoder, SStreamHbMsg* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: tFreeSSTriggerRuntimeStatus
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSSTriggerRuntimeStatus(void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:499,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:501,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:503,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:504,1
    - Dst: tFreeSStreamMgmtReq
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:509,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:510,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:513,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:514,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pMsg
    - deepClean
    argTypes:
    - SStreamHbMsg*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 516
    functionName: tCleanupStreamHbMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroyEx
    - taosArrayGet
    - tFreeSStreamMgmtReq
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tCleanupStreamHbMsg(SStreamHbMsg* pMsg, bool deepClean)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:522,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:522,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:523,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:523,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:524,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:525,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:526,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:526,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:527,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:528,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:529,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:529,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:530,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:530,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:532,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:532,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:533,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:533,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - pEncoder
    - pMsg
    argTypes:
    - SEncoder*
    - SStreamReaderDeployFromTrigger*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 538
    functionName: tEncodeSStreamReaderDeployFromTrigger
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeBinary
    - strlen
    - TAOS_CHECK_EXIT
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamReaderDeployFromTrigger(SEncoder* pEncoder, const
      SStreamReaderDeployFromTrigger* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:544,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:544,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:545,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:545,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pEncoder
    - pMsg
    argTypes:
    - SEncoder*
    - SStreamReaderDeployFromCalc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 550
    functionName: tEncodeSStreamReaderDeployFromCalc
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeBinary
    - strlen
    - TAOS_CHECK_EXIT
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamReaderDeployFromCalc(SEncoder* pEncoder, const
      SStreamReaderDeployFromCalc* pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:557,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:557,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:559,1
    - Dst: tEncodeSStreamReaderDeployFromTrigger
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:559,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:561,1
    - Dst: tEncodeSStreamReaderDeployFromCalc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pEncoder
    - pMsg
    argTypes:
    - SEncoder*
    - SStreamReaderDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 567
    functionName: tEncodeSStreamReaderDeployMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeSStreamReaderDeployFromTrigger
    - tEncodeSStreamReaderDeployFromCalc
    - tEncodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamReaderDeployMsg(SEncoder* pEncoder, const SStreamReaderDeployMsg*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:573,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:574,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:574,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:575,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pEncoder
    - pMsg
    argTypes:
    - SEncoder*
    - SStreamTaskAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 580
    functionName: tEncodeSStreamTaskAddr
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    - tEncodeSEpSet
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamTaskAddr(SEncoder* pEncoder, const SStreamTaskAddr*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:586,1
    - Dst: tEncodeSStreamTaskAddr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:586,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:587,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pEncoder
    - pMsg
    argTypes:
    - SEncoder*
    - SStreamRunnerTarget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 592
    functionName: tEncodeSStreamRunnerTarget
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI32
    - tEncodeSStreamTaskAddr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamRunnerTarget(SEncoder* pEncoder, const SStreamRunnerTarget*
      pMsg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:599,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:600,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:601,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:601,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:602,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:602,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:603,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:604,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:605,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:605,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:606,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:606,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:607,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:607,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:608,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:608,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:609,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:610,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:610,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:612,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:613,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:613,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:616,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:616,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:618,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:618,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:619,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:619,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:620,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:620,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:622,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:622,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:623,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:623,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:624,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:625,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:625,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:626,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:626,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:631,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:631,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:632,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:632,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:637,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:637,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:638,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:638,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:639,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:639,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:640,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:641,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:641,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:644,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:644,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:647,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:647,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:652,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:652,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:653,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:654,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:654,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:655,1
    - Dst: tEncodeI8
      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: tEncodeI8
      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: tEncodeI64
      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: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:659,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:659,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:660,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:660,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:665,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:666,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:668,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:669,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:669,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:670,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:670,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:671,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:672,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:672,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:677,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:678,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:678,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:680,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:680,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:681,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:681,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:686,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:686,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:687,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:687,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:688,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:688,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:689,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:689,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:690,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:690,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:694,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:698,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:698,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:699,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:699,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:700,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:700,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:701,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:701,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:702,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:702,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:703,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:703,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:704,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:705,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:705,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:706,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:707,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:707,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:708,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:709,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:709,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:711,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:712,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:712,1
    - Dst: taosArrayGet
      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: tEncodeSStreamTaskAddr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:715,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:718,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:719,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:719,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:721,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:722,1
    - Dst: tEncodeSStreamRunnerTarget
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:722,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:725,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:725,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:726,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:726,1
    - Dst: strlen
      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: tEncodeI8
      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: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:728,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 102
    argCount: 2
    argNames:
    - pEncoder
    - pMsg
    argTypes:
    - SEncoder*
    - SStreamTriggerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 733
    functionName: tEncodeSStreamTriggerDeployMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeSStreamRunnerTarget
    - taosArrayGet
    - tEncodeI16
    - taosArrayGetSize
    - tEncodeSStreamTaskAddr
    - tEncodeBinary
    - strlen
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamTriggerDeployMsg(SEncoder* pEncoder, const SStreamTriggerDeployMsg*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:740,1
    - Dst: tEncodeCStr
      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: tEncodeU8
      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: tEncodeI8
      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: tEncodeU32
      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
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pEncoder
    - pField
    argTypes:
    - SEncoder*
    - SFieldWithOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 750
    functionName: tSerializeSFieldWithOptions
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeU32
    - tEncodeCStr
    - tEncodeU8
    - TAOS_CHECK_EXIT
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSFieldWithOptions(SEncoder* pEncoder, const SFieldWithOptions
      *pField)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:757,1
    - Dst: tEncodeI32
      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: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:758,1
    - Dst: strlen
      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: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:759,1
    - Dst: strlen
      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: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:760,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:760,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:761,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:761,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:761,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:762,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:762,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:763,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:763,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:764,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:764,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:766,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:767,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:767,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:769,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:770,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:770,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:770,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:772,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:772,1
    - Dst: taosArrayGetSize
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:775,1
    - Dst: taosArrayGet
      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: tSerializeSFieldWithOptions
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:778,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:781,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:782,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:782,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:784,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:785,1
    - Dst: tSerializeSFieldWithOptions
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:785,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:788,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:788,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:789,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:789,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:791,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:791,1
    - Dst: strlen
      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: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:792,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:792,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:794,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:795,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:795,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:797,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:798,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:800,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:800,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:801,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:802,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:802,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:803,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:803,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:804,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:804,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:807,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:807,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:810,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:811,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:811,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:814,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:815,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:815,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:819,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:820,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:820,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:823,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:824,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:824,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 2
    argNames:
    - pEncoder
    - pMsg
    argTypes:
    - SEncoder*
    - SStreamRunnerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 831
    functionName: tEncodeSStreamRunnerDeployMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - tEncodeU64
    - tEncodeI16
    - tSerializeSFieldWithOptions
    - taosArrayGetSize
    - tEncodeU8
    - tEncodeBinary
    - strlen
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamRunnerDeployMsg(SEncoder* pEncoder, const SStreamRunnerDeployMsg*
      pMsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:837,1
    - Dst: tEncodeStreamTask
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:837,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:840,1
    - Dst: tEncodeSStreamReaderDeployMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:840,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:843,1
    - Dst: tEncodeSStreamTriggerDeployMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:843,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:846,1
    - Dst: tEncodeSStreamRunnerDeployMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:846,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:849,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pEncoder
    - pTask
    argTypes:
    - SEncoder*
    - SStmTaskDeploy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 833
    functionDepth: 4
    functionLinenumber: 833
    functionLinenumberEnd: 856
    functionName: tEncodeSStmTaskDeploy
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeSStreamReaderDeployMsg
    - tEncodeSStreamRunnerDeployMsg
    - tEncodeStreamTask
    - tEncodeSStreamTriggerDeployMsg
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStmTaskDeploy(SEncoder* pEncoder, const SStmTaskDeploy*
      pTask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:863,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:863,1
    - Dst: taosArrayGetSize
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:866,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:869,1
    - Dst: tEncodeSStmTaskDeploy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:869,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:872,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:872,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:874,1
    - Dst: tEncodeSStmTaskDeploy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:874,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:877,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:878,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:878,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:880,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:881,1
    - Dst: tEncodeSStmTaskDeploy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pEncoder
    - pStream
    argTypes:
    - SEncoder*
    - SStmStreamDeploy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 859
    functionDepth: 5
    functionLinenumber: 859
    functionLinenumberEnd: 887
    functionName: tEncodeSStmStreamDeploy
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncodeSStmTaskDeploy
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStmStreamDeploy(SEncoder* pEncoder, const SStmStreamDeploy*
      pStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:893,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pEncoder
    - pMsg
    argTypes:
    - SEncoder*
    - SStreamMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 897
    functionName: tEncodeSStreamMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamMsg(SEncoder* pEncoder, const SStreamMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:904,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pMsg
    argTypes:
    - SDecoder*
    - SStreamMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 909
    functionName: tDecodeSStreamMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamMsg(SDecoder* pDecoder, SStreamMsg* pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:915,1
    - Dst: tEncodeSStreamMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pEncoder
    - pStart
    argTypes:
    - SEncoder*
    - SStreamStartTaskMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 920
    functionName: tEncodeSStreamStartTaskMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeSStreamMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamStartTaskMsg(SEncoder* pEncoder, const SStreamStartTaskMsg*
      pStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:926,1
    - Dst: tEncodeStreamTask
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:926,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:927,1
    - Dst: tEncodeSStreamStartTaskMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pEncoder
    - pTask
    argTypes:
    - SEncoder*
    - SStreamTaskStart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 922
    functionDepth: 3
    functionLinenumber: 922
    functionLinenumberEnd: 932
    functionName: tEncodeSStreamTaskStart
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeSStreamStartTaskMsg
    - TAOS_CHECK_EXIT
    - tEncodeStreamTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamTaskStart(SEncoder* pEncoder, const SStreamTaskStart*
      pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:938,1
    - Dst: tEncodeSStreamMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:938,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:939,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:939,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:940,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pEncoder
    - pUndeploy
    argTypes:
    - SEncoder*
    - SStreamUndeployTaskMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 945
    functionName: tEncodeSStreamUndeployTaskMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeSStreamMsg
    - tEncodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamUndeployTaskMsg(SEncoder* pEncoder, const SStreamUndeployTaskMsg*
      pUndeploy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:951,1
    - Dst: tEncodeStreamTask
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:951,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:952,1
    - Dst: tEncodeSStreamUndeployTaskMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pEncoder
    - pTask
    argTypes:
    - SEncoder*
    - SStreamTaskUndeploy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 947
    functionDepth: 3
    functionLinenumber: 947
    functionLinenumberEnd: 957
    functionName: tEncodeSStreamTaskUndeploy
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeStreamTask
    - tEncodeSStreamUndeployTaskMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamTaskUndeploy(SEncoder* pEncoder, const SStreamTaskUndeploy*
      pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:964,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:965,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:965,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:966,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pEncoder
    - recalc
    argTypes:
    - SEncoder*
    - SStreamRecalcReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 971
    functionName: tEncodeSStreamRecalcReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamRecalcReq(SEncoder* pEncoder, const SStreamRecalcReq*
      recalc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:979,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:980,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:980,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:983,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:984,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:984,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:987,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:988,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:988,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:991,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:992,1
    - Dst: tEncodeSStreamTaskAddr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:992,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:997,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:998,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:998,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1001,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1002,1
    - Dst: tEncodeSStreamRunnerTarget
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1002,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1007,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1008,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1008,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1011,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1012,1
    - Dst: tEncodeSStreamRecalcReq
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1012,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1017,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1018,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1018,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1021,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1022,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1022,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1023,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1024,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1024,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1026,1
    - Dst: tEncodeSStreamTaskAddr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1026,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1026,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - pEncoder
    - msgType
    - pRsp
    argTypes:
    - SEncoder*
    - SStreamMsgType
    - SStreamMgmtRspCont*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 973
    functionDepth: 3
    functionLinenumber: 973
    functionLinenumberEnd: 1038
    functionName: tEncodeSStreamMgmtRspCont
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeSStreamRunnerTarget
    - taosArrayGet
    - tEncodeSStreamRecalcReq
    - taosArrayGetSize
    - tEncodeSStreamTaskAddr
    - TAOS_CHECK_EXIT
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamMgmtRspCont(SEncoder* pEncoder, SStreamMsgType
      msgType, const SStreamMgmtRspCont* pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1044,1
    - Dst: tEncodeSStreamMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1044,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1045,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1045,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1046,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1046,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1047,1
    - Dst: tEncodeStreamTask
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1047,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1048,1
    - Dst: tEncodeSStreamMgmtRspCont
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SStreamMgmtRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1040
    functionDepth: 4
    functionLinenumber: 1040
    functionLinenumberEnd: 1053
    functionName: tEncodeSStreamMgmtRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeSStreamMgmtRspCont
    - tEncodeStreamTask
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeSStreamMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSStreamMgmtRsp(SEncoder* pEncoder, const SStreamMgmtRsp*
      pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1060,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1060,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1061,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1061,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1062,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1063,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1063,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1065,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1066,1
    - Dst: tEncodeSStmStreamDeploy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1066,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1069,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1070,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1070,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1072,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1073,1
    - Dst: tEncodeSStreamTaskStart
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1073,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1076,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1076,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1079,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1079,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1081,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1082,1
    - Dst: tEncodeSStreamTaskUndeploy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1082,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1086,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1087,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1087,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1089,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1090,1
    - Dst: tEncodeSStreamMgmtRsp
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1090,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1095,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SMStreamHbRspMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1056
    functionDepth: 6
    functionLinenumber: 1056
    functionLinenumberEnd: 1098
    functionName: tEncodeStreamHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - tEncodeSStreamMgmtRsp
    - tEncodeSStreamTaskStart
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncodeSStreamTaskUndeploy
    - tEncodeI32
    - tEncodeSStmStreamDeploy
    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:1104,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1105,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1106,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1107,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1107,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1108,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1109,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1109,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1110,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1111,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1111,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1112,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1112,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1113,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1113,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1114,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - pDecoder
    - pMsg
    argTypes:
    - SDecoder*
    - SStreamReaderDeployFromTrigger*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1119
    functionName: tDecodeSStreamReaderDeployFromTrigger
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - TAOS_CHECK_EXIT
    - tDecodeBinaryAlloc
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamReaderDeployFromTrigger(SDecoder* pDecoder, SStreamReaderDeployFromTrigger*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1126,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1127,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pMsg
    argTypes:
    - SDecoder*
    - SStreamReaderDeployFromCalc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1132
    functionName: tDecodeSStreamReaderDeployFromCalc
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tDecodeBinaryAlloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamReaderDeployFromCalc(SDecoder* pDecoder, SStreamReaderDeployFromCalc*
      pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1139,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1139,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1141,1
    - Dst: tDecodeSStreamReaderDeployFromTrigger
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1143,1
    - Dst: tDecodeSStreamReaderDeployFromCalc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pMsg
    argTypes:
    - SDecoder*
    - SStreamReaderDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1135
    functionDepth: 2
    functionLinenumber: 1135
    functionLinenumberEnd: 1149
    functionName: tDecodeSStreamReaderDeployMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSStreamReaderDeployFromCalc
    - TAOS_CHECK_EXIT
    - tDecodeSStreamReaderDeployFromTrigger
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamReaderDeployMsg(SDecoder* pDecoder, SStreamReaderDeployMsg*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1156,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1157,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1158,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pDecoder
    - pMsg
    argTypes:
    - SDecoder*
    - SStreamTaskAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1163
    functionName: tDecodeSStreamTaskAddr
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - TAOS_CHECK_EXIT
    - tDecodeSEpSet
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamTaskAddr(SDecoder* pDecoder, SStreamTaskAddr*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1170,1
    - Dst: tDecodeSStreamTaskAddr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1170,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1171,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pMsg
    argTypes:
    - SDecoder*
    - SStreamRunnerTarget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1166
    functionDepth: 2
    functionLinenumber: 1166
    functionLinenumberEnd: 1176
    functionName: tDecodeSStreamRunnerTarget
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSStreamTaskAddr
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamRunnerTarget(SDecoder* pDecoder, SStreamRunnerTarget*
      pMsg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1183,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1183,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1184,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1184,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1185,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1186,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1187,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1188,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1188,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1189,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1189,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1190,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1191,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1191,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1192,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1192,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1193,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1193,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1196,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1196,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1198,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1199,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1202,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1203,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1205,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1205,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1206,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1207,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1209,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1209,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1210,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1211,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1212,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1213,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1218,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1218,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1219,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1219,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1223,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1223,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1224,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1224,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1225,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1226,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1227,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1227,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1228,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1228,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1229,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1229,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1234,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1234,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1235,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1235,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1236,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1236,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1237,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1237,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1238,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1238,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1239,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1239,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1240,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1240,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1241,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1241,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1242,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1242,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1247,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1247,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1248,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1248,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1249,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1249,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1250,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1250,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1251,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1256,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1256,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1258,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1258,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1259,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1259,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1264,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1264,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1265,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1265,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1266,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1266,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1267,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1267,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1268,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1268,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1271,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1275,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1275,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1276,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1276,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1277,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1278,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1278,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1279,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1279,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1280,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1280,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1281,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1281,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1282,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1282,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1283,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1283,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1286,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1286,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1288,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1289,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1293,1
    - Dst: tDecodeSStreamTaskAddr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1293,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1297,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1297,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1299,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1300,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1303,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1304,1
    - Dst: tDecodeSStreamRunnerTarget
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1304,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1307,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1307,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1308,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1308,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1309,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1310,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1310,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1312,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1313,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1313,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 112
    argCount: 2
    argNames:
    - pDecoder
    - pMsg
    argTypes:
    - SDecoder*
    - SStreamTriggerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1179
    functionDepth: 3
    functionLinenumber: 1179
    functionLinenumberEnd: 1319
    functionName: tDecodeSStreamTriggerDeployMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSStreamTaskAddr
    - tDecodeBinaryAlloc
    - tDecodeIsEnd
    - taosArrayGet
    - tDecodeI16
    - TSDB_CHECK_NULL
    - tDecodeI8
    - tDecodeI64
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - tDecodeSStreamRunnerTarget
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamTriggerDeployMsg(SDecoder* pDecoder, SStreamTriggerDeployMsg*
      pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1327,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1327,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1328,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1328,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1329,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1329,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1330,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1330,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1331,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1331,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1332,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pField
    argTypes:
    - SDecoder*
    - SFieldWithOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1337
    functionName: tDeserializeSFieldWithOptions
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecodeU8
    - tDecodeU32
    - tDecodeI8
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSFieldWithOptions(SDecoder *pDecoder, SFieldWithOptions
      *pField)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1343
    functionName: destroySStreamOutCols
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void destroySStreamOutCols(void* p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1349,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1349,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1350,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1351,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1351,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1352,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1352,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1353,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1353,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1354,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1354,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1355,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1356,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1356,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1359,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1359,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1361,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1362,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1365,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1366,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1366,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1368,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1368,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1371,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1371,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1373,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1374,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1377,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1378,1
    - Dst: tDeserializeSFieldWithOptions
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1378,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1382,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1382,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1384,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1385,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1388,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1389,1
    - Dst: tDeserializeSFieldWithOptions
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1389,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1392,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1392,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1393,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1393,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1395,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1395,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1396,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1396,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1399,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1399,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1401,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1402,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1405,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1407,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1408,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1408,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1409,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1409,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1410,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1410,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1411,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1411,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1414,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1415,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1415,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1420,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1422,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1422,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1424,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1425,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1428,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1428,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1429,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1430,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1436,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1438,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1438,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1440,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1441,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1444,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1444,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1445,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1446,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 82
    argCount: 2
    argNames:
    - pDecoder
    - pMsg
    argTypes:
    - SDecoder*
    - SStreamRunnerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1455
    functionName: tDecodeSStreamRunnerDeployMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecodeBinaryAlloc
    - tDecodeIsEnd
    - taosArrayGet
    - tDeserializeSFieldWithOptions
    - tDecodeI16
    - tDecodeU8
    - TSDB_CHECK_NULL
    - tDecodeI8
    - tDecodeI64
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - taosArrayInit
    - tDecodeU64
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamRunnerDeployMsg(SDecoder* pDecoder, SStreamRunnerDeployMsg*
      pMsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1461,1
    - Dst: tDecodeStreamTask
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1461,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1464,1
    - Dst: tDecodeSStreamReaderDeployMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1464,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1467,1
    - Dst: tDecodeSStreamTriggerDeployMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1467,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1470,1
    - Dst: tDecodeSStreamRunnerDeployMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1470,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1473,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pTask
    argTypes:
    - SDecoder*
    - SStmTaskDeploy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1457
    functionDepth: 4
    functionLinenumber: 1457
    functionLinenumberEnd: 1480
    functionName: tDecodeSStmTaskDeploy
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSStreamTriggerDeployMsg
    - tDecodeSStreamRunnerDeployMsg
    - tDecodeSStreamReaderDeployMsg
    - TAOS_CHECK_EXIT
    - tDecodeStreamTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStmTaskDeploy(SDecoder* pDecoder, SStmTaskDeploy* pTask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1487,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1487,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1490,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1490,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1492,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1493,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1496,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1497,1
    - Dst: tDecodeSStmTaskDeploy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1501,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1501,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1503,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1504,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1505,1
    - Dst: tDecodeSStmTaskDeploy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1505,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1509,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1509,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1511,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1512,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1515,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1516,1
    - Dst: tDecodeSStmTaskDeploy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1516,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - pDecoder
    - pStream
    argTypes:
    - SDecoder*
    - SStmStreamDeploy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1483
    functionDepth: 5
    functionLinenumber: 1483
    functionLinenumberEnd: 1522
    functionName: tDecodeSStmStreamDeploy
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TSDB_CHECK_NULL
    - tDecodeI64
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tDecodeSStmTaskDeploy
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStmStreamDeploy(SDecoder* pDecoder, SStmStreamDeploy*
      pStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1529,1
    - Dst: tDecodeSStreamMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pStart
    argTypes:
    - SDecoder*
    - SStreamStartTaskMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1525
    functionDepth: 2
    functionLinenumber: 1525
    functionLinenumberEnd: 1534
    functionName: tDecodeSStreamStartTaskMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tDecodeSStreamMsg
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamStartTaskMsg(SDecoder* pDecoder, SStreamStartTaskMsg*
      pStart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1541,1
    - Dst: tDecodeStreamTask
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1541,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1542,1
    - Dst: tDecodeSStreamStartTaskMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pTask
    argTypes:
    - SDecoder*
    - SStreamTaskStart*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1547
    functionName: tDecodeSStreamTaskStart
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tDecodeSStreamStartTaskMsg
    - tDecodeStreamTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamTaskStart(SDecoder* pDecoder, SStreamTaskStart*
      pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1554,1
    - Dst: tDecodeSStreamMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1554,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1555,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1556,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pDecoder
    - pUndeploy
    argTypes:
    - SDecoder*
    - SStreamUndeployTaskMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1550
    functionDepth: 2
    functionLinenumber: 1550
    functionLinenumberEnd: 1561
    functionName: tDecodeSStreamUndeployTaskMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tDecodeSStreamMsg
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamUndeployTaskMsg(SDecoder* pDecoder, SStreamUndeployTaskMsg*
      pUndeploy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1568,1
    - Dst: tDecodeStreamTask
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1568,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1569,1
    - Dst: tDecodeSStreamUndeployTaskMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pTask
    argTypes:
    - SDecoder*
    - SStreamTaskUndeploy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1564
    functionDepth: 3
    functionLinenumber: 1564
    functionLinenumberEnd: 1574
    functionName: tDecodeSStreamTaskUndeploy
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSStreamUndeployTaskMsg
    - TAOS_CHECK_EXIT
    - tDecodeStreamTask
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamTaskUndeploy(SDecoder* pDecoder, SStreamTaskUndeploy*
      pTask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1580,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1580,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1581,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1581,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1582,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pDecoder
    - recalc
    argTypes:
    - SDecoder*
    - SStreamRecalcReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1587
    functionName: tDecodeSStreamRecalcReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamRecalcReq(SDecoder* pDecoder, SStreamRecalcReq*
      recalc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1596,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1596,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1598,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1599,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1602,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1603,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1607,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1607,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1609,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1610,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1613,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1614,1
    - Dst: tDecodeSStreamTaskAddr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1614,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1620,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1620,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1622,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1623,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1626,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1627,1
    - Dst: tDecodeSStreamRunnerTarget
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1627,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1633,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1633,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1635,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1636,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1639,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1640,1
    - Dst: tDecodeSStreamRecalcReq
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1646,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1646,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1648,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1649,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1652,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1653,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1654,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1654,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1656,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1657,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1660,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1661,1
    - Dst: tDecodeSStreamTaskAddr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1661,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 3
    argNames:
    - pDecoder
    - msgType
    - pCont
    argTypes:
    - SDecoder*
    - SStreamMsgType
    - SStreamMgmtRspCont*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1589
    functionDepth: 3
    functionLinenumber: 1589
    functionLinenumberEnd: 1673
    functionName: tDecodeSStreamMgmtRspCont
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSStreamTaskAddr
    - taosArrayGet
    - tDecodeSStreamRecalcReq
    - TSDB_CHECK_NULL
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - tDecodeSStreamRunnerTarget
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamMgmtRspCont(SDecoder* pDecoder, SStreamMsgType
      msgType, SStreamMgmtRspCont* pCont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1680,1
    - Dst: tDecodeSStreamMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1680,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1681,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1681,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1682,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1682,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1683,1
    - Dst: tDecodeStreamTask
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1683,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1684,1
    - Dst: tDecodeSStreamMgmtRspCont
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SStreamMgmtRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1676
    functionDepth: 4
    functionLinenumber: 1676
    functionLinenumberEnd: 1689
    functionName: tDecodeSStreamMgmtRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSStreamMsg
    - tDecodeSStreamMgmtRspCont
    - tDecodeI64
    - TAOS_CHECK_EXIT
    - tDecodeStreamTask
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSStreamMgmtRsp(SDecoder* pDecoder, SStreamMgmtRsp* pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 1
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: tFreeSStreamOReaderDeployRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSStreamOReaderDeployRsp(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1707,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1708,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1709,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1710,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1712
    functionName: tFreeSStreamMgmtRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tFreeSStreamMgmtRsp(void* param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1721,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1723,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1724,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1725,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SStreamReaderDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1730
    functionName: tFreeSStreamReaderDeployMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSStreamReaderDeployMsg(SStreamReaderDeployMsg* pReader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1738
    functionName: tFreeStreamNotifyUrl
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeStreamNotifyUrl(void* param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1745,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1748,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1749,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1752,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1753,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1756,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1762,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1763,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1764,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1765,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1767,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1768,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1769,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - pTrigger
    argTypes:
    - SStreamTriggerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1770
    functionName: tFreeSStreamTriggerDeployMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSStreamTriggerDeployMsg(SStreamTriggerDeployMsg* pTrigger)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1779
    functionName: tFreeSStreamOutCol
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSStreamOutCol(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1786,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1787,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1788,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1789,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1791,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1792,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1793,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1795,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1796,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - pRunner
    argTypes:
    - SStreamRunnerDeployMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1781
    functionDepth: 1
    functionLinenumber: 1781
    functionLinenumberEnd: 1798
    functionName: tFreeSStreamRunnerDeployMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSStreamRunnerDeployMsg(SStreamRunnerDeployMsg* pRunner)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSStreamReaderDeployMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1808,1
    - Dst: tFreeSStreamTriggerDeployMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1811,1
    - Dst: tFreeSStreamRunnerDeployMsg
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1800
    functionDepth: 2
    functionLinenumber: 1800
    functionLinenumberEnd: 1819
    functionName: tFreeSStmTaskDeploy
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tFreeSStreamTriggerDeployMsg
    - tFreeSStreamRunnerDeployMsg
    - tFreeSStreamReaderDeployMsg
    linkageType: ''
    returnType: void
    signature: void tFreeSStmTaskDeploy(void* param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1828,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1830,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1832,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1835,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1838,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1839,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1840,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1843,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1845,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1846,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1822
    functionDepth: 1
    functionLinenumber: 1822
    functionLinenumberEnd: 1849
    functionName: tFreeSStmStreamDeploy
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayGet
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSStmStreamDeploy(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1857,1
    - Dst: tFreeSStmTaskDeploy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1858,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1859,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1851
    functionDepth: 3
    functionLinenumber: 1851
    functionLinenumberEnd: 1861
    functionName: tDeepFreeSStmStreamDeploy
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    - taosMemoryFree
    - tFreeSStmTaskDeploy
    linkageType: ''
    returnType: void
    signature: void tDeepFreeSStmStreamDeploy(void* param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1868,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1869,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1870,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMStreamHbRspMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1864
    functionDepth: 1
    functionLinenumber: 1864
    functionLinenumberEnd: 1872
    functionName: tFreeSMStreamHbRspMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tFreeSMStreamHbRspMsg(SMStreamHbRspMsg* pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1878,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1879,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1880,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMStreamHbRspMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1874
    functionDepth: 1
    functionLinenumber: 1874
    functionLinenumberEnd: 1882
    functionName: tDeepFreeSMStreamHbRspMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tDeepFreeSMStreamHbRspMsg(SMStreamHbRspMsg* pRsp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1890,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1890,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1891,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1891,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1893,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1893,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1895,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1896,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1899,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1900,1
    - Dst: tDecodeSStmStreamDeploy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1900,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1904,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1904,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1906,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1907,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1910,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1911,1
    - Dst: tDecodeSStreamTaskStart
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1911,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1914,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1917,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1917,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1919,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1920,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1923,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1924,1
    - Dst: tDecodeSStreamTaskUndeploy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1924,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1929,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1929,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1931,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1932,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1934,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1935,1
    - Dst: tDecodeSStreamMgmtRsp
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1935,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1939,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SMStreamHbRspMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1886
    functionDepth: 6
    functionLinenumber: 1886
    functionLinenumberEnd: 1943
    functionName: tDecodeStreamHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tDecodeSStreamMgmtRsp
    - tDecodeSStreamTaskUndeploy
    - tDecodeSStreamTaskStart
    - tEndDecode
    - TSDB_CHECK_NULL
    - tDecodeI8
    - tStartDecode
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - tDecodeSStmStreamDeploy
    - tDecodeI32
    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:1949,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1949,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1950,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1950,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1951,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1951,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1952,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1952,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamTaskRunReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1945
    functionDepth: 1
    functionLinenumber: 1945
    functionLinenumberEnd: 1957
    functionName: tEncodeStreamTaskRunReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeStreamTaskRunReq (SEncoder* pEncoder, const SStreamTaskRunReq*
      pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1963,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1964,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1965,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1965,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1966,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1966,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamTaskRunReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1959
    functionDepth: 1
    functionLinenumber: 1959
    functionLinenumberEnd: 1971
    functionName: tDecodeStreamTaskRunReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tEndDecode
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    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:1977,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1977,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1978,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1978,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamTaskStopReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1973
    functionDepth: 1
    functionLinenumber: 1973
    functionLinenumberEnd: 1983
    functionName: tEncodeStreamTaskStopReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeStreamTaskStopReq(SEncoder* pEncoder, const SStreamTaskStopReq*
      pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1989,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1989,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1990,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1990,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:1991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamTaskStopReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1985
    functionDepth: 1
    functionLinenumber: 1985
    functionLinenumberEnd: 1996
    functionName: tDecodeStreamTaskStopReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI64
    - tEndDecode
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeStreamTaskStopReq(SDecoder* pDecoder, SStreamTaskStopReq*
      pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2005,1
    - Dst: scmCreateStreamReqToJson
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2005,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2006,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2006,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 1999
    functionDepth: 1
    functionLinenumber: 1999
    functionLinenumberEnd: 2015
    functionName: tSerializeSCMCreateStreamReqImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - scmCreateStreamReqToJson
    - TAOS_CHECK_EXIT
    - taosMemoryFreeClear
    - tEncodeCStrWithLen
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCMCreateStreamReqImpl(SEncoder* pEncoder, const
      SCMCreateStreamReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2019,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2023,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2023,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2025,1
    - Dst: tSerializeSCMCreateStreamReqImpl
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2025,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2027,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2031,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2039
      start: 2017
    functionDepth: 2
    functionLinenumber: 2017
    functionLinenumberEnd: 2039
    functionName: tSerializeSCMCreateStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - tSerializeSCMCreateStreamReqImpl
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCMCreateStreamReq(void *buf, int32_t bufLen, const
      SCMCreateStreamReq *pReq)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2049,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2049,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2051,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2051,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2052,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2052,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2053,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2053,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2054,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2054,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2055,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2055,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2056,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2056,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2057,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2057,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2060,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2060,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2061,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2063,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2067,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2067,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2068,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2070,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2072,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2073,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2074,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2078,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2079,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2079,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2080,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2080,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2081,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2081,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2082,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2082,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2083,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2083,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2084,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2084,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2085,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2085,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2086,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2086,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2087,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2087,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2090,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2090,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2092,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2094,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2099,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2099,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2100,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2102,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2104,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2109,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2109,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2110,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2111,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2111,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2113,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2113,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2114,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2114,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2115,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2118,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2118,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2122,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2127,1
    - Dst: tDeserializeSFieldWithOptions
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2127,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2132,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2132,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2134,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2136,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2141,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2142,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2142,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2143,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2143,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2144,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2144,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2145,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2151,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2151,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2152,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2152,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2153,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2153,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2154,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2159,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2159,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2160,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2160,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2165,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2169,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2169,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2174,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2174,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2175,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2176,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2176,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2177,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2178,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2179,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2180,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2180,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2181,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2182,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2182,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2187,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2188,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2188,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2191,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2191,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2195,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2195,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2197,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2198,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2198,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2203,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2204,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2204,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2205,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2205,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2206,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2207,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2214,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2214,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2215,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2216,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2217,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2218,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2218,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2219,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2219,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2220,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2220,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2221,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2221,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2222,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2222,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2223,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2223,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2224,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2224,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2225,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2226,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2227,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2227,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2229,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2229,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2230,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2230,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2232,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2232,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2234,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2234,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2235,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2235,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2238,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2238,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2240,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2242,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2247,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2247,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2249,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2255,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2255,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2256,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2257,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2261,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2261,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2262,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2262,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2263,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2264,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2269,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2269,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2270,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2271,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2271,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2272,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2272,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2275,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2275,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2279,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2284,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2284,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2285,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2285,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2286,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2286,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2287,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2287,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2288,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2288,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2289,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2290,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2302,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2303,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2303,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2305,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2306,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2306,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2311,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2312,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2312,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2322,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2323,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2323,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 238
    argCount: 3
    argNames:
    - pDecoder
    - pReq
    - leftBytes
    argTypes:
    - SDecoder*
    - SCMCreateStreamReq*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2043
    functionDepth: 2
    functionLinenumber: 2043
    functionLinenumberEnd: 2330
    functionName: tDeserializeSCMCreateStreamReqImplOld
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStr
    - taosArrayPush
    - tDecodeBinaryAlloc
    - tDecodeIsEnd
    - tDecodeI8
    - taosArrayGet
    - tDecodeCStrTo
    - tDeserializeSFieldWithOptions
    - tDecodeI16
    - taosMemoryFree
    - tDecodeU8
    - taosArrayInit
    - taosStrndup
    - tDecodeI64
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - tDecodeU64
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCMCreateStreamReqImplOld(SDecoder *pDecoder, SCMCreateStreamReq
      *pReq, int32_t leftBytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2340,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2340,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2341,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2343,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2345,1
    - Dst: jsonToSCMCreateStreamReq
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2345,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2348,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2334
    functionDepth: 1
    functionLinenumber: 2334
    functionLinenumberEnd: 2354
    functionName: tDeserializeSCMCreateStreamReqImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - tjsonDelete
    - tjsonParse
    - jsonToSCMCreateStreamReq
    - TAOS_CHECK_EXIT
    - tDecodeCStrAlloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCMCreateStreamReqImpl(SDecoder *pDecoder, SCMCreateStreamReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2359,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2363,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2363,1
    - Dst: tDeserializeSCMCreateStreamReqImpl
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2365,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2367,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2369,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2370,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2371,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2371,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2372,1
    - Dst: tDeserializeSCMCreateStreamReqImplOld
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2372,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2375,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2357
    functionDepth: 3
    functionLinenumber: 2357
    functionLinenumberEnd: 2381
    functionName: tDeserializeSCMCreateStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 20
    functionsReached:
    - uError
    - tDeserializeSCMCreateStreamReqImplOld
    - tDecoderClear
    - tDeserializeSCMCreateStreamReqImpl
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCMCreateStreamReq(void *buf, int32_t bufLen, SCMCreateStreamReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2389,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2391,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2391,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2393,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2393,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2395,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2396,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2396,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2398,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2398,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2400,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2384
    functionDepth: 1
    functionLinenumber: 2384
    functionLinenumberEnd: 2410
    functionName: tSerializeSMDropStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 2
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - strlen
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropStreamReq(void *buf, int32_t bufLen, const
      SMDropStreamReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2416,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2418,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2418,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2419,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2419,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2421,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2427,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2427,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2430,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2430,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2432,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2412
    functionDepth: 1
    functionLinenumber: 2412
    functionLinenumberEnd: 2437
    functionName: tDeserializeSMDropStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryAlloc
    - tDecodeI8
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropStreamReq(void *buf, int32_t bufLen, SMDropStreamReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2445,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2439
    functionDepth: 1
    functionLinenumber: 2439
    functionLinenumberEnd: 2449
    functionName: tFreeMDropStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 3
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeMDropStreamReq(SMDropStreamReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2456,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2451
    functionDepth: 1
    functionLinenumber: 2451
    functionLinenumberEnd: 2458
    functionName: tFreeStreamCalcScan
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE tFreeStreamCalcScan(void* pScan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pCol
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2460
    functionDepth: 1
    functionLinenumber: 2460
    functionLinenumberEnd: 2466
    functionName: tFreeStreamOutCol
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeStreamOutCol(void* pCol)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2474,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2475,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2476,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2477,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2478,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2479,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2480,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2482,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2484,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2487,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2488,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2489,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2491,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2493,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2498,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2499,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2502,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2503,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2509,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2510,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2512,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2514,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2515,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2516,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2517,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2519,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCMCreateStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2470
    functionDepth: 1
    functionLinenumber: 2470
    functionLinenumberEnd: 2523
    functionName: tFreeSCMCreateStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 18
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayDestroyP
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tFreeSCMCreateStreamReq(SCMCreateStreamReq *pReq)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2533,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2534,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2539,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2540,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2544,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2545,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2549,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2550,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2554,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2556,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2557,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2560,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2560,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2561,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2562,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2562,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2567,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2568,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2572,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2573,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2577,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2578,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2582,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2583,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2587,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2588,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2601,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2602,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2605,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2606,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2611,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2612,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2616,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2617,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2627,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2628,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2638,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2639,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2643,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2645,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2646,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2649,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2652,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2653,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2655,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2656,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2658,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2658,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2663,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2664,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2668,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2669,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2673,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2674,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2678,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2679,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2683,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2685,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2686,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2689,1
    - Dst: COPY_STR
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2692,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2693,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2695,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2695,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2700,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2701,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2705,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2706,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2720,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2721,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2721,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 160
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - SCMCreateStreamReq*
    - SCMCreateStreamReq**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2725
      start: 2525
    functionDepth: 2
    functionLinenumber: 2525
    functionLinenumberEnd: 2725
    functionName: tCloneStreamCreateDeployPointers
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tFreeSCMCreateStreamReq
    - uError
    - taosArrayGet
    - taosArrayGetSize
    - taosArrayInit
    - TSDB_CHECK_NULL
    - tstrerror
    - taosArrayDup
    - COPY_STR
    - taosMemoryCalloc
    - taosArrayGetP
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t tCloneStreamCreateDeployPointers(SCMCreateStreamReq *pSrc,
      SCMCreateStreamReq** ppDst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2733,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2734,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2734,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2736,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2737,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2737,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2738,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2738,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2739,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMPauseStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2728
    functionDepth: 1
    functionLinenumber: 2728
    functionLinenumberEnd: 2749
    functionName: tSerializeSMPauseStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - strlen
    - TAOS_CHECK_EXIT
    - tEncoderInit
    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/streamMsg.c:2756,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2757,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2757,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2758,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2758,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2759,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2759,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2760,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMPauseStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2751
    functionDepth: 1
    functionLinenumber: 2751
    functionLinenumberEnd: 2765
    functionName: tDeserializeSMPauseStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryAlloc
    - tDecoderInit
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMPauseStreamReq(void *buf, int32_t bufLen, SMPauseStreamReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMPauseStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2767
    functionDepth: 1
    functionLinenumber: 2767
    functionLinenumberEnd: 2769
    functionName: tFreeMPauseStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeMPauseStreamReq(SMPauseStreamReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2776,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2777,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2777,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2778,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2779,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2779,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2780,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2780,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2781,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2781,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2782,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMResumeStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2771
    functionDepth: 1
    functionLinenumber: 2771
    functionLinenumberEnd: 2792
    functionName: tSerializeSMResumeStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - strlen
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMResumeStreamReq(void *buf, int32_t bufLen, const
      SMResumeStreamReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2799,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2800,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2800,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2801,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2802,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2802,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2803,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2803,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2804,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMResumeStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2794
    functionDepth: 1
    functionLinenumber: 2794
    functionLinenumberEnd: 2809
    functionName: tDeserializeSMResumeStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryAlloc
    - tDecoderInit
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMResumeStreamReq(void *buf, int32_t bufLen, SMResumeStreamReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMResumeStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2813
      start: 2811
    functionDepth: 1
    functionLinenumber: 2811
    functionLinenumberEnd: 2813
    functionName: tFreeMResumeStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeMResumeStreamReq(SMResumeStreamReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2820,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2821,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2821,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2822,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2823,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2823,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2824,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2824,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2825,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2825,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2826,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2826,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2827,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMRecalcStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2815
    functionDepth: 1
    functionLinenumber: 2815
    functionLinenumberEnd: 2837
    functionName: tSerializeSMRecalcStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - strlen
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMRecalcStreamReq(void *buf, int32_t bufLen, const
      SMRecalcStreamReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2844,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2845,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2845,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2847,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2847,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2848,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2848,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2849,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2849,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2850,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2850,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2851,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMRecalcStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2839
    functionDepth: 1
    functionLinenumber: 2839
    functionLinenumberEnd: 2856
    functionName: tDeserializeSMRecalcStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeBinaryAlloc
    - tDecoderInit
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMRecalcStreamReq(void *buf, int32_t bufLen, SMRecalcStreamReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMRecalcStreamReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2860
      start: 2858
    functionDepth: 1
    functionLinenumber: 2858
    functionLinenumberEnd: 2860
    functionName: tFreeMRecalcStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeMRecalcStreamReq(SMRecalcStreamReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2866,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2866,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2867,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2867,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2868,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamProgressReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2862
    functionDepth: 1
    functionLinenumber: 2862
    functionLinenumberEnd: 2872
    functionName: tEncodeStreamProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeStreamProgressReq(SEncoder *pEncoder, const SStreamProgressReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2879,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2881,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2881,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2882,1
    - Dst: tEncodeStreamProgressReq
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2882,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2884,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStreamProgressReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2874
    functionDepth: 2
    functionLinenumber: 2874
    functionLinenumberEnd: 2894
    functionName: tSerializeStreamProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeStreamProgressReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeStreamProgressReq(void *buf, int32_t bufLen, const
      SStreamProgressReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2900,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2900,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2901,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2901,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2902,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamProgressReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2896
    functionDepth: 1
    functionLinenumber: 2896
    functionLinenumberEnd: 2906
    functionName: tDecodeStreamProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeStreamProgressReq(SDecoder *pDecoder, SStreamProgressReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2913,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2915,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2915,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2916,1
    - Dst: tDecodeStreamProgressReq
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2916,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2918,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStreamProgressReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2908
    functionDepth: 2
    functionLinenumber: 2908
    functionLinenumberEnd: 2923
    functionName: tDeserializeStreamProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tDecodeStreamProgressReq
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeStreamProgressReq(void *buf, int32_t bufLen, SStreamProgressReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2929,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2929,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2930,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2930,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2931,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2931,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2932,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SStreamProgressRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2925
    functionDepth: 1
    functionLinenumber: 2925
    functionLinenumberEnd: 2936
    functionName: tEncodeStreamProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    - tEncodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeStreamProgressRsp(SEncoder *pEncoder, const SStreamProgressRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2943,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2945,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2945,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2946,1
    - Dst: tEncodeStreamProgressRsp
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2946,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2948,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SStreamProgressRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2958
      start: 2938
    functionDepth: 2
    functionLinenumber: 2938
    functionLinenumberEnd: 2958
    functionName: tSerializeStreamProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeStreamProgressRsp
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeStreamProgressRsp(void *buf, int32_t bufLen, const
      SStreamProgressRsp *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2964,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2965,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2965,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2966,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2966,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2967,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SStreamProgressRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2960
    functionDepth: 1
    functionLinenumber: 2960
    functionLinenumberEnd: 2971
    functionName: tDecodeStreamProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - TAOS_CHECK_EXIT
    - tDecodeI32
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeStreamProgressRsp(SDecoder *pDecoder, SStreamProgressRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2978,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2980,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2980,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2981,1
    - Dst: tDecodeStreamProgressRsp
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2981,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2983,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SStreamProgressRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2988
      start: 2973
    functionDepth: 2
    functionLinenumber: 2973
    functionLinenumberEnd: 2988
    functionName: tDeserializeSStreamProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - tDecoderClear
    - tDecodeStreamProgressRsp
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSStreamProgressRsp(void *buf, int32_t bufLen, SStreamProgressRsp
      *pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2996,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2997,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2997,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:2999,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3000,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3000,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3002,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3004,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3008,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3008,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3009,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3009,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3010,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3010,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3013,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSTriggerOrigTableInfoRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3023
      start: 2990
    functionDepth: 1
    functionLinenumber: 2990
    functionLinenumberEnd: 3023
    functionName: tSerializeSTriggerOrigTableInfoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - uError
    - taosArrayGet
    - tEncodeI16
    - tEncoderClear
    - tEncodeI64
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTriggerOrigTableInfoRsp(void* buf, int32_t bufLen,
      const SSTriggerOrigTableInfoRsp* pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3030,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3031,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3031,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3034,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3034,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3035,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3038,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3042,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3045,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3048,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3048,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3049,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3049,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3050,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3050,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3053,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3056,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSTriggerOrigTableInfoRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 3025
    functionDepth: 1
    functionLinenumber: 3025
    functionLinenumberEnd: 3058
    functionName: tDserializeSTriggerOrigTableInfoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - tDecodeI64
    - uError
    - TAOS_CHECK_RETURN
    - tDecoderClear
    - taosArrayReserve
    - tDecodeI16
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDserializeSTriggerOrigTableInfoRsp(void* buf, int32_t bufLen,
      SSTriggerOrigTableInfoRsp* pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SSTriggerOrigTableInfoRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3062
      start: 3060
    functionDepth: 1
    functionLinenumber: 3060
    functionLinenumberEnd: 3062
    functionName: tDestroySTriggerOrigTableInfoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tDestroySTriggerOrigTableInfoRsp(SSTriggerOrigTableInfoRsp* pRsp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3068,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3069,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3073,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3079,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3083,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3089,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3095,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3100,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3101,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SSTriggerPullRequestUnion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 3064
    functionDepth: 1
    functionLinenumber: 3064
    functionLinenumberEnd: 3103
    functionName: tDestroySTriggerPullRequest
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void tDestroySTriggerPullRequest(SSTriggerPullRequestUnion* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3108,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3109,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3111,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - encoder
    - pArr
    argTypes:
    - SEncoder*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3105
    functionDepth: 1
    functionLinenumber: 3105
    functionLinenumberEnd: 3115
    functionName: encodePlainArray
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - taosArrayGetSize
    - TARRAY_DATA
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodePlainArray(SEncoder *encoder, SArray *pArr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3122,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3122,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3125,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3126,1
    - Dst: TSWAP
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3127,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - decoder
    - ppArr
    - elemSize
    argTypes:
    - SDecoder*
    - SArray**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3117
    functionDepth: 1
    functionLinenumber: 3117
    functionLinenumberEnd: 3136
    functionName: decodePlainArray
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryAlloc
    - TSWAP
    - taosMemoryFree
    - TSDB_CHECK_NULL
    - taosArrayInit
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t decodePlainArray(SDecoder* decoder, SArray** ppArr, uint32_t
      elemSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3142,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3142,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3144,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3147,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3148,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3148,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3150,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3151,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3151,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3153,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3155,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3157,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3158,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3158,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3160,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - encoder
    - pInfo
    argTypes:
    - SEncoder*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3168
      start: 3138
    functionDepth: 1
    functionLinenumber: 3138
    functionLinenumberEnd: 3168
    functionName: encodeSetTableMapInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI16
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeSetTableMapInfo(SEncoder* encoder, SSHashObj* pInfo)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3176,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3177,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3179,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3180,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3180,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3181,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3182,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3182,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3187,1
    - Dst: encodeSetTableMapInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3188,1
    - Dst: encodeSetTableMapInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3188,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3196,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3197,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3198,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3198,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3203,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3204,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3204,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3205,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3205,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3206,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3207,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3215,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3216,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3217,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3218,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3218,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3219,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3219,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3224,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3224,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3225,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3226,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3227,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3227,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3235,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3235,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3236,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3236,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3237,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3237,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3238,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3238,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3246,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3246,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3247,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3247,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3248,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3248,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3249,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3249,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3250,1
    - Dst: encodePlainArray
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3250,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3251,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3252,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3260,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3260,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3261,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3261,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3267,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3268,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3268,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3271,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3271,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3273,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3274,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3274,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3276,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3278,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3279,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3279,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3281,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3281,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3282,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3282,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3284,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3290,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3290,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3295,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3300,1
    - Dst: encodePlainArray
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3300,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3301,1
    - Dst: encodePlainArray
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3301,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3302,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3302,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3303,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3303,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3308,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3308,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3309,1
    - Dst: encodePlainArray
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3309,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3310,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3310,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3315,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3316,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3316,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3318,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3320,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3324,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3324,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3325,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3325,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3327,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3327,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3331,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3337,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3345,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 146
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSTriggerPullRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3347
      start: 3170
    functionDepth: 2
    functionLinenumber: 3170
    functionLinenumberEnd: 3347
    functionName: tSerializeSTriggerPullRequest
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 5
    functionsReached:
    - encodePlainArray
    - tEncodeBool
    - tSimpleHashGetKey
    - tEncodeU64
    - taosArrayGet
    - tEncoderClear
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - encodeSetTableMapInfo
    - tEncodeCStr
    - tEndEncode
    - tSimpleHashIterate
    - tEncodeI32
    - tEncodeI8
    - uError
    - tSimpleHashGetSize
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTriggerPullRequest(void* buf, int32_t bufLen, const
      SSTriggerPullRequest* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3354
      start: 3349
    functionDepth: 1
    functionLinenumber: 3349
    functionLinenumberEnd: 3354
    functionName: destroyHash
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void destroyHash(void* data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3360,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3360,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3361,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3361,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3363,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3365,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3369,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3369,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3370,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3370,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3372,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3372,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3373,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3373,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3375,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3377,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3377,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3382,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3382,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3383,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3383,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3384,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3384,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - decoder
    - ppInfo
    argTypes:
    - SDecoder*
    - SSHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3356
    functionDepth: 1
    functionLinenumber: 3356
    functionLinenumberEnd: 3393
    functionName: decodeSetTableMapInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tSimpleHashPut
    - tSimpleHashCleanup
    - tSimpleHashSetFreeFp
    - tDecodeI16
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - tDecodeI64
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t decodeSetTableMapInfo(SDecoder* decoder, SSHashObj** ppInfo)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3400,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3401,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3401,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3404,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3404,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3407,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3408,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3408,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3409,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3409,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3414,1
    - Dst: decodeSetTableMapInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3414,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3415,1
    - Dst: decodeSetTableMapInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3415,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3423,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3423,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3424,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3424,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3425,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3425,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3430,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3430,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3431,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3431,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3432,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3432,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3433,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3433,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3434,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3434,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3442,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3442,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3443,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3443,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3444,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3444,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3445,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3445,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3446,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3446,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3451,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3451,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3452,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3452,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3453,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3453,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3454,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3454,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3462,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3462,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3463,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3463,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3464,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3464,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3465,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3465,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3473,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3473,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3474,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3474,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3475,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3475,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3476,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3476,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3477,1
    - Dst: decodePlainArray
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3477,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3478,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3478,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3479,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3479,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3487,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3487,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3488,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3488,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3495,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3495,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3496,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3499,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3499,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3502,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3502,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3503,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3503,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3505,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3510,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3510,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3511,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3511,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3512,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3512,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3513,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3513,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3519,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3519,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3524,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3529,1
    - Dst: decodePlainArray
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3530,1
    - Dst: decodePlainArray
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3531,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3532,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3537,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3537,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3538,1
    - Dst: decodePlainArray
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3538,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3539,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3539,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3545,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3545,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3546,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3549,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3553,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3556,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3559,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3559,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3560,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3560,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3562,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3562,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3567,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3573,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3576,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 154
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSTriggerPullRequestUnion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3578
      start: 3395
    functionDepth: 2
    functionLinenumber: 3395
    functionLinenumberEnd: 3578
    functionName: tDeserializeSTriggerPullRequest
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tDecodeU64
    - tEndDecode
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - tStartDecode
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    - tDecodeI8
    - taosArrayInit_s
    - tDecodeBool
    - uError
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    - tSimpleHashPut
    - decodePlainArray
    - taosArrayReserve
    - taosArrayInit
    - tDecoderInit
    - tDecodeI64
    - decodeSetTableMapInfo
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTriggerPullRequest(void* buf, int32_t bufLen,
      SSTriggerPullRequestUnion* pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3581,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3584,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3584,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3586,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3588,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3592,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3597,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3597,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3599,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pEncoder
    - pParams
    - ignoreNotificationInfo
    - full
    argTypes:
    - SEncoder*
    - SArray*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3604
      start: 3580
    functionDepth: 1
    functionLinenumber: 3580
    functionLinenumberEnd: 3604
    functionName: tSerializeSTriggerCalcParam
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TAOS_MEMCPY
    - taosArrayGetSize
    - tEncodeBinary
    - strlen
    - TAOS_CHECK_EXIT
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTriggerCalcParam(SEncoder* pEncoder, SArray* pParams,
      bool ignoreNotificationInfo, bool full)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3609,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3612,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3618
      start: 3606
    functionDepth: 1
    functionLinenumber: 3606
    functionLinenumberEnd: 3618
    functionName: tDestroySSTriggerCalcParam
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 6
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tDestroySSTriggerCalcParam(void* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3623,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3630
      start: 3620
    functionDepth: 1
    functionLinenumber: 3620
    functionLinenumberEnd: 3630
    functionName: tDestroySSTriggerGroupCalcInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tDestroySSTriggerGroupCalcInfo(void* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3638
      start: 3632
    functionDepth: 1
    functionLinenumber: 3632
    functionLinenumberEnd: 3638
    functionName: tDestroySSTriggerGroupReadInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tDestroySSTriggerGroupReadInfo(void* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3646
      start: 3640
    functionDepth: 1
    functionLinenumber: 3640
    functionLinenumberEnd: 3646
    functionName: tDestroySSTriggerGroupReadInfoArray
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tDestroySSTriggerGroupReadInfoArray(void* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3650,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3654
      start: 3648
    functionDepth: 1
    functionLinenumber: 3648
    functionLinenumberEnd: 3654
    functionName: tDestroySStreamGroupValue
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: void tDestroySStreamGroupValue(void* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3658,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3658,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3665,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3670,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3673,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3677,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3677,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3679,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pDecoder
    - ppParams
    - ignoreNotificationInfo
    argTypes:
    - SDecoder*
    - SArray**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3685
      start: 3656
    functionDepth: 1
    functionLinenumber: 3656
    functionLinenumberEnd: 3685
    functionName: tDeserializeSTriggerCalcParam
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryAlloc
    - taosArrayReserve
    - TAOS_MEMCPY
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTriggerCalcParam(SDecoder* pDecoder, SArray**ppParams,
      bool ignoreNotificationInfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3691,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3692,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3692,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3694,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3696,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3698,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3698,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3702,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3702,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3704,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3704,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3706,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3706,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3708,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3708,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3709,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3710,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3710,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3712,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pEncoder
    - pGroupColVals
    - vgId
    argTypes:
    - SEncoder*
    - SArray*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3718
      start: 3687
    functionDepth: 1
    functionLinenumber: 3687
    functionLinenumberEnd: 3718
    functionName: tSerializeStriggerGroupColVals
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - tEncodeBool
    - taosArrayGetSize
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeStriggerGroupColVals(SEncoder* pEncoder, SArray*
      pGroupColVals, int32_t vgId)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3725,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3725,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3726,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3729,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3731,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3734,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3734,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3738,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3740,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3742,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3742,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3746,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3746,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3748,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3748,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3749,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3749,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3751,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3751,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3752,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3754,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3754,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3757,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3757,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - pDecoder
    - ppGroupColVals
    argTypes:
    - SDecoder*
    - SArray**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3762
      start: 3720
    functionDepth: 1
    functionLinenumber: 3720
    functionLinenumberEnd: 3762
    functionName: tDeserializeStriggerGroupColVals
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeBool
    - tDecodeBinaryAlloc
    - IS_VAR_DATA_TYPE
    - taosArrayReserve
    - taosArrayInit
    - tDecodeI8
    - tDecodeI64
    - TAOS_CHECK_EXIT
    - taosArrayEnsureCap
    - taosArrayClearEx
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeStriggerGroupColVals(SDecoder* pDecoder, SArray**
      ppGroupColVals)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3770,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3771,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3771,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3773,1
    - Dst: tSerializeStriggerGroupColVals
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3773,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3775,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - buf
    - bufLen
    - gInfo
    - vgId
    argTypes:
    - void*
    - int32_t
    - SStreamGroupInfo*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3785
      start: 3764
    functionDepth: 2
    functionLinenumber: 3764
    functionLinenumberEnd: 3785
    functionName: tSerializeSStreamGroupInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tSerializeStriggerGroupColVals
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSStreamGroupInfo(void* buf, int32_t bufLen, const
      SStreamGroupInfo* gInfo, int32_t vgId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3793,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3794,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3794,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3796,1
    - Dst: tDeserializeStriggerGroupColVals
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3796,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3798,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - gInfo
    argTypes:
    - void*
    - int32_t
    - SStreamGroupInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3803
      start: 3787
    functionDepth: 2
    functionLinenumber: 3787
    functionLinenumberEnd: 3803
    functionName: tDeserializeSStreamGroupInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 2
    functionsReached:
    - tDeserializeStriggerGroupColVals
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSStreamGroupInfo(void* buf, int32_t bufLen, SStreamGroupInfo*
      gInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3809,1
    - Dst: tSerializeSTriggerCalcParam
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3809,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3810,1
    - Dst: tSerializeStriggerGroupColVals
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3810,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3811,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pEncoder
    - pInfo
    argTypes:
    - SEncoder*
    - SSTriggerGroupCalcInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3815
      start: 3805
    functionDepth: 2
    functionLinenumber: 3805
    functionLinenumberEnd: 3815
    functionName: tSerializeSSTriggerGroupCalcInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tSerializeStriggerGroupColVals
    - TAOS_CHECK_EXIT
    - tEncodeI8
    - tSerializeSTriggerCalcParam
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSSTriggerGroupCalcInfo(SEncoder* pEncoder, SSTriggerGroupCalcInfo*
      pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3821,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3821,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3824,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3828,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3832,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3833,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3833,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pEncoder
    - pInfo
    argTypes:
    - SEncoder*
    - SSTriggerGroupReadInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3841
      start: 3817
    functionDepth: 1
    functionLinenumber: 3817
    functionLinenumberEnd: 3841
    functionName: tSerializeSSTriggerGroupReadInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_MEMCPY
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSSTriggerGroupReadInfo(SEncoder* pEncoder, SSTriggerGroupReadInfo*
      pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3849,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3850,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3850,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3852,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3852,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3853,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3853,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3854,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3854,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3855,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3855,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3856,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3856,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3857,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3857,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3860,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3860,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3861,1
    - Dst: tSerializeSTriggerCalcParam
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3861,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3862,1
    - Dst: tSerializeStriggerGroupColVals
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3862,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3863,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3863,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3865,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3866,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3866,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3868,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3870,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3871,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3871,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3872,1
    - Dst: tSerializeSSTriggerGroupCalcInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3872,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3873,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3876,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3877,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3877,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3879,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3881,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3882,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3882,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3884,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3885,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3885,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3887,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3888,1
    - Dst: tSerializeSSTriggerGroupReadInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3888,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3890,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3894,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3894,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3895,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3895,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3897,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSTriggerCalcRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3907
      start: 3843
    functionDepth: 3
    functionLinenumber: 3843
    functionLinenumberEnd: 3907
    functionName: tSerializeSTriggerCalcRequest
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 5
    functionsReached:
    - tEncoderInit
    - tEncodeI8
    - tSerializeStriggerGroupColVals
    - tSerializeSTriggerCalcParam
    - tEncoderClear
    - tSerializeSSTriggerGroupCalcInfo
    - tEncodeBool
    - tSerializeSSTriggerGroupReadInfo
    - tSimpleHashGetSize
    - tStartEncode
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    - TARRAY_GET_ELEM
    - tEndEncode
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTriggerCalcRequest(void* buf, int32_t bufLen, const
      SSTriggerCalcRequest* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3913,1
    - Dst: tDeserializeSTriggerCalcParam
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3913,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3914,1
    - Dst: tDeserializeStriggerGroupColVals
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3915,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pDecoder
    - pInfo
    argTypes:
    - SDecoder*
    - SSTriggerGroupCalcInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3909
    functionDepth: 2
    functionLinenumber: 3909
    functionLinenumberEnd: 3919
    functionName: tDeserializeSSTriggerGroupCalcInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeStriggerGroupColVals
    - TAOS_CHECK_EXIT
    - tDeserializeSTriggerCalcParam
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSSTriggerGroupCalcInfo(SDecoder* pDecoder, SSTriggerGroupCalcInfo*
      pInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3925,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3925,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3927,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3929,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3933,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3933,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3935,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3936,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pInfo
    argTypes:
    - SDecoder*
    - SSTriggerGroupReadInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3943
      start: 3921
    functionDepth: 1
    functionLinenumber: 3921
    functionLinenumberEnd: 3943
    functionName: tDeserializeSSTriggerGroupReadInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - QUERY_CHECK_NULL
    - TAOS_MEMCPY
    - tDecodeI64
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSSTriggerGroupReadInfo(SDecoder* pDecoder, SSTriggerGroupReadInfo*
      pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3950,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3951,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3951,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3953,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3953,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3954,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3954,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3955,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3955,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3956,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3956,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3957,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3957,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3958,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3958,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3961,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3961,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3962,1
    - Dst: tDeserializeSTriggerCalcParam
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3962,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3963,1
    - Dst: tDeserializeStriggerGroupColVals
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3964,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3964,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3966,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3966,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3967,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3968,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3970,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3970,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3973,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3973,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3975,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3975,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3976,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3977,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3978,1
    - Dst: tDeserializeSSTriggerGroupCalcInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3978,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3982,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3982,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3983,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3983,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3984,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3985,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3988,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3988,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3990,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3990,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3991,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3992,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3993,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3995,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3996,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:3999,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4000,1
    - Dst: tDeserializeSSTriggerGroupReadInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4000,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4005,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4006,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4006,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4007,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4007,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4010,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4013,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSTriggerCalcRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4015
      start: 3945
    functionDepth: 3
    functionLinenumber: 3945
    functionLinenumberEnd: 4015
    functionName: tDeserializeSTriggerCalcRequest
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeStriggerGroupColVals
    - tDeserializeSTriggerCalcParam
    - tDecoderClear
    - tSimpleHashSetFreeFp
    - taosArrayDestroy
    - tDeserializeSSTriggerGroupCalcInfo
    - tEndDecode
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - tStartDecode
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    - tSimpleHashGet
    - tDecodeIsEnd
    - tDeserializeSSTriggerGroupReadInfo
    - QUERY_CHECK_NULL
    - tDecodeI8
    - taosArrayInit_s
    - tDecodeBool
    - tSimpleHashPut
    - tDecoderInit
    - tDecodeI64
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTriggerCalcRequest(void* buf, int32_t bufLen,
      SSTriggerCalcRequest* pReq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4020,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4024,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4028,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4032,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4035,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SSTriggerCalcRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4038
      start: 4017
    functionDepth: 3
    functionLinenumber: 4017
    functionLinenumberEnd: 4038
    functionName: tDestroySTriggerCalcRequest
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroyEx
    - tSimpleHashCleanup
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: void tDestroySTriggerCalcRequest(SSTriggerCalcRequest* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4046,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4047,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4047,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4049,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4049,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4050,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4050,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4051,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4051,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4052,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4052,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4054,1
    - Dst: tSerializeStriggerGroupColVals
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4054,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4056,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSTriggerDropRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4066
      start: 4040
    functionDepth: 2
    functionLinenumber: 4040
    functionLinenumberEnd: 4066
    functionName: tSerializeSTriggerDropTableRequest
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 2
    functionsReached:
    - tEncoderInit
    - tSerializeStriggerGroupColVals
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTriggerDropTableRequest(void* buf, int32_t bufLen,
      const SSTriggerDropRequest* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4073,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4074,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4074,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4076,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4076,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4077,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4077,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4078,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4079,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4079,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4081,1
    - Dst: tDeserializeStriggerGroupColVals
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4081,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4083,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSTriggerDropRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4088
      start: 4068
    functionDepth: 2
    functionLinenumber: 4068
    functionLinenumberEnd: 4088
    functionName: tDeserializeSTriggerDropTableRequest
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDeserializeStriggerGroupColVals
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTriggerDropTableRequest(void* buf, int32_t bufLen,
      SSTriggerDropRequest* pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4093,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SSTriggerDropRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4097
      start: 4090
    functionDepth: 1
    functionLinenumber: 4090
    functionLinenumberEnd: 4097
    functionName: tDestroySSTriggerDropRequest
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tDestroySSTriggerDropRequest(SSTriggerDropRequest* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4106,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4108,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4109,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4109,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4110,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4111,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4111,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4113,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSTriggerCtrlRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4123
      start: 4099
    functionDepth: 1
    functionLinenumber: 4099
    functionLinenumberEnd: 4123
    functionName: tSerializeSTriggerCtrlRequest
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 3
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTriggerCtrlRequest(void* buf, int32_t bufLen, const
      SSTriggerCtrlRequest* pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4131,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4134,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4134,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4136,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4136,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4137,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4137,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4138,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4138,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4140,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSTriggerCtrlRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4125
    functionDepth: 1
    functionLinenumber: 4125
    functionLinenumberEnd: 4145
    functionName: tDeserializeSTriggerCtrlRequest
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - tDecodeI64
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTriggerCtrlRequest(void* buf, int32_t bufLen,
      SSTriggerCtrlRequest* pReq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4149,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4149,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4150,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4150,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4151,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4151,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4152,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4152,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4157,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4157,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4160,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4161,1
    - Dst: tSerializeSSTriggerGroupReadInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4161,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4163,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4167,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4167,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4169,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4170,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4170,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4172,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4174,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4175,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4176,1
    - Dst: tSerializeSSTriggerGroupCalcInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4176,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4177,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4182,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4182,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4184,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4187,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4188,1
    - Dst: tSerializeSSTriggerGroupCalcInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4188,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4189,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4192,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4193,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4193,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4195,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4198,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4198,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4200,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4201,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4201,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4204,1
    - Dst: tSerializeSSTriggerGroupReadInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4204,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4211,1
    - Dst: tSerializeSTriggerCalcParam
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4212,1
    - Dst: tSerializeStriggerGroupColVals
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4213,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4216,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4217,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4218,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4218,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4219,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4219,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4220,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4220,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4221,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4221,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4222,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4222,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4223,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4223,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4224,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4224,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 4
    argNames:
    - pEncoder
    - pInfo
    - needStreamRtInfo
    - needStreamGrpInfo
    argTypes:
    - SEncoder*
    - SStreamRuntimeFuncInfo*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4227
      start: 4147
    functionDepth: 3
    functionLinenumber: 4147
    functionLinenumberEnd: 4227
    functionName: tSerializeStRtFuncInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tSerializeStriggerGroupColVals
    - tEncodeI8
    - tEncodeU64
    - tSerializeSTriggerCalcParam
    - tSerializeSSTriggerGroupCalcInfo
    - tEncodeBool
    - tSerializeSSTriggerGroupReadInfo
    - taosArrayGetSize
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeStRtFuncInfo(SEncoder* pEncoder, const SStreamRuntimeFuncInfo*
      pInfo, bool needStreamRtInfo, bool needStreamGrpInfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4235,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4235,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4236,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4236,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4237,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4237,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4238,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4238,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4244,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4244,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4246,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4247,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4250,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4251,1
    - Dst: tDeserializeSSTriggerGroupReadInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4254,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4254,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4257,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4257,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4258,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4258,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4259,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4260,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4264,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4264,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4266,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4266,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4267,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4268,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4269,1
    - Dst: tDeserializeSSTriggerGroupCalcInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4269,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4274,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4274,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4275,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4275,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4276,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4281,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4281,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4283,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4283,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4284,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4285,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4286,1
    - Dst: tDeserializeSSTriggerGroupCalcInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4286,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4290,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4290,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4291,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4291,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4292,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4293,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4296,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4296,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4298,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4298,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4299,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4300,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4301,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4303,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4304,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4307,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4308,1
    - Dst: tDeserializeSSTriggerGroupReadInfo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4308,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4314,1
    - Dst: tDeserializeSTriggerCalcParam
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4314,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4315,1
    - Dst: tDeserializeStriggerGroupColVals
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4315,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4316,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4316,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4319,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4319,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4320,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4320,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4321,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4321,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4322,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4322,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4323,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4324,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4324,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4325,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4326,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4326,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4327,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4327,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4329,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4330,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4330,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 80
    argCount: 2
    argNames:
    - pDecoder
    - pInfo
    argTypes:
    - SDecoder*
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4334
      start: 4229
    functionDepth: 3
    functionLinenumber: 4229
    functionLinenumberEnd: 4334
    functionName: tDeserializeStRtFuncInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeStriggerGroupColVals
    - tDeserializeSTriggerCalcParam
    - tSimpleHashSetFreeFp
    - taosArrayDestroy
    - tDecodeU64
    - tDeserializeSSTriggerGroupCalcInfo
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    - tSimpleHashGet
    - tDecodeIsEnd
    - tDeserializeSSTriggerGroupReadInfo
    - QUERY_CHECK_NULL
    - tDecodeI8
    - taosArrayInit_s
    - tDecodeBool
    - tSimpleHashPut
    - tDecodeI64
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeStRtFuncInfo(SDecoder* pDecoder, SStreamRuntimeFuncInfo*
      pInfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4339,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4343,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4347,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4351,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamRuntimeFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4336
    functionDepth: 1
    functionLinenumber: 4336
    functionLinenumberEnd: 4357
    functionName: tDestroyStRtFuncInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 3
    functionsReached:
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: void tDestroyStRtFuncInfo(SStreamRuntimeFuncInfo* pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4365,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4366,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4366,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4368,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4369,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4369,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4371,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4373,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4375,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4375,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4376,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4376,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4377,1
    - Dst: tEncodeSColRefWrapper
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4377,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4380,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SStreamMsgVTableInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4390
      start: 4359
    functionDepth: 1
    functionLinenumber: 4359
    functionLinenumberEnd: 4390
    functionName: tSerializeSStreamMsgVTableInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncoderClear
    - tEncodeSColRefWrapper
    - tEncodeI64
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSStreamMsgVTableInfo(void* buf, int32_t bufLen, const
      SStreamMsgVTableInfo* pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4398,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4399,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4399,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4401,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4401,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4404,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4409,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4411,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4411,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4412,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4412,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4413,1
    - Dst: tDecodeSColRefWrapperEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4413,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4416,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - vTableInfo
    argTypes:
    - void*
    - int32_t
    - SStreamMsgVTableInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4421
      start: 4392
    functionDepth: 1
    functionLinenumber: 4392
    functionLinenumberEnd: 4421
    functionName: tDeserializeSStreamMsgVTableInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - tDecodeI64
    - tDecodeSColRefWrapperEx
    - tDecoderClear
    - taosArrayReserve
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSStreamMsgVTableInfo(void* buf, int32_t bufLen,
      SStreamMsgVTableInfo *vTableInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4430
      start: 4424
    functionDepth: 0
    functionLinenumber: 4424
    functionLinenumberEnd: 4430
    functionName: tDestroyVTableInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tDestroyVTableInfo(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - SStreamMsgVTableInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4436
      start: 4432
    functionDepth: 1
    functionLinenumber: 4432
    functionLinenumberEnd: 4436
    functionName: tDestroySStreamMsgVTableInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tDestroySStreamMsgVTableInfo(SStreamMsgVTableInfo *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4444,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4445,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4445,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4447,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4447,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4448,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4449,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4449,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4451,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4452,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4452,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4453,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4453,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4456,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SStreamTsResponse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4466
      start: 4438
    functionDepth: 1
    functionLinenumber: 4438
    functionLinenumberEnd: 4466
    functionName: tSerializeSStreamTsResponse
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - taosArrayGet
    - tEncoderClear
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSStreamTsResponse(void* buf, int32_t bufLen, const
      SStreamTsResponse* pRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4474,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4475,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4475,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4477,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4477,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4480,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4482,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4485,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4487,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4494,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4495,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4495,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4500,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4503,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4503,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4504,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4511,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pBlock
    argTypes:
    - void*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4516
      start: 4468
    functionDepth: 3
    functionLinenumber: 4468
    functionLinenumberEnd: 4516
    functionName: tDeserializeSStreamTsResponse
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 2
    functionsReached:
    - tDecodeI64
    - taosArrayGet
    - blockDataEnsureCapacity
    - tDecoderClear
    - colDataSetInt64
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSStreamTsResponse(void* buf, int32_t bufLen, void
      *pBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4523,1
    - Dst: blockEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4525,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4527,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4542,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4547,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4548,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4548,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4549,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4549,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4550,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4550,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4551,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4551,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4556,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - encoder
    - pBlock
    - indexHash
    argTypes:
    - SEncoder*
    - void*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4560
      start: 4518
    functionDepth: 6
    functionLinenumber: 4518
    functionLinenumberEnd: 4560
    functionName: encodeData
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - blockGetEncodeSize
    - blockEncode
    - tEncodeU64
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - blockDataGetNumOfCols
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeData(SEncoder* encoder, void* pBlock, SSHashObj* indexHash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4566,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4566,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4567,1
    - Dst: encodeData
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4569,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - encoder
    - block
    - indexHash
    argTypes:
    - SEncoder*
    - void*
    - SSHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4574
      start: 4562
    functionDepth: 7
    functionLinenumber: 4562
    functionLinenumberEnd: 4574
    functionName: encodeBlock
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - encodeData
    - tEncodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t encodeBlock(SEncoder* encoder, void* block, SSHashObj* indexHash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4582,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4583,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4583,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4585,1
    - Dst: encodeBlock
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4585,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4586,1
    - Dst: encodeBlock
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4586,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4587,1
    - Dst: encodeBlock
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4587,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4588,1
    - Dst: encodeBlock
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4588,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4590,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4590,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4591,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4591,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4592,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - rsp
    argTypes:
    - void*
    - int32_t
    - SSTriggerWalNewRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4602
      start: 4576
    functionDepth: 8
    functionLinenumber: 4576
    functionLinenumberEnd: 4602
    functionName: tSerializeSStreamWalDataResponse
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - encodeBlock
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSStreamWalDataResponse(void* buf, int32_t bufLen,
      SSTriggerWalNewRsp* rsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4609,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4609,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4611,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4613,1
    - Dst: blockDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4613,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - decoder
    - pBlock
    argTypes:
    - SDecoder*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4621
      start: 4604
    functionDepth: 5
    functionLinenumber: 4604
    functionLinenumberEnd: 4621
    functionName: decodeBlock
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - blockDecode
    - blockDataEmpty
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t decodeBlock(SDecoder* decoder, void* pBlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4629,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4630,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4630,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4634,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4634,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4637,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4639,1
    - Dst: blockDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4639,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4643,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4644,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4644,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4645,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4651,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4651,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4652,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4652,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4653,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4654,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4654,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4657,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4664,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4665,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4668,1
    - Dst: decodeBlock
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4669,1
    - Dst: decodeBlock
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4669,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4670,1
    - Dst: decodeBlock
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4670,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4672,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4672,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4673,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4673,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4675,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4679,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4679,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 4
    argNames:
    - buf
    - bufLen
    - pRsp
    - pSlices
    argTypes:
    - void*
    - int32_t
    - SSTriggerWalNewRsp*
    - SArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4683
      start: 4623
    functionDepth: 6
    functionLinenumber: 4623
    functionLinenumberEnd: 4683
    functionName: tDeserializeSStreamWalDataResponse
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - uError
    - blockDecode
    - tDecoderInit
    - tstrerror
    - tDecoderClear
    - decodeBlock
    - tEndDecode
    - blockDataEmpty
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - taosArrayEnsureCap
    - tDecodeU64
    - taosArrayClear
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSStreamWalDataResponse(void* buf, int32_t bufLen,
      SSTriggerWalNewRsp* pRsp, SArray* pSlices)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4687,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4689,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4689,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4690,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4690,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4691,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4693,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4693,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SGetStreamCreateSqlReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4697
      start: 4685
    functionDepth: 1
    functionLinenumber: 4685
    functionLinenumberEnd: 4697
    functionName: tSerializeGetStreamCreateSqlReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - uError
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - tstrerror
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeGetStreamCreateSqlReq(void* buf, int32_t bufLen,
      const SGetStreamCreateSqlReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4701,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4703,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4703,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4704,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4704,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4705,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4707,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4707,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SGetStreamCreateSqlReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4710
      start: 4699
    functionDepth: 1
    functionLinenumber: 4699
    functionLinenumberEnd: 4710
    functionName: tDeserializeGetStreamCreateSqlReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - uError
    - tstrerror
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeGetStreamCreateSqlReq(void* buf, int32_t bufLen,
      SGetStreamCreateSqlReq* pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4714,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4716,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4716,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4717,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4717,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4718,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4720,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4720,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetStreamCreateSqlRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4724
      start: 4712
    functionDepth: 1
    functionLinenumber: 4712
    functionLinenumberEnd: 4724
    functionName: tSerializeGetStreamCreateSqlRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 0
    functionsReached:
    - uError
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - tstrerror
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeGetStreamCreateSqlRsp(void* buf, int32_t bufLen,
      const SGetStreamCreateSqlRsp* pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4728,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4730,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4730,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4731,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4731,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4732,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4734,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4734,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetStreamCreateSqlRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4737
      start: 4726
    functionDepth: 1
    functionLinenumber: 4726
    functionLinenumberEnd: 4737
    functionName: tDeserializeGetStreamCreateSqlRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 2
    functionsReached:
    - uError
    - tstrerror
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeCStrAlloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeGetStreamCreateSqlRsp(void* buf, int32_t bufLen,
      SGetStreamCreateSqlRsp* pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:4741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SGetStreamCreateSqlRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4743
      start: 4739
    functionDepth: 1
    functionLinenumber: 4739
    functionLinenumberEnd: 4743
    functionName: tFreeGetStreamCreateSqlRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeGetStreamCreateSqlRsp(SGetStreamCreateSqlRsp* pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/xnode.c:34,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/xnode.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - len
    - ptr
    - shouldClone
    argTypes:
    - int32_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: xCreateCowStr
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 16
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: CowStr
    signature: CowStr xCreateCowStr(int32_t len, const char *ptr, bool shouldClone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:54,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/xnode.c:58,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/xnode.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - cow
    - len
    - ptr
    - shouldFree
    argTypes:
    - CowStr*
    - int32_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: xSetCowStr
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void xSetCowStr(CowStr *cow, int32_t len, const char *ptr, bool shouldFree)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cow
    argTypes:
    - CowStr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: xCloneRefCowStr
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: CowStr
    signature: CowStr xCloneRefCowStr(CowStr *cow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrndupi
      Src: /src/tdengine/source/common/src/msg/xnode.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cow
    argTypes:
    - CowStr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: xCowStrToStr
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - taosStrndupi
    linkageType: ''
    returnType: char
    signature: char *xCowStrToStr(CowStr *cow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - cow
    argTypes:
    - CowStr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: xFreeCowStr
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 2
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void xFreeCowStr(CowStr *cow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeU32v
      Src: /src/tdengine/source/common/src/msg/xnode.c:94,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/xnode.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - encoder
    - cow
    argTypes:
    - SEncoder*
    - CowStr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: xEncodeCowStr
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncodeBinary
    - tEncodeU32v
    linkageType: ''
    returnType: int32_t
    signature: int32_t xEncodeCowStr(SEncoder *encoder, CowStr *cow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:107,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/xnode.c:107,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:111,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/common/src/msg/xnode.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - decoder
    - cow
    - shouldClone
    argTypes:
    - SDecoder*
    - CowStr*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 117
    functionName: xDecodeCowStr
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tDecodeBinaryAlloc
    - tDecodeBinary
    linkageType: ''
    returnType: int32_t
    signature: int32_t xDecodeCowStr(SDecoder *decoder, CowStr *cow, bool shouldClone)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:149,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:151,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:151,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:152,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:154,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:156,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/xnode.c:156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:158,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:160,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/xnode.c:160,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:162,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:162,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:164,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/xnode.c:164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:166,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:166,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:167,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:167,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:169,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 179
    functionName: tSerializeSMCreateXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCreateXnodeReq(void *buf, int32_t bufLen, SMCreateXnodeReq
      *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:188,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:188,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:189,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:191,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:191,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:193,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/xnode.c:193,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:195,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:195,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:197,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/xnode.c:197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:199,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:199,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:201,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/xnode.c:201,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:203,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:204,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:204,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:206,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: tDeserializeSMCreateXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryAlloc
    - xDecodeCowStr
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMCreateXnodeReq(void *buf, int32_t bufLen, SMCreateXnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:214,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:215,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:216,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:217,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: tFreeSMCreateXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    - taosMemoryFreeClear
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMCreateXnodeReq(SMCreateXnodeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - source
    argTypes:
    - xTaskSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: xFreeTaskSource
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    linkageType: ''
    returnType: void
    signature: void xFreeTaskSource(xTaskSource *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sourceType
    - len
    - source
    argTypes:
    - ENodeXTaskSourceType
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: xCreateClonedTaskSource
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xCreateCowStr
    linkageType: ''
    returnType: xTaskSource
    signature: xTaskSource xCreateClonedTaskSource(ENodeXTaskSourceType sourceType,
      int32_t len, char *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sourceType
    - len
    - ptr
    argTypes:
    - ENodeXTaskSourceType
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: xCreateTaskSource
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xCreateCowStr
    linkageType: ''
    returnType: xTaskSource
    signature: xTaskSource xCreateTaskSource(ENodeXTaskSourceType sourceType, int32_t
      len, char *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xCloneRefCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - source
    argTypes:
    - xTaskSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: xCloneTaskSourceRef
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 2
    functionsReached:
    - xCloneRefCowStr
    linkageType: ''
    returnType: xTaskSource
    signature: xTaskSource xCloneTaskSourceRef(xTaskSource *source)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - source
    argTypes:
    - xTaskSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: xGetTaskSourceTypeAsStr
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *xGetTaskSourceTypeAsStr(xTaskSource *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - xTaskSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: xGetTaskSourceStr
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *xGetTaskSourceStr(xTaskSource *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:265,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:265,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:266,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - encoder
    - source
    argTypes:
    - SEncoder*
    - xTaskSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: xSerializeTaskSource
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t xSerializeTaskSource(SEncoder *encoder, xTaskSource *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:277,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:279,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - decoder
    - source
    argTypes:
    - SDecoder*
    - xTaskSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: xDeserializeTaskSource
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - xDecodeCowStr
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t xDeserializeTaskSource(SDecoder *decoder, xTaskSource *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sink
    argTypes:
    - xTaskSink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: xFreeTaskSink
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    linkageType: ''
    returnType: void
    signature: void xFreeTaskSink(xTaskSink *sink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sinkType
    - len
    - sink
    argTypes:
    - ENodeXTaskSinkType
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: xCreateClonedTaskSink
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xCreateCowStr
    linkageType: ''
    returnType: xTaskSink
    signature: xTaskSink xCreateClonedTaskSink(ENodeXTaskSinkType sinkType, int32_t
      len, char *sink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xCreateCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sinkType
    - len
    - ptr
    argTypes:
    - ENodeXTaskSinkType
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: xCreateTaskSink
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xCreateCowStr
    linkageType: ''
    returnType: xTaskSink
    signature: xTaskSink xCreateTaskSink(ENodeXTaskSinkType sinkType, int32_t len,
      char *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xCloneRefCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sink
    argTypes:
    - xTaskSink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: xCloneTaskSinkRef
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 2
    functionsReached:
    - xCloneRefCowStr
    linkageType: ''
    returnType: xTaskSink
    signature: xTaskSink xCloneTaskSinkRef(xTaskSink* sink)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sink
    argTypes:
    - xTaskSink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: xGetTaskSinkTypeAsStr
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *xGetTaskSinkTypeAsStr(xTaskSink *sink)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sink
    argTypes:
    - xTaskSink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: xGetTaskSinkStr
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *xGetTaskSinkStr(xTaskSink *sink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:326,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:326,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:327,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - encoder
    - sink
    argTypes:
    - SEncoder*
    - xTaskSink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: xSerializeTaskSink
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t xSerializeTaskSink(SEncoder *encoder, xTaskSink *sink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:338,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:338,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:348,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - decoder
    - sink
    argTypes:
    - SDecoder*
    - xTaskSink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: xDeserializeTaskSink
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - xDecodeCowStr
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t xDeserializeTaskSink(SDecoder *decoder, xTaskSink *sink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:357,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:358,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:359,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - options
    argTypes:
    - xTaskOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: xFreeTaskOptions
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xFreeCowStr
    linkageType: ''
    returnType: void
    signature: void xFreeTaskOptions(xTaskOptions *options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/common/src/msg/xnode.c:366,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/msg/xnode.c:367,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/msg/xnode.c:368,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/msg/xnode.c:369,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/msg/xnode.c:372,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/msg/xnode.c:374,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/msg/xnode.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - options
    argTypes:
    - xTaskOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: printXnodeTaskOptions
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void printXnodeTaskOptions(xTaskOptions *options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:383,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:383,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:384,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:384,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:386,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:386,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:387,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:387,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:388,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:388,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:390,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - encoder
    - options
    argTypes:
    - SEncoder*
    - xTaskOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: xSerializeTaskOptions
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t xSerializeTaskOptions(SEncoder *encoder, xTaskOptions *options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:402,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:403,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:403,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:405,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:405,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:406,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:406,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:407,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:409,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - decoder
    - options
    argTypes:
    - SDecoder*
    - xTaskOptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 413
    functionName: xDeserializeTaskOptions
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - xDecodeCowStr
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t xDeserializeTaskOptions(SDecoder *decoder, xTaskOptions *options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:418,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:418,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:419,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - encoder
    - source
    argTypes:
    - SEncoder*
    - xTaskSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: tSerializeXnodeTaskSource
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeXnodeTaskSource(SEncoder *encoder, xTaskSource *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:428,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:428,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:429,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - decoder
    - source
    argTypes:
    - SDecoder*
    - xTaskSource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: tDeserializeXnodeTaskSource
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - xDecodeCowStr
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeXnodeTaskSource(SDecoder *decoder, xTaskSource
      *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:438,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:440,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:440,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:441,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:442,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:442,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:443,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:443,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:444,1
    - Dst: xSerializeTaskSource
      Src: /src/tdengine/source/common/src/msg/xnode.c:444,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:445,1
    - Dst: xSerializeTaskSink
      Src: /src/tdengine/source/common/src/msg/xnode.c:445,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:446,1
    - Dst: xSerializeTaskOptions
      Src: /src/tdengine/source/common/src/msg/xnode.c:446,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:447,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 457
    functionName: tSerializeSMCreateXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xSerializeTaskSink
    - xSerializeTaskSource
    - tEncoderClear
    - xSerializeTaskOptions
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCreateXnodeTaskReq(void *buf, int32_t bufLen, SMCreateXnodeTaskReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:463,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:465,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:465,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:466,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:467,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:467,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:468,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:468,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:469,1
    - Dst: xDeserializeTaskSource
      Src: /src/tdengine/source/common/src/msg/xnode.c:469,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:470,1
    - Dst: xDeserializeTaskSink
      Src: /src/tdengine/source/common/src/msg/xnode.c:470,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:471,1
    - Dst: xDeserializeTaskOptions
      Src: /src/tdengine/source/common/src/msg/xnode.c:471,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:472,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 477
    functionName: tDeserializeSMCreateXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xDecodeCowStr
    - xDeserializeTaskSource
    - xDeserializeTaskOptions
    - tDecoderClear
    - DECODESQL
    - xDeserializeTaskSink
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMCreateXnodeTaskReq(void *buf, int32_t bufLen,
      SMCreateXnodeTaskReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:480,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:481,1
    - Dst: xFreeTaskSource
      Src: /src/tdengine/source/common/src/msg/xnode.c:482,1
    - Dst: xFreeTaskSink
      Src: /src/tdengine/source/common/src/msg/xnode.c:483,1
    - Dst: xFreeTaskOptions
      Src: /src/tdengine/source/common/src/msg/xnode.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: tFreeSMCreateXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeTaskSource
    - xFreeTaskSink
    - xFreeCowStr
    - xFreeTaskOptions
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMCreateXnodeTaskReq(SMCreateXnodeTaskReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:493,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:495,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:495,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:496,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:497,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:498,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/xnode.c:498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:499,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:499,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:500,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 510
    functionName: tSerializeSMDropXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeBool
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropXnodeTaskReq(void *buf, int32_t bufLen, SMDropXnodeTaskReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:516,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:518,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:518,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:519,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:520,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:520,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:521,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/xnode.c:521,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:522,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:522,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:523,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 528
    functionName: tDeserializeSMDropXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tDecodeBool
    - xDecodeCowStr
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropXnodeTaskReq(void *buf, int32_t bufLen, SMDropXnodeTaskReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:530,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: tFreeSMDropXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMDropXnodeTaskReq(SMDropXnodeTaskReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:540,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:542,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:542,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:543,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:544,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:544,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:545,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:546,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:546,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:547,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMStartXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 557
    functionName: tSerializeSMStartXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMStartXnodeTaskReq(void *buf, int32_t bufLen, SMStartXnodeTaskReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:562,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:564,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:564,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:566,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:566,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:567,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:567,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:568,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMStartXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 573
    functionName: tDeserializeSMStartXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xDecodeCowStr
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMStartXnodeTaskReq(void *buf, int32_t bufLen,
      SMStartXnodeTaskReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:575,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMStartXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: tFreeSMStartXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMStartXnodeTaskReq(SMStartXnodeTaskReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSMStartXnodeTaskReq
      Src: /src/tdengine/source/common/src/msg/xnode.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMStopXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: tSerializeSMStopXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tSerializeSMStartXnodeTaskReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMStopXnodeTaskReq(void *buf, int32_t bufLen, SMStopXnodeTaskReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMStartXnodeTaskReq
      Src: /src/tdengine/source/common/src/msg/xnode.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMStopXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 582
    functionDepth: 3
    functionLinenumber: 582
    functionLinenumberEnd: 584
    functionName: tDeserializeSMStopXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tDeserializeSMStartXnodeTaskReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMStopXnodeTaskReq(void *buf, int32_t bufLen, SMStopXnodeTaskReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSMStartXnodeTaskReq
      Src: /src/tdengine/source/common/src/msg/xnode.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMStopXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 585
    functionName: tFreeSMStopXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - tFreeSMStartXnodeTaskReq
    linkageType: ''
    returnType: void
    signature: void tFreeSMStopXnodeTaskReq(SMStopXnodeTaskReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:592,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:594,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:594,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:596,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:597,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:597,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:598,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:599,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:600,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:601,1
    - Dst: xSerializeTaskSource
      Src: /src/tdengine/source/common/src/msg/xnode.c:601,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:602,1
    - Dst: xSerializeTaskSink
      Src: /src/tdengine/source/common/src/msg/xnode.c:602,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:603,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:604,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:605,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:605,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:606,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:606,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:607,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 587
    functionDepth: 3
    functionLinenumber: 587
    functionLinenumberEnd: 617
    functionName: tSerializeSMUpdateXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xSerializeTaskSink
    - xSerializeTaskSource
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMUpdateXnodeTaskReq(void *buf, int32_t bufLen, SMUpdateXnodeTaskReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:626,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:626,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:627,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:628,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:628,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:629,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:629,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:630,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:630,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:631,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:631,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:632,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:632,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:633,1
    - Dst: xDeserializeTaskSource
      Src: /src/tdengine/source/common/src/msg/xnode.c:633,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:634,1
    - Dst: xDeserializeTaskSink
      Src: /src/tdengine/source/common/src/msg/xnode.c:634,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:635,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:635,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:636,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:636,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:637,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:637,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:638,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:638,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:639,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 619
    functionDepth: 3
    functionLinenumber: 619
    functionLinenumberEnd: 644
    functionName: tDeserializeSMUpdateXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xDecodeCowStr
    - xDeserializeTaskSource
    - tDecoderClear
    - DECODESQL
    - xDeserializeTaskSink
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMUpdateXnodeTaskReq(void *buf, int32_t bufLen,
      SMUpdateXnodeTaskReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:648,1
    - Dst: xFreeTaskSource
      Src: /src/tdengine/source/common/src/msg/xnode.c:649,1
    - Dst: xFreeTaskSink
      Src: /src/tdengine/source/common/src/msg/xnode.c:650,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:651,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:652,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:653,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:654,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:655,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMUpdateXnodeTaskReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 657
    functionName: tFreeSMUpdateXnodeTaskReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    - xFreeTaskSink
    - xFreeTaskSource
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMUpdateXnodeTaskReq(SMUpdateXnodeTaskReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:664,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:666,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:666,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:667,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:667,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:668,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:669,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:669,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:671,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/xnode.c:671,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:673,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:674,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 684
    functionName: tSerializeSMDropXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropXnodeReq(void *buf, int32_t bufLen, SMDropXnodeReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:691,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:693,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:694,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:694,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:695,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:695,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:696,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:696,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:698,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/xnode.c:698,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:700,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:701,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 706
    functionName: tDeserializeSMDropXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryAlloc
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropXnodeReq(void *buf, int32_t bufLen, SMDropXnodeReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:709,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/xnode.c:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 713
    functionName: tFreeSMDropXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - FREESQL
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSMDropXnodeReq(SMDropXnodeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:720,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:722,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:722,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:723,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:723,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:724,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:725,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDrainXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: tSerializeSMDrainXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDrainXnodeReq(void *buf, int32_t bufLen, SMDrainXnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:742,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:744,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:744,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:745,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:745,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:746,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:747,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDrainXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 752
    functionName: tDeserializeSMDrainXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDrainXnodeReq(void *buf, int32_t bufLen, SMDrainXnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDrainXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 754
    functionName: tFreeSMDrainXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMDrainXnodeReq(SMDrainXnodeReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:761,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:763,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:763,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:764,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:764,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:765,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:765,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:766,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:766,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:767,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:767,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:768,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:768,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:770,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/xnode.c:770,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:772,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:773,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 783
    functionName: tSerializeSMUpdateXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMUpdateXnodeReq(void *buf, int32_t bufLen, SMUpdateXnodeReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:790,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:792,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:792,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:793,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:793,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:794,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:794,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:795,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:796,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:796,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:797,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:797,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:799,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/xnode.c:799,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:801,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:802,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 807
    functionName: tDeserializeSMUpdateXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryAlloc
    - xDecodeCowStr
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMUpdateXnodeReq(void *buf, int32_t bufLen, SMUpdateXnodeReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:810,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/xnode.c:812,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:814,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:815,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMUpdateXnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 817
    functionName: tFreeSMUpdateXnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    - FREESQL
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSMUpdateXnodeReq(SMUpdateXnodeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:825,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:827,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:827,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:829,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:831,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:831,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:832,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:832,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:833,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:833,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:834,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:834,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:835,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:835,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:836,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:836,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:837,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 847
    functionName: tSerializeSMCreateXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCreateXnodeJobReq(void *buf, int32_t bufLen, SMCreateXnodeJobReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:855,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:857,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:857,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:858,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:859,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:859,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:860,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:860,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:861,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:861,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:862,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:862,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:863,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:863,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:864,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:864,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:865,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 870
    functionName: tDeserializeSMCreateXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xDecodeCowStr
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMCreateXnodeJobReq(void *buf, int32_t bufLen,
      SMCreateXnodeJobReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:872,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:873,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:874,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 876
    functionName: tFreeSMCreateXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMCreateXnodeJobReq(SMCreateXnodeJobReq *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:884,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:886,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:886,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:888,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:890,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:890,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:891,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:891,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:892,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:892,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:893,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:893,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:894,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:894,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:896,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/xnode.c:896,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:898,1
    - Dst: tEncodeU32v
      Src: /src/tdengine/source/common/src/msg/xnode.c:898,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:900,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:900,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:902,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/xnode.c:902,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:904,1
    - Dst: tEncodeU32v
      Src: /src/tdengine/source/common/src/msg/xnode.c:904,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:906,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 916
    functionName: tSerializeSMUpdateXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeU32v
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMUpdateXnodeJobReq(void *buf, int32_t bufLen, SMUpdateXnodeJobReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:923,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:925,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:925,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:926,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:927,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:927,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:928,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:928,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:929,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:929,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:930,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:930,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:931,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:931,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:932,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/xnode.c:932,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:933,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:933,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:934,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/xnode.c:934,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:935,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 940
    functionName: tDeserializeSMUpdateXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryAlloc
    - xDecodeCowStr
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMUpdateXnodeJobReq(void *buf, int32_t bufLen,
      SMUpdateXnodeJobReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:943,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:946,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:950,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMUpdateXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 953
    functionName: tFreeSMUpdateXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    - taosMemoryFreeClear
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMUpdateXnodeJobReq(SMUpdateXnodeJobReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:961,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:963,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:963,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:965,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:965,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:966,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:966,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:968,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMRebalanceXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 977
    functionName: tSerializeSMRebalanceXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMRebalanceXnodeJobReq(void *buf, int32_t bufLen,
      SMRebalanceXnodeJobReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:983,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:985,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:985,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:986,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:987,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:987,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:988,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:988,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:990,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMRebalanceXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 994
    functionName: tDeserializeSMRebalanceXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMRebalanceXnodeJobReq(void *buf, int32_t bufLen,
      SMRebalanceXnodeJobReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMRebalanceXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 996
    functionName: tFreeSMRebalanceXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMRebalanceXnodeJobReq(SMRebalanceXnodeJobReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:1004,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1006,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1006,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1007,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1008,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1008,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1009,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMRebalanceXnodeJobsWhereReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 998
    functionDepth: 2
    functionLinenumber: 998
    functionLinenumberEnd: 1018
    functionName: tSerializeSMRebalanceXnodeJobsWhereReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMRebalanceXnodeJobsWhereReq(void *buf, int32_t bufLen,
      SMRebalanceXnodeJobsWhereReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:1024,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1026,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1026,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1027,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1028,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1028,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1030,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMRebalanceXnodeJobsWhereReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1034
    functionName: tDeserializeSMRebalanceXnodeJobsWhereReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xDecodeCowStr
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMRebalanceXnodeJobsWhereReq(void *buf, int32_t
      bufLen, SMRebalanceXnodeJobsWhereReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1037,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMRebalanceXnodeJobsWhereReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1036
    functionDepth: 2
    functionLinenumber: 1036
    functionLinenumberEnd: 1039
    functionName: tFreeSMRebalanceXnodeJobsWhereReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMRebalanceXnodeJobsWhereReq(SMRebalanceXnodeJobsWhereReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:1047,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1049,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1049,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1050,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1051,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:1051,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1052,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1052,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1054,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1063
    functionName: tSerializeSMDropXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropXnodeJobReq(void *buf, int32_t bufLen, SMDropXnodeJobReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:1069,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1071,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1071,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1072,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1073,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:1073,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1074,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1074,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1076,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1080
    functionName: tDeserializeSMDropXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xDecodeCowStr
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropXnodeJobReq(void *buf, int32_t bufLen, SMDropXnodeJobReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1082,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropXnodeJobReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1084
    functionName: tFreeSMDropXnodeJobReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeCowStr
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMDropXnodeJobReq(SMDropXnodeJobReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:1091,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1093,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1093,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1094,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1095,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1095,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1096,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1096,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1097,1
    - Dst: xSerializeTaskOptions
      Src: /src/tdengine/source/common/src/msg/xnode.c:1097,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1098,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateXnodeAgentReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1108
    functionName: tSerializeSMCreateXnodeAgentReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - xSerializeTaskOptions
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCreateXnodeAgentReq(void *buf, int32_t bufLen,
      SMCreateXnodeAgentReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:1115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1117,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1117,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1118,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1119,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1119,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1120,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1121,1
    - Dst: xDeserializeTaskOptions
      Src: /src/tdengine/source/common/src/msg/xnode.c:1121,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1123,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateXnodeAgentReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1110
    functionDepth: 3
    functionLinenumber: 1110
    functionLinenumberEnd: 1127
    functionName: tDeserializeSMCreateXnodeAgentReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xDecodeCowStr
    - xDeserializeTaskOptions
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMCreateXnodeAgentReq(void *buf, int32_t bufLen,
      SMCreateXnodeAgentReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1130,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1131,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1132,1
    - Dst: xFreeTaskOptions
      Src: /src/tdengine/source/common/src/msg/xnode.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateXnodeAgentReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1129
    functionDepth: 3
    functionLinenumber: 1129
    functionLinenumberEnd: 1134
    functionName: tFreeSMCreateXnodeAgentReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeTaskOptions
    - xFreeCowStr
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMCreateXnodeAgentReq(SMCreateXnodeAgentReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:1141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1143,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1143,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1145,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:1145,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1146,1
    - Dst: xEncodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1147,1
    - Dst: xSerializeTaskOptions
      Src: /src/tdengine/source/common/src/msg/xnode.c:1147,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1148,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:1156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateXnodeAgentReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1136
    functionDepth: 3
    functionLinenumber: 1136
    functionLinenumberEnd: 1158
    functionName: tSerializeSMUpdateXnodeAgentReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - xSerializeTaskOptions
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    - xEncodeCowStr
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMUpdateXnodeAgentReq(void *buf, int32_t bufLen,
      SMUpdateXnodeAgentReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/xnode.c:1164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1166,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1166,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1168,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/xnode.c:1168,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1169,1
    - Dst: xDecodeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1169,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/xnode.c:1170,1
    - Dst: xDeserializeTaskOptions
      Src: /src/tdengine/source/common/src/msg/xnode.c:1170,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/xnode.c:1172,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/xnode.c:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateXnodeAgentReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1159
    functionDepth: 3
    functionLinenumber: 1159
    functionLinenumberEnd: 1176
    functionName: tDeserializeSMUpdateXnodeAgentReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - xDecodeCowStr
    - xDeserializeTaskOptions
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMUpdateXnodeAgentReq(void *buf, int32_t bufLen,
      SMUpdateXnodeAgentReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/xnode.c:1178,1
    - Dst: xFreeCowStr
      Src: /src/tdengine/source/common/src/msg/xnode.c:1179,1
    - Dst: xFreeTaskOptions
      Src: /src/tdengine/source/common/src/msg/xnode.c:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMUpdateXnodeAgentReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1181
    functionName: tFreeSMUpdateXnodeAgentReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - xFreeTaskOptions
    - xFreeCowStr
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMUpdateXnodeAgentReq(SMUpdateXnodeAgentReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSMDropXnodeTaskReq
      Src: /src/tdengine/source/common/src/msg/xnode.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropXnodeAgentReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1183
    functionDepth: 3
    functionLinenumber: 1183
    functionLinenumberEnd: 1185
    functionName: tSerializeSMDropXnodeAgentReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tSerializeSMDropXnodeTaskReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropXnodeAgentReq(void *buf, int32_t bufLen, SMDropXnodeAgentReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMDropXnodeTaskReq
      Src: /src/tdengine/source/common/src/msg/xnode.c:1187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropXnodeAgentReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1188
    functionName: tDeserializeSMDropXnodeAgentReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 0
    functionsReached:
    - tDeserializeSMDropXnodeTaskReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropXnodeAgentReq(void *buf, int32_t bufLen,
      SMDropXnodeAgentReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSMDropXnodeTaskReq
      Src: /src/tdengine/source/common/src/msg/xnode.c:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropXnodeAgentReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1189
    functionDepth: 3
    functionLinenumber: 1189
    functionLinenumberEnd: 1189
    functionName: tFreeSMDropXnodeAgentReq
    functionSourceFile: /src/tdengine/source/common/src/msg/xnode.c
    functionUses: 1
    functionsReached:
    - tFreeSMDropXnodeTaskReq
    linkageType: ''
    returnType: void
    signature: void tFreeSMDropXnodeAgentReq(SMDropXnodeAgentReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:86,1
    - Dst: tEncodeI8
      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: tEncodeI32
      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: tEncodeI32
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:89,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:90,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:90,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:91,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:91,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:92,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - encoder
    - pMonitorParas
    argTypes:
    - SEncoder*
    - SMonitorParas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: tSerializeSMonitorParas
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeCStr
    - tEncodeI8
    - tEncodeI32
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMonitorParas(SEncoder *encoder, const SMonitorParas
      *pMonitorParas)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:97,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:97,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:98,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:98,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:99,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:99,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:100,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:100,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:101,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:101,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:102,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:102,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:103,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - decoder
    - pMonitorParas
    argTypes:
    - SDecoder*
    - SMonitorParas*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: tDeserializeSMonitorParas
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecodeI32
    - TAOS_CHECK_RETURN
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMonitorParas(SDecoder *decoder, SMonitorParas
      *pMonitorParas)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:117,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pMsg
    - pIter
    argTypes:
    - SSubmitReq*
    - SSubmitMsgIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: tInitSubmitMsgIter
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - htonl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tInitSubmitMsgIter(const SSubmitReq *pMsg, SSubmitMsgIter *pIter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:157,1
    - Dst: htobe64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:158,1
    - Dst: htobe64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:159,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:160,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:161,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:162,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - pIter
    - pPBlock
    argTypes:
    - SSubmitMsgIter*
    - SSubmitBlk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 166
    functionName: tGetSubmitMsgNext
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - htobe64
    - htonl
    - POINTER_SHIFT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tGetSubmitMsgNext(SSubmitMsgIter *pIter, SSubmitBlk **pPBlock)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pMsgIter
    - pBlock
    - pIter
    argTypes:
    - SSubmitMsgIter*
    - SSubmitBlk*
    - SSubmitBlkIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: tInitSubmitBlkIter
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tInitSubmitBlkIter(SSubmitMsgIter *pMsgIter, SSubmitBlk *pBlock,
      SSubmitBlkIter *pIter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:184,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:186,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SSubmitBlkIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: tGetSubmitBlkNext
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - POINTER_SHIFT
    - TD_ROW_LEN
    linkageType: ''
    returnType: STSRow
    signature: STSRow *tGetSubmitBlkNext(SSubmitBlkIter *pIter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:193,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:193,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:194,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:194,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:196,1
    - Dst: tEncodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:196,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:197,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pEncoder
    - pEp
    argTypes:
    - SEncoder*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: tEncodeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncodeU16
    - tEncodeI8
    - tEncodeCStrWithLen
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSEpSet(SEncoder *pEncoder, const SEpSet *pEp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:203,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:203,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:204,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:204,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:206,1
    - Dst: tDecodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:206,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:207,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pEp
    argTypes:
    - SDecoder*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: tDecodeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecodeCStrTo
    - tDecodeU16
    - TAOS_CHECK_RETURN
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSEpSet(SDecoder *pDecoder, SEpSet *pEp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:213,1
    - Dst: tEncodeI32
      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: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pEncoder
    - pAddr
    argTypes:
    - SEncoder*
    - SQueryNodeAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: tEncodeSQueryNodeAddr
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeSEpSet
    - tEncodeI32
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSQueryNodeAddr(SEncoder *pEncoder, SQueryNodeAddr *pAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:219,1
    - Dst: tEncodeSQueryNodeAddr
      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
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pEncoder
    - pLoad
    argTypes:
    - SEncoder*
    - SQueryNodeLoad*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: tEncodeSQueryNodeLoad
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeSQueryNodeAddr
    - tEncodeU64
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSQueryNodeLoad(SEncoder *pEncoder, SQueryNodeLoad *pLoad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:225,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:225,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:226,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pDecoder
    - pAddr
    argTypes:
    - SDecoder*
    - SQueryNodeAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: tDecodeSQueryNodeAddr
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSEpSet
    - TAOS_CHECK_RETURN
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSQueryNodeAddr(SDecoder *pDecoder, SQueryNodeAddr *pAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:231,1
    - Dst: tDecodeSQueryNodeAddr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:231,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:232,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pDecoder
    - pLoad
    argTypes:
    - SDecoder*
    - SQueryNodeLoad*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: tDecodeSQueryNodeLoad
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeU64
    - tDecodeSQueryNodeAddr
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSQueryNodeLoad(SDecoder *pDecoder, SQueryNodeLoad *pLoad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:238,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:239,1
    - Dst: taosEncodeFixedU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:241,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/common/src/msg/tmsg.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - pEp
    argTypes:
    - void**
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: taosEncodeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosEncodeFixedU16
    - taosEncodeFixedI8
    - taosEncodeString
    linkageType: ''
    returnType: int32_t
    signature: int32_t taosEncodeSEpSet(void **buf, const SEpSet *pEp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:248,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:249,1
    - Dst: taosDecodeFixedU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:251,1
    - Dst: taosDecodeStringTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - pEp
    argTypes:
    - void*
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: taosDecodeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosDecodeFixedI8
    - taosDecodeStringTo
    - taosDecodeFixedU16
    linkageType: ''
    returnType: void
    signature: void *taosDecodeSEpSet(const void *buf, SEpSet *pEp)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - phase
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 285
    functionName: queryPhaseStr
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *queryPhaseStr(int32_t phase)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:288,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:288,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:289,1
    - Dst: tEncodeSClientHbKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:289,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:292,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:292,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:293,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:294,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:294,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:295,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:295,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:296,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:296,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:297,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:297,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:298,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:298,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:299,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:299,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:300,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:300,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:301,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:301,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:302,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:302,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:303,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:303,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:304,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:304,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:309,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:309,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:310,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:310,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:312,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:313,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:313,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:316,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:317,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:317,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:318,1
    - Dst: tEncodeU64
      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: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:319,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:320,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:320,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:321,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:321,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:322,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:322,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:323,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:323,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:324,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:324,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:325,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:325,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:326,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:327,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:327,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:329,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:330,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:330,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:331,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:331,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:332,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:332,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:334,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:334,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:335,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:335,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:338,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:338,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:342,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:343,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:343,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:344,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:347,1
    - Dst: tEncodeSKv
      Src: /src/tdengine/source/common/src/msg/tmsg.c:347,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:348,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:350,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:350,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:351,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:351,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:352,1
    - Dst: tSerializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:352,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:353,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:353,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:354,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:354,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:355,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:355,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:356,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:356,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 59
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SClientHbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 360
    functionName: tSerializeSClientHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - taosHashIterate
    - tEncodeU64
    - TAOS_CHECK_RETURN
    - taosArrayGet
    - tEncodeSKv
    - taosHashGetSize
    - tEncodeU32
    - tEncodeCStr
    - tEncodeSClientHbKey
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - tSerializeIpRange
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSClientHbReq(SEncoder *pEncoder, const SClientHbReq
      *pReq)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:365,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:365,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:366,1
    - Dst: tDecodeSClientHbKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:366,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:370,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:374,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:374,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:375,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:375,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:376,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:376,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:377,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:377,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:378,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:378,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:379,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:379,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:380,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:380,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:381,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:381,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:382,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:382,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:383,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:383,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:384,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:384,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:385,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:385,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:386,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:386,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:389,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:391,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:394,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:396,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:397,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:400,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:401,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:404,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:407,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:412,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:413,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:415,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:416,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:418,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:419,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:421,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:422,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:424,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:425,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:427,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:428,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:430,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:431,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:433,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:434,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:436,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:437,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:440,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:442,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:445,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:450,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:451,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:453,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:454,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:456,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:457,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:459,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:461,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:466,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:468,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:471,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:474,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:475,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:476,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:477,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:479,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:481,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:489,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:489,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:491,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:491,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:495,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:499,1
    - Dst: tDecodeSKv
      Src: /src/tdengine/source/common/src/msg/tmsg.c:499,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:501,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:502,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:504,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:505,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:505,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:506,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:506,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:509,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:510,1
    - Dst: tDeserializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:510,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:511,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:511,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:512,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:512,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:515,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:516,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:516,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:517,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:517,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:519,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/tmsg.c:523,1
    - Dst: tFreeClientHbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:524,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 130
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SClientHbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 527
    functionName: tDeserializeSClientHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDeserializeIpRange
    - TAOS_CHECK_GOTO
    - tDecodeU64
    - tFreeClientHbReq
    - taosHashInit
    - tEndDecode
    - taosArrayGetSize
    - taosGetDefaultHashFunction
    - tStartDecode
    - taosMemoryCalloc
    - tDecodeIsEnd
    - tDecodeSClientHbKey
    - tDecodeI8
    - uError
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    - tDecodeSKv
    - tDecodeU32
    - taosArrayInit
    - tDecodeI64
    - taosHashPut
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSClientHbReq(SDecoder *pDecoder, SClientHbReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:530,1
    - Dst: tEncodeSClientHbKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:530,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:531,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:531,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:536,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:536,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:537,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:537,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:538,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:538,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:539,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:539,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:540,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:540,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:541,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:541,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:542,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:542,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:543,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:544,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:544,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:546,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:547,1
    - Dst: tEncodeSQueryNodeLoad
      Src: /src/tdengine/source/common/src/msg/tmsg.c:547,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:550,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:550,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:553,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:554,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:554,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:556,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:557,1
    - Dst: tEncodeSKv
      Src: /src/tdengine/source/common/src/msg/tmsg.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SClientHbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 529
    functionDepth: 4
    functionLinenumber: 529
    functionLinenumberEnd: 561
    functionName: tSerializeSClientHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeSEpSet
    - tEncodeSQueryNodeLoad
    - tEncodeU64
    - TAOS_CHECK_RETURN
    - taosArrayGet
    - tEncodeSKv
    - tEncodeU32
    - tEncodeSClientHbKey
    - taosArrayGetSize
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSClientHbRsp(SEncoder *pEncoder, const SClientHbRsp
      *pRsp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:564,1
    - Dst: tDecodeSClientHbKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:564,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:565,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:565,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:568,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:568,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:570,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:574,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:574,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:575,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:575,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:576,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:576,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:577,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:577,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:578,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:578,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:579,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:579,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:581,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:581,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:583,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:587,1
    - Dst: tDecodeSQueryNodeLoad
      Src: /src/tdengine/source/common/src/msg/tmsg.c:587,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:588,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:594,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:594,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:595,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:601,1
    - Dst: tDecodeSKv
      Src: /src/tdengine/source/common/src/msg/tmsg.c:601,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:602,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SClientHbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 606
    functionName: tDeserializeSClientHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecodeSEpSet
    - TAOS_CHECK_RETURN
    - tDecodeSClientHbKey
    - tDecodeU64
    - tDecodeSKv
    - tDecodeSQueryNodeLoad
    - tDecodeU32
    - taosArrayInit
    - tDecodeI8
    - taosMemoryCalloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSClientHbRsp(SDecoder *pDecoder, SClientHbRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:613,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:615,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:616,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:616,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:618,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:619,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:619,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:621,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:622,1
    - Dst: tSerializeSClientHbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:622,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:625,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:625,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:626,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pBatchReq
    argTypes:
    - void*
    - int32_t
    - SClientHbBatchReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 636
    functionName: tSerializeSClientHbBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tEncoderInit
    - taosArrayGet
    - tSerializeSClientHbReq
    - tEncoderClear
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSClientHbBatchReq(void *buf, int32_t bufLen, const
      SClientHbBatchReq *pBatchReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:644,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:645,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:645,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:648,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:648,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:657,1
    - Dst: tDeserializeSClientHbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:657,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:659,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:664,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:664,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:667,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pBatchReq
    argTypes:
    - void*
    - int32_t
    - SClientHbBatchReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 672
    functionName: tDeserializeSClientHbBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecodeIsEnd
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDeserializeSClientHbReq
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSClientHbBatchReq(void *buf, int32_t bufLen, SClientHbBatchReq
      *pBatchReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:679,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:681,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:681,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:682,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:682,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:683,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:684,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:684,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:686,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:687,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:687,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:689,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:690,1
    - Dst: tSerializeSClientHbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:690,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:692,1
    - Dst: tSerializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:692,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:693,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:694,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:694,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:695,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:695,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:696,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:696,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:697,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:697,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:698,1
    - Dst: tEncodeU32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:698,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:699,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pBatchRsp
    argTypes:
    - void*
    - int32_t
    - SClientHbBatchRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 674
    functionDepth: 5
    functionLinenumber: 674
    functionLinenumberEnd: 709
    functionName: tSerializeSClientHbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tSerializeSClientHbRsp
    - tEncodeI8
    - taosArrayGet
    - tSerializeSMonitorParas
    - tEncoderClear
    - tEncodeU32v
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSClientHbBatchRsp(void *buf, int32_t bufLen, const
      SClientHbBatchRsp *pBatchRsp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:715,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:717,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:717,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:718,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:718,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:719,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:719,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:720,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:720,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:723,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:723,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:725,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:731,1
    - Dst: tDeserializeSClientHbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:731,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:732,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:733,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:737,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:738,1
    - Dst: tDeserializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:738,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:741,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:742,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:742,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:747,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:748,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:748,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:753,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:754,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:754,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:755,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:756,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:756,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:763,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:764,1
    - Dst: tDecodeU32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:764,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:769,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:772,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pBatchRsp
    argTypes:
    - void*
    - int32_t
    - SClientHbBatchRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 711
    functionDepth: 5
    functionLinenumber: 711
    functionLinenumberEnd: 774
    functionName: tDeserializeSClientHbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecodeIsEnd
    - tDecodeI8
    - tDeserializeSClientHbRsp
    - tDeserializeSMonitorParas
    - tDecodeU32v
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSClientHbBatchRsp(void *buf, int32_t bufLen, SClientHbBatchRsp
      *pBatchRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:781,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:783,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:783,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:784,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:784,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:785,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:785,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:786,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:786,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:788,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:788,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:790,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:790,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:791,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:791,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:792,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:792,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:793,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:793,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:794,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:794,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:795,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:796,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:796,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:797,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:797,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:798,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:798,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:799,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:799,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:800,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:800,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:801,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:802,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:802,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:803,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:803,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:806,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:807,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:807,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:808,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:808,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:809,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:809,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:810,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:810,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:811,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:811,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:812,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:812,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:816,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:817,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:818,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:818,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:819,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:819,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:820,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:820,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:824,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:825,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:825,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:829,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:829,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:832,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:832,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:835,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:835,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:837,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:837,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:838,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:838,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:839,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:839,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:841,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:843,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:843,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:844,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:844,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:845,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:845,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:847,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:855,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 66
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 857
    functionName: tSerializeSMCreateStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - tEncoderClear
    - tEncodeU32
    - tEncodeCStr
    - tEncodeI64
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCreateStbReq(void *buf, int32_t bufLen, SMCreateStbReq
      *pReq)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:863,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:865,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:865,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:866,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:866,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:867,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:867,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:868,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:870,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:870,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:872,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:872,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:873,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:873,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:874,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:874,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:875,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:875,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:876,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:876,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:877,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:877,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:878,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:878,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:879,1
    - Dst: tDecodeI32
      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: tDecodeI32
      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: tDecodeI32
      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: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:882,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:883,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:883,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:884,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:884,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:885,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:885,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:887,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:888,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:890,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:891,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:893,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:894,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:899,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:899,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:900,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:900,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:901,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:901,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:902,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:902,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:903,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:903,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:904,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:904,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:905,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:906,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:912,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:912,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:913,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:913,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:914,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:915,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:915,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:916,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:917,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:923,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:923,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:924,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:925,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:930,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:932,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:934,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:934,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:938,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:940,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:942,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:942,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:946,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:948,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:950,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:950,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:953,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:953,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:954,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:954,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:955,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:956,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:956,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:959,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:961,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:962,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:962,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:966,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:967,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:967,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:972,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:973,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:973,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:978,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:981,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 105
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 983
    functionName: tDeserializeSMCreateStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecoderInit
    - taosMemoryMalloc
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeU32
    - taosArrayInit
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMCreateStbReq(void *buf, int32_t bufLen, SMCreateStbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:986,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:987,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:988,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:989,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:990,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:991,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 993
    functionName: tFreeSMCreateStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMCreateStbReq(SMCreateStbReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1000,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1002,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1002,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1003,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1003,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1004,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1004,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1005,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1005,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1007,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1007,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1009,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1009,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1010,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1011,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1021
    functionName: tSerializeSMDropStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropStbReq(void *buf, int32_t bufLen, SMDropStbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1027,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1029,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1029,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1030,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1030,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1031,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1031,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1032,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1032,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1034,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1034,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1036,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1036,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1038,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1040,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1045
    functionName: tDeserializeSMDropStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropStbReq(void *buf, int32_t bufLen, SMDropStbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1047
    functionName: tFreeSMDropStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMDropStbReq(SMDropStbReq *pReq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1054,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1056,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1056,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1057,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1057,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1058,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1058,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1059,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1059,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1064,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1065,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1065,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1066,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1066,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1067,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1067,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1068,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1068,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1071,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1072,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1072,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1073,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1073,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1074,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1074,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1077,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1077,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1078,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1080,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1080,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1082,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1082,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1083,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1086,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1088,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1088,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1090,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1091,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1091,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:1094,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1098,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1098,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1099,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1099,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1101,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMAlterStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1111
    functionName: tSerializeSMAlterStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - tEncoderClear
    - tEncodeU32
    - tEncodeCStr
    - tEncodeI64
    - ENCODESQL
    - taosArrayGetSize
    - tStartEncode
    - TAOS_CHECK_ERRNO
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMAlterStbReq(void *buf, int32_t bufLen, SMAlterStbReq
      *pReq)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1117,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1119,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1119,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1120,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1121,1
    - Dst: tDecodeI8
      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: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1122,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1123,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1125,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1130,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1132,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1135,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1135,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1136,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1136,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1137,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1137,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1138,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1138,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1139,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1140,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1144,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1145,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1145,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1146,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1146,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1148,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1153,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1153,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:1154,1
    - Dst: taosMemoryMalloc
      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: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1160,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1160,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1162,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1163,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1163,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1165,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1166,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1169,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1169,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1173,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1177,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1177,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1179,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1188,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1189,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1189,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1191,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1192,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1192,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1195,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1198,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMAlterStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1200
    functionName: tDeserializeSMAlterStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 4
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecoderInit
    - taosMemoryMalloc
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - taosArrayDestroy
    - tEndDecode
    - tDecodeU32
    - taosArrayInit
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMAlterStbReq(void *buf, int32_t bufLen, SMAlterStbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1203,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1205,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1206,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMAlterStbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1208
    functionName: tFreeSMAltertbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 5
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMAltertbReq(SMAlterStbReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1217,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1218,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1218,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1220,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pEpset
    argTypes:
    - void*
    - int32_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1210
    functionDepth: 2
    functionLinenumber: 1210
    functionLinenumberEnd: 1230
    functionName: tSerializeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeSEpSet
    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:1237,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1239,1
    - Dst: tStartDecode
      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: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1240,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1242,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pEpset
    argTypes:
    - void*
    - int32_t
    - SEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1246
    functionName: tDeserializeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeSEpSet
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSEpSet(void *buf, int32_t bufLen, SEpSet *pEpset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1253,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1255,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1255,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1256,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1256,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1257,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1257,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1258,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1258,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1259,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1259,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1260,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1260,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1261,1
    - Dst: tEncodeI8
      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: tEncodeI32
      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: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1263,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1264,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1264,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1265,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1265,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1266,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1266,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1267,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1267,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1268,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1268,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1269,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1269,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1270,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1271,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1271,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1273,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1273,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1276,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1276,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1279,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1279,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1282,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1282,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1284,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1284,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1285,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1285,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1286,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1286,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1287,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1287,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1287,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1289,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1290,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1291,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1291,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1292,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1294,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1294,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1295,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1296,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1296,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1298,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1298,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1300,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1300,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1302,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1302,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1304,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1304,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1305,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1313,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1315
    functionName: tSerializeSMCreateSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCreateSmaReq(void *buf, int32_t bufLen, SMCreateSmaReq
      *pReq)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1321,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1323,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1324,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1324,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1325,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1325,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1326,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1326,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1327,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1327,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1328,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1328,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1329,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1329,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1330,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1330,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1331,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1331,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1332,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1332,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1333,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1333,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1334,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1334,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1335,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1335,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1336,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1336,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1337,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1337,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1338,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1338,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1339,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1339,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1341,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1343,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1345,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1345,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1348,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1352,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1352,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1357,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1359,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1359,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1362,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1364,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1366,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1366,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1368,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1368,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1369,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1369,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1370,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1370,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1373,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1373,1
    - Dst: taosArrayInit
      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: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1382,1
    - Dst: tDecodeI32
      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
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1383,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1384,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1385,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1389,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1389,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1390,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1390,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1391,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1391,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1393,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1395,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1397,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1397,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1399,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1399,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1401,1
    - Dst: TAOS_CHECK_EXIT
      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: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1405,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: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1408,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1411,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 88
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1413
    functionName: tDeserializeSMCreateSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecoderInit
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    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:1416,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1417,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1418,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1419,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1420,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1421,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1423
    functionName: tFreeSMCreateSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSMCreateSmaReq(SMCreateSmaReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1430,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1432,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1432,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1433,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1433,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1434,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1434,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1436,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1436,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1438,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1438,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1441,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1451
    functionName: tSerializeSMDropSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropSmaReq(void *buf, int32_t bufLen, SMDropSmaReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1457,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1459,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1459,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1460,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1460,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1461,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1461,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1463,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1463,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1465,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:1469,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1469,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1472,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1477
    functionName: tDeserializeSMDropSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecoderInit
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropSmaReq(void *buf, int32_t bufLen, SMDropSmaReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      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: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1485,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1486,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1486,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1487,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1487,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1488,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1488,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1489,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1489,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1490,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1490,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1491,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1491,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1492,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1492,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1493,1
    - Dst: tEncodeI16v
      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: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1495,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1498,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1500,1
    - Dst: tEncodeI64v
      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: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1503,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1503,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1505,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1505,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1507,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1516
    functionName: tSerializeSMCreateRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeI32v
    - tEncoderClear
    - tEncodeI16v
    - tEncodeCStr
    - tEncodeI64v
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCreateRsmaReq(void *buf, int32_t bufLen, SMCreateRsmaReq
      *pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1521,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1523,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1523,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1524,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1525,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1526,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1526,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1527,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1528,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1529,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1530,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1531,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1531,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1533,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1534,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1536,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1539,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1539,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1542,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1542,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1545,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1546,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1546,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1547,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1547,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1549,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1551,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1553,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1553,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1556,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1560
    functionName: tDeserializeSMCreateRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64v
    - taosMemoryMalloc
    - tDecodeI8
    - tDecodeI16v
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32v
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMCreateRsmaReq(void *buf, int32_t bufLen, SMCreateRsmaReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1563,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1564,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 1
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: tFreeSMCreateRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSMCreateRsmaReq(SMCreateRsmaReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSMCreateRsmaReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVCreateRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1568
    functionDepth: 2
    functionLinenumber: 1568
    functionLinenumberEnd: 1570
    functionName: tSerializeSVCreateRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tSerializeSMCreateRsmaReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVCreateRsmaReq(void *buf, int32_t bufLen, SVCreateRsmaReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMCreateRsmaReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVCreateRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1572
    functionDepth: 2
    functionLinenumber: 1572
    functionLinenumberEnd: 1574
    functionName: tDeserializeSVCreateRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeSMCreateRsmaReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVCreateRsmaReq(void *buf, int32_t bufLen, SVCreateRsmaReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSMCreateRsmaReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SVCreateRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1576
    functionDepth: 2
    functionLinenumber: 1576
    functionLinenumberEnd: 1576
    functionName: tFreeSVCreateRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tFreeSMCreateRsmaReq
    linkageType: ''
    returnType: void
    signature: void tFreeSVCreateRsmaReq(SVCreateRsmaReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSMCreateRsmaReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVAlterRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1578
    functionDepth: 2
    functionLinenumber: 1578
    functionLinenumberEnd: 1580
    functionName: tSerializeSVAlterRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tSerializeSMCreateRsmaReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVAlterRsmaReq(void *buf, int32_t bufLen, SVAlterRsmaReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMCreateRsmaReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVAlterRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1582
    functionDepth: 2
    functionLinenumber: 1582
    functionLinenumberEnd: 1584
    functionName: tDeserializeSVAlterRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeSMCreateRsmaReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVAlterRsmaReq(void *buf, int32_t bufLen, SVAlterRsmaReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSMCreateRsmaReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SVAlterRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1586
    functionDepth: 2
    functionLinenumber: 1586
    functionLinenumberEnd: 1586
    functionName: tFreeSVAlterRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tFreeSMCreateRsmaReq
    linkageType: ''
    returnType: void
    signature: void tFreeSVAlterRsmaReq(SVAlterRsmaReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1592,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1594,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1595,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1596,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1597,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1597,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1598,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1599,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1601,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1601,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1604,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1606,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1606,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1608,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1608,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1610,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMAlterRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1619
    functionName: tSerializeSMAlterRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeI32v
    - tEncoderClear
    - tEncodeI16v
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMAlterRsmaReq(void *buf, int32_t bufLen, SMAlterRsmaReq
      *pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1626,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1626,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1627,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1627,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1628,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1628,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1629,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1629,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1630,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1630,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1631,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1631,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1633,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1634,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1636,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1639,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1639,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1642,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1645,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1645,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1647,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1649,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1651,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1651,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1654,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMAlterRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1658
    functionName: tDeserializeSMAlterRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - taosMemoryMalloc
    - tDecodeI16v
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32v
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMAlterRsmaReq(void *buf, int32_t bufLen, SMAlterRsmaReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1661,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1662,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMAlterRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1660
    functionDepth: 1
    functionLinenumber: 1660
    functionLinenumberEnd: 1664
    functionName: tFreeSMAlterRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSMAlterRsmaReq(SMAlterRsmaReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1670,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1672,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1672,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1673,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1673,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1674,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1674,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1675,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1675,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1676,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1677,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1677,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1678,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1678,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1679,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1679,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1680,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1680,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1682,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1682,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1685,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1685,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1688,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1689,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1689,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1691,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1691,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1692,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1692,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1693,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1693,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1695,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRsmaInfoRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1704
    functionName: tSerializeRsmaInfoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeI32v
    - tEncoderClear
    - tEncodeI16v
    - tEncodeCStr
    - tEncodeI64v
    - tEndEncode
    - tStartEncode
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeRsmaInfoRsp(void *buf, int32_t bufLen, SRsmaInfoRsp
      *pReq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1709,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1711,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1711,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1712,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1712,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1713,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1713,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1714,1
    - Dst: tDecodeCStrTo
      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: tDecodeI32v
      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: tDecodeI8
      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: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1717,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1718,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1718,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1719,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1719,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1721,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1722,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1724,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1727,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1727,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1730,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1730,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1734,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1736,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1740,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1740,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1741,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1743,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1745,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1746,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1747,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1751,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1751,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1752,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1752,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1753,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1754,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1754,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1756,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1758,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRsmaInfoRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1760
    functionName: tDeserializeRsmaInfoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tDecodeI64v
    - taosMemoryMalloc
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeI16v
    - tDecodeCStrTo
    - tDecoderClear
    - taosMemoryFree
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32v
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeRsmaInfoRsp(void *buf, int32_t bufLen, SRsmaInfoRsp
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1765,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1766,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pReq
    - deep
    argTypes:
    - SRsmaInfoRsp*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1762
    functionDepth: 1
    functionLinenumber: 1762
    functionLinenumberEnd: 1770
    functionName: tFreeRsmaInfoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: void tFreeRsmaInfoRsp(SRsmaInfoRsp *pReq, bool deep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1777,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1779,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1779,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1780,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1780,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1781,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1781,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1783,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1792
    functionName: tSerializeSMDropRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropRsmaReq(void *buf, int32_t bufLen, SMDropRsmaReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1798,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1800,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1800,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1801,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1802,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1802,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1804,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1808
    functionName: tDeserializeSMDropRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropRsmaReq(void *buf, int32_t bufLen, SMDropRsmaReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1815,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1817,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1818,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1818,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1819,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1819,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1820,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1820,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1821,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1821,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1822,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1822,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1824,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVDropRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1833
    functionName: tSerializeSVDropRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVDropRsmaReq(void *buf, int32_t bufLen, SVDropRsmaReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1839,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1841,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1841,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1842,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1842,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1843,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1843,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1844,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1844,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1845,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1845,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1846,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1846,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1848,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVDropRsmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1835
    functionDepth: 1
    functionLinenumber: 1835
    functionLinenumberEnd: 1852
    functionName: tDeserializeSVDropRsmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVDropRsmaReq(void *buf, int32_t bufLen, SVDropRsmaReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropSmaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1854
    functionName: tFreeSMDropSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSMDropSmaReq(SMDropSmaReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1861,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1863,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1863,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1864,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1864,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1865,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1865,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1866,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1866,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1867,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1867,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1868,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1868,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1870,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateTagIndexReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1880
    functionName: tSerializeSCreateTagIdxReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateTagIdxReq(void *buf, int32_t bufLen, SCreateTagIndexReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1886,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1888,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1888,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1889,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1889,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1890,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1890,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1891,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1891,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1892,1
    - Dst: tDecodeCStrTo
      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: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1893,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1895,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateTagIndexReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1882
    functionDepth: 1
    functionLinenumber: 1882
    functionLinenumberEnd: 1899
    functionName: tDeserializeSCreateTagIdxReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateTagIdxReq(void *buf, int32_t bufLen, SCreateTagIndexReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1905,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1907,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1907,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1908,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1908,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1909,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1909,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1911,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropTagIndexReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1901
    functionDepth: 1
    functionLinenumber: 1901
    functionLinenumberEnd: 1915
    functionName: tDeserializeSDropTagIdxReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDropTagIdxReq(void *buf, int32_t bufLen, SDropTagIndexReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1922,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1924,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1924,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1926,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateFullTextReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1917
    functionDepth: 1
    functionLinenumber: 1917
    functionLinenumberEnd: 1935
    functionName: tSerializeSMCreateFullTextReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCreateFullTextReq(void *buf, int32_t bufLen, SMCreateFullTextReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1941,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1942,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1942,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1943,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateFullTextReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1937
    functionDepth: 1
    functionLinenumber: 1937
    functionLinenumberEnd: 1947
    functionName: tDeserializeSMCreateFullTextReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMCreateFullTextReq(void *buf, int32_t bufLen,
      SMCreateFullTextReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateFullTextReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1951
    functionName: tFreeSMCreateFullTextReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tFreeSMCreateFullTextReq(SMCreateFullTextReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1958,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1960,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1960,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1961,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1961,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1962,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1962,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1965,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1965,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1967,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1968,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1968,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1969,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1969,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1972,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SNotifyReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1953
    functionDepth: 1
    functionLinenumber: 1953
    functionLinenumberEnd: 1982
    functionName: tSerializeSNotifyReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSNotifyReq(void *buf, int32_t bufLen, SNotifyReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1988,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1990,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1990,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1991,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1991,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1992,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1992,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1994,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1994,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1996,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1998,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2001,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2002,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2002,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2003,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2003,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2007,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SNotifyReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1984
    functionDepth: 1
    functionLinenumber: 1984
    functionLinenumberEnd: 2012
    functionName: tDeserializeSNotifyReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - TARRAY_GET_ELEM
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSNotifyReq(void *buf, int32_t bufLen, SNotifyReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SNotifyReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2018
    functionName: tFreeSNotifyReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSNotifyReq(SNotifyReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2025,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2027,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2027,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2030,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2030,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2031,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2031,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2032,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2032,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2033,1
    - Dst: tEncodeI64
      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: tEncodeI64
      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: tEncodeI64
      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: tEncodeFloat
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2036,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2037,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2037,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2038,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2038,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2039,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2039,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2040,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2040,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2041,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2041,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2042,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2045,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2045,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2046,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2046,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2047,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2047,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2048,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2048,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2049,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2049,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2050,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2050,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2051,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2051,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2052,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2052,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2055,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2056,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2056,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2058,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2060,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2060,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2061,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2061,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2062,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2062,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2063,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2063,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2064,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2064,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2065,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2065,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2066,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2066,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2067,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2067,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2068,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2068,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2069,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2069,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2070,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2070,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2071,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2071,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2072,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2072,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2073,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2073,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2077,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2077,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2078,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2080,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2080,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2081,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2081,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2082,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2082,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2083,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2083,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2084,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2084,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2085,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2085,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2086,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2086,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2087,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2087,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2088,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2088,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2089,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2089,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2090,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2090,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2091,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2091,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2092,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2092,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2094,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2094,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2095,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2095,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2096,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2096,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2097,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2097,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2101,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2103,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2104,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2105,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2106,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2109,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2109,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2110,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2111,1
    - Dst: tSerializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2111,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2114,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2115,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2116,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2116,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2118,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2118,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2120,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2120,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2124,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2125,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2126,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2129,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2129,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2130,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2131,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2132,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2132,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2134,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2136,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2137,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2137,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2138,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2138,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2141,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2143,1
    - Dst: tEncodeCStr
      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: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2147,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2147,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2149,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 104
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStatusReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2020
    functionDepth: 2
    functionLinenumber: 2020
    functionLinenumberEnd: 2159
    functionName: tSerializeSStatusReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncodeI8
    - tEncodeI32v
    - taosArrayGet
    - tEncodeI16
    - tSerializeSMonitorParas
    - tEncoderClear
    - tEncodeU32
    - tEncodeCStr
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    - tEncodeFloat
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSStatusReq(void *buf, int32_t bufLen, SStatusReq
      *pReq)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2167,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2170,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2170,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2171,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2172,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2172,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2173,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2173,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2174,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2174,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2175,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2176,1
    - Dst: tDecodeFloat
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2176,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2177,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2178,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2179,1
    - Dst: tDecodeI64
      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: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2180,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2181,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2182,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2182,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2185,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2186,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2187,1
    - Dst: tDecodeCStrTo
      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: 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:2189,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2189,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2190,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2191,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2191,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2192,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2192,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2196,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2196,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2199,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2206,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2207,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2208,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2209,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2209,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2210,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2211,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2212,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2213,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2214,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2214,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2215,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2216,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2217,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2218,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2218,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2219,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2219,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2220,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2221,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2226,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2227,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2227,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2228,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2228,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2229,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2229,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2230,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2230,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2231,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2231,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2232,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2232,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2233,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2233,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2234,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2234,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2235,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2235,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2236,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2236,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2237,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2237,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2238,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2238,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2239,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2239,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2240,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2240,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2241,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2241,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2245,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2246,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2246,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2247,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2247,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2252,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2252,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2256,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2258,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2260,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2260,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2261,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2261,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2262,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2262,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2263,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2263,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2266,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2267,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2267,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2271,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2271,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2274,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2275,1
    - Dst: tDeserializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2275,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2278,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2280,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2281,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2281,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2282,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2282,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2286,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2287,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2287,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2288,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2288,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2292,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2294,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2295,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2296,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2296,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2300,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2301,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2301,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2304,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2305,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2305,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2308,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2309,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2309,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2310,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2310,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2313,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2315,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2317,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2320,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2320,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2321,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2321,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2325,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2326,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2326,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2333,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2333,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2334,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2334,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2336,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2336,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2339,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2342,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 145
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStatusReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2161
    functionDepth: 2
    functionLinenumber: 2161
    functionLinenumberEnd: 2344
    functionName: tDeserializeSStatusReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecodeIsEnd
    - tDecodeI8
    - taosArrayGet
    - tDecodeFloat
    - tDecodeCStrTo
    - tDeserializeSMonitorParas
    - tDecoderClear
    - tDecodeI16
    - tEndDecode
    - tDecodeU32
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32v
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSStatusReq(void *buf, int32_t bufLen, SStatusReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SStatusReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2346
    functionDepth: 1
    functionLinenumber: 2346
    functionLinenumberEnd: 2346
    functionName: tFreeSStatusReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSStatusReq(SStatusReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2353,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2354,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2354,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2355,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2356,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2356,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2358,1
    - Dst: tSerializeSConfigArray
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2358,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2360,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SConfigReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2348
    functionDepth: 2
    functionLinenumber: 2348
    functionLinenumberEnd: 2369
    functionName: tSerializeSConfigReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tSerializeSConfigArray
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSConfigReq(void *buf, int32_t bufLen, SConfigReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2375,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2376,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2376,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2377,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2377,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2378,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2378,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2380,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2382,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2384,1
    - Dst: tDeserializeSConfigArray
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2384,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2386,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SConfigReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2371
    functionDepth: 2
    functionLinenumber: 2371
    functionLinenumberEnd: 2390
    functionName: tDeserializeSConfigReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tDeserializeSConfigArray
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSConfigReq(void *buf, int32_t bufLen, SConfigReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SConfigReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2392
    functionDepth: 1
    functionLinenumber: 2392
    functionLinenumberEnd: 2392
    functionName: tFreeSConfigReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSConfigReq(SConfigReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2399,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2400,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2400,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2401,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2401,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2402,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2403,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2403,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2404,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2404,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2406,1
    - Dst: tSerializeSConfigArray
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2406,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2408,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SConfigRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2394
    functionDepth: 2
    functionLinenumber: 2394
    functionLinenumberEnd: 2417
    functionName: tSerializeSConfigRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tSerializeSConfigArray
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSConfigRsp(void *buf, int32_t bufLen, SConfigRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2423,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2424,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2424,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2425,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2425,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2426,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2426,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2427,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2427,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2428,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2428,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2430,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2431,1
    - Dst: tDeserializeSConfigArray
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2431,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2434,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SConfigRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2419
    functionDepth: 2
    functionLinenumber: 2419
    functionLinenumberEnd: 2437
    functionName: tDeserializeSConfigRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tDeserializeSConfigArray
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSConfigRsp(void *buf, int32_t bufLen, SConfigRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SConfigRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2439
    functionDepth: 1
    functionLinenumber: 2439
    functionLinenumberEnd: 2439
    functionName: tFreeSConfigRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    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:2446,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2447,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2447,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2448,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2448,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2449,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2449,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2450,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKeySyncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2441
    functionDepth: 1
    functionLinenumber: 2441
    functionLinenumberEnd: 2459
    functionName: tSerializeSKeySyncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSKeySyncReq(void *buf, int32_t bufLen, SKeySyncReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2465,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2466,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2466,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2467,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2467,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2468,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2468,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2470,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKeySyncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2461
    functionDepth: 1
    functionLinenumber: 2461
    functionLinenumberEnd: 2473
    functionName: tDeserializeSKeySyncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSKeySyncReq(void *buf, int32_t bufLen, SKeySyncReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2480,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2481,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2481,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2482,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2482,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2483,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2483,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2484,1
    - Dst: tEncodeI32
      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: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2486,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2487,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2487,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2488,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2488,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2489,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2489,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2490,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2490,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2491,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2491,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2492,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2492,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2493,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2493,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2494,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2495,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2495,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2496,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2496,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2498,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SKeySyncRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2475
    functionDepth: 1
    functionLinenumber: 2475
    functionLinenumberEnd: 2507
    functionName: tSerializeSKeySyncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStrWithLen
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSKeySyncRsp(void *buf, int32_t bufLen, SKeySyncRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2513,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2514,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2514,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2515,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2515,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2516,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2516,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2517,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: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2519,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2520,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2520,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2521,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2521,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2522,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2523,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2523,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2524,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2525,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2526,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2526,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2527,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2528,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2529,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2529,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2532,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SKeySyncRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2509
    functionDepth: 1
    functionLinenumber: 2509
    functionLinenumberEnd: 2535
    functionName: tDeserializeSKeySyncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSKeySyncRsp(void *buf, int32_t bufLen, SKeySyncRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2541,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2543,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2543,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2544,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2544,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2545,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2545,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2547,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDnodeInfoReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2537
    functionDepth: 1
    functionLinenumber: 2537
    functionLinenumberEnd: 2553
    functionName: tSerializeSDnodeInfoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDnodeInfoReq(void *buf, int32_t bufLen, SDnodeInfoReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2558,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2560,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2560,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2561,1
    - Dst: tDecodeI32
      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: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2562,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2565,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDnodeInfoReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2555
    functionDepth: 1
    functionLinenumber: 2555
    functionLinenumberEnd: 2568
    functionName: tDeserializeSDnodeInfoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDnodeInfoReq(void *buf, int32_t bufLen, SDnodeInfoReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2577,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2580,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2580,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2583,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2583,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2584,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2584,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2587,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2588,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2588,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2590,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2591,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2591,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2592,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2592,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2593,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2593,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2594,1
    - Dst: tEncodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2597,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2597,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2599,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2600,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2601,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2601,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2602,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2602,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2603,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2604,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2606,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2606,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2607,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2607,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2610,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2610,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2612,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SStatusRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2570
    functionDepth: 1
    functionLinenumber: 2570
    functionLinenumberEnd: 2622
    functionName: tSerializeSStatusRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncodeI8
    - taosArrayGet
    - tEncodeI16
    - tEncodeU16
    - tEncoderClear
    - tEncodeCStr
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSStatusRsp(void *buf, int32_t bufLen, SStatusRsp
      *pRsp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2628,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2630,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2630,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2633,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2633,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2636,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2636,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2637,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2637,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2641,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2641,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2649,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2649,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2650,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2651,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2651,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2652,1
    - Dst: tDecodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2652,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2654,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2658,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2658,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2660,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2661,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2661,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2664,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2665,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2665,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2669,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2669,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2672,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2672,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2673,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2673,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2677,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2677,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2684,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2684,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2685,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2685,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2687,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2687,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2690,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2692,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SStatusRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2624
    functionDepth: 1
    functionLinenumber: 2624
    functionLinenumberEnd: 2694
    functionName: tDeserializeSStatusRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - tDecodeI16
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeU16
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSStatusRsp(void *buf, int32_t bufLen, SStatusRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SStatusRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2696
    functionDepth: 1
    functionLinenumber: 2696
    functionLinenumberEnd: 2696
    functionName: tFreeSStatusRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSStatusRsp(SStatusRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2703,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2705,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2705,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2706,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2706,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2707,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2707,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2708,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2708,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2710,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStatisReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2720
      start: 2698
    functionDepth: 1
    functionLinenumber: 2698
    functionLinenumberEnd: 2720
    functionName: tSerializeSStatisReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSStatisReq(void *buf, int32_t bufLen, SStatisReq
      *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2726,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2728,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2728,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2729,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2729,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2731,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2733,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2735,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2735,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2737,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2738,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2738,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2740,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStatisReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2744
      start: 2722
    functionDepth: 1
    functionLinenumber: 2722
    functionLinenumberEnd: 2744
    functionName: tDeserializeSStatisReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSStatisReq(void *buf, int32_t bufLen, SStatisReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SStatisReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2746
    functionDepth: 1
    functionLinenumber: 2746
    functionLinenumberEnd: 2746
    functionName: tFreeSStatisReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSStatisReq(SStatisReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2753,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2755,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2755,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2756,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2756,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2757,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2757,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2758,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2759,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropUserReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2748
    functionDepth: 1
    functionLinenumber: 2748
    functionLinenumberEnd: 2769
    functionName: tSerializeSDropUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDropUserReq(void *buf, int32_t bufLen, SDropUserReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2775,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2777,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2777,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2778,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2778,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2779,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2779,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2780,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2781,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropUserReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2771
    functionDepth: 1
    functionLinenumber: 2771
    functionLinenumberEnd: 2786
    functionName: tDeserializeSDropUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDropUserReq(void *buf, int32_t bufLen, SDropUserReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDropUserReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2788
    functionDepth: 1
    functionLinenumber: 2788
    functionLinenumberEnd: 2788
    functionName: tFreeSDropUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSDropUserReq(SDropUserReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2794,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2796,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2796,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2797,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2797,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2798,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2798,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2799,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2800,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateRoleReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2790
    functionDepth: 1
    functionLinenumber: 2790
    functionLinenumberEnd: 2809
    functionName: tSerializeSCreateRoleReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - tEncodeU8
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateRoleReq(void *buf, int32_t bufLen, SCreateRoleReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2814,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2816,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2816,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2817,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2818,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2818,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2819,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2820,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateRoleReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2825
      start: 2811
    functionDepth: 1
    functionLinenumber: 2811
    functionLinenumberEnd: 2825
    functionName: tDeserializeSCreateRoleReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeU8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateRoleReq(void *buf, int32_t bufLen, SCreateRoleReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateRoleReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2827
    functionDepth: 1
    functionLinenumber: 2827
    functionLinenumberEnd: 2827
    functionName: tFreeSCreateRoleReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSCreateRoleReq(SCreateRoleReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2833,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2835,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2835,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2836,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2836,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2837,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2837,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2839,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2840,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropRoleReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2829
    functionDepth: 1
    functionLinenumber: 2829
    functionLinenumberEnd: 2850
    functionName: tSerializeSDropRoleReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - tEncodeU8
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDropRoleReq(void *buf, int32_t bufLen, SDropRoleReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2855,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2857,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2857,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2858,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2858,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2859,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2859,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2860,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2861,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropRoleReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2852
    functionDepth: 1
    functionLinenumber: 2852
    functionLinenumberEnd: 2866
    functionName: tDeserializeSDropRoleReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeU8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDropRoleReq(void *buf, int32_t bufLen, SDropRoleReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDropRoleReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2868
    functionDepth: 1
    functionLinenumber: 2868
    functionLinenumberEnd: 2868
    functionName: tFreeSDropRoleReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSDropRoleReq(SDropRoleReq *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2874,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2876,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2876,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2877,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2877,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2878,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2878,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2879,1
    - Dst: tEncodeU32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2879,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2881,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2881,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2883,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2883,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2885,1
    - Dst: tEncodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2885,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2887,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2888,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2888,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2890,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2891,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2891,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2892,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2892,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2893,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2893,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2895,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2896,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2896,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2898,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2899,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2899,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2900,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2900,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2901,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2901,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2903,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2904,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2904,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2906,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2907,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2907,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2908,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2908,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2909,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2909,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2911,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2911,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2913,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2913,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2914,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2915,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2915,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2917,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2918,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2926,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterRoleReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2928
      start: 2870
    functionDepth: 1
    functionLinenumber: 2870
    functionLinenumberEnd: 2928
    functionName: tSerializeSAlterRoleReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeI32v
    - tEncoderClear
    - tEncodeI16v
    - tEncodeU32v
    - tEncodeCStr
    - ENCODESQL
    - taosArrayGetSize
    - tStartEncode
    - tEncodeU8
    - tEncodeBinary
    - tEncodeU64v
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - TARRAY_GET_ELEM
    - tEndEncode
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSAlterRoleReq(void *buf, int32_t bufLen, SAlterRoleReq
      *pReq)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2933,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2935,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2935,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2936,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2936,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2937,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2937,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2938,1
    - Dst: tDecodeU32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2938,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2940,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2940,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2943,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2943,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2946,1
    - Dst: tDecodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2946,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2949,1
    - Dst: tDecodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2949,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2953,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2953,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2955,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2957,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2960,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2961,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2961,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2962,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2962,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2963,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2967,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2967,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2969,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2971,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2974,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2975,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2975,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2976,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2976,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2977,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2977,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2981,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2981,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2983,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2985,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2988,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2989,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2989,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2990,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2990,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2991,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2991,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2995,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2995,1
    - Dst: TAOS_CHECK_EXIT
      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: tDecodeCStrTo
      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: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3001,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3002,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3002,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3004,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3005,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3008,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterRoleReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3010
      start: 2930
    functionDepth: 1
    functionLinenumber: 2930
    functionLinenumberEnd: 3010
    functionName: tDeserializeSAlterRoleReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryAlloc
    - tDecodeI16v
    - tDecodeU64v
    - tDecodeI8
    - tDecodeCStrTo
    - tDecodeU32v
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - TARRAY_GET_ELEM
    - tDecodeI32v
    - tDecodeU8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSAlterRoleReq(void *buf, int32_t bufLen, SAlterRoleReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3014,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3015,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3016,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3017,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SAlterRoleReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 3012
    functionDepth: 1
    functionLinenumber: 3012
    functionLinenumberEnd: 3024
    functionName: tFreeSAlterRoleReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSAlterRoleReq(SAlterRoleReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3031,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3033,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3033,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3034,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3034,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3035,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3036,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropEncryptAlgrReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3046
      start: 3026
    functionDepth: 1
    functionLinenumber: 3026
    functionLinenumberEnd: 3046
    functionName: tSerializeSDropEncryptAlgrReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDropEncryptAlgrReq(void *buf, int32_t bufLen, SDropEncryptAlgrReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3052,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3054,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3054,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3055,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3055,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3056,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3057,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropEncryptAlgrReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3062
      start: 3048
    functionDepth: 1
    functionLinenumber: 3048
    functionLinenumberEnd: 3062
    functionName: tDeserializeSDropEncryptAlgrReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDropEncryptAlgrReq(void *buf, int32_t bufLen,
      SDropEncryptAlgrReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDropEncryptAlgrReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3064
      start: 3064
    functionDepth: 1
    functionLinenumber: 3064
    functionLinenumberEnd: 3064
    functionName: tFreeSDropEncryptAlgrReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSDropEncryptAlgrReq(SDropEncryptAlgrReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3071,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3073,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3073,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3075,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3075,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3076,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3076,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3077,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3077,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3078,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3079,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3079,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3080,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3080,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3081,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3081,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3083,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAuditReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3093
      start: 3066
    functionDepth: 1
    functionLinenumber: 3066
    functionLinenumberEnd: 3093
    functionName: tSerializeSAuditReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeDouble
    - tEncodeCStr
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSAuditReq(void *buf, int32_t bufLen, SAuditReq *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3099,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3101,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3101,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3103,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3104,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3105,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3106,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3106,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3112,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3112,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3116,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3116,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3117,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3117,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3119,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAuditReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3095
    functionDepth: 1
    functionLinenumber: 3095
    functionLinenumberEnd: 3123
    functionName: tDeserializeSAuditReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosMemoryMalloc
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeDouble
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSAuditReq(void *buf, int32_t bufLen, SAuditReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SAuditReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3125
    functionDepth: 1
    functionLinenumber: 3125
    functionLinenumberEnd: 3125
    functionName: tFreeSAuditReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSAuditReq(SAuditReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3132,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3134,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3134,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3136,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3137,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3137,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3139,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3140,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3140,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3141,1
    - Dst: tEncodeCStr
      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: tEncodeCStr
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3143,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3144,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3145,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3145,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3146,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3146,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3149,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBatchAuditReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3127
    functionDepth: 1
    functionLinenumber: 3127
    functionLinenumberEnd: 3159
    functionName: tSerializeSBatchAuditReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeDouble
    - tEncodeCStr
    - tEncodeI64
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSBatchAuditReq(void *buf, int32_t bufLen, SBatchAuditReq
      *pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3167,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3170,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3170,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3172,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3174,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3178,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3179,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3180,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3180,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3181,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3181,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3183,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3187,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3189,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3189,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3190,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3190,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3194,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBatchAuditReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3161
    functionDepth: 1
    functionLinenumber: 3161
    functionLinenumberEnd: 3198
    functionName: tDeserializeSBatchAuditReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeDouble
    - tDecoderInit
    - tStartDecode
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - TARRAY_GET_ELEM
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSBatchAuditReq(void *buf, int32_t bufLen, SBatchAuditReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3202,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3204,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3205,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SBatchAuditReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3209
      start: 3200
    functionDepth: 1
    functionLinenumber: 3200
    functionLinenumberEnd: 3209
    functionName: tFreeSBatchAuditReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - TARRAY_GET_ELEM
    - taosArrayDestroy
    - taosMemoryFreeClear
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void tFreeSBatchAuditReq(SBatchAuditReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3216,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - SIpWhiteListDual*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3221
      start: 3211
    functionDepth: 0
    functionLinenumber: 3211
    functionLinenumberEnd: 3221
    functionName: cloneIpWhiteList
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: SIpWhiteListDual
    signature: SIpWhiteListDual *cloneIpWhiteList(const SIpWhiteListDual *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3229,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3231,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3240,1
    - Dst: createDefaultIp6Range
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3243,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3244,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3246,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - pWhiteList
    - pWhiteListDual
    argTypes:
    - SIpWhiteList*
    - SIpWhiteListDual**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3223
    functionDepth: 1
    functionLinenumber: 3223
    functionLinenumberEnd: 3256
    functionName: cvtIpWhiteListToDual
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - createDefaultIp6Range
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t cvtIpWhiteListToDual(SIpWhiteList *pWhiteList, SIpWhiteListDual
      **pWhiteListDual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tIpStrToUint
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRange
    argTypes:
    - SIpRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3262
      start: 3258
    functionDepth: 1
    functionLinenumber: 3258
    functionLinenumberEnd: 3262
    functionName: createDefaultIp6Range
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - tIpStrToUint
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDefaultIp6Range(SIpRange *pRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tIpStrToUint
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRange
    argTypes:
    - SIpRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3268
      start: 3264
    functionDepth: 1
    functionLinenumber: 3264
    functionLinenumberEnd: 3268
    functionName: createDefaultIp4Range
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tIpStrToUint
    linkageType: ''
    returnType: int32_t
    signature: int32_t createDefaultIp4Range(SIpRange *pRange)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3273,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pWhiteListDual
    - pWhiteList
    argTypes:
    - SIpWhiteListDual*
    - SIpWhiteList**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3290
      start: 3269
    functionDepth: 1
    functionLinenumber: 3269
    functionLinenumberEnd: 3290
    functionName: cvtIpWhiteListDualToV4
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t cvtIpWhiteListDualToV4(SIpWhiteListDual *pWhiteListDual, SIpWhiteList
      **pWhiteList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SUserSessCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3298
      start: 3292
    functionDepth: 0
    functionLinenumber: 3292
    functionLinenumberEnd: 3298
    functionName: initUserDefautSessCfg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initUserDefautSessCfg(SUserSessCfg *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3302,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3302,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3303,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3303,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3304,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3304,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3305,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3305,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3306,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - encoder
    - pCfg
    argTypes:
    - SEncoder*
    - SUserSessCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3309
      start: 3299
    functionDepth: 1
    functionLinenumber: 3299
    functionLinenumberEnd: 3309
    functionName: tEncodeSessCfg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSessCfg(SEncoder *encoder, SUserSessCfg *pCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3314,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3314,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3315,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3315,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3316,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3316,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3317,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3317,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3318,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - decoder
    - pCfg
    argTypes:
    - SDecoder*
    - SUserSessCfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3321
      start: 3311
    functionDepth: 1
    functionLinenumber: 3311
    functionLinenumberEnd: 3321
    functionName: tDecodeSessCfg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSessCfg(SDecoder *decoder, SUserSessCfg *pCfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3323,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3327,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SIpRange*
    - SIpRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3331
      start: 3322
    functionDepth: 0
    functionLinenumber: 3322
    functionLinenumberEnd: 3331
    functionName: copyIpRange
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void copyIpRange(SIpRange *pDst, const SIpRange *pSrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3338,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - SDateTimeWhiteList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3343
      start: 3333
    functionDepth: 0
    functionLinenumber: 3333
    functionLinenumberEnd: 3343
    functionName: cloneDateTimeWhiteList
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: SDateTimeWhiteList
    signature: SDateTimeWhiteList *cloneDateTimeWhiteList(const SDateTimeWhiteList
      *src)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3369,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 2
    argNames:
    - wl
    - tm
    argTypes:
    - SDateTimeWhiteList*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3401
      start: 3359
    functionDepth: 1
    functionLinenumber: 3359
    functionLinenumberEnd: 3401
    functionName: isTimeInDateTimeWhiteList
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosLocalTime
    linkageType: ''
    returnType: bool
    signature: bool isTimeInDateTimeWhiteList(const SDateTimeWhiteList *wl, int64_t
      tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3404,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3404,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3405,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3405,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3406,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3406,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3407,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3407,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3408,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3408,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3409,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3409,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3410,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pEncoder
    - pRange
    argTypes:
    - SEncoder*
    - SDateTimeRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3412
      start: 3403
    functionDepth: 1
    functionLinenumber: 3403
    functionLinenumberEnd: 3412
    functionName: tEncodeSDateTimeRange
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI16
    - tEncodeI8
    - tEncodeI32
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSDateTimeRange(SEncoder *pEncoder, const SDateTimeRange
      *pRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3415,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3415,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3416,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3416,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3417,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3417,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3418,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3418,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3419,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3419,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3420,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3420,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3421,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pDecoder
    - pRange
    argTypes:
    - SDecoder*
    - SDateTimeRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3414
    functionDepth: 1
    functionLinenumber: 3414
    functionLinenumberEnd: 3423
    functionName: tDecodeSDateTimeRange
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI32
    - tDecodeI16
    - TAOS_CHECK_RETURN
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSDateTimeRange(SDecoder *pDecoder, SDateTimeRange *pRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3430,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3432,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3432,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3434,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3434,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3435,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3435,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3436,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3436,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3437,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3437,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3438,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3438,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3439,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3440,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateEncryptAlgrReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3449
      start: 3425
    functionDepth: 1
    functionLinenumber: 3425
    functionLinenumberEnd: 3449
    functionName: tSerializeSCreateEncryptAlgrReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateEncryptAlgrReq(void *buf, int32_t bufLen,
      SCreateEncryptAlgrReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3454,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3456,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3457,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3457,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3458,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3458,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3459,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3459,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3460,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3460,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3461,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3461,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3462,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3464,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateEncryptAlgrReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3469
      start: 3450
    functionDepth: 1
    functionLinenumber: 3450
    functionLinenumberEnd: 3469
    functionName: tDeserializeSCreateEncryptAlgrReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateEncryptAlgrReq(void *buf, int32_t bufLen,
      SCreateEncryptAlgrReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateEncryptAlgrReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3470
      start: 3470
    functionDepth: 1
    functionLinenumber: 3470
    functionLinenumberEnd: 3470
    functionName: tFreeSCreateEncryptAlgrReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSCreateEncryptAlgrReq(SCreateEncryptAlgrReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3477,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3479,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3479,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3480,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3480,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3481,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3481,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3482,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3482,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3483,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3483,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3484,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3484,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3485,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:3486,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3486,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3488,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3488,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3489,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3489,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3491,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3492,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3492,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3493,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3493,1
    - Dst: tSerializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3501,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3502,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3502,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3504,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3504,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3505,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3505,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3506,1
    - Dst: tEncodeI8
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3508,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3509,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3509,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3510,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3510,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3511,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3511,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3512,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3512,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3513,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3513,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3514,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3514,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3515,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3515,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3516,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3516,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3517,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3517,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3518,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3518,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3519,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3519,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3520,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3520,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3522,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3524,1
    - Dst: tEncodeSDateTimeRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3527,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3528,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:3529,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:3530,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3531,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:3532,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3533,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3533,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3534,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3534,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3535,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3535,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3536,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3536,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3537,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3537,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3538,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3538,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3539,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3539,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3540,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3540,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3542,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3542,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3543,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3543,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3546,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 71
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateUserReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3556
      start: 3472
    functionDepth: 2
    functionLinenumber: 3472
    functionLinenumberEnd: 3556
    functionName: tSerializeSCreateUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tSerializeIpRange
    - tEncodeI8
    - tEncoderClear
    - tEncodeSDateTimeRange
    - tEncodeU32
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateUserReq(void *buf, int32_t bufLen, SCreateUserReq
      *pReq)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3562,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3564,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3564,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3565,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3566,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3566,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3567,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3568,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3568,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3569,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3569,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3570,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3570,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3571,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3571,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3574,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3574,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3575,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3575,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3577,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3578,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3579,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3579,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3580,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3580,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3583,1
    - Dst: taosMemoryMalloc
      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: tDeserializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3590,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3591,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3596,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3597,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3597,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3599,1
    - Dst: tDecodeI8
      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: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3601,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3601,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3603,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3604,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3605,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3605,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3606,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3606,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3607,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3607,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3608,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3608,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3609,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3609,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3610,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3610,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3611,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3611,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3612,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3612,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3613,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3613,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3614,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3614,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3615,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3617,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3617,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3618,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3620,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3623,1
    - Dst: tDecodeSDateTimeRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3623,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3627,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3642,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3643,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3644,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3645,1
    - Dst: tDecodeI8
      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: tDecodeI8
      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: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3648,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3648,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3649,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3649,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3650,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3651,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3651,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3652,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3652,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3653,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3654,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3654,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3656,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3657,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3657,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3660,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3660,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3661,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3661,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3667,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3670,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 101
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateUserReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3558
    functionDepth: 2
    functionLinenumber: 3558
    functionLinenumberEnd: 3672
    functionName: tDeserializeSCreateUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecoderInit
    - tDecodeIsEnd
    - taosMemoryMalloc
    - tDeserializeIpRange
    - tDecodeSDateTimeRange
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeU32
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateUserReq(void *buf, int32_t bufLen, SCreateUserReq
      *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3680,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pReq
    - pIpRange
    - num
    argTypes:
    - SUpdateUserIpWhite*
    - SIpV4Range**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3700
      start: 3674
    functionDepth: 0
    functionLinenumber: 3674
    functionLinenumberEnd: 3700
    functionName: getIpv4Range
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t getIpv4Range(SUpdateUserIpWhite *pReq, SIpV4Range **pIpRange,
      int32_t *num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3709,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3710,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3710,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3711,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3711,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3712,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3712,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3716,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3716,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3717,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3717,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3719,1
    - Dst: getIpv4Range
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3719,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3720,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3720,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3723,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3723,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3724,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3724,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3726,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3729,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3732,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUpdateIpWhite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3740
      start: 3701
    functionDepth: 1
    functionLinenumber: 3701
    functionLinenumberEnd: 3740
    functionName: tSerializeSUpdateIpWhite
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - taosMemFreeClear
    - getIpv4Range
    - tEncoderClear
    - tEncodeU32
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSUpdateIpWhite(void *buf, int32_t bufLen, SUpdateIpWhite
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3747,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3747,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3749,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3749,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3750,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3750,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3752,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3753,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3757,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3757,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3758,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3758,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3759,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3759,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3761,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3762,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3766,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3766,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3767,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3767,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3771,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUpdateIpWhite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3776
      start: 3741
    functionDepth: 1
    functionLinenumber: 3741
    functionLinenumberEnd: 3776
    functionName: tDeserializeSUpdateIpWhite
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeU32
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSUpdateIpWhite(void *buf, int32_t bufLen, SUpdateIpWhite
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3783,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SUpdateIpWhite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3788
      start: 3777
    functionDepth: 0
    functionLinenumber: 3777
    functionLinenumberEnd: 3788
    functionName: tFreeSUpdateIpWhiteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSUpdateIpWhiteReq(SUpdateIpWhite *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3794,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3794,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3795,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3798,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3798,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3799,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3799,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3802,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3802,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3803,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3803,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3804,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - encoder
    - pRange
    argTypes:
    - SEncoder*
    - SIpRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3808
      start: 3790
    functionDepth: 1
    functionLinenumber: 3790
    functionLinenumberEnd: 3808
    functionName: tSerializeIpRange
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeU64
    - tEncodeI8
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeIpRange(SEncoder *encoder, SIpRange *pRange)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3814,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3814,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3816,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3816,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3822,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3822,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3823,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3823,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3826,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3826,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3827,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3827,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3828,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - decoder
    - pRange
    - supportNeg
    argTypes:
    - SDecoder*
    - SIpRange*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3832
      start: 3810
    functionDepth: 1
    functionLinenumber: 3810
    functionLinenumberEnd: 3832
    functionName: tDeserializeIpRange
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - TAOS_CHECK_EXIT
    - tDecodeU64
    - tDecodeU32
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeIpRange(SDecoder *decoder, SIpRange *pRange, bool
      supportNeg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3839,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3840,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3840,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3841,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3841,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3842,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3842,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3846,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3846,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3847,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3847,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3848,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3848,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3851,1
    - Dst: tSerializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3851,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3855,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUpdateIpWhite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3865
      start: 3833
    functionDepth: 2
    functionLinenumber: 3833
    functionLinenumberEnd: 3865
    functionName: tSerializeSUpdateIpWhiteDual
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tSerializeIpRange
    - tEncoderInit
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSUpdateIpWhiteDual(void *buf, int32_t bufLen, SUpdateIpWhite
      *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3870,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3872,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3872,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3874,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3874,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3875,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3875,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3877,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3878,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3882,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3882,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3883,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3883,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3884,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3884,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3886,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3887,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3891,1
    - Dst: tDeserializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3891,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3895,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3898,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3898,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUpdateIpWhite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3902
      start: 3866
    functionDepth: 2
    functionLinenumber: 3866
    functionLinenumberEnd: 3902
    functionName: tDeserializeSUpdateIpWhiteDual
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - uError
    - tDeserializeIpRange
    - tstrerror
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSUpdateIpWhiteDual(void *buf, int32_t bufLen, SUpdateIpWhite
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3909,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SUpdateIpWhite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3914
      start: 3903
    functionDepth: 0
    functionLinenumber: 3903
    functionLinenumberEnd: 3914
    functionName: tFreeSUpdateIpWhiteDualReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSUpdateIpWhiteDualReq(SUpdateIpWhite *pReq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3921,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3928,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3930,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3939,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3939,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3943,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3948,1
    - Dst: tFreeSUpdateIpWhiteReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3952,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3953,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - pReq
    - pUpdateMsg
    argTypes:
    - SUpdateIpWhite*
    - SUpdateIpWhite**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3958
      start: 3916
    functionDepth: 1
    functionLinenumber: 3916
    functionLinenumberEnd: 3958
    functionName: cloneSUpdateIpWhiteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - memcpy
    - taosMemoryFree
    - tFreeSUpdateIpWhiteReq
    - strlen
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneSUpdateIpWhiteReq(SUpdateIpWhite *pReq, SUpdateIpWhite
      **pUpdateMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3966,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3966,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3967,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3967,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3968,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveWhiteListReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3978
      start: 3959
    functionDepth: 1
    functionLinenumber: 3959
    functionLinenumberEnd: 3978
    functionName: tSerializeRetrieveWhiteListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeRetrieveWhiteListReq(void *buf, int32_t bufLen, SRetrieveWhiteListReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3985,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3987,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3987,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3988,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3988,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3989,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveWhiteListReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3994
      start: 3980
    functionDepth: 1
    functionLinenumber: 3980
    functionLinenumberEnd: 3994
    functionName: tDeserializeRetrieveWhiteListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeRetrieveWhiteListReq(void *buf, int32_t bufLen,
      SRetrieveWhiteListReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      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: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4003,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4004,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4004,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4005,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4005,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4006,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveAnalyticsAlgoReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4016
      start: 3996
    functionDepth: 1
    functionLinenumber: 3996
    functionLinenumberEnd: 4016
    functionName: tSerializeRetrieveAnalyticAlgoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeRetrieveAnalyticAlgoReq(void *buf, int32_t bufLen,
      SRetrieveAnalyticsAlgoReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4023,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4025,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4025,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4026,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4026,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4027,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4027,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4028,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveAnalyticsAlgoReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4033
      start: 4018
    functionDepth: 1
    functionLinenumber: 4018
    functionLinenumberEnd: 4033
    functionName: tDeserializeRetrieveAnalyticAlgoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeRetrieveAnalyticAlgoReq(void *buf, int32_t bufLen,
      SRetrieveAnalyticsAlgoReq *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4040,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4043,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4047,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4051,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4054,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4054,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4055,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4055,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4056,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4056,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4058,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4062,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4064,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4064,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4065,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4065,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4066,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4066,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4067,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4067,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4068,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4068,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4069,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4069,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4071,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4074,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4082,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SRetrieveAnalyticAlgoRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4084
      start: 4035
    functionDepth: 1
    functionLinenumber: 4035
    functionLinenumberEnd: 4084
    functionName: tSerializeRetrieveAnalyticAlgoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - tEncoderClear
    - taosHashGetKey
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeRetrieveAnalyticAlgoRsp(void *buf, int32_t bufLen,
      SRetrieveAnalyticAlgoRsp *pRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4088,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4098,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4106,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4107,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4107,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4108,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4111,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4111,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4113,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4113,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4116,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4116,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4117,1
    - Dst: tDecodeI32
      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: tDecodeI32
      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: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4121,1
    - Dst: strntolower
      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: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4127,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4130,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SRetrieveAnalyticAlgoRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4135
      start: 4086
    functionDepth: 1
    functionLinenumber: 4086
    functionLinenumberEnd: 4135
    functionName: tDeserializeRetrieveAnalyticAlgoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - strntolower
    - tDecodeBinaryAlloc
    - tDecodeCStrTo
    - tDecoderClear
    - taosHashInit
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - taosHashPut
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeRetrieveAnalyticAlgoRsp(void *buf, int32_t bufLen,
      SRetrieveAnalyticAlgoRsp *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4138,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4141,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4142,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRetrieveAnalyticAlgoRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4147
      start: 4137
    functionDepth: 1
    functionLinenumber: 4137
    functionLinenumberEnd: 4147
    functionName: tFreeRetrieveAnalyticAlgoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void tFreeRetrieveAnalyticAlgoRsp(SRetrieveAnalyticAlgoRsp *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4150,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4151,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateUserReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4153
      start: 4149
    functionDepth: 1
    functionLinenumber: 4149
    functionLinenumberEnd: 4153
    functionName: tFreeSCreateUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - taosMemoryFreeClear
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSCreateUserReq(SCreateUserReq *pReq)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4160,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4162,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4162,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4163,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4163,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4165,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4166,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4166,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4167,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4168,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4168,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4169,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4169,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4170,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4170,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4171,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4172,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4172,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4173,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4173,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4174,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4174,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4175,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4176,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4176,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4177,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4178,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4179,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4180,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4180,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4181,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4182,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4182,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4183,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4183,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4184,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4184,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4187,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4190,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4193,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4193,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4196,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4199,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4199,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4201,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4201,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4204,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4204,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4208,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4211,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4214,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4214,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4217,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4220,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4220,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4223,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4223,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4226,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4229,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4229,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4232,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4232,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4235,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4235,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4238,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4238,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4241,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4241,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4244,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4244,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4247,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4247,1
    - Dst: tSerializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4256,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4256,1
    - Dst: tSerializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4260,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4261,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4265,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4265,1
    - Dst: tEncodeSDateTimeRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4269,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4274,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4274,1
    - Dst: tEncodeSDateTimeRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4278,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4279,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4283,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4283,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4284,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4285,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4285,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4287,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4287,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4289,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4289,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4290,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4290,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4291,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4292,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4294,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4294,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4295,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4295,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4298,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4306,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 133
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterUserReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4308
      start: 4155
    functionDepth: 2
    functionLinenumber: 4155
    functionLinenumberEnd: 4308
    functionName: tSerializeSAlterUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tSerializeIpRange
    - tEncodeI8
    - tEncoderClear
    - tEncodeSDateTimeRange
    - tEncodeCStr
    - tEncodeI64
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - strlen
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSAlterUserReq(void *buf, int32_t bufLen, SAlterUserReq
      *pReq)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4314,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4316,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4316,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4317,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4317,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4319,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4319,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4320,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4320,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4321,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4321,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4322,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4322,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4323,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4324,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4324,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4325,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4325,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4326,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4326,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4327,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4327,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4328,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4328,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4329,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4329,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4330,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4330,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4331,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4331,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4332,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4332,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4333,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4333,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4334,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4334,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4335,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4335,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4336,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4336,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4337,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4337,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4338,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4338,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4341,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4341,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4344,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4344,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4347,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4347,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4350,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4353,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4353,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4355,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4358,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4358,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4362,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4362,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4365,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4365,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4368,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4368,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4371,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4371,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4374,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4374,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4377,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4377,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4380,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4380,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4383,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4383,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4386,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4386,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4389,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4389,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4392,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4392,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4395,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4395,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4398,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4398,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4401,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4401,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4403,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4405,1
    - Dst: tDeserializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4409,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4410,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4414,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4414,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4416,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4418,1
    - Dst: tDeserializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4422,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4423,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4427,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4427,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4429,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4431,1
    - Dst: tDecodeSDateTimeRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4435,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4436,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4440,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4440,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4442,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4444,1
    - Dst: tDecodeSDateTimeRange
      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: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4453,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4453,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4456,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4458,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4458,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4462,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4462,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4465,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4465,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4466,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4467,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4468,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4468,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4470,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4470,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4471,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4471,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4475,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4478,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 147
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterUserReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4480
      start: 4310
    functionDepth: 2
    functionLinenumber: 4310
    functionLinenumberEnd: 4480
    functionName: tDeserializeSAlterUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 6
    functionsReached:
    - tDecodeI64
    - tDecodeBinaryAlloc
    - tDecoderInit
    - taosMemoryMalloc
    - tDeserializeIpRange
    - tDecodeSDateTimeRange
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSAlterUserReq(void *buf, int32_t bufLen, SAlterUserReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4483,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4484,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4485,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4486,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4487,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SAlterUserReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4489
      start: 4482
    functionDepth: 1
    functionLinenumber: 4482
    functionLinenumberEnd: 4489
    functionName: tFreeSAlterUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 7
    functionsReached:
    - FREESQL
    - taosMemoryFreeClear
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSAlterUserReq(SAlterUserReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4498,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4499,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4499,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4500,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4500,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4501,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4502,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4502,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4503,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4503,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4504,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4504,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:4505,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4507,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4508,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateTokenReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4518
      start: 4491
    functionDepth: 1
    functionLinenumber: 4491
    functionLinenumberEnd: 4518
    functionName: tSerializeSCreateTokenReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateTokenReq(void *buf, int32_t bufLen, SCreateTokenReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4526,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4526,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4527,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4528,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4529,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4530,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4531,1
    - Dst: tDecodeI32
      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: tDecodeCStrTo
      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: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4533,1
    - Dst: DECODESQL
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateTokenReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4540
      start: 4520
    functionDepth: 1
    functionLinenumber: 4520
    functionLinenumberEnd: 4540
    functionName: tDeserializeSCreateTokenReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateTokenReq(void *buf, int32_t bufLen, SCreateTokenReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateTokenReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4542
      start: 4542
    functionDepth: 1
    functionLinenumber: 4542
    functionLinenumberEnd: 4542
    functionName: tFreeSCreateTokenReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSCreateTokenReq(SCreateTokenReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4550,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4552,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4552,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4553,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4554,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4554,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4555,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4555,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4557,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SCreateTokenRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4567
      start: 4544
    functionDepth: 1
    functionLinenumber: 4544
    functionLinenumberEnd: 4567
    functionName: tSerializeSCreateTokenResp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateTokenResp(void *buf, int32_t bufLen, SCreateTokenRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4574,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4574,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4576,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4576,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4577,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4578,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4578,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4580,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SCreateTokenRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4584
      start: 4569
    functionDepth: 1
    functionLinenumber: 4569
    functionLinenumberEnd: 4584
    functionName: tDeserializeSCreateTokenResp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateTokenResp(void *buf, int32_t bufLen, SCreateTokenRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SCreateTokenRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4586
      start: 4586
    functionDepth: 0
    functionLinenumber: 4586
    functionLinenumberEnd: 4586
    functionName: tFreeSCreateTokenResp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tFreeSCreateTokenResp(SCreateTokenRsp *pRsp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4595,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4596,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4598,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4599,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4600,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4601,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4601,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4604,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4608,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4608,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4612,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4612,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4616,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4616,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4619,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4620,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterTokenReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4630
      start: 4588
    functionDepth: 1
    functionLinenumber: 4588
    functionLinenumberEnd: 4630
    functionName: tSerializeSAlterTokenReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSAlterTokenReq(void *buf, int32_t bufLen, SAlterTokenReq
      *pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4636,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4638,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4638,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4639,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4639,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4641,1
    - Dst: tDecodeI8
      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: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4643,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4644,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4647,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4647,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4651,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4651,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4655,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4655,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4659,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4659,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4662,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4663,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterTokenReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4668
      start: 4632
    functionDepth: 1
    functionLinenumber: 4632
    functionLinenumberEnd: 4668
    functionName: tDeserializeSAlterTokenReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSAlterTokenReq(void *buf, int32_t bufLen, SAlterTokenReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SAlterTokenReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4670
      start: 4670
    functionDepth: 1
    functionLinenumber: 4670
    functionLinenumberEnd: 4670
    functionName: tFreeSAlterTokenReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSAlterTokenReq(SAlterTokenReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4678,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4679,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4679,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4680,1
    - Dst: tEncodeCStr
      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: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4681,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4682,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4683,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropTokenReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4693
      start: 4672
    functionDepth: 1
    functionLinenumber: 4672
    functionLinenumberEnd: 4693
    functionName: tSerializeSDropTokenReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDropTokenReq(void *buf, int32_t bufLen, SDropTokenReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4699,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4701,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4701,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4702,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4702,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4703,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4703,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4704,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4705,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropTokenReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4710
      start: 4695
    functionDepth: 1
    functionLinenumber: 4695
    functionLinenumberEnd: 4710
    functionName: tDeserializeSDropTokenReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDropTokenReq(void *buf, int32_t bufLen, SDropTokenReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDropTokenReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4712
      start: 4712
    functionDepth: 1
    functionLinenumber: 4712
    functionLinenumberEnd: 4712
    functionName: tFreeSDropTokenReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSDropTokenReq(SDropTokenReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4720,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4721,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4721,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4722,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4722,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4723,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4724,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateTotpSecretReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4734
      start: 4714
    functionDepth: 1
    functionLinenumber: 4714
    functionLinenumberEnd: 4734
    functionName: tSerializeSCreateTotpSecretReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateTotpSecretReq(void *buf, int32_t bufLen, SCreateTotpSecretReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4740,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4742,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4742,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4743,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4743,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4744,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4745,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateTotpSecretReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4750
      start: 4736
    functionDepth: 1
    functionLinenumber: 4736
    functionLinenumberEnd: 4750
    functionName: tDeserializeSCreateTotpSecretReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateTotpSecretReq(void *buf, int32_t bufLen,
      SCreateTotpSecretReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateTotpSecretReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4752
      start: 4752
    functionDepth: 1
    functionLinenumber: 4752
    functionLinenumberEnd: 4752
    functionName: tFreeSCreateTotpSecretReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSCreateTotpSecretReq(SCreateTotpSecretReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4760,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4761,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4761,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4762,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4762,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4763,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4763,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4764,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SCreateTotpSecretRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4774
      start: 4754
    functionDepth: 1
    functionLinenumber: 4754
    functionLinenumberEnd: 4774
    functionName: tSerializeSCreateTotpSecretRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateTotpSecretRsp(void *buf, int32_t bufLen, SCreateTotpSecretRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4780,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4782,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4782,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4783,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4783,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4784,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4784,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4785,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SCreateTotpSecretRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4790
      start: 4776
    functionDepth: 1
    functionLinenumber: 4776
    functionLinenumberEnd: 4790
    functionName: tDeserializeSCreateTotpSecretRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateTotpSecretRsp(void *buf, int32_t bufLen,
      SCreateTotpSecretRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4798,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4799,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4799,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4800,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4800,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4801,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SGetUserAuthReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4811
      start: 4792
    functionDepth: 1
    functionLinenumber: 4792
    functionLinenumberEnd: 4811
    functionName: tSerializeSGetUserAuthReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSGetUserAuthReq(void *buf, int32_t bufLen, SGetUserAuthReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4819,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4819,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4820,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4820,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4821,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SGetUserAuthReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4826
      start: 4813
    functionDepth: 1
    functionLinenumber: 4813
    functionLinenumberEnd: 4826
    functionName: tDeserializeSGetUserAuthReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSGetUserAuthReq(void *buf, int32_t bufLen, SGetUserAuthReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4830,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4830,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4832,1
    - Dst: tEncodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4832,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4835,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4836,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4836,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4839,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4840,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4841,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4841,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4844,1
    - Dst: tEncodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pEncoder
    - sysPriv
    - pHash
    argTypes:
    - SEncoder*
    - SPrivSet*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4850
      start: 4828
    functionDepth: 1
    functionLinenumber: 4828
    functionLinenumberEnd: 4850
    functionName: tSerializePrivSysObjPolicies
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - tEncodeI32v
    - taosHashGetSize
    - taosHashGetKey
    - tEncodeCStr
    - tEncodeU8
    - tEncodeU64v
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializePrivSysObjPolicies(SEncoder *pEncoder, SPrivSet *sysPriv,
      SHashObj *pHash)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4856,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4856,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4860,1
    - Dst: tDecodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4860,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4863,1
    - Dst: tDecodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4863,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4869,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4869,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4871,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4871,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4872,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4876,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4876,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4880,1
    - Dst: tDecodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4880,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4883,1
    - Dst: tDecodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4883,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4886,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4886,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4886,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - pDecoder
    - sysPriv
    - pHash
    argTypes:
    - SDecoder*
    - SPrivSet*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4891
      start: 4852
    functionDepth: 1
    functionLinenumber: 4852
    functionLinenumberEnd: 4891
    functionName: tDeserializePrivSysObjPolicies
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeU64v
    - tDecodeCStrTo
    - taosHashInit
    - taosGetDefaultHashFunction
    - strlen
    - TAOS_CHECK_EXIT
    - taosHashPut
    - tDecodeI32v
    - tDecodeU8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializePrivSysObjPolicies(SDecoder *pDecoder, SPrivSet
      *sysPriv, SHashObj **pHash)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4896,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4897,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4897,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4900,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4901,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4902,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4902,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4903,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4904,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4904,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4908,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4909,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4909,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4911,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4912,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4912,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4915,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4915,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4917,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4918,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4918,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4919,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4919,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4920,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4920,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4923,1
    - Dst: tEncodeI32v
      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: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4925,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pEncoder
    - pHash
    argTypes:
    - SEncoder*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4932
      start: 4893
    functionDepth: 1
    functionLinenumber: 4893
    functionLinenumberEnd: 4932
    functionName: tSerializePrivTblPolicies
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - tEncodeI32v
    - tEncodeI8
    - taosHashGetValueSize
    - taosHashGetSize
    - tEncodeCStrWithLen
    - taosHashGetKey
    - tEncodeI16v
    - tEncodeCStr
    - tEncodeI64v
    - taosArrayGetSize
    - TARRAY_GET_ELEM
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializePrivTblPolicies(SEncoder *pEncoder, SHashObj *pHash)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4938,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4938,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4940,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4940,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4941,1
    - Dst: taosHashSetFreeFp
      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: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4946,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4949,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4949,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4952,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4952,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4955,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4955,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4957,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4958,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4961,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4962,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4962,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4963,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4964,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4968,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4968,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4970,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4970,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4972,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4973,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4975,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4976,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4980,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4980,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4980,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - pDecoder
    - pHash
    argTypes:
    - SDecoder*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4985
      start: 4934
    functionDepth: 1
    functionLinenumber: 4934
    functionLinenumberEnd: 4985
    functionName: tDeserializePrivTblPolicies
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - strlen
    - taosArrayPush
    - tDecodeI64v
    - tDecodeI16v
    - tDecodeI8
    - tDecodeCStrTo
    - taosHashInit
    - taosHashSetFreeFp
    - taosArrayInit
    - taosGetDefaultHashFunction
    - tDecodeCStrAlloc
    - taosArrayInit_s
    - TAOS_CHECK_EXIT
    - taosHashPut
    - TARRAY_GET_ELEM
    - tDecodeI32v
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializePrivTblPolicies(SDecoder *pDecoder, SHashObj **pHash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4990,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4991,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4991,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4997,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4998,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4999,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4999,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5002,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5002,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5003,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pEncoder
    - pHash
    argTypes:
    - SEncoder*
    - SHashObj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5008
      start: 4987
    functionDepth: 1
    functionLinenumber: 4987
    functionLinenumberEnd: 5008
    functionName: tSerializeTokenStatuses
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosHashIterate
    - tEncodeI32v
    - tEncodeI8
    - taosHashGetSize
    - taosHashGetKey
    - tEncodeCStr
    - TAOS_CHECK_EXIT
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeTokenStatuses(SEncoder *pEncoder, SHashObj *pHash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5014,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5014,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5020,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5020,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5022,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5027,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5027,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5029,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5029,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5030,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5030,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5031,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5031,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pHash
    argTypes:
    - SDecoder*
    - SHashObj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5036
      start: 5010
    functionDepth: 1
    functionLinenumber: 5010
    functionLinenumberEnd: 5036
    functionName: tDeserializeTokenStatuses
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI8
    - tDecodeCStrTo
    - taosHashInit
    - taosGetDefaultHashFunction
    - strlen
    - TAOS_CHECK_EXIT
    - taosHashPut
    - tDecodeI32v
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeTokenStatuses(SDecoder *pDecoder, SHashObj **pHash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5039,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5039,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5040,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5040,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5041,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5041,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5042,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5042,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5043,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5043,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5044,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5044,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5045,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5045,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5046,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5046,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5047,1
    - Dst: tEncodeSessCfg
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5047,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5048,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5048,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5049,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5049,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5050,1
    - Dst: tSerializePrivSysObjPolicies
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5050,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5051,1
    - Dst: tSerializePrivTblPolicies
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5051,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5052,1
    - Dst: tSerializePrivTblPolicies
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5052,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5053,1
    - Dst: tSerializePrivTblPolicies
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5053,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5054,1
    - Dst: tSerializeTokenStatuses
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5054,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5055,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5055,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5056,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5057,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5057,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5059,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5060,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5061,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5065
      start: 5038
    functionDepth: 2
    functionLinenumber: 5038
    functionLinenumberEnd: 5065
    functionName: tSerializeSGetUserAuthRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeI32v
    - tEncodeSessCfg
    - taosHashIterate
    - TAOS_CHECK_RETURN
    - taosHashGetSize
    - tSerializePrivSysObjPolicies
    - tSerializePrivTblPolicies
    - taosHashGetKey
    - tEncodeCStr
    - tEncodeI64v
    - tEncodeU8
    - tSerializeTokenStatuses
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSGetUserAuthRspImpl(SEncoder *pEncoder, SGetUserAuthRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5072,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5074,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5074,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5075,1
    - Dst: tSerializeSGetUserAuthRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5075,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5077,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5087
      start: 5067
    functionDepth: 3
    functionLinenumber: 5067
    functionLinenumberEnd: 5087
    functionName: tSerializeSGetUserAuthRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tEncoderClear
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tSerializeSGetUserAuthRspImpl
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSGetUserAuthRsp(void *buf, int32_t bufLen, SGetUserAuthRsp
      *pRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5091,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5091,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5092,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5092,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5093,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5093,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5094,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5094,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5095,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5095,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5096,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5096,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5097,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5097,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5098,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5098,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5099,1
    - Dst: tDecodeSessCfg
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5099,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5100,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5100,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5101,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5101,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5102,1
    - Dst: tDeserializePrivSysObjPolicies
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5102,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5103,1
    - Dst: tDeserializePrivTblPolicies
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5104,1
    - Dst: tDeserializePrivTblPolicies
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5105,1
    - Dst: tDeserializePrivTblPolicies
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5105,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5107,1
    - Dst: tDeserializeTokenStatuses
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5107,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5108,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5110,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5110,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5114,1
    - Dst: taosGetDefaultHashFunction
      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: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5120,1
    - Dst: tDecodeCStrAndLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5121,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5121,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5132,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5132,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5136
      start: 5089
    functionDepth: 2
    functionLinenumber: 5089
    functionLinenumberEnd: 5136
    functionName: tDeserializeSGetUserAuthRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSessCfg
    - tDecodeU8
    - tDeserializePrivSysObjPolicies
    - taosHashInit
    - tDeserializeTokenStatuses
    - taosGetDefaultHashFunction
    - TAOS_CHECK_EXIT
    - tFreeSGetUserAuthRsp
    - tDecodeI64v
    - tDecodeCStrAndLen
    - tDecodeIsEnd
    - tDecodeI8
    - uError
    - tDeserializePrivTblPolicies
    - tDecodeCStrTo
    - tstrerror
    - tDecodeI64
    - taosHashPut
    - tDecodeI32v
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSGetUserAuthRspImpl(SDecoder *pDecoder, SGetUserAuthRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5142,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5144,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5145,1
    - Dst: tDeserializeSGetUserAuthRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5145,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5147,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5152
      start: 5138
    functionDepth: 3
    functionLinenumber: 5138
    functionLinenumberEnd: 5152
    functionName: tDeserializeSGetUserAuthRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDeserializeSGetUserAuthRspImpl
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSGetUserAuthRsp(void *buf, int32_t bufLen, SGetUserAuthRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5155,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5156,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5157,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5158,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5159,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SGetUserAuthRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5167
      start: 5154
    functionDepth: 1
    functionLinenumber: 5154
    functionLinenumberEnd: 5167
    functionName: tFreeSGetUserAuthRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 6
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: void tFreeSGetUserAuthRsp(SGetUserAuthRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5177,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5178,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5178,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5179,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SGetUserWhiteListReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5189
      start: 5169
    functionDepth: 1
    functionLinenumber: 5169
    functionLinenumberEnd: 5189
    functionName: tSerializeSGetUserWhiteListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSGetUserWhiteListReq(void *buf, int32_t bufLen, SGetUserWhiteListReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5195,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5197,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5198,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5198,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5199,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SGetUserWhiteListReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5204
      start: 5191
    functionDepth: 1
    functionLinenumber: 5191
    functionLinenumberEnd: 5204
    functionName: tDeserializeSGetUserWhiteListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSGetUserWhiteListReq(void *buf, int32_t bufLen,
      SGetUserWhiteListReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5213,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5214,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5214,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5215,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5217,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5218,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5218,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5220,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetUserIpWhiteListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5230
      start: 5206
    functionDepth: 1
    functionLinenumber: 5206
    functionLinenumberEnd: 5230
    functionName: tSerializeSGetUserIpWhiteListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeU32
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSGetUserIpWhiteListRsp(void *buf, int32_t bufLen,
      SGetUserIpWhiteListRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5236,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5238,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5238,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5239,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5239,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5240,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5240,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5241,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5243,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5246,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5246,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5247,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5247,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5250,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetUserIpWhiteListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5254
      start: 5232
    functionDepth: 1
    functionLinenumber: 5232
    functionLinenumberEnd: 5254
    functionName: tDeserializeSGetUserIpWhiteListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeU32
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSGetUserIpWhiteListRsp(void *buf, int32_t bufLen,
      SGetUserIpWhiteListRsp *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SGetUserIpWhiteListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5255
      start: 5255
    functionDepth: 0
    functionLinenumber: 5255
    functionLinenumberEnd: 5255
    functionName: tFreeSGetUserIpWhiteListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSGetUserIpWhiteListRsp(SGetUserIpWhiteListRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5263,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5265,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5265,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5266,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5266,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5267,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5267,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5268,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5268,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5269,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5269,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5270,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SInstanceRegisterReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5280
      start: 5257
    functionDepth: 1
    functionLinenumber: 5257
    functionLinenumberEnd: 5280
    functionName: tSerializeSInstanceRegisterReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSInstanceRegisterReq(void *buf, int32_t bufLen, SInstanceRegisterReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5287,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5289,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5289,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5290,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5290,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5291,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5291,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5292,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5293,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5293,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5294,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SInstanceRegisterReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5299
      start: 5282
    functionDepth: 1
    functionLinenumber: 5282
    functionLinenumberEnd: 5299
    functionName: tDeserializeSInstanceRegisterReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSInstanceRegisterReq(void *buf, int32_t bufLen,
      SInstanceRegisterReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5307,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5309,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5309,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5310,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5310,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5311,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SInstanceListReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5321
      start: 5301
    functionDepth: 1
    functionLinenumber: 5301
    functionLinenumberEnd: 5321
    functionName: tSerializeSInstanceListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSInstanceListReq(void *buf, int32_t bufLen, SInstanceListReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5328,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5330,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5330,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5331,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5331,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5332,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SInstanceListReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5337
      start: 5323
    functionDepth: 1
    functionLinenumber: 5323
    functionLinenumberEnd: 5337
    functionName: tDeserializeSInstanceListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSInstanceListReq(void *buf, int32_t bufLen, SInstanceListReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5345,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5347,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5347,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5348,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5348,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5351,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5351,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5354,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SInstanceListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5364
      start: 5339
    functionDepth: 1
    functionLinenumber: 5339
    functionLinenumberEnd: 5364
    functionName: tSerializeSInstanceListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSInstanceListRsp(void *buf, int32_t bufLen, SInstanceListRsp
      *pRsp)
  - BBCount: 5
    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:5374,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5374,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5375,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5375,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5383,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5385,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5389,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5389,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5394,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5396,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5398,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5405,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SInstanceListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5410
      start: 5366
    functionDepth: 1
    functionLinenumber: 5366
    functionLinenumberEnd: 5410
    functionName: tDeserializeSInstanceListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - taosMemoryFree
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - taosStrdup
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSInstanceListRsp(void *buf, int32_t bufLen, SInstanceListRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5417,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5419,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5419,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5420,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5420,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5421,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5421,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5424,1
    - Dst: tSerializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5424,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5426,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetUserIpWhiteListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5436
      start: 5412
    functionDepth: 2
    functionLinenumber: 5412
    functionLinenumberEnd: 5436
    functionName: tSerializeSGetUserIpWhiteListDualRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tSerializeIpRange
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSGetUserIpWhiteListDualRsp(void *buf, int32_t bufLen,
      SGetUserIpWhiteListRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5441,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5443,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5443,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5444,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5444,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5445,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5445,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5447,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5449,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5453,1
    - Dst: tDeserializeIpRange
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5453,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5456,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetUserIpWhiteListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5460
      start: 5437
    functionDepth: 2
    functionLinenumber: 5437
    functionLinenumberEnd: 5460
    functionName: tDeserializeSGetUserIpWhiteListDualRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tDeserializeIpRange
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSGetUserIpWhiteListDualRsp(void *buf, int32_t bufLen,
      SGetUserIpWhiteListRsp *pRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IP_ADDR_STR
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5466,1
    - Dst: inet_pton
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5469,1
    - Dst: inet_pton
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5478,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5483,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - addr
    - range
    argTypes:
    - SIpAddr*
    - SIpRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5489
      start: 5462
    functionDepth: 1
    functionLinenumber: 5462
    functionLinenumberEnd: 5489
    functionName: tIpStrToUint
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 5
    functionsReached:
    - IP_ADDR_STR
    - inet_pton
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tIpStrToUint(const SIpAddr *addr, SIpRange *range)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5496,1
    - Dst: inet_ntop
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5497,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5503,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5504,1
    - Dst: inet_ntop
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - range
    - addr
    argTypes:
    - SIpRange*
    - SIpAddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5512
      start: 5491
    functionDepth: 0
    functionLinenumber: 5491
    functionLinenumberEnd: 5512
    functionName: tIpUintToStr
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - inet_ntop
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tIpUintToStr(const SIpRange *range, SIpAddr *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - range
    - mask
    argTypes:
    - SIpRange*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5528
      start: 5513
    functionDepth: 0
    functionLinenumber: 5513
    functionLinenumberEnd: 5528
    functionName: tIpRangeSetMask
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t tIpRangeSetMask(SIpRange *range, int32_t mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - range
    argTypes:
    - SIpRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5538
      start: 5530
    functionDepth: 0
    functionLinenumber: 5530
    functionLinenumberEnd: 5538
    functionName: tIpRangeSetDefaultMask
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tIpRangeSetDefaultMask(SIpRange *range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SGetUserIpWhiteListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5539
      start: 5539
    functionDepth: 0
    functionLinenumber: 5539
    functionLinenumberEnd: 5539
    functionName: tFreeSGetUserIpWhiteListDualRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSGetUserIpWhiteListDualRsp(SGetUserIpWhiteListRsp *pRsp)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 1
    argNames:
    - pRange
    argTypes:
    - SDateTimeRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5579
      start: 5541
    functionDepth: 0
    functionLinenumber: 5541
    functionLinenumberEnd: 5579
    functionName: isValidDateTimeRange
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidDateTimeRange(SDateTimeRange *pRange)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - SDateTimeWhiteListItem*
    - SDateTimeRange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5597
      start: 5581
    functionDepth: 1
    functionLinenumber: 5581
    functionLinenumberEnd: 5597
    functionName: DateTimeRangeToWhiteListItem
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMktime
    linkageType: ''
    returnType: void
    signature: void DateTimeRangeToWhiteListItem(SDateTimeWhiteListItem *dst, const
      SDateTimeRange *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - SDateTimeWhiteListItem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5606
      start: 5599
    functionDepth: 0
    functionLinenumber: 5599
    functionLinenumberEnd: 5606
    functionName: isDateTimeWhiteListItemExpired
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosGetTimestampMs
    linkageType: ''
    returnType: bool
    signature: bool isDateTimeWhiteListItemExpired(const SDateTimeWhiteListItem *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5613,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5615,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5616,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5617,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5617,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5618,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5618,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5622,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5622,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5623,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5623,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5624,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5625,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5625,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5627,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUserDateTimeWhiteList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5637
      start: 5608
    functionDepth: 1
    functionLinenumber: 5608
    functionLinenumberEnd: 5637
    functionName: tSerializeSUserDateTimeWhiteList
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeBool
    - tEncodeCStr
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSUserDateTimeWhiteList(void *buf, int32_t bufLen,
      SUserDateTimeWhiteList *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5645,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5645,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5646,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5647,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5647,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5648,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5648,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5652,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5656,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5656,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5657,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5657,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5658,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5659,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5659,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5662,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUserDateTimeWhiteList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5667
      start: 5639
    functionDepth: 1
    functionLinenumber: 5639
    functionLinenumberEnd: 5667
    functionName: tDeserializeSUserDateTimeWhiteList
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeBool
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSUserDateTimeWhiteList(void *buf, int32_t bufLen,
      SUserDateTimeWhiteList *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SUserDateTimeWhiteList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5669
      start: 5669
    functionDepth: 0
    functionLinenumber: 5669
    functionLinenumberEnd: 5669
    functionName: tFreeSUserDateTimeWhiteList
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSUserDateTimeWhiteList(SUserDateTimeWhiteList *pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5677,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5681,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5685,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - SUserDateTimeWhiteList*
    - SUserDateTimeWhiteList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5690
      start: 5671
    functionDepth: 1
    functionLinenumber: 5671
    functionLinenumberEnd: 5690
    functionName: cloneSUserDateTimeWhiteList
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tstrncpy
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneSUserDateTimeWhiteList(const SUserDateTimeWhiteList *src,
      SUserDateTimeWhiteList *dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5697,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5699,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5699,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5700,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5700,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5701,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5701,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5704,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5704,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5705,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5705,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:5706,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5710,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5710,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5711,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5711,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5712,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5712,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5713,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5713,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5717,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SRetrieveDateTimeWhiteListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5727
      start: 5692
    functionDepth: 1
    functionLinenumber: 5692
    functionLinenumberEnd: 5727
    functionName: tSerializeSRetrieveDateTimeWhiteListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEncodeBool
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSRetrieveDateTimeWhiteListRsp(void *buf, int32_t
      bufLen, SRetrieveDateTimeWhiteListRsp *pRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5733,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5740,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5742,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5750,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5754,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5756,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5758,1
    - Dst: tFreeSRetrieveDateTimeWhiteListRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5763,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - SRetrieveDateTimeWhiteListRsp*
    - SRetrieveDateTimeWhiteListRsp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5770
      start: 5729
    functionDepth: 1
    functionLinenumber: 5729
    functionLinenumberEnd: 5770
    functionName: cloneDataTimeWhiteListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryMalloc
    - memcpy
    - taosMemFree
    - TAOS_CHECK_GOTO
    - tstrncpy
    - tFreeSRetrieveDateTimeWhiteListRsp
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t cloneDataTimeWhiteListRsp(const SRetrieveDateTimeWhiteListRsp
      *src, SRetrieveDateTimeWhiteListRsp **dest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5775,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5777,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5777,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5778,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5778,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5779,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5779,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5781,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5783,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5788,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5788,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5789,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5789,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5790,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5790,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5792,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5794,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5798,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5798,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5799,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5799,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5800,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5800,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5801,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5801,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5805,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SRetrieveDateTimeWhiteListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5810
      start: 5771
    functionDepth: 1
    functionLinenumber: 5771
    functionLinenumberEnd: 5810
    functionName: tDeserializeSRetrieveDateTimeWhiteListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeBool
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSRetrieveDateTimeWhiteListRsp(void *buf, int32_t
      bufLen, SRetrieveDateTimeWhiteListRsp *pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSUserDateTimeWhiteList
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5820,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRetrieveDateTimeWhiteListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5823
      start: 5812
    functionDepth: 1
    functionLinenumber: 5812
    functionLinenumberEnd: 5823
    functionName: tFreeSRetrieveDateTimeWhiteListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - tFreeSUserDateTimeWhiteList
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSRetrieveDateTimeWhiteListRsp(SRetrieveDateTimeWhiteListRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5830,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5832,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5832,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5833,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5833,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5834,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5834,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5835,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5836,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCfgClusterReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5846
      start: 5825
    functionDepth: 1
    functionLinenumber: 5825
    functionLinenumberEnd: 5846
    functionName: tSerializeSMCfgClusterReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCfgClusterReq(void *buf, int32_t bufLen, SMCfgClusterReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5852,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5854,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5854,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5855,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5855,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5856,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5856,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5857,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5858,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCfgClusterReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5863
      start: 5848
    functionDepth: 1
    functionLinenumber: 5848
    functionLinenumberEnd: 5863
    functionName: tDeserializeSMCfgClusterReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMCfgClusterReq(void *buf, int32_t bufLen, SMCfgClusterReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCfgClusterReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5865
      start: 5865
    functionDepth: 1
    functionLinenumber: 5865
    functionLinenumberEnd: 5865
    functionName: tFreeSMCfgClusterReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMCfgClusterReq(SMCfgClusterReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5872,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5874,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5874,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5875,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5875,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5876,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5877,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateQnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5887
      start: 5867
    functionDepth: 1
    functionLinenumber: 5867
    functionLinenumberEnd: 5887
    functionName: tSerializeSCreateDropMQSNodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateDropMQSNodeReq(void *buf, int32_t bufLen,
      SMCreateQnodeReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5893,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5895,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5895,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5896,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5896,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5897,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5898,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateQnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5903
      start: 5889
    functionDepth: 1
    functionLinenumber: 5889
    functionLinenumberEnd: 5903
    functionName: tDeserializeSCreateDropMQSNodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 8
    functionsReached:
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateDropMQSNodeReq(void *buf, int32_t bufLen,
      SMCreateQnodeReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5907,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5907,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5908,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pEncoder
    - pNode
    argTypes:
    - SEncoder*
    - SNodeEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5913
      start: 5905
    functionDepth: 2
    functionLinenumber: 5905
    functionLinenumberEnd: 5913
    functionName: tEncodeSNodeEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeSEpSet
    - tEncodeI32
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSNodeEpSet(SEncoder *pEncoder, SNodeEpSet *pNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5916,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5916,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5917,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pDecoder
    - pNode
    argTypes:
    - SDecoder*
    - SNodeEpSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5920
      start: 5915
    functionDepth: 2
    functionLinenumber: 5915
    functionLinenumberEnd: 5920
    functionName: tDecodeSNodeEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSEpSet
    - TAOS_CHECK_RETURN
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSNodeEpSet(SDecoder *pDecoder, SNodeEpSet *pNode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5927,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5929,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5929,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5930,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5930,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5931,1
    - Dst: tEncodeSNodeEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5931,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5932,1
    - Dst: tEncodeSNodeEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5932,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5933,1
    - Dst: tEncodeSNodeEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5933,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5934,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5935,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDCreateSnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5945
      start: 5922
    functionDepth: 3
    functionLinenumber: 5922
    functionLinenumberEnd: 5945
    functionName: tSerializeSDCreateSNodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEncodeSNodeEpSet
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDCreateSNodeReq(void *buf, int32_t bufLen, SDCreateSnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5951,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5953,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5953,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5954,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5954,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5955,1
    - Dst: tDecodeSNodeEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5955,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5956,1
    - Dst: tDecodeSNodeEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5956,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5957,1
    - Dst: tDecodeSNodeEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5957,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5958,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5959,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDCreateSnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5964
      start: 5947
    functionDepth: 3
    functionLinenumber: 5947
    functionLinenumberEnd: 5964
    functionName: tDeserializeSDCreateSNodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSNodeEpSet
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDCreateSNodeReq(void *buf, int32_t bufLen, SDCreateSnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateQnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5966
      start: 5966
    functionDepth: 1
    functionLinenumber: 5966
    functionLinenumberEnd: 5966
    functionName: tFreeSMCreateQnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 5
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMCreateQnodeReq(SMCreateQnodeReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDCreateSnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5968
      start: 5968
    functionDepth: 1
    functionLinenumber: 5968
    functionLinenumberEnd: 5968
    functionName: tFreeSDCreateSnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSDCreateSnodeReq(SDCreateSnodeReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDDropQnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5970
      start: 5970
    functionDepth: 1
    functionLinenumber: 5970
    functionLinenumberEnd: 5970
    functionName: tFreeSDDropQnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    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:5977,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5979,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5979,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5980,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5980,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5981,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5981,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5982,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5982,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5983,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5983,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5984,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5984,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5985,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5986,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5996
      start: 5972
    functionDepth: 1
    functionLinenumber: 5972
    functionLinenumberEnd: 5996
    functionName: tSerializeSDropDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDropDnodeReq(void *buf, int32_t bufLen, SDropDnodeReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6002,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6004,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6004,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6005,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6005,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6006,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6006,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6007,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6007,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6008,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6008,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6009,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6010,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6010,1
    - Dst: DECODESQL
      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: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6021
      start: 5998
    functionDepth: 1
    functionLinenumber: 5998
    functionLinenumberEnd: 6021
    functionName: tDeserializeSDropDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDropDnodeReq(void *buf, int32_t bufLen, SDropDnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDropDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6023
      start: 6023
    functionDepth: 1
    functionLinenumber: 6023
    functionLinenumberEnd: 6023
    functionName: tFreeSDropDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSDropDnodeReq(SDropDnodeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6030,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6032,1
    - Dst: tStartEncode
      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: tEncodeI32
      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: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6034,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6035,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6036,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6036,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6037,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRestoreDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6047
      start: 6025
    functionDepth: 1
    functionLinenumber: 6025
    functionLinenumberEnd: 6047
    functionName: tSerializeSRestoreDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSRestoreDnodeReq(void *buf, int32_t bufLen, SRestoreDnodeReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6053,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6055,1
    - Dst: tStartDecode
      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: tDecodeI32
      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: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6057,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6058,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6060,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6061,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6061,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6064,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRestoreDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6069
      start: 6049
    functionDepth: 1
    functionLinenumber: 6049
    functionLinenumberEnd: 6069
    functionName: tDeserializeSRestoreDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecoderInit
    - tDecodeIsEnd
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSRestoreDnodeReq(void *buf, int32_t bufLen, SRestoreDnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRestoreDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6071
      start: 6071
    functionDepth: 1
    functionLinenumber: 6071
    functionLinenumberEnd: 6071
    functionName: tFreeSRestoreDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSRestoreDnodeReq(SRestoreDnodeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6080,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6080,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6081,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6081,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6082,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6082,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6083,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6083,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6084,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6085,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCfgDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6095
      start: 6073
    functionDepth: 1
    functionLinenumber: 6073
    functionLinenumberEnd: 6095
    functionName: tSerializeSMCfgDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCfgDnodeReq(void *buf, int32_t bufLen, SMCfgDnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6101,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6103,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6104,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6105,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6106,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6106,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6107,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6108,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCfgDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6113
      start: 6097
    functionDepth: 1
    functionLinenumber: 6097
    functionLinenumberEnd: 6113
    functionName: tDeserializeSMCfgDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    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:6115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCfgDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6115
      start: 6115
    functionDepth: 1
    functionLinenumber: 6115
    functionLinenumberEnd: 6115
    functionName: tFreeSMCfgDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMCfgDnodeReq(SMCfgDnodeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6122,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6124,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6124,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6125,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6126,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6126,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6127,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6128,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMAlterEncryptKeyReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6138
      start: 6117
    functionDepth: 1
    functionLinenumber: 6117
    functionLinenumberEnd: 6138
    functionName: tSerializeSMAlterEncryptKeyReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMAlterEncryptKeyReq(void *buf, int32_t bufLen, SMAlterEncryptKeyReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6146,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6147,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6148,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6148,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6149,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6150,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMAlterEncryptKeyReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6155
      start: 6140
    functionDepth: 1
    functionLinenumber: 6140
    functionLinenumberEnd: 6155
    functionName: tDeserializeSMAlterEncryptKeyReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMAlterEncryptKeyReq(void *buf, int32_t bufLen,
      SMAlterEncryptKeyReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMAlterEncryptKeyReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6157
      start: 6157
    functionDepth: 1
    functionLinenumber: 6157
    functionLinenumberEnd: 6157
    functionName: tFreeSMAlterEncryptKeyReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMAlterEncryptKeyReq(SMAlterEncryptKeyReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6166,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6166,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6167,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6168,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6168,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6169,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6170,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMAlterKeyExpirationReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6180
      start: 6159
    functionDepth: 1
    functionLinenumber: 6159
    functionLinenumberEnd: 6180
    functionName: tSerializeSMAlterKeyExpirationReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMAlterKeyExpirationReq(void *buf, int32_t bufLen,
      SMAlterKeyExpirationReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6188,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6188,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6189,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6189,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6190,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6190,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6191,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6192,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMAlterKeyExpirationReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6197
      start: 6182
    functionDepth: 1
    functionLinenumber: 6182
    functionLinenumberEnd: 6197
    functionName: tDeserializeSMAlterKeyExpirationReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMAlterKeyExpirationReq(void *buf, int32_t bufLen,
      SMAlterKeyExpirationReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMAlterKeyExpirationReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6199
      start: 6199
    functionDepth: 1
    functionLinenumber: 6199
    functionLinenumberEnd: 6199
    functionName: tFreeSMAlterKeyExpirationReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMAlterKeyExpirationReq(SMAlterKeyExpirationReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6208,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6209,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6209,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6210,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6211,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6211,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6212,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDCfgDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6222
      start: 6201
    functionDepth: 1
    functionLinenumber: 6201
    functionLinenumberEnd: 6222
    functionName: tSerializeSDCfgDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDCfgDnodeReq(void *buf, int32_t bufLen, SDCfgDnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6228,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6230,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6230,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6231,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6231,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6232,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6232,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6233,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6233,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6234,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDCfgDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6239
      start: 6224
    functionDepth: 1
    functionLinenumber: 6224
    functionLinenumberEnd: 6239
    functionName: tDeserializeSDCfgDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDCfgDnodeReq(void *buf, int32_t bufLen, SDCfgDnodeReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6246,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6248,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6248,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6249,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6249,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6251,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6251,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6253,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6254,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateAnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6264
      start: 6241
    functionDepth: 1
    functionLinenumber: 6241
    functionLinenumberEnd: 6264
    functionName: tSerializeSMCreateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCreateAnodeReq(void *buf, int32_t bufLen, SMCreateAnodeReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6271,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6273,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6273,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6274,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6274,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6276,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6276,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6279,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6280,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateAnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6285
      start: 6266
    functionDepth: 1
    functionLinenumber: 6266
    functionLinenumberEnd: 6285
    functionName: tDeserializeSMCreateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeBinaryAlloc
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMCreateAnodeReq(void *buf, int32_t bufLen, SMCreateAnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6288,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateAnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6290
      start: 6287
    functionDepth: 1
    functionLinenumber: 6287
    functionLinenumberEnd: 6290
    functionName: tFreeSMCreateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMCreateAnodeReq(SMCreateAnodeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6297,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6299,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6299,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6300,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6300,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6301,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6302,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropAnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6311
      start: 6292
    functionDepth: 1
    functionLinenumber: 6292
    functionLinenumberEnd: 6311
    functionName: tSerializeSMDropAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropAnodeReq(void *buf, int32_t bufLen, SMDropAnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6318,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6320,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6320,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6321,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6321,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6322,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6323,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropAnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6328
      start: 6313
    functionDepth: 1
    functionLinenumber: 6313
    functionLinenumberEnd: 6328
    functionName: tDeserializeSMDropAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropAnodeReq(void *buf, int32_t bufLen, SMDropAnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropAnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6330
      start: 6330
    functionDepth: 1
    functionLinenumber: 6330
    functionLinenumberEnd: 6330
    functionName: tFreeSMDropAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMDropAnodeReq(SMDropAnodeReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSMDropAnodeReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateAnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6334
      start: 6332
    functionDepth: 2
    functionLinenumber: 6332
    functionLinenumberEnd: 6334
    functionName: tSerializeSMUpdateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tSerializeSMDropAnodeReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMUpdateAnodeReq(void *buf, int32_t bufLen, SMUpdateAnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMDropAnodeReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateAnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6338
      start: 6336
    functionDepth: 2
    functionLinenumber: 6336
    functionLinenumberEnd: 6338
    functionName: tDeserializeSMUpdateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeSMDropAnodeReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMUpdateAnodeReq(void *buf, int32_t bufLen, SMUpdateAnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSMDropAnodeReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMUpdateAnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6340
      start: 6340
    functionDepth: 2
    functionLinenumber: 6340
    functionLinenumberEnd: 6340
    functionName: tFreeSMUpdateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tFreeSMDropAnodeReq
    linkageType: ''
    returnType: void
    signature: void tFreeSMUpdateAnodeReq(SMUpdateAnodeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6347,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6349,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6349,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6350,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6351,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6351,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6353,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6354,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateBnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6364
      start: 6342
    functionDepth: 1
    functionLinenumber: 6342
    functionLinenumberEnd: 6364
    functionName: tSerializeSMCreateBnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMCreateBnodeReq(void *buf, int32_t bufLen, SMCreateBnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6371,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6373,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6373,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6374,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6374,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6375,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6375,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6377,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6378,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateBnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6383
      start: 6366
    functionDepth: 1
    functionLinenumber: 6366
    functionLinenumberEnd: 6383
    functionName: tDeserializeSMCreateBnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMCreateBnodeReq(void *buf, int32_t bufLen, SMCreateBnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateBnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6388
      start: 6385
    functionDepth: 1
    functionLinenumber: 6385
    functionLinenumberEnd: 6388
    functionName: tFreeSMCreateBnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMCreateBnodeReq(SMCreateBnodeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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: 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:6398,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6398,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6399,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6400,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropBnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6410
      start: 6390
    functionDepth: 1
    functionLinenumber: 6390
    functionLinenumberEnd: 6410
    functionName: tSerializeSMDropBnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropBnodeReq(void *buf, int32_t bufLen, SMDropBnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6417,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6419,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6419,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6420,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6420,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6421,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6422,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropBnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6427
      start: 6412
    functionDepth: 1
    functionLinenumber: 6412
    functionLinenumberEnd: 6427
    functionName: tDeserializeSMDropBnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropBnodeReq(void *buf, int32_t bufLen, SMDropBnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropBnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6429
      start: 6429
    functionDepth: 1
    functionLinenumber: 6429
    functionLinenumberEnd: 6429
    functionName: tFreeSMDropBnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMDropBnodeReq(SMDropBnodeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6436,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6438,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6438,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6439,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6439,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6440,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6440,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6441,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6442,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6452
      start: 6431
    functionDepth: 1
    functionLinenumber: 6431
    functionLinenumberEnd: 6452
    functionName: tSerializeSCreateDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateDnodeReq(void *buf, int32_t bufLen, SCreateDnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6458,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6460,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6460,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6461,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6461,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6462,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6462,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6463,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6464,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6469
      start: 6454
    functionDepth: 1
    functionLinenumber: 6454
    functionLinenumberEnd: 6469
    functionName: tDeserializeSCreateDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateDnodeReq(void *buf, int32_t bufLen, SCreateDnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateDnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6471
      start: 6471
    functionDepth: 1
    functionLinenumber: 6471
    functionLinenumberEnd: 6471
    functionName: tFreeSCreateDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSCreateDnodeReq(SCreateDnodeReq *pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6478,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6480,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6480,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6481,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6481,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6482,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6482,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6483,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6483,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6484,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6484,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6485,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6485,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6486,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6486,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6487,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6487,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6488,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6488,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6489,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6489,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6492,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6492,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6499,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6499,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6501,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6504,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6504,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6506,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateFuncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6516
      start: 6473
    functionDepth: 1
    functionLinenumber: 6473
    functionLinenumberEnd: 6516
    functionName: tSerializeSCreateFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - strlen
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateFuncReq(void *buf, int32_t bufLen, SCreateFuncReq
      *pReq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6524,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6525,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6526,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6526,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6527,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6528,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6529,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6530,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6531,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6532,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6533,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6533,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6536,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6538,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6540,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6540,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6544,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6544,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6546,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6548,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6550,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6550,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6554,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6554,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6559,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateFuncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6564
      start: 6518
    functionDepth: 1
    functionLinenumber: 6518
    functionLinenumberEnd: 6564
    functionName: tDeserializeSCreateFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeI64
    - tDecoderInit
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateFuncReq(void *buf, int32_t bufLen, SCreateFuncReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6567,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateFuncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6569
      start: 6566
    functionDepth: 0
    functionLinenumber: 6566
    functionLinenumberEnd: 6569
    functionName: tFreeSCreateFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    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:6576,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6578,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6578,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6579,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6579,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6580,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6580,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6581,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropFuncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6591
      start: 6571
    functionDepth: 1
    functionLinenumber: 6571
    functionLinenumberEnd: 6591
    functionName: tSerializeSDropFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDropFuncReq(void *buf, int32_t bufLen, SDropFuncReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6597,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6599,1
    - Dst: tStartDecode
      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: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6601,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6601,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6602,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropFuncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6607
      start: 6593
    functionDepth: 1
    functionLinenumber: 6593
    functionLinenumberEnd: 6607
    functionName: tDeserializeSDropFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDropFuncReq(void *buf, int32_t bufLen, SDropFuncReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6614,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6616,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6617,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6617,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6618,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6618,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6620,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6621,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6625,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6625,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6628,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveFuncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6638
      start: 6609
    functionDepth: 1
    functionLinenumber: 6609
    functionLinenumberEnd: 6638
    functionName: tSerializeSRetrieveFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - tEncoderClear
    - tEncodeCStr
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSRetrieveFuncReq(void *buf, int32_t bufLen, SRetrieveFuncReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6646,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6647,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6647,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6648,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6648,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6652,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6657,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6657,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6659,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6662,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveFuncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6667
      start: 6640
    functionDepth: 1
    functionLinenumber: 6640
    functionLinenumberEnd: 6667
    functionName: tDeserializeSRetrieveFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSRetrieveFuncReq(void *buf, int32_t bufLen, SRetrieveFuncReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRetrieveFuncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6669
      start: 6669
    functionDepth: 1
    functionLinenumber: 6669
    functionLinenumberEnd: 6669
    functionName: tFreeSRetrieveFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSRetrieveFuncReq(SRetrieveFuncReq *pReq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6678,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6678,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6679,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6679,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6681,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6682,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6685,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6687,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6687,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6688,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6688,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6689,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6689,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6690,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6690,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6691,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6691,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6692,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6692,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6693,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6694,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6694,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6695,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6695,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6697,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6697,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6700,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6700,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6704,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6705,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6708,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6709,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6709,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6710,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6710,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6713,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6721,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SRetrieveFuncRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6723
      start: 6671
    functionDepth: 1
    functionLinenumber: 6671
    functionLinenumberEnd: 6723
    functionName: tSerializeSRetrieveFuncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSRetrieveFuncRsp(void *buf, int32_t bufLen, SRetrieveFuncRsp
      *pRsp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6729,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6731,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6731,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6732,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6732,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6734,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6736,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6741,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6741,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6742,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6742,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6743,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6743,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6744,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6744,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6745,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6746,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6746,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6747,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6747,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6748,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6748,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6749,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6749,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6751,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6753,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6755,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6755,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6758,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6760,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6762,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6762,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6765,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6766,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6770,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6772,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6774,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6777,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6778,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6784,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6784,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6785,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6785,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6786,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6787,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6791,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6794,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SRetrieveFuncRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6796
      start: 6725
    functionDepth: 1
    functionLinenumber: 6725
    functionLinenumberEnd: 6796
    functionName: tDeserializeSRetrieveFuncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSRetrieveFuncRsp(void *buf, int32_t bufLen, SRetrieveFuncRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6803,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SFuncInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6805
      start: 6798
    functionDepth: 0
    functionLinenumber: 6798
    functionLinenumberEnd: 6805
    functionName: tFreeSFuncInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSFuncInfo(SFuncInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6808,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6810,1
    - Dst: tFreeSFuncInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6811,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6813,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRetrieveFuncRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6815
      start: 6807
    functionDepth: 1
    functionLinenumber: 6807
    functionLinenumberEnd: 6815
    functionName: tFreeSRetrieveFuncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - tFreeSFuncInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void tFreeSRetrieveFuncRsp(SRetrieveFuncRsp *pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6827,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6829,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6829,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6830,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6830,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6831,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6831,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6832,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6836,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6840,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6844,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableCfgReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6850
      start: 6817
    functionDepth: 1
    functionLinenumber: 6817
    functionLinenumberEnd: 6850
    functionName: tSerializeSTableCfgReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTableCfgReq(void *buf, int32_t bufLen, STableCfgReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6862,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6864,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6864,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6865,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6865,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6866,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6866,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6868,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableCfgReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6872
      start: 6852
    functionDepth: 1
    functionLinenumber: 6852
    functionLinenumberEnd: 6872
    functionName: tDeserializeSTableCfgReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTableCfgReq(void *buf, int32_t bufLen, STableCfgReq
      *pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6879,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6881,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6881,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6882,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6882,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6883,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6883,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6884,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6884,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6885,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6885,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6886,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6886,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6887,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6887,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6888,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6888,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6889,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6889,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6890,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6890,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6891,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6891,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6892,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6892,1
    - Dst: taosArrayGetSize
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6895,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6897,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6898,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6898,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6901,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6901,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6903,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6903,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6908,1
    - Dst: tEncodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6908,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6911,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6911,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6912,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6912,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6917,1
    - Dst: tEncodeSSchemaExt
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6917,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6921,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6921,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6922,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6925,1
    - Dst: tEncodeSColRef
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6925,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6928,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6928,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6931,1
    - Dst: tEncodeSColRef
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6931,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6935,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6935,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6936,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6936,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6937,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6937,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6939,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6947,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableCfgRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6949
      start: 6874
    functionDepth: 1
    functionLinenumber: 6874
    functionLinenumberEnd: 6949
    functionName: tSerializeSTableCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - hasRefCol
    - withExtSchema
    - taosArrayGet
    - tEncoderClear
    - tEncodeI64
    - tEncodeI64v
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeSSchemaExt
    - tEncodeCStr
    - tEndEncode
    - tEncodeU8
    - tEncodeI32
    - tEncodeSColRef
    - tEncodeI8
    - tStartEncode
    - tEncodeBinary
    - tEncodeSSchema
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTableCfgRsp(void *buf, int32_t bufLen, STableCfgRsp
      *pRsp)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      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: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6957,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6958,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6958,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6959,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6959,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6960,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6960,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6961,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6961,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6962,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6962,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6963,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6964,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6965,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6965,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6966,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6966,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6967,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6967,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6968,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6968,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6971,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6971,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6973,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6975,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6980,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6980,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6981,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6982,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6986,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6986,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6988,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6988,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6994,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6996,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7001,1
    - Dst: tDecodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7001,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7004,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7004,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7005,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7005,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7007,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7008,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7009,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7011,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7016,1
    - Dst: tDecodeSSchemaExt
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7016,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7023,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7024,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7024,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7027,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7028,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:7035,1
    - Dst: tDecodeSColRef
      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:7039,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7039,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7041,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7043,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7048,1
    - Dst: tDecodeSColRef
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7048,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7057,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7058,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7058,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7063,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7064,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7064,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7069,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7070,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7070,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7075,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7078,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 103
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableCfgRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7080
      start: 6951
    functionDepth: 1
    functionLinenumber: 6951
    functionLinenumberEnd: 7080
    functionName: tDeserializeSTableCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - hasRefCol
    - tDecodeSColRef
    - tDecoderClear
    - tDecodeU8
    - tDecodeBinaryAlloc
    - withExtSchema
    - tEndDecode
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeSSchemaExt
    - tDecodeI64v
    - tDecodeIsEnd
    - tDecodeI8
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecodeSSchema
    - taosArrayInit
    - tDecoderInit
    - tDecodeI64
    - tDecodeCStrAlloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTableCfgRsp(void *buf, int32_t bufLen, STableCfgRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7087,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7088,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7089,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7090,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7091,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7092,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - STableCfgRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7095
      start: 7082
    functionDepth: 1
    functionLinenumber: 7082
    functionLinenumberEnd: 7095
    functionName: tFreeSTableCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 8
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSTableCfgRsp(STableCfgRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7105,1
    - Dst: tStartEncode
      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: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7107,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7107,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7108,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7109,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7109,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7110,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7111,1
    - Dst: tEncodeI32
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7112,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7113,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7113,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7114,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7114,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7115,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7116,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7116,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7117,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7117,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7118,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7118,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7119,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7119,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7120,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7121,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7121,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7122,1
    - Dst: tEncodeI8
      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: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7123,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7124,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7124,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7125,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7126,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7127,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7127,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7128,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7128,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7129,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7129,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7130,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7131,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7132,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7132,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7133,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7133,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7134,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7134,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7135,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7135,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7137,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7138,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7138,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7139,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7139,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7140,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7140,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7141,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7143,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7143,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7144,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7144,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7148,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7148,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7149,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7149,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7150,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7150,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7151,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7151,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7152,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7152,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7153,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7153,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7156,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7157,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7158,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7159,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7159,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7160,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7160,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7161,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7161,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7162,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7162,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7163,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7163,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7164,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7165,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7165,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7167,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 68
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7177
      start: 7097
    functionDepth: 1
    functionLinenumber: 7097
    functionLinenumberEnd: 7177
    functionName: tSerializeSCreateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tEncodeI8
    - tEncodeI32v
    - taosArrayGet
    - tEncodeI16
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateDbReq(void *buf, int32_t bufLen, SCreateDbReq
      *pReq)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7183,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7185,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7186,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7187,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7188,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7188,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7189,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7189,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7190,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7191,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7191,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7192,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7192,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7193,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7193,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7194,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7194,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:7195,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7196,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7197,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7198,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7198,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7199,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7199,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7200,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7200,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7201,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7201,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7202,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7202,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7203,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7204,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7204,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7205,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7205,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7206,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7207,1
    - Dst: tDecodeI32
      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: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7209,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:7210,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7211,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7212,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7213,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7214,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7214,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7215,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7215,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7218,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7223,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7223,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7224,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7224,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7225,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7226,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7226,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7227,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7228,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7232,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7232,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7234,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7235,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7235,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7240,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7242,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7243,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7243,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7244,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7244,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7245,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7245,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7246,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7246,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7247,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7247,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7256,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7257,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7257,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7260,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7261,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7261,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7262,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7262,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7263,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7263,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7264,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7264,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7272,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7273,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7273,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7274,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7274,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7280,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7281,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7281,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7286,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7287,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7287,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7293,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7293,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7294,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7294,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7300,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7303,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 109
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7305
      start: 7179
    functionDepth: 1
    functionLinenumber: 7179
    functionLinenumberEnd: 7305
    functionName: tDeserializeSCreateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tDecodeI16
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32v
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateDbReq(void *buf, int32_t bufLen, SCreateDbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7308,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7311
      start: 7307
    functionDepth: 1
    functionLinenumber: 7307
    functionLinenumberEnd: 7311
    functionName: tFreeSCreateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - taosArrayDestroy
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSCreateDbReq(SCreateDbReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7319,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7321,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7321,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7322,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7322,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7323,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7324,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7324,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7325,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7325,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7326,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7326,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7327,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7327,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7328,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7328,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7329,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7329,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7330,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7330,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7331,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7331,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7332,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7332,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7333,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7333,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7334,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7334,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7335,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7335,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7336,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7336,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7339,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7339,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7341,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7341,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7342,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7342,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7343,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7343,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7345,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7345,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7346,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7346,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7348,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7349,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7349,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7351,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7351,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7352,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7352,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7353,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7353,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7354,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7354,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7355,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7356,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7356,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7357,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7357,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7358,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7358,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7359,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7359,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7360,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7360,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7362,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7372
      start: 7313
    functionDepth: 1
    functionLinenumber: 7313
    functionLinenumberEnd: 7372
    functionName: tSerializeSAlterDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeI32v
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSAlterDbReq(void *buf, int32_t bufLen, SAlterDbReq
      *pReq)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7378,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7380,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7380,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7381,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7381,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7382,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7382,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7383,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7383,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7384,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7384,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7385,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7385,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7386,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7386,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7387,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7387,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7388,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7388,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7389,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7389,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7390,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7390,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7391,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7391,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7392,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7392,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7393,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7393,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7394,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7394,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7395,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7395,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7398,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:7399,1
    - Dst: tDecodeIsEnd
      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: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7406,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7407,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7407,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7413,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7414,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7414,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7419,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7420,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7420,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7421,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7421,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7424,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7426,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:7427,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7431,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7432,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7432,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7433,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7433,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7434,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7434,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7435,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7435,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7443,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7444,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7444,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7445,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7445,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7451,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7452,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7452,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7457,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7458,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7458,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7463,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7464,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7464,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7468,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7469,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7469,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7474,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7477,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 88
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7479
      start: 7374
    functionDepth: 1
    functionLinenumber: 7374
    functionLinenumberEnd: 7479
    functionName: tDeserializeSAlterDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32v
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSAlterDbReq(void *buf, int32_t bufLen, SAlterDbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SAlterDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7481
      start: 7481
    functionDepth: 1
    functionLinenumber: 7481
    functionLinenumberEnd: 7481
    functionName: tFreeSAlterDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSAlterDbReq(SAlterDbReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7488,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7490,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7490,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7491,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7491,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7492,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7492,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7493,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7493,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7494,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7495,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7505
      start: 7483
    functionDepth: 1
    functionLinenumber: 7483
    functionLinenumberEnd: 7505
    functionName: tSerializeSDropDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDropDbReq(void *buf, int32_t bufLen, SDropDbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7511,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7513,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7513,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7514,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7514,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7515,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7515,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7516,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7516,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7517,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7518,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7523
      start: 7507
    functionDepth: 1
    functionLinenumber: 7507
    functionLinenumberEnd: 7523
    functionName: tDeserializeSDropDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDropDbReq(void *buf, int32_t bufLen, SDropDbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDropDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7525
      start: 7525
    functionDepth: 1
    functionLinenumber: 7525
    functionLinenumberEnd: 7525
    functionName: tFreeSDropDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSDropDbReq(SDropDbReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7534,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7534,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7535,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7535,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7536,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7536,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7537,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDropDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7547
      start: 7527
    functionDepth: 1
    functionLinenumber: 7527
    functionLinenumberEnd: 7547
    functionName: tSerializeSDropDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDropDbRsp(void *buf, int32_t bufLen, SDropDbRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7555,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7556,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7556,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7557,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7557,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7558,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDropDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7563
      start: 7549
    functionDepth: 1
    functionLinenumber: 7549
    functionLinenumberEnd: 7563
    functionName: tDeserializeSDropDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    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:7570,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7572,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7572,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7573,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7574,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7574,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7575,1
    - Dst: tEncodeI32
      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: tEncodeI32
      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: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7577,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7578,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUseDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7588
      start: 7565
    functionDepth: 1
    functionLinenumber: 7565
    functionLinenumberEnd: 7588
    functionName: tSerializeSUseDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 4
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    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:7594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7596,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7597,1
    - Dst: tDecodeCStrTo
      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: tDecodeI64
      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: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7600,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7601,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7601,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7602,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUseDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7607
      start: 7590
    functionDepth: 1
    functionLinenumber: 7590
    functionLinenumberEnd: 7607
    functionName: tDeserializeSUseDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    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:7614,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7616,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7617,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7617,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7618,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVSubTablesReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7628
      start: 7609
    functionDepth: 1
    functionLinenumber: 7609
    functionLinenumberEnd: 7628
    functionName: tSerializeSVSubTablesReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVSubTablesReq(void *buf, int32_t bufLen, SVSubTablesReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7634,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7636,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7636,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7637,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7637,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7638,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVSubTablesReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7643
      start: 7630
    functionDepth: 1
    functionLinenumber: 7630
    functionLinenumberEnd: 7643
    functionName: tDeserializeSVSubTablesReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVSubTablesReq(void *buf, int32_t bufLen, SVSubTablesReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7648,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7648,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7649,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7650,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7650,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7652,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7653,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7654,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7654,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7655,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7655,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7658,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7659,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7659,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7660,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7660,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7661,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SVSubTablesRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7668
      start: 7645
    functionDepth: 1
    functionLinenumber: 7645
    functionLinenumberEnd: 7668
    functionName: tSerializeSVSubTablesRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeU64
    - tEncodeI16
    - tEncodeCStr
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - tEncodeI32
    - taosArrayGetP
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVSubTablesRspImpl(SEncoder *pEncoder, SVSubTablesRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7675,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7677,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7677,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7678,1
    - Dst: tSerializeSVSubTablesRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7678,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7680,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVSubTablesRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7690
      start: 7670
    functionDepth: 2
    functionLinenumber: 7670
    functionLinenumberEnd: 7690
    functionName: tSerializeSVSubTablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tSerializeSVSubTablesRspImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVSubTablesRsp(void *buf, int32_t bufLen, SVSubTablesRsp
      *pRsp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7696,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7696,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7698,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7698,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7700,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7707,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7707,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7708,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7708,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7709,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7709,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7711,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7716,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7718,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7727,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7727,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7728,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7728,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7729,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7729,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7730,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SVSubTablesRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7739
      start: 7692
    functionDepth: 1
    functionLinenumber: 7692
    functionLinenumberEnd: 7739
    functionName: tDeserializeSVSubTablesRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecodeCStrTo
    - tDecodeU64
    - tDecodeI16
    - taosMemoryFree
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVSubTablesRspImpl(SDecoder *pDecoder, SVSubTablesRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7747,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7747,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7748,1
    - Dst: tDeserializeSVSubTablesRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7748,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7750,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVSubTablesRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7756
      start: 7741
    functionDepth: 2
    functionLinenumber: 7741
    functionLinenumberEnd: 7756
    functionName: tDeserializeSVSubTablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecoderClear
    - tDeserializeSVSubTablesRspImpl
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVSubTablesRsp(void *buf, int32_t bufLen, SVSubTablesRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7765
      start: 7758
    functionDepth: 0
    functionLinenumber: 7758
    functionLinenumberEnd: 7765
    functionName: tFreeSVCTableRefCols
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSVCTableRefCols(void *pParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7775
      start: 7767
    functionDepth: 1
    functionLinenumber: 7767
    functionLinenumberEnd: 7775
    functionName: tDestroySVSubTablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tDestroySVSubTablesRsp(void *rsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7782,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7784,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7784,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7785,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7785,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7786,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVStbRefDbsReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7796
      start: 7777
    functionDepth: 1
    functionLinenumber: 7777
    functionLinenumberEnd: 7796
    functionName: tSerializeSVStbRefDbsReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVStbRefDbsReq(void *buf, int32_t bufLen, SVStbRefDbsReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      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: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7804,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7805,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7805,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7806,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVStbRefDbsReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7811
      start: 7798
    functionDepth: 1
    functionLinenumber: 7798
    functionLinenumberEnd: 7811
    functionName: tDeserializeSVStbRefDbsReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVStbRefDbsReq(void *buf, int32_t bufLen, SVStbRefDbsReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7816,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7816,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7818,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7818,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7820,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7821,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SVStbRefDbsRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7827
      start: 7813
    functionDepth: 1
    functionLinenumber: 7813
    functionLinenumberEnd: 7827
    functionName: tSerializeSVStbRefDbsRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeCStr
    - taosArrayGetSize
    - TAOS_CHECK_EXIT
    - tEncodeI32
    - taosArrayGetP
    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:7834,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7836,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7836,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7837,1
    - Dst: tSerializeSVStbRefDbsRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7837,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7839,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVStbRefDbsRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7849
      start: 7829
    functionDepth: 2
    functionLinenumber: 7829
    functionLinenumberEnd: 7849
    functionName: tSerializeSVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tSerializeSVStbRefDbsRspImpl
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVStbRefDbsRsp(void *buf, int32_t bufLen, SVStbRefDbsRsp
      *pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7854,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7854,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7856,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7856,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7858,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7866,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7866,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7867,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SVStbRefDbsRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7876
      start: 7851
    functionDepth: 1
    functionLinenumber: 7851
    functionLinenumberEnd: 7876
    functionName: tDeserializeSVStbRefDbsRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - TAOS_CHECK_EXIT
    - tDecodeCStrAlloc
    - tDecodeI32
    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:7882,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7884,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7884,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7885,1
    - Dst: tDeserializeSVStbRefDbsRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7885,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7887,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVStbRefDbsRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7893
      start: 7878
    functionDepth: 2
    functionLinenumber: 7878
    functionLinenumberEnd: 7893
    functionName: tDeserializeSVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDeserializeSVStbRefDbsRspImpl
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVStbRefDbsRsp(void *buf, int32_t bufLen, SVStbRefDbsRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7903
      start: 7895
    functionDepth: 1
    functionLinenumber: 7895
    functionLinenumberEnd: 7903
    functionName: tDestroySVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: void tDestroySVStbRefDbsRsp(void *rsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7911,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7913,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7913,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7914,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7914,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7915,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQnodeListReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7925
      start: 7905
    functionDepth: 1
    functionLinenumber: 7905
    functionLinenumberEnd: 7925
    functionName: tSerializeSQnodeListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSQnodeListReq(void *buf, int32_t bufLen, SQnodeListReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7931,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7933,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7933,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7934,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7934,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7935,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQnodeListReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7940
      start: 7927
    functionDepth: 1
    functionLinenumber: 7927
    functionLinenumberEnd: 7940
    functionName: tDeserializeSQnodeListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSQnodeListReq(void *buf, int32_t bufLen, SQnodeListReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7947,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7949,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7949,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7950,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7950,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7951,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDnodeListReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7961
      start: 7942
    functionDepth: 1
    functionLinenumber: 7942
    functionLinenumberEnd: 7961
    functionName: tSerializeSDnodeListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDnodeListReq(void *buf, int32_t bufLen, SDnodeListReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7968,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7970,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7970,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7971,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7971,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7972,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SServerVerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7982
      start: 7963
    functionDepth: 1
    functionLinenumber: 7963
    functionLinenumberEnd: 7982
    functionName: tSerializeSServerVerReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSServerVerReq(void *buf, int32_t bufLen, SServerVerReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7989,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7991,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7991,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7992,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7992,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7993,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SServerVerRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8003
      start: 7984
    functionDepth: 1
    functionLinenumber: 7984
    functionLinenumberEnd: 8003
    functionName: tSerializeSServerVerRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSServerVerRsp(void *buf, int32_t bufLen, SServerVerRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8009,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8011,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8011,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8012,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8012,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8014,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SServerVerRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8018
      start: 8005
    functionDepth: 1
    functionLinenumber: 8005
    functionLinenumberEnd: 8018
    functionName: tDeserializeSServerVerRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSServerVerRsp(void *buf, int32_t bufLen, SServerVerRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8025,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8027,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8027,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8028,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8029,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8029,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8031,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8032,1
    - Dst: tEncodeSQueryNodeLoad
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8032,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8034,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SQnodeListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8044
      start: 8020
    functionDepth: 4
    functionLinenumber: 8020
    functionLinenumberEnd: 8044
    functionName: tSerializeSQnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tEncodeSQueryNodeLoad
    - taosArrayGet
    - tEncoderClear
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSQnodeListRsp(void *buf, int32_t bufLen, SQnodeListRsp
      *pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8050,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8052,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8052,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8054,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8054,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8056,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:8064,1
    - Dst: tDecodeSQueryNodeLoad
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8064,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8065,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8066,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8069,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SQnodeListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8074
      start: 8046
    functionDepth: 4
    functionLinenumber: 8046
    functionLinenumberEnd: 8074
    functionName: tDeserializeSQnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tDecoderClear
    - tDecodeSQueryNodeLoad
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSQnodeListRsp(void *buf, int32_t bufLen, SQnodeListRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SQnodeListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8076
      start: 8076
    functionDepth: 1
    functionLinenumber: 8076
    functionLinenumberEnd: 8076
    functionName: tFreeSQnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSQnodeListRsp(SQnodeListRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8083,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8085,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8085,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8086,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8087,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8087,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8089,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8090,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8090,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8091,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8091,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8093,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDnodeListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8103
      start: 8078
    functionDepth: 2
    functionLinenumber: 8078
    functionLinenumberEnd: 8103
    functionName: tSerializeSDnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tEncodeSEpSet
    - taosArrayGet
    - tEncoderClear
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDnodeListRsp(void *buf, int32_t bufLen, SDnodeListRsp
      *pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8109,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8111,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8111,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8113,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8113,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8117,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8123,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8123,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8124,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8124,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8126,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8129,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDnodeListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8134
      start: 8105
    functionDepth: 2
    functionLinenumber: 8105
    functionLinenumberEnd: 8134
    functionName: tDeserializeSDnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tDecodeSEpSet
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDnodeListRsp(void *buf, int32_t bufLen, SDnodeListRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SDnodeListRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8136
      start: 8136
    functionDepth: 1
    functionLinenumber: 8136
    functionLinenumberEnd: 8136
    functionName: tFreeSDnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSDnodeListRsp(SDnodeListRsp *pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8143,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8145,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8145,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8146,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8147,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8148,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8148,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8149,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8152,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8153,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8153,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8157,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8161,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8161,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8163,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8163,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8165,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCompactDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8175
      start: 8138
    functionDepth: 1
    functionLinenumber: 8138
    functionLinenumberEnd: 8175
    functionName: tSerializeSCompactDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - ENCODESQL
    - taosArrayGetSize
    - tStartEncode
    - tEncodeI64v
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCompactDbReq(void *buf, int32_t bufLen, SCompactDbReq
      *pReq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8183,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8183,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8184,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8184,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8185,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8186,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8186,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8187,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8192,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8192,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8194,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8201,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8201,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8202,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8203,1
    - Dst: tDecodeIsEnd
      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: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8210,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8217,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8217,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8219,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCompactDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8224
      start: 8177
    functionDepth: 1
    functionLinenumber: 8177
    functionLinenumberEnd: 8224
    functionName: tDeserializeSCompactDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecodeI64v
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCompactDbReq(void *buf, int32_t bufLen, SCompactDbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8227,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCompactDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8230
      start: 8226
    functionDepth: 1
    functionLinenumber: 8226
    functionLinenumberEnd: 8230
    functionName: tFreeSCompactDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 4
    functionsReached:
    - taosArrayDestroy
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSCompactDbReq(SCompactDbReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8237,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8239,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8239,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8240,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8240,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8241,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8241,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8242,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SCompactDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8252
      start: 8232
    functionDepth: 1
    functionLinenumber: 8232
    functionLinenumberEnd: 8252
    functionName: tSerializeSCompactDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCompactDbRsp(void *buf, int32_t bufLen, SCompactDbRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8258,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8260,1
    - Dst: tStartDecode
      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: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8261,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8262,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8262,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8263,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SCompactDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8268
      start: 8254
    functionDepth: 1
    functionLinenumber: 8254
    functionLinenumberEnd: 8268
    functionName: tDeserializeSCompactDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCompactDbRsp(void *buf, int32_t bufLen, SCompactDbRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8275,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8277,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8278,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8278,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8279,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8281,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillCompactReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8291
      start: 8270
    functionDepth: 1
    functionLinenumber: 8270
    functionLinenumberEnd: 8291
    functionName: tSerializeSKillCompactReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSKillCompactReq(void *buf, int32_t bufLen, SKillCompactReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8297,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8299,1
    - Dst: tStartDecode
      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: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8300,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8301,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8303,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillCompactReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8308
      start: 8293
    functionDepth: 1
    functionLinenumber: 8293
    functionLinenumberEnd: 8308
    functionName: tDeserializeSKillCompactReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSKillCompactReq(void *buf, int32_t bufLen, SKillCompactReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SKillCompactReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8310
      start: 8310
    functionDepth: 1
    functionLinenumber: 8310
    functionLinenumberEnd: 8310
    functionName: tFreeSKillCompactReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSKillCompactReq(SKillCompactReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8313,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8313,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8314,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8314,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8315,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8315,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8316,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8316,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8317,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8317,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8318,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8318,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8319,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8319,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8322,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8323,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8323,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8324,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8324,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8325,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8325,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8326,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8326,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8327,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8327,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8330,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8330,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8331,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8331,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8332,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SUseDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8334
      start: 8312
    functionDepth: 2
    functionLinenumber: 8312
    functionLinenumberEnd: 8334
    functionName: tSerializeSUseDbRspImp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeSEpSet
    - taosArrayGet
    - tEncodeI16
    - TAOS_CHECK_RETURN
    - tEncodeU32
    - tEncodeCStr
    - tEncodeU8
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSUseDbRspImp(SEncoder *pEncoder, const SUseDbRsp
      *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:8343,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8343,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8344,1
    - Dst: tSerializeSUseDbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8344,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: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUseDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8355
      start: 8336
    functionDepth: 3
    functionLinenumber: 8336
    functionLinenumberEnd: 8355
    functionName: tSerializeSUseDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tEncoderClear
    - tSerializeSUseDbRspImp
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSUseDbRsp(void *buf, int32_t bufLen, const SUseDbRsp
      *pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8359,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8359,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8360,1
    - Dst: tSerializeSUseDbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8360,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8362,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8362,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8366,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8366,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8367,1
    - Dst: tSerializeSDbCfgRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8367,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8369,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8369,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8373,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8373,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8374,1
    - Dst: tEncodeTableTSMAInfoRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8374,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8376,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8376,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8378,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8378,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8379,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8379,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8380,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SDbHbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8382
      start: 8357
    functionDepth: 3
    functionLinenumber: 8357
    functionLinenumberEnd: 8382
    functionName: tSerializeSDbHbRspImp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - TAOS_CHECK_RETURN
    - tEncodeTableTSMAInfoRsp
    - tSerializeSDbCfgRspImpl
    - tSerializeSUseDbRspImp
    - tEncodeCStr
    - tEncodeI64
    - tEncodeI32
    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:8389,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8391,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8391,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8393,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8394,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8394,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8396,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8397,1
    - Dst: tSerializeSDbHbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8397,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8399,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDbHbBatchRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8409
      start: 8384
    functionDepth: 4
    functionLinenumber: 8384
    functionLinenumberEnd: 8409
    functionName: tSerializeSDbHbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tSerializeSDbHbRspImp
    - tEncoderClear
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDbHbBatchRsp(void *buf, int32_t bufLen, SDbHbBatchRsp
      *pRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8412,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8412,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8413,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8413,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8414,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8414,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8415,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8415,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8416,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8416,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8417,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8417,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8418,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8418,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8421,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8423,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8428,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8428,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8429,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8429,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8430,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8430,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8431,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8431,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8432,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8432,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8433,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8434,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8439,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8439,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8440,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8440,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8441,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8442,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SUseDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8445
      start: 8411
    functionDepth: 2
    functionLinenumber: 8411
    functionLinenumberEnd: 8445
    functionName: tDeserializeSUseDbRspImp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecodeSEpSet
    - tDecodeIsEnd
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    - tDecodeI16
    - tDecodeU8
    - tDecodeU32
    - taosArrayInit
    - tDecodeI8
    - tDecodeI64
    - tDecodeI32
    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:8451,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8453,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8453,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8454,1
    - Dst: tDeserializeSUseDbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8454,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8455,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUseDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8460
      start: 8447
    functionDepth: 3
    functionLinenumber: 8447
    functionLinenumberEnd: 8460
    functionName: tDeserializeSUseDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 4
    functionsReached:
    - tDecoderClear
    - tDeserializeSUseDbRspImp
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSUseDbRsp(void *buf, int32_t bufLen, SUseDbRsp
      *pRsp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8464,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8464,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8466,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8468,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8470,1
    - Dst: tDeserializeSUseDbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8470,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8472,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8472,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8474,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8476,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8478,1
    - Dst: tDeserializeSDbCfgRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8478,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8480,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8481,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8481,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8483,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8485,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8487,1
    - Dst: tDecodeTableTSMAInfoRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8487,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8490,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8491,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8491,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8493,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8494,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8494,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8495,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8495,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - decoder
    - pRsp
    argTypes:
    - SDecoder*
    - SDbHbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8499
      start: 8462
    functionDepth: 3
    functionLinenumber: 8462
    functionLinenumberEnd: 8499
    functionName: tDeserializeSDbHbRspImp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeTableTSMAInfoRsp
    - tDecodeIsEnd
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    - tDeserializeSUseDbRspImp
    - tDeserializeSDbCfgRspImpl
    - tDecodeI8
    - tDecodeI64
    - taosMemoryCalloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDbHbRspImp(SDecoder *decoder, SDbHbRsp *pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8505,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8507,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8507,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8509,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8510,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8510,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8512,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8514,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8519,1
    - Dst: tDeserializeSDbHbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8519,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8521,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8522,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8525,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDbHbBatchRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8530
      start: 8501
    functionDepth: 4
    functionLinenumber: 8501
    functionLinenumberEnd: 8530
    functionName: tDeserializeSDbHbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDeserializeSDbHbRspImp
    - tDecoderClear
    - tEndDecode
    - taosArrayGetSize
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDbHbBatchRsp(void *buf, int32_t bufLen, SDbHbBatchRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SUseDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8532
      start: 8532
    functionDepth: 1
    functionLinenumber: 8532
    functionLinenumberEnd: 8532
    functionName: tFreeSUsedbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 6
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSUsedbRsp(SUseDbRsp *pRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8540,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8541,1
    - Dst: tFreeSDbCfgRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8545,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8546,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8549,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pDbRsp
    argTypes:
    - SDbHbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8552
      start: 8534
    functionDepth: 2
    functionLinenumber: 8534
    functionLinenumberEnd: 8552
    functionName: tFreeSDbHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tFreeSDbCfgRsp
    - tFreeTableTSMAInfoRsp
    - taosMemoryFree
    - tFreeSUsedbRsp
    linkageType: ''
    returnType: void
    signature: void tFreeSDbHbRsp(SDbHbRsp *pDbRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8555,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8557,1
    - Dst: tFreeSDbHbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8558,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SDbHbBatchRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8562
      start: 8554
    functionDepth: 3
    functionLinenumber: 8554
    functionLinenumberEnd: 8562
    functionName: tFreeSDbHbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tFreeSDbHbRsp
    - taosArrayGet
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSDbHbBatchRsp(SDbHbBatchRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8569,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8571,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8571,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8574,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8576,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8577,1
    - Dst: tSerializeSGetUserAuthRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8577,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8579,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUserAuthBatchRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8589
      start: 8564
    functionDepth: 3
    functionLinenumber: 8564
    functionLinenumberEnd: 8589
    functionName: tSerializeSUserAuthBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncoderClear
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - tSerializeSGetUserAuthRspImpl
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSUserAuthBatchRsp(void *buf, int32_t bufLen, SUserAuthBatchRsp
      *pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8597,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8597,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8600,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8600,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8602,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8609,1
    - Dst: tDeserializeSGetUserAuthRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8609,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8610,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8611,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8614,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUserAuthBatchRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8619
      start: 8591
    functionDepth: 3
    functionLinenumber: 8591
    functionLinenumberEnd: 8619
    functionName: tDeserializeSUserAuthBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDeserializeSGetUserAuthRspImpl
    - tDecoderClear
    - tEndDecode
    - taosArrayGetSize
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSUserAuthBatchRsp(void *buf, int32_t bufLen, SUserAuthBatchRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8622,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8624,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8625,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SUserAuthBatchRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8629
      start: 8621
    functionDepth: 2
    functionLinenumber: 8621
    functionLinenumberEnd: 8629
    functionName: tFreeSUserAuthBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosArrayGetSize
    - tFreeSGetUserAuthRsp
    linkageType: ''
    returnType: void
    signature: void tFreeSUserAuthBatchRsp(SUserAuthBatchRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8636,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8638,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8638,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8639,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8639,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8640,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDbCfgReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8650
      start: 8631
    functionDepth: 1
    functionLinenumber: 8631
    functionLinenumberEnd: 8650
    functionName: tSerializeSDbCfgReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDbCfgReq(void *buf, int32_t bufLen, SDbCfgReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8656,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8658,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8659,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8659,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8660,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDbCfgReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8665
      start: 8652
    functionDepth: 1
    functionLinenumber: 8652
    functionLinenumberEnd: 8665
    functionName: tDeserializeSDbCfgReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDbCfgReq(void *buf, int32_t bufLen, SDbCfgReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8672,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8674,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8674,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8675,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8675,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8676,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8676,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8677,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8678,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8679,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8679,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8682,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8683,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8683,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8686,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8686,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8687,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8687,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8688,1
    - Dst: tEncodeU32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8688,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8689,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STrimDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8699
      start: 8667
    functionDepth: 1
    functionLinenumber: 8667
    functionLinenumberEnd: 8699
    functionName: tSerializeSTrimDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncoderClear
    - tEncodeU32v
    - tEncodeCStr
    - ENCODESQL
    - tEncodeI64v
    - taosArrayGetSize
    - tStartEncode
    - tEncodeI64
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTrimDbReq(void *buf, int32_t bufLen, STrimDbReq
      *pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8704,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8706,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8706,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8707,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8707,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8708,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8708,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8709,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8710,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8712,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8712,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8714,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8716,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8721,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8721,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8722,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8723,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8727,1
    - Dst: tDecodeI64
      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: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8728,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8729,1
    - Dst: tDecodeU32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8729,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8731,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STrimDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8736
      start: 8701
    functionDepth: 1
    functionLinenumber: 8701
    functionLinenumberEnd: 8736
    functionName: tDeserializeSTrimDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecodeI64v
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecodeU32v
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTrimDbReq(void *buf, int32_t bufLen, STrimDbReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8743,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8745,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8746,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8746,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8747,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVndSetKeepVersionReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8757
      start: 8738
    functionDepth: 1
    functionLinenumber: 8738
    functionLinenumberEnd: 8757
    functionName: tSerializeSVndSetKeepVersionReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVndSetKeepVersionReq(void *buf, int32_t bufLen,
      SVndSetKeepVersionReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8763,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8765,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8765,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8766,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8766,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8767,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVndSetKeepVersionReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8772
      start: 8759
    functionDepth: 1
    functionLinenumber: 8759
    functionLinenumberEnd: 8772
    functionName: tDeserializeSVndSetKeepVersionReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVndSetKeepVersionReq(void *buf, int32_t bufLen,
      SVndSetKeepVersionReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8775,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - STrimDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8778
      start: 8774
    functionDepth: 1
    functionLinenumber: 8774
    functionLinenumberEnd: 8778
    functionName: tFreeSTrimDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - taosArrayDestroy
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSTrimDbReq(STrimDbReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSCompactVnodeReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVTrimDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8782
      start: 8780
    functionDepth: 1
    functionLinenumber: 8780
    functionLinenumberEnd: 8782
    functionName: tSerializeSVTrimDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tSerializeSCompactVnodeReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVTrimDbReq(void *buf, int32_t bufLen, SVTrimDbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSCompactVnodeReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVTrimDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8786
      start: 8784
    functionDepth: 1
    functionLinenumber: 8784
    functionLinenumberEnd: 8786
    functionName: tDeserializeSVTrimDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDeserializeSCompactVnodeReq
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVTrimDbReq(void *buf, int32_t bufLen, SVTrimDbReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8793,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8795,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8796,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8796,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8797,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSsMigrateDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8807
      start: 8788
    functionDepth: 1
    functionLinenumber: 8788
    functionLinenumberEnd: 8807
    functionName: tSerializeSSsMigrateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSSsMigrateDbReq(void *buf, int32_t bufLen, SSsMigrateDbReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      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: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8815,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8816,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8816,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8817,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSsMigrateDbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8822
      start: 8809
    functionDepth: 1
    functionLinenumber: 8809
    functionLinenumberEnd: 8822
    functionName: tDeserializeSSsMigrateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSSsMigrateDbReq(void *buf, int32_t bufLen, SSsMigrateDbReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8829,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8831,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8831,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8832,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8832,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8833,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8833,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8834,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSsMigrateDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8844
      start: 8824
    functionDepth: 1
    functionLinenumber: 8824
    functionLinenumberEnd: 8844
    functionName: tSerializeSSsMigrateDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeBool
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSSsMigrateDbRsp(void *buf, int32_t bufLen, SSsMigrateDbRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8850,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8852,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8852,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8853,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8853,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8854,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8854,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8855,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSsMigrateDbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8860
      start: 8846
    functionDepth: 1
    functionLinenumber: 8846
    functionLinenumberEnd: 8860
    functionName: tDeserializeSSsMigrateDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeBool
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSSsMigrateDbRsp(void *buf, int32_t bufLen, SSsMigrateDbRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8870,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8870,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8871,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8871,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8872,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SListSsMigrateFileSetsReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8882
      start: 8863
    functionDepth: 1
    functionLinenumber: 8863
    functionLinenumberEnd: 8882
    functionName: tSerializeSListSsMigrateFileSetsReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSListSsMigrateFileSetsReq(void *buf, int32_t bufLen,
      SListSsMigrateFileSetsReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8888,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8890,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8890,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8891,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8891,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8892,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SListSsMigrateFileSetsReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8897
      start: 8884
    functionDepth: 1
    functionLinenumber: 8884
    functionLinenumberEnd: 8897
    functionName: tDeserializeSListSsMigrateFileSetsReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSListSsMigrateFileSetsReq(void *buf, int32_t bufLen,
      SListSsMigrateFileSetsReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8904,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8906,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8906,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8907,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8907,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8908,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8908,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8909,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8910,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8910,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8912,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8913,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8913,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8915,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SListSsMigrateFileSetsRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8925
      start: 8899
    functionDepth: 1
    functionLinenumber: 8899
    functionLinenumberEnd: 8925
    functionName: tSerializeSListSsMigrateFileSetsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncoderClear
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSListSsMigrateFileSetsRsp(void *buf, int32_t bufLen,
      SListSsMigrateFileSetsRsp *pRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8931,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8933,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8933,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8934,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8934,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8935,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8935,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8937,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8937,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8939,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8941,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8946,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8946,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8947,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8948,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8952,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8955,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8957,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SListSsMigrateFileSetsRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8961
      start: 8927
    functionDepth: 1
    functionLinenumber: 8927
    functionLinenumberEnd: 8961
    functionName: tDeserializeSListSsMigrateFileSetsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecoderClear
    - taosArrayDestroy
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSListSsMigrateFileSetsRsp(void *buf, int32_t bufLen,
      SListSsMigrateFileSetsRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SListSsMigrateFileSetsRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8968
      start: 8963
    functionDepth: 1
    functionLinenumber: 8963
    functionLinenumberEnd: 8968
    functionName: tFreeSListSsMigrateFileSetsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSListSsMigrateFileSetsRsp(SListSsMigrateFileSetsRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8976,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8978,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8978,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8979,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8979,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8980,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8980,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8981,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8981,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8982,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8982,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8983,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSsMigrateFileSetReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8993
      start: 8971
    functionDepth: 1
    functionLinenumber: 8971
    functionLinenumberEnd: 8993
    functionName: tSerializeSSsMigrateFileSetReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSSsMigrateFileSetReq(void *buf, int32_t bufLen, SSsMigrateFileSetReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8999,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9001,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9001,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9002,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9002,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9003,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9003,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9004,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9004,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9005,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9005,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9006,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSsMigrateFileSetReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9011
      start: 8995
    functionDepth: 1
    functionLinenumber: 8995
    functionLinenumberEnd: 9011
    functionName: tDeserializeSSsMigrateFileSetReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSSsMigrateFileSetReq(void *buf, int32_t bufLen,
      SSsMigrateFileSetReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9018,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9020,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9020,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9021,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9021,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9022,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9022,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9023,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9023,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9024,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9024,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9025,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSsMigrateFileSetRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9035
      start: 9013
    functionDepth: 1
    functionLinenumber: 9013
    functionLinenumberEnd: 9035
    functionName: tSerializeSSsMigrateFileSetRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSSsMigrateFileSetRsp(void *buf, int32_t bufLen, SSsMigrateFileSetRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9041,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9043,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9043,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9044,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9044,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9045,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9045,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9046,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9046,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9047,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9047,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9048,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSsMigrateFileSetRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9053
      start: 9037
    functionDepth: 1
    functionLinenumber: 9037
    functionLinenumberEnd: 9053
    functionName: tDeserializeSSsMigrateFileSetRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSSsMigrateFileSetRsp(void *buf, int32_t bufLen,
      SSsMigrateFileSetRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9061,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9063,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9063,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9064,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9064,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9065,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9065,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9066,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9066,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9067,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9067,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9068,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9068,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9069,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pProgress
    argTypes:
    - void*
    - int32_t
    - SSsMigrateProgress*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9079
      start: 9056
    functionDepth: 1
    functionLinenumber: 9056
    functionLinenumberEnd: 9079
    functionName: tSerializeSSsMigrateProgress
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int
    signature: int tSerializeSSsMigrateProgress(void *buf, int32_t bufLen, SSsMigrateProgress
      *pProgress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9085,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9087,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9087,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9088,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9088,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9089,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9089,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9090,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9090,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9091,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9091,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9092,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9092,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9093,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pProgress
    argTypes:
    - void*
    - int32_t
    - SSsMigrateProgress*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9098
      start: 9081
    functionDepth: 1
    functionLinenumber: 9081
    functionLinenumberEnd: 9098
    functionName: tDeserializeSSsMigrateProgress
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int
    signature: int tDeserializeSSsMigrateProgress(void *buf, int32_t bufLen, SSsMigrateProgress
      *pProgress)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9108,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9109,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9109,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9110,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9112,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillSsMigrateReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9122
      start: 9101
    functionDepth: 1
    functionLinenumber: 9101
    functionLinenumberEnd: 9122
    functionName: tSerializeSKillSsMigrateReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSKillSsMigrateReq(void *buf, int32_t bufLen, SKillSsMigrateReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9128,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9130,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9131,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9131,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9132,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9134,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillSsMigrateReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9139
      start: 9124
    functionDepth: 1
    functionLinenumber: 9124
    functionLinenumberEnd: 9139
    functionName: tDeserializeSKillSsMigrateReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSKillSsMigrateReq(void *buf, int32_t bufLen, SKillSsMigrateReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SKillSsMigrateReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9141
      start: 9141
    functionDepth: 1
    functionLinenumber: 9141
    functionLinenumberEnd: 9141
    functionName: tFreeSKillSsMigrateReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSKillSsMigrateReq(SKillSsMigrateReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9149,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9151,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9151,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9152,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9152,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9153,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVnodeKillSsMigrateReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9163
      start: 9144
    functionDepth: 1
    functionLinenumber: 9144
    functionLinenumberEnd: 9163
    functionName: tSerializeSVnodeKillSsMigrateReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVnodeKillSsMigrateReq(void *buf, int32_t bufLen,
      SVnodeKillSsMigrateReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9169,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9171,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9172,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:9173,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9173,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9174,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMndSetVgroupKeepVersionReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9184
      start: 9164
    functionDepth: 1
    functionLinenumber: 9164
    functionLinenumberEnd: 9184
    functionName: tSerializeSMndSetVgroupKeepVersionReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMndSetVgroupKeepVersionReq(void *buf, int32_t bufLen,
      SMndSetVgroupKeepVersionReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9192,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9192,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9193,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9193,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9194,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVnodeKillSsMigrateReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9199
      start: 9186
    functionDepth: 1
    functionLinenumber: 9186
    functionLinenumberEnd: 9199
    functionName: tDeserializeSVnodeKillSsMigrateReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVnodeKillSsMigrateReq(void *buf, int32_t bufLen,
      SVnodeKillSsMigrateReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9205,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9207,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9208,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9209,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9209,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9211,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMndSetVgroupKeepVersionReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9216
      start: 9201
    functionDepth: 1
    functionLinenumber: 9201
    functionLinenumberEnd: 9216
    functionName: tDeserializeSMndSetVgroupKeepVersionReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMndSetVgroupKeepVersionReq(void *buf, int32_t
      bufLen, SMndSetVgroupKeepVersionReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9223,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9225,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9226,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9227,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9227,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9228,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9228,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9230,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9231,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9231,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9233,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVDropTtlTableReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9243
      start: 9218
    functionDepth: 1
    functionLinenumber: 9218
    functionLinenumberEnd: 9243
    functionName: tSerializeSVDropTtlTableReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncoderClear
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVDropTtlTableReq(void *buf, int32_t bufLen, SVDropTtlTableReq
      *pReq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9249,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9251,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9252,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9252,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9256,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9257,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9257,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9258,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9258,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9261,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9263,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9269,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9269,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9271,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9275,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVDropTtlTableReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9280
      start: 9245
    functionDepth: 1
    functionLinenumber: 9245
    functionLinenumberEnd: 9280
    functionName: tDeserializeSVDropTtlTableReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecodeIsEnd
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVDropTtlTableReq(void *buf, int32_t bufLen, SVDropTtlTableReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9283,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9283,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9284,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9284,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9285,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9285,1
    - Dst: TAOS_CHECK_RETURN
      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: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9287,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9287,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9288,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9288,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9289,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9289,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9290,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9290,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9291,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9291,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9292,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9292,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9293,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9293,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9294,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9294,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9295,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9295,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9296,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9296,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9297,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9297,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9298,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9298,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9299,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9299,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9300,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9300,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9301,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9301,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9302,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9302,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9303,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9303,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9304,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9304,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9305,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9305,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9306,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9306,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9307,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9307,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9308,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9308,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9309,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9309,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9310,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9310,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9311,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9311,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9312,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9312,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9314,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9315,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9315,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9316,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9316,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9317,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9317,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9318,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9318,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9320,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9320,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9321,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9321,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9322,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9322,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9323,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9323,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9324,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9324,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9325,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9325,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9326,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9326,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9327,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9327,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9328,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9328,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9329,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9329,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9330,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9330,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9331,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9331,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9332,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9332,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9333,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9333,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9334,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9334,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9335,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9335,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9336,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9336,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9337,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9337,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9338,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 57
    argCount: 2
    argNames:
    - encoder
    - pRsp
    argTypes:
    - SEncoder*
    - SDbCfgRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9342
      start: 9282
    functionDepth: 1
    functionLinenumber: 9282
    functionLinenumberEnd: 9342
    functionName: tSerializeSDbCfgRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncodeI8
    - tEncodeI32v
    - taosArrayGet
    - tEncodeI16
    - TAOS_CHECK_RETURN
    - tEncodeCStr
    - tEncodeI64v
    - tEncodeU8
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDbCfgRspImpl(SEncoder *encoder, const SDbCfgRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9349,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9351,1
    - Dst: tStartEncode
      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: tSerializeSDbCfgRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9352,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9353,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDbCfgRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9363
      start: 9344
    functionDepth: 2
    functionLinenumber: 9344
    functionLinenumberEnd: 9363
    functionName: tSerializeSDbCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tEncoderClear
    - tSerializeSDbCfgRspImpl
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDbCfgRsp(void *buf, int32_t bufLen, const SDbCfgRsp
      *pRsp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9366,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9366,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9367,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9367,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9368,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9368,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9369,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9369,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9370,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9370,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9371,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9371,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9372,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9372,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9373,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9373,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9374,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9374,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9375,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9375,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9376,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9376,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9377,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9377,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9378,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9378,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9379,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9379,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9380,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9380,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9381,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9381,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9382,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9382,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9383,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9383,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9384,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9384,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9385,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9385,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9386,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9386,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9387,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9387,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9388,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9388,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9389,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9389,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9390,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9390,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9391,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9391,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9392,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9392,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9393,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9393,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9394,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9394,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9395,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9395,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9397,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9399,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9405,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9405,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9406,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9406,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9407,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9407,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9408,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9408,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9409,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9410,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9413,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9413,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9414,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9414,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9415,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9416,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9416,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9420,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9421,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9421,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9422,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9422,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9423,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9423,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9424,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9424,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9425,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9425,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9433,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9434,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9434,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9438,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9439,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9439,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9440,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9440,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9441,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9441,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9442,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9442,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9450,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9451,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9451,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9457,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9458,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9458,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9459,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9459,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9460,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9460,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9466,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9467,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9467,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9472,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9473,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9473,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 109
    argCount: 2
    argNames:
    - decoder
    - pRsp
    argTypes:
    - SDecoder*
    - SDbCfgRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9479
      start: 9365
    functionDepth: 1
    functionLinenumber: 9365
    functionLinenumberEnd: 9479
    functionName: tDeserializeSDbCfgRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tDecodeI64v
    - tDecodeIsEnd
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    - tDecodeI16
    - tDecodeU8
    - taosArrayInit
    - tDecodeI8
    - tDecodeI64
    - tDecodeI32v
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDbCfgRspImpl(SDecoder *decoder, SDbCfgRsp *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9485,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9487,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9487,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9488,1
    - Dst: tDeserializeSDbCfgRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9488,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9489,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDbCfgRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9494
      start: 9481
    functionDepth: 2
    functionLinenumber: 9481
    functionLinenumberEnd: 9494
    functionName: tDeserializeSDbCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecoderClear
    - tDeserializeSDbCfgRspImpl
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDbCfgRsp(void *buf, int32_t bufLen, SDbCfgRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SDbCfgRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9502
      start: 9496
    functionDepth: 1
    functionLinenumber: 9496
    functionLinenumberEnd: 9502
    functionName: tFreeSDbCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSDbCfgRsp(SDbCfgRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9509,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9511,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9511,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9512,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9512,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9513,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUserIndexReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9523
      start: 9504
    functionDepth: 1
    functionLinenumber: 9504
    functionLinenumberEnd: 9523
    functionName: tSerializeSUserIndexReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSUserIndexReq(void *buf, int32_t bufLen, SUserIndexReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9531,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9532,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9532,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9533,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUserIndexReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9538
      start: 9525
    functionDepth: 1
    functionLinenumber: 9525
    functionLinenumberEnd: 9538
    functionName: tDeserializeSUserIndexReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSUserIndexReq(void *buf, int32_t bufLen, SUserIndexReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9547,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9547,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9548,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9548,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9549,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9549,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9550,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9550,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9551,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9551,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9552,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9552,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9553,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUserIndexRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9563
      start: 9540
    functionDepth: 1
    functionLinenumber: 9540
    functionLinenumberEnd: 9563
    functionName: tSerializeSUserIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    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:9569,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9571,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9571,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9572,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9572,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9573,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9574,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9574,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9575,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9576,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9576,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9577,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUserIndexRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9582
      start: 9565
    functionDepth: 1
    functionLinenumber: 9565
    functionLinenumberEnd: 9582
    functionName: tDeserializeSUserIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSUserIndexRsp(void *buf, int32_t bufLen, SUserIndexRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9589,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9591,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9591,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9592,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9592,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9593,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableIndexReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9603
      start: 9584
    functionDepth: 1
    functionLinenumber: 9584
    functionLinenumberEnd: 9603
    functionName: tSerializeSTableIndexReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTableIndexReq(void *buf, int32_t bufLen, STableIndexReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9609,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9611,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9611,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9612,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9612,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9613,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableIndexReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9618
      start: 9605
    functionDepth: 1
    functionLinenumber: 9605
    functionLinenumberEnd: 9618
    functionName: tDeserializeSTableIndexReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTableIndexReq(void *buf, int32_t bufLen, STableIndexReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9621,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9621,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9622,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9622,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9623,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9623,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9624,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9624,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9625,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9625,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9626,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9626,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9627,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9627,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9628,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9628,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9629,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pEncoder
    - pInfo
    argTypes:
    - SEncoder*
    - STableIndexInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9631
      start: 9620
    functionDepth: 2
    functionLinenumber: 9620
    functionLinenumberEnd: 9631
    functionName: tSerializeSTableIndexInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeSEpSet
    - TAOS_CHECK_RETURN
    - tEncodeCStr
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTableIndexInfo(SEncoder *pEncoder, STableIndexInfo
      *pInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9638,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9640,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9641,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9641,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9642,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9643,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9644,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9645,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9645,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9647,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9647,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9651,1
    - Dst: tSerializeSTableIndexInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9651,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9654,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableIndexRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9664
      start: 9633
    functionDepth: 3
    functionLinenumber: 9633
    functionLinenumberEnd: 9664
    functionName: tSerializeSTableIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tEncodeU64
    - taosArrayGet
    - tEncoderClear
    - tSerializeSTableIndexInfo
    - tEncodeCStr
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTableIndexRsp(void *buf, int32_t bufLen, const STableIndexRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSTableIndexRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - STableIndexRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9671
      start: 9666
    functionDepth: 1
    functionLinenumber: 9666
    functionLinenumberEnd: 9671
    functionName: tFreeSerializeSTableIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tFreeSTableIndexRsp
    linkageType: ''
    returnType: void
    signature: void tFreeSerializeSTableIndexRsp(STableIndexRsp *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9674,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9674,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9675,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9675,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9676,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9676,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9677,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9677,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9678,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9678,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9679,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9679,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9680,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9680,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9681,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9681,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9682,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pDecoder
    - pInfo
    argTypes:
    - SDecoder*
    - STableIndexInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9684
      start: 9673
    functionDepth: 2
    functionLinenumber: 9673
    functionLinenumberEnd: 9684
    functionName: tDeserializeSTableIndexInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSEpSet
    - TAOS_CHECK_RETURN
    - tDecodeI8
    - tDecodeI64
    - tDecodeCStrAlloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTableIndexInfo(SDecoder *pDecoder, STableIndexInfo
      *pInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9690,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9692,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9692,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9693,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9694,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9694,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9695,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9695,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9696,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9696,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9697,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9697,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9699,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9699,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9701,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9703,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9707,1
    - Dst: tDeserializeSTableIndexInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9707,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9708,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9709,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9710,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9714,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableIndexRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9719
      start: 9686
    functionDepth: 3
    functionLinenumber: 9686
    functionLinenumberEnd: 9719
    functionName: tDeserializeSTableIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tDeserializeSTableIndexInfo
    - tDecodeCStrTo
    - tDecoderClear
    - taosMemoryFree
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeU64
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTableIndexRsp(void *buf, int32_t bufLen, STableIndexRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9729
      start: 9721
    functionDepth: 0
    functionLinenumber: 9721
    functionLinenumberEnd: 9729
    functionName: tFreeSTableIndexInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSTableIndexInfo(void *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      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: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9738,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:9739,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9740,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9740,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9742,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9742,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9744,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SShowVariablesReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9754
      start: 9731
    functionDepth: 1
    functionLinenumber: 9731
    functionLinenumberEnd: 9754
    functionName: tSerializeSShowVariablesReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSShowVariablesReq(void *buf, int32_t bufLen, SShowVariablesReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9760,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9762,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9762,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9763,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9763,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9764,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9764,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9767,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9769,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9771,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9771,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9774,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SShowVariablesReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9778
      start: 9756
    functionDepth: 1
    functionLinenumber: 9756
    functionLinenumberEnd: 9778
    functionName: tDeserializeSShowVariablesReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeU32
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSShowVariablesReq(void *buf, int32_t bufLen, SShowVariablesReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SShowVariablesReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9785
      start: 9780
    functionDepth: 0
    functionLinenumber: 9780
    functionLinenumberEnd: 9785
    functionName: tFreeSShowVariablesReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSShowVariablesReq(SShowVariablesReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9788,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9788,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9789,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9789,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9790,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9790,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9791,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pEncoder
    - pInfo
    argTypes:
    - SEncoder*
    - SVariablesInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9793
      start: 9787
    functionDepth: 1
    functionLinenumber: 9787
    functionLinenumberEnd: 9793
    functionName: tEncodeSVariablesInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSVariablesInfo(SEncoder *pEncoder, SVariablesInfo *pInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9796,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9796,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9797,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9797,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9798,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9798,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9799,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pInfo
    argTypes:
    - SDecoder*
    - SVariablesInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9801
      start: 9795
    functionDepth: 1
    functionLinenumber: 9795
    functionLinenumberEnd: 9801
    functionName: tDecodeSVariablesInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - TAOS_CHECK_RETURN
    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:9808,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9810,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9810,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9811,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9812,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9812,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9814,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9815,1
    - Dst: tEncodeSVariablesInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9815,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9819,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9820,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9820,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9823,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SShowVariablesRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9833
      start: 9803
    functionDepth: 2
    functionLinenumber: 9803
    functionLinenumberEnd: 9833
    functionName: tSerializeSShowVariablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - TAOS_CHECK_RETURN
    - tEncoderClear
    - tEncodeSVariablesInfo
    - tEncodeCStr
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    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:9839,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9841,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9841,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9843,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9843,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9845,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9847,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9851,1
    - Dst: tDecodeSVariablesInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9851,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9852,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9853,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9857,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9859,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9860,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9860,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9865,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9867,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SShowVariablesRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9869
      start: 9835
    functionDepth: 2
    functionLinenumber: 9835
    functionLinenumberEnd: 9869
    functionName: tDeserializeSShowVariablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecodeSVariablesInfo
    - tDecodeIsEnd
    - taosArrayGet
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSShowVariablesRsp(void *buf, int32_t bufLen, SShowVariablesRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SShowVariablesRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9877
      start: 9871
    functionDepth: 1
    functionLinenumber: 9871
    functionLinenumberEnd: 9877
    functionName: tFreeSShowVariablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSShowVariablesRsp(SShowVariablesRsp *pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9884,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9886,1
    - Dst: tStartEncode
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9887,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9888,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9888,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9889,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9889,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9891,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9891,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9893,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SShowReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9903
      start: 9879
    functionDepth: 1
    functionLinenumber: 9879
    functionLinenumberEnd: 9903
    functionName: tSerializeSShowReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSShowReq(void *buf, int32_t bufLen, SShowReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SShowReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9905
      start: 9905
    functionDepth: 1
    functionLinenumber: 9905
    functionLinenumberEnd: 9905
    functionName: tFreeSShowReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSShowReq(SShowReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9912,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9914,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9915,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9915,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9916,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9916,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9917,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9917,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9918,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9918,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9919,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9919,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9920,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9920,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9921,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9921,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9922,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveTableReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9932
      start: 9907
    functionDepth: 1
    functionLinenumber: 9907
    functionLinenumberEnd: 9932
    functionName: tSerializeSRetrieveTableReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderInit
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSRetrieveTableReq(void *buf, int32_t bufLen, SRetrieveTableReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9939,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9941,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9941,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9942,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9942,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9943,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9943,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9944,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9944,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9945,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9945,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9946,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9946,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9947,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9948,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9948,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9952,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9953,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9953,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9955,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveTableReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9959
      start: 9934
    functionDepth: 1
    functionLinenumber: 9934
    functionLinenumberEnd: 9959
    functionName: tDeserializeSRetrieveTableReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSRetrieveTableReq(void *buf, int32_t bufLen, SRetrieveTableReq
      *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9962,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9962,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9963,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9963,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9964,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9964,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9965,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9965,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9966,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9966,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9967,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9967,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9968,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9968,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9969,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9969,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9970,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9970,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9971,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9971,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9972,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9972,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9973,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9973,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9974,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9974,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9977,1
    - Dst: tEncodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9977,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9980,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9983,1
    - Dst: tEncodeSSchemaExt
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9983,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9987,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9987,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9988,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9988,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9989,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9992,1
    - Dst: tEncodeSColRef
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9992,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9995,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9995,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9996,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9996,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9997,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9997,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9998,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9998,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10001,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10001,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10002,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10005,1
    - Dst: tEncodeSColRef
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10005,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10010
      start: 9961
    functionDepth: 1
    functionLinenumber: 9961
    functionLinenumberEnd: 10010
    functionName: tEncodeSTableMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - hasRefCol
    - withExtSchema
    - tEncodeU64
    - TAOS_CHECK_RETURN
    - tEncodeSSchema
    - tEncodeCStr
    - tEncodeU8
    - tEncodeI64
    - tEncodeI32
    - tEncodeSColRef
    - tEncodeSSchemaExt
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSTableMetaRsp(SEncoder *pEncoder, STableMetaRsp *pRsp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10013,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10013,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10014,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10014,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10015,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10015,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10016,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10016,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10017,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10017,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10018,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10018,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10019,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10019,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10020,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10020,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10021,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10021,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10022,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10022,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10023,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10023,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10024,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10024,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10025,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10025,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10029,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10031,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10036,1
    - Dst: tDecodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10036,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10042,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10043,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10044,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10046,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10051,1
    - Dst: tDecodeSSchemaExt
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10051,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10057,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10058,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10058,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10059,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10059,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10060,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10061,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10063,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10068,1
    - Dst: tDecodeSColRef
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10068,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10074,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10075,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10075,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10077,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10078,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10078,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10080,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10081,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10081,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10083,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10084,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10084,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10092,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10093,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10093,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10094,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10095,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10097,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10102,1
    - Dst: tDecodeSColRef
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10102,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10108
      start: 10012
    functionDepth: 1
    functionLinenumber: 10012
    functionLinenumberEnd: 10108
    functionName: tDecodeSTableMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeSSchemaExt
    - taosMemoryMalloc
    - tDecodeIsEnd
    - withExtSchema
    - TAOS_CHECK_RETURN
    - hasRefCol
    - tDecodeCStrTo
    - tDecodeSColRef
    - tDecodeU8
    - tDecodeSSchema
    - tDecodeI8
    - tDecodeI64
    - tDecodeU64
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSTableMetaRsp(SDecoder *pDecoder, STableMetaRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10117,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10117,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10118,1
    - Dst: tEncodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10118,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10119,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10129
      start: 10110
    functionDepth: 2
    functionLinenumber: 10110
    functionLinenumberEnd: 10129
    functionName: tSerializeSTableMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 8
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - 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:10137,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10139,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10139,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10142,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10142,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10145,1
    - Dst: tEncodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10145,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10148,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10149,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10149,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10151,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10152,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10152,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10153,1
    - Dst: tEncodeCStr
      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: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10155,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10155,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10156,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10156,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10158,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10158,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10160,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10161,1
    - Dst: tSerializeSTableIndexInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10161,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10165,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSTbHbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10175
      start: 10131
    functionDepth: 3
    functionLinenumber: 10131
    functionLinenumberEnd: 10175
    functionName: tSerializeSSTbHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncodeU64
    - tEncoderClear
    - tSerializeSTableIndexInfo
    - tEncodeCStr
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    - 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:10182,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10184,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10184,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10185,1
    - Dst: tDecodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10185,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10187,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableMetaRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10191
      start: 10177
    functionDepth: 2
    functionLinenumber: 10177
    functionLinenumberEnd: 10191
    functionName: tDeserializeSTableMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - tDecoderClear
    - tDecodeSTableMetaRsp
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTableMetaRsp(void *buf, int32_t bufLen, STableMetaRsp
      *pRsp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10198,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10200,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10200,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10203,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10203,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10204,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10211,1
    - Dst: tDecodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10211,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10212,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10213,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10214,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10215,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10222,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10222,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10224,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10231,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10231,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10232,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10232,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10233,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10233,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10234,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10234,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10235,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10235,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10237,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10237,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10239,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10241,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10245,1
    - Dst: tDeserializeSTableIndexInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10245,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10246,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10247,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10248,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10252,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10253,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10254,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10258,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10261,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSTbHbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10263
      start: 10193
    functionDepth: 3
    functionLinenumber: 10193
    functionLinenumberEnd: 10263
    functionName: tDeserializeSSTbHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - taosArrayDestroyEx
    - tDeserializeSTableIndexInfo
    - tDecodeCStrTo
    - tDecoderClear
    - tDecodeSTableMetaRsp
    - taosMemoryFree
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeU64
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSSTbHbRsp(void *buf, int32_t bufLen, SSTbHbRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10270,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10271,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10272,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10274
      start: 10265
    functionDepth: 1
    functionLinenumber: 10265
    functionLinenumberEnd: 10274
    functionName: tFreeSTableMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 13
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSTableMetaRsp(void *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10284
      start: 10276
    functionDepth: 1
    functionLinenumber: 10276
    functionLinenumberEnd: 10284
    functionName: tFreeSTableIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 4
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: void tFreeSTableIndexRsp(void *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10287,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10289,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10290,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10293,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10295,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10297,1
    - Dst: tFreeSTableIndexRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10298,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SSTbHbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10302
      start: 10286
    functionDepth: 2
    functionLinenumber: 10286
    functionLinenumberEnd: 10302
    functionName: tFreeSSTbHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tFreeSTableMetaRsp
    - taosArrayGet
    - tFreeSTableIndexRsp
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSSTbHbRsp(SSTbHbRsp *pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10314,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10316,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10316,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10317,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10317,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10318,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10318,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10319,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10319,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10320,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10320,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10321,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10325,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10329,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10333,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableInfoReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10339
      start: 10304
    functionDepth: 1
    functionLinenumber: 10304
    functionLinenumberEnd: 10339
    functionName: tSerializeSTableInfoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - tEncodeU8
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSTableInfoReq(void *buf, int32_t bufLen, STableInfoReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10352,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10352,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10353,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10353,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10354,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10354,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10356,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10356,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10360,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10361,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10361,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10366,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableInfoReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10370
      start: 10341
    functionDepth: 1
    functionLinenumber: 10341
    functionLinenumberEnd: 10370
    functionName: tDeserializeSTableInfoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeU8
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSTableInfoReq(void *buf, int32_t bufLen, STableInfoReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10377,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10379,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10379,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10380,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10380,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10381,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10381,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10382,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10383,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10383,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10385,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropTopicReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10395
      start: 10372
    functionDepth: 1
    functionLinenumber: 10372
    functionLinenumberEnd: 10395
    functionName: tSerializeSMDropTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropTopicReq(void *buf, int32_t bufLen, SMDropTopicReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10404,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10404,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10405,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10405,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10406,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10406,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10407,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10408,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10409,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10409,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10411,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropTopicReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10416
      start: 10397
    functionDepth: 1
    functionLinenumber: 10397
    functionLinenumberEnd: 10416
    functionName: tDeserializeSMDropTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropTopicReq(void *buf, int32_t bufLen, SMDropTopicReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropTopicReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10418
      start: 10418
    functionDepth: 1
    functionLinenumber: 10418
    functionLinenumberEnd: 10418
    functionName: tFreeSMDropTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMDropTopicReq(SMDropTopicReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10425,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10427,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10427,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10428,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10428,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10429,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10429,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10430,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10432,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMReloadTopicReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10442
      start: 10420
    functionDepth: 1
    functionLinenumber: 10420
    functionLinenumberEnd: 10442
    functionName: tSerializeSMReloadTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMReloadTopicReq(void *buf, int32_t bufLen, SMReloadTopicReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10449,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10451,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10451,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10452,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10452,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10453,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10453,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10454,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10455,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMReloadTopicReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10460
      start: 10444
    functionDepth: 1
    functionLinenumber: 10444
    functionLinenumberEnd: 10460
    functionName: tDeserializeSMReloadTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMReloadTopicReq(void *buf, int32_t bufLen, SMReloadTopicReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMReloadTopicReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10462
      start: 10462
    functionDepth: 1
    functionLinenumber: 10462
    functionLinenumberEnd: 10462
    functionName: tFreeSMReloadTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSMReloadTopicReq(SMReloadTopicReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      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: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10471,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10472,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10472,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10473,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10473,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10474,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10474,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10475,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10475,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10476,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropCgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10486
      start: 10464
    functionDepth: 1
    functionLinenumber: 10464
    functionLinenumberEnd: 10486
    functionName: tSerializeSMDropCgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMDropCgroupReq(void *buf, int32_t bufLen, SMDropCgroupReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10492,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10494,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10495,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10495,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10496,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10496,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10497,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10497,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10499,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10499,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10501,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropCgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10506
      start: 10488
    functionDepth: 1
    functionLinenumber: 10488
    functionLinenumberEnd: 10506
    functionName: tDeserializeSMDropCgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecoderInit
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMDropCgroupReq(void *buf, int32_t bufLen, SMDropCgroupReq
      *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10513,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10515,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10515,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10516,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10516,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10517,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10517,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10518,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10518,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10519,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10519,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10520,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10520,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10523,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10523,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10525,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10525,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10526,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10526,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10528,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10531,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10531,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10532,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10533,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10533,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10535,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMCreateTopicReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10545
      start: 10508
    functionDepth: 1
    functionLinenumber: 10508
    functionLinenumberEnd: 10545
    functionName: tSerializeSCMCreateTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - strlen
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCMCreateTopicReq(void *buf, int32_t bufLen, const
      SCMCreateTopicReq *pReq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10555,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10556,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10556,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10557,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10557,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10558,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10558,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10559,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10559,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10560,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10560,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10563,1
    - Dst: tDecodeCStrTo
      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: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10564,1
    - Dst: taosMemoryCalloc
      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: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10570,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10570,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10573,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10573,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10579,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10579,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10581,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10582,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10582,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10584,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMCreateTopicReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10589
      start: 10547
    functionDepth: 1
    functionLinenumber: 10547
    functionLinenumberEnd: 10589
    functionName: tDeserializeSCMCreateTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecoderInit
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCMCreateTopicReq(void *buf, int32_t bufLen, SCMCreateTopicReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10592,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCMCreateTopicReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10596
      start: 10591
    functionDepth: 1
    functionLinenumber: 10591
    functionLinenumberEnd: 10596
    functionName: tFreeSCMCreateTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSCMCreateTopicReq(SCMCreateTopicReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10605,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10605,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10606,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10606,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10607,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10607,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10608,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10608,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10609,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10609,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10610,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10610,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10611,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10611,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10612,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10612,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10613,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10613,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10614,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10614,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10615,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10616,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10617,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10617,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10618,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SConnectReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10628
      start: 10598
    functionDepth: 1
    functionLinenumber: 10598
    functionLinenumberEnd: 10628
    functionName: tSerializeSConnectReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStrWithLen
    - tEncodeCStr
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSConnectReq(void *buf, int32_t bufLen, SConnectReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10634,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10636,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10636,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10637,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10637,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10638,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10638,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10639,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10639,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10640,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10641,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10641,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10642,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10643,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10643,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10645,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10647,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10649,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10649,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10651,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10652,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10655,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10655,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10656,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10656,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10657,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10657,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10658,1
    - Dst: tDecodeBinaryTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10658,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10660,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SConnectReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10665
      start: 10630
    functionDepth: 1
    functionLinenumber: 10630
    functionLinenumberEnd: 10665
    functionName: tDeserializeSConnectReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderInit
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecodeBinaryTo
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSConnectReq(void *buf, int32_t bufLen, SConnectReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10669,1
    - Dst: tSHA1
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pReq
    - signature
    argTypes:
    - SConnectReq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10673
      start: 10667
    functionDepth: 1
    functionLinenumber: 10667
    functionLinenumberEnd: 10673
    functionName: tCalculateConnectReqSignature
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - snprintf
    - tSHA1
    linkageType: ''
    returnType: void
    signature: void tCalculateConnectReqSignature(const SConnectReq *pReq, char *signature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tCalculateConnectReqSignature
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SConnectReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10675
      start: 10675
    functionDepth: 2
    functionLinenumber: 10675
    functionLinenumberEnd: 10675
    functionName: tSignConnectReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tCalculateConnectReqSignature
    linkageType: ''
    returnType: void
    signature: void tSignConnectReq(SConnectReq *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10678,1
    - Dst: tCalculateConnectReqSignature
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10686,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SConnectReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10691
      start: 10677
    functionDepth: 2
    functionLinenumber: 10677
    functionLinenumberEnd: 10691
    functionName: tVerifyConnectReqSignature
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - memcmp
    - taosGetTimestampMs
    - tCalculateConnectReqSignature
    linkageType: ''
    returnType: int32_t
    signature: int32_t tVerifyConnectReqSignature(const SConnectReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10698,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10700,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10700,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10701,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10701,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10702,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10702,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10703,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10703,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10704,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10704,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10705,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10705,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10706,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10706,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10707,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10707,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10708,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10708,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10709,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10709,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10710,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10710,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10711,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10711,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10712,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10712,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10713,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10713,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10714,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10714,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10715,1
    - Dst: tSerializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10715,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10716,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10716,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10717,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10717,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10718,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10718,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10719,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10719,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10720,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10720,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10721,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10721,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10722,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10722,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10723,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10723,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10724,1
    - Dst: tEncodeU32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10724,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10725,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SConnectRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10735
      start: 10693
    functionDepth: 2
    functionLinenumber: 10693
    functionLinenumberEnd: 10735
    functionName: tSerializeSConnectRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncodeI8
    - tEncodeSEpSet
    - tSerializeSMonitorParas
    - tEncoderClear
    - tEncodeU32
    - tEncodeU32v
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSConnectRsp(void *buf, int32_t bufLen, SConnectRsp
      *pRsp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10741,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10743,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10743,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10744,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10744,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10745,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10746,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10746,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10747,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10747,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10748,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10748,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10749,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10749,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10750,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10750,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10751,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10751,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10752,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10752,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10753,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10753,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10754,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10754,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10756,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10757,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10757,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10762,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10763,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10763,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10768,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10769,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10769,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10773,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10774,1
    - Dst: tDeserializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10774,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10776,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10777,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10777,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10782,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10783,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10783,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10784,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10784,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10785,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10785,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10787,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10787,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10788,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10788,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10789,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10789,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10790,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10790,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10802,1
    - Dst: tDecodeU32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10802,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10807,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 64
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SConnectRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10812
      start: 10737
    functionDepth: 2
    functionLinenumber: 10737
    functionLinenumberEnd: 10812
    functionName: tDeserializeSConnectRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeI64
    - tDecodeSEpSet
    - tDecodeIsEnd
    - tDecodeI8
    - tDeserializeSMonitorParas
    - tDecodeCStrTo
    - tDecodeU32v
    - tDecoderClear
    - tEndDecode
    - tDecodeU32
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    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:10819,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10821,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10821,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10822,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10822,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10823,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMTimerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10833
      start: 10814
    functionDepth: 1
    functionLinenumber: 10814
    functionLinenumberEnd: 10833
    functionName: tSerializeSMTimerMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMTimerMsg(void *buf, int32_t bufLen, SMTimerReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10840,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10842,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10842,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10844,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10845,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10845,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10848,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10849,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10849,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10850,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10850,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10851,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10851,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10854,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pMsg
    argTypes:
    - void*
    - int32_t
    - SMStreamDropOrphanMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10864
      start: 10835
    functionDepth: 1
    functionLinenumber: 10835
    functionLinenumberEnd: 10864
    functionName: tSerializeDropOrphanTaskMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncoderClear
    - tEncodeI64
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeDropOrphanTaskMsg(void *buf, int32_t bufLen, SMStreamDropOrphanMsg
      *pMsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10870,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10872,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10872,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10875,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10875,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10878,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10880,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10884,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10884,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10885,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10885,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10886,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10886,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10888,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10889,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10894,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pMsg
    argTypes:
    - void*
    - int32_t
    - SMStreamDropOrphanMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10898
      start: 10866
    functionDepth: 1
    functionLinenumber: 10866
    functionLinenumberEnd: 10898
    functionName: tDeserializeDropOrphanTaskMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeDropOrphanTaskMsg(void *buf, int32_t bufLen, SMStreamDropOrphanMsg
      *pMsg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SMStreamDropOrphanMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10906
      start: 10900
    functionDepth: 1
    functionLinenumber: 10900
    functionLinenumberEnd: 10906
    functionName: tDestroyDropOrphanTaskMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tDestroyDropOrphanTaskMsg(SMStreamDropOrphanMsg *pMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10909,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10909,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10910,1
    - Dst: tEncodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10910,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10911,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pEncoder
    - pReplica
    argTypes:
    - SEncoder*
    - SReplica*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10913
      start: 10908
    functionDepth: 1
    functionLinenumber: 10908
    functionLinenumberEnd: 10913
    functionName: tEncodeSReplica
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeU16
    - tEncodeCStr
    - tEncodeI32
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: int32_t tEncodeSReplica(SEncoder *pEncoder, SReplica *pReplica)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10916,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10916,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10917,1
    - Dst: tDecodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10917,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10918,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pReplica
    argTypes:
    - SDecoder*
    - SReplica*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10920
      start: 10915
    functionDepth: 1
    functionLinenumber: 10915
    functionLinenumberEnd: 10920
    functionName: tDecodeSReplica
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecodeU16
    - TAOS_CHECK_RETURN
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDecodeSReplica(SDecoder *pDecoder, SReplica *pReplica)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10927,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10929,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10929,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10930,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10930,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10931,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10931,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10932,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10932,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10933,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10933,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10934,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10934,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10935,1
    - Dst: tEncodeI32
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10936,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10937,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10937,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10938,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10938,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10939,1
    - Dst: tEncodeI32
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10940,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10941,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10941,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10942,1
    - Dst: tEncodeI32
      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: tEncodeI32
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10944,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10945,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10945,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10946,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10946,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10947,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10947,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10948,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10948,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10949,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10949,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10950,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10950,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10951,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10951,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10952,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10952,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10953,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10953,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10954,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10954,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10955,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10955,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10958,1
    - Dst: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10958,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10960,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10960,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10962,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10963,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10964,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10965,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10965,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10966,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10966,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10969,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10969,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10971,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10972,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10972,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10974,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10974,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10975,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10975,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10976,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10976,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10977,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10977,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10978,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10978,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10979,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10979,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10980,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10980,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10981,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10981,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10983,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10983,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10985,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10985,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10986,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10986,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10989,1
    - Dst: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10989,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10991,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10991,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10992,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10992,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10993,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10993,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10994,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10994,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10995,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10995,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10996,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10996,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10997,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10997,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10998,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10998,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10999,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10999,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11000,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11000,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11002,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11010,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 79
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateVnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11012
      start: 10922
    functionDepth: 2
    functionLinenumber: 10922
    functionLinenumberEnd: 11012
    functionName: tSerializeSCreateVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - htonl
    - tEncodeI8
    - taosArrayGet
    - tEncodeI16
    - tEncodeSReplica
    - tEncoderClear
    - tEncodeU32
    - tEncodeCStr
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - tEncodeU8
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCreateVnodeReq(void *buf, int32_t bufLen, SCreateVnodeReq
      *pReq)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11019,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11021,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11021,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11022,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11022,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11023,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11023,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11024,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11024,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11025,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11025,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11026,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11026,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11027,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11027,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11028,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11028,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11029,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11029,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11030,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11030,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11031,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11031,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11032,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11032,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11033,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11033,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11034,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11034,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11035,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11035,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11036,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11036,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11037,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11037,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11038,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11038,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11039,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11039,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11040,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11040,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11041,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11041,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11042,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11043,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11043,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11044,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11044,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11045,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11045,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11046,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11046,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11047,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11047,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11050,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11050,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11052,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11052,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11053,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11055,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11060,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11060,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11061,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11061,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11062,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11062,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11063,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11063,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11064,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: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11069,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11071,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11071,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11074,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11074,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11075,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11075,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11076,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11076,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11077,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11077,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11078,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11079,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11079,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11080,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11080,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11081,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11081,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11083,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11083,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11085,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11086,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11086,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11087,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11087,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11090,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11090,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11093,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11094,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11094,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11097,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11098,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11098,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11105,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11106,1
    - Dst: tDecodeI32
      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: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11107,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:11108,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11111,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11111,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11113,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11114,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11114,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11121,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11121,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11127,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11127,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11132,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11135,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 110
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateVnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11137
      start: 11014
    functionDepth: 2
    functionLinenumber: 11014
    functionLinenumberEnd: 11137
    functionName: tDeserializeSCreateVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - tDecodeSReplica
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - tDecodeI16
    - tDecodeU8
    - tDecodeU32
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - tEndDecode
    - TAOS_CHECK_EXIT
    - tDecodeBinary
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSCreateVnodeReq(void *buf, int32_t bufLen, SCreateVnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateVnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11143
      start: 11139
    functionDepth: 1
    functionLinenumber: 11139
    functionLinenumberEnd: 11143
    functionName: tFreeSCreateVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: int32_t tFreeSCreateVnodeReq(SCreateVnodeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11150,1
    - 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:11152,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:11154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11155,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11155,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:11156,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11158,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQueryCompactProgressReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11168
      start: 11145
    functionDepth: 1
    functionLinenumber: 11145
    functionLinenumberEnd: 11168
    functionName: tSerializeSQueryCompactProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSQueryCompactProgressReq(void *buf, int32_t bufLen,
      SQueryCompactProgressReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11177,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11178,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11179,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11180,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11180,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11182,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQueryCompactProgressReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11186
      start: 11170
    functionDepth: 1
    functionLinenumber: 11170
    functionLinenumberEnd: 11186
    functionName: tDeserializeSQueryCompactProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSQueryCompactProgressReq(void *buf, int32_t bufLen,
      SQueryCompactProgressReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11193,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11195,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11195,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11196,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11197,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11198,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11198,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11199,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11199,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11200,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11200,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11202,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11202,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11203,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11203,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11205,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQueryCompactProgressRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11215
      start: 11188
    functionDepth: 1
    functionLinenumber: 11188
    functionLinenumberEnd: 11215
    functionName: tSerializeSQueryCompactProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI32v
    - tEncoderClear
    - tEncodeI64v
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSQueryCompactProgressRsp(void *buf, int32_t bufLen,
      SQueryCompactProgressRsp *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11220,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11222,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11222,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11223,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11223,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11224,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11224,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11225,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11226,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11227,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11227,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11229,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11230,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11230,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11231,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11231,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11237,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQueryCompactProgressRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11241
      start: 11216
    functionDepth: 1
    functionLinenumber: 11216
    functionLinenumberEnd: 11241
    functionName: tDeserializeSQueryCompactProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64v
    - tDecodeIsEnd
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32v
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSQueryCompactProgressRsp(void *buf, int32_t bufLen,
      SQueryCompactProgressRsp *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11248,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11250,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11250,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11251,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11252,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11253,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11253,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11254,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11254,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11256,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11256,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11258,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropVnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11268
      start: 11243
    functionDepth: 1
    functionLinenumber: 11243
    functionLinenumberEnd: 11268
    functionName: tSerializeSDropVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDropVnodeReq(void *buf, int32_t bufLen, SDropVnodeReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11274,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11276,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11276,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11277,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11278,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11278,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11279,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11279,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11280,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11280,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11282,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11282,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11284,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropVnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11289
      start: 11270
    functionDepth: 1
    functionLinenumber: 11270
    functionLinenumberEnd: 11289
    functionName: tDeserializeSDropVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDropVnodeReq(void *buf, int32_t bufLen, SDropVnodeReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11297,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11297,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11298,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11298,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11299,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11299,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11300,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11300,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11301,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11301,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11303,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11303,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11305,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropIndexReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11315
      start: 11290
    functionDepth: 1
    functionLinenumber: 11290
    functionLinenumberEnd: 11315
    functionName: tSerializeSDropIdxReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDropIdxReq(void *buf, int32_t bufLen, SDropIndexReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11321,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11323,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11324,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11324,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11325,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11325,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11326,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11326,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11327,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11327,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11329,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11329,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11331,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropIndexReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11336
      start: 11317
    functionDepth: 1
    functionLinenumber: 11317
    functionLinenumberEnd: 11336
    functionName: tDeserializeSDropIdxReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    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:11343,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11345,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11345,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11346,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11346,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11347,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11347,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11348,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11348,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11351,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11351,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11352,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11352,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11354,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11354,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11355,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11357,1
    - Dst: tEncodeU16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11357,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11358,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11358,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11360,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCompactVnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11370
      start: 11338
    functionDepth: 1
    functionLinenumber: 11338
    functionLinenumberEnd: 11370
    functionName: tSerializeSCompactVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderInit
    - tEncodeI8
    - tEncoderClear
    - tEncodeU16v
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSCompactVnodeReq(void *buf, int32_t bufLen, SCompactVnodeReq
      *pReq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11376,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11378,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11378,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11379,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11379,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11380,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11380,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11381,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11381,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11384,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11388,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11388,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11389,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11389,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11392,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11393,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11393,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11396,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11397,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11397,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11403,1
    - Dst: tDecodeU16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11403,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11410,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11411,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11411,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11414,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCompactVnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11418
      start: 11372
    functionDepth: 1
    functionLinenumber: 11372
    functionLinenumberEnd: 11418
    functionName: tDeserializeSCompactVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecodeI64
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - tDecodeU16v
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    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:11425,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11427,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11427,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11428,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11428,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11429,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11429,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11430,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11430,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11432,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVKillCompactReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11442
      start: 11420
    functionDepth: 1
    functionLinenumber: 11420
    functionLinenumberEnd: 11442
    functionName: tSerializeSVKillCompactReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    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:11449,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11451,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11451,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11452,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11452,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11453,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11453,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11454,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11454,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11455,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVKillCompactReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11460
      start: 11444
    functionDepth: 1
    functionLinenumber: 11444
    functionLinenumberEnd: 11460
    functionName: tDeserializeSVKillCompactReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVKillCompactReq(void *buf, int32_t bufLen, SVKillCompactReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11468,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11470,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11470,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11471,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11471,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11472,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11472,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11473,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11473,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11474,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11474,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11475,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11475,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11476,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11476,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11477,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11477,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11478,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11478,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11479,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11479,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11480,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11480,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11481,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11481,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11482,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11482,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11483,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11483,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11485,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11485,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11489,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11489,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11490,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11490,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11492,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11492,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11493,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11493,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11494,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11496,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11496,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11497,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11498,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11499,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11499,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11500,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11500,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11501,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11501,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11503,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeConfigReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11513
      start: 11462
    functionDepth: 1
    functionLinenumber: 11462
    functionLinenumberEnd: 11513
    functionName: tSerializeSAlterVnodeConfigReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeI16
    - tEncoderClear
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSAlterVnodeConfigReq(void *buf, int32_t bufLen, SAlterVnodeConfigReq
      *pReq)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11519,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11521,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11521,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11522,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11523,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11523,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11524,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11525,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11526,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11526,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11527,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11528,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11529,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11530,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11531,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11532,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11533,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11533,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11534,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11534,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11536,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11536,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11540,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11544,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11544,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11545,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11545,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11549,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11553,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11554,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11554,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11557,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11558,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11558,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11563,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11564,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11564,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11565,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11565,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11568,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11568,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11572,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11573,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11573,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11578,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11578,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11582,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11583,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11583,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11588,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 68
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeConfigReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11593
      start: 11515
    functionDepth: 1
    functionLinenumber: 11515
    functionLinenumberEnd: 11593
    functionName: tDeserializeSAlterVnodeConfigReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecoderInit
    - tDecodeIsEnd
    - tDecoderClear
    - tDecodeI16
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSAlterVnodeConfigReq(void *buf, int32_t bufLen,
      SAlterVnodeConfigReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11602,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11602,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11603,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11604,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11605,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11605,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11606,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11606,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11609,1
    - Dst: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11609,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11612,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11612,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11614,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11614,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11615,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11618,1
    - Dst: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11618,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11620,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11620,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11621,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11621,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11622,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeReplicaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11632
      start: 11595
    functionDepth: 2
    functionLinenumber: 11595
    functionLinenumberEnd: 11632
    functionName: tSerializeSAlterVnodeReplicaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeSReplica
    - tEncoderClear
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSAlterVnodeReplicaReq(void *buf, int32_t bufLen,
      SAlterVnodeReplicaReq *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11638,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11640,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11641,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11641,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11642,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11643,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11644,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11647,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11647,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11650,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11650,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11652,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11653,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11654,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11654,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11657,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11657,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11660,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11661,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11661,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11664,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11664,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11667,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeReplicaReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11671
      start: 11634
    functionDepth: 2
    functionLinenumber: 11634
    functionLinenumberEnd: 11671
    functionName: tDeserializeSAlterVnodeReplicaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeI64
    - tDecodeSReplica
    - tDecoderInit
    - tDecodeIsEnd
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    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:11678,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11680,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11680,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11681,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11681,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11682,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11682,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11684,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDisableVnodeWriteReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11694
      start: 11673
    functionDepth: 1
    functionLinenumber: 11673
    functionLinenumberEnd: 11694
    functionName: tSerializeSDisableVnodeWriteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDisableVnodeWriteReq(void *buf, int32_t bufLen,
      SDisableVnodeWriteReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11700,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11702,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11702,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11703,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11703,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11704,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11704,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11706,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDisableVnodeWriteReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11710
      start: 11696
    functionDepth: 1
    functionLinenumber: 11696
    functionLinenumberEnd: 11710
    functionName: tDeserializeSDisableVnodeWriteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderInit
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDisableVnodeWriteReq(void *buf, int32_t bufLen,
      SDisableVnodeWriteReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11717,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11719,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11719,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11720,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11720,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11721,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11721,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11722,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11722,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11723,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11723,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11724,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11724,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11725,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11725,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11727,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeHashRangeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11737
      start: 11712
    functionDepth: 1
    functionLinenumber: 11712
    functionLinenumberEnd: 11737
    functionName: tSerializeSAlterVnodeHashRangeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSAlterVnodeHashRangeReq(void *buf, int32_t bufLen,
      SAlterVnodeHashRangeReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11743,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11745,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11746,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11746,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11747,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11747,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11748,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11748,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11749,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11749,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11750,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11750,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11751,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11751,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11753,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeHashRangeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11757
      start: 11739
    functionDepth: 1
    functionLinenumber: 11739
    functionLinenumberEnd: 11757
    functionName: tDeserializeSAlterVnodeHashRangeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSAlterVnodeHashRangeReq(void *buf, int32_t bufLen,
      SAlterVnodeHashRangeReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11764,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11766,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11766,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11767,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11767,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11768,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillQueryReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11778
      start: 11759
    functionDepth: 1
    functionLinenumber: 11759
    functionLinenumberEnd: 11778
    functionName: tSerializeSKillQueryReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSKillQueryReq(void *buf, int32_t bufLen, SKillQueryReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11784,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11786,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11786,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11787,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11787,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11788,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillQueryReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11793
      start: 11780
    functionDepth: 1
    functionLinenumber: 11780
    functionLinenumberEnd: 11793
    functionName: tDeserializeSKillQueryReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSKillQueryReq(void *buf, int32_t bufLen, SKillQueryReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11800,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11802,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11802,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11803,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11803,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11804,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillConnReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11814
      start: 11795
    functionDepth: 1
    functionLinenumber: 11795
    functionLinenumberEnd: 11814
    functionName: tSerializeSKillConnReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeU32
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSKillConnReq(void *buf, int32_t bufLen, SKillConnReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11820,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11822,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11822,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11823,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11823,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11824,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillConnReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11829
      start: 11816
    functionDepth: 1
    functionLinenumber: 11816
    functionLinenumberEnd: 11829
    functionName: tDeserializeSKillConnReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecodeU32
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSKillConnReq(void *buf, int32_t bufLen, SKillConnReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      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: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11838,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11839,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11839,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11840,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillTransReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11850
      start: 11831
    functionDepth: 1
    functionLinenumber: 11831
    functionLinenumberEnd: 11850
    functionName: tSerializeSKillTransReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSKillTransReq(void *buf, int32_t bufLen, SKillTransReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11856,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11858,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11858,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11859,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11859,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11860,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillTransReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11865
      start: 11852
    functionDepth: 1
    functionLinenumber: 11852
    functionLinenumberEnd: 11865
    functionName: tDeserializeSKillTransReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSKillTransReq(void *buf, int32_t bufLen, SKillTransReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11872,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11874,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11874,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11875,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11875,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11876,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11877,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBalanceVgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11887
      start: 11867
    functionDepth: 1
    functionLinenumber: 11867
    functionLinenumberEnd: 11887
    functionName: tSerializeSBalanceVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSBalanceVgroupReq(void *buf, int32_t bufLen, SBalanceVgroupReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11893,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11895,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11895,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11896,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11896,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11897,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11898,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBalanceVgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11903
      start: 11889
    functionDepth: 1
    functionLinenumber: 11889
    functionLinenumberEnd: 11903
    functionName: tDeserializeSBalanceVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSBalanceVgroupReq(void *buf, int32_t bufLen, SBalanceVgroupReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SBalanceVgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11905
      start: 11905
    functionDepth: 1
    functionLinenumber: 11905
    functionLinenumberEnd: 11905
    functionName: tFreeSBalanceVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSBalanceVgroupReq(SBalanceVgroupReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11912,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11914,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11915,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11915,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11916,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11917,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAssignLeaderReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11927
      start: 11907
    functionDepth: 1
    functionLinenumber: 11907
    functionLinenumberEnd: 11927
    functionName: tSerializeSAssignLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSAssignLeaderReq(void *buf, int32_t bufLen, SAssignLeaderReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11933,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11935,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11935,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11936,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11936,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11937,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11938,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAssignLeaderReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11943
      start: 11929
    functionDepth: 1
    functionLinenumber: 11929
    functionLinenumberEnd: 11943
    functionName: tDeserializeSAssignLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSAssignLeaderReq(void *buf, int32_t bufLen, SAssignLeaderReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SAssignLeaderReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11945
      start: 11945
    functionDepth: 1
    functionLinenumber: 11945
    functionLinenumberEnd: 11945
    functionName: tFreeSAssignLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSAssignLeaderReq(SAssignLeaderReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11952,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11954,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11954,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11955,1
    - Dst: tEncodeI32
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11956,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11957,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11958,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11958,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11960,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBalanceVgroupLeaderReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11970
      start: 11947
    functionDepth: 1
    functionLinenumber: 11947
    functionLinenumberEnd: 11970
    functionName: tSerializeSBalanceVgroupLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSBalanceVgroupLeaderReq(void *buf, int32_t bufLen,
      SBalanceVgroupLeaderReq *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11976,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11978,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11978,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11979,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11979,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11980,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11981,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11981,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11983,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11984,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11985,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11985,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11988,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBalanceVgroupLeaderReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11993
      start: 11972
    functionDepth: 1
    functionLinenumber: 11972
    functionLinenumberEnd: 11993
    functionName: tDeserializeSBalanceVgroupLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeIsEnd
    - tDecodeCStrTo
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSBalanceVgroupLeaderReq(void *buf, int32_t bufLen,
      SBalanceVgroupLeaderReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SBalanceVgroupLeaderReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11995
      start: 11995
    functionDepth: 1
    functionLinenumber: 11995
    functionLinenumberEnd: 11995
    functionName: tFreeSBalanceVgroupLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSBalanceVgroupLeaderReq(SBalanceVgroupLeaderReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12002,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12004,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12004,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12005,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12005,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12006,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12006,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12007,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMergeVgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12017
      start: 11997
    functionDepth: 1
    functionLinenumber: 11997
    functionLinenumberEnd: 12017
    functionName: tSerializeSMergeVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMergeVgroupReq(void *buf, int32_t bufLen, SMergeVgroupReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12023,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12025,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12025,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12026,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12026,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12027,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12027,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12028,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMergeVgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12033
      start: 12019
    functionDepth: 1
    functionLinenumber: 12019
    functionLinenumberEnd: 12033
    functionName: tDeserializeSMergeVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    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:12040,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12042,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12043,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12043,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12044,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12044,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12045,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12045,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12046,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12046,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12047,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12048,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRedistributeVgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12058
      start: 12035
    functionDepth: 1
    functionLinenumber: 12035
    functionLinenumberEnd: 12058
    functionName: tSerializeSRedistributeVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - ENCODESQL
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSRedistributeVgroupReq(void *buf, int32_t bufLen,
      SRedistributeVgroupReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12064,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12066,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12066,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12067,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12067,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12068,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12068,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12069,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12069,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12070,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12070,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12071,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12072,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRedistributeVgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12077
      start: 12060
    functionDepth: 1
    functionLinenumber: 12060
    functionLinenumberEnd: 12077
    functionName: tDeserializeSRedistributeVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecoderClear
    - DECODESQL
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSRedistributeVgroupReq(void *buf, int32_t bufLen,
      SRedistributeVgroupReq *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRedistributeVgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12079
      start: 12079
    functionDepth: 1
    functionLinenumber: 12079
    functionLinenumberEnd: 12079
    functionName: tFreeSRedistributeVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: void tFreeSRedistributeVgroupReq(SRedistributeVgroupReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12086,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12088,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12088,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12089,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12089,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12090,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12090,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12091,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSplitVgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12101
      start: 12081
    functionDepth: 1
    functionLinenumber: 12081
    functionLinenumberEnd: 12101
    functionName: tSerializeSSplitVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeBool
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSSplitVgroupReq(void *buf, int32_t bufLen, SSplitVgroupReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12107,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12109,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12109,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12110,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12111,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12111,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12112,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSplitVgroupReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12117
      start: 12103
    functionDepth: 1
    functionLinenumber: 12103
    functionLinenumberEnd: 12117
    functionName: tDeserializeSSplitVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 2
    functionsReached:
    - tDecodeBool
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSSplitVgroupReq(void *buf, int32_t bufLen, SSplitVgroupReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12124,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12126,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12127,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12127,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12128,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SForceBecomeFollowerReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12138
      start: 12119
    functionDepth: 1
    functionLinenumber: 12119
    functionLinenumberEnd: 12138
    functionName: tSerializeSForceBecomeFollowerReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSForceBecomeFollowerReq(void *buf, int32_t bufLen,
      SForceBecomeFollowerReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12145,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12147,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12148,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12148,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12151,1
    - Dst: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12151,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12153,1
    - Dst: tEncodeI8
      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: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12158,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12159,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12159,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12160,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDCreateMnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12170
      start: 12140
    functionDepth: 2
    functionLinenumber: 12140
    functionLinenumberEnd: 12170
    functionName: tSerializeSDCreateMnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncodeSReplica
    - tEncoderClear
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDCreateMnodeReq(void *buf, int32_t bufLen, SDCreateMnodeReq
      *pReq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12176,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12178,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12179,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12182,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12182,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12184,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12185,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12188,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12188,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12190,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12190,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12193,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12194,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12194,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12198,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDCreateMnodeReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12203
      start: 12172
    functionDepth: 2
    functionLinenumber: 12172
    functionLinenumberEnd: 12203
    functionName: tDeserializeSDCreateMnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeSReplica
    - tDecoderInit
    - tDecodeIsEnd
    - tDecoderClear
    - tEndDecode
    - tDecodeI8
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDCreateMnodeReq(void *buf, int32_t bufLen, SDCreateMnodeReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12212,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12213,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12214,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12214,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12215,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12215,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12218,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12218,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12220,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12221,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12221,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12222,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12222,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12225,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbHeartBeatReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12235
      start: 12205
    functionDepth: 1
    functionLinenumber: 12205
    functionLinenumberEnd: 12235
    functionName: tSerializeSVArbHeartBeatReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVArbHeartBeatReq(void *buf, int32_t bufLen, SVArbHeartBeatReq
      *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12241,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12243,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12243,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12244,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12244,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12245,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12246,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12248,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12248,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12249,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12249,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12255,1
    - Dst: tDecodeI32
      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: tDecodeI32
      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: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12259,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12260,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12261,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12265,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbHeartBeatReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12270
      start: 12237
    functionDepth: 1
    functionLinenumber: 12237
    functionLinenumberEnd: 12270
    functionName: tDeserializeSVArbHeartBeatReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVArbHeartBeatReq(void *buf, int32_t bufLen, SVArbHeartBeatReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12274,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SVArbHeartBeatReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12276
      start: 12272
    functionDepth: 1
    functionLinenumber: 12272
    functionLinenumberEnd: 12276
    functionName: tFreeSVArbHeartBeatReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSVArbHeartBeatReq(SVArbHeartBeatReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12283,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12285,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12285,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12286,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12286,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12287,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12287,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12288,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12289,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12289,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12291,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12292,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12293,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12293,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12294,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12294,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12296,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbHeartBeatRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12306
      start: 12278
    functionDepth: 1
    functionLinenumber: 12278
    functionLinenumberEnd: 12306
    functionName: tSerializeSVArbHeartBeatRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncoderClear
    - tEncodeCStr
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVArbHeartBeatRsp(void *buf, int32_t bufLen, SVArbHeartBeatRsp
      *pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12312,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12314,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12314,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12315,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12315,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12316,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12316,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12318,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12318,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12319,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12320,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12324,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12324,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12325,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12325,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12326,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12326,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12327,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12328,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12331,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbHeartBeatRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12336
      start: 12308
    functionDepth: 1
    functionLinenumber: 12308
    functionLinenumberEnd: 12336
    functionName: tDeserializeSVArbHeartBeatRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVArbHeartBeatRsp(void *buf, int32_t bufLen, SVArbHeartBeatRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SVArbHeartBeatRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12343
      start: 12338
    functionDepth: 1
    functionLinenumber: 12338
    functionLinenumberEnd: 12343
    functionName: tFreeSVArbHeartBeatRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tFreeSVArbHeartBeatRsp(SVArbHeartBeatRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12352,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12352,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12353,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12353,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12354,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12354,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12355,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12356,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12356,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12358,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbCheckSyncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12368
      start: 12345
    functionDepth: 1
    functionLinenumber: 12345
    functionLinenumberEnd: 12368
    functionName: tSerializeSVArbCheckSyncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVArbCheckSyncReq(void *buf, int32_t bufLen, SVArbCheckSyncReq
      *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12374,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12376,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12376,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12377,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12378,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12380,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12380,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12381,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12381,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12382,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12383,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12385,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12385,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12386,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12387,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12389,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12389,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12391,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbCheckSyncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12396
      start: 12370
    functionDepth: 1
    functionLinenumber: 12370
    functionLinenumberEnd: 12396
    functionName: tDeserializeSVArbCheckSyncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVArbCheckSyncReq(void *buf, int32_t bufLen, SVArbCheckSyncReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12402,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12403,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SVArbCheckSyncReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12405
      start: 12398
    functionDepth: 1
    functionLinenumber: 12398
    functionLinenumberEnd: 12405
    functionName: tFreeSVArbCheckSyncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSVArbCheckSyncReq(SVArbCheckSyncReq *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12412,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12414,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12414,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12415,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12415,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12416,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12416,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12417,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12417,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12418,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12418,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12419,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12419,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12421,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbCheckSyncRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12431
      start: 12407
    functionDepth: 1
    functionLinenumber: 12407
    functionLinenumberEnd: 12431
    functionName: tSerializeSVArbCheckSyncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVArbCheckSyncRsp(void *buf, int32_t bufLen, SVArbCheckSyncRsp
      *pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12437,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12439,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12439,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12440,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12441,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12443,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12443,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12444,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12445,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12447,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12447,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12448,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12449,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12451,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12451,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12452,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12452,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12453,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12453,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12455,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbCheckSyncRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12460
      start: 12433
    functionDepth: 1
    functionLinenumber: 12433
    functionLinenumberEnd: 12460
    functionName: tDeserializeSVArbCheckSyncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVArbCheckSyncRsp(void *buf, int32_t bufLen, SVArbCheckSyncRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12466,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12467,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SVArbCheckSyncRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12469
      start: 12462
    functionDepth: 1
    functionLinenumber: 12462
    functionLinenumberEnd: 12469
    functionName: tFreeSVArbCheckSyncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSVArbCheckSyncRsp(SVArbCheckSyncRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12477,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12479,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12479,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12481,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12481,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12483,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVAuditRecordReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12493
      start: 12471
    functionDepth: 1
    functionLinenumber: 12471
    functionLinenumberEnd: 12493
    functionName: tSerializeSVAuditRecordReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVAuditRecordReq(void *buf, int32_t bufLen, SVAuditRecordReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      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: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12502,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12504,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12504,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12506,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVAuditRecordReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12511
      start: 12495
    functionDepth: 1
    functionLinenumber: 12495
    functionLinenumberEnd: 12511
    functionName: tDeserializeSVAuditRecordReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeCStrAlloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVAuditRecordReq(void *buf, int32_t bufLen, SVAuditRecordReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SVAuditRecordReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12518
      start: 12513
    functionDepth: 1
    functionLinenumber: 12513
    functionLinenumberEnd: 12518
    functionName: tFreeSVAuditRecordReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSVAuditRecordReq(SVAuditRecordReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12527,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12528,1
    - Dst: tEncodeCStr
      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: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12530,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12531,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12531,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12533,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbSetAssignedLeaderReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12543
      start: 12520
    functionDepth: 1
    functionLinenumber: 12520
    functionLinenumberEnd: 12543
    functionName: tSerializeSVArbSetAssignedLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVArbSetAssignedLeaderReq(void *buf, int32_t bufLen,
      SVArbSetAssignedLeaderReq *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12549,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12551,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12551,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12552,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12555,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12556,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12556,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12557,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12558,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12560,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12560,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12561,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12562,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12562,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12565,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbSetAssignedLeaderReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12570
      start: 12545
    functionDepth: 1
    functionLinenumber: 12545
    functionLinenumberEnd: 12570
    functionName: tDeserializeSVArbSetAssignedLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecodeI64
    - taosMemoryMalloc
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVArbSetAssignedLeaderReq(void *buf, int32_t bufLen,
      SVArbSetAssignedLeaderReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12576,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SVArbSetAssignedLeaderReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12578
      start: 12572
    functionDepth: 1
    functionLinenumber: 12572
    functionLinenumberEnd: 12578
    functionName: tFreeSVArbSetAssignedLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSVArbSetAssignedLeaderReq(SVArbSetAssignedLeaderReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12585,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12587,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12587,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12588,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12588,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12589,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12589,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12590,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12590,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12592,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbSetAssignedLeaderRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12602
      start: 12580
    functionDepth: 1
    functionLinenumber: 12580
    functionLinenumberEnd: 12602
    functionName: tSerializeSVArbSetAssignedLeaderRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSVArbSetAssignedLeaderRsp(void *buf, int32_t bufLen,
      SVArbSetAssignedLeaderRsp *pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12608,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12610,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12610,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12611,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:12614,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12614,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12618,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12618,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12619,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12619,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12621,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbSetAssignedLeaderRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12626
      start: 12604
    functionDepth: 1
    functionLinenumber: 12604
    functionLinenumberEnd: 12626
    functionName: tDeserializeSVArbSetAssignedLeaderRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSVArbSetAssignedLeaderRsp(void *buf, int32_t bufLen,
      SVArbSetAssignedLeaderRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12632,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SVArbSetAssignedLeaderRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12634
      start: 12628
    functionDepth: 1
    functionLinenumber: 12628
    functionLinenumberEnd: 12634
    functionName: tFreeSVArbSetAssignedLeaderRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: void tFreeSVArbSetAssignedLeaderRsp(SVArbSetAssignedLeaderRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12641,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12643,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12643,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12645,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12646,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12646,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12649,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12650,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12651,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12651,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12653,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12654,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12654,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12656,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12656,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12657,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12657,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12658,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12659,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12659,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12664,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12664,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12669,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12669,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12670,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12670,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12673,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12681,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMArbUpdateGroupBatchReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12683
      start: 12636
    functionDepth: 1
    functionLinenumber: 12636
    functionLinenumberEnd: 12683
    functionName: tSerializeSMArbUpdateGroupBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - tEncoderClear
    - tEncodeCStr
    - tEncodeI64
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMArbUpdateGroupBatchReq(void *buf, int32_t bufLen,
      SMArbUpdateGroupBatchReq *pReq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12689,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12691,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12691,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12693,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12693,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12695,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12697,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12702,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12702,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12703,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12703,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12705,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12705,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12706,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12707,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12709,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12709,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12711,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12711,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12712,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12712,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12713,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12714,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12716,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12716,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12717,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12717,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12720,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12721,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12725,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12727,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12728,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12728,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12732,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12734,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12735,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12735,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12736,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12736,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12742,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12745,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMArbUpdateGroupBatchReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12747
      start: 12685
    functionDepth: 1
    functionLinenumber: 12685
    functionLinenumberEnd: 12747
    functionName: tDeserializeSMArbUpdateGroupBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - taosArrayPush
    - taosMemoryMalloc
    - tDecodeIsEnd
    - tDecodeI8
    - taosArrayGet
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMArbUpdateGroupBatchReq(void *buf, int32_t bufLen,
      SMArbUpdateGroupBatchReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12754,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12756,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12758,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12760,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMArbUpdateGroupBatchReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12763
      start: 12749
    functionDepth: 1
    functionLinenumber: 12749
    functionLinenumberEnd: 12763
    functionName: tFreeSMArbUpdateGroupBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosMemoryFreeClear
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void tFreeSMArbUpdateGroupBatchReq(SMArbUpdateGroupBatchReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12770,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12772,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12772,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12773,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12773,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12774,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12774,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12776,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SServerStatusRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12786
      start: 12765
    functionDepth: 1
    functionLinenumber: 12765
    functionLinenumberEnd: 12786
    functionName: tSerializeSServerStatusRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSServerStatusRsp(void *buf, int32_t bufLen, SServerStatusRsp
      *pRsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12792,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12794,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12794,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12795,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12796,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12796,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12798,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SServerStatusRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12802
      start: 12788
    functionDepth: 1
    functionLinenumber: 12788
    functionLinenumberEnd: 12802
    functionName: tDeserializeSServerStatusRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSServerStatusRsp(void *buf, int32_t bufLen, SServerStatusRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12809,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12811,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12811,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12812,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12812,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12815,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12815,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12816,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12816,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12817,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12818,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12818,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12819,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12819,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12820,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12820,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12821,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12821,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12822,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12822,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12823,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12823,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12824,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12824,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12825,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12825,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12826,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12826,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12827,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12827,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12830,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SExplainRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12840
      start: 12804
    functionDepth: 1
    functionLinenumber: 12804
    functionLinenumberEnd: 12840
    functionName: tSerializeSExplainRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncodeU64
    - tEncoderClear
    - tEncodeU32
    - tEncodeI64
    - tEndEncode
    - tStartEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSExplainRsp(void *buf, int32_t bufLen, SExplainRsp
      *pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12846,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12848,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12848,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12849,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12849,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12851,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12853,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12857,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12857,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12858,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12858,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12859,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12859,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12860,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12860,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12861,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12861,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12862,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12862,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12863,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12863,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12864,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12864,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12865,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12865,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12866,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12866,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12867,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12867,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12868,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12869,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12869,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12872,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SExplainRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12877
      start: 12842
    functionDepth: 1
    functionLinenumber: 12842
    functionLinenumberEnd: 12877
    functionName: tDeserializeSExplainRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecodeI64
    - tDecodeBinaryAlloc
    - tDecodeU64
    - tDecoderClear
    - tEndDecode
    - tDecodeU32
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - taosMemoryCalloc
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSExplainRsp(void *buf, int32_t bufLen, SExplainRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12886,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SExplainRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12890
      start: 12879
    functionDepth: 1
    functionLinenumber: 12879
    functionLinenumberEnd: 12890
    functionName: tFreeSExplainRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 4
    functionsReached:
    - taosMemoryFreeClear
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: void tFreeSExplainRsp(SExplainRsp *pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12902,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12903,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12903,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12905,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12906,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12906,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12908,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12909,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12909,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12910,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12910,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12911,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12911,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12912,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12912,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12915,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12919,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12923,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12927,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBatchReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12933
      start: 12892
    functionDepth: 1
    functionLinenumber: 12892
    functionLinenumberEnd: 12933
    functionName: tSerializeSBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - htonl
    - taosArrayGet
    - tEncoderClear
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSBatchReq(void *buf, int32_t bufLen, SBatchReq *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12944,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12946,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12946,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12949,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12949,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12952,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12953,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12957,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12959,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12963,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12964,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12965,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12965,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12966,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12966,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12967,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12968,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12972,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12975,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBatchReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12977
      start: 12935
    functionDepth: 1
    functionLinenumber: 12935
    functionLinenumberEnd: 12977
    functionName: tDeserializeSBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayPush
    - tDecodeBinaryAlloc
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSBatchReq(void *buf, int32_t bufLen, SBatchReq
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12984,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12985,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12985,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12987,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12988,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12988,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12990,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12991,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12991,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12992,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12992,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12993,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12993,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12994,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12994,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12995,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12995,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12998,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SBatchRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13008
      start: 12979
    functionDepth: 1
    functionLinenumber: 12979
    functionLinenumberEnd: 13008
    functionName: tSerializeSBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayGet
    - tEncoderClear
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSBatchRsp(void *buf, int32_t bufLen, SBatchRsp *pRsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13014,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13016,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13016,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13019,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13019,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13022,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13024,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13028,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13030,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13034,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13034,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13035,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13035,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13036,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13036,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13037,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13037,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13038,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13038,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13039,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13040,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13044,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13047,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SBatchRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13049
      start: 13010
    functionDepth: 1
    functionLinenumber: 13010
    functionLinenumberEnd: 13049
    functionName: tDeserializeSBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - taosArrayPush
    - tDecodeBinaryAlloc
    - tDecoderClear
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSBatchRsp(void *buf, int32_t bufLen, SBatchRsp
      *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13056,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13058,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13058,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13059,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13059,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13060,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13060,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13061,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13061,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13063,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqAskEpReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13073
      start: 13051
    functionDepth: 1
    functionLinenumber: 13051
    functionLinenumberEnd: 13073
    functionName: tSerializeSMqAskEpReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    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:13079,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13081,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13081,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13083,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13083,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13084,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13084,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13085,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13085,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13087,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqAskEpReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13092
      start: 13075
    functionDepth: 1
    functionLinenumber: 13075
    functionLinenumberEnd: 13092
    functionName: tDeserializeSMqAskEpReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    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:13094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMqHbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13094
      start: 13094
    functionDepth: 1
    functionLinenumber: 13094
    functionLinenumberEnd: 13094
    functionName: tDestroySMqHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: void tDestroySMqHbRsp(SMqHbRsp *pRsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13101,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13102,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13102,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13105,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13105,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13107,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13108,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13109,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13109,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13112,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13113,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SMqHbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13123
      start: 13096
    functionDepth: 1
    functionLinenumber: 13096
    functionLinenumberEnd: 13123
    functionName: tSerializeSMqHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - tEncoderClear
    - tEncodeCStr
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - TAOS_CHECK_EXIT
    - tEncoderInit
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMqHbRsp(void *buf, int32_t bufLen, SMqHbRsp *pRsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      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: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13134,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13134,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13136,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13138,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13142,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13142,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13143,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13143,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13147,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13148,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13150,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SMqHbRsp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13155
      start: 13125
    functionDepth: 1
    functionLinenumber: 13125
    functionLinenumberEnd: 13155
    functionName: tDeserializeSMqHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - taosArrayReserve
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMqHbRsp(void *buf, int32_t bufLen, SMqHbRsp *pRsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13158,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13159,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13160,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMqHbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13163
      start: 13157
    functionDepth: 1
    functionLinenumber: 13157
    functionLinenumberEnd: 13163
    functionName: tDestroySMqHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - taosArrayDestroy
    - taosArrayGet
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: void tDestroySMqHbReq(SMqHbReq *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13170,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13171,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13173,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13173,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13174,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13174,1
    - Dst: taosArrayGetSize
      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: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13177,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13180,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13180,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13182,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13182,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13184,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13185,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13186,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13187,1
    - Dst: tEncodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13188,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13188,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13192,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13192,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13193,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqHbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13203
      start: 13165
    functionDepth: 1
    functionLinenumber: 13165
    functionLinenumberEnd: 13203
    functionName: tSerializeSMqHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - tEncodeI8
    - taosArrayGet
    - tEncoderClear
    - tEncodeCStr
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - tEncodeSTqOffsetVal
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMqHbReq(void *buf, int32_t bufLen, SMqHbReq *pReq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13209,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13211,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13213,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13214,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13214,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13216,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13216,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13218,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13220,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13223,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13224,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13224,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13226,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13226,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13228,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13230,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13233,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13234,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13234,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13235,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13235,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13236,1
    - Dst: tDecodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13236,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13237,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13237,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13242,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13243,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13243,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13245,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqHbReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13250
      start: 13205
    functionDepth: 1
    functionLinenumber: 13205
    functionLinenumberEnd: 13250
    functionName: tDeserializeSMqHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrTo
    - tDecoderClear
    - taosArrayReserve
    - tEndDecode
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    - tDecodeSTqOffsetVal
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMqHbReq(void *buf, int32_t bufLen, SMqHbReq *pReq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13261,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13262,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13262,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13263,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13263,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13264,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13264,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13265,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13269,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13273,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13277,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqSeekReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13283
      start: 13252
    functionDepth: 1
    functionLinenumber: 13252
    functionLinenumberEnd: 13283
    functionName: tSerializeSMqSeekReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncoderInit
    - htonl
    - tEncoderClear
    - tEncodeCStr
    - tEndEncode
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSMqSeekReq(void *buf, int32_t bufLen, SMqSeekReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13290,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13292,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13293,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13293,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13294,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13294,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13296,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqSeekReq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13301
      start: 13285
    functionDepth: 1
    functionLinenumber: 13285
    functionLinenumberEnd: 13301
    functionName: tDeserializeSMqSeekReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeI64
    - tDecodeCStrTo
    - tDecoderClear
    - tEndDecode
    - tDecoderInit
    - tStartDecode
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSMqSeekReq(void *buf, int32_t bufLen, SMqSeekReq
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13307,1
    - Dst: tEncodeSQueryNodeAddr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13307,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13308,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13308,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13309,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13309,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13310,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13310,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13311,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13311,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13312,1
    - Dst: tEncodeI32
      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: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pEncoder
    - pSource
    argTypes:
    - SEncoder*
    - SDownstreamSourceNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13318
      start: 13303
    functionDepth: 3
    functionLinenumber: 13303
    functionLinenumberEnd: 13318
    functionName: tSerializeSDownstreamSourceNode
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tEncodeU64
    - tEncodeSQueryNodeAddr
    - tEncodeBool
    - TAOS_CHECK_EXIT
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSDownstreamSourceNode(SEncoder *pEncoder, SDownstreamSourceNode
      *pSource)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13330,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13331,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13331,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13333,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13333,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13334,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13334,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13335,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13335,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13336,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13336,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13337,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13337,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13338,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13338,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13339,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13339,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13340,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13340,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13341,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13341,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13342,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13342,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13343,1
    - Dst: tEncodeI8
      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: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13344,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13346,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13346,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13348,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13348,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13349,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13349,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13350,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13350,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13352,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13353,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13353,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13356,1
    - Dst: tSerializeSDownstreamSourceNode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13356,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13359,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13363,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13367,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13371,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSubQueryMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13377
      start: 13320
    functionDepth: 4
    functionLinenumber: 13320
    functionLinenumberEnd: 13377
    functionName: tSerializeSSubQueryMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncoderInit
    - tEncodeI8
    - htonl
    - tEncodeU64
    - tEncoderClear
    - tEncodeCStrWithLen
    - tEncodeU32
    - taosArrayGetSize
    - tStartEncode
    - tEndEncode
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - tEncodeI32
    - taosArrayGetP
    - tSerializeSDownstreamSourceNode
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSSubQueryMsg(void *buf, int32_t bufLen, SSubQueryMsg
      *pReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13383,1
    - Dst: tDecodeSQueryNodeAddr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13383,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13384,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13384,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13385,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13385,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13386,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13386,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13387,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13387,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13388,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13388,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13389,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pDecoder
    - pSource
    argTypes:
    - SDecoder*
    - SDownstreamSourceNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13394
      start: 13379
    functionDepth: 3
    functionLinenumber: 13379
    functionLinenumberEnd: 13394
    functionName: tDeserializeSDownstreamSourceNode
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 0
    functionsReached:
    - tDecodeBool
    - tDecodeSQueryNodeAddr
    - TAOS_CHECK_EXIT
    - tDecodeU64
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSDownstreamSourceNode(SDecoder *pDecoder, SDownstreamSourceNode
      *pSource)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13405,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13407,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13409,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13409,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13410,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13410,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13411,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13411,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13412,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13412,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13413,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13413,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13414,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13414,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13415,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13415,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13416,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13416,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13417,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13417,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13418,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13418,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13419,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13419,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13420,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13420,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13422,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13422,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13424,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13424,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13425,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13425,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13426,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13427,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13427,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13433,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13433,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13435,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13437,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13440,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13442,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13444,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13446,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13448,1
    - Dst: tDeserializeSDownstreamSourceNode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13448,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13451,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSubQueryMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13456
      start: 13396
    functionDepth: 4
    functionLinenumber: 13396
    functionLinenumberEnd: 13456
    functionName: tDeserializeSSubQueryMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - tDecodeI64
    - tDecodeBinaryAlloc
    - tDecodeIsEnd
    - tDecodeI8
    - tDecodeCStrAlloc
    - tDecoderClear
    - taosArrayReserve
    - tEndDecode
    - tDecodeU32
    - taosArrayInit
    - tDecoderInit
    - tStartDecode
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tDecodeU64
    - tDeserializeSDownstreamSourceNode
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSSubQueryMsg(void *buf, int32_t bufLen, SSubQueryMsg
      *pReq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13463,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13464,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SSubQueryMsg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13466
      start: 13458
    functionDepth: 1
    functionLinenumber: 13458
    functionLinenumberEnd: 13466
    functionName: tFreeSSubQueryMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 3
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: void tFreeSSubQueryMsg(SSubQueryMsg *pReq)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13469,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13469,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13470,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13470,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13471,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13471,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13481,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13481,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13488,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13488,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13491,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13491,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13494,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13495,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13495,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13497,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13498,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13498,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13503,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13503,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13504,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13504,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13505,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13505,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13506,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13507,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_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13510,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13510,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13511,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13511,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13514,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13514,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13517,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13517,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13518,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13518,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13519,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13519,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13520,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13520,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13523,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13524,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13524,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13526,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13528,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13530,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13530,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13531,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13531,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13532,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13533,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13533,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13535,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13537,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13539,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13539,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13540,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13540,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13545,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13546,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13546,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13548,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13550,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13552,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13552,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13553,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13553,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13554,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13555,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13555,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13557,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13557,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13562,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13562,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13567,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13567,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13568,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13568,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13572,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13580,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13581,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13581,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13583,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13584,1
    - Dst: tSerializeSOperatorParam
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13584,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 90
    argCount: 2
    argNames:
    - pEncoder
    - pOpParam
    argTypes:
    - SEncoder*
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13588
      start: 13468
    functionDepth: 1
    functionLinenumber: 13468
    functionLinenumberEnd: 13588
    functionName: tSerializeSOperatorParam
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tEncodeI8
    - taosArrayGet
    - TAOS_CHECK_RETURN
    - tEncodeI16
    - tEncodeU64
    - tEncodeBool
    - tEncodeCStr
    - taosArrayGetSize
    - tSerializeSOperatorParam
    - tEncodeBinary
    - tEncodeI64
    - tEncodeI32
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: int32_t tSerializeSOperatorParam(SEncoder *pEncoder, SOperatorParam
      *pOpParam)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13591,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13591,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13592,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13592,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13593,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13593,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13603,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13605,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13608,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13608,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13613,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13615,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13619,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13619,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13622,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13622,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13627,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13627,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13629,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13631,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13635,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13635,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13636,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13637,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13646,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13646,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13648,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13650,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13652,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13652,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13653,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13653,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13655,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13655,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13656,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13659,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13659,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13660,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13660,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13661,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13662,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13669,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13669,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13670,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13670,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13671,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13671,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13672,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13672,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13676,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13676,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13678,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13680,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13684,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13684,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13685,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13685,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13687,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13687,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13688,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13690,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13694,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13694,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13695,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13695,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13696,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13697,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13700,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13701,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13710,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13710,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13712,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13714,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13718,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13718,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13719,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13719,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13720,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13721,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13721,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13723,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13723,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13725,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13726,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13734,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13734,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13739,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13739,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13740,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13740,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13744,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13754,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13754,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13757,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13759,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13762,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13764,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13766,1
    - Dst: tDeserializeSOperatorParam
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13766,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13767,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13768,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 153
    argCount: 2
    argNames:
    - pDecoder
    - pOpParam
    argTypes:
    - SDecoder*
    - SOperatorParam*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13776
      start: 13590
    functionDepth: 1
    functionLinenumber: 13590
    functionLinenumberEnd: 13776
    functionName: tDeserializeSOperatorParam
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: 1
    functionsReached:
    - tDecodeBool
    - taosArrayPush
    - tDecodeBinaryAlloc
    - taosMemoryMalloc
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    - tDecodeU64
    - tDecodeI16
    - taosArrayInit
    - tDecodeI8
    - tDecodeI64
    - tDeserializeSOperatorParam
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: int32_t tDeserializeSOperatorParam(SDecode